@shwfed/config 3.0.6 → 3.0.8
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.
- package/dist/module.json +1 -1
- package/dist/runtime/components/actions/ai-l1.md +24 -0
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.prototype/schema.d.ts +1 -0
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.prototype/schema.js +2 -1
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/prompt.md +8 -0
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.d.ts +6 -0
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.js +4 -0
- package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/prompt.md +8 -0
- package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.d.ts +1 -0
- package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.js +2 -1
- package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/prompt.md +9 -0
- package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/schema.d.ts +1 -0
- package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/schema.js +2 -1
- package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/prompt.md +8 -0
- package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/schema.d.ts +1 -0
- package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/schema.js +2 -1
- package/dist/runtime/components/actions/config.vue +109 -3
- package/dist/runtime/components/actions/items/2026-05-21/com.shwfed.actions.item.markdown/schema.d.ts +1 -0
- package/dist/runtime/components/actions/items/2026-05-21/com.shwfed.actions.item.markdown/schema.js +2 -1
- package/dist/runtime/components/actions/utils/ai-button-tools.d.ts +29 -0
- package/dist/runtime/components/actions/utils/ai-button-tools.js +664 -0
- package/dist/runtime/components/actions/utils/resolve.d.ts +22 -0
- package/dist/runtime/components/actions/utils/resolve.js +23 -1
- package/dist/runtime/components/config/ai-generate.d.vue.ts +7 -0
- package/dist/runtime/components/config/ai-generate.system.md +39 -0
- package/dist/runtime/components/{table → config}/ai-generate.vue +55 -32
- package/dist/runtime/components/config/ai-generate.vue.d.ts +7 -0
- package/dist/runtime/components/config/ai-page-slot.l1.md +25 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.actions/schema.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.actions/schema.js +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.js +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.markdown/schema.d.ts +1 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.markdown/schema.js +1 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +44 -44
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +44 -44
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +44 -44
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +44 -44
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +28 -22
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.js +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.d.ts +7 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.js +4 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.xy/schema.d.ts +1 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.xy/schema.js +1 -0
- package/dist/runtime/components/config/blocks/2026-06-01/com.shwfed.block.animated.number/schema.d.ts +1 -0
- package/dist/runtime/components/config/blocks/2026-06-01/com.shwfed.block.animated.number/schema.js +1 -0
- package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.card/schema.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.card/schema.js +4 -0
- package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.icon/schema.d.ts +1 -0
- package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.icon/schema.js +1 -0
- package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.d.vue.ts +18 -18
- package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.vue.d.ts +18 -18
- package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.d.vue.ts +18 -18
- package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.vue.d.ts +18 -18
- package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/schema.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/schema.js +4 -0
- package/dist/runtime/components/config/blocks/2026-06-25/com.shwfed.block.loop/schema.d.ts +7 -0
- package/dist/runtime/components/config/blocks/2026-06-25/com.shwfed.block.loop/schema.js +4 -0
- package/dist/runtime/components/config/config.vue +24 -3
- package/dist/runtime/components/config/history-picker.vue +6 -4
- package/dist/runtime/components/config/prune-dialog.vue +15 -4
- package/dist/runtime/components/config/use-editor.d.ts +1 -0
- package/dist/runtime/components/config/use-editor.js +20 -2
- package/dist/runtime/components/config/utils/ai-cursor.d.ts +21 -0
- package/dist/runtime/components/config/utils/ai-cursor.js +827 -0
- package/dist/runtime/components/config/utils/ai-host-manuals.d.ts +2 -0
- package/dist/runtime/components/config/utils/ai-host-manuals.js +19 -0
- package/dist/runtime/components/config/utils/linkage.d.ts +15 -6
- package/dist/runtime/components/config/utils/linkage.js +23 -7
- package/dist/runtime/components/config/utils/resolve.d.ts +19 -0
- package/dist/runtime/components/config/utils/resolve.js +25 -2
- package/dist/runtime/components/form/ai-l1.md +22 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +7 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.js +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/prompt.md +8 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +7 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.js +4 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/prompt.md +12 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +6 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.js +4 -0
- package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/schema.d.ts +6 -0
- package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/schema.js +4 -0
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/prompt.md +7 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/prompt.md +7 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/prompt.md +9 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +26 -26
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/prompt.md +11 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/prompt.md +12 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/prompt.md +14 -0
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/prompt.md +19 -0
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.js +1 -0
- package/dist/runtime/components/form/fields/2026-06-20/com.shwfed.form.field.tabs/schema.d.ts +7 -0
- package/dist/runtime/components/form/fields/2026-06-20/com.shwfed.form.field.tabs/schema.js +4 -0
- package/dist/runtime/components/form/fields/2026-07-13/com.shwfed.form.field.dynamic/prompt.md +14 -0
- package/dist/runtime/components/form/fields/2026-07-13/com.shwfed.form.field.dynamic/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-07-13/com.shwfed.form.field.dynamic/schema.js +1 -0
- package/dist/runtime/components/form/unit-config.vue +2 -2
- package/dist/runtime/components/form/utils/ai-field-tools.d.ts +2 -2
- package/dist/runtime/components/form/utils/ai-field-tools.js +47 -30
- package/dist/runtime/components/form/utils/resolve.d.ts +11 -0
- package/dist/runtime/components/form/utils/resolve.js +13 -1
- package/dist/runtime/components/operations/2026-06-09/com.shwfed.operation.alert/schema.d.ts +1 -0
- package/dist/runtime/components/operations/2026-06-09/com.shwfed.operation.alert/schema.js +2 -1
- package/dist/runtime/components/operations/2026-06-11/com.shwfed.operation.http.request.json/schema.d.ts +1 -0
- package/dist/runtime/components/operations/2026-06-11/com.shwfed.operation.http.request.json/schema.js +1 -0
- package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.d.ts +1 -0
- package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.js +2 -1
- package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/schema.d.ts +1 -0
- package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/schema.js +2 -1
- package/dist/runtime/components/operations/2026-07-06/com.shwfed.operation.table.add-row/schema.d.ts +1 -0
- package/dist/runtime/components/operations/2026-07-06/com.shwfed.operation.table.add-row/schema.js +2 -1
- package/dist/runtime/components/operations/utils/resolve.d.ts +17 -0
- package/dist/runtime/components/operations/utils/resolve.js +18 -1
- package/dist/runtime/components/table/ai-l1.md +38 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.d.ts +7 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.js +5 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-05-21/com.shwfed.table.column.drag-handle/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-05-21/com.shwfed.table.column.drag-handle/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/prompt.md +12 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/prompt.md +16 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +1 -0
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.d.ts +1 -0
- package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.js +2 -1
- package/dist/runtime/components/table/columns/2026-07-12/com.shwfed.table.column.dynamic/prompt.md +15 -0
- package/dist/runtime/components/table/config.d.vue.ts +3 -3
- package/dist/runtime/components/table/config.vue +3 -35
- package/dist/runtime/components/table/config.vue.d.ts +3 -3
- package/dist/runtime/components/table/row-provider.vue +7 -1
- package/dist/runtime/components/table/schema.d.ts +44 -44
- package/dist/runtime/components/table/utils/ai-tools.js +16 -7
- package/dist/runtime/components/table/utils/resolve.d.ts +5 -0
- package/dist/runtime/components/table/utils/resolve.js +12 -1
- package/dist/runtime/share/clipboard.d.ts +15 -9
- package/dist/runtime/share/clipboard.js +22 -10
- package/dist/runtime/share/define-registry.d.ts +66 -0
- package/dist/runtime/share/define-registry.js +37 -1
- package/dist/runtime/share/use-persisted-chat.d.ts +11 -9
- package/dist/runtime/share/use-persisted-chat.js +3 -3
- package/dist/runtime/utils/ai/index.d.ts +1 -1
- package/dist/runtime/utils/ai/index.js +18 -11
- package/dist/runtime/utils/cel-catalog.d.ts +1 -0
- package/dist/runtime/utils/cel-catalog.js +10 -0
- package/dist/runtime/utils/cel-catalog.md +42 -0
- package/dist/runtime/utils/cel-context.d.ts +15 -0
- package/dist/runtime/utils/cel-context.js +8 -0
- package/dist/runtime/vendor/cel-js/CLAUDE.md +7 -2
- package/dist/runtime/vendor/cel-js/PROMPT.md +27 -0
- package/dist/runtime/vendor/cel-js/lib/evaluator.js +2 -0
- package/dist/runtime/vendor/cel-js/lib/globals.d.ts +2 -0
- package/dist/runtime/vendor/cel-js/lib/globals.js +10 -0
- package/dist/runtime/vendor/cel-js/lib/map-builtins.d.ts +2 -0
- package/dist/runtime/vendor/cel-js/lib/map-builtins.js +80 -0
- package/dist/runtime/vendor/cel-js/lib/operators.js +2 -12
- package/package.json +1 -1
- package/dist/runtime/components/table/ai-generate.d.vue.ts +0 -16
- package/dist/runtime/components/table/ai-generate.system.md +0 -101
- package/dist/runtime/components/table/ai-generate.vue.d.ts +0 -16
- /package/dist/runtime/components/{table → config}/ai-generate.system.d.ts +0 -0
- /package/dist/runtime/components/{table → config}/ai-generate.system.js +0 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { JSONSchema, ParseResult, Schema } from "effect";
|
|
2
2
|
import { coerceFromString } from "../../../share/coerce-from-string.js";
|
|
3
3
|
import { Area } from "../../../share/layout.js";
|
|
4
|
+
import { renderCelScope } from "../../../utils/cel-context.js";
|
|
5
|
+
import { getCelCatalog } from "../../../utils/cel-catalog.js";
|
|
4
6
|
import { defaultFormConfig } from "../schema.js";
|
|
5
7
|
import { registerFormVariablesIfAbsent } from "./form-vars.js";
|
|
8
|
+
import { buildFormCelScope } from "./cel-scope.js";
|
|
6
9
|
import { activeFields } from "./resolve.js";
|
|
7
10
|
const HARNESS_KEYS = ["id", "compatibilityDate"];
|
|
8
11
|
const PlaceInput = Schema.Struct({
|
|
@@ -40,12 +43,12 @@ function growColumns(layout) {
|
|
|
40
43
|
function ensureFormConfig(deps) {
|
|
41
44
|
return deps.read() ?? defaultFormConfig();
|
|
42
45
|
}
|
|
43
|
-
export function
|
|
46
|
+
export function createFormFieldTools(deps) {
|
|
44
47
|
return [
|
|
45
48
|
// ---- 信息获取 ----
|
|
46
49
|
{
|
|
47
|
-
name: "
|
|
48
|
-
description: "List the form field types you can insert into
|
|
50
|
+
name: "list_available_field_types",
|
|
51
|
+
description: "List the form field types you can insert into this form. Returns each type's name and, when set, a one-line description of when to use it. Use this first to discover what fields exist; for a field's full field contract and defaults, follow up with `describe_specific_field_type`. Deprecated types are hidden.",
|
|
49
52
|
inputJsonSchema: {
|
|
50
53
|
type: "object",
|
|
51
54
|
properties: {},
|
|
@@ -53,18 +56,17 @@ export function createQueryFieldTools(deps) {
|
|
|
53
56
|
},
|
|
54
57
|
execute: () => activeFields().map((f) => {
|
|
55
58
|
const entry = { type: f.type, name: f.metadata.name };
|
|
56
|
-
|
|
57
|
-
if (description !== void 0) entry.description = description;
|
|
59
|
+
if (f.metadata.description !== void 0) entry.description = f.metadata.description;
|
|
58
60
|
return entry;
|
|
59
61
|
})
|
|
60
62
|
},
|
|
61
63
|
{
|
|
62
|
-
name: "
|
|
63
|
-
description: "Return, for one
|
|
64
|
+
name: "describe_specific_field_type",
|
|
65
|
+
description: "Return, for one form field type: the JSON Schema (without `id`/`compatibilityDate` \u2014 managed by the harness), the default values, the default placement size `w`/`h` (each `{ initial, min, max }`; `w` is in grid columns, `h` in rows), and \u2014 when the type has one \u2014 a prose `guide` (when to use it, config recipe, gotchas). Call this before `insert_field` / `place_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
66
|
inputJsonSchema: {
|
|
65
67
|
type: "object",
|
|
66
68
|
properties: {
|
|
67
|
-
type: { type: "string", description: "A `type` value from `
|
|
69
|
+
type: { type: "string", description: "A `type` value from `list_available_field_types`." }
|
|
68
70
|
},
|
|
69
71
|
required: ["type"],
|
|
70
72
|
additionalProperties: false
|
|
@@ -76,7 +78,7 @@ export function createQueryFieldTools(deps) {
|
|
|
76
78
|
}
|
|
77
79
|
const entry = activeFields().find((f) => f.type === type);
|
|
78
80
|
if (!entry) {
|
|
79
|
-
return `describe failed:
|
|
81
|
+
return `describe failed: field type "${type}" is not available. Call list_available_field_types to see what is.`;
|
|
80
82
|
}
|
|
81
83
|
const publicSchema = publicFieldSchema(entry, deps.configure);
|
|
82
84
|
let jsonSchema;
|
|
@@ -85,22 +87,37 @@ export function createQueryFieldTools(deps) {
|
|
|
85
87
|
} catch {
|
|
86
88
|
jsonSchema = "(schema unavailable)";
|
|
87
89
|
}
|
|
88
|
-
|
|
90
|
+
const result = {
|
|
89
91
|
schema: jsonSchema,
|
|
90
92
|
defaults: entry.defaults?.() ?? null,
|
|
91
93
|
// Default placement size from the field's registry metadata. The
|
|
92
94
|
// system prompt requires the model to use `w.initial` / `h.initial`
|
|
93
95
|
// as the placed area's width / height; `min`/`max` bound what it may
|
|
94
|
-
// adjust to. (`
|
|
95
|
-
//
|
|
96
|
+
// adjust to. (`place_field` itself only guards overlap — the "use the
|
|
97
|
+
// initial size" rule lives in the prompt, not the tool.)
|
|
96
98
|
w: entry.metadata.w,
|
|
97
99
|
h: entry.metadata.h
|
|
98
100
|
};
|
|
101
|
+
if (entry.prompt !== void 0) result.guide = entry.prompt;
|
|
102
|
+
return result;
|
|
99
103
|
}
|
|
100
104
|
},
|
|
101
105
|
{
|
|
102
|
-
name: "
|
|
103
|
-
description: "Return the
|
|
106
|
+
name: "describe_form_settings",
|
|
107
|
+
description: "Return the form's CEL scope for the current context: `celScope` lists every variable available to this form's expressions (name / type / description \u2014 e.g. `form` for sibling field values, `now`, plus any host variables), and `celFunctions` is the CEL operator & function catalog. Call this before writing any CEL in a field (default values, visibility, options, validation) so what you write matches what the editor validates against.",
|
|
108
|
+
inputJsonSchema: {
|
|
109
|
+
type: "object",
|
|
110
|
+
properties: {},
|
|
111
|
+
additionalProperties: false
|
|
112
|
+
},
|
|
113
|
+
execute: () => ({
|
|
114
|
+
celScope: renderCelScope(buildFormCelScope(deps.configure)),
|
|
115
|
+
celFunctions: getCelCatalog()
|
|
116
|
+
})
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "list_fields",
|
|
120
|
+
description: "Return the 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_field`.",
|
|
104
121
|
inputJsonSchema: {
|
|
105
122
|
type: "object",
|
|
106
123
|
properties: {},
|
|
@@ -123,8 +140,8 @@ export function createQueryFieldTools(deps) {
|
|
|
123
140
|
},
|
|
124
141
|
// ---- 配置 ----
|
|
125
142
|
{
|
|
126
|
-
name: "
|
|
127
|
-
description: "Insert one new field into the
|
|
143
|
+
name: "insert_field",
|
|
144
|
+
description: "Insert one new field into the form. Provide `type` (from `list_available_field_types`) plus the field's fields as described by `describe_specific_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_field`. On validation failure the tool returns the issues; fix them and call again.",
|
|
128
145
|
inputJsonSchema: {
|
|
129
146
|
type: "object",
|
|
130
147
|
properties: {
|
|
@@ -146,12 +163,12 @@ export function createQueryFieldTools(deps) {
|
|
|
146
163
|
}
|
|
147
164
|
const entry = activeFields().find((f) => f.type === type);
|
|
148
165
|
if (!entry) {
|
|
149
|
-
return `insert failed:
|
|
166
|
+
return `insert failed: field type "${type}" is not available. Call list_available_field_types to see what is.`;
|
|
150
167
|
}
|
|
151
168
|
const publicSchema = publicFieldSchema(entry, deps.configure);
|
|
152
169
|
const verdict = decode(publicSchema, raw);
|
|
153
170
|
if (!verdict.ok) {
|
|
154
|
-
return `insert failed for type "${type}". Fix these and call
|
|
171
|
+
return `insert failed for type "${type}". Fix these and call insert_field again:
|
|
155
172
|
${verdict.report}`;
|
|
156
173
|
}
|
|
157
174
|
const fc = ensureFormConfig(deps);
|
|
@@ -167,8 +184,8 @@ ${verdict.report}`;
|
|
|
167
184
|
}
|
|
168
185
|
},
|
|
169
186
|
{
|
|
170
|
-
name: "
|
|
171
|
-
description: "Delete one or more
|
|
187
|
+
name: "delete_fields",
|
|
188
|
+
description: "Delete one or more fields by id. Call `list_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
189
|
inputJsonSchema: {
|
|
173
190
|
type: "object",
|
|
174
191
|
properties: {
|
|
@@ -176,7 +193,7 @@ ${verdict.report}`;
|
|
|
176
193
|
type: "array",
|
|
177
194
|
items: { type: "string", minLength: 1 },
|
|
178
195
|
minItems: 1,
|
|
179
|
-
description: "Field ids to delete. Get them from `
|
|
196
|
+
description: "Field ids to delete. Get them from `list_fields` first."
|
|
180
197
|
}
|
|
181
198
|
},
|
|
182
199
|
required: ["ids"],
|
|
@@ -205,7 +222,7 @@ ${verdict.report}`;
|
|
|
205
222
|
const existing = new Set(fields.map((f) => f.id));
|
|
206
223
|
for (const id of ids) {
|
|
207
224
|
if (!existing.has(id)) {
|
|
208
|
-
return `delete failed:
|
|
225
|
+
return `delete failed: field id "${id}" is not present. Call list_fields to see current ids.`;
|
|
209
226
|
}
|
|
210
227
|
}
|
|
211
228
|
const cfg = fc;
|
|
@@ -226,12 +243,12 @@ ${verdict.report}`;
|
|
|
226
243
|
}
|
|
227
244
|
},
|
|
228
245
|
{
|
|
229
|
-
name: "
|
|
230
|
-
description: "Place a field into the
|
|
246
|
+
name: "place_field",
|
|
247
|
+
description: "Place a field into the form 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_field` first). The harness rejects an `area` that overlaps another field \u2014 pick a free spot (use `list_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 form uses is up to you and the guidance you were given.",
|
|
231
248
|
inputJsonSchema: {
|
|
232
249
|
type: "object",
|
|
233
250
|
properties: {
|
|
234
|
-
id: { type: "string", description: "The field id to place (from `
|
|
251
|
+
id: { type: "string", description: "The field id to place (from `list_fields`)." },
|
|
235
252
|
area: {
|
|
236
253
|
type: "array",
|
|
237
254
|
description: "Grid area `[[x1,y1],[x2,y2]]`, 1-based grid lines, bottom-right exclusive.",
|
|
@@ -246,28 +263,28 @@ ${verdict.report}`;
|
|
|
246
263
|
execute: (input) => {
|
|
247
264
|
const verdict = decode(PlaceInput, input ?? {});
|
|
248
265
|
if (!verdict.ok) {
|
|
249
|
-
return `place failed. Fix these and call
|
|
266
|
+
return `place failed. Fix these and call place_field again:
|
|
250
267
|
${verdict.report}`;
|
|
251
268
|
}
|
|
252
269
|
const { id, area } = verdict.value;
|
|
253
270
|
const fc = deps.read();
|
|
254
271
|
if (!fc) {
|
|
255
|
-
return "place failed: there is no
|
|
272
|
+
return "place failed: there is no form yet. Call insert_field first.";
|
|
256
273
|
}
|
|
257
274
|
const fields = Array.isArray(fc.fields) ? fc.fields : [];
|
|
258
275
|
if (!fields.some((f) => f.id === id)) {
|
|
259
|
-
return `place failed:
|
|
276
|
+
return `place failed: field id "${id}" is not present. Call list_fields to see ids.`;
|
|
260
277
|
}
|
|
261
278
|
const layouts = Array.isArray(fc.layouts) ? fc.layouts : [];
|
|
262
279
|
const ls = layouts[0];
|
|
263
280
|
if (!ls || !ls.layout) {
|
|
264
|
-
return "place failed: the
|
|
281
|
+
return "place failed: the form has no layout to place into.";
|
|
265
282
|
}
|
|
266
283
|
const placements = { ...ls.layout.placements ?? {} };
|
|
267
284
|
for (const [pid, p] of Object.entries(placements)) {
|
|
268
285
|
if (pid === id) continue;
|
|
269
286
|
if (overlaps(area, p.area)) {
|
|
270
|
-
return `place failed: area overlaps field "${pid}" at ${JSON.stringify(p.area)}. Pick a free area (see
|
|
287
|
+
return `place failed: area overlaps field "${pid}" at ${JSON.stringify(p.area)}. Pick a free area (see list_fields) and call again.`;
|
|
271
288
|
}
|
|
272
289
|
}
|
|
273
290
|
placements[id] = { area };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Component } from 'vue';
|
|
2
2
|
import type { Effect, Schema } from 'effect';
|
|
3
3
|
import type { Environment } from '../../../vendor/cel-js/lib/index.js';
|
|
4
|
+
import { type RegistryEdge } from '../../../share/define-registry.js';
|
|
4
5
|
type AnySchema = Schema.Schema<any, any, never>;
|
|
5
6
|
type SchemaFactory = (configure: (env: Environment) => void) => AnySchema;
|
|
6
7
|
/**
|
|
@@ -54,6 +55,12 @@ export type FieldSizeRange = Readonly<{
|
|
|
54
55
|
export type FieldMetadata = Readonly<{
|
|
55
56
|
name: string;
|
|
56
57
|
icon: string;
|
|
58
|
+
/**
|
|
59
|
+
* 一句话说明该字段的适用场景;AI 在 `list_available_field_types` 工具里看到。
|
|
60
|
+
* **可选** —— 缺失时工具返回里省略该字段(人类 picker / 旧调用点不受影响)。
|
|
61
|
+
* 镜像 `ColumnMetadata.description`。
|
|
62
|
+
*/
|
|
63
|
+
description?: string;
|
|
57
64
|
w: FieldSizeRange;
|
|
58
65
|
h: FieldSizeRange;
|
|
59
66
|
/**
|
|
@@ -115,6 +122,10 @@ export type FieldEntry = Readonly<{
|
|
|
115
122
|
* the field is created with only `{ id, type, compatibilityDate }`.
|
|
116
123
|
*/
|
|
117
124
|
defaults?: FieldDefaults;
|
|
125
|
+
/** The field's `prompt.md` (L2 fragment) raw text, when authored. */
|
|
126
|
+
prompt?: string;
|
|
127
|
+
/** Recursion edges the AI scope cursor walks (empty for leaf fields). */
|
|
128
|
+
edges: ReadonlyArray<RegistryEdge>;
|
|
118
129
|
}>;
|
|
119
130
|
export declare const FIELDS: ReadonlyArray<FieldEntry>;
|
|
120
131
|
export declare function allFieldSchemas(configure: (env: Environment) => void): ReadonlyArray<AnySchema>;
|
|
@@ -11,6 +11,10 @@ const runtimeModules = import.meta.glob(
|
|
|
11
11
|
"../fields/*/*/runtime.vue",
|
|
12
12
|
{ eager: true, import: "default", exhaustive: true }
|
|
13
13
|
);
|
|
14
|
+
const promptModules = import.meta.glob(
|
|
15
|
+
"../fields/*/*/prompt.md",
|
|
16
|
+
{ eager: true, query: "?raw", import: "default", exhaustive: true }
|
|
17
|
+
);
|
|
14
18
|
const sourceKey = (type, compatibilityDate) => `${type}@${compatibilityDate}`;
|
|
15
19
|
const registry = defineRegistry({
|
|
16
20
|
hostName: "shwfed-form",
|
|
@@ -18,6 +22,12 @@ const registry = defineRegistry({
|
|
|
18
22
|
schemaModules,
|
|
19
23
|
configModules,
|
|
20
24
|
runtimeModules,
|
|
25
|
+
promptModules,
|
|
26
|
+
// Validate declared `edges` keys against the built schema (field.table /
|
|
27
|
+
// .list / .collapsible / .tabs / .actions declare them). Inert configure —
|
|
28
|
+
// the edge check only reads top-level field names.
|
|
29
|
+
buildSchemaForEdges: (mod) => mod.schema(() => {
|
|
30
|
+
}),
|
|
21
31
|
// An entry is deprecated by one of two rules:
|
|
22
32
|
// (a) another entry shares its `type` with a strictly greater
|
|
23
33
|
// `compatibilityDate` — date-versioned supersession;
|
|
@@ -95,7 +105,9 @@ function getFields() {
|
|
|
95
105
|
...e.supersededBy !== void 0 ? { supersededBy: e.supersededBy } : {},
|
|
96
106
|
migrate: e.module.migrate,
|
|
97
107
|
...e.module.migrateFrom !== void 0 ? { migrateFrom: e.module.migrateFrom } : {},
|
|
98
|
-
defaults: e.module.defaults
|
|
108
|
+
defaults: e.module.defaults,
|
|
109
|
+
...e.prompt !== void 0 ? { prompt: e.prompt } : {},
|
|
110
|
+
edges: e.module.edges ?? []
|
|
99
111
|
}));
|
|
100
112
|
return _fields;
|
|
101
113
|
}
|
package/dist/runtime/components/operations/2026-06-09/com.shwfed.operation.alert/schema.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const compatibilityDate: "2026-06-09";
|
|
|
5
5
|
export declare const metadata: {
|
|
6
6
|
readonly name: "确认弹窗";
|
|
7
7
|
readonly icon: "fluent:chat-warning-20-regular";
|
|
8
|
+
readonly description: "弹出确认弹窗;用户确认则继续执行后续操作,取消则中止本次触发链";
|
|
8
9
|
};
|
|
9
10
|
export declare function schema(_configure: (env: Environment) => void): Schema.Struct<{
|
|
10
11
|
message: Schema.suspend<readonly [{
|
|
@@ -5,7 +5,8 @@ export const type = "com.shwfed.operation.alert";
|
|
|
5
5
|
export const compatibilityDate = "2026-06-09";
|
|
6
6
|
export const metadata = {
|
|
7
7
|
name: "\u786E\u8BA4\u5F39\u7A97",
|
|
8
|
-
icon: "fluent:chat-warning-20-regular"
|
|
8
|
+
icon: "fluent:chat-warning-20-regular",
|
|
9
|
+
description: "\u5F39\u51FA\u786E\u8BA4\u5F39\u7A97\uFF1B\u7528\u6237\u786E\u8BA4\u5219\u7EE7\u7EED\u6267\u884C\u540E\u7EED\u64CD\u4F5C\uFF0C\u53D6\u6D88\u5219\u4E2D\u6B62\u672C\u6B21\u89E6\u53D1\u94FE"
|
|
9
10
|
};
|
|
10
11
|
export function schema(_configure) {
|
|
11
12
|
return Schema.Struct({
|
|
@@ -5,6 +5,7 @@ export declare const compatibilityDate: "2026-06-11";
|
|
|
5
5
|
export declare const metadata: {
|
|
6
6
|
readonly name: "发送请求";
|
|
7
7
|
readonly icon: "fluent:cloud-arrow-up-20-regular";
|
|
8
|
+
readonly description: "发送一个 HTTP 请求;其解析后的响应体作为链步输出,后续步骤可用 steps 引用";
|
|
8
9
|
readonly output: "HTTP 响应(解析后的 JSON)";
|
|
9
10
|
};
|
|
10
11
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
@@ -7,6 +7,7 @@ export const compatibilityDate = "2026-06-11";
|
|
|
7
7
|
export const metadata = {
|
|
8
8
|
name: "\u53D1\u9001\u8BF7\u6C42",
|
|
9
9
|
icon: "fluent:cloud-arrow-up-20-regular",
|
|
10
|
+
description: "\u53D1\u9001\u4E00\u4E2A HTTP \u8BF7\u6C42\uFF1B\u5176\u89E3\u6790\u540E\u7684\u54CD\u5E94\u4F53\u4F5C\u4E3A\u94FE\u6B65\u8F93\u51FA\uFF0C\u540E\u7EED\u6B65\u9AA4\u53EF\u7528 steps \u5F15\u7528",
|
|
10
11
|
// This op publishes its parsed response as a chain-step output, so later
|
|
11
12
|
// trigger rows can reference it via `steps[?"<row-id>"]`.
|
|
12
13
|
output: "HTTP \u54CD\u5E94\uFF08\u89E3\u6790\u540E\u7684 JSON\uFF09"
|
package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const compatibilityDate: "2026-06-15";
|
|
|
5
5
|
export declare const metadata: {
|
|
6
6
|
readonly name: "下载文件";
|
|
7
7
|
readonly icon: "fluent:arrow-download-20-regular";
|
|
8
|
+
readonly description: "发起一个下载请求,把响应保存为文件";
|
|
8
9
|
};
|
|
9
10
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
10
11
|
expression: Schema.Schema<string, string, never>;
|
package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.js
CHANGED
|
@@ -6,7 +6,8 @@ export const type = "com.shwfed.operation.http.download";
|
|
|
6
6
|
export const compatibilityDate = "2026-06-15";
|
|
7
7
|
export const metadata = {
|
|
8
8
|
name: "\u4E0B\u8F7D\u6587\u4EF6",
|
|
9
|
-
icon: "fluent:arrow-download-20-regular"
|
|
9
|
+
icon: "fluent:arrow-download-20-regular",
|
|
10
|
+
description: "\u53D1\u8D77\u4E00\u4E2A\u4E0B\u8F7D\u8BF7\u6C42\uFF0C\u628A\u54CD\u5E94\u4FDD\u5B58\u4E3A\u6587\u4EF6"
|
|
10
11
|
// NOTE: no `output` — a download saves a file; it publishes nothing for later
|
|
11
12
|
// trigger rows to read back (unlike the request op, whose parsed JSON becomes
|
|
12
13
|
// a chain-step output).
|
package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/schema.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const compatibilityDate: "2026-06-15";
|
|
|
5
5
|
export declare const metadata: {
|
|
6
6
|
readonly name: "导航";
|
|
7
7
|
readonly icon: "fluent:link-20-regular";
|
|
8
|
+
readonly description: "导航到一个链接,可选当前页或新标签页打开";
|
|
8
9
|
};
|
|
9
10
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
10
11
|
url: Schema.Schema<string, string, never>;
|
package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/schema.js
CHANGED
|
@@ -6,7 +6,8 @@ export const type = "com.shwfed.operation.navigation";
|
|
|
6
6
|
export const compatibilityDate = "2026-06-15";
|
|
7
7
|
export const metadata = {
|
|
8
8
|
name: "\u5BFC\u822A",
|
|
9
|
-
icon: "fluent:link-20-regular"
|
|
9
|
+
icon: "fluent:link-20-regular",
|
|
10
|
+
description: "\u5BFC\u822A\u5230\u4E00\u4E2A\u94FE\u63A5\uFF0C\u53EF\u9009\u5F53\u524D\u9875\u6216\u65B0\u6807\u7B7E\u9875\u6253\u5F00"
|
|
10
11
|
// NOTE: no `output` — navigation publishes nothing for later trigger rows
|
|
11
12
|
// (it ends in a page navigation, not a value the chain can read back).
|
|
12
13
|
};
|
package/dist/runtime/components/operations/2026-07-06/com.shwfed.operation.table.add-row/schema.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const compatibilityDate: "2026-07-06";
|
|
|
5
5
|
export declare const metadata: {
|
|
6
6
|
readonly name: "新增一行";
|
|
7
7
|
readonly icon: "fluent:add-20-regular";
|
|
8
|
+
readonly description: "向目标表格本地追加一行(不触发服务端请求)";
|
|
8
9
|
};
|
|
9
10
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
10
11
|
newRow: Schema.optional<Schema.Schema<string, string, never>>;
|
package/dist/runtime/components/operations/2026-07-06/com.shwfed.operation.table.add-row/schema.js
CHANGED
|
@@ -5,7 +5,8 @@ export const type = "com.shwfed.operation.table.add-row";
|
|
|
5
5
|
export const compatibilityDate = "2026-07-06";
|
|
6
6
|
export const metadata = {
|
|
7
7
|
name: "\u65B0\u589E\u4E00\u884C",
|
|
8
|
-
icon: "fluent:add-20-regular"
|
|
8
|
+
icon: "fluent:add-20-regular",
|
|
9
|
+
description: "\u5411\u76EE\u6807\u8868\u683C\u672C\u5730\u8FFD\u52A0\u4E00\u884C\uFF08\u4E0D\u89E6\u53D1\u670D\u52A1\u7AEF\u8BF7\u6C42\uFF09"
|
|
9
10
|
};
|
|
10
11
|
export function schema(configure) {
|
|
11
12
|
const CelRow = Expression({ configure, resultType: "map" });
|
|
@@ -28,6 +28,11 @@ export type OperationHandler = (params: unknown, ctx: OperationContext) => Effec
|
|
|
28
28
|
export type OperationMetadata = Readonly<{
|
|
29
29
|
name: string;
|
|
30
30
|
icon: string;
|
|
31
|
+
/**
|
|
32
|
+
* 一句话说明该操作的适用场景;供 AI trigger 接线工具显示。**可选** —— 缺失时
|
|
33
|
+
* 省略。镜像 `ColumnMetadata.description`。
|
|
34
|
+
*/
|
|
35
|
+
description?: string;
|
|
31
36
|
/**
|
|
32
37
|
* Present iff this operation publishes a chain-step output (`ctx.step.publish`)
|
|
33
38
|
* for later trigger rows to read via `steps[?"<row-id>"]` — the value is the
|
|
@@ -51,9 +56,21 @@ export type OperationEntry = Readonly<{
|
|
|
51
56
|
* rather than exposing it through `operationHandlers`.
|
|
52
57
|
*/
|
|
53
58
|
handler?: OperationHandler;
|
|
59
|
+
/**
|
|
60
|
+
* The op's `prompt.md` (L2 fragment) raw text, when authored. Surfaced by the
|
|
61
|
+
* AI `list_operations` tool as `guide` — operations have no per-type describe
|
|
62
|
+
* step (only 5 exist), so the fragment rides the listing.
|
|
63
|
+
*/
|
|
64
|
+
prompt?: string;
|
|
54
65
|
}>;
|
|
55
66
|
export declare const OPERATIONS: ReadonlyArray<OperationEntry>;
|
|
56
67
|
export declare function findOperation(type: string, compatibilityDate: string): OperationEntry | undefined;
|
|
68
|
+
export declare function latestOperationByType(): ReadonlyArray<OperationEntry>;
|
|
69
|
+
/**
|
|
70
|
+
* AI 工具可见的操作集合:按 `type` 取最新 `compatibilityDate`。镜像
|
|
71
|
+
* `activeColumns()`;操作目前无 deprecation 机制,所以「最新版本」即活跃集。
|
|
72
|
+
*/
|
|
73
|
+
export declare function activeOperations(): ReadonlyArray<OperationEntry>;
|
|
57
74
|
/**
|
|
58
75
|
* Build the `OperationHandlers` for a host's `provideEventTarget`, one per
|
|
59
76
|
* parameterized operation the host declares it exposes. Each handler keys on
|
|
@@ -3,6 +3,10 @@ const schemaModules = import.meta.glob(
|
|
|
3
3
|
"../*/*/schema.{ts,js}",
|
|
4
4
|
{ eager: true, exhaustive: true }
|
|
5
5
|
);
|
|
6
|
+
const promptModules = import.meta.glob(
|
|
7
|
+
"../*/*/prompt.md",
|
|
8
|
+
{ eager: true, query: "?raw", import: "default", exhaustive: true }
|
|
9
|
+
);
|
|
6
10
|
const runtimeModules = import.meta.glob(
|
|
7
11
|
"../*/*/runtime.{ts,js}",
|
|
8
12
|
{ eager: true, exhaustive: true }
|
|
@@ -51,6 +55,7 @@ function compute() {
|
|
|
51
55
|
throw new Error(`[shwfed-operations] compatibilityDate "${mod.compatibilityDate}" does not match folder "${date}"`);
|
|
52
56
|
}
|
|
53
57
|
const runtime = findSiblingOptional(runtimeModules, date, type, "runtime.ts");
|
|
58
|
+
const prompt = findSiblingOptional(promptModules, date, type, "prompt.md");
|
|
54
59
|
entries.push({
|
|
55
60
|
type: mod.type,
|
|
56
61
|
compatibilityDate: mod.compatibilityDate,
|
|
@@ -58,7 +63,8 @@ function compute() {
|
|
|
58
63
|
schema: mod.schema,
|
|
59
64
|
defaults: mod.defaults,
|
|
60
65
|
config: findSibling(configModules, date, type, "config.vue"),
|
|
61
|
-
handler: runtime?.handler
|
|
66
|
+
handler: runtime?.handler,
|
|
67
|
+
...prompt !== void 0 ? { prompt } : {}
|
|
62
68
|
});
|
|
63
69
|
}
|
|
64
70
|
cached = entries;
|
|
@@ -72,6 +78,17 @@ export const OPERATIONS = new Proxy([], {
|
|
|
72
78
|
export function findOperation(type, compatibilityDate) {
|
|
73
79
|
return compute().find((o) => o.type === type && o.compatibilityDate === compatibilityDate);
|
|
74
80
|
}
|
|
81
|
+
export function latestOperationByType() {
|
|
82
|
+
const byType = /* @__PURE__ */ new Map();
|
|
83
|
+
for (const o of compute()) {
|
|
84
|
+
const prev = byType.get(o.type);
|
|
85
|
+
if (!prev || o.compatibilityDate > prev.compatibilityDate) byType.set(o.type, o);
|
|
86
|
+
}
|
|
87
|
+
return [...byType.values()];
|
|
88
|
+
}
|
|
89
|
+
export function activeOperations() {
|
|
90
|
+
return latestOperationByType();
|
|
91
|
+
}
|
|
75
92
|
export function operationHandlers(exposed, ctx) {
|
|
76
93
|
const handlers = {};
|
|
77
94
|
for (const { type, compatibilityDate } of exposed) {
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
你正在配置一个「表格块」内嵌的 Table。表格由三部分组成:通用配置(数据源)、列、搜索条件。发现式推进:先 `describe_general_settings` / `list_available_column_types` 看清可用件,再逐项写入;配完 `leave_node` 返回页面。
|
|
2
|
+
|
|
3
|
+
## 通用配置(数据源)
|
|
4
|
+
|
|
5
|
+
`describe_general_settings` 查看 `dataSource`(request / data / total,各带自己的 CEL 作用域)、`rowKey`、分页,以及 CEL 函数目录;再用 `set_data_source` / `set_row_key` / `set_pagination` / `set_display_name` 写入。
|
|
6
|
+
|
|
7
|
+
利用 API 名称配置 `displayName`(内部名称)。`dataSource`:
|
|
8
|
+
|
|
9
|
+
- `request`:HTTP 请求表达式,形如
|
|
10
|
+
```cel
|
|
11
|
+
http
|
|
12
|
+
.post('<完整 URL>') // GET 用 .get;端点须为绝对 URL,用 hostname 变量拼接,勿写文档里的 {{env}}
|
|
13
|
+
.header('<key>', '<value>') // 设置请求头
|
|
14
|
+
.query(query) // query = 全部搜索条件,放在最前
|
|
15
|
+
.query('<key>', <value>) // 值可为 string | number | optional<...>;同名 query 不覆盖而是并列
|
|
16
|
+
// 分页:如 .query('page_index', pageIndex + 1).query('page_size', pageSize)(pageIndex 从 0 开始)
|
|
17
|
+
// POST 且发 JSON:.header('Content-Type', 'application/json').body({ ... })
|
|
18
|
+
```
|
|
19
|
+
API 文档里的示例查询参数只作演示,**不要**硬编码。
|
|
20
|
+
- `data`:指向响应中的列表。例如响应 `{ "data": { "list": [...] } }`,`data` 设为 `json.?data.?list`(optional 语法,字段缺失时安全)。
|
|
21
|
+
- `total`:指向响应中服务端**总数**,如 `json.?data.?total`。找不到就留空,并调用工具关闭分页。
|
|
22
|
+
|
|
23
|
+
## 列
|
|
24
|
+
|
|
25
|
+
找到最外层列表:每个元素是一行,其字段通常各成一列。用 `list_available_column_types` → `describe_specific_column_type` 选型(优先文本、数值、日期),`insert_column` 新增(不要传 `id` / `compatibilityDate`),`list_columns` / `delete_columns` 管理。
|
|
26
|
+
|
|
27
|
+
- 只读列配 `accessor`,用 `row`(当前行)。accessor **相对列表元素**书写,用 optional 语法:例如元素 `{ "foo": "bar", "buz": { "bao": "zoo" } }`,展示 `bar` 用 `row.?foo`,展示 `zoo` 用 `row.?buz.?bao`。
|
|
28
|
+
- 至少选一列设 `grow: true`。
|
|
29
|
+
- 金额:用数值列,`align: right`、`displayMode: monoThousand`,宽度约 200 或 `grow`。
|
|
30
|
+
- 普通数字:数值列,`align: center`。
|
|
31
|
+
- 日期时间:日期列,时间列宽 140、日期列宽 120,`align: center`。
|
|
32
|
+
- 用户名 / ID / 类型等短字段:酌情 `align: center`。
|
|
33
|
+
|
|
34
|
+
## 搜索条件
|
|
35
|
+
|
|
36
|
+
`table.query` 本质是一个表单,用通用表单字段族的工具增改字段:`list_available_field_types` → `describe_specific_field_type` 选型,`insert_field` 新增(字段创建后处于「未放置」态,不渲染),再 `place_field` 放入网格(`area` 用 `[[x1,y1],[x2,y2]]`,1 基、右下不含)。`list_fields` / `delete_fields` 管理。
|
|
37
|
+
|
|
38
|
+
搜索条件应排除分页、排序,仅含业务字段。优先文本输入、数字(范围)输入、日期(时间)范围。遇到「多选一 / 多选多」考虑单选 / 多选;选项不确定时**向用户提问**。按钮触发目标(搜索 / 重置)用 `describe_event_targets` 查询后接线。
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.d.ts
CHANGED
|
@@ -5,9 +5,16 @@ import { registerRowVariablesIfAbsent } from '../../../utils/shared.js';
|
|
|
5
5
|
import type { ColumnDefDeps } from '../../../utils/resolve.js';
|
|
6
6
|
export declare const type: "com.shwfed.table.column.actions";
|
|
7
7
|
export declare const compatibilityDate: "2026-04-14";
|
|
8
|
+
export declare const edges: readonly [{
|
|
9
|
+
readonly key: "items";
|
|
10
|
+
readonly host: "actions";
|
|
11
|
+
readonly label: "操作列";
|
|
12
|
+
readonly self: true;
|
|
13
|
+
}];
|
|
8
14
|
export declare const metadata: {
|
|
9
15
|
readonly name: "操作";
|
|
10
16
|
readonly icon: "fluent:cursor-click-20-regular";
|
|
17
|
+
readonly description: "每行渲染一组操作按钮(按钮 CEL 可访问 `row` / `index`)";
|
|
11
18
|
};
|
|
12
19
|
export declare const registerRowVariables: typeof registerRowVariablesIfAbsent;
|
|
13
20
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.js
CHANGED
|
@@ -4,9 +4,13 @@ import { ActionSchemaFields } from "../../../../actions/schema.js";
|
|
|
4
4
|
import { columnIdentityFields, registerRowVariablesIfAbsent } from "../../../utils/shared.js";
|
|
5
5
|
export const type = "com.shwfed.table.column.actions";
|
|
6
6
|
export const compatibilityDate = "2026-04-14";
|
|
7
|
+
export const edges = [
|
|
8
|
+
{ key: "items", host: "actions", label: "\u64CD\u4F5C\u5217", self: true }
|
|
9
|
+
];
|
|
7
10
|
export const metadata = {
|
|
8
11
|
name: "\u64CD\u4F5C",
|
|
9
|
-
icon: "fluent:cursor-click-20-regular"
|
|
12
|
+
icon: "fluent:cursor-click-20-regular",
|
|
13
|
+
description: "\u6BCF\u884C\u6E32\u67D3\u4E00\u7EC4\u64CD\u4F5C\u6309\u94AE\uFF08\u6309\u94AE CEL \u53EF\u8BBF\u95EE `row` / `index`\uFF09"
|
|
10
14
|
};
|
|
11
15
|
export const registerRowVariables = registerRowVariablesIfAbsent;
|
|
12
16
|
export function schema(configure) {
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const compatibilityDate: "2026-04-14";
|
|
|
7
7
|
export declare const metadata: {
|
|
8
8
|
readonly name: "日期";
|
|
9
9
|
readonly icon: "fluent:calendar-ltr-20-regular";
|
|
10
|
+
readonly description: "按指定格式展示日期 / 时间的只读列";
|
|
10
11
|
};
|
|
11
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
12
13
|
align: Schema.optionalWith<Schema.Literal<["left", "center", "right"]>, {
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.js
CHANGED
|
@@ -5,7 +5,8 @@ export const type = "com.shwfed.table.column.date";
|
|
|
5
5
|
export const compatibilityDate = "2026-04-14";
|
|
6
6
|
export const metadata = {
|
|
7
7
|
name: "\u65E5\u671F",
|
|
8
|
-
icon: "fluent:calendar-ltr-20-regular"
|
|
8
|
+
icon: "fluent:calendar-ltr-20-regular",
|
|
9
|
+
description: "\u6309\u6307\u5B9A\u683C\u5F0F\u5C55\u793A\u65E5\u671F / \u65F6\u95F4\u7684\u53EA\u8BFB\u5217"
|
|
9
10
|
};
|
|
10
11
|
export function schema(configure) {
|
|
11
12
|
return Schema.Struct({
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const compatibilityDate: "2026-04-14";
|
|
|
7
7
|
export declare const metadata: {
|
|
8
8
|
readonly name: "图标";
|
|
9
9
|
readonly icon: "fluent:shapes-20-regular";
|
|
10
|
+
readonly description: "按 CEL 表达式展示一个 Iconify 图标(可配颜色)的只读列";
|
|
10
11
|
};
|
|
11
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
12
13
|
accessor: Schema.optional<Schema.Schema<string, string, never>>;
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.js
CHANGED
|
@@ -4,7 +4,8 @@ export const type = "com.shwfed.table.column.icon";
|
|
|
4
4
|
export const compatibilityDate = "2026-04-14";
|
|
5
5
|
export const metadata = {
|
|
6
6
|
name: "\u56FE\u6807",
|
|
7
|
-
icon: "fluent:shapes-20-regular"
|
|
7
|
+
icon: "fluent:shapes-20-regular",
|
|
8
|
+
description: "\u6309 CEL \u8868\u8FBE\u5F0F\u5C55\u793A\u4E00\u4E2A Iconify \u56FE\u6807\uFF08\u53EF\u914D\u989C\u8272\uFF09\u7684\u53EA\u8BFB\u5217"
|
|
8
9
|
};
|
|
9
10
|
export function schema(configure) {
|
|
10
11
|
return Schema.Struct({
|
|
@@ -7,6 +7,7 @@ export declare const compatibilityDate: "2026-04-14";
|
|
|
7
7
|
export declare const metadata: {
|
|
8
8
|
readonly name: "MD";
|
|
9
9
|
readonly icon: "fluent:markdown-20-regular";
|
|
10
|
+
readonly description: "渲染行内 Markdown(支持 `{{ 表达式 }}` 插值)的只读列";
|
|
10
11
|
};
|
|
11
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
12
13
|
title: Schema.suspend<readonly [{
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.js
CHANGED
|
@@ -5,7 +5,8 @@ export const type = "com.shwfed.table.column.markdown";
|
|
|
5
5
|
export const compatibilityDate = "2026-04-14";
|
|
6
6
|
export const metadata = {
|
|
7
7
|
name: "MD",
|
|
8
|
-
icon: "fluent:markdown-20-regular"
|
|
8
|
+
icon: "fluent:markdown-20-regular",
|
|
9
|
+
description: "\u6E32\u67D3\u884C\u5185 Markdown\uFF08\u652F\u6301 `{{ \u8868\u8FBE\u5F0F }}` \u63D2\u503C\uFF09\u7684\u53EA\u8BFB\u5217"
|
|
9
10
|
};
|
|
10
11
|
const isCopyExpressionType = (t) => t === "string" || t === "dyn" || t.startsWith("optional");
|
|
11
12
|
export function schema(configure) {
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const compatibilityDate: "2026-04-14";
|
|
|
7
7
|
export declare const metadata: {
|
|
8
8
|
readonly name: "数值";
|
|
9
9
|
readonly icon: "fluent:number-symbol-20-regular";
|
|
10
|
+
readonly description: "数值只读列,支持千分位等宽 / 中文大写等展示模式与小数位控制";
|
|
10
11
|
};
|
|
11
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
12
13
|
align: Schema.optionalWith<Schema.Literal<["left", "center", "right"]>, {
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.js
CHANGED
|
@@ -4,7 +4,8 @@ export const type = "com.shwfed.table.column.number";
|
|
|
4
4
|
export const compatibilityDate = "2026-04-14";
|
|
5
5
|
export const metadata = {
|
|
6
6
|
name: "\u6570\u503C",
|
|
7
|
-
icon: "fluent:number-symbol-20-regular"
|
|
7
|
+
icon: "fluent:number-symbol-20-regular",
|
|
8
|
+
description: "\u6570\u503C\u53EA\u8BFB\u5217\uFF0C\u652F\u6301\u5343\u5206\u4F4D\u7B49\u5BBD / \u4E2D\u6587\u5927\u5199\u7B49\u5C55\u793A\u6A21\u5F0F\u4E0E\u5C0F\u6570\u4F4D\u63A7\u5236"
|
|
8
9
|
};
|
|
9
10
|
export function schema(configure) {
|
|
10
11
|
return Schema.Struct({
|
package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const compatibilityDate: "2026-04-14";
|
|
|
7
7
|
export declare const metadata: {
|
|
8
8
|
readonly name: "选择";
|
|
9
9
|
readonly icon: "fluent:checkbox-checked-20-regular";
|
|
10
|
+
readonly description: "行选择列(单选 / 多选勾选框),可按 CEL 控制行是否可选";
|
|
10
11
|
};
|
|
11
12
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
12
13
|
mode: Schema.optionalWith<Schema.Literal<["radio", "checkbox"]>, {
|