yugoo-design 0.1.2 → 0.2.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 (669) hide show
  1. package/README.md +4 -4
  2. package/bin/npm-agent-installation.mjs +1 -1
  3. package/bin/npm-desktop-preparation.mjs +5 -0
  4. package/bin/npm-installer-dsh.mjs +92 -4
  5. package/package.json +21 -2
  6. package/payload/desktop-preparation/materials.json +180 -2
  7. package/payload/desktop-preparation/qwenwork-package.mjs +4 -0
  8. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/index.md +143 -0
  9. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/material.json +1 -0
  10. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  11. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  12. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  13. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  14. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  15. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  16. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  17. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  18. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  19. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  20. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  21. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  22. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  23. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  24. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  25. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  26. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  27. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  28. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  29. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  30. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  31. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  32. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  33. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/system-design-baseline.md +903 -0
  34. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  35. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  36. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  37. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  38. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  39. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  40. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  41. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  42. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  43. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  44. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  45. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  46. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  47. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  48. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  49. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  50. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  51. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  52. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  53. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  54. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  55. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  56. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  57. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  58. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  59. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  60. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  61. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  62. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  63. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  64. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  65. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  66. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  67. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  68. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  69. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  70. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  71. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  72. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  73. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  74. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  75. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  76. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  77. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  78. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  79. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  80. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  81. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  82. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  83. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  84. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  85. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  86. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  87. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  88. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  89. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  90. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  91. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  92. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  93. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  94. package/payload/desktop-preparation/qwenwork-template/skills/design-bundle-creator/SKILL.md +19 -0
  95. package/payload/desktop-preparation/qwenwork-template/skills/design-kit-creator/SKILL.md +19 -0
  96. package/payload/desktop-preparation/qwenwork-template/skills/design-skill-creator/SKILL.md +19 -0
  97. package/payload/desktop-preparation/src/browser-access.mjs +6 -9
  98. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/index.md +143 -0
  99. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/material.json +1 -0
  100. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  101. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  102. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  103. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  104. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  105. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  106. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  107. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  108. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  109. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  110. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  111. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  112. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  113. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  114. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  115. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  116. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  117. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  118. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  119. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  120. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  121. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  122. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  123. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/system-design-baseline.md +903 -0
  124. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  125. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  126. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  127. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  128. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  129. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  130. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  131. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  132. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  133. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  134. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  135. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  136. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  137. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  138. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  139. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  140. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  141. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  142. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  143. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  144. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  145. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  146. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  147. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  148. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  149. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  150. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  151. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  152. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  153. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  154. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  155. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  156. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  157. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  158. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  159. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  160. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  161. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  162. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  163. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  164. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  165. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  166. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  167. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  168. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  169. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  170. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  171. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  172. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  173. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  174. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  175. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  176. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  177. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  178. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  179. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  180. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  181. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  182. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  183. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  184. package/payload/desktop-preparation/studio-authoring-template/skills/design-bundle-creator/SKILL.md +19 -0
  185. package/payload/desktop-preparation/studio-authoring-template/skills/design-kit-creator/SKILL.md +19 -0
  186. package/payload/desktop-preparation/studio-authoring-template/skills/design-skill-creator/SKILL.md +19 -0
  187. package/payload/overlays/claude-code/.claude-plugin/plugin.json +1 -1
  188. package/payload/overlays/claude-code/authoring/studio-creators/index.md +143 -0
  189. package/payload/overlays/claude-code/authoring/studio-creators/material.json +1 -0
  190. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  191. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  192. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  193. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  194. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  195. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  196. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  197. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  198. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  199. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  200. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  201. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  202. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  203. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  204. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  205. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  206. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  207. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  208. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  209. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  210. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  211. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  212. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  213. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/system-design-baseline.md +903 -0
  214. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  215. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  216. package/payload/overlays/claude-code/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  217. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  218. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  219. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  220. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  221. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  222. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  223. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  224. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  225. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  226. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  227. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  228. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  229. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  230. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  231. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  232. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  233. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  234. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  235. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  236. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  237. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  238. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  239. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  240. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  241. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  242. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  243. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  244. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  245. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  246. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  247. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  248. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  249. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  250. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  251. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  252. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  253. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  254. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  255. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  256. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  257. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  258. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  259. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  260. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  261. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  262. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  263. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  264. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  265. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  266. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  267. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  268. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  269. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  270. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  271. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  272. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  273. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  274. package/payload/overlays/claude-code/skills/design-bundle-creator/SKILL.md +19 -0
  275. package/payload/overlays/claude-code/skills/design-kit-creator/SKILL.md +19 -0
  276. package/payload/overlays/claude-code/skills/design-skill-creator/SKILL.md +19 -0
  277. package/payload/overlays/codex/.codex-plugin/plugin.json +1 -1
  278. package/payload/overlays/codex/authoring/studio-creators/index.md +143 -0
  279. package/payload/overlays/codex/authoring/studio-creators/material.json +1 -0
  280. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  281. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  282. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  283. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  284. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  285. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  286. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  287. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  288. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  289. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  290. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  291. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  292. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  293. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  294. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  295. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  296. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  297. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  298. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  299. package/payload/overlays/codex/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  300. package/payload/overlays/codex/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  301. package/payload/overlays/codex/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  302. package/payload/overlays/codex/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  303. package/payload/overlays/codex/authoring/studio-creators/source/docs/system-design-baseline.md +903 -0
  304. package/payload/overlays/codex/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  305. package/payload/overlays/codex/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  306. package/payload/overlays/codex/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  307. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  308. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  309. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  310. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  311. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  312. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  313. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  314. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  315. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  316. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  317. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  318. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  319. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  320. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  321. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  322. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  323. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  324. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  325. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  326. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  327. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  328. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  329. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  330. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  331. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  332. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  333. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  334. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  335. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  336. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  337. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  338. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  339. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  340. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  341. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  342. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  343. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  344. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  345. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  346. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  347. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  348. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  349. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  350. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  351. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  352. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  353. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  354. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  355. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  356. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  357. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  358. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  359. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  360. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  361. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  362. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  363. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  364. package/payload/overlays/codex/skills/design-bundle-creator/SKILL.md +19 -0
  365. package/payload/overlays/codex/skills/design-kit-creator/SKILL.md +19 -0
  366. package/payload/overlays/codex/skills/design-panel/SKILL.md +5 -0
  367. package/payload/overlays/codex/skills/design-skill-creator/SKILL.md +19 -0
  368. package/payload/overlays/codex/skills/yugoo/SKILL.md +34 -1
  369. package/payload/overlays/qoder/.qoder-plugin/plugin.json +1 -1
  370. package/payload/overlays/qoder/authoring/studio-creators/index.md +143 -0
  371. package/payload/overlays/qoder/authoring/studio-creators/material.json +1 -0
  372. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  373. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  374. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  375. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  376. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  377. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  378. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  379. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  380. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  381. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  382. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  383. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  384. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  385. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  386. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  387. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  388. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  389. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  390. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  391. package/payload/overlays/qoder/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  392. package/payload/overlays/qoder/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  393. package/payload/overlays/qoder/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  394. package/payload/overlays/qoder/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  395. package/payload/overlays/qoder/authoring/studio-creators/source/docs/system-design-baseline.md +903 -0
  396. package/payload/overlays/qoder/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  397. package/payload/overlays/qoder/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  398. package/payload/overlays/qoder/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  399. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  400. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  401. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  402. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  403. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  404. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  405. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  406. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  407. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  408. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  409. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  410. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  411. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  412. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  413. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  414. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  415. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  416. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  417. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  418. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  419. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  420. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  421. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  422. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  423. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  424. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  425. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  426. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  427. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  428. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  429. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  430. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  431. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  432. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  433. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  434. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  435. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  436. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  437. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  438. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  439. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  440. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  441. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  442. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  443. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  444. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  445. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  446. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  447. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  448. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  449. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  450. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  451. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  452. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  453. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  454. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  455. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  456. package/payload/overlays/qoder/skills/design-bundle-creator/SKILL.md +19 -0
  457. package/payload/overlays/qoder/skills/design-kit-creator/SKILL.md +19 -0
  458. package/payload/overlays/qoder/skills/design-skill-creator/SKILL.md +19 -0
  459. package/payload/shared/authoring/panel-components.json +1345 -1041
  460. package/payload/shared/authoring/studio-creators/index.md +143 -0
  461. package/payload/shared/authoring/studio-creators/material.json +1 -0
  462. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  463. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  464. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  465. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  466. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  467. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  468. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  469. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  470. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  471. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  472. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  473. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  474. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  475. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  476. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  477. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  478. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  479. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  480. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  481. package/payload/shared/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  482. package/payload/shared/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  483. package/payload/shared/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  484. package/payload/shared/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  485. package/payload/shared/authoring/studio-creators/source/docs/system-design-baseline.md +903 -0
  486. package/payload/shared/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  487. package/payload/shared/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  488. package/payload/shared/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  489. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  490. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  491. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  492. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  493. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  494. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  495. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  496. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  497. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  498. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  499. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  500. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  501. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  502. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  503. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  504. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  505. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  506. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  507. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  508. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  509. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  510. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  511. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  512. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  513. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  514. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  515. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  516. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  517. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  518. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  519. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  520. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  521. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  522. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  523. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  524. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  525. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  526. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  527. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  528. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  529. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  530. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  531. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  532. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  533. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  534. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  535. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  536. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  537. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  538. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  539. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  540. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  541. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  542. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  543. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  544. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  545. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  546. package/payload/shared/bundles/ai_agent_capabilities/locales/en-US.json +1 -1
  547. package/payload/shared/bundles/ai_agent_capabilities/locales/zh-CN.json +1 -1
  548. package/payload/shared/bundles/business_data/locales/en-US.json +1 -1
  549. package/payload/shared/bundles/business_data/locales/zh-CN.json +1 -1
  550. package/payload/shared/bundles/business_rules/locales/en-US.json +1 -1
  551. package/payload/shared/bundles/business_rules/locales/zh-CN.json +1 -1
  552. package/payload/shared/bundles/design_style/locales/en-US.json +1 -1
  553. package/payload/shared/bundles/design_style/locales/zh-CN.json +1 -1
  554. package/payload/shared/bundles/flow_design/locales/en-US.json +1 -1
  555. package/payload/shared/bundles/flow_design/locales/zh-CN.json +1 -1
  556. package/payload/shared/bundles/function_modules/locales/en-US.json +1 -2
  557. package/payload/shared/bundles/function_modules/locales/zh-CN.json +1 -2
  558. package/payload/shared/bundles/function_modules/panel.yaml +1 -1
  559. package/payload/shared/bundles/integration_design/locales/en-US.json +1 -1
  560. package/payload/shared/bundles/integration_design/locales/zh-CN.json +1 -1
  561. package/payload/shared/bundles/notification_design/locales/en-US.json +1 -1
  562. package/payload/shared/bundles/notification_design/locales/zh-CN.json +1 -1
  563. package/payload/shared/bundles/page_design/locales/en-US.json +1 -1
  564. package/payload/shared/bundles/page_design/locales/zh-CN.json +1 -1
  565. package/payload/shared/bundles/quality_acceptance/locales/en-US.json +1 -1
  566. package/payload/shared/bundles/quality_acceptance/locales/zh-CN.json +1 -1
  567. package/payload/shared/bundles/research/SKILL.md +38 -4
  568. package/payload/shared/bundles/research/locales/en-US.json +1 -1
  569. package/payload/shared/bundles/research/locales/zh-CN.json +1 -1
  570. package/payload/shared/bundles/research/reference/artifact-contract.md +31 -0
  571. package/payload/shared/bundles/research/reference/preview.json +1 -1
  572. package/payload/shared/bundles/research/skill.yaml +1 -1
  573. package/payload/shared/bundles/research/validation.yaml +3 -0
  574. package/payload/shared/bundles/role_access/locales/en-US.json +1 -1
  575. package/payload/shared/bundles/role_access/locales/zh-CN.json +1 -1
  576. package/payload/shared/bundles/smart_questions/locales/en-US.json +1 -1
  577. package/payload/shared/bundles/smart_questions/locales/zh-CN.json +1 -1
  578. package/payload/shared/bundles/web_app_prd_assembly/locales/en-US.json +1 -1
  579. package/payload/shared/bundles/web_app_prd_assembly/locales/zh-CN.json +1 -1
  580. package/payload/shared/bundles/whiteboard/locales/en-US.json +1 -1
  581. package/payload/shared/bundles/whiteboard/locales/zh-CN.json +1 -1
  582. package/payload/shared/kits/web_app/kit.yaml +1 -1
  583. package/payload/shared/kits/web_app/mindset.md +1 -1
  584. package/payload/shared/knowledge/runtime-manifest.json +4 -2
  585. package/payload/shared/knowledge/runtime.mjs +19 -26
  586. package/payload/shared/scripts/{codex-connection-DuV2wtkn.mjs → codex-connection-1RvU1XCj.mjs} +115 -68
  587. package/payload/shared/scripts/codex-desktop-bridge.mjs +2 -2
  588. package/payload/shared/scripts/{connection-file-Dk1TJHgf.mjs → connection-file-CNwrHbAG.mjs} +3 -1
  589. package/payload/shared/scripts/{content-archive-4UdioMU9.mjs → content-archive-CnwVcuWA.mjs} +66 -22
  590. package/payload/shared/scripts/{core-entry-B6zaTh1o.mjs → core-entry-DESmwP78.mjs} +1121 -993
  591. package/payload/shared/scripts/design.mjs +136 -227
  592. package/payload/shared/scripts/git-runtime-check.mjs +1 -1
  593. package/payload/shared/scripts/knowledge-snapshot-query.mjs +1 -1
  594. package/payload/shared/scripts/{load-DE29wyw0.mjs → load-C-RwS23Y.mjs} +1 -1
  595. package/payload/shared/scripts/panel-preview-BeVRYFk1.mjs +78 -0
  596. package/payload/shared/scripts/{server-BoVIQm2J.mjs → server-BnEtfptI.mjs} +423 -1462
  597. package/payload/shared/scripts/studio-CFUWk0vJ.mjs +868 -0
  598. package/payload/shared/scripts/{studio-instance-composition-ClAJ72-M.mjs → studio-instance-composition-BJzYMyvV.mjs} +165 -62
  599. package/payload/shared/scripts/studio-instances-gQFR9yqL.mjs +1275 -0
  600. package/payload/shared/scripts/studio-panel-drafts-Dq171F6x.mjs +393 -0
  601. package/payload/shared/scripts/{windows-private-storage-DRAXaqae.mjs → windows-native-platform-DLm-tedp.mjs} +7 -150
  602. package/payload/shared/scripts/windows-private-storage-Q0cTolE3.mjs +149 -0
  603. package/payload/shared/scripts/workbuddy-panel-service.mjs +2 -2
  604. package/payload/shared/web/{abnfDiagram-VCTEODGH-BElHS-zE.js → abnfDiagram-VCTEODGH-B9IX6J0A.js} +3 -3
  605. package/payload/shared/web/{architectureDiagram-5GKGNRK7-BECL41Da.js → architectureDiagram-5GKGNRK7-BisnJYZ9.js} +5 -5
  606. package/payload/shared/web/{blockDiagram-I7D4REHJ-BHdPKhvo.js → blockDiagram-I7D4REHJ-B2P0WSPo.js} +9 -9
  607. package/payload/shared/web/{c4Diagram-7LVT6UL2-CWIbzZY_.js → c4Diagram-7LVT6UL2-D48X7taa.js} +7 -7
  608. package/payload/shared/web/{channel-CIc-uLOz.js → channel-BbOrJIbZ.js} +1 -1
  609. package/payload/shared/web/{chunk-4HAMMTFA-b3a3G6vp.js → chunk-4HAMMTFA--gjf22vn.js} +5 -5
  610. package/payload/shared/web/{chunk-75Z2AOVW-CRrsMd7V.js → chunk-75Z2AOVW-B2_IycTx.js} +1 -1
  611. package/payload/shared/web/{chunk-DU6HZSFF-DQGKOvUD.js → chunk-DU6HZSFF-U8npu9I8.js} +1 -1
  612. package/payload/shared/web/{chunk-F27PBJKO-CKTDAMhD.js → chunk-F27PBJKO-CTwYnE5c.js} +1 -1
  613. package/payload/shared/web/{chunk-GMAD6QVW-CR6pf1Wk.js → chunk-GMAD6QVW-CKC1iaEH.js} +3 -3
  614. package/payload/shared/web/{chunk-GVQU2GXP-Cuq0uwWc.js → chunk-GVQU2GXP-dsHcuLJt.js} +2 -2
  615. package/payload/shared/web/{chunk-IMKFNOWR-BIkawNBO.js → chunk-IMKFNOWR-DB9Jxepw.js} +5 -5
  616. package/payload/shared/web/{chunk-L3NEJ4N5-CuRR4sgK.js → chunk-L3NEJ4N5-CdduiJry.js} +5 -5
  617. package/payload/shared/web/{chunk-OSK3NFVY-o5AaXVbW.js → chunk-OSK3NFVY-BOueY91y.js} +6 -6
  618. package/payload/shared/web/{chunk-P2QGCYS3-CQGN9yCW.js → chunk-P2QGCYS3-yDDaRgcO.js} +1 -1
  619. package/payload/shared/web/{chunk-POPQ4Y6H-CoV8F_6L.js → chunk-POPQ4Y6H-CljBbmoJ.js} +1 -1
  620. package/payload/shared/web/{chunk-PWAF6VOD-DLPv7U5s.js → chunk-PWAF6VOD-CIvbnSr5.js} +1 -1
  621. package/payload/shared/web/{chunk-SHT3W25Y-DAA9rzEQ.js → chunk-SHT3W25Y-BtoLtpjX.js} +7 -7
  622. package/payload/shared/web/{chunk-SVP7TREG-CsNwZR-J.js → chunk-SVP7TREG-BZs6p27H.js} +2 -2
  623. package/payload/shared/web/{chunk-TICWLB2K-BkUUbwgD.js → chunk-TICWLB2K-CKuC0THI.js} +5 -5
  624. package/payload/shared/web/{classDiagram-ZZMXUADV-HbaRZ3Nl.js → classDiagram-ZZMXUADV-CSdRlepW.js} +13 -13
  625. package/payload/shared/web/{classDiagram-v2-VYDZK3BY-Bkk8o06s.js → classDiagram-v2-VYDZK3BY-B2q6X41N.js} +13 -13
  626. package/payload/shared/web/client.js +39141 -5934
  627. package/payload/shared/web/{cynefinDiagram-5FMLGOSQ-CP-tjXE5.js → cynefinDiagram-5FMLGOSQ-4N8NcsmJ.js} +3 -3
  628. package/payload/shared/web/{dagre-GXQ25YYZ-GUxh673_.js → dagre-GXQ25YYZ-CcOoDuJv.js} +10 -10
  629. package/payload/shared/web/{diagram-S7CK7UJ4-BFDH1Gbu.js → diagram-S7CK7UJ4-eOfyUI5w.js} +4 -4
  630. package/payload/shared/web/{diagram-UQ7AKVKN-PHM6uSDT.js → diagram-UQ7AKVKN-6SdElfMd.js} +3 -3
  631. package/payload/shared/web/{diagram-VSXAHHWV-C6m_LjuJ.js → diagram-VSXAHHWV-DmzS3Yhs.js} +2 -2
  632. package/payload/shared/web/{diagram-VX7I27RA-G0Og_1eB.js → diagram-VX7I27RA-CJ0mjzif.js} +5 -5
  633. package/payload/shared/web/{diagram-Z3DM3KII-DxLU0CyU.js → diagram-Z3DM3KII-b86RsB6X.js} +3 -3
  634. package/payload/shared/web/{dist-CpfF1Jph.js → dist-USJ_fvfj.js} +49 -49
  635. package/payload/shared/web/{ebnfDiagram-PWID7BFC-Dh7NgFDw.js → ebnfDiagram-PWID7BFC-BBo2ROEO.js} +3 -3
  636. package/payload/shared/web/{erDiagram-RLTQ6QDP-De1Ves_r.js → erDiagram-RLTQ6QDP-B7ovyDrh.js} +12 -12
  637. package/payload/shared/web/{excalidraw-surface-q56LZexh.js → excalidraw-surface-BAJM_4P2.js} +1 -1
  638. package/payload/shared/web/flowDiagram-HODETNUW-BmAFlSDM.js +16 -0
  639. package/payload/shared/web/{ganttDiagram-EL5Y4UJY-9UcawiqG.js → ganttDiagram-EL5Y4UJY-BF9LYJFN.js} +2 -2
  640. package/payload/shared/web/{gitGraphDiagram-WWUBYQGX-BYFpRlq8.js → gitGraphDiagram-WWUBYQGX-BLzvYjNu.js} +2 -2
  641. package/payload/shared/web/{infoDiagram-27XIBGKW-B_sYOrDT.js → infoDiagram-27XIBGKW-Cg4jV_tA.js} +2 -2
  642. package/payload/shared/web/{ishikawaDiagram-5VMMS53U-Dbq0pjSI.js → ishikawaDiagram-5VMMS53U-BqfEZdpO.js} +3 -3
  643. package/payload/shared/web/{journeyDiagram-3NMN7TZE-CzWCm5-W.js → journeyDiagram-3NMN7TZE-_QW0fOqV.js} +2 -2
  644. package/payload/shared/web/{kanban-definition-UXKFOSKX-BPt2iOge.js → kanban-definition-UXKFOSKX-C1qxSJso.js} +9 -9
  645. package/payload/shared/web/{mindmap-definition-YA3MSWOX--s-o7l9c.js → mindmap-definition-YA3MSWOX-CxX8l7QH.js} +11 -11
  646. package/payload/shared/web/{pegDiagram-XKGWAZYB-BtVScKlh.js → pegDiagram-XKGWAZYB-CTCTE951.js} +3 -3
  647. package/payload/shared/web/{pieDiagram-E7YTZNPT-BVRgxFzd.js → pieDiagram-E7YTZNPT-BVaT5mnK.js} +3 -3
  648. package/payload/shared/web/{quadrantDiagram-AXDQQJYC-CoI_hWsn.js → quadrantDiagram-AXDQQJYC-DC6iypTQ.js} +1 -1
  649. package/payload/shared/web/{railroadDiagram-O6MQD6OU-CQvkXn2E.js → railroadDiagram-O6MQD6OU-CKk1xSyC.js} +3 -3
  650. package/payload/shared/web/{requirementDiagram-BXWQKSXE-BeMX6Y3_.js → requirementDiagram-BXWQKSXE-D3r71qoR.js} +11 -11
  651. package/payload/shared/web/{sankeyDiagram-P5KCCOFB-DAW2tMQQ.js → sankeyDiagram-P5KCCOFB-BtB3K5ob.js} +1 -1
  652. package/payload/shared/web/{sequenceDiagram-WJ2MYXX4-CIyt6uFH.js → sequenceDiagram-WJ2MYXX4-BsJtFrjU.js} +4 -4
  653. package/payload/shared/web/{stateDiagram-D77RDMKH-Cl5YhtvO.js → stateDiagram-D77RDMKH-srvF-8IQ.js} +13 -13
  654. package/payload/shared/web/{stateDiagram-v2-MP3YSRHH-BsQEmOAZ.js → stateDiagram-v2-MP3YSRHH-CQCPpAb7.js} +13 -13
  655. package/payload/shared/web/{swimlanes-42K2YHIH-DRkfAovZ.js → swimlanes-42K2YHIH-cwCdwOb4.js} +10 -10
  656. package/payload/shared/web/{swimlanesDiagram-VR7AAH4N-CDtUk-LJ.js → swimlanesDiagram-VR7AAH4N-6PGsW_lL.js} +13 -13
  657. package/payload/shared/web/{timeline-definition-24CTP7MA-Bc0GefZe.js → timeline-definition-24CTP7MA-DbKwK9M6.js} +3 -3
  658. package/payload/shared/web/{vennDiagram-4TSXK5OY-CU3O6wRh.js → vennDiagram-4TSXK5OY-BnJ0tHAd.js} +3 -3
  659. package/payload/shared/web/{wardleyDiagram-VM6X3IG4-USaMhD8m.js → wardleyDiagram-VM6X3IG4-Bm9W5WIA.js} +3 -3
  660. package/payload/shared/web/{xychartDiagram-S5SC5T6Z-C8IhDKnq.js → xychartDiagram-S5SC5T6Z-DInWMmWi.js} +5 -5
  661. package/release-hosts.json +1 -1
  662. package/release-manifest.json +667 -135
  663. package/payload/shared/scripts/panel-preview-CPGv8nTe.mjs +0 -105
  664. package/payload/shared/scripts/studio-content-archive-CNUz472H.mjs +0 -334
  665. package/payload/shared/scripts/studio-instances-DKW4R37b.mjs +0 -592
  666. package/payload/shared/scripts/studio-panel-drafts-Cu48ih5u.mjs +0 -787
  667. package/payload/shared/scripts/windows-private-storage-_g0Kdp0U.mjs +0 -2
  668. package/payload/shared/web/flowDiagram-HODETNUW-DY-blVtj.js +0 -16
  669. package/payload/shared/web/katex-DhTJdtYJ.js +0 -26444
@@ -1,787 +0,0 @@
1
- import { Q as pointerKey } from "./core-entry-B6zaTh1o.mjs";
2
- import { t as loadStudioKit } from "./load-DE29wyw0.mjs";
3
- import { n as prepareStudioPanelPreview } from "./panel-preview-CPGv8nTe.mjs";
4
- import { i as readStudioContentArchive, r as readStudioArchiveResource } from "./content-archive-4UdioMU9.mjs";
5
- import { isAbsolute, join, relative, resolve, sep } from "node:path";
6
- import { lstat, mkdir, open, readFile, readdir, realpath, rename, rmdir, unlink } from "node:fs/promises";
7
- import { createHash, randomUUID } from "node:crypto";
8
- //#region packages/core/src/knowledge-declaration-diagnostics.ts
9
- function locate(root, path) {
10
- let current = root;
11
- for (const key of path.split(".").filter(Boolean)) {
12
- if (!current) return;
13
- const child = current.spec.properties?.[key];
14
- if (!child) return;
15
- current = {
16
- spec: child,
17
- pointer: `${current.pointer}/properties/${pointerKey(key)}`,
18
- metadata: current.metadata || child.knowledge?.role === "metadata"
19
- };
20
- }
21
- return current;
22
- }
23
- /**
24
- * A direct single-collection selector already declares identifier semantics.
25
- * Compare it with the owning schema, not names, labels, sample values or graph size.
26
- * Multi-target selectors, native/absent panels, external/free-form references and
27
- * explicitly metadata-owned values are outside this bounded diagnostic.
28
- */
29
- function diagnoseKnowledgeDeclarations(skills) {
30
- const definitions = new Map(skills.flatMap((skill) => {
31
- const schema = skill.metadata?.schemaDocument;
32
- const panel = skill.metadata?.panelManifest;
33
- return schema && panel ? [[skill.name, {
34
- schema,
35
- panel
36
- }]] : [];
37
- }));
38
- const candidates = /* @__PURE__ */ new Map();
39
- const multiTarget = /* @__PURE__ */ new Set();
40
- for (const [name, { schema, panel }] of definitions) {
41
- if (schema.knowledge?.source_kind === "derived") continue;
42
- const root = {
43
- spec: schema,
44
- pointer: "",
45
- metadata: schema.knowledge?.role === "metadata"
46
- };
47
- for (const field of panel.fields) {
48
- if (!["record_select", "record_multi_select"].includes(field.control)) continue;
49
- const multiple = Array.isArray(field.options_from_sections) && field.options_from_sections.length > 1;
50
- const owner = field.options_from_panel?.panel_type ?? name;
51
- const target = definitions.get(owner);
52
- const sectionId = field.options_from_panel?.section_id ?? field.options_from_section;
53
- const targetSection = target?.panel.sections.find((section) => section.id === sectionId);
54
- const targetPath = targetSection && (targetSection.records_path ?? targetSection.id);
55
- const targetSchema = targetPath && target ? locate({
56
- spec: target.schema,
57
- pointer: "",
58
- metadata: target.schema.knowledge?.role === "metadata"
59
- }, targetPath) : void 0;
60
- const expected = targetPath && targetSchema?.spec.type === "map" && !targetSchema.metadata ? `${owner}/${owner}.json#/${targetPath.split(".").map(pointerKey).join("/")}` : void 0;
61
- for (const section of panel.sections) {
62
- if (field.applies_to && !field.applies_to.includes(section.id)) continue;
63
- const collection = locate(root, section.records_path ?? section.id);
64
- if (collection?.spec.type !== "map" || !collection.spec.value) continue;
65
- const value = collection.spec.value;
66
- let leaf = locate(locate({
67
- spec: value,
68
- pointer: `${collection.pointer}/value`,
69
- metadata: collection.metadata || value.knowledge?.role === "metadata"
70
- }, section.fields_path ?? ""), field.key);
71
- if (field.control === "record_multi_select" && leaf?.spec.type === "array" && leaf.spec.items) leaf = {
72
- spec: leaf.spec.items,
73
- pointer: `${leaf.pointer}/items`,
74
- metadata: leaf.metadata || leaf.spec.items.knowledge?.role === "metadata"
75
- };
76
- if (!leaf || leaf.spec.type !== "string" || leaf.metadata) continue;
77
- const key = JSON.stringify([name, leaf.pointer]);
78
- if (multiple) {
79
- multiTarget.add(key);
80
- continue;
81
- }
82
- if (!expected) continue;
83
- const previous = candidates.get(key);
84
- if (previous) previous.targets.add(expected);
85
- else candidates.set(key, {
86
- subject: name,
87
- schema: leaf,
88
- section: section.id,
89
- field: field.key,
90
- targets: /* @__PURE__ */ new Set([expected])
91
- });
92
- }
93
- }
94
- }
95
- const diagnostics = [];
96
- for (const [key, candidate] of candidates) {
97
- if (multiTarget.has(key) || candidate.targets.size !== 1) continue;
98
- const expectedTarget = [...candidate.targets][0];
99
- const semantics = candidate.schema.spec.knowledge;
100
- const declared = semantics?.target?.startsWith("#") ? `${candidate.subject}/${candidate.subject}.json${semantics.target}` : semantics?.target;
101
- const code = semantics?.role !== "reference" ? "knowledge.reference_role" : declared !== expectedTarget ? "knowledge.reference_target" : void 0;
102
- if (!code) continue;
103
- diagnostics.push({
104
- code,
105
- subject: candidate.subject,
106
- schemaPointer: candidate.schema.pointer,
107
- panelSection: candidate.section,
108
- field: candidate.field,
109
- expectedTarget,
110
- message: `${candidate.subject}/schema.yaml#${candidate.schema.pointer}: panel.yaml section ${candidate.section} field ${candidate.field} selects records from ${expectedTarget}; ${code === "knowledge.reference_role" ? "the schema does not declare knowledge.role: reference" : `knowledge.target is ${JSON.stringify(semantics?.target ?? null)}`}. Review the owning declaration; no schema or Design Files were changed.`
111
- });
112
- }
113
- return diagnostics.sort((a, b) => a.subject.localeCompare(b.subject) || a.schemaPointer.localeCompare(b.schemaPointer));
114
- }
115
- //#endregion
116
- //#region packages/studio/src/panel-drafts.ts
117
- /** Host-neutral, versioned Panel working copies; not Kit publication. */
118
- function checkText$1(panelSource, sampleSource) {
119
- if (typeof panelSource !== "string" || typeof sampleSource !== "string" || new TextEncoder().encode(panelSource).length > 1048576 || new TextEncoder().encode(sampleSource).length > 262144) throw new Error("Panel source must be text ≤1 MiB; sample JSON text ≤256 KiB.");
120
- }
121
- function checkRevision$1(record, expected) {
122
- if (!Number.isSafeInteger(expected) || record.revision !== expected) throw new Error("Draft changed elsewhere. Reopen the latest revision before saving.");
123
- }
124
- function content$1(record) {
125
- const { id: _id, revision: _revision, ...value } = record;
126
- return value;
127
- }
128
- /** Shared semantics used by host adapters; no filesystem or runtime tool access. */
129
- var StudioPanelDraftService = class {
130
- repository;
131
- sources;
132
- constructor(repository, sources) {
133
- this.repository = repository;
134
- this.sources = sources;
135
- }
136
- async list() {
137
- return (await this.repository.list()).map(({ id, revision, kit, bundle, confirmed }) => ({
138
- id,
139
- revision,
140
- kit,
141
- bundle,
142
- confirmed
143
- }));
144
- }
145
- read(id) {
146
- return this.repository.read(id);
147
- }
148
- async create(input) {
149
- const kitPin = { ...input.kit }, bundlePin = { ...input.bundle };
150
- if (!/^[a-z][a-z0-9_]*$/.test(bundlePin.name)) throw new Error("Select an exact Bundle identity.");
151
- const sampleSource = input.sampleSource;
152
- const snapshot = await this.sources.capture(kitPin);
153
- return this.createRetained(snapshot, kitPin, bundlePin, sampleSource);
154
- }
155
- /** Open only the retained snapshot; imported/template pins need not be installed. */
156
- async createFromSnapshot(input) {
157
- const kit = { ...input.kit }, bundle = { ...input.bundle }, sampleSource = input.sampleSource;
158
- if (!/^[a-z][a-z0-9_]*$/.test(bundle.name)) throw new Error("Select an exact Bundle identity.");
159
- return this.createRetained(await this.sources.open(input.snapshotId), kit, bundle, sampleSource);
160
- }
161
- async createRetained(snapshot, kitPin, bundlePin, sampleSource) {
162
- const kit = await loadStudioKit(snapshot.fs, snapshot.root, snapshot.loadOptions);
163
- if (kit.name !== kitPin.name || String(kit.version) !== kitPin.version) throw new Error("Source does not match selected Kit pin.");
164
- const bundle = kit.skills.find((entry) => entry.name === bundlePin.name && String(entry.version) === bundlePin.version);
165
- if (!bundle || typeof bundle.metadata?.panelYaml !== "string") throw new Error("Select an installed declarative Bundle version.");
166
- const panelSource = await snapshot.fs.readText(join(bundle.resourceRoot ?? join(snapshot.root, "skills", bundlePin.name), "panel.yaml"));
167
- if (panelSource === void 0) throw new Error("Panel source is missing.");
168
- const panel = bundle.metadata.panelManifest;
169
- const sample = sampleSource ?? JSON.stringify(panel.initial_values ?? {}, null, 2);
170
- checkText$1(panelSource, sample);
171
- return this.repository.create({
172
- kit: kitPin,
173
- bundle: bundlePin,
174
- baseSnapshot: snapshot.id,
175
- panelSource,
176
- sampleSource: sample,
177
- confirmed: false
178
- });
179
- }
180
- /** Saving incomplete source is allowed; confirmation requires successful compilation. */
181
- async save(input) {
182
- const { id, expectedRevision, panelSource, sampleSource } = input;
183
- checkText$1(panelSource, sampleSource);
184
- const current = await this.repository.read(id);
185
- checkRevision$1(current, expectedRevision);
186
- if (current.confirmed) throw new Error("Confirmed snapshot is locked. Create a new draft to edit it.");
187
- return this.repository.replace(id, expectedRevision, {
188
- ...content$1(current),
189
- panelSource,
190
- sampleSource
191
- });
192
- }
193
- /** Compile an unsaved editor revision without persisting or touching any project. */
194
- async preview(input) {
195
- const { id, expectedRevision, panelSource, sampleSource, revision } = input;
196
- checkText$1(panelSource, sampleSource);
197
- const current = await this.repository.read(id);
198
- checkRevision$1(current, expectedRevision);
199
- const snapshot = await this.sources.open(current.baseSnapshot);
200
- return prepareStudioPanelPreview(snapshot.fs, snapshot.root, {
201
- kit: current.kit,
202
- bundle: current.bundle,
203
- revision,
204
- panelSource,
205
- sampleSource
206
- }, snapshot.loadOptions);
207
- }
208
- async confirm(input) {
209
- const { id, expectedRevision } = input;
210
- const current = await this.repository.read(id);
211
- checkRevision$1(current, expectedRevision);
212
- const result = await this.preview({
213
- ...current,
214
- expectedRevision
215
- });
216
- if (!result.preview || result.diagnostics.length) return result;
217
- const draft = current.confirmed ? current : await this.repository.replace(id, expectedRevision, {
218
- ...content$1(current),
219
- confirmed: true
220
- });
221
- return {
222
- ...result,
223
- draft
224
- };
225
- }
226
- /** Start another editable revision, sharing the immutable base bytes. */
227
- async fork(id) {
228
- const current = await this.repository.read(id);
229
- return this.repository.create({
230
- ...content$1(current),
231
- confirmed: false
232
- });
233
- }
234
- };
235
- //#endregion
236
- //#region packages/studio/src/validate.ts
237
- /** Adapt shared, read-only declaration advice into the existing authoring report. */
238
- function knowledgeDeclarationWarnings(skills) {
239
- return diagnoseKnowledgeDeclarations(skills).map(({ code, message, subject }) => ({
240
- code,
241
- message,
242
- subject,
243
- severity: "warning"
244
- }));
245
- }
246
- //#endregion
247
- //#region packages/studio/src/kit-drafts.ts
248
- /** Kit-owned working-copy edits over retained source; never catalog publication. */
249
- function checkText(mindset, relations) {
250
- if (typeof mindset !== "string" || relations !== null && typeof relations !== "string" || new TextEncoder().encode(mindset).length > 1048576 || relations !== null && new TextEncoder().encode(relations).length > 1048576) throw new Error("Kit-owned sources must be UTF-8 text of at most 1 MiB each.");
251
- }
252
- function checkRevision(current, expected) {
253
- if (!Number.isSafeInteger(expected) || current.revision !== expected) throw new Error("Draft changed elsewhere. Reopen the latest revision.");
254
- }
255
- function content(record) {
256
- const { id: _id, revision: _revision, ...value } = record;
257
- return structuredClone(value);
258
- }
259
- function samePins(a, b) {
260
- const keys = (pins) => pins.map((pin) => `${pin.name}@${pin.version}`).sort();
261
- return JSON.stringify(keys(a)) === JSON.stringify(keys(b));
262
- }
263
- /** Only two Kit-owned files are overlaid; no user-supplied paths or live FS fallback. */
264
- function overlay(snapshot, record) {
265
- const root = resolve(snapshot.root);
266
- const replacements = /* @__PURE__ */ new Map([[resolve(root, "mindset.md"), record.mindsetSource], [resolve(root, "relations.yaml"), record.relationsSource]]);
267
- return {
268
- readText: (path) => replacements.has(resolve(path)) ? Promise.resolve(replacements.get(resolve(path)) ?? void 0) : snapshot.fs.readText(path),
269
- ...snapshot.fs.readResource ? { readResource: async (path) => {
270
- if (!replacements.has(resolve(path))) return snapshot.fs.readResource(path);
271
- const content = replacements.get(resolve(path));
272
- return content == null ? void 0 : {
273
- kind: "text",
274
- content
275
- };
276
- } } : {},
277
- async listDir(path) {
278
- if (resolve(path) !== root) return snapshot.fs.listDir(path);
279
- const entries = new Set(await snapshot.fs.listDir(path));
280
- entries.add("mindset.md");
281
- if (record.relationsSource === null) entries.delete("relations.yaml");
282
- else entries.add("relations.yaml");
283
- return [...entries].sort();
284
- },
285
- ...snapshot.fs.isDirectory ? { isDirectory: (path) => replacements.has(resolve(path)) ? Promise.resolve(false) : snapshot.fs.isDirectory(path) } : {},
286
- ...snapshot.fs.realPath ? { realPath: (path) => replacements.has(resolve(path)) ? Promise.resolve(resolve(path)) : snapshot.fs.realPath(path) } : {}
287
- };
288
- }
289
- var StudioKitDraftService = class {
290
- repository;
291
- sources;
292
- constructor(repository, sources) {
293
- this.repository = repository;
294
- this.sources = sources;
295
- }
296
- async list() {
297
- return (await this.repository.list()).map(({ id, revision, baseKit, confirmed }) => ({
298
- id,
299
- revision,
300
- baseKit: { ...baseKit },
301
- confirmed
302
- }));
303
- }
304
- async read(id) {
305
- return structuredClone(await this.repository.read(id));
306
- }
307
- async create(input) {
308
- const pin = { ...input.kit };
309
- const snapshot = await this.sources.capture(pin);
310
- return this.createRetained(snapshot, pin);
311
- }
312
- /** Adopt retained, independently validated content; never resolve an installed pin. */
313
- async createFromSnapshot(input) {
314
- const pin = { ...input.kit }, snapshotId = input.snapshotId;
315
- return this.createRetained(await this.sources.open(snapshotId), pin);
316
- }
317
- async createRetained(snapshot, pin) {
318
- const kit = await loadStudioKit(snapshot.fs, snapshot.root, snapshot.loadOptions);
319
- if (kit.name !== pin.name || String(kit.version) !== pin.version) throw new Error("Source does not match the selected Kit pin.");
320
- const mindsetSource = await snapshot.fs.readText(resolve(snapshot.root, "mindset.md"));
321
- if (mindsetSource === void 0) throw new Error("Kit Mindset source is missing.");
322
- const relationsSource = await snapshot.fs.readText(resolve(snapshot.root, "relations.yaml")) ?? null;
323
- checkText(mindsetSource, relationsSource);
324
- return this.repository.create({
325
- baseKit: pin,
326
- baseSnapshot: snapshot.id,
327
- mounts: kit.skills.map((bundle) => ({
328
- name: bundle.name,
329
- version: String(bundle.version)
330
- })),
331
- mindsetSource,
332
- relationsSource,
333
- confirmed: false
334
- });
335
- }
336
- /** Invalid intermediate edits can be retained, but cannot be confirmed. */
337
- async save(input) {
338
- const { id, expectedRevision, mindsetSource, relationsSource } = input;
339
- checkText(mindsetSource, relationsSource);
340
- const current = await this.read(id);
341
- checkRevision(current, expectedRevision);
342
- if (current.confirmed) throw new Error("Confirmed Kit draft is locked. Fork it to continue editing.");
343
- return this.repository.replace(id, expectedRevision, {
344
- ...content(current),
345
- mindsetSource,
346
- relationsSource
347
- });
348
- }
349
- async compile(current) {
350
- checkText(current.mindsetSource, current.relationsSource);
351
- const snapshot = await this.sources.open(current.baseSnapshot);
352
- const base = await loadStudioKit(snapshot.fs, snapshot.root, snapshot.loadOptions);
353
- if (base.name !== current.baseKit.name || String(base.version) !== current.baseKit.version || !samePins(current.mounts, base.skills.map((bundle) => ({
354
- name: bundle.name,
355
- version: String(bundle.version)
356
- })))) throw new Error("Retained source does not match the working-copy base and mount pins.");
357
- const fs = overlay(snapshot, current);
358
- const candidate = await loadStudioKit(fs, snapshot.root, snapshot.loadOptions);
359
- if (!samePins(current.mounts, candidate.skills.map((bundle) => ({
360
- name: bundle.name,
361
- version: String(bundle.version)
362
- })))) throw new Error("Bundle mounts are read-only in this editor. Use an explicit catalog mount operation.");
363
- return {
364
- snapshot,
365
- fs,
366
- candidate
367
- };
368
- }
369
- async validate(input) {
370
- const { id, expectedRevision } = input;
371
- const current = await this.read(id);
372
- checkRevision(current, expectedRevision);
373
- try {
374
- const { candidate } = await this.compile(current);
375
- return {
376
- valid: true,
377
- diagnostics: knowledgeDeclarationWarnings(candidate.skills),
378
- revision: current.revision,
379
- candidateKit: {
380
- name: candidate.name,
381
- version: String(candidate.version)
382
- }
383
- };
384
- } catch (error) {
385
- return {
386
- valid: false,
387
- revision: current.revision,
388
- diagnostics: [{
389
- code: "kit_draft.definition",
390
- message: error instanceof Error ? error.message : String(error)
391
- }]
392
- };
393
- }
394
- }
395
- async preview(input) {
396
- const { id, expectedRevision, sampleSource } = input;
397
- const bundle = { ...input.bundle };
398
- const current = await this.read(id);
399
- checkRevision(current, expectedRevision);
400
- try {
401
- const { fs, snapshot, candidate } = await this.compile(current);
402
- if (!current.mounts.some((pin) => pin.name === bundle.name && pin.version === bundle.version)) throw new Error("Select an exact mounted Bundle.");
403
- const mounted = candidate.skills.find((skill) => skill.name === bundle.name && String(skill.version) === bundle.version);
404
- const panelSource = await fs.readText(resolve(mounted?.resourceRoot ?? resolve(snapshot.root, "skills", bundle.name), "panel.yaml"));
405
- if (panelSource === void 0) throw new Error("This Bundle has no declarative Panel preview.");
406
- return prepareStudioPanelPreview(fs, snapshot.root, {
407
- kit: {
408
- name: candidate.name,
409
- version: String(candidate.version)
410
- },
411
- bundle,
412
- revision: current.revision,
413
- panelSource,
414
- sampleSource
415
- }, snapshot.loadOptions);
416
- } catch (error) {
417
- return { diagnostics: [{
418
- code: "kit_draft.preview",
419
- message: error instanceof Error ? error.message : String(error)
420
- }] };
421
- }
422
- }
423
- async confirm(input) {
424
- const { id, expectedRevision } = input;
425
- const current = await this.read(id);
426
- checkRevision(current, expectedRevision);
427
- const result = await this.validate({
428
- id,
429
- expectedRevision
430
- });
431
- if (!result.valid) return result;
432
- const draft = current.confirmed ? current : await this.repository.replace(id, expectedRevision, {
433
- ...content(current),
434
- confirmed: true
435
- });
436
- return {
437
- ...result,
438
- draft
439
- };
440
- }
441
- async fork(id) {
442
- return this.repository.create({
443
- ...content(await this.read(id)),
444
- confirmed: false
445
- });
446
- }
447
- };
448
- //#endregion
449
- //#region packages/companion/src/studio-panel-drafts.mjs
450
- /** Local storage ports for the shared Studio draft service. No project writes. */
451
- const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
452
- const HASH = /^[0-9a-f]{64}$/;
453
- const MAX_SOURCE_BYTES = 16777216;
454
- const MAX_DOCUMENT_BYTES = 2097152;
455
- const inside = (root, path) => {
456
- const rel = relative(root, path);
457
- return !isAbsolute(rel) && rel !== ".." && !rel.startsWith(`..${sep}`);
458
- };
459
- const hash = (value) => createHash("sha256").update(value).digest("hex");
460
- /** Explicit stateRoot only; neither the installed Kit nor project is a storage target. */
461
- async function createStudioPanelDrafts({ stateRoot, kitRoot, readInstalledKit, readInstalledBundle }) {
462
- const { repository, sources } = await createStudioDraftPorts({
463
- stateRoot,
464
- kitRoot,
465
- readInstalledKit,
466
- readInstalledBundle
467
- }, "panel");
468
- return new StudioPanelDraftService(repository, sources);
469
- }
470
- /** Same locking, snapshot and confinement implementation; separate draft namespaces. */
471
- async function createStudioDraftPorts({ stateRoot, kitRoot, readInstalledKit, readInstalledBundle }, kind) {
472
- if (![
473
- "kit",
474
- "panel",
475
- "instance"
476
- ].includes(kind)) throw new Error("Select the Kit, Panel or instance draft namespace.");
477
- if (!isAbsolute(stateRoot)) throw new Error("Studio requires an explicit absolute state directory.");
478
- const kitRootReal = kind === "instance" && kitRoot === void 0 ? void 0 : await realpath(kitRoot);
479
- if (kitRootReal && inside(kitRootReal, resolve(stateRoot))) throw new Error("Studio drafts must not live inside the installed Kit.");
480
- await mkdir(stateRoot, {
481
- recursive: true,
482
- mode: 448
483
- });
484
- const state = await realpath(stateRoot);
485
- const root = join(state, `studio-${kind}-drafts`);
486
- const format = `studio-${kind}-draft/v1`;
487
- if (kitRootReal && inside(kitRootReal, root)) throw new Error("Studio drafts must not live inside the installed Kit.");
488
- await mkdir(root, {
489
- recursive: true,
490
- mode: 448
491
- });
492
- if ((await lstat(root)).isSymbolicLink()) throw new Error("Studio storage cannot be a symlink.");
493
- const snapshots = join(root, "snapshots");
494
- await mkdir(snapshots, { mode: 448 }).catch((error) => {
495
- if (error.code !== "EEXIST") throw error;
496
- });
497
- if (!(await lstat(snapshots)).isDirectory() || (await lstat(snapshots)).isSymbolicLink()) throw new Error("Unsafe Studio snapshot directory.");
498
- const withLock = async (operation) => {
499
- const lock = join(root, "write.lock");
500
- try {
501
- await mkdir(lock, { mode: 448 });
502
- } catch (error) {
503
- if (error.code === "EEXIST") throw new Error("Studio is being saved elsewhere. Retry; after a crash, stop Studio before clearing its empty write.lock directory.");
504
- throw error;
505
- }
506
- try {
507
- return await operation();
508
- } finally {
509
- await rmdir(lock);
510
- }
511
- };
512
- const readRegular = async (file, limit) => {
513
- const info = await lstat(file);
514
- if (!info.isFile() || info.isSymbolicLink() || info.size > limit) throw new Error("Invalid or oversized Studio file.");
515
- return readFile(file, "utf8");
516
- };
517
- const writeAtomic = async (file, text) => {
518
- const temporary = join(root, `${randomUUID()}.tmp`);
519
- let handle;
520
- try {
521
- handle = await open(temporary, "wx", 384);
522
- await handle.writeFile(text, "utf8");
523
- await handle.sync();
524
- await handle.close();
525
- handle = void 0;
526
- await rename(temporary, file);
527
- } finally {
528
- await handle?.close();
529
- await unlink(temporary).catch((error) => {
530
- if (error.code !== "ENOENT") throw error;
531
- });
532
- }
533
- };
534
- const draftPath = (id) => {
535
- if (typeof id !== "string" || !UUID.test(id)) throw new Error("Invalid Studio draft identity.");
536
- return join(root, `${id}.json`);
537
- };
538
- const read = async (id) => {
539
- const record = JSON.parse(await readRegular(draftPath(id), MAX_DOCUMENT_BYTES));
540
- const pin = (value) => typeof value?.name === "string" && typeof value?.version === "string";
541
- const validContent = kind === "panel" ? typeof record.panelSource === "string" && typeof record.sampleSource === "string" && pin(record.kit) && pin(record.bundle) : kind === "instance" ? ["kit", "bundle"].includes(record.kind) && (record.recordVersion === 2 ? pin(record[record.kind]) && typeof record.sourceId === "string" && record.sourceId === `local:${record.kind}:${record[record.kind].name}` && (record.kind !== "bundle" || typeof record.runtimeName === "string") : (record.recordVersion === void 0 || record.recordVersion === 1) && pin(record.source?.kit) && (record.kind !== "bundle" || pin(record.source?.bundle) && typeof record.bundlePath === "string")) && typeof record.title?.zh === "string" && typeof record.title?.en === "string" && record.overlays !== null && typeof record.overlays === "object" && !Array.isArray(record.overlays) && Object.values(record.overlays).every((value) => typeof value === "string") && Array.isArray(record.mounts) && record.mounts.every((mount) => pin(mount.bundle)) && (record.recordVersion !== 2 || record.mounts.every((mount) => typeof mount.bindingKey === "string" && HASH.test(mount.bundle.source?.snapshot) && typeof mount.bundle.source?.sourceId === "string" && (mount.bundle.instanceId === void 0 || UUID.test(mount.bundle.instanceId)) && (mount.bundle.revision === void 0 || Number.isSafeInteger(mount.bundle.revision) && mount.bundle.revision >= 0))) : typeof record.mindsetSource === "string" && (record.relationsSource === null || typeof record.relationsSource === "string") && pin(record.baseKit) && Array.isArray(record.mounts) && record.mounts.every(pin);
542
- if (record.format !== format || record.id !== id || !Number.isSafeInteger(record.revision) || record.revision < 0 || !HASH.test(record.baseSnapshot) || typeof record.confirmed !== "boolean" || !validContent) throw new Error("Invalid Studio draft record.");
543
- const { format: _format, ...value } = record;
544
- return value;
545
- };
546
- const persist = async (record) => {
547
- const text = JSON.stringify({
548
- format,
549
- ...record
550
- });
551
- if (Buffer.byteLength(text) > MAX_DOCUMENT_BYTES) throw new Error("Studio draft is too large.");
552
- await writeAtomic(draftPath(record.id), text);
553
- return record;
554
- };
555
- const repository = {
556
- read,
557
- async list() {
558
- const ids = (await readdir(root)).filter((name) => name.endsWith(".json") && UUID.test(name.slice(0, -5))).sort();
559
- return Promise.all(ids.map((name) => read(name.slice(0, -5))));
560
- },
561
- create: (content) => withLock(() => createUnlocked(content)),
562
- replace: (id, expectedRevision, content) => withLock(() => replaceUnlocked(id, expectedRevision, content))
563
- };
564
- const createUnlocked = async (content) => {
565
- if ((await repository.list()).length >= 128) throw new Error("Studio draft limit reached (128). Archive unused drafts before creating more.");
566
- return persist({
567
- ...content,
568
- id: randomUUID(),
569
- revision: 0
570
- });
571
- };
572
- const replaceUnlocked = async (id, expectedRevision, content) => {
573
- const current = await read(id);
574
- if (current.revision !== expectedRevision || current.confirmed) throw new Error("Studio draft changed or was confirmed elsewhere. Reopen it before saving.");
575
- return persist({
576
- ...content,
577
- id,
578
- revision: expectedRevision + 1
579
- });
580
- };
581
- if (kind === "instance") repository.transaction = (operation) => withLock(() => operation({
582
- read,
583
- list: repository.list,
584
- create: createUnlocked,
585
- replace: replaceUnlocked,
586
- retainTree: (entries) => retainEntriesUnlocked(checkEntries(entries)),
587
- async migrate(id, expectedRevision, content) {
588
- const current = await read(id);
589
- if (current.revision !== expectedRevision || current.recordVersion === 2) throw new Error("Legacy instance changed or was already migrated.");
590
- const backup = join(root, `${id}.legacy-v1.json`);
591
- const original = JSON.stringify({
592
- format,
593
- ...current
594
- });
595
- try {
596
- if (await readRegular(backup, MAX_DOCUMENT_BYTES) !== original) throw new Error("Existing legacy recovery backup differs from the current record.");
597
- } catch (error) {
598
- if (error.code !== "ENOENT") throw error;
599
- await writeAtomic(backup, original);
600
- }
601
- return replaceUnlocked(id, expectedRevision, content);
602
- }
603
- }));
604
- const openSnapshot = async (id) => {
605
- if (typeof id !== "string" || !HASH.test(id)) throw new Error("Invalid Studio source snapshot.");
606
- const text = await readRegular(join(snapshots, `${id}.json`), MAX_SOURCE_BYTES * 2);
607
- if (hash(text) !== id) throw new Error("Studio source snapshot integrity check failed.");
608
- const document = JSON.parse(text);
609
- const closure = Array.isArray(document) ? void 0 : document;
610
- if (closure && closure.format !== "studio-source-closure/v1") throw new Error("Invalid Studio source closure.");
611
- const entries = closure ? closure.entries : document;
612
- const files = new Map(entries);
613
- const virtualRoot = resolve(root, "virtual-source", id);
614
- const keyOf = (path) => {
615
- const absolute = resolve(path);
616
- if (!inside(virtualRoot, absolute)) throw new Error("Preview path escapes its source snapshot.");
617
- return relative(virtualRoot, absolute).split(sep).join("/");
618
- };
619
- const children = (path) => {
620
- const key = keyOf(path), prefix = key ? `${key}/` : "";
621
- return [...new Set([...files.keys()].filter((file) => file.startsWith(prefix)).map((file) => file.slice(prefix.length).split("/")[0]))].sort();
622
- };
623
- const snapshotRoot = closure ? resolve(virtualRoot, closure.kitPath) : virtualRoot;
624
- keyOf(snapshotRoot);
625
- const loadOptions = closure ? {
626
- sourceId: closure.sourceId,
627
- bundles: closure.bundles.map((bundle) => {
628
- const rootDir = resolve(virtualRoot, bundle.path);
629
- keyOf(rootDir);
630
- return {
631
- name: bundle.name,
632
- version: bundle.version,
633
- sourceId: bundle.sourceId,
634
- rootDir
635
- };
636
- })
637
- } : void 0;
638
- return {
639
- id,
640
- root: snapshotRoot,
641
- storageRoot: virtualRoot,
642
- ...loadOptions ? { loadOptions } : {},
643
- fs: {
644
- async readBytes(path) {
645
- const bytes = files.get(keyOf(path));
646
- return bytes === void 0 ? void 0 : Buffer.from(bytes, "base64");
647
- },
648
- async readText(path) {
649
- const bytes = files.get(keyOf(path));
650
- return bytes === void 0 ? void 0 : new TextDecoder("utf-8", { fatal: true }).decode(Buffer.from(bytes, "base64"));
651
- },
652
- async readResource(path) {
653
- const bytes = files.get(keyOf(path));
654
- return bytes === void 0 ? void 0 : readStudioArchiveResource(path, Buffer.from(bytes, "base64"));
655
- },
656
- async listDir(path) {
657
- return children(path);
658
- },
659
- async isDirectory(path) {
660
- return children(path).length > 0;
661
- },
662
- async realPath(path) {
663
- keyOf(path);
664
- return resolve(path);
665
- }
666
- }
667
- };
668
- };
669
- const checkEntries = (entries) => {
670
- if (!Array.isArray(entries) || entries.length > 4096) throw new Error("Source tree exceeds 4096 files.");
671
- const seen = /* @__PURE__ */ new Set();
672
- let bytes = 0;
673
- return entries.map((entry) => {
674
- const { path, base64 } = entry ?? {};
675
- if (typeof path !== "string" || !path || path.length > 1024 || /[\\:\u0000-\u001f\u007f]/u.test(path) || path.split("/").some((part) => !part || [
676
- ".",
677
- "..",
678
- ".git",
679
- "node_modules"
680
- ].includes(part)) || seen.has(path) || typeof base64 !== "string" || Buffer.from(base64, "base64").toString("base64") !== base64) throw new Error("Invalid source tree entry.");
681
- seen.add(path);
682
- bytes += Buffer.byteLength(base64, "base64");
683
- if (bytes > MAX_SOURCE_BYTES) throw new Error("Source tree exceeds 16 MiB.");
684
- return [path, base64];
685
- }).sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
686
- };
687
- const retainEntriesUnlocked = async (entries, closure) => {
688
- const text = JSON.stringify(closure ? {
689
- ...closure,
690
- entries
691
- } : entries), id = hash(text), destination = join(snapshots, `${id}.json`);
692
- try {
693
- if (hash(await readRegular(destination, MAX_SOURCE_BYTES * 2)) !== id) throw new Error("Studio snapshot content mismatch.");
694
- return openSnapshot(id);
695
- } catch (error) {
696
- if (error.code !== "ENOENT") throw error;
697
- }
698
- const retained = (await readdir(snapshots)).filter((name) => name.endsWith(".json") && HASH.test(name.slice(0, -5)));
699
- const countLimit = kind === "instance" ? 1024 : 16;
700
- if (retained.length >= countLimit) throw new Error(`Studio source snapshot limit reached (${countLimit}).`);
701
- if (kind === "instance") {
702
- let total = Buffer.byteLength(text);
703
- for (const name of retained) total += (await lstat(join(snapshots, name))).size;
704
- if (total > 134217728) throw new Error("Studio instance snapshots exceed the 128 MiB retained-storage limit.");
705
- }
706
- await writeAtomic(destination, text);
707
- return openSnapshot(id);
708
- };
709
- const retainEntries = (entries, closure) => withLock(() => retainEntriesUnlocked(entries, closure));
710
- return {
711
- repository,
712
- sources: {
713
- open: openSnapshot,
714
- ...kind === "instance" ? { retainTree: (entries) => withLock(() => retainEntriesUnlocked(checkEntries(entries))) } : {},
715
- /** Full Kit envelope only: standalone Bundles require an explicit composed Kit context. */
716
- async retain(archiveSource) {
717
- const archive = readStudioContentArchive(archiveSource);
718
- if (archive.kind !== "kit") throw new Error("Retain requires a complete Kit archive; compose standalone Bundle context explicitly.");
719
- return retainEntries(archive.files.map((file) => [file.path, file.base64]));
720
- },
721
- async capture(pin) {
722
- if (!kitRootReal || typeof readInstalledKit !== "function") throw new Error("Installed Kit capture is not configured for this storage port.");
723
- const installed = await readInstalledKit();
724
- if (pin.name !== installed.name || pin.version !== String(installed.version)) throw new Error("Select an exact installed Kit version.");
725
- const entries = [], ignored = /* @__PURE__ */ new Set([".git", "node_modules"]);
726
- let total = 0, nodes = 0;
727
- const walk = async (directory, base, prefix) => {
728
- if (++nodes > 8192 || relative(base, directory).split(sep).length > 32) throw new Error("Studio source tree exceeds directory limits.");
729
- for (const name of (await readdir(directory)).sort()) {
730
- if (ignored.has(name)) continue;
731
- const file = join(directory, name), info = await lstat(file);
732
- if (info.isSymbolicLink()) throw new Error("Studio cannot snapshot source symlinks.");
733
- if (info.isDirectory()) await walk(file, base, prefix);
734
- else if (info.isFile()) {
735
- if (total + info.size > MAX_SOURCE_BYTES || entries.length >= 4096) throw new Error("Kit preview snapshot exceeds 16 MiB or 4096 files.");
736
- const bytes = await readFile(file);
737
- total += bytes.length;
738
- if (total > MAX_SOURCE_BYTES) throw new Error("Kit preview snapshot exceeds 16 MiB.");
739
- entries.push([prefix + relative(base, file).split(sep).join("/"), bytes.toString("base64")]);
740
- } else throw new Error("Studio sources must be regular files or directories.");
741
- }
742
- };
743
- const sourceRoot = resolve(installed.sourceRoot ?? kitRootReal);
744
- if (await realpath(sourceRoot) !== sourceRoot) throw new Error("Studio cannot snapshot source symlinks.");
745
- if (await readFile(join(sourceRoot, "kit.yaml"), "utf8").catch((error) => {
746
- if (error.code === "ENOENT") return void 0;
747
- throw error;
748
- }) === void 0) {
749
- await walk(sourceRoot, sourceRoot, "");
750
- return retainEntries(entries);
751
- }
752
- if (!Array.isArray(installed.skills)) throw new Error("Independent capture requires compiled mounted Bundles.");
753
- const kitPath = `kits/${installed.name}`, bundles = [];
754
- await walk(sourceRoot, sourceRoot, `${kitPath}/`);
755
- for (const skill of installed.skills) {
756
- const pin = {
757
- name: skill.catalogName ?? skill.name,
758
- version: String(skill.version)
759
- };
760
- const retained = await readInstalledBundle?.(pin);
761
- const bundleRoot = resolve(retained?.resourceRoot ?? skill.resourceRoot ?? "");
762
- if (!retained?.resourceRoot && !skill.resourceRoot) throw new Error("Mounted Bundle source root is missing.");
763
- if (await realpath(bundleRoot) !== bundleRoot) throw new Error("Studio cannot snapshot source symlinks.");
764
- const path = `bundles/${pin.name}`;
765
- await walk(bundleRoot, bundleRoot, `${path}/`);
766
- bundles.push({
767
- ...pin,
768
- path,
769
- sourceId: retained?.sourceId ?? "companion:explicit-kit"
770
- });
771
- }
772
- const checked = checkEntries(entries.map(([path, base64]) => ({
773
- path,
774
- base64
775
- })));
776
- return retainEntries(checked, {
777
- format: "studio-source-closure/v1",
778
- kitPath,
779
- sourceId: "companion:explicit-kit",
780
- bundles
781
- });
782
- }
783
- }
784
- };
785
- }
786
- //#endregion
787
- export { createStudioPanelDrafts as n, StudioKitDraftService as r, createStudioDraftPorts as t };