@ccslabs/xtend 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/LICENSE +201 -0
  3. package/README.md +184 -0
  4. package/a11y/motion-contrast-policy.d.ts +32 -0
  5. package/a11y/motion-contrast-policy.js +261 -0
  6. package/a11y/runtime-a11y-contract.d.ts +44 -0
  7. package/a11y/runtime-a11y-contract.js +385 -0
  8. package/a11y/screenreader-signals.d.ts +32 -0
  9. package/a11y/screenreader-signals.js +372 -0
  10. package/api.d.ts +168 -0
  11. package/api.js +864 -0
  12. package/catalog/catalog-public-types.d.ts +66 -0
  13. package/catalog/component-catalog-coverage.d.ts +20 -0
  14. package/catalog/component-catalog-coverage.js +377 -0
  15. package/catalog/component-long-tail-migration.d.ts +18 -0
  16. package/catalog/component-long-tail-migration.js +305 -0
  17. package/catalog/component-regression-priority.d.ts +20 -0
  18. package/catalog/component-regression-priority.js +305 -0
  19. package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
  20. package/catalog/enterprise-component-flex-release-handoff.js +437 -0
  21. package/catalog/enterprise-component-style-audit.d.ts +22 -0
  22. package/catalog/enterprise-component-style-audit.js +353 -0
  23. package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
  24. package/catalog/enterprise-form-control-theme-a11y.js +220 -0
  25. package/catalog/enterprise-icon-control-audit.d.ts +21 -0
  26. package/catalog/enterprise-icon-control-audit.js +258 -0
  27. package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
  28. package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
  29. package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
  30. package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
  31. package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
  32. package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
  33. package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
  34. package/catalog/enterprise-third-party-authoring-guide.js +310 -0
  35. package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
  36. package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
  37. package/catalog/epic10-existing-component-metadata.d.ts +25 -0
  38. package/catalog/epic10-existing-component-metadata.js +534 -0
  39. package/catalog/epic10-p0-component-wave.d.ts +28 -0
  40. package/catalog/epic10-p0-component-wave.js +688 -0
  41. package/catalog/epic10-platform-gates.d.ts +31 -0
  42. package/catalog/epic10-platform-gates.js +425 -0
  43. package/catalog/epic10-release-handoff.d.ts +30 -0
  44. package/catalog/epic10-release-handoff.js +195 -0
  45. package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
  46. package/catalog/epic11-enterprise-ux-handoff.js +403 -0
  47. package/catalog/epic12-docs-adoption.d.ts +29 -0
  48. package/catalog/epic12-docs-adoption.js +183 -0
  49. package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
  50. package/catalog/epic12-rc0-gate-matrix.js +439 -0
  51. package/catalog/epic12-rc0-handoff.d.ts +30 -0
  52. package/catalog/epic12-rc0-handoff.js +385 -0
  53. package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
  54. package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
  55. package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
  56. package/catalog/epic13-conditional-network-evidence.js +280 -0
  57. package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
  58. package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
  59. package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
  60. package/catalog/epic13-hydration-performance-closure.js +234 -0
  61. package/catalog/epic13-known-residual-triage.d.ts +32 -0
  62. package/catalog/epic13-known-residual-triage.js +339 -0
  63. package/catalog/epic13-package-export-lock.d.ts +41 -0
  64. package/catalog/epic13-package-export-lock.js +604 -0
  65. package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
  66. package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
  67. package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
  68. package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
  69. package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
  70. package/catalog/epic13-rc1-migration-notes.js +271 -0
  71. package/catalog/epic13-rc1-readiness.d.ts +33 -0
  72. package/catalog/epic13-rc1-readiness.js +487 -0
  73. package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
  74. package/catalog/epic13-release-owner-acceptance.js +354 -0
  75. package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
  76. package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
  77. package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
  78. package/catalog/epic13-rmt-production-readiness.js +314 -0
  79. package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
  80. package/catalog/epic13-trusted-dom-boundary.js +230 -0
  81. package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
  82. package/catalog/epic13-visual-owner-artifact.js +233 -0
  83. package/catalog/epic14-lsp-handoff.d.ts +28 -0
  84. package/catalog/epic14-lsp-handoff.js +312 -0
  85. package/catalog/epic14-rmt-tooling.d.ts +33 -0
  86. package/catalog/epic14-rmt-tooling.js +282 -0
  87. package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
  88. package/catalog/surface-manager-adapter-runtime.js +203 -0
  89. package/catalog/surface-manager-browser-lab.d.ts +39 -0
  90. package/catalog/surface-manager-browser-lab.js +225 -0
  91. package/catalog/surface-manager-controller.d.ts +43 -0
  92. package/catalog/surface-manager-controller.js +290 -0
  93. package/catalog/surface-manager-layout-engines.d.ts +32 -0
  94. package/catalog/surface-manager-layout-engines.js +161 -0
  95. package/catalog/surface-manager-lazy-loading.d.ts +35 -0
  96. package/catalog/surface-manager-lazy-loading.js +173 -0
  97. package/catalog/surface-manager-materialization.d.ts +37 -0
  98. package/catalog/surface-manager-materialization.js +202 -0
  99. package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
  100. package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
  101. package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
  102. package/catalog/surface-manager-overlay-bridge.js +247 -0
  103. package/catalog/surface-manager-persistence.d.ts +37 -0
  104. package/catalog/surface-manager-persistence.js +178 -0
  105. package/catalog/surface-manager-quality-gates.d.ts +48 -0
  106. package/catalog/surface-manager-quality-gates.js +324 -0
  107. package/catalog/surface-manager-release-handoff.d.ts +47 -0
  108. package/catalog/surface-manager-release-handoff.js +274 -0
  109. package/catalog/surface-manager-remote-policy.d.ts +34 -0
  110. package/catalog/surface-manager-remote-policy.js +199 -0
  111. package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
  112. package/catalog/surface-manager-rmt-authoring.js +368 -0
  113. package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
  114. package/catalog/surface-manager-route-lifecycle.js +162 -0
  115. package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
  116. package/catalog/surface-manager-runtime-release-handoff.js +245 -0
  117. package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
  118. package/catalog/surface-manager-side-panel-runtime.js +307 -0
  119. package/catalog/surface-manager-stack-policy.d.ts +32 -0
  120. package/catalog/surface-manager-stack-policy.js +169 -0
  121. package/catalog/surface-manager-window-runtime.d.ts +45 -0
  122. package/catalog/surface-manager-window-runtime.js +285 -0
  123. package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
  124. package/catalog/surface-manager-workbench-fixture.js +315 -0
  125. package/catalog/type-exports-api.js +236 -0
  126. package/catalog/type-exports-builder.js +405 -0
  127. package/catalog/type-exports-catalog.js +394 -0
  128. package/catalog/type-exports-loader.js +266 -0
  129. package/catalog/type-exports-policy.js +461 -0
  130. package/catalog/type-exports-rmt.js +407 -0
  131. package/catalog/type-exports-vendor.js +365 -0
  132. package/catalog/type-exports.js +574 -0
  133. package/components/icon-packs/core.js +154 -0
  134. package/components/icon-packs/lucide.js +136 -0
  135. package/components/manifest.json +44 -0
  136. package/components/prism.d.ts +73 -0
  137. package/components/prism.js +300 -0
  138. package/components/turndown.d.ts +34 -0
  139. package/components/turndown.js +107 -0
  140. package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
  141. package/components/x-rmt-lifecycle-demo-build.js +1175 -0
  142. package/components/x-rmt-lifecycle-demo.d.ts +83 -0
  143. package/components/x-rmt-lifecycle-demo.js +1175 -0
  144. package/components/xalert.d.ts +42 -0
  145. package/components/xalert.js +538 -0
  146. package/components/xbutton.d.ts +127 -0
  147. package/components/xbutton.js +612 -0
  148. package/components/xcalendar.d.ts +39 -0
  149. package/components/xcalendar.js +338 -0
  150. package/components/xcards.d.ts +34 -0
  151. package/components/xcards.js +253 -0
  152. package/components/xcheckbox.d.ts +48 -0
  153. package/components/xcheckbox.js +448 -0
  154. package/components/xcode.d.ts +35 -0
  155. package/components/xcode.js +370 -0
  156. package/components/xdialog.d.ts +48 -0
  157. package/components/xdialog.js +763 -0
  158. package/components/xdrawer.d.ts +61 -0
  159. package/components/xdrawer.js +654 -0
  160. package/components/xfooter.d.ts +41 -0
  161. package/components/xfooter.js +351 -0
  162. package/components/xform.d.ts +43 -0
  163. package/components/xform.js +456 -0
  164. package/components/xheader.d.ts +68 -0
  165. package/components/xheader.js +1253 -0
  166. package/components/xhero.d.ts +42 -0
  167. package/components/xhero.js +475 -0
  168. package/components/xicon.d.ts +146 -0
  169. package/components/xicon.js +688 -0
  170. package/components/xinput.d.ts +37 -0
  171. package/components/xinput.js +444 -0
  172. package/components/xlightbox.d.ts +48 -0
  173. package/components/xlightbox.js +571 -0
  174. package/components/xlink.d.ts +63 -0
  175. package/components/xlink.js +565 -0
  176. package/components/xmasonry.d.ts +35 -0
  177. package/components/xmasonry.js +666 -0
  178. package/components/xmenu.d.ts +118 -0
  179. package/components/xmenu.js +1005 -0
  180. package/components/xmodal.d.ts +64 -0
  181. package/components/xmodal.js +831 -0
  182. package/components/xplayer.d.ts +57 -0
  183. package/components/xplayer.js +1748 -0
  184. package/components/xpopover.d.ts +54 -0
  185. package/components/xpopover.js +466 -0
  186. package/components/xprogress.d.ts +40 -0
  187. package/components/xprogress.js +345 -0
  188. package/components/xradio.d.ts +50 -0
  189. package/components/xradio.js +474 -0
  190. package/components/xrouter.d.ts +244 -0
  191. package/components/xrouter.js +1841 -0
  192. package/components/xsection.d.ts +34 -0
  193. package/components/xsection.js +253 -0
  194. package/components/xselect.d.ts +46 -0
  195. package/components/xselect.js +463 -0
  196. package/components/xsidepanel.d.ts +56 -0
  197. package/components/xsidepanel.js +728 -0
  198. package/components/xspinner.d.ts +38 -0
  199. package/components/xspinner.js +388 -0
  200. package/components/xstate.d.ts +137 -0
  201. package/components/xstate.js +493 -0
  202. package/components/xstatus.d.ts +41 -0
  203. package/components/xstatus.js +381 -0
  204. package/components/xsummary.d.ts +43 -0
  205. package/components/xsummary.js +293 -0
  206. package/components/xsurfacemanager-controller.d.ts +130 -0
  207. package/components/xsurfacemanager-controller.js +699 -0
  208. package/components/xsurfacemanager.d.ts +452 -0
  209. package/components/xsurfacemanager.js +3775 -0
  210. package/components/xsurfaceoverlay-bridge.d.ts +43 -0
  211. package/components/xsurfaceoverlay-bridge.js +238 -0
  212. package/components/xsurfacewindow.d.ts +50 -0
  213. package/components/xsurfacewindow.js +576 -0
  214. package/components/xtabs.d.ts +73 -0
  215. package/components/xtabs.js +611 -0
  216. package/components/xtend-public-types.d.ts +208 -0
  217. package/components/xtextarea.d.ts +46 -0
  218. package/components/xtextarea.js +451 -0
  219. package/components/xtheme.d.ts +253 -0
  220. package/components/xtheme.js +1438 -0
  221. package/components/xtoast.d.ts +39 -0
  222. package/components/xtoast.js +389 -0
  223. package/components/xtooltip.d.ts +53 -0
  224. package/components/xtooltip.js +432 -0
  225. package/components/xtype.d.ts +42 -0
  226. package/components/xtype.js +244 -0
  227. package/components/xutils.d.ts +164 -0
  228. package/components/xutils.js +496 -0
  229. package/components/xwriter.d.ts +67 -0
  230. package/components/xwriter.js +854 -0
  231. package/design-tokens/themes/enterprise-light.json +40 -0
  232. package/design-tokens/themes/xtend-signature.json +126 -0
  233. package/design-tokens/xtend-design-tokens.d.ts +95 -0
  234. package/design-tokens/xtend-design-tokens.js +395 -0
  235. package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
  236. package/design-tokens/xtheme-token-alias-layer.js +423 -0
  237. package/docs/.htaccess +51 -0
  238. package/docs/README.md +340 -0
  239. package/docs/XTend-ADR.md +221 -0
  240. package/docs/a11y-keyboard-smokes.md +62 -0
  241. package/docs/about.md +18 -0
  242. package/docs/api.md +157 -0
  243. package/docs/best-practices.md +76 -0
  244. package/docs/component-catalog-coverage.md +58 -0
  245. package/docs/component-lab.md +103 -0
  246. package/docs/component-long-tail-migration.md +41 -0
  247. package/docs/component-platform.md +159 -0
  248. package/docs/component-ux-app-authoring.md +130 -0
  249. package/docs/component-ux-authoring.md +96 -0
  250. package/docs/component-ux-gates.md +45 -0
  251. package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
  252. package/docs/components/xalert.md +81 -0
  253. package/docs/components/xbutton.md +103 -0
  254. package/docs/components/xcalendar.md +82 -0
  255. package/docs/components/xcards.md +128 -0
  256. package/docs/components/xcheckbox.md +102 -0
  257. package/docs/components/xcode.md +126 -0
  258. package/docs/components/xdialog.md +92 -0
  259. package/docs/components/xdrawer.md +84 -0
  260. package/docs/components/xfooter.md +126 -0
  261. package/docs/components/xform.md +128 -0
  262. package/docs/components/xheader.md +308 -0
  263. package/docs/components/xhero.md +142 -0
  264. package/docs/components/xicon.md +125 -0
  265. package/docs/components/xinput.md +129 -0
  266. package/docs/components/xlightbox.md +98 -0
  267. package/docs/components/xlink.md +109 -0
  268. package/docs/components/xmasonry.md +124 -0
  269. package/docs/components/xmenu.md +158 -0
  270. package/docs/components/xmodal.md +82 -0
  271. package/docs/components/xplayer.md +104 -0
  272. package/docs/components/xpopover.md +67 -0
  273. package/docs/components/xprogress.md +56 -0
  274. package/docs/components/xradio.md +103 -0
  275. package/docs/components/xrouter.md +260 -0
  276. package/docs/components/xsection.md +125 -0
  277. package/docs/components/xselect.md +105 -0
  278. package/docs/components/xsidepanel.md +30 -0
  279. package/docs/components/xspinner.md +102 -0
  280. package/docs/components/xstate.md +148 -0
  281. package/docs/components/xstatus.md +55 -0
  282. package/docs/components/xsummary.md +78 -0
  283. package/docs/components/xsurfacemanager.md +27 -0
  284. package/docs/components/xsurfacewindow.md +21 -0
  285. package/docs/components/xtabs.md +160 -0
  286. package/docs/components/xtextarea.md +98 -0
  287. package/docs/components/xtheme.md +167 -0
  288. package/docs/components/xtoast.md +62 -0
  289. package/docs/components/xtooltip.md +66 -0
  290. package/docs/components/xtype.md +82 -0
  291. package/docs/components/xutils.md +144 -0
  292. package/docs/components/xwriter.md +94 -0
  293. package/docs/components.md +117 -0
  294. package/docs/conditional-network-evidence-ci.md +38 -0
  295. package/docs/conditional-network-evidence.md +50 -0
  296. package/docs/core-migration-guide.md +110 -0
  297. package/docs/design-tokens.md +116 -0
  298. package/docs/docs-rmt-production-hardening.md +31 -0
  299. package/docs/enterprise-adoption.md +411 -0
  300. package/docs/enterprise-component-flex-release-handoff.md +129 -0
  301. package/docs/epic10-platform-gates.md +62 -0
  302. package/docs/epic10-release-handoff.md +81 -0
  303. package/docs/epic11-enterprise-ux-handoff.md +70 -0
  304. package/docs/epic12-rc0-handoff.md +61 -0
  305. package/docs/existing-component-metadata.md +67 -0
  306. package/docs/hydration-performance-closure.md +34 -0
  307. package/docs/hydration-policies.md +71 -0
  308. package/docs/index.php +1625 -0
  309. package/docs/known-residual-triage.md +22 -0
  310. package/docs/manifest-import-policy.md +79 -0
  311. package/docs/manifest.md +106 -0
  312. package/docs/menu.json +1190 -0
  313. package/docs/motion-contrast.md +67 -0
  314. package/docs/package-export-lock.md +44 -0
  315. package/docs/performance-measurements.md +106 -0
  316. package/docs/performance-regression.md +89 -0
  317. package/docs/performance.md +94 -0
  318. package/docs/previews/README.md +17 -0
  319. package/docs/prod-browser-csp-smokes.md +40 -0
  320. package/docs/public-component-types.md +79 -0
  321. package/docs/quick-start-guide.md +152 -0
  322. package/docs/rc0-adoption-guide.md +102 -0
  323. package/docs/rc0-gate-matrix.md +58 -0
  324. package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
  325. package/docs/rc1-migration-notes.md +69 -0
  326. package/docs/rc1-readiness.md +46 -0
  327. package/docs/release-owner-acceptance.md +56 -0
  328. package/docs/release-report-pack-dry-run-evidence.md +39 -0
  329. package/docs/rmt-dsl-authoring-polish.md +122 -0
  330. package/docs/rmt-first-demo-app.md +77 -0
  331. package/docs/rmt-first-xtend-apps.md +105 -0
  332. package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  333. package/docs/rmt-kernel-security-hardening-migration.md +50 -0
  334. package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
  335. package/docs/rmt-language-server.md +177 -0
  336. package/docs/rmt-lifecycle-demo.md +25 -0
  337. package/docs/rmt-linter.md +140 -0
  338. package/docs/rmt-production-readiness.md +63 -0
  339. package/docs/rmt-tooling-release-gates.md +77 -0
  340. package/docs/rmt-vnext-authoring.md +60 -0
  341. package/docs/rmt-vnext-cross-surface-events.md +68 -0
  342. package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  343. package/docs/rmt-vnext-migration-notes.md +62 -0
  344. package/docs/rmt-vnext-release-handoff.md +69 -0
  345. package/docs/rmt-vnext-remote-surfaces.md +90 -0
  346. package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
  347. package/docs/screenreader-signals.md +56 -0
  348. package/docs/supply-chain-gates.md +100 -0
  349. package/docs/surface-manager-authoring-guide.md +94 -0
  350. package/docs/surface-manager-browser-lab.md +45 -0
  351. package/docs/surface-manager-component-lab.md +43 -0
  352. package/docs/surface-manager-controller.md +66 -0
  353. package/docs/surface-manager-layout-engines.md +32 -0
  354. package/docs/surface-manager-lazy-hydration.md +63 -0
  355. package/docs/surface-manager-migration-guide.md +94 -0
  356. package/docs/surface-manager-native-rmt-surfaces.md +38 -0
  357. package/docs/surface-manager-overlay-bridge.md +53 -0
  358. package/docs/surface-manager-persistence.md +30 -0
  359. package/docs/surface-manager-quality-gates.md +51 -0
  360. package/docs/surface-manager-release-handoff.md +68 -0
  361. package/docs/surface-manager-remote-policy.md +54 -0
  362. package/docs/surface-manager-rmt-authoring.md +86 -0
  363. package/docs/surface-manager-route-lifecycle.md +59 -0
  364. package/docs/surface-manager-runtime-release-handoff.md +69 -0
  365. package/docs/surface-manager-side-panel-runtime.md +36 -0
  366. package/docs/surface-manager-stack-policy.md +39 -0
  367. package/docs/surface-manager-window-runtime.md +47 -0
  368. package/docs/surface-manager-workbench-fixture.md +43 -0
  369. package/docs/third-party-design-authoring.md +406 -0
  370. package/docs/trusted-dom-boundary-browser-proof.md +32 -0
  371. package/docs/trusted-dom-sanitizing.md +110 -0
  372. package/docs/type-exports.md +61 -0
  373. package/docs/typescript-components.md +63 -0
  374. package/docs/utils/fabric-runtime.js +650 -0
  375. package/docs/utils/pageloader.js +2823 -0
  376. package/docs/utils/parsedown.php +298 -0
  377. package/docs/visual-browser-regression.md +83 -0
  378. package/docs/visual-owner-artifacts.md +46 -0
  379. package/docs/visual-snapshot-automation.md +87 -0
  380. package/docs/xtend-api-types.md +55 -0
  381. package/docs/xtend-builder-types.md +55 -0
  382. package/docs/xtend-catalog-types.md +44 -0
  383. package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
  384. package/docs/xtend-fabric.md +474 -0
  385. package/docs/xtend-loader-types.md +58 -0
  386. package/docs/xtend-loader.md +265 -0
  387. package/docs/xtend-policy-types.md +38 -0
  388. package/docs/xtend-rmt-types.md +39 -0
  389. package/docs/xtend-vendor-types.md +36 -0
  390. package/docs/xtendrmt-app-dsl.md +269 -0
  391. package/docs/xtendrmt-migration-guide.md +235 -0
  392. package/docs/xtendrmt-native-authoring.md +337 -0
  393. package/docs/xtendrmt-overview.md +89 -0
  394. package/docs/xtendrmt-parsedown-docs.rmt +956 -0
  395. package/docs/xtendrmt-parsedown-scheduling.md +301 -0
  396. package/docs/xtendrmt-runtime-bridge.md +155 -0
  397. package/fabric/hydration-policy.d.ts +27 -0
  398. package/fabric/hydration-policy.js +306 -0
  399. package/fabric/package.json +58 -0
  400. package/fabric/rmt-lane-mapping.d.ts +47 -0
  401. package/fabric/rmt-lane-mapping.js +504 -0
  402. package/fabric/xtend-fabric.d.ts +81 -0
  403. package/fabric/xtend-fabric.js +2669 -0
  404. package/fabric/xtend-policy-public-types.d.ts +135 -0
  405. package/package.json +8225 -0
  406. package/security/README.md +54 -0
  407. package/security/manifest-import-policy.d.ts +43 -0
  408. package/security/manifest-import-policy.js +260 -0
  409. package/security/supply-chain-gate-policy.d.ts +45 -0
  410. package/security/supply-chain-gate-policy.js +249 -0
  411. package/security/trusted-dom-policy.d.ts +36 -0
  412. package/security/trusted-dom-policy.js +316 -0
  413. package/tools/package.json +77 -0
  414. package/tools/rmt-editor/vscode/README.md +33 -0
  415. package/tools/rmt-editor/vscode/extension.d.ts +9 -0
  416. package/tools/rmt-editor/vscode/extension.js +55 -0
  417. package/tools/rmt-editor/vscode/language-configuration.json +28 -0
  418. package/tools/rmt-editor/vscode/package.json +83 -0
  419. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
  420. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
  421. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  422. package/tools/rmt-language/code-actions.d.ts +15 -0
  423. package/tools/rmt-language/code-actions.js +566 -0
  424. package/tools/rmt-language/completions.d.ts +22 -0
  425. package/tools/rmt-language/completions.js +475 -0
  426. package/tools/rmt-language/definitions.d.ts +13 -0
  427. package/tools/rmt-language/definitions.js +212 -0
  428. package/tools/rmt-language/diagnostics.d.ts +23 -0
  429. package/tools/rmt-language/diagnostics.js +486 -0
  430. package/tools/rmt-language/format-adapter.d.ts +16 -0
  431. package/tools/rmt-language/format-adapter.js +270 -0
  432. package/tools/rmt-language/hover.d.ts +12 -0
  433. package/tools/rmt-language/hover.js +326 -0
  434. package/tools/rmt-language/kernel-escalation.d.ts +122 -0
  435. package/tools/rmt-language/kernel-escalation.js +427 -0
  436. package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
  437. package/tools/rmt-language/kernel-panic-monitor.js +674 -0
  438. package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
  439. package/tools/rmt-language/kernel-policy-parity.js +629 -0
  440. package/tools/rmt-language/kernel-recovery.d.ts +173 -0
  441. package/tools/rmt-language/kernel-recovery.js +666 -0
  442. package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
  443. package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
  444. package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
  445. package/tools/rmt-language/kernel-security-regression.js +465 -0
  446. package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
  447. package/tools/rmt-language/kernel-trust-authority.js +549 -0
  448. package/tools/rmt-language/parser.d.ts +14 -0
  449. package/tools/rmt-language/parser.js +111 -0
  450. package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
  451. package/tools/rmt-language/rules/boundary-policy.js +81 -0
  452. package/tools/rmt-language/rules/document-policy.js +65 -0
  453. package/tools/rmt-language/rules/index.js +29 -0
  454. package/tools/rmt-language/rules/route-policy.js +81 -0
  455. package/tools/rmt-language/rules/scheduler-policy.js +66 -0
  456. package/tools/rmt-language/rules/template-policy.js +130 -0
  457. package/tools/rmt-language/semantic-graph.d.ts +18 -0
  458. package/tools/rmt-language/semantic-graph.js +827 -0
  459. package/tools/rmt-language/snippets/README.md +17 -0
  460. package/tools/rmt-language/snippets/index.d.ts +17 -0
  461. package/tools/rmt-language/snippets/index.js +417 -0
  462. package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
  463. package/tools/rmt-language/source-model.d.ts +14 -0
  464. package/tools/rmt-language/source-model.js +731 -0
  465. package/tools/rmt-language/symbols.d.ts +13 -0
  466. package/tools/rmt-language/symbols.js +183 -0
  467. package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
  468. package/tools/rmt-language/vnext-compatibility.js +675 -0
  469. package/tools/rmt-language/vnext-compiler.d.ts +17 -0
  470. package/tools/rmt-language/vnext-compiler.js +716 -0
  471. package/tools/rmt-language/vnext-composition.d.ts +30 -0
  472. package/tools/rmt-language/vnext-composition.js +595 -0
  473. package/tools/rmt-language/vnext-conditions.d.ts +25 -0
  474. package/tools/rmt-language/vnext-conditions.js +474 -0
  475. package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
  476. package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
  477. package/tools/rmt-language/vnext-degradation.d.ts +23 -0
  478. package/tools/rmt-language/vnext-degradation.js +428 -0
  479. package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
  480. package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
  481. package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
  482. package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
  483. package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
  484. package/tools/rmt-language/vnext-enterprise-release.js +472 -0
  485. package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
  486. package/tools/rmt-language/vnext-event-governance.js +488 -0
  487. package/tools/rmt-language/vnext-events.d.ts +44 -0
  488. package/tools/rmt-language/vnext-events.js +680 -0
  489. package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
  490. package/tools/rmt-language/vnext-import-resolver.js +642 -0
  491. package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
  492. package/tools/rmt-language/vnext-lifecycle.js +404 -0
  493. package/tools/rmt-language/vnext-parser.d.ts +21 -0
  494. package/tools/rmt-language/vnext-parser.js +1391 -0
  495. package/tools/rmt-language/vnext-regression.d.ts +25 -0
  496. package/tools/rmt-language/vnext-regression.js +394 -0
  497. package/tools/rmt-language/vnext-release.d.ts +29 -0
  498. package/tools/rmt-language/vnext-release.js +293 -0
  499. package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
  500. package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
  501. package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
  502. package/tools/rmt-language/vnext-remote-compiler.js +520 -0
  503. package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
  504. package/tools/rmt-language/vnext-remote-manifest.js +538 -0
  505. package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
  506. package/tools/rmt-language/vnext-remote-security.js +380 -0
  507. package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
  508. package/tools/rmt-language/vnext-remote-tooling.js +805 -0
  509. package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
  510. package/tools/rmt-language/vnext-scheduler.js +469 -0
  511. package/tools/rmt-language/vnext-security.d.ts +28 -0
  512. package/tools/rmt-language/vnext-security.js +597 -0
  513. package/tools/rmt-language/vnext-streaming.d.ts +28 -0
  514. package/tools/rmt-language/vnext-streaming.js +593 -0
  515. package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
  516. package/tools/rmt-language/vnext-surfaces.js +406 -0
  517. package/tools/rmt-language/vnext-tooling.d.ts +25 -0
  518. package/tools/rmt-language/vnext-tooling.js +728 -0
  519. package/tools/rmt-language-server/protocol.d.ts +22 -0
  520. package/tools/rmt-language-server/protocol.js +352 -0
  521. package/tools/rmt-language-server/server.d.ts +15 -0
  522. package/tools/rmt-language-server/server.js +622 -0
  523. package/tools/rmt-linter/cli.d.ts +14 -0
  524. package/tools/rmt-linter/cli.js +450 -0
  525. package/tools/rmt-linter/reporter.d.ts +16 -0
  526. package/tools/rmt-linter/reporter.js +472 -0
  527. package/xtend-builder/README.md +83 -0
  528. package/xtend-builder/a11y/README.md +42 -0
  529. package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
  530. package/xtend-builder/a11y/component-a11y-profile.js +314 -0
  531. package/xtend-builder/blueprints/README.md +105 -0
  532. package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
  533. package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
  534. package/xtend-builder/builder-public-types.d.ts +234 -0
  535. package/xtend-builder/extensions/README.md +26 -0
  536. package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
  537. package/xtend-builder/extensions/component-extension-points.js +277 -0
  538. package/xtend-builder/generators/README.md +149 -0
  539. package/xtend-builder/generators/component-files.d.ts +5 -0
  540. package/xtend-builder/generators/component-files.js +769 -0
  541. package/xtend-builder/generators/component-plan.d.ts +4 -0
  542. package/xtend-builder/generators/component-plan.js +104 -0
  543. package/xtend-builder/generators/registry.d.ts +6 -0
  544. package/xtend-builder/generators/registry.js +118 -0
  545. package/xtend-builder/generators/rmt-build.js +738 -0
  546. package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
  547. package/xtend-builder/lib/cli.d.ts +9 -0
  548. package/xtend-builder/lib/cli.js +543 -0
  549. package/xtend-builder/lib/layout.d.ts +6 -0
  550. package/xtend-builder/lib/layout.js +153 -0
  551. package/xtend-builder/lib/package-resolver.js +25 -0
  552. package/xtend-builder/package.json +90 -0
  553. package/xtend-builder/performance/README.md +31 -0
  554. package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
  555. package/xtend-builder/performance/component-performance-profile.js +347 -0
  556. package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
  557. package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
  558. package/xtend-builder/preview/README.md +61 -0
  559. package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
  560. package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
  561. package/xtend-builder/preview/component-lab.d.ts +14 -0
  562. package/xtend-builder/preview/component-lab.js +278 -0
  563. package/xtend-builder/preview/component-preview.d.ts +5 -0
  564. package/xtend-builder/preview/component-preview.js +160 -0
  565. package/xtend-builder/scaffold.config.d.ts +4 -0
  566. package/xtend-builder/scaffold.config.js +2056 -0
  567. package/xtend-builder/scaffold.d.ts +3 -0
  568. package/xtend-builder/scaffold.js +11 -0
  569. package/xtend-builder/templates/README.md +33 -0
  570. package/xtend-builder/templates/component/a11y.template.ts +11 -0
  571. package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
  572. package/xtend-builder/templates/component/component-suite.template.js +108 -0
  573. package/xtend-builder/templates/component/contract.template.ts +10 -0
  574. package/xtend-builder/templates/component/demo-plan.template.md +73 -0
  575. package/xtend-builder/templates/component/docs.template.md +301 -0
  576. package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
  577. package/xtend-builder/templates/component/fixture.template.html +37 -0
  578. package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
  579. package/xtend-builder/templates/component/performance.template.ts +13 -0
  580. package/xtend-builder/templates/component/rmt.template.ts +12 -0
  581. package/xtend-builder/templates/component/source.template.d.ts +2 -0
  582. package/xtend-builder/templates/component/source.template.js +137 -0
  583. package/xtend-builder/templates/component/source.template.ts +110 -0
  584. package/xtend-builder/templates/component/types.template.d.ts +423 -0
  585. package/xtend-builder/templates/loader.d.ts +4 -0
  586. package/xtend-builder/templates/loader.js +51 -0
  587. package/xtend-builder/templates/registry.d.ts +6 -0
  588. package/xtend-builder/templates/registry.js +119 -0
  589. package/xtend-builder/typing/README.md +130 -0
  590. package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
  591. package/xtend-builder/typing/component-contract-v2.js +248 -0
  592. package/xtend-builder/typing/component-network-contract.d.ts +22 -0
  593. package/xtend-builder/typing/component-network-contract.js +478 -0
  594. package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
  595. package/xtend-builder/typing/component-shell-contract.js +312 -0
  596. package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
  597. package/xtend-builder/typing/component-styling-contract.js +301 -0
  598. package/xtend-builder/typing/component-types.d.ts +10 -0
  599. package/xtend-builder/typing/component-types.js +551 -0
  600. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
  601. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
  602. package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
  603. package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
  604. package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
  605. package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
  606. package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
  607. package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
  608. package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
  609. package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
  610. package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
  611. package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
  612. package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
  613. package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
  614. package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
  615. package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
  616. package/xtend-builder/utils/README.md +8 -0
  617. package/xtend-builder/utils/naming.d.ts +7 -0
  618. package/xtend-builder/utils/naming.js +36 -0
  619. package/xtend-builder/utils/validation.d.ts +5 -0
  620. package/xtend-builder/utils/validation.js +95 -0
  621. package/xtend-builder/wiring/README.md +46 -0
  622. package/xtend-builder/wiring/features.d.ts +5 -0
  623. package/xtend-builder/wiring/features.js +165 -0
  624. package/xtend-builder/wiring/hydration.d.ts +4 -0
  625. package/xtend-builder/wiring/hydration.js +44 -0
  626. package/xtend-builder/wiring/manifest.d.ts +5 -0
  627. package/xtend-builder/wiring/manifest.js +48 -0
  628. package/xtend-builder/workflows/README.md +47 -0
  629. package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
  630. package/xtend-builder/workflows/developer-workflow.js +125 -0
  631. package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
  632. package/xtend-builder/writing/manifest-patcher.js +391 -0
  633. package/xtend-builder/writing/write-plan.d.ts +148 -0
  634. package/xtend-builder/writing/write-plan.js +646 -0
  635. package/xtend-dev.d.ts +23 -0
  636. package/xtend-dev.js +4 -0
  637. package/xtend-loader.d.ts +201 -0
  638. package/xtend-loader.js +1704 -0
  639. package/xtend.css +402 -0
  640. package/xtendrmt/package.json +64 -0
  641. package/xtendrmt/rmt-core.d.ts +4452 -0
  642. package/xtendrmt/rmt-core.esm.js +25793 -0
  643. package/xtendrmt/rmt-first-demo-app.js +265 -0
  644. package/xtendrmt/rmt-first-demo-app.rmt +737 -0
  645. package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
  646. package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
  647. package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
  648. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
  649. package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
  650. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
  651. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
  652. package/xtendrmt/rmt-manifest.json +548 -0
  653. package/xtendrmt/rmt-runtime.browser.js +26183 -0
  654. package/xtendrmt/rmt-runtime.esm.js +26214 -0
  655. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
  656. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
  657. package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
  658. package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
  659. package/xtendrmt/rmt.schema.json +3145 -0
  660. package/xtendrmt/surface-workbench.js +316 -0
  661. package/xtendrmt/surface-workbench.rmt +762 -0
  662. package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
  663. package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
  664. package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
@@ -0,0 +1,29 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogGate,
4
+ XtendCatalogOptions,
5
+ XtendCatalogPlan,
6
+ XtendCatalogRecord,
7
+ XtendCatalogReport
8
+ } from './catalog-public-types';
9
+
10
+
11
+ export declare const COMPLETED_WORKPACKAGES: XtendCatalogConstant;
12
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_CONTRACT: string;
13
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
14
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_LOCAL_GATE: string;
15
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_MODULE: string;
16
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_PACKAGE_SCRIPT: string;
17
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA: string;
18
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_SCHEMA: string;
19
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_STATUS: string;
20
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_SUITE: string;
21
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE: string;
22
+ export declare const EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE_DOC: XtendCatalogConstant;
23
+ export declare const KERNEL_BOUNDARY: XtendCatalogConstant;
24
+ export declare const NEXT_WAVE_HANDOFFS: XtendCatalogConstant;
25
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
26
+ export declare const REQUIRED_GATES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
27
+ export declare function createEpic11EnterpriseUxHandoffPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
28
+ export declare function createEpic11EnterpriseUxHandoffReport(options?: XtendCatalogOptions): XtendCatalogReport;
29
+ export declare function validateEpic11EnterpriseUxHandoffPlan(plan?: unknown): XtendCatalogReport;
@@ -0,0 +1,403 @@
1
+ const {
2
+ createComponentCatalogCoverageReport
3
+ } = require('./component-catalog-coverage');
4
+ const {
5
+ createComponentRegressionPriorityPlan
6
+ } = require('./component-regression-priority');
7
+ const {
8
+ createComponentLongTailMigrationPlan
9
+ } = require('./component-long-tail-migration');
10
+
11
+ const EPIC11_ENTERPRISE_UX_HANDOFF_SCHEMA = 'xtend.epic11.enterprise-ux-handoff.v1';
12
+ const EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA = 'xtend.epic11.enterprise-ux-handoff-report.v1';
13
+ const EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE = 'WP-E11-18';
14
+ const EPIC11_ENTERPRISE_UX_HANDOFF_STATUS = 'accepted-enterprise-ux-handoff';
15
+ const EPIC11_ENTERPRISE_UX_HANDOFF_MODULE = 'catalog/epic11-enterprise-ux-handoff.js';
16
+ const EPIC11_ENTERPRISE_UX_HANDOFF_SUITE = 'tests/platform/epic11_enterprise_ux_handoff_suite.js';
17
+ const EPIC11_ENTERPRISE_UX_HANDOFF_CONTRACT = 'development/XTend-Epic11-Abschluss-und-Enterprise-UX-Handoff.md';
18
+ const EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE_DOC = 'development/WP-E11-18-Epic-11-Abschlussreview-und-Enterprise-UX-Handoff.md';
19
+ const EPIC11_ENTERPRISE_UX_HANDOFF_DOCS = 'docs/epic11-enterprise-ux-handoff.md';
20
+ const EPIC11_ENTERPRISE_UX_HANDOFF_LOCAL_GATE = 'node scripts/run_xtend_tests.js epic11-enterprise-ux-handoff --json';
21
+ const EPIC11_ENTERPRISE_UX_HANDOFF_PACKAGE_SCRIPT = 'npm run test:epic11-enterprise-ux-handoff';
22
+ const KERNEL_BOUNDARY = 'no-rmt-kernel-import-of-xtend-types';
23
+
24
+ const COMPLETED_WORKPACKAGES = Object.freeze(Array.from(
25
+ { length: 18 },
26
+ (_, index) => `WP-E11-${String(index + 1).padStart(2, '0')}`
27
+ ));
28
+
29
+ const REQUIRED_DOCS = Object.freeze([
30
+ 'docs/component-ux-authoring.md',
31
+ 'docs/component-ux-app-authoring.md',
32
+ 'docs/component-ux-gates.md',
33
+ 'docs/component-long-tail-migration.md',
34
+ EPIC11_ENTERPRISE_UX_HANDOFF_DOCS,
35
+ 'docs/component-platform.md',
36
+ 'docs/rmt-first-xtend-apps.md',
37
+ 'docs/enterprise-adoption.md',
38
+ 'docs/visual-browser-regression.md'
39
+ ]);
40
+
41
+ const REQUIRED_GATES = Object.freeze([
42
+ 'component-shell-contract',
43
+ 'component-styling-contract',
44
+ 'runtime-a11y-contract',
45
+ 'component-ux-performance',
46
+ 'component-network-contract',
47
+ 'rmt-shell-authoring-ux',
48
+ 'form-controls-ux',
49
+ 'feedback-status-ux',
50
+ 'navigation-routing-ux',
51
+ 'overlay-interaction-ux',
52
+ 'layout-display-media-ux',
53
+ 'component-lab-ux-inspector',
54
+ 'component-ux-browser-smokes',
55
+ 'component-shell-theme-matrix',
56
+ 'component-ux-authoring-docs',
57
+ 'component-long-tail-migration',
58
+ 'catalog-coverage',
59
+ 'regression-priority',
60
+ 'references',
61
+ 'npm test'
62
+ ]);
63
+
64
+ const NEXT_WAVE_HANDOFFS = Object.freeze([
65
+ 'long-tail-runtime-implementation',
66
+ 'visual-snapshot-automation',
67
+ 'enterprise-design-system-token-productization',
68
+ 'rmt-dsl-authoring-polish',
69
+ 'release-candidate-owner-acceptance'
70
+ ]);
71
+
72
+ function readCoveragePercent(coverageReport, dimension) {
73
+ return coverageReport.summary.byDimension[dimension]
74
+ ? coverageReport.summary.byDimension[dimension].percent
75
+ : 0;
76
+ }
77
+
78
+ function tagsMissingDimension(coverageReport, dimension) {
79
+ return coverageReport.summary.missingByDimension[dimension]
80
+ ? coverageReport.summary.missingByDimension[dimension].slice()
81
+ : [];
82
+ }
83
+
84
+ function createCatalogSnapshot(coverageReport, longTailPlan) {
85
+ return {
86
+ manifestEntries: coverageReport.summary.manifestEntries,
87
+ enterpriseReady: coverageReport.summary.byStatus['enterprise-ready'] || 0,
88
+ typedContractGated: coverageReport.summary.byStatus['typed-contract-gated'] || 0,
89
+ contractGated: coverageReport.summary.byStatus['contract-gated'] || 0,
90
+ documented: coverageReport.summary.byStatus.documented || 0,
91
+ sourceCoveragePercent: readCoveragePercent(coverageReport, 'source'),
92
+ docsCoveragePercent: readCoveragePercent(coverageReport, 'docs'),
93
+ componentSuiteCoveragePercent: readCoveragePercent(coverageReport, 'componentSuite'),
94
+ fixtureCoveragePercent: readCoveragePercent(coverageReport, 'fixture'),
95
+ typesCoveragePercent: readCoveragePercent(coverageReport, 'types'),
96
+ a11yCoveragePercent: readCoveragePercent(coverageReport, 'a11y'),
97
+ performanceCoveragePercent: readCoveragePercent(coverageReport, 'performance'),
98
+ longTailComponentCount: longTailPlan.summary.componentCount,
99
+ longTailComponents: longTailPlan.entries.map((entry) => entry.tag)
100
+ };
101
+ }
102
+
103
+ function createKpiDecisions(coverageReport, longTailPlan) {
104
+ const performanceResiduals = tagsMissingDimension(coverageReport, 'performance');
105
+ const a11yResiduals = tagsMissingDimension(coverageReport, 'a11y');
106
+ const p0PerformanceResiduals = longTailPlan.entries
107
+ .filter((entry) => entry.priority === 'P0' && entry.missingDimensions.includes('performance'))
108
+ .map((entry) => entry.tag);
109
+
110
+ return [
111
+ {
112
+ id: 'p0-component-shell-coverage',
113
+ target: '100-percent',
114
+ status: 'met',
115
+ evidence: ['component-shell-contract', 'component-ux-browser-smokes', 'component-shell-theme-matrix']
116
+ },
117
+ {
118
+ id: 'p0-runtime-a11y-coverage',
119
+ target: '100-percent',
120
+ status: a11yResiduals.length === 0 ? 'met' : 'accepted-handoff',
121
+ residuals: a11yResiduals,
122
+ evidence: ['runtime-a11y-contract', 'screenreader-signals', 'component-ux-browser-smokes']
123
+ },
124
+ {
125
+ id: 'p0-styling-contract-coverage',
126
+ target: '100-percent',
127
+ status: 'met',
128
+ evidence: ['component-styling-contract', 'component-shell-theme-matrix']
129
+ },
130
+ {
131
+ id: 'p0-performance-profile-coverage',
132
+ target: '100-percent',
133
+ status: p0PerformanceResiduals.length === 0 ? 'met' : 'accepted-handoff',
134
+ residuals: p0PerformanceResiduals,
135
+ evidence: ['component-ux-performance', 'component-long-tail-migration', 'regression-priority']
136
+ },
137
+ {
138
+ id: 'p0-browser-ux-smoke-coverage',
139
+ target: '100-percent',
140
+ status: 'met',
141
+ evidence: ['component-ux-browser-smokes', 'browser']
142
+ },
143
+ {
144
+ id: 'p1-component-shell-coverage',
145
+ target: 'at-least-80-percent',
146
+ status: 'met',
147
+ evidence: ['component-shell-contract', 'component-lab-ux-inspector', 'component-shell-theme-matrix']
148
+ },
149
+ {
150
+ id: 'catalog-component-suite-coverage',
151
+ target: 'at-least-85-percent',
152
+ actualPercent: readCoveragePercent(coverageReport, 'componentSuite'),
153
+ status: readCoveragePercent(coverageReport, 'componentSuite') >= 85 ? 'met' : 'failed',
154
+ residuals: tagsMissingDimension(coverageReport, 'componentSuite'),
155
+ evidence: ['catalog-coverage', 'component-long-tail-migration']
156
+ },
157
+ {
158
+ id: 'catalog-fixture-coverage',
159
+ target: 'at-least-85-percent',
160
+ actualPercent: readCoveragePercent(coverageReport, 'fixture'),
161
+ status: readCoveragePercent(coverageReport, 'fixture') >= 85 ? 'met' : 'failed',
162
+ residuals: tagsMissingDimension(coverageReport, 'fixture'),
163
+ evidence: ['catalog-coverage', 'component-long-tail-migration']
164
+ },
165
+ {
166
+ id: 'catalog-types-coverage',
167
+ target: 'at-least-85-percent',
168
+ actualPercent: readCoveragePercent(coverageReport, 'types'),
169
+ status: readCoveragePercent(coverageReport, 'types') >= 85 ? 'met' : 'failed',
170
+ residuals: tagsMissingDimension(coverageReport, 'types'),
171
+ evidence: ['catalog-coverage', 'public-component-types']
172
+ },
173
+ {
174
+ id: 'performance-warning-budget',
175
+ target: 'no-failures-known-warnings-documented',
176
+ status: performanceResiduals.length === 0 ? 'met' : 'accepted-warning',
177
+ residuals: performanceResiduals,
178
+ evidence: ['component-ux-performance', 'performance-regression', 'component-long-tail-migration']
179
+ },
180
+ {
181
+ id: 'rmt-shell-authoring-compatibility',
182
+ target: 'form-feedback-overlay-navigation-covered',
183
+ status: 'met',
184
+ evidence: ['rmt-shell-authoring-ux', 'form-controls-ux', 'feedback-status-ux', 'navigation-routing-ux', 'overlay-interaction-ux']
185
+ }
186
+ ];
187
+ }
188
+
189
+ function summarizeKpis(kpis) {
190
+ return kpis.reduce((summary, kpi) => {
191
+ summary.byStatus[kpi.status] = (summary.byStatus[kpi.status] || 0) + 1;
192
+ if (kpi.status === 'failed') summary.failed += 1;
193
+ if (kpi.status === 'accepted-handoff') summary.acceptedHandoff += 1;
194
+ if (kpi.status === 'accepted-warning') summary.acceptedWarnings += 1;
195
+ if (kpi.status === 'met') summary.met += 1;
196
+ return summary;
197
+ }, {
198
+ kpiCount: kpis.length,
199
+ met: 0,
200
+ acceptedHandoff: 0,
201
+ acceptedWarnings: 0,
202
+ failed: 0,
203
+ byStatus: {}
204
+ });
205
+ }
206
+
207
+ function createEpic11EnterpriseUxHandoffPlan(options = {}) {
208
+ const coverageReport = options.coverageReport || createComponentCatalogCoverageReport(options);
209
+ const regressionPlan = options.regressionPlan || createComponentRegressionPriorityPlan({
210
+ rootDir: options.rootDir,
211
+ coverageReport
212
+ });
213
+ const longTailPlan = options.longTailPlan || createComponentLongTailMigrationPlan({
214
+ rootDir: options.rootDir,
215
+ coverageReport,
216
+ regressionPlan
217
+ });
218
+ const kpis = createKpiDecisions(coverageReport, longTailPlan);
219
+
220
+ return {
221
+ schema: EPIC11_ENTERPRISE_UX_HANDOFF_SCHEMA,
222
+ reportSchema: EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA,
223
+ workpackage: EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE,
224
+ status: EPIC11_ENTERPRISE_UX_HANDOFF_STATUS,
225
+ generatedAt: options.generatedAt || 'static-local',
226
+ module: EPIC11_ENTERPRISE_UX_HANDOFF_MODULE,
227
+ suite: EPIC11_ENTERPRISE_UX_HANDOFF_SUITE,
228
+ contract: EPIC11_ENTERPRISE_UX_HANDOFF_CONTRACT,
229
+ workpackageDocument: EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE_DOC,
230
+ docs: EPIC11_ENTERPRISE_UX_HANDOFF_DOCS,
231
+ localGate: EPIC11_ENTERPRISE_UX_HANDOFF_LOCAL_GATE,
232
+ packageScript: EPIC11_ENTERPRISE_UX_HANDOFF_PACKAGE_SCRIPT,
233
+ kernelBoundary: KERNEL_BOUNDARY,
234
+ sourceSchemas: [
235
+ coverageReport.schema,
236
+ regressionPlan.schema,
237
+ longTailPlan.schema,
238
+ 'xtend.epic11.component-ux-authoring-docs.v1',
239
+ 'xtend.epic11.component-ux-browser-smokes.v1',
240
+ 'xtend.epic11.component-shell-theme-matrix.v1'
241
+ ],
242
+ docsSurface: {
243
+ requiredDocs: REQUIRED_DOCS.slice(),
244
+ authoringDocs: ['docs/component-ux-authoring.md', 'docs/component-ux-app-authoring.md', 'docs/component-ux-gates.md'],
245
+ migrationDocs: 'docs/component-long-tail-migration.md',
246
+ releaseHandoff: EPIC11_ENTERPRISE_UX_HANDOFF_DOCS
247
+ },
248
+ releaseReadiness: {
249
+ packagePrivate: true,
250
+ publishAllowed: false,
251
+ publishBoundary: 'private-until-release-owner-acceptance',
252
+ fastPrGate: 'npm run test:pr:report',
253
+ releaseGate: 'npm run test:release:full:report',
254
+ requiredGates: REQUIRED_GATES.slice(),
255
+ conditionalBrowserGates: [
256
+ 'XTEND_BROWSER_SMOKE_DRIVER=safari node scripts/run_xtend_tests.js component-ux-browser-smokes --json',
257
+ 'XTEND_BROWSER_SMOKE_DRIVER=safari node scripts/run_xtend_tests.js component-shell-theme-matrix --json'
258
+ ]
259
+ },
260
+ epicCompletion: {
261
+ status: 'completed-with-accepted-long-tail-handoff',
262
+ completedWorkpackages: COMPLETED_WORKPACKAGES.slice(),
263
+ closedDecisions: [
264
+ 'component-shell-contract',
265
+ 'styling-token-part-contract',
266
+ 'runtime-a11y-contract',
267
+ 'component-performance-profile-contract',
268
+ 'component-network-contract',
269
+ 'rmt-shell-authoring-component-ux',
270
+ 'ux-family-contracts',
271
+ 'component-lab-ux-inspector',
272
+ 'browser-ux-smoke-matrix',
273
+ 'component-shell-theme-matrix',
274
+ 'component-ux-authoring-docs',
275
+ 'legacy-long-tail-migration-plan',
276
+ 'enterprise-ux-handoff'
277
+ ],
278
+ acceptedResiduals: longTailPlan.entries.map((entry) => ({
279
+ tag: entry.tag,
280
+ priority: entry.priority,
281
+ wave: entry.wave,
282
+ targetMaturity: entry.targetMaturity,
283
+ missingDimensions: entry.missingDimensions.slice()
284
+ }))
285
+ },
286
+ catalogSnapshot: createCatalogSnapshot(coverageReport, longTailPlan),
287
+ kpis,
288
+ kpiSummary: summarizeKpis(kpis),
289
+ knownRisks: [
290
+ 'x-tabs P0 performance-profile residual is closed by WP-E12-02; browser UX coverage is closed by WP-E12-03',
291
+ 'x-theme runtime residual is closed by WP-E12-05; xstate and x-utils keep explicit boundary-probe follow-ups',
292
+ 'x-button interaction residual is closed by WP-E12-06; x-menu routing interaction residual is closed by WP-E12-07',
293
+ 'component-shell-theme-matrix is deterministic contract coverage, not screenshot diff automation',
294
+ 'publish remains blocked until release-owner acceptance'
295
+ ],
296
+ nextWaveHandoffs: NEXT_WAVE_HANDOFFS.slice()
297
+ };
298
+ }
299
+
300
+ function validateEpic11EnterpriseUxHandoffPlan(plan) {
301
+ const errors = [];
302
+ if (!plan || plan.schema !== EPIC11_ENTERPRISE_UX_HANDOFF_SCHEMA) {
303
+ errors.push(`plan schema must be ${EPIC11_ENTERPRISE_UX_HANDOFF_SCHEMA}`);
304
+ }
305
+ if (!plan || plan.reportSchema !== EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA) {
306
+ errors.push(`report schema must be ${EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA}`);
307
+ }
308
+ if (!plan || plan.workpackage !== EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE) {
309
+ errors.push(`plan workpackage must be ${EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE}`);
310
+ }
311
+ if (!plan || plan.status !== EPIC11_ENTERPRISE_UX_HANDOFF_STATUS) {
312
+ errors.push(`plan status must be ${EPIC11_ENTERPRISE_UX_HANDOFF_STATUS}`);
313
+ }
314
+ if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) {
315
+ errors.push(`plan must keep ${KERNEL_BOUNDARY}`);
316
+ }
317
+ if (!plan || !plan.epicCompletion || plan.epicCompletion.completedWorkpackages.length !== 18) {
318
+ errors.push('Epic 11 completion must list all 18 workpackages');
319
+ }
320
+ if (!plan || !plan.epicCompletion.completedWorkpackages.includes('WP-E11-18')) {
321
+ errors.push('Epic 11 completion must include WP-E11-18');
322
+ }
323
+ REQUIRED_DOCS.forEach((docPath) => {
324
+ if (!plan || !plan.docsSurface.requiredDocs.includes(docPath)) {
325
+ errors.push(`required doc missing from handoff surface: ${docPath}`);
326
+ }
327
+ });
328
+ REQUIRED_GATES.forEach((gate) => {
329
+ if (!plan || !plan.releaseReadiness.requiredGates.includes(gate)) {
330
+ errors.push(`required handoff gate missing: ${gate}`);
331
+ }
332
+ });
333
+ if (!plan || plan.releaseReadiness.packagePrivate !== true || plan.releaseReadiness.publishAllowed !== false) {
334
+ errors.push('Epic 11 handoff must keep package private and publishing blocked');
335
+ }
336
+ if (!plan || plan.catalogSnapshot.componentSuiteCoveragePercent < 85) {
337
+ errors.push('component suite coverage must remain at least 85 percent');
338
+ }
339
+ if (!plan || plan.catalogSnapshot.fixtureCoveragePercent < 85) {
340
+ errors.push('fixture coverage must remain at least 85 percent');
341
+ }
342
+ if (!plan || plan.catalogSnapshot.typesCoveragePercent < 85) {
343
+ errors.push('types coverage must remain at least 85 percent');
344
+ }
345
+ if (!plan || plan.catalogSnapshot.longTailComponents.includes('x-tabs')) {
346
+ errors.push('P0 x-tabs residual must be closed after WP-E12-02');
347
+ }
348
+ if (!plan || plan.kpiSummary.failed !== 0) {
349
+ errors.push('KPI summary must not contain failed decisions');
350
+ }
351
+ if (!plan || !plan.kpis.some((kpi) => kpi.id === 'p0-performance-profile-coverage' && kpi.status === 'met')) {
352
+ errors.push('P0 performance residual must be met after WP-E12-02');
353
+ }
354
+ if (!plan || !plan.nextWaveHandoffs.includes('visual-snapshot-automation')) {
355
+ errors.push('visual snapshot automation must remain a next-wave handoff');
356
+ }
357
+
358
+ return {
359
+ schema: EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA,
360
+ ok: errors.length === 0,
361
+ errors
362
+ };
363
+ }
364
+
365
+ function createEpic11EnterpriseUxHandoffReport(options = {}) {
366
+ const plan = options.plan || createEpic11EnterpriseUxHandoffPlan(options);
367
+ const validation = validateEpic11EnterpriseUxHandoffPlan(plan);
368
+
369
+ return {
370
+ schema: EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA,
371
+ ok: validation.ok,
372
+ errors: validation.errors,
373
+ plan,
374
+ docsCount: plan.docsSurface.requiredDocs.length,
375
+ gateCount: plan.releaseReadiness.requiredGates.length,
376
+ completedWorkpackageCount: plan.epicCompletion.completedWorkpackages.length,
377
+ catalogSnapshot: plan.catalogSnapshot,
378
+ kpiSummary: plan.kpiSummary,
379
+ nextWaveHandoffs: plan.nextWaveHandoffs.slice()
380
+ };
381
+ }
382
+
383
+ module.exports = {
384
+ COMPLETED_WORKPACKAGES,
385
+ EPIC11_ENTERPRISE_UX_HANDOFF_CONTRACT,
386
+ EPIC11_ENTERPRISE_UX_HANDOFF_DOCS,
387
+ EPIC11_ENTERPRISE_UX_HANDOFF_LOCAL_GATE,
388
+ EPIC11_ENTERPRISE_UX_HANDOFF_MODULE,
389
+ EPIC11_ENTERPRISE_UX_HANDOFF_PACKAGE_SCRIPT,
390
+ EPIC11_ENTERPRISE_UX_HANDOFF_REPORT_SCHEMA,
391
+ EPIC11_ENTERPRISE_UX_HANDOFF_SCHEMA,
392
+ EPIC11_ENTERPRISE_UX_HANDOFF_STATUS,
393
+ EPIC11_ENTERPRISE_UX_HANDOFF_SUITE,
394
+ EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE,
395
+ EPIC11_ENTERPRISE_UX_HANDOFF_WORKPACKAGE_DOC,
396
+ KERNEL_BOUNDARY,
397
+ NEXT_WAVE_HANDOFFS,
398
+ REQUIRED_DOCS,
399
+ REQUIRED_GATES,
400
+ createEpic11EnterpriseUxHandoffPlan,
401
+ createEpic11EnterpriseUxHandoffReport,
402
+ validateEpic11EnterpriseUxHandoffPlan
403
+ };
@@ -0,0 +1,29 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogGate,
4
+ XtendCatalogOptions,
5
+ XtendCatalogPlan,
6
+ XtendCatalogRecord,
7
+ XtendCatalogReport
8
+ } from './catalog-public-types';
9
+
10
+
11
+ export declare const ADOPTION_STAGES: XtendCatalogConstant;
12
+ export declare const EPIC12_DOCS_ADOPTION_CONTRACT: string;
13
+ export declare const EPIC12_DOCS_ADOPTION_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
14
+ export declare const EPIC12_DOCS_ADOPTION_LOCAL_GATE: string;
15
+ export declare const EPIC12_DOCS_ADOPTION_MODULE: string;
16
+ export declare const EPIC12_DOCS_ADOPTION_PACKAGE_SCRIPT: string;
17
+ export declare const EPIC12_DOCS_ADOPTION_REPORT_SCHEMA: string;
18
+ export declare const EPIC12_DOCS_ADOPTION_SCHEMA: string;
19
+ export declare const EPIC12_DOCS_ADOPTION_STATUS: string;
20
+ export declare const EPIC12_DOCS_ADOPTION_SUITE: string;
21
+ export declare const EPIC12_DOCS_ADOPTION_WORKPACKAGE: string;
22
+ export declare const EPIC12_DOCS_ADOPTION_WORKPACKAGE_DOC: XtendCatalogConstant;
23
+ export declare const KERNEL_BOUNDARY: XtendCatalogConstant;
24
+ export declare const MIGRATION_NOTE_TOPICS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
25
+ export declare const PUBLISH_BOUNDARY: XtendCatalogConstant;
26
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
27
+ export declare function createEpic12DocsAdoptionGuide(options?: XtendCatalogOptions): XtendCatalogPlan;
28
+ export declare function createEpic12DocsAdoptionReport(options?: XtendCatalogOptions): XtendCatalogReport;
29
+ export declare function validateEpic12DocsAdoptionGuide(plan?: unknown): XtendCatalogReport;
@@ -0,0 +1,183 @@
1
+ const EPIC12_DOCS_ADOPTION_SCHEMA = 'xtend.epic12.docs-adoption.v1';
2
+ const EPIC12_DOCS_ADOPTION_REPORT_SCHEMA = 'xtend.epic12.docs-adoption-report.v1';
3
+ const EPIC12_DOCS_ADOPTION_STATUS = 'accepted-docs-adoption';
4
+ const EPIC12_DOCS_ADOPTION_WORKPACKAGE = 'WP-E12-15';
5
+ const EPIC12_DOCS_ADOPTION_MODULE = 'catalog/epic12-docs-adoption.js';
6
+ const EPIC12_DOCS_ADOPTION_CONTRACT = 'development/XTend-Epic12-Docs-Migration-und-Adoption-Guide.md';
7
+ const EPIC12_DOCS_ADOPTION_WORKPACKAGE_DOC = 'development/WP-E12-15-Docs-Migration-Notes-und-Enterprise-Adoption-Guide-aktualisieren.md';
8
+ const EPIC12_DOCS_ADOPTION_DOCS = 'docs/rc0-adoption-guide.md';
9
+ const EPIC12_DOCS_ADOPTION_SUITE = 'tests/docs/epic12_docs_adoption_suite.js';
10
+ const EPIC12_DOCS_ADOPTION_LOCAL_GATE = 'node scripts/run_xtend_tests.js epic12-docs-adoption --json';
11
+ const EPIC12_DOCS_ADOPTION_PACKAGE_SCRIPT = 'npm run test:epic12-docs-adoption';
12
+ const PUBLISH_BOUNDARY = 'private-until-release-owner-approval';
13
+ const KERNEL_BOUNDARY = 'no-rmt-kernel-import-of-xtend-types';
14
+
15
+ const REQUIRED_DOCS = Object.freeze([
16
+ 'docs/rc0-adoption-guide.md',
17
+ 'docs/enterprise-adoption.md',
18
+ 'docs/component-long-tail-migration.md',
19
+ 'docs/visual-snapshot-automation.md',
20
+ 'docs/design-tokens.md',
21
+ 'docs/rmt-dsl-authoring-polish.md',
22
+ 'docs/rc0-gate-matrix.md',
23
+ 'docs/README.md',
24
+ 'docs/menu.json'
25
+ ]);
26
+
27
+ const MIGRATION_NOTE_TOPICS = Object.freeze([
28
+ 'long-tail-runtime-closure',
29
+ 'dom-first-visual-snapshots',
30
+ 'design-token-productization',
31
+ 'rmt-dsl-authoring-polish',
32
+ 'rc0-gate-matrix',
33
+ 'known-residual-policy',
34
+ 'publish-boundary'
35
+ ]);
36
+
37
+ const ADOPTION_STAGES = Object.freeze([
38
+ 'local-baseline',
39
+ 'ui-component-baseline',
40
+ 'fabric-telemetry-baseline',
41
+ 'rmt-shell-first-baseline',
42
+ 'security-baseline',
43
+ 'performance-a11y-baseline',
44
+ 'snapshot-and-design-token-baseline',
45
+ 'rc0-review-baseline'
46
+ ]);
47
+
48
+ function createEpic12DocsAdoptionGuide(options = {}) {
49
+ return {
50
+ schema: EPIC12_DOCS_ADOPTION_SCHEMA,
51
+ reportSchema: EPIC12_DOCS_ADOPTION_REPORT_SCHEMA,
52
+ workpackage: EPIC12_DOCS_ADOPTION_WORKPACKAGE,
53
+ status: EPIC12_DOCS_ADOPTION_STATUS,
54
+ generatedAt: options.generatedAt || 'static-local',
55
+ module: EPIC12_DOCS_ADOPTION_MODULE,
56
+ contract: EPIC12_DOCS_ADOPTION_CONTRACT,
57
+ workpackageDocument: EPIC12_DOCS_ADOPTION_WORKPACKAGE_DOC,
58
+ docs: EPIC12_DOCS_ADOPTION_DOCS,
59
+ suite: EPIC12_DOCS_ADOPTION_SUITE,
60
+ localGate: EPIC12_DOCS_ADOPTION_LOCAL_GATE,
61
+ packageScript: EPIC12_DOCS_ADOPTION_PACKAGE_SCRIPT,
62
+ publishBoundary: PUBLISH_BOUNDARY,
63
+ publishAllowed: false,
64
+ packagePrivateRequired: true,
65
+ kernelBoundary: KERNEL_BOUNDARY,
66
+ sourceContracts: [
67
+ 'xtend.epic12.rc-hardening-model.v1',
68
+ 'xtend.epic12.rc0-gate-matrix.v1',
69
+ 'xtend.epic12.visual-snapshot-runner.v1',
70
+ 'xtend.design-tokens.product-contract.v1',
71
+ 'xtend.rmt.dsl-authoring-polish.v1',
72
+ 'xtend.docs.enterprise-adoption.v1'
73
+ ],
74
+ requiredDocs: REQUIRED_DOCS.slice(),
75
+ migrationNotes: {
76
+ status: 'rc0-docs-current',
77
+ topics: MIGRATION_NOTE_TOPICS.slice(),
78
+ componentAuthors: [
79
+ 'use xtend-loader.js and local manifests',
80
+ 'keep XTendRMT host-neutral',
81
+ 'prefer dom_descriptor over html_fragment',
82
+ 'publish CSS Parts, tokens, events and types as public contracts',
83
+ 'run rc0-gate-matrix before owner review'
84
+ ],
85
+ appAuthors: [
86
+ 'compose XTend Apps shell-first through RMT where possible',
87
+ 'map XRouter routes through native RMT route records',
88
+ 'treat Parsedown or rich media as scheduled RMT content components',
89
+ 'document conditional network gates when offline'
90
+ ]
91
+ },
92
+ adoptionStages: ADOPTION_STAGES.slice(),
93
+ requiredGates: [
94
+ 'node scripts/run_xtend_tests.js epic12-docs-adoption --json',
95
+ 'node scripts/run_xtend_tests.js references --json',
96
+ 'node scripts/run_xtend_tests.js rc0-gate-matrix --json',
97
+ 'npm run test:release:full:report',
98
+ 'npm run pack:dry-run'
99
+ ],
100
+ conditionalNetworkGates: [
101
+ 'npm audit --audit-level=moderate',
102
+ 'npm sbom --sbom-format=cyclonedx --json'
103
+ ],
104
+ knownResiduals: [
105
+ 'xstate',
106
+ 'x-utils',
107
+ 'xtend.component.hydrate'
108
+ ],
109
+ handoff: ['WP-E12-16']
110
+ };
111
+ }
112
+
113
+ function validateEpic12DocsAdoptionGuide(guide = createEpic12DocsAdoptionGuide()) {
114
+ const errors = [];
115
+
116
+ if (!guide || guide.schema !== EPIC12_DOCS_ADOPTION_SCHEMA) errors.push(`schema must be ${EPIC12_DOCS_ADOPTION_SCHEMA}`);
117
+ if (!guide || guide.workpackage !== EPIC12_DOCS_ADOPTION_WORKPACKAGE) errors.push(`workpackage must be ${EPIC12_DOCS_ADOPTION_WORKPACKAGE}`);
118
+ if (!guide || guide.status !== EPIC12_DOCS_ADOPTION_STATUS) errors.push(`status must be ${EPIC12_DOCS_ADOPTION_STATUS}`);
119
+ if (!guide || guide.publishAllowed !== false || guide.packagePrivateRequired !== true) errors.push('Docs adoption must keep publish blocked and package private');
120
+ if (!guide || guide.publishBoundary !== PUBLISH_BOUNDARY) errors.push(`publishBoundary must be ${PUBLISH_BOUNDARY}`);
121
+ if (!guide || guide.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
122
+
123
+ REQUIRED_DOCS.forEach((doc) => {
124
+ if (!guide.requiredDocs || !guide.requiredDocs.includes(doc)) errors.push(`requiredDocs missing ${doc}`);
125
+ });
126
+ MIGRATION_NOTE_TOPICS.forEach((topic) => {
127
+ if (!guide.migrationNotes || !guide.migrationNotes.topics.includes(topic)) errors.push(`migrationNotes missing ${topic}`);
128
+ });
129
+ ADOPTION_STAGES.forEach((stage) => {
130
+ if (!guide.adoptionStages || !guide.adoptionStages.includes(stage)) errors.push(`adoptionStages missing ${stage}`);
131
+ });
132
+ ['xtend.epic12.rc0-gate-matrix.v1', 'xtend.docs.enterprise-adoption.v1'].forEach((schema) => {
133
+ if (!guide.sourceContracts || !guide.sourceContracts.includes(schema)) errors.push(`sourceContracts missing ${schema}`);
134
+ });
135
+ ['WP-E12-16'].forEach((handoff) => {
136
+ if (!guide.handoff || !guide.handoff.includes(handoff)) errors.push(`handoff missing ${handoff}`);
137
+ });
138
+
139
+ return {
140
+ schema: EPIC12_DOCS_ADOPTION_REPORT_SCHEMA,
141
+ ok: errors.length === 0,
142
+ errors
143
+ };
144
+ }
145
+
146
+ function createEpic12DocsAdoptionReport(options = {}) {
147
+ const guide = options.guide || createEpic12DocsAdoptionGuide(options);
148
+ const validation = validateEpic12DocsAdoptionGuide(guide);
149
+ return {
150
+ schema: EPIC12_DOCS_ADOPTION_REPORT_SCHEMA,
151
+ ok: validation.ok,
152
+ errors: validation.errors,
153
+ guide,
154
+ docsCount: guide.requiredDocs.length,
155
+ migrationTopicCount: guide.migrationNotes.topics.length,
156
+ adoptionStageCount: guide.adoptionStages.length,
157
+ publishAllowed: guide.publishAllowed,
158
+ packagePrivateRequired: guide.packagePrivateRequired,
159
+ handoff: guide.handoff
160
+ };
161
+ }
162
+
163
+ module.exports = {
164
+ ADOPTION_STAGES,
165
+ EPIC12_DOCS_ADOPTION_CONTRACT,
166
+ EPIC12_DOCS_ADOPTION_DOCS,
167
+ EPIC12_DOCS_ADOPTION_LOCAL_GATE,
168
+ EPIC12_DOCS_ADOPTION_MODULE,
169
+ EPIC12_DOCS_ADOPTION_PACKAGE_SCRIPT,
170
+ EPIC12_DOCS_ADOPTION_REPORT_SCHEMA,
171
+ EPIC12_DOCS_ADOPTION_SCHEMA,
172
+ EPIC12_DOCS_ADOPTION_STATUS,
173
+ EPIC12_DOCS_ADOPTION_SUITE,
174
+ EPIC12_DOCS_ADOPTION_WORKPACKAGE,
175
+ EPIC12_DOCS_ADOPTION_WORKPACKAGE_DOC,
176
+ KERNEL_BOUNDARY,
177
+ MIGRATION_NOTE_TOPICS,
178
+ PUBLISH_BOUNDARY,
179
+ REQUIRED_DOCS,
180
+ createEpic12DocsAdoptionGuide,
181
+ createEpic12DocsAdoptionReport,
182
+ validateEpic12DocsAdoptionGuide
183
+ };
@@ -0,0 +1,36 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogGate,
4
+ XtendCatalogOptions,
5
+ XtendCatalogPlan,
6
+ XtendCatalogRecord,
7
+ XtendCatalogReport
8
+ } from './catalog-public-types';
9
+
10
+
11
+ export declare const CONDITIONAL_NETWORK_COMMANDS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
12
+ export declare const GATE_DEFINITIONS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
13
+ export declare const KERNEL_BOUNDARY: XtendCatalogConstant;
14
+ export declare const PUBLISH_BOUNDARY: XtendCatalogConstant;
15
+ export declare const RC0_AUTHORING_SUITES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
16
+ export declare const RC0_FAST_PR_SUITES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
17
+ export declare const RC0_GATE_MATRIX_CONTRACT: string;
18
+ export declare const RC0_GATE_MATRIX_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
19
+ export declare const RC0_GATE_MATRIX_LOCAL_GATE: string;
20
+ export declare const RC0_GATE_MATRIX_MODULE: string;
21
+ export declare const RC0_GATE_MATRIX_PACKAGE_SCRIPT: string;
22
+ export declare const RC0_GATE_MATRIX_REPORT_SCHEMA: string;
23
+ export declare const RC0_GATE_MATRIX_SCHEMA: string;
24
+ export declare const RC0_GATE_MATRIX_STATUS: string;
25
+ export declare const RC0_GATE_MATRIX_SUITE: string;
26
+ export declare const RC0_GATE_MATRIX_WORKPACKAGE: string;
27
+ export declare const RC0_GATE_MATRIX_WORKPACKAGE_DOC: XtendCatalogConstant;
28
+ export declare const RC0_GATE_RECORD_SCHEMA: string;
29
+ export declare const RC0_KNOWN_RESIDUAL_POLICY_SCHEMA: string;
30
+ export declare const RC0_RELEASE_MUST_INCLUDE: XtendCatalogConstant;
31
+ export declare const RC0_SNAPSHOT_SUITES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
32
+ export declare function commandForSuites(...args: unknown[]): string;
33
+ export declare function createEpic12Rc0GateMatrix(options?: XtendCatalogOptions): XtendCatalogPlan;
34
+ export declare function createEpic12Rc0GateMatrixReport(options?: XtendCatalogOptions): XtendCatalogReport;
35
+ export declare function createKnownResidualPolicy(options?: XtendCatalogOptions): XtendCatalogPlan;
36
+ export declare function validateEpic12Rc0GateMatrix(plan?: unknown): XtendCatalogReport;