@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,319 @@
1
+ const {
2
+ KERNEL_BOUNDARY
3
+ } = require('./epic12-rc0-gate-matrix');
4
+
5
+ const RMT_APP_PLATFORM_AUTHORING_SCHEMA = 'xtend.epic18.rmt-app-platform-authoring.v1';
6
+ const RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA = 'xtend.epic18.rmt-app-platform-authoring-report.v1';
7
+ const RMT_APP_PLATFORM_FIXTURE_SCHEMA = 'xtend.epic18.rmt-app-platform-authoring-fixture.v1';
8
+ const RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE = 'WP-E18-04';
9
+ const RMT_APP_PLATFORM_AUTHORING_STATUS = 'accepted-authoring-model';
10
+ const RMT_APP_PLATFORM_AUTHORING_TARGET = 'rmt-app-platform-authoring-ready';
11
+ const RMT_APP_PLATFORM_AUTHORING_MODULE = 'catalog/epic18-rmt-app-platform-authoring.js';
12
+ const RMT_APP_PLATFORM_AUTHORING_SUITE = 'tests/rmt/rmt_app_platform_authoring_suite.js';
13
+ const RMT_APP_PLATFORM_AUTHORING_FIXTURE = 'tests/fixtures/rmt-app-platform-authoring.rmt';
14
+ const RMT_APP_PLATFORM_AUTHORING_DOCS = 'docs/rmt-app-platform-authoring.md';
15
+ const RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE_DOC = 'development/WP-E18-04-RMT-App-Platform-Authoring-Model-erweitern.md';
16
+ const RMT_APP_PLATFORM_AUTHORING_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
17
+ const RMT_APP_PLATFORM_AUTHORING_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
18
+ const RMT_APP_PLATFORM_AUTHORING_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-app-platform-authoring --json';
19
+ const RMT_APP_PLATFORM_AUTHORING_PACKAGE_SCRIPT = 'npm run test:rmt-app-platform-authoring';
20
+ const NEXT_WORKPACKAGE = 'WP-E18-05';
21
+ const NEXT_DECISION = 'dom-descriptor-renderer-and-no-manual-html-gate';
22
+
23
+ const REQUIRED_PRIMITIVES = Object.freeze([
24
+ 'app',
25
+ 'route',
26
+ 'surface',
27
+ 'slot',
28
+ 'template',
29
+ 'component',
30
+ 'state',
31
+ 'selector',
32
+ 'derive',
33
+ 'repeat',
34
+ 'when',
35
+ 'bind',
36
+ 'action',
37
+ 'effect',
38
+ 'datasource',
39
+ 'resource',
40
+ 'event'
41
+ ]);
42
+
43
+ const REQUIRED_TEMPLATE_PRIMITIVES = Object.freeze([
44
+ 'component',
45
+ 'text',
46
+ 'slot',
47
+ 'repeat',
48
+ 'when',
49
+ 'bind',
50
+ 'event',
51
+ 'empty',
52
+ 'fallback'
53
+ ]);
54
+
55
+ const REQUIRED_ADAPTERS = Object.freeze([
56
+ 'xtend.component',
57
+ 'xtend.router',
58
+ 'rmt.state',
59
+ 'rmt.datasource',
60
+ 'rmt.resource',
61
+ 'rmt.action',
62
+ 'rmt.event'
63
+ ]);
64
+
65
+ const REQUIRED_COMPONENT_ADAPTER_CAPABILITIES = Object.freeze([
66
+ 'component.tag',
67
+ 'component.attributes',
68
+ 'component.properties',
69
+ 'component.slots',
70
+ 'component.parts',
71
+ 'component.events',
72
+ 'component.methods',
73
+ 'component.state-bindings',
74
+ 'component.a11y',
75
+ 'component.theme-tokens'
76
+ ]);
77
+
78
+ const REQUIRED_SCHEDULES = Object.freeze([
79
+ 'app.shell.render',
80
+ 'route.visible.render',
81
+ 'surface.visible.mount',
82
+ 'component.visible.mount',
83
+ 'component.idle.hydrate',
84
+ 'state.derive.evaluate',
85
+ 'action.user-blocking.run',
86
+ 'effect.background.run',
87
+ 'datasource.background.load',
88
+ 'resource.idle.prepare',
89
+ 'event.user-blocking.dispatch',
90
+ 'diagnostics.snapshot'
91
+ ]);
92
+
93
+ const REQUIRED_LANES = Object.freeze([
94
+ 'user-blocking',
95
+ 'visible',
96
+ 'transition',
97
+ 'idle',
98
+ 'background',
99
+ 'diagnostics'
100
+ ]);
101
+
102
+ const REQUIRED_BOUNDARIES = Object.freeze([
103
+ 'no-media-manager-product-surface-clone',
104
+ 'no-product-record-contract-required',
105
+ 'structured-ui-before-trusted-html',
106
+ 'trusted-html-explicit-boundary-only',
107
+ 'no-rmt-kernel-import-of-xtend-types',
108
+ 'no-external-innerhtml-helper-required'
109
+ ]);
110
+
111
+ const REQUIRED_DOCS = Object.freeze([
112
+ RMT_APP_PLATFORM_AUTHORING_DOCS,
113
+ RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE_DOC,
114
+ RMT_APP_PLATFORM_AUTHORING_BACKLOG,
115
+ RMT_APP_PLATFORM_AUTHORING_EPIC
116
+ ]);
117
+
118
+ const REQUIRED_ARTIFACTS = Object.freeze([
119
+ RMT_APP_PLATFORM_AUTHORING_MODULE,
120
+ RMT_APP_PLATFORM_AUTHORING_SUITE,
121
+ RMT_APP_PLATFORM_AUTHORING_FIXTURE,
122
+ RMT_APP_PLATFORM_AUTHORING_DOCS,
123
+ RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE_DOC
124
+ ]);
125
+
126
+ function unique(values) {
127
+ return [...new Set((values || []).filter(Boolean))];
128
+ }
129
+
130
+ function createRmtAppPlatformAuthoringPlan(options = {}) {
131
+ return {
132
+ schema: RMT_APP_PLATFORM_AUTHORING_SCHEMA,
133
+ reportSchema: RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA,
134
+ fixtureSchema: RMT_APP_PLATFORM_FIXTURE_SCHEMA,
135
+ workpackage: RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE,
136
+ status: RMT_APP_PLATFORM_AUTHORING_STATUS,
137
+ generatedAt: options.generatedAt || 'static-local',
138
+ targetReadiness: RMT_APP_PLATFORM_AUTHORING_TARGET,
139
+ module: RMT_APP_PLATFORM_AUTHORING_MODULE,
140
+ suite: RMT_APP_PLATFORM_AUTHORING_SUITE,
141
+ fixture: RMT_APP_PLATFORM_AUTHORING_FIXTURE,
142
+ docs: RMT_APP_PLATFORM_AUTHORING_DOCS,
143
+ workpackageDocument: RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE_DOC,
144
+ localGate: RMT_APP_PLATFORM_AUTHORING_LOCAL_GATE,
145
+ packageScript: RMT_APP_PLATFORM_AUTHORING_PACKAGE_SCRIPT,
146
+ requiredPrimitives: REQUIRED_PRIMITIVES.slice(),
147
+ templatePrimitives: REQUIRED_TEMPLATE_PRIMITIVES.slice(),
148
+ requiredAdapters: REQUIRED_ADAPTERS.slice(),
149
+ componentAdapterCapabilities: REQUIRED_COMPONENT_ADAPTER_CAPABILITIES.slice(),
150
+ requiredSchedules: REQUIRED_SCHEDULES.slice(),
151
+ scheduleLanes: REQUIRED_LANES.slice(),
152
+ boundaries: REQUIRED_BOUNDARIES.slice(),
153
+ requiredDocs: REQUIRED_DOCS.slice(),
154
+ artifactPaths: REQUIRED_ARTIFACTS.slice(),
155
+ model: {
156
+ authoringScope: 'generic-app-platform',
157
+ appDomainPolicy: 'developer-defined-domain-contracts',
158
+ surfacePolicy: 'generic-keyed-surface-graph',
159
+ componentPolicy: 'custom-element-capability-catalog',
160
+ templatePolicy: 'structured-dom-descriptor-first',
161
+ trustedHtmlPolicy: 'explicit-boundary-resource-only',
162
+ statePolicy: 'typed-state-selectors-derived-values',
163
+ actionPolicy: 'declarative-actions-effects-datasources-resources',
164
+ eventPolicy: 'scoped-event-routing-no-implicit-global-bus',
165
+ rendererImplemented: false,
166
+ runtimeImplemented: false,
167
+ productSurfaceTaxonomyAllowed: false,
168
+ mediaManagerRecordRequired: false,
169
+ innerHtmlHelperRequired: false
170
+ },
171
+ nextWorkpackage: NEXT_WORKPACKAGE,
172
+ nextDecision: NEXT_DECISION,
173
+ kernelBoundary: KERNEL_BOUNDARY
174
+ };
175
+ }
176
+
177
+ function validateRmtAppPlatformAuthoringPlan(plan = createRmtAppPlatformAuthoringPlan()) {
178
+ const errors = [];
179
+
180
+ if (!plan || plan.schema !== RMT_APP_PLATFORM_AUTHORING_SCHEMA) errors.push(`schema must be ${RMT_APP_PLATFORM_AUTHORING_SCHEMA}`);
181
+ if (!plan || plan.reportSchema !== RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA}`);
182
+ if (!plan || plan.fixtureSchema !== RMT_APP_PLATFORM_FIXTURE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_APP_PLATFORM_FIXTURE_SCHEMA}`);
183
+ if (!plan || plan.workpackage !== RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE) errors.push(`workpackage must be ${RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE}`);
184
+ if (!plan || plan.status !== RMT_APP_PLATFORM_AUTHORING_STATUS) errors.push(`status must be ${RMT_APP_PLATFORM_AUTHORING_STATUS}`);
185
+ if (!plan || plan.targetReadiness !== RMT_APP_PLATFORM_AUTHORING_TARGET) errors.push(`targetReadiness must be ${RMT_APP_PLATFORM_AUTHORING_TARGET}`);
186
+ REQUIRED_PRIMITIVES.forEach((primitive) => {
187
+ if (!plan || !plan.requiredPrimitives.includes(primitive)) errors.push(`primitive missing: ${primitive}`);
188
+ });
189
+ REQUIRED_TEMPLATE_PRIMITIVES.forEach((primitive) => {
190
+ if (!plan || !plan.templatePrimitives.includes(primitive)) errors.push(`template primitive missing: ${primitive}`);
191
+ });
192
+ REQUIRED_ADAPTERS.forEach((adapter) => {
193
+ if (!plan || !plan.requiredAdapters.includes(adapter)) errors.push(`adapter missing: ${adapter}`);
194
+ });
195
+ REQUIRED_COMPONENT_ADAPTER_CAPABILITIES.forEach((capability) => {
196
+ if (!plan || !plan.componentAdapterCapabilities.includes(capability)) errors.push(`component adapter capability missing: ${capability}`);
197
+ });
198
+ REQUIRED_SCHEDULES.forEach((schedule) => {
199
+ if (!plan || !plan.requiredSchedules.includes(schedule)) errors.push(`schedule missing: ${schedule}`);
200
+ });
201
+ REQUIRED_LANES.forEach((lane) => {
202
+ if (!plan || !plan.scheduleLanes.includes(lane)) errors.push(`lane missing: ${lane}`);
203
+ });
204
+ REQUIRED_BOUNDARIES.forEach((boundary) => {
205
+ if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
206
+ });
207
+ REQUIRED_DOCS.forEach((docPath) => {
208
+ if (!plan || !plan.requiredDocs.includes(docPath)) errors.push(`doc missing: ${docPath}`);
209
+ });
210
+ REQUIRED_ARTIFACTS.forEach((artifactPath) => {
211
+ if (!plan || !plan.artifactPaths.includes(artifactPath)) errors.push(`artifact missing: ${artifactPath}`);
212
+ });
213
+ if (!plan || plan.model.authoringScope !== 'generic-app-platform') errors.push('authoring scope must be generic app platform');
214
+ if (!plan || plan.model.templatePolicy !== 'structured-dom-descriptor-first') errors.push('template policy must prefer structured DOM descriptors');
215
+ if (!plan || plan.model.trustedHtmlPolicy !== 'explicit-boundary-resource-only') errors.push('trusted HTML must stay an explicit resource boundary');
216
+ if (!plan || plan.model.rendererImplemented !== false) errors.push('WP-E18-04 must not claim renderer implementation');
217
+ if (!plan || plan.model.runtimeImplemented !== false) errors.push('WP-E18-04 must not claim runtime implementation');
218
+ if (!plan || plan.model.productSurfaceTaxonomyAllowed !== false) errors.push('product surface taxonomy must stay disallowed');
219
+ if (!plan || plan.model.mediaManagerRecordRequired !== false) errors.push('Media Manager record contracts must not be required');
220
+ if (!plan || plan.model.innerHtmlHelperRequired !== false) errors.push('external innerHTML helpers must not be required');
221
+ if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
222
+ if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
223
+ if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
224
+
225
+ return {
226
+ schema: RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA,
227
+ ok: errors.length === 0,
228
+ errors,
229
+ workpackage: RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE,
230
+ checkedAt: 'static-local'
231
+ };
232
+ }
233
+
234
+ function createRmtAppPlatformAuthoringReport(options = {}) {
235
+ const plan = options.plan || createRmtAppPlatformAuthoringPlan(options);
236
+ const validation = validateRmtAppPlatformAuthoringPlan(plan);
237
+
238
+ return {
239
+ schema: RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA,
240
+ ok: validation.ok,
241
+ errors: validation.errors.slice(),
242
+ workpackage: plan.workpackage,
243
+ status: plan.status,
244
+ targetReadiness: plan.targetReadiness,
245
+ primitiveCount: plan.requiredPrimitives.length,
246
+ templatePrimitiveCount: plan.templatePrimitives.length,
247
+ adapterCount: plan.requiredAdapters.length,
248
+ componentAdapterCapabilityCount: plan.componentAdapterCapabilities.length,
249
+ scheduleCount: plan.requiredSchedules.length,
250
+ boundaryCount: plan.boundaries.length,
251
+ rendererImplemented: plan.model.rendererImplemented,
252
+ runtimeImplemented: plan.model.runtimeImplemented,
253
+ productSurfaceTaxonomyAllowed: plan.model.productSurfaceTaxonomyAllowed,
254
+ mediaManagerRecordRequired: plan.model.mediaManagerRecordRequired,
255
+ innerHtmlHelperRequired: plan.model.innerHtmlHelperRequired,
256
+ nextWorkpackage: plan.nextWorkpackage,
257
+ nextDecision: plan.nextDecision,
258
+ kernelBoundary: plan.kernelBoundary
259
+ };
260
+ }
261
+
262
+ function collectFixturePrimitiveCoverage(fixture = {}) {
263
+ const coverage = [];
264
+ if (fixture.app) coverage.push('app');
265
+ if (Array.isArray(fixture.routes) && fixture.routes.length) coverage.push('route');
266
+ if (Array.isArray(fixture.surfaces) && fixture.surfaces.length) coverage.push('surface');
267
+ if (Array.isArray(fixture.slots) && fixture.slots.length) coverage.push('slot');
268
+ if (Array.isArray(fixture.templates) && fixture.templates.length) coverage.push('template');
269
+ if (Array.isArray(fixture.components) && fixture.components.length) coverage.push('component');
270
+ if (Array.isArray(fixture.state) && fixture.state.length) coverage.push('state');
271
+ if (Array.isArray(fixture.selectors) && fixture.selectors.length) coverage.push('selector');
272
+ if (Array.isArray(fixture.derive) && fixture.derive.length) coverage.push('derive');
273
+ if (Array.isArray(fixture.bind) && fixture.bind.length) coverage.push('bind');
274
+ if (Array.isArray(fixture.actions) && fixture.actions.length) coverage.push('action');
275
+ if (Array.isArray(fixture.effects) && fixture.effects.length) coverage.push('effect');
276
+ if (Array.isArray(fixture.datasources) && fixture.datasources.length) coverage.push('datasource');
277
+ if (Array.isArray(fixture.resources) && fixture.resources.length) coverage.push('resource');
278
+ if (Array.isArray(fixture.events) && fixture.events.length) coverage.push('event');
279
+
280
+ (fixture.templates || []).forEach((template) => {
281
+ (template.uses || []).forEach((primitive) => coverage.push(primitive));
282
+ });
283
+
284
+ return unique(coverage);
285
+ }
286
+
287
+ module.exports = {
288
+ KERNEL_BOUNDARY,
289
+ NEXT_DECISION,
290
+ NEXT_WORKPACKAGE,
291
+ REQUIRED_ADAPTERS,
292
+ REQUIRED_ARTIFACTS,
293
+ REQUIRED_BOUNDARIES,
294
+ REQUIRED_COMPONENT_ADAPTER_CAPABILITIES,
295
+ REQUIRED_DOCS,
296
+ REQUIRED_LANES,
297
+ REQUIRED_PRIMITIVES,
298
+ REQUIRED_SCHEDULES,
299
+ REQUIRED_TEMPLATE_PRIMITIVES,
300
+ RMT_APP_PLATFORM_AUTHORING_BACKLOG,
301
+ RMT_APP_PLATFORM_AUTHORING_DOCS,
302
+ RMT_APP_PLATFORM_AUTHORING_EPIC,
303
+ RMT_APP_PLATFORM_AUTHORING_FIXTURE,
304
+ RMT_APP_PLATFORM_AUTHORING_LOCAL_GATE,
305
+ RMT_APP_PLATFORM_AUTHORING_MODULE,
306
+ RMT_APP_PLATFORM_AUTHORING_PACKAGE_SCRIPT,
307
+ RMT_APP_PLATFORM_AUTHORING_REPORT_SCHEMA,
308
+ RMT_APP_PLATFORM_AUTHORING_SCHEMA,
309
+ RMT_APP_PLATFORM_AUTHORING_STATUS,
310
+ RMT_APP_PLATFORM_AUTHORING_SUITE,
311
+ RMT_APP_PLATFORM_AUTHORING_TARGET,
312
+ RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE,
313
+ RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE_DOC,
314
+ RMT_APP_PLATFORM_FIXTURE_SCHEMA,
315
+ collectFixturePrimitiveCoverage,
316
+ createRmtAppPlatformAuthoringPlan,
317
+ createRmtAppPlatformAuthoringReport,
318
+ validateRmtAppPlatformAuthoringPlan
319
+ };
@@ -0,0 +1,33 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogOptions,
4
+ XtendCatalogPlan,
5
+ XtendCatalogReport
6
+ } from './catalog-public-types';
7
+
8
+ export declare const NEXT_DECISION: string;
9
+ export declare const NEXT_WORKPACKAGE: string;
10
+ export declare const REQUIRED_APP_PLATFORM_BOUNDARIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
11
+ export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
12
+ export declare const REQUIRED_DATASOURCE_KINDS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
13
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
14
+ export declare const REQUIRED_DOMAIN_VARIANTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
15
+ export declare const REQUIRED_FIXTURE_CAPABILITIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
16
+ export declare const RMT_APP_PLATFORM_FIXTURE: string;
17
+ export declare const RMT_APP_PLATFORM_FIXTURE_BACKLOG: string;
18
+ export declare const RMT_APP_PLATFORM_FIXTURE_DOCS: string;
19
+ export declare const RMT_APP_PLATFORM_FIXTURE_EPIC: string;
20
+ export declare const RMT_APP_PLATFORM_FIXTURE_LOCAL_GATE: string;
21
+ export declare const RMT_APP_PLATFORM_FIXTURE_MODULE: string;
22
+ export declare const RMT_APP_PLATFORM_FIXTURE_PACKAGE_SCRIPT: string;
23
+ export declare const RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA: string;
24
+ export declare const RMT_APP_PLATFORM_FIXTURE_SCHEMA: string;
25
+ export declare const RMT_APP_PLATFORM_FIXTURE_SOURCE_SCHEMA: string;
26
+ export declare const RMT_APP_PLATFORM_FIXTURE_STATUS: string;
27
+ export declare const RMT_APP_PLATFORM_FIXTURE_SUITE: string;
28
+ export declare const RMT_APP_PLATFORM_FIXTURE_TARGET: string;
29
+ export declare const RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE: string;
30
+ export declare const RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE_DOC: string;
31
+ export declare function createRmtAppPlatformFixturePlan(options?: XtendCatalogOptions): XtendCatalogPlan;
32
+ export declare function createRmtAppPlatformFixtureReport(options?: XtendCatalogOptions): XtendCatalogReport;
33
+ export declare function validateRmtAppPlatformFixturePlan(plan?: unknown): XtendCatalogReport;
@@ -0,0 +1,221 @@
1
+ const {
2
+ KERNEL_BOUNDARY
3
+ } = require('./epic12-rc0-gate-matrix');
4
+ const {
5
+ RMT_APP_PLATFORM_TOOLING_SCHEMA,
6
+ RMT_APP_PLATFORM_TOOLING_WORKPACKAGE
7
+ } = require('./epic18-rmt-app-platform-tooling');
8
+
9
+ const RMT_APP_PLATFORM_FIXTURE_SCHEMA = 'xtend.epic18.rmt-app-platform-fixture.v1';
10
+ const RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA = 'xtend.epic18.rmt-app-platform-fixture-report.v1';
11
+ const RMT_APP_PLATFORM_FIXTURE_SOURCE_SCHEMA = 'xtend.epic18.rmt-app-platform-fixture-source.v1';
12
+ const RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE = 'WP-E18-12';
13
+ const RMT_APP_PLATFORM_FIXTURE_STATUS = 'accepted-generic-rmt-app-platform-fixture';
14
+ const RMT_APP_PLATFORM_FIXTURE_TARGET = 'generic-rmt-app-platform-fixture-ready';
15
+ const RMT_APP_PLATFORM_FIXTURE_MODULE = 'catalog/epic18-rmt-app-platform-fixture.js';
16
+ const RMT_APP_PLATFORM_FIXTURE_SUITE = 'tests/rmt/rmt_app_platform_fixture_suite.js';
17
+ const RMT_APP_PLATFORM_FIXTURE = 'tests/fixtures/rmt-app-platform-fixture.rmt';
18
+ const RMT_APP_PLATFORM_FIXTURE_DOCS = 'docs/rmt-app-platform-fixture.md';
19
+ const RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE_DOC = 'development/WP-E18-12-Generische-RMT-App-Platform-Fixture-bauen.md';
20
+ const RMT_APP_PLATFORM_FIXTURE_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
21
+ const RMT_APP_PLATFORM_FIXTURE_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
22
+ const RMT_APP_PLATFORM_FIXTURE_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-app-platform-fixture --json';
23
+ const RMT_APP_PLATFORM_FIXTURE_PACKAGE_SCRIPT = 'npm run test:rmt-app-platform-fixture';
24
+ const NEXT_WORKPACKAGE = 'WP-E18-13';
25
+ const NEXT_DECISION = 'docs-migration-vendor-rebuild-release-handoff';
26
+
27
+ const REQUIRED_FIXTURE_CAPABILITIES = Object.freeze([
28
+ 'configurable-record-contracts',
29
+ 'list-detail-template-composition',
30
+ 'action-feedback-flow',
31
+ 'dynamic-surface-materialization',
32
+ 'overlay-portal-flow',
33
+ 'resource-cleanup',
34
+ 'swappable-datasources',
35
+ 'scaffold-build-evidence',
36
+ 'product-agnostic-domain-variants',
37
+ 'no-manual-html-renderer'
38
+ ]);
39
+
40
+ const REQUIRED_DOMAIN_VARIANTS = Object.freeze([
41
+ 'generic-catalog',
42
+ 'admin-queue',
43
+ 'content-board'
44
+ ]);
45
+
46
+ const REQUIRED_DATASOURCE_KINDS = Object.freeze([
47
+ 'fixture',
48
+ 'rest',
49
+ 'ssr',
50
+ 'host'
51
+ ]);
52
+
53
+ const REQUIRED_APP_PLATFORM_BOUNDARIES = Object.freeze([
54
+ 'no-product-bound-surface-list',
55
+ 'no-manual-shell-html-sinks',
56
+ 'normal-ui-no-html-string-renderer',
57
+ 'same-primitives-multiple-apps',
58
+ 'host-adapter-swappable',
59
+ 'scaffold-output-owned-by-write-plan',
60
+ 'no-rmt-kernel-import-of-xtend-types'
61
+ ]);
62
+
63
+ const REQUIRED_ARTIFACTS = Object.freeze([
64
+ RMT_APP_PLATFORM_FIXTURE_MODULE,
65
+ RMT_APP_PLATFORM_FIXTURE_SUITE,
66
+ RMT_APP_PLATFORM_FIXTURE,
67
+ RMT_APP_PLATFORM_FIXTURE_DOCS,
68
+ RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE_DOC
69
+ ]);
70
+
71
+ const REQUIRED_DOCS = Object.freeze([
72
+ RMT_APP_PLATFORM_FIXTURE_DOCS,
73
+ RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE_DOC,
74
+ RMT_APP_PLATFORM_FIXTURE_BACKLOG,
75
+ RMT_APP_PLATFORM_FIXTURE_EPIC
76
+ ]);
77
+
78
+ function createRmtAppPlatformFixturePlan(options = {}) {
79
+ return {
80
+ schema: RMT_APP_PLATFORM_FIXTURE_SCHEMA,
81
+ reportSchema: RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA,
82
+ fixtureSchema: RMT_APP_PLATFORM_FIXTURE_SOURCE_SCHEMA,
83
+ toolingSchema: RMT_APP_PLATFORM_TOOLING_SCHEMA,
84
+ toolingWorkpackage: RMT_APP_PLATFORM_TOOLING_WORKPACKAGE,
85
+ workpackage: RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE,
86
+ status: RMT_APP_PLATFORM_FIXTURE_STATUS,
87
+ generatedAt: options.generatedAt || 'static-local',
88
+ targetReadiness: RMT_APP_PLATFORM_FIXTURE_TARGET,
89
+ module: RMT_APP_PLATFORM_FIXTURE_MODULE,
90
+ suite: RMT_APP_PLATFORM_FIXTURE_SUITE,
91
+ fixture: RMT_APP_PLATFORM_FIXTURE,
92
+ docs: RMT_APP_PLATFORM_FIXTURE_DOCS,
93
+ workpackageDocument: RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE_DOC,
94
+ localGate: RMT_APP_PLATFORM_FIXTURE_LOCAL_GATE,
95
+ packageScript: RMT_APP_PLATFORM_FIXTURE_PACKAGE_SCRIPT,
96
+ capabilities: REQUIRED_FIXTURE_CAPABILITIES.slice(),
97
+ domainVariants: REQUIRED_DOMAIN_VARIANTS.slice(),
98
+ dataSourceKinds: REQUIRED_DATASOURCE_KINDS.slice(),
99
+ boundaries: REQUIRED_APP_PLATFORM_BOUNDARIES.slice(),
100
+ artifactPaths: REQUIRED_ARTIFACTS.slice(),
101
+ requiredDocs: REQUIRED_DOCS.slice(),
102
+ model: {
103
+ configurableRecords: true,
104
+ listDetailActionsFeedback: true,
105
+ dynamicSurfaces: true,
106
+ overlaysAndPortals: true,
107
+ resourceCleanup: true,
108
+ swappableDataSources: true,
109
+ scaffoldBuildEvidence: true,
110
+ productSurfaceTaxonomyAllowed: false,
111
+ fixedRecordContractRequired: false,
112
+ manualHtmlRendererAllowed: false
113
+ },
114
+ kernelBoundary: KERNEL_BOUNDARY,
115
+ nextWorkpackage: NEXT_WORKPACKAGE,
116
+ nextDecision: NEXT_DECISION
117
+ };
118
+ }
119
+
120
+ function validateRmtAppPlatformFixturePlan(plan = createRmtAppPlatformFixturePlan()) {
121
+ const errors = [];
122
+ const model = plan && plan.model ? plan.model : {};
123
+
124
+ if (!plan || plan.schema !== RMT_APP_PLATFORM_FIXTURE_SCHEMA) errors.push(`schema must be ${RMT_APP_PLATFORM_FIXTURE_SCHEMA}`);
125
+ if (!plan || plan.reportSchema !== RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA}`);
126
+ if (!plan || plan.fixtureSchema !== RMT_APP_PLATFORM_FIXTURE_SOURCE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_APP_PLATFORM_FIXTURE_SOURCE_SCHEMA}`);
127
+ if (!plan || plan.toolingSchema !== RMT_APP_PLATFORM_TOOLING_SCHEMA) errors.push('WP-E18-12 must build on WP-E18-11 tooling');
128
+ if (!plan || plan.toolingWorkpackage !== RMT_APP_PLATFORM_TOOLING_WORKPACKAGE) errors.push('tooling workpackage must be WP-E18-11');
129
+ if (!plan || plan.workpackage !== RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE) errors.push(`workpackage must be ${RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE}`);
130
+ if (!plan || plan.status !== RMT_APP_PLATFORM_FIXTURE_STATUS) errors.push(`status must be ${RMT_APP_PLATFORM_FIXTURE_STATUS}`);
131
+ if (!plan || plan.targetReadiness !== RMT_APP_PLATFORM_FIXTURE_TARGET) errors.push(`targetReadiness must be ${RMT_APP_PLATFORM_FIXTURE_TARGET}`);
132
+ REQUIRED_FIXTURE_CAPABILITIES.forEach((capability) => {
133
+ if (!plan || !plan.capabilities.includes(capability)) errors.push(`capability missing: ${capability}`);
134
+ });
135
+ REQUIRED_DOMAIN_VARIANTS.forEach((variant) => {
136
+ if (!plan || !plan.domainVariants.includes(variant)) errors.push(`domain variant missing: ${variant}`);
137
+ });
138
+ REQUIRED_DATASOURCE_KINDS.forEach((kind) => {
139
+ if (!plan || !plan.dataSourceKinds.includes(kind)) errors.push(`datasource kind missing: ${kind}`);
140
+ });
141
+ REQUIRED_APP_PLATFORM_BOUNDARIES.forEach((boundary) => {
142
+ if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
143
+ });
144
+ REQUIRED_ARTIFACTS.forEach((artifact) => {
145
+ if (!plan || !plan.artifactPaths.includes(artifact)) errors.push(`artifact missing: ${artifact}`);
146
+ });
147
+ REQUIRED_DOCS.forEach((doc) => {
148
+ if (!plan || !plan.requiredDocs.includes(doc)) errors.push(`doc missing: ${doc}`);
149
+ });
150
+ if (model.configurableRecords !== true) errors.push('fixture must prove configurable records');
151
+ if (model.listDetailActionsFeedback !== true) errors.push('fixture must prove list/detail/action/feedback flow');
152
+ if (model.dynamicSurfaces !== true) errors.push('fixture must prove dynamic surfaces');
153
+ if (model.overlaysAndPortals !== true) errors.push('fixture must prove overlays and portals');
154
+ if (model.resourceCleanup !== true) errors.push('fixture must prove resource cleanup');
155
+ if (model.swappableDataSources !== true) errors.push('fixture must prove swappable data sources');
156
+ if (model.scaffoldBuildEvidence !== true) errors.push('fixture must prove scaffold build evidence');
157
+ if (model.productSurfaceTaxonomyAllowed !== false) errors.push('product-bound surface taxonomy must stay disallowed');
158
+ if (model.fixedRecordContractRequired !== false) errors.push('fixed record-specific contracts must stay disallowed');
159
+ if (model.manualHtmlRendererAllowed !== false) errors.push('manual HTML renderer must stay disallowed');
160
+ if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
161
+ if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
162
+ if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
163
+
164
+ return {
165
+ schema: RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA,
166
+ ok: errors.length === 0,
167
+ errors,
168
+ workpackage: RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE,
169
+ checkedAt: 'static-local'
170
+ };
171
+ }
172
+
173
+ function createRmtAppPlatformFixtureReport(options = {}) {
174
+ const plan = options.plan || createRmtAppPlatformFixturePlan(options);
175
+ const validation = validateRmtAppPlatformFixturePlan(plan);
176
+
177
+ return {
178
+ schema: RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA,
179
+ ok: validation.ok,
180
+ errors: validation.errors.slice(),
181
+ workpackage: plan.workpackage,
182
+ status: plan.status,
183
+ targetReadiness: plan.targetReadiness,
184
+ capabilityCount: plan.capabilities.length,
185
+ domainVariantCount: plan.domainVariants.length,
186
+ dataSourceKindCount: plan.dataSourceKinds.length,
187
+ boundaryCount: plan.boundaries.length,
188
+ nextWorkpackage: plan.nextWorkpackage,
189
+ nextDecision: plan.nextDecision,
190
+ kernelBoundary: plan.kernelBoundary
191
+ };
192
+ }
193
+
194
+ module.exports = {
195
+ NEXT_DECISION,
196
+ NEXT_WORKPACKAGE,
197
+ REQUIRED_APP_PLATFORM_BOUNDARIES,
198
+ REQUIRED_ARTIFACTS,
199
+ REQUIRED_DATASOURCE_KINDS,
200
+ REQUIRED_DOCS,
201
+ REQUIRED_DOMAIN_VARIANTS,
202
+ REQUIRED_FIXTURE_CAPABILITIES,
203
+ RMT_APP_PLATFORM_FIXTURE,
204
+ RMT_APP_PLATFORM_FIXTURE_BACKLOG,
205
+ RMT_APP_PLATFORM_FIXTURE_DOCS,
206
+ RMT_APP_PLATFORM_FIXTURE_EPIC,
207
+ RMT_APP_PLATFORM_FIXTURE_LOCAL_GATE,
208
+ RMT_APP_PLATFORM_FIXTURE_MODULE,
209
+ RMT_APP_PLATFORM_FIXTURE_PACKAGE_SCRIPT,
210
+ RMT_APP_PLATFORM_FIXTURE_REPORT_SCHEMA,
211
+ RMT_APP_PLATFORM_FIXTURE_SCHEMA,
212
+ RMT_APP_PLATFORM_FIXTURE_SOURCE_SCHEMA,
213
+ RMT_APP_PLATFORM_FIXTURE_STATUS,
214
+ RMT_APP_PLATFORM_FIXTURE_SUITE,
215
+ RMT_APP_PLATFORM_FIXTURE_TARGET,
216
+ RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE,
217
+ RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE_DOC,
218
+ createRmtAppPlatformFixturePlan,
219
+ createRmtAppPlatformFixtureReport,
220
+ validateRmtAppPlatformFixturePlan
221
+ };
@@ -0,0 +1,30 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogOptions,
4
+ XtendCatalogPlan,
5
+ XtendCatalogReport
6
+ } from './catalog-public-types';
7
+
8
+ export declare const EPIC18_BACKLOG: string;
9
+ export declare const EPIC18_DOCUMENT: string;
10
+ export declare const EPIC18_LOCAL_GATE: string;
11
+ export declare const EPIC18_PACKAGE_SCRIPT: string;
12
+ export declare const EPIC18_RMT_APP_PLATFORM_GATE_MATRIX_SCHEMA: string;
13
+ export declare const EPIC18_RMT_APP_PLATFORM_MIGRATION_GUIDE: string;
14
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_DOCS: string;
15
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_MODULE: string;
16
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA: string;
17
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SCHEMA: string;
18
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_STATUS: string;
19
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SUITE: string;
20
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_TARGET: string;
21
+ export declare const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE: string;
22
+ export declare const EPIC18_RMT_APP_PLATFORM_WORKPACKAGE_DOC: string;
23
+ export declare const EPIC18_VENDOR_BUGFIX_DOCS: string;
24
+ export declare const GITHUB_ACTIONS: XtendCatalogConstant;
25
+ export declare const REQUIRED_COMMANDS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
26
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
27
+ export declare const REQUIRED_RELEASE_GATES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
28
+ export declare function createEpic18RmtAppPlatformReleaseHandoffPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
29
+ export declare function createEpic18RmtAppPlatformReleaseHandoffReport(options?: XtendCatalogOptions): XtendCatalogReport;
30
+ export declare function validateEpic18RmtAppPlatformReleaseHandoffPlan(plan?: unknown): XtendCatalogReport;