openyida 2026.9.21 → 2026.9.22-beta.1

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 +145 -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
@@ -23,8 +23,8 @@
23
23
  "name": "yida-app",
24
24
  "path": "skills/yida-app/SKILL.md",
25
25
  "display_name": "宜搭完整应用开发",
26
- "description": "创建完整宜搭应用,或补齐已有应用时使用。先确认核心功能和实际用法;Fast 直接搭建,Plan 先确认方案。由 yida-prd 和 yida-design 同时准备业务与基础视觉,校验后创建或复用资源;表单/流程先于自定义页面。页面 UI 按已确认设计实现,代码示例按需参考;发布后优先按 PRD 导航顺序排序,检查后交付入口。",
27
- "done_when": "需求和方案已确认,业务与视觉说明一致;PRD 已写入 prd/<项目名>/prd.md,design.md 已写入 prd/<项目名>/design.md。仅修改单页时,发布成功后返回当前页面 URL;没有 publish 证据只能声明源码已修改,尚未发布。完整应用按实际范围交付一组入口:管理端按默认任务返回 {base_url}/{appType}/workbench 或已验证的 /workbench/{formUuid}(需要时带真实 viewUuid);独立前台仅在页面配置回读 renderNav=false(仅缺少 renderNav 时兼容 isRenderNav)且访问验证通过后交付 /custom/{formUuid};完整应用默认提供 create-app 或 app-list 返回的 adminUrl(开发者管理后台),不受宿主或登录方式影响;仅业务后台时交付业务后台与开发者管理后台,不追加前台;仅前台时不追加业务后台,交付前台与开发者管理后台;有前后台时交付三个地址,不分前后台时交付系统入口与开发者管理后台。用户明确排除的入口除外,地址生成不等于已验证访问权限。final 先用 2-3 句业务语言总结创建/复用了哪些表单、页面和流程,再给主入口链接;不默认输出表格、长列表或资源 ID。缺少真实权限或多身份验证时明确说明未完成。",
26
+ "description": "完整搭建或补齐普通 OpenYida 应用的流程编排技能。先分析需求并确认已有资源;首次搭建确认尚未明确的搭建方式、导航、风格和页面范围。复用用户提供的详细计划,Fast 直接搭建,Plan 先确认 PRD。需求确认后由 yida-prd 和 yida-design 同时准备业务与基础视觉;由 yida-app 校验通过后按 PRD 创建或复用应用、表单、流程和页面;表单/流程先于自定义页面;页面 UI 按已确认设计实现,代码示例按需参考;发布后优先按 PRD 导航顺序排序。",
27
+ "done_when": "用户需求已整理;yida-prd 与 yida-design 均已完成且一致性校验通过;PRD 已写入 prd/<项目名>/prd.md,design.md 已写入 prd/<项目名>/design.md;若本轮 Write/Edit 单个页面源码,必须真实执行成功 openyida publish <source> <appType> <displayPageFormUuid> 并返回当前页面 URL;其他完整应用、表单、流程、权限、主题、导航或批量资源场景返回 {base_url}/{appType}/workbench 作为应用访问入口组的固定项,仅在 standalone 且 isRenderNav=false 回读通过时增加 /custom/{formUuid},非云端 Agent 增加 /admin;final 先用 2-3 句业务语言总结创建/复用了哪些表单、页面和流程,再给主入口链接;不默认输出表格、长列表或资源 ID,也不逐项输出内部文件;没有 publish 证据只能声明源码已修改,尚未发布。",
28
28
  "category": "yida-skills/app",
29
29
  "tags": [
30
30
  "宜搭",
@@ -43,7 +43,7 @@
43
43
  "name": "yida-requirement-analysis",
44
44
  "path": "skills/yida-requirement-analysis/SKILL.md",
45
45
  "display_name": "宜搭需求分析",
46
- "description": "从应用需求推导核心功能候选,尽早确认范围和实际用法,再推导入口建议,整合 .cache/openyida/<项目名>/requirement-brief.json;平台导航或自定义导航交下游 AI 判断,不生成 PRD、视觉设计或页面源码。",
46
+ "description": "统一整理完整应用的用户需求和已确认资源,写入 .cache/openyida/<项目名>/requirement-brief.json,供 PRD 与视觉设计共同读取;不生成 PRD、视觉设计或页面源码。",
47
47
  "category": "yida-skills/design",
48
48
  "tags": ["需求分析", "整理需求", "完整应用"],
49
49
  "aliases": ["整理用户需求", "需求分析"],
@@ -113,7 +113,7 @@
113
113
  "name": "yida-image-assets",
114
114
  "path": "skills/yida-image-assets/SKILL.md",
115
115
  "display_name": "宜搭图片素材准备",
116
- "description": "按页面并发选图,允许外链的图片检查后直接使用,需托管时上传。",
116
+ "description": "按页面选图,默认上传宜搭图片附件获取链接;超过 20 MiB 保留原链接。",
117
117
  "category": "yida-skills/design",
118
118
  "tags": ["图片素材", "联网搜图", "图片生成", "背景图", "商品图"],
119
119
  "aliases": ["素材设计", "图片搜索", "生成图片", "商品占位图"],
@@ -300,9 +300,6 @@
300
300
  "window.__OPENYIDA_UTILS__",
301
301
  "官网首页",
302
302
  "工作台",
303
- "办事门户",
304
- "操作队列",
305
- "任务看板",
306
303
  "看板页面",
307
304
  ".canvas.jsx"
308
305
  ],
@@ -311,13 +308,10 @@
311
308
  "renderJsx 平台 Jsx 组件迁移"
312
309
  ],
313
310
  "command_ids": [
314
- "sample",
315
311
  "build-page",
316
- "check-page",
317
- "compile",
318
312
  "publish"
319
313
  ],
320
- "done_when": ".canvas.jsx 源码生成或修改后,必须真实执行成功 openyida publish <source> <appType> <displayPageFormUuid> 写入 YidaCodeCanvas Schema;没有 publish 证据只能声明源码已修改,尚未发布。普通表单提交/详情入口必须接入 CLI 的 form-open-container 模板,绑定 openForm 并挂载 formOpenContainer;源码检查通过后,实际验证抽屉 iframe、标题栏操作、调宽及关闭刷新。"
314
+ "done_when": ".canvas.jsx 源码生成或修改后,必须真实执行成功 openyida publish <source> <appType> <displayPageFormUuid> 写入 YidaCodeCanvas Schema;没有 publish 证据只能声明源码已修改,尚未发布。"
321
315
  },
322
316
  {
323
317
  "name": "yida-canvas-data-binding",
@@ -598,7 +592,7 @@
598
592
  "name": "yida-create-page",
599
593
  "path": "skills/yida-create-page/SKILL.md",
600
594
  "display_name": "创建自定义页面",
601
- "description": "创建缺失的宜搭自定义展示页面,返回 pageId(即 formUuid);已有页面改走开发和发布。",
595
+ "description": "创建宜搭自定义展示页面并返回 formUuid,后续用于 JSX 编写和发布。",
602
596
  "category": "yida-skills/page",
603
597
  "tags": [
604
598
  "自定义页面",
@@ -608,13 +602,7 @@
608
602
  ],
609
603
  "aliases": [
610
604
  "新建页面"
611
- ],
612
- "command_ids": [
613
- "create-page",
614
- "update-form-config",
615
- "get-form-config"
616
- ],
617
- "done_when": "取得真实 pageId;要求 --hide-nav 时还须 navigationVerification.verified=true。若 pageCreated=true 但隐藏未确认,按 recovery 修复原页面,不重复创建。"
605
+ ]
618
606
  },
619
607
  {
620
608
  "name": "yida-create-process",
@@ -672,7 +660,7 @@
672
660
  "name": "yida-dashboard",
673
661
  "path": "skills/yida-dashboard/SKILL.md",
674
662
  "display_name": "经营看板产品化交付",
675
- "description": "经营分析看板、驾驶舱和数据大屏交付,用于指标判断、趋势分析和投屏监控;普通待办工作台、操作队列和办事门户使用自定义页面技能。",
663
+ "description": "经营看板、驾驶舱和数据大屏产品化交付,覆盖真实数据接入、筛选交互、截图、短链和钉钉待办闭环。",
676
664
  "category": "yida-skills/analytics",
677
665
  "tags": [
678
666
  "看板",
@@ -687,18 +675,14 @@
687
675
  "positive_signals": [
688
676
  "经营看板",
689
677
  "管理驾驶舱",
690
- "经营指标分析",
678
+ "产品化工作台",
691
679
  "指标闭环",
692
- "分析结果派单"
680
+ "行动看板"
693
681
  ],
694
682
  "negative_signals": [
695
683
  "单个 ECharts 图",
696
684
  "原生报表",
697
- "只做页面视觉美化",
698
- "待办工作台",
699
- "操作队列",
700
- "办事门户",
701
- "任务看板"
685
+ "只做页面视觉美化"
702
686
  ],
703
687
  "command_ids": [
704
688
  "create-page",
@@ -996,7 +980,7 @@
996
980
  "name": "yida-nav-group",
997
981
  "path": "skills/yida-nav-group/SKILL.md",
998
982
  "display_name": "应用左侧导航分组",
999
- "description": "整理宜搭已有的导航菜单时使用。支持查看菜单、新建或调整分组、移动和排序页面、隐藏或显示菜单项。 PRD 写明导航顺序时用 order;旧版不分前后台的应用缺少明确顺序时用 auto-order 兜底。",
983
+ "description": "宜搭应用左侧导航分组管理。查询导航树、新建或重命名分组、移动排序表单页面和外链;PRD 写明导航顺序时用 order,缺少明确页面清单时用 auto-order 兜底。",
1000
984
  "category": "yida-skills/app",
1001
985
  "tags": [
1002
986
  "导航",
@@ -1012,7 +996,7 @@
1012
996
  "name": "yida-nav-shell",
1013
997
  "path": "skills/yida-nav-shell/SKILL.md",
1014
998
  "display_name": "页面内导航壳",
1015
- "description": "为应用或独立前台页面制作自己的导航菜单时使用。只做前台菜单时,保留管理端的宜搭导航;整个应用都使用自定义菜单时,再隐藏应用导航。",
999
+ "description": "自定义页面隐藏应用导航后,用 JSX 自绘页面内导航壳,覆盖侧边、顶部、混合、浮动和标签形态。",
1016
1000
  "category": "yida-skills/page",
1017
1001
  "tags": [
1018
1002
  "页面内导航",
@@ -1044,7 +1028,7 @@
1044
1028
  "name": "yida-page-config",
1045
1029
  "path": "skills/yida-page-config/SKILL.md",
1046
1030
  "display_name": "页面公开访问配置",
1047
- "description": "为已有页面设置公开访问、组织内分享,或隐藏该页的平台导航时使用。隐藏导航不会改变访问权限。",
1031
+ "description": "页面公开访问和组织内分享配置,支持 URL 验证、配置保存和导航显示控制。",
1048
1032
  "category": "yida-skills/access",
1049
1033
  "tags": [
1050
1034
  "公开访问",
@@ -1109,7 +1093,7 @@
1109
1093
  "command_ids": [
1110
1094
  "publish"
1111
1095
  ],
1112
- "done_when": "final 证据只认真实执行成功的 openyida publish <source> <appType> <displayPageFormUuid> 命令结果;本地文件编辑、diff、check-page 或 compile 不能证明远端页面已更新。Canvas 普通表单入口须通过 form-open-container 源码检查;抽屉实际交互另行验收。",
1096
+ "done_when": "final 证据只认真实执行成功的 openyida publish <source> <appType> <displayPageFormUuid> 命令结果;本地文件编辑、diff、check-page 或 compile 不能证明远端页面已更新。",
1113
1097
  "category": "yida-skills/page",
1114
1098
  "tags": [
1115
1099
  "发布",
@@ -1374,10 +1358,6 @@
1374
1358
  "display_name": "自定义页面",
1375
1359
  "description": "自定义展示页创建、自定义页面开发、Canvas 运行桥、平台 JSX 组件页面维护、真实数据绑定、YidaCodeCanvas 迁移、页面发布、防覆盖、页面内导航壳和 PPT 页面。",
1376
1360
  "signals": [
1377
- "工作台",
1378
- "办事门户",
1379
- "操作队列",
1380
- "任务看板",
1381
1361
  "自定义页面",
1382
1362
  "YidaCodeCanvas",
1383
1363
  "Canvas 运行桥",
@@ -1402,7 +1382,7 @@
1402
1382
  "图表",
1403
1383
  "Recharts",
1404
1384
  "ECharts",
1405
- "经营分析看板",
1385
+ "看板",
1406
1386
  "驾驶舱",
1407
1387
  "数据大屏"
1408
1388
  ]
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- // URLs derived by the CLI from a successful app result and its authenticated
4
- // base URL. Constructing a route does not verify the recipient's access rights.
5
- function buildApplicationEntryUrls({ appType, baseUrl, systemLink }) {
6
- if (typeof appType !== 'string' || !/^APP_[A-Za-z0-9_-]+$/.test(appType)) { return {}; }
7
- let origin;
8
- const params = new URLSearchParams();
9
- try {
10
- const base = new URL(baseUrl);
11
- if (!['https:', 'http:'].includes(base.protocol) || base.username || base.password) { return {}; }
12
- origin = base.origin;
13
- } catch { return {}; }
14
- try {
15
- if (systemLink) {
16
- const app = new URL(systemLink, origin);
17
- if (['https:', 'http:'].includes(app.protocol) && !app.username && !app.password && (app.pathname === `/${appType}` || app.pathname.startsWith(`/${appType}/`))) {
18
- origin = app.origin;
19
- for (const key of ['corpid', 'locale']) {
20
- if (app.searchParams.has(key)) { params.set(key, app.searchParams.get(key)); }
21
- }
22
- }
23
- }
24
- } catch { /* Ignore malformed optional links; retain the authenticated base. */ }
25
- const query = params.toString();
26
- const suffix = query ? `?${query}` : '';
27
- const workbenchUrl = `${origin}/${appType}/workbench${suffix}`;
28
- return { appUrl: workbenchUrl, workbenchUrl, adminUrl: `${origin}/${appType}/admin${suffix}` };
29
- }
30
-
31
- module.exports = { buildApplicationEntryUrls };
@@ -1,69 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const { CliError } = require('../core/cli-error');
6
- const { t } = require('../core/i18n');
7
- const { DESIGN_SKILL_ROOT, loadThemeIndex } = require('../design-plan/themes');
8
- const START = '/* OPENYIDA APPLICATION STYLE RECIPES START';
9
- const END = '/* OPENYIDA APPLICATION STYLE RECIPES END */';
10
- const CREATIVE_TOKENS = [
11
- '--pod-page-bg-color', '--pod-card-bg-color', '--color-text1-4',
12
- '--form-element-medium-corner', '--form-element-medium-height',
13
- '--pod-page-footer-bg-color', '--pod-sticky-footer-box-shadow',
14
- '--oyd-content-width', '--oyd-content-padding', '--oyd-field-gap',
15
- '--oyd-heading-font', '--oyd-heading-size', '--oyd-rule-style',
16
- '--pod-shell-theme-bg-color', '--pod-nav-item-text-color', '--pod-nav-item-text-hover-color',
17
- '--pod-nav-item-text-selected-color', '--pod-nav-menu-bg-hover-color', '--pod-nav-menu-bg-selected-color',
18
- ];
19
-
20
- function validateCreativeDirection(direction, tokens) {
21
- const missing = ['businessRationale', 'composition', 'typography', 'material', 'formLayout']
22
- .filter(key => typeof direction?.[key] !== 'string' || !direction[key].trim());
23
- missing.push(...CREATIVE_TOKENS.filter(key => typeof tokens?.[key] !== 'string' || !tokens[key].trim()));
24
- if (missing.length) {
25
- throw new CliError(t('design_document.invalid', 'creativeDirection', missing.join(', ')), {
26
- code: 'APPLICATION_STYLE_CREATIVE_INCOMPLETE', details: { missing },
27
- });
28
- }
29
- }
30
-
31
- function applyApplicationStyle(css, metadata, tokens) {
32
- const style = metadata.applicationStyle;
33
- if (style && (style.recipe !== 'application-style-v1' || !['template', 'creative'].includes(style.mode))) {
34
- throw new CliError(t('design_document.invalid', 'applicationStyle', 'APPLICATION_STYLE_INVALID'), { code: 'APPLICATION_STYLE_INVALID' });
35
- }
36
- if (style?.mode === 'creative') {validateCreativeDirection(metadata.creativeDirection, tokens);}
37
- const first = css.indexOf(START);
38
- const last = css.indexOf(END);
39
- if (first >= 0 && last < first) {
40
- throw new CliError(t('design_document.invalid', 'app_theme.css', 'APPLICATION_STYLE_CSS_INVALID'), { code: 'APPLICATION_STYLE_CSS_INVALID' });
41
- }
42
- const recipe = style
43
- ? fs.readFileSync(path.join(DESIGN_SKILL_ROOT, 'references/theme/application-style-recipes.css'), 'utf8').trim()
44
- : '';
45
- // Only the managed recipe block is replaced. User-authored rules stay intact.
46
- if (first >= 0) {return css.slice(0, first) + recipe + css.slice(last + END.length);}
47
- return recipe ? `${css.trimEnd()}\n\n${recipe}\n` : css;
48
- }
49
-
50
- function exportApplicationStyle(id, outputDirectory) {
51
- const theme = loadThemeIndex().themes.find(item => item.themeId === id);
52
- if (!theme) {throw new CliError(t('design_document.invalid', id || '--style-id', 'APPLICATION_STYLE_UNKNOWN'), { code: 'APPLICATION_STYLE_UNKNOWN' });}
53
- const directory = path.resolve(outputDirectory);
54
- const assets = [['design.md', theme.templatePath], ['app_theme.css', theme.cssTemplatePath], ['form-layout.json', theme.formLayoutPath]];
55
- const outputs = assets.map(([name, relative]) => {
56
- const source = path.resolve(DESIGN_SKILL_ROOT, relative);
57
- const target = path.join(directory, name);
58
- const root = path.resolve(DESIGN_SKILL_ROOT, 'templates/design-themes') + path.sep;
59
- if (!source.startsWith(root) || fs.existsSync(target)) {
60
- throw new CliError(t('design_document.invalid', target, 'APPLICATION_STYLE_OUTPUT_CONFLICT'), { code: 'APPLICATION_STYLE_OUTPUT_CONFLICT' });
61
- }
62
- return { source, target, content: fs.readFileSync(source, 'utf8') };
63
- });
64
- fs.mkdirSync(directory, { recursive: true });
65
- for (const item of outputs) {fs.writeFileSync(item.target, item.content, { flag: 'wx' });}
66
- return { success: true, mode: theme.mode, themeId: id, authoringRequired: true, outputs: outputs.map(item => item.target) };
67
- }
68
-
69
- module.exports = { applyApplicationStyle, validateCreativeDirection, CREATIVE_TOKENS, exportApplicationStyle };