@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,60 @@
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
+ This handoff describes how host teams evaluate panic and recovery diagnostics when the kernel trust layer blocks faulty outputs or starts recovery.
8
+
9
+ ## Diagnostics Channels
10
+
11
+ | Channel | Purpose |
12
+ |---------|---------|
13
+ | `rmt.kernel.panic` | panic state, trigger, severity, scope and blocked commits |
14
+ | `rmt.kernel.recovery` | recovery outcome, snapshot use, fallback and quarantine |
15
+ | `rmt.kernel.escalation` | escalation envelope from diagnostics hub or command bus |
16
+ | `rmt.kernel.scheduler_failure` | `failed`, `aborted`, `panic_blocked` and backpressure failure for jobs |
17
+
18
+ ## Minimum Fields for 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 | Meaning | Expected response |
37
+ |----------|---------|-------------------|
38
+ | `warning` | output was corrected or sanitized | observe verdicts, no escalation required |
39
+ | `degraded` | output was blocked, UI remains usable with safe fallback | host team checks authoring or remote source |
40
+ | `critical` | surface, template or binding was quarantined | open incident, track `correlationId` and `panicId` |
41
+ | `fatal` | recovery failed or several kernel-scope errors correlate | stop release/traffic and restore last safe state |
42
+
43
+ ## Recovery Actions
44
+
45
+ | `recoveryAction` | Meaning | Host handoff |
46
+ |------------------|---------|--------------|
47
+ | `rollback-last-safe-snapshot` | the kernel restores the last safe snapshot | preserve snapshot ID and surface scope |
48
+ | `render-safe-fallback` | a checked fallback replaces unsafe output | check fallback markup and reason code |
49
+ | `quarantine-surface` | affected surface accepts no new commits | disable remote source or adapter |
50
+ | `abort-scope-jobs` | scheduler jobs in the affected scope are aborted | check `rmt.kernel.scheduler_failure` with `panic_blocked` |
51
+ | `notify-host` | host adapter is actively informed about recovery | confirm `hostNotified` and host-log correlation |
52
+
53
+ ## Triage Flow
54
+
55
+ 1. Filter `rmt.kernel.panic` by `panicId`, `correlationId`, `scope`, `trigger` and `blockedCommitCount`.
56
+ 2. Connect `rmt.kernel.recovery` with the same `correlationId` and evaluate `recoveryAction`, `quarantined` and `hostNotified`.
57
+ 3. Check `rmt.kernel.escalation` if diagnostics subscribers or command handlers were involved.
58
+ 4. Check `rmt.kernel.scheduler_failure` if jobs are `failed`, `aborted` or `panic_blocked`.
59
+ 5. Correct authoring using [RMT Kernel Trusted Output Authoring](./rmt-kernel-trusted-output-authoring.md).
60
+ 6. Secure migration and regression with [RMT Kernel Security Hardening Migration](./rmt-kernel-security-hardening-migration.md) and `node scripts/run_xtend_tests.js rmt-kernel-security-regression --json`.
@@ -0,0 +1,49 @@
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
+ This document describes the migration for hosts and RMT authoring that previously used implicitly allowed runtime outputs. Since the kernel hardening, HTML, attributes, properties and remote outputs are committed only after the trust layer has produced an `RmtKernelRuntimeTrustVerdict`.
9
+
10
+ ## When a Trust Boundary Is Required
11
+
12
+ | Output | Trust boundary | Migration |
13
+ |--------|----------------|-----------|
14
+ | `slot.html`, `prerender.html`, `fallback.html` | HTML must be evaluated before every DOM commit. | Use `commitTrustedHtml` with `sanitize html`, `html_fragment` and `safeFallbackHtml`. |
15
+ | Direct DOM HTML sinks such as `innerHTML`, `insertAdjacentHTML` and `template.innerHTML` | These sinks remain privileged Trusted DOM sinks. | Remove direct writes and use the runtime trust-sink adapter. |
16
+ | Attributes such as `href`, `src`, `srcset`, `action`, `formaction` and `srcdoc` | URL and sandbox policy decides before commit. | Use `commitTrustedAttribute` and block dangerous protocols such as `javascript:`. |
17
+ | Event-close attributes such as `onclick`, `onload` or `onerror` | Event attributes are not allowed markup outputs. | Use commands or registered event handlers instead of HTML attributes. |
18
+ | Style and DOM property writes such as `style`, `innerHTML`, `outerHTML`, `srcdoc` | Property policy evaluates side effects and DOM-clobbering risk. | Use `commitTrustedProperty` only for explicitly allowed properties. |
19
+ | Remote outputs and adapter outputs | Remote surface boundaries need scope, origin, capability and integrity context. | Pass remote outputs as `remote-surface` or `adapter-output` scope into the trust authority. |
20
+
21
+ ## Replace Legacy Paths
22
+
23
+ 1. Remove direct HTML commits from components, adapters and host bridges. The kernel may reach `innerHTML`, `insertAdjacentHTML` or template HTML only through `commitTrustedHtml`.
24
+ 2. Mark HTML that should remain allowed as `html_fragment` and pass it through `sanitize html`. The sanitizer must remove or block `script`, `iframe`, `srcdoc`, `on*`, `javascript:` and comparable dangerous patterns.
25
+ 3. Write pure text as text: `textContent` is the preferred path for labels, status, error messages and user content.
26
+ 4. Separate attributes: `data-*` and `aria-*` remain normal structured attributes, while URL attributes go through `commitTrustedAttribute`.
27
+ 5. Separate properties: only explicitly allowed properties go through `commitTrustedProperty`; HTML-close properties remain blocked.
28
+ 6. Do not privilege fallbacks such as `fallback.html`. Recovery fallbacks must satisfy the same policy as normal outputs and must have `safeFallbackHtml`.
29
+ 7. Check diagnostics and regression: `listTrustVerdicts()`, `rmt.kernel.panic`, `rmt.kernel.recovery` and `node scripts/run_xtend_tests.js rmt-kernel-security-regression --json` must remain green after the migration.
30
+
31
+ ## SemVer Impact
32
+
33
+ Blocked legacy outputs can be a breaking change if published hosts previously rendered intentionally unsafe markup and this behavior was part of the documented integration surface.
34
+
35
+ | Change | SemVer |
36
+ |--------|--------|
37
+ | Unsafe HTML, URL or event attributes are newly blocked and existing apps can lose visible content because of that. | `major` |
38
+ | Unsafe paths receive warnings, diagnostics or opt-in fallbacks, but previously safe output remains visible. | `minor` |
39
+ | Only docs, tests, report fields or stricter diagnostics are added without output changes. | `patch` |
40
+
41
+ Release notes for behavior-changing blocks must at least name the affected sinks, the reason code, the recovery path and the recommended migration.
42
+
43
+ ## Verification
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
+ ```
@@ -0,0 +1,68 @@
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 must not assume a string is safe just because it comes from a template, remote surface or adapter. Every output-close authoring path needs a clear trust boundary and a safe fallback.
8
+
9
+ ## Authoring Rules
10
+
11
+ - Text remains text: author labels, status, user content and error messages as `textContent` or structured text fields.
12
+ - Author HTML only intentionally: use `html_fragment` with `sanitize html` and explicit scope.
13
+ - Keep attributes small: `data-*` and `aria-*` are preferred; URL attributes go through `commitTrustedAttribute`.
14
+ - Use properties only for allowed runtime targets: do not use DOM HTML properties as shortcuts.
15
+ - Fallbacks are not privileged: `safeFallbackHtml` itself must be sanitizable and not interactively dangerous.
16
+ - Remote surface outputs need scope, capability, origin and integrity context before they enter the kernel.
17
+
18
+ ## Safe Patterns
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 Checklist
52
+
53
+ | Question | Safe answer |
54
+ |----------|-------------|
55
+ | Does the output contain markup? | `html_fragment` plus `sanitize html` and `commitTrustedHtml`. |
56
+ | Is it only text? | `textContent` or a structured text record. |
57
+ | Is it a URL attribute? | `commitTrustedAttribute` with protocol allowlist. |
58
+ | Is it `data-*` or `aria-*`? | Structured attribute commit, no HTML interpolation. |
59
+ | Is it a fallback? | `safeFallbackHtml` with the same policy as normal HTML outputs. |
60
+ | Does it come from remote or adapter code? | Trust scope `remote-surface` or `adapter-output`, capability and diagnostics correlation. |
61
+
62
+ ## No-Go Patterns
63
+
64
+ - Forward markup from remote sources directly into `slot.html`, `prerender.html` or `fallback.html`.
65
+ - Transport event attributes such as `onclick` as data.
66
+ - Use `style` or HTML-close properties as an escape hatch.
67
+ - Build `safeFallbackHtml` from the same unsafe source as the blocked output.
68
+ - Ignore diagnostics when a verdict reports `blocked` or `panic`.
@@ -0,0 +1,243 @@
1
+ # RMT Language Server and Editor Setup
2
+
3
+ - Status: productively prepared since `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
+ - Primary file type: `.rmt`
9
+ - Local 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
+ ## Goal
15
+
16
+ RMT tooling is editor-agnostic. The domain source of truth lives in:
17
+
18
+ - `tools/rmt-language`
19
+ - `tools/rmt-linter`
20
+ - `tools/rmt-language-server`
21
+
22
+ Editor packages may provide snippets, syntax highlighting, and launch commands
23
+ for the LSP. They must not implement a second RMT semantics layer.
24
+
25
+ ## Start the Language Server
26
+
27
+ The server speaks stdio JSON-RPC:
28
+
29
+ ```bash
30
+ node tools/rmt-language-server/server.js
31
+ ```
32
+
33
+ The server currently provides:
34
+
35
+ - Diagnostics
36
+ - Completion
37
+ - Hover
38
+ - Document Symbols
39
+ - Definition
40
+ - Code Actions
41
+
42
+ The LSP uses the same diagnostic core as `xt rmt lint`. Editor integrations
43
+ should therefore not maintain their own RMT rules.
44
+
45
+ ## LSP Capability Matrix
46
+
47
+ | Capability | Protocol / Surface | Status | Source of Truth | Gate |
48
+ |------------|--------------------|--------|-----------------|------|
49
+ | Diagnostics | `textDocument/publishDiagnostics` | implemented | `xtend.rmt.linter.rule-engine.v1` | `rmt-linter-rules` |
50
+ | Completion | `textDocument/completion` | implemented | `xtend.rmt.completion-provider.v1` | `rmt-completions` |
51
+ | Hover | `textDocument/hover` | implemented | `xtend.rmt.hover-provider.v1` | `rmt-navigation` |
52
+ | Document Symbols | `textDocument/documentSymbol` | implemented | `xtend.rmt.document-symbols-provider.v1` | `rmt-navigation` |
53
+ | Definition | `textDocument/definition` | implemented | `xtend.rmt.definition-provider.v1` | `rmt-navigation` |
54
+ | Code Actions | `textDocument/codeAction` | implemented | `xtend.rmt.code-action-provider.v1` | `rmt-code-actions` |
55
+ | Agent Repair Report | `xt rmt lint --agent` | implemented | `xtend.rmt.ai-agent-repair-report.v1` | `rmt-agent-report` |
56
+ | Snippets | Editor Packaging | implemented | `xtend.rmt.snippet-catalog.v1` | `rmt-editor-packaging` |
57
+ | Workspace Symbols | `workspace/symbol` | planned | Project Index follow-up | future |
58
+ | Rename | `textDocument/rename` | planned | Safe Refactor follow-up | future |
59
+ | References | `textDocument/references` | planned | Project Index follow-up | future |
60
+ | Semantic Tokens | `textDocument/semanticTokens` | planned | Syntax Highlighting follow-up | future |
61
+ | Formatting | `textDocument/formatting` | planned | Formatter follow-up | future |
62
+
63
+ ## Known Limitations
64
+
65
+ - The current authoring MVP is still JSON-based. A friendlier DSL syntax is
66
+ follow-up work.
67
+ - `textDocument/formatting` is planned but not productively released.
68
+ - `workspace/symbol`, `textDocument/rename`, and `textDocument/references`
69
+ need a project-wide index and intentionally remain outside the MVP.
70
+ - Marketplace packaging for individual editors is not part of Epic 14. The
71
+ generic LSP setup remains the current integration path.
72
+ - The Language Server does not execute XTend components, start XRouter, or
73
+ materialize DOM.
74
+ - `.rmt.json` remains readable, but is treated as a fallback and should not be
75
+ the normal path in new projects.
76
+
77
+ ## Snippets
78
+
79
+ The editor-agnostic snippet catalog lives in:
80
+
81
+ ```text
82
+ tools/rmt-language/snippets/index.js
83
+ ```
84
+
85
+ The VS Code-compatible export format lives in:
86
+
87
+ ```text
88
+ tools/rmt-language/snippets/rmt.code-snippets
89
+ ```
90
+
91
+ All snippets create native `.rmt` authoring structures. `.rmt.json` remains
92
+ only a parser/linter fallback and should not be used in new snippets.
93
+
94
+ Important prefixes:
95
+
96
+ | Prefix | Purpose |
97
+ |--------|---------|
98
+ | `rmt-app` | minimal native app shell |
99
+ | `rmt-component` | XTend component record |
100
+ | `rmt-route` | XRouter route record |
101
+ | `rmt-schedule` | schedule policy |
102
+ | `rmt-template-dom` | safe `dom_descriptor` template |
103
+ | `rmt-template-html` | `html_fragment` with Trusted DOM boundary |
104
+
105
+ ## VS Code
106
+
107
+ The VS Code integration lives in:
108
+
109
+ ```text
110
+ tools/rmt-editor/vscode
111
+ ```
112
+
113
+ It registers:
114
+
115
+ - Language ID `rmt`
116
+ - File extension `.rmt`
117
+ - RMT vNext-aware TextMate grammar with a legacy JSON fallback
118
+ - RMT snippets
119
+ - `vscode-languageclient` for the local RMT Language Server
120
+ - `$xtend-rmt-lint` problem matcher
121
+ - XTend CLI tasks and Debug Console launch configurations
122
+ - Command `XTendRMT: Show Language Server Command`
123
+ - Command `XTendRMT: Start/Restart Language Server`
124
+ - Command `XTendRMT: Run Active RMT Lint`
125
+ - Command `XTendRMT: Run Workspace RMT Lint`
126
+ - Command `XTendRMT: Run RMT Build Check`
127
+ - Command `XTendRMT: Run Scaffold Verify`
128
+ - Command `XTendRMT: Debug Language Server`
129
+ - Command `XTendRMT: Debug Active RMT Lint`
130
+ - Command `XTendRMT: Debug Active RMT Build`
131
+ - Command `XTendRMT: Open XTend CLI Terminal`
132
+ - Command `XTendRMT: Run XTend CLI Command...`
133
+ - Command `XTendRMT: Run Agent Repair Report`
134
+ - Command `XTendRMT: Run RMT Build Write`
135
+ - Command `XTendRMT: Open VS Code Tasks Template`
136
+ - Command `XTendRMT: Open VS Code Launch Template`
137
+ - Command `XTendRMT: Show vNext Primitive Apply Experience`
138
+ - Command `XTendRMT: Show vNext Primitive Code Action Preview`
139
+ - Command `XTendRMT: Show vNext Primitive Command Handoff`
140
+
141
+ The packaged LanguageClient starts the server through stdio:
142
+
143
+ ```json
144
+ {
145
+ "command": "node",
146
+ "args": ["tools/rmt-language-server/server.js"]
147
+ }
148
+ ```
149
+
150
+ Terminal tasks use the XTend CLI as their orchestrator and do not maintain a
151
+ second RMT semantics layer. The extension resolves the CLI from the workspace
152
+ first at `xtend-builder/scaffold.js`, then `node_modules/.bin/xt`, and then
153
+ `node_modules/@ccslabs/xtend-cli/scaffold.js`. If a project uses another
154
+ layout, `xtendRmt.xtendCli.path` can point to an executable or `scaffold.js`.
155
+ The versioned template lives at:
156
+
157
+ ```text
158
+ tools/rmt-editor/vscode/templates/tasks.json
159
+ ```
160
+
161
+ The problem matcher consumes the stable linter output:
162
+
163
+ ```bash
164
+ xt rmt lint app.rmt --format problem-matcher --fail-on warning
165
+ ```
166
+
167
+ The Debug Console launch template lives at:
168
+
169
+ ```text
170
+ tools/rmt-editor/vscode/templates/launch.json
171
+ ```
172
+
173
+ It contains debug starts for the Language Server, active RMT lint, active RMT
174
+ build and scaffold verify. This is tool debugging for authoring workflows; a
175
+ custom debug adapter for runtime RMT UI breakpoints remains outside this slice.
176
+
177
+ The vNext primitive commands read CodeAction reports or individual actions from
178
+ the RMT vNext tooling layer and show the three apply paths separately in the
179
+ Output Channel:
180
+
181
+ - safe individual quick fixes;
182
+ - `source.fixAll.rmt.vnext.primitives` for all safe WorkspaceEdits;
183
+ - manual `xtend.rmt.vnext.extractKernelImport` handoffs for Kernel/Fabric
184
+ boundary violations without an automatic WorkspaceEdit.
185
+
186
+ ## JetBrains
187
+
188
+ JetBrains IDEs can be connected through a generic LSP client or a local file
189
+ watcher/external tool setup.
190
+
191
+ Recommended values:
192
+
193
+ - Language ID: `rmt`
194
+ - Extension: `.rmt`
195
+ - Command: `node`
196
+ - Args: `tools/rmt-language-server/server.js`
197
+
198
+ ## Neovim
199
+
200
+ Minimal `nvim-lspconfig`-compatible starting point:
201
+
202
+ ```lua
203
+ local lspconfig = require('lspconfig')
204
+ local configs = require('lspconfig.configs')
205
+
206
+ configs.xtendrmt = {
207
+ default_config = {
208
+ cmd = { 'node', 'tools/rmt-language-server/server.js' },
209
+ filetypes = { 'rmt' },
210
+ root_dir = lspconfig.util.root_pattern('package.json', '.git')
211
+ }
212
+ }
213
+
214
+ lspconfig.xtendrmt.setup({})
215
+ ```
216
+
217
+ ## Helix
218
+
219
+ Example for `languages.toml`:
220
+
221
+ ```toml
222
+ [[language]]
223
+ name = "rmt"
224
+ scope = "source.rmt"
225
+ file-types = ["rmt"]
226
+ language-servers = ["xtendrmt"]
227
+
228
+ [language-server.xtendrmt]
229
+ command = "node"
230
+ args = ["tools/rmt-language-server/server.js"]
231
+ ```
232
+
233
+ ## Boundary
234
+
235
+ Editor packaging must not execute XTend components, start XRouter, or create
236
+ DOM side effects. It only starts the LSP and provides static snippets.
237
+
238
+ ## Related Guides
239
+
240
+ - [RMT Linter and AI-Agent Repair Report](./rmt-linter.md)
241
+ - [XTendRMT Native Authoring Guide](./xtendrmt-native-authoring.md)
242
+ - [Quick Start Guide](./quick-start-guide.md)
243
+ - [Epic 14 Completion and LSP Handoff](../development/XTendRMT-Epic14-Abschluss-und-LSP-Handoff.md)
@@ -0,0 +1,23 @@
1
+ # RMT Lifecycle Demo
2
+
3
+ Contract: `xtend.rmt.lifecycle-demo.v1`
4
+
5
+ The lifecycle demo shows the complete path from RMT authoring to an openable XTend app:
6
+
7
+ 1. `xtendrmt/rmt-lifecycle-demo.rmt` is the RMT vNext template.
8
+ 2. `node xtend-builder/scaffold.js rmt-lifecycle-demo --write --json` compiles
9
+ the template into `xtendrmt/rmt-lifecycle-demo.core.json`.
10
+ 3. The same scaffold build writes the generated artifacts:
11
+ `components/x-rmt-lifecycle-demo.js`,
12
+ `xtendrmt/rmt-lifecycle-demo.app.js`,
13
+ `tests/browser/fixtures/rmt-lifecycle-demo-smoke.html`.
14
+ 4. The app can be opened through the local HTTP server:
15
+ `node scripts/serve_xtend_dev.js --default tests/browser/fixtures/rmt-lifecycle-demo-smoke.html`.
16
+
17
+ The build report is stored at `xtendrmt/rmt-lifecycle-demo.scaffold.json`. It
18
+ connects source, core output, generated XTend app, browser smoke and the local
19
+ gate `node scripts/run_xtend_tests.js rmt-lifecycle-demo --json`.
20
+
21
+ The generated files are intentionally marked with `@generated by XTend Scaffold RMT
22
+ lifecycle build`. Changes should be made in the vNext template or scaffold
23
+ generator, not directly in the generated artifacts.
@@ -0,0 +1,146 @@
1
+ # RMT Linter and AI-Agent Repair Report
2
+
3
+ - Status: productively prepared since `WP-E14-14`
4
+ - Contract: `xtend.rmt.tooling-docs.v1`
5
+ - Linter Report: `xtend.rmt.linter.report.v1`
6
+ - Agent Report: `xtend.rmt.ai-agent-repair-report.v1`
7
+ - Primary file type: `.rmt`
8
+ - Local gate: `node scripts/run_xtend_tests.js rmt-tooling-docs --json`
9
+
10
+ ## Purpose
11
+
12
+ The RMT Linter makes native `.rmt` documents verifiable locally, in CI, and for
13
+ AI agents. It uses the same language layer as the RMT Language Server:
14
+
15
+ - Source Model
16
+ - Parser and Format Adapter
17
+ - Semantic Graph
18
+ - Linter Rules
19
+ - Code Actions
20
+ - Agent Repair Report
21
+
22
+ The linter does not execute XTend components, start XRouter, or materialize DOM.
23
+ It analyzes RMT as a language.
24
+
25
+ ## Default Command
26
+
27
+ ```bash
28
+ xt rmt lint app.rmt
29
+ ```
30
+
31
+ The long command path remains valid as well:
32
+
33
+ ```bash
34
+ xtend rmt lint app.rmt
35
+ ```
36
+
37
+ Directory targets and simple glob targets are supported:
38
+
39
+ ```bash
40
+ xt rmt lint tests/rmt-language/fixtures
41
+ xt rmt lint "tests/rmt-language/fixtures/*.rmt" --json
42
+ ```
43
+
44
+ ## JSON Report
45
+
46
+ ```bash
47
+ xt rmt lint app.rmt --json
48
+ ```
49
+
50
+ The report is intended for CI and other tools:
51
+
52
+ ```json
53
+ {
54
+ "schema": "xtend.rmt.linter.report.v1",
55
+ "status": "failed",
56
+ "files": 1,
57
+ "diagnostics": []
58
+ }
59
+ ```
60
+
61
+ ## Fail Policy
62
+
63
+ The default is `--fail-on error`. Warnings do not break the local run in that
64
+ mode.
65
+
66
+ ```bash
67
+ xt rmt lint app.rmt --fail-on warning
68
+ xt rmt lint app.rmt --fail-on info
69
+ ```
70
+
71
+ CI can therefore run stricter checks than local authoring loops.
72
+
73
+ ## Agent Report
74
+
75
+ AI agents use the repair report:
76
+
77
+ ```bash
78
+ xt rmt lint app.rmt --agent
79
+ ```
80
+
81
+ `--agent` implies JSON and returns:
82
+
83
+ - `diagnostics`
84
+ - `repairPlan`
85
+ - `fixOrder`
86
+ - `noOps`
87
+ - `confidence`
88
+ - `impact`
89
+ - `relatedDiagnostics`
90
+
91
+ Diagnostics that cannot be safely automated are intentionally explained as
92
+ no-ops. Examples include syntax recovery, inline-script removal, or component
93
+ stubs that need authoring context.
94
+
95
+ ## Diagnostic Codes
96
+
97
+ Important codes:
98
+
99
+ | Code | Meaning |
100
+ |------|---------|
101
+ | `rmt.syntax.invalid-json` | the document cannot be parsed syntactically |
102
+ | `rmt.document.extension.fallback-used` | `.rmt.json` or `.json` is used only as a fallback |
103
+ | `rmt.document.kind.missing` | `kind: "rmt_document"` is missing |
104
+ | `rmt.adapter.unknown` | adapter reference is not defined |
105
+ | `rmt.ref.component.unresolved` | component reference cannot be resolved |
106
+ | `rmt.ref.template.unresolved` | template reference cannot be resolved |
107
+ | `rmt.ref.schedule.unresolved` | schedule reference cannot be resolved |
108
+ | `rmt.ref.route.duplicate-path` | route path is defined more than once |
109
+ | `rmt.fabric.lane.unknown` | Fabric/RMT lane is unknown |
110
+ | `rmt.template.inline-script.refused` | inline script violates the Trusted DOM/kernel boundary |
111
+
112
+ ## Quick Fixes
113
+
114
+ Safe repairs come from `xtend.rmt.code-action-provider.v1`.
115
+
116
+ The MVP supports:
117
+
118
+ - creating missing schedules
119
+ - creating missing templates as `dom_descriptor` stubs
120
+ - changing unknown Fabric lanes to `visible`
121
+ - changing unknown hydration policies to `runtime_render`
122
+ - adding missing route `documentTitle`
123
+ - adding missing schedule `endpointName`
124
+ - renaming `.rmt.json` to `.rmt` via command
125
+
126
+ ## Regression Gate
127
+
128
+ The tooling matrix lives in:
129
+
130
+ ```bash
131
+ node scripts/run_xtend_tests.js rmt-language-regression --json
132
+ ```
133
+
134
+ This gate checks valid, broken, legacy, and larger RMT documents across parser,
135
+ linter, CLI, LSP, and agent report.
136
+
137
+ ## Editor Workflow
138
+
139
+ For IDEs, see [RMT Language Server and Editor Setup](./rmt-language-server.md).
140
+
141
+ Recommended flow:
142
+
143
+ 1. Create a new document with the `rmt-app` snippet.
144
+ 2. Use diagnostics and completion in the IDE.
145
+ 3. Check locally with `xt rmt lint app.rmt`.
146
+ 4. Use `xt rmt lint app.rmt --agent` for agents or CI.
@@ -0,0 +1,99 @@
1
+ # RMT Node SSR Adapter
2
+
3
+ The Node SSR Adapter is the lightweight server-side API for XTendRMT. It emits
4
+ Light DOM HTML for XTend Custom Elements, RenderMan-compatible hydration
5
+ payloads, and optional JSONL streaming for incremental UI components.
6
+
7
+ Schema: `xtend.rmt.node-ssr-adapter.v1`
8
+
9
+ ```js
10
+ import {
11
+ createRmtNodeSsrAdapter
12
+ } from '@ccslabs/xtend/rmt/node-ssr-adapter';
13
+ ```
14
+
15
+ The runtime package exposes the same API via
16
+ `@ccslabs/xtend-rmt/node-ssr-adapter`.
17
+
18
+ For PHP/Laravel hosts, the
19
+ [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md) provides the same
20
+ client wire contract: HTML, hydration, RenderMan chunks, and JSONL frames stay
21
+ compatible.
22
+
23
+ ## Architecture
24
+
25
+ The adapter is a host layer, not a second renderer. RMT vNext describes source,
26
+ state, selectors, actions, events, surfaces, and streams. The compiler emits
27
+ Core and Kernel records. The Component Capability Registry describes XTend UI
28
+ generically. The Node adapter serializes that into safe server-side startup
29
+ output.
30
+
31
+ It does not instantiate Custom Elements on the server, does not access private
32
+ component internals, does not start an HTTP server, and does not perform
33
+ implicit global network calls.
34
+
35
+ ## API
36
+
37
+ ```js
38
+ const adapter = createRmtNodeSsrAdapter({
39
+ manifest,
40
+ sourceTexts,
41
+ endpointHandlers: {
42
+ 'ssr.hero': () => ({
43
+ html: '<x-hero>Hero</x-hero>',
44
+ trustBoundary: 'xtend.security.sanitizing-boundary.v1'
45
+ })
46
+ }
47
+ });
48
+
49
+ const result = await adapter.render({
50
+ source,
51
+ filePath: 'app.rmt'
52
+ });
53
+ ```
54
+
55
+ `render` accepts RMT source, Core Documents, Prepared Templates, and DOM
56
+ Descriptors. In the full package, source compilation is wired through the
57
+ existing vNext compiler. Runtime-only hosts inject `compileRmtVNextSource`; if
58
+ that function is missing, the adapter reports `rmt.node_ssr.compiler_required`.
59
+
60
+ ## Output
61
+
62
+ `xtend.rmt.node-ssr-render-result.v1` contains:
63
+
64
+ - `html`
65
+ - `head.preloads`
66
+ - `renderman_template_chunk`
67
+ - `server_prerender_hydrate` hydration data
68
+ - `xtend.rmt.vnext-streaming-contract.v1`
69
+ - Component Capability markers
70
+ - diagnostics
71
+
72
+ ## JSONL Streaming
73
+
74
+ `streamJsonl` yields frames with
75
+ `xtend.rmt.node-ssr-jsonl-frame.v1`. Important frame types are `start`,
76
+ `component`, `html`, `hydration`, `diagnostic`, `complete`, and `error`.
77
+
78
+ The streaming capabilities stay compatible with RMT vNext:
79
+
80
+ - `stream.ssr.incremental`
81
+ - `stream.hydration.chunked`
82
+
83
+ ## Data Sources and Security
84
+
85
+ Data sources are resolved only through explicit host hooks:
86
+ `resolveDataSource`, `endpointHandlers`, `staticDataSources`, `fixtures`, or
87
+ `fetchAdapter`. Missing resolvers report `rmt.node_ssr.datasource_missing`.
88
+
89
+ HTML fragments need a trust boundary such as
90
+ `xtend.security.sanitizing-boundary.v1` or
91
+ `xtend.security.streaming-boundary.v1`. Unsafe URLs, event attributes, `srcdoc`,
92
+ and blocked tags are diagnosed and cleaned.
93
+
94
+ ## Gate
95
+
96
+ ```bash
97
+ npm run test:rmt-node-ssr-adapter
98
+ node scripts/run_xtend_tests.js rmt-node-ssr-adapter --json
99
+ ```