openyida 2026.9.21 → 2026.9.22-beta.2

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 (334) hide show
  1. package/README.md +14 -20
  2. package/bin/yida.js +6 -11
  3. package/lib/app/app-list.js +3 -7
  4. package/lib/app/canvas-compile.js +12 -22
  5. package/lib/app/check-prd-completeness.js +0 -7
  6. package/lib/app/create-app.js +1 -4
  7. package/lib/app/create-form/args.js +12 -37
  8. package/lib/app/create-form/batch.js +11 -86
  9. package/lib/app/create-form.js +86 -193
  10. package/lib/app/create-page.js +17 -84
  11. package/lib/app/custom-theme.js +0 -11
  12. package/lib/app/form-field-validator.js +41 -26
  13. package/lib/app/form-open-guard.js +10 -97
  14. package/lib/app/get-form-config.js +0 -1
  15. package/lib/app/inline-css-guard.js +31 -1
  16. package/lib/app/services/form-compiler.js +4 -2
  17. package/lib/app/theme-from-design.js +41 -144
  18. package/lib/app/theme-presets.js +1 -1
  19. package/lib/app/update-app.js +13 -63
  20. package/lib/asset/ai-image.js +9 -59
  21. package/lib/asset/asset-cmd.js +7 -18
  22. package/lib/asset/asset-plan.js +9 -102
  23. package/lib/asset/asset-resolve.js +10 -55
  24. package/lib/asset/asset-status.js +4 -5
  25. package/lib/asset/host-capabilities.js +2 -11
  26. package/lib/asset/url-verify.js +4 -19
  27. package/lib/auth/dws-sync.js +148 -0
  28. package/lib/auth/token-auth.js +73 -9
  29. package/lib/auth/token-store.js +50 -0
  30. package/lib/connector/connector-test.js +5 -19
  31. package/lib/connector/contract.js +1 -3
  32. package/lib/core/agent-capabilities.js +16 -19
  33. package/lib/core/command-manifest.js +40 -329
  34. package/lib/core/locales/en.js +17 -74
  35. package/lib/core/locales/zh.js +16 -73
  36. package/lib/core/redact.js +10 -15
  37. package/lib/core/sample.js +30 -72
  38. package/lib/core/utils.js +4 -0
  39. package/lib/design-plan/design-plan.js +4 -51
  40. package/lib/design-plan/init.js +26 -121
  41. package/lib/design-plan/materialize.js +348 -451
  42. package/lib/design-plan/normalize.js +29 -74
  43. package/lib/design-plan/parallel.js +16 -71
  44. package/lib/design-plan/patch.js +16 -63
  45. package/lib/design-plan/preview.js +8 -6
  46. package/lib/design-plan/validate.js +11 -71
  47. package/lib/process/create-process.js +50 -84
  48. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +90 -20
  49. package/lib/samples/openyida-scaffold/canvas-nav/content.jsx +13 -93
  50. package/lib/samples/openyida-scaffold/canvas-nav/data.jsx +18 -100
  51. package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +4 -6
  52. package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
  53. package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +2 -1
  54. package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
  55. package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +9 -15
  56. package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +83 -9
  57. package/lib/samples/yida-rechart/trend-combo.canvas.jsx +87 -14
  58. package/package.json +1 -3
  59. package/scripts/postinstall.js +3 -3
  60. package/yida-skills/SKILL.md +16 -19
  61. package/yida-skills/references/official-example-schema-patterns.md +1 -1
  62. package/yida-skills/references/yida-api.md +0 -4
  63. package/yida-skills/skills/yida-app/SKILL.md +23 -46
  64. package/yida-skills/skills/yida-app/workflow/parallel-work.md +6 -15
  65. package/yida-skills/skills/yida-app/workflow/plan/step-1-understand.md +1 -1
  66. package/yida-skills/skills/yida-app/workflow/plan/step-2-confirm.md +1 -1
  67. package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +15 -29
  68. package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -29
  69. package/yida-skills/skills/yida-app/workflow/step-1-resource-context.md +2 -4
  70. package/yida-skills/skills/yida-app/workflow/step-2-design.md +9 -23
  71. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +4 -6
  72. package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +4 -15
  73. package/yida-skills/skills/yida-app/workflow/step-6-main-page.md +4 -6
  74. package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +9 -15
  75. package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +11 -25
  76. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +28 -68
  77. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +43 -42
  78. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +44 -60
  79. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +50 -72
  80. package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -13
  81. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +1 -140
  82. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +72 -101
  83. package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +32 -35
  84. package/yida-skills/skills/yida-canvas-custom-page/scripts/build-canvas-theme.js +3 -29
  85. package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +6 -69
  86. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +0 -26
  87. package/yida-skills/skills/yida-create-app/SKILL.md +0 -2
  88. package/yida-skills/skills/yida-create-form-page/SKILL.md +58 -72
  89. package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
  90. package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
  91. package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +5 -6
  92. package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +19 -7
  93. package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +44 -62
  94. package/yida-skills/skills/yida-create-page/SKILL.md +6 -14
  95. package/yida-skills/skills/yida-create-process/SKILL.md +2 -13
  96. package/yida-skills/skills/yida-custom-page/SKILL.md +0 -2
  97. package/yida-skills/skills/yida-custom-page/references/design-system.md +1 -1
  98. package/yida-skills/skills/yida-dashboard/SKILL.md +4 -5
  99. package/yida-skills/skills/yida-data-management/SKILL.md +2 -4
  100. package/yida-skills/skills/yida-data-management/references/data-format-guide.md +4 -4
  101. package/yida-skills/skills/yida-design/SKILL.md +14 -29
  102. package/yida-skills/skills/yida-design/references/app/blueprint.md +70 -0
  103. package/yida-skills/skills/yida-design/references/app/navigation-patterns.md +43 -0
  104. package/yida-skills/skills/yida-design/references/app/role-journey.md +30 -0
  105. package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +42 -67
  106. package/yida-skills/skills/yida-design/references/asset-workflow.md +2 -6
  107. package/yida-skills/skills/yida-design/references/design-mode.md +4 -4
  108. package/yida-skills/skills/yida-design/references/page-quality-gates.md +38 -26
  109. package/yida-skills/skills/yida-design/references/style-design-selection.md +137 -0
  110. package/yida-skills/skills/yida-design/references/style-designs/_design-md-template.md +185 -0
  111. package/yida-skills/skills/yida-design/references/style-designs/aqua-service-progress-dashboard.md +242 -0
  112. package/yida-skills/skills/yida-design/references/style-designs/blue-insight-operations-dashboard.md +243 -0
  113. package/yida-skills/skills/yida-design/references/style-designs/blue-productivity-insight-workbench.md +242 -0
  114. package/yida-skills/skills/yida-design/references/style-designs/command-filter-card-console.md +304 -0
  115. package/yida-skills/skills/yida-design/references/style-designs/contrast-command-analytics-workbench.md +261 -0
  116. package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md +369 -0
  117. package/yida-skills/skills/yida-design/references/style-designs/filterable-card-catalog.md +354 -0
  118. package/yida-skills/skills/yida-design/references/style-designs/green-timeline-progress-workbench.md +250 -0
  119. package/yida-skills/skills/yida-design/references/style-designs/registry.md +117 -0
  120. package/yida-skills/skills/yida-design/references/style-designs/soft-analytic-workbench.md +348 -0
  121. package/yida-skills/skills/yida-design/references/style-designs/soft-blue-grid-analytic-dashboard.md +658 -0
  122. package/yida-skills/skills/yida-design/references/style-designs/soft-bordered-analytic-workbench.md +385 -0
  123. package/yida-skills/skills/yida-design/references/style-designs/soft-curated-filter-gallery.md +300 -0
  124. package/yida-skills/skills/yida-design/references/style-designs/soft-modular-analytic-workbench.md +404 -0
  125. package/yida-skills/skills/yida-design/references/style-designs/soft-progress-analytics-workbench.md +382 -0
  126. package/yida-skills/skills/yida-design/references/style-designs/soft-timeline-analytics-workbench.md +367 -0
  127. package/yida-skills/skills/yida-design/references/style-designs/teal-rail-analytics-workbench.md +341 -0
  128. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +432 -350
  129. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +143 -19
  130. package/yida-skills/skills/yida-design/references/visual-scaffold-recipes.md +27 -15
  131. package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +0 -4
  132. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +8 -22
  133. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/README.md +10 -14
  134. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html +4 -9
  135. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +27 -49
  136. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +154 -33
  137. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +127 -48
  138. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +51 -37
  139. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +48 -43
  140. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +190 -0
  141. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +98 -0
  142. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +339 -0
  143. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +348 -0
  144. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +344 -0
  145. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +345 -0
  146. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +355 -0
  147. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +377 -0
  148. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +352 -0
  149. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +389 -0
  150. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +364 -0
  151. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/index.json +329 -0
  152. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +348 -0
  153. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +345 -0
  154. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +379 -0
  155. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +347 -0
  156. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +352 -0
  157. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +386 -0
  158. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +384 -0
  159. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +388 -0
  160. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +341 -0
  161. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +361 -0
  162. package/yida-skills/skills/yida-design/workflow/output-design.md +375 -117
  163. package/yida-skills/skills/yida-design/workflow/output-prd.md +185 -0
  164. package/yida-skills/skills/yida-design/workflow/step-1-read-brief.md +1 -1
  165. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +29 -33
  166. package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -3
  167. package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +106 -22
  168. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +22 -15
  169. package/yida-skills/skills/yida-form-permission/SKILL.md +0 -6
  170. package/yida-skills/skills/yida-image-assets/SKILL.md +50 -73
  171. package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +52 -82
  172. package/yida-skills/skills/yida-image-assets/references/source-policy.md +15 -14
  173. package/yida-skills/skills/yida-integration/SKILL.md +0 -1
  174. package/yida-skills/skills/yida-login/SKILL.md +0 -2
  175. package/yida-skills/skills/yida-nav-group/SKILL.md +2 -4
  176. package/yida-skills/skills/yida-nav-shell/SKILL.md +12 -36
  177. package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +136 -79
  178. package/yida-skills/skills/yida-page-config/SKILL.md +4 -13
  179. package/yida-skills/skills/yida-prd/SKILL.md +3 -5
  180. package/yida-skills/skills/yida-prd/references/app/blueprint.md +4 -4
  181. package/yida-skills/skills/yida-prd/references/app/navigation-patterns.md +3 -6
  182. package/yida-skills/skills/yida-prd/references/app/role-journey.md +3 -5
  183. package/yida-skills/skills/yida-prd/references/plan-content.md +0 -4
  184. package/yida-skills/skills/yida-prd/workflow/output-prd.md +11 -18
  185. package/yida-skills/skills/yida-prd/workflow/plan-business.md +4 -4
  186. package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +8 -11
  187. package/yida-skills/skills/yida-publish-page/SKILL.md +1 -9
  188. package/yida-skills/skills/yida-requirement-analysis/SKILL.md +39 -10
  189. package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +71 -40
  190. package/yida-skills/skills-index.json +16 -36
  191. package/lib/app/application-entry-urls.js +0 -31
  192. package/lib/app/application-style.js +0 -69
  193. package/lib/app/canvas-icon-exports.json +0 -6160
  194. package/lib/app/canvas-icon-guard.js +0 -87
  195. package/lib/app/canvas-navigation-guard.js +0 -84
  196. package/lib/app/canvas-path-guard.js +0 -78
  197. package/lib/app/canvas-theme-guard.js +0 -184
  198. package/lib/app/form-data-response-guard.js +0 -57
  199. package/lib/asset/asset-execution.js +0 -79
  200. package/lib/core/css-structure.js +0 -37
  201. package/lib/design/check-design.js +0 -51
  202. package/lib/design/document.js +0 -458
  203. package/lib/design/icon-contrast.js +0 -85
  204. package/lib/design/page-content.js +0 -11
  205. package/lib/design-plan/artifact-updates.js +0 -117
  206. package/lib/design-plan/confirmation.js +0 -13
  207. package/lib/design-plan/entry-navigation.js +0 -97
  208. package/lib/design-plan/navigation-policy.js +0 -38
  209. package/lib/design-plan/rebase.js +0 -60
  210. package/lib/design-plan/themes.js +0 -101
  211. package/lib/design-plan/visual-policy.js +0 -42
  212. package/lib/samples/openyida-scaffold/canvas-admin-entry.jsx +0 -62
  213. package/lib/samples/openyida-scaffold/canvas-navigation.jsx +0 -56
  214. package/lib/samples/openyida-scaffold/canvas-view-state.jsx +0 -74
  215. package/yida-skills/skills/yida-app/references/entry-navigation.md +0 -193
  216. package/yida-skills/skills/yida-canvas-custom-page/references/view-state-recovery.md +0 -52
  217. package/yida-skills/skills/yida-canvas-data-binding/references/business-action-permissions.md +0 -31
  218. package/yida-skills/skills/yida-design/references/application-style-library.md +0 -93
  219. package/yida-skills/skills/yida-design/references/application-theme-consistency.md +0 -150
  220. package/yida-skills/skills/yida-design/references/native-form-styles.md +0 -208
  221. package/yida-skills/skills/yida-design/references/navigation-decision.md +0 -53
  222. package/yida-skills/skills/yida-design/references/page-continuity.md +0 -42
  223. package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +0 -58
  224. package/yida-skills/skills/yida-design/references/theme-selection.md +0 -67
  225. package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +0 -302
  226. package/yida-skills/skills/yida-design/templates/application-styles.json +0 -398
  227. package/yida-skills/skills/yida-design/templates/design-themes/README.md +0 -73
  228. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +0 -748
  229. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +0 -274
  230. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +0 -15
  231. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +0 -748
  232. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +0 -274
  233. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +0 -14
  234. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +0 -748
  235. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +0 -274
  236. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +0 -13
  237. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +0 -748
  238. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +0 -274
  239. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +0 -14
  240. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +0 -748
  241. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +0 -274
  242. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +0 -14
  243. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +0 -748
  244. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +0 -274
  245. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +0 -14
  246. package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +0 -748
  247. package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +0 -274
  248. package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +0 -13
  249. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +0 -748
  250. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +0 -274
  251. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +0 -14
  252. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +0 -754
  253. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +0 -279
  254. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +0 -13
  255. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +0 -748
  256. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +0 -274
  257. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +0 -13
  258. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +0 -748
  259. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +0 -274
  260. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +0 -14
  261. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +0 -748
  262. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +0 -274
  263. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +0 -14
  264. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +0 -758
  265. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +0 -281
  266. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +0 -14
  267. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +0 -748
  268. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +0 -274
  269. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +0 -14
  270. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +0 -748
  271. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +0 -274
  272. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +0 -14
  273. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +0 -754
  274. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +0 -279
  275. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +0 -14
  276. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +0 -752
  277. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +0 -278
  278. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +0 -13
  279. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +0 -748
  280. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +0 -274
  281. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +0 -14
  282. package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +0 -118
  283. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +0 -690
  284. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/design.md +0 -382
  285. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +0 -13
  286. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +0 -691
  287. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/design.md +0 -380
  288. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +0 -13
  289. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +0 -696
  290. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/design.md +0 -378
  291. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +0 -13
  292. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +0 -689
  293. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +0 -238
  294. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +0 -13
  295. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +0 -692
  296. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/design.md +0 -375
  297. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +0 -13
  298. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +0 -691
  299. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/design.md +0 -362
  300. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +0 -13
  301. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +0 -691
  302. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/design.md +0 -409
  303. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +0 -13
  304. package/yida-skills/skills/yida-design/templates/design-themes/index.json +0 -464
  305. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +0 -701
  306. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/design.md +0 -379
  307. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +0 -13
  308. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +0 -691
  309. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/design.md +0 -404
  310. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +0 -13
  311. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +0 -698
  312. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/design.md +0 -389
  313. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +0 -13
  314. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +0 -691
  315. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/design.md +0 -372
  316. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +0 -13
  317. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +0 -690
  318. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/design.md +0 -455
  319. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +0 -13
  320. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +0 -698
  321. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/design.md +0 -394
  322. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +0 -13
  323. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +0 -692
  324. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/design.md +0 -391
  325. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +0 -13
  326. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +0 -711
  327. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/design.md +0 -408
  328. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +0 -13
  329. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +0 -692
  330. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/design.md +0 -383
  331. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +0 -13
  332. package/yida-skills/skills/yida-design/templates/navigation-styles.json +0 -769
  333. package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +0 -79
  334. package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +0 -68
@@ -4,37 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  module.exports = {
7
- design_plan: {
8
- rebase_required: 'Before first materialization, repair the matching facts in business.json/visual.json and preserve the source baseline. If the source changed, add --rebase-parts to the original materialize command to reconcile against the saved baseline. Do not invent a digest, delete drafts, or run init again.',
9
- baseline_missing: 'No trusted baseline matches these parts. Preserve the plan and facts; restore .build-plan-base.json from the original workspace. If unavailable, report the blocker instead of inventing a digest or rebuilding.',
10
- rebase_stage_invalid: 'Rebasing is limited to drafts before first materialization. For presented or materialized plans use patch --materialize on the current build-plan.json, without merging initial parts again.',
11
- rebase_conflict: 'The source and part changed the same field differently. Review conflicts and explicitly select the current or baseline value in the part before retrying; preserve other facts. No files were saved.',
12
- repair_page_bindings: 'Repair pageApplications in visual.json to match customPageDetails in business.json one to one; exclude native forms. Each visualMemoryApplications must be an array; use [] when none apply. Keep the existing draft, fix the listed fields and retry the original command. Do not delete the directory or run init again.',
13
- },
14
- design_document: {
15
- update_conflict: 'Cannot update {0} ({1}): the existing content differs from the last generated version. Read this section, reconcile the local edit with the plan source, and retry. No files were saved.',
16
- theme_css_invalid: 'Theme CSS near line {0} has an unclosed or mismatched delimiter, string, or comment. Fix it and retry.',
17
- invalid: 'Design validation failed: {0} ({1})',
18
- yaml: 'Design document frontmatter is not valid YAML',
19
- token_value: 'Token {0} must be a resolved single-line CSS value',
20
- token_conflict: 'Token {0} has duplicate or conflicting values',
21
- tokens_required: 'design.md requires frontmatter containing tokens',
22
- brand_required: 'design.md is missing brand tokens: {0}',
23
- usage: 'Usage: openyida check-design <design.md> [--prd <prd.md>] [--base-dir <dir>] [--json]',
24
- read_error: 'Cannot read design validation file: {0}',
25
- checked: 'Design validation passed: {0}; {1} pages, {2} tokens',
26
- },
27
- asset: {
28
- sourceRecords: 'Record assetId, creator, sourcePage, license, licenseUrl, licenseCheckedAt (YYYY-MM-DD), and authorizationEvidence (an array of evidence URLs or file paths) in assets[] via --input. The manifest preserves these records; missing values remain empty and do not establish commercial authorization.',
29
- executionReview: 'Review asset execution evidence: {0}. Check background dispatch receipts, business intervals and synchronous fallback reasons.',
30
- localFileUnavailable: 'Image file not found: {0}. Check the command working directory or use an absolute path.',
31
- invalidStrategy: 'Image requirements must be an object listing image slots by page.',
32
- },
33
7
  // ── 通用 ──────────────────────────────────────────
34
8
 
35
9
  // ── bin/yida.js printHelp() ────────────────────────
36
10
  help: {
37
- cmd_check_design: 'Validate design documents, theme tokens and PRD handoff',
38
11
  subtitle: 'AI-powered low-code development tool for Yida',
39
12
  usage: 'Usage:',
40
13
  alias: 'Alias:',
@@ -52,9 +25,8 @@ module.exports = {
52
25
  cmd_design_plan_preview: 'Update plan drafts by module',
53
26
  design_plan_preview_invalid: 'Draft update failed; check the error details',
54
27
  cmd_design_plan_init: 'Initialize a plan draft from confirmed requirements',
55
- cmd_design_plan_catalog: 'List available planning themes and page patterns',
56
- cmd_design_plan_materialize: 'Generate or update plan documents and theme with consistency checks',
57
- cmd_design_plan_patch: 'Patch plan fields and optionally sync documents and theme',
28
+ cmd_design_plan_materialize: 'Generate and validate design-plan artifacts from build-plan.json',
29
+ cmd_design_plan_patch: 'Patch a design plan by field path and invalidate prior confirmation',
58
30
  cmd_update_app: 'Update app info',
59
31
  cmd_app_online: 'Enable a Yida app',
60
32
  cmd_app_offline: 'Disable a Yida app',
@@ -83,7 +55,6 @@ module.exports = {
83
55
  cmd_get_form_config: 'Query form configuration',
84
56
  group_data: 'Data & Permissions',
85
57
  cmd_data: 'Unified data management (form/process/task/subform)',
86
- data_notes: 'DateField uses numeric Unix timestamps in milliseconds; CascadeDateField uses an array of millisecond timestamps. Convert using the business timezone; date strings and Unix seconds are not accepted. --resolve-aliases only resolves field names.',
87
58
  cmd_task_center: 'Global task center (todo/processed/cc etc.)',
88
59
  cmd_basic_info: 'Query organization basic info, capacity, quotas, and domain settings',
89
60
  cmd_read_dingtalk_doc: 'Fetch Markdown content from a DingTalk document',
@@ -95,7 +66,6 @@ module.exports = {
95
66
  group_process: 'Process',
96
67
  cmd_configure_process: 'Configure and publish process rules; Supports append/forward via JSON nodes[].actions.normalActions/appendActions',
97
68
  cmd_create_process: 'Create process form (all-in-one); Supports append/forward via JSON nodes[].actions.normalActions/appendActions',
98
- create_process_notes: 'formMode=create|reuse identifies new and reused forms. On reuse, formTitle and fieldCount are null (not queried); creation returns the title and field count. This also applies to configuration failure output; check success and verificationLevel. Use --replace only for explicitly authorized whole-flow replacement of an existing draft or published process.',
99
69
  cmd_ai_form_setting: 'Manage process form AI approval prompts',
100
70
  cmd_process_preview: 'Preview process instance (visual flowchart)',
101
71
  group_share: 'Page Config & Sharing',
@@ -181,10 +151,6 @@ module.exports = {
181
151
  },
182
152
 
183
153
  cli: {
184
- design_plan_entry_mode_required: 'Choose an entry mode: shared business pages (unified), separate frontend and business backend (service-management), frontend only (frontend-only), or business backend only (backend-only).',
185
- design_plan_backend_only_roles: 'For backend-only, every entry must use role management.',
186
- design_plan_local_menu_binding: 'Local menu {0} requires a host page and viewKey: entry {1} sceneKey must match the page sceneKey, menu resource must equal the page name, and viewKey must be nonempty. This applies to every entry role.',
187
- design_plan_visual_object_required: '{0} must be an object, not a string or array. Preserve the structure generated by init and fill in its values. Example: {1}.',
188
154
  help: `
189
155
  openyida - Yida CLI Tool
190
156
 
@@ -199,7 +165,7 @@ Commands:
199
165
  create-app --name "<name>" Create an app and output appType; configure theme resources and Logo source with update-app
200
166
  create-page <appType> "<pageName>" [--mode dashboard] [--hide-nav] Create a custom page, output pageId
201
167
  update-app <appType> [--name "..."] [--hide-app-nav|--show-app-nav] Update app info
202
- create-form create <appType> "<formName>" <fieldsJSON> [--layout single|double|card|section] [--theme default|compact|comfortable] [--label-align top|left|right] Create a form page
168
+ create-form create <appType> "<formName>" <fieldsJSON> [--layout <layout>] [--theme <theme>] [--label-align <align>] Create a form page
203
169
  create-form update <appType> <formUuid> <changesJSON> Update a form page
204
170
  list-forms <appType> [--keyword <text>] List forms/pages in an app
205
171
  get-schema <appType> <formUuid|--all> Get one form Schema or all form Schemas
@@ -233,7 +199,7 @@ Commands:
233
199
  get-permission <appType> <formUuid> Query form permission config
234
200
  save-permission <appType> <formUuid> [--data-permission <json>] [--action-permission <json>] Save form permission config
235
201
  configure-process <appType> <formUuid> <processDefinitionFile> [processCode] [--replace] Configure and publish process
236
- create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> [--replace] Create process form (all-in-one)
202
+ create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> Create process form (all-in-one)
237
203
  create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace] Reuse existing form for process
238
204
  connector list [options] List HTTP connectors
239
205
  connector create "<name>" "<domain>" --operations <file> [options] Create connector
@@ -325,13 +291,13 @@ Examples:
325
291
  integration_enable_example: 'Example: openyida integration enable APP_XXX FORM-XXX LPROC-XXX',
326
292
  integration_disable_usage: 'Usage: openyida integration disable <appType> <formUuid> <processCode>',
327
293
  integration_disable_example: 'Example: openyida integration disable APP_XXX FORM-XXX LPROC-XXX',
328
- compile_usage: 'Usage: openyida compile <sourceFile> [--canvas] [--compat] [--skip-lint] [--json]',
294
+ compile_usage: 'Usage: openyida compile <sourceFile>',
329
295
  compile_example: 'Example: openyida compile pages/src/home.oyd.jsx',
330
296
  check_page_usage: 'Usage: openyida check-page <sourceFile> [--compat] [--json]',
331
297
  check_page_example: 'Example: openyida check-page pages/src/home.oyd.jsx --json',
332
298
  build_page_usage: 'Usage: openyida build-page <sourceFile> [--output pages/build/page.yida.jsx|--write] [--json]',
333
299
  build_page_example: 'Example: openyida build-page pages/src/dashboard.oyd.jsx --output pages/build/dashboard.yida.jsx',
334
- publish_usage: 'Usage: openyida publish <sourceFile> <appType> <formUuid> [--health-check] [--force] [--canvas] [--compat] [--skip-lint] [--auto-nav-order] [--open|--no-open] [--json]',
300
+ publish_usage: 'Usage: openyida publish <sourceFile> <appType> <formUuid> [--health-check] [--canvas] [--auto-nav-order]',
335
301
  publish_example: 'Example: openyida publish pages/src/home.canvas.jsx APP_XXX FORM-XXX --health-check',
336
302
  check_prd_completeness_usage: 'Usage: openyida check-prd-completeness <prd.md> --app-type <appType> [--build-manifest <file>] [--json]',
337
303
  check_prd_completeness_example: 'Example: openyida check-prd-completeness prd/order-management/prd.md --app-type APP_XXX --build-manifest prd/order-management/build-manifest.json --json',
@@ -355,7 +321,7 @@ Examples:
355
321
  import_example2: ' openyida import ./yida-export.json "Quality System (Production)"',
356
322
  configure_process_usage: 'Usage: openyida configure-process <appType> <formUuid> <processDefinitionFile> [processCode] [--replace]',
357
323
  configure_process_example: 'Example: openyida configure-process "APP_XXX" "FORM-YYY" .cache/openyida/process/process-definition.json',
358
- create_process_usage: 'Usage: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> [--replace]\n openyida create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace]',
324
+ create_process_usage: 'Usage: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile>\n openyida create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace]',
359
325
  create_process_example: 'Example: openyida create-process "APP_XXX" "Order Form" .cache/openyida/process/fields.json .cache/openyida/process/process-definition.json',
360
326
  process_usage: 'Usage: openyida process <subcommand>\n\nSubcommands:\n preview <appType> <processInstanceId> [--output <path>] Preview process instance (generate visual flowchart)',
361
327
  process_preview_usage: 'Usage: openyida process preview <appType> <processInstanceId> [--output <path>]',
@@ -368,7 +334,7 @@ Examples:
368
334
  login_usage: 'Usage: openyida login [entryUrl|--public|--alibaba|--intl] [--no-browser] [--check-only] [--json] [--client-id <clientId>]',
369
335
  login_example: 'Examples:\n openyida login # Automatically open the browser via OAuth loopback login\n openyida login --no-browser # Let the caller handle the authorization URL\n openyida login --check-only --json # Check token auth status only\n openyida login --intl # Login against the international environment\n OPENYIDA_NO_BROWSER=1 openyida login # Suppress auto-opening the browser with an environment variable\n openyida auth login # Login alias',
370
336
  login_unsupported_option: 'Removed legacy login option is no longer supported: {0}. Use token/OAuth login; env token mode reads only OPENYIDA_* tokens.',
371
- auth_usage: 'Usage: openyida auth <status|login|refresh|logout|profiles|profile switch>',
337
+ auth_usage: 'Usage: openyida auth <status|login|sync-dws|refresh|logout|profiles|profile switch>',
372
338
  auth_example: 'Examples:\n openyida auth status # View login status\n openyida auth profiles # List existing login profiles\n openyida auth profile switch <auth_profile> # Switch current project to an existing profile\n openyida auth login # Add a profile when the target does not exist\n openyida auth refresh # Refresh login session\n openyida auth logout # Unbind current project auth\n openyida auth logout --profile <auth_profile> # Delete a shared profile explicitly',
373
339
  org_usage: 'Usage: openyida org <list|switch> [--json] [--corp-id <corpId>]',
374
340
  org_example: 'Examples:\n openyida org list --json # List accessible organizations\n openyida org switch --corp-id dingXXX # Switch existing profiles first; login to add one if missing',
@@ -737,7 +703,7 @@ Examples:
737
703
  // ── lib/create-page.js ─────────────────────────────
738
704
  create_page: {
739
705
  title: ' openyida create-page - Yida Custom Page Creation Tool',
740
- usage: 'Usage: openyida create-page <appType> "<pageName>" [--mode dashboard] [--hide-nav] [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
706
+ usage: 'Usage: openyida create-page <appType> "<pageName>" [--mode dashboard] [--hide-nav]',
741
707
  example: 'Example: openyida create-page "APP_XXX" "Game Home" --mode dashboard; explicitly hide page nav: openyida create-page "APP_XXX" "Fullscreen Dashboard" --mode dashboard --hide-nav',
742
708
  app_id: ' App ID: {0}',
743
709
  page_name: ' Page name: {0}',
@@ -747,7 +713,6 @@ Examples:
747
713
  step_dashboard_config: '\n🖥️ Step 3: Configure page-level hidden navigation',
748
714
  dashboard_config_ok: ' ✅ Page navigation hidden by explicit request, chromeless custom URL enabled',
749
715
  dashboard_config_failed: ' ⚠️ Page-level hidden navigation config failed: {0}',
750
- navigation_unverified: 'The page was created, but readback did not confirm hidden navigation. Repair and verify the returned pageId; do not create another page.',
751
716
  err_mode_invalid: 'Unsupported page mode: {0}',
752
717
  mode_hint: 'Available modes: default, dashboard. Page navigation is visible by default; pass --hide-nav or --render-nav false to hide page navigation. Use update-app --hide-app-nav to hide app navigation.',
753
718
  page_id_label: ' pageId: {0}',
@@ -798,7 +763,6 @@ Examples:
798
763
 
799
764
  // ── lib/create-form.js ─────────────────────────────
800
765
  create_form: {
801
- divider_type_invalid: 'Unsupported divider style: {0}. Supported values: {1}',
802
766
  batch_invalid: 'Invalid form batch; check the error details',
803
767
  create_title: ' yida-create-form-page - Yida Form Page Creation Tool',
804
768
  update_title: ' yida-create-form-page - Yida Form Page Update Tool',
@@ -857,12 +821,12 @@ Examples:
857
821
  changes_applied: ' Changes applied: {0}',
858
822
  create_post_failure_retry_advice: 'Do not repeat create directly. First run openyida list-forms {0} --keyword "{1}" to check for an existing same-title form; if this run already created a blank/existing form, prefer create-form update or a future --resume-form-uuid flow.',
859
823
  error: '\n❌ Error: {0}',
860
- usage_create: 'Usage: openyida create-form create <appType> <formTitle> <fieldsJsonFile> [--layout single|double|card|section] [--theme default|compact|comfortable] [--label-align top|left|right] [--icon auto|<iconName>] [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
824
+ usage_create: 'Usage: openyida create-form create <appType> <formTitle> <fieldsJsonFile>',
861
825
  example_create: 'Example: openyida create-form create "APP_XXX" "Employee Info" .cache/openyida/forms/employee-fields.json',
862
826
  usage_update: 'Usage: openyida create-form update <appType> <formUuid> <changesJsonOrFile>',
863
827
  example_update: 'Example: openyida create-form update "APP_XXX" "FORM-YYY" \'[{"action":"add","field":{"type":"TextField","label":"Note"}}]\'',
864
828
  usage_label: 'Usage:',
865
- usage_create_short: ' create: openyida create-form create <appType> <formTitle> <fieldsJsonFile> [--layout single|double|card|section] [--theme default|compact|comfortable] [--label-align top|left|right] [--icon auto|<iconName>] [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
829
+ usage_create_short: ' create: openyida create-form create <appType> <formTitle> <fieldsJsonFile>',
866
830
  usage_update_short: ' update: openyida create-form update <appType> <formUuid> <changesJsonOrFile> or --data-file <changesJsonOrFile>',
867
831
  resume_readback_failed: 'Unable to read the target form before resume.',
868
832
  resume_ownership_unverified: 'The target form does not belong to the requested app; resume stopped.',
@@ -1006,7 +970,7 @@ Examples:
1006
970
 
1007
971
  import_example2: ' openyida import ./yida-export.json "Quality Traceability System (Production)"',
1008
972
  exec_failed: '\n❌ Execution failed: {0}',
1009
- auth_usage: 'Usage: openyida auth <status|login|refresh|logout|profiles|profile switch>',
973
+ auth_usage: 'Usage: openyida auth <status|login|sync-dws|refresh|logout|profiles|profile switch>',
1010
974
  auth_example: 'Examples:\n openyida auth status # View login status\n openyida auth profiles # List existing login profiles\n openyida auth profile switch <auth_profile> # Switch current project to an existing profile\n openyida auth login # Add a profile when the target does not exist\n openyida auth refresh # Refresh login session\n openyida auth logout # Unbind current project auth\n openyida auth logout --profile <auth_profile> # Delete a shared profile explicitly',
1011
975
  org_usage: 'Usage: openyida org <list|switch> [--json] [--corp-id <corpId>]',
1012
976
  org_example: 'Examples:\n openyida org list --json # List accessible organizations\n openyida org switch --corp-id dingXXX # Switch existing profiles first; login to add one if missing',
@@ -1161,10 +1125,9 @@ Examples:
1161
1125
  theme_preset_conflict: 'A preset colour cannot be combined with custom CSS or themeColor. Use --colour custom or omit --colour.',
1162
1126
  custom_theme_color_required: 'colour=custom requires a theme file or a valid themeColor. Pass --theme-file or --theme-color.',
1163
1127
  theme_not_persisted: 'App theme readback failed or did not match the saved settings. The CSS resource binding is unverified. Inspect themeVerification and retry update-app <appType> --theme-file <css>; do not refresh the app.',
1164
- navigation_not_persisted: 'App navigation readback failed or did not match the requested settings. Navigation changes remain unverified. Inspect the expected values, actual values and readback error in navigationVerification, then check the current app settings.',
1165
1128
  usage: 'openyida update-app <appType> [--name "New Name"] [--theme-file ./theme.css] [--nav-theme light|dark|white|gray] [--logo-source appIcon|customImage] [--layout side|top|l_shape]',
1166
1129
  example: 'openyida update-app APP_XXX --theme-file ./app-theme.css --nav-theme light --logo-source appIcon --layout side',
1167
- options: 'Options:\n --name, -n App name (specify at least one update field)\n --desc, -d App description\n --icon Icon name (e.g. xian-yingyong)\n --icon-color Icon color (default: #0089FF)\n --colour, --theme podBlue | podGreen | podOrange | deepBlue | teal | black | custom ...\n --theme-color Update the app primary color; the CSS primary color takes precedence when a theme file is supplied\n --theme-file Custom app theme CSS file (up to 20 MB; must declare --color-brand1-6)\n --nav-theme Navigation theme: light, dark, white, or gray\n --logo-source Navigation logo source: appIcon or customImage\n --layout Modern navigation layout: side, top, or l_shape\n --hide-app-nav Hide app navigation in visit mode, only for custom pages with self-rendered top/side navigation\n --show-app-nav Restore app navigation in visit mode',
1130
+ options: 'Options:\n --name, -n App name (specify at least one update field)\n --desc, -d App description\n --icon Icon name (e.g. xian-yingyong)\n --icon-color Icon color (default: #0089FF)\n --colour, --theme podBlue | podGreen | podOrange | deepBlue | teal | black | custom ...\n --theme-color Legacy standalone theme color; ignored when a theme file is imported\n --theme-file Custom app theme CSS file (up to 20 MB; must declare --color-brand1-6)\n --nav-theme Navigation theme: light, dark, white, or gray\n --logo-source Navigation logo source: appIcon or customImage\n --layout Modern navigation layout: side, top, or l_shape\n --hide-app-nav Hide app navigation in visit mode, only for custom pages with self-rendered top/side navigation\n --show-app-nav Restore app navigation in visit mode',
1168
1131
  missing_app_type: 'Error: missing appType argument',
1169
1132
  missing_update_field: 'Error: at least one update field must be specified (--name, --desc, --icon, --theme, --theme-color, --theme-file, --nav-theme, --logo-source, --layout, --hide-app-nav, --show-app-nav)',
1170
1133
  title: ' update-app - Yida App Info Update Tool',
@@ -1335,14 +1298,6 @@ Examples:
1335
1298
  failed: 'Page lint check failed',
1336
1299
  },
1337
1300
  publish: {
1338
- canvas_path_missing_app_type: 'Line {0}: navigation is missing appType. Use the canvas-navigation sample and verified IDs to build /{appType}/{pageType}/{formUuid}, not a bare /custom/ route.',
1339
- canvas_theme_fixed_brand: 'Line {0}: ConfigProvider fixes a brand interaction color to a string. Use canvas-theme and resolved application colors; CSS var belongs in DOM styles, not unresolved antd color tokens.',
1340
- canvas_navigation_local_platform: 'Line {0} filters local views through platform navigation. Use mode=local or local view state; bind real pages to formUuid/navUuid and continue checking declared access.',
1341
- canvas_navigation_document_flex: 'Line {0} uses a zero-basis workspace flex layout for document content. Refresh canvas-nav-content: document pages need natural height and block flow; fixed-height flex belongs to workspace.',
1342
- canvas_theme_not_assembled: 'The theme marker on line {0} is not assembled. Run build-canvas-theme.js and compile/publish its separate output file. Pages with an integrated Provider do not need this marker.',
1343
- canvas_theme_provider_missing: 'The page near line {0} has no mounted theme provider. Return <CanvasThemeProvider><PageContent /></CanvasThemeProvider> from YidaComp so the content can read the application theme.',
1344
- canvas_theme_root_hook: 'Theme is read before its provider is active near line {0}. Move useCanvasThemeContext into PageContent and wrap <PageContent /> with CanvasThemeProvider in YidaComp.',
1345
- canvas_theme_context_scope: 'CanvasThemeContext is declared inside a function near line {0}. Declare the context and provider at module scope and wrap the business component at the page entry.',
1346
1301
  canvas_inline_css_invalid: 'Inline CSS near line {0} has an unclosed or mismatched delimiter, string, or comment. Fix it before publishing.',
1347
1302
  title: ' yida-publish - Yida Page Publishing Tool',
1348
1303
  platform: ' Platform: {0}',
@@ -1378,7 +1333,7 @@ Examples:
1378
1333
  lint_controlled_input: 'input uses controlled value mode. Yida pages should use defaultValue + onChange to update _customState',
1379
1334
  lint_native_select_ui: 'Found a native <select>. In normal custom pages, use a button+menu+option custom dropdown with an arrow, selected marker, and focus reset; do not render a form SelectField as a page filter component.',
1380
1335
  lint_iframe_self_navigation: 'Yida custom pages run in an iframe. Use target="_top"/target="_blank" or window.top.location for Yida page navigation to avoid nested pages.',
1381
- lint_form_open_container: 'Form submission/detail entries require the complete drawer template. Run openyida sample openyida-page-template form-open-container; integrate CanvasDrawer, FormOpenContainer and useYidaFormOpen, call openForm and render formOpenContainer. Use the iframe drawer on desktop and template handling on mobile; do not substitute links or custom overlays.',
1336
+ lint_form_open_container: 'Opening Yida form submission/detail pages from a custom page must use FormOpenContainer: a 50vw drawer iframe on desktop, and full/new page only on mobile. Button handlers should call openForm({ type: "submission" | "detail", ... }).',
1382
1337
  lint_form_detail_link: 'Yida form detail pages must use a real formInstId: read row.formInstId first, and disable or warn when the instance id is missing instead of opening a formDetail link with an empty formInstId.',
1383
1338
  lint_page_size_limit: 'pageSize={0} exceeds the Yida API limit of 100; use 100 or less',
1384
1339
  lint_page_size_recommend: 'pageSize={0} is large; the recommended value is 50 (best performance, max 100). Prefer 10/20/50',
@@ -1388,7 +1343,6 @@ Examples:
1388
1343
  lint_searchformdata_http_query_params: 'The direct searchFormDatas.json URL query is missing required params: {0}. Use URLSearchParams with appType, formUuid, currentPage, pageSize, and searchFieldJson',
1389
1344
  lint_searchformdata_http_csrf: 'A direct searchFormDatas.json call must put the runtime CSRF token in both the _csrf_token URL query and the global_csrf_token request header',
1390
1345
  lint_searchformdata_http_credentials: 'A direct searchFormDatas.json call must set credentials: "include" so the browser sends same-origin login cookies',
1391
- lint_searchformdata_bridge_unwrap: 'Yida searchFormDatas returns rows in payload.data and the count in payload.totalCount. Do not read only payload.data.data; normalize array data before rendering, and use currentPage for pagination. See yida-canvas-data-binding.',
1392
1346
  lint_searchformdata_http_unwrap: 'The browser searchFormDatas.json response nests the list under content.data (returns { content: { data: [...] } }); reading json.data only yields 0 rows — unwrap via (json.content && json.content.data)',
1393
1347
  lint_searchformdata_dynamic_order_metadata: 'searchFormDatas.dynamicOrder cannot use record metadata field {0}; use a real business field ID returned by get-schema. If no sortable business date field exists, remove dynamicOrder and only sort the fetched page by row.createTime for display',
1394
1348
  lint_canvas_yida_api_bridge_missing: 'YidaCodeCanvas form data reads must consume window.__OPENYIDA_YIDA_API__ first (the publish layer injects the this.utils.yida bridge from outer didMount); do not default to handwritten internal searchFormDatas fetch',
@@ -1441,7 +1395,6 @@ Examples:
1441
1395
  canvas_compiling: ' 🎨 Compiling custom page source locally...',
1442
1396
  canvas_compile_done: ' ✅ Custom page compiled!',
1443
1397
  canvas_compile_failed: ' ❌ Custom page compile failed: {0}',
1444
- canvas_icon_export_unavailable: 'Line {2}: the Yida runtime icon library {0} does not export {1}. Choose a supported runtime icon and recompile. Suggested alternatives: {3}.',
1445
1398
  canvas_unbound_identifiers: 'Code Canvas source contains undeclared identifiers: {0}. Add the missing import, function, ref, state, or local declaration in the same file and keep every reference under the same name. If a non-standard runtime provides the identifier, access it explicitly through window.<name> or parentWindow.<name> and check that it exists first.',
1446
1399
  canvas_instance_api_unavailable: 'Code Canvas components cannot use platform JSX instance APIs: {0}. Use React hooks, props, or the window.__OPENYIDA_YIDA_API__ data bridge.',
1447
1400
  step_login: '\n🔑 Step 2: Read login credentials',
@@ -1467,7 +1420,7 @@ Examples:
1467
1420
  error: '\n❌ Publish error: {0}',
1468
1421
  source_not_found: '❌ Source file not found: {0}',
1469
1422
  source_path_hint: '💡 Try this source file path: {0}',
1470
- usage: 'Usage: openyida publish <sourceFile> <appType> <formUuid> [--health-check] [--force] [--canvas] [--compat] [--skip-lint] [--auto-nav-order] [--open|--no-open] [--json]',
1423
+ usage: 'Usage: openyida publish <sourceFile> <appType> <formUuid> [--health-check] [--canvas] [--auto-nav-order]',
1471
1424
  example: 'Example: openyida publish pages/src/xxx.js APP_XXX FORM-XXX --health-check --auto-nav-order',
1472
1425
  },
1473
1426
 
@@ -1796,7 +1749,6 @@ Options:
1796
1749
 
1797
1750
  // ── lib/process/create-process.js ─────────────────
1798
1751
  create_process: {
1799
- invalid_argument: 'Missing or invalid argument {0}. Correct it using the syntax below.',
1800
1752
  title: 'Yida Process Form Creation',
1801
1753
  app_id: 'App ID',
1802
1754
  mode: 'Mode',
@@ -1826,12 +1778,11 @@ Options:
1826
1778
  configuring_process: 'Configuring and publishing process',
1827
1779
  configure_failed: 'Failed to configure process',
1828
1780
  retry_hint: 'Process configuration failed, but the form was created. Fix the process definition and retry with this command:',
1829
- preserve_existing_form: 'The original form exists. Inspect its state and failure cause using the returned formUuid and preserve it. Do not remove --formUuid, recreate the form, or create a same-name replacement to recover. Never retry writes when noWriteRetry=true.',
1830
1781
  fields_not_found: 'Fields definition file not found',
1831
1782
  process_def_not_found: 'Process definition file not found',
1832
1783
  done: 'Process form creation completed',
1833
1784
  url: 'URL',
1834
- usage: 'Usage: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> [--replace]',
1785
+ usage: 'Usage: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile>',
1835
1786
  usage2: ' openyida create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace]',
1836
1787
  example: 'Example: openyida create-process "APP_XXX" "Order Form" .cache/openyida/process/fields.json .cache/openyida/process/process-definition.json',
1837
1788
  example2: ' openyida create-process "APP_XXX" --formUuid FORM-YYY .cache/openyida/process/process-definition.json',
@@ -2022,8 +1973,7 @@ Object.assign(module.exports.create_process || (module.exports.create_process =
2022
1973
  login_required: 'No valid Yida login session was found. Run openyida login first.',
2023
1974
  });
2024
1975
  module.exports.connector_test = {
2025
- usage: 'Usage: openyida connector test --connector-id <id> --action <actionId> [--params <json>] [--path-json <json>] [--query-json <json>] [--header-json <json>] [--body-json <json>] [--account-id <id>] [--system-token-app <appType>] [--ignore-defaults] [--json]',
2026
- ignore_defaults_system_token_warning: 'Saved default parameter values are ignored via --ignore-defaults (they contain a non-empty systemToken and are not used in this run); clean up the action defaults in the designer before production use.',
1976
+ usage: 'Usage: openyida connector test --connector-id <id> --action <actionId> [--params <json>] [--path-json <json>] [--query-json <json>] [--header-json <json>] [--body-json <json>] [--account-id <id>] [--system-token-app <appType>] [--json]',
2027
1977
  invalid_json: '{0} is not valid JSON: {1}',
2028
1978
  json_object_required: '{0} must be a JSON object',
2029
1979
  unknown_flat_param: 'Parameter {0} is not in the action schema; use the matching structured JSON option',
@@ -2133,10 +2083,3 @@ module.exports.connector_e2e = {
2133
2083
  Object.assign(module.exports.process_errors || (module.exports.process_errors = {}), {
2134
2084
  action_config_invalid: 'Invalid approval action configuration for node {0}: {1}',
2135
2085
  });
2136
-
2137
- module.exports.cli_argument = { invalid: 'Invalid or missing argument value: {0}. Follow the command help.' };
2138
-
2139
- module.exports.sample_options = {
2140
- 'theme_help': 'app-theme: --output is a CSS file; --design-file reads a completed design. Omitting it resets CSS. Set theme values in the design.',
2141
- 'style_help': 'application-style: --style-id is required and accepts every catalog theme; --output is a directory for three files. Existing bundle files cause an error.'
2142
- };
@@ -4,37 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  module.exports = {
7
- design_plan: {
8
- rebase_required: '首次物化前请修正 business.json/visual.json 中的对应 facts,保留主计划基线。如果主计划已改变,在原 materialize 命令加 --rebase-parts,CLI 会根据保存的基线核对差异;不要手填 digest、删除草稿或重新 init。',
9
- baseline_missing: '未找到与片段匹配的可信原始基线。保留当前计划与 facts;从原工作区恢复 .build-plan-base.json 后重试。无法恢复时明确告知用户阻塞,不伪造摘要或自动重建。',
10
- rebase_stage_invalid: '基线恢复仅用于首次物化前的草稿。已展示或已物化方案请沿用当前 build-plan.json,通过 patch --materialize 调整,不再合并初始化片段。',
11
- rebase_conflict: '主计划和片段对同一字段有不同修改。按 conflicts 核对并在片段中明确采用当前值或原基线值后重试;其他 facts 保留。本次未保存文件。',
12
- repair_page_bindings: '按 business.json 的 customPageDetails 逐一修复 visual.json 的 pageApplications;原生表单不加入绑定。每项 visualMemoryApplications 必须为数组,无适用项用 []。保留现有草稿,按列出的字段修复后重试原命令;不要删除目录或重新 init。',
13
- },
14
- design_document: {
15
- update_conflict: '无法更新 {0}({1}):现有内容与上次生成结果冲突。请读取这一部分,将本地修改与计划源对齐后重试;本次未保存任何文件。',
16
- theme_css_invalid: '主题 CSS 第 {0} 行附近存在未闭合或不匹配的括号、字符串或注释,请修复后重试。',
17
- invalid: '设计文档校验失败:{0}({1})',
18
- yaml: '设计文档 frontmatter 不是有效的 YAML',
19
- token_value: 'token {0} 必须是已确定的单行 CSS 值',
20
- token_conflict: 'token {0} 存在重复或冲突值',
21
- tokens_required: 'design.md 缺少包含 token 的 frontmatter',
22
- brand_required: 'design.md 缺少品牌 token:{0}',
23
- usage: '用法: openyida check-design <design.md> [--prd <prd.md>] [--base-dir <dir>] [--json]',
24
- read_error: '无法读取设计检查文件:{0}',
25
- checked: '设计文档校验通过:{0};{1} 个页面,{2} 个 token',
26
- },
27
- asset: {
28
- sourceRecords: '在 --input 的 assets[] 中填写 assetId、creator、sourcePage、license、licenseUrl、licenseCheckedAt(YYYY-MM-DD)和 authorizationEvidence(凭证链接或文件路径数组)。清单保留这些记录;未提供的留空,不自动认定已获商用授权。',
29
- executionReview: '素材执行记录需复核:{0}。请检查后台派发回执、业务执行时间及同步退化原因。',
30
- localFileUnavailable: '找不到图片文件:{0}。请检查命令工作目录,或使用绝对路径。',
31
- invalidStrategy: '图片要求应填写为对象,按页面列出图片位置。',
32
- },
33
7
  // ── 通用 ──────────────────────────────────────────
34
8
 
35
9
  // ── bin/yida.js printHelp() ────────────────────────
36
10
  help: {
37
- cmd_check_design: '检查设计文档、主题变量与 PRD 交接',
38
11
  subtitle: '宜搭低代码 AI 开发工具',
39
12
  usage: '用法:',
40
13
  alias: '别名:',
@@ -52,9 +25,8 @@ module.exports = {
52
25
  cmd_design_plan_preview: '按模块更新方案草稿',
53
26
  design_plan_preview_invalid: '方案草稿更新失败,请检查错误详情',
54
27
  cmd_design_plan_init: '从已确认需求初始化计划草稿',
55
- cmd_design_plan_catalog: '查询规划可用的主题与页面模式',
56
- cmd_design_plan_materialize: '生成或更新方案文档和主题,并校验一致性',
57
- cmd_design_plan_patch: '按字段修改方案,按需同步文档和主题',
28
+ cmd_design_plan_materialize: '从 build-plan.json 生成并校验搭建计划产物',
29
+ cmd_design_plan_patch: '按字段路径调整搭建计划并使旧确认失效',
58
30
  cmd_update_app: '更新应用信息',
59
31
  cmd_app_online: '启用宜搭应用',
60
32
  cmd_app_offline: '停用宜搭应用',
@@ -83,7 +55,6 @@ module.exports = {
83
55
  cmd_get_form_config: '查询表单配置',
84
56
  group_data: '数据 & 权限',
85
57
  cmd_data: '统一数据管理(表单/流程/任务/子表单)',
86
- data_notes: 'DateField 传毫秒时间戳数字;CascadeDateField 传毫秒时间戳数组。先按业务时区转换,不接受日期字符串或秒级时间戳。--resolve-aliases 只转换字段名称。',
87
58
  cmd_task_center: '全局任务中心(待办/已处理/抄送等)',
88
59
  cmd_basic_info: '查询组织基本信息、容量、额度和域名设置',
89
60
  cmd_read_dingtalk_doc: '获取钉钉文档的 Markdown 内容',
@@ -95,7 +66,6 @@ module.exports = {
95
66
  group_process: '流程',
96
67
  cmd_configure_process: '配置并发布流程规则; 支持加签/转交,配置位于 JSON nodes[].actions.normalActions/appendActions',
97
68
  cmd_create_process: '创建流程表单(一体化); 支持加签/转交,配置位于 JSON nodes[].actions.normalActions/appendActions',
98
- create_process_notes: 'formMode=create|reuse 区分新建和复用。复用时 formTitle、fieldCount 为 null,表示未查询;新建时返回名称和字段数。成功和配置失败输出均遵守此约定,结果看 success 与 verificationLevel。--replace 仅用于已获明确授权的现有草稿或已发布流程整图替换。',
99
69
  cmd_ai_form_setting: '管理流程表单 AI 审批提示',
100
70
  cmd_process_preview: '预览流程实例(可视化流程图)',
101
71
  group_share: '页面配置 & 分享',
@@ -181,10 +151,6 @@ module.exports = {
181
151
  },
182
152
 
183
153
  cli: {
184
- design_plan_entry_mode_required: '请明确入口方式:不分前后台(unified)、分前后台(service-management)、只有访问前台(frontend-only)或只有访问后台(backend-only)。',
185
- design_plan_backend_only_roles: '只有访问后台(backend-only)时,每个入口的 role 必须为 management。',
186
- design_plan_local_menu_binding: '本地菜单 {0} 必须关联承载页面和 viewKey:入口 {1} 的 sceneKey 对应页面 sceneKey,菜单 resource 等于页面 name,并填写非空 viewKey。此规则适用于所有入口身份。',
187
- design_plan_visual_object_required: '{0} 必须为对象,不能写成字符串或数组。沿用 init 生成的字段结构,只补齐值;示例:{1}。',
188
154
  help: `
189
155
  openyida - 宜搭命令行工具
190
156
 
@@ -199,7 +165,7 @@ openyida - 宜搭命令行工具
199
165
  create-app --name "<名称>" 创建应用并输出 appType;主题资源与 Logo 来源使用 update-app 配置
200
166
  create-page <appType> "<页面名>" [--mode dashboard] [--hide-nav] 创建自定义页面,输出 pageId
201
167
  update-app <appType> [--name "..."] [--hide-app-nav|--show-app-nav] 更新应用信息
202
- create-form create <appType> "<表单名>" <字段JSON> [--layout single|double|card|section] [--theme default|compact|comfortable] [--label-align top|left|right] 创建表单页面
168
+ create-form create <appType> "<表单名>" <字段JSON> [--layout <布局>] [--theme <主题>] [--label-align <对齐>] 创建表单页面
203
169
  create-form update <appType> <formUuid> <修改JSON> 更新表单页面
204
170
  list-forms <appType> [--keyword <关键词>] 列出应用下的表单/页面
205
171
  get-schema <appType> <formUuid|--all> 获取单个或全部表单 Schema
@@ -233,7 +199,7 @@ openyida - 宜搭命令行工具
233
199
  get-permission <appType> <formUuid> 查询表单权限配置
234
200
  save-permission <appType> <formUuid> [--data-permission <json>] [--action-permission <json>] 保存表单权限配置
235
201
  configure-process <appType> <formUuid> <processDefinitionFile> [processCode] [--replace] 配置并发布流程
236
- create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> [--replace] 创建流程表单(一体化)
202
+ create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> 创建流程表单(一体化)
237
203
  create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace] 复用已有表单创建流程
238
204
  connector list [选项] 列出 HTTP 连接器
239
205
  connector create "名称" "域名" --operations <file> [选项] 创建连接器
@@ -325,13 +291,13 @@ openyida - 宜搭命令行工具
325
291
  integration_enable_example: '示例: openyida integration enable APP_XXX FORM-XXX LPROC-XXX',
326
292
  integration_disable_usage: '用法: openyida integration disable <appType> <formUuid> <processCode>',
327
293
  integration_disable_example: '示例: openyida integration disable APP_XXX FORM-XXX LPROC-XXX',
328
- compile_usage: '用法: openyida compile <源文件路径> [--canvas] [--compat] [--skip-lint] [--json]',
294
+ compile_usage: '用法: openyida compile <源文件路径>',
329
295
  compile_example: '示例: openyida compile pages/src/home.oyd.jsx',
330
296
  check_page_usage: '用法: openyida check-page <源文件路径> [--compat] [--json]',
331
297
  check_page_example: '示例: openyida check-page pages/src/home.oyd.jsx --json',
332
298
  build_page_usage: '用法: openyida build-page <源文件路径> [--output pages/build/page.yida.jsx|--write] [--json]',
333
299
  build_page_example: '示例: openyida build-page pages/src/dashboard.oyd.jsx --output pages/build/dashboard.yida.jsx',
334
- publish_usage: '用法: openyida publish <源文件路径> <appType> <formUuid> [--health-check] [--force] [--canvas] [--compat] [--skip-lint] [--auto-nav-order] [--open|--no-open] [--json]',
300
+ publish_usage: '用法: openyida publish <源文件路径> <appType> <formUuid> [--health-check] [--canvas] [--auto-nav-order]',
335
301
  publish_example: '示例: openyida publish pages/src/home.canvas.jsx APP_XXX FORM-XXX --health-check',
336
302
  check_prd_completeness_usage: '用法: openyida check-prd-completeness <prd.md> --app-type <appType> [--build-manifest <file>] [--json]',
337
303
  check_prd_completeness_example: '示例: openyida check-prd-completeness prd/订单管理/prd.md --app-type APP_XXX --build-manifest prd/订单管理/build-manifest.json --json',
@@ -355,7 +321,7 @@ openyida - 宜搭命令行工具
355
321
  import_example2: ' openyida import ./yida-export.json "质量追溯系统(生产环境)"',
356
322
  configure_process_usage: '用法: openyida configure-process <appType> <formUuid> <processDefinitionFile> [processCode] [--replace]',
357
323
  configure_process_example: '示例: openyida configure-process "APP_XXX" "FORM-YYY" .cache/openyida/process/process-definition.json',
358
- create_process_usage: '用法: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> [--replace]\n openyida create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace]',
324
+ create_process_usage: '用法: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile>\n openyida create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace]',
359
325
  create_process_example: '示例: openyida create-process "APP_XXX" "订单处理表" .cache/openyida/process/fields.json .cache/openyida/process/process-definition.json',
360
326
  process_usage: '用法: openyida process <子命令>\n\n子命令:\n preview <appType> <processInstanceId> [--output <path>] 预览流程实例(生成可视化流程图)',
361
327
  process_preview_usage: '用法: openyida process preview <appType> <processInstanceId> [--output <path>]',
@@ -708,7 +674,7 @@ openyida - 宜搭命令行工具
708
674
  // ── lib/create-page.js ─────────────────────────────
709
675
  create_page: {
710
676
  title: ' openyida create-page - 宜搭自定义页面创建工具',
711
- usage: '用法: openyida create-page <appType> "<pageName>" [--mode dashboard] [--hide-nav] [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
677
+ usage: '用法: openyida create-page <appType> "<pageName>" [--mode dashboard] [--hide-nav]',
712
678
  example: '示例: openyida create-page "APP_XXX" "驾驶舱" --mode dashboard;显式隐藏页面导航: openyida create-page "APP_XXX" "全屏看板" --mode dashboard --hide-nav',
713
679
  app_id: ' 应用 ID: {0}',
714
680
  page_name: ' 页面名称: {0}',
@@ -718,7 +684,6 @@ openyida - 宜搭命令行工具
718
684
  step_dashboard_config: '\n🖥️ Step 3: 配置页面级隐藏导航',
719
685
  dashboard_config_ok: ' ✅ 已按显式要求隐藏页面导航,并输出页面级隐藏导航的 custom URL',
720
686
  dashboard_config_failed: ' ⚠️ 页面级隐藏导航配置失败: {0}',
721
- navigation_unverified: '页面已创建,但未能回读确认导航已隐藏。请使用返回的 pageId 修复配置并回读,不要重复创建页面。',
722
687
  err_mode_invalid: '不支持的页面模式: {0}',
723
688
  mode_hint: '可用模式: default, dashboard;默认页面导航可见,只有传 --hide-nav 或 --render-nav false 才隐藏页面导航;应用导航隐藏请用 update-app --hide-app-nav',
724
689
  page_id_label: ' pageId: {0}',
@@ -769,7 +734,6 @@ openyida - 宜搭命令行工具
769
734
 
770
735
  // ── lib/create-form.js ─────────────────────────────
771
736
  create_form: {
772
- divider_type_invalid: '不支持的分割线样式:{0}。可选值:{1}',
773
737
  batch_invalid: '表单批量任务配置无效,请检查错误详情',
774
738
  create_title: ' yida-create-form-page - 宜搭表单页面创建工具',
775
739
  update_title: ' yida-create-form-page - 宜搭表单页面更新工具',
@@ -828,12 +792,12 @@ openyida - 宜搭命令行工具
828
792
  changes_applied: ' 已应用变更: {0}',
829
793
  create_post_failure_retry_advice: '不要直接重复 create。先运行 openyida list-forms {0} --keyword "{1}" 确认同名表单;若是本轮创建的空白/已有表单,优先使用 create-form update 或后续 --resume-form-uuid 复用。',
830
794
  error: '\n❌ 错误: {0}',
831
- usage_create: '用法: openyida create-form create <appType> <formTitle> <fieldsJsonFile> [--layout single|double|card|section] [--theme default|compact|comfortable] [--label-align top|left|right] [--icon auto|<iconName>] [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
795
+ usage_create: '用法: openyida create-form create <appType> <formTitle> <fieldsJsonFile>',
832
796
  example_create: '示例:openyida create-form create "APP_XXX" "员工信息登记" .cache/openyida/forms/employee-fields.json',
833
797
  usage_update: '用法: openyida create-form update <appType> <formUuid> <changesJsonOrFile>',
834
798
  example_update: '示例:openyida create-form update "APP_XXX" "FORM-YYY" \'[{"action":"add","field":{"type":"TextField","label":"备注"}}]\'',
835
799
  usage_label: '用法:',
836
- usage_create_short: ' 创建: openyida create-form create <appType> <formTitle> <fieldsJsonFile> [--layout single|double|card|section] [--theme default|compact|comfortable] [--label-align top|left|right] [--icon auto|<iconName>] [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
800
+ usage_create_short: ' 创建: openyida create-form create <appType> <formTitle> <fieldsJsonFile>',
837
801
  usage_update_short: ' 更新: openyida create-form update <appType> <formUuid> <changesJsonOrFile> 或 --data-file <changesJsonOrFile>',
838
802
  resume_readback_failed: '恢复前无法回读目标表单。',
839
803
  resume_ownership_unverified: '目标表单不属于指定应用,已停止恢复。',
@@ -978,7 +942,7 @@ openyida - 宜搭命令行工具
978
942
  // ── lib/import-app.js ──────────────────────────────
979
943
  import_example2: ' openyida import ./yida-export.json "质量追溯系统(生产环境)"',
980
944
  exec_failed: '\n❌ 执行失败: {0}',
981
- auth_usage: '用法: openyida auth <status|login|refresh|logout|profiles|profile switch>',
945
+ auth_usage: '用法: openyida auth <status|login|sync-dws|refresh|logout|profiles|profile switch>',
982
946
  auth_example: '示例:\n openyida auth status # 查看登录状态\n openyida auth profiles # 列出已有登录 profile\n openyida auth profile switch <auth_profile> # 切换当前项目到已有 profile\n openyida auth login # 目标 profile 不存在时登录新增\n openyida auth refresh # 刷新登录态\n openyida auth logout # 解绑当前项目登录态\n openyida auth logout --profile <auth_profile> # 删除指定共享 profile',
983
947
  org_usage: '用法: openyida org <list|switch> [--json] [--corp-id <corpId>]',
984
948
  org_example: '示例:\n openyida org list --json # 列出可访问的组织\n openyida org switch --corp-id dingXXX # 优先切换已有 profile;不存在时登录新增',
@@ -1091,10 +1055,9 @@ openyida - 宜搭命令行工具
1091
1055
  theme_preset_conflict: '平台预置 colour 不能与自定义 CSS 或 themeColor 同传;请使用 colour=custom 或省略 --colour。',
1092
1056
  custom_theme_color_required: 'colour=custom 需要主题文件或有效 themeColor;请传 --theme-file 或 --theme-color。',
1093
1057
  theme_not_persisted: '应用主题保存后回读不一致或查询失败,CSS 资源尚未确认绑定。请查看 themeVerification,并使用 update-app <appType> --theme-file <css> 重试;不要重复创建应用。',
1094
- navigation_not_persisted: '应用导航保存后回读不一致或查询失败,导航设置尚未确认生效。请查看 navigationVerification 中的期望值、实际值和查询错误,核实应用当前设置。',
1095
1058
  usage: 'openyida update-app <appType> [--name "新名称"] [--theme-file ./theme.css] [--nav-theme light|dark|white|gray] [--logo-source appIcon|customImage] [--layout side|top|l_shape]',
1096
1059
  example: 'openyida update-app APP_XXX --theme-file ./app-theme.css --nav-theme light --logo-source appIcon --layout side',
1097
- options: '选项:\n --name, -n 应用名称(至少指定一个更新字段)\n --desc, -d 应用描述\n --icon 图标名称(如: xian-yingyong)\n --icon-color 图标颜色(默认: #0089FF)\n --colour, --theme podBlue | podGreen | podOrange | deepBlue | teal | black | custom ...\n --theme-color 更新应用主色;与主题文件同传时以 CSS 主色为准\n --theme-file 自定义应用主题 CSS 文件(最大 20 MB,必须声明 --color-brand1-6)\n --nav-theme 导航主题 light、dark、white 或 gray\n --logo-source 导航 Logo 来源 appIcon 或 customImage\n --layout 新版导航布局 side、top 或 l_shape\n --hide-app-nav 隐藏访问态应用导航,仅在自定义页自绘顶部/侧边导航壳时使用\n --show-app-nav 恢复访问态应用导航',
1060
+ options: '选项:\n --name, -n 应用名称(至少指定一个更新字段)\n --desc, -d 应用描述\n --icon 图标名称(如: xian-yingyong)\n --icon-color 图标颜色(默认: #0089FF)\n --colour, --theme podBlue | podGreen | podOrange | deepBlue | teal | black | custom ...\n --theme-color 兼容旧流程的独立主题色;导入主题文件时忽略此值\n --theme-file 自定义应用主题 CSS 文件(最大 20 MB,必须声明 --color-brand1-6)\n --nav-theme 导航主题 light、dark、white 或 gray\n --logo-source 导航 Logo 来源 appIcon 或 customImage\n --layout 新版导航布局 side、top 或 l_shape\n --hide-app-nav 隐藏访问态应用导航,仅在自定义页自绘顶部/侧边导航壳时使用\n --show-app-nav 恢复访问态应用导航',
1098
1061
  missing_app_type: '错误: 缺少 appType 参数',
1099
1062
  missing_update_field: '错误: 至少需要指定一个更新字段(--name, --desc, --icon, --theme, --theme-color, --theme-file, --nav-theme, --logo-source, --layout, --hide-app-nav, --show-app-nav)',
1100
1063
  title: ' update-app - 宜搭应用信息更新工具',
@@ -1125,7 +1088,6 @@ openyida - 宜搭命令行工具
1125
1088
 
1126
1089
  // ── lib/process/create-process.js ─────────────────
1127
1090
  create_process: {
1128
- invalid_argument: '参数 {0} 缺失或无效,请按以下用法修正。',
1129
1091
  title: '宜搭流程表单一体化创建',
1130
1092
  app_id: '应用 ID',
1131
1093
  mode: '模式',
@@ -1155,12 +1117,11 @@ openyida - 宜搭命令行工具
1155
1117
  configuring_process: '配置并发布流程',
1156
1118
  configure_failed: '流程配置失败',
1157
1119
  retry_hint: '流程配置失败,但表单已创建。请修复流程定义后,使用以下命令复用该表单重试:',
1158
- preserve_existing_form: '原表单已存在。先只读核实该 formUuid 的状态和失败原因,保留原表;禁止移除 --formUuid、再次创建表单或另建同名表来恢复。noWriteRetry=true 时禁止写重试。',
1159
1120
  fields_not_found: '字段定义文件不存在',
1160
1121
  process_def_not_found: '流程定义文件不存在',
1161
1122
  done: '流程表单创建完成',
1162
1123
  url: '访问地址',
1163
- usage: '用法: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> [--replace]',
1124
+ usage: '用法: openyida create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile>',
1164
1125
  usage2: ' openyida create-process <appType> --formUuid <formUuid> <processDefinitionFile> [--replace]',
1165
1126
  example: '示例: openyida create-process "APP_XXX" "订单处理表" .cache/openyida/process/fields.json .cache/openyida/process/process-definition.json',
1166
1127
  example2: ' openyida create-process "APP_XXX" --formUuid FORM-YYY .cache/openyida/process/process-definition.json',
@@ -1332,14 +1293,6 @@ openyida - 宜搭命令行工具
1332
1293
  failed: '页面规范检查失败',
1333
1294
  },
1334
1295
  publish: {
1335
- canvas_path_missing_app_type: '第 {0} 行的跳转地址缺少 appType。请提取 canvas-navigation,使用真实 appType 与页面 ID 构造 /{appType}/{pageType}/{formUuid};不要直接跳转 /custom/ 等裸路径。',
1336
- canvas_theme_fixed_brand: '第 {0} 行的 ConfigProvider 将品牌交互色固定为字符串。请提取 canvas-theme,使用应用主题解析值;CSS var 仅直接用于 DOM 样式,不能替代 antd 色值解析。',
1337
- canvas_navigation_local_platform: '第 {0} 行把页内菜单交给平台导航过滤。请使用 mode=local 或直接切换本地视图;真实页面绑定 formUuid/navUuid,声明的权限仍需校验。',
1338
- canvas_navigation_document_flex: '第 {0} 行的导航内容仍使用工作区 flex 零基准布局,会压缩 document 长页。请重新提取 canvas-nav-content:document 使用自然高度与块布局,workspace 才使用定高 flex。',
1339
- canvas_theme_not_assembled: '第 {0} 行的主题标记尚未装配。请运行 build-canvas-theme.js 生成独立页面并编译发布输出文件;已直接接好 Provider 的页面无需此标记。',
1340
- canvas_theme_provider_missing: '第 {0} 行的页面未接入主题容器。请在 YidaComp 中返回 <CanvasThemeProvider><PageContent /></CanvasThemeProvider>,让业务内容读取应用主题。',
1341
- canvas_theme_root_hook: '第 {0} 行在主题容器生效前读取了主题。请把 useCanvasThemeContext 移到 PageContent 中,并在 YidaComp 中用 CanvasThemeProvider 包住 <PageContent />。',
1342
- canvas_theme_context_scope: '第 {0} 行的 CanvasThemeContext 定义在函数内。请将主题上下文和 Provider 放在模块顶层,由页面入口包住业务组件。',
1343
1296
  canvas_inline_css_invalid: '第 {0} 行附近的内嵌 CSS 存在未闭合或不匹配的括号、字符串或注释,请修复后再发布。',
1344
1297
  title: ' yida-publish - 宜搭页面发布工具',
1345
1298
  platform: ' 平台地址: {0}',
@@ -1375,7 +1328,7 @@ openyida - 宜搭命令行工具
1375
1328
  lint_controlled_input: 'input 使用了 value 受控模式,宜搭页面应使用 defaultValue + onChange 写入 _customState',
1376
1329
  lint_native_select_ui: '检测到原生 <select>,样式不一致且移动端兼容性差。普通自定义页请用 button+menu+option 自定义下拉,并带下箭头、选中标记和 focus reset;不要直接把表单 SelectField 当页面筛选组件渲染。',
1377
1330
  lint_iframe_self_navigation: '宜搭自定义页面运行在 iframe 中,跳转宜搭页面时请使用 target="_top"/target="_blank" 或 window.top.location,避免页面套娃',
1378
- lint_form_open_container: '普通表单提交/详情必须使用完整抽屉模板。执行 openyida sample openyida-page-template form-open-container,合并 CanvasDrawer、FormOpenContainer、useYidaFormOpen,调用 openForm 并渲染 formOpenContainer。PC 使用 iframe 抽屉,移动端由模板处理;不能用普通链接或自绘弹层代替。',
1331
+ lint_form_open_container: '自定义页内打开表单提交/详情只能使用 FormOpenContainer:PC 端用 50vw 抽屉 iframe,移动端才整页或新页打开。按钮事件请调用 openForm({ type: "submission" | "detail", ... })。',
1379
1332
  lint_form_detail_link: '表单详情页必须使用真实 formInstId:优先读取 row.formInstId,缺少实例 ID 时禁用详情入口或提示,不能打开空 formInstId 的 formDetail 链接。',
1380
1333
  lint_page_size_limit: 'pageSize={0} 超过宜搭接口上限 100,请改为 100 或更小',
1381
1334
  lint_page_size_recommend: 'pageSize={0} 偏大,推荐使用 50(性能最佳,最大 100),优先选择 10/20/50',
@@ -1385,7 +1338,6 @@ openyida - 宜搭命令行工具
1385
1338
  lint_searchformdata_http_query_params: '直连 searchFormDatas.json 的 URL query 缺少必要参数:{0};请用 URLSearchParams 写入 appType、formUuid、currentPage、pageSize 和 searchFieldJson',
1386
1339
  lint_searchformdata_http_csrf: '直连 searchFormDatas.json 需要把运行态 CSRF 同时放入 URL query 的 _csrf_token 和请求头 global_csrf_token',
1387
1340
  lint_searchformdata_http_credentials: '直连 searchFormDatas.json 必须设置 credentials: "include",让浏览器携带同源登录态',
1388
- lint_searchformdata_bridge_unwrap: 'Yida searchFormDatas 的行数据位于 payload.data,总数位于 payload.totalCount。不能只读取 payload.data.data;请先归一化数组,分页使用 currentPage。参考 yida-canvas-data-binding。',
1389
1341
  lint_searchformdata_http_unwrap: 'searchFormDatas.json 浏览器直连的列表在 content.data(返回 { content: { data: [...] } }),只读 json.data 会得到 0 条;请用 (json.content && json.content.data) 兜底解包',
1390
1342
  lint_searchformdata_dynamic_order_metadata: 'searchFormDatas.dynamicOrder 不能使用记录元数据字段 {0};请改用 get-schema 返回的真实业务字段 ID。没有可排序的业务日期字段时请删除 dynamicOrder,只在当前已取回页内按 row.createTime 做展示排序',
1391
1343
  lint_canvas_yida_api_bridge_missing: 'YidaCodeCanvas 表单数据读取必须优先消费 window.__OPENYIDA_YIDA_API__(发布层由外层 didMount 注入 this.utils.yida 桥);不要默认手写内部 searchFormDatas fetch',
@@ -1438,7 +1390,6 @@ openyida - 宜搭命令行工具
1438
1390
  canvas_compiling: ' 🎨 本地编译自定义页面源码...',
1439
1391
  canvas_compile_done: ' ✅ 自定义页面编译完成!',
1440
1392
  canvas_compile_failed: ' ❌ 自定义页面编译失败:{0}',
1441
- canvas_icon_export_unavailable: '第 {2} 行:宜搭运行时图标库 {0} 未导出 {1}。请选择运行时支持的图标后重新编译;可选替代:{3}。',
1442
1393
  canvas_unbound_identifiers: 'Code Canvas 源码存在未声明标识符:{0}。请在同一文件中补齐 import、函数、Ref、状态或局部变量声明,并保持声明与全部引用同名。若标识符由非标准运行时提供,请改用 window.<name> 或 parentWindow.<name> 显式访问并先检查是否存在。',
1443
1394
  canvas_instance_api_unavailable: 'Code Canvas 组件不能使用平台 JSX 实例 API:{0}。请使用 React hooks、props 或 window.__OPENYIDA_YIDA_API__ 数据桥。',
1444
1395
  step_login: '\n🔑 Step 2: 读取登录态',
@@ -1464,7 +1415,7 @@ openyida - 宜搭命令行工具
1464
1415
  error: '\n❌ 发布异常: {0}',
1465
1416
  source_not_found: '❌ 源文件不存在:{0}',
1466
1417
  source_path_hint: '💡 可尝试使用源文件路径:{0}',
1467
- usage: '用法: openyida publish <源文件路径> <appType> <formUuid> [--health-check] [--force] [--canvas] [--compat] [--skip-lint] [--auto-nav-order] [--open|--no-open] [--json]',
1418
+ usage: '用法: openyida publish <源文件路径> <appType> <formUuid> [--health-check] [--canvas] [--auto-nav-order]',
1468
1419
  example: '示例:openyida publish pages/src/xxx.js APP_XXX FORM-XXX --health-check --auto-nav-order',
1469
1420
  },
1470
1421
 
@@ -1976,8 +1927,7 @@ Object.assign(module.exports.create_process || (module.exports.create_process =
1976
1927
  login_required: '未获取到有效宜搭登录态,请先执行 openyida login。',
1977
1928
  });
1978
1929
  module.exports.connector_test = {
1979
- usage: '用法: openyida connector test --connector-id <id> --action <actionId> [--params <json>] [--path-json <json>] [--query-json <json>] [--header-json <json>] [--body-json <json>] [--account-id <id>] [--system-token-app <appType>] [--ignore-defaults] [--json]',
1980
- ignore_defaults_system_token_warning: '已按 --ignore-defaults 忽略动作保存的默认参数值(其中包含非空 systemToken,本次请求不会使用);生产使用前请先在设计器清理默认值。',
1930
+ usage: '用法: openyida connector test --connector-id <id> --action <actionId> [--params <json>] [--path-json <json>] [--query-json <json>] [--header-json <json>] [--body-json <json>] [--account-id <id>] [--system-token-app <appType>] [--json]',
1981
1931
  invalid_json: '{0} 不是合法 JSON: {1}',
1982
1932
  json_object_required: '{0} 必须是 JSON 对象',
1983
1933
  unknown_flat_param: '参数 {0} 不在动作 Schema 中;请改用对应的结构化 JSON 参数',
@@ -2087,10 +2037,3 @@ module.exports.connector_e2e = {
2087
2037
  Object.assign(module.exports.process_errors || (module.exports.process_errors = {}), {
2088
2038
  action_config_invalid: '节点 {0} 的审批动作配置无效:{1}',
2089
2039
  });
2090
-
2091
- module.exports.cli_argument = { invalid: '参数无效或缺少值:{0}。请按命令帮助填写。' };
2092
-
2093
- module.exports.sample_options = {
2094
- 'theme_help': 'app-theme:--output 指向 CSS 文件;--design-file 读取已完成的设计。省略设计文件会重置 CSS,主题值通过设计填写。',
2095
- 'style_help': 'application-style:--style-id 必填,支持目录中全部主题;--output 指向目录,输出三文件,有同名文件时报错。'
2096
- };