@yorha2b-lab/autodev 6.0.1 → 6.1.0

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 (61) hide show
  1. package/bin/bunker.js +3 -3
  2. package/package.json +1 -1
  3. package/src/awakening/index.js +8 -8
  4. package/src/gateway/index.js +4 -4
  5. package/src/headquarters/{builder.js → designer.js} +6 -6
  6. package/src/headquarters/engineer.js +5 -5
  7. package/src/headquarters/observer.js +1 -1
  8. package/src/labs/council.js +3 -3
  9. package/src/labs/index.js +1 -1
  10. package/src/labs/tower.js +3 -5
  11. package/src/logistics/{ux.js → presenter.js} +1 -1
  12. package/src/logistics/{foundation.js → supporter.js} +1 -1
  13. package/src/units/{part.js → raider.js} +4 -4
  14. package/src/units/{response.js → reconciler.js} +3 -3
  15. package/src/units/{page.js → striker.js} +7 -7
  16. package/src/workshop/react/blueprint/index.hbs +5 -0
  17. package/src/{framework/react/generator → workshop/react/builder}/index.js +4 -4
  18. package/src/framework/react/handlebars/index.hbs +0 -5
  19. /package/src/{dialogs → dialogues}/DE-DE.js +0 -0
  20. /package/src/{dialogs → dialogues}/EN-US.js +0 -0
  21. /package/src/{dialogs → dialogues}/ES-ES.js +0 -0
  22. /package/src/{dialogs → dialogues}/FR-FR.js +0 -0
  23. /package/src/{dialogs → dialogues}/ID-ID.js +0 -0
  24. /package/src/{dialogs → dialogues}/IT-IT.js +0 -0
  25. /package/src/{dialogs → dialogues}/JA-JP.js +0 -0
  26. /package/src/{dialogs → dialogues}/KO-KR.js +0 -0
  27. /package/src/{dialogs → dialogues}/PT-BR.js +0 -0
  28. /package/src/{dialogs → dialogues}/RU-RU.js +0 -0
  29. /package/src/{dialogs → dialogues}/TR-TR.js +0 -0
  30. /package/src/{dialogs → dialogues}/ZH-CN.js +0 -0
  31. /package/src/{dialogs → dialogues}/ZH-TW.js +0 -0
  32. /package/src/logistics/{semantic.js → analyzer.js} +0 -0
  33. /package/src/logistics/{generator.js → builder.js} +0 -0
  34. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/AlertInfo.hbs +0 -0
  35. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/FunctionButtons.hbs +0 -0
  36. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/MySearchForm.hbs +0 -0
  37. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/MyTable.hbs +0 -0
  38. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/handleBlock.hbs +0 -0
  39. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/hookBlock.hbs +0 -0
  40. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/operateBlock.hbs +0 -0
  41. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/renderBlock.hbs +0 -0
  42. /package/src/{framework/react/handlebars/partials → workshop/react/blueprint/molds}/stateBlock.hbs +0 -0
  43. /package/src/{framework/react/handlebars → workshop/react/blueprint}/resource.hbs +0 -0
  44. /package/src/{framework/react/prompts → workshop/react/briefings}/council.js +0 -0
  45. /package/src/{framework/react/prompts → workshop/react/briefings}/mock.js +0 -0
  46. /package/src/{framework/react/prompts → workshop/react/briefings}/page.js +0 -0
  47. /package/src/{framework/react/prompts → workshop/react/briefings}/part.js +0 -0
  48. /package/src/{framework/react/prompts → workshop/react/briefings}/response.js +0 -0
  49. /package/src/{framework/react/prompts → workshop/react/briefings}/similarity.js +0 -0
  50. /package/src/{framework/react/prompts → workshop/react/briefings}/system.js +0 -0
  51. /package/src/{framework/react/hooks → workshop/react/extensions}/useTableQuery.js +0 -0
  52. /package/src/{framework/react/utils → workshop/react/kit}/utils.js +0 -0
  53. /package/src/{framework/react/schema/page.json → workshop/react/protocols/striker.json} +0 -0
  54. /package/src/{framework/react/components → workshop/react/standardParts}/EditableCell.js +0 -0
  55. /package/src/{framework/react/components → workshop/react/standardParts}/MyBaseForm.js +0 -0
  56. /package/src/{framework/react/components → workshop/react/standardParts}/MyImage.js +0 -0
  57. /package/src/{framework/react/components → workshop/react/standardParts}/MyModalForm.js +0 -0
  58. /package/src/{framework/react/components → workshop/react/standardParts}/MyModalTable.js +0 -0
  59. /package/src/{framework/react/components → workshop/react/standardParts}/MySearchForm.js +0 -0
  60. /package/src/{framework/react/components → workshop/react/standardParts}/MyTable.js +0 -0
  61. /package/src/{framework/react/components → workshop/react/standardParts}/index.js +0 -0
package/bin/bunker.js CHANGED
@@ -5,10 +5,10 @@ const pkg = require('../package.json')
5
5
  const { program } = require('commander')
6
6
  const local = Intl.DateTimeFormat().resolvedOptions().locale.toUpperCase()
7
7
 
8
- const { matchDialog, matrixEffect } = require('../src/logistics/ux')
8
+ const { matchDialog, matrixEffect } = require('../src/logistics/presenter')
9
9
  const recruiter = require('../src/headquarters/recruiter')
10
- const dialogs = recruiter(path.join(__dirname, '../src/dialogs'))
11
- const dialog = matchDialog(local, dialogs) ?? dialogs['EN-US']
10
+ const dialogues = recruiter(path.join(__dirname, '../src/dialogues'))
11
+ const dialog = matchDialog(local, dialogues) ?? dialogues['EN-US']
12
12
 
13
13
  program
14
14
  .version(pkg.version)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yorha2b-lab/autodev",
3
- "version": "6.0.1",
3
+ "version": "6.1.0",
4
4
  "description": "基于 AI 视觉与语义协议的前端 (React+Antd) 代码构筑与旧系统重构引擎",
5
5
  "bin": {
6
6
  "bunker": "bin/bunker.js"
@@ -9,10 +9,10 @@ module.exports = {
9
9
 
10
10
  const recruiter = require('../headquarters/recruiter')
11
11
  const logistics = recruiter(path.join(__dirname, '../logistics'))
12
- const yorha = logistics.ux.yorha()
12
+ const yorha = logistics.presenter.yorha()
13
13
 
14
- const generatorPath = path.join(__dirname, `../framework/${template}/generator`)
15
- if (!fs.existsSync(generatorPath)) {
14
+ const builderPath = path.join(__dirname, `../workshop/${template}/builder`)
15
+ if (!fs.existsSync(builderPath)) {
16
16
  yorha.commander.report(dialog.bunker.frameworkNotSupported(template), 'red')
17
17
  return
18
18
  }
@@ -23,20 +23,20 @@ module.exports = {
23
23
  template,
24
24
  logistics,
25
25
  units: recruiter(path.join(__dirname, '../units')),
26
- builder: require('../headquarters/builder')({ logistics, template }),
27
- prompts: recruiter(path.join(__dirname, `../framework/${template}/prompts`)),
26
+ designer: require('../headquarters/designer')({ logistics, template }),
27
+ briefings: recruiter(path.join(__dirname, `../workshop/${template}/briefings`)),
28
28
  }
29
29
 
30
30
  if (version) {
31
- await logistics.ux.bootSequence(version, local)
31
+ await logistics.presenter.bootSequence(version, local)
32
32
  }
33
33
  require('../headquarters/engineer')(accessPoint)
34
34
  const llm = require('../gateway')(accessPoint)
35
- const generator = require(generatorPath)(accessPoint)
35
+ const builder = require(builderPath)(accessPoint)
36
36
  const labs = require('../labs')({ llm, ...accessPoint })
37
37
 
38
38
 
39
- instance = { llm, labs, generator, ...accessPoint }
39
+ instance = { llm, labs, builder, ...accessPoint }
40
40
  return instance
41
41
  },
42
42
 
@@ -1,11 +1,11 @@
1
- module.exports = ({ yorha, dialog, prompts, logistics }) => {
1
+ module.exports = ({ yorha, dialog, logistics, briefings }) => {
2
2
 
3
3
  const sharp = require('sharp')
4
4
 
5
- const { sleep } = logistics.ux
6
- const { mock, system, council, response, similarity } = prompts
5
+ const { sleep } = logistics.presenter
6
+ const { mock, system, council, response, similarity } = briefings
7
7
  const { UI_DESIGNER, API_DESIGNER, MOCK_DESIGNER } = system
8
- const { textModel, visionModel } = logistics.foundation.getConfig()
8
+ const { textModel, visionModel } = logistics.supporter.getConfig()
9
9
 
10
10
  const openAI = require('./client')()
11
11
  const askAI = require('./protocol')({ yorha, sleep, dialog, openAI })
@@ -5,16 +5,16 @@ 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.generator.contextStringify({ context, maxLength })) : '[]')
8
+ Handlebars.registerHelper('stringify', (context, maxLength = 200) => context ? new Handlebars.SafeString(logistics.builder.contextStringify({ context, maxLength })) : '[]')
9
9
 
10
- const { hbsDir } = logistics.foundation.getConfig()
11
- const tplDir = !!hbsDir ? path.join(process.cwd(), hbsDir) : path.join(__dirname, `../framework/${template}/handlebars`)
12
- const partialsDir = !!hbsDir ? path.join(process.cwd(), hbsDir, 'partials') : path.join(__dirname, `../framework/${template}/handlebars/partials`)
10
+ const { hbsDir } = logistics.supporter.getConfig()
11
+ const tplDir = !!hbsDir ? path.join(process.cwd(), hbsDir) : path.join(__dirname, `../workshop/${template}/blueprint`)
12
+ const moldsDir = !!hbsDir ? path.join(process.cwd(), hbsDir, 'molds') : path.join(__dirname, `../workshop/${template}/blueprint/molds`)
13
13
 
14
- fs.readdirSync(partialsDir).forEach(file => {
14
+ fs.readdirSync(moldsDir).forEach(file => {
15
15
  if (file.endsWith('.hbs')) {
16
16
  const name = path.basename(file, '.hbs') // 去掉后缀拿名字
17
- const content = fs.readFileSync(path.join(partialsDir, file), 'utf-8')
17
+ const content = fs.readFileSync(path.join(moldsDir, file), 'utf-8')
18
18
  Handlebars.registerPartial(name, `${content}\n`)
19
19
  }
20
20
  })
@@ -3,15 +3,15 @@ const path = require('path')
3
3
 
4
4
  module.exports = ({ units, yorha, dialog, template, logistics }) => {
5
5
 
6
- const { copyTemplateDir } = logistics.foundation
7
- const { hbsDir, hooksDir, utilsDir, componentsDir } = logistics.foundation.getConfig()
6
+ const { copyTemplateDir } = logistics.supporter
7
+ const { hbsDir, hooksDir, utilsDir, componentsDir } = logistics.supporter.getConfig()
8
8
 
9
9
  try {
10
10
  Object.values(units).forEach(unit => fs.mkdirSync(path.join(process.cwd(), 'bunker', unit.station), { recursive: true }))
11
11
  if (!hbsDir) {
12
- copyTemplateDir(template, 'hooks', hooksDir)
13
- copyTemplateDir(template, 'utils', utilsDir)
14
- copyTemplateDir(template, 'components', componentsDir)
12
+ copyTemplateDir(template, 'kit', utilsDir)
13
+ copyTemplateDir(template, 'extensions', hooksDir)
14
+ copyTemplateDir(template, 'standardParts', componentsDir)
15
15
  }
16
16
  } catch (error) {
17
17
  yorha.commander.report(dialog.bunker.copyTemplateError(error), 'red')
@@ -21,7 +21,7 @@ module.exports = bunker => {
21
21
  acp.yorha.operator6O.report(acp.dialog.operator6O.call2B)
22
22
 
23
23
  fileWatcher.on('add', filePath => {
24
- const unit = acp.logistics.foundation.findUnit(units, filePath)
24
+ const unit = acp.logistics.supporter.findUnit(units, filePath)
25
25
  if (unit) {
26
26
  dispatcher.add(() => unit.handle(filePath))
27
27
  }
@@ -5,9 +5,9 @@ module.exports = async ({ llm, yorha, dialog, logistics }) => {
5
5
 
6
6
  const { apiParser } = llm
7
7
  const { pod153, commander } = yorha
8
- const { contextStringify } = logistics.generator
9
- const { apiDoc, pagesDir } = logistics.foundation.getConfig()
10
- const { getLocalScore, getSemanticKeywords } = logistics.semantic
8
+ const { contextStringify } = logistics.builder
9
+ const { apiDoc, pagesDir } = logistics.supporter.getConfig()
10
+ const { getLocalScore, getSemanticKeywords } = logistics.analyzer
11
11
 
12
12
  if (!apiDoc) return
13
13
 
package/src/labs/index.js CHANGED
@@ -2,7 +2,7 @@ module.exports = accessPoint => {
2
2
 
3
3
  const labs = {}
4
4
 
5
- const { apiDoc, remains, needMock, proxyTarget, enableAutoAlignment } = accessPoint.logistics.foundation.getConfig()
5
+ const { apiDoc, remains, needMock, proxyTarget, enableAutoAlignment } = accessPoint.logistics.supporter.getConfig()
6
6
 
7
7
  if (!needMock && proxyTarget && enableAutoAlignment) {
8
8
  labs.tower = require('../labs/tower')(accessPoint)
package/src/labs/tower.js CHANGED
@@ -5,8 +5,8 @@ module.exports = ({ units, yorha, dialog, logistics }) => {
5
5
  const httpProxy = require('http-proxy')
6
6
 
7
7
  const { pod153, commander } = yorha
8
- const { unwrapSignal, isQuerySignal } = logistics.semantic
9
- const { routeMap = {}, proxyTarget } = logistics.foundation.getConfig()
8
+ const { unwrapSignal, isQuerySignal } = logistics.analyzer
9
+ const { routeMap = {}, proxyTarget } = logistics.supporter.getConfig()
10
10
 
11
11
  const TOWER_PORT = 42153
12
12
  const hackedRegistry = new Map()
@@ -49,12 +49,10 @@ module.exports = ({ units, yorha, dialog, logistics }) => {
49
49
  }
50
50
 
51
51
  pod153.report(dialog.pod153.capturedRuntimeSignal(fileName))
52
- // 💡 直接调用 response-handler 物理更新 resource.js
53
- await units.response.handle(null, { fileName, data: json })
52
+ await units.reconciler.handle(null, { fileName, data: json })
54
53
  hackedRegistry.set(fileName, fingerprint)
55
54
  } catch (e) {
56
55
  // 非 JSON 信号,保持静默
57
- console.log(e)
58
56
  }
59
57
  })
60
58
  })
@@ -71,7 +71,7 @@ const matrixEffect = async (duration = 1500, dialog, result) => {
71
71
  const MIRROR_URL = 'https://cdn.jsdelivr.net/gh/yorha2b-lab/autodev@github-repo-stats/bunker-stats.json'
72
72
 
73
73
  try {
74
- if (result.logistics.foundation.getConfig().fetchClone) {
74
+ if (result.logistics.supporter.getConfig().fetchClone) {
75
75
  const controller = new AbortController()
76
76
  const timeoutId = setTimeout(() => controller.abort(), 800)
77
77
  const response = await fetch(MIRROR_URL, { signal: controller.signal })
@@ -28,7 +28,7 @@ const getExistingMenus = (dir = 'src/pages') => {
28
28
 
29
29
  const copyTemplateDir = (template, templateSubDir, targetSubDir) => {
30
30
  const targetDir = path.join(process.cwd(), targetSubDir)
31
- const sourceDir = path.join(__dirname, `../framework/${template}/${templateSubDir}`)
31
+ const sourceDir = path.join(__dirname, `../workshop/${template}/${templateSubDir}`)
32
32
  if (!fs.existsSync(sourceDir)) return
33
33
  fs.mkdirSync(targetDir, { recursive: true })
34
34
  fs.readdirSync(sourceDir).forEach(file => {
@@ -5,13 +5,13 @@ module.exports = {
5
5
  async handle(filePath) {
6
6
 
7
7
  const chalk = require('chalk')
8
- const { llm, yorha, dialog, prompts, generator, logistics } = require('../awakening').get()
8
+ const { llm, yorha, dialog, builder, logistics, briefings } = require('../awakening').get()
9
9
 
10
10
  const { pod042 } = yorha
11
11
  const { recognizePage } = llm
12
- const { part: prompt } = prompts
13
- const { formatFormItemAndColumns } = generator
14
- const { cleanCode, contextStringify } = logistics.generator
12
+ const { part: prompt } = briefings
13
+ const { formatFormItemAndColumns } = builder
14
+ const { cleanCode, contextStringify } = logistics.builder
15
15
 
16
16
  const startTime = Date.now()
17
17
 
@@ -10,9 +10,9 @@ module.exports = {
10
10
 
11
11
  const { nineS, pod153 } = yorha
12
12
  const { alignResponseFields } = llm
13
- const { cleanCode } = logistics.generator
14
- const { unwrapSignal } = logistics.semantic
15
- const { pagesDir } = logistics.foundation.getConfig()
13
+ const { cleanCode } = logistics.builder
14
+ const { unwrapSignal } = logistics.analyzer
15
+ const { pagesDir } = logistics.supporter.getConfig()
16
16
 
17
17
  const startTime = Date.now()
18
18
  const fileName = liveResponse?.fileName ?? path.basename(filePath, path.extname(filePath))
@@ -5,14 +5,14 @@ module.exports = {
5
5
  station: 'screenShot',
6
6
  async handle(filePath) {
7
7
 
8
- const { llm, yorha, dialog, prompts, template, generator, logistics } = require('../awakening').get()
8
+ const { llm, yorha, dialog, builder, template, logistics, briefings } = require('../awakening').get()
9
9
 
10
- const { page } = prompts
10
+ const { page } = briefings
11
11
  const { nineS, pod042 } = yorha
12
- const { index, resource } = generator
13
- const { contextStringify } = logistics.generator
12
+ const { index, resource } = builder
13
+ const { contextStringify } = logistics.builder
14
14
  const { generateMock, recognizePage, nameSimilarity } = llm
15
- const { useDemo, pagesDir, utilsDir, needMock } = logistics.foundation.getConfig()
15
+ const { useDemo, pagesDir, utilsDir, needMock } = logistics.supporter.getConfig()
16
16
 
17
17
 
18
18
  const startTime = Date.now()
@@ -33,7 +33,7 @@ module.exports = {
33
33
  pageConfig = require('../../example/example.json')
34
34
  } else {
35
35
  pod042.update(spinner, dialog.pod042.uploadVisualMetadata)
36
- pageConfig = await recognizePage({ prompt: page, filePath, schema: require(`../framework/${template}/schema/page.json`) })
36
+ pageConfig = await recognizePage({ prompt: page, filePath, schema: require(`../workshop/${template}/protocols/striker.json`) })
37
37
  }
38
38
 
39
39
  const { similarity } = await nameSimilarity({ fileName, english: pageConfig.title.english })
@@ -65,7 +65,7 @@ module.exports = {
65
65
  fs.unlinkSync(filePath)
66
66
  const cwdUtilsDir = path.join(process.cwd(), utilsDir)
67
67
  if (!fs.existsSync(cwdUtilsDir)) fs.mkdirSync(cwdUtilsDir, { recursive: true })
68
- fs.writeFileSync(path.join(cwdUtilsDir, 'menus.js'), `export const menus = ${contextStringify({ context: logistics.foundation.getExistingMenus(pagesDir), maxLength: 50 })}`)
68
+ fs.writeFileSync(path.join(cwdUtilsDir, 'menus.js'), `export const menus = ${contextStringify({ context: logistics.supporter.getExistingMenus(pagesDir), maxLength: 50 })}`)
69
69
  }
70
70
 
71
71
  } catch (error) {
@@ -0,0 +1,5 @@
1
+ export default props => {
2
+ {{#each pageStruct as |moldName|}}
3
+ {{> (moldName) @root }}
4
+ {{/each}}
5
+ }
@@ -1,8 +1,8 @@
1
- module.exports = ({ builder, logistics }) => {
1
+ module.exports = ({ designer, logistics }) => {
2
2
 
3
- const { indexTpl, resourceTpl } = builder
4
- const { wrapCode, cleanCode, contextStringify } = logistics.generator
5
- const { needMock, responseSuccess } = logistics.foundation.getConfig()
3
+ const { indexTpl, resourceTpl } = designer
4
+ const { wrapCode, cleanCode, contextStringify } = logistics.builder
5
+ const { needMock, responseSuccess } = logistics.supporter.getConfig()
6
6
 
7
7
  const formatFormItemAndColumns = ({ pageConfig }) => {
8
8
 
@@ -1,5 +0,0 @@
1
- export default props => {
2
- {{#each pageStruct as |partialName|}}
3
- {{> (partialName) @root }}
4
- {{/each}}
5
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes