@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,122 @@
1
+ # RMT DSL Authoring Polish
2
+
3
+ Der Contract `xtend.rmt.dsl-authoring-polish.v1` bereitet eine freundlichere RMT-DSL fuer XTend Component Shells vor. Er macht RMT Authoring kuerzer, ohne XTend in den RMT Kernel einzubetten.
4
+
5
+ Lokaler Gate:
6
+
7
+ ```bash
8
+ node scripts/run_xtend_tests.js rmt-dsl-authoring-polish --json
9
+ ```
10
+
11
+ ## Warum dieses Paket existiert
12
+
13
+ Nach `WP-E12-12` besitzt XTend ein produktives Design-Token-Vokabular. `WP-E12-13` nutzt diese Tokens, damit Shells, Slots, Styles, A11y, Events, Commands, Hydration, Fabric-Lanes und XRouter-Routen in RMT einfacher beschrieben werden koennen.
14
+
15
+ RMT bleibt dabei host-neutral:
16
+
17
+ - `xtend.component` rendert und hydriert Components im Host.
18
+ - `xtend.xrouter` verbindet Route Records mit XRouter.
19
+ - `xtend.fabric` und Telemetry bleiben Adapter-/Hostdaten.
20
+ - `no-rmt-kernel-import-of-xtend-types` bleibt Pflicht.
21
+
22
+ ## Authoring-Aliase
23
+
24
+ | Alias | Ziel |
25
+ |-------|------|
26
+ | `component` | XTend Component Record |
27
+ | `shell` | Shell-Zustand, Slots, Parts und Fokus |
28
+ | `slot` | Template-, Component- oder Text-Slots |
29
+ | `style` | Variant, Theme, Density, Tokens und Parts |
30
+ | `token` | produktive `--xtend-*` Tokens |
31
+ | `theme` | Theme Pack |
32
+ | `density` | Density Pack |
33
+ | `a11y` | Role, Label, Live Region, Keyboard und Announcements |
34
+ | `on` | Event zu Command |
35
+ | `command` | Command zu Schedule |
36
+ | `hydrate` | Hydration Policy |
37
+ | `lane` | Fabric Lane und Fiber |
38
+ | `route` | XRouter Route |
39
+ | `link` | XLink-kompatibler Link |
40
+ | `outlet` | Route Outlet im Template |
41
+
42
+ ## Beispiel
43
+
44
+ ```json
45
+ {
46
+ "component": "settings.shell",
47
+ "tag": "x-section",
48
+ "shell": {
49
+ "slot": {
50
+ "header": "settings.header.template",
51
+ "feedback": "feedback.toast"
52
+ }
53
+ },
54
+ "style": {
55
+ "theme": "dark",
56
+ "density": "comfortable",
57
+ "token": {
58
+ "--xtend-surface": "var(--xtend-surface)",
59
+ "--xtend-color-primary": "var(--xtend-color-primary)"
60
+ }
61
+ },
62
+ "a11y": {
63
+ "role": "region",
64
+ "label": "Settings"
65
+ },
66
+ "hydrate": {
67
+ "policy": "visible",
68
+ "schedule": "component.visible.mount"
69
+ },
70
+ "lane": {
71
+ "lane": "visible",
72
+ "fiber": "component.render"
73
+ }
74
+ }
75
+ ```
76
+
77
+ Der normalisierte Output wird zu `components[]`, `templates[]` und `schedules[]`. RMT beschreibt die Struktur; XTend fuehrt die Component-Hydration aus.
78
+
79
+ ## Routing-Sugar
80
+
81
+ Routen koennen spaeter authoringfreundlich als `route`, `link` und `outlet` beschrieben werden:
82
+
83
+ ```json
84
+ {
85
+ "route": "/settings",
86
+ "component": "settings.shell",
87
+ "link": {
88
+ "label": "Settings",
89
+ "href": "/settings"
90
+ },
91
+ "outlet": "primary"
92
+ }
93
+ ```
94
+
95
+ Das wird zu `routes[]`, `components[]` und `templates[]` mit Adapter `xtend.xrouter`. XRouter bleibt Host Adapter, nicht RMT-Kernel-Abhaengigkeit.
96
+
97
+ ## Diagnostik
98
+
99
+ Der Polish-Plan definiert diese Diagnosecodes:
100
+
101
+ - `rmt.dsl.alias.unknown`
102
+ - `rmt.dsl.alias.required-field-missing`
103
+ - `rmt.dsl.token.unknown`
104
+ - `rmt.dsl.route.target-unresolved`
105
+ - `rmt.dsl.link.route-unresolved`
106
+ - `rmt.dsl.slot.target-unresolved`
107
+ - `rmt.dsl.schedule.unresolved`
108
+ - `rmt.dsl.inline-runtime-code-refused`
109
+ - `rmt.dsl.kernel-boundary.refused`
110
+
111
+ Damit kann XTendRMT upstream freundlichere Parserfehler und Editor-Hints bauen, ohne die XTend Runtime zu importieren.
112
+
113
+ ## Artefakte
114
+
115
+ - Contract: `development/XTend-RMT-DSL-Authoring-Polish-fuer-Component-Shells.md`
116
+ - Modul: `xtend-builder/typing/rmt-dsl-authoring-polish.js`
117
+ - Fixture: `tests/fixtures/rmt-dsl-authoring-polish.rmt`
118
+ - Suite: `tests/rmt/rmt_dsl_authoring_polish_suite.js`
119
+
120
+ ## RC0 Adoption Update
121
+
122
+ Seit `WP-E12-15` beschreibt der [RC0 Adoption Guide](./rc0-adoption-guide.md), wie App Authors diese DSL-Polish-Schicht fuer Shell-first XTend Apps nutzen. Die wichtigste Migrationsregel bleibt: RMT darf XTend-Komponenten, XRouter-Routen und Content Slots konstruieren und schedulen, ohne XTend-Typen in den RMT Kernel einzubetten.
@@ -0,0 +1,77 @@
1
+ # RMT-first Demo-App
2
+
3
+ Contract: `xtend.epic10.rmt-first-demo-app.v1`
4
+
5
+ Die RMT-first Demo-App zeigt den Zielpfad fuer Epic 10: Eine XTend App wird nicht mehr als manuelle HTML-Shell gebaut, sondern aus einem `.rmt` App-Dokument gerendert. XTend liefert lokale Web Components. RMT liefert Shell, Routes, Templates, Schedules, Fabric/Lane Metadata und Diagnostics.
6
+
7
+ ## Startpunkt
8
+
9
+ - Demo: `xtendrmt-rmt-first-demo.html`
10
+ - RMT Document: `xtendrmt/rmt-first-demo-app.rmt`
11
+ - Runtime: `xtendrmt/rmt-first-demo-app.js`
12
+ - Browser Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
13
+
14
+ Die Hostseite enthaelt nur den RMT Root:
15
+
16
+ ```html
17
+ <div
18
+ id="rmt-first-demo-root"
19
+ data-rmt-host="rmt-first-demo"
20
+ data-rmt-document-src="xtendrmt/rmt-first-demo-app.rmt"></div>
21
+ ```
22
+
23
+ Die Shell selbst kommt aus `app.shell.template`.
24
+
25
+ ## Was RMT besitzt
26
+
27
+ - App Shell
28
+ - Routes
29
+ - `dom_descriptor` Templates
30
+ - Component Records
31
+ - Props, Attribute, Slots und Event Commands
32
+ - Schedules und Lanes
33
+ - Fabric/Fiber Metadata
34
+ - Diagnostics
35
+
36
+ ## Was XTend besitzt
37
+
38
+ - Custom Elements
39
+ - Manifest Lookup
40
+ - Component Lifecycle
41
+ - DOM-Ausfuehrung
42
+ - XRouter-Registrierung
43
+ - Fabric-Ausfuehrung und Telemetry Hooks
44
+
45
+ Der RMT-Kernel importiert keine XTend-Komponenten. Diese Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
46
+
47
+ ## Demo-Routen
48
+
49
+ | Route | Pfad | Inhalt |
50
+ |-------|------|--------|
51
+ | `dashboard` | `/` | Shell-first Status und Performance Coverage |
52
+ | `settings` | `/settings` | Form Controls mit `x-select`, `x-checkbox`, `x-radio`, `x-textarea` |
53
+ | `overlays` | `/overlays` | `x-tooltip`, `x-popover`, `x-drawer` |
54
+
55
+ ## No-Manual-Shell-Regel
56
+
57
+ Die Demo gilt nur als korrekt, wenn:
58
+
59
+ - der Host keine statischen `x-section` oder `x-router` Shell-Tags enthaelt
60
+ - die Runtime kein `innerHTML` nutzt
61
+ - `manifest.metadata.manualShellAllowed` auf `false` steht
62
+ - `manifest.metadata.hostShellMarkup` auf `false` steht
63
+ - der Browser-Smoke die Shell aus RMT rendert
64
+
65
+ ## Lokaler Gate
66
+
67
+ ```bash
68
+ node scripts/run_xtend_tests.js rmt-first-demo-app --json
69
+ ```
70
+
71
+ Der Gate prueft RMT-Referenzen, Runtime-Registry-Normalisierung, Host-Boundary, Browser-Smoke, Package-Metadata und die Dokumentationspfade.
72
+
73
+ ## Weiterfuehrung
74
+
75
+ `WP-E10-14` migriert bestehende priorisierte Komponenten in dieselbe RMT/Fabric-Metadata-Linie. Die Demo-App bleibt dafuer der erste produktive Abnahme-Host.
76
+
77
+ Seit `WP-E13-09` ist die Demo-App Teil von [RMT Production Readiness](./rmt-production-readiness.md). Der Contract `xtend.epic13.rmt-production-readiness.v1` nutzt sie als shell-first Evidence fuer Routing, Components, Fabric/Lane, Lifecycle Telemetry und Diagnostics.
@@ -0,0 +1,105 @@
1
+ # RMT-first XTend Apps
2
+
3
+ Docs Contract: `xtend.docs.rmt-first-xtend-apps.v1`
4
+
5
+ Dieser Guide beschreibt den Zielpfad aus Epic 10: Eine vollstaendige XTend App wird als RMT-Dokument beschrieben. XTend liefert lokale Web Components, RMT liefert Shell, Routes, Templates, Components, Schedules, Hydration Policies, Fabric-Lanes und Diagnostics.
6
+
7
+ Der zugrunde liegende Authoring Contract ist:
8
+
9
+ ```text
10
+ xtend.rmt.first-class-app-authoring.v1
11
+ ```
12
+
13
+ ## Grundregeln
14
+
15
+ - RMT ist App-Authoring-Modell.
16
+ - XTend-Komponenten sind `xtend.component` Records.
17
+ - XRouter wird ueber `xtend.xrouter` angebunden.
18
+ - Templates nutzen bevorzugt `dom_descriptor`.
19
+ - Event Bindings laufen als `dom-event-to-rmt-command`.
20
+ - Fabric-, Lane- und Fiber-Hints bleiben Metadata.
21
+ - Der RMT Kernel importiert keine XTend-Klassen oder XTend-Typen.
22
+
23
+ Die Boundary bleibt:
24
+
25
+ ```text
26
+ no-rmt-kernel-import-of-xtend-types
27
+ ```
28
+
29
+ ## Minimalstruktur
30
+
31
+ ```json
32
+ {
33
+ "manifest": {
34
+ "metadata": {
35
+ "contractVersion": "xtend.rmt.first-class-app-authoring.v1",
36
+ "renderMode": "shell-first"
37
+ }
38
+ },
39
+ "adapters": [
40
+ { "id": "xtend.component", "kind": "component" },
41
+ { "id": "xtend.xrouter", "kind": "router" }
42
+ ],
43
+ "components": [
44
+ {
45
+ "id": "settings.status",
46
+ "kind": "custom_element",
47
+ "adapter": "xtend.component",
48
+ "tag": "x-status",
49
+ "props": { "tone": "success" },
50
+ "schedule": "component.visible.mount",
51
+ "fabric": { "lane": "visible", "fiber": "component.mount" }
52
+ }
53
+ ],
54
+ "routes": [
55
+ { "id": "settings", "path": "/settings", "template": "settings.page" }
56
+ ],
57
+ "templates": [
58
+ {
59
+ "id": "settings.page",
60
+ "mode": "dom_descriptor",
61
+ "children": [
62
+ { "component": "settings.status" }
63
+ ]
64
+ }
65
+ ]
66
+ }
67
+ ```
68
+
69
+ ## Referenzpfade
70
+
71
+ - Contract: `development/XTend-RMT-First-Class-App-Authoring.md`
72
+ - Fixture: `tests/fixtures/rmt-first-class-xtend-app.rmt`
73
+ - Demo-App: `xtendrmt/rmt-first-demo-app.rmt`
74
+ - Browser-Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
75
+ - Gate: `node scripts/run_xtend_tests.js rmt-first-class-app --json`
76
+ - Demo-Gate: `node scripts/run_xtend_tests.js rmt-first-demo-app --json`
77
+
78
+ ## Fabric und Telemetry
79
+
80
+ Komponenten erhalten Fabric-Kontext ueber Adapter Injection. Die kanonische Boundary ist:
81
+
82
+ ```text
83
+ adapter-injection-via-xtend-component-resolveFabricContext
84
+ ```
85
+
86
+ `window.XTendFabric` kann durch Hosts genutzt werden, ist aber nicht die Contract-Oberflaeche einer Komponente.
87
+
88
+ ## Release-Handoff
89
+
90
+ Der Abschluss von Epic 10 wird in [Epic 10 Release Handoff](./epic10-release-handoff.md) dokumentiert. Die dortige Gate-Kette entscheidet, ob ein RMT-first XTend App-Pfad releasefaehig genug fuer einen Kandidaten ist.
91
+
92
+ Seit `WP-E13-09` buendelt [RMT Production Readiness](./rmt-production-readiness.md) diesen Pfad unter `xtend.epic13.rmt-production-readiness.v1`: Shell-first App Shell, Routing, Components, Fabric/Lanes, Lifecycle Telemetry, Diagnostics und Artifact Parity sind als RC1-Gate verbunden. `WP-E13-10` hat [Docs RMT Production Hardening](./docs-rmt-production-hardening.md) abgeschlossen; `WP-E13-11` hat [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) und `xtend.epic13.trusted-dom-boundary.v1` abgeschlossen. `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) und `xtend.epic13.rc1-migration-notes-semver.v1` abgeschlossen. `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) und `xtend.epic13.rc1-gate-matrix-ci-handoff.v1` abgeschlossen.
93
+
94
+ ## Component UX Authoring
95
+
96
+ Seit `WP-E11-16` ergaenzt [Component UX App Authoring](./component-ux-app-authoring.md) diesen Guide um sichtbare UX-Regeln fuer RMT-first Apps. Dazu gehoeren Theme, Motion, Density, Viewports, Browser-Smokes und die Component Shell Theme Matrix `xtend.epic11.component-shell-theme-matrix.v1`.
97
+
98
+ Seit `WP-E11-17` beschreibt [Component Long-Tail Migration](./component-long-tail-migration.md), welche Legacy- und Infrastrukturkomponenten zuerst fuer RMT-first App-Kompatibilitaet nachgehaertet werden.
99
+
100
+ Der lokale Docs-Gate lautet:
101
+
102
+ ```bash
103
+ node scripts/run_xtend_tests.js component-ux-authoring-docs --json
104
+ node scripts/run_xtend_tests.js component-long-tail-migration --json
105
+ ```
@@ -0,0 +1,61 @@
1
+ # RMT Kernel Panic Recovery Incident Handoff
2
+
3
+ - Contract: `xtend.rmt.kernel-migration-authoring-incident-handoff.v1`
4
+ - Workpackage: `RKSH-WP-11`
5
+ - Local gate: `node scripts/run_xtend_tests.js rmt-kernel-handoff-docs --json`
6
+
7
+ Dieses Handoff beschreibt, wie Host-Teams Panic- und Recovery-Diagnostics auswerten, wenn die Kernel-Trust-Schicht fehlerhafte Outputs blockiert oder Recovery startet.
8
+
9
+ ## Diagnostics-Kanaele
10
+
11
+ | Kanal | Zweck |
12
+ |-------|-------|
13
+ | `rmt.kernel.panic` | Panic-State, Trigger, Severity, Scope und blockierte Commits. |
14
+ | `rmt.kernel.recovery` | Recovery-Outcome, Snapshot-Nutzung, Fallback und Quarantaene. |
15
+ | `rmt.kernel.escalation` | Escalation Envelope aus Diagnostics Hub oder Command Bus. |
16
+ | `rmt.kernel.scheduler_failure` | `failed`, `aborted`, `panic_blocked` und Backpressure-Failure fuer Jobs. |
17
+
18
+ ## Mindestfelder fuer Incident Review
19
+
20
+ - `panicId`
21
+ - `correlationId`
22
+ - `state`
23
+ - `severity`
24
+ - `scope`
25
+ - `trigger`
26
+ - `blockedCommitCount`
27
+ - `recoveryAction`
28
+ - `quarantined`
29
+ - `hostNotified`
30
+ - `affectedJobs`
31
+ - `firstSeenAt`
32
+ - `lastSeenAt`
33
+
34
+ ## Incident Severity
35
+
36
+ | Severity | Bedeutung | Erwartete Reaktion |
37
+ |----------|-----------|--------------------|
38
+ | `warning` | Output wurde korrigiert oder sanitisiert. | Verdicts beobachten, keine Eskalation noetig. |
39
+ | `degraded` | Output wurde blockiert, UI bleibt mit sicherem Fallback nutzbar. | Host-Team prueft Authoring oder Remote Source. |
40
+ | `critical` | Surface, Template oder Binding wurde quarantined. | Incident oeffnen, `correlationId` und `panicId` verfolgen. |
41
+ | `fatal` | Recovery ist fehlgeschlagen oder mehrere Kernel-Scope-Fehler korrelieren. | Release/Traffic stoppen und letzten sicheren Stand wiederherstellen. |
42
+
43
+ ## Recovery-Aktionen
44
+
45
+ | `recoveryAction` | Bedeutung | Host-Handoff |
46
+ |------------------|-----------|--------------|
47
+ | `rollback-last-safe-snapshot` | Der Kernel stellt den letzten sicheren Snapshot wieder her. | Snapshot-ID und Surface-Scope sichern. |
48
+ | `render-safe-fallback` | Ein gepruefter Fallback ersetzt unsicheren Output. | Fallback-Markup und Reason Code pruefen. |
49
+ | `quarantine-surface` | Betroffene Surface nimmt keine neuen Commits an. | Remote Source oder Adapter deaktivieren. |
50
+ | `abort-scope-jobs` | Scheduler Jobs im betroffenen Scope werden abgebrochen. | `rmt.kernel.scheduler_failure` mit `panic_blocked` pruefen. |
51
+ | `notify-host` | Host Adapter wird aktiv ueber Recovery informiert. | `hostNotified` und Host-Log-Korrelation bestaetigen. |
52
+
53
+ ## Triage-Ablauf
54
+
55
+ 1. `rmt.kernel.panic` nach `panicId`, `correlationId`, `scope`, `trigger` und `blockedCommitCount` filtern.
56
+ 2. `rmt.kernel.recovery` mit demselben `correlationId` verbinden und `recoveryAction`, `quarantined` sowie `hostNotified` bewerten.
57
+ 3. `rmt.kernel.escalation` pruefen, wenn Diagnostics-Subscriber oder Command-Handler beteiligt waren.
58
+ 4. `rmt.kernel.scheduler_failure` pruefen, wenn Jobs `failed`, `aborted` oder `panic_blocked` sind.
59
+ 5. Authoring anhand von [RMT Kernel Trusted Output Authoring](./rmt-kernel-trusted-output-authoring.md) korrigieren.
60
+ 6. Migration und Regression mit [RMT Kernel Security Hardening Migration](./rmt-kernel-security-hardening-migration.md) und `node scripts/run_xtend_tests.js rmt-kernel-security-regression --json` absichern.
61
+
@@ -0,0 +1,50 @@
1
+ # RMT Kernel Security Hardening Migration
2
+
3
+ - Contract: `xtend.rmt.kernel-migration-authoring-incident-handoff.v1`
4
+ - Workpackage: `RKSH-WP-11`
5
+ - Status: `completed`
6
+ - Local gate: `node scripts/run_xtend_tests.js rmt-kernel-handoff-docs --json`
7
+
8
+ Dieses Dokument beschreibt die Migration fuer Hosts und RMT-Authoring, die bisher implizit erlaubte Runtime-Outputs genutzt haben. Seit der Kernel-Haertung gilt: HTML, Attribute, Properties und Remote Outputs werden erst committed, wenn die Trust-Schicht ein `RmtKernelRuntimeTrustVerdict` erzeugt hat.
9
+
10
+ ## Wann eine Trust Boundary erforderlich ist
11
+
12
+ | Output | Trust Boundary | Migration |
13
+ |--------|----------------|-----------|
14
+ | `slot.html`, `prerender.html`, `fallback.html` | HTML muss vor jedem DOM-Commit bewertet werden. | `commitTrustedHtml` mit `sanitize html`, `html_fragment` und `safeFallbackHtml` nutzen. |
15
+ | Direkte DOM-HTML-Sinks wie `innerHTML`, `insertAdjacentHTML` und `template.innerHTML` | Diese Sinks bleiben privilegierte Trusted-DOM-Sinks. | Direkte Writes entfernen und den Runtime Trust-Sink-Adapter verwenden. |
16
+ | Attribute wie `href`, `src`, `srcset`, `action`, `formaction` und `srcdoc` | URL- und Sandbox-Policy entscheidet vor dem Commit. | `commitTrustedAttribute` verwenden und gefaehrliche Protokolle wie `javascript:` blockieren. |
17
+ | Event-nahe Attribute wie `onclick`, `onload` oder `onerror` | Event-Attribute sind keine erlaubten Markup-Outputs. | Commands oder registrierte Event-Handler statt HTML-Attributen verwenden. |
18
+ | Style- und DOM-Property-Writes wie `style`, `innerHTML`, `outerHTML`, `srcdoc` | Property-Policy bewertet Nebenwirkungen und DOM-Clobbering-Risiko. | `commitTrustedProperty` nur fuer explizit erlaubte Properties nutzen. |
19
+ | Remote Outputs und Adapter Outputs | Remote Surface Boundaries brauchen Scope, Origin, Capability und Integrity-Kontext. | Remote Outputs als `remote-surface` oder `adapter-output` scope in die Trust Authority geben. |
20
+
21
+ ## Legacy-Pfade ersetzen
22
+
23
+ 1. Direkte HTML-Commits aus Komponenten, Adaptern und Host-Bridges entfernen. Der Kernel darf `innerHTML`, `insertAdjacentHTML` oder Template-HTML nur ueber `commitTrustedHtml` erreichen.
24
+ 2. HTML, das weiterhin erlaubt sein soll, als `html_fragment` markieren und durch `sanitize html` fuehren. Der Sanitizer muss `script`, `iframe`, `srcdoc`, `on*`, `javascript:` und vergleichbare gefaehrliche Patterns entfernen oder blockieren.
25
+ 3. Reine Texte als Text schreiben: `textContent` ist fuer Labels, Status, Fehlermeldungen und User Content der bevorzugte Pfad.
26
+ 4. Attribute trennen: `data-*` und `aria-*` bleiben normale strukturierte Attribute, URL-Attribute laufen durch `commitTrustedAttribute`.
27
+ 5. Properties trennen: nur explizit erlaubte Properties laufen durch `commitTrustedProperty`; HTML-nahe Properties bleiben blockiert.
28
+ 6. Fallbacks wie `fallback.html` nicht privilegieren. Recovery-Fallbacks muessen dieselbe Policy wie normale Outputs erfuellen und ein `safeFallbackHtml` besitzen.
29
+ 7. Diagnose und Regression pruefen: `listTrustVerdicts()`, `rmt.kernel.panic`, `rmt.kernel.recovery` und `node scripts/run_xtend_tests.js rmt-kernel-security-regression --json` muessen nach der Migration gruen bleiben.
30
+
31
+ ## SemVer-Auswirkung
32
+
33
+ Blockierte Legacy-Outputs koennen ein Breaking Change sein, wenn veroeffentlichte Hosts bisher bewusst unsicheres Markup gerendert haben und dieses Verhalten Teil der dokumentierten Integrationsoberflaeche war.
34
+
35
+ | Aenderung | SemVer |
36
+ |-----------|--------|
37
+ | Unsichere HTML-, URL- oder Event-Attribute werden neu blockiert und bestehende Apps koennen dadurch sichtbaren Content verlieren. | `major` |
38
+ | Unsichere Pfade erhalten Warnungen, Diagnostics oder Opt-in-Fallbacks, aber der bisher sichere Output bleibt sichtbar. | `minor` |
39
+ | Nur Docs, Tests, Report-Felder oder strengere Diagnostics ohne Output-Aenderung werden ergaenzt. | `patch` |
40
+
41
+ Release Notes muessen fuer behavior-changing Blocks mindestens die betroffenen Sinks, den Reason Code, den Recovery-Pfad und die empfohlene Migration nennen.
42
+
43
+ ## Verifikation
44
+
45
+ ```bash
46
+ node scripts/run_xtend_tests.js rmt-kernel-handoff-docs --json
47
+ node scripts/run_xtend_tests.js rmt-kernel-security-regression --json
48
+ node scripts/verify_xtendrmt_artifact_parity.js --json
49
+ ```
50
+
@@ -0,0 +1,69 @@
1
+ # RMT Kernel Trusted Output Authoring
2
+
3
+ - Contract: `xtend.rmt.kernel-migration-authoring-incident-handoff.v1`
4
+ - Workpackage: `RKSH-WP-11`
5
+ - Package script: `npm run test:rmt-kernel-handoff-docs`
6
+
7
+ RMT-Authoring darf nicht davon ausgehen, dass ein String sicher ist, nur weil er aus einem Template, einer Remote Surface oder einem Adapter stammt. Jeder output-nahe Authoring-Pfad braucht eine klare Trust Boundary und einen sicheren Fallback.
8
+
9
+ ## Authoring-Regeln
10
+
11
+ - Text bleibt Text: Labels, Status, User Content und Fehlermeldungen als `textContent` oder strukturierte Textfelder authoren.
12
+ - HTML nur bewusst authoren: `html_fragment` mit `sanitize html` und explizitem Scope verwenden.
13
+ - Attribute klein halten: `data-*` und `aria-*` sind bevorzugt, URL-Attribute laufen ueber `commitTrustedAttribute`.
14
+ - Properties nur fuer erlaubte Runtime-Ziele nutzen: DOM-HTML-Properties nicht als Abkuerzung verwenden.
15
+ - Fallbacks sind nicht privilegiert: `safeFallbackHtml` muss selbst sanitizbar und nicht interaktiv gefaehrlich sein.
16
+ - Remote Surface Outputs brauchen Scope, Capability, Origin und Integrity-Kontext, bevor sie in den Kernel gelangen.
17
+
18
+ ## Sichere Muster
19
+
20
+ ```js
21
+ runtime.commitTrustedHtml(slotTarget, {
22
+ scope: 'slot',
23
+ source: 'slot.html',
24
+ html: model.safeSummaryHtml,
25
+ policy: {
26
+ transform: 'sanitize html',
27
+ output: 'html_fragment'
28
+ },
29
+ safeFallbackHtml: '<p data-rmt-fallback="safe">Content unavailable.</p>'
30
+ });
31
+ ```
32
+
33
+ ```js
34
+ runtime.commitTrustedAttribute(linkTarget, {
35
+ scope: 'binding',
36
+ name: 'href',
37
+ value: model.href,
38
+ allowedProtocols: ['https:', 'mailto:']
39
+ });
40
+ ```
41
+
42
+ ```js
43
+ runtime.commitTrustedProperty(inputTarget, {
44
+ scope: 'binding',
45
+ name: 'value',
46
+ value: model.value,
47
+ policy: 'form-control-value'
48
+ });
49
+ ```
50
+
51
+ ## Authoring-Checkliste
52
+
53
+ | Frage | Sichere Antwort |
54
+ |-------|-----------------|
55
+ | Enthält der Output Markup? | `html_fragment` plus `sanitize html` und `commitTrustedHtml`. |
56
+ | Ist es nur Text? | `textContent` oder ein strukturierter Text-Record. |
57
+ | Ist es ein URL-Attribut? | `commitTrustedAttribute` mit Protokoll-Allowlist. |
58
+ | Ist es `data-*` oder `aria-*`? | Strukturierter Attribute-Commit, keine HTML-Interpolation. |
59
+ | Ist es ein Fallback? | `safeFallbackHtml` mit derselben Policy wie normale HTML-Outputs. |
60
+ | Kommt es aus Remote oder Adapter Code? | Trust Scope `remote-surface` oder `adapter-output`, Capability und Diagnostics-Korrelation. |
61
+
62
+ ## No-go-Muster
63
+
64
+ - Markup aus Remote Sources direkt in `slot.html`, `prerender.html` oder `fallback.html` schleusen.
65
+ - Event-Attribute wie `onclick` als Daten transportieren.
66
+ - `style` oder HTML-nahe Properties als Escape Hatch verwenden.
67
+ - `safeFallbackHtml` aus derselben unsicheren Quelle wie den blockierten Output bilden.
68
+ - Diagnostics ignorieren, wenn ein Verdict `blocked` oder `panic` meldet.
69
+
@@ -0,0 +1,177 @@
1
+ # RMT Language Server und Editor Setup
2
+
3
+ - Status: produktiv vorbereitet ab `WP-E14-14`
4
+ - Contract: `xtend.rmt.editor-packaging.v1`
5
+ - Language Server: `xtend.rmt.language-server.v1`
6
+ - Snippet Catalog: `xtend.rmt.snippet-catalog.v1`
7
+ - Epic 14 Handoff: `xtend.epic14.lsp-handoff.v1`
8
+ - Primaerer Dateityp: `.rmt`
9
+ - Lokale Gates:
10
+ - `node scripts/run_xtend_tests.js rmt-editor-packaging --json`
11
+ - `node scripts/run_xtend_tests.js rmt-tooling-docs --json`
12
+ - `node scripts/run_xtend_tests.js epic14-lsp-handoff --json`
13
+
14
+ ## Ziel
15
+
16
+ Das RMT Tooling ist editor-agnostisch. Die fachliche Source of Truth liegt in:
17
+
18
+ - `tools/rmt-language`
19
+ - `tools/rmt-linter`
20
+ - `tools/rmt-language-server`
21
+
22
+ Editor-Packages duerfen Snippets, Syntax-Highlighting und Startbefehle fuer den LSP bereitstellen. Sie duerfen keine zweite RMT-Semantik implementieren.
23
+
24
+ ## Language Server starten
25
+
26
+ Der Server spricht stdio JSON-RPC:
27
+
28
+ ```bash
29
+ node tools/rmt-language-server/server.js
30
+ ```
31
+
32
+ Der Server bietet aktuell:
33
+
34
+ - Diagnostics
35
+ - Completion
36
+ - Hover
37
+ - Document Symbols
38
+ - Definition
39
+ - Code Actions
40
+
41
+ Der LSP nutzt denselben Diagnosekern wie `xt rmt lint`. Editor-Integrationen sollen deshalb keine eigenen RMT-Regeln pflegen.
42
+
43
+ ## LSP Capability Matrix
44
+
45
+ | Capability | Protokoll / Oberflaeche | Status | Source of Truth | Gate |
46
+ |------------|--------------------------|--------|-----------------|------|
47
+ | Diagnostics | `textDocument/publishDiagnostics` | implemented | `xtend.rmt.linter.rule-engine.v1` | `rmt-linter-rules` |
48
+ | Completion | `textDocument/completion` | implemented | `xtend.rmt.completion-provider.v1` | `rmt-completions` |
49
+ | Hover | `textDocument/hover` | implemented | `xtend.rmt.hover-provider.v1` | `rmt-navigation` |
50
+ | Document Symbols | `textDocument/documentSymbol` | implemented | `xtend.rmt.document-symbols-provider.v1` | `rmt-navigation` |
51
+ | Definition | `textDocument/definition` | implemented | `xtend.rmt.definition-provider.v1` | `rmt-navigation` |
52
+ | Code Actions | `textDocument/codeAction` | implemented | `xtend.rmt.code-action-provider.v1` | `rmt-code-actions` |
53
+ | Agent Repair Report | `xt rmt lint --agent` | implemented | `xtend.rmt.ai-agent-repair-report.v1` | `rmt-agent-report` |
54
+ | Snippets | Editor Packaging | implemented | `xtend.rmt.snippet-catalog.v1` | `rmt-editor-packaging` |
55
+ | Workspace Symbols | `workspace/symbol` | planned | Project Index Follow-up | future |
56
+ | Rename | `textDocument/rename` | planned | Safe Refactor Follow-up | future |
57
+ | References | `textDocument/references` | planned | Project Index Follow-up | future |
58
+ | Semantic Tokens | `textDocument/semanticTokens` | planned | Syntax Highlighting Follow-up | future |
59
+ | Formatting | `textDocument/formatting` | planned | Formatter Follow-up | future |
60
+
61
+ ## Known Limitations
62
+
63
+ - RMT ist im aktuellen Authoring-MVP weiter JSON-basiert. Eine freundlichere DSL-Syntax ist Folgearbeit.
64
+ - `textDocument/formatting` ist geplant, aber nicht produktiv freigegeben.
65
+ - `workspace/symbol`, `textDocument/rename` und `textDocument/references` brauchen einen projektweiten Index und bleiben bewusst ausserhalb des MVP.
66
+ - Marketplace-Packaging fuer einzelne Editoren ist nicht Teil von Epic 14. Die generischen LSP-Setups bleiben der aktuelle Integrationspfad.
67
+ - Der Language Server fuehrt keine XTend-Komponenten aus, startet keinen XRouter und materialisiert kein DOM.
68
+ - `.rmt.json` bleibt lesbar, wird aber als Fallback behandelt und soll in neuen Projekten nicht der Normalpfad sein.
69
+
70
+ ## Snippets
71
+
72
+ Der editor-agnostische Snippet-Katalog liegt in:
73
+
74
+ ```text
75
+ tools/rmt-language/snippets/index.js
76
+ ```
77
+
78
+ Das VS-Code-kompatible Exportformat liegt in:
79
+
80
+ ```text
81
+ tools/rmt-language/snippets/rmt.code-snippets
82
+ ```
83
+
84
+ Alle Snippets erzeugen native `.rmt` Authoring-Strukturen. `.rmt.json` bleibt nur ein Parser-/Linter-Fallback und soll in neuen Snippets nicht genutzt werden.
85
+
86
+ Wichtige Prefixes:
87
+
88
+ | Prefix | Zweck |
89
+ |--------|-------|
90
+ | `rmt-app` | minimale native App-Shell |
91
+ | `rmt-component` | XTend Component Record |
92
+ | `rmt-route` | XRouter Route Record |
93
+ | `rmt-schedule` | Schedule Policy |
94
+ | `rmt-template-dom` | sicheres `dom_descriptor` Template |
95
+ | `rmt-template-html` | `html_fragment` mit Trusted-DOM-Boundary |
96
+
97
+ ## VS Code
98
+
99
+ Ein duennes Bridge-Package liegt in:
100
+
101
+ ```text
102
+ tools/rmt-editor/vscode
103
+ ```
104
+
105
+ Es registriert:
106
+
107
+ - Language ID `rmt`
108
+ - Dateiendung `.rmt`
109
+ - JSON-basierte TextMate-Grammatik
110
+ - RMT Snippets
111
+ - Command `XTendRMT: Show Language Server Command`
112
+
113
+ Bis ein voll gepackter VS-Code-LanguageClient freigegeben ist, kann ein generischer LSP-Client mit folgendem Befehl genutzt werden:
114
+
115
+ ```json
116
+ {
117
+ "command": "node",
118
+ "args": ["tools/rmt-language-server/server.js"]
119
+ }
120
+ ```
121
+
122
+ ## JetBrains
123
+
124
+ JetBrains-IDEs koennen ueber einen generischen LSP-Client oder ein lokales File-Watcher-/External-Tool-Setup angebunden werden.
125
+
126
+ Empfohlene Werte:
127
+
128
+ - Language ID: `rmt`
129
+ - Extension: `.rmt`
130
+ - Command: `node`
131
+ - Args: `tools/rmt-language-server/server.js`
132
+
133
+ ## Neovim
134
+
135
+ Minimaler `nvim-lspconfig`-kompatibler Startpunkt:
136
+
137
+ ```lua
138
+ local lspconfig = require('lspconfig')
139
+ local configs = require('lspconfig.configs')
140
+
141
+ configs.xtendrmt = {
142
+ default_config = {
143
+ cmd = { 'node', 'tools/rmt-language-server/server.js' },
144
+ filetypes = { 'rmt' },
145
+ root_dir = lspconfig.util.root_pattern('package.json', '.git')
146
+ }
147
+ }
148
+
149
+ lspconfig.xtendrmt.setup({})
150
+ ```
151
+
152
+ ## Helix
153
+
154
+ Beispiel fuer `languages.toml`:
155
+
156
+ ```toml
157
+ [[language]]
158
+ name = "rmt"
159
+ scope = "source.rmt"
160
+ file-types = ["rmt"]
161
+ language-servers = ["xtendrmt"]
162
+
163
+ [language-server.xtendrmt]
164
+ command = "node"
165
+ args = ["tools/rmt-language-server/server.js"]
166
+ ```
167
+
168
+ ## Boundary
169
+
170
+ Das Editor-Packaging darf keine XTend-Komponenten ausfuehren, keinen XRouter starten und keine DOM-Seiteneffekte erzeugen. Es startet nur den LSP und stellt statische Snippets bereit.
171
+
172
+ ## Verwandte Guides
173
+
174
+ - [RMT Linter und AI-Agent Repair Report](./rmt-linter.md)
175
+ - [XTendRMT Native Authoring Guide](./xtendrmt-native-authoring.md)
176
+ - [Quick Start Guide](./quick-start-guide.md)
177
+ - [Epic 14 Abschluss und LSP Handoff](../development/XTendRMT-Epic14-Abschluss-und-LSP-Handoff.md)