@yorha2b-lab/autodev 7.4.2 → 7.4.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yorha2b-lab/autodev",
3
- "version": "7.4.2",
3
+ "version": "7.4.3",
4
4
  "description": "基于 AI 视觉与语义协议的前端 (React+Antd) 代码构筑与旧系统重构引擎",
5
5
  "bin": {
6
6
  "bunker": "bin/bunker.js"
@@ -5,7 +5,7 @@ module.exports = ({ template, logistics }) => {
5
5
  const Handlebars = require('handlebars')
6
6
 
7
7
  Handlebars.registerHelper('raw', opt => opt.fn())
8
- Handlebars.registerHelper('stringify', (context, maxLength = 200) => context ? new Handlebars.SafeString(logistics.formater.contextStringify({ context, maxLength })) : '[]')
8
+ Handlebars.registerHelper('stringify', (context, maxLength = 200) => context ? new Handlebars.SafeString(logistics.formatter.contextStringify({ context, maxLength })) : '[]')
9
9
 
10
10
  const { hbsDir } = logistics.supporter.getConfig()
11
11
  const tplDir = !!hbsDir ? path.join(process.cwd(), hbsDir) : path.join(__dirname, `../workshop/${template}/blueprint`)
@@ -8,7 +8,7 @@ module.exports = async ({ data, fileName }) => {
8
8
 
9
9
  const { nineS, pod153 } = yorha
10
10
  const { alignResponseFields } = llm
11
- const { cleanCode } = logistics.formater
11
+ const { cleanCode } = logistics.formatter
12
12
  const { pagesDir } = logistics.supporter.getConfig()
13
13
 
14
14
  const startTime = Date.now()
@@ -5,7 +5,7 @@ module.exports = async ({ llm, yorha, dialog, logistics }) => {
5
5
 
6
6
  const { apiParser } = llm
7
7
  const { pod153, commander } = yorha
8
- const { contextStringify } = logistics.formater
8
+ const { contextStringify } = logistics.formatter
9
9
  const { apiDoc, pagesDir } = logistics.supporter.getConfig()
10
10
  const { getLocalScore, getSemanticKeywords } = logistics.analyzer
11
11
 
@@ -25,8 +25,8 @@ module.exports = {
25
25
  const { pod042 } = yorha
26
26
  const { raider } = briefings
27
27
  const { recognizePage } = llm
28
- const { formatFormItemAndColumns } = builder
29
- const { cleanCode, contextStringify } = logistics.formater
28
+ const { formatPageconfig } = builder
29
+ const { cleanCode, contextStringify } = logistics.formatter
30
30
 
31
31
  const startTime = Date.now()
32
32
 
@@ -37,14 +37,16 @@ module.exports = {
37
37
 
38
38
  const pageConfig = await recognizePage({ prompt: raider, filePath: mission.input })
39
39
 
40
- let { formItems, dictBlocks, processedColumns } = formatFormItemAndColumns({ pageConfig })
40
+ let { tabs = [] } = pageConfig
41
+ tabs = tabs.map(tab => ({ ...tab, children: `<${tab.key.at(0).toUpperCase()}${tab.key.slice(1)}/>` }))
41
42
 
43
+ let { formItems, dictBlocks, processedColumns } = formatPageconfig({ pageConfig })
42
44
  processedColumns = processedColumns.map(col => {
43
45
  delete col.type
44
46
  return col
45
47
  })
46
48
 
47
- const result = Object.fromEntries(Object.entries({ formItems, processedColumns }).filter(([key, value]) => value?.length > 0))
49
+ const result = Object.fromEntries(Object.entries({ tabs, formItems, processedColumns }).filter(([key, value]) => value?.length > 0))
48
50
 
49
51
  let mainConfigStr = cleanCode(contextStringify({ context: result }))
50
52
 
@@ -28,7 +28,7 @@ module.exports = {
28
28
  const { striker } = briefings
29
29
  const { nineS, pod042 } = yorha
30
30
  const { index, resource } = builder
31
- const { contextStringify } = logistics.formater
31
+ const { contextStringify } = logistics.formatter
32
32
  const { generateMock, recognizePage, nameSimilarity } = llm
33
33
  const { useDemo, pagesDir, utilsDir, needMock } = logistics.supporter.getConfig()
34
34
 
@@ -1,7 +1,7 @@
1
1
  module.exports = `
2
2
  识别图片页面结构输出一个JSON对象
3
3
 
4
- 任务模式:请根据图片内容,分别识别搜索表单结构和表格列结构。如果图片包含搜索区,请按Form规则输出;如果包含列表区,请按Table规则输出。
4
+ 任务模式:请根据图片内容,分别识别页面结构。如果图片是表单组件,请按Form规则输出;如果是列表组件,请按Table规则输出;如果是页签组件,请按Tabs规则输出。
5
5
 
6
6
  1. 严禁包含任何 Markdown 标签。
7
7
  2. 严禁包含注释或解释文字。
@@ -51,7 +51,10 @@ module.exports = `
51
51
  - 尾操作: 若项末尾有操作按钮(如 选择、编辑 等操作),必须存入 {renderAction:true,addonAfter:'尾操作名'} 属性。
52
52
  - 必填校验: 若图片中 label 前有红色星号,必须加入 rules:[{required:true,message:'xxx不能为空'}]。
53
53
 
54
- ## 3. 下拉选项字典 (OptionDict)
54
+ ## 3. 页签 (Tabs)
55
+ - 结构: tabs: [{label:'页签名',key:'页签英文'}]
56
+
57
+ ## 4. 下拉选项字典 (OptionDict)
55
58
  - 结构: optionDict: { 字段英文名Options: [] }
56
59
  - 内容: 数组元素必须为 {label: '', value: ''} 格式。
57
60
  `.trim()
@@ -1,10 +1,10 @@
1
1
  module.exports = ({ template, logistics, headquarters }) => {
2
2
 
3
- const { wrapCode, cleanCode, contextStringify } = logistics.formater
3
+ const { wrapCode, cleanCode, contextStringify } = logistics.formatter
4
4
  const { needMock, responseSuccess } = logistics.supporter.getConfig()
5
5
  const { indexTpl, resourceTpl } = headquarters.designer({ template, logistics })
6
6
 
7
- const formatFormItemAndColumns = ({ pageConfig }) => {
7
+ const formatPageconfig = ({ pageConfig }) => {
8
8
 
9
9
  const codePresets = {
10
10
  money: 'text => moneyRender(text)',
@@ -78,10 +78,10 @@ module.exports = ({ template, logistics, headquarters }) => {
78
78
  }
79
79
 
80
80
  return {
81
- formatFormItemAndColumns,
81
+ formatPageconfig,
82
82
  resource: ({ pageConfig }) => {
83
83
 
84
- const { formItems, processedColumns, dictBlocks } = formatFormItemAndColumns({ pageConfig })
84
+ const { formItems, processedColumns, dictBlocks } = formatPageconfig({ pageConfig })
85
85
 
86
86
  const hasTabs = pageConfig.tabs?.length > 0
87
87
  const hasFormItems = pageConfig.formItems?.length > 0
File without changes