yugoo-design 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/README.md +4 -4
  2. package/bin/npm-desktop-preparation.mjs +5 -0
  3. package/package.json +20 -2
  4. package/payload/desktop-preparation/materials.json +180 -2
  5. package/payload/desktop-preparation/qwenwork-package.mjs +4 -0
  6. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/index.md +143 -0
  7. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/material.json +1 -0
  8. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  9. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  10. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  11. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  12. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  13. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  14. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  15. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  16. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  17. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  18. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  19. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  20. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  21. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  22. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  23. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  24. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  25. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  26. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  27. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  28. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  29. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  30. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  31. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  32. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  33. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  34. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  35. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  36. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  37. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  38. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  39. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  40. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  41. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  42. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  43. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  44. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  45. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  46. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  47. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  48. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  49. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  50. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  51. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  52. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  53. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  54. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  55. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  56. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  57. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  58. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  59. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  60. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  61. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  62. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  63. 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
  64. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  65. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  66. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  67. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  68. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  69. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  70. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  71. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  72. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  73. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  74. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  75. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  76. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  77. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  78. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  79. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  80. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  81. 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
  82. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  83. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  84. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  85. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  86. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  87. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  88. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  89. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  90. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  91. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  92. package/payload/desktop-preparation/qwenwork-template/skills/design-bundle-creator/SKILL.md +19 -0
  93. package/payload/desktop-preparation/qwenwork-template/skills/design-kit-creator/SKILL.md +19 -0
  94. package/payload/desktop-preparation/qwenwork-template/skills/design-skill-creator/SKILL.md +19 -0
  95. package/payload/desktop-preparation/src/browser-access.mjs +6 -9
  96. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/index.md +143 -0
  97. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/material.json +1 -0
  98. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  99. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  100. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  101. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  102. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  103. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  104. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  105. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  106. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  107. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  108. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  109. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  110. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  111. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  112. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  113. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  114. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  115. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  116. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  117. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  118. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  119. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  120. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  121. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  122. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  123. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  124. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  125. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  126. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  127. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  128. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  129. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  130. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  131. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  132. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  133. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  134. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  135. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  136. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  137. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  138. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  139. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  140. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  141. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  142. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  143. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  144. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  145. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  146. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  147. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  148. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  149. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  150. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  151. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  152. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  153. 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
  154. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  155. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  156. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  157. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  158. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  159. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  160. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  161. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  162. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  163. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  164. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  165. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  166. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  167. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  168. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  169. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  170. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  171. 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
  172. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  173. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  174. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  175. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  176. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  177. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  178. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  179. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  180. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  181. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  182. package/payload/desktop-preparation/studio-authoring-template/skills/design-bundle-creator/SKILL.md +19 -0
  183. package/payload/desktop-preparation/studio-authoring-template/skills/design-kit-creator/SKILL.md +19 -0
  184. package/payload/desktop-preparation/studio-authoring-template/skills/design-skill-creator/SKILL.md +19 -0
  185. package/payload/overlays/claude-code/.claude-plugin/plugin.json +1 -1
  186. package/payload/overlays/claude-code/authoring/studio-creators/index.md +143 -0
  187. package/payload/overlays/claude-code/authoring/studio-creators/material.json +1 -0
  188. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  189. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  190. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  191. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  192. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  193. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  194. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  195. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  196. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  197. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  198. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  199. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  200. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  201. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  202. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  203. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  204. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  205. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  206. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  207. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  208. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  209. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  210. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  211. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  212. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  213. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  214. package/payload/overlays/claude-code/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  215. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  216. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  217. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  218. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  219. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  220. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  221. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  222. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  223. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  224. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  225. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  226. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  227. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  228. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  229. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  230. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  231. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  232. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  233. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  234. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  235. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  236. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  237. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  238. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  239. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  240. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  241. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  242. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  243. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  244. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  245. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  246. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  247. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  248. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  249. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  250. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  251. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  252. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  253. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  254. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  255. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  256. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  257. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  258. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  259. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  260. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  261. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  262. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  263. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  264. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  265. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  266. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  267. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  268. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  269. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  270. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  271. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  272. package/payload/overlays/claude-code/skills/design-bundle-creator/SKILL.md +19 -0
  273. package/payload/overlays/claude-code/skills/design-kit-creator/SKILL.md +19 -0
  274. package/payload/overlays/claude-code/skills/design-skill-creator/SKILL.md +19 -0
  275. package/payload/overlays/codex/.codex-plugin/plugin.json +1 -1
  276. package/payload/overlays/codex/authoring/studio-creators/index.md +143 -0
  277. package/payload/overlays/codex/authoring/studio-creators/material.json +1 -0
  278. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  279. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  280. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  281. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  282. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  283. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  284. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  285. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  286. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  287. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  288. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  289. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  290. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  291. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  292. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  293. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  294. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  295. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  296. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  297. package/payload/overlays/codex/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  298. package/payload/overlays/codex/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  299. package/payload/overlays/codex/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  300. package/payload/overlays/codex/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  301. package/payload/overlays/codex/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  302. package/payload/overlays/codex/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  303. package/payload/overlays/codex/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  304. package/payload/overlays/codex/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  305. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  306. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  307. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  308. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  309. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  310. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  311. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  312. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  313. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  314. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  315. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  316. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  317. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  318. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  319. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  320. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  321. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  322. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  323. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  324. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  325. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  326. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  327. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  328. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  329. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  330. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  331. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  332. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  333. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  334. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  335. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  336. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  337. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  338. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  339. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  340. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  341. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  342. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  343. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  344. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  345. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  346. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  347. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  348. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  349. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  350. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  351. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  352. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  353. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  354. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  355. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  356. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  357. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  358. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  359. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  360. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  361. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  362. package/payload/overlays/codex/skills/design-bundle-creator/SKILL.md +19 -0
  363. package/payload/overlays/codex/skills/design-kit-creator/SKILL.md +19 -0
  364. package/payload/overlays/codex/skills/design-panel/SKILL.md +5 -0
  365. package/payload/overlays/codex/skills/design-skill-creator/SKILL.md +19 -0
  366. package/payload/overlays/codex/skills/yugoo/SKILL.md +34 -1
  367. package/payload/overlays/qoder/.qoder-plugin/plugin.json +1 -1
  368. package/payload/overlays/qoder/authoring/studio-creators/index.md +143 -0
  369. package/payload/overlays/qoder/authoring/studio-creators/material.json +1 -0
  370. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  371. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  372. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  373. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  374. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  375. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  376. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  377. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  378. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  379. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  380. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  381. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  382. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  383. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  384. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  385. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  386. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  387. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  388. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  389. package/payload/overlays/qoder/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  390. package/payload/overlays/qoder/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  391. package/payload/overlays/qoder/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  392. package/payload/overlays/qoder/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  393. package/payload/overlays/qoder/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  394. package/payload/overlays/qoder/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  395. package/payload/overlays/qoder/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  396. package/payload/overlays/qoder/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  397. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  398. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  399. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  400. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  401. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  402. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  403. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  404. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  405. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  406. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  407. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  408. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  409. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  410. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  411. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  412. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  413. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  414. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  415. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  416. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  417. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  418. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  419. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  420. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  421. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  422. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  423. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  424. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  425. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  426. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  427. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  428. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  429. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  430. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  431. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  432. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  433. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  434. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  435. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  436. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  437. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  438. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  439. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  440. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  441. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  442. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  443. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  444. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  445. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  446. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  447. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  448. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  449. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  450. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  451. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  452. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  453. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  454. package/payload/overlays/qoder/skills/design-bundle-creator/SKILL.md +19 -0
  455. package/payload/overlays/qoder/skills/design-kit-creator/SKILL.md +19 -0
  456. package/payload/overlays/qoder/skills/design-skill-creator/SKILL.md +19 -0
  457. package/payload/shared/authoring/panel-components.json +1345 -1041
  458. package/payload/shared/authoring/studio-creators/index.md +143 -0
  459. package/payload/shared/authoring/studio-creators/material.json +1 -0
  460. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  461. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  462. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  463. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  464. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  465. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  466. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  467. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  468. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  469. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  470. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  471. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  472. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  473. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  474. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  475. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  476. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  477. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  478. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  479. package/payload/shared/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  480. package/payload/shared/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  481. package/payload/shared/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  482. package/payload/shared/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  483. package/payload/shared/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  484. package/payload/shared/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  485. package/payload/shared/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  486. package/payload/shared/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  487. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  488. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  489. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  490. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  491. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  492. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  493. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  494. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  495. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  496. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  497. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  498. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  499. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  500. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  501. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  502. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  503. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  504. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  505. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  506. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  507. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  508. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  509. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  510. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  511. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  512. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  513. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  514. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  515. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  516. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  517. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  518. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  519. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  520. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  521. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  522. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  523. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  524. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  525. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  526. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  527. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  528. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  529. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  530. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  531. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  532. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  533. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  534. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  535. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  536. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  537. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  538. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  539. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  540. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  541. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  542. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  543. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  544. package/payload/shared/bundles/ai_agent_capabilities/locales/en-US.json +1 -1
  545. package/payload/shared/bundles/ai_agent_capabilities/locales/zh-CN.json +1 -1
  546. package/payload/shared/bundles/business_data/locales/en-US.json +1 -1
  547. package/payload/shared/bundles/business_data/locales/zh-CN.json +1 -1
  548. package/payload/shared/bundles/business_rules/locales/en-US.json +1 -1
  549. package/payload/shared/bundles/business_rules/locales/zh-CN.json +1 -1
  550. package/payload/shared/bundles/design_style/locales/en-US.json +1 -1
  551. package/payload/shared/bundles/design_style/locales/zh-CN.json +1 -1
  552. package/payload/shared/bundles/flow_design/locales/en-US.json +1 -1
  553. package/payload/shared/bundles/flow_design/locales/zh-CN.json +1 -1
  554. package/payload/shared/bundles/function_modules/locales/en-US.json +1 -2
  555. package/payload/shared/bundles/function_modules/locales/zh-CN.json +1 -2
  556. package/payload/shared/bundles/function_modules/panel.yaml +1 -1
  557. package/payload/shared/bundles/integration_design/locales/en-US.json +1 -1
  558. package/payload/shared/bundles/integration_design/locales/zh-CN.json +1 -1
  559. package/payload/shared/bundles/notification_design/locales/en-US.json +1 -1
  560. package/payload/shared/bundles/notification_design/locales/zh-CN.json +1 -1
  561. package/payload/shared/bundles/page_design/locales/en-US.json +1 -1
  562. package/payload/shared/bundles/page_design/locales/zh-CN.json +1 -1
  563. package/payload/shared/bundles/quality_acceptance/locales/en-US.json +1 -1
  564. package/payload/shared/bundles/quality_acceptance/locales/zh-CN.json +1 -1
  565. package/payload/shared/bundles/research/SKILL.md +38 -4
  566. package/payload/shared/bundles/research/locales/en-US.json +1 -1
  567. package/payload/shared/bundles/research/locales/zh-CN.json +1 -1
  568. package/payload/shared/bundles/research/reference/artifact-contract.md +31 -0
  569. package/payload/shared/bundles/research/reference/preview.json +1 -1
  570. package/payload/shared/bundles/research/skill.yaml +1 -1
  571. package/payload/shared/bundles/research/validation.yaml +3 -0
  572. package/payload/shared/bundles/role_access/locales/en-US.json +1 -1
  573. package/payload/shared/bundles/role_access/locales/zh-CN.json +1 -1
  574. package/payload/shared/bundles/smart_questions/locales/en-US.json +1 -1
  575. package/payload/shared/bundles/smart_questions/locales/zh-CN.json +1 -1
  576. package/payload/shared/bundles/web_app_prd_assembly/locales/en-US.json +1 -1
  577. package/payload/shared/bundles/web_app_prd_assembly/locales/zh-CN.json +1 -1
  578. package/payload/shared/bundles/whiteboard/locales/en-US.json +1 -1
  579. package/payload/shared/bundles/whiteboard/locales/zh-CN.json +1 -1
  580. package/payload/shared/kits/web_app/kit.yaml +1 -1
  581. package/payload/shared/kits/web_app/mindset.md +1 -1
  582. package/payload/shared/knowledge/runtime-manifest.json +3 -2
  583. package/payload/shared/knowledge/runtime.mjs +19 -26
  584. package/payload/shared/scripts/{codex-connection-DuV2wtkn.mjs → codex-connection-1RvU1XCj.mjs} +115 -68
  585. package/payload/shared/scripts/codex-desktop-bridge.mjs +2 -2
  586. package/payload/shared/scripts/{connection-file-Dk1TJHgf.mjs → connection-file-CNwrHbAG.mjs} +3 -1
  587. package/payload/shared/scripts/{content-archive-4UdioMU9.mjs → content-archive-CnwVcuWA.mjs} +66 -22
  588. package/payload/shared/scripts/{core-entry-B6zaTh1o.mjs → core-entry-DESmwP78.mjs} +1121 -993
  589. package/payload/shared/scripts/design.mjs +136 -227
  590. package/payload/shared/scripts/git-runtime-check.mjs +1 -1
  591. package/payload/shared/scripts/knowledge-snapshot-query.mjs +1 -1
  592. package/payload/shared/scripts/{load-DE29wyw0.mjs → load-C-RwS23Y.mjs} +1 -1
  593. package/payload/shared/scripts/panel-preview-BeVRYFk1.mjs +78 -0
  594. package/payload/shared/scripts/{server-BoVIQm2J.mjs → server-BBHB9EQr.mjs} +423 -1462
  595. package/payload/shared/scripts/studio-CS5TyoYn.mjs +868 -0
  596. package/payload/shared/scripts/{studio-instance-composition-ClAJ72-M.mjs → studio-instance-composition-BJzYMyvV.mjs} +165 -62
  597. package/payload/shared/scripts/studio-instances-D-Y1WNya.mjs +1212 -0
  598. package/payload/shared/scripts/studio-panel-drafts-Dq171F6x.mjs +393 -0
  599. package/payload/shared/scripts/{windows-private-storage-DRAXaqae.mjs → windows-native-platform-DLm-tedp.mjs} +7 -150
  600. package/payload/shared/scripts/windows-private-storage-Q0cTolE3.mjs +149 -0
  601. package/payload/shared/scripts/workbuddy-panel-service.mjs +2 -2
  602. package/payload/shared/web/{abnfDiagram-VCTEODGH-BElHS-zE.js → abnfDiagram-VCTEODGH-B9IX6J0A.js} +3 -3
  603. package/payload/shared/web/{architectureDiagram-5GKGNRK7-BECL41Da.js → architectureDiagram-5GKGNRK7-BisnJYZ9.js} +5 -5
  604. package/payload/shared/web/{blockDiagram-I7D4REHJ-BHdPKhvo.js → blockDiagram-I7D4REHJ-B2P0WSPo.js} +9 -9
  605. package/payload/shared/web/{c4Diagram-7LVT6UL2-CWIbzZY_.js → c4Diagram-7LVT6UL2-D48X7taa.js} +7 -7
  606. package/payload/shared/web/{channel-CIc-uLOz.js → channel-BbOrJIbZ.js} +1 -1
  607. package/payload/shared/web/{chunk-4HAMMTFA-b3a3G6vp.js → chunk-4HAMMTFA--gjf22vn.js} +5 -5
  608. package/payload/shared/web/{chunk-75Z2AOVW-CRrsMd7V.js → chunk-75Z2AOVW-B2_IycTx.js} +1 -1
  609. package/payload/shared/web/{chunk-DU6HZSFF-DQGKOvUD.js → chunk-DU6HZSFF-U8npu9I8.js} +1 -1
  610. package/payload/shared/web/{chunk-F27PBJKO-CKTDAMhD.js → chunk-F27PBJKO-CTwYnE5c.js} +1 -1
  611. package/payload/shared/web/{chunk-GMAD6QVW-CR6pf1Wk.js → chunk-GMAD6QVW-CKC1iaEH.js} +3 -3
  612. package/payload/shared/web/{chunk-GVQU2GXP-Cuq0uwWc.js → chunk-GVQU2GXP-dsHcuLJt.js} +2 -2
  613. package/payload/shared/web/{chunk-IMKFNOWR-BIkawNBO.js → chunk-IMKFNOWR-DB9Jxepw.js} +5 -5
  614. package/payload/shared/web/{chunk-L3NEJ4N5-CuRR4sgK.js → chunk-L3NEJ4N5-CdduiJry.js} +5 -5
  615. package/payload/shared/web/{chunk-OSK3NFVY-o5AaXVbW.js → chunk-OSK3NFVY-BOueY91y.js} +6 -6
  616. package/payload/shared/web/{chunk-P2QGCYS3-CQGN9yCW.js → chunk-P2QGCYS3-yDDaRgcO.js} +1 -1
  617. package/payload/shared/web/{chunk-POPQ4Y6H-CoV8F_6L.js → chunk-POPQ4Y6H-CljBbmoJ.js} +1 -1
  618. package/payload/shared/web/{chunk-PWAF6VOD-DLPv7U5s.js → chunk-PWAF6VOD-CIvbnSr5.js} +1 -1
  619. package/payload/shared/web/{chunk-SHT3W25Y-DAA9rzEQ.js → chunk-SHT3W25Y-BtoLtpjX.js} +7 -7
  620. package/payload/shared/web/{chunk-SVP7TREG-CsNwZR-J.js → chunk-SVP7TREG-BZs6p27H.js} +2 -2
  621. package/payload/shared/web/{chunk-TICWLB2K-BkUUbwgD.js → chunk-TICWLB2K-CKuC0THI.js} +5 -5
  622. package/payload/shared/web/{classDiagram-ZZMXUADV-HbaRZ3Nl.js → classDiagram-ZZMXUADV-CSdRlepW.js} +13 -13
  623. package/payload/shared/web/{classDiagram-v2-VYDZK3BY-Bkk8o06s.js → classDiagram-v2-VYDZK3BY-B2q6X41N.js} +13 -13
  624. package/payload/shared/web/client.js +39072 -5906
  625. package/payload/shared/web/{cynefinDiagram-5FMLGOSQ-CP-tjXE5.js → cynefinDiagram-5FMLGOSQ-4N8NcsmJ.js} +3 -3
  626. package/payload/shared/web/{dagre-GXQ25YYZ-GUxh673_.js → dagre-GXQ25YYZ-CcOoDuJv.js} +10 -10
  627. package/payload/shared/web/{diagram-S7CK7UJ4-BFDH1Gbu.js → diagram-S7CK7UJ4-eOfyUI5w.js} +4 -4
  628. package/payload/shared/web/{diagram-UQ7AKVKN-PHM6uSDT.js → diagram-UQ7AKVKN-6SdElfMd.js} +3 -3
  629. package/payload/shared/web/{diagram-VSXAHHWV-C6m_LjuJ.js → diagram-VSXAHHWV-DmzS3Yhs.js} +2 -2
  630. package/payload/shared/web/{diagram-VX7I27RA-G0Og_1eB.js → diagram-VX7I27RA-CJ0mjzif.js} +5 -5
  631. package/payload/shared/web/{diagram-Z3DM3KII-DxLU0CyU.js → diagram-Z3DM3KII-b86RsB6X.js} +3 -3
  632. package/payload/shared/web/{dist-CpfF1Jph.js → dist-USJ_fvfj.js} +49 -49
  633. package/payload/shared/web/{ebnfDiagram-PWID7BFC-Dh7NgFDw.js → ebnfDiagram-PWID7BFC-BBo2ROEO.js} +3 -3
  634. package/payload/shared/web/{erDiagram-RLTQ6QDP-De1Ves_r.js → erDiagram-RLTQ6QDP-B7ovyDrh.js} +12 -12
  635. package/payload/shared/web/{excalidraw-surface-q56LZexh.js → excalidraw-surface-BAJM_4P2.js} +1 -1
  636. package/payload/shared/web/flowDiagram-HODETNUW-BmAFlSDM.js +16 -0
  637. package/payload/shared/web/{ganttDiagram-EL5Y4UJY-9UcawiqG.js → ganttDiagram-EL5Y4UJY-BF9LYJFN.js} +2 -2
  638. package/payload/shared/web/{gitGraphDiagram-WWUBYQGX-BYFpRlq8.js → gitGraphDiagram-WWUBYQGX-BLzvYjNu.js} +2 -2
  639. package/payload/shared/web/{infoDiagram-27XIBGKW-B_sYOrDT.js → infoDiagram-27XIBGKW-Cg4jV_tA.js} +2 -2
  640. package/payload/shared/web/{ishikawaDiagram-5VMMS53U-Dbq0pjSI.js → ishikawaDiagram-5VMMS53U-BqfEZdpO.js} +3 -3
  641. package/payload/shared/web/{journeyDiagram-3NMN7TZE-CzWCm5-W.js → journeyDiagram-3NMN7TZE-_QW0fOqV.js} +2 -2
  642. package/payload/shared/web/{kanban-definition-UXKFOSKX-BPt2iOge.js → kanban-definition-UXKFOSKX-C1qxSJso.js} +9 -9
  643. package/payload/shared/web/{mindmap-definition-YA3MSWOX--s-o7l9c.js → mindmap-definition-YA3MSWOX-CxX8l7QH.js} +11 -11
  644. package/payload/shared/web/{pegDiagram-XKGWAZYB-BtVScKlh.js → pegDiagram-XKGWAZYB-CTCTE951.js} +3 -3
  645. package/payload/shared/web/{pieDiagram-E7YTZNPT-BVRgxFzd.js → pieDiagram-E7YTZNPT-BVaT5mnK.js} +3 -3
  646. package/payload/shared/web/{quadrantDiagram-AXDQQJYC-CoI_hWsn.js → quadrantDiagram-AXDQQJYC-DC6iypTQ.js} +1 -1
  647. package/payload/shared/web/{railroadDiagram-O6MQD6OU-CQvkXn2E.js → railroadDiagram-O6MQD6OU-CKk1xSyC.js} +3 -3
  648. package/payload/shared/web/{requirementDiagram-BXWQKSXE-BeMX6Y3_.js → requirementDiagram-BXWQKSXE-D3r71qoR.js} +11 -11
  649. package/payload/shared/web/{sankeyDiagram-P5KCCOFB-DAW2tMQQ.js → sankeyDiagram-P5KCCOFB-BtB3K5ob.js} +1 -1
  650. package/payload/shared/web/{sequenceDiagram-WJ2MYXX4-CIyt6uFH.js → sequenceDiagram-WJ2MYXX4-BsJtFrjU.js} +4 -4
  651. package/payload/shared/web/{stateDiagram-D77RDMKH-Cl5YhtvO.js → stateDiagram-D77RDMKH-srvF-8IQ.js} +13 -13
  652. package/payload/shared/web/{stateDiagram-v2-MP3YSRHH-BsQEmOAZ.js → stateDiagram-v2-MP3YSRHH-CQCPpAb7.js} +13 -13
  653. package/payload/shared/web/{swimlanes-42K2YHIH-DRkfAovZ.js → swimlanes-42K2YHIH-cwCdwOb4.js} +10 -10
  654. package/payload/shared/web/{swimlanesDiagram-VR7AAH4N-CDtUk-LJ.js → swimlanesDiagram-VR7AAH4N-6PGsW_lL.js} +13 -13
  655. package/payload/shared/web/{timeline-definition-24CTP7MA-Bc0GefZe.js → timeline-definition-24CTP7MA-DbKwK9M6.js} +3 -3
  656. package/payload/shared/web/{vennDiagram-4TSXK5OY-CU3O6wRh.js → vennDiagram-4TSXK5OY-BnJ0tHAd.js} +3 -3
  657. package/payload/shared/web/{wardleyDiagram-VM6X3IG4-USaMhD8m.js → wardleyDiagram-VM6X3IG4-Bm9W5WIA.js} +3 -3
  658. package/payload/shared/web/{xychartDiagram-S5SC5T6Z-C8IhDKnq.js → xychartDiagram-S5SC5T6Z-DInWMmWi.js} +5 -5
  659. package/release-hosts.json +1 -1
  660. package/release-manifest.json +664 -133
  661. package/payload/shared/scripts/panel-preview-CPGv8nTe.mjs +0 -105
  662. package/payload/shared/scripts/studio-content-archive-CNUz472H.mjs +0 -334
  663. package/payload/shared/scripts/studio-instances-DKW4R37b.mjs +0 -592
  664. package/payload/shared/scripts/studio-panel-drafts-Cu48ih5u.mjs +0 -787
  665. package/payload/shared/scripts/windows-private-storage-_g0Kdp0U.mjs +0 -2
  666. package/payload/shared/web/flowDiagram-HODETNUW-DY-blVtj.js +0 -16
  667. package/payload/shared/web/katex-DhTJdtYJ.js +0 -26444
@@ -0,0 +1,393 @@
1
+ import { n as readStudioArchiveResource } from "./content-archive-CnwVcuWA.mjs";
2
+ import { isAbsolute, join, relative, resolve, sep } from "node:path";
3
+ import { lstat, mkdir, open, readFile, readdir, realpath, rename, rmdir, unlink } from "node:fs/promises";
4
+ import { createHash, randomUUID } from "node:crypto";
5
+ //#region packages/studio/src/instance-changes.ts
6
+ const STUDIO_INSTANCE_CHANGE_LIMITS = Object.freeze({
7
+ files: 64,
8
+ fileBytes: 1048576,
9
+ totalBytes: 4194304,
10
+ diffBytes: 8388608,
11
+ sampleBytes: 262144
12
+ });
13
+ /** Copy before any asynchronous host work so callers cannot mutate an in-flight edit. */
14
+ function normalizeStudioInstanceChanges(value) {
15
+ const { files, fileBytes, totalBytes, sampleBytes } = STUDIO_INSTANCE_CHANGE_LIMITS;
16
+ if (!value || typeof value.id !== "string" || !value.id || value.id.length > 128 || !Number.isSafeInteger(value.expectedRevision) || value.expectedRevision < 0 || value.expectedRevision >= Number.MAX_SAFE_INTEGER || !Array.isArray(value.changes) || !value.changes.length || value.changes.length > files) throw new Error(`Select an instance revision and 1–${files} file changes.`);
17
+ const seen = /* @__PURE__ */ new Set(), encoder = new TextEncoder();
18
+ let bytes = 0;
19
+ const changes = value.changes.map((change) => {
20
+ const { path, content } = change ?? {};
21
+ if (typeof path !== "string" || !path || path.length > 1024 || /[\\:\u0000-\u001f\u007f]/u.test(path) || path.split("/").length > 32 || path.split("/").some((part) => !part || [
22
+ ".",
23
+ "..",
24
+ ".git",
25
+ "node_modules",
26
+ "__proto__",
27
+ "constructor",
28
+ "prototype"
29
+ ].includes(part)) || seen.has(path)) throw new Error("Invalid or duplicate instance source path.");
30
+ seen.add(path);
31
+ if (content !== null && (typeof content !== "string" || content.length > fileBytes || !content.isWellFormed() || content.includes("\0") || encoder.encode(content).length > fileBytes)) throw new Error("Source must be UTF-8 text of at most 1 MiB per file.");
32
+ bytes += encoder.encode(path).length + (content === null ? 0 : encoder.encode(content).length);
33
+ if (bytes > totalBytes) throw new Error("Instance changes exceed the 4 MiB total text budget.");
34
+ return Object.freeze({
35
+ path,
36
+ content
37
+ });
38
+ });
39
+ if (value.sampleSource !== void 0 && (typeof value.sampleSource !== "string" || value.sampleSource.length > sampleBytes || !value.sampleSource.isWellFormed() || encoder.encode(value.sampleSource).length > sampleBytes)) throw new Error("Isolated preview sample must be UTF-8 JSON text of at most 256 KiB.");
40
+ const bundle = value.bundle;
41
+ if (bundle !== void 0 && (typeof bundle.name !== "string" || !/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(bundle.name) || typeof bundle.version !== "string" || !/^\d+\.\d+$/.test(bundle.version))) throw new Error("Select an exact preview Bundle pin.");
42
+ return Object.freeze({
43
+ id: value.id,
44
+ expectedRevision: value.expectedRevision,
45
+ changes: Object.freeze(changes),
46
+ ...bundle ? { bundle: Object.freeze({
47
+ name: bundle.name,
48
+ version: bundle.version
49
+ }) } : {},
50
+ ...value.sampleSource === void 0 ? {} : { sampleSource: value.sampleSource }
51
+ });
52
+ }
53
+ //#endregion
54
+ //#region packages/studio/src/node/studio-panel-drafts.mjs
55
+ /** Atomic local source storage and retained trial captures. No project writes. */
56
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
57
+ const HASH = /^[0-9a-f]{64}$/;
58
+ const MAX_SOURCE_BYTES = 16777216;
59
+ const MAX_DOCUMENT_BYTES = 2097152;
60
+ const inside = (root, path) => {
61
+ const rel = relative(root, path);
62
+ return !isAbsolute(rel) && rel !== ".." && !rel.startsWith(`..${sep}`);
63
+ };
64
+ const hash = (value) => createHash("sha256").update(value).digest("hex");
65
+ const moveToSystemTrash = async (file) => {
66
+ const { default: trash } = await import("trash");
67
+ await trash([file], { glob: false });
68
+ };
69
+ /** Existing namespaces preserve saved source and historical trial data. */
70
+ async function createStudioDraftPorts({ stateRoot, kitRoot, readInstalledKit, readInstalledBundle, moveToTrash = moveToSystemTrash }, kind) {
71
+ if (!["panel", "instance"].includes(kind)) throw new Error("Select the Panel history or instance source namespace.");
72
+ if (!isAbsolute(stateRoot)) throw new Error("Studio requires an explicit absolute state directory.");
73
+ if (kind === "instance" && typeof moveToTrash !== "function") throw new Error("Studio requires a system trash adapter.");
74
+ const kitRootReal = kind === "instance" && kitRoot === void 0 ? void 0 : await realpath(kitRoot);
75
+ if (kitRootReal && inside(kitRootReal, resolve(stateRoot))) throw new Error("Studio drafts must not live inside the installed Kit.");
76
+ await mkdir(stateRoot, {
77
+ recursive: true,
78
+ mode: 448
79
+ });
80
+ const state = await realpath(stateRoot);
81
+ const root = join(state, `studio-${kind}-drafts`);
82
+ const format = `studio-${kind}-draft/v1`;
83
+ if (kitRootReal && inside(kitRootReal, root)) throw new Error("Studio drafts must not live inside the installed Kit.");
84
+ await mkdir(root, {
85
+ recursive: true,
86
+ mode: 448
87
+ });
88
+ if ((await lstat(root)).isSymbolicLink()) throw new Error("Studio storage cannot be a symlink.");
89
+ const snapshots = join(root, "snapshots");
90
+ await mkdir(snapshots, { mode: 448 }).catch((error) => {
91
+ if (error.code !== "EEXIST") throw error;
92
+ });
93
+ if (!(await lstat(snapshots)).isDirectory() || (await lstat(snapshots)).isSymbolicLink()) throw new Error("Unsafe Studio snapshot directory.");
94
+ const withLock = async (operation) => {
95
+ const lock = join(root, "write.lock");
96
+ try {
97
+ await mkdir(lock, { mode: 448 });
98
+ } catch (error) {
99
+ 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.");
100
+ throw error;
101
+ }
102
+ try {
103
+ return await operation();
104
+ } finally {
105
+ await rmdir(lock);
106
+ }
107
+ };
108
+ const readRegular = async (file, limit) => {
109
+ const info = await lstat(file);
110
+ if (!info.isFile() || info.isSymbolicLink() || info.size > limit) throw new Error("Invalid or oversized Studio file.");
111
+ return readFile(file, "utf8");
112
+ };
113
+ const writeAtomic = async (file, text) => {
114
+ const temporary = join(root, `${randomUUID()}.tmp`);
115
+ let handle;
116
+ try {
117
+ handle = await open(temporary, "wx", 384);
118
+ await handle.writeFile(text, "utf8");
119
+ await handle.sync();
120
+ await handle.close();
121
+ handle = void 0;
122
+ await rename(temporary, file);
123
+ } finally {
124
+ await handle?.close();
125
+ await unlink(temporary).catch((error) => {
126
+ if (error.code !== "ENOENT") throw error;
127
+ });
128
+ }
129
+ };
130
+ const draftPath = (id) => {
131
+ if (typeof id !== "string" || !UUID.test(id)) throw new Error("Invalid Studio source identity.");
132
+ return join(root, `${id}.json`);
133
+ };
134
+ const read = async (id) => {
135
+ const record = JSON.parse(await readRegular(draftPath(id), MAX_DOCUMENT_BYTES));
136
+ const pin = (value) => typeof value?.name === "string" && typeof value?.version === "string";
137
+ const validContent = kind === "panel" ? typeof record.panelSource === "string" && typeof record.sampleSource === "string" && pin(record.kit) && pin(record.bundle) : ["kit", "bundle"].includes(record.kind) && (record.recordVersion === 2 ? pin(record[record.kind]) && typeof record.sourceId === "string" && (record.current === true || 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)));
138
+ if (record.format !== format || record.id !== id || !Number.isSafeInteger(record.revision) || record.revision < 0 || !HASH.test(record.baseSnapshot) || !validContent) throw new Error("Invalid Studio source record.");
139
+ const { format: _format, ...value } = record;
140
+ if (kind === "instance") delete value.confirmed;
141
+ return value;
142
+ };
143
+ const persist = async (record) => {
144
+ if (kind === "instance") {
145
+ const { confirmed: _confirmed, ...source } = record;
146
+ record = source;
147
+ }
148
+ const text = JSON.stringify({
149
+ format,
150
+ ...record
151
+ });
152
+ if (Buffer.byteLength(text) > MAX_DOCUMENT_BYTES) throw new Error("Studio source record exceeds 2 MiB.");
153
+ await writeAtomic(draftPath(record.id), text);
154
+ return record;
155
+ };
156
+ const repository = {
157
+ read,
158
+ async list() {
159
+ const ids = (await readdir(root)).filter((name) => name.endsWith(".json") && UUID.test(name.slice(0, -5))).sort();
160
+ return Promise.all(ids.map((name) => read(name.slice(0, -5))));
161
+ },
162
+ create: (content) => withLock(() => createUnlocked(content)),
163
+ replace: (id, expectedRevision, content) => withLock(() => replaceUnlocked(id, expectedRevision, content))
164
+ };
165
+ const createUnlocked = async (content) => {
166
+ return persist({
167
+ ...content,
168
+ id: randomUUID(),
169
+ revision: 0
170
+ });
171
+ };
172
+ const replaceUnlocked = async (id, expectedRevision, content) => {
173
+ if ((await read(id)).revision !== expectedRevision) throw new Error("Studio source changed elsewhere. Reopen it before saving.");
174
+ return persist({
175
+ ...content,
176
+ id,
177
+ revision: expectedRevision + 1
178
+ });
179
+ };
180
+ if (kind === "instance") repository.transaction = (operation) => withLock(() => operation({
181
+ read,
182
+ list: repository.list,
183
+ create: createUnlocked,
184
+ replace: replaceUnlocked,
185
+ retainTree: (entries) => retainEntriesUnlocked(checkEntries(entries)),
186
+ async trash(id, expectedRevision) {
187
+ const current = await read(id);
188
+ if (current.revision !== expectedRevision) throw new Error("Studio source changed elsewhere. Reopen it before deleting.");
189
+ const file = draftPath(id);
190
+ await moveToTrash(file);
191
+ try {
192
+ await lstat(file);
193
+ throw new Error("The system trash did not move this Studio working copy.");
194
+ } catch (error) {
195
+ if (error.code !== "ENOENT") throw error;
196
+ }
197
+ return {
198
+ id,
199
+ revision: current.revision,
200
+ trashed: true
201
+ };
202
+ },
203
+ async migrate(id, expectedRevision, content) {
204
+ const current = await read(id);
205
+ if (current.revision !== expectedRevision || current.recordVersion === 2) throw new Error("Legacy instance changed or was already migrated.");
206
+ const backup = join(root, `${id}.legacy-v1.json`);
207
+ const original = JSON.stringify({
208
+ format,
209
+ ...current
210
+ });
211
+ try {
212
+ if (await readRegular(backup, MAX_DOCUMENT_BYTES) !== original) throw new Error("Existing legacy recovery backup differs from the current record.");
213
+ } catch (error) {
214
+ if (error.code !== "ENOENT") throw error;
215
+ await writeAtomic(backup, original);
216
+ }
217
+ return replaceUnlocked(id, expectedRevision, content);
218
+ }
219
+ }));
220
+ const openSnapshot = async (id) => {
221
+ if (typeof id !== "string" || !HASH.test(id)) throw new Error("Invalid Studio source snapshot.");
222
+ const text = await readRegular(join(snapshots, `${id}.json`), MAX_SOURCE_BYTES * 2);
223
+ if (hash(text) !== id) throw new Error("Studio source snapshot integrity check failed.");
224
+ const document = JSON.parse(text);
225
+ const closure = Array.isArray(document) ? void 0 : document;
226
+ if (closure && closure.format !== "studio-source-closure/v1") throw new Error("Invalid Studio source closure.");
227
+ const entries = closure ? closure.entries : document;
228
+ const files = new Map(entries);
229
+ const virtualRoot = resolve(root, "virtual-source", id);
230
+ const keyOf = (path) => {
231
+ const absolute = resolve(path);
232
+ if (!inside(virtualRoot, absolute)) throw new Error("Preview path escapes its source snapshot.");
233
+ return relative(virtualRoot, absolute).split(sep).join("/");
234
+ };
235
+ const children = (path) => {
236
+ const key = keyOf(path), prefix = key ? `${key}/` : "";
237
+ return [...new Set([...files.keys()].filter((file) => file.startsWith(prefix)).map((file) => file.slice(prefix.length).split("/")[0]))].sort();
238
+ };
239
+ const snapshotRoot = closure ? resolve(virtualRoot, closure.kitPath) : virtualRoot;
240
+ keyOf(snapshotRoot);
241
+ const loadOptions = closure ? {
242
+ sourceId: closure.sourceId,
243
+ bundles: closure.bundles.map((bundle) => {
244
+ const rootDir = resolve(virtualRoot, bundle.path);
245
+ keyOf(rootDir);
246
+ return {
247
+ name: bundle.name,
248
+ version: bundle.version,
249
+ sourceId: bundle.sourceId,
250
+ rootDir
251
+ };
252
+ })
253
+ } : void 0;
254
+ return {
255
+ id,
256
+ root: snapshotRoot,
257
+ storageRoot: virtualRoot,
258
+ ...loadOptions ? { loadOptions } : {},
259
+ fs: {
260
+ async readBytes(path) {
261
+ const bytes = files.get(keyOf(path));
262
+ return bytes === void 0 ? void 0 : Buffer.from(bytes, "base64");
263
+ },
264
+ async readText(path) {
265
+ const bytes = files.get(keyOf(path));
266
+ return bytes === void 0 ? void 0 : new TextDecoder("utf-8", { fatal: true }).decode(Buffer.from(bytes, "base64"));
267
+ },
268
+ async readResource(path) {
269
+ const bytes = files.get(keyOf(path));
270
+ return bytes === void 0 ? void 0 : readStudioArchiveResource(path, Buffer.from(bytes, "base64"));
271
+ },
272
+ async listDir(path) {
273
+ return children(path);
274
+ },
275
+ async isDirectory(path) {
276
+ return children(path).length > 0;
277
+ },
278
+ async realPath(path) {
279
+ keyOf(path);
280
+ return resolve(path);
281
+ }
282
+ }
283
+ };
284
+ };
285
+ const checkEntries = (entries) => {
286
+ if (!Array.isArray(entries) || entries.length > 4096) throw new Error("Source tree exceeds 4096 files.");
287
+ const seen = /* @__PURE__ */ new Set();
288
+ let bytes = 0;
289
+ return entries.map((entry) => {
290
+ const { path, base64 } = entry ?? {};
291
+ if (typeof path !== "string" || !path || path.length > 1024 || /[\\:\u0000-\u001f\u007f]/u.test(path) || path.split("/").some((part) => !part || [
292
+ ".",
293
+ "..",
294
+ ".git",
295
+ "node_modules"
296
+ ].includes(part)) || seen.has(path) || typeof base64 !== "string" || Buffer.from(base64, "base64").toString("base64") !== base64) throw new Error("Invalid source tree entry.");
297
+ seen.add(path);
298
+ bytes += Buffer.byteLength(base64, "base64");
299
+ if (bytes > MAX_SOURCE_BYTES) throw new Error("Source tree exceeds 16 MiB.");
300
+ return [path, base64];
301
+ }).sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
302
+ };
303
+ const retainEntriesUnlocked = async (entries, closure) => {
304
+ const text = JSON.stringify(closure ? {
305
+ ...closure,
306
+ entries
307
+ } : entries), id = hash(text), destination = join(snapshots, `${id}.json`);
308
+ try {
309
+ if (hash(await readRegular(destination, MAX_SOURCE_BYTES * 2)) !== id) throw new Error("Studio snapshot content mismatch.");
310
+ return openSnapshot(id);
311
+ } catch (error) {
312
+ if (error.code !== "ENOENT") throw error;
313
+ }
314
+ await writeAtomic(destination, text);
315
+ return openSnapshot(id);
316
+ };
317
+ const retainEntries = (entries, closure) => withLock(() => retainEntriesUnlocked(entries, closure));
318
+ const sources = {
319
+ open: openSnapshot,
320
+ ...kind === "instance" ? { retainTree: (entries) => withLock(() => retainEntriesUnlocked(checkEntries(entries))) } : {},
321
+ async capture(pin) {
322
+ if (!kitRootReal || typeof readInstalledKit !== "function") throw new Error("Installed Kit capture is not configured for this storage port.");
323
+ const installed = await readInstalledKit();
324
+ if (pin.name !== installed.name) throw new Error("Select the current installed Kit identity.");
325
+ const entries = [], ignored = /* @__PURE__ */ new Set([".git", "node_modules"]);
326
+ let total = 0, nodes = 0;
327
+ const walk = async (directory, base, prefix) => {
328
+ if (++nodes > 8192 || relative(base, directory).split(sep).length > 32) throw new Error("Studio source tree exceeds directory limits.");
329
+ for (const name of (await readdir(directory)).sort()) {
330
+ if (ignored.has(name)) continue;
331
+ const file = join(directory, name), info = await lstat(file);
332
+ if (info.isSymbolicLink()) throw new Error("Studio cannot snapshot source symlinks.");
333
+ if (info.isDirectory()) await walk(file, base, prefix);
334
+ else if (info.isFile()) {
335
+ if (total + info.size > MAX_SOURCE_BYTES || entries.length >= 4096) throw new Error("Kit preview snapshot exceeds 16 MiB or 4096 files.");
336
+ const bytes = await readFile(file);
337
+ total += bytes.length;
338
+ if (total > MAX_SOURCE_BYTES) throw new Error("Kit preview snapshot exceeds 16 MiB.");
339
+ entries.push([prefix + relative(base, file).split(sep).join("/"), bytes.toString("base64")]);
340
+ } else throw new Error("Studio sources must be regular files or directories.");
341
+ }
342
+ };
343
+ const sourceRoot = resolve(installed.sourceRoot ?? kitRootReal);
344
+ if (await realpath(sourceRoot) !== sourceRoot) throw new Error("Studio cannot snapshot source symlinks.");
345
+ if (await readFile(join(sourceRoot, "kit.yaml"), "utf8").catch((error) => {
346
+ if (error.code === "ENOENT") return void 0;
347
+ throw error;
348
+ }) === void 0) {
349
+ await walk(sourceRoot, sourceRoot, "");
350
+ return retainEntries(entries);
351
+ }
352
+ if (!Array.isArray(installed.skills)) throw new Error("Independent capture requires compiled mounted Bundles.");
353
+ const kitPath = `kits/${installed.name}`, bundles = [];
354
+ await walk(sourceRoot, sourceRoot, `${kitPath}/`);
355
+ for (const skill of installed.skills) {
356
+ const pin = {
357
+ name: skill.catalogName ?? skill.name,
358
+ version: String(skill.version)
359
+ };
360
+ const retained = await readInstalledBundle?.(pin);
361
+ const bundleRoot = resolve(retained?.resourceRoot ?? skill.resourceRoot ?? "");
362
+ if (!retained?.resourceRoot && !skill.resourceRoot) throw new Error("Mounted Bundle source root is missing.");
363
+ if (await realpath(bundleRoot) !== bundleRoot) throw new Error("Studio cannot snapshot source symlinks.");
364
+ const path = `bundles/${pin.name}`;
365
+ await walk(bundleRoot, bundleRoot, `${path}/`);
366
+ bundles.push({
367
+ ...pin,
368
+ path,
369
+ sourceId: retained?.sourceId ?? "companion:explicit-kit"
370
+ });
371
+ }
372
+ const checked = checkEntries(entries.map(([path, base64]) => ({
373
+ path,
374
+ base64
375
+ })));
376
+ return retainEntries(checked, {
377
+ format: "studio-source-closure/v1",
378
+ kitPath,
379
+ sourceId: "companion:explicit-kit",
380
+ bundles
381
+ });
382
+ }
383
+ };
384
+ return {
385
+ repository: kind === "panel" ? {
386
+ read,
387
+ list: repository.list
388
+ } : repository,
389
+ sources
390
+ };
391
+ }
392
+ //#endregion
393
+ export { STUDIO_INSTANCE_CHANGE_LIMITS as n, normalizeStudioInstanceChanges as r, createStudioDraftPorts as t };
@@ -1,13 +1,13 @@
1
1
  import { promisify } from "node:util";
2
- import { dirname, resolve, win32 } from "node:path";
3
- import { lstat, mkdir } from "node:fs/promises";
2
+ import { win32 } from "node:path";
3
+ import "node:fs/promises";
4
4
  import { execFile, spawn } from "node:child_process";
5
5
  import "node:crypto";
6
6
  import { AsyncLocalStorage } from "node:async_hooks";
7
7
  import { createInterface } from "node:readline";
8
- //#region packages/companion/src/windows-native-platform.mjs
8
+ //#region packages/studio/src/node/windows-native-platform.mjs
9
9
  /** Windows facts from native OS tools; no application IPC or model access. */
10
- const execute$1 = promisify(execFile);
10
+ const execute = promisify(execFile);
11
11
  const inspectionScope = new AsyncLocalStorage();
12
12
  async function withWindowsInspection(callback, { createInspector = createWindowsProcessInspector } = {}) {
13
13
  if (inspectionScope.getStore()) return callback();
@@ -36,7 +36,7 @@ function windowsSystemTool(name) {
36
36
  }
37
37
  async function windowsPowerShell(script) {
38
38
  if (process.platform !== "win32") throw Error("Windows native inspection requires Windows.");
39
- const { stdout } = await execute$1(windowsSystemTool("WindowsPowerShell/v1.0/powershell.exe"), [
39
+ const { stdout } = await execute(windowsSystemTool("WindowsPowerShell/v1.0/powershell.exe"), [
40
40
  "-NoProfile",
41
41
  "-NonInteractive",
42
42
  "-EncodedCommand",
@@ -54,7 +54,7 @@ let currentSid;
54
54
  async function windowsCurrentSid() {
55
55
  if (process.platform !== "win32") throw Error("Windows SID requires Windows.");
56
56
  if (currentSid) return currentSid;
57
- const { stdout } = await execute$1(windowsSystemTool("whoami.exe"), [
57
+ const { stdout } = await execute(windowsSystemTool("whoami.exe"), [
58
58
  "/user",
59
59
  "/fo",
60
60
  "csv",
@@ -255,147 +255,4 @@ function windowsCommandArgs(command) {
255
255
  return args;
256
256
  }
257
257
  //#endregion
258
- //#region packages/companion/src/windows-private-storage.mjs
259
- /** Validate actual Windows ACLs instead of treating Unix mode bits as proof. */
260
- const execute = promisify(execFile);
261
- function daclOf(sddl) {
262
- const dacl = /D:([^]*?)(?=S:|$)/.exec(sddl)?.[1];
263
- if (!dacl) throw Error("Windows storage has no explicit DACL.");
264
- return [...dacl.matchAll(/\(([^()]*)\)/g)].map((match) => match[1].split(";"));
265
- }
266
- /** Ancestors may grant read/execute, but must not let another user replace paths. */
267
- function validateAncestorSddl(sddl, sid) {
268
- const trusted = [
269
- sid,
270
- "SY",
271
- "BA",
272
- "S-1-5-18",
273
- "S-1-5-32-544",
274
- "S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464"
275
- ];
276
- const owner = /^O:([^:]+?)(?=G:|D:|S:|$)/.exec(sddl)?.[1];
277
- if (!trusted.includes(owner)) throw Error("Windows storage ancestor has an untrusted owner.");
278
- for (const ace of daclOf(sddl)) {
279
- if (ace.length !== 6 || !["A", "D"].includes(ace[0])) throw Error("Unsupported Windows ancestor ACE.");
280
- if (ace[0] === "D" || ace[1].includes("IO") || trusted.includes(ace[5])) continue;
281
- const rights = ace[2];
282
- const symbols = {
283
- FA: 2032127n,
284
- FR: 1179785n,
285
- FX: 1179808n,
286
- FW: 1179926n,
287
- GA: 2032127n,
288
- GR: 1179785n,
289
- GX: 1179808n,
290
- GW: 1179926n,
291
- LC: 4n,
292
- RC: 131072n,
293
- SD: 65536n,
294
- WD: 262144n,
295
- WO: 524288n
296
- };
297
- let mask = 0n;
298
- if (/^0x[0-9a-f]+$/i.test(rights)) mask = BigInt(rights);
299
- else {
300
- if (!rights || rights.length % 2) throw Error("Unsupported Windows ancestor rights.");
301
- for (let index = 0; index < rights.length; index += 2) {
302
- const value = symbols[rights.slice(index, index + 2)];
303
- if (value === void 0) throw Error("Unsupported Windows ancestor rights.");
304
- mask |= value;
305
- }
306
- }
307
- if (mask & 852032n) throw Error("Windows storage ancestor is replaceable by another principal.");
308
- if (mask & 272n) throw Error("Windows storage ancestor allows untrusted attribute writes.");
309
- if (mask & -1179824n) throw Error("Unsupported Windows ancestor rights.");
310
- }
311
- }
312
- function validatePrivateSddl(sddl, sid, { protectedAcl = false } = {}) {
313
- if (typeof sddl !== "string" || !/^S-1-5-\d+(?:-\d+)+$/.test(sid)) throw Error("Invalid Windows security identity.");
314
- const owner = /^O:([^:]+?)(?=G:|D:|S:|$)/.exec(sddl)?.[1];
315
- const dacl = /D:([^]*?)(?=S:|$)/.exec(sddl)?.[1];
316
- if (owner !== sid || !dacl || protectedAcl && !/^P/.test(dacl)) throw Error("Windows private storage owner or inheritance mismatch.");
317
- const aces = [...dacl.matchAll(/\(([^()]*)\)/g)].map((match) => match[1].split(";"));
318
- if (!aces.length || !aces.some((ace) => ace[0] === "A" && !ace[1].includes("IO") && ace[5] === sid && ace[2] === "FA")) throw Error("Windows private storage lacks user access.");
319
- for (const ace of aces) {
320
- if (ace.length !== 6 || ace[0] !== "A") throw Error("Unsupported Windows storage ACE.");
321
- if (ace[0] === "A" && ![
322
- sid,
323
- "SY",
324
- "BA",
325
- "S-1-5-18",
326
- "S-1-5-32-544"
327
- ].includes(ace[5])) throw Error("Windows storage allows another principal.");
328
- }
329
- }
330
- async function assertWindowsPrivate(path, { directory = false, protectedAcl = directory } = {}) {
331
- const stat = await lstat(path);
332
- if (stat.isSymbolicLink() || (directory ? !stat.isDirectory() : !stat.isFile())) throw Error("Private storage must be a regular owned path.");
333
- const paths = [];
334
- let current = resolve(path);
335
- while (true) {
336
- paths.push(current);
337
- const parent = dirname(current);
338
- if (parent === current) break;
339
- current = parent;
340
- }
341
- const facts = await windowsSecurityFacts(paths);
342
- if (facts.length !== paths.length * 2 || paths.some((_, i) => !/^\d+$/.test(facts[i * 2]) || Number(facts[i * 2]) & 1024)) throw Error("Private storage uses a Windows reparse point or missing ancestor.");
343
- const sid = await windowsCurrentSid();
344
- validatePrivateSddl(facts[1], sid, { protectedAcl });
345
- for (let index = 1; index < paths.length; index++) validateAncestorSddl(facts[index * 2 + 1], sid);
346
- return stat;
347
- }
348
- async function assertSafeAncestors(path, sid) {
349
- const ancestors = [];
350
- let current = path;
351
- while (true) {
352
- ancestors.push(current);
353
- const parent = dirname(current);
354
- if (parent === current) break;
355
- current = parent;
356
- }
357
- const facts = (await windowsPowerShell(`foreach ($entry in @(${ancestors.map(powerShellLiteral).join(",")})) { if (Test-Path -LiteralPath $entry) { (Get-Acl -LiteralPath $entry).Sddl } else { 'missing' } }`)).split(/\r?\n/);
358
- if (facts.length !== ancestors.length) throw Error("Incomplete Windows ancestor security facts.");
359
- for (const sddl of facts) if (sddl !== "missing") validateAncestorSddl(sddl, sid);
360
- }
361
- async function assertNoReparse(path, allowMissing = false, includeSddl = false) {
362
- let current = resolve(path);
363
- const ancestors = [];
364
- while (true) {
365
- ancestors.push(current);
366
- const parent = dirname(current);
367
- if (parent === current) break;
368
- current = parent;
369
- }
370
- const suffix = includeSddl ? `; (Get-Acl -LiteralPath ${powerShellLiteral(path)}).Sddl` : "";
371
- const facts = (await windowsPowerShell(`foreach ($entry in @(${ancestors.map(powerShellLiteral).join(",")})) { if (Test-Path -LiteralPath $entry) { (Get-Item -Force -LiteralPath $entry).Attributes.value__ } else { 'missing' } }${suffix}`)).split(/\r?\n/);
372
- const sddl = includeSddl ? facts.pop() : void 0;
373
- if (facts.length !== ancestors.length || facts.some((attributes) => !(allowMissing && attributes === "missing") && (!/^\d+$/.test(attributes) || Number(attributes) & 1024))) throw Error("Private storage uses a Windows reparse point or missing ancestor.");
374
- return sddl;
375
- }
376
- async function ensureWindowsPrivateDirectory(path) {
377
- await assertNoReparse(path, true);
378
- await assertSafeAncestors(dirname(resolve(path)), await windowsCurrentSid());
379
- await mkdir(dirname(path), { recursive: true });
380
- try {
381
- await mkdir(path);
382
- } catch (error) {
383
- if (error.code !== "EEXIST") throw error;
384
- await assertWindowsPrivate(path, { directory: true });
385
- return;
386
- }
387
- const sid = await windowsCurrentSid();
388
- await execute(windowsSystemTool("icacls.exe"), [
389
- path,
390
- "/inheritance:r",
391
- "/grant:r",
392
- `*${sid}:(OI)(CI)F`
393
- ], {
394
- encoding: "utf8",
395
- timeout: 1e4,
396
- windowsHide: true
397
- });
398
- await assertWindowsPrivate(path, { directory: true });
399
- }
400
- //#endregion
401
- export { createWindowsProcessInspector as a, withWindowsInspection as c, validatePrivateSddl as i, ensureWindowsPrivateDirectory as n, windowsCommandArgs as o, validateAncestorSddl as r, windowsProcess as s, assertWindowsPrivate as t };
258
+ export { windowsPowerShell as a, windowsSystemTool as c, windowsCurrentSid as i, withWindowsInspection as l, powerShellLiteral as n, windowsProcess as o, windowsCommandArgs as r, windowsSecurityFacts as s, createWindowsProcessInspector as t };