@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,2363 +0,0 @@
1
- import { s as __toESM } from "./chunk-Rp0pCe6z.js";
2
- import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-BoCBNIsz.js";
3
- import { Ar as testRealmURL, Or as testRealmInfo, is as isSingleCardDocument, na as searchEntryWireQueryFromQuery } from "./runtime-common-ClpqhbwG.js";
4
- import { y as rri } from "./paths-BYHDgqsT.js";
5
- import { C as baseCardRef, O as baseRealmRRI } from "./constants-CqKWhRfY.js";
6
- import { l as validate } from "./esm-browser-CIYLo70w.js";
7
- import { wt as setComponentTemplate } from "./cache-DtDz7X5V-Wn8jRDfL.js";
8
- import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
9
- import "./component-BJO47HTh.js";
10
- import "./template-factory-ds9s0u8l.js";
11
- import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
- import { D as realmConfigCardJSON, F as setupLocalIndexing, H as testModuleRealm, M as setupCardLogs, P as setupIntegrationTestRealm, d as cardInfo, lt as setupRenderingTest, t as setupMockMatrix, x as getFileCreatedAt } from "./mock-matrix-DPQ0j2MD.js";
13
- import { r as getService } from "./dist-CPfIHBla.js";
14
- import { A as field, H as linksTo, T as containsMany, U as linksToMany, a as CardDef, l as FieldDef, s as Component, w as contains } from "./card-api-u1pOrwS6.js";
15
- import { t as string_default } from "./string-DHlQEHYm.js";
16
- import { t as searchCardsForTest } from "./search-cards-O_RNz8_i.js";
17
- import "./code-equality-assertion-CGfac7T7.js";
18
- //#region ../runtime-common/etc/test-fixtures.ts
19
- var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
20
- var cardSrc = `
21
- import {
22
- contains,
23
- field,
24
- Component,
25
- CardDef,
26
- } from '@cardstack/base/card-api';
27
- import StringField from '@cardstack/base/string';
28
-
29
- export class Person extends CardDef {
30
- static displayName = 'Person';
31
- @field firstName = contains(StringField);
32
- @field cardTitle = contains(StringField, {
33
- computeVia: function (this: Person) {
34
- return this.firstName;
35
- },
36
- });
37
- static isolated = class Isolated extends Component<typeof this> {
38
- <template>
39
- <h1 data-test-card><@fields.firstName /></h1>
40
- </template>
41
- };
42
- }
43
-
44
- export let counter = 0;
45
- export function increment() {
46
- counter++;
47
- }
48
- `.trim();
49
- function compiledCard(id = "null", moduleName = "/dir/person.gts") {
50
- return `
51
- import { contains, field, Component, CardDef } from '@cardstack/base/card-api';
52
- import StringField from '@cardstack/base/string';
53
- import { setComponentTemplate } from "@ember/component";
54
- import { createTemplateFactory } from "@ember/template-factory";
55
- export class Person extends CardDef {
56
- static displayName = 'Person';
57
- static {
58
- dt7948.g(this.prototype, "firstName", [field], function () {
59
- return contains(StringField);
60
- });
61
- }
62
- #firstName = (dt7948.i(this, "firstName"), void 0);
63
- static {
64
- dt7948.g(this.prototype, "cardTitle", [field], function () {
65
- return contains(StringField, {
66
- computeVia: function () {
67
- return this.firstName;
68
- }
69
- });
70
- });
71
- }
72
- #cardTitle = (dt7948.i(this, "cardTitle"), void 0);
73
- static isolated = class Isolated extends Component {
74
- static {
75
- setComponentTemplate(createTemplateFactory(
76
- /*
77
- <h1 data-test-card><@fields.firstName /></h1>
78
- */
79
- {
80
- "id": ${id},
81
- "block": "[[[10,\\"h1\\"],[14,\\"data-test-card\\",\\"\\"],[12],[8,[30,1,[\\"firstName\\"]],null,null,null],[13]],[\\"@fields\\"],[]]",
82
- "moduleName": "${moduleName}",
83
- "isStrictMode": true
84
- }), this);
85
- }
86
- };}
87
- export let counter = 0;
88
- export function increment() {
89
- counter++;
90
- }`.trim();
91
- }
92
- //#endregion
93
- //#region ../runtime-common/helpers/strip-scoped-css-glimmer-attributes.ts
94
- function stripScopedCSSGlimmerAttributes(compiledTemplateString) {
95
- let attributeArray = `\\[(14|24),\\\\"data\\-scopedcss\\-[0-9a-f]{10}\\-[0-9a-f]{10}\\\\",\\\\"\\\\"\\]`;
96
- let double = new RegExp(`\\[${attributeArray}\\]`, "g");
97
- let single = new RegExp(`${attributeArray},`, "g");
98
- return compiledTemplateString.replace(double, "null").replace(single, "");
99
- }
100
- //#endregion
101
- //#region tests/integration/realm-test.gts
102
- var loader;
103
- (0, import_qunit.module)("Integration | realm", function(hooks) {
104
- setupRenderingTest(hooks);
105
- hooks.beforeEach(function() {
106
- loader = getService("loader-service").loader;
107
- });
108
- let mockMatrixUtils = setupMockMatrix(hooks);
109
- setupLocalIndexing(hooks);
110
- setupCardLogs(hooks, async () => await loader.import("@cardstack/base/card-api"));
111
- async function handle(realm, ...args) {
112
- let result = await realm.handle(...args);
113
- if (!result) throw new Error(`realm didn't handle request`);
114
- return result;
115
- }
116
- (0, import_qunit.test)("realm can serve readiness checks without a server-side job queue", async function(assert) {
117
- let { realm } = await setupIntegrationTestRealm({
118
- mockMatrixUtils,
119
- contents: {}
120
- });
121
- let response = await handle(realm, new Request(`${testRealmURL}_readiness-check`, { headers: { Accept: "application/vnd.api+json" } }));
122
- assert.strictEqual(response.status, 200, "reports ready");
123
- });
124
- (0, import_qunit.test)("realm can serve GET card requests", async function(assert) {
125
- let { realm, adapter } = await setupIntegrationTestRealm({
126
- mockMatrixUtils,
127
- contents: { "dir/empty.json": { data: { meta: { adoptsFrom: {
128
- module: "@cardstack/base/card-api",
129
- name: "CardDef"
130
- } } } } }
131
- });
132
- let response = await handle(realm, new Request(`${testRealmURL}dir/empty`, { headers: { Accept: "application/vnd.card+json" } }));
133
- assert.strictEqual(response.status, 200, "successful http status");
134
- let json = await response.json();
135
- let resourceCreatedAt = await getFileCreatedAt(realm, "dir/empty.json");
136
- delete json.data.meta.generation;
137
- delete json.data.meta.version;
138
- assert.deepEqual(json, { data: {
139
- type: "card",
140
- id: `${testRealmURL}dir/empty`,
141
- attributes: {
142
- cardInfo,
143
- cardDescription: null,
144
- cardThumbnailURL: null,
145
- cardTitle: "Untitled Card"
146
- },
147
- meta: {
148
- adoptsFrom: {
149
- module: "@cardstack/base/card-api",
150
- name: "CardDef"
151
- },
152
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}dir/empty.json`),
153
- resourceCreatedAt,
154
- realmInfo: testRealmInfo,
155
- realmURL: testRealmURL
156
- },
157
- links: { self: `${testRealmURL}dir/empty` }
158
- } });
159
- assert.ok(json.data.meta.lastModified, "lastModified is populated");
160
- });
161
- (0, import_qunit.test)("realm serves instance ids in canonical RRI form for a prefix-mapped realm", async function(assert) {
162
- let { realm } = await setupIntegrationTestRealm({
163
- mockMatrixUtils,
164
- contents: { "dir/empty.json": { data: { meta: { adoptsFrom: {
165
- module: "@cardstack/base/card-api",
166
- name: "CardDef"
167
- } } } } }
168
- });
169
- let urlDoc = await (await handle(realm, new Request(`${testRealmURL}dir/empty`, { headers: { Accept: "application/vnd.card+json" } }))).json();
170
- assert.strictEqual(urlDoc.data.id, `${testRealmURL}dir/empty`, "an unmapped realm serves the instance id in URL form");
171
- let virtualNetwork = getService("network").virtualNetwork;
172
- virtualNetwork.addRealmMapping("@test-prefix/", testRealmURL);
173
- try {
174
- let rriDoc = await (await handle(realm, new Request(`${testRealmURL}dir/empty`, { headers: { Accept: "application/vnd.card+json" } }))).json();
175
- assert.strictEqual(rriDoc.data.id, "@test-prefix/dir/empty", "a prefix-mapped realm serves the instance id in canonical RRI form");
176
- assert.strictEqual(rriDoc.data.links.self, "@test-prefix/dir/empty", "links.self is served in canonical RRI form too");
177
- } finally {
178
- virtualNetwork.removeRealmMapping("@test-prefix/");
179
- }
180
- });
181
- (0, import_qunit.test)("realm can serve GET card requests with linksTo relationships", async function(assert) {
182
- let { realm, adapter } = await setupIntegrationTestRealm({
183
- mockMatrixUtils,
184
- contents: {
185
- "dir/owner.json": { data: {
186
- id: `${testRealmURL}dir/owner`,
187
- attributes: {
188
- firstName: "Hassan",
189
- lastName: "Abdel-Rahman",
190
- cardInfo,
191
- cardDescription: null,
192
- cardThumbnailURL: null
193
- },
194
- meta: { adoptsFrom: {
195
- module: `${testModuleRealm}person`,
196
- name: "Person"
197
- } }
198
- } },
199
- "dir/mango.json": { data: {
200
- id: `${testRealmURL}dir/mango`,
201
- attributes: {
202
- firstName: "Mango",
203
- cardInfo,
204
- cardDescription: null,
205
- cardThumbnailURL: null
206
- },
207
- relationships: { owner: { links: { self: `${testRealmURL}dir/owner` } } },
208
- meta: { adoptsFrom: {
209
- module: `${testModuleRealm}pet`,
210
- name: "Pet"
211
- } }
212
- } }
213
- }
214
- });
215
- let response = await handle(realm, new Request(`${testRealmURL}dir/mango`, { headers: { Accept: "application/vnd.card+json" } }));
216
- assert.strictEqual(response.status, 200, "successful http status");
217
- let json = await response.json();
218
- let mangoCreatedAt = await getFileCreatedAt(realm, "dir/mango.json");
219
- let ownerCreatedAt = await getFileCreatedAt(realm, "dir/owner.json");
220
- delete json.data.meta.generation;
221
- delete json.data.meta.version;
222
- assert.deepEqual(json, {
223
- data: {
224
- type: "card",
225
- id: `${testRealmURL}dir/mango`,
226
- attributes: {
227
- firstName: "Mango",
228
- cardTitle: "Mango",
229
- cardInfo,
230
- cardDescription: null,
231
- cardThumbnailURL: null
232
- },
233
- relationships: { owner: {
234
- links: { self: `./owner` },
235
- data: {
236
- type: "card",
237
- id: `${testRealmURL}dir/owner`
238
- }
239
- } },
240
- meta: {
241
- adoptsFrom: {
242
- module: `${testModuleRealm}pet`,
243
- name: "Pet"
244
- },
245
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}dir/mango.json`),
246
- resourceCreatedAt: mangoCreatedAt,
247
- realmInfo: testRealmInfo,
248
- realmURL: testRealmURL
249
- },
250
- links: { self: `${testRealmURL}dir/mango` }
251
- },
252
- included: [{
253
- type: "card",
254
- id: `${testRealmURL}dir/owner`,
255
- attributes: {
256
- cardDescription: "Person",
257
- email: null,
258
- posts: null,
259
- cardThumbnailURL: null,
260
- firstName: "Hassan",
261
- lastName: "Abdel-Rahman",
262
- cardTitle: "Hassan Abdel-Rahman",
263
- fullName: "Hassan Abdel-Rahman",
264
- cardInfo
265
- },
266
- meta: {
267
- adoptsFrom: {
268
- module: `${testModuleRealm}person`,
269
- name: "Person"
270
- },
271
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}dir/owner.json`),
272
- resourceCreatedAt: ownerCreatedAt,
273
- realmInfo: testRealmInfo,
274
- realmURL: testRealmURL
275
- },
276
- links: { self: `./owner` }
277
- }]
278
- });
279
- });
280
- (0, import_qunit.test)("realm can serve GET card requests with linksTo relationships to other realms", async function(assert) {
281
- let { realm, adapter } = await setupIntegrationTestRealm({
282
- mockMatrixUtils,
283
- contents: { "dir/mango.json": { data: {
284
- id: `${testRealmURL}dir/mango`,
285
- attributes: {
286
- cardDescription: null,
287
- cardThumbnailURL: null,
288
- firstName: "Mango"
289
- },
290
- relationships: { owner: { links: { self: `${testModuleRealm}hassan` } } },
291
- meta: { adoptsFrom: {
292
- module: `${testModuleRealm}pet`,
293
- name: "Pet"
294
- } }
295
- } } }
296
- });
297
- let response = await handle(realm, new Request(`${testRealmURL}dir/mango`, { headers: { Accept: "application/vnd.card+json" } }));
298
- assert.strictEqual(response.status, 200, "successful http status");
299
- let json = await response.json();
300
- let { included = [] } = json;
301
- delete included[0]?.meta.lastModified;
302
- delete included[0]?.meta.resourceCreatedAt;
303
- let resourceCreatedAt = await getFileCreatedAt(realm, "dir/mango.json");
304
- assert.strictEqual(json.data.id, `${testRealmURL}dir/mango`, "mango id");
305
- assert.strictEqual(json.data.attributes.firstName, "Mango", "mango firstName");
306
- assert.strictEqual(json.data.relationships.owner.links.self, `${testModuleRealm}hassan`, "owner self link points to other realm");
307
- assert.strictEqual(json.data.relationships.owner.data.id, `${testModuleRealm}hassan`, "owner data id points to other realm");
308
- assert.strictEqual(json.data.meta.lastModified, adapter.lastModifiedMap.get(`${testRealmURL}dir/mango.json`), "mango lastModified");
309
- assert.strictEqual(json.data.meta.resourceCreatedAt, resourceCreatedAt, "mango resourceCreatedAt");
310
- assert.strictEqual(included.length, 1, "one included card");
311
- let hassan = included[0];
312
- assert.strictEqual(hassan.id, `${testModuleRealm}hassan`, "included hassan id");
313
- });
314
- (0, import_qunit.test)("realm can route requests correctly when mounted in the origin's subdir", async function(assert) {
315
- let { realm } = await setupIntegrationTestRealm({
316
- mockMatrixUtils,
317
- contents: { "dir/empty.json": { data: { meta: { adoptsFrom: {
318
- module: "@cardstack/base/card-api",
319
- name: "CardDef"
320
- } } } } },
321
- realmURL: `${testRealmURL}root/`
322
- });
323
- {
324
- let response = await handle(realm, new Request(`${testRealmURL}root/dir/empty`, { headers: { Accept: "application/vnd.card+json" } }));
325
- assert.strictEqual(response.status, 200, "successful http status");
326
- let json = await response.json();
327
- assert.strictEqual(json.data.id, `${testRealmURL}root/dir/empty`, "card ID is correct");
328
- }
329
- {
330
- let json = await (await handle(realm, new Request(`${testRealmURL}root/_search`, {
331
- method: "QUERY",
332
- headers: {
333
- Accept: "application/vnd.card+json",
334
- "Content-Type": "application/json"
335
- },
336
- body: JSON.stringify(searchEntryWireQueryFromQuery({ filter: { type: baseCardRef } }, { fields: ["item"] }))
337
- }))).json();
338
- assert.strictEqual(json.data.length, 1, "the card is returned in the search results");
339
- assert.strictEqual(json.data[0].id, `${testRealmURL}root/dir/empty`, "card ID is correct");
340
- }
341
- });
342
- (0, import_qunit.test)("realm can serve create card requests", async function(assert) {
343
- let { realm, adapter } = await setupIntegrationTestRealm({
344
- mockMatrixUtils,
345
- contents: {}
346
- });
347
- let json = await (await handle(realm, new Request(testRealmURL, {
348
- method: "POST",
349
- headers: { Accept: "application/vnd.card+json" },
350
- body: JSON.stringify({ data: {
351
- type: "card",
352
- meta: { adoptsFrom: {
353
- module: "@cardstack/base/card-api",
354
- name: "CardDef"
355
- } }
356
- } }, null, 2)
357
- }))).json();
358
- let id;
359
- if (isSingleCardDocument(json)) {
360
- id = json.data.id.split("/").pop();
361
- assert.true(validate(id), "card ID is a UUID");
362
- assert.strictEqual(json.data.id, `${testRealmURL}CardDef/${id}`, "the card URL is correct");
363
- assert.ok((await adapter.openFile(`CardDef/${id}.json`))?.content, "file contents exist");
364
- let createdAt = await getFileCreatedAt(realm, `CardDef/${id}.json`);
365
- assert.ok(json.data.meta?.resourceCreatedAt, "resourceCreatedAt meta exists on created card");
366
- assert.strictEqual(json.data.meta?.resourceCreatedAt, createdAt, "resourceCreatedAt matches file created time");
367
- } else assert.ok(false, "response body is not a card document");
368
- if (!id) assert.ok(false, "card document is missing an ID");
369
- let result = await realm.realmIndexQueryEngine.cardDocument(new URL(json.data.links.self));
370
- if (result?.type === "error") throw new Error(`unexpected error when getting card from index: ${result.error.errorDetail.message}`);
371
- assert.strictEqual(result?.doc.data.id, `${testRealmURL}CardDef/${id}`, "found card in index");
372
- });
373
- (0, import_qunit.test)("realm cannot create card request which is NOT directory", async function(assert) {
374
- let { realm } = await setupIntegrationTestRealm({
375
- mockMatrixUtils,
376
- contents: {}
377
- });
378
- let notDirPath = `${testRealmURL}SomeDirectory`;
379
- let notFoundResponse = await handle(realm, new Request(notDirPath, {
380
- method: "POST",
381
- headers: { Accept: "application/vnd.card+json" },
382
- body: JSON.stringify({ data: {
383
- type: "card",
384
- meta: { adoptsFrom: {
385
- module: "@cardstack/base/card-api",
386
- name: "CardDef"
387
- } }
388
- } }, null, 2)
389
- }));
390
- let notFoundJson = await notFoundResponse.json();
391
- assert.strictEqual(notFoundJson.errors[0].status, 404);
392
- assert.strictEqual(notFoundResponse.status, 404);
393
- });
394
- (0, import_qunit.test)("realm allows create card requests into directories of the realm", async function(assert) {
395
- let { realm, adapter } = await setupIntegrationTestRealm({
396
- mockMatrixUtils,
397
- contents: {}
398
- });
399
- let dirName = "SomeDirectory";
400
- let dirPath = `${testRealmURL}${dirName}/`;
401
- let json = await (await handle(realm, new Request(dirPath, {
402
- method: "POST",
403
- headers: { Accept: "application/vnd.card+json" },
404
- body: JSON.stringify({ data: {
405
- type: "card",
406
- meta: { adoptsFrom: {
407
- module: "@cardstack/base/card-api",
408
- name: "CardDef"
409
- } }
410
- } }, null, 2)
411
- }))).json();
412
- let id;
413
- if (isSingleCardDocument(json)) {
414
- id = json.data.id.split("/").pop();
415
- assert.true(validate(id), "card ID is a UUID");
416
- assert.strictEqual(json.data.id, `${dirPath}CardDef/${id}`, "the card URL is correct");
417
- assert.ok((await adapter.openFile(`${dirName}/CardDef/${id}.json`))?.content, "file contents exist");
418
- let createdAt = await getFileCreatedAt(realm, `${dirName}/CardDef/${id}.json`);
419
- assert.ok(json.data.meta?.resourceCreatedAt, "resourceCreatedAt meta exists on created card in directory");
420
- assert.strictEqual(json.data.meta?.resourceCreatedAt, createdAt, "resourceCreatedAt matches file created time (directory)");
421
- } else assert.ok(false, "response body is not a card document");
422
- if (!id) assert.ok(false, "card document is missing an ID");
423
- let result = await realm.realmIndexQueryEngine.cardDocument(new URL(json.data.links.self));
424
- if (result?.type === "error") throw new Error(`unexpected error when getting card from index: ${result.error.errorDetail.message}`);
425
- assert.strictEqual(result?.doc.data.id, `${testRealmURL}${dirName}/CardDef/${id}`, "found card in index");
426
- });
427
- (0, import_qunit.test)("realm can serve POST requests that include linksTo fields", async function(assert) {
428
- let { realm, adapter } = await setupIntegrationTestRealm({
429
- mockMatrixUtils,
430
- contents: { "dir/owner.json": { data: {
431
- id: `${testRealmURL}dir/owner`,
432
- attributes: {
433
- firstName: "Hassan",
434
- lastName: "Abdel-Rahman"
435
- },
436
- meta: { adoptsFrom: {
437
- module: `${testModuleRealm}person`,
438
- name: "Person"
439
- } }
440
- } } }
441
- });
442
- let response = await handle(realm, new Request(testRealmURL, {
443
- method: "POST",
444
- headers: { Accept: "application/vnd.card+json" },
445
- body: JSON.stringify({ data: {
446
- attributes: { firstName: "Mango" },
447
- relationships: { owner: { links: { self: `${testRealmURL}dir/owner` } } },
448
- meta: { adoptsFrom: {
449
- module: `${testModuleRealm}pet`,
450
- name: "Pet"
451
- } }
452
- } }, null, 2)
453
- }));
454
- assert.strictEqual(response.status, 201, "successful http status");
455
- let json = await response.json();
456
- let id = json.data.id.split("/").pop();
457
- let petCreatedAt = await getFileCreatedAt(realm, `Pet/${id}.json`);
458
- assert.ok(validate(id), "card ID is a UUID");
459
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
460
- delete json.data.meta.version;
461
- assert.deepEqual(json, { data: {
462
- type: "card",
463
- id: `${testRealmURL}Pet/${id}`,
464
- attributes: {
465
- firstName: "Mango",
466
- cardTitle: "Mango",
467
- cardDescription: null,
468
- cardThumbnailURL: null,
469
- cardInfo
470
- },
471
- relationships: { owner: { links: { self: `../dir/owner` } } },
472
- meta: {
473
- adoptsFrom: {
474
- module: `${testModuleRealm}pet`,
475
- name: "Pet"
476
- },
477
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}Pet/${id}.json`),
478
- resourceCreatedAt: petCreatedAt,
479
- realmInfo: testRealmInfo,
480
- realmURL: testRealmURL
481
- },
482
- links: { self: `${testRealmURL}Pet/${id}` }
483
- } });
484
- let fileRef = await adapter.openFile(`Pet/${id}.json`);
485
- if (!fileRef) throw new Error("file not found");
486
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
487
- type: "card",
488
- attributes: { firstName: "Mango" },
489
- relationships: { owner: { links: { self: `../dir/owner` } } },
490
- meta: { adoptsFrom: {
491
- module: `${testModuleRealm}pet`,
492
- name: "Pet"
493
- } }
494
- } }, "file contents are correct");
495
- });
496
- (0, import_qunit.test)("realm returns 500 error for POST requests that set the value of a polymorphic field to an incompatible type", async function(assert) {
497
- class Person extends FieldDef {
498
- static {
499
- decorateFieldV2(this.prototype, "firstName", [field], function() {
500
- return contains(string_default);
501
- });
502
- }
503
- #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
504
- }
505
- class Car extends FieldDef {
506
- static {
507
- decorateFieldV2(this.prototype, "make", [field], function() {
508
- return contains(string_default);
509
- });
510
- }
511
- #make = (initializeDeferredDecorator(this, "make"), void 0);
512
- static {
513
- decorateFieldV2(this.prototype, "model", [field], function() {
514
- return contains(string_default);
515
- });
516
- }
517
- #model = (initializeDeferredDecorator(this, "model"), void 0);
518
- static {
519
- decorateFieldV2(this.prototype, "year", [field], function() {
520
- return contains(string_default);
521
- });
522
- }
523
- #year = (initializeDeferredDecorator(this, "year"), void 0);
524
- }
525
- class Driver extends CardDef {
526
- static {
527
- decorateFieldV2(this.prototype, "card", [field], function() {
528
- return contains(Person);
529
- });
530
- }
531
- #card = (initializeDeferredDecorator(this, "card"), void 0);
532
- }
533
- let { realm } = await setupIntegrationTestRealm({
534
- mockMatrixUtils,
535
- contents: {
536
- "driver.gts": { Driver },
537
- "person.gts": { Person },
538
- "car.gts": { Car }
539
- }
540
- });
541
- let response = await handle(realm, new Request(testRealmURL, {
542
- method: "POST",
543
- headers: { Accept: "application/vnd.card+json" },
544
- body: JSON.stringify({ data: {
545
- type: "card",
546
- attributes: { card: {
547
- firstName: null,
548
- make: "Mercedes Benz",
549
- model: "C300",
550
- year: "2024"
551
- } },
552
- meta: {
553
- adoptsFrom: {
554
- module: `${testRealmURL}driver`,
555
- name: "Driver"
556
- },
557
- fields: { card: { adoptsFrom: {
558
- module: `${testRealmURL}car`,
559
- name: "Car"
560
- } } }
561
- }
562
- } }, null, 2)
563
- }));
564
- assert.strictEqual(response.status, 500, "500 server error");
565
- let json = await response.json();
566
- assert.strictEqual(json.errors[0].additionalErrors[0].errorDetail.message, "field validation error: tried set instance of Car as field 'card' but it is not an instance of Person");
567
- });
568
- (0, import_qunit.test)("realm can serve patch card requests", async function(assert) {
569
- let { realm, adapter } = await setupIntegrationTestRealm({
570
- mockMatrixUtils,
571
- contents: { "dir/card.json": { data: {
572
- attributes: {
573
- firstName: "Mango",
574
- lastName: "Abdel-Rahman"
575
- },
576
- meta: { adoptsFrom: {
577
- module: `${testModuleRealm}person`,
578
- name: "Person"
579
- } }
580
- } } }
581
- });
582
- let response = await handle(realm, new Request(`${testRealmURL}dir/card`, {
583
- method: "PATCH",
584
- headers: { Accept: "application/vnd.card+json" },
585
- body: JSON.stringify({ data: {
586
- type: "card",
587
- attributes: { firstName: "Van Gogh" },
588
- meta: { adoptsFrom: {
589
- module: `${testModuleRealm}person`,
590
- name: "Person"
591
- } }
592
- } }, null, 2)
593
- }));
594
- await realm.flushUpdateEvents();
595
- assert.strictEqual(response.status, 200, "successful http status");
596
- let json = await response.json();
597
- if (isSingleCardDocument(json)) {
598
- assert.strictEqual(json.data.id, `${testRealmURL}dir/card`, "the id is correct");
599
- assert.strictEqual(json.data.attributes?.firstName, "Van Gogh", "field value is correct");
600
- assert.strictEqual(json.data.attributes?.lastName, "Abdel-Rahman", "field value is correct");
601
- assert.strictEqual(json.data.meta.lastModified, adapter.lastModifiedMap.get(`${testRealmURL}dir/card.json`), "lastModified is correct");
602
- let fileRef = await adapter.openFile("dir/card.json");
603
- if (!fileRef) throw new Error("file not found");
604
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
605
- type: "card",
606
- attributes: {
607
- firstName: "Van Gogh",
608
- lastName: "Abdel-Rahman"
609
- },
610
- meta: { adoptsFrom: {
611
- module: `${testModuleRealm}person`,
612
- name: "Person"
613
- } }
614
- } }, "file contents are correct");
615
- } else assert.ok(false, "response body is not a card document");
616
- let queryEngine = realm.realmIndexQueryEngine;
617
- let result = await queryEngine.cardDocument(new URL(json.data.links.self));
618
- if (result?.type === "error") throw new Error(`unexpected error when getting card from index: ${result.error.errorDetail.message}`);
619
- assert.strictEqual(result?.doc.data.id, `${testRealmURL}dir/card`, "found card in index");
620
- assert.strictEqual(result?.doc.data.attributes?.firstName, "Van Gogh", "field value is correct");
621
- assert.strictEqual(result?.doc.data.attributes?.lastName, "Abdel-Rahman", "field value is correct");
622
- let { data: cards } = await searchCardsForTest(queryEngine, { filter: {
623
- on: {
624
- module: rri(`${testModuleRealm}person`),
625
- name: "Person"
626
- },
627
- eq: { firstName: "Van Gogh" }
628
- } });
629
- assert.strictEqual(cards.length, 1, "search finds updated value");
630
- });
631
- (0, import_qunit.test)("realm can remove item from containsMany field via PATCH request", async function(assert) {
632
- let { realm, adapter } = await setupIntegrationTestRealm({
633
- mockMatrixUtils,
634
- contents: { "ski-trip.json": { data: {
635
- attributes: {
636
- cardTitle: "Gore Mountain Ski Trip",
637
- venue: "Gore Mountain",
638
- startTime: "2023-02-18T10:00:00.000Z",
639
- endTime: "2023-02-19T02:00:00.000Z",
640
- hosts: [{ firstName: "Hassan" }, { firstName: "Mango" }],
641
- sponsors: ["Burton", "Spy Optics"],
642
- posts: []
643
- },
644
- meta: { adoptsFrom: {
645
- module: `${testModuleRealm}booking`,
646
- name: "Booking"
647
- } }
648
- } } }
649
- });
650
- let resourceCreatedAt = await getFileCreatedAt(realm, "ski-trip.json");
651
- let response = await handle(realm, new Request(`${testRealmURL}ski-trip`, {
652
- method: "PATCH",
653
- headers: { Accept: "application/vnd.card+json" },
654
- body: JSON.stringify({ data: {
655
- type: "card",
656
- attributes: {
657
- hosts: [{
658
- firstName: "Hassan",
659
- lastName: null
660
- }],
661
- sponsors: ["Burton"]
662
- },
663
- meta: { adoptsFrom: {
664
- module: `${testModuleRealm}booking`,
665
- name: "Booking"
666
- } }
667
- } }, null, 2)
668
- }));
669
- assert.strictEqual(response.status, 200, "successful http status");
670
- let json = await response.json();
671
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
672
- delete json.data.meta.version;
673
- assert.deepEqual(json, { data: {
674
- type: "card",
675
- id: `${testRealmURL}ski-trip`,
676
- links: { self: `${testRealmURL}ski-trip` },
677
- attributes: {
678
- cardTitle: "Gore Mountain Ski Trip",
679
- venue: "Gore Mountain",
680
- startTime: "2023-02-18T10:00:00.000Z",
681
- endTime: "2023-02-19T02:00:00.000Z",
682
- hosts: [{
683
- cardDescription: "Person",
684
- firstName: "Hassan",
685
- lastName: null,
686
- fullName: "Hassan ",
687
- cardTitle: "Hassan ",
688
- email: null,
689
- posts: null
690
- }],
691
- sponsors: ["Burton"],
692
- posts: [],
693
- cardDescription: "Gore Mountain",
694
- cardThumbnailURL: null,
695
- cardInfo
696
- },
697
- meta: {
698
- adoptsFrom: {
699
- module: `${testModuleRealm}booking`,
700
- name: "Booking"
701
- },
702
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}ski-trip.json`),
703
- resourceCreatedAt,
704
- realmInfo: testRealmInfo,
705
- realmURL: testRealmURL
706
- }
707
- } });
708
- let fileRef = await adapter.openFile("ski-trip.json");
709
- if (!fileRef) throw new Error("file not found");
710
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
711
- type: "card",
712
- attributes: {
713
- cardTitle: "Gore Mountain Ski Trip",
714
- venue: "Gore Mountain",
715
- startTime: "2023-02-18T10:00:00.000Z",
716
- endTime: "2023-02-19T02:00:00.000Z",
717
- hosts: [{
718
- firstName: "Hassan",
719
- lastName: null
720
- }],
721
- sponsors: ["Burton"],
722
- posts: []
723
- },
724
- meta: { adoptsFrom: {
725
- module: `${testModuleRealm}booking`,
726
- name: "Booking"
727
- } }
728
- } }, "file contents are correct");
729
- });
730
- (0, import_qunit.test)("realm PATCH replaces a primitive field holding an object rather than merging into it", async function(assert) {
731
- let { realm, adapter } = await setupIntegrationTestRealm({
732
- mockMatrixUtils,
733
- contents: { "realm.json": { data: {
734
- type: "card",
735
- attributes: {
736
- cardInfo: {
737
- name: "Settings Workspace",
738
- summary: "Kept"
739
- },
740
- config: {
741
- approver: "@mae:localhost",
742
- retired: true
743
- }
744
- },
745
- meta: { adoptsFrom: {
746
- module: "@cardstack/base/realm-config",
747
- name: "RealmConfig"
748
- } }
749
- } } }
750
- });
751
- let response = await handle(realm, new Request(`${testRealmURL}realm`, {
752
- method: "PATCH",
753
- headers: { Accept: "application/vnd.card+json" },
754
- body: JSON.stringify({ data: {
755
- type: "card",
756
- attributes: {
757
- cardInfo: { name: "Renamed Workspace" },
758
- config: { approvers: "@mae:localhost" }
759
- },
760
- meta: { adoptsFrom: {
761
- module: "@cardstack/base/realm-config",
762
- name: "RealmConfig"
763
- } }
764
- } })
765
- }));
766
- assert.strictEqual(response.status, 200, "successful http status");
767
- let fileRef = await adapter.openFile("realm.json");
768
- if (!fileRef) throw new Error("file not found");
769
- let { attributes } = JSON.parse(fileRef.content).data;
770
- assert.deepEqual(attributes.config, { approvers: "@mae:localhost" }, "the stored map is the one the patch sent, with the renamed and dropped keys gone");
771
- assert.strictEqual(attributes.cardInfo.name, "Renamed Workspace", "the compound field takes the nested value the patch names");
772
- assert.strictEqual(attributes.cardInfo.summary, "Kept", "and keeps the nested value the patch leaves out");
773
- });
774
- (0, import_qunit.test)("realm PATCH replaces a primitive inside a compound field, by the type the card names for it", async function(assert) {
775
- let { JsonField } = await loader.import("@cardstack/base/json-field");
776
- class Settings extends FieldDef {
777
- static {
778
- decorateFieldV2(this.prototype, "label", [field], function() {
779
- return contains(string_default);
780
- });
781
- }
782
- #label = (initializeDeferredDecorator(this, "label"), void 0);
783
- static {
784
- decorateFieldV2(this.prototype, "values", [field], function() {
785
- return contains(JsonField);
786
- });
787
- }
788
- #values = (initializeDeferredDecorator(this, "values"), void 0);
789
- }
790
- class SpecialSettings extends Settings {
791
- static {
792
- decorateFieldV2(this.prototype, "extra", [field], function() {
793
- return contains(JsonField);
794
- });
795
- }
796
- #extra = (initializeDeferredDecorator(this, "extra"), void 0);
797
- }
798
- class Holder extends CardDef {
799
- static {
800
- decorateFieldV2(this.prototype, "settings", [field], function() {
801
- return contains(Settings);
802
- });
803
- }
804
- #settings = (initializeDeferredDecorator(this, "settings"), void 0);
805
- static {
806
- decorateFieldV2(this.prototype, "special", [field], function() {
807
- return contains(Settings);
808
- });
809
- }
810
- #special = (initializeDeferredDecorator(this, "special"), void 0);
811
- }
812
- let { realm, adapter } = await setupIntegrationTestRealm({
813
- mockMatrixUtils,
814
- contents: {
815
- "holder.gts": {
816
- Holder,
817
- Settings,
818
- SpecialSettings
819
- },
820
- "holder-1.json": { data: {
821
- type: "card",
822
- attributes: {
823
- settings: {
824
- label: "Kept",
825
- values: {
826
- a: 1,
827
- b: 2
828
- }
829
- },
830
- special: {
831
- label: "Special",
832
- extra: {
833
- a: 1,
834
- b: 2
835
- }
836
- }
837
- },
838
- meta: {
839
- adoptsFrom: {
840
- module: `${testRealmURL}holder`,
841
- name: "Holder"
842
- },
843
- fields: { special: { adoptsFrom: {
844
- module: `${testRealmURL}holder`,
845
- name: "SpecialSettings"
846
- } } }
847
- }
848
- } }
849
- }
850
- });
851
- let response = await handle(realm, new Request(`${testRealmURL}holder-1`, {
852
- method: "PATCH",
853
- headers: { Accept: "application/vnd.card+json" },
854
- body: JSON.stringify({ data: {
855
- type: "card",
856
- attributes: {
857
- settings: { values: { a: 1 } },
858
- special: { extra: { a: 1 } }
859
- },
860
- meta: { adoptsFrom: {
861
- module: `${testRealmURL}holder`,
862
- name: "Holder"
863
- } }
864
- } })
865
- }));
866
- assert.strictEqual(response.status, 200, "successful http status");
867
- let fileRef = await adapter.openFile("holder-1.json");
868
- if (!fileRef) throw new Error("file not found");
869
- let { attributes } = JSON.parse(fileRef.content).data;
870
- assert.deepEqual(attributes.settings.values, { a: 1 }, "the primitive inside the compound field is replaced");
871
- assert.strictEqual(attributes.settings.label, "Kept", "while the compound field keeps the nested value the patch leaves out");
872
- assert.deepEqual(attributes.special.extra, { a: 1 }, "a primitive the polymorphic type declares is replaced too");
873
- });
874
- (0, import_qunit.test)("realm can remove item from linksToMany field via PATCH request", async function(assert) {
875
- let { realm, adapter } = await setupIntegrationTestRealm({
876
- mockMatrixUtils,
877
- contents: {
878
- "dir/van-gogh.json": { data: {
879
- id: `${testRealmURL}dir/van-gogh`,
880
- attributes: { firstName: "Van Gogh" },
881
- relationships: { owner: { links: { self: null } } },
882
- meta: { adoptsFrom: {
883
- module: `${testModuleRealm}pet`,
884
- name: "Pet"
885
- } }
886
- } },
887
- "dir/mango.json": { data: {
888
- id: `${testRealmURL}dir/mango`,
889
- attributes: { firstName: "Mango" },
890
- relationships: { owner: { links: { self: null } } },
891
- meta: { adoptsFrom: {
892
- module: `${testModuleRealm}pet`,
893
- name: "Pet"
894
- } }
895
- } },
896
- "dir/friend.json": { data: {
897
- id: `${testRealmURL}dir/friend`,
898
- attributes: {
899
- firstName: "Hassan",
900
- lastName: "Abdel-Rahman"
901
- },
902
- meta: { adoptsFrom: {
903
- module: `${testModuleRealm}person`,
904
- name: "Person"
905
- } }
906
- } },
907
- "jackie.json": { data: {
908
- id: `${testRealmURL}jackie`,
909
- attributes: { firstName: "Jackie" },
910
- relationships: {
911
- "pets.0": { links: { self: `${testRealmURL}dir/van-gogh` } },
912
- "pets.1": { links: { self: `${testRealmURL}dir/mango` } },
913
- friend: { links: { self: `${testRealmURL}dir/friend` } }
914
- },
915
- meta: { adoptsFrom: {
916
- module: `${testModuleRealm}pet-person`,
917
- name: "PetPerson"
918
- } }
919
- } }
920
- }
921
- });
922
- let resourceCreatedAt = await getFileCreatedAt(realm, "jackie.json");
923
- let response = await handle(realm, new Request(`${testRealmURL}jackie`, {
924
- method: "PATCH",
925
- headers: { Accept: "application/vnd.card+json" },
926
- body: JSON.stringify({ data: {
927
- type: "card",
928
- relationships: { "pets.0": { links: { self: `${testRealmURL}dir/van-gogh` } } },
929
- meta: { adoptsFrom: {
930
- module: `${testModuleRealm}pet-person`,
931
- name: "PetPerson"
932
- } }
933
- } }, null, 2)
934
- }));
935
- assert.strictEqual(response.status, 200, "successful http status");
936
- let json = await response.json();
937
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
938
- delete json.data.meta.version;
939
- assert.deepEqual(json, { data: {
940
- type: "card",
941
- id: `${testRealmURL}jackie`,
942
- links: { self: `${testRealmURL}jackie` },
943
- attributes: {
944
- firstName: "Jackie",
945
- cardTitle: "Jackie Pet Person",
946
- cardDescription: "A person with pets",
947
- cardThumbnailURL: null,
948
- cardInfo
949
- },
950
- relationships: {
951
- "pets.0": { links: { self: `./dir/van-gogh` } },
952
- friend: { links: { self: `./dir/friend` } }
953
- },
954
- meta: {
955
- adoptsFrom: {
956
- module: `${testModuleRealm}pet-person`,
957
- name: "PetPerson"
958
- },
959
- realmInfo: testRealmInfo,
960
- realmURL: testRealmURL,
961
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}jackie.json`),
962
- resourceCreatedAt
963
- }
964
- } });
965
- let fileRef = await adapter.openFile("jackie.json");
966
- if (!fileRef) throw new Error("file not found");
967
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
968
- type: "card",
969
- attributes: { firstName: "Jackie" },
970
- relationships: {
971
- "pets.0": { links: { self: `./dir/van-gogh` } },
972
- friend: { links: { self: `./dir/friend` } }
973
- },
974
- meta: { adoptsFrom: {
975
- module: `${testModuleRealm}pet-person`,
976
- name: "PetPerson"
977
- } }
978
- } }, "file contents are correct");
979
- });
980
- (0, import_qunit.test)("realm can add an item to linksToMany relationships via PATCH request", async function(assert) {
981
- let { realm, adapter } = await setupIntegrationTestRealm({
982
- mockMatrixUtils,
983
- contents: {
984
- "dir/van-gogh.json": { data: {
985
- id: `${testRealmURL}dir/van-gogh`,
986
- attributes: { firstName: "Van Gogh" },
987
- relationships: { owner: { links: { self: null } } },
988
- meta: { adoptsFrom: {
989
- module: `${testModuleRealm}pet`,
990
- name: "Pet"
991
- } }
992
- } },
993
- "dir/mango.json": { data: {
994
- id: `${testRealmURL}dir/mango`,
995
- attributes: { firstName: "Mango" },
996
- relationships: { owner: { links: { self: null } } },
997
- meta: { adoptsFrom: {
998
- module: `${testModuleRealm}pet`,
999
- name: "Pet"
1000
- } }
1001
- } },
1002
- "dir/friend.json": { data: {
1003
- id: `${testRealmURL}dir/friend`,
1004
- attributes: {
1005
- firstName: "Hassan",
1006
- lastName: "Abdel-Rahman"
1007
- },
1008
- meta: { adoptsFrom: {
1009
- module: `${testModuleRealm}person`,
1010
- name: "Person"
1011
- } }
1012
- } },
1013
- "jackie.json": { data: {
1014
- id: `${testRealmURL}jackie`,
1015
- attributes: { firstName: "Jackie" },
1016
- relationships: {
1017
- "pets.0": { links: { self: `${testRealmURL}dir/van-gogh` } },
1018
- friend: { links: { self: `${testRealmURL}dir/friend` } }
1019
- },
1020
- meta: { adoptsFrom: {
1021
- module: `${testModuleRealm}pet-person`,
1022
- name: "PetPerson"
1023
- } }
1024
- } }
1025
- }
1026
- });
1027
- let resourceCreatedAt = await getFileCreatedAt(realm, "jackie.json");
1028
- let response = await handle(realm, new Request(`${testRealmURL}jackie`, {
1029
- method: "PATCH",
1030
- headers: { Accept: "application/vnd.card+json" },
1031
- body: JSON.stringify({ data: {
1032
- type: "card",
1033
- relationships: {
1034
- "pets.0": { links: { self: `${testRealmURL}dir/mango` } },
1035
- "pets.1": { links: { self: `${testRealmURL}dir/van-gogh` } }
1036
- },
1037
- meta: { adoptsFrom: {
1038
- module: `${testModuleRealm}pet-person`,
1039
- name: "PetPerson"
1040
- } }
1041
- } }, null, 2)
1042
- }));
1043
- assert.strictEqual(response.status, 200, "successful http status");
1044
- let json = await response.json();
1045
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1046
- delete json.data.meta.version;
1047
- assert.deepEqual(json.data, {
1048
- type: "card",
1049
- id: `${testRealmURL}jackie`,
1050
- links: { self: `${testRealmURL}jackie` },
1051
- attributes: {
1052
- firstName: "Jackie",
1053
- cardTitle: "Jackie Pet Person",
1054
- cardDescription: "A person with pets",
1055
- cardThumbnailURL: null,
1056
- cardInfo
1057
- },
1058
- relationships: {
1059
- "pets.0": { links: { self: `./dir/mango` } },
1060
- "pets.1": { links: { self: `./dir/van-gogh` } },
1061
- friend: { links: { self: `./dir/friend` } }
1062
- },
1063
- meta: {
1064
- adoptsFrom: {
1065
- module: `${testModuleRealm}pet-person`,
1066
- name: "PetPerson"
1067
- },
1068
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}jackie.json`),
1069
- resourceCreatedAt,
1070
- realmInfo: testRealmInfo,
1071
- realmURL: testRealmURL
1072
- }
1073
- });
1074
- });
1075
- (0, import_qunit.test)("realm can add items to null linksToMany relationship via PATCH request", async function(assert) {
1076
- let { realm, adapter } = await setupIntegrationTestRealm({
1077
- mockMatrixUtils,
1078
- contents: {
1079
- "dir/van-gogh.json": { data: {
1080
- id: `${testRealmURL}dir/van-gogh`,
1081
- attributes: { firstName: "Van Gogh" },
1082
- relationships: { owner: { links: { self: null } } },
1083
- meta: { adoptsFrom: {
1084
- module: `${testModuleRealm}pet`,
1085
- name: "Pet"
1086
- } }
1087
- } },
1088
- "dir/mango.json": { data: {
1089
- id: `${testRealmURL}dir/mango`,
1090
- attributes: { firstName: "Mango" },
1091
- relationships: { owner: { links: { self: null } } },
1092
- meta: { adoptsFrom: {
1093
- module: `${testModuleRealm}pet`,
1094
- name: "Pet"
1095
- } }
1096
- } },
1097
- "jackie.json": { data: {
1098
- id: `${testRealmURL}jackie`,
1099
- attributes: { firstName: "Jackie" },
1100
- meta: { adoptsFrom: {
1101
- module: `${testModuleRealm}pet-person`,
1102
- name: "PetPerson"
1103
- } }
1104
- } }
1105
- }
1106
- });
1107
- let resourceCreatedAt = await getFileCreatedAt(realm, "jackie.json");
1108
- let response = await handle(realm, new Request(`${testRealmURL}jackie`, {
1109
- method: "PATCH",
1110
- headers: { Accept: "application/vnd.card+json" },
1111
- body: JSON.stringify({ data: {
1112
- type: "card",
1113
- relationships: {
1114
- "pets.0": { links: { self: `${testRealmURL}dir/mango` } },
1115
- "pets.1": { links: { self: `${testRealmURL}dir/van-gogh` } }
1116
- },
1117
- meta: { adoptsFrom: {
1118
- module: `${testModuleRealm}pet-person`,
1119
- name: "PetPerson"
1120
- } }
1121
- } }, null, 2)
1122
- }));
1123
- assert.strictEqual(response.status, 200, "successful http status");
1124
- let json = await response.json();
1125
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1126
- delete json.data.meta.version;
1127
- assert.deepEqual(json.data, {
1128
- type: "card",
1129
- id: `${testRealmURL}jackie`,
1130
- links: { self: `${testRealmURL}jackie` },
1131
- attributes: {
1132
- firstName: "Jackie",
1133
- cardTitle: "Jackie Pet Person",
1134
- cardDescription: "A person with pets",
1135
- cardThumbnailURL: null,
1136
- cardInfo
1137
- },
1138
- relationships: {
1139
- "pets.0": { links: { self: `./dir/mango` } },
1140
- "pets.1": { links: { self: `./dir/van-gogh` } }
1141
- },
1142
- meta: {
1143
- adoptsFrom: {
1144
- module: `${testModuleRealm}pet-person`,
1145
- name: "PetPerson"
1146
- },
1147
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}jackie.json`),
1148
- resourceCreatedAt,
1149
- realmInfo: testRealmInfo,
1150
- realmURL: testRealmURL
1151
- }
1152
- });
1153
- });
1154
- (0, import_qunit.test)("realm PATCH request can set a linksTo nested within a containsMany", async function(assert) {
1155
- class Other extends CardDef {
1156
- static displayName = "Other";
1157
- static {
1158
- decorateFieldV2(this.prototype, "name", [field], function() {
1159
- return contains(string_default);
1160
- });
1161
- }
1162
- #name = (initializeDeferredDecorator(this, "name"), void 0);
1163
- }
1164
- class Inner extends FieldDef {
1165
- static {
1166
- decorateFieldV2(this.prototype, "message", [field], function() {
1167
- return contains(string_default);
1168
- });
1169
- }
1170
- #message = (initializeDeferredDecorator(this, "message"), void 0);
1171
- static {
1172
- decorateFieldV2(this.prototype, "other", [field], function() {
1173
- return linksTo(Other);
1174
- });
1175
- }
1176
- #other = (initializeDeferredDecorator(this, "other"), void 0);
1177
- static embedded = class Embedded extends Component {
1178
- static {
1179
- setComponentTemplate(templateFactory({
1180
- "id": "k2LMuWBu",
1181
- "block": "[[[1,\"x: \"],[1,[30,1,[\"other\",\"name\"]]]],[\"@model\"],[]]",
1182
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/realm-test.gts",
1183
- "isStrictMode": true
1184
- }), this);
1185
- }
1186
- };
1187
- }
1188
- class Outer extends CardDef {
1189
- static displayName = "Outer2";
1190
- static {
1191
- decorateFieldV2(this.prototype, "inners", [field], function() {
1192
- return containsMany(Inner);
1193
- });
1194
- }
1195
- #inners = (initializeDeferredDecorator(this, "inners"), void 0);
1196
- }
1197
- let { realm, adapter } = await setupIntegrationTestRealm({
1198
- mockMatrixUtils,
1199
- contents: {
1200
- "outer.gts": {
1201
- Outer,
1202
- Inner,
1203
- Other
1204
- },
1205
- "1.json": { data: {
1206
- id: `${testRealmURL}1`,
1207
- attributes: { inners: [{ message: "hello" }] },
1208
- relationships: { owner: { links: { self: null } } },
1209
- meta: { adoptsFrom: {
1210
- module: `${testRealmURL}outer`,
1211
- name: "Outer"
1212
- } }
1213
- } },
1214
- "2.json": { data: {
1215
- id: `${testRealmURL}2`,
1216
- attributes: { name: "Jackie" },
1217
- meta: { adoptsFrom: {
1218
- module: `${testRealmURL}outer`,
1219
- name: "Other"
1220
- } }
1221
- } }
1222
- }
1223
- });
1224
- let response = await handle(realm, new Request(`${testRealmURL}1`, {
1225
- method: "PATCH",
1226
- headers: { Accept: "application/vnd.card+json" },
1227
- body: JSON.stringify({ data: {
1228
- type: "card",
1229
- relationships: { "inners.0.other": { links: { self: `${testRealmURL}2` } } },
1230
- meta: { adoptsFrom: {
1231
- module: `${testRealmURL}outer`,
1232
- name: "Outer"
1233
- } }
1234
- } }, null, 2)
1235
- }));
1236
- assert.strictEqual(response.status, 200, "successful http status");
1237
- let json = await response.json();
1238
- assert.deepEqual(json.data.relationships, { "inners.0.other": { links: { self: `./2` } } });
1239
- assert.deepEqual(JSON.parse(adapter.files.contents["1.json"].content).data.relationships, { "inners.0.other": { links: { self: "./2" } } });
1240
- });
1241
- (0, import_qunit.test)("realm can remove all items to in a linksToMany relationship via PATCH request", async function(assert) {
1242
- let { realm, adapter } = await setupIntegrationTestRealm({
1243
- mockMatrixUtils,
1244
- contents: {
1245
- "dir/van-gogh.json": { data: {
1246
- id: `${testRealmURL}dir/van-gogh`,
1247
- attributes: { firstName: "Van Gogh" },
1248
- relationships: { owner: { links: { self: null } } },
1249
- meta: { adoptsFrom: {
1250
- module: `${testModuleRealm}pet`,
1251
- name: "Pet"
1252
- } }
1253
- } },
1254
- "dir/mango.json": { data: {
1255
- id: `${testRealmURL}dir/mango`,
1256
- attributes: { firstName: "Mango" },
1257
- relationships: { owner: { links: { self: null } } },
1258
- meta: { adoptsFrom: {
1259
- module: `${testModuleRealm}pet`,
1260
- name: "Pet"
1261
- } }
1262
- } },
1263
- "jackie.json": { data: {
1264
- id: `${testRealmURL}jackie`,
1265
- attributes: { firstName: "Jackie" },
1266
- relationships: {
1267
- "pets.0": { links: { self: `${testRealmURL}dir/mango` } },
1268
- "pets.1": { links: { self: `${testRealmURL}dir/van-gogh` } }
1269
- },
1270
- meta: { adoptsFrom: {
1271
- module: `${testModuleRealm}pet-person`,
1272
- name: "PetPerson"
1273
- } }
1274
- } }
1275
- }
1276
- });
1277
- let response = await handle(realm, new Request(`${testRealmURL}jackie`, {
1278
- method: "PATCH",
1279
- headers: { Accept: "application/vnd.card+json" },
1280
- body: JSON.stringify({ data: {
1281
- type: "card",
1282
- relationships: { pets: { links: { self: null } } },
1283
- meta: { adoptsFrom: {
1284
- module: `${testModuleRealm}pet-person`,
1285
- name: "PetPerson"
1286
- } }
1287
- } }, null, 2)
1288
- }));
1289
- let resourceCreatedAt = await getFileCreatedAt(realm, "jackie.json");
1290
- assert.strictEqual(response.status, 200, "successful http status");
1291
- let json = await response.json();
1292
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1293
- delete json.data.meta.version;
1294
- assert.deepEqual(json.data, {
1295
- type: "card",
1296
- id: `${testRealmURL}jackie`,
1297
- links: { self: `${testRealmURL}jackie` },
1298
- attributes: {
1299
- firstName: "Jackie",
1300
- cardTitle: "Jackie Pet Person",
1301
- cardDescription: "A person with pets",
1302
- cardThumbnailURL: null,
1303
- cardInfo
1304
- },
1305
- relationships: { pets: { links: { self: null } } },
1306
- meta: {
1307
- adoptsFrom: {
1308
- module: `${testModuleRealm}pet-person`,
1309
- name: "PetPerson"
1310
- },
1311
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}jackie.json`),
1312
- resourceCreatedAt,
1313
- realmInfo: testRealmInfo,
1314
- realmURL: testRealmURL
1315
- }
1316
- });
1317
- });
1318
- (0, import_qunit.test)("realm can serve PATCH requests to linksTo field in a card that also has a linksToMany field", async function(assert) {
1319
- let { realm, adapter } = await setupIntegrationTestRealm({
1320
- mockMatrixUtils,
1321
- contents: {
1322
- "dir/van-gogh.json": { data: {
1323
- id: `${testRealmURL}dir/van-gogh`,
1324
- attributes: { firstName: "Van Gogh" },
1325
- relationships: { owner: { links: { self: null } } },
1326
- meta: { adoptsFrom: {
1327
- module: `${testModuleRealm}pet`,
1328
- name: "Pet"
1329
- } }
1330
- } },
1331
- "dir/friend.json": { data: {
1332
- id: `${testRealmURL}dir/friend`,
1333
- attributes: {
1334
- firstName: "Hassan",
1335
- lastName: "Abdel-Rahman"
1336
- },
1337
- meta: { adoptsFrom: {
1338
- module: `${testModuleRealm}person`,
1339
- name: "Person"
1340
- } }
1341
- } },
1342
- "dir/different-friend.json": { data: {
1343
- id: `${testRealmURL}dir/different-friend`,
1344
- attributes: { firstName: "Burcu" },
1345
- meta: { adoptsFrom: {
1346
- module: `${testModuleRealm}person`,
1347
- name: "Person"
1348
- } }
1349
- } },
1350
- "jackie.json": { data: {
1351
- id: `${testRealmURL}jackie`,
1352
- attributes: { firstName: "Jackie" },
1353
- relationships: {
1354
- "pets.0": { links: { self: `${testRealmURL}dir/van-gogh` } },
1355
- friend: { links: { self: `${testRealmURL}dir/friend` } }
1356
- },
1357
- meta: { adoptsFrom: {
1358
- module: `${testModuleRealm}pet-person`,
1359
- name: "PetPerson"
1360
- } }
1361
- } }
1362
- }
1363
- });
1364
- let resourceCreatedAt = await getFileCreatedAt(realm, "jackie.json");
1365
- let response = await handle(realm, new Request(`${testRealmURL}jackie`, {
1366
- method: "PATCH",
1367
- headers: { Accept: "application/vnd.card+json" },
1368
- body: JSON.stringify({ data: {
1369
- type: "card",
1370
- relationships: { friend: { links: { self: `${testRealmURL}dir/different-friend` } } },
1371
- meta: { adoptsFrom: {
1372
- module: `${testModuleRealm}pet-person`,
1373
- name: "PetPerson"
1374
- } }
1375
- } }, null, 2)
1376
- }));
1377
- assert.strictEqual(response.status, 200, "successful http status");
1378
- let json = await response.json();
1379
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1380
- delete json.data.meta.version;
1381
- assert.deepEqual(json.data, {
1382
- type: "card",
1383
- id: `${testRealmURL}jackie`,
1384
- links: { self: `${testRealmURL}jackie` },
1385
- attributes: {
1386
- firstName: "Jackie",
1387
- cardTitle: "Jackie Pet Person",
1388
- cardDescription: "A person with pets",
1389
- cardThumbnailURL: null,
1390
- cardInfo
1391
- },
1392
- relationships: {
1393
- "pets.0": { links: { self: `./dir/van-gogh` } },
1394
- friend: { links: { self: `./dir/different-friend` } }
1395
- },
1396
- meta: {
1397
- adoptsFrom: {
1398
- module: `${testModuleRealm}pet-person`,
1399
- name: "PetPerson"
1400
- },
1401
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}jackie.json`),
1402
- resourceCreatedAt,
1403
- realmInfo: testRealmInfo,
1404
- realmURL: testRealmURL
1405
- }
1406
- });
1407
- });
1408
- (0, import_qunit.test)("realm can serve PATCH requests to both linksTo and linksToMany fields", async function(assert) {
1409
- let { realm, adapter } = await setupIntegrationTestRealm({
1410
- mockMatrixUtils,
1411
- contents: {
1412
- "dir/van-gogh.json": { data: {
1413
- id: `${testRealmURL}dir/van-gogh`,
1414
- attributes: { firstName: "Van Gogh" },
1415
- relationships: { owner: { links: { self: null } } },
1416
- meta: { adoptsFrom: {
1417
- module: `${testModuleRealm}pet`,
1418
- name: "Pet"
1419
- } }
1420
- } },
1421
- "dir/mango.json": { data: {
1422
- id: `${testRealmURL}dir/mango`,
1423
- attributes: { firstName: "Mango" },
1424
- relationships: { owner: { links: { self: null } } },
1425
- meta: { adoptsFrom: {
1426
- module: `${testModuleRealm}pet`,
1427
- name: "Pet"
1428
- } }
1429
- } },
1430
- "dir/friend.json": { data: {
1431
- id: `${testRealmURL}dir/friend`,
1432
- attributes: {
1433
- firstName: "Hassan",
1434
- lastName: "Abdel-Rahman"
1435
- },
1436
- meta: { adoptsFrom: {
1437
- module: `${testModuleRealm}person`,
1438
- name: "Person"
1439
- } }
1440
- } },
1441
- "dir/different-friend.json": { data: {
1442
- id: `${testRealmURL}dir/different-friend`,
1443
- attributes: { firstName: "Burcu" },
1444
- meta: { adoptsFrom: {
1445
- module: `${testModuleRealm}person`,
1446
- name: "Person"
1447
- } }
1448
- } },
1449
- "jackie.json": { data: {
1450
- id: `${testRealmURL}jackie`,
1451
- attributes: { firstName: "Jackie" },
1452
- relationships: {
1453
- "pets.0": { links: { self: `${testRealmURL}dir/van-gogh` } },
1454
- friend: { links: { self: `${testRealmURL}dir/friend` } }
1455
- },
1456
- meta: { adoptsFrom: {
1457
- module: `${testModuleRealm}pet-person`,
1458
- name: "PetPerson"
1459
- } }
1460
- } }
1461
- }
1462
- });
1463
- let resourceCreatedAt = await getFileCreatedAt(realm, "jackie.json");
1464
- let response = await handle(realm, new Request(`${testRealmURL}jackie`, {
1465
- method: "PATCH",
1466
- headers: { Accept: "application/vnd.card+json" },
1467
- body: JSON.stringify({ data: {
1468
- type: "card",
1469
- relationships: { friend: { links: { self: `${testRealmURL}dir/different-friend` } } },
1470
- meta: { adoptsFrom: {
1471
- module: `${testModuleRealm}pet-person`,
1472
- name: "PetPerson"
1473
- } }
1474
- } }, null, 2)
1475
- }));
1476
- assert.strictEqual(response.status, 200, "successful http status");
1477
- let json = await response.json();
1478
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1479
- delete json.data.meta.version;
1480
- assert.deepEqual(json.data, {
1481
- type: "card",
1482
- id: `${testRealmURL}jackie`,
1483
- links: { self: `${testRealmURL}jackie` },
1484
- attributes: {
1485
- firstName: "Jackie",
1486
- cardTitle: "Jackie Pet Person",
1487
- cardDescription: "A person with pets",
1488
- cardThumbnailURL: null,
1489
- cardInfo
1490
- },
1491
- relationships: {
1492
- friend: { links: { self: `./dir/different-friend` } },
1493
- "pets.0": { links: { self: `./dir/van-gogh` } }
1494
- },
1495
- meta: {
1496
- adoptsFrom: {
1497
- module: `${testModuleRealm}pet-person`,
1498
- name: "PetPerson"
1499
- },
1500
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}jackie.json`),
1501
- resourceCreatedAt,
1502
- realmInfo: testRealmInfo,
1503
- realmURL: testRealmURL
1504
- }
1505
- });
1506
- });
1507
- (0, import_qunit.test)("realm can serve PATCH requests that include linksTo fields", async function(assert) {
1508
- let { realm, adapter } = await setupIntegrationTestRealm({
1509
- mockMatrixUtils,
1510
- contents: {
1511
- "dir/hassan.json": { data: {
1512
- id: `${testRealmURL}dir/hassan`,
1513
- attributes: {
1514
- firstName: "Hassan",
1515
- lastName: "Abdel-Rahman"
1516
- },
1517
- meta: { adoptsFrom: {
1518
- module: `${testModuleRealm}person`,
1519
- name: "Person"
1520
- } }
1521
- } },
1522
- "dir/mariko.json": { data: {
1523
- id: `${testRealmURL}dir/mariko`,
1524
- attributes: {
1525
- firstName: "Mariko",
1526
- lastName: "Abdel-Rahman"
1527
- },
1528
- meta: { adoptsFrom: {
1529
- module: `${testModuleRealm}person`,
1530
- name: "Person"
1531
- } }
1532
- } },
1533
- "dir/mango.json": { data: {
1534
- id: `${testRealmURL}dir/mango`,
1535
- attributes: {
1536
- cardDescription: null,
1537
- cardThumbnailURL: null,
1538
- firstName: "Mango"
1539
- },
1540
- relationships: { owner: { links: { self: `${testRealmURL}dir/hassan` } } },
1541
- meta: { adoptsFrom: {
1542
- module: `${testModuleRealm}pet`,
1543
- name: "Pet"
1544
- } }
1545
- } }
1546
- }
1547
- });
1548
- let response = await handle(realm, new Request(`${testRealmURL}dir/mango`, {
1549
- method: "PATCH",
1550
- headers: { Accept: "application/vnd.card+json" },
1551
- body: JSON.stringify({ data: {
1552
- type: "card",
1553
- relationships: { owner: { links: { self: `${testRealmURL}dir/mariko` } } },
1554
- meta: { adoptsFrom: {
1555
- module: `${testModuleRealm}pet`,
1556
- name: "Pet"
1557
- } }
1558
- } }, null, 2)
1559
- }));
1560
- assert.strictEqual(response.status, 200, "successful http status");
1561
- let json = await response.json();
1562
- let mangoCreatedAt = await getFileCreatedAt(realm, "dir/mango.json");
1563
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1564
- delete json.data.meta.version;
1565
- assert.deepEqual(json, { data: {
1566
- type: "card",
1567
- id: `${testRealmURL}dir/mango`,
1568
- attributes: {
1569
- firstName: "Mango",
1570
- cardTitle: "Mango",
1571
- cardDescription: null,
1572
- cardThumbnailURL: null,
1573
- cardInfo
1574
- },
1575
- relationships: { owner: { links: { self: `./mariko` } } },
1576
- meta: {
1577
- adoptsFrom: {
1578
- module: `${testModuleRealm}pet`,
1579
- name: "Pet"
1580
- },
1581
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}dir/mango.json`),
1582
- resourceCreatedAt: mangoCreatedAt,
1583
- realmInfo: testRealmInfo,
1584
- realmURL: testRealmURL
1585
- },
1586
- links: { self: `${testRealmURL}dir/mango` }
1587
- } });
1588
- let fileRef = await adapter.openFile("dir/mango.json");
1589
- if (!fileRef) throw new Error("file not found");
1590
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
1591
- type: "card",
1592
- attributes: { firstName: "Mango" },
1593
- relationships: { owner: { links: { self: `./mariko` } } },
1594
- meta: { adoptsFrom: {
1595
- module: `${testModuleRealm}pet`,
1596
- name: "Pet"
1597
- } }
1598
- } }, "file contents are correct");
1599
- });
1600
- (0, import_qunit.test)("realm can serve PATCH requests that include polymorphic updates", async function(assert) {
1601
- class Driver extends CardDef {
1602
- static {
1603
- decorateFieldV2(this.prototype, "card", [field], function() {
1604
- return contains(FieldDef);
1605
- });
1606
- }
1607
- #card = (initializeDeferredDecorator(this, "card"), void 0);
1608
- }
1609
- class Person extends FieldDef {
1610
- static {
1611
- decorateFieldV2(this.prototype, "firstName", [field], function() {
1612
- return contains(string_default);
1613
- });
1614
- }
1615
- #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
1616
- }
1617
- class Car extends FieldDef {
1618
- static {
1619
- decorateFieldV2(this.prototype, "make", [field], function() {
1620
- return contains(string_default);
1621
- });
1622
- }
1623
- #make = (initializeDeferredDecorator(this, "make"), void 0);
1624
- static {
1625
- decorateFieldV2(this.prototype, "model", [field], function() {
1626
- return contains(string_default);
1627
- });
1628
- }
1629
- #model = (initializeDeferredDecorator(this, "model"), void 0);
1630
- static {
1631
- decorateFieldV2(this.prototype, "year", [field], function() {
1632
- return contains(string_default);
1633
- });
1634
- }
1635
- #year = (initializeDeferredDecorator(this, "year"), void 0);
1636
- }
1637
- let { realm, adapter } = await setupIntegrationTestRealm({
1638
- mockMatrixUtils,
1639
- contents: {
1640
- "driver.gts": { Driver },
1641
- "person.gts": { Person },
1642
- "car.gts": { Car },
1643
- "dir/driver.json": { data: {
1644
- id: `${testRealmURL}dir/driver`,
1645
- attributes: { card: { firstName: "Mango" } },
1646
- meta: {
1647
- adoptsFrom: {
1648
- module: `${testRealmURL}driver`,
1649
- name: "Driver"
1650
- },
1651
- fields: { card: { adoptsFrom: {
1652
- module: `${testRealmURL}person`,
1653
- name: "Person"
1654
- } } }
1655
- }
1656
- } }
1657
- }
1658
- });
1659
- let resourceCreatedAt = await getFileCreatedAt(realm, "dir/driver.json");
1660
- let response = await handle(realm, new Request(`${testRealmURL}dir/driver`, {
1661
- method: "PATCH",
1662
- headers: { Accept: "application/vnd.card+json" },
1663
- body: JSON.stringify({ data: {
1664
- type: "card",
1665
- attributes: { card: {
1666
- firstName: null,
1667
- make: "Mercedes Benz",
1668
- model: "C300",
1669
- year: "2024"
1670
- } },
1671
- meta: {
1672
- adoptsFrom: {
1673
- module: `${testRealmURL}driver`,
1674
- name: "Driver"
1675
- },
1676
- fields: { card: { adoptsFrom: {
1677
- module: `${testRealmURL}car`,
1678
- name: "Car"
1679
- } } }
1680
- }
1681
- } }, null, 2)
1682
- }));
1683
- assert.strictEqual(response.status, 200, "successful http status");
1684
- let json = await response.json();
1685
- assert.strictEqual(typeof json.data.meta.version, "string", "the write response carries the stored file version");
1686
- delete json.data.meta.version;
1687
- assert.deepEqual(json, { data: {
1688
- type: "card",
1689
- id: `${testRealmURL}dir/driver`,
1690
- attributes: {
1691
- card: {
1692
- make: "Mercedes Benz",
1693
- model: "C300",
1694
- year: "2024"
1695
- },
1696
- cardDescription: null,
1697
- cardThumbnailURL: null,
1698
- cardTitle: "Untitled Card",
1699
- cardInfo
1700
- },
1701
- meta: {
1702
- adoptsFrom: {
1703
- module: `../driver`,
1704
- name: "Driver"
1705
- },
1706
- fields: { card: { adoptsFrom: {
1707
- module: `../car`,
1708
- name: "Car"
1709
- } } },
1710
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}dir/driver.json`),
1711
- resourceCreatedAt,
1712
- realmInfo: testRealmInfo,
1713
- realmURL: testRealmURL
1714
- },
1715
- links: { self: `${testRealmURL}dir/driver` }
1716
- } });
1717
- let fileRef = await adapter.openFile("dir/driver.json");
1718
- if (!fileRef) throw new Error("file not found");
1719
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
1720
- type: "card",
1721
- attributes: { card: {
1722
- make: "Mercedes Benz",
1723
- model: "C300",
1724
- year: "2024"
1725
- } },
1726
- meta: {
1727
- adoptsFrom: {
1728
- module: `../driver`,
1729
- name: "Driver"
1730
- },
1731
- fields: { card: { adoptsFrom: {
1732
- module: `../car`,
1733
- name: "Car"
1734
- } } }
1735
- }
1736
- } }, "file contents are correct");
1737
- });
1738
- (0, import_qunit.test)("realm returns 400 error for PATCH requests that change the type of the underlying instance", async function(assert) {
1739
- class Person extends CardDef {
1740
- static {
1741
- decorateFieldV2(this.prototype, "firstName", [field], function() {
1742
- return contains(string_default);
1743
- });
1744
- }
1745
- #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
1746
- }
1747
- class Car extends CardDef {
1748
- static {
1749
- decorateFieldV2(this.prototype, "make", [field], function() {
1750
- return contains(string_default);
1751
- });
1752
- }
1753
- #make = (initializeDeferredDecorator(this, "make"), void 0);
1754
- static {
1755
- decorateFieldV2(this.prototype, "model", [field], function() {
1756
- return contains(string_default);
1757
- });
1758
- }
1759
- #model = (initializeDeferredDecorator(this, "model"), void 0);
1760
- static {
1761
- decorateFieldV2(this.prototype, "year", [field], function() {
1762
- return contains(string_default);
1763
- });
1764
- }
1765
- #year = (initializeDeferredDecorator(this, "year"), void 0);
1766
- }
1767
- let { realm, adapter } = await setupIntegrationTestRealm({
1768
- mockMatrixUtils,
1769
- contents: {
1770
- "person.gts": { Person },
1771
- "car.gts": { Car },
1772
- "dir/person.json": { data: {
1773
- attributes: { firstName: "Mango" },
1774
- meta: { adoptsFrom: {
1775
- module: `../person`,
1776
- name: "Person"
1777
- } }
1778
- } }
1779
- }
1780
- });
1781
- let response = await handle(realm, new Request(`${testRealmURL}dir/person`, {
1782
- method: "PATCH",
1783
- headers: { Accept: "application/vnd.card+json" },
1784
- body: JSON.stringify({ data: {
1785
- type: "card",
1786
- attributes: {
1787
- make: "Mercedes Benz",
1788
- model: "C300",
1789
- year: "2024"
1790
- },
1791
- meta: { adoptsFrom: {
1792
- module: `${testRealmURL}car`,
1793
- name: "Car"
1794
- } }
1795
- } }, null, 2)
1796
- }));
1797
- assert.strictEqual(response.status, 400, "400 server error");
1798
- let fileRef = await adapter.openFile("dir/person.json");
1799
- if (!fileRef) throw new Error("file not found");
1800
- assert.deepEqual(JSON.parse(fileRef.content), { data: {
1801
- attributes: { firstName: "Mango" },
1802
- meta: { adoptsFrom: {
1803
- module: `../person`,
1804
- name: "Person"
1805
- } }
1806
- } }, "file contents are correct");
1807
- });
1808
- (0, import_qunit.test)("realm returns 500 error for PATCH requests that set the value of a polymorphic field to an incompatible type", async function(assert) {
1809
- class Person extends FieldDef {
1810
- static {
1811
- decorateFieldV2(this.prototype, "firstName", [field], function() {
1812
- return contains(string_default);
1813
- });
1814
- }
1815
- #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
1816
- }
1817
- class Car extends FieldDef {
1818
- static {
1819
- decorateFieldV2(this.prototype, "make", [field], function() {
1820
- return contains(string_default);
1821
- });
1822
- }
1823
- #make = (initializeDeferredDecorator(this, "make"), void 0);
1824
- static {
1825
- decorateFieldV2(this.prototype, "model", [field], function() {
1826
- return contains(string_default);
1827
- });
1828
- }
1829
- #model = (initializeDeferredDecorator(this, "model"), void 0);
1830
- static {
1831
- decorateFieldV2(this.prototype, "year", [field], function() {
1832
- return contains(string_default);
1833
- });
1834
- }
1835
- #year = (initializeDeferredDecorator(this, "year"), void 0);
1836
- }
1837
- class Driver extends CardDef {
1838
- static {
1839
- decorateFieldV2(this.prototype, "card", [field], function() {
1840
- return contains(Person);
1841
- });
1842
- }
1843
- #card = (initializeDeferredDecorator(this, "card"), void 0);
1844
- }
1845
- let { realm } = await setupIntegrationTestRealm({
1846
- mockMatrixUtils,
1847
- contents: {
1848
- "driver.gts": { Driver },
1849
- "person.gts": { Person },
1850
- "car.gts": { Car },
1851
- "dir/driver.json": { data: {
1852
- attributes: { card: { firstName: "Mango" } },
1853
- meta: {
1854
- adoptsFrom: {
1855
- module: `${testRealmURL}driver`,
1856
- name: "Driver"
1857
- },
1858
- fields: { card: { adoptsFrom: {
1859
- module: `../person`,
1860
- name: "Person"
1861
- } } }
1862
- }
1863
- } }
1864
- }
1865
- });
1866
- try {
1867
- globalThis.__emulateServerPatchFailure = true;
1868
- let response = await handle(realm, new Request(`${testRealmURL}dir/driver`, {
1869
- method: "PATCH",
1870
- headers: { Accept: "application/vnd.card+json" },
1871
- body: JSON.stringify({ data: {
1872
- type: "card",
1873
- attributes: { card: {
1874
- firstName: null,
1875
- make: "Mercedes Benz",
1876
- model: "C300",
1877
- year: "2024"
1878
- } },
1879
- meta: {
1880
- adoptsFrom: {
1881
- module: `${testRealmURL}driver`,
1882
- name: "Driver"
1883
- },
1884
- fields: { card: { adoptsFrom: {
1885
- module: `${testRealmURL}car`,
1886
- name: "Car"
1887
- } } }
1888
- }
1889
- } }, null, 2)
1890
- }));
1891
- assert.strictEqual(response.status, 500, "500 server error");
1892
- let json = await response.json();
1893
- assert.strictEqual(json.errors[0].additionalErrors[0].errorDetail.message, "field validation error: tried set instance of Car as field 'card' but it is not an instance of Person");
1894
- } finally {
1895
- delete globalThis.__emulateServerPatchFailure;
1896
- }
1897
- });
1898
- (0, import_qunit.test)("realm can serve delete card requests", async function(assert) {
1899
- let { realm, adapter } = await setupIntegrationTestRealm({
1900
- mockMatrixUtils,
1901
- contents: {
1902
- "cards/1.json": { data: { meta: { adoptsFrom: {
1903
- module: "@cardstack/base/card-api",
1904
- name: "CardDef"
1905
- } } } },
1906
- "cards/2.json": { data: { meta: { adoptsFrom: {
1907
- module: "@cardstack/base/card-api",
1908
- name: "CardDef"
1909
- } } } }
1910
- }
1911
- });
1912
- let queryEngine = realm.realmIndexQueryEngine;
1913
- let { data: cards } = await searchCardsForTest(queryEngine, { filter: { type: baseCardRef } });
1914
- assert.strictEqual(cards.length, 2, "two cards found");
1915
- let result = await queryEngine.cardDocument(new URL(`${testRealmURL}cards/2`));
1916
- if (result?.type === "error") throw new Error(`unexpected error when getting card from index: ${result.error.errorDetail.message}`);
1917
- assert.strictEqual(result?.doc.data.id, `${testRealmURL}cards/2`, "found card in index");
1918
- let response = await handle(realm, new Request(`${testRealmURL}cards/2`, {
1919
- method: "DELETE",
1920
- headers: { Accept: "application/vnd.card+json" }
1921
- }));
1922
- await realm.flushUpdateEvents();
1923
- assert.strictEqual(response.status, 204, "status was 204");
1924
- result = await queryEngine.cardDocument(new URL(`${testRealmURL}cards/2`));
1925
- assert.strictEqual(result, void 0, "card was deleted");
1926
- let deletedFile = await adapter.openFile("cards/2.json");
1927
- assert.strictEqual(deletedFile, void 0, "underlying file for deleted card no longer exists");
1928
- result = await queryEngine.cardDocument(new URL(`${testRealmURL}cards/1`));
1929
- if (result?.type === "error") throw new Error(`unexpected error when getting card from index: ${result.error.errorDetail.message}`);
1930
- assert.strictEqual(result?.doc.data.id, `${testRealmURL}cards/1`, "card 1 is still there");
1931
- cards = (await searchCardsForTest(queryEngine, { filter: { type: baseCardRef } })).data;
1932
- assert.strictEqual(cards.length, 1, "only one card remains");
1933
- });
1934
- (0, import_qunit.test)("realm can serve card source file", async function(assert) {
1935
- let { realm } = await setupIntegrationTestRealm({
1936
- mockMatrixUtils,
1937
- contents: { "dir/person.gts": cardSrc }
1938
- });
1939
- let response = await handle(realm, new Request(`${testRealmURL}dir/person.gts`, { headers: { Accept: "application/vnd.card+source" } }));
1940
- assert.strictEqual(response.status, 200, "200 HTTP status");
1941
- let responseText = await response.text();
1942
- assert.strictEqual(responseText, cardSrc, "the card source is correct");
1943
- assert.ok(response.headers.get("last-modified"), "last-modified header exists");
1944
- });
1945
- (0, import_qunit.test)("realm provide redirect for card source", async function(assert) {
1946
- let { realm } = await setupIntegrationTestRealm({
1947
- mockMatrixUtils,
1948
- contents: { "dir/person.gts": cardSrc }
1949
- });
1950
- let response = await handle(realm, new Request(`${testRealmURL}dir/person`, { headers: { Accept: "application/vnd.card+source" } }));
1951
- assert.strictEqual(response.status, 302, "302 HTTP status");
1952
- assert.strictEqual(response.headers.get("Location"), "/test/dir/person.gts", "Location header is correct");
1953
- });
1954
- (0, import_qunit.test)("realm returns 404 when no card source can be found", async function(assert) {
1955
- let { realm } = await setupIntegrationTestRealm({
1956
- mockMatrixUtils,
1957
- contents: {}
1958
- });
1959
- let response = await handle(realm, new Request(`${testRealmURL}dir/person`, { headers: { Accept: "application/vnd.card+source" } }));
1960
- assert.strictEqual(response.status, 404, "404 HTTP status");
1961
- });
1962
- (0, import_qunit.test)("realm can serve card source post request", async function(assert) {
1963
- let { realm } = await setupIntegrationTestRealm({
1964
- mockMatrixUtils,
1965
- contents: {}
1966
- });
1967
- {
1968
- let response = await handle(realm, new Request(`${testRealmURL}dir/person.gts`, {
1969
- method: "POST",
1970
- headers: { Accept: "application/vnd.card+source" },
1971
- body: cardSrc
1972
- }));
1973
- await realm.flushUpdateEvents();
1974
- assert.strictEqual(response.status, 204, "HTTP status is 204");
1975
- assert.ok(response.headers.get("last-modified"), "last-modified header exists");
1976
- }
1977
- {
1978
- let response = await handle(realm, new Request(`${testRealmURL}dir/person.gts`, { headers: { Accept: "application/vnd.card+source" } }));
1979
- assert.strictEqual(response.status, 200, "200 HTTP status");
1980
- let responseText = await response.text();
1981
- assert.strictEqual(responseText, cardSrc, "the card source is correct");
1982
- }
1983
- });
1984
- (0, import_qunit.test)("realm can serve card source delete request", async function(assert) {
1985
- let { field, contains, CardDef } = await loader.import("@cardstack/base/card-api");
1986
- let { default: StringField } = await loader.import("@cardstack/base/string");
1987
- class Person extends CardDef {
1988
- static {
1989
- decorateFieldV2(this.prototype, "firstName", [field], function() {
1990
- return contains(StringField);
1991
- });
1992
- }
1993
- #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
1994
- static {
1995
- decorateFieldV2(this.prototype, "lastName", [field], function() {
1996
- return contains(StringField);
1997
- });
1998
- }
1999
- #lastName = (initializeDeferredDecorator(this, "lastName"), void 0);
2000
- }
2001
- let { realm } = await setupIntegrationTestRealm({
2002
- mockMatrixUtils,
2003
- contents: { "person.gts": { Person } }
2004
- });
2005
- let response = await handle(realm, new Request(`${testRealmURL}person`, { headers: { Accept: "application/vnd.card+source" } }));
2006
- await realm.flushUpdateEvents();
2007
- assert.strictEqual(response.status, 302, "file exists");
2008
- response = await handle(realm, new Request(`${testRealmURL}person`, {
2009
- method: "DELETE",
2010
- headers: { Accept: "application/vnd.card+source" }
2011
- }));
2012
- await realm.flushUpdateEvents();
2013
- assert.strictEqual(response.status, 204, "file is deleted");
2014
- response = await handle(realm, new Request(`${testRealmURL}person`, { headers: { Accept: "application/vnd.card+source" } }));
2015
- assert.strictEqual(response.status, 404, "file no longer exists");
2016
- });
2017
- (0, import_qunit.test)("realm can serve compiled js file when requested without file extension ", async function(assert) {
2018
- let { realm } = await setupIntegrationTestRealm({
2019
- mockMatrixUtils,
2020
- contents: { "dir/person.gts": cardSrc }
2021
- });
2022
- let response = await handle(realm, new Request(`${testRealmURL}dir/person`));
2023
- assert.strictEqual(response.status, 200, "HTTP 200 status code");
2024
- let compiledJS = await response.text();
2025
- assert.codeEqual(stripScopedCSSGlimmerAttributes(compiledJS.replace(/"id":\s"[^"]+"/, "\"id\": \"<id>\"")), compiledCard("\"<id>\""), "compiled card is correct");
2026
- });
2027
- (0, import_qunit.test)("realm can serve compiled js file when requested with file extension ", async function(assert) {
2028
- let { realm } = await setupIntegrationTestRealm({
2029
- mockMatrixUtils,
2030
- contents: { "dir/person.gts": cardSrc }
2031
- });
2032
- let response = await handle(realm, new Request(`${testRealmURL}dir/person.gts`));
2033
- assert.strictEqual(response.status, 200, "HTTP 200 status code");
2034
- let compiledJS = await response.text();
2035
- assert.codeEqual(stripScopedCSSGlimmerAttributes(compiledJS.replace(/"id":\s"[^"]+"/, "\"id\": \"<id>\"")), compiledCard("\"<id>\""), "compiled card is correct");
2036
- });
2037
- (0, import_qunit.test)("realm can serve file asset (not card source, not js, not JSON-API)", async function(assert) {
2038
- let html = `
2039
- <html>
2040
- <body>
2041
- <h1>Hello World</h1>
2042
- </body>
2043
- </html>
2044
- `.trim();
2045
- let { realm } = await setupIntegrationTestRealm({
2046
- mockMatrixUtils,
2047
- contents: { "dir/index.html": html }
2048
- });
2049
- let response = await handle(realm, new Request(`${testRealmURL}dir/index.html`));
2050
- assert.strictEqual(response.status, 200, "HTTP 200 status code");
2051
- let responseText = await response.text();
2052
- assert.strictEqual(responseText, html, "asset contents are correct");
2053
- });
2054
- (0, import_qunit.test)("realm can serve search requests", async function(assert) {
2055
- let { realm } = await setupIntegrationTestRealm({
2056
- mockMatrixUtils,
2057
- contents: { "dir/empty.json": { data: {
2058
- attributes: {},
2059
- meta: { adoptsFrom: {
2060
- module: "@cardstack/base/card-api",
2061
- name: "CardDef"
2062
- } }
2063
- } } }
2064
- });
2065
- let json = await (await handle(realm, new Request(`${testRealmURL}_search`, {
2066
- method: "QUERY",
2067
- headers: {
2068
- Accept: "application/vnd.card+json",
2069
- "Content-Type": "application/json"
2070
- },
2071
- body: JSON.stringify(searchEntryWireQueryFromQuery({ filter: { type: baseCardRef } }, { fields: ["item"] }))
2072
- }))).json();
2073
- assert.strictEqual(json.data.length, 1, "the card is returned in the search results");
2074
- assert.strictEqual(json.data[0].id, `${testRealmURL}dir/empty`, "card ID is correct");
2075
- });
2076
- (0, import_qunit.test)("realm can serve search requests whose results have linksTo fields", async function(assert) {
2077
- let { realm } = await setupIntegrationTestRealm({
2078
- mockMatrixUtils,
2079
- contents: {
2080
- "dir/mariko.json": { data: {
2081
- id: `${testRealmURL}dir/mariko`,
2082
- attributes: {
2083
- firstName: "Mariko",
2084
- lastName: "Abdel-Rahman"
2085
- },
2086
- meta: { adoptsFrom: {
2087
- module: `${testModuleRealm}person`,
2088
- name: "Person"
2089
- } }
2090
- } },
2091
- "dir/mango.json": { data: {
2092
- id: `${testRealmURL}dir/mango`,
2093
- attributes: {
2094
- cardDescription: null,
2095
- cardThumbnailURL: null,
2096
- firstName: "Mango"
2097
- },
2098
- relationships: { owner: { links: { self: `${testRealmURL}dir/mariko` } } },
2099
- meta: { adoptsFrom: {
2100
- module: `${testModuleRealm}pet`,
2101
- name: "Pet"
2102
- } }
2103
- } },
2104
- "dir/vanGogh.json": { data: {
2105
- id: `${testRealmURL}dir/vanGogh`,
2106
- attributes: { firstName: "Van Gogh" },
2107
- relationships: { owner: { links: { self: `${testModuleRealm}hassan` } } },
2108
- meta: { adoptsFrom: {
2109
- module: `${testModuleRealm}pet`,
2110
- name: "Pet"
2111
- } }
2112
- } }
2113
- }
2114
- });
2115
- let json = await (await handle(realm, new Request(`${testRealmURL}_search`, {
2116
- method: "QUERY",
2117
- headers: {
2118
- Accept: "application/vnd.card+json",
2119
- "Content-Type": "application/json"
2120
- },
2121
- body: JSON.stringify(searchEntryWireQueryFromQuery({
2122
- filter: { type: baseCardRef },
2123
- sort: [{
2124
- by: "id",
2125
- on: {
2126
- module: rri(`${baseRealmRRI}card-api`),
2127
- name: "CardDef"
2128
- }
2129
- }]
2130
- }, { fields: ["item"] }))
2131
- }))).json();
2132
- let mangoCreatedAt = await getFileCreatedAt(realm, "dir/mango.json");
2133
- let marikoCreatedAt = await getFileCreatedAt(realm, "dir/mariko.json");
2134
- let vanGoghCreatedAt = await getFileCreatedAt(realm, "dir/vanGogh.json");
2135
- let entries = json.data;
2136
- assert.strictEqual(entries.length, 3, "returns 3 search entries");
2137
- assert.strictEqual(json.meta.page.total, 3, "meta page total is 3");
2138
- let included = json.included ?? [];
2139
- let mango = included.find((r) => r.id === `${testRealmURL}dir/mango`);
2140
- assert.ok(mango, "mango is in results");
2141
- assert.strictEqual(mango.attributes.firstName, "Mango", "mango name");
2142
- assert.strictEqual(mango.relationships.owner.links.self, "./mariko", "mango owner self link");
2143
- assert.strictEqual(mango.relationships.owner.data.id, `${testRealmURL}dir/mariko`, "mango owner id");
2144
- assert.strictEqual(mango.meta.resourceCreatedAt, mangoCreatedAt, "mango createdAt");
2145
- let mariko = included.find((r) => r.id === `${testRealmURL}dir/mariko`);
2146
- assert.ok(mariko, "mariko is in results");
2147
- assert.strictEqual(mariko.attributes.fullName, "Mariko Abdel-Rahman", "mariko fullName");
2148
- assert.strictEqual(mariko.meta.resourceCreatedAt, marikoCreatedAt, "mariko createdAt");
2149
- let vanGogh = included.find((r) => r.id === `${testRealmURL}dir/vanGogh`);
2150
- assert.ok(vanGogh, "vanGogh is in results");
2151
- assert.strictEqual(vanGogh.relationships.owner.links.self, `${testModuleRealm}hassan`, "vanGogh owner self link");
2152
- assert.strictEqual(vanGogh.relationships.owner.data.id, `${testModuleRealm}hassan`, "vanGogh owner id");
2153
- assert.strictEqual(vanGogh.meta.resourceCreatedAt, vanGoghCreatedAt, "vanGogh createdAt");
2154
- let hassan = included.find((r) => r.id === `${testModuleRealm}hassan`);
2155
- assert.ok(hassan, "hassan (cross-realm linksTo target) is included");
2156
- });
2157
- (0, import_qunit.test)("included card uses correct module path when realm is mounted", async function(assert) {
2158
- let mountedRealmURL = "https://localhost:4201/mounted-test/";
2159
- let spreadsheet1Id = "spreadsheet-1";
2160
- let spreadsheet2Id = "spreadsheet-2";
2161
- class Spreadsheet extends CardDef {
2162
- static displayName = "Spreadsheet";
2163
- static {
2164
- decorateFieldV2(this.prototype, "name", [field], function() {
2165
- return contains(string_default);
2166
- });
2167
- }
2168
- #name = (initializeDeferredDecorator(this, "name"), void 0);
2169
- }
2170
- class CatalogIndex extends CardDef {
2171
- static displayName = "CatalogIndex";
2172
- static {
2173
- decorateFieldV2(this.prototype, "spreadsheets", [field], function() {
2174
- return linksToMany(Spreadsheet);
2175
- });
2176
- }
2177
- #spreadsheets = (initializeDeferredDecorator(this, "spreadsheets"), void 0);
2178
- }
2179
- let { realm } = await setupIntegrationTestRealm({
2180
- mockMatrixUtils,
2181
- realmURL: mountedRealmURL,
2182
- contents: {
2183
- "spreadsheet/spreadsheet.gts": { Spreadsheet },
2184
- "index.gts": { CatalogIndex },
2185
- [`spreadsheet/Spreadsheet/${spreadsheet1Id}.json`]: { data: {
2186
- attributes: { name: "Sheet 1" },
2187
- meta: { adoptsFrom: {
2188
- module: "../spreadsheet",
2189
- name: "Spreadsheet"
2190
- } }
2191
- } },
2192
- [`spreadsheet/Spreadsheet/${spreadsheet2Id}.json`]: { data: {
2193
- attributes: { name: "Sheet 2" },
2194
- meta: { adoptsFrom: {
2195
- module: "../spreadsheet",
2196
- name: "Spreadsheet"
2197
- } }
2198
- } },
2199
- "index.json": { data: {
2200
- relationships: {
2201
- "spreadsheets.0": { links: { self: `./spreadsheet/Spreadsheet/${spreadsheet1Id}` } },
2202
- "spreadsheets.1": { links: { self: `./spreadsheet/Spreadsheet/${spreadsheet2Id}` } }
2203
- },
2204
- meta: { adoptsFrom: {
2205
- module: "./index",
2206
- name: "CatalogIndex"
2207
- } }
2208
- } }
2209
- }
2210
- });
2211
- let response = await handle(realm, new Request(`${mountedRealmURL}index`, { headers: { Accept: "application/vnd.card+json" } }));
2212
- assert.strictEqual(response.status, 200, "successful http status");
2213
- let included = (await response.json()).included?.find((resource) => resource.id === `${mountedRealmURL}spreadsheet/Spreadsheet/${spreadsheet1Id}`);
2214
- assert.ok(included, "linked spreadsheet card is included");
2215
- assert.strictEqual(included?.meta?.adoptsFrom?.module, "../spreadsheet", "included adoptsFrom.module is relative to the resource own id");
2216
- });
2217
- (0, import_qunit.test)("realm can serve directory requests", async function(assert) {
2218
- let { realm, adapter } = await setupIntegrationTestRealm({
2219
- mockMatrixUtils,
2220
- contents: {
2221
- "dir/empty.json": { data: {
2222
- attributes: {},
2223
- meta: { adoptsFrom: {
2224
- module: "@cardstack/base/card-api",
2225
- name: "CardDef"
2226
- } }
2227
- } },
2228
- "dir/subdir/file.txt": ""
2229
- }
2230
- });
2231
- let response = await handle(realm, new Request(`${testRealmURL}dir/`, { headers: { Accept: "application/vnd.api+json" } }));
2232
- assert.strictEqual(response.status, 200, "HTTP 200 status code");
2233
- let json = await response.json();
2234
- let resourceCreatedAt = await getFileCreatedAt(realm, "dir/empty.json");
2235
- assert.deepEqual(json, { data: {
2236
- id: `${testRealmURL}dir/`,
2237
- type: "directory",
2238
- relationships: {
2239
- "subdir/": {
2240
- links: { related: `${testRealmURL}dir/subdir/` },
2241
- meta: { kind: "directory" }
2242
- },
2243
- "empty.json": {
2244
- links: { related: `${testRealmURL}dir/empty.json` },
2245
- meta: {
2246
- kind: "file",
2247
- lastModified: adapter.lastModifiedMap.get(`${testRealmURL}dir/empty.json`),
2248
- resourceCreatedAt
2249
- }
2250
- }
2251
- }
2252
- } }, "the directory response is correct");
2253
- });
2254
- (0, import_qunit.test)("requests do not contain entries that match patterns in ignore files", async function(assert) {
2255
- const cardSource = `
2256
- import { CardDef } from '@cardstack/base/card-api';
2257
- export class Post extends CardDef {}
2258
- `;
2259
- let { realm } = await setupIntegrationTestRealm({
2260
- mockMatrixUtils,
2261
- contents: {
2262
- "sample-post.json": "",
2263
- "posts/1.json": "",
2264
- "posts/nested.gts": cardSource,
2265
- "posts/ignore-me.gts": cardSource,
2266
- "posts/2.json": "",
2267
- "post.gts": cardSource,
2268
- "dir/card.gts": cardSource,
2269
- ".gitignore": `
2270
- *.json
2271
- /dir
2272
- posts/ignore-me.gts
2273
- `
2274
- }
2275
- });
2276
- {
2277
- let response = await handle(realm, new Request(`${testRealmURL}dir/`, { headers: { Accept: "application/vnd.api+json" } }));
2278
- assert.strictEqual(response.status, 404, "HTTP 404 response");
2279
- }
2280
- {
2281
- let json = await (await handle(realm, new Request(testRealmURL, { headers: { Accept: "application/vnd.api+json" } }))).json();
2282
- assert.deepEqual(Object.keys(json.data.relationships).sort(), [
2283
- ".gitignore",
2284
- "post.gts",
2285
- "posts/"
2286
- ], "top level entries are correct");
2287
- }
2288
- {
2289
- let json = await (await handle(realm, new Request(`${testRealmURL}posts/`, { headers: { Accept: "application/vnd.api+json" } }))).json();
2290
- assert.deepEqual(Object.keys(json.data.relationships).sort(), ["nested.gts"], "nested entries are correct");
2291
- }
2292
- });
2293
- (0, import_qunit.test)("realm can serve info requests by reading the RealmConfig card", async function(assert) {
2294
- let { realm } = await setupIntegrationTestRealm({
2295
- mockMatrixUtils,
2296
- contents: { "realm.json": realmConfigCardJSON({
2297
- name: "Example Workspace",
2298
- backgroundURL: "/test-fixtures/realm-images/4k-powder-puff.jpg",
2299
- iconURL: "/test-fixtures/realm-images/boxel-logo.png"
2300
- }) }
2301
- });
2302
- let json = await (await handle(realm, new Request(`${testRealmURL}_info`, {
2303
- method: "QUERY",
2304
- headers: { Accept: "application/vnd.api+json" }
2305
- }))).json();
2306
- assert.strictEqual(json.data.id, testRealmURL, "id is correct");
2307
- assert.strictEqual(json.data.type, "realm-info", "type is correct");
2308
- let attributes = json.data.attributes;
2309
- assert.strictEqual(attributes.name, "Example Workspace", "name");
2310
- assert.strictEqual(attributes.backgroundURL, "/test-fixtures/realm-images/4k-powder-puff.jpg", "backgroundURL");
2311
- assert.strictEqual(attributes.iconURL, "/test-fixtures/realm-images/boxel-logo.png", "iconURL");
2312
- assert.strictEqual(attributes.realmUserId, "@realm_server:localhost", "realmUserId");
2313
- assert.strictEqual(attributes.showAsCatalog, null, "showAsCatalog");
2314
- assert.strictEqual(attributes.visibility, "public", "visibility");
2315
- assert.strictEqual(attributes.publishable, null, "publishable");
2316
- assert.strictEqual(attributes.lastPublishedAt, null, "lastPublishedAt");
2317
- assert.strictEqual(attributes.includePrerenderedDefaultRealmIndex, null, "includePrerenderedDefaultRealmIndex");
2318
- });
2319
- (0, import_qunit.test)("realm can serve info requests if the RealmConfig card is missing", async function(assert) {
2320
- let { realm } = await setupIntegrationTestRealm({
2321
- mockMatrixUtils,
2322
- contents: {}
2323
- });
2324
- let json = await (await handle(realm, new Request(`${testRealmURL}_info`, {
2325
- method: "QUERY",
2326
- headers: { Accept: "application/vnd.api+json" }
2327
- }))).json();
2328
- assert.deepEqual(json, { data: {
2329
- id: testRealmURL,
2330
- type: "realm-info",
2331
- attributes: testRealmInfo
2332
- } }, "/_info response is correct");
2333
- });
2334
- (0, import_qunit.test)("realm can serve info requests if the RealmConfig card is malformed", async function(assert) {
2335
- let { realm } = await setupIntegrationTestRealm({
2336
- mockMatrixUtils,
2337
- contents: { "realm.json": `Some example content that is not valid json` }
2338
- });
2339
- let json = await (await handle(realm, new Request(`${testRealmURL}_info`, {
2340
- method: "QUERY",
2341
- headers: { Accept: "application/vnd.api+json" }
2342
- }))).json();
2343
- assert.deepEqual(json, { data: {
2344
- id: testRealmURL,
2345
- type: "realm-info",
2346
- attributes: testRealmInfo
2347
- } }, "/_info response is correct");
2348
- });
2349
- (0, import_qunit.test)("realm does not crash when indexing a broken instance", async function(assert) {
2350
- await setupIntegrationTestRealm({
2351
- mockMatrixUtils,
2352
- contents: { "FieldDef/1.json": { data: {
2353
- type: "card",
2354
- meta: { adoptsFrom: {
2355
- module: "@cardstack/base/card-api",
2356
- name: "FieldDef"
2357
- } }
2358
- } } }
2359
- });
2360
- assert.ok(true, "realm did not crash when trying to index a broken instance");
2361
- });
2362
- });
2363
- //#endregion