@qingflow-tech/qingflow-cli 1.1.43-beta.1 → 1.1.43-beta.3

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 (66) hide show
  1. package/README.md +12 -5
  2. package/entry_point.py +1 -1
  3. package/npm/bin/qingflow.mjs +1 -2
  4. package/npm/lib/runtime.mjs +3 -7
  5. package/package.json +1 -2
  6. package/pyproject.toml +1 -3
  7. package/skills/qingflow-app-form/SKILL.md +63 -0
  8. package/skills/qingflow-app-form/agents/openai.yaml +4 -0
  9. package/skills/qingflow-cli/SKILL.md +8 -6
  10. package/skills/qingflow-cli/manifest.yaml +1 -1
  11. package/skills/qingflow-cli/reference/QINGFLOW_CLI_BUILDER_APP_DELIVERY_WORKFLOW.md +4 -4
  12. package/skills/qingflow-cli/reference/QINGFLOW_CLI_EXPLORATION_REPORT.md +1 -1
  13. package/skills/qingflow-cli/reference/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  14. package/skills/qingflow-cli/reference/QINGFLOW_CLI_SCHEMA_APPLY_FIELD_TYPES_AND_SCENARIOS.md +4 -4
  15. package/skills/qingflow-cli/reference/builder/10-build-single-app.md +5 -5
  16. package/skills/qingflow-cli/reference/builder/20-build-complete-system.md +14 -14
  17. package/skills/qingflow-cli/reference/builder/30-schema-fields.md +98 -101
  18. package/skills/qingflow-cli/reference/builder/40-layout.md +39 -31
  19. package/skills/qingflow-cli/reference/builder/README.md +9 -9
  20. package/skills/qingflow-cli/reference/builder/code-integrations/README.md +4 -2
  21. package/skills/qingflow-cli/reference/builder/code-integrations/code-block.md +2 -0
  22. package/skills/qingflow-cli/reference/builder/code-integrations/q-linker.md +2 -0
  23. package/skills/qingflow-cli/reference/builder/reference/app-delivery-sop.md +45 -38
  24. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_EXPLORATION_REPORT.md +1 -1
  25. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  26. package/skills/qingflow-cli/reference/examples/README.md +3 -3
  27. package/skills/qingflow-common/SKILL.md +47 -0
  28. package/skills/qingflow-common/agents/openai.yaml +4 -0
  29. package/src/qingflow_mcp/__main__.py +2 -3
  30. package/src/qingflow_mcp/app_form_compat.py +6 -1
  31. package/src/qingflow_mcp/builder_facade/app_form.py +547 -18
  32. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +1321 -178
  33. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +268 -7
  34. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +115 -10
  35. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +304 -7
  36. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +23 -4
  37. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +23 -4
  38. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +23 -4
  39. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +23 -4
  40. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +145 -4
  41. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +69 -10
  42. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +69 -10
  43. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +69 -10
  44. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +360 -7
  45. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +71 -4
  46. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +115 -10
  47. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +78 -10
  48. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +23 -4
  49. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +249 -4
  50. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +71 -4
  51. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +71 -4
  52. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +1041 -20
  53. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +69 -10
  54. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +23 -0
  55. package/src/qingflow_mcp/response_trim.py +41 -1
  56. package/src/qingflow_mcp/server.py +24 -3
  57. package/src/qingflow_mcp/server_app_builder.py +1 -1
  58. package/src/qingflow_mcp/tools/record_tools.py +3 -3
  59. package/src/qingflow_mcp/version.py +2 -4
  60. package/docs/local-agent-install.md +0 -370
  61. package/skills/qingflow-mcp-setup/SKILL.md +0 -115
  62. package/skills/qingflow-mcp-setup/agents/openai.yaml +0 -4
  63. package/skills/qingflow-mcp-setup/references/claude-desktop.md +0 -34
  64. package/skills/qingflow-mcp-setup/references/environments.md +0 -62
  65. package/skills/qingflow-mcp-setup/references/generic-stdio.md +0 -32
  66. package/skills/qingflow-mcp-setup/scripts/check_local_server.sh +0 -38
@@ -20,10 +20,200 @@
20
20
  ],
21
21
  "type": "object"
22
22
  },
23
+ "AnswerValue": {
24
+ "additionalProperties": false,
25
+ "properties": {
26
+ "dataValue": {
27
+ "type": [
28
+ "string",
29
+ "null"
30
+ ]
31
+ },
32
+ "email": {
33
+ "type": [
34
+ "string",
35
+ "null"
36
+ ]
37
+ },
38
+ "id": {
39
+ "type": [
40
+ "integer",
41
+ "null"
42
+ ]
43
+ },
44
+ "optionId": {
45
+ "type": [
46
+ "string",
47
+ "null"
48
+ ]
49
+ },
50
+ "ordinal": {
51
+ "type": [
52
+ "integer",
53
+ "null"
54
+ ]
55
+ },
56
+ "otherInfo": {
57
+ "type": [
58
+ "string",
59
+ "null"
60
+ ]
61
+ },
62
+ "pluginValue": {
63
+ "type": [
64
+ "string",
65
+ "null"
66
+ ]
67
+ },
68
+ "queId": {
69
+ "type": [
70
+ "integer",
71
+ "null"
72
+ ]
73
+ },
74
+ "value": {
75
+ "type": [
76
+ "string",
77
+ "null"
78
+ ]
79
+ },
80
+ "valueStr": {
81
+ "type": [
82
+ "string",
83
+ "null"
84
+ ]
85
+ }
86
+ },
87
+ "type": "object"
88
+ },
89
+ "AttachmentConfig": {
90
+ "additionalProperties": false,
91
+ "description": "附件字段上传限制。",
92
+ "properties": {
93
+ "canScan": {
94
+ "type": [
95
+ "boolean",
96
+ "null"
97
+ ]
98
+ },
99
+ "defaultValues": {
100
+ "oneOf": [
101
+ {
102
+ "type": "null"
103
+ },
104
+ {
105
+ "$ref": "#/$defs/DefaultValues"
106
+ }
107
+ ]
108
+ },
109
+ "fileBeingCaptureOnly": {
110
+ "minimum": 0,
111
+ "type": [
112
+ "integer",
113
+ "null"
114
+ ]
115
+ },
116
+ "fileSize": {
117
+ "minimum": 1,
118
+ "type": [
119
+ "integer",
120
+ "null"
121
+ ]
122
+ },
123
+ "fileType": {
124
+ "items": {
125
+ "minLength": 1,
126
+ "type": "string"
127
+ },
128
+ "type": "array"
129
+ },
130
+ "imageCompress": {
131
+ "type": [
132
+ "boolean",
133
+ "null"
134
+ ]
135
+ },
136
+ "maxFileLimit": {
137
+ "minimum": 1,
138
+ "type": [
139
+ "integer",
140
+ "null"
141
+ ]
142
+ },
143
+ "maxFileLimitStatus": {
144
+ "type": [
145
+ "boolean",
146
+ "null"
147
+ ]
148
+ },
149
+ "pluginStatus": {
150
+ "type": [
151
+ "boolean",
152
+ "null"
153
+ ]
154
+ },
155
+ "scanType": {
156
+ "minimum": 0,
157
+ "type": [
158
+ "integer",
159
+ "null"
160
+ ]
161
+ }
162
+ },
163
+ "type": "object"
164
+ },
23
165
  "ChoiceConfig": {
24
166
  "additionalProperties": false,
25
167
  "description": "选择类字段配置。",
26
168
  "properties": {
169
+ "beingShowColor": {
170
+ "description": "是否展示选项颜色。",
171
+ "type": [
172
+ "boolean",
173
+ "null"
174
+ ]
175
+ },
176
+ "defaultOptions": {
177
+ "description": "选项默认选中状态;值必须来自 options,省略表示保留现有状态。",
178
+ "items": {
179
+ "minLength": 1,
180
+ "type": "string"
181
+ },
182
+ "type": "array",
183
+ "uniqueItems": true
184
+ },
185
+ "maxOpts": {
186
+ "description": "最多选择项数;null 表示不限制。",
187
+ "minimum": 0,
188
+ "type": [
189
+ "integer",
190
+ "null"
191
+ ]
192
+ },
193
+ "minOpts": {
194
+ "description": "最少选择项数;null 表示不限制。",
195
+ "minimum": 0,
196
+ "type": [
197
+ "integer",
198
+ "null"
199
+ ]
200
+ },
201
+ "optDirection": {
202
+ "description": "选项排列方向 ID。",
203
+ "minimum": 0,
204
+ "type": [
205
+ "integer",
206
+ "null"
207
+ ]
208
+ },
209
+ "optSelectMode": {
210
+ "description": "多项选择模式 ID。",
211
+ "minimum": 0,
212
+ "type": [
213
+ "integer",
214
+ "null"
215
+ ]
216
+ },
27
217
  "options": {
28
218
  "description": "非空有序选项文案;缺失选项表示从该字段配置中删除。",
29
219
  "items": {
@@ -428,12 +618,157 @@
428
618
  }
429
619
  ]
430
620
  },
621
+ "DefaultValues": {
622
+ "additionalProperties": false,
623
+ "properties": {
624
+ "associatedQueType": {
625
+ "type": [
626
+ "integer",
627
+ "null"
628
+ ]
629
+ },
630
+ "beingCanDecrypted": {
631
+ "type": [
632
+ "boolean",
633
+ "null"
634
+ ]
635
+ },
636
+ "beingDesensitized": {
637
+ "type": [
638
+ "boolean",
639
+ "null"
640
+ ]
641
+ },
642
+ "canDecimal": {
643
+ "type": [
644
+ "boolean",
645
+ "null"
646
+ ]
647
+ },
648
+ "currencyStatus": {
649
+ "type": [
650
+ "boolean",
651
+ "null"
652
+ ]
653
+ },
654
+ "currencyType": {
655
+ "type": [
656
+ "integer",
657
+ "null"
658
+ ]
659
+ },
660
+ "dateType": {
661
+ "type": [
662
+ "integer",
663
+ "null"
664
+ ]
665
+ },
666
+ "decimalDigit": {
667
+ "type": [
668
+ "integer",
669
+ "null"
670
+ ]
671
+ },
672
+ "numberFormat": {
673
+ "type": [
674
+ "integer",
675
+ "null"
676
+ ]
677
+ },
678
+ "queId": {
679
+ "type": [
680
+ "integer",
681
+ "null"
682
+ ]
683
+ },
684
+ "queTitle": {
685
+ "type": [
686
+ "string",
687
+ "null"
688
+ ]
689
+ },
690
+ "queType": {
691
+ "type": [
692
+ "integer",
693
+ "null"
694
+ ]
695
+ },
696
+ "referValues": {
697
+ "items": {
698
+ "$ref": "#/$defs/ReferenceDefaultValue"
699
+ },
700
+ "type": "array"
701
+ },
702
+ "rowId": {
703
+ "type": [
704
+ "integer",
705
+ "null"
706
+ ]
707
+ },
708
+ "sourceValue": {
709
+ "type": [
710
+ "string",
711
+ "null"
712
+ ]
713
+ },
714
+ "tableValues": {
715
+ "items": {
716
+ "items": {
717
+ "$ref": "#/$defs/DefaultValues"
718
+ },
719
+ "type": "array"
720
+ },
721
+ "type": "array"
722
+ },
723
+ "values": {
724
+ "items": {
725
+ "$ref": "#/$defs/AnswerValue"
726
+ },
727
+ "type": "array"
728
+ }
729
+ },
730
+ "required": [
731
+ "values"
732
+ ],
733
+ "type": "object"
734
+ },
431
735
  "DepartmentConfig": {
432
736
  "additionalProperties": false,
433
737
  "description": "部门字段的可选范围配置。",
434
738
  "properties": {
739
+ "beingShowParentPath": {
740
+ "type": [
741
+ "boolean",
742
+ "null"
743
+ ]
744
+ },
745
+ "canScan": {
746
+ "type": [
747
+ "boolean",
748
+ "null"
749
+ ]
750
+ },
751
+ "defaultDepartments": {
752
+ "$ref": "#/$defs/DepartmentScope"
753
+ },
435
754
  "departmentScope": {
436
755
  "$ref": "#/$defs/DepartmentScope"
756
+ },
757
+ "departmentScopeRelation": {
758
+ "$ref": "#/$defs/SelectScopeRelation"
759
+ },
760
+ "noRepeat": {
761
+ "type": [
762
+ "boolean",
763
+ "null"
764
+ ]
765
+ },
766
+ "scanType": {
767
+ "minimum": 0,
768
+ "type": [
769
+ "integer",
770
+ "null"
771
+ ]
437
772
  }
438
773
  },
439
774
  "required": [
@@ -484,6 +819,21 @@
484
819
  "departments"
485
820
  ],
486
821
  "type": "object"
822
+ },
823
+ {
824
+ "additionalProperties": false,
825
+ "properties": {
826
+ "includeSubDeparts": {
827
+ "type": "boolean"
828
+ },
829
+ "mode": {
830
+ "const": "relation"
831
+ }
832
+ },
833
+ "required": [
834
+ "mode"
835
+ ],
836
+ "type": "object"
487
837
  }
488
838
  ]
489
839
  },
@@ -505,21 +855,85 @@
505
855
  ],
506
856
  "type": "object"
507
857
  },
508
- "EmptyConfig": {
858
+ "DynamicMemberSelector": {
509
859
  "additionalProperties": false,
510
- "description": "该字段类型没有特殊配置。",
511
- "type": "object"
512
- },
513
- "FieldCommon": {
514
- "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
515
860
  "properties": {
516
- "dataCover": {
517
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
518
- "type": "boolean"
861
+ "queId": {
862
+ "type": "integer"
519
863
  },
520
- "dataTitle": {
521
- "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
522
- "type": "boolean"
864
+ "queTitle": {
865
+ "type": "string"
866
+ },
867
+ "type": {
868
+ "minimum": 1,
869
+ "type": "integer"
870
+ }
871
+ },
872
+ "required": [
873
+ "type"
874
+ ],
875
+ "type": "object"
876
+ },
877
+ "EmptyConfig": {
878
+ "additionalProperties": false,
879
+ "description": "该字段类型没有特殊配置。",
880
+ "type": "object"
881
+ },
882
+ "ExternalDepartmentSelector": {
883
+ "additionalProperties": false,
884
+ "properties": {
885
+ "deptId": {
886
+ "minimum": 1,
887
+ "type": "integer"
888
+ },
889
+ "deptName": {
890
+ "type": "string"
891
+ }
892
+ },
893
+ "required": [
894
+ "deptId"
895
+ ],
896
+ "type": "object"
897
+ },
898
+ "ExternalMemberSelector": {
899
+ "additionalProperties": false,
900
+ "properties": {
901
+ "email": {
902
+ "type": "string"
903
+ },
904
+ "nickName": {
905
+ "type": "string"
906
+ },
907
+ "uid": {
908
+ "minimum": 1,
909
+ "type": "integer"
910
+ }
911
+ },
912
+ "required": [
913
+ "uid"
914
+ ],
915
+ "type": "object"
916
+ },
917
+ "FieldCommon": {
918
+ "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
919
+ "properties": {
920
+ "dataTitle": {
921
+ "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
922
+ "type": "boolean"
923
+ },
924
+ "defaultType": {
925
+ "default": 1,
926
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
927
+ "enum": [
928
+ 1,
929
+ 2,
930
+ 3
931
+ ],
932
+ "type": "integer"
933
+ },
934
+ "defaultValue": {
935
+ "$ref": "#/$defs/ScalarDefaultValue",
936
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
523
937
  },
524
938
  "description": {
525
939
  "description": "字段说明;null 或空字符串表示清空。",
@@ -612,10 +1026,375 @@
612
1026
  }
613
1027
  ]
614
1028
  },
1029
+ "MemberConfig": {
1030
+ "additionalProperties": false,
1031
+ "description": "成员字段的选择范围和默认成员。",
1032
+ "properties": {
1033
+ "canScan": {
1034
+ "type": [
1035
+ "boolean",
1036
+ "null"
1037
+ ]
1038
+ },
1039
+ "defaultMembers": {
1040
+ "$ref": "#/$defs/MemberScope"
1041
+ },
1042
+ "memberScope": {
1043
+ "$ref": "#/$defs/MemberScope"
1044
+ },
1045
+ "memberScopeRelation": {
1046
+ "$ref": "#/$defs/SelectScopeRelation"
1047
+ },
1048
+ "noRepeat": {
1049
+ "type": [
1050
+ "boolean",
1051
+ "null"
1052
+ ]
1053
+ },
1054
+ "scanType": {
1055
+ "minimum": 0,
1056
+ "type": [
1057
+ "integer",
1058
+ "null"
1059
+ ]
1060
+ }
1061
+ },
1062
+ "type": "object"
1063
+ },
1064
+ "MemberScope": {
1065
+ "description": "成员字段可选范围;all 为工作区全部成员,custom 为显式成员/部门/角色或动态成员,relation 为按字段关联。",
1066
+ "oneOf": [
1067
+ {
1068
+ "additionalProperties": false,
1069
+ "properties": {
1070
+ "includeSubDeparts": {
1071
+ "type": "boolean"
1072
+ },
1073
+ "mode": {
1074
+ "const": "all"
1075
+ }
1076
+ },
1077
+ "required": [
1078
+ "mode"
1079
+ ],
1080
+ "type": "object"
1081
+ },
1082
+ {
1083
+ "additionalProperties": false,
1084
+ "properties": {
1085
+ "departments": {
1086
+ "items": {
1087
+ "$ref": "#/$defs/DepartmentSelector"
1088
+ },
1089
+ "type": "array"
1090
+ },
1091
+ "dynamic": {
1092
+ "items": {
1093
+ "$ref": "#/$defs/DynamicMemberSelector"
1094
+ },
1095
+ "type": "array"
1096
+ },
1097
+ "externalDepartments": {
1098
+ "items": {
1099
+ "$ref": "#/$defs/ExternalDepartmentSelector"
1100
+ },
1101
+ "type": "array"
1102
+ },
1103
+ "externalMembers": {
1104
+ "items": {
1105
+ "$ref": "#/$defs/ExternalMemberSelector"
1106
+ },
1107
+ "type": "array"
1108
+ },
1109
+ "includeSubDeparts": {
1110
+ "type": "boolean"
1111
+ },
1112
+ "members": {
1113
+ "items": {
1114
+ "$ref": "#/$defs/MemberSelector"
1115
+ },
1116
+ "type": "array"
1117
+ },
1118
+ "mode": {
1119
+ "const": "custom"
1120
+ },
1121
+ "roles": {
1122
+ "items": {
1123
+ "$ref": "#/$defs/RoleSelector"
1124
+ },
1125
+ "type": "array"
1126
+ }
1127
+ },
1128
+ "required": [
1129
+ "mode"
1130
+ ],
1131
+ "type": "object"
1132
+ },
1133
+ {
1134
+ "additionalProperties": false,
1135
+ "properties": {
1136
+ "departments": {
1137
+ "items": {
1138
+ "$ref": "#/$defs/DepartmentSelector"
1139
+ },
1140
+ "type": "array"
1141
+ },
1142
+ "dynamic": {
1143
+ "items": {
1144
+ "$ref": "#/$defs/DynamicMemberSelector"
1145
+ },
1146
+ "type": "array"
1147
+ },
1148
+ "externalDepartments": {
1149
+ "items": {
1150
+ "$ref": "#/$defs/ExternalDepartmentSelector"
1151
+ },
1152
+ "type": "array"
1153
+ },
1154
+ "externalMembers": {
1155
+ "items": {
1156
+ "$ref": "#/$defs/ExternalMemberSelector"
1157
+ },
1158
+ "type": "array"
1159
+ },
1160
+ "includeSubDeparts": {
1161
+ "type": "boolean"
1162
+ },
1163
+ "members": {
1164
+ "items": {
1165
+ "$ref": "#/$defs/MemberSelector"
1166
+ },
1167
+ "type": "array"
1168
+ },
1169
+ "mode": {
1170
+ "const": "relation"
1171
+ },
1172
+ "roles": {
1173
+ "items": {
1174
+ "$ref": "#/$defs/RoleSelector"
1175
+ },
1176
+ "type": "array"
1177
+ }
1178
+ },
1179
+ "required": [
1180
+ "mode"
1181
+ ],
1182
+ "type": "object"
1183
+ }
1184
+ ]
1185
+ },
1186
+ "MemberSelector": {
1187
+ "additionalProperties": false,
1188
+ "properties": {
1189
+ "nickName": {
1190
+ "minLength": 1,
1191
+ "type": "string"
1192
+ },
1193
+ "uid": {
1194
+ "minimum": 1,
1195
+ "type": "integer"
1196
+ }
1197
+ },
1198
+ "required": [
1199
+ "uid"
1200
+ ],
1201
+ "type": "object"
1202
+ },
1203
+ "NumberConfig": {
1204
+ "additionalProperties": false,
1205
+ "description": "数字和金额字段的数值、精度及显示格式。",
1206
+ "properties": {
1207
+ "canDecimal": {
1208
+ "description": "是否允许小数;普通数字字段可显式设置。",
1209
+ "type": [
1210
+ "boolean",
1211
+ "null"
1212
+ ]
1213
+ },
1214
+ "canScan": {
1215
+ "description": "是否允许扫码输入。",
1216
+ "type": [
1217
+ "boolean",
1218
+ "null"
1219
+ ]
1220
+ },
1221
+ "currencyStatus": {
1222
+ "description": "金额字段是否显示货币符号。",
1223
+ "type": [
1224
+ "boolean",
1225
+ "null"
1226
+ ]
1227
+ },
1228
+ "currencyType": {
1229
+ "description": "货币类型 ID。",
1230
+ "minimum": 1,
1231
+ "type": [
1232
+ "integer",
1233
+ "null"
1234
+ ]
1235
+ },
1236
+ "decimalDigit": {
1237
+ "description": "小数位数。",
1238
+ "maximum": 10,
1239
+ "minimum": 0,
1240
+ "type": [
1241
+ "integer",
1242
+ "null"
1243
+ ]
1244
+ },
1245
+ "maxValue": {
1246
+ "description": "允许的最大值;后端按字符串保存。",
1247
+ "type": [
1248
+ "string",
1249
+ "number",
1250
+ "null"
1251
+ ]
1252
+ },
1253
+ "minValue": {
1254
+ "description": "允许的最小值;后端按字符串保存。",
1255
+ "type": [
1256
+ "string",
1257
+ "number",
1258
+ "null"
1259
+ ]
1260
+ },
1261
+ "noRepeat": {
1262
+ "description": "是否禁止重复值。",
1263
+ "type": [
1264
+ "boolean",
1265
+ "null"
1266
+ ]
1267
+ },
1268
+ "numberFormat": {
1269
+ "description": "数字展示格式 ID。",
1270
+ "minimum": 1,
1271
+ "type": [
1272
+ "integer",
1273
+ "null"
1274
+ ]
1275
+ },
1276
+ "numberLimitStatus": {
1277
+ "description": "是否启用最小值和最大值限制。",
1278
+ "type": [
1279
+ "boolean",
1280
+ "null"
1281
+ ]
1282
+ },
1283
+ "scanType": {
1284
+ "description": "扫码类型 ID。",
1285
+ "minimum": 0,
1286
+ "type": [
1287
+ "integer",
1288
+ "null"
1289
+ ]
1290
+ }
1291
+ },
1292
+ "type": "object"
1293
+ },
1294
+ "PhoneConfig": {
1295
+ "additionalProperties": false,
1296
+ "description": "电话字段的长度、重复和校验配置。",
1297
+ "properties": {
1298
+ "canScan": {
1299
+ "type": [
1300
+ "boolean",
1301
+ "null"
1302
+ ]
1303
+ },
1304
+ "fixedPhone": {
1305
+ "description": "是否按固定电话格式校验。",
1306
+ "type": [
1307
+ "boolean",
1308
+ "null"
1309
+ ]
1310
+ },
1311
+ "maxWordCount": {
1312
+ "minimum": 0,
1313
+ "type": [
1314
+ "integer",
1315
+ "null"
1316
+ ]
1317
+ },
1318
+ "minWordCount": {
1319
+ "minimum": 0,
1320
+ "type": [
1321
+ "integer",
1322
+ "null"
1323
+ ]
1324
+ },
1325
+ "msgValidateStatus": {
1326
+ "description": "是否启用短信校验。",
1327
+ "type": [
1328
+ "boolean",
1329
+ "null"
1330
+ ]
1331
+ },
1332
+ "noRepeat": {
1333
+ "type": [
1334
+ "boolean",
1335
+ "null"
1336
+ ]
1337
+ },
1338
+ "scanType": {
1339
+ "minimum": 0,
1340
+ "type": [
1341
+ "integer",
1342
+ "null"
1343
+ ]
1344
+ }
1345
+ },
1346
+ "type": "object"
1347
+ },
1348
+ "ReferenceDefaultValue": {
1349
+ "additionalProperties": false,
1350
+ "properties": {
1351
+ "applyId": {
1352
+ "type": [
1353
+ "integer",
1354
+ "null"
1355
+ ]
1356
+ },
1357
+ "dataTitle": {
1358
+ "type": [
1359
+ "string",
1360
+ "null"
1361
+ ]
1362
+ },
1363
+ "values": {
1364
+ "items": {
1365
+ "$ref": "#/$defs/DefaultValues"
1366
+ },
1367
+ "type": "array"
1368
+ }
1369
+ },
1370
+ "type": "object"
1371
+ },
615
1372
  "RelationConfig": {
616
1373
  "additionalProperties": false,
617
1374
  "description": "引用字段配置;引用其他应用中的数据。",
618
1375
  "properties": {
1376
+ "beingDefaultFormulaAutoFillEnabled": {
1377
+ "type": [
1378
+ "boolean",
1379
+ "null"
1380
+ ]
1381
+ },
1382
+ "defaultValueMatchRules": {
1383
+ "type": [
1384
+ "array",
1385
+ "null"
1386
+ ]
1387
+ },
1388
+ "defaultValues": {
1389
+ "oneOf": [
1390
+ {
1391
+ "type": "null"
1392
+ },
1393
+ {
1394
+ "$ref": "#/$defs/DefaultValues"
1395
+ }
1396
+ ]
1397
+ },
619
1398
  "displayField": {
620
1399
  "$ref": "#/$defs/FieldSelector",
621
1400
  "description": "引用值的主展示字段。"
@@ -648,6 +1427,79 @@
648
1427
  ],
649
1428
  "type": "object"
650
1429
  },
1430
+ "RoleSelector": {
1431
+ "additionalProperties": false,
1432
+ "properties": {
1433
+ "roleId": {
1434
+ "minimum": 1,
1435
+ "type": "integer"
1436
+ },
1437
+ "roleName": {
1438
+ "minLength": 1,
1439
+ "type": "string"
1440
+ }
1441
+ },
1442
+ "required": [
1443
+ "roleId"
1444
+ ],
1445
+ "type": "object"
1446
+ },
1447
+ "ScalarDefaultValue": {
1448
+ "description": "不包含对象或数组的普通字段默认值。",
1449
+ "type": [
1450
+ "null",
1451
+ "boolean",
1452
+ "number",
1453
+ "string"
1454
+ ]
1455
+ },
1456
+ "SelectScopeRelation": {
1457
+ "additionalProperties": false,
1458
+ "properties": {
1459
+ "displayedField": {
1460
+ "$ref": "#/$defs/FieldSelector"
1461
+ },
1462
+ "displayedFieldType": {
1463
+ "type": [
1464
+ "integer",
1465
+ "null"
1466
+ ]
1467
+ },
1468
+ "matchRuleFormula": {
1469
+ "type": [
1470
+ "string",
1471
+ "null"
1472
+ ]
1473
+ },
1474
+ "matchRuleType": {
1475
+ "type": [
1476
+ "integer",
1477
+ "null"
1478
+ ]
1479
+ },
1480
+ "matchRules": {
1481
+ "type": [
1482
+ "array",
1483
+ "null"
1484
+ ]
1485
+ },
1486
+ "targetAppKey": {
1487
+ "minLength": 1,
1488
+ "type": "string"
1489
+ },
1490
+ "targetAppTitle": {
1491
+ "type": [
1492
+ "string",
1493
+ "null"
1494
+ ]
1495
+ }
1496
+ },
1497
+ "required": [
1498
+ "displayedField",
1499
+ "targetAppKey"
1500
+ ],
1501
+ "type": "object"
1502
+ },
651
1503
  "SubField": {
652
1504
  "allOf": [
653
1505
  {
@@ -658,19 +1510,14 @@
658
1510
  {
659
1511
  "properties": {
660
1512
  "config": {
661
- "$ref": "#/$defs/EmptyConfig"
1513
+ "$ref": "#/$defs/TextConfig"
662
1514
  },
663
1515
  "type": {
664
1516
  "enum": [
665
1517
  "text",
666
1518
  "long_text",
667
- "number",
668
1519
  "link",
669
- "date",
670
- "phone",
671
- "email",
672
- "attachment",
673
- "member"
1520
+ "email"
674
1521
  ]
675
1522
  }
676
1523
  },
@@ -678,6 +1525,71 @@
678
1525
  "type"
679
1526
  ]
680
1527
  },
1528
+ {
1529
+ "properties": {
1530
+ "config": {
1531
+ "$ref": "#/$defs/PhoneConfig"
1532
+ },
1533
+ "type": {
1534
+ "const": "phone"
1535
+ }
1536
+ },
1537
+ "required": [
1538
+ "type"
1539
+ ]
1540
+ },
1541
+ {
1542
+ "properties": {
1543
+ "config": {
1544
+ "$ref": "#/$defs/NumberConfig"
1545
+ },
1546
+ "type": {
1547
+ "const": "number"
1548
+ }
1549
+ },
1550
+ "required": [
1551
+ "type"
1552
+ ]
1553
+ },
1554
+ {
1555
+ "properties": {
1556
+ "config": {
1557
+ "$ref": "#/$defs/EmptyConfig"
1558
+ },
1559
+ "type": {
1560
+ "const": "date"
1561
+ }
1562
+ },
1563
+ "required": [
1564
+ "type"
1565
+ ]
1566
+ },
1567
+ {
1568
+ "properties": {
1569
+ "config": {
1570
+ "$ref": "#/$defs/AttachmentConfig"
1571
+ },
1572
+ "type": {
1573
+ "const": "attachment"
1574
+ }
1575
+ },
1576
+ "required": [
1577
+ "type"
1578
+ ]
1579
+ },
1580
+ {
1581
+ "properties": {
1582
+ "config": {
1583
+ "$ref": "#/$defs/MemberConfig"
1584
+ },
1585
+ "type": {
1586
+ "const": "member"
1587
+ }
1588
+ },
1589
+ "required": [
1590
+ "type"
1591
+ ]
1592
+ },
681
1593
  {
682
1594
  "properties": {
683
1595
  "config": {
@@ -748,6 +1660,27 @@
748
1660
  "SubFieldCommon": {
749
1661
  "description": "表格子字段的公共属性;不允许 dataTitle、dataCover 或 width。",
750
1662
  "properties": {
1663
+ "defaultType": {
1664
+ "default": 1,
1665
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
1666
+ "enum": [
1667
+ 1,
1668
+ 2,
1669
+ 3
1670
+ ],
1671
+ "type": "integer"
1672
+ },
1673
+ "defaultValue": {
1674
+ "description": "表单填写时的默认值;显式 null 表示清除默认值。",
1675
+ "type": [
1676
+ "null",
1677
+ "boolean",
1678
+ "number",
1679
+ "string",
1680
+ "array",
1681
+ "object"
1682
+ ]
1683
+ },
751
1684
  "description": {
752
1685
  "description": "子字段说明;null 或空字符串表示清空。",
753
1686
  "type": [
@@ -774,6 +1707,94 @@
774
1707
  "name"
775
1708
  ],
776
1709
  "type": "object"
1710
+ },
1711
+ "SubtableConfig": {
1712
+ "additionalProperties": false,
1713
+ "description": "表格行数和重复值限制。",
1714
+ "properties": {
1715
+ "defaultValues": {
1716
+ "oneOf": [
1717
+ {
1718
+ "type": "null"
1719
+ },
1720
+ {
1721
+ "$ref": "#/$defs/DefaultValues"
1722
+ }
1723
+ ]
1724
+ },
1725
+ "tableNoRepeatQuestion": {
1726
+ "items": {
1727
+ "$ref": "#/$defs/FieldSelector"
1728
+ },
1729
+ "type": "array"
1730
+ },
1731
+ "tableNoRepeatStatus": {
1732
+ "type": [
1733
+ "boolean",
1734
+ "null"
1735
+ ]
1736
+ },
1737
+ "tableRowHeight": {
1738
+ "minLength": 1,
1739
+ "type": [
1740
+ "string",
1741
+ "null"
1742
+ ]
1743
+ },
1744
+ "tableRowsLimit": {
1745
+ "minimum": 1,
1746
+ "type": [
1747
+ "integer",
1748
+ "null"
1749
+ ]
1750
+ }
1751
+ },
1752
+ "type": "object"
1753
+ },
1754
+ "TextConfig": {
1755
+ "additionalProperties": false,
1756
+ "description": "文字类字段的长度限制;省略表示保留当前值。",
1757
+ "properties": {
1758
+ "canScan": {
1759
+ "description": "是否允许扫码输入。",
1760
+ "type": [
1761
+ "boolean",
1762
+ "null"
1763
+ ]
1764
+ },
1765
+ "maxWordCount": {
1766
+ "description": "最多字数;null 表示清除限制。",
1767
+ "minimum": 0,
1768
+ "type": [
1769
+ "integer",
1770
+ "null"
1771
+ ]
1772
+ },
1773
+ "minWordCount": {
1774
+ "description": "最少字数;null 表示清除限制。",
1775
+ "minimum": 0,
1776
+ "type": [
1777
+ "integer",
1778
+ "null"
1779
+ ]
1780
+ },
1781
+ "noRepeat": {
1782
+ "description": "是否禁止重复值。",
1783
+ "type": [
1784
+ "boolean",
1785
+ "null"
1786
+ ]
1787
+ },
1788
+ "scanType": {
1789
+ "description": "扫码类型 ID。",
1790
+ "minimum": 0,
1791
+ "type": [
1792
+ "integer",
1793
+ "null"
1794
+ ]
1795
+ }
1796
+ },
1797
+ "type": "object"
777
1798
  }
778
1799
  },
779
1800
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/subtable.json",
@@ -785,7 +1806,7 @@
785
1806
  {
786
1807
  "properties": {
787
1808
  "config": {
788
- "$ref": "#/$defs/EmptyConfig"
1809
+ "$ref": "#/$defs/SubtableConfig"
789
1810
  },
790
1811
  "subfields": {
791
1812
  "items": {