@cardstack/boxel-cli 0.9.0 → 0.10.0-unstable.0

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 (995) hide show
  1. package/README.md +12 -0
  2. package/bundled-test-harness/assets/account-switch-failed-GCSVbJML.js +23 -0
  3. package/bundled-test-harness/assets/account-switch-failed-GsWni_Gk.css +18 -0
  4. package/bundled-test-harness/assets/account-switch-failed-test-CdZWNths.js +45 -0
  5. package/bundled-test-harness/assets/add-workspace-c7L50Gx8.js +141 -0
  6. package/bundled-test-harness/assets/add-workspace-test-BZxHa6Pe.js +72 -0
  7. package/bundled-test-harness/assets/advanced-color-picker-0pGF-3WG.js +504 -0
  8. package/bundled-test-harness/assets/advanced-color-picker-pbO4HWc_.js +2 -0
  9. package/bundled-test-harness/assets/ai-assistant-test-Dnm4o9vK.js +2211 -0
  10. package/bundled-test-harness/assets/ai-module-creation-test-C6253CMt.js +151 -0
  11. package/bundled-test-harness/assets/aibot-message-miKyGeKk.js +278 -0
  12. package/bundled-test-harness/assets/app-i8pGdQkw.js +22855 -0
  13. package/bundled-test-harness/assets/app-zC7o6PyQ.css +2718 -0
  14. package/bundled-test-harness/assets/audio-file-def-DHnydP0t.js +133 -0
  15. package/bundled-test-harness/assets/auth-container-BP2gSoo4.css +51 -0
  16. package/bundled-test-harness/assets/auth-container-DN94iVfX.js +24 -0
  17. package/bundled-test-harness/assets/avif-meta-extractor-Bo5zRX1V.js +162 -0
  18. package/bundled-test-harness/assets/base64-image-B0RYxzHT.js +2 -0
  19. package/bundled-test-harness/assets/base64-image-Bxjqdwew.js +262 -0
  20. package/bundled-test-harness/assets/big-integer-7RLj5_7H.js +89 -0
  21. package/bundled-test-harness/assets/big-integer-C9sJxKVy.js +2 -0
  22. package/bundled-test-harness/assets/binary-upload-dedupe-test-DZo3EaV0.js +308 -0
  23. package/bundled-test-harness/assets/boolean-CcKPYUph.js +94 -0
  24. package/bundled-test-harness/assets/boolean-DvsSmtM7.js +2 -0
  25. package/bundled-test-harness/assets/brand-functional-palette-KpVSY2Sa.js +137 -0
  26. package/bundled-test-harness/assets/brand-logo-DDiOec0t.js +295 -0
  27. package/bundled-test-harness/assets/broken-link-template-test-DAngUbFJ.js +192 -0
  28. package/bundled-test-harness/assets/bundled-base-C_lumba6.js +254 -0
  29. package/bundled-test-harness/assets/bundled-base-modules-test-CSF7Rl4Z.js +54 -0
  30. package/bundled-test-harness/assets/buried-stack-item-scroll-test-B0J_EP88.js +236 -0
  31. package/bundled-test-harness/assets/bxl-expression-test-Dej7WgI6.js +250 -0
  32. package/bundled-test-harness/assets/can-invoke-test-elyUcOKT.js +401 -0
  33. package/bundled-test-harness/assets/card-api-CjWXCkqh.js +8 -0
  34. package/bundled-test-harness/assets/card-api-Dzje0smT.js +4393 -0
  35. package/bundled-test-harness/assets/card-api-test-DA8d4Ooc.js +198 -0
  36. package/bundled-test-harness/assets/card-basics-test-mp1Odo-l.js +5364 -0
  37. package/bundled-test-harness/assets/card-chooser-paging-test-y8OfboYd.js +235 -0
  38. package/bundled-test-harness/assets/card-chooser-test-nmg2zkDj.js +393 -0
  39. package/bundled-test-harness/assets/card-collection-BXiO3i7R.js +118 -0
  40. package/bundled-test-harness/assets/card-context-search-results-Dbhn7lvW.js +30 -0
  41. package/bundled-test-harness/assets/card-context-search-results-test-DVXT-YC5.js +184 -0
  42. package/bundled-test-harness/assets/card-def-field-def-relationships-test-mX4rxrtO.js +562 -0
  43. package/bundled-test-harness/assets/card-delete-test-BxFsqFnX.js +466 -0
  44. package/bundled-test-harness/assets/card-error-C-7hjxu9.js +72 -0
  45. package/bundled-test-harness/assets/card-error-awaiting-index-test-BvfY2eaW.js +53 -0
  46. package/bundled-test-harness/assets/card-error-detail-nMwopDir.js +271 -0
  47. package/bundled-test-harness/assets/card-info-CTFxdohf.js +2 -0
  48. package/bundled-test-harness/assets/card-list-B9QrkJ97.js +2 -0
  49. package/bundled-test-harness/assets/card-list-XbwLCXZS.js +202 -0
  50. package/bundled-test-harness/assets/card-resource-JGLjQUy6.js +86 -0
  51. package/bundled-test-harness/assets/cards-grid-CWG41hZE.js +344 -0
  52. package/bundled-test-harness/assets/cards-grid-DSpX99p6.js +2 -0
  53. package/bundled-test-harness/assets/cards-grid-layout-Bht0LwZy.js +2 -0
  54. package/bundled-test-harness/assets/cards-grid-layout-CdpKlHUb.js +111 -0
  55. package/bundled-test-harness/assets/check-correctness-test-C4BrUeKA.js +554 -0
  56. package/bundled-test-harness/assets/clip-BEVvLrXx.js +2 -0
  57. package/bundled-test-harness/assets/clip-CoB714qX.js +92 -0
  58. package/bundled-test-harness/assets/code-ref-C2uguisI.js +2 -0
  59. package/bundled-test-harness/assets/code-ref-Cy7sV5a4.js +138 -0
  60. package/bundled-test-harness/assets/code-submode-availability-test-BsA_Ul01.js +198 -0
  61. package/bundled-test-harness/assets/code-submode-test-DkBhpEPB.js +1839 -0
  62. package/bundled-test-harness/assets/codeblocks-test-B1eZ2_JF.js +418 -0
  63. package/bundled-test-harness/assets/codemirror-editor-C6pxSm5y.js +2 -0
  64. package/bundled-test-harness/assets/codemirror-editor-DzM46Cd8.js +701 -0
  65. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-BemP-ZdG.js +366 -0
  66. package/bundled-test-harness/assets/color-C-jGNFWZ.js +2 -0
  67. package/bundled-test-harness/assets/color-field-test-DPIRaBec.js +212 -0
  68. package/bundled-test-harness/assets/color-picker-field-Bv4IjS-d.js +139 -0
  69. package/bundled-test-harness/assets/color-picker-field-D1bYCQIg.js +2 -0
  70. package/bundled-test-harness/assets/color-wheel-picker-IIaCQplL.js +283 -0
  71. package/bundled-test-harness/assets/color-wheel-picker-Kw-UN3kV.js +2 -0
  72. package/bundled-test-harness/assets/color-zzCBneih.js +65 -0
  73. package/bundled-test-harness/assets/command-data-BMBtjT1E.js +95 -0
  74. package/bundled-test-harness/assets/command-data-BXC5Z0oA.js +2 -0
  75. package/bundled-test-harness/assets/compaction-test-CxUKnxlQ.js +150 -0
  76. package/bundled-test-harness/assets/components-Ct_agx0G.js +14294 -0
  77. package/bundled-test-harness/assets/computed-test-C-lpGQQ3.js +1320 -0
  78. package/bundled-test-harness/assets/container-BdPu8rvc.css +5565 -0
  79. package/bundled-test-harness/assets/container-Dj-5prh9.js +11288 -0
  80. package/bundled-test-harness/assets/contains-many-component-CAWqzX8W.js +2 -0
  81. package/bundled-test-harness/assets/contrast-checker-addon-BTLD7oMx.js +2 -0
  82. package/bundled-test-harness/assets/contrast-checker-addon-DBzizR04.js +71 -0
  83. package/bundled-test-harness/assets/convert-to-class-name-test-zZuKxYvF.js +17 -0
  84. package/bundled-test-harness/assets/coordinate-Bw8va6tO.js +48 -0
  85. package/bundled-test-harness/assets/copy-file-to-realm-test-DtCKPzqj.js +148 -0
  86. package/bundled-test-harness/assets/country-B_tWpLlO.js +199 -0
  87. package/bundled-test-harness/assets/create-file-modal-D-VPyEYp.js +570 -0
  88. package/bundled-test-harness/assets/create-listing-modal-test-hyLkQY0u.js +273 -0
  89. package/bundled-test-harness/assets/create-listing-pr-request-test-rjWFA_5S.js +117 -0
  90. package/bundled-test-harness/assets/create-spec-test-HKIxZGxK.js +256 -0
  91. package/bundled-test-harness/assets/create-specs-9-ELVyJP.js +215 -0
  92. package/bundled-test-harness/assets/create-submission-workflow-test-DNZrbRX8.js +132 -0
  93. package/bundled-test-harness/assets/credential-fields-test-xPEdA911.js +157 -0
  94. package/bundled-test-harness/assets/css-value-Du3HL39X.js +48 -0
  95. package/bundled-test-harness/assets/csv-file-def-EHRmilrp.js +277 -0
  96. package/bundled-test-harness/assets/currency-y6ZCHIqG.js +134 -0
  97. package/bundled-test-harness/assets/date-B27PrSFT.js +183 -0
  98. package/bundled-test-harness/assets/date-CiP5Eb9i.js +2 -0
  99. package/bundled-test-harness/assets/date-time-fields-test-Clf5vxRW.js +359 -0
  100. package/bundled-test-harness/assets/datetime-BEbR9YgU.js +201 -0
  101. package/bundled-test-harness/assets/datetime-DPnrt1wl.js +2 -0
  102. package/bundled-test-harness/assets/datetime-stamp-AuT7F7qn.js +2 -0
  103. package/bundled-test-harness/assets/datetime-stamp-CGwP2P3f.js +81 -0
  104. package/bundled-test-harness/assets/day-BFLxZ9bQ.js +2 -0
  105. package/bundled-test-harness/assets/day-CQoEkqgE.js +113 -0
  106. package/bundled-test-harness/assets/debug-message-test-CzgOpfcI.js +117 -0
  107. package/bundled-test-harness/assets/dist-B-fYvxfL.js +389 -0
  108. package/bundled-test-harness/assets/dist-C2IXvIKX.js +323 -0
  109. package/bundled-test-harness/assets/dist-CdNZu43l.js +1710 -0
  110. package/bundled-test-harness/assets/docx-file-def-BQMw460_.js +60 -0
  111. package/bundled-test-harness/assets/docx-meta-extractor-DBlmH_kV.js +60 -0
  112. package/bundled-test-harness/assets/docx-meta-extractor-Dw4gZ0ae.js +2 -0
  113. package/bundled-test-harness/assets/duration-B0SnEiw1.js +184 -0
  114. package/bundled-test-harness/assets/duration-DbjJTFeA.js +2 -0
  115. package/bundled-test-harness/assets/email-C-8cyWiQ.js +80 -0
  116. package/bundled-test-harness/assets/email-field-test-BOBmvQqx.js +75 -0
  117. package/bundled-test-harness/assets/email-xUgCst-p.js +2 -0
  118. package/bundled-test-harness/assets/enum-BWiCyJlu.js +167 -0
  119. package/bundled-test-harness/assets/enum-CzYjivhO.js +2 -0
  120. package/bundled-test-harness/assets/enum-field-test-Bea9EsQR.js +953 -0
  121. package/bundled-test-harness/assets/error-display-test-Cbl2D_0c.js +343 -0
  122. package/bundled-test-harness/assets/ethereum-address-Bw_J05bD.js +78 -0
  123. package/bundled-test-harness/assets/ethereum-address-C9wHMBt3.js +2 -0
  124. package/bundled-test-harness/assets/expiration-warning-BHcJEjZt.js +90 -0
  125. package/bundled-test-harness/assets/expiration-warning-_G8SKZd0.js +2 -0
  126. package/bundled-test-harness/assets/externals-CKblKBo1.js +4393 -0
  127. package/bundled-test-harness/assets/fallback-banner-BqCrvTDt.js +24 -0
  128. package/bundled-test-harness/assets/fallback-banner-live-delete-test-D_AYMvf6.js +207 -0
  129. package/bundled-test-harness/assets/fallback-banner-test-B8Ne9a5g.js +225 -0
  130. package/bundled-test-harness/assets/fallback-banner-test-C7oaSxd1.js +53 -0
  131. package/bundled-test-harness/assets/fallback-models-test-DY-PvU9k.js +161 -0
  132. package/bundled-test-harness/assets/field-component-Bj8YthPE.js +2 -0
  133. package/bundled-test-harness/assets/field-configuration-test-B5LztQ47.js +548 -0
  134. package/bundled-test-harness/assets/field-edit-Cx_haspD.js +36 -0
  135. package/bundled-test-harness/assets/field-edit-DQZWUz3F.js +2 -0
  136. package/bundled-test-harness/assets/field-markdown-domain-test-DnqK3CrE.js +616 -0
  137. package/bundled-test-harness/assets/field-markdown-oversize-test-BEpbXIvl.js +88 -0
  138. package/bundled-test-harness/assets/field-markdown-primitives-test-BDORWoOk.js +365 -0
  139. package/bundled-test-harness/assets/field-markdown-specialized-test-BmIzadYq.js +534 -0
  140. package/bundled-test-harness/assets/field-test-helpers-CRF9-jFw.js +45 -0
  141. package/bundled-test-harness/assets/file-api-DPMJghBY.js +7 -0
  142. package/bundled-test-harness/assets/file-attachment-test-DFLXg3xV.js +796 -0
  143. package/bundled-test-harness/assets/file-chooser-panel-test-B4DzCWkt.js +153 -0
  144. package/bundled-test-harness/assets/file-chooser-test-DpjOWgpB.js +504 -0
  145. package/bundled-test-harness/assets/file-def-edit-Bstl7Kkl.js +2 -0
  146. package/bundled-test-harness/assets/file-def-edit-C1dzJxmQ.js +26 -0
  147. package/bundled-test-harness/assets/file-def-embedded-CUy4G7Vc.js +2 -0
  148. package/bundled-test-harness/assets/file-def-embedded-DJs6P5t0.js +38 -0
  149. package/bundled-test-harness/assets/file-def-fitted-BlrBFfLh.js +38 -0
  150. package/bundled-test-harness/assets/file-def-fitted-Bo5Qfkyf.js +2 -0
  151. package/bundled-test-harness/assets/file-def-isolated-BsHydanv.js +38 -0
  152. package/bundled-test-harness/assets/file-def-isolated-Dp-Lc99-.js +2 -0
  153. package/bundled-test-harness/assets/file-def-serialization-test-CISKpt_o.js +89 -0
  154. package/bundled-test-harness/assets/file-menu-items-7_ltrFZq.js +117 -0
  155. package/bundled-test-harness/assets/file-menu-items-BnRG9ydE.js +2 -0
  156. package/bundled-test-harness/assets/file-preview-stage-CV3qZpiK.js +72 -0
  157. package/bundled-test-harness/assets/file-preview-stage-DTA5X8rX.js +2 -0
  158. package/bundled-test-harness/assets/file-shell-embedded-BpmiVzIG.js +2 -0
  159. package/bundled-test-harness/assets/file-shell-embedded-CEv0-6OE.js +68 -0
  160. package/bundled-test-harness/assets/file-shell-fitted-C6k3GnMc.js +2 -0
  161. package/bundled-test-harness/assets/file-shell-fitted-iSTg3PJa.js +98 -0
  162. package/bundled-test-harness/assets/file-shell-isolated-C-pEod2J.js +195 -0
  163. package/bundled-test-harness/assets/file-shell-isolated-DI9oU7ix.js +2 -0
  164. package/bundled-test-harness/assets/file-tree-from-index-BtOOMqnb.js +151 -0
  165. package/bundled-test-harness/assets/file-tree-from-index-test-T8w3hPw_.js +96 -0
  166. package/bundled-test-harness/assets/film-5n9_gRqZ.js +4074 -0
  167. package/bundled-test-harness/assets/film-Ca2Vzlfu.js +13 -0
  168. package/bundled-test-harness/assets/film-DEvhBbBu.js +2 -0
  169. package/bundled-test-harness/assets/fitted-6OGuHgoU.js +2 -0
  170. package/bundled-test-harness/assets/fitted-B2l1jlSp.js +34 -0
  171. package/bundled-test-harness/assets/flac-meta-extractor-BoJqvmDC.js +99 -0
  172. package/bundled-test-harness/assets/font-file-def-Czzt5paT.js +64 -0
  173. package/bundled-test-harness/assets/font-meta-extractor-DQYT_e5b.js +2 -0
  174. package/bundled-test-harness/assets/font-meta-extractor-IHD-pG8V.js +303 -0
  175. package/bundled-test-harness/assets/formatted-aibot-message-test-Djsl8RzE.js +109 -0
  176. package/bundled-test-harness/assets/from-elsewhere-BXcLYxxu.js +131 -0
  177. package/bundled-test-harness/assets/frontmatter-field-CciolgL3.js +41 -0
  178. package/bundled-test-harness/assets/garbage-collection-test-BTOLAfB6.js +403 -0
  179. package/bundled-test-harness/assets/gauge-C1loqGq3.js +2 -0
  180. package/bundled-test-harness/assets/gauge-u8dxl90d.js +106 -0
  181. package/bundled-test-harness/assets/general-test-Cd5WtVvd.js +926 -0
  182. package/bundled-test-harness/assets/get-relationship-membership-state-test-DJAuhOVM.js +1308 -0
  183. package/bundled-test-harness/assets/gif-meta-extractor-tSaPtuYW.js +114 -0
  184. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-DNSy5l59.js +160 -0
  185. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-B6BbQxYq.js +74 -0
  186. package/bundled-test-harness/assets/helper-m6jA5HmU.js +478 -0
  187. package/bundled-test-harness/assets/host-submode-test-CsgdksBi.js +1243 -0
  188. package/bundled-test-harness/assets/html-file-def-yKtdMSa-.js +82 -0
  189. package/bundled-test-harness/assets/hydratable-card-CxNfbqly.js +147 -0
  190. package/bundled-test-harness/assets/hydratable-card-test-NJ4CI4ey.js +426 -0
  191. package/bundled-test-harness/assets/icons-B3SAtRoj.js +894 -0
  192. package/bundled-test-harness/assets/image-file-def-B0rpS3Yy.js +3 -0
  193. package/bundled-test-harness/assets/image-file-def-DUFmjNL8.js +65 -0
  194. package/bundled-test-harness/assets/image-olOUqgMQ.js +47 -0
  195. package/bundled-test-harness/assets/index-changes-test-D7OE-99k.js +367 -0
  196. package/bundled-test-harness/assets/index-query-engine-test-BBKqgSmg.js +2593 -0
  197. package/bundled-test-harness/assets/inspector-test-DV6Ms2uz.js +1930 -0
  198. package/bundled-test-harness/assets/instance-filter-matcher-test-Bs4kf7E8.js +788 -0
  199. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DIfgRhIN.js +475 -0
  200. package/bundled-test-harness/assets/interact-submode-setup-D4M_e580.js +566 -0
  201. package/bundled-test-harness/assets/is-component-declaration-test-jPGRTVh1.js +50 -0
  202. package/bundled-test-harness/assets/iso-bmff-DHtkSbQM.js +205 -0
  203. package/bundled-test-harness/assets/iso-bmff-zmOHoSVg.js +2 -0
  204. package/bundled-test-harness/assets/isolated-and-edit-BAnwcK1T.js +2 -0
  205. package/bundled-test-harness/assets/job-priority-header-test-7j2f3Dtl.js +81 -0
  206. package/bundled-test-harness/assets/job-scoped-instance-residency-test-DPzVQUL3.js +103 -0
  207. package/bundled-test-harness/assets/join-the-community-Ft5fjeIA.js +86 -0
  208. package/bundled-test-harness/assets/jpg-meta-extractor-Dsq6rZ8F.js +88 -0
  209. package/bundled-test-harness/assets/json-field-CxOZvp3k.js +19 -0
  210. package/bundled-test-harness/assets/json-field-ojdwGD6T.js +2 -0
  211. package/bundled-test-harness/assets/json-file-def-Da_5-zSM.js +298 -0
  212. package/bundled-test-harness/assets/last-modified-date-BnyJsc04.js +43 -0
  213. package/bundled-test-harness/assets/last-modified-date-test-DFl2mo1B.js +28 -0
  214. package/bundled-test-harness/assets/links-to-editor-DO24-71w.js +2 -0
  215. package/bundled-test-harness/assets/links-to-many-component-C7DabwAY.js +2 -0
  216. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-D4lDhvnQ.js +398 -0
  217. package/bundled-test-harness/assets/linksto-error-sentinel-test-oWgDz00K.js +238 -0
  218. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-CpSl7zJ7.js +354 -0
  219. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-DJY3J8Xl.js +303 -0
  220. package/bundled-test-harness/assets/linksto-sentinel-reload-test-BxzfoONe.js +197 -0
  221. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DyE99km_.js +260 -0
  222. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-dcWAAgxt.js +196 -0
  223. package/bundled-test-harness/assets/llm-model-DrswiczZ.js +64 -0
  224. package/bundled-test-harness/assets/login-C-EIG0-Q.css +543 -0
  225. package/bundled-test-harness/assets/login-CNeL-9IC.js +408 -0
  226. package/bundled-test-harness/assets/login-error-text-test-CEH2tjNP.js +51 -0
  227. package/bundled-test-harness/assets/login-test-BpMx7qwV.js +246 -0
  228. package/bundled-test-harness/assets/m4a-meta-extractor-BJkMHUIK.js +204 -0
  229. package/bundled-test-harness/assets/main-BaUgfpPE.js +5 -0
  230. package/bundled-test-harness/assets/markdown-ByEGbwov.js +7 -0
  231. package/bundled-test-harness/assets/markdown-KJzgTg-A.js +2 -0
  232. package/bundled-test-harness/assets/markdown-editor-mode-select-BUGPXaSE.js +2 -0
  233. package/bundled-test-harness/assets/markdown-editor-mode-select-DBk8dG0O.js +54 -0
  234. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-BIlEmna9.js +470 -0
  235. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-B6rscKpk.js +447 -0
  236. package/bundled-test-harness/assets/markdown-embed-preview-test-CTQw1wq-.js +368 -0
  237. package/bundled-test-harness/assets/markdown-fallback-BVsco6gJ.js +2 -0
  238. package/bundled-test-harness/assets/markdown-fallback-test-C_CIFEzH.js +316 -0
  239. package/bundled-test-harness/assets/markdown-highlighting-test-D6YvywF5.js +244 -0
  240. package/bundled-test-harness/assets/markdown-preview-1TSMSUv0.js +64 -0
  241. package/bundled-test-harness/assets/markdown-preview-jbuUjLoD.js +72 -0
  242. package/bundled-test-harness/assets/markdown-preview-test-zuU5uoA_.js +238 -0
  243. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-CoicGRkb.js +146 -0
  244. package/bundled-test-harness/assets/menu-items-DZ_uOoYu.js +2 -0
  245. package/bundled-test-harness/assets/message-tool-test-K6LgTq5d.js +33 -0
  246. package/bundled-test-harness/assets/metadata-fields-WiOuUCDl.js +1415 -0
  247. package/bundled-test-harness/assets/metadata-fields-iu5AfQp3.js +2 -0
  248. package/bundled-test-harness/assets/midi-audio-def-CD2-4Wjx.js +52 -0
  249. package/bundled-test-harness/assets/midi-meta-extractor-CE3sLiEV.js +284 -0
  250. package/bundled-test-harness/assets/midi-meta-extractor-O7c8LHYV.js +2 -0
  251. package/bundled-test-harness/assets/migrate-skill-test-Beh-AeSN.js +161 -0
  252. package/bundled-test-harness/assets/mini-BNXINKKF.js +85 -0
  253. package/bundled-test-harness/assets/mini-C43Q4BWp.js +1519 -0
  254. package/bundled-test-harness/assets/mini-card-chooser-test-B1GMp-31.js +272 -0
  255. package/bundled-test-harness/assets/mini-file-chooser-test-CbI1vrQn.js +201 -0
  256. package/bundled-test-harness/assets/missing-template-BPhJRbDs.js +48 -0
  257. package/bundled-test-harness/assets/missing-template-DP-Pi-HQ.js +2 -0
  258. package/bundled-test-harness/assets/modal-KpPz2f8x.js +322 -0
  259. package/bundled-test-harness/assets/modal-container-0Efz_h2z.js +40 -0
  260. package/bundled-test-harness/assets/model-cost-tier-test-D-5VSjh6.js +173 -0
  261. package/bundled-test-harness/assets/module-contents-service-BRkTETb6.js +256 -0
  262. package/bundled-test-harness/assets/moment-Cln59YUK.js +3474 -0
  263. package/bundled-test-harness/assets/monaco-AbHCoDJY.js +143 -0
  264. package/bundled-test-harness/assets/monaco-test-DCPi18sy.js +100 -0
  265. package/bundled-test-harness/assets/monaco-test-waiter-lvFEYpFj.js +190 -0
  266. package/bundled-test-harness/assets/month-1eUIsvWN.js +2 -0
  267. package/bundled-test-harness/assets/month-BeUdWMWQ.js +123 -0
  268. package/bundled-test-harness/assets/month-day-Bbsd8YbR.js +192 -0
  269. package/bundled-test-harness/assets/month-day-Dks5STJu.js +2 -0
  270. package/bundled-test-harness/assets/month-year-pL_rpUhX.js +2 -0
  271. package/bundled-test-harness/assets/month-year-wH_YnYgL.js +93 -0
  272. package/bundled-test-harness/assets/mp3-meta-extractor-C3u34UHM.js +476 -0
  273. package/bundled-test-harness/assets/mp4-meta-extractor-Bj3F7dxs.js +188 -0
  274. package/bundled-test-harness/assets/multiple-stacks-test-mkNdTUMI.js +208 -0
  275. package/bundled-test-harness/assets/nested-query-field-render-test-BQLn3wg9.js +249 -0
  276. package/bundled-test-harness/assets/no-stacks-test-DpwZQAJ-.js +48 -0
  277. package/bundled-test-harness/assets/number-DZa-fHpu.js +151 -0
  278. package/bundled-test-harness/assets/number-Dvua76YP.js +3 -0
  279. package/bundled-test-harness/assets/number-field-test-BiaH2eaB.js +184 -0
  280. package/bundled-test-harness/assets/number-input-D5nDYDkK.js +82 -0
  281. package/bundled-test-harness/assets/office-extract-JzYva33g.js +27 -0
  282. package/bundled-test-harness/assets/office-extract-XMpsyYRh.js +2 -0
  283. package/bundled-test-harness/assets/ogg-meta-extractor-DJosZ9LA.js +225 -0
  284. package/bundled-test-harness/assets/on-key-BBVkS8Bi.js +472 -0
  285. package/bundled-test-harness/assets/ooxml-BlAE2w4d.js +172 -0
  286. package/bundled-test-harness/assets/ooxml-D-p8OmuM.js +2 -0
  287. package/bundled-test-harness/assets/open-image-in-new-tab-test-DWBU5pw9.js +52 -0
  288. package/bundled-test-harness/assets/operation-lowering-test-nzqprueU.js +2812 -0
  289. package/bundled-test-harness/assets/operations-CPvfTuY3.js +766 -0
  290. package/bundled-test-harness/assets/operations-invocation-test-C75T6zn3.js +523 -0
  291. package/bundled-test-harness/assets/operations-query-test-BoCszQEW.js +459 -0
  292. package/bundled-test-harness/assets/operations-test-79ipSnpM.js +2518 -0
  293. package/bundled-test-harness/assets/operations-x3Aw2Nky.js +3 -0
  294. package/bundled-test-harness/assets/operator-mode-acceptance-test-jjsYtt96.js +1188 -0
  295. package/bundled-test-harness/assets/operator-mode-card-chooser-test-hZP9gEQK.js +1036 -0
  296. package/bundled-test-harness/assets/operator-mode-links-test-DN16SuIx.js +793 -0
  297. package/bundled-test-harness/assets/operator-mode-state-service-gwiTSiWX.js +1275 -0
  298. package/bundled-test-harness/assets/operator-mode-state-service-test-Dt2qnKKP.js +206 -0
  299. package/bundled-test-harness/assets/operator-mode-test-BZnnxO9q.js +683 -0
  300. package/bundled-test-harness/assets/operator-mode-ui-test-O--qEo-y.js +1027 -0
  301. package/bundled-test-harness/assets/overlay-menu-items-test-Bl2k0aAa.js +317 -0
  302. package/bundled-test-harness/assets/overlays-CdN_JokA.js +270 -0
  303. package/bundled-test-harness/assets/overlays-clip-test-DpbR1ZTz.js +91 -0
  304. package/bundled-test-harness/assets/overlays-detached-element-test-cLgEGvMs.js +56 -0
  305. package/bundled-test-harness/assets/pane-PYdezM7g.js +330 -0
  306. package/bundled-test-harness/assets/panel-7FDqkxrr.js +474 -0
  307. package/bundled-test-harness/assets/panel-C3E0s49q.js +3540 -0
  308. package/bundled-test-harness/assets/past-sessions-test-BsjEeoze.js +321 -0
  309. package/bundled-test-harness/assets/patch-fields-test-CsixJmSr.js +1014 -0
  310. package/bundled-test-harness/assets/patch-instance-test-CBDgTi0L.js +348 -0
  311. package/bundled-test-harness/assets/pdf-file-def-9VNjnqDa.js +76 -0
  312. package/bundled-test-harness/assets/pdf-meta-extractor-BF4e5kMR.js +156 -0
  313. package/bundled-test-harness/assets/pdf-meta-extractor-D8Bxh2cc.js +2 -0
  314. package/bundled-test-harness/assets/pdf-viewer-Bu413sN8.js +112 -0
  315. package/bundled-test-harness/assets/pdf-viewer-GKDi_xmf.js +2 -0
  316. package/bundled-test-harness/assets/percentage-TOr6qK2T.js +84 -0
  317. package/bundled-test-harness/assets/permission-checking-realm-test-BRNVYszm.js +306 -0
  318. package/bundled-test-harness/assets/phone-number-D5SR8nWu.js +236 -0
  319. package/bundled-test-harness/assets/phone-number-field-test-DffwtqGd.js +73 -0
  320. package/bundled-test-harness/assets/phone-number-hf_xIVGQ.js +2 -0
  321. package/bundled-test-harness/assets/plate-Vojc88hM.js +41 -0
  322. package/bundled-test-harness/assets/plate-dTUzEMj5.js +2 -0
  323. package/bundled-test-harness/assets/player-CmRw0uM5.js +82 -0
  324. package/bundled-test-harness/assets/player-Dt85lPZl.js +2 -0
  325. package/bundled-test-harness/assets/plural-field-components-test-DNpGuH1D.js +198 -0
  326. package/bundled-test-harness/assets/png-image-def-GY7gjqya.js +48 -0
  327. package/bundled-test-harness/assets/png-meta-extractor-4pI611re.js +2 -0
  328. package/bundled-test-harness/assets/png-meta-extractor-CHp_rpAi.js +111 -0
  329. package/bundled-test-harness/assets/policy-scoped-search-test-CipPu7tY.js +339 -0
  330. package/bundled-test-harness/assets/pptx-file-def-lBBiebvn.js +60 -0
  331. package/bundled-test-harness/assets/pptx-meta-extractor-BjJYWiOJ.js +77 -0
  332. package/bundled-test-harness/assets/pptx-meta-extractor-DbT-dPRg.js +2 -0
  333. package/bundled-test-harness/assets/prerender-persistence-block-test-ClHMVvJt.js +124 -0
  334. package/bundled-test-harness/assets/prerender-serialize-cycle-test-LdqaMTK8.js +134 -0
  335. package/bundled-test-harness/assets/preview-CYlam_aW.js +74 -0
  336. package/bundled-test-harness/assets/preview-format-CiSo4kEa.js +41 -0
  337. package/bundled-test-harness/assets/preview-format-test-MsB1TOLB.js +103 -0
  338. package/bundled-test-harness/assets/process-card-B3xBGkv1.js +2 -0
  339. package/bundled-test-harness/assets/process-card-DumVcx9E.js +114 -0
  340. package/bundled-test-harness/assets/process-card-test-C44H8yVy.js +94 -0
  341. package/bundled-test-harness/assets/profile-settings-modal-ipYzrVTz.js +708 -0
  342. package/bundled-test-harness/assets/progress-circle-DJ6WSO2E.js +95 -0
  343. package/bundled-test-harness/assets/progress-circle-q358_9Sn.js +2 -0
  344. package/bundled-test-harness/assets/quarter-BjO5DlU2.js +2 -0
  345. package/bundled-test-harness/assets/quarter-_D72FwfS.js +168 -0
  346. package/bundled-test-harness/assets/query-field-membership-status-test-CzDyfK49.js +323 -0
  347. package/bundled-test-harness/assets/query-field-page-optin-test-B-x3vsmC.js +126 -0
  348. package/bundled-test-harness/assets/query-field-schema-test-DFw6KuYv.js +231 -0
  349. package/bundled-test-harness/assets/query-field-stale-prerender-test-DSQ-cv_O.js +152 -0
  350. package/bundled-test-harness/assets/query-fields-test-DQiMFRCe.js +535 -0
  351. package/bundled-test-harness/assets/rail-CNspDFyn.js +44 -0
  352. package/bundled-test-harness/assets/rail-D2YcQ0VP.js +2 -0
  353. package/bundled-test-harness/assets/realm-82Z5RUM_.js +95 -0
  354. package/bundled-test-harness/assets/realm-config-SgrwqjRu.js +844 -0
  355. package/bundled-test-harness/assets/realm-config-policy-standing-test-C6sQNk2u.js +290 -0
  356. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-DcYXBlvi.js +274 -0
  357. package/bundled-test-harness/assets/realm-config-settings-test-DblJv06X.js +187 -0
  358. package/bundled-test-harness/assets/realm-dropdown-CDvL8k3B.js +560 -0
  359. package/bundled-test-harness/assets/realm-et890flh.js +2 -0
  360. package/bundled-test-harness/assets/realm-field-test-pBK_x-Xw.js +100 -0
  361. package/bundled-test-harness/assets/realm-indexing-test-DSFn2F8F.js +4380 -0
  362. package/bundled-test-harness/assets/realm-policy-test-DYnLqzTS.js +1141 -0
  363. package/bundled-test-harness/assets/realm-test-DOZT2EG5.js +2363 -0
  364. package/bundled-test-harness/assets/realm-url-tooltip-qaXTjRb-.js +56 -0
  365. package/bundled-test-harness/assets/realm-url-tooltip-test-DGTEeLH9.js +78 -0
  366. package/bundled-test-harness/assets/reasoning-test-BRkhvYjr.js +234 -0
  367. package/bundled-test-harness/assets/recent-colors-addon-BreXcpg8.js +2 -0
  368. package/bundled-test-harness/assets/recent-colors-addon-CmCkbJ2_.js +61 -0
  369. package/bundled-test-harness/assets/relationship-loading-state-test-B6UGYKzG.js +290 -0
  370. package/bundled-test-harness/assets/relative-time-BjHvL023.js +2 -0
  371. package/bundled-test-harness/assets/relative-time-ChYKOMIM.js +129 -0
  372. package/bundled-test-harness/assets/remix-card-test-CpV0kKfq.js +58 -0
  373. package/bundled-test-harness/assets/rendered-markdown-CJa7IzCC.js +263 -0
  374. package/bundled-test-harness/assets/rendered-markdown-test-CVKsHS4P.js +587 -0
  375. package/bundled-test-harness/assets/resident-instance-reuse-test-jQfW1NMn.js +82 -0
  376. package/bundled-test-harness/assets/response-field-B2-daCl2.js +38 -0
  377. package/bundled-test-harness/assets/result-tile-BSg4mzbc.js +140 -0
  378. package/bundled-test-harness/assets/rich-markdown-BtP1yamM.js +2 -0
  379. package/bundled-test-harness/assets/rich-markdown-C6rQUngb.js +218 -0
  380. package/bundled-test-harness/assets/rich-markdown-field-test-9yB6ykCe.js +1647 -0
  381. package/bundled-test-harness/assets/room-C7tKd02X.js +1008 -0
  382. package/bundled-test-harness/assets/room-message-test-DsMmRYpV.js +445 -0
  383. package/bundled-test-harness/assets/room-test-golI1H61.js +95 -0
  384. package/bundled-test-harness/assets/run-realm-code-CbXk6bnK.js +1600 -0
  385. package/bundled-test-harness/assets/run-realm-code-test-B9JeesaW.js +2468 -0
  386. package/bundled-test-harness/assets/schema-generation-test-uLLGm5Vh.js +28 -0
  387. package/bundled-test-harness/assets/score-BQhCQdUP.js +2 -0
  388. package/bundled-test-harness/assets/score-CoWEzENH.js +100 -0
  389. package/bundled-test-harness/assets/scrolling-test-WHWEkKeZ.js +384 -0
  390. package/bundled-test-harness/assets/search-BkQYpQDY.js +605 -0
  391. package/bundled-test-harness/assets/search-adorn-test-CW92JPOk.js +136 -0
  392. package/bundled-test-harness/assets/search-entries-BU4w6Ymc.js +472 -0
  393. package/bundled-test-harness/assets/search-entries-result-test-9eydsDtD.js +234 -0
  394. package/bundled-test-harness/assets/search-entries-test-ByUREx0G.js +1486 -0
  395. package/bundled-test-harness/assets/search-result-header-UFkdo0Bx.js +128 -0
  396. package/bundled-test-harness/assets/search-results-DrHTuVRZ.js +266 -0
  397. package/bundled-test-harness/assets/search-results-test-krtQQM57.js +578 -0
  398. package/bundled-test-harness/assets/search-selection-menu-test-DoqSbez7.js +108 -0
  399. package/bundled-test-harness/assets/search-sheet-persistence-test-4ZPaEY-y.js +131 -0
  400. package/bundled-test-harness/assets/search-test-BYpq32RM.js +2241 -0
  401. package/bundled-test-harness/assets/searchable-BXw4T11q.js +192 -0
  402. package/bundled-test-harness/assets/searchable-CVvPDA3Q.js +2 -0
  403. package/bundled-test-harness/assets/searchable-option-test-BhLFI4ei.js +322 -0
  404. package/bundled-test-harness/assets/searchable-search-doc-test-DrNLCF73.js +1271 -0
  405. package/bundled-test-harness/assets/secure-sign-in-VNQhe0ae.js +130 -0
  406. package/bundled-test-harness/assets/secure-sign-in-Za8PX9cD.css +24 -0
  407. package/bundled-test-harness/assets/secure-sign-in-aunWHCrB.js +73 -0
  408. package/bundled-test-harness/assets/secure-sign-in-test-BcY1TcNd.js +32 -0
  409. package/bundled-test-harness/assets/secure-sign-in-test-DRdz89BT.js +245 -0
  410. package/bundled-test-harness/assets/sending-test-mbHpGZUu.js +576 -0
  411. package/bundled-test-harness/assets/serialization-rri-form-audit-test-nypV9J82.js +136 -0
  412. package/bundled-test-harness/assets/serialization-test-aLwrFv4d.js +8758 -0
  413. package/bundled-test-harness/assets/setup-Dgn0s6Zk.js +772 -0
  414. package/bundled-test-harness/assets/shared-link-target-reuse-test-D9MR2UNc.js +207 -0
  415. package/bundled-test-harness/assets/show-card-Dwfk332M.js +67 -0
  416. package/bundled-test-harness/assets/show-card-test-CRPwwJvc.js +365 -0
  417. package/bundled-test-harness/assets/show-file-DLdFPHMR.js +34 -0
  418. package/bundled-test-harness/assets/signed-capture-DUR9PohQ.js +204 -0
  419. package/bundled-test-harness/assets/signed-capture-link-test-DfTAB6OT.js +132 -0
  420. package/bundled-test-harness/assets/single-stack-test-Crr_8nti.js +652 -0
  421. package/bundled-test-harness/assets/skill-DQ00VonZ.js +3 -0
  422. package/bundled-test-harness/assets/skill-reference-LEitQV9i.js +112 -0
  423. package/bundled-test-harness/assets/skill-yZXS1VHQ.js +76 -0
  424. package/bundled-test-harness/assets/skills-test-D3-C-Dbm.js +648 -0
  425. package/bundled-test-harness/assets/slider-picker-B6AxKL2j.js +245 -0
  426. package/bundled-test-harness/assets/slider-picker-C4Tc5o-s.js +2 -0
  427. package/bundled-test-harness/assets/spec-Cl_LB6nC.js +602 -0
  428. package/bundled-test-harness/assets/spinner-BHFM7zcR.js +39 -0
  429. package/bundled-test-harness/assets/spinner-DvAvsyDT.css +21 -0
  430. package/bundled-test-harness/assets/store-BV6WX8oV.js +2205 -0
  431. package/bundled-test-harness/assets/store-module-rebuild-test-HyphFJiF.js +454 -0
  432. package/bundled-test-harness/assets/store-search-test-nUeJ5opb.js +175 -0
  433. package/bundled-test-harness/assets/store-test-BebUIJAg.js +3460 -0
  434. package/bundled-test-harness/assets/string-BHZZwNlZ.js +9 -0
  435. package/bundled-test-harness/assets/submode-switcher-D-U9cXo0.js +169 -0
  436. package/bundled-test-harness/assets/svg-meta-extractor-BsG4w2nX.js +42 -0
  437. package/bundled-test-harness/assets/swatches-picker-4vFztxHo.js +33 -0
  438. package/bundled-test-harness/assets/swatches-picker-C7RE7uJ8.js +2 -0
  439. package/bundled-test-harness/assets/switch-submode-CuA0Zfjn.js +79 -0
  440. package/bundled-test-harness/assets/switch-submode-test-i1Qic_Cp.js +168 -0
  441. package/bundled-test-harness/assets/tag-CZNs3DPN.js +105 -0
  442. package/bundled-test-harness/assets/tests-BneuP252.js +3523 -0
  443. package/bundled-test-harness/assets/text-area-DAShQQBe.js +9 -0
  444. package/bundled-test-harness/assets/text-file-def-D2Rs6nS1.js +151 -0
  445. package/bundled-test-harness/assets/text-input-validator-test-C9IG-1GZ.js +156 -0
  446. package/bundled-test-harness/assets/theme-Dm8LWaRK.js +9 -0
  447. package/bundled-test-harness/assets/theme-card-test-Cbb6tAap.js +621 -0
  448. package/bundled-test-harness/assets/theme-scheme-island-test-DOVLakx3.js +264 -0
  449. package/bundled-test-harness/assets/three-d-model-def-DWSPQGgD.js +70 -0
  450. package/bundled-test-harness/assets/time--_Txqya1.js +126 -0
  451. package/bundled-test-harness/assets/time-DKD7Bdjd.js +2 -0
  452. package/bundled-test-harness/assets/time-slots-BZaugjq_.js +2 -0
  453. package/bundled-test-harness/assets/time-slots-C85M0rWl.js +85 -0
  454. package/bundled-test-harness/assets/timeline-B3KGDm3M.js +2 -0
  455. package/bundled-test-harness/assets/timeline-BMwgaZZu.js +59 -0
  456. package/bundled-test-harness/assets/to-device-streaming-test-CMp5bFiz.js +163 -0
  457. package/bundled-test-harness/assets/token-usage-test-CXA0b8Ep.js +166 -0
  458. package/bundled-test-harness/assets/tool-field-BGLelnsr.js +94 -0
  459. package/bundled-test-harness/assets/tool-field-BOFuDDt3.js +2 -0
  460. package/bundled-test-harness/assets/tools-CTjy7Aub.js +725 -0
  461. package/bundled-test-harness/assets/tools-calling-test--JR-7AK7.js +200 -0
  462. package/bundled-test-harness/assets/tools-test-6yAW3W5I.js +2820 -0
  463. package/bundled-test-harness/assets/tools-test-DhpMUQkz.js +1624 -0
  464. package/bundled-test-harness/assets/ts-file-def-CDbf8aw2.js +159 -0
  465. package/bundled-test-harness/assets/update-room-skills-test-DoKsS_1C.js +240 -0
  466. package/bundled-test-harness/assets/url-D0ooeJxC.js +2 -0
  467. package/bundled-test-harness/assets/url-mFskVPSX.js +96 -0
  468. package/bundled-test-harness/assets/video-file-def-AcmWqzev.js +76 -0
  469. package/bundled-test-harness/assets/wav-meta-extractor-CbTLruQf.js +368 -0
  470. package/bundled-test-harness/assets/webm-meta-extractor-C9JH-CMX.js +178 -0
  471. package/bundled-test-harness/assets/webp-meta-extractor-C6sHm4J7.js +98 -0
  472. package/bundled-test-harness/assets/website-Bxuk_OmR.js +92 -0
  473. package/bundled-test-harness/assets/week-Bxssxce7.js +2 -0
  474. package/bundled-test-harness/assets/week-DQLj9974.js +111 -0
  475. package/bundled-test-harness/assets/welcome-to-boxel-BH82RsW5.js +172 -0
  476. package/bundled-test-harness/assets/workspace-DJ_s2x4g.js +614 -0
  477. package/bundled-test-harness/assets/workspace-a11y-test-BJbZNgoP.js +197 -0
  478. package/bundled-test-harness/assets/workspace-behavior-test-BLBARTfb.js +200 -0
  479. package/bundled-test-harness/assets/workspace-chooser-BpmlVrVn.js +2219 -0
  480. package/bundled-test-harness/assets/workspace-chooser-CqLR2Dzh.css +1296 -0
  481. package/bundled-test-harness/assets/workspace-chooser-catalog-order-test-CmAVNAWC.js +36 -0
  482. package/bundled-test-harness/assets/workspace-chooser-unreachable-notice-test-DEfG7Uh9.js +60 -0
  483. package/bundled-test-harness/assets/workspace-delete-multiple-test-DE7Z8ooj.js +212 -0
  484. package/bundled-test-harness/assets/workspace-delete-summary-test-CwtG_zLH.js +63 -0
  485. package/bundled-test-harness/assets/workspace-timestamp-labels-test-DFAaRmJW.js +58 -0
  486. package/bundled-test-harness/assets/xlsx-file-def-DcvaRYnZ.js +60 -0
  487. package/bundled-test-harness/assets/xlsx-meta-extractor-0RlViVaf.js +101 -0
  488. package/bundled-test-harness/assets/xlsx-meta-extractor-BH30Vuem.js +2 -0
  489. package/bundled-test-harness/assets/year-B_MBk_hE.js +78 -0
  490. package/bundled-test-harness/assets/year-hSpccI9L.js +2 -0
  491. package/bundled-test-harness/assets/zip-file-def-c84iddi9.js +288 -0
  492. package/bundled-test-harness/index.html +78 -68
  493. package/bundled-test-harness/tests/index.html +78 -68
  494. package/bundled-types/host-app/components/matrix/account-switch-failed.gts +2 -2
  495. package/bundled-types/host-app/components/matrix/auth.gts +2 -2
  496. package/bundled-types/host-app/components/matrix/cli-auth.gts +7 -6
  497. package/bundled-types/host-app/components/matrix/forgot-password.gts +43 -129
  498. package/bundled-types/host-app/components/matrix/login.gts +15 -118
  499. package/bundled-types/host-app/components/matrix/register-user.gts +45 -226
  500. package/bundled-types/host-app/components/matrix/secure-sign-in.gts +235 -0
  501. package/bundled-types/host-app/components/operator-mode/container.gts +13 -1
  502. package/bundled-types/host-app/components/operator-mode/profile-info-popover.gts +1 -1
  503. package/bundled-types/host-app/config/environment.ts +1 -1
  504. package/bundled-types/host-app/lib/secure-sign-in.ts +130 -0
  505. package/bundled-types/host-app/services/matrix-service.ts +46 -0
  506. package/bundled-types/host-app/services/monaco-service.ts +0 -5
  507. package/bundled-types/host-app/utils/login-token.ts +23 -10
  508. package/dist/api.js +1 -1
  509. package/dist/index.js +289 -285
  510. package/package.json +1 -1
  511. package/src/build-program.ts +6 -2
  512. package/src/commands/profile.ts +72 -3
  513. package/src/lib/profile-manager.ts +5 -1
  514. package/src/lib/secure-session.ts +29 -0
  515. package/src/lib/sso-login.ts +94 -15
  516. package/bundled-test-harness/assets/account-switch-failed-B3pr_iC3.js +0 -32
  517. package/bundled-test-harness/assets/account-switch-failed-DTGZZo-G.css +0 -61
  518. package/bundled-test-harness/assets/account-switch-failed-test-9ENVgvlx.js +0 -45
  519. package/bundled-test-harness/assets/add-workspace-BAbk0250.js +0 -141
  520. package/bundled-test-harness/assets/add-workspace-test-ChAja_t-.js +0 -72
  521. package/bundled-test-harness/assets/advanced-color-picker-C-xBFJ2S.js +0 -504
  522. package/bundled-test-harness/assets/advanced-color-picker-bWAmCT-8.js +0 -2
  523. package/bundled-test-harness/assets/ai-assistant-test-BJ9yetuC.js +0 -2211
  524. package/bundled-test-harness/assets/ai-module-creation-test-Bw3TKS9d.js +0 -151
  525. package/bundled-test-harness/assets/aibot-message-DkgHT6eJ.js +0 -465
  526. package/bundled-test-harness/assets/app-DW5QjtRp.js +0 -22816
  527. package/bundled-test-harness/assets/app-yCDjO4mk.css +0 -2718
  528. package/bundled-test-harness/assets/audio-file-def-bJ3cXVmC.js +0 -133
  529. package/bundled-test-harness/assets/avif-meta-extractor-CrSDfYEt.js +0 -162
  530. package/bundled-test-harness/assets/base64-image-C7UBjK5W.js +0 -262
  531. package/bundled-test-harness/assets/base64-image-CjWpxROT.js +0 -2
  532. package/bundled-test-harness/assets/big-integer-BBql7oGZ.js +0 -89
  533. package/bundled-test-harness/assets/big-integer-B_TrzRy_.js +0 -2
  534. package/bundled-test-harness/assets/binary-upload-dedupe-test-BiX8kS7D.js +0 -308
  535. package/bundled-test-harness/assets/boolean-9LNUUTfw.js +0 -2
  536. package/bundled-test-harness/assets/boolean-BAmK01TF.js +0 -94
  537. package/bundled-test-harness/assets/brand-functional-palette-CFuoS-LS.js +0 -137
  538. package/bundled-test-harness/assets/brand-logo-By89eknI.js +0 -295
  539. package/bundled-test-harness/assets/broken-link-template-test-odBriDSP.js +0 -192
  540. package/bundled-test-harness/assets/bundled-base-CLQkkmN4.js +0 -254
  541. package/bundled-test-harness/assets/bundled-base-modules-test-BYrTaTwa.js +0 -54
  542. package/bundled-test-harness/assets/buried-stack-item-scroll-test-DU4bM5nd.js +0 -236
  543. package/bundled-test-harness/assets/bxl-expression-test-Cs9JaZbC.js +0 -250
  544. package/bundled-test-harness/assets/can-invoke-test-ccMc06BU.js +0 -401
  545. package/bundled-test-harness/assets/card-api-Bn65NUT0.js +0 -8
  546. package/bundled-test-harness/assets/card-api-test-COrFXu2i.js +0 -198
  547. package/bundled-test-harness/assets/card-api-u1pOrwS6.js +0 -4393
  548. package/bundled-test-harness/assets/card-basics-test-D4rn3iN-.js +0 -5364
  549. package/bundled-test-harness/assets/card-chooser-paging-test-bZhdrUXt.js +0 -235
  550. package/bundled-test-harness/assets/card-chooser-test-D9w1duob.js +0 -393
  551. package/bundled-test-harness/assets/card-collection-ClCV-__1.js +0 -118
  552. package/bundled-test-harness/assets/card-context-search-results-H_rN3Upz.js +0 -30
  553. package/bundled-test-harness/assets/card-context-search-results-test-jciyaouV.js +0 -184
  554. package/bundled-test-harness/assets/card-def-field-def-relationships-test-BVZoQzM8.js +0 -562
  555. package/bundled-test-harness/assets/card-delete-test-CuLcZFnY.js +0 -466
  556. package/bundled-test-harness/assets/card-error-DIOivSkD.js +0 -72
  557. package/bundled-test-harness/assets/card-error-awaiting-index-test-JMwcRONq.js +0 -53
  558. package/bundled-test-harness/assets/card-error-detail-96jWBx6B.js +0 -271
  559. package/bundled-test-harness/assets/card-info-BxPtwG1h.js +0 -2
  560. package/bundled-test-harness/assets/card-list-B34qY3io.js +0 -2
  561. package/bundled-test-harness/assets/card-list-BpCaKkZJ.js +0 -202
  562. package/bundled-test-harness/assets/card-resource-DcPbIwH9.js +0 -86
  563. package/bundled-test-harness/assets/cards-grid-CTN8nBT_.js +0 -344
  564. package/bundled-test-harness/assets/cards-grid-Cx44vL-M.js +0 -2
  565. package/bundled-test-harness/assets/cards-grid-layout-BdL0Uzxl.js +0 -111
  566. package/bundled-test-harness/assets/cards-grid-layout-Dn8Yb4ma.js +0 -2
  567. package/bundled-test-harness/assets/check-correctness-test-BfMV-MC0.js +0 -554
  568. package/bundled-test-harness/assets/clip-CK6mVuyN.js +0 -92
  569. package/bundled-test-harness/assets/clip-CfXD1JTr.js +0 -2
  570. package/bundled-test-harness/assets/code-ref-85Bih6Zl.js +0 -138
  571. package/bundled-test-harness/assets/code-ref-DATHaoyt.js +0 -2
  572. package/bundled-test-harness/assets/code-submode-availability-test-DLYlx0wo.js +0 -198
  573. package/bundled-test-harness/assets/code-submode-test-CDIi7MjD.js +0 -1824
  574. package/bundled-test-harness/assets/codeblocks-test-CNPyTvuv.js +0 -418
  575. package/bundled-test-harness/assets/codemirror-editor-BPOPTR-f.js +0 -2
  576. package/bundled-test-harness/assets/codemirror-editor-DPhG0pec.js +0 -701
  577. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-Dk5lFOUq.js +0 -366
  578. package/bundled-test-harness/assets/color-BxN5gRSg.js +0 -65
  579. package/bundled-test-harness/assets/color-CrunRcis.js +0 -2
  580. package/bundled-test-harness/assets/color-field-test-COjFIpXV.js +0 -212
  581. package/bundled-test-harness/assets/color-picker-field-C-GS1CIw.js +0 -139
  582. package/bundled-test-harness/assets/color-picker-field-D3RXhbCK.js +0 -2
  583. package/bundled-test-harness/assets/color-wheel-picker-Bz8cBmf4.js +0 -283
  584. package/bundled-test-harness/assets/color-wheel-picker-DrwPrB8B.js +0 -2
  585. package/bundled-test-harness/assets/command-data-BxXgtNBf.js +0 -2
  586. package/bundled-test-harness/assets/command-data-ZdkcpEgG.js +0 -95
  587. package/bundled-test-harness/assets/compaction-test-DS7DTGT_.js +0 -150
  588. package/bundled-test-harness/assets/components-CbCTWAON.js +0 -17777
  589. package/bundled-test-harness/assets/computed-test-D_OrXDtR.js +0 -1320
  590. package/bundled-test-harness/assets/container-DDolu1gk.js +0 -11109
  591. package/bundled-test-harness/assets/container-DndcCIMv.css +0 -5169
  592. package/bundled-test-harness/assets/contains-many-component-BtgnAXih.js +0 -2
  593. package/bundled-test-harness/assets/contrast-checker-addon-kwtLKWdL.js +0 -2
  594. package/bundled-test-harness/assets/contrast-checker-addon-zFY5cen1.js +0 -71
  595. package/bundled-test-harness/assets/convert-to-class-name-test-BcGWl2K1.js +0 -17
  596. package/bundled-test-harness/assets/coordinate-D72EF1Pl.js +0 -48
  597. package/bundled-test-harness/assets/copy-file-to-realm-test-CYoDX4YV.js +0 -148
  598. package/bundled-test-harness/assets/country-B-iIe5v8.js +0 -199
  599. package/bundled-test-harness/assets/create-file-modal-PpvMksjR.js +0 -570
  600. package/bundled-test-harness/assets/create-listing-modal-test-CQtEf_UD.js +0 -273
  601. package/bundled-test-harness/assets/create-listing-pr-request-test-CDtKWyfk.js +0 -117
  602. package/bundled-test-harness/assets/create-spec-test-Cbqk8I9T.js +0 -256
  603. package/bundled-test-harness/assets/create-specs-CZg2cpnh.js +0 -215
  604. package/bundled-test-harness/assets/create-submission-workflow-test-CYrxF7bg.js +0 -132
  605. package/bundled-test-harness/assets/credential-fields-test-Di4jCJgU.js +0 -157
  606. package/bundled-test-harness/assets/css-value-CceJyI5o.js +0 -48
  607. package/bundled-test-harness/assets/csv-file-def-DJL2aZI9.js +0 -277
  608. package/bundled-test-harness/assets/currency-Bn5WIqzF.js +0 -134
  609. package/bundled-test-harness/assets/date-XI2CVYA2.js +0 -2
  610. package/bundled-test-harness/assets/date-h83UJcFR.js +0 -183
  611. package/bundled-test-harness/assets/date-time-fields-test-Cterr2mj.js +0 -359
  612. package/bundled-test-harness/assets/datetime-DadI80tC.js +0 -201
  613. package/bundled-test-harness/assets/datetime-Dpb_Sejj.js +0 -2
  614. package/bundled-test-harness/assets/datetime-stamp-C4vv397u.js +0 -81
  615. package/bundled-test-harness/assets/datetime-stamp-DIsJdQux.js +0 -2
  616. package/bundled-test-harness/assets/day-C4pZoGNM.js +0 -113
  617. package/bundled-test-harness/assets/day-D0goBhKb.js +0 -2
  618. package/bundled-test-harness/assets/debug-message-test-CV0sj-fl.js +0 -117
  619. package/bundled-test-harness/assets/dist-CAIttNZm.js +0 -1710
  620. package/bundled-test-harness/assets/dist-CLbqnmnm.js +0 -389
  621. package/bundled-test-harness/assets/dist-qkBOmIQy.js +0 -323
  622. package/bundled-test-harness/assets/docx-file-def-hz2tVQKf.js +0 -60
  623. package/bundled-test-harness/assets/docx-meta-extractor-CeRshlxL.js +0 -60
  624. package/bundled-test-harness/assets/docx-meta-extractor-muK5CKF3.js +0 -2
  625. package/bundled-test-harness/assets/duration-BYx1dLfm.js +0 -2
  626. package/bundled-test-harness/assets/duration-FAmTFeUa.js +0 -184
  627. package/bundled-test-harness/assets/email-D-bFy_C1.js +0 -80
  628. package/bundled-test-harness/assets/email-field-test-CY9K2zur.js +0 -75
  629. package/bundled-test-harness/assets/email-j4DZNH2-.js +0 -2
  630. package/bundled-test-harness/assets/enum-B7_baAn_.js +0 -167
  631. package/bundled-test-harness/assets/enum-BQqNzVQS.js +0 -2
  632. package/bundled-test-harness/assets/enum-field-test-BJ9Epz15.js +0 -953
  633. package/bundled-test-harness/assets/error-display-test-CbDWjJ2F.js +0 -343
  634. package/bundled-test-harness/assets/ethereum-address-BOLEnKsm.js +0 -78
  635. package/bundled-test-harness/assets/ethereum-address-s3Kvb2wG.js +0 -2
  636. package/bundled-test-harness/assets/expiration-warning-BaIP1MOZ.js +0 -2
  637. package/bundled-test-harness/assets/expiration-warning-gjEtxPk0.js +0 -90
  638. package/bundled-test-harness/assets/externals-Bih8ejPS.js +0 -4393
  639. package/bundled-test-harness/assets/fallback-banner-MlImHjSD.js +0 -24
  640. package/bundled-test-harness/assets/fallback-banner-live-delete-test-Bm7IKXPf.js +0 -207
  641. package/bundled-test-harness/assets/fallback-banner-test-C7TGA0Ob.js +0 -53
  642. package/bundled-test-harness/assets/fallback-banner-test-lvuaVRXu.js +0 -225
  643. package/bundled-test-harness/assets/fallback-models-test-Dy7iIKUS.js +0 -161
  644. package/bundled-test-harness/assets/field-component-DBoOxTke.js +0 -2
  645. package/bundled-test-harness/assets/field-configuration-test-DnAnzyC-.js +0 -548
  646. package/bundled-test-harness/assets/field-edit-DdJ8Akso.js +0 -2
  647. package/bundled-test-harness/assets/field-edit-XAop92l8.js +0 -36
  648. package/bundled-test-harness/assets/field-markdown-domain-test-cZCqbcjj.js +0 -616
  649. package/bundled-test-harness/assets/field-markdown-oversize-test-BuATetVz.js +0 -88
  650. package/bundled-test-harness/assets/field-markdown-primitives-test-BsubQfhv.js +0 -365
  651. package/bundled-test-harness/assets/field-markdown-specialized-test-4eNLiYpF.js +0 -534
  652. package/bundled-test-harness/assets/field-test-helpers-9I7cHnaU.js +0 -45
  653. package/bundled-test-harness/assets/file-api-CC86I7Er.js +0 -7
  654. package/bundled-test-harness/assets/file-attachment-test-o9191GMb.js +0 -796
  655. package/bundled-test-harness/assets/file-chooser-panel-test-C8aZuJlk.js +0 -153
  656. package/bundled-test-harness/assets/file-chooser-test-B0Tn8CCR.js +0 -504
  657. package/bundled-test-harness/assets/file-def-edit-BSiF2Lje.js +0 -2
  658. package/bundled-test-harness/assets/file-def-edit-C5TYBp_q.js +0 -26
  659. package/bundled-test-harness/assets/file-def-embedded-BLVTCiVB.js +0 -2
  660. package/bundled-test-harness/assets/file-def-embedded-Bep4iD6s.js +0 -38
  661. package/bundled-test-harness/assets/file-def-fitted-BTs-AS78.js +0 -2
  662. package/bundled-test-harness/assets/file-def-fitted-DcPitdYu.js +0 -38
  663. package/bundled-test-harness/assets/file-def-isolated-Kg1YVhm-.js +0 -38
  664. package/bundled-test-harness/assets/file-def-isolated-tK5JWCam.js +0 -2
  665. package/bundled-test-harness/assets/file-def-serialization-test-D4wnd5XK.js +0 -89
  666. package/bundled-test-harness/assets/file-menu-items-CH4-naSK.js +0 -117
  667. package/bundled-test-harness/assets/file-menu-items-emUxx3ZI.js +0 -2
  668. package/bundled-test-harness/assets/file-preview-stage-B1McIWwu.js +0 -2
  669. package/bundled-test-harness/assets/file-preview-stage-BgZLNMN4.js +0 -72
  670. package/bundled-test-harness/assets/file-shell-embedded-BmfuwWfU.js +0 -2
  671. package/bundled-test-harness/assets/file-shell-embedded-zh8CJanA.js +0 -68
  672. package/bundled-test-harness/assets/file-shell-fitted-DSFUNRGJ.js +0 -2
  673. package/bundled-test-harness/assets/file-shell-fitted-DXKDH0fn.js +0 -98
  674. package/bundled-test-harness/assets/file-shell-isolated-0F1MFv4q.js +0 -2
  675. package/bundled-test-harness/assets/file-shell-isolated-DduZZzmi.js +0 -195
  676. package/bundled-test-harness/assets/file-tree-from-index-BzDvvUHy.js +0 -151
  677. package/bundled-test-harness/assets/file-tree-from-index-test-D0hfI4a1.js +0 -96
  678. package/bundled-test-harness/assets/film-BN_HVXBU.js +0 -13
  679. package/bundled-test-harness/assets/film-CKkbUi0L.js +0 -2
  680. package/bundled-test-harness/assets/film-CMNJITZ-.js +0 -4074
  681. package/bundled-test-harness/assets/fitted-CAvdcKpu.js +0 -34
  682. package/bundled-test-harness/assets/fitted-CbKOwd1u.js +0 -2
  683. package/bundled-test-harness/assets/flac-meta-extractor-e8qajPSl.js +0 -99
  684. package/bundled-test-harness/assets/font-file-def-9atde5W8.js +0 -64
  685. package/bundled-test-harness/assets/font-meta-extractor-IralDC8M.js +0 -303
  686. package/bundled-test-harness/assets/font-meta-extractor-zPBVOfoR.js +0 -2
  687. package/bundled-test-harness/assets/formatted-aibot-message-test-CWOiZUng.js +0 -109
  688. package/bundled-test-harness/assets/from-elsewhere-ChxbtsBa.js +0 -131
  689. package/bundled-test-harness/assets/frontmatter-field-cdig7KR9.js +0 -41
  690. package/bundled-test-harness/assets/garbage-collection-test-Dg-ww_Sb.js +0 -403
  691. package/bundled-test-harness/assets/gauge-B45nLOGe.js +0 -106
  692. package/bundled-test-harness/assets/gauge-BK-768BM.js +0 -2
  693. package/bundled-test-harness/assets/general-test-D7cn7PUr.js +0 -926
  694. package/bundled-test-harness/assets/get-relationship-membership-state-test-Skmj9V6y.js +0 -1308
  695. package/bundled-test-harness/assets/gif-meta-extractor-BychhK9q.js +0 -114
  696. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-C09YUmk4.js +0 -160
  697. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-DYskx_Kk.js +0 -74
  698. package/bundled-test-harness/assets/helper-BHX0HLF2.js +0 -478
  699. package/bundled-test-harness/assets/host-submode-test-Clw_QnvF.js +0 -1243
  700. package/bundled-test-harness/assets/html-file-def-C0P9giwU.js +0 -82
  701. package/bundled-test-harness/assets/hydratable-card-DnjrxKsT.js +0 -147
  702. package/bundled-test-harness/assets/hydratable-card-test-BAmWHfv1.js +0 -426
  703. package/bundled-test-harness/assets/icons-DBXBZgLe.js +0 -894
  704. package/bundled-test-harness/assets/image-Cip6ojDd.js +0 -47
  705. package/bundled-test-harness/assets/image-file-def-BdQxjZcN.js +0 -65
  706. package/bundled-test-harness/assets/image-file-def-DP4aqWcS.js +0 -3
  707. package/bundled-test-harness/assets/index-changes-test-D8b_56Ke.js +0 -367
  708. package/bundled-test-harness/assets/index-query-engine-test-CCyaUwMX.js +0 -2593
  709. package/bundled-test-harness/assets/inspector-test-BJTVGdOO.js +0 -1930
  710. package/bundled-test-harness/assets/instance-filter-matcher-test-DjsPrXL7.js +0 -788
  711. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DSqM0vxh.js +0 -475
  712. package/bundled-test-harness/assets/interact-submode-setup-DF31UMX-.js +0 -566
  713. package/bundled-test-harness/assets/is-component-declaration-test-Did47eG9.js +0 -50
  714. package/bundled-test-harness/assets/iso-bmff-LuWkGL__.js +0 -205
  715. package/bundled-test-harness/assets/iso-bmff-_flO6c20.js +0 -2
  716. package/bundled-test-harness/assets/isolated-and-edit-frocLHin.js +0 -2
  717. package/bundled-test-harness/assets/job-priority-header-test-DHLAXfp7.js +0 -81
  718. package/bundled-test-harness/assets/job-scoped-instance-residency-test-C1Bt5j98.js +0 -103
  719. package/bundled-test-harness/assets/join-the-community-BBUSO2cs.js +0 -86
  720. package/bundled-test-harness/assets/jpg-meta-extractor-CoybO4Hq.js +0 -88
  721. package/bundled-test-harness/assets/json-field-8sdH5RQb.js +0 -2
  722. package/bundled-test-harness/assets/json-field-BDD3iTUh.js +0 -19
  723. package/bundled-test-harness/assets/json-file-def-BKibsfc6.js +0 -298
  724. package/bundled-test-harness/assets/last-modified-date-CR5jru2m.js +0 -43
  725. package/bundled-test-harness/assets/last-modified-date-test-jJ00YdTm.js +0 -28
  726. package/bundled-test-harness/assets/links-to-editor-rDoCYaN-.js +0 -2
  727. package/bundled-test-harness/assets/links-to-many-component-BqZT88Fb.js +0 -2
  728. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-Cp1Eb_4U.js +0 -398
  729. package/bundled-test-harness/assets/linksto-error-sentinel-test-Bddavnh_.js +0 -238
  730. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-c5WegXnR.js +0 -354
  731. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CWskzfGW.js +0 -303
  732. package/bundled-test-harness/assets/linksto-sentinel-reload-test-ByeVNhr8.js +0 -197
  733. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DP26i6Gb.js +0 -260
  734. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-fDUXx8tO.js +0 -196
  735. package/bundled-test-harness/assets/llm-model-BcLEkTV7.js +0 -64
  736. package/bundled-test-harness/assets/login-CeuuNVvU.css +0 -139
  737. package/bundled-test-harness/assets/login-DV0WlJv-.js +0 -348
  738. package/bundled-test-harness/assets/login-error-text-test-BMGY_9gW.js +0 -51
  739. package/bundled-test-harness/assets/login-test-CL9YpMH5.js +0 -246
  740. package/bundled-test-harness/assets/m4a-meta-extractor-CHO1JQtb.js +0 -204
  741. package/bundled-test-harness/assets/main-CPLT8JNu.js +0 -5
  742. package/bundled-test-harness/assets/markdown-BvBALLGh.js +0 -7
  743. package/bundled-test-harness/assets/markdown-DFezmrFD.js +0 -2
  744. package/bundled-test-harness/assets/markdown-editor-mode-select-Au64bcIO.js +0 -2
  745. package/bundled-test-harness/assets/markdown-editor-mode-select-rK9PP8rv.js +0 -54
  746. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-CIxizf5k.js +0 -470
  747. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-C7GoNN7l.js +0 -447
  748. package/bundled-test-harness/assets/markdown-embed-preview-test-CDnj4uhd.js +0 -368
  749. package/bundled-test-harness/assets/markdown-fallback-n7PsLNmO.js +0 -2
  750. package/bundled-test-harness/assets/markdown-fallback-test-DTHT6OwQ.js +0 -316
  751. package/bundled-test-harness/assets/markdown-highlighting-test-DJ-4WSE_.js +0 -244
  752. package/bundled-test-harness/assets/markdown-preview-Ccelx5W-.js +0 -64
  753. package/bundled-test-harness/assets/markdown-preview-JXuMC_ve.js +0 -72
  754. package/bundled-test-harness/assets/markdown-preview-test-ByZqrpPk.js +0 -238
  755. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-DAHGeL4K.js +0 -146
  756. package/bundled-test-harness/assets/menu-items-DzJm9H_H.js +0 -2
  757. package/bundled-test-harness/assets/message-tool-test-lmdrIEdY.js +0 -33
  758. package/bundled-test-harness/assets/metadata-fields-BZZr4Qe5.js +0 -2
  759. package/bundled-test-harness/assets/metadata-fields-BtdjGsKE.js +0 -1415
  760. package/bundled-test-harness/assets/midi-audio-def-uYbYFmFi.js +0 -52
  761. package/bundled-test-harness/assets/midi-meta-extractor-DNI5gc1q.js +0 -284
  762. package/bundled-test-harness/assets/midi-meta-extractor-DbKZ4fMG.js +0 -2
  763. package/bundled-test-harness/assets/migrate-skill-test-DI1xceiL.js +0 -161
  764. package/bundled-test-harness/assets/mini-CNoDyHqG.js +0 -1519
  765. package/bundled-test-harness/assets/mini-DexlIeKK.js +0 -85
  766. package/bundled-test-harness/assets/mini-card-chooser-test-DT5eIf1_.js +0 -272
  767. package/bundled-test-harness/assets/mini-file-chooser-test-DTQnKTZJ.js +0 -201
  768. package/bundled-test-harness/assets/missing-template-DL2mwddM.js +0 -2
  769. package/bundled-test-harness/assets/missing-template-ltqlJ4JC.js +0 -48
  770. package/bundled-test-harness/assets/modal-container-DRnt95-S.js +0 -40
  771. package/bundled-test-harness/assets/modal-zE95eEFp.js +0 -322
  772. package/bundled-test-harness/assets/model-cost-tier-test-CcFz7hcv.js +0 -173
  773. package/bundled-test-harness/assets/module-contents-service-Dk_zWt-V.js +0 -256
  774. package/bundled-test-harness/assets/month-BqReBYWo.js +0 -2
  775. package/bundled-test-harness/assets/month-RhvmIp40.js +0 -123
  776. package/bundled-test-harness/assets/month-day-XFAQA72z.js +0 -2
  777. package/bundled-test-harness/assets/month-day-XzKpk6nz.js +0 -192
  778. package/bundled-test-harness/assets/month-year-BeuNr2Cl.js +0 -2
  779. package/bundled-test-harness/assets/month-year-DhU7hATV.js +0 -93
  780. package/bundled-test-harness/assets/mp3-meta-extractor-Dx2RnJc5.js +0 -476
  781. package/bundled-test-harness/assets/mp4-meta-extractor--k0m8KsT.js +0 -188
  782. package/bundled-test-harness/assets/multiple-stacks-test-bC24IWcJ.js +0 -208
  783. package/bundled-test-harness/assets/nested-query-field-render-test-qxElXx1e.js +0 -249
  784. package/bundled-test-harness/assets/no-stacks-test-Br7IGAgV.js +0 -48
  785. package/bundled-test-harness/assets/number-73SsCMEF.js +0 -3
  786. package/bundled-test-harness/assets/number-CicTBWQd.js +0 -151
  787. package/bundled-test-harness/assets/number-field-test-kV5zXo1J.js +0 -184
  788. package/bundled-test-harness/assets/number-input-CQy4xUeA.js +0 -82
  789. package/bundled-test-harness/assets/office-extract-Bo8sbNkK.js +0 -27
  790. package/bundled-test-harness/assets/office-extract-CfBaoRMD.js +0 -2
  791. package/bundled-test-harness/assets/ogg-meta-extractor-aIf5q_Rq.js +0 -225
  792. package/bundled-test-harness/assets/on-key-C8acaldQ.js +0 -472
  793. package/bundled-test-harness/assets/ooxml-Bu3iZezv.js +0 -172
  794. package/bundled-test-harness/assets/ooxml-jQPBQK25.js +0 -2
  795. package/bundled-test-harness/assets/open-image-in-new-tab-test-CP7q3kMm.js +0 -52
  796. package/bundled-test-harness/assets/operation-lowering-test-9Mdr0hRT.js +0 -2812
  797. package/bundled-test-harness/assets/operations-R9b661Qn.js +0 -3
  798. package/bundled-test-harness/assets/operations-Zv_V3Api.js +0 -766
  799. package/bundled-test-harness/assets/operations-invocation-test-BJPpWb2H.js +0 -523
  800. package/bundled-test-harness/assets/operations-query-test-DufdmPQF.js +0 -459
  801. package/bundled-test-harness/assets/operations-test-CzT051YH.js +0 -2518
  802. package/bundled-test-harness/assets/operator-mode-acceptance-test-ByOIOcD0.js +0 -1188
  803. package/bundled-test-harness/assets/operator-mode-card-chooser-test-CNhR9mvv.js +0 -1036
  804. package/bundled-test-harness/assets/operator-mode-links-test-CuxSVTPR.js +0 -793
  805. package/bundled-test-harness/assets/operator-mode-state-service-CCeHt5SH.js +0 -1275
  806. package/bundled-test-harness/assets/operator-mode-state-service-test-C8TI9WWg.js +0 -206
  807. package/bundled-test-harness/assets/operator-mode-test-DG-mG8Tn.js +0 -683
  808. package/bundled-test-harness/assets/operator-mode-ui-test-DB7xhjS0.js +0 -1027
  809. package/bundled-test-harness/assets/overlay-menu-items-test-C6rcdF_S.js +0 -317
  810. package/bundled-test-harness/assets/overlays-D2zmPxzK.js +0 -270
  811. package/bundled-test-harness/assets/overlays-clip-test-Clpq3JzQ.js +0 -91
  812. package/bundled-test-harness/assets/overlays-detached-element-test-BtsTeJch.js +0 -56
  813. package/bundled-test-harness/assets/pane-f-IYhcWT.js +0 -330
  814. package/bundled-test-harness/assets/panel-B3PCSBbf.js +0 -3540
  815. package/bundled-test-harness/assets/panel-Ban7zCBP.js +0 -474
  816. package/bundled-test-harness/assets/past-sessions-test-uM2m-oKV.js +0 -321
  817. package/bundled-test-harness/assets/patch-fields-test-COPjDhnt.js +0 -1014
  818. package/bundled-test-harness/assets/patch-instance-test-CRb3dfby.js +0 -348
  819. package/bundled-test-harness/assets/pdf-file-def-J_yOUU8_.js +0 -76
  820. package/bundled-test-harness/assets/pdf-meta-extractor-83T5Bdo7.js +0 -156
  821. package/bundled-test-harness/assets/pdf-meta-extractor-INFIklMy.js +0 -2
  822. package/bundled-test-harness/assets/pdf-viewer-B4rRluWA.js +0 -2
  823. package/bundled-test-harness/assets/pdf-viewer-vYem8ozk.js +0 -112
  824. package/bundled-test-harness/assets/percentage-ChagfNRG.js +0 -84
  825. package/bundled-test-harness/assets/permission-checking-realm-test-Dmb2a428.js +0 -306
  826. package/bundled-test-harness/assets/phone-number-BiD2eaSd.js +0 -236
  827. package/bundled-test-harness/assets/phone-number-C-wt4_UK.js +0 -2
  828. package/bundled-test-harness/assets/phone-number-field-test-BHzAmuBP.js +0 -73
  829. package/bundled-test-harness/assets/plate-CqN2nM6P.js +0 -41
  830. package/bundled-test-harness/assets/plate-DaIfpORN.js +0 -2
  831. package/bundled-test-harness/assets/player-CGt5fTd5.js +0 -2
  832. package/bundled-test-harness/assets/player-CN0l44LK.js +0 -82
  833. package/bundled-test-harness/assets/plural-field-components-test-CO2g2opW.js +0 -198
  834. package/bundled-test-harness/assets/png-image-def-B_oou2wS.js +0 -48
  835. package/bundled-test-harness/assets/png-meta-extractor-BfPz1qP_.js +0 -2
  836. package/bundled-test-harness/assets/png-meta-extractor-C8ai8sPw.js +0 -111
  837. package/bundled-test-harness/assets/policy-scoped-search-test-BRRp2a1A.js +0 -339
  838. package/bundled-test-harness/assets/pptx-file-def-C3qYEHDM.js +0 -60
  839. package/bundled-test-harness/assets/pptx-meta-extractor-8IuoBq4I.js +0 -77
  840. package/bundled-test-harness/assets/pptx-meta-extractor-BPhy9RMM.js +0 -2
  841. package/bundled-test-harness/assets/prerender-persistence-block-test-Cteb_Rs_.js +0 -124
  842. package/bundled-test-harness/assets/prerender-serialize-cycle-test-CH7b6Ra9.js +0 -134
  843. package/bundled-test-harness/assets/preview-CmERZpI6.js +0 -74
  844. package/bundled-test-harness/assets/preview-format-BPMlCSbb.js +0 -41
  845. package/bundled-test-harness/assets/preview-format-test-B7sA8fbZ.js +0 -103
  846. package/bundled-test-harness/assets/process-card-CtDzDB-_.js +0 -2
  847. package/bundled-test-harness/assets/process-card-erbWKY5h.js +0 -114
  848. package/bundled-test-harness/assets/process-card-test-DXOt1jDW.js +0 -94
  849. package/bundled-test-harness/assets/profile-settings-modal-11BrR058.js +0 -708
  850. package/bundled-test-harness/assets/progress-circle-Cd79Zqh2.js +0 -2
  851. package/bundled-test-harness/assets/progress-circle-sc-W5aUl.js +0 -95
  852. package/bundled-test-harness/assets/quarter-B61kCpcD.js +0 -168
  853. package/bundled-test-harness/assets/quarter-d5jkTzcz.js +0 -2
  854. package/bundled-test-harness/assets/query-field-membership-status-test-BmpVfohw.js +0 -323
  855. package/bundled-test-harness/assets/query-field-page-optin-test-9_Cce-OJ.js +0 -126
  856. package/bundled-test-harness/assets/query-field-schema-test-CwV7xanX.js +0 -231
  857. package/bundled-test-harness/assets/query-field-stale-prerender-test-RkdnZ-VV.js +0 -152
  858. package/bundled-test-harness/assets/query-fields-test-BLxYkTAM.js +0 -535
  859. package/bundled-test-harness/assets/rail-CFPU0tFe.js +0 -2
  860. package/bundled-test-harness/assets/rail-CQ53Dakr.js +0 -44
  861. package/bundled-test-harness/assets/realm-DdVH9lSZ.js +0 -95
  862. package/bundled-test-harness/assets/realm-DdsFw3b-.js +0 -2
  863. package/bundled-test-harness/assets/realm-config-DIslxoB7.js +0 -844
  864. package/bundled-test-harness/assets/realm-config-policy-standing-test-b4WxNDor.js +0 -290
  865. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-C-rcvkkD.js +0 -274
  866. package/bundled-test-harness/assets/realm-config-settings-test-DDUkM3zw.js +0 -187
  867. package/bundled-test-harness/assets/realm-dropdown-1j55Dy-1.js +0 -560
  868. package/bundled-test-harness/assets/realm-field-test-D-uEtFKO.js +0 -100
  869. package/bundled-test-harness/assets/realm-indexing-test-U9m0epR-.js +0 -4380
  870. package/bundled-test-harness/assets/realm-policy-test-DhKabhlk.js +0 -1141
  871. package/bundled-test-harness/assets/realm-test-BX6C9SS5.js +0 -2363
  872. package/bundled-test-harness/assets/realm-url-tooltip-BjjcKqBx.js +0 -56
  873. package/bundled-test-harness/assets/realm-url-tooltip-test-DW0ZwEEE.js +0 -78
  874. package/bundled-test-harness/assets/reasoning-test-BWT94KXG.js +0 -234
  875. package/bundled-test-harness/assets/recent-colors-addon-CfgmgilF.js +0 -61
  876. package/bundled-test-harness/assets/recent-colors-addon-D--Ry3Pf.js +0 -2
  877. package/bundled-test-harness/assets/relationship-loading-state-test-C5R6jao_.js +0 -290
  878. package/bundled-test-harness/assets/relative-time-Bq7pqums.js +0 -2
  879. package/bundled-test-harness/assets/relative-time-D0QyW4ig.js +0 -129
  880. package/bundled-test-harness/assets/remix-card-test-Cy0h3Xdf.js +0 -58
  881. package/bundled-test-harness/assets/rendered-markdown-Hw_EF8SO.js +0 -263
  882. package/bundled-test-harness/assets/rendered-markdown-test-CqeF-UZd.js +0 -587
  883. package/bundled-test-harness/assets/resident-instance-reuse-test-BiI6L40n.js +0 -82
  884. package/bundled-test-harness/assets/response-field-BCxG5phG.js +0 -38
  885. package/bundled-test-harness/assets/result-tile-DMzRnTP8.js +0 -140
  886. package/bundled-test-harness/assets/rich-markdown-C4RUl7L0.js +0 -2
  887. package/bundled-test-harness/assets/rich-markdown-DxQSCg-o.js +0 -218
  888. package/bundled-test-harness/assets/rich-markdown-field-test-B7wpedKs.js +0 -1647
  889. package/bundled-test-harness/assets/room-D0M0Zwrs.js +0 -1008
  890. package/bundled-test-harness/assets/room-message-test-BWWd4xC8.js +0 -445
  891. package/bundled-test-harness/assets/room-test-DFH-nOwi.js +0 -95
  892. package/bundled-test-harness/assets/run-realm-code-DyVyEDBl.js +0 -1600
  893. package/bundled-test-harness/assets/run-realm-code-test-BpxF-tOz.js +0 -2468
  894. package/bundled-test-harness/assets/schema-generation-test-DjaJqpYP.js +0 -28
  895. package/bundled-test-harness/assets/score-Cfp34BE7.js +0 -2
  896. package/bundled-test-harness/assets/score-DIWWpeyf.js +0 -100
  897. package/bundled-test-harness/assets/scrolling-test-hA_uBwBg.js +0 -384
  898. package/bundled-test-harness/assets/search-C0-b7dJI.js +0 -605
  899. package/bundled-test-harness/assets/search-adorn-test-C6KP3AwA.js +0 -136
  900. package/bundled-test-harness/assets/search-entries-BfPq5sPS.js +0 -472
  901. package/bundled-test-harness/assets/search-entries-result-test-Bl9u_BOD.js +0 -234
  902. package/bundled-test-harness/assets/search-entries-test-BDC_lS43.js +0 -1486
  903. package/bundled-test-harness/assets/search-result-header-DCAze_cg.js +0 -128
  904. package/bundled-test-harness/assets/search-results-Dd0enVun.js +0 -266
  905. package/bundled-test-harness/assets/search-results-test-T5KEEII4.js +0 -578
  906. package/bundled-test-harness/assets/search-selection-menu-test-CCssnBq1.js +0 -108
  907. package/bundled-test-harness/assets/search-sheet-persistence-test-BzQiO-FK.js +0 -131
  908. package/bundled-test-harness/assets/search-test-fyCWb24m.js +0 -2241
  909. package/bundled-test-harness/assets/searchable-BkgeKQMl.js +0 -2
  910. package/bundled-test-harness/assets/searchable-D_6p6fyb.js +0 -192
  911. package/bundled-test-harness/assets/searchable-option-test-CnCUYGaq.js +0 -322
  912. package/bundled-test-harness/assets/searchable-search-doc-test-B8Q0D98v.js +0 -1271
  913. package/bundled-test-harness/assets/sending-test-D5PGBDys.js +0 -576
  914. package/bundled-test-harness/assets/serialization-rri-form-audit-test-BRJ1cJ31.js +0 -136
  915. package/bundled-test-harness/assets/serialization-test-DM6hK258.js +0 -8758
  916. package/bundled-test-harness/assets/setup-C_GgVgzM.js +0 -772
  917. package/bundled-test-harness/assets/shared-link-target-reuse-test-Be-lSKib.js +0 -207
  918. package/bundled-test-harness/assets/show-card-BFG6KR1m.js +0 -67
  919. package/bundled-test-harness/assets/show-card-test-l0wMrfZq.js +0 -365
  920. package/bundled-test-harness/assets/show-file-B8-FRVHj.js +0 -34
  921. package/bundled-test-harness/assets/signed-capture-D_Q44TQ7.js +0 -204
  922. package/bundled-test-harness/assets/signed-capture-link-test-DOS5xpYv.js +0 -132
  923. package/bundled-test-harness/assets/single-stack-test-BIEtzHVS.js +0 -652
  924. package/bundled-test-harness/assets/skill-BUTGmSsm.js +0 -76
  925. package/bundled-test-harness/assets/skill-Bo7R_2Ud.js +0 -3
  926. package/bundled-test-harness/assets/skill-reference-Cs64py3k.js +0 -112
  927. package/bundled-test-harness/assets/skills-test-CXxSIkYa.js +0 -648
  928. package/bundled-test-harness/assets/slider-picker-C81errGI.js +0 -245
  929. package/bundled-test-harness/assets/slider-picker-mvKsy6cR.js +0 -2
  930. package/bundled-test-harness/assets/spec-B55lJurX.js +0 -602
  931. package/bundled-test-harness/assets/store-DyQ0KiyI.js +0 -2205
  932. package/bundled-test-harness/assets/store-module-rebuild-test-C7532_bS.js +0 -454
  933. package/bundled-test-harness/assets/store-search-test-80NMJuoW.js +0 -175
  934. package/bundled-test-harness/assets/store-test-dHiWXXMs.js +0 -3460
  935. package/bundled-test-harness/assets/string-DHlQEHYm.js +0 -9
  936. package/bundled-test-harness/assets/submode-switcher-DQv-CD6G.js +0 -169
  937. package/bundled-test-harness/assets/svg-meta-extractor-Uw_EJytF.js +0 -42
  938. package/bundled-test-harness/assets/swatches-picker-CaEoibN1.js +0 -33
  939. package/bundled-test-harness/assets/swatches-picker-gPl50JbP.js +0 -2
  940. package/bundled-test-harness/assets/switch-submode-BKDnJd4m.js +0 -79
  941. package/bundled-test-harness/assets/switch-submode-test-_E2mVk4z.js +0 -168
  942. package/bundled-test-harness/assets/tag-B60lDr-j.js +0 -105
  943. package/bundled-test-harness/assets/tests-BBBgPBB6.js +0 -3520
  944. package/bundled-test-harness/assets/text-area-CJjWmwpi.js +0 -9
  945. package/bundled-test-harness/assets/text-file-def-u_dl0i2z.js +0 -151
  946. package/bundled-test-harness/assets/text-input-validator-test-BTwnkSS2.js +0 -156
  947. package/bundled-test-harness/assets/theme-BK-fAHVn.js +0 -9
  948. package/bundled-test-harness/assets/theme-card-test-BQmT7rqr.js +0 -621
  949. package/bundled-test-harness/assets/theme-scheme-island-test-Oi3aeyp1.js +0 -264
  950. package/bundled-test-harness/assets/three-d-model-def-B4KckPVC.js +0 -70
  951. package/bundled-test-harness/assets/time-BcuaSkHg.js +0 -126
  952. package/bundled-test-harness/assets/time-f7Irg7Z7.js +0 -2
  953. package/bundled-test-harness/assets/time-slots-ClYIZN53.js +0 -2
  954. package/bundled-test-harness/assets/time-slots-TI1aaqRN.js +0 -85
  955. package/bundled-test-harness/assets/timeline-Cof9eyq0.js +0 -59
  956. package/bundled-test-harness/assets/timeline-DFWQtCWE.js +0 -2
  957. package/bundled-test-harness/assets/to-device-streaming-test-BDrUUlOt.js +0 -163
  958. package/bundled-test-harness/assets/token-usage-test-CiZo03fY.js +0 -166
  959. package/bundled-test-harness/assets/tool-field-BXHr9r0w.js +0 -94
  960. package/bundled-test-harness/assets/tool-field-CoRO5C4R.js +0 -2
  961. package/bundled-test-harness/assets/tools-CmVaYDIS.js +0 -725
  962. package/bundled-test-harness/assets/tools-calling-test-B454__XF.js +0 -200
  963. package/bundled-test-harness/assets/tools-test-CLu51dJO.js +0 -1624
  964. package/bundled-test-harness/assets/tools-test-XGRAvVug.js +0 -2820
  965. package/bundled-test-harness/assets/ts-file-def-C05BDwdg.js +0 -159
  966. package/bundled-test-harness/assets/update-room-skills-test-jOvP14JX.js +0 -240
  967. package/bundled-test-harness/assets/url-BFf2CNo-.js +0 -2
  968. package/bundled-test-harness/assets/url-CYm-CeXp.js +0 -96
  969. package/bundled-test-harness/assets/video-file-def-B2UIrOFS.js +0 -76
  970. package/bundled-test-harness/assets/wav-meta-extractor-BNkv7e2f.js +0 -368
  971. package/bundled-test-harness/assets/webm-meta-extractor-C933kYyc.js +0 -178
  972. package/bundled-test-harness/assets/webp-meta-extractor-BLz0z1pZ.js +0 -98
  973. package/bundled-test-harness/assets/website-BuOMUW1v.js +0 -92
  974. package/bundled-test-harness/assets/week-Bo0666ji.js +0 -111
  975. package/bundled-test-harness/assets/week-CaVFA8Vc.js +0 -2
  976. package/bundled-test-harness/assets/welcome-to-boxel-PWard7GF.js +0 -172
  977. package/bundled-test-harness/assets/workspace-KXfFTQNV.js +0 -614
  978. package/bundled-test-harness/assets/workspace-a11y-test-Buwb-rfO.js +0 -197
  979. package/bundled-test-harness/assets/workspace-behavior-test-CbgFUOOo.js +0 -200
  980. package/bundled-test-harness/assets/workspace-chooser-BmQvhhrl.js +0 -2248
  981. package/bundled-test-harness/assets/workspace-chooser-Cu84Gd_E.css +0 -1317
  982. package/bundled-test-harness/assets/workspace-chooser-catalog-order-test-rcRw6sni.js +0 -36
  983. package/bundled-test-harness/assets/workspace-chooser-unreachable-notice-test-DUXnBIdY.js +0 -60
  984. package/bundled-test-harness/assets/workspace-delete-multiple-test-DjRKhZ2g.js +0 -212
  985. package/bundled-test-harness/assets/workspace-delete-summary-test-CvkLVYyN.js +0 -63
  986. package/bundled-test-harness/assets/workspace-timestamp-labels-test-AYJT4inv.js +0 -58
  987. package/bundled-test-harness/assets/xlsx-file-def-DuKdbGrJ.js +0 -60
  988. package/bundled-test-harness/assets/xlsx-meta-extractor-Bz-C2JWP.js +0 -101
  989. package/bundled-test-harness/assets/xlsx-meta-extractor-ClwwgABg.js +0 -2
  990. package/bundled-test-harness/assets/year-B6ctHikl.js +0 -2
  991. package/bundled-test-harness/assets/year-C11uAQE6.js +0 -78
  992. package/bundled-test-harness/assets/zip-file-def-B8XN-OS_.js +0 -288
  993. package/bundled-types/host-app/components/matrix/auth-button.gts +0 -39
  994. package/bundled-types/host-app/components/matrix/auth-container.gts +0 -69
  995. package/bundled-types/host-app/components/matrix/auth-form-field.gts +0 -43
@@ -1,1824 +0,0 @@
1
- import { s as __toESM } from "./chunk-Rp0pCe6z.js";
2
- import { Ar as testRealmURL, Ss as wrapper_default, Wn as APP_BOXEL_REALM_EVENT_TYPE } from "./runtime-common-ClpqhbwG.js";
3
- import { y as rri } from "./paths-BYHDgqsT.js";
4
- import { E as baseRRI, O as baseRealmRRI } from "./constants-CqKWhRfY.js";
5
- import { _ as fileDefFormats, h as cardDefFormats } from "./bfm-card-references-BplcpB1X.js";
6
- import { n as src_default } from "./src-DPaAwa4H.js";
7
- import { c as ModuleInspectorSelections, g as SpecSelection, u as PlaygroundSelections } from "./local-storage-keys-CS7XLz7J.js";
8
- import { M as waitUntil, T as settled, c as triggerKeyEvent, d as click, k as visit, l as triggerEvent, n as scrollTo, o as waitFor, s as fillIn } from "./dist-BOAdzfkP.js";
9
- import { s as Position } from "./editor.api-BinOIICS.js";
10
- import "./editor.main-BpsSmHD-.js";
11
- import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
- import { D as realmConfigCardJSON, F as setupLocalIndexing, H as testModuleRealm, L as setupRealmCacheTeardown, S as getMonacoContent, Z as withCachedRealmSetup, a as SYSTEM_CARD_FIXTURE_CONTENTS, ct as setupApplicationTest, j as setupAcceptanceTestRealm, k as setMonacoContent, pt as setupAuthEndpoints, s as assertMessages, st as visitOperatorMode, t as setupMockMatrix, wt as percySnapshot, z as setupUserSubscription } from "./mock-matrix-DPQ0j2MD.js";
13
- import { r as getService } from "./dist-CPfIHBla.js";
14
- import { c as removeSpecSelection, d as setPlaygroundSelections, s as removePlaygroundSelections } from "./playground-DrsqZ4hE.js";
15
- //#region tests/acceptance/code-submode-test.ts
16
- var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
17
- var indexCardSource = `
18
- import { CardDef, Component } from "@cardstack/base/card-api";
19
-
20
- export class Index extends CardDef {
21
- static isolated = class Isolated extends Component<typeof this> {
22
- <template>
23
- <div data-test-index-card>
24
- Hello, world!
25
- </div>
26
- </template>
27
- };
28
- }
29
- `;
30
- var postalCodeFieldSource = `
31
- import {
32
- contains,
33
- field,
34
- Component,
35
- FieldDef,
36
- } from '@cardstack/base/card-api';
37
- import StringField from '@cardstack/base/string';
38
-
39
- export class PostalCode extends FieldDef {
40
- static displayName = 'Postal Code';
41
- @field fiveDigitPostalCode = contains(StringField); // required
42
- @field fourDigitOptional = contains(StringField);
43
-
44
- static embedded = class Embedded extends Component<typeof this> {
45
- <template>
46
- <address>
47
- <div><@fields.fiveDigitPostalCode /> - <@fields.fourDigitOptional /></div>
48
- </address>
49
- </template>
50
- };
51
- }
52
- `;
53
- var addressFieldSource = `
54
- import {
55
- contains,
56
- field,
57
- Component,
58
- FieldDef,
59
- } from '@cardstack/base/card-api';
60
- import StringField from '@cardstack/base/string';
61
- import { PostalCode } from './postal-code';
62
-
63
- export class Address extends FieldDef {
64
- static displayName = 'Address';
65
- @field streetAddress = contains(StringField); // required
66
- @field city = contains(StringField); // required
67
- @field region = contains(StringField);
68
- @field postalCode = contains(PostalCode);
69
- @field poBoxNumber = contains(StringField);
70
- @field country = contains(StringField); // required // dropdown
71
-
72
- static embedded = class Embedded extends Component<typeof this> {
73
- <template>
74
- <address>
75
- <div><@fields.streetAddress /></div>
76
- <@fields.city />
77
- <@fields.region />
78
- <@fields.postalCode /><@fields.poBoxNumber />
79
- <@fields.country />
80
- </address>
81
- </template>
82
- };
83
- }
84
- `;
85
- var countryCardSource = `
86
- import {
87
- contains,
88
- field,
89
- Component,
90
- CardDef,
91
- } from '@cardstack/base/card-api';
92
- import StringField from '@cardstack/base/string';
93
-
94
- export class Country extends CardDef {
95
- static displayName = 'Country';
96
- @field name = contains(StringField);
97
- @field cardTitle = contains(StringField, {
98
- computeVia(this: Country) {
99
- return this.name;
100
- },
101
- });
102
-
103
- static embedded = class Embedded extends Component<typeof this> {
104
- <template>
105
- <address>
106
- <@fields.name />
107
- </address>
108
- </template>
109
- };
110
- }
111
- `;
112
- var tripsFieldSource = `
113
- import {
114
- linksToMany,
115
- field,
116
- Component,
117
- FieldDef,
118
- } from '@cardstack/base/card-api';
119
- import { Country } from './country';
120
-
121
- export class Trips extends FieldDef {
122
- static displayName = 'Trips';
123
- @field countriesVisited = linksToMany(Country);
124
-
125
- static embedded = class Embedded extends Component<typeof this> {
126
- <template>
127
- <address>
128
- <@fields.countriesVisited />
129
- </address>
130
- </template>
131
- };
132
- }
133
- `;
134
- var personCardSource = `
135
- import { contains, containsMany, field, linksTo, linksToMany, CardDef, Component } from "@cardstack/base/card-api";
136
- import StringField from "@cardstack/base/string";
137
- import { Friend } from './friend';
138
- import { Pet } from "./pet";
139
- import { Address } from './address';
140
- import { Trips } from './trips';
141
-
142
- export class Person extends CardDef {
143
- static displayName = 'Person';
144
- @field firstName = contains(StringField);
145
- @field lastName = contains(StringField);
146
- @field cardTitle = contains(StringField, {
147
- computeVia: function (this: Person) {
148
- return [this.firstName, this.lastName].filter(Boolean).join(' ');
149
- },
150
- });
151
- @field pet = linksTo(Pet);
152
- @field friends = linksToMany(Friend);
153
- @field address = containsMany(StringField);
154
- @field addressDetail = contains(Address);
155
- @field trips = contains(Trips);
156
- static isolated = class Isolated extends Component<typeof this> {
157
- <template>
158
- <div data-test-person>
159
- <p>First name: <@fields.firstName /></p>
160
- <p>Last name: <@fields.lastName /></p>
161
- <p>Title: <@fields.cardTitle /></p>
162
- <p>Address List: <@fields.address /></p>
163
- <p>Friends: <@fields.friends /></p>
164
- </div>
165
- <style scoped>
166
- div {
167
- color: green;
168
- content: '';
169
- }
170
- </style>
171
- </template>
172
- };
173
- }
174
- `;
175
- var petCardSource = `
176
- import { contains, field, Component, CardDef } from "@cardstack/base/card-api";
177
- import StringField from "@cardstack/base/string";
178
-
179
- export class Pet extends CardDef {
180
- static displayName = 'Pet';
181
- @field name = contains(StringField);
182
- @field cardTitle = contains(StringField, {
183
- computeVia: function (this: Pet) {
184
- return this.name;
185
- },
186
- });
187
- static embedded = class Embedded extends Component<typeof this> {
188
- <template>
189
- <h3 data-test-pet={{@model.name}}>
190
- <@fields.name/>
191
- </h3>
192
- </template>
193
- }
194
- static isolated = class Isolated extends Component<typeof this> {
195
- <template>
196
- <h1>{{@model.cardTitle}}</h1>
197
- <h2 data-test-pet={{@model.name}}>
198
- <@fields.name/>
199
- </h2>
200
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
201
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
202
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
203
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
204
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
205
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
206
- </template>
207
- }
208
- }
209
- `;
210
- var customEditCardSource = `
211
- import { contains, field, CardDef, Component } from "@cardstack/base/card-api";
212
- import StringField from "@cardstack/base/string";
213
- export class CustomEdit extends CardDef {
214
- static displayName = 'Custom Edit';
215
- @field name = contains(StringField);
216
- static edit = class Edit extends Component<typeof this> {
217
- <template>
218
- <div data-test-custom-edit>Custom Edit: <@fields.name /></div>
219
- </template>
220
- };
221
- }
222
- `;
223
- var employeeCardSource = `
224
- import {
225
- contains,
226
- field,
227
- Component,
228
- CardDef
229
- } from '@cardstack/base/card-api';
230
- import StringField from '@cardstack/base/string';
231
- import DateField from '@cardstack/base/date';
232
- import BooleanField from '@cardstack/base/boolean';
233
- import { Person } from './person';
234
-
235
- export class Isolated extends Component<typeof Employee> {
236
- <template>
237
- <@fields.firstName /> <@fields.lastName />
238
-
239
- Department: <@fields.department />
240
- </template>
241
- };
242
-
243
- export class Employee extends Person {
244
- static displayName = 'Employee';
245
- @field department = contains(StringField);
246
-
247
- static isolated = class Isolated extends Component<typeof this> {
248
- <template>
249
- <@fields.firstName /> <@fields.lastName />
250
-
251
- Department: <@fields.department />
252
- </template>
253
- };
254
- }
255
-
256
- export function isHourly (this: Employee) {
257
- return !this.isSalaried;
258
- }
259
- `;
260
- var inThisFileSource = `
261
- import {
262
- contains,
263
- field,
264
- CardDef,
265
- FieldDef,
266
- } from '@cardstack/base/card-api';
267
- import StringField from '@cardstack/base/string';
268
-
269
- export const exportedVar = 'exported var';
270
-
271
- const localVar = 'local var';
272
-
273
- class LocalClass {}
274
- export class ExportedClass {}
275
-
276
- export class ExportedClassInheritLocalClass extends LocalClass {}
277
-
278
- function localFunction() {}
279
- export function exportedFunction() {}
280
-
281
- export { LocalClass as AClassWithExportName };
282
-
283
- class LocalCard extends CardDef {
284
- static displayName = 'local card';
285
- }
286
-
287
- export class ExportedCard extends CardDef {
288
- static displayName = 'exported card';
289
- @field someString = contains(StringField);
290
- }
291
-
292
- export class ExportedCardInheritLocalCard extends LocalCard {
293
- static displayName = 'exported card extends local card';
294
- }
295
-
296
- class LocalField extends FieldDef {
297
- static displayName = 'local field';
298
- }
299
- export class ExportedField extends FieldDef {
300
- static displayName = 'exported field';
301
- @field someString = contains(StringField);
302
- }
303
-
304
- export class ExportedFieldInheritLocalField extends LocalField {
305
- static displayName = 'exported field extends local field';
306
- }
307
-
308
- export default class DefaultClass {}
309
- `;
310
- var friendCardSource = `
311
- import { contains, linksTo, field, CardDef, Component } from "@cardstack/base/card-api";
312
- import StringField from "@cardstack/base/string";
313
-
314
- export class Friend extends CardDef {
315
- static displayName = 'Friend';
316
- @field name = contains(StringField);
317
- @field friend = linksTo(() => Friend);
318
- @field cardTitle = contains(StringField, {
319
- computeVia: function (this: Friend) {
320
- return this.name;
321
- },
322
- });
323
- static isolated = class Isolated extends Component<typeof this> {
324
- <template>
325
- <div data-test-friend-card={{@model.name}}>
326
- <p>Friend name: <@fields.name /></p>
327
- <div data-test-friend-link>
328
- <@fields.friend />
329
- </div>
330
- </div>
331
- <style scoped>
332
- div {
333
- color: green;
334
- content: '';
335
- }
336
- </style>
337
- </template>
338
- };
339
- }
340
- `;
341
- var txtSource = `
342
- Hello, world!
343
- `;
344
- var brokenSource = "some text to make the code broken" + friendCardSource;
345
- var brokenCountryCardSource = countryCardSource.replace("return this.name", "return intentionalError(this.name)");
346
- var brokenAdoptionInstance = `{
347
- "data": {
348
- "type": "card",
349
- "attributes": {
350
- "name": "El Campo"
351
- },
352
- "meta": {
353
- "adoptsFrom": {
354
- "module": "./broken-country",
355
- "name": "Country"
356
- }
357
- }
358
- }
359
- }
360
- `;
361
- var notFoundAdoptionInstance = `{
362
- "data": {
363
- "type": "card",
364
- "attributes": {
365
- "firstName": "Alice",
366
- "lastName": "Enwunder",
367
- "body": "xyz"
368
- },
369
- "meta": {
370
- "adoptsFrom": {
371
- "module": "./non-card",
372
- "name": "Author"
373
- }
374
- }
375
- }
376
- }
377
- `;
378
- var personalRealmURL;
379
- (0, import_qunit.module)("Acceptance | code submode tests", function(_hooks) {
380
- (0, import_qunit.module)("multiple realms", function(hooks) {
381
- let additionalRealmURL;
382
- let catalogRealmURL;
383
- setupApplicationTest(hooks);
384
- setupLocalIndexing(hooks);
385
- setupRealmCacheTeardown(hooks);
386
- let mockMatrixUtils = setupMockMatrix(hooks, { loggedInAs: "@testuser:localhost" });
387
- let { setActiveRealms, createAndJoinRoom } = mockMatrixUtils;
388
- async function openNewFileModal(menuSelection) {
389
- await waitFor("[data-test-new-file-button]");
390
- await click("[data-test-new-file-button]");
391
- await click(`[data-test-boxel-menu-item-text="${menuSelection}"]`);
392
- }
393
- hooks.beforeEach(async function() {
394
- createAndJoinRoom({
395
- sender: "@testuser:localhost",
396
- name: "room-test"
397
- });
398
- setupUserSubscription();
399
- setupAuthEndpoints();
400
- removePlaygroundSelections();
401
- removeSpecSelection();
402
- src_default.localStorage.removeItem(ModuleInspectorSelections);
403
- src_default.localStorage.removeItem(PlaygroundSelections);
404
- src_default.localStorage.removeItem(SpecSelection);
405
- let realmServerService = getService("realm-server");
406
- personalRealmURL = `${realmServerService.url}testuser/personal/`;
407
- additionalRealmURL = `${realmServerService.url}testuser/aaa/`;
408
- catalogRealmURL = `${realmServerService.url}catalog/`;
409
- setActiveRealms([
410
- catalogRealmURL,
411
- additionalRealmURL,
412
- personalRealmURL
413
- ]);
414
- await withCachedRealmSetup(async () => {
415
- await setupAcceptanceTestRealm({
416
- mockMatrixUtils,
417
- realmURL: personalRealmURL,
418
- permissions: { "@testuser:localhost": [
419
- "read",
420
- "write",
421
- "realm-owner"
422
- ] },
423
- contents: {
424
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
425
- "hello.txt": txtSource,
426
- "realm.json": realmConfigCardJSON({
427
- name: `Test User's Workspace`,
428
- backgroundURL: "/test-fixtures/realm-images/4k-origami-flock.jpg",
429
- iconURL: "/test-fixtures/realm-images/letter-t.png"
430
- })
431
- }
432
- });
433
- await setupAcceptanceTestRealm({
434
- mockMatrixUtils,
435
- realmURL: additionalRealmURL,
436
- permissions: { "@testuser:localhost": [
437
- "read",
438
- "write",
439
- "realm-owner"
440
- ] },
441
- contents: {
442
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
443
- "hello.txt": txtSource,
444
- "realm.json": realmConfigCardJSON({
445
- name: `Additional Workspace`,
446
- backgroundURL: "/test-fixtures/realm-images/4k-powder-puff.jpg",
447
- iconURL: "/test-fixtures/realm-images/letter-a.png"
448
- })
449
- }
450
- });
451
- await setupAcceptanceTestRealm({
452
- mockMatrixUtils,
453
- realmURL: catalogRealmURL,
454
- permissions: { "*": ["read"] },
455
- contents: {
456
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
457
- "hello.txt": txtSource,
458
- "realm.json": realmConfigCardJSON({
459
- name: `Catalog Realm`,
460
- backgroundURL: "/test-fixtures/realm-images/letter-c.png",
461
- iconURL: "/test-fixtures/realm-images/4k-watercolor-splashes.jpg"
462
- })
463
- }
464
- });
465
- await setupAcceptanceTestRealm({
466
- mockMatrixUtils,
467
- realmURL: testRealmURL,
468
- permissions: { "@testuser:localhost": [
469
- "read",
470
- "write",
471
- "realm-owner"
472
- ] },
473
- contents: { ...SYSTEM_CARD_FIXTURE_CONTENTS }
474
- });
475
- });
476
- setupAuthEndpoints({
477
- [catalogRealmURL]: ["read"],
478
- [additionalRealmURL]: [
479
- "read",
480
- "write",
481
- "realm-owner"
482
- ],
483
- [personalRealmURL]: [
484
- "read",
485
- "write",
486
- "realm-owner"
487
- ]
488
- });
489
- });
490
- (0, import_qunit.test)("default realm is the personal realm", async function(assert) {
491
- await visitOperatorMode({ submode: "code" });
492
- await waitFor("[data-test-file]");
493
- assert.dom("[data-test-card-url-bar-realm-info]").containsText(`in Test User's Workspace`);
494
- });
495
- (0, import_qunit.test)("first item in add file realm dropdown is the currently displayed realm", async function(assert) {
496
- await visitOperatorMode({ submode: "code" });
497
- await waitFor("[data-test-file]");
498
- await openNewFileModal("Card Definition");
499
- assert.dom("[data-test-selected-realm]").containsText(`Test User's Workspace`, "the selected (default) realm is correct");
500
- await click("[data-test-cancel-create-file]");
501
- await visitOperatorMode({
502
- submode: "code",
503
- codePath: `${additionalRealmURL}hello.txt`
504
- });
505
- await openNewFileModal("Card Definition");
506
- assert.dom("[data-test-selected-realm]").containsText(`Additional Workspace`, "the selected realm is correct");
507
- });
508
- });
509
- (0, import_qunit.module)("single realm", function(hooks) {
510
- let realm;
511
- let monacoService;
512
- setupApplicationTest(hooks);
513
- setupLocalIndexing(hooks);
514
- setupRealmCacheTeardown(hooks);
515
- let mockMatrixUtils = setupMockMatrix(hooks, {
516
- loggedInAs: "@testuser:localhost",
517
- activeRealms: [testRealmURL]
518
- });
519
- let { createAndJoinRoom, setActiveRealms } = mockMatrixUtils;
520
- hooks.beforeEach(async function() {
521
- createAndJoinRoom({
522
- sender: "@testuser:localhost",
523
- name: "room-test"
524
- });
525
- setupUserSubscription();
526
- setupAuthEndpoints();
527
- monacoService = getService("monaco-service");
528
- ({realm} = await withCachedRealmSetup(async () => setupAcceptanceTestRealm({
529
- mockMatrixUtils,
530
- contents: {
531
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
532
- "index.gts": indexCardSource,
533
- "pet-person.gts": personCardSource,
534
- "person.gts": personCardSource,
535
- "pet.gts": petCardSource,
536
- "friend.gts": friendCardSource,
537
- "employee.gts": employeeCardSource,
538
- "in-this-file.gts": inThisFileSource,
539
- "postal-code.gts": postalCodeFieldSource,
540
- "address.gts": addressFieldSource,
541
- "country.gts": countryCardSource,
542
- "trips.gts": tripsFieldSource,
543
- "broken.gts": brokenSource,
544
- "broken-country.gts": brokenCountryCardSource,
545
- "custom-edit.gts": customEditCardSource,
546
- "CustomEdit/sample.json": { data: {
547
- attributes: { name: "Sample" },
548
- meta: { adoptsFrom: {
549
- module: `${testRealmURL}custom-edit`,
550
- name: "CustomEdit"
551
- } }
552
- } },
553
- "broken-adoption-instance.json": brokenAdoptionInstance,
554
- "not-found-adoption-instance.json": notFoundAdoptionInstance,
555
- "person-entry.json": { data: {
556
- type: "card",
557
- attributes: {
558
- cardTitle: "Person",
559
- cardDescription: "Spec",
560
- specType: "card",
561
- ref: {
562
- module: `./person`,
563
- name: "Person"
564
- }
565
- },
566
- meta: { adoptsFrom: {
567
- module: `${baseRealmRRI}spec`,
568
- name: "Spec"
569
- } }
570
- } },
571
- "pet-entry.json": { data: {
572
- type: "card",
573
- attributes: {
574
- specType: "card",
575
- ref: {
576
- module: `./pet`,
577
- name: "Pet"
578
- }
579
- },
580
- meta: { adoptsFrom: {
581
- module: `${baseRealmRRI}spec`,
582
- name: "Spec"
583
- } }
584
- } },
585
- "pet-entry-2.json": { data: {
586
- type: "card",
587
- attributes: {
588
- specType: "card",
589
- ref: {
590
- module: `./pet`,
591
- name: "Pet"
592
- }
593
- },
594
- meta: { adoptsFrom: {
595
- module: `${baseRealmRRI}spec`,
596
- name: "Spec"
597
- } }
598
- } },
599
- "index.json": { data: {
600
- type: "card",
601
- attributes: {},
602
- meta: { adoptsFrom: {
603
- module: "./index",
604
- name: "Index"
605
- } }
606
- } },
607
- "not-json.json": "I am not JSON.",
608
- "care-guide.md": "# Care Guide\n\nWater weekly.\n",
609
- "Person/fadhlan.json": { data: {
610
- attributes: {
611
- firstName: "Fadhlan",
612
- address: [{
613
- city: "Bandung",
614
- country: "Indonesia",
615
- shippingInfo: {
616
- preferredCarrier: "DHL",
617
- remarks: `Don't let bob deliver the package--he's always bringing it to the wrong address`
618
- }
619
- }]
620
- },
621
- relationships: { pet: { links: { self: `${testRealmURL}Pet/mango` } } },
622
- meta: { adoptsFrom: {
623
- module: `${testRealmURL}person`,
624
- name: "Person"
625
- } }
626
- } },
627
- "Person/1.json": { data: {
628
- type: "card",
629
- attributes: {
630
- firstName: "Hassan",
631
- lastName: "Abdel-Rahman"
632
- },
633
- meta: { adoptsFrom: {
634
- module: rri("../person"),
635
- name: "Person"
636
- } }
637
- } },
638
- "Pet/mango.json": { data: {
639
- attributes: { name: "Mango" },
640
- meta: { adoptsFrom: {
641
- module: `${testRealmURL}pet`,
642
- name: "Pet"
643
- } }
644
- } },
645
- "Friend/amy.json": { data: {
646
- attributes: { name: "Amy" },
647
- relationships: { friend: { links: { self: `${testRealmURL}Friend/bob` } } },
648
- meta: { adoptsFrom: {
649
- module: `${testRealmURL}friend`,
650
- name: "Friend"
651
- } }
652
- } },
653
- "Friend/bob.json": { data: {
654
- attributes: { name: "Bob" },
655
- relationships: {},
656
- meta: { adoptsFrom: {
657
- module: `${testRealmURL}friend`,
658
- name: "Friend"
659
- } }
660
- } },
661
- "Person/with-friends.json": { data: {
662
- attributes: {
663
- firstName: "With",
664
- lastName: "Friends"
665
- },
666
- relationships: {
667
- "friends.0": { links: { self: `${testRealmURL}Friend/amy` } },
668
- "friends.1": { links: { self: `${testRealmURL}Friend/bob` } }
669
- },
670
- meta: { adoptsFrom: {
671
- module: `${testRealmURL}person`,
672
- name: "Person"
673
- } }
674
- } },
675
- "Country/united-states.json": { data: {
676
- type: "card",
677
- attributes: {
678
- name: "United States",
679
- cardDescription: null,
680
- cardThumbnailURL: null
681
- },
682
- meta: { adoptsFrom: {
683
- module: "../country",
684
- name: "Country"
685
- } }
686
- } },
687
- "BrokenCountry/broken-country.json": { data: {
688
- type: "card",
689
- attributes: { name: "Broken Country" },
690
- meta: { adoptsFrom: {
691
- module: "../broken-country",
692
- name: "Country"
693
- } }
694
- } },
695
- "hello.txt": txtSource,
696
- "z00.json": "{}",
697
- "z01.json": "{}",
698
- "z02.json": "{}",
699
- "z03.json": "{}",
700
- "z04.json": "{}",
701
- "z05.json": "{}",
702
- "z06.json": "{}",
703
- "z07.json": "{}",
704
- "z08.json": "{}",
705
- "z09.json": "{}",
706
- "z10.json": "{}",
707
- "z11.json": "{}",
708
- "z12.json": "{}",
709
- "z13.json": "{}",
710
- "z14.json": "{}",
711
- "z15.json": "{}",
712
- "z16.json": "{}",
713
- "z17.json": "{}",
714
- "z18.json": "{}",
715
- "z19.json": "{}",
716
- "zzz/zzz/file.json": "{}",
717
- "realm.json": realmConfigCardJSON({
718
- name: "Test Workspace B",
719
- backgroundURL: "/test-fixtures/realm-images/pawel-czerwinski-Ly-ZLa-A5jti-Y-unsplash.jpg",
720
- iconURL: "/test-fixtures/realm-images/boxel-logo.png"
721
- }),
722
- "noop.gts": `export function noop() {};\nclass NoopClass {}`
723
- }
724
- })));
725
- });
726
- (0, import_qunit.test)("defaults to inheritance view and can toggle to file view", async function(assert) {
727
- await visitOperatorMode({
728
- stacks: [[{
729
- id: `${testRealmURL}Person/1`,
730
- format: "isolated"
731
- }]],
732
- submode: "code",
733
- codePath: `${testRealmURL}Person/1.json`
734
- });
735
- await waitFor("[data-test-file-view-header]");
736
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "Inspector");
737
- assert.dom("[data-test-inspector-toggle]").hasClass("active");
738
- assert.dom("[data-test-file-browser-toggle]").doesNotHaveClass("active");
739
- await waitFor("[data-test-card-inspector-panel]");
740
- assert.dom("[data-test-card-inspector-panel]").exists();
741
- assert.dom("[data-test-file]").doesNotExist();
742
- await click("[data-test-file-browser-toggle]");
743
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "File Browser");
744
- assert.dom("[data-test-inspector-toggle]").doesNotHaveClass("active");
745
- assert.dom("[data-test-file-browser-toggle]").hasClass("active");
746
- await waitFor("[data-test-file]");
747
- assert.dom("[data-test-inheritance-placeholder]").doesNotExist();
748
- assert.dom("[data-test-file]").exists();
749
- });
750
- (0, import_qunit.test)("non-card JSON is shown as a file instance with file inheritance", async function(assert) {
751
- await visitOperatorMode({
752
- stacks: [[{
753
- id: `${testRealmURL}Person/1`,
754
- format: "isolated"
755
- }]],
756
- submode: "code",
757
- codePath: `${testRealmURL}z01.json`
758
- });
759
- await waitFor("[data-test-card-instance-definition]");
760
- assert.dom("[data-test-definition-file-extension]").hasText(".json");
761
- await waitFor("[data-test-definition-realm-name]");
762
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace B");
763
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
764
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-boxel-card-header-title]").includesText("JSON");
765
- assert.dom("[data-test-format-chooser=\"edit\"]").doesNotExist();
766
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-edit-button]").doesNotExist();
767
- assert.dom("[data-test-definition-header]").includesText("File Instance");
768
- assert.dom("[data-test-inheritance-panel-header]").includesText("File Inheritance");
769
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace B");
770
- assert.dom("[data-test-action-button=\"Delete\"]").exists();
771
- });
772
- (0, import_qunit.test)("invalid JSON is shown as a file instance with file inheritance", async function(assert) {
773
- await visitOperatorMode({
774
- stacks: [[{
775
- id: `${testRealmURL}Person/1`,
776
- format: "isolated"
777
- }]],
778
- submode: "code",
779
- codePath: `${testRealmURL}not-json.json`
780
- });
781
- await waitFor("[data-test-card-instance-definition]");
782
- assert.dom("[data-test-definition-file-extension]").hasText(".json");
783
- await waitFor("[data-test-definition-realm-name]");
784
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace B");
785
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
786
- });
787
- (0, import_qunit.test)("showing module with a syntax error will display the error", async function(assert) {
788
- let operatorModeStateParam = wrapper_default({
789
- stacks: [],
790
- submode: "code",
791
- codePath: `${testRealmURL}broken.gts`
792
- });
793
- await visit(`/?operatorModeEnabled=true&operatorModeState=${encodeURIComponent(operatorModeStateParam)}`);
794
- await waitFor("[data-test-error-details]");
795
- assert.dom("[data-test-error-details]").includesText("Parse Error at broken.gts:1:6: 1:10");
796
- assert.dom("[data-test-ai-assistant-panel]").doesNotExist();
797
- await click("[data-test-send-error-to-ai-assistant]");
798
- assert.dom("[data-test-ai-assistant-panel]").exists();
799
- assertMessages(assert, [{
800
- from: "testuser",
801
- message: `In the attachment file, I encountered an error that needs fixing: Syntax Error Stack trace: Error: Parse Error at broken.gts:1:6: 1:10`,
802
- files: [{
803
- name: "broken.gts",
804
- sourceUrl: `${testRealmURL}broken.gts`
805
- }]
806
- }]);
807
- let roomId = getService("matrix-service").currentRoomId;
808
- let lastEvent = mockMatrixUtils.getRoomEvents(roomId).pop();
809
- assert.ok(JSON.parse(lastEvent.content.data).context.agentId, "message has agentId context so that AI assistant knows not to respond to it");
810
- assert.dom("[data-test-send-error-to-ai-assistant]").exists();
811
- let originalWriteText = navigator.clipboard.writeText;
812
- let copiedText;
813
- navigator.clipboard.writeText = async (text) => {
814
- copiedText = text;
815
- return Promise.resolve();
816
- };
817
- await click("[data-test-boxel-copy-button]");
818
- const expected = "{\"message\":\"\",\"stack\":\"Error: Parse Error at broken.gts:1:6: 1:10";
819
- assert.ok(copiedText.startsWith(expected), `clipboard text starts with ${expected}`);
820
- navigator.clipboard.writeText = originalWriteText;
821
- });
822
- (0, import_qunit.test)("it shows card preview errors", async function(assert) {
823
- await visitOperatorMode({
824
- submode: "code",
825
- codePath: `${testRealmURL}not-found-adoption-instance.json`
826
- });
827
- await waitFor("[data-test-card-error]");
828
- await settled();
829
- await click("[data-test-toggle-details]");
830
- assert.dom("[data-test-error-details]").includesText(`${testRealmURL}non-card not found`);
831
- await settled();
832
- await visitOperatorMode({
833
- submode: "code",
834
- codePath: `${testRealmURL}broken-adoption-instance.json`
835
- });
836
- await waitFor("[data-test-card-error]");
837
- await settled();
838
- await click("[data-test-toggle-details]");
839
- assert.dom("[data-test-error-details]").includesText("Stack trace: Error: Encountered error rendering HTML for card: intentionalError is not defined at render");
840
- await percySnapshot(assert);
841
- });
842
- (0, import_qunit.test)("it shows card preview errors and fix it button in playground panel", async function(assert) {
843
- await visitOperatorMode({
844
- submode: "code",
845
- codePath: `${testRealmURL}broken-country.gts`
846
- });
847
- await click("[data-test-module-inspector-view=\"preview\"]");
848
- await waitFor("[data-test-card-error]");
849
- await click("[data-test-toggle-details]");
850
- assert.dom("[data-test-error-details]").includesText("Stack trace: Error: Encountered error rendering HTML for card: intentionalError is not defined at render");
851
- assert.dom("[data-test-ai-assistant-panel]").doesNotExist();
852
- await click("[data-test-send-error-to-ai-assistant]");
853
- assert.dom("[data-test-ai-assistant-panel]").exists();
854
- assertMessages(assert, [{
855
- from: "testuser",
856
- message: `In the attachment file, I encountered an error that needs fixing: Card Error Encountered error rendering HTML for card: intentionalError is not defined`,
857
- files: [{
858
- name: "broken-country.gts",
859
- sourceUrl: `${testRealmURL}broken-country.gts`
860
- }]
861
- }]);
862
- assert.dom("[data-test-send-error-to-ai-assistant]").exists();
863
- });
864
- (0, import_qunit.test)("erroring cards attached as files instead and errors are included in AI context", async function(assert) {
865
- await visitOperatorMode({
866
- submode: "code",
867
- codePath: `${testRealmURL}broken-country.gts`,
868
- aiAssistantOpen: true,
869
- moduleInspector: "preview"
870
- });
871
- assert.dom("[data-test-ai-assistant-panel]").exists();
872
- let roomId = mockMatrixUtils.getRoomIds().pop();
873
- let instanceId = document.querySelector("[data-test-card-error]")?.getAttribute("data-test-card-error");
874
- if (!instanceId) assert.ok(false, "could not find instance ID for the instance error");
875
- else {
876
- await fillIn("[data-test-message-field]", `Please try to fix the problem`);
877
- await click("[data-test-send-message-btn]");
878
- assertMessages(assert, [{
879
- from: "testuser",
880
- message: `Please try to fix the problem`,
881
- files: [{
882
- name: "broken-country.gts",
883
- sourceUrl: `${testRealmURL}broken-country.gts`
884
- }, {
885
- name: instanceId.split("/").pop(),
886
- sourceUrl: `${instanceId}.json`
887
- }]
888
- }]);
889
- }
890
- let matrixEvents = mockMatrixUtils.getRoomEvents(roomId);
891
- let lastEvent = matrixEvents[matrixEvents.length - 1];
892
- let aiContext = JSON.parse(lastEvent.content.data).context;
893
- assert.strictEqual(aiContext.errorsDisplayed[0].message, "Encountered error rendering HTML for card: intentionalError is not defined");
894
- assert.ok(aiContext.errorsDisplayed[0].stack.match(/at render/));
895
- assert.strictEqual(aiContext.errorsDisplayed[0].sourceUrl, `${testRealmURL}broken-country.gts`);
896
- });
897
- (0, import_qunit.test)("it shows card preview errors and fix it button in module inspector", async function(assert) {
898
- await visitOperatorMode({
899
- submode: "code",
900
- codePath: `${testRealmURL}BrokenCountry/broken-country.json`
901
- });
902
- assert.dom("[data-test-error-display]").exists();
903
- assert.dom("[data-test-error-display] [data-test-error-message]").hasText("Encountered error rendering HTML for card: intentionalError is not defined");
904
- assert.dom("[data-test-ai-assistant-panel]").doesNotExist();
905
- await click("[data-test-send-error-to-ai-assistant]");
906
- assert.dom("[data-test-ai-assistant-panel]").exists();
907
- assertMessages(assert, [{
908
- from: "testuser",
909
- message: `In the attachment file, I encountered an error that needs fixing: Card Error Encountered error rendering HTML for card: intentionalError is not defined`,
910
- files: [{
911
- name: "broken-country.gts",
912
- sourceUrl: `${testRealmURL}broken-country.gts`
913
- }]
914
- }]);
915
- });
916
- (0, import_qunit.test)("empty state displays default realm info", async function(assert) {
917
- await visitOperatorMode({ submode: "code" });
918
- await waitFor("[data-test-file]");
919
- assert.dom("[data-test-file]").exists();
920
- assert.dom("[data-test-file-browser-toggle]").hasClass("active");
921
- assert.dom("[data-test-card-inspector-panel]").doesNotExist();
922
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "File Browser");
923
- assert.dom("[data-test-inspector-toggle]").isDisabled();
924
- assert.dom("[data-test-empty-code-mode]").exists();
925
- assert.dom("[data-test-empty-code-mode]").containsText("Choose a file on the left to open it");
926
- assert.dom("[data-test-card-url-bar-input]").hasValue("");
927
- assert.dom("[data-test-card-url-bar-realm-info]").containsText("in Test Workspace B");
928
- });
929
- (0, import_qunit.test)("not-found state displays default realm info", async function(assert) {
930
- await visitOperatorMode({
931
- submode: "code",
932
- codePath: `${testRealmURL}perso`
933
- });
934
- await waitFor("[data-test-file]");
935
- assert.dom("[data-test-file]").exists();
936
- assert.dom("[data-test-file-browser-toggle]").hasClass("active");
937
- assert.dom("[data-test-card-inspector-panel]").doesNotExist();
938
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "File Browser");
939
- assert.dom("[data-test-inspector-toggle]").isDisabled();
940
- assert.dom("[data-test-empty-code-mode]").doesNotExist();
941
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}perso`);
942
- assert.dom("[data-test-card-url-bar-realm-info]").containsText("in Test Workspace B");
943
- });
944
- (0, import_qunit.module)("with connection to test realm", function(hooks) {
945
- hooks.beforeEach(function() {
946
- setActiveRealms([testRealmURL, `${testModuleRealm}`]);
947
- });
948
- (0, import_qunit.test)("code submode handles binary files", async function(assert) {
949
- await visitOperatorMode({
950
- submode: "code",
951
- codePath: `${testModuleRealm}mango.png`
952
- });
953
- await waitFor("[data-test-binary-info]");
954
- await waitFor("[data-test-definition-file-extension]");
955
- assert.dom("[data-test-definition-file-extension]").hasText(".png");
956
- await waitFor("[data-test-definition-realm-name]");
957
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace A");
958
- assert.dom("[data-test-definition-info-text]").containsText("Last saved");
959
- assert.dom("[data-test-binary-info] [data-test-file-name]").hasText("mango.png");
960
- assert.dom("[data-test-binary-info] [data-test-size]").hasText("114.71 kB");
961
- assert.dom("[data-test-binary-info] [data-test-last-modified]").containsText("Last modified");
962
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
963
- await percySnapshot(assert);
964
- });
965
- });
966
- (0, import_qunit.test)("can handle error when user puts unidentified domain in card URL bar", async function(assert) {
967
- await visitOperatorMode({
968
- stacks: [[{
969
- id: `${testRealmURL}Person/1`,
970
- format: "isolated"
971
- }]],
972
- submode: "code",
973
- fileView: "browser",
974
- codePath: `${testRealmURL}Person/1.json`,
975
- openDirs: { [testRealmURL]: ["Person/"] }
976
- });
977
- await fillIn("[data-test-card-url-bar-input]", `http://unknown-domain.com/test/mango.png`);
978
- await triggerKeyEvent("[data-test-card-url-bar-input]", "keypress", "Enter");
979
- await waitFor("[data-test-card-url-bar-error]");
980
- assert.dom("[data-test-card-url-bar-error]").containsText("This resource does not exist");
981
- });
982
- (0, import_qunit.test)("card preview will show in the 3rd column when submode is set to code", async function(assert) {
983
- await visitOperatorMode({
984
- stacks: [[{
985
- id: `${testRealmURL}Person/fadhlan`,
986
- format: "isolated"
987
- }]],
988
- submode: "code",
989
- codePath: `${testRealmURL}Person/fadhlan.json`
990
- });
991
- await waitFor("[data-test-card-resource-loaded]");
992
- assert.dom("[data-test-code-mode-card-renderer-header]").hasText("Person - Fadhlan");
993
- assert.dom("[data-test-code-mode-card-renderer-body]").includesText("Fadhlan");
994
- assert.dom("[data-test-format-chooser]").exists({ count: cardDefFormats.length });
995
- assert.dom("[data-test-format-chooser=\"edit\"]").exists();
996
- assert.dom("[data-test-format-chooser=\"metadata\"]").doesNotExist();
997
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-edit-button]").exists();
998
- assert.dom("[data-test-format-chooser=\"isolated\"]").hasClass("active");
999
- await click("[data-test-format-chooser=\"fitted\"]");
1000
- assert.dom("[data-test-format-chooser=\"fitted\"]").hasClass("active");
1001
- assert.dom("[data-test-code-mode-card-renderer-body ] .field-component-card.fitted-format").exists();
1002
- await click("[data-test-format-chooser=\"embedded\"]");
1003
- assert.dom("[data-test-format-chooser=\"embedded\"]").hasClass("active");
1004
- assert.dom("[data-test-code-mode-card-renderer-body ] .field-component-card.embedded-format").exists();
1005
- await click("[data-test-format-chooser=\"atom\"]");
1006
- assert.dom("[data-test-format-chooser=\"atom\"]").hasClass("active");
1007
- assert.dom("[data-test-code-mode-card-renderer-body] .atom-format").exists();
1008
- assert.dom("[data-test-code-mode-card-renderer-body] .atom-format").includesText("Fadhlan");
1009
- await click("[data-test-format-chooser=\"edit\"]");
1010
- assert.dom("[data-test-format-chooser=\"edit\"]").hasClass("active");
1011
- assert.dom("[data-test-code-mode-card-renderer-body ] .field-component-card.edit-format").exists();
1012
- await click("[data-test-format-chooser=\"markdown\"]");
1013
- assert.dom("[data-test-format-chooser=\"markdown\"]").hasClass("active");
1014
- assert.dom("[data-test-code-mode-card-renderer-body] .field-component-card.markdown-format").exists();
1015
- assert.dom("[data-test-card-schema]").doesNotExist();
1016
- });
1017
- (0, import_qunit.test)("\"form\" format button appears only for cards with a custom edit template", async function(assert) {
1018
- await visitOperatorMode({
1019
- submode: "code",
1020
- codePath: `${testRealmURL}CustomEdit/sample.json`
1021
- });
1022
- await waitFor("[data-test-card-resource-loaded]");
1023
- assert.dom("[data-test-format-chooser]").exists({ count: cardDefFormats.length + 1 });
1024
- assert.dom("[data-test-format-chooser=\"form\"]").exists("\"form\" button appears because CustomEdit defines a custom edit template");
1025
- assert.dom("[data-test-format-chooser=\"edit\"]").exists("\"edit\" button still present alongside \"form\"");
1026
- await click("[data-test-format-chooser=\"form\"]");
1027
- assert.dom("[data-test-format-chooser=\"form\"]").hasClass("active");
1028
- assert.dom("[data-test-code-mode-card-renderer-body] [data-test-custom-edit]").doesNotExist("base CardDef template is used, not the custom edit template");
1029
- assert.dom("[data-test-code-mode-card-renderer-body] .field-component-card.edit-format").exists("card renders in edit format");
1030
- await click("[data-test-format-chooser=\"edit\"]");
1031
- assert.dom("[data-test-format-chooser=\"edit\"]").hasClass("active");
1032
- assert.dom("[data-test-code-mode-card-renderer-body] [data-test-custom-edit]").exists("custom edit template is used when \"edit\" is selected");
1033
- await visitOperatorMode({
1034
- submode: "code",
1035
- codePath: `${testRealmURL}Person/fadhlan.json`
1036
- });
1037
- await waitFor("[data-test-card-resource-loaded]");
1038
- assert.dom("[data-test-format-chooser=\"form\"]").doesNotExist("\"form\" button absent for cards without a custom edit template");
1039
- });
1040
- (0, import_qunit.test)("non-card file preview shows \"metadata\" format option and not \"edit\"", async function(assert) {
1041
- await visitOperatorMode({
1042
- stacks: [[{
1043
- id: `${testRealmURL}Person/1`,
1044
- format: "isolated"
1045
- }]],
1046
- submode: "code",
1047
- codePath: `${testRealmURL}z01.json`
1048
- });
1049
- await waitFor("[data-test-code-mode-card-renderer-body]");
1050
- assert.dom("[data-test-format-chooser]").exists({ count: fileDefFormats.length });
1051
- assert.dom("[data-test-format-chooser=\"metadata\"]").exists();
1052
- assert.dom("[data-test-format-chooser=\"edit\"]").doesNotExist();
1053
- assert.dom("[data-test-format-chooser=\"isolated\"]").exists();
1054
- assert.dom("[data-test-format-chooser=\"embedded\"]").exists();
1055
- assert.dom("[data-test-format-chooser=\"fitted\"]").exists();
1056
- assert.dom("[data-test-format-chooser=\"atom\"]").exists();
1057
- assert.dom("[data-test-format-chooser=\"head\"]").exists();
1058
- assert.dom("[data-test-format-chooser=\"markdown\"]").exists();
1059
- });
1060
- (0, import_qunit.test)("clicking \"metadata\" format for a non-card file shows metadata panel with JSON-API content", async function(assert) {
1061
- await visitOperatorMode({
1062
- stacks: [[{
1063
- id: `${testRealmURL}Person/1`,
1064
- format: "isolated"
1065
- }]],
1066
- submode: "code",
1067
- codePath: `${testRealmURL}z01.json`
1068
- });
1069
- await waitFor("[data-test-code-mode-card-renderer-body]");
1070
- await click("[data-test-format-chooser=\"metadata\"]");
1071
- assert.dom("[data-test-format-chooser=\"metadata\"]").hasClass("active", "metadata button is active after clicking");
1072
- await waitFor("[data-test-metadata-panel]");
1073
- assert.dom("[data-test-metadata-panel]").exists();
1074
- await waitFor("[data-test-metadata-content]");
1075
- assert.dom("[data-test-metadata-content]").exists();
1076
- let content = document.querySelector("[data-test-metadata-content]")?.textContent ?? "";
1077
- assert.true(content.includes("\"file-meta\""), "metadata content includes \"file-meta\" type");
1078
- assert.true(content.includes("adoptsFrom"), "metadata content includes adoptsFrom");
1079
- });
1080
- (0, import_qunit.test)("switching away from \"metadata\" format hides the metadata panel", async function(assert) {
1081
- await visitOperatorMode({
1082
- stacks: [[{
1083
- id: `${testRealmURL}Person/1`,
1084
- format: "isolated"
1085
- }]],
1086
- submode: "code",
1087
- codePath: `${testRealmURL}z01.json`
1088
- });
1089
- await waitFor("[data-test-code-mode-card-renderer-body]");
1090
- await click("[data-test-format-chooser=\"metadata\"]");
1091
- await waitFor("[data-test-metadata-panel]");
1092
- assert.dom("[data-test-metadata-panel]").exists();
1093
- await click("[data-test-format-chooser=\"isolated\"]");
1094
- assert.dom("[data-test-metadata-panel]").doesNotExist("metadata panel is hidden after switching formats");
1095
- assert.dom("[data-test-format-chooser=\"isolated\"]").hasClass("active", "isolated button is active after switching");
1096
- });
1097
- (0, import_qunit.test)("format chooser flips to compact mode in a narrow preview panel and restores on widen", async function(assert) {
1098
- await visitOperatorMode({
1099
- stacks: [[{
1100
- id: `${testRealmURL}Person/fadhlan`,
1101
- format: "isolated"
1102
- }]],
1103
- submode: "code",
1104
- codePath: `${testRealmURL}Person/fadhlan.json`
1105
- });
1106
- await waitFor("[data-test-code-mode-card-renderer-body]");
1107
- let chooser = document.querySelector("[data-test-format-chooser-root]");
1108
- assert.ok(chooser, "format chooser is rendered");
1109
- assert.dom("[data-test-format-chooser-root]").hasAttribute("data-test-format-chooser-mode", "full", "chooser starts in full icon+text mode");
1110
- let previewResizeHandle = Array.from(document.querySelectorAll("[data-test-code-mode] .separator-horizontal[data-boxel-panel-resize-handle-id]")).at(-1);
1111
- assert.ok(previewResizeHandle, "preview panel resize handle exists");
1112
- let editorPanel = previewResizeHandle.previousElementSibling;
1113
- let previewPanel = previewResizeHandle.nextElementSibling;
1114
- assert.dom(editorPanel).hasAttribute("data-boxel-panel-id", /.+/, "the element before the handle is a resizable panel");
1115
- assert.dom(previewPanel).hasAttribute("data-boxel-panel-id", /.+/, "the element after the handle is a resizable panel");
1116
- let initialEditorWidth = editorPanel.getBoundingClientRect().width;
1117
- let initialPreviewWidth = previewPanel.getBoundingClientRect().width;
1118
- let dragDistance = Math.round(initialPreviewWidth * .75);
1119
- let shrinkRect = previewResizeHandle.getBoundingClientRect();
1120
- await triggerEvent(previewResizeHandle, "pointerdown", {
1121
- button: 0,
1122
- pointerId: 1,
1123
- clientX: shrinkRect.x + shrinkRect.width / 2,
1124
- clientY: shrinkRect.y + shrinkRect.height / 2
1125
- });
1126
- await triggerEvent(previewResizeHandle, "pointermove", {
1127
- pointerId: 1,
1128
- buttons: 1,
1129
- clientX: shrinkRect.x + shrinkRect.width / 2 + dragDistance,
1130
- clientY: shrinkRect.y + shrinkRect.height / 2
1131
- });
1132
- await triggerEvent(previewResizeHandle, "pointerup", {
1133
- pointerId: 1,
1134
- clientX: shrinkRect.x + shrinkRect.width / 2 + dragDistance,
1135
- clientY: shrinkRect.y + shrinkRect.height / 2
1136
- });
1137
- await waitUntil(() => chooser?.getAttribute("data-test-format-chooser-mode") === "compact");
1138
- assert.dom("[data-test-format-chooser-root]").hasAttribute("data-test-format-chooser-mode", "compact", "chooser switches to compact icon-only mode");
1139
- let embeddedButton = document.querySelector("[data-test-format-chooser=\"embedded\"]");
1140
- assert.ok(embeddedButton, "embedded format button exists");
1141
- let embeddedRect = embeddedButton.getBoundingClientRect();
1142
- await triggerEvent(embeddedButton, "mouseenter", {
1143
- clientX: embeddedRect.x + embeddedRect.width / 2,
1144
- clientY: embeddedRect.y + embeddedRect.height / 2
1145
- });
1146
- await triggerEvent(embeddedButton, "mousemove", {
1147
- clientX: embeddedRect.x + embeddedRect.width / 2,
1148
- clientY: embeddedRect.y + embeddedRect.height / 2
1149
- });
1150
- await waitFor("[data-test-tooltip-content]");
1151
- assert.dom("[data-test-tooltip-content]").hasText("embedded", "compact chooser shows an instant hover tooltip");
1152
- let widenRect = previewResizeHandle.getBoundingClientRect();
1153
- await triggerEvent(previewResizeHandle, "pointerdown", {
1154
- button: 0,
1155
- pointerId: 2,
1156
- clientX: widenRect.x + widenRect.width / 2,
1157
- clientY: widenRect.y + widenRect.height / 2
1158
- });
1159
- await triggerEvent(previewResizeHandle, "pointermove", {
1160
- pointerId: 2,
1161
- buttons: 1,
1162
- clientX: widenRect.x + widenRect.width / 2 - dragDistance,
1163
- clientY: widenRect.y + widenRect.height / 2
1164
- });
1165
- await triggerEvent(previewResizeHandle, "pointerup", {
1166
- pointerId: 2,
1167
- clientX: widenRect.x + widenRect.width / 2 - dragDistance,
1168
- clientY: widenRect.y + widenRect.height / 2
1169
- });
1170
- await waitUntil(() => chooser?.getAttribute("data-test-format-chooser-mode") === "full");
1171
- await triggerEvent(chooser, "mouseleave");
1172
- assert.dom("[data-test-format-chooser-root]").hasAttribute("data-test-format-chooser-mode", "full", "chooser returns to full icon+text mode after widening");
1173
- assert.dom("[data-test-tooltip-content]").doesNotExist("compact tooltip does not stick after widening");
1174
- assert.dom("[data-test-format-chooser-pill-label]").hasText("isolated", "full chooser label is restored");
1175
- assert.ok(Math.abs(previewPanel.getBoundingClientRect().width - initialPreviewWidth) <= 1, "preview panel is back to the width it started at");
1176
- assert.ok(Math.abs(editorPanel.getBoundingClientRect().width - initialEditorWidth) <= 1, "code editor panel is back to the width it started at");
1177
- });
1178
- (0, import_qunit.test)("displays clear message when a schema-editor incompatible item is selected within a valid file type", async function(assert) {
1179
- await visitOperatorMode({
1180
- submode: "code",
1181
- codePath: `${testRealmURL}employee.gts`
1182
- });
1183
- await waitFor("[data-test-loading-indicator]", { count: 0 });
1184
- await waitFor("[data-test-in-this-file-selector] [data-test-boxel-selector-item-selected]");
1185
- assert.dom("[data-test-in-this-file-selector] [data-test-boxel-selector-item-selected]").hasText("isHourly function");
1186
- assert.dom("[data-test-schema-editor-file-incompatibility-message]").hasText(`No tools are available for the selected item: function "isHourly". Select a card or field definition in the inspector.`);
1187
- await click("[data-test-boxel-selector-item-text=\"Isolated\"]");
1188
- await waitFor("[data-test-loading-indicator]", { count: 0 });
1189
- assert.dom("[data-test-in-this-file-selector] [data-test-boxel-selector-item-selected]").hasText("Isolated class");
1190
- assert.dom("[data-test-schema-editor-file-incompatibility-message]").hasText(`No tools are available for the selected item: class "Isolated". Select a card or field definition in the inspector.`);
1191
- await visitOperatorMode({
1192
- submode: "code",
1193
- codePath: `${testRealmURL}employee.gts`
1194
- });
1195
- await waitFor("[data-test-loading-indicator]", { count: 0 });
1196
- assert.dom("[data-test-schema-editor-file-incompatibility-message]").exists();
1197
- });
1198
- (0, import_qunit.test)("displays clear message on schema-editor when file is completely unsupported", async function(assert) {
1199
- await visitOperatorMode({
1200
- submode: "code",
1201
- codePath: `${testRealmURL}hello.txt`
1202
- });
1203
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
1204
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-boxel-card-header-title]").includesText("File");
1205
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-boxel-card-header-title]").includesText("hello.txt");
1206
- assert.dom("[data-test-format-chooser=\"edit\"]").doesNotExist();
1207
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-edit-button]").doesNotExist();
1208
- await waitFor("[data-test-definition-file-extension]");
1209
- assert.dom("[data-test-definition-file-extension]").hasText(".txt");
1210
- });
1211
- (0, import_qunit.test)("Clicking card in search panel opens card JSON in editor", async function(assert) {
1212
- await visitOperatorMode({
1213
- submode: "code",
1214
- codePath: `${testRealmURL}employee.gts`
1215
- });
1216
- assert.dom("[data-test-search-sheet]").doesNotHaveClass("prompt");
1217
- await click("[data-test-open-search-field]");
1218
- assert.dom("[data-test-search-sheet]").hasClass("prompt");
1219
- await fillIn("[data-test-search-field]", "Mango");
1220
- assert.dom("[data-test-search-sheet]").hasClass("results");
1221
- await waitFor(`[data-test-search-result="${testRealmURL}Pet/mango"]`, { timeout: 2e3 });
1222
- await click(`[data-test-search-result="${testRealmURL}Pet/mango"]`);
1223
- assert.dom("[data-test-search-sheet]").doesNotHaveClass("results");
1224
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1225
- attributes: { name: "Mango" },
1226
- meta: { adoptsFrom: {
1227
- module: `${testRealmURL}pet`,
1228
- name: "Pet"
1229
- } }
1230
- } });
1231
- });
1232
- (0, import_qunit.test)("Clicking a search result while the workspace chooser is open closes the chooser and shows the file", async function(assert) {
1233
- await visitOperatorMode({
1234
- submode: "code",
1235
- codePath: `${testRealmURL}employee.gts`,
1236
- workspaceChooserOpened: true
1237
- });
1238
- assert.dom("[data-test-workspace-chooser]").exists();
1239
- await click("[data-test-open-search-field]");
1240
- await fillIn("[data-test-search-field]", "Mango");
1241
- await waitFor(`[data-test-search-result="${testRealmURL}Pet/mango"]`, { timeout: 2e3 });
1242
- await click(`[data-test-search-result="${testRealmURL}Pet/mango"]`);
1243
- assert.dom("[data-test-workspace-chooser]").doesNotExist();
1244
- await waitFor("[data-test-card-url-bar-input]");
1245
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}Pet/mango.json`);
1246
- });
1247
- (0, import_qunit.test)("Clicking a file in search panel opens the file itself (no .json appended)", async function(assert) {
1248
- await visitOperatorMode({
1249
- submode: "code",
1250
- codePath: `${testRealmURL}employee.gts`
1251
- });
1252
- await click("[data-test-open-search-field]");
1253
- await fillIn("[data-test-search-field]", "care-guide");
1254
- await waitFor(`[data-test-search-result="${testRealmURL}care-guide.md"]`, { timeout: 2e3 });
1255
- await click(`[data-test-search-result="${testRealmURL}care-guide.md"]`);
1256
- assert.dom("[data-test-search-sheet]").doesNotHaveClass("results");
1257
- await waitFor("[data-test-card-url-bar-input]");
1258
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}care-guide.md`, "the file opens at its own URL, without a .json extension appended");
1259
- assert.true(getMonacoContent().includes("Care Guide"), "the markdown file content is loaded in the editor");
1260
- });
1261
- (0, import_qunit.test)("clicking a linksTo field in card renderer panel opens the linked card JSON", async function(assert) {
1262
- let operatorModeStateService = getService("operator-mode-state-service");
1263
- await visitOperatorMode({
1264
- stacks: [[{
1265
- id: `${testRealmURL}Friend/amy`,
1266
- format: "isolated"
1267
- }]],
1268
- submode: "code",
1269
- codePath: `${testRealmURL}Friend/amy.json`
1270
- });
1271
- await waitFor("[data-test-code-mode-card-renderer-body]");
1272
- assert.dom(`[data-test-card="${testRealmURL}Friend/amy"]`).exists();
1273
- await waitFor(`[data-test-card="${testRealmURL}Friend/bob"]`);
1274
- await click(`[data-test-card="${testRealmURL}Friend/bob"]`);
1275
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/bob.json"));
1276
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/bob.json`);
1277
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1278
- attributes: { name: "Bob" },
1279
- meta: { adoptsFrom: {
1280
- module: `${testRealmURL}friend`,
1281
- name: "Friend"
1282
- } },
1283
- relationships: {}
1284
- } });
1285
- });
1286
- (0, import_qunit.test)("clicking a linksToMany field in card renderer panel opens the linked card JSON", async function(assert) {
1287
- let operatorModeStateService = getService("operator-mode-state-service");
1288
- await visitOperatorMode({
1289
- stacks: [[{
1290
- id: `${testRealmURL}Person/with-friends`,
1291
- format: "isolated"
1292
- }]],
1293
- submode: "code",
1294
- codePath: `${testRealmURL}Person/with-friends.json`
1295
- });
1296
- await waitFor("[data-test-code-mode-card-renderer-body]");
1297
- assert.dom(`[data-test-card="${testRealmURL}Person/with-friends"]`).exists();
1298
- await waitFor(`[data-test-card="${testRealmURL}Friend/bob"]`);
1299
- await click(`[data-test-card="${testRealmURL}Friend/bob"]`);
1300
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/bob.json"));
1301
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/bob.json`);
1302
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1303
- attributes: { name: "Bob" },
1304
- meta: { adoptsFrom: {
1305
- module: `${testRealmURL}friend`,
1306
- name: "Friend"
1307
- } },
1308
- relationships: {}
1309
- } });
1310
- });
1311
- (0, import_qunit.test)("clicking a linksTo field in playground panel opens the linked card JSON", async function(assert) {
1312
- let operatorModeStateService = getService("operator-mode-state-service");
1313
- await visitOperatorMode({
1314
- stacks: [[{
1315
- id: `${testRealmURL}Friend/amy`,
1316
- format: "isolated"
1317
- }]],
1318
- submode: "code",
1319
- codePath: `${testRealmURL}friend.gts`
1320
- });
1321
- await click("[data-test-module-inspector-view=\"preview\"]");
1322
- assert.dom(`[data-test-card="${testRealmURL}Friend/amy"]`).exists();
1323
- await click(`[data-test-card="${testRealmURL}Friend/bob"]`);
1324
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/bob.json"));
1325
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/bob.json`);
1326
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1327
- attributes: { name: "Bob" },
1328
- meta: { adoptsFrom: {
1329
- module: `${testRealmURL}friend`,
1330
- name: "Friend"
1331
- } },
1332
- relationships: {}
1333
- } });
1334
- });
1335
- (0, import_qunit.test)("clicking a linksToMany field in playground panel opens the linked card JSON", async function(assert) {
1336
- let operatorModeStateService = getService("operator-mode-state-service");
1337
- setPlaygroundSelections({ [`${testRealmURL}person/Person`]: {
1338
- cardId: rri(`${testRealmURL}Person/with-friends`),
1339
- format: "isolated"
1340
- } });
1341
- await visitOperatorMode({
1342
- stacks: [[{
1343
- id: `${testRealmURL}Person/with-friends`,
1344
- format: "isolated"
1345
- }]],
1346
- submode: "code",
1347
- codePath: `${testRealmURL}person.gts`
1348
- });
1349
- await click("[data-test-module-inspector-view=\"preview\"]");
1350
- assert.dom(`[data-test-card="${testRealmURL}Person/with-friends"]`).exists();
1351
- await waitFor(`[data-test-card="${testRealmURL}Friend/amy"]`);
1352
- await click(`[data-test-card="${testRealmURL}Friend/amy"]`);
1353
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/amy.json"));
1354
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/amy.json`);
1355
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1356
- attributes: { name: "Amy" },
1357
- meta: { adoptsFrom: {
1358
- module: `${testRealmURL}friend`,
1359
- name: "Friend"
1360
- } },
1361
- relationships: { friend: { links: { self: `${testRealmURL}Friend/bob` } } }
1362
- } });
1363
- });
1364
- (0, import_qunit.test)("changes cursor position when selected module declaration is changed", async function(assert) {
1365
- await visitOperatorMode({
1366
- submode: "code",
1367
- codePath: `${testRealmURL}in-this-file.gts`
1368
- });
1369
- await waitFor("[data-test-card-inspector-panel]");
1370
- await waitFor("[data-test-current-module-name]");
1371
- await waitFor("[data-test-in-this-file-selector]");
1372
- let elementName = "default (DefaultClass) class";
1373
- assert.dom("[data-test-boxel-selector-item]:nth-of-type(11)").hasText(elementName);
1374
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(elementName);
1375
- assert.true(monacoService.getLineCursorOn()?.includes("DefaultClass"), "cursor is on DefaultClass line");
1376
- elementName = "ExportedCard";
1377
- await click(`[data-test-boxel-selector-item-text="${elementName}"]`);
1378
- assert.true(monacoService.getLineCursorOn()?.includes(elementName), "cursor is on ExportedCard line");
1379
- elementName = "ExportedField";
1380
- await click(`[data-test-boxel-selector-item-text="${elementName}"]`);
1381
- assert.true(monacoService.getLineCursorOn()?.includes(elementName), "cursor is on ExportedField line");
1382
- elementName = "exportedFunction";
1383
- await click(`[data-test-boxel-selector-item-text="${elementName}"]`);
1384
- assert.true(monacoService.getLineCursorOn()?.includes(elementName), "cursor is on exportedFunction line");
1385
- });
1386
- (0, import_qunit.test)("changes selected module declaration when cursor position is changed", async function(assert) {
1387
- await visitOperatorMode({
1388
- submode: "code",
1389
- codePath: `${testRealmURL}in-this-file.gts`
1390
- });
1391
- await waitFor("[data-test-card-inspector-panel]");
1392
- await waitFor("[data-test-current-module-name]");
1393
- await waitFor("[data-test-in-this-file-selector]");
1394
- let elementName = "default (DefaultClass) class";
1395
- assert.dom("[data-test-boxel-selector-item]:nth-of-type(11)").hasText(elementName);
1396
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(elementName);
1397
- assert.true(monacoService.getLineCursorOn()?.includes("DefaultClass"));
1398
- elementName = "ExportedFieldInheritLocalField";
1399
- let position = new Position(45, 0);
1400
- monacoService.updateCursorPosition(position);
1401
- await waitFor(`[data-test-boxel-selector-item-selected] [data-test-boxel-selector-item-text="${elementName}"]`);
1402
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(`${elementName} field def`);
1403
- elementName = "LocalField";
1404
- position = new Position(38, 0);
1405
- monacoService.updateCursorPosition(position);
1406
- await waitFor(`[data-test-boxel-selector-item-selected] [data-test-boxel-selector-item-text="${elementName}"]`);
1407
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(`${elementName} field def`);
1408
- elementName = "ExportedCard";
1409
- position = new Position(31, 0);
1410
- monacoService.updateCursorPosition(position);
1411
- await waitFor(`[data-test-boxel-selector-item-selected] [data-test-boxel-selector-item-text="${elementName}"]`);
1412
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(`${elementName} card def`);
1413
- });
1414
- (0, import_qunit.test)("the monaco cursor position is maintained during an auto-save", async function(assert) {
1415
- assert.expect(2);
1416
- monacoService.serverEchoDebounceMs = 5e3;
1417
- try {
1418
- await visitOperatorMode({
1419
- submode: "code",
1420
- codePath: `${testRealmURL}in-this-file.gts`
1421
- });
1422
- let originalPosition;
1423
- setMonacoContent(`// This is a change \n${inThisFileSource}`);
1424
- monacoService.updateCursorPosition(new Position(45, 0));
1425
- originalPosition = monacoService.getCursorPosition();
1426
- await waitFor("[data-test-saved]");
1427
- await waitFor("[data-test-save-idle]");
1428
- let currentPosition = monacoService.getCursorPosition();
1429
- assert.strictEqual(originalPosition.lineNumber, currentPosition?.lineNumber, "cursor position line number has not changed");
1430
- assert.strictEqual(originalPosition.column, currentPosition?.column, "cursor position column has not changed");
1431
- } finally {
1432
- monacoService.serverEchoDebounceMs = 0;
1433
- }
1434
- });
1435
- (0, import_qunit.test)("cursor is placed at the correct declaration when user opens definition", async function(assert) {
1436
- await visitOperatorMode({
1437
- submode: "code",
1438
- codePath: `${testRealmURL}employee.gts`
1439
- });
1440
- await waitFor(`[data-boxel-selector-item-text="Employee"]`);
1441
- await click(`[data-boxel-selector-item-text="Employee"]`);
1442
- let lineCursorOn = monacoService.getLineCursorOn();
1443
- assert.true(lineCursorOn?.includes("Employee"), "cursor is at Employee declaration");
1444
- await click(`[data-test-clickable-definition-container`);
1445
- await waitFor(`[data-boxel-selector-item-text="Person"]`);
1446
- await waitUntil(() => monacoService.hasFocus);
1447
- lineCursorOn = monacoService.getLineCursorOn();
1448
- assert.true(lineCursorOn?.includes("Person"), "cursor is at Person declaration");
1449
- });
1450
- (0, import_qunit.test)("cursor must not be in editor if user focuses on other elements", async function(assert) {
1451
- await visitOperatorMode({
1452
- submode: "code",
1453
- codePath: `${testRealmURL}employee.gts`
1454
- });
1455
- await waitFor(`[data-boxel-selector-item-text="Employee"]`);
1456
- await click(`[data-boxel-selector-item-text="Employee"]`);
1457
- assert.true(monacoService.hasFocus);
1458
- await fillIn("[data-test-card-url-bar] input", `${testRealmURL}person.gts`);
1459
- assert.false(monacoService.hasFocus);
1460
- await triggerKeyEvent("[data-test-card-url-bar-input]", "keypress", "Enter");
1461
- await waitFor(`[data-boxel-selector-item-text="Person"]`);
1462
- assert.true(monacoService.hasFocus);
1463
- await fillIn("[data-test-card-url-bar] input", `${testRealmURL}person.gts-test`);
1464
- assert.false(monacoService.hasFocus);
1465
- });
1466
- (0, import_qunit.test)("scroll position persists when changing card preview format", async function(assert) {
1467
- await visitOperatorMode({
1468
- submode: "code",
1469
- codePath: `${testRealmURL}Pet/mango.json`
1470
- });
1471
- await waitFor("[data-test-code-mode-card-renderer-body]");
1472
- await scrollTo("[data-test-code-mode-card-renderer-body]", 0, 100);
1473
- await click("[data-test-format-chooser=\"edit\"]");
1474
- await click("[data-test-format-chooser=\"isolated\"]");
1475
- let element = document.querySelector("[data-test-code-mode-card-renderer-body]");
1476
- assert.strictEqual(element.scrollTop, 100, "the scroll position is correct");
1477
- });
1478
- (0, import_qunit.skip)("updates values in preview panel must be represented in editor panel", async function(assert) {
1479
- await visitOperatorMode({
1480
- submode: "code",
1481
- codePath: `${testRealmURL}Person/fadhlan.json`
1482
- });
1483
- await waitFor("[data-test-code-mode-card-renderer-body]");
1484
- await click("[data-test-format-chooser=\"edit\"]");
1485
- await fillIn("[data-test-field=\"lastName\"] input", "Ridhwanallah");
1486
- await fillIn("[data-test-field=\"streetAddress\"] input", "Unknown Address");
1487
- await fillIn("[data-test-field=\"city\"] input", "Bandung");
1488
- await fillIn("[data-test-field=\"fiveDigitPostalCode\"] input", "12345");
1489
- await fillIn("[data-test-field=\"fourDigitOptional\"] input", "1234");
1490
- await click("[data-test-links-to-many=\"countriesVisited\"] [data-test-add-new]");
1491
- await waitFor(`[data-test-item-button="${testRealmURL}Country/united-states"]`);
1492
- await click(`[data-test-item-button="${testRealmURL}Country/united-states"]`);
1493
- await click(`[data-test-card-chooser-go-button]`);
1494
- await waitFor("[data-test-saved]");
1495
- await waitFor("[data-test-save-idle]");
1496
- await settled();
1497
- let content = getMonacoContent();
1498
- await waitUntil(() => content.includes("Ridhwanallah"));
1499
- assert.ok(content.includes("Ridhwanallah"), "content includes Ridhwanallah");
1500
- assert.ok(content.includes("Unknown Address"), "content includes Unknown Address");
1501
- assert.ok(content.includes("Bandung"), "content includes Bandung");
1502
- assert.ok(content.includes("12345"), "content includes 12345");
1503
- assert.ok(content.includes("1234"), "content includes 1234");
1504
- assert.ok(content.includes(`${testRealmURL}Country/united-states`), "content includes Country/united-states");
1505
- });
1506
- (0, import_qunit.test)("monaco editor live updates when index changes", async function(assert) {
1507
- await visitOperatorMode({
1508
- stacks: [[{
1509
- id: `${testRealmURL}Person/fadhlan`,
1510
- format: "isolated"
1511
- }]],
1512
- submode: "code",
1513
- codePath: `${testRealmURL}Person/fadhlan.json`
1514
- });
1515
- await waitUntil(() => getMonacoContent().includes("Fadhlan"), { timeout: 5e3 });
1516
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1517
- type: "card",
1518
- attributes: { firstName: "FadhlanXXX" },
1519
- meta: { adoptsFrom: {
1520
- module: rri("../person"),
1521
- name: "Person"
1522
- } }
1523
- } }));
1524
- try {
1525
- await waitUntil(() => getMonacoContent().includes("FadhlanXXX"), { timeout: 5e3 });
1526
- } catch (err) {
1527
- let monacoContent = getMonacoContent();
1528
- let sourceProbe;
1529
- let sourceOk;
1530
- try {
1531
- let res = await getService("network").authedFetch(`${testRealmURL}Person/fadhlan.json`, { headers: { Accept: "application/vnd.card+source" } });
1532
- let body = await res.text();
1533
- sourceOk = res.ok;
1534
- sourceProbe = sourceOk ? body : `<source-probe non-ok: ${res.status} ${res.statusText} body=${JSON.stringify(body)}>`;
1535
- } catch (e) {
1536
- sourceOk = false;
1537
- sourceProbe = `<source-probe error: ${e?.message ?? e}>`;
1538
- }
1539
- console.warn(`[monaco-live-updates flake-probe] waitUntil timed out. monaco includes "FadhlanXXX"=${monacoContent.includes("FadhlanXXX")}; source fetch ok=${sourceOk}; source on disk includes "FadhlanXXX"=${sourceOk && sourceProbe.includes("FadhlanXXX")}. monaco snapshot: ${JSON.stringify(monacoContent)}. source snapshot: ${JSON.stringify(sourceProbe)}.`);
1540
- throw err;
1541
- }
1542
- assert.true(getMonacoContent().includes("FadhlanXXX"), "monaco editor updated from index event");
1543
- });
1544
- (0, import_qunit.test)("code editor shows size limit error when json save exceeds limit", async function(assert) {
1545
- let environmentService = getService("environment-service");
1546
- let originalMaxSize = environmentService.cardSizeLimitBytes;
1547
- try {
1548
- await visitOperatorMode({
1549
- submode: "code",
1550
- codePath: `${testRealmURL}person-entry.json`
1551
- });
1552
- await waitFor("[data-test-editor]");
1553
- let content = getMonacoContent();
1554
- let currentSize = new TextEncoder().encode(content).length;
1555
- environmentService.cardSizeLimitBytes = currentSize + 50;
1556
- let doc = JSON.parse(content);
1557
- doc.data.attributes = {
1558
- ...doc.data.attributes ?? {},
1559
- title: "x".repeat(currentSize + 200)
1560
- };
1561
- setMonacoContent(JSON.stringify(doc, null, 2));
1562
- await waitFor("[data-test-save-error]");
1563
- assert.dom("[data-test-save-error]").includesText(`exceeds maximum allowed size (${environmentService.cardSizeLimitBytes} bytes)`);
1564
- } finally {
1565
- environmentService.cardSizeLimitBytes = originalMaxSize;
1566
- }
1567
- });
1568
- (0, import_qunit.test)("card preview live updates when index changes", async function(assert) {
1569
- await visitOperatorMode({
1570
- stacks: [[{
1571
- id: `${testRealmURL}Person/fadhlan`,
1572
- format: "isolated"
1573
- }]],
1574
- submode: "code",
1575
- codePath: `${testRealmURL}Person/fadhlan.json`
1576
- });
1577
- await waitFor("[data-test-card-resource-loaded]");
1578
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1579
- type: "card",
1580
- attributes: { firstName: "FadhlanXXX" },
1581
- meta: { adoptsFrom: {
1582
- module: rri("../person"),
1583
- name: "Person"
1584
- } }
1585
- } }));
1586
- await settled();
1587
- let previewText = () => document.querySelector("[data-test-code-mode-card-renderer-body]")?.textContent ?? "";
1588
- if (!previewText().includes("FadhlanXXX")) {
1589
- let realmEvents = mockMatrixUtils.getRoomIds().flatMap((roomId) => mockMatrixUtils.getRoomEvents(roomId)).filter((event) => event.type === APP_BOXEL_REALM_EVENT_TYPE).slice(-5).map((event) => event.content);
1590
- let instance = getService("store").peek(`${testRealmURL}Person/fadhlan`);
1591
- console.warn(`[card-preview-live-updates flake-probe] preview not updated after settled(). store firstName=${JSON.stringify(instance?.firstName)}; preview text=${JSON.stringify(previewText())}; last realm events in mock homeserver=${JSON.stringify(realmEvents)}.`);
1592
- }
1593
- assert.dom("[data-test-code-mode-card-renderer-body]").includesText("FadhlanXXX");
1594
- });
1595
- (0, import_qunit.test)("card preview live updates when there is a change in module", async function(assert) {
1596
- const personGts = `
1597
- import { contains, containsMany, field, linksTo, linksToMany, CardDef, Component } from "@cardstack/base/card-api";
1598
- import StringField from "@cardstack/base/string";
1599
- import { Friend } from './friend';
1600
- import { Pet } from "./pet";
1601
- import { Address } from './address';
1602
- import { Trips } from './trips';
1603
-
1604
- export class Person extends CardDef {
1605
- static displayName = 'Person';
1606
- @field firstName = contains(StringField);
1607
- @field lastName = contains(StringField);
1608
- @field cardTitle = contains(StringField, {
1609
- computeVia: function (this: Person) {
1610
- return [this.firstName, this.lastName].filter(Boolean).join(' ');
1611
- },
1612
- });
1613
- @field pet = linksTo(Pet);
1614
- @field friends = linksToMany(Friend);
1615
- @field address = containsMany(StringField);
1616
- @field addressDetail = contains(Address);
1617
- @field trips = contains(Trips);
1618
- static isolated = class Isolated extends Component<typeof this> {
1619
- <template>
1620
- <div data-test-person>
1621
- Hello <@fields.firstName />
1622
- </div>
1623
- <style scoped>
1624
- div {
1625
- color: blue;
1626
- }
1627
- </style>
1628
- </template>
1629
- };
1630
- };
1631
- `;
1632
- const getElementColor = (selector) => {
1633
- let element = document.querySelector(selector);
1634
- if (!element) return;
1635
- return src_default.getComputedStyle(element).color;
1636
- };
1637
- await visitOperatorMode({
1638
- stacks: [],
1639
- submode: "code",
1640
- codePath: `${testRealmURL}Person/1.json`
1641
- });
1642
- await waitFor("[data-test-card-resource-loaded]");
1643
- assert.dom("[data-test-person]").containsText("First name: Hassan");
1644
- assert.strictEqual(getElementColor("[data-test-person]"), "rgb(0, 128, 0)");
1645
- await realm.write("person.gts", personGts);
1646
- await waitUntil(() => document.querySelector("[data-test-person]")?.textContent?.includes("Hello"), { timeout: 5e3 });
1647
- assert.dom("[data-test-person]").includesText("Hello Hassan");
1648
- assert.strictEqual(getElementColor("[data-test-person]"), "rgb(0, 0, 255)");
1649
- await click("[data-test-file-browser-toggle]");
1650
- await click("[data-test-file=\"Person/1.json\"]");
1651
- assert.dom("[data-test-person]").includesText("Hello Hassan");
1652
- assert.strictEqual(getElementColor("[data-test-person]"), "rgb(0, 0, 255)");
1653
- });
1654
- (0, import_qunit.test)("card preview live updates with error", async function(assert) {
1655
- await visitOperatorMode({
1656
- submode: "code",
1657
- codePath: `${testRealmURL}Person/fadhlan.json`
1658
- });
1659
- await waitFor("[data-test-card-resource-loaded]");
1660
- assert.dom("[data-test-card-error]").doesNotExist("card error state is not displayed");
1661
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1662
- type: "card",
1663
- meta: { adoptsFrom: {
1664
- module: rri("../missing-person"),
1665
- name: "MissingPerson"
1666
- } }
1667
- } }));
1668
- await settled();
1669
- assert.dom("[data-test-card-error]").exists("card error state is displayed");
1670
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1671
- type: "card",
1672
- meta: { adoptsFrom: {
1673
- module: rri("../person"),
1674
- name: "Person"
1675
- } }
1676
- } }));
1677
- await settled();
1678
- assert.dom("[data-test-card-error]").doesNotExist("card error state is not displayed");
1679
- });
1680
- (0, import_qunit.test)("card-chooser does not offer to \"create new card\" when editing linked fields in code mode", async function(assert) {
1681
- await visitOperatorMode({
1682
- submode: "code",
1683
- codePath: `${testRealmURL}Person/fadhlan.json`
1684
- });
1685
- await waitFor("[data-test-card-resource-loaded]");
1686
- assert.dom(`[data-test-code-mode-card-renderer-header="${testRealmURL}Person/fadhlan"]`).exists();
1687
- await click("[data-test-format-chooser=\"edit\"]");
1688
- await click("[data-test-links-to-editor=\"pet\"] [data-test-remove-card]");
1689
- await waitFor("[data-test-links-to-editor=\"pet\"] [data-test-add-new]");
1690
- await click("[data-test-links-to-editor=\"pet\"] [data-test-add-new]");
1691
- await waitFor("[data-test-card-chooser-modal]");
1692
- assert.dom("[data-test-card-chooser-modal] [data-test-boxel-header-title]").containsText("Choose a Pet card");
1693
- assert.dom("[data-test-item-button-create-new]").doesNotExist("can not create new card for linksTo field in code mode");
1694
- await click("[aria-label=\"close modal\"]");
1695
- await waitFor("[data-test-card-chooser-modal]", { count: 0 });
1696
- await click("[data-test-links-to-many=\"friends\"] [data-test-add-new]");
1697
- await waitFor("[data-test-card-chooser-modal]");
1698
- assert.dom("[data-test-card-chooser-modal] [data-test-boxel-header-title]").containsText("Select 1 or more Friend cards");
1699
- assert.dom("[data-test-item-button-create-new]").doesNotExist("can not create new card for linksToMany field in code mode");
1700
- });
1701
- (0, import_qunit.test)("closes the top-most modal first when clicking overlay background", async function(assert) {
1702
- await visitOperatorMode({
1703
- stacks: [[{
1704
- id: `${testRealmURL}Person/1`,
1705
- format: "isolated"
1706
- }]],
1707
- submode: "code",
1708
- codePath: `${testRealmURL}Person/1.json`
1709
- });
1710
- await waitFor("[data-test-code-mode][data-test-save-idle]");
1711
- await waitFor("[data-test-new-file-button]");
1712
- await click("[data-test-new-file-button]");
1713
- await click(`[data-test-boxel-menu-item-text="Card Instance"]`);
1714
- await waitFor(`[data-test-create-file-modal][data-test-ready]`);
1715
- await click("[data-test-select-card-type]");
1716
- await waitFor("[data-test-card-chooser-modal]");
1717
- await percySnapshot(assert);
1718
- let cardChooserModalOverlay = document.querySelector("[data-test-card-chooser-modal]")?.previousElementSibling;
1719
- assert.dom(cardChooserModalOverlay).exists();
1720
- await click(cardChooserModalOverlay);
1721
- assert.dom("[data-test-card-chooser-modal]").doesNotExist();
1722
- let createFileModalOverlay = document.querySelector("[data-test-create-file-modal]")?.previousElementSibling;
1723
- assert.dom(createFileModalOverlay).exists();
1724
- await click(createFileModalOverlay);
1725
- assert.dom("[data-test-create-file-modal]").doesNotExist();
1726
- });
1727
- (0, import_qunit.test)("restores and remembers module inspector view from operator mode state", async function(assert) {
1728
- await visitOperatorMode({
1729
- stacks: [],
1730
- submode: "code",
1731
- codePath: `${testRealmURL}pet.gts`,
1732
- moduleInspector: "preview"
1733
- });
1734
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1735
- assert.strictEqual(src_default.localStorage.getItem(ModuleInspectorSelections), JSON.stringify({ [`${testRealmURL}pet.gts`]: "preview" }));
1736
- });
1737
- (0, import_qunit.test)("remembers open module inspector panel via local storage", async function(assert) {
1738
- let accordionSelections = {
1739
- [`${testRealmURL}address.gts`]: "spec",
1740
- [`${testRealmURL}country.gts`]: null,
1741
- [`${testRealmURL}person.gts`]: "schema",
1742
- [`${testRealmURL}pet-person.gts`]: "preview"
1743
- };
1744
- src_default.localStorage.setItem(ModuleInspectorSelections, JSON.stringify(accordionSelections));
1745
- await visitOperatorMode({
1746
- stacks: [],
1747
- submode: "code",
1748
- codePath: `${testRealmURL}pet.gts`
1749
- });
1750
- assert.dom("[data-test-active-module-inspector-view=\"schema\"]").exists("defaults to schema-editor view");
1751
- await click("[data-test-module-inspector-view=\"preview\"]");
1752
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1753
- await click("[data-test-file-browser-toggle]");
1754
- await click("[data-test-file=\"address.gts\"]");
1755
- assert.dom("[data-test-active-module-inspector-view=\"spec\"]").exists();
1756
- await click("[data-test-file=\"country.gts\"]");
1757
- assert.dom("[data-test-module-inspector=\"card-or-field\"]").exists();
1758
- assert.dom("[data-test-active-module-inspector-view=\"schema\"]").exists();
1759
- await click("[data-test-file=\"person.gts\"]");
1760
- assert.dom("[data-test-active-module-inspector-view=\"schema\"]").exists();
1761
- await click("[data-test-file=\"pet-person.gts\"]");
1762
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1763
- await click("[data-test-module-inspector-view=\"spec\"]");
1764
- assert.dom("[data-test-active-module-inspector-view=\"spec\"]").exists();
1765
- let currentSelections = src_default.localStorage.getItem(ModuleInspectorSelections);
1766
- assert.strictEqual(currentSelections, JSON.stringify({
1767
- [`${testRealmURL}address.gts`]: "spec",
1768
- [`${testRealmURL}country.gts`]: "schema",
1769
- [`${testRealmURL}person.gts`]: "schema",
1770
- [`${testRealmURL}pet-person.gts`]: "spec",
1771
- [`${testRealmURL}pet.gts`]: "preview"
1772
- }));
1773
- });
1774
- (0, import_qunit.test)("module inspector query parameter takes precendence over local storage when loading", async function(assert) {
1775
- src_default.localStorage.setItem(ModuleInspectorSelections, JSON.stringify({ [`${testRealmURL}address.gts`]: "spec" }));
1776
- await visitOperatorMode({
1777
- stacks: [],
1778
- submode: "code",
1779
- codePath: `${testRealmURL}address.gts`,
1780
- moduleInspector: "preview"
1781
- });
1782
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1783
- });
1784
- (0, import_qunit.test)("Open in Interact and Edit Template buttons work correctly", async function(assert) {
1785
- await visitOperatorMode({
1786
- stacks: [[{
1787
- id: `${testRealmURL}Person/fadhlan`,
1788
- format: "isolated"
1789
- }]],
1790
- submode: "code",
1791
- codePath: `${testRealmURL}Person/fadhlan.json`
1792
- });
1793
- await waitFor("[data-test-card-resource-loaded]");
1794
- assert.dom("[data-test-edit-template-button]").exists("Edit Template button is rendered");
1795
- assert.dom("[data-test-open-in-interact-button]").exists("Open in Interact button is rendered");
1796
- assert.dom(".preview-text").hasText("Preview", "Preview text is displayed");
1797
- await click("[data-test-open-in-interact-button]");
1798
- await waitFor("[data-test-interact-submode]");
1799
- assert.dom("[data-test-interact-submode]").exists("Switched to interact mode");
1800
- assert.dom("[data-test-person]").includesText("Fadhlan");
1801
- await click("[data-test-submode-switcher] button");
1802
- await click("[data-test-boxel-menu-item-text=\"Code\"]");
1803
- await waitFor("[data-test-code-submode]");
1804
- await click("[data-test-edit-template-button]");
1805
- await waitFor("[data-test-card-url-bar-input]");
1806
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}person.gts`);
1807
- });
1808
- (0, import_qunit.test)("Edit Template opens the source of a card whose type lives in a mapped realm", async function(assert) {
1809
- await visitOperatorMode({
1810
- stacks: [[{
1811
- id: `${testRealmURL}person-entry`,
1812
- format: "isolated"
1813
- }]],
1814
- submode: "code",
1815
- codePath: `${testRealmURL}person-entry.json`
1816
- });
1817
- await waitFor("[data-test-card-resource-loaded]");
1818
- await click("[data-test-edit-template-button]");
1819
- await waitFor("[data-test-card-url-bar-input]");
1820
- assert.dom("[data-test-card-url-bar-input]").hasValue(baseRRI("spec.gts"), "the base realm's spec source opened, shown in its prefix form");
1821
- });
1822
- });
1823
- });
1824
- //#endregion