@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
@@ -1,21 +1,26 @@
1
1
  {
2
2
  "$defs": {
3
- "EmptyConfig": {
4
- "additionalProperties": false,
5
- "description": "该字段类型没有特殊配置。",
6
- "type": "object"
7
- },
8
3
  "FieldCommon": {
9
4
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
10
5
  "properties": {
11
- "dataCover": {
12
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
13
- "type": "boolean"
14
- },
15
6
  "dataTitle": {
16
7
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
17
8
  "type": "boolean"
18
9
  },
10
+ "defaultType": {
11
+ "default": 1,
12
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
13
+ "enum": [
14
+ 1,
15
+ 2,
16
+ 3
17
+ ],
18
+ "type": "integer"
19
+ },
20
+ "defaultValue": {
21
+ "$ref": "#/$defs/ScalarDefaultValue",
22
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
23
+ },
19
24
  "description": {
20
25
  "description": "字段说明;null 或空字符串表示清空。",
21
26
  "type": [
@@ -48,6 +53,60 @@
48
53
  "name"
49
54
  ],
50
55
  "type": "object"
56
+ },
57
+ "ScalarDefaultValue": {
58
+ "description": "不包含对象或数组的普通字段默认值。",
59
+ "type": [
60
+ "null",
61
+ "boolean",
62
+ "number",
63
+ "string"
64
+ ]
65
+ },
66
+ "TextConfig": {
67
+ "additionalProperties": false,
68
+ "description": "文字类字段的长度限制;省略表示保留当前值。",
69
+ "properties": {
70
+ "canScan": {
71
+ "description": "是否允许扫码输入。",
72
+ "type": [
73
+ "boolean",
74
+ "null"
75
+ ]
76
+ },
77
+ "maxWordCount": {
78
+ "description": "最多字数;null 表示清除限制。",
79
+ "minimum": 0,
80
+ "type": [
81
+ "integer",
82
+ "null"
83
+ ]
84
+ },
85
+ "minWordCount": {
86
+ "description": "最少字数;null 表示清除限制。",
87
+ "minimum": 0,
88
+ "type": [
89
+ "integer",
90
+ "null"
91
+ ]
92
+ },
93
+ "noRepeat": {
94
+ "description": "是否禁止重复值。",
95
+ "type": [
96
+ "boolean",
97
+ "null"
98
+ ]
99
+ },
100
+ "scanType": {
101
+ "description": "扫码类型 ID。",
102
+ "minimum": 0,
103
+ "type": [
104
+ "integer",
105
+ "null"
106
+ ]
107
+ }
108
+ },
109
+ "type": "object"
51
110
  }
52
111
  },
53
112
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/email.json",
@@ -59,7 +118,7 @@
59
118
  {
60
119
  "properties": {
61
120
  "config": {
62
- "$ref": "#/$defs/EmptyConfig"
121
+ "$ref": "#/$defs/TextConfig"
63
122
  },
64
123
  "type": {
65
124
  "const": "email"
@@ -1,21 +1,26 @@
1
1
  {
2
2
  "$defs": {
3
- "EmptyConfig": {
4
- "additionalProperties": false,
5
- "description": "该字段类型没有特殊配置。",
6
- "type": "object"
7
- },
8
3
  "FieldCommon": {
9
4
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
10
5
  "properties": {
11
- "dataCover": {
12
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
13
- "type": "boolean"
14
- },
15
6
  "dataTitle": {
16
7
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
17
8
  "type": "boolean"
18
9
  },
10
+ "defaultType": {
11
+ "default": 1,
12
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
13
+ "enum": [
14
+ 1,
15
+ 2,
16
+ 3
17
+ ],
18
+ "type": "integer"
19
+ },
20
+ "defaultValue": {
21
+ "$ref": "#/$defs/ScalarDefaultValue",
22
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
23
+ },
19
24
  "description": {
20
25
  "description": "字段说明;null 或空字符串表示清空。",
21
26
  "type": [
@@ -48,6 +53,60 @@
48
53
  "name"
49
54
  ],
50
55
  "type": "object"
56
+ },
57
+ "ScalarDefaultValue": {
58
+ "description": "不包含对象或数组的普通字段默认值。",
59
+ "type": [
60
+ "null",
61
+ "boolean",
62
+ "number",
63
+ "string"
64
+ ]
65
+ },
66
+ "TextConfig": {
67
+ "additionalProperties": false,
68
+ "description": "文字类字段的长度限制;省略表示保留当前值。",
69
+ "properties": {
70
+ "canScan": {
71
+ "description": "是否允许扫码输入。",
72
+ "type": [
73
+ "boolean",
74
+ "null"
75
+ ]
76
+ },
77
+ "maxWordCount": {
78
+ "description": "最多字数;null 表示清除限制。",
79
+ "minimum": 0,
80
+ "type": [
81
+ "integer",
82
+ "null"
83
+ ]
84
+ },
85
+ "minWordCount": {
86
+ "description": "最少字数;null 表示清除限制。",
87
+ "minimum": 0,
88
+ "type": [
89
+ "integer",
90
+ "null"
91
+ ]
92
+ },
93
+ "noRepeat": {
94
+ "description": "是否禁止重复值。",
95
+ "type": [
96
+ "boolean",
97
+ "null"
98
+ ]
99
+ },
100
+ "scanType": {
101
+ "description": "扫码类型 ID。",
102
+ "minimum": 0,
103
+ "type": [
104
+ "integer",
105
+ "null"
106
+ ]
107
+ }
108
+ },
109
+ "type": "object"
51
110
  }
52
111
  },
53
112
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/link.json",
@@ -59,7 +118,7 @@
59
118
  {
60
119
  "properties": {
61
120
  "config": {
62
- "$ref": "#/$defs/EmptyConfig"
121
+ "$ref": "#/$defs/TextConfig"
63
122
  },
64
123
  "type": {
65
124
  "const": "link"
@@ -1,21 +1,26 @@
1
1
  {
2
2
  "$defs": {
3
- "EmptyConfig": {
4
- "additionalProperties": false,
5
- "description": "该字段类型没有特殊配置。",
6
- "type": "object"
7
- },
8
3
  "FieldCommon": {
9
4
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
10
5
  "properties": {
11
- "dataCover": {
12
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
13
- "type": "boolean"
14
- },
15
6
  "dataTitle": {
16
7
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
17
8
  "type": "boolean"
18
9
  },
10
+ "defaultType": {
11
+ "default": 1,
12
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
13
+ "enum": [
14
+ 1,
15
+ 2,
16
+ 3
17
+ ],
18
+ "type": "integer"
19
+ },
20
+ "defaultValue": {
21
+ "$ref": "#/$defs/ScalarDefaultValue",
22
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
23
+ },
19
24
  "description": {
20
25
  "description": "字段说明;null 或空字符串表示清空。",
21
26
  "type": [
@@ -48,6 +53,60 @@
48
53
  "name"
49
54
  ],
50
55
  "type": "object"
56
+ },
57
+ "ScalarDefaultValue": {
58
+ "description": "不包含对象或数组的普通字段默认值。",
59
+ "type": [
60
+ "null",
61
+ "boolean",
62
+ "number",
63
+ "string"
64
+ ]
65
+ },
66
+ "TextConfig": {
67
+ "additionalProperties": false,
68
+ "description": "文字类字段的长度限制;省略表示保留当前值。",
69
+ "properties": {
70
+ "canScan": {
71
+ "description": "是否允许扫码输入。",
72
+ "type": [
73
+ "boolean",
74
+ "null"
75
+ ]
76
+ },
77
+ "maxWordCount": {
78
+ "description": "最多字数;null 表示清除限制。",
79
+ "minimum": 0,
80
+ "type": [
81
+ "integer",
82
+ "null"
83
+ ]
84
+ },
85
+ "minWordCount": {
86
+ "description": "最少字数;null 表示清除限制。",
87
+ "minimum": 0,
88
+ "type": [
89
+ "integer",
90
+ "null"
91
+ ]
92
+ },
93
+ "noRepeat": {
94
+ "description": "是否禁止重复值。",
95
+ "type": [
96
+ "boolean",
97
+ "null"
98
+ ]
99
+ },
100
+ "scanType": {
101
+ "description": "扫码类型 ID。",
102
+ "minimum": 0,
103
+ "type": [
104
+ "integer",
105
+ "null"
106
+ ]
107
+ }
108
+ },
109
+ "type": "object"
51
110
  }
52
111
  },
53
112
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/long_text.json",
@@ -59,7 +118,7 @@
59
118
  {
60
119
  "properties": {
61
120
  "config": {
62
- "$ref": "#/$defs/EmptyConfig"
121
+ "$ref": "#/$defs/TextConfig"
63
122
  },
64
123
  "type": {
65
124
  "const": "long_text"