@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,278 @@
1
+ const {
2
+ COMMAND_ARTIFACTS,
3
+ DEFERRAL_REASONS,
4
+ EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA,
5
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA,
6
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA,
7
+ REQUIRED_ARTIFACTS,
8
+ createEpic13ConditionalNetworkEvidencePlan,
9
+ createEpic13ConditionalNetworkEvidenceReport,
10
+ validateEpic13ConditionalNetworkEvidencePlan
11
+ } = require('./epic13-conditional-network-evidence');
12
+ const {
13
+ EPIC13_RELEASE_REPORT_PACK_DRY_RUN_EVIDENCE_REPORT_SCHEMA,
14
+ EPIC13_RELEASE_REPORT_PACK_DRY_RUN_EVIDENCE_SCHEMA,
15
+ createEpic13ReleaseReportPackDryRunEvidencePlan,
16
+ createEpic13ReleaseReportPackDryRunEvidenceReport,
17
+ validateEpic13ReleaseReportPackDryRunEvidencePlan
18
+ } = require('./epic13-release-report-pack-dry-run-evidence');
19
+
20
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SCHEMA = 'xtend.epic13.conditional-network-evidence-ci.v1';
21
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA = 'xtend.epic13.conditional-network-evidence-ci-report.v1';
22
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE = 'DPF-WP-03-conditional-network-evidence-ci';
23
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_STATUS = 'accepted-conditional-network-evidence-ci';
24
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_TARGET = 'conditional-network-evidence-ci-ready';
25
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_MODULE = 'catalog/epic13-conditional-network-evidence-ci.js';
26
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SUITE = 'tests/platform/epic13_conditional_network_evidence_ci_suite.js';
27
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_CONTRACT = 'development/XTend-Epic13-Conditional-Network-Evidence-CI-Contract.md';
28
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE_DOC = 'development/DPF-WP-03-Conditional-Network-Evidence-CI.md';
29
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_DOCS = 'docs/conditional-network-evidence-ci.md';
30
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_LOCAL_GATE = 'node scripts/run_xtend_tests.js epic13-conditional-network-evidence-ci --json';
31
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_PACKAGE_SCRIPT = 'npm run test:epic13-conditional-network-evidence-ci';
32
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_PACKAGE_EXPORT = './catalog/epic13-conditional-network-evidence-ci';
33
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_ARTIFACT = '.xtend-test-results/xtend-epic13-conditional-network-evidence-ci-report.json';
34
+ const CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_SCRIPT = 'node scripts/capture_conditional_network_evidence.js';
35
+ const CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_COMMAND = 'npm run conditional-network:evidence';
36
+ const CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_MODULE = 'scripts/capture_conditional_network_evidence.js';
37
+ const CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW = '.github/workflows/xtend-default-gates.yml';
38
+ const CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_JOB = 'conditional-network-evidence';
39
+ const CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_ARTIFACT = 'xtend-conditional-network-evidence-node-26';
40
+ const NEXT_WORKPACKAGE = 'DPF-WP-04-visual-pixel-evidence-storage';
41
+ const NEXT_DECISION = 'visual-pixel-evidence-storage';
42
+ const PUBLISH_BOUNDARY = 'private-until-release-owner-acceptance';
43
+
44
+ const CI_EVIDENCE_ARTIFACTS = Object.freeze([
45
+ '.xtend-test-results/xtend-npm-audit-report.json',
46
+ '.xtend-test-results/xtend-npm-sbom.json',
47
+ '.xtend-test-results/xtend-conditional-network-evidence-report.json'
48
+ ]);
49
+
50
+ const REQUIRED_REFERENCE_PATHS = Object.freeze([
51
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_MODULE,
52
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SUITE,
53
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_CONTRACT,
54
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE_DOC,
55
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_DOCS,
56
+ CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_MODULE,
57
+ CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW,
58
+ 'catalog/epic13-conditional-network-evidence.js',
59
+ 'catalog/epic13-release-report-pack-dry-run-evidence.js',
60
+ 'development/XTend-Epic13-Conditional-Network-Evidence-Contract.md',
61
+ 'development/XTend-Epic13-Release-Report-und-Pack-Dry-Run-Evidence.md',
62
+ 'development/XTend-Epic13-RC1-Gate-Matrix-und-CI-Handoff.md',
63
+ 'docs/conditional-network-evidence.md',
64
+ 'docs/release-report-pack-dry-run-evidence.md',
65
+ 'docs/rc1-gate-matrix-ci-handoff.md',
66
+ 'development/XTend-CI-Gate-Matrix.md',
67
+ 'development/XTend-Release-Checklist-und-SemVer-Policy.md',
68
+ 'development/XTend-Dokumentations-und-Demo-Referenzpfade.md',
69
+ 'docs/README.md',
70
+ 'docs/menu.json',
71
+ 'README.md',
72
+ 'CHANGELOG.md',
73
+ 'tests/README.md',
74
+ 'package.json',
75
+ 'xtend-builder/scaffold.config.js'
76
+ ]);
77
+
78
+ function getDefaultPackageManifest() {
79
+ return require('../package.json');
80
+ }
81
+
82
+ function createEpic13ConditionalNetworkEvidenceCiPlan(options = {}) {
83
+ const packageManifest = options.packageManifest || getDefaultPackageManifest();
84
+ const conditionalPlan = options.conditionalPlan || createEpic13ConditionalNetworkEvidencePlan(options);
85
+ const conditionalValidation = options.conditionalValidation || validateEpic13ConditionalNetworkEvidencePlan(conditionalPlan);
86
+ const conditionalReport = options.conditionalReport || createEpic13ConditionalNetworkEvidenceReport({ ...options, plan: conditionalPlan });
87
+ const releaseEvidence = options.releaseEvidence || createEpic13ReleaseReportPackDryRunEvidencePlan(options);
88
+ const releaseEvidenceValidation = options.releaseEvidenceValidation || validateEpic13ReleaseReportPackDryRunEvidencePlan(releaseEvidence);
89
+ const releaseEvidenceReport = options.releaseEvidenceReport || createEpic13ReleaseReportPackDryRunEvidenceReport({ ...options, plan: releaseEvidence });
90
+ const scripts = packageManifest.scripts || {};
91
+
92
+ return {
93
+ schema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SCHEMA,
94
+ reportSchema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA,
95
+ workpackage: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE,
96
+ status: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_STATUS,
97
+ generatedAt: options.generatedAt || 'static-local',
98
+ module: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_MODULE,
99
+ suite: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SUITE,
100
+ contract: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_CONTRACT,
101
+ workpackageDocument: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE_DOC,
102
+ docs: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_DOCS,
103
+ localGate: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_LOCAL_GATE,
104
+ packageScript: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_PACKAGE_SCRIPT,
105
+ packageExport: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_PACKAGE_EXPORT,
106
+ reportArtifact: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_ARTIFACT,
107
+ targetReadiness: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_TARGET,
108
+ sourceSchema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA,
109
+ sourceReportSchema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA,
110
+ sourceValidationOk: conditionalValidation.ok,
111
+ sourceReportOk: conditionalReport.ok,
112
+ releaseEvidenceSchema: EPIC13_RELEASE_REPORT_PACK_DRY_RUN_EVIDENCE_SCHEMA,
113
+ releaseEvidenceReportSchema: EPIC13_RELEASE_REPORT_PACK_DRY_RUN_EVIDENCE_REPORT_SCHEMA,
114
+ releaseEvidenceValidationOk: releaseEvidenceValidation.ok,
115
+ releaseEvidenceReportOk: releaseEvidenceReport.ok,
116
+ captureScript: CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_SCRIPT,
117
+ captureCommand: CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_COMMAND,
118
+ captureModule: CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_MODULE,
119
+ workflow: {
120
+ path: CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW,
121
+ jobId: CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_JOB,
122
+ nodeVersion: '26.x',
123
+ command: CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_COMMAND,
124
+ executeEnv: 'XTEND_CONDITIONAL_NETWORK_EXECUTE=1',
125
+ artifactName: CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_ARTIFACT,
126
+ artifactPaths: CI_EVIDENCE_ARTIFACTS.slice(),
127
+ ifCondition: "github.event_name != 'pull_request'"
128
+ },
129
+ packageScripts: {
130
+ capture: scripts['conditional-network:evidence'],
131
+ localGate: scripts['test:epic13-conditional-network-evidence-ci']
132
+ },
133
+ commands: COMMAND_ARTIFACTS.map((entry) => ({
134
+ id: entry.id,
135
+ command: entry.command,
136
+ jsonCommand: entry.jsonCommand,
137
+ expectedArtifact: entry.expectedArtifact,
138
+ ciMode: 'execute-or-owner-deferral',
139
+ publishBlocking: true
140
+ })),
141
+ evidenceArtifacts: CI_EVIDENCE_ARTIFACTS.slice(),
142
+ expectedDeferralSchema: EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA,
143
+ allowedDeferralReasons: DEFERRAL_REASONS.slice(),
144
+ localGateRequiresNetwork: false,
145
+ ciJobRequiresNetwork: true,
146
+ ownerDeferralAllowed: true,
147
+ publishRequiresExecutedOrOwnerAcceptedDeferral: true,
148
+ dependencyUpgradesIncluded: false,
149
+ vulnerabilityFixesIncluded: false,
150
+ publicPublishDecisionIncluded: false,
151
+ docsMenuSlug: 'conditional-network-evidence-ci',
152
+ referencePaths: REQUIRED_REFERENCE_PATHS.slice(),
153
+ rc1HandoffReferences: [
154
+ '.xtend-test-results/xtend-npm-audit-report.json',
155
+ '.xtend-test-results/xtend-npm-sbom.json',
156
+ '.xtend-test-results/xtend-conditional-network-evidence-report.json',
157
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_ARTIFACT
158
+ ],
159
+ nextDecision: NEXT_DECISION,
160
+ nextWorkpackage: NEXT_WORKPACKAGE,
161
+ publishBoundary: PUBLISH_BOUNDARY,
162
+ publishAllowed: false,
163
+ packagePrivateRequired: true
164
+ };
165
+ }
166
+
167
+ function validateEpic13ConditionalNetworkEvidenceCiPlan(plan = createEpic13ConditionalNetworkEvidenceCiPlan()) {
168
+ const errors = [];
169
+ const references = plan && Array.isArray(plan.referencePaths) ? plan.referencePaths : [];
170
+ const artifacts = plan && Array.isArray(plan.evidenceArtifacts) ? plan.evidenceArtifacts : [];
171
+ const workflowArtifacts = plan && plan.workflow && Array.isArray(plan.workflow.artifactPaths) ? plan.workflow.artifactPaths : [];
172
+
173
+ if (!plan || plan.schema !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SCHEMA) errors.push(`schema must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SCHEMA}`);
174
+ if (!plan || plan.reportSchema !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA) errors.push(`reportSchema must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA}`);
175
+ if (!plan || plan.workpackage !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE) errors.push(`workpackage must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE}`);
176
+ if (!plan || plan.status !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_STATUS) errors.push(`status must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_STATUS}`);
177
+ if (!plan || plan.targetReadiness !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_TARGET) errors.push(`targetReadiness must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_TARGET}`);
178
+ if (!plan || plan.sourceSchema !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA) errors.push('source schema must be Conditional Network Evidence');
179
+ if (!plan || plan.sourceValidationOk !== true || plan.sourceReportOk !== true) errors.push('Conditional Network Evidence source must validate');
180
+ if (!plan || plan.releaseEvidenceSchema !== EPIC13_RELEASE_REPORT_PACK_DRY_RUN_EVIDENCE_SCHEMA) errors.push('release evidence source schema must be DPF-WP-02');
181
+ if (!plan || plan.releaseEvidenceValidationOk !== true || plan.releaseEvidenceReportOk !== true) errors.push('DPF-WP-02 release evidence source must validate');
182
+ if (!plan || plan.packageScripts.capture !== CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_SCRIPT) errors.push('conditional-network:evidence must capture audit/SBOM evidence');
183
+ if (!plan || plan.packageScripts.localGate !== 'node scripts/run_xtend_tests.js epic13-conditional-network-evidence-ci') errors.push('package local gate script missing');
184
+ if (!plan || plan.captureScript !== CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_SCRIPT) errors.push('capture script must stay stable');
185
+ if (!plan || plan.captureCommand !== CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_COMMAND) errors.push('capture command must stay stable');
186
+ if (!plan || !plan.workflow || plan.workflow.path !== CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW) errors.push('workflow path must be xtend-default-gates');
187
+ if (!plan || !plan.workflow || plan.workflow.jobId !== CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_JOB) errors.push('workflow job id must be conditional-network-evidence');
188
+ if (!plan || !plan.workflow || plan.workflow.command !== CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_COMMAND) errors.push('workflow must run conditional-network:evidence');
189
+ if (!plan || !plan.workflow || plan.workflow.executeEnv !== 'XTEND_CONDITIONAL_NETWORK_EXECUTE=1') errors.push('workflow must opt into network execution');
190
+ if (!plan || !plan.workflow || plan.workflow.artifactName !== CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_ARTIFACT) errors.push('workflow artifact name must be stable');
191
+ CI_EVIDENCE_ARTIFACTS.forEach((artifact) => {
192
+ if (!artifacts.includes(artifact)) errors.push(`evidence artifact missing: ${artifact}`);
193
+ if (!workflowArtifacts.includes(artifact)) errors.push(`workflow artifact path missing: ${artifact}`);
194
+ if (!plan || !plan.rc1HandoffReferences.includes(artifact)) errors.push(`RC1 handoff artifact missing: ${artifact}`);
195
+ });
196
+ REQUIRED_ARTIFACTS.forEach((artifact) => {
197
+ if (!artifacts.includes(artifact)) errors.push(`existing network artifact missing: ${artifact}`);
198
+ });
199
+ COMMAND_ARTIFACTS.forEach((entry) => {
200
+ const command = plan && Array.isArray(plan.commands) ? plan.commands.find((candidate) => candidate.id === entry.id) : null;
201
+ if (!command) errors.push(`command missing: ${entry.id}`);
202
+ if (command && command.command !== entry.command) errors.push(`command mismatch: ${entry.id}`);
203
+ if (command && command.jsonCommand !== entry.jsonCommand) errors.push(`json command mismatch: ${entry.id}`);
204
+ if (command && command.expectedArtifact !== entry.expectedArtifact) errors.push(`artifact mismatch: ${entry.id}`);
205
+ if (command && command.ciMode !== 'execute-or-owner-deferral') errors.push(`ci mode mismatch: ${entry.id}`);
206
+ });
207
+ if (!plan || plan.expectedDeferralSchema !== EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA) errors.push('deferral schema must stay conditional network deferral');
208
+ DEFERRAL_REASONS.forEach((reason) => {
209
+ if (!plan || !plan.allowedDeferralReasons.includes(reason)) errors.push(`deferral reason missing: ${reason}`);
210
+ });
211
+ REQUIRED_REFERENCE_PATHS.forEach((referencePath) => {
212
+ if (!references.includes(referencePath)) errors.push(`reference path missing: ${referencePath}`);
213
+ });
214
+ if (!plan || plan.localGateRequiresNetwork !== false) errors.push('local gate must remain network-free');
215
+ if (!plan || plan.ciJobRequiresNetwork !== true) errors.push('CI job must be the network execution boundary');
216
+ if (!plan || plan.ownerDeferralAllowed !== true || plan.publishRequiresExecutedOrOwnerAcceptedDeferral !== true) errors.push('owner deferral and publish blocking must stay explicit');
217
+ if (!plan || plan.dependencyUpgradesIncluded !== false || plan.vulnerabilityFixesIncluded !== false || plan.publicPublishDecisionIncluded !== false) errors.push('dependency upgrades, vulnerability fixes and public publish must remain outside DPF-WP-03');
218
+ if (!plan || plan.docsMenuSlug !== 'conditional-network-evidence-ci') errors.push('docs menu slug must be conditional-network-evidence-ci');
219
+ if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`next decision must be ${NEXT_DECISION}`);
220
+ if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`next workpackage must be ${NEXT_WORKPACKAGE}`);
221
+ if (!plan || plan.publishBoundary !== PUBLISH_BOUNDARY) errors.push(`publishBoundary must be ${PUBLISH_BOUNDARY}`);
222
+ if (!plan || plan.publishAllowed !== false || plan.packagePrivateRequired !== true) errors.push('publish must remain blocked and package private');
223
+
224
+ return {
225
+ schema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA,
226
+ ok: errors.length === 0,
227
+ errors
228
+ };
229
+ }
230
+
231
+ function createEpic13ConditionalNetworkEvidenceCiReport(options = {}) {
232
+ const plan = options.plan || createEpic13ConditionalNetworkEvidenceCiPlan(options);
233
+ const validation = validateEpic13ConditionalNetworkEvidenceCiPlan(plan);
234
+
235
+ return {
236
+ schema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA,
237
+ ok: validation.ok,
238
+ errors: validation.errors,
239
+ plan,
240
+ commandCount: plan.commands.length,
241
+ evidenceArtifactCount: plan.evidenceArtifacts.length,
242
+ referencePathCount: plan.referencePaths.length,
243
+ workflowJob: plan.workflow.jobId,
244
+ publishAllowed: plan.publishAllowed,
245
+ nextWorkpackage: plan.nextWorkpackage
246
+ };
247
+ }
248
+
249
+ module.exports = {
250
+ CI_EVIDENCE_ARTIFACTS,
251
+ CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_COMMAND,
252
+ CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_MODULE,
253
+ CONDITIONAL_NETWORK_EVIDENCE_CAPTURE_SCRIPT,
254
+ CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW,
255
+ CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_ARTIFACT,
256
+ CONDITIONAL_NETWORK_EVIDENCE_WORKFLOW_JOB,
257
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_CONTRACT,
258
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_DOCS,
259
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_LOCAL_GATE,
260
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_MODULE,
261
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_PACKAGE_EXPORT,
262
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_PACKAGE_SCRIPT,
263
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_ARTIFACT,
264
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_REPORT_SCHEMA,
265
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SCHEMA,
266
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_STATUS,
267
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_SUITE,
268
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_TARGET,
269
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE,
270
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CI_WORKPACKAGE_DOC,
271
+ NEXT_DECISION,
272
+ NEXT_WORKPACKAGE,
273
+ PUBLISH_BOUNDARY,
274
+ REQUIRED_REFERENCE_PATHS,
275
+ createEpic13ConditionalNetworkEvidenceCiPlan,
276
+ createEpic13ConditionalNetworkEvidenceCiReport,
277
+ validateEpic13ConditionalNetworkEvidenceCiPlan
278
+ };
@@ -0,0 +1,34 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogGate,
4
+ XtendCatalogOptions,
5
+ XtendCatalogPlan,
6
+ XtendCatalogRecord,
7
+ XtendCatalogReport
8
+ } from './catalog-public-types';
9
+
10
+
11
+ export declare const COMMAND_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
12
+ export declare const DEFERRAL_REASONS: XtendCatalogConstant;
13
+ export declare const EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA: string;
14
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CONTRACT: string;
15
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
16
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_LOCAL_GATE: string;
17
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_MODULE: string;
18
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_PACKAGE_SCRIPT: string;
19
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA: string;
20
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA: string;
21
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STATUS: string;
22
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STEERING: XtendCatalogConstant;
23
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SUITE: string;
24
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_TARGET: string;
25
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE: string;
26
+ export declare const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE_DOC: XtendCatalogConstant;
27
+ export declare const EVIDENCE_STATUSES: XtendCatalogConstant;
28
+ export declare const PUBLISH_BOUNDARY: XtendCatalogConstant;
29
+ export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
30
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
31
+ export declare const REQUIRED_SOURCE_SCHEMAS: XtendCatalogConstant;
32
+ export declare function createEpic13ConditionalNetworkEvidencePlan(options?: XtendCatalogOptions): XtendCatalogPlan;
33
+ export declare function createEpic13ConditionalNetworkEvidenceReport(options?: XtendCatalogOptions): XtendCatalogReport;
34
+ export declare function validateEpic13ConditionalNetworkEvidencePlan(plan?: unknown): XtendCatalogReport;
@@ -0,0 +1,280 @@
1
+ const {
2
+ CONDITIONAL_NETWORK_COMMANDS,
3
+ createEpic12Rc0GateMatrix,
4
+ createEpic12Rc0GateMatrixReport,
5
+ validateEpic12Rc0GateMatrix
6
+ } = require('./epic12-rc0-gate-matrix');
7
+ const {
8
+ EPIC13_RELEASE_OWNER_ACCEPTANCE_REPORT_SCHEMA,
9
+ EPIC13_RELEASE_OWNER_ACCEPTANCE_SCHEMA,
10
+ createEpic13ReleaseOwnerAcceptanceContract,
11
+ createEpic13ReleaseOwnerAcceptanceReport,
12
+ validateEpic13ReleaseOwnerAcceptanceContract
13
+ } = require('./epic13-release-owner-acceptance');
14
+ const {
15
+ KERNEL_BOUNDARY
16
+ } = require('./epic12-rc0-handoff');
17
+
18
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA = 'xtend.epic13.conditional-network-evidence.v1';
19
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA = 'xtend.epic13.conditional-network-evidence-report.v1';
20
+ const EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA = 'xtend.epic13.conditional-network-deferral.v1';
21
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE = 'WP-E13-03';
22
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STATUS = 'accepted-conditional-network-evidence-contract';
23
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_TARGET = 'conditional-network-evidence-ready';
24
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_MODULE = 'catalog/epic13-conditional-network-evidence.js';
25
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SUITE = 'tests/platform/epic13_conditional_network_evidence_suite.js';
26
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STEERING = 'development/RC0-RC1-transfer-EPIC13.md';
27
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CONTRACT = 'development/XTend-Epic13-Conditional-Network-Evidence-Contract.md';
28
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE_DOC = 'development/WP-E13-03-Conditional-Network-Gate-Evidence-vorbereiten.md';
29
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_DOCS = 'docs/conditional-network-evidence.md';
30
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_LOCAL_GATE = 'node scripts/run_xtend_tests.js epic13-conditional-network-evidence --json';
31
+ const EPIC13_CONDITIONAL_NETWORK_EVIDENCE_PACKAGE_SCRIPT = 'npm run test:epic13-conditional-network-evidence';
32
+ const PUBLISH_BOUNDARY = 'private-until-release-owner-acceptance';
33
+
34
+ const EVIDENCE_STATUSES = Object.freeze([
35
+ 'executed',
36
+ 'deferred'
37
+ ]);
38
+
39
+ const DEFERRAL_REASONS = Object.freeze([
40
+ 'network-restricted-local-default',
41
+ 'sandbox-network-unavailable',
42
+ 'registry-auth-unavailable',
43
+ 'owner-approved-offline-run'
44
+ ]);
45
+
46
+ const REQUIRED_ARTIFACTS = Object.freeze([
47
+ '.xtend-test-results/xtend-npm-audit-report.json',
48
+ '.xtend-test-results/xtend-npm-sbom.json',
49
+ '.xtend-test-results/xtend-conditional-network-evidence-report.json'
50
+ ]);
51
+
52
+ const REQUIRED_SOURCE_SCHEMAS = Object.freeze([
53
+ EPIC13_RELEASE_OWNER_ACCEPTANCE_SCHEMA,
54
+ EPIC13_RELEASE_OWNER_ACCEPTANCE_REPORT_SCHEMA,
55
+ 'xtend.epic12.rc0-gate-matrix.v1',
56
+ 'xtend.security.supply-chain-gate-plan.v1',
57
+ 'xtend.security.vulnerability-policy.v1'
58
+ ]);
59
+
60
+ const REQUIRED_DOCS = Object.freeze([
61
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STEERING,
62
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CONTRACT,
63
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE_DOC,
64
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_DOCS,
65
+ 'development/XTend-Epic13-Release-Owner-Acceptance-Contract.md',
66
+ 'development/XTend-Release-Checklist-und-SemVer-Policy.md',
67
+ 'development/XTend-CI-Gate-Matrix.md',
68
+ 'development/XTend-RC0-Gate-Matrix.md',
69
+ 'docs/release-owner-acceptance.md',
70
+ 'docs/supply-chain-gates.md',
71
+ 'docs/enterprise-adoption.md'
72
+ ]);
73
+
74
+ const COMMAND_ARTIFACTS = Object.freeze([
75
+ {
76
+ id: 'npm-audit-moderate',
77
+ command: 'npm audit --audit-level=moderate',
78
+ jsonCommand: 'npm audit --audit-level=moderate --json',
79
+ expectedArtifact: '.xtend-test-results/xtend-npm-audit-report.json',
80
+ validates: ['vulnerability-policy', 'moderate-or-higher-findings'],
81
+ publishRequired: true
82
+ },
83
+ {
84
+ id: 'npm-sbom-json',
85
+ command: 'npm sbom --sbom-format=cyclonedx --json',
86
+ jsonCommand: 'npm sbom --sbom-format=cyclonedx --json',
87
+ expectedArtifact: '.xtend-test-results/xtend-npm-sbom.json',
88
+ validates: ['dependency-inventory', 'sbom-export'],
89
+ publishRequired: true
90
+ }
91
+ ]);
92
+
93
+ function clone(value) {
94
+ return JSON.parse(JSON.stringify(value));
95
+ }
96
+
97
+ function createEvidenceRecord(commandArtifact, execution = {}) {
98
+ const status = execution.status || 'deferred';
99
+ const reason = execution.reason || 'network-restricted-local-default';
100
+
101
+ return {
102
+ schema: EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA,
103
+ id: commandArtifact.id,
104
+ command: commandArtifact.command,
105
+ jsonCommand: commandArtifact.jsonCommand,
106
+ expectedArtifact: commandArtifact.expectedArtifact,
107
+ status,
108
+ reason: status === 'deferred' ? reason : null,
109
+ executedAt: execution.executedAt || null,
110
+ artifactPresent: execution.artifactPresent === true,
111
+ ownerDecisionRequired: status === 'deferred',
112
+ localGateBlocking: false,
113
+ publishBlocking: commandArtifact.publishRequired,
114
+ requiredBefore: 'release-owner-publish-acceptance',
115
+ validates: commandArtifact.validates.slice()
116
+ };
117
+ }
118
+
119
+ function summarizeEvidence(records) {
120
+ return records.reduce((summary, record) => {
121
+ summary.total += 1;
122
+ summary.byStatus[record.status] = (summary.byStatus[record.status] || 0) + 1;
123
+ if (record.publishBlocking) summary.publishBlocking.push(record.id);
124
+ if (record.status === 'deferred') summary.deferred.push(record.id);
125
+ if (record.status === 'executed') summary.executed.push(record.id);
126
+ return summary;
127
+ }, {
128
+ total: 0,
129
+ byStatus: {},
130
+ executed: [],
131
+ deferred: [],
132
+ publishBlocking: []
133
+ });
134
+ }
135
+
136
+ function createEpic13ConditionalNetworkEvidencePlan(options = {}) {
137
+ const ownerAcceptance = options.ownerAcceptance || createEpic13ReleaseOwnerAcceptanceContract(options);
138
+ const ownerAcceptanceValidation = options.ownerAcceptanceValidation || validateEpic13ReleaseOwnerAcceptanceContract(ownerAcceptance);
139
+ const ownerAcceptanceReport = options.ownerAcceptanceReport || createEpic13ReleaseOwnerAcceptanceReport({ ...options, contract: ownerAcceptance });
140
+ const rc0Matrix = options.rc0Matrix || createEpic12Rc0GateMatrix(options);
141
+ const rc0MatrixValidation = options.rc0MatrixValidation || validateEpic12Rc0GateMatrix(rc0Matrix);
142
+ const rc0MatrixReport = options.rc0MatrixReport || createEpic12Rc0GateMatrixReport({ ...options, matrix: rc0Matrix });
143
+ const executions = options.executions || {};
144
+ const evidenceRecords = COMMAND_ARTIFACTS.map((commandArtifact) => {
145
+ return createEvidenceRecord(commandArtifact, executions[commandArtifact.id]);
146
+ });
147
+ const evidenceSummary = summarizeEvidence(evidenceRecords);
148
+
149
+ return {
150
+ schema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA,
151
+ reportSchema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA,
152
+ deferralSchema: EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA,
153
+ workpackage: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE,
154
+ status: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STATUS,
155
+ generatedAt: options.generatedAt || 'static-local',
156
+ module: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_MODULE,
157
+ suite: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SUITE,
158
+ steeringDocument: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STEERING,
159
+ contract: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CONTRACT,
160
+ workpackageDocument: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE_DOC,
161
+ docs: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_DOCS,
162
+ localGate: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_LOCAL_GATE,
163
+ packageScript: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_PACKAGE_SCRIPT,
164
+ sourceSchema: EPIC13_RELEASE_OWNER_ACCEPTANCE_SCHEMA,
165
+ sourceReportSchema: EPIC13_RELEASE_OWNER_ACCEPTANCE_REPORT_SCHEMA,
166
+ sourceStatus: ownerAcceptance.status,
167
+ sourceReportOk: ownerAcceptanceReport.ok,
168
+ sourceValidationOk: ownerAcceptanceValidation.ok,
169
+ rc0GateMatrixOk: rc0MatrixValidation.ok && rc0MatrixReport.ok,
170
+ releaseCandidate: 'RC1',
171
+ targetReadiness: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_TARGET,
172
+ commands: CONDITIONAL_NETWORK_COMMANDS.slice(),
173
+ commandArtifacts: clone(COMMAND_ARTIFACTS),
174
+ evidenceRecords,
175
+ evidenceSummary,
176
+ allowedEvidenceStatuses: EVIDENCE_STATUSES.slice(),
177
+ allowedDeferralReasons: DEFERRAL_REASONS.slice(),
178
+ requiredArtifacts: REQUIRED_ARTIFACTS.slice(),
179
+ requiredSourceSchemas: REQUIRED_SOURCE_SCHEMAS.slice(),
180
+ requiredDocs: REQUIRED_DOCS.slice(),
181
+ localDefaultMode: 'defer-with-owner-reason',
182
+ externalNetworkAllowedInLocalGate: false,
183
+ ownerDeferralAllowed: true,
184
+ ownerDeferralRequiredWhenNotExecuted: true,
185
+ publishRequiresExecutedOrOwnerAcceptedDeferral: true,
186
+ nextDecision: 'rc1-gate-matrix-ci-handoff',
187
+ nextWorkpackage: 'WP-E13-13',
188
+ kernelBoundary: KERNEL_BOUNDARY,
189
+ publishBoundary: PUBLISH_BOUNDARY,
190
+ publishAllowed: false,
191
+ packagePrivateRequired: true
192
+ };
193
+ }
194
+
195
+ function validateEpic13ConditionalNetworkEvidencePlan(plan = createEpic13ConditionalNetworkEvidencePlan()) {
196
+ const errors = [];
197
+ const records = plan && Array.isArray(plan.evidenceRecords) ? plan.evidenceRecords : [];
198
+ const invalidStatuses = records.filter((record) => !EVIDENCE_STATUSES.includes(record.status));
199
+ const invalidReasons = records.filter((record) => record.status === 'deferred' && !DEFERRAL_REASONS.includes(record.reason));
200
+
201
+ if (!plan || plan.schema !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA) errors.push(`schema must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA}`);
202
+ if (!plan || plan.reportSchema !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA) errors.push(`reportSchema must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA}`);
203
+ if (!plan || plan.deferralSchema !== EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA) errors.push(`deferralSchema must be ${EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA}`);
204
+ if (!plan || plan.workpackage !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE) errors.push(`workpackage must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE}`);
205
+ if (!plan || plan.status !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STATUS) errors.push(`status must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STATUS}`);
206
+ if (!plan || plan.sourceSchema !== EPIC13_RELEASE_OWNER_ACCEPTANCE_SCHEMA) errors.push('source schema must be Release Owner Acceptance');
207
+ if (!plan || plan.sourceValidationOk !== true || plan.sourceReportOk !== true || plan.rc0GateMatrixOk !== true) errors.push('source acceptance and RC0 gate matrix must validate');
208
+ if (!plan || plan.targetReadiness !== EPIC13_CONDITIONAL_NETWORK_EVIDENCE_TARGET) errors.push(`targetReadiness must be ${EPIC13_CONDITIONAL_NETWORK_EVIDENCE_TARGET}`);
209
+ CONDITIONAL_NETWORK_COMMANDS.forEach((command) => {
210
+ if (!plan || !plan.commands.includes(command)) errors.push(`conditional network command missing: ${command}`);
211
+ });
212
+ REQUIRED_ARTIFACTS.forEach((artifact) => {
213
+ if (!plan || !plan.requiredArtifacts.includes(artifact)) errors.push(`required artifact missing: ${artifact}`);
214
+ });
215
+ REQUIRED_SOURCE_SCHEMAS.forEach((schema) => {
216
+ if (!plan || !plan.requiredSourceSchemas.includes(schema)) errors.push(`source schema missing: ${schema}`);
217
+ });
218
+ if (!plan || plan.evidenceRecords.length !== COMMAND_ARTIFACTS.length) errors.push('all conditional network commands must have evidence records');
219
+ if (invalidStatuses.length > 0) errors.push(`invalid evidence statuses: ${invalidStatuses.map((record) => record.id).join(', ')}`);
220
+ if (invalidReasons.length > 0) errors.push(`invalid deferral reasons: ${invalidReasons.map((record) => record.id).join(', ')}`);
221
+ if (!plan || plan.evidenceRecords.some((record) => record.localGateBlocking !== false)) errors.push('conditional network records must not block local gate');
222
+ if (!plan || plan.evidenceRecords.some((record) => record.publishBlocking !== true)) errors.push('conditional network records must block publish until executed or owner-accepted');
223
+ if (!plan || plan.externalNetworkAllowedInLocalGate !== false) errors.push('local gate must not require external network');
224
+ if (!plan || plan.ownerDeferralAllowed !== true || plan.ownerDeferralRequiredWhenNotExecuted !== true) errors.push('owner deferral must be explicit when commands are not executed');
225
+ if (!plan || plan.nextDecision !== 'rc1-gate-matrix-ci-handoff') errors.push('next decision must be RC1 Gate Matrix und CI-Handoff');
226
+ if (!plan || plan.nextWorkpackage !== 'WP-E13-13') errors.push('next workpackage must be WP-E13-13');
227
+ if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
228
+ if (!plan || plan.publishBoundary !== PUBLISH_BOUNDARY) errors.push(`publishBoundary must be ${PUBLISH_BOUNDARY}`);
229
+ if (!plan || plan.publishAllowed !== false || plan.packagePrivateRequired !== true) errors.push('publish must remain blocked and package private');
230
+
231
+ return {
232
+ schema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA,
233
+ ok: errors.length === 0,
234
+ errors
235
+ };
236
+ }
237
+
238
+ function createEpic13ConditionalNetworkEvidenceReport(options = {}) {
239
+ const plan = options.plan || createEpic13ConditionalNetworkEvidencePlan(options);
240
+ const validation = validateEpic13ConditionalNetworkEvidencePlan(plan);
241
+
242
+ return {
243
+ schema: EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA,
244
+ ok: validation.ok,
245
+ errors: validation.errors,
246
+ plan,
247
+ commandCount: plan.commands.length,
248
+ evidenceSummary: plan.evidenceSummary,
249
+ requiredArtifactCount: plan.requiredArtifacts.length,
250
+ publishAllowed: plan.publishAllowed,
251
+ nextWorkpackage: plan.nextWorkpackage
252
+ };
253
+ }
254
+
255
+ module.exports = {
256
+ COMMAND_ARTIFACTS,
257
+ DEFERRAL_REASONS,
258
+ EPIC13_CONDITIONAL_NETWORK_DEFERRAL_SCHEMA,
259
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_CONTRACT,
260
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_DOCS,
261
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_LOCAL_GATE,
262
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_MODULE,
263
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_PACKAGE_SCRIPT,
264
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_REPORT_SCHEMA,
265
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SCHEMA,
266
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STATUS,
267
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_STEERING,
268
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_SUITE,
269
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_TARGET,
270
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE,
271
+ EPIC13_CONDITIONAL_NETWORK_EVIDENCE_WORKPACKAGE_DOC,
272
+ EVIDENCE_STATUSES,
273
+ PUBLISH_BOUNDARY,
274
+ REQUIRED_ARTIFACTS,
275
+ REQUIRED_DOCS,
276
+ REQUIRED_SOURCE_SCHEMAS,
277
+ createEpic13ConditionalNetworkEvidencePlan,
278
+ createEpic13ConditionalNetworkEvidenceReport,
279
+ validateEpic13ConditionalNetworkEvidencePlan
280
+ };
@@ -0,0 +1,39 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogGate,
4
+ XtendCatalogOptions,
5
+ XtendCatalogPlan,
6
+ XtendCatalogRecord,
7
+ XtendCatalogReport
8
+ } from './catalog-public-types';
9
+
10
+
11
+ export declare const DOCS_RMT_DOCUMENT: XtendCatalogConstant;
12
+ export declare const DOCS_RMT_HOST: XtendCatalogConstant;
13
+ export declare const DOCS_RMT_PAGE_LOADER: XtendCatalogConstant;
14
+ export declare const DOCS_RMT_PILOT_SCHEMA: string;
15
+ export declare const DOCS_RMT_RENDER_SCHEMA: string;
16
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_CONTRACT: string;
17
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
18
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_LOCAL_GATE: string;
19
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_MODULE: string;
20
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_PACKAGE_SCRIPT: string;
21
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_REPORT_ARTIFACT: string;
22
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_REPORT_SCHEMA: string;
23
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_SCHEMA: string;
24
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_STATUS: string;
25
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_STEERING: XtendCatalogConstant;
26
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_SUITE: string;
27
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_TARGET: string;
28
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_WORKPACKAGE: string;
29
+ export declare const EPIC13_DOCS_RMT_PRODUCTION_HARDENING_WORKPACKAGE_DOC: XtendCatalogConstant;
30
+ export declare const NEXT_DECISION: XtendCatalogConstant;
31
+ export declare const NEXT_WORKPACKAGE: string;
32
+ export declare const PUBLISH_BOUNDARY: XtendCatalogConstant;
33
+ export declare const REQUIRED_DOCS_RMT_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
34
+ export declare const REQUIRED_DOCS_RMT_GATES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
35
+ export declare const REQUIRED_EXTENSION_SLOTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
36
+ export declare const TRUST_BOUNDARY: XtendCatalogConstant;
37
+ export declare function createEpic13DocsRmtProductionHardeningPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
38
+ export declare function createEpic13DocsRmtProductionHardeningReport(options?: XtendCatalogOptions): XtendCatalogReport;
39
+ export declare function validateEpic13DocsRmtProductionHardeningPlan(plan?: unknown): XtendCatalogReport;