@cardstack/boxel-cli 0.13.0-unstable.4 → 0.13.0-unstable.6

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 (1058) hide show
  1. package/bundled-realms/pretui/components/doc-report.gts +2 -2
  2. package/bundled-realms/pretui/components/doc-report.usage.gts +3 -3
  3. package/bundled-realms/pretui/components/form-field.md +1 -1
  4. package/bundled-realms/pretui/components/icon-button.md +1 -1
  5. package/bundled-realms/pretui/components/popup.md +1 -1
  6. package/bundled-realms/pretui/components/switch.gts +13 -0
  7. package/bundled-realms/pretui/components/switch.md +5 -3
  8. package/bundled-realms/pretui/components/theme-frame.gts +49 -22
  9. package/bundled-realms/pretui/components/tooltip.gts +141 -42
  10. package/bundled-realms/pretui/components/tooltip.md +10 -12
  11. package/bundled-realms/pretui/components/tooltip.usage.gts +3 -5
  12. package/bundled-realms/pretui/docs/structure.md +1 -1
  13. package/bundled-realms/pretui/internal/overlay.gts +4 -2
  14. package/bundled-realms/pretui/pretui-css.gts +6 -2
  15. package/bundled-realms/pretui/theme-scoped-css.gts +262 -0
  16. package/bundled-test-harness/assets/account-switch-failed-test-DwAZq6Sc.js +45 -0
  17. package/bundled-test-harness/assets/adapter-C_6pnsx1.js +2 -0
  18. package/bundled-test-harness/assets/add-field-to-card-definition-tool-test-zMYtJWBv.js +112 -0
  19. package/bundled-test-harness/assets/ai-assistant-create-workspace-test-CwhAV-Ow.js +130 -0
  20. package/bundled-test-harness/assets/ai-assistant-panel-relogin-test-DNgclkGJ.js +46 -0
  21. package/bundled-test-harness/assets/ai-assistant-test-DGYFiRTb.js +2223 -0
  22. package/bundled-test-harness/assets/ai-function-generation-test-Dj6WzKkh.js +1176 -0
  23. package/bundled-test-harness/assets/ai-module-creation-test-C4zhhxaZ.js +151 -0
  24. package/bundled-test-harness/assets/aibot-message-BShcljQ9.js +1312 -0
  25. package/bundled-test-harness/assets/app-DiEYqT6T.js +14146 -0
  26. package/bundled-test-harness/assets/apply-markdown-edit-test-CPhfeg1i.js +230 -0
  27. package/bundled-test-harness/assets/ask-user-picker-NVRkhKwt.js +370 -0
  28. package/bundled-test-harness/assets/ask-user-picker-test-SsZqFm9W.js +39 -0
  29. package/bundled-test-harness/assets/assistant-transcript-test-DesuBCIB.js +57 -0
  30. package/bundled-test-harness/assets/audio-metadata-extractor-test-8JM6oZXG.js +1176 -0
  31. package/bundled-test-harness/assets/authed-fetch-test-yPTMe-9V.js +73 -0
  32. package/bundled-test-harness/assets/avif-image-def-test-Kyknj908.js +187 -0
  33. package/bundled-test-harness/assets/basic-test-D9OrrMaq.js +139 -0
  34. package/bundled-test-harness/assets/binary-upload-dedupe-test-C0RFmHma.js +308 -0
  35. package/bundled-test-harness/assets/bot-registration-test-Bk2lTaCW.js +97 -0
  36. package/bundled-test-harness/assets/box-test-BbV9sMyU.js +50 -0
  37. package/bundled-test-harness/assets/brand-guide-attachments-test-z4wTsKbI.js +84 -0
  38. package/bundled-test-harness/assets/brand-guide-custom-css-test-BlSJE8xo.js +196 -0
  39. package/bundled-test-harness/assets/brand-guide-edit-test-DJ1OQ6IB.js +140 -0
  40. package/bundled-test-harness/assets/brand-logo-mark-field-test-ux7eetkO.js +86 -0
  41. package/bundled-test-harness/assets/broken-link-template-test-CqB3MWyw.js +192 -0
  42. package/bundled-test-harness/assets/bundled-base-modules-test-B2oNLZSJ.js +54 -0
  43. package/bundled-test-harness/assets/bundled-base-oracle-test-DelPfFjn.js +37 -0
  44. package/bundled-test-harness/assets/buried-stack-item-scroll-test-Ixsl1tS0.js +236 -0
  45. package/bundled-test-harness/assets/button-BvYQm_A1.js +141 -0
  46. package/bundled-test-harness/assets/bxl-cyclic-graph-test-p23WCLRW.js +47 -0
  47. package/bundled-test-harness/assets/bxl-expression-test-CVTQYT_C.js +250 -0
  48. package/bundled-test-harness/assets/bxl-indexing-test-D_A7X2sr.js +212 -0
  49. package/bundled-test-harness/assets/bxl-platform-module-test-Cltfyybp.js +71 -0
  50. package/bundled-test-harness/assets/can-invoke-test-CVfE1l1V.js +455 -0
  51. package/bundled-test-harness/assets/can-read-realm-test-CIz6WX_K.js +56 -0
  52. package/bundled-test-harness/assets/cancel-indexing-job-test-0LlrOgYK.js +69 -0
  53. package/bundled-test-harness/assets/capture-test-diHIWmh0.js +360 -0
  54. package/bundled-test-harness/assets/card-api-test-Ci9b0ghP.js +198 -0
  55. package/bundled-test-harness/assets/card-basics-test-RKQoQWZD.js +5364 -0
  56. package/bundled-test-harness/assets/card-chooser-paging-test-BN21sDpP.js +235 -0
  57. package/bundled-test-harness/assets/card-chooser-test-C9jDiIgM.js +393 -0
  58. package/bundled-test-harness/assets/card-context-search-results-KmkXJbmC.js +30 -0
  59. package/bundled-test-harness/assets/card-context-search-results-test-CpMr8OlX.js +184 -0
  60. package/bundled-test-harness/assets/card-def-field-def-relationships-test-D_30xak6.js +562 -0
  61. package/bundled-test-harness/assets/card-def-menu-items-test-ohuHc0b4.js +228 -0
  62. package/bundled-test-harness/assets/card-delete-test-BlsD9Xw4.js +466 -0
  63. package/bundled-test-harness/assets/card-error-3q1o3i0e.js +72 -0
  64. package/bundled-test-harness/assets/card-error-awaiting-index-test-DPgYKfbF.js +53 -0
  65. package/bundled-test-harness/assets/card-info-thumbnail-picker-test-CVfeJyjt.js +219 -0
  66. package/bundled-test-harness/assets/card-playground-test-D-7bi4PQ.js +1491 -0
  67. package/bundled-test-harness/assets/card-prerender-DemTfK_a.js +12939 -0
  68. package/bundled-test-harness/assets/card-thunk-error-test-DCBh1vRT.js +48 -0
  69. package/bundled-test-harness/assets/card-type-service-test-DXPrfVYk.js +161 -0
  70. package/bundled-test-harness/assets/check-correctness-test-DjE7r1X2.js +1093 -0
  71. package/bundled-test-harness/assets/check-domain-availability-test-U10xSKbY.js +98 -0
  72. package/bundled-test-harness/assets/chip-0r_r9SC8.js +44 -0
  73. package/bundled-test-harness/assets/choreo-CZUXQKjf.js +1110 -0
  74. package/bundled-test-harness/assets/choreo-D8RcLuoq.js +2 -0
  75. package/bundled-test-harness/assets/choreo-feature-reel-test-DRGloCAJ.js +155 -0
  76. package/bundled-test-harness/assets/choreo-gallery-build-order-test-BR-r7gaw.js +436 -0
  77. package/bundled-test-harness/assets/choreo-gallery-compositor-test-CWRLfcNT.js +399 -0
  78. package/bundled-test-harness/assets/choreo-gallery-cover-test-BT05gNKC.js +214 -0
  79. package/bundled-test-harness/assets/choreo-gallery-crossing-stage-test-WJ7FmjYi.js +133 -0
  80. package/bundled-test-harness/assets/choreo-gallery-demos-alive-test-C-yxdVT_.js +42 -0
  81. package/bundled-test-harness/assets/choreo-gallery-drift-test-HX1mK3od.js +620 -0
  82. package/bundled-test-harness/assets/choreo-gallery-escort-test-jZEVk_V4.js +187 -0
  83. package/bundled-test-harness/assets/choreo-gallery-films-test-DLDQzsxb.js +140 -0
  84. package/bundled-test-harness/assets/choreo-gallery-filter-test-BJv8KEeP.js +46 -0
  85. package/bundled-test-harness/assets/choreo-gallery-fold-test-BssKC8A8.js +180 -0
  86. package/bundled-test-harness/assets/choreo-gallery-guide-pages-test-DS41eNNV.js +114 -0
  87. package/bundled-test-harness/assets/choreo-gallery-guides-test-DTj7yEKp.js +321 -0
  88. package/bundled-test-harness/assets/choreo-gallery-hang-test-BqJLmeFF.js +426 -0
  89. package/bundled-test-harness/assets/choreo-gallery-highlight-test-B1Q7-ICm.js +60 -0
  90. package/bundled-test-harness/assets/choreo-gallery-inline-edit-test-7My9lVam.js +370 -0
  91. package/bundled-test-harness/assets/choreo-gallery-interruption-test-BlIAaGrw.js +176 -0
  92. package/bundled-test-harness/assets/choreo-gallery-lone-stack-test-C9NnYIP8.js +104 -0
  93. package/bundled-test-harness/assets/choreo-gallery-navigation-test-CWzXkvbW.js +193 -0
  94. package/bundled-test-harness/assets/choreo-gallery-playhead-transport-test-CwdiZWeI.js +111 -0
  95. package/bundled-test-harness/assets/choreo-gallery-poplayout-subtree-test-D55fxwTn.js +127 -0
  96. package/bundled-test-harness/assets/choreo-gallery-presence-modes-test-D8Wxv0lb.js +100 -0
  97. package/bundled-test-harness/assets/choreo-gallery-presentation-test-BLoWfp6G.js +157 -0
  98. package/bundled-test-harness/assets/choreo-gallery-reduced-motion-test-D5XxTBDS.js +145 -0
  99. package/bundled-test-harness/assets/choreo-gallery-sheet-standalone-test-DrHTTvss.js +89 -0
  100. package/bundled-test-harness/assets/choreo-gallery-sheet-test-BFVdnM_b.js +48 -0
  101. package/bundled-test-harness/assets/choreo-gallery-site-test-BhEBHdvI.js +237 -0
  102. package/bundled-test-harness/assets/choreo-gallery-stage-DcKKsdcu.js +256 -0
  103. package/bundled-test-harness/assets/choreo-gallery-stage-keyboard-test-Fcc6SC3F.js +102 -0
  104. package/bundled-test-harness/assets/choreo-gallery-stages-test-Cb-ADpxK.js +35 -0
  105. package/bundled-test-harness/assets/choreo-gallery-subdivision-test-DMJ6C9FW.js +138 -0
  106. package/bundled-test-harness/assets/choreo-gallery-table-plan-test-CAjSUdLJ.js +144 -0
  107. package/bundled-test-harness/assets/choreo-gallery-theater-test-B-3IZMj9.js +252 -0
  108. package/bundled-test-harness/assets/choreo-gallery-tuning-test-BVxK5Ry_.js +95 -0
  109. package/bundled-test-harness/assets/choreo-gallery-widget-room-test-uWBH1EKE.js +88 -0
  110. package/bundled-test-harness/assets/choreo-gallery-wires-test-Bo4Sd1Vn.js +148 -0
  111. package/bundled-test-harness/assets/client-telemetry-test-DFM4mML2.js +340 -0
  112. package/bundled-test-harness/assets/clip-DY6N6K67.js +92 -0
  113. package/bundled-test-harness/assets/clip-DzXoPdp-.js +2 -0
  114. package/bundled-test-harness/assets/code-block-DRE8KQZQ.js +502 -0
  115. package/bundled-test-harness/assets/code-ref-test-CDcqE8_C.js +163 -0
  116. package/bundled-test-harness/assets/code-submode-availability-test-DPTqZYYm.js +198 -0
  117. package/bundled-test-harness/assets/code-submode-test-AHV4mzJ4.js +1839 -0
  118. package/bundled-test-harness/assets/codeblocks-test-D6ijVvEL.js +418 -0
  119. package/bundled-test-harness/assets/codemirror-editor-test-BeAMVivu.js +1512 -0
  120. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-Bnb7_KUT.js +366 -0
  121. package/bundled-test-harness/assets/color-field-test-CR6gGEqE.js +212 -0
  122. package/bundled-test-harness/assets/compaction-test-CjEsY0uG.js +150 -0
  123. package/bundled-test-harness/assets/computed-test-DtyZGgdc.js +1320 -0
  124. package/bundled-test-harness/assets/container-BYGZImLU.css +5101 -0
  125. package/bundled-test-harness/assets/container-CBZZ8uFw.js +10925 -0
  126. package/bundled-test-harness/assets/content-preview-components-test-BztI4fz-.js +462 -0
  127. package/bundled-test-harness/assets/copy-and-edit-test-Cqw7kcur.js +292 -0
  128. package/bundled-test-harness/assets/copy-card-test-D5m3eVEH.js +218 -0
  129. package/bundled-test-harness/assets/copy-file-to-realm-test-FPY-6Ddm.js +148 -0
  130. package/bundled-test-harness/assets/copy-source-test-9pJD-qey.js +56 -0
  131. package/bundled-test-harness/assets/create-file-test-DjMf88u_.js +1086 -0
  132. package/bundled-test-harness/assets/create-file-test-XbgOqg38.js +464 -0
  133. package/bundled-test-harness/assets/create-listing-modal-test-De7b4vu3.js +273 -0
  134. package/bundled-test-harness/assets/create-listing-pr-request-test-CBtIV0Z8.js +117 -0
  135. package/bundled-test-harness/assets/create-spec-test-4xR0gM7E.js +256 -0
  136. package/bundled-test-harness/assets/create-submission-workflow-test-DQpWrpGT.js +132 -0
  137. package/bundled-test-harness/assets/create-workspace-test-BQAudgpS.js +104 -0
  138. package/bundled-test-harness/assets/credential-fields-test-DXKBdbZD.js +200 -0
  139. package/bundled-test-harness/assets/csv-file-def-test-Cnp4y834.js +102 -0
  140. package/bundled-test-harness/assets/dashboard-CmuOhIYC.js +3628 -0
  141. package/bundled-test-harness/assets/dashboard-CzN49x74.css +2400 -0
  142. package/bundled-test-harness/assets/dashboard-add-workspace-test-T32hWB-g.js +50 -0
  143. package/bundled-test-harness/assets/dashboard-agents-test-BN5maCgQ.js +334 -0
  144. package/bundled-test-harness/assets/dashboard-archive-test-BzwUte_Z.js +128 -0
  145. package/bundled-test-harness/assets/dashboard-delete-test-D2Gcp81V.js +163 -0
  146. package/bundled-test-harness/assets/dashboard-duplicate-offer-test-BgKNIr35.js +71 -0
  147. package/bundled-test-harness/assets/dashboard-duplicate-test-D7JEWylc.js +222 -0
  148. package/bundled-test-harness/assets/dashboard-get-started-test-DOGPzGoA.js +374 -0
  149. package/bundled-test-harness/assets/dashboard-ir2bakJS.js +142 -0
  150. package/bundled-test-harness/assets/dashboard-pinned-cards-test-Bn_P9xJU.js +220 -0
  151. package/bundled-test-harness/assets/dashboard-publish-test-64sGQ0nG.js +70 -0
  152. package/bundled-test-harness/assets/dashboard-reindex-test-DJjYq1ct.js +115 -0
  153. package/bundled-test-harness/assets/dashboard-section-rail-test-ZkAhWu5V.js +169 -0
  154. package/bundled-test-harness/assets/dashboard-state-test-BbkpPB5L.js +162 -0
  155. package/bundled-test-harness/assets/dashboard-test-CBLdPrSt.js +545 -0
  156. package/bundled-test-harness/assets/dashboard-unreachable-notice-test-DFT3R1Zx.js +62 -0
  157. package/bundled-test-harness/assets/dashboard-workspace-test-DqBdCFo2.js +537 -0
  158. package/bundled-test-harness/assets/dashboard-workspaces-section-test-CH1HDfxR.js +410 -0
  159. package/bundled-test-harness/assets/data-file-def-preview-test-CNsZwQEJ.js +155 -0
  160. package/bundled-test-harness/assets/date-time-fields-test-CEFaZTnF.js +359 -0
  161. package/bundled-test-harness/assets/debug-message-test-Ck3BfFv3.js +117 -0
  162. package/bundled-test-harness/assets/declared-captures-test-C-0yPRU7.js +879 -0
  163. package/bundled-test-harness/assets/delete-workspace-test-CZOwGy78.js +102 -0
  164. package/bundled-test-harness/assets/diffing-test-BEKI905O.js +210 -0
  165. package/bundled-test-harness/assets/download-file-to-realm-test-C1kAGDll.js +119 -0
  166. package/bundled-test-harness/assets/editor-test-C9x5ZY6g.js +688 -0
  167. package/bundled-test-harness/assets/edits-D76-aanh.js +651 -0
  168. package/bundled-test-harness/assets/email-field-test-LGkrB_2B.js +75 -0
  169. package/bundled-test-harness/assets/enum-field-test-CPyV1J-m.js +935 -0
  170. package/bundled-test-harness/assets/error-display-test-bWuUtfIG.js +343 -0
  171. package/bundled-test-harness/assets/evaluate-module-test-CbS5h8t3.js +91 -0
  172. package/bundled-test-harness/assets/execute-atomic-operations-test-B4Kfco0k.js +113 -0
  173. package/bundled-test-harness/assets/externals-k-2ZBepK.js +4393 -0
  174. package/bundled-test-harness/assets/fallback-banner-live-delete-test-CuFiH1D8.js +207 -0
  175. package/bundled-test-harness/assets/fallback-banner-test-CqSRN7D8.js +225 -0
  176. package/bundled-test-harness/assets/fallback-banner-test-DQkrFE4-.js +53 -0
  177. package/bundled-test-harness/assets/fallback-models-test-BWekNxC0.js +161 -0
  178. package/bundled-test-harness/assets/fetch-card-json-test-DULUqUEu.js +61 -0
  179. package/bundled-test-harness/assets/field-configuration-test-BXZq28xa.js +551 -0
  180. package/bundled-test-harness/assets/field-markdown-domain-test-DdXCifs6.js +616 -0
  181. package/bundled-test-harness/assets/field-markdown-oversize-test-DouPPTHX.js +88 -0
  182. package/bundled-test-harness/assets/field-markdown-primitives-test-DSRGJeyl.js +365 -0
  183. package/bundled-test-harness/assets/field-markdown-specialized-test-DlTYLl_s.js +534 -0
  184. package/bundled-test-harness/assets/field-playground-test-NhS4VvoN.js +894 -0
  185. package/bundled-test-harness/assets/field-support-predicates-test-DWpyT1Qf.js +167 -0
  186. package/bundled-test-harness/assets/file-attachment-test-LwZf-BSY.js +796 -0
  187. package/bundled-test-harness/assets/file-chooser-panel-test-DuAqD9bn.js +153 -0
  188. package/bundled-test-harness/assets/file-chooser-test-CjaXXwpT.js +504 -0
  189. package/bundled-test-harness/assets/file-def-format-templates-test-BDs4OmHq.js +380 -0
  190. package/bundled-test-harness/assets/file-def-live-reload-test-BqTdnq-W.js +124 -0
  191. package/bundled-test-harness/assets/file-def-menu-items-test-DqdINXsD.js +138 -0
  192. package/bundled-test-harness/assets/file-def-navigation-test-BPGr0SQy.js +109 -0
  193. package/bundled-test-harness/assets/file-def-serialization-test-CvjW-FlC.js +89 -0
  194. package/bundled-test-harness/assets/file-def-test-C-Yv_NjS.js +216 -0
  195. package/bundled-test-harness/assets/file-preview-live-reload-test-MzwGwasU.js +310 -0
  196. package/bundled-test-harness/assets/file-resource-primitives-test-D3GmfqNs.js +255 -0
  197. package/bundled-test-harness/assets/file-tree-from-index-test-CfldnUgm.js +96 -0
  198. package/bundled-test-harness/assets/file-tree-test--0ZCPRe9.js +851 -0
  199. package/bundled-test-harness/assets/file-view-model-test-BDIAeBV8.js +346 -0
  200. package/bundled-test-harness/assets/filedef-export-shape-test-B2tgU404.js +61 -0
  201. package/bundled-test-harness/assets/film-Bf73ypzi.js +4074 -0
  202. package/bundled-test-harness/assets/film-C54lhaiU.js +2 -0
  203. package/bundled-test-harness/assets/film-DPcMEHYu.js +13 -0
  204. package/bundled-test-harness/assets/flac-audio-def-test-ByoXMoQ1.js +143 -0
  205. package/bundled-test-harness/assets/font-metadata-extractor-test-hawLTDTG.js +415 -0
  206. package/bundled-test-harness/assets/formatted-aibot-message-test-BahBj3x8.js +109 -0
  207. package/bundled-test-harness/assets/formatted-user-message-test-CodbrU3t.js +43 -0
  208. package/bundled-test-harness/assets/freestyle-test-faQhSciz.js +17 -0
  209. package/bundled-test-harness/assets/full-reindex-realm-test-CE5RJTIC.js +101 -0
  210. package/bundled-test-harness/assets/garbage-collection-test-v-3sev77.js +403 -0
  211. package/bundled-test-harness/assets/general-test-DKZPBtSb.js +923 -0
  212. package/bundled-test-harness/assets/generate-example-cards-one-shot-test-CucWyrkH.js +65 -0
  213. package/bundled-test-harness/assets/generic-file-def-preview-test-_EDRsebi.js +71 -0
  214. package/bundled-test-harness/assets/get-available-realm-identifiers-test-CV023yek.js +47 -0
  215. package/bundled-test-harness/assets/get-catalog-realm-identifiers-test--DOu3DyV.js +47 -0
  216. package/bundled-test-harness/assets/get-default-writable-realm-test-Bic8jl6R.js +54 -0
  217. package/bundled-test-harness/assets/get-published-realms-test-DrA5YcFN.js +71 -0
  218. package/bundled-test-harness/assets/get-realm-of-resource-identifier-test-jfU6SIWn.js +54 -0
  219. package/bundled-test-harness/assets/get-relationship-membership-state-test-Ccy2Z7MN.js +1308 -0
  220. package/bundled-test-harness/assets/get-user-system-card-test-Bmq2lmWv.js +67 -0
  221. package/bundled-test-harness/assets/gif-image-def-test-N1mMQC-X.js +188 -0
  222. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-BkUDjiTs.js +160 -0
  223. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-DsFWCzTs.js +74 -0
  224. package/bundled-test-harness/assets/gts-file-def-test-BL1jpQ9J.js +100 -0
  225. package/bundled-test-harness/assets/head-format-preview-test-BVCaPQqc.js +158 -0
  226. package/bundled-test-harness/assets/helpers-Ds68JxHe.js +5 -0
  227. package/bundled-test-harness/assets/host-mode-service-B4bisRdR.js +262 -0
  228. package/bundled-test-harness/assets/host-mode-test-BmkN2PCJ.js +831 -0
  229. package/bundled-test-harness/assets/host-submode-test-C6SxQ796.js +1392 -0
  230. package/bundled-test-harness/assets/html-component-test-CNQ9wF0Q.js +65 -0
  231. package/bundled-test-harness/assets/html-def-test-BcaCVVQq.js +160 -0
  232. package/bundled-test-harness/assets/html-meta-extractor-test-BU1hjkTp.js +60 -0
  233. package/bundled-test-harness/assets/hydratable-card-test-CX6MWiti.js +426 -0
  234. package/bundled-test-harness/assets/icon-button-C1zH38Nc.js +67 -0
  235. package/bundled-test-harness/assets/image-metadata-extractor-test-CakSBPZ_.js +1109 -0
  236. package/bundled-test-harness/assets/index-changes-test-D8RtgfyG.js +367 -0
  237. package/bundled-test-harness/assets/index-query-engine-test-BETfoYOK.js +2593 -0
  238. package/bundled-test-harness/assets/index-writer-test-B_bR2fjw.js +3040 -0
  239. package/bundled-test-harness/assets/inspector-test-BwPXJj1S.js +2058 -0
  240. package/bundled-test-harness/assets/instance-filter-matcher-test-BSVCg59b.js +788 -0
  241. package/bundled-test-harness/assets/instantiate-card-test-BVQhZjpq.js +164 -0
  242. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DzQLG41H.js +475 -0
  243. package/bundled-test-harness/assets/interact-submode-setup-C5bKXq73.js +566 -0
  244. package/bundled-test-harness/assets/invalidate-realm-identifiers-test-Cd3dpjhB.js +99 -0
  245. package/bundled-test-harness/assets/invite-user-to-room-test-Brabz1tt.js +142 -0
  246. package/bundled-test-harness/assets/invoke-card-operation-test-C1Q1FUf4.js +333 -0
  247. package/bundled-test-harness/assets/isolated-render-test-BLJfS7BU.js +51 -0
  248. package/bundled-test-harness/assets/job-scoped-doc-cache-test-Bgv5woaB.js +181 -0
  249. package/bundled-test-harness/assets/job-scoped-instance-residency-test-C_bB6KpR.js +103 -0
  250. package/bundled-test-harness/assets/jpg-image-def-test-gdLIKocD.js +697 -0
  251. package/bundled-test-harness/assets/json-file-def-test-CPYMRBY-.js +95 -0
  252. package/bundled-test-harness/assets/key-notices-badge-test-DemslfLw.js +155 -0
  253. package/bundled-test-harness/assets/key-readiness-test-5tq5JycL.js +190 -0
  254. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-BbhDZ2PH.js +398 -0
  255. package/bundled-test-harness/assets/linksto-error-sentinel-test-C2t7fFPi.js +238 -0
  256. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test--U_UvUty.js +354 -0
  257. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-Dj3Xy0ZF.js +303 -0
  258. package/bundled-test-harness/assets/linksto-sentinel-reload-test-D0dK4Jjs.js +197 -0
  259. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test---IYiXok.js +260 -0
  260. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-CT04MhES.js +196 -0
  261. package/bundled-test-harness/assets/lint-and-fix-test-aadgx7rX.js +51 -0
  262. package/bundled-test-harness/assets/live-test-BGij_vuc.js +100 -0
  263. package/bundled-test-harness/assets/live-test-CppvValf.js +2 -0
  264. package/bundled-test-harness/assets/load-default-skills-test-Cp2m_ebp.js +74 -0
  265. package/bundled-test-harness/assets/loader-parallel-prefetch-test-vU_26Jqu.js +257 -0
  266. package/bundled-test-harness/assets/loader-test-CTaw8K_B.js +482 -0
  267. package/bundled-test-harness/assets/loading-test-DGGt4qZZ.js +63 -0
  268. package/bundled-test-harness/assets/m4a-audio-def-test-DAiReOXH.js +190 -0
  269. package/bundled-test-harness/assets/main-bXHwJ0CN.js +5 -0
  270. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-CIXq9FqR.js +470 -0
  271. package/bundled-test-harness/assets/markdown-embed-chooser-test-zFGh9WfP.js +334 -0
  272. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-Byn_WFwY.js +447 -0
  273. package/bundled-test-harness/assets/markdown-embed-preview-test-Y3iFMttg.js +368 -0
  274. package/bundled-test-harness/assets/markdown-fallback-test-Br1TPkLZ.js +316 -0
  275. package/bundled-test-harness/assets/markdown-file-def-test-Crm2MAnq.js +380 -0
  276. package/bundled-test-harness/assets/markdown-helpers-test-CZ9Vvywc.js +188 -0
  277. package/bundled-test-harness/assets/markdown-highlighting-test-CFMkoVDl.js +244 -0
  278. package/bundled-test-harness/assets/markdown-preview-lOh-MyqF.js +72 -0
  279. package/bundled-test-harness/assets/markdown-preview-test-B8w0fFIy.js +238 -0
  280. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-aH6HQly1.js +146 -0
  281. package/bundled-test-harness/assets/markdown-skill-search-test-CiNLQs-5.js +80 -0
  282. package/bundled-test-harness/assets/matrix-service-account-switch-sessions-test-DaA8w1Jj.js +63 -0
  283. package/bundled-test-harness/assets/matrix-service-boot-assembly-test-21GIlf55.js +300 -0
  284. package/bundled-test-harness/assets/matrix-service-personal-realm-test-jn9DUENm.js +125 -0
  285. package/bundled-test-harness/assets/matrix-service-realm-servers-test-eNZVJakl.js +55 -0
  286. package/bundled-test-harness/assets/matrix-service-realms-list-updated-test-Cabm8_dY.js +132 -0
  287. package/bundled-test-harness/assets/matrix-service-relogin-test-C77EFgjc.js +59 -0
  288. package/bundled-test-harness/assets/matrix-service-sliding-sync-test-BgM0fPiO.js +35 -0
  289. package/bundled-test-harness/assets/menu-Cl50TSFe.js +3561 -0
  290. package/bundled-test-harness/assets/message-service-subscription-test-CfEqH2jP.js +110 -0
  291. package/bundled-test-harness/assets/message-service-test-DsTzH1In.js +144 -0
  292. package/bundled-test-harness/assets/message-tool-test-C5xVfTtj.js +33 -0
  293. package/bundled-test-harness/assets/midi-audio-def-test-goLRCNCZ.js +182 -0
  294. package/bundled-test-harness/assets/migrate-skill-test-yPCbVfxG.js +161 -0
  295. package/bundled-test-harness/assets/mini-YXjrY_tH.js +1404 -0
  296. package/bundled-test-harness/assets/mini-card-chooser-test-DrllikHB.js +272 -0
  297. package/bundled-test-harness/assets/mini-file-chooser-test-BfqayhmI.js +201 -0
  298. package/bundled-test-harness/assets/mock-matrix-C7BrPS6S.js +2 -0
  299. package/bundled-test-harness/assets/mock-matrix-FjsXmU7-.js +15107 -0
  300. package/bundled-test-harness/assets/modal-BgaZavcs.js +322 -0
  301. package/bundled-test-harness/assets/model-cost-tier-test-BGg-sJML.js +174 -0
  302. package/bundled-test-harness/assets/model-file-extract-test-CjEBupY5.js +206 -0
  303. package/bundled-test-harness/assets/module-transpile-cache-test-XW6DDsmz.js +67 -0
  304. package/bundled-test-harness/assets/monaco-test-DkoRuFiQ.js +100 -0
  305. package/bundled-test-harness/assets/mp3-audio-def-test-v369NNsQ.js +133 -0
  306. package/bundled-test-harness/assets/multiple-stacks-test-CJpYPWdM.js +208 -0
  307. package/bundled-test-harness/assets/nested-query-field-render-test-CfDrBcUN.js +249 -0
  308. package/bundled-test-harness/assets/no-stacks-test-MmsJeLpz.js +48 -0
  309. package/bundled-test-harness/assets/number-field-test-A7B2r0M5.js +184 -0
  310. package/bundled-test-harness/assets/office-file-def-test-BNRvFmCB.js +263 -0
  311. package/bundled-test-harness/assets/office-metadata-extractor-test-zlDoEIEp.js +218 -0
  312. package/bundled-test-harness/assets/office-poster-capture-test-DdFEaOxR.js +203 -0
  313. package/bundled-test-harness/assets/ogg-audio-def-test-kk91BzQY.js +196 -0
  314. package/bundled-test-harness/assets/open-create-listing-modal-test-D1Dl1pov.js +131 -0
  315. package/bundled-test-harness/assets/open-image-in-new-tab-test-DyCmdMyO.js +52 -0
  316. package/bundled-test-harness/assets/open-secure-window-test-dz1vPudF.js +253 -0
  317. package/bundled-test-harness/assets/open-workspace-test-BvTcskzP.js +46 -0
  318. package/bundled-test-harness/assets/operation-lowering-test-omU66bkJ.js +2957 -0
  319. package/bundled-test-harness/assets/operations-invocation-test-BMj42rQe.js +523 -0
  320. package/bundled-test-harness/assets/operations-optimistic-test-KJLyzT8v.js +203 -0
  321. package/bundled-test-harness/assets/operations-query-test-J3HcnaoK.js +459 -0
  322. package/bundled-test-harness/assets/operations-store-reconciliation-test-CkbGBMBQ.js +406 -0
  323. package/bundled-test-harness/assets/operations-test-C7zXXpRW.js +2518 -0
  324. package/bundled-test-harness/assets/operator-mode-acceptance-test-BPolI_RD.js +1195 -0
  325. package/bundled-test-harness/assets/operator-mode-card-chooser-test-DjTQgizt.js +1036 -0
  326. package/bundled-test-harness/assets/operator-mode-links-test-DSEqy5Db.js +797 -0
  327. package/bundled-test-harness/assets/operator-mode-test-CB7BNDNE.js +696 -0
  328. package/bundled-test-harness/assets/operator-mode-ui-test-C1OhF1il.js +1045 -0
  329. package/bundled-test-harness/assets/overlay-D2rQi8lJ.js +427 -0
  330. package/bundled-test-harness/assets/overlay-menu-items-test-CPN31yBJ.js +331 -0
  331. package/bundled-test-harness/assets/overlays-B-qMEPhY.js +2 -0
  332. package/bundled-test-harness/assets/overlays-DSf2je0c.js +75 -0
  333. package/bundled-test-harness/assets/overlays-detached-element-test-C73nMXes.js +56 -0
  334. package/bundled-test-harness/assets/panel-DjrC7DxA.js +15124 -0
  335. package/bundled-test-harness/assets/past-sessions-test-BSIS2Hlq.js +321 -0
  336. package/bundled-test-harness/assets/patch-fields-test-Bp2IE0Jw.js +1014 -0
  337. package/bundled-test-harness/assets/patch-instance-test-DssuRGKP.js +348 -0
  338. package/bundled-test-harness/assets/pdf-file-def-test-Barj9ffD.js +111 -0
  339. package/bundled-test-harness/assets/pdf-metadata-extractor-test-B7KnXcIm.js +130 -0
  340. package/bundled-test-harness/assets/permission-checking-realm-test-BD4O0nen.js +306 -0
  341. package/bundled-test-harness/assets/persist-module-inspector-view-test-BIdbkdPr.js +60 -0
  342. package/bundled-test-harness/assets/persist-scroll-position-test-Bhb7wJiy.js +254 -0
  343. package/bundled-test-harness/assets/phone-number-field-test-C2yuCrXY.js +73 -0
  344. package/bundled-test-harness/assets/pill-menu-test-BIp91YXi.js +60 -0
  345. package/bundled-test-harness/assets/plate-CJq1veVA.js +41 -0
  346. package/bundled-test-harness/assets/plate-CwAvOUfL.js +2 -0
  347. package/bundled-test-harness/assets/player-Digk7omr.js +2 -0
  348. package/bundled-test-harness/assets/player-vsjosoN_.js +82 -0
  349. package/bundled-test-harness/assets/playground-B02e8uqB.js +58 -0
  350. package/bundled-test-harness/assets/plural-field-components-test-C1acuN-A.js +198 -0
  351. package/bundled-test-harness/assets/png-image-def-test-B9QeVo1f.js +266 -0
  352. package/bundled-test-harness/assets/policy-audit-confirmation-test-CeVquvc_.js +155 -0
  353. package/bundled-test-harness/assets/policy-scoped-search-test-SFPiIqR3.js +339 -0
  354. package/bundled-test-harness/assets/prerender-file-extract-test-HSJKAHyO.js +346 -0
  355. package/bundled-test-harness/assets/prerender-html-test-BTAcFCme.js +670 -0
  356. package/bundled-test-harness/assets/prerender-meta-test-Csyz2b21.js +614 -0
  357. package/bundled-test-harness/assets/prerender-module-test-DpTYAbmI.js +409 -0
  358. package/bundled-test-harness/assets/prerender-persistence-block-test-BhIt-7kK.js +124 -0
  359. package/bundled-test-harness/assets/prerender-pre-model-error-test-DxKPQKqx.js +61 -0
  360. package/bundled-test-harness/assets/prerender-serialize-cycle-test-C8V5YWQO.js +134 -0
  361. package/bundled-test-harness/assets/prerendered-html-read-test-Cq7JVGwg.js +191 -0
  362. package/bundled-test-harness/assets/pretui-components-test-Ducr9fLT.css +743 -0
  363. package/bundled-test-harness/assets/pretui-components-test-Hs0uyIUQ.js +992 -0
  364. package/bundled-test-harness/assets/pretui-primitives-CRs8NRm0.js +69 -0
  365. package/bundled-test-harness/assets/preview-format-test-cCqLrfdY.js +103 -0
  366. package/bundled-test-harness/assets/preview-test-BMqJSoR1.js +474 -0
  367. package/bundled-test-harness/assets/process-card-test-578tfDvr.js +94 -0
  368. package/bundled-test-harness/assets/profile-settings-modal-CVnNl7Yu.js +990 -0
  369. package/bundled-test-harness/assets/publish-realm-COoeWexp.js +82 -0
  370. package/bundled-test-harness/assets/publish-realm-test-a5nkx0Ov.js +210 -0
  371. package/bundled-test-harness/assets/query-field-barrier-test-qX3xVPfk.js +113 -0
  372. package/bundled-test-harness/assets/query-field-error-sentinel-test-V6JDPFLX.js +201 -0
  373. package/bundled-test-harness/assets/query-field-membership-status-test-CK7eDf-K.js +323 -0
  374. package/bundled-test-harness/assets/query-field-page-optin-test-B5YBHUvU.js +126 -0
  375. package/bundled-test-harness/assets/query-field-schema-test-D4SjOGlK.js +231 -0
  376. package/bundled-test-harness/assets/query-field-search-throttle-test-BVkm1-D8.js +154 -0
  377. package/bundled-test-harness/assets/query-field-stale-prerender-test-9g7hcD91.js +152 -0
  378. package/bundled-test-harness/assets/query-fields-test-CQYqhzpN.js +535 -0
  379. package/bundled-test-harness/assets/quick-look-test-CE0o6lJ4.js +139 -0
  380. package/bundled-test-harness/assets/read-card-for-ai-assistant-test-D0mJorwH.js +91 -0
  381. package/bundled-test-harness/assets/read-file-for-ai-assistant-test-B_F_2GEB.js +45 -0
  382. package/bundled-test-harness/assets/read-source-test-BgJV4B4F.js +67 -0
  383. package/bundled-test-harness/assets/read-text-file-test-DaeLzg4u.js +124 -0
  384. package/bundled-test-harness/assets/realm-C_a9su1j.js +2858 -0
  385. package/bundled-test-harness/assets/realm-api-keys-D5USFOoS.js +2 -0
  386. package/bundled-test-harness/assets/realm-api-keys-m_VOcixC.js +578 -0
  387. package/bundled-test-harness/assets/realm-api-keys-test-BVs7f5Dz.js +109 -0
  388. package/bundled-test-harness/assets/realm-api-keys-test-C_uZnTmq.js +588 -0
  389. package/bundled-test-harness/assets/realm-config-m5eccPW8.js +833 -0
  390. package/bundled-test-harness/assets/realm-config-policy-standing-test-Ber-IXpc.js +290 -0
  391. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-3Xqt5VlM.js +274 -0
  392. package/bundled-test-harness/assets/realm-config-settings-test-CkalhbDF.js +187 -0
  393. package/bundled-test-harness/assets/realm-field-test-B_PUoqnk.js +100 -0
  394. package/bundled-test-harness/assets/realm-indexing-test-8iLjeV_e.js +4380 -0
  395. package/bundled-test-harness/assets/realm-policy-fitted-test-Bptvra0U.js +206 -0
  396. package/bundled-test-harness/assets/realm-policy-test-DwG0qqXE.js +1141 -0
  397. package/bundled-test-harness/assets/realm-querying-test-Dvw26A6Q.js +1067 -0
  398. package/bundled-test-harness/assets/realm-server-form-agnostic-test-DrXQH0UP.js +96 -0
  399. package/bundled-test-harness/assets/realm-server-subscriber-test-Dkj23vQK.js +46 -0
  400. package/bundled-test-harness/assets/realm-service-info-test-CdRlDhj-.js +67 -0
  401. package/bundled-test-harness/assets/realm-test-DGYN48Qx.js +2364 -0
  402. package/bundled-test-harness/assets/realm-token-refresh-test-CEWATL9h.js +153 -0
  403. package/bundled-test-harness/assets/realm-url-tooltip-test-8ZjTNPuy.js +78 -0
  404. package/bundled-test-harness/assets/reasoning-test-BV49AYg2.js +221 -0
  405. package/bundled-test-harness/assets/recent-files-test-Dc6L6Dm4.js +450 -0
  406. package/bundled-test-harness/assets/reindex-realm-test-CFRSt39u.js +117 -0
  407. package/bundled-test-harness/assets/relationship-loading-state-test-FKbtOFUr.js +290 -0
  408. package/bundled-test-harness/assets/remix-card-test-CKGC_Sgq.js +58 -0
  409. package/bundled-test-harness/assets/rendered-markdown-DXiDN91F.js +292 -0
  410. package/bundled-test-harness/assets/rendered-markdown-test-n3MlXmmu.js +587 -0
  411. package/bundled-test-harness/assets/resident-instance-reuse-test-BjdhE6CM.js +82 -0
  412. package/bundled-test-harness/assets/result-tile-o6dtjgX4.js +144 -0
  413. package/bundled-test-harness/assets/rich-markdown-field-test-VXr6l20h.js +1647 -0
  414. package/bundled-test-harness/assets/room-message-test-BrjJ2wMs.js +484 -0
  415. package/bundled-test-harness/assets/run-P_7TsreC.js +4017 -0
  416. package/bundled-test-harness/assets/run-realm-code-DsBUf1si.js +2964 -0
  417. package/bundled-test-harness/assets/run-realm-code-test-cS0DzaKo.js +3844 -0
  418. package/bundled-test-harness/assets/sanitize-module-list-test-CvuOOiUY.js +85 -0
  419. package/bundled-test-harness/assets/save-card-skip-index-wait-test-fpJ1eq32.js +89 -0
  420. package/bundled-test-harness/assets/schema-editor-test-NkKjCgyf.js +785 -0
  421. package/bundled-test-harness/assets/schema-generation-test-Dmg3lWl7.js +28 -0
  422. package/bundled-test-harness/assets/scrolling-test-B0GNYGYc.js +412 -0
  423. package/bundled-test-harness/assets/search-adorn-test-CZebk7_y.js +136 -0
  424. package/bundled-test-harness/assets/search-and-choose-test-Bd4NZUup.js +154 -0
  425. package/bundled-test-harness/assets/search-correlation-id-test-DXKlEO55.js +139 -0
  426. package/bundled-test-harness/assets/search-entries-result-test-QQawA8Fm.js +234 -0
  427. package/bundled-test-harness/assets/search-entries-test-3DlqGPQq.js +1486 -0
  428. package/bundled-test-harness/assets/search-entries-tool-test-D1TvDE9D.js +504 -0
  429. package/bundled-test-harness/assets/search-google-images-test-DqsoQGr1.js +166 -0
  430. package/bundled-test-harness/assets/search-results-DGrNaPxh.js +266 -0
  431. package/bundled-test-harness/assets/search-results-test-CqVHYNRt.js +578 -0
  432. package/bundled-test-harness/assets/search-selection-menu-test-D6bIjKiH.js +108 -0
  433. package/bundled-test-harness/assets/search-sheet-files-test-Bf37TQXo.js +126 -0
  434. package/bundled-test-harness/assets/search-sheet-persistence-test-CV4_XdxR.js +131 -0
  435. package/bundled-test-harness/assets/search-test-Dlb-wg3a.js +2249 -0
  436. package/bundled-test-harness/assets/search-tool-test-BJLgVMoL.js +156 -0
  437. package/bundled-test-harness/assets/searchable-option-test-CcbfMqIL.js +322 -0
  438. package/bundled-test-harness/assets/searchable-search-doc-test-yH9fLGNS.js +1271 -0
  439. package/bundled-test-harness/assets/section-rail-CNFCebtT.js +113 -0
  440. package/bundled-test-harness/assets/section-rail-test-KNJAWWl6.js +256 -0
  441. package/bundled-test-harness/assets/secure-sign-in-Dyljp0Th.js +174 -0
  442. package/bundled-test-harness/assets/secure-sign-in-test-QnqNuTP3.js +373 -0
  443. package/bundled-test-harness/assets/segmented-control-DxJdoJ4Z.js +173 -0
  444. package/bundled-test-harness/assets/select-BiQTg2ts.js +175 -0
  445. package/bundled-test-harness/assets/send-ai-assistant-message-test-CAn7M2dZ.js +52 -0
  446. package/bundled-test-harness/assets/send-bot-trigger-event-test-qBu5E_jy.js +56 -0
  447. package/bundled-test-harness/assets/send-request-via-proxy-test-CLuwLBq_.js +380 -0
  448. package/bundled-test-harness/assets/sending-test-H0AaBSgi.js +659 -0
  449. package/bundled-test-harness/assets/serialization-rri-form-audit-test-hMJukiKt.js +136 -0
  450. package/bundled-test-harness/assets/serialization-test-W5e3wKbz.js +8758 -0
  451. package/bundled-test-harness/assets/set-user-system-card-test-CjgWLkNV.js +59 -0
  452. package/bundled-test-harness/assets/setup-CssMNvui.js +772 -0
  453. package/bundled-test-harness/assets/setup-D8YXvK-p.js +2 -0
  454. package/bundled-test-harness/assets/shared-link-target-reuse-test-D42UO8DC.js +207 -0
  455. package/bundled-test-harness/assets/show-card-test-CHEaS514.js +365 -0
  456. package/bundled-test-harness/assets/signed-capture-link-test-BgEu0F-S.js +132 -0
  457. package/bundled-test-harness/assets/single-stack-test-DYcu_v7Z.js +652 -0
  458. package/bundled-test-harness/assets/skills-test-ChmKhADX.js +648 -0
  459. package/bundled-test-harness/assets/skip-boot-index-guard-test-BzRIncDN.js +46 -0
  460. package/bundled-test-harness/assets/spec-test-BYvFR6Xb.js +1077 -0
  461. package/bundled-test-harness/assets/spinner-Bx9x55NA.js +49 -0
  462. package/bundled-test-harness/assets/src-C1hYFgVl.js +216 -0
  463. package/bundled-test-harness/assets/src-CIlLx7Lu.js +5 -0
  464. package/bundled-test-harness/assets/stick-to-bottom-resize-test-DMHsAG0v.js +56 -0
  465. package/bundled-test-harness/assets/store-add-test-D_9IHQjZ.js +50 -0
  466. package/bundled-test-harness/assets/store-module-rebuild-test-BRGZoLRV.js +454 -0
  467. package/bundled-test-harness/assets/store-search-test-3G8JHuj2.js +175 -0
  468. package/bundled-test-harness/assets/store-test-BiKKDqqW.js +3672 -0
  469. package/bundled-test-harness/assets/structured-theme-test-11TNsgUW.js +377 -0
  470. package/bundled-test-harness/assets/summarize-session-test-CwzD_ZbD.js +172 -0
  471. package/bundled-test-harness/assets/svg-image-def-test-zV6aMK9q.js +167 -0
  472. package/bundled-test-harness/assets/switch-submode-test-DQU2cP5_.js +168 -0
  473. package/bundled-test-harness/assets/sync-openrouter-models-test-xrXVaC2H.js +97 -0
  474. package/bundled-test-harness/assets/test-support-BGl3rthw.js +3 -0
  475. package/bundled-test-harness/assets/test-support-BcBv__98.js +99 -0
  476. package/bundled-test-harness/assets/tests-CmM9imwB.js +3598 -0
  477. package/bundled-test-harness/assets/text-file-def-test-Cyq78UFY.js +94 -0
  478. package/bundled-test-harness/assets/text-input-validator-test-DBj7TaM_.js +156 -0
  479. package/bundled-test-harness/assets/text-suggestion-test-C4XAqWqY.js +340 -0
  480. package/bundled-test-harness/assets/theme-card-test-dVNz4tgU.js +621 -0
  481. package/bundled-test-harness/assets/theme-dashboard-nav-test-DYSn5pqo.js +196 -0
  482. package/bundled-test-harness/assets/theme-scheme-island-test-C1WpkfEP.js +264 -0
  483. package/bundled-test-harness/assets/theme-scoped-css-parity-test-BVluppsE.js +176 -0
  484. package/bundled-test-harness/assets/titles-DCvAhECF.js +52 -0
  485. package/bundled-test-harness/assets/titles-ZPeArtS1.js +2 -0
  486. package/bundled-test-harness/assets/to-device-streaming-test-BJ4J1cXe.js +163 -0
  487. package/bundled-test-harness/assets/token-usage-test-WUf4r4fQ.js +160 -0
  488. package/bundled-test-harness/assets/tools-J_Knr_W6.js +774 -0
  489. package/bundled-test-harness/assets/tools-calling-test-CfqZX0Ed.js +200 -0
  490. package/bundled-test-harness/assets/tools-test-B4x58ZmI.js +1624 -0
  491. package/bundled-test-harness/assets/tools-test-Cvau5219.js +3204 -0
  492. package/bundled-test-harness/assets/tooltip-B0rEgyMW.css +66 -0
  493. package/bundled-test-harness/assets/tooltip-DvUMUgVX.js +195 -0
  494. package/bundled-test-harness/assets/transform-cards-test-CYQbZeD9.js +341 -0
  495. package/bundled-test-harness/assets/ts-file-def-preview-test-m39f8Zio.js +95 -0
  496. package/bundled-test-harness/assets/ts-file-def-test-xIcL5xWe.js +92 -0
  497. package/bundled-test-harness/assets/ttf-font-def-test-ClQ2SzFF.js +206 -0
  498. package/bundled-test-harness/assets/turn-settling-test-DZoL2mRT.js +160 -0
  499. package/bundled-test-harness/assets/turn-summary-Bmt7ZxTS.js +1039 -0
  500. package/bundled-test-harness/assets/unpublish-realm-test-0ToTJczx.js +102 -0
  501. package/bundled-test-harness/assets/update-room-skills-test-o_j8NOUV.js +240 -0
  502. package/bundled-test-harness/assets/use-ai-assistant-test-D7HFpxKJ.js +384 -0
  503. package/bundled-test-harness/assets/user-message-BAOt1hS3.js +262 -0
  504. package/bundled-test-harness/assets/validate-realm-test-e3xIbNLB.js +67 -0
  505. package/bundled-test-harness/assets/video-metadata-extractor-test-D8naLSlg.js +520 -0
  506. package/bundled-test-harness/assets/view-visually-test-BuhGau5E.js +335 -0
  507. package/bundled-test-harness/assets/virtual-network-reset-test-CgaFNGPi.js +96 -0
  508. package/bundled-test-harness/assets/wav-audio-def-test-CWG_UdCh.js +160 -0
  509. package/bundled-test-harness/assets/webp-image-def-test-sN4yw8Zu.js +226 -0
  510. package/bundled-test-harness/assets/workspace-0LfPqbYB.js +445 -0
  511. package/bundled-test-harness/assets/workspace-a11y-test-DQxYDRAP.js +197 -0
  512. package/bundled-test-harness/assets/workspace-actions-jGJSfl8M.js +588 -0
  513. package/bundled-test-harness/assets/workspace-behavior-test-BnF-bmBN.js +338 -0
  514. package/bundled-test-harness/assets/workspace-delete-multiple-test-D-rxPDuT.js +212 -0
  515. package/bundled-test-harness/assets/workspace-delete-summary-test-C2-Mve5R.js +63 -0
  516. package/bundled-test-harness/assets/workspace-hosting-test-BvDKdlOb.js +138 -0
  517. package/bundled-test-harness/assets/workspace-indexing-test-B34T3kqD.js +71 -0
  518. package/bundled-test-harness/assets/workspace-test-CJivgv-m.js +51 -0
  519. package/bundled-test-harness/assets/workspace-test-CuSRpPnQ.js +385 -0
  520. package/bundled-test-harness/assets/workspace-timestamp-labels-test-aWgjdbCp.js +68 -0
  521. package/bundled-test-harness/assets/workspace-unit-test-DHMUf2KT.js +122 -0
  522. package/bundled-test-harness/assets/write-binary-file-test-P-hVQuin.js +124 -0
  523. package/bundled-test-harness/assets/write-text-file-test-fXvJueDd.js +191 -0
  524. package/bundled-test-harness/assets/zip-archive-test-C2P5CUSR.js +285 -0
  525. package/bundled-test-harness/assets/zip-file-def-test-BfJZAmGt.js +164 -0
  526. package/bundled-test-harness/boxel-ui-checksum.txt +1 -1
  527. package/bundled-test-harness/index.html +48 -48
  528. package/bundled-test-harness/tests/index.html +50 -50
  529. package/bundled-types/boxel-ui/helpers/theme-scoped-css.ts +4 -0
  530. package/bundled-types/choreo/choreo.gts +58 -2
  531. package/bundled-types/choreo/compile.ts +5 -0
  532. package/bundled-types/choreo/layout-probe.ts +100 -0
  533. package/bundled-types/choreo/run.ts +99 -4
  534. package/bundled-types/host-app/components/operator-mode/dashboard/get-started.gts +152 -7
  535. package/bundled-types/host-app/components/operator-mode/dashboard/index.gts +2 -0
  536. package/bundled-types/host-app/components/operator-mode/dashboard/workspace.gts +5 -3
  537. package/bundled-types/host-app/components/operator-mode/dashboard-modals/workspace-modals.gts +5 -22
  538. package/bundled-types/host-app/components/operator-mode/host-submode/publishing-realm-popover.gts +1 -1
  539. package/bundled-types/host-app/components/operator-mode/host-submode.gts +111 -37
  540. package/bundled-types/host-app/components/operator-mode/motion/stack-motion.gts +92 -33
  541. package/bundled-types/host-app/components/operator-mode/publish-realm-modal.gts +1 -0
  542. package/bundled-types/host-app/components/operator-mode/stack-item.gts +2 -2
  543. package/bundled-types/host-app/components/operator-mode/stack.gts +36 -25
  544. package/bundled-types/host-app/components/operator-mode/submode-layout.gts +2 -2
  545. package/bundled-types/host-app/lib/modal-focus-trap.ts +33 -0
  546. package/bundled-types/host-app/lib/workspace-actions.ts +21 -0
  547. package/bundled-types/host-app/services/host-mode-service.ts +39 -0
  548. package/bundled-types/host-app/services/realm.ts +14 -0
  549. package/bundled-types/host-tests/helpers/dashboard.ts +67 -0
  550. package/package.json +1 -1
  551. package/bundled-test-harness/assets/account-switch-failed-test-FytUFiPO.js +0 -45
  552. package/bundled-test-harness/assets/adapter-DvmPwSZv.js +0 -2
  553. package/bundled-test-harness/assets/add-field-to-card-definition-tool-test-DN525jiY.js +0 -112
  554. package/bundled-test-harness/assets/ai-assistant-create-workspace-test-q3tKqVJQ.js +0 -130
  555. package/bundled-test-harness/assets/ai-assistant-panel-relogin-test-DgeXcCyi.js +0 -46
  556. package/bundled-test-harness/assets/ai-assistant-test-lDIGPKFP.js +0 -2223
  557. package/bundled-test-harness/assets/ai-function-generation-test-D5GbLyvL.js +0 -1176
  558. package/bundled-test-harness/assets/ai-module-creation-test-I3-j2beD.js +0 -151
  559. package/bundled-test-harness/assets/aibot-message-Dmsjifs6.js +0 -1312
  560. package/bundled-test-harness/assets/app-BS9_-DhN.js +0 -14146
  561. package/bundled-test-harness/assets/apply-markdown-edit-test-4zlwt0Db.js +0 -230
  562. package/bundled-test-harness/assets/ask-user-picker-Dr-0qpNr.js +0 -370
  563. package/bundled-test-harness/assets/ask-user-picker-test-633AFdmS.js +0 -39
  564. package/bundled-test-harness/assets/assistant-transcript-test-BgRnLvMg.js +0 -57
  565. package/bundled-test-harness/assets/audio-metadata-extractor-test-4xsQqL-0.js +0 -1176
  566. package/bundled-test-harness/assets/authed-fetch-test-663mT5_N.js +0 -73
  567. package/bundled-test-harness/assets/avif-image-def-test-h01BPIJy.js +0 -187
  568. package/bundled-test-harness/assets/basic-test-DiD6T-8Q.js +0 -139
  569. package/bundled-test-harness/assets/binary-upload-dedupe-test-CkjMPO_e.js +0 -308
  570. package/bundled-test-harness/assets/bot-registration-test-CFZHpwdj.js +0 -97
  571. package/bundled-test-harness/assets/box-test-C3pSy5ED.js +0 -50
  572. package/bundled-test-harness/assets/brand-guide-attachments-test-EoC_u7Vc.js +0 -84
  573. package/bundled-test-harness/assets/brand-guide-custom-css-test-Dn3fvblr.js +0 -196
  574. package/bundled-test-harness/assets/brand-guide-edit-test-NeiT3MyK.js +0 -140
  575. package/bundled-test-harness/assets/brand-logo-mark-field-test-C2A1EnBB.js +0 -86
  576. package/bundled-test-harness/assets/broken-link-template-test-CWn6V5zZ.js +0 -192
  577. package/bundled-test-harness/assets/bundled-base-modules-test-D7mLzpsw.js +0 -54
  578. package/bundled-test-harness/assets/bundled-base-oracle-test-I7xCId_k.js +0 -37
  579. package/bundled-test-harness/assets/buried-stack-item-scroll-test-DFBev0h-.js +0 -236
  580. package/bundled-test-harness/assets/button-BeSuhveJ.js +0 -207
  581. package/bundled-test-harness/assets/bxl-cyclic-graph-test-DPykwvvx.js +0 -47
  582. package/bundled-test-harness/assets/bxl-expression-test-LBWJiFb9.js +0 -250
  583. package/bundled-test-harness/assets/bxl-indexing-test-BuZmLk7y.js +0 -212
  584. package/bundled-test-harness/assets/bxl-platform-module-test-BNIvlkCM.js +0 -71
  585. package/bundled-test-harness/assets/can-invoke-test-t-bFIIeX.js +0 -455
  586. package/bundled-test-harness/assets/can-read-realm-test-2Q_MzRT9.js +0 -56
  587. package/bundled-test-harness/assets/cancel-indexing-job-test-QeYxEukn.js +0 -69
  588. package/bundled-test-harness/assets/capture-test-CJmJG8YR.js +0 -360
  589. package/bundled-test-harness/assets/card-api-test-B43I510H.js +0 -198
  590. package/bundled-test-harness/assets/card-basics-test-CBClzP2y.js +0 -5364
  591. package/bundled-test-harness/assets/card-chooser-paging-test-HEVzf6pR.js +0 -235
  592. package/bundled-test-harness/assets/card-chooser-test-GfjBRPFI.js +0 -393
  593. package/bundled-test-harness/assets/card-context-search-results-CoSr4EdS.js +0 -30
  594. package/bundled-test-harness/assets/card-context-search-results-test-BLMlZu9t.js +0 -184
  595. package/bundled-test-harness/assets/card-def-field-def-relationships-test-DEBOzKan.js +0 -562
  596. package/bundled-test-harness/assets/card-def-menu-items-test-88_h8o0D.js +0 -228
  597. package/bundled-test-harness/assets/card-delete-test-DKom1phy.js +0 -466
  598. package/bundled-test-harness/assets/card-error-awaiting-index-test-DEwgFZMP.js +0 -53
  599. package/bundled-test-harness/assets/card-error-r6_cXst9.js +0 -72
  600. package/bundled-test-harness/assets/card-info-thumbnail-picker-test-B7LiY15e.js +0 -219
  601. package/bundled-test-harness/assets/card-playground-test-CgyIJHui.js +0 -1491
  602. package/bundled-test-harness/assets/card-prerender-rPfzpIOU.js +0 -12939
  603. package/bundled-test-harness/assets/card-thunk-error-test-L0pvg4Ce.js +0 -48
  604. package/bundled-test-harness/assets/card-type-service-test-B2dhqxSD.js +0 -161
  605. package/bundled-test-harness/assets/check-correctness-test-DgqaLlCW.js +0 -1093
  606. package/bundled-test-harness/assets/check-domain-availability-test-B0hJHY5l.js +0 -98
  607. package/bundled-test-harness/assets/chip-D01NW3WH.js +0 -44
  608. package/bundled-test-harness/assets/choreo-D2Jl79RU.js +0 -1019
  609. package/bundled-test-harness/assets/choreo-_E8SOEe-.js +0 -2
  610. package/bundled-test-harness/assets/choreo-feature-reel-test-WLjsZDmS.js +0 -155
  611. package/bundled-test-harness/assets/choreo-gallery-build-order-test-6jnS8PsS.js +0 -436
  612. package/bundled-test-harness/assets/choreo-gallery-compositor-test-CbUZsVB6.js +0 -399
  613. package/bundled-test-harness/assets/choreo-gallery-cover-test-CbvAStgk.js +0 -214
  614. package/bundled-test-harness/assets/choreo-gallery-crossing-stage-test-tdjvUSa6.js +0 -133
  615. package/bundled-test-harness/assets/choreo-gallery-demos-alive-test-CsnM3hQK.js +0 -42
  616. package/bundled-test-harness/assets/choreo-gallery-drift-test-DG2LQTa7.js +0 -620
  617. package/bundled-test-harness/assets/choreo-gallery-escort-test-mn3-qXP1.js +0 -187
  618. package/bundled-test-harness/assets/choreo-gallery-films-test-BuktaC0D.js +0 -140
  619. package/bundled-test-harness/assets/choreo-gallery-filter-test-Dd-zpps0.js +0 -46
  620. package/bundled-test-harness/assets/choreo-gallery-fold-test-CWc1ijGc.js +0 -180
  621. package/bundled-test-harness/assets/choreo-gallery-guide-pages-test-tk2QmYPU.js +0 -114
  622. package/bundled-test-harness/assets/choreo-gallery-guides-test-DVbf1zM4.js +0 -321
  623. package/bundled-test-harness/assets/choreo-gallery-hang-test-B7EFp2dx.js +0 -426
  624. package/bundled-test-harness/assets/choreo-gallery-highlight-test-BFgbdesP.js +0 -60
  625. package/bundled-test-harness/assets/choreo-gallery-inline-edit-test-DJb8FC5R.js +0 -370
  626. package/bundled-test-harness/assets/choreo-gallery-interruption-test-DWyMXo5D.js +0 -176
  627. package/bundled-test-harness/assets/choreo-gallery-lone-stack-test-D3b8LsJ6.js +0 -104
  628. package/bundled-test-harness/assets/choreo-gallery-navigation-test-CjjU6Rvn.js +0 -193
  629. package/bundled-test-harness/assets/choreo-gallery-playhead-transport-test-Le_h3QWU.js +0 -111
  630. package/bundled-test-harness/assets/choreo-gallery-poplayout-subtree-test-Cp-DlWj4.js +0 -127
  631. package/bundled-test-harness/assets/choreo-gallery-presence-modes-test-DayS4GCJ.js +0 -100
  632. package/bundled-test-harness/assets/choreo-gallery-presentation-test-DeAfuFS7.js +0 -157
  633. package/bundled-test-harness/assets/choreo-gallery-reduced-motion-test-BgPWpggq.js +0 -145
  634. package/bundled-test-harness/assets/choreo-gallery-sheet-standalone-test-PzyoMNYv.js +0 -89
  635. package/bundled-test-harness/assets/choreo-gallery-sheet-test-CxaiNBkL.js +0 -48
  636. package/bundled-test-harness/assets/choreo-gallery-site-test-6xtSntS5.js +0 -237
  637. package/bundled-test-harness/assets/choreo-gallery-stage-E6Q5r-zU.js +0 -256
  638. package/bundled-test-harness/assets/choreo-gallery-stage-keyboard-test-C7aWMr9a.js +0 -102
  639. package/bundled-test-harness/assets/choreo-gallery-stages-test-CDWWgC61.js +0 -35
  640. package/bundled-test-harness/assets/choreo-gallery-subdivision-test-Bkp15XJv.js +0 -138
  641. package/bundled-test-harness/assets/choreo-gallery-table-plan-test-CcGRi_3O.js +0 -144
  642. package/bundled-test-harness/assets/choreo-gallery-theater-test-Qph5pLT_.js +0 -252
  643. package/bundled-test-harness/assets/choreo-gallery-tuning-test-C4DhFLVA.js +0 -95
  644. package/bundled-test-harness/assets/choreo-gallery-widget-room-test-LK493r1M.js +0 -88
  645. package/bundled-test-harness/assets/choreo-gallery-wires-test-B7SeUCc8.js +0 -148
  646. package/bundled-test-harness/assets/client-telemetry-test-DGmHzAFx.js +0 -340
  647. package/bundled-test-harness/assets/clip-BpYQPVz_.js +0 -2
  648. package/bundled-test-harness/assets/clip-CNaYbIwL.js +0 -92
  649. package/bundled-test-harness/assets/code-block-Cp2CJo5-.js +0 -502
  650. package/bundled-test-harness/assets/code-ref-test-C8JBHDb-.js +0 -163
  651. package/bundled-test-harness/assets/code-submode-availability-test-CzG1Tv6L.js +0 -198
  652. package/bundled-test-harness/assets/code-submode-test-BclVWjm5.js +0 -1839
  653. package/bundled-test-harness/assets/codeblocks-test-CmQlyxN7.js +0 -418
  654. package/bundled-test-harness/assets/codemirror-editor-test-B74H_yn8.js +0 -1512
  655. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-Bz6VEysU.js +0 -366
  656. package/bundled-test-harness/assets/color-field-test-DMCPQKIP.js +0 -212
  657. package/bundled-test-harness/assets/compaction-test-saQCLBrQ.js +0 -150
  658. package/bundled-test-harness/assets/computed-test-C05HliJC.js +0 -1320
  659. package/bundled-test-harness/assets/container-Cqcwrd-m.js +0 -10857
  660. package/bundled-test-harness/assets/container-h3Wc26qn.css +0 -5097
  661. package/bundled-test-harness/assets/content-preview-components-test-DZPj4_CU.js +0 -462
  662. package/bundled-test-harness/assets/copy-and-edit-test-DiXTQNTF.js +0 -292
  663. package/bundled-test-harness/assets/copy-card-test-ys7GquUY.js +0 -218
  664. package/bundled-test-harness/assets/copy-file-to-realm-test-Gn0Wn4vT.js +0 -148
  665. package/bundled-test-harness/assets/copy-source-test-BTLrOmPm.js +0 -56
  666. package/bundled-test-harness/assets/create-file-test-BCeIW-Rt.js +0 -464
  667. package/bundled-test-harness/assets/create-file-test-DbHQ5JsS.js +0 -1086
  668. package/bundled-test-harness/assets/create-listing-modal-test-CeHc4ter.js +0 -273
  669. package/bundled-test-harness/assets/create-listing-pr-request-test-DXbJNfMh.js +0 -117
  670. package/bundled-test-harness/assets/create-spec-test-BDIZoyHT.js +0 -256
  671. package/bundled-test-harness/assets/create-submission-workflow-test-Bix5J-3A.js +0 -132
  672. package/bundled-test-harness/assets/create-workspace-test-BmNnLHwC.js +0 -104
  673. package/bundled-test-harness/assets/credential-fields-test-NK1F4QWn.js +0 -200
  674. package/bundled-test-harness/assets/csv-file-def-test-BSfs4TTP.js +0 -102
  675. package/bundled-test-harness/assets/dashboard-C4T7ffKY.js +0 -3576
  676. package/bundled-test-harness/assets/dashboard-CFeHuP5-.js +0 -81
  677. package/bundled-test-harness/assets/dashboard-DQlpW-ux.css +0 -2392
  678. package/bundled-test-harness/assets/dashboard-add-workspace-test--rr6objf.js +0 -50
  679. package/bundled-test-harness/assets/dashboard-agents-test-D1y8H4xH.js +0 -334
  680. package/bundled-test-harness/assets/dashboard-archive-test-bN4EQaXv.js +0 -128
  681. package/bundled-test-harness/assets/dashboard-delete-test-BvsASb8B.js +0 -163
  682. package/bundled-test-harness/assets/dashboard-duplicate-offer-test-DEsd5ZzZ.js +0 -71
  683. package/bundled-test-harness/assets/dashboard-duplicate-test-BnR0sTgB.js +0 -222
  684. package/bundled-test-harness/assets/dashboard-get-started-test-DG4uUXLv.js +0 -246
  685. package/bundled-test-harness/assets/dashboard-pinned-cards-test-AoGGVRAS.js +0 -220
  686. package/bundled-test-harness/assets/dashboard-reindex-test-BN9a96Xp.js +0 -115
  687. package/bundled-test-harness/assets/dashboard-section-rail-test-B3OT9V2T.js +0 -169
  688. package/bundled-test-harness/assets/dashboard-state-test-BY0Zqrmj.js +0 -162
  689. package/bundled-test-harness/assets/dashboard-test-C13oNpWt.js +0 -545
  690. package/bundled-test-harness/assets/dashboard-unreachable-notice-test-DZIV4x5j.js +0 -62
  691. package/bundled-test-harness/assets/dashboard-workspace-test-CBnOQViI.js +0 -537
  692. package/bundled-test-harness/assets/dashboard-workspaces-section-test-KU8ZVOYp.js +0 -396
  693. package/bundled-test-harness/assets/data-file-def-preview-test-CI5gcdtK.js +0 -155
  694. package/bundled-test-harness/assets/date-time-fields-test-D2CpR_Pb.js +0 -359
  695. package/bundled-test-harness/assets/debug-message-test-Df1kHesw.js +0 -117
  696. package/bundled-test-harness/assets/declared-captures-test-hQ43zuox.js +0 -879
  697. package/bundled-test-harness/assets/delete-workspace-test-BhfMKsix.js +0 -102
  698. package/bundled-test-harness/assets/diffing-test-CHRh55mC.js +0 -210
  699. package/bundled-test-harness/assets/download-file-to-realm-test-CC1HURCi.js +0 -119
  700. package/bundled-test-harness/assets/editor-test-DkeCv28f.js +0 -688
  701. package/bundled-test-harness/assets/edits-BSJqtUXM.js +0 -651
  702. package/bundled-test-harness/assets/email-field-test-DihK0suO.js +0 -75
  703. package/bundled-test-harness/assets/enum-field-test-Gja3bzt5.js +0 -935
  704. package/bundled-test-harness/assets/error-display-test-GhYZu7cp.js +0 -343
  705. package/bundled-test-harness/assets/evaluate-module-test-D_t4CiUq.js +0 -91
  706. package/bundled-test-harness/assets/execute-atomic-operations-test-xtou8Zeg.js +0 -113
  707. package/bundled-test-harness/assets/externals-B02-sD_L.js +0 -4393
  708. package/bundled-test-harness/assets/fallback-banner-live-delete-test-DtxzNXdE.js +0 -207
  709. package/bundled-test-harness/assets/fallback-banner-test-BfmiQ_68.js +0 -53
  710. package/bundled-test-harness/assets/fallback-banner-test-DLtTdmvn.js +0 -225
  711. package/bundled-test-harness/assets/fallback-models-test-BxNJxhfd.js +0 -161
  712. package/bundled-test-harness/assets/fetch-card-json-test-DofKbzvC.js +0 -61
  713. package/bundled-test-harness/assets/field-configuration-test-SUoPaXWy.js +0 -551
  714. package/bundled-test-harness/assets/field-markdown-domain-test-BwtR0dPP.js +0 -616
  715. package/bundled-test-harness/assets/field-markdown-oversize-test-D8UJcBc3.js +0 -88
  716. package/bundled-test-harness/assets/field-markdown-primitives-test-D5_ZdoDO.js +0 -365
  717. package/bundled-test-harness/assets/field-markdown-specialized-test-Dpd5hs04.js +0 -534
  718. package/bundled-test-harness/assets/field-playground-test-CzhYzKGv.js +0 -894
  719. package/bundled-test-harness/assets/field-support-predicates-test-BSvVOFth.js +0 -167
  720. package/bundled-test-harness/assets/file-attachment-test-fM-yFedm.js +0 -796
  721. package/bundled-test-harness/assets/file-chooser-panel-test-CKj8YTdY.js +0 -153
  722. package/bundled-test-harness/assets/file-chooser-test-Bs8jFXqa.js +0 -504
  723. package/bundled-test-harness/assets/file-def-format-templates-test-CxrRoWoD.js +0 -380
  724. package/bundled-test-harness/assets/file-def-live-reload-test-X_8YEkve.js +0 -124
  725. package/bundled-test-harness/assets/file-def-menu-items-test-Dx879o_o.js +0 -138
  726. package/bundled-test-harness/assets/file-def-navigation-test-MMI_EEO1.js +0 -109
  727. package/bundled-test-harness/assets/file-def-serialization-test-B5lguBQD.js +0 -89
  728. package/bundled-test-harness/assets/file-def-test-Di9QWcrj.js +0 -216
  729. package/bundled-test-harness/assets/file-preview-live-reload-test-aqx93A7c.js +0 -310
  730. package/bundled-test-harness/assets/file-resource-primitives-test-a5abpcSB.js +0 -255
  731. package/bundled-test-harness/assets/file-tree-from-index-test-CnruGxJ8.js +0 -96
  732. package/bundled-test-harness/assets/file-tree-test-BCyWDdSE.js +0 -851
  733. package/bundled-test-harness/assets/file-view-model-test-BfpLa01Y.js +0 -346
  734. package/bundled-test-harness/assets/filedef-export-shape-test-CQ9XbrzS.js +0 -61
  735. package/bundled-test-harness/assets/film-CL1zj_bJ.js +0 -2
  736. package/bundled-test-harness/assets/film-Dq_quZ31.js +0 -13
  737. package/bundled-test-harness/assets/film-xbkQa060.js +0 -4074
  738. package/bundled-test-harness/assets/flac-audio-def-test-BmVp9dMx.js +0 -143
  739. package/bundled-test-harness/assets/focus-Dm4wkM72.js +0 -306
  740. package/bundled-test-harness/assets/font-metadata-extractor-test-OWEh9_MS.js +0 -415
  741. package/bundled-test-harness/assets/formatted-aibot-message-test-BpHsWpuV.js +0 -109
  742. package/bundled-test-harness/assets/formatted-user-message-test-DZW5TAr0.js +0 -43
  743. package/bundled-test-harness/assets/freestyle-test-D_uaPU_3.js +0 -17
  744. package/bundled-test-harness/assets/full-reindex-realm-test-C6vHL5kC.js +0 -101
  745. package/bundled-test-harness/assets/garbage-collection-test-D-Ao4t2n.js +0 -403
  746. package/bundled-test-harness/assets/general-test-PSGI8W0z.js +0 -923
  747. package/bundled-test-harness/assets/generate-example-cards-one-shot-test-J-m-0E6W.js +0 -65
  748. package/bundled-test-harness/assets/generic-file-def-preview-test-BAsOhTYU.js +0 -71
  749. package/bundled-test-harness/assets/get-available-realm-identifiers-test-D5PBOr97.js +0 -47
  750. package/bundled-test-harness/assets/get-catalog-realm-identifiers-test-NM9UURHE.js +0 -47
  751. package/bundled-test-harness/assets/get-default-writable-realm-test-BxXc9a3J.js +0 -54
  752. package/bundled-test-harness/assets/get-published-realms-test-C8TJEc4-.js +0 -71
  753. package/bundled-test-harness/assets/get-realm-of-resource-identifier-test-Dt8CB6lS.js +0 -54
  754. package/bundled-test-harness/assets/get-relationship-membership-state-test-9_8x3myJ.js +0 -1308
  755. package/bundled-test-harness/assets/get-user-system-card-test-k0UO-uba.js +0 -67
  756. package/bundled-test-harness/assets/gif-image-def-test-BWrqPGDX.js +0 -188
  757. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-BgG8QI9E.js +0 -160
  758. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-BKOvNyCN.js +0 -74
  759. package/bundled-test-harness/assets/gts-file-def-test-BCRHwDeZ.js +0 -100
  760. package/bundled-test-harness/assets/head-format-preview-test-DnfUhniI.js +0 -158
  761. package/bundled-test-harness/assets/helpers-DklkegO_.js +0 -5
  762. package/bundled-test-harness/assets/host-mode-service-vOfN0smp.js +0 -232
  763. package/bundled-test-harness/assets/host-mode-test-CCCJFz6_.js +0 -831
  764. package/bundled-test-harness/assets/host-submode-test-CtCfbuPA.js +0 -1342
  765. package/bundled-test-harness/assets/html-component-test-CWyhb5ZX.js +0 -65
  766. package/bundled-test-harness/assets/html-def-test-Cb8C2lUx.js +0 -160
  767. package/bundled-test-harness/assets/html-meta-extractor-test-BHT9Rtir.js +0 -60
  768. package/bundled-test-harness/assets/hydratable-card-test-DpgpdesD.js +0 -426
  769. package/bundled-test-harness/assets/icon-button-ABCGVF3C.js +0 -67
  770. package/bundled-test-harness/assets/image-metadata-extractor-test-ClhPTouq.js +0 -1109
  771. package/bundled-test-harness/assets/index-changes-test-CgnVr3LH.js +0 -367
  772. package/bundled-test-harness/assets/index-query-engine-test-CQTwju5_.js +0 -2593
  773. package/bundled-test-harness/assets/index-writer-test-IoVOoZT2.js +0 -3040
  774. package/bundled-test-harness/assets/inspector-test-BN2Ieb77.js +0 -2058
  775. package/bundled-test-harness/assets/instance-filter-matcher-test-Bq-_Sy89.js +0 -788
  776. package/bundled-test-harness/assets/instantiate-card-test-DEeDTzFV.js +0 -164
  777. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DP6kOyJS.js +0 -475
  778. package/bundled-test-harness/assets/interact-submode-setup-B0_cHqH-.js +0 -566
  779. package/bundled-test-harness/assets/invalidate-realm-identifiers-test-9uUD91Pw.js +0 -99
  780. package/bundled-test-harness/assets/invite-user-to-room-test-CcDA45Ac.js +0 -142
  781. package/bundled-test-harness/assets/invoke-card-operation-test-DmUtgueM.js +0 -333
  782. package/bundled-test-harness/assets/isolated-render-test-B2eXNHu6.js +0 -51
  783. package/bundled-test-harness/assets/job-scoped-doc-cache-test-DF9D7cOc.js +0 -181
  784. package/bundled-test-harness/assets/job-scoped-instance-residency-test-CSS8xUU5.js +0 -103
  785. package/bundled-test-harness/assets/jpg-image-def-test-voECMTht.js +0 -697
  786. package/bundled-test-harness/assets/json-file-def-test-8Y4KLjUC.js +0 -95
  787. package/bundled-test-harness/assets/key-notices-badge-test-d1mYqx0e.js +0 -155
  788. package/bundled-test-harness/assets/key-readiness-test-BtCg7PCk.js +0 -190
  789. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-CyCMbJnN.js +0 -398
  790. package/bundled-test-harness/assets/linksto-error-sentinel-test-BDW572-v.js +0 -238
  791. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-B4wM97hD.js +0 -354
  792. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-BhJmtJ0_.js +0 -303
  793. package/bundled-test-harness/assets/linksto-sentinel-reload-test-BpBQ5V_i.js +0 -197
  794. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-pkBBl4e9.js +0 -260
  795. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-Bb6wjUdD.js +0 -196
  796. package/bundled-test-harness/assets/lint-and-fix-test-CcMLn-co.js +0 -51
  797. package/bundled-test-harness/assets/live-test-AyBnq7BX.js +0 -2
  798. package/bundled-test-harness/assets/live-test-CgnAcIDw.js +0 -100
  799. package/bundled-test-harness/assets/load-default-skills-test-BIOwtx0Y.js +0 -74
  800. package/bundled-test-harness/assets/loader-parallel-prefetch-test-D5_oRSER.js +0 -257
  801. package/bundled-test-harness/assets/loader-test-DSc_jR1c.js +0 -482
  802. package/bundled-test-harness/assets/loading-test-8pldx7S-.js +0 -63
  803. package/bundled-test-harness/assets/m4a-audio-def-test-BDI5apzM.js +0 -190
  804. package/bundled-test-harness/assets/main-5kHyCkdm.js +0 -5
  805. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-Wud0s7WZ.js +0 -470
  806. package/bundled-test-harness/assets/markdown-embed-chooser-test-DVzzS-0C.js +0 -334
  807. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-B5W_iqsi.js +0 -447
  808. package/bundled-test-harness/assets/markdown-embed-preview-test-CZF_s0fB.js +0 -368
  809. package/bundled-test-harness/assets/markdown-fallback-test-fT6BS4W7.js +0 -316
  810. package/bundled-test-harness/assets/markdown-file-def-test-B1aTzazR.js +0 -380
  811. package/bundled-test-harness/assets/markdown-helpers-test-gNKZf7Mw.js +0 -188
  812. package/bundled-test-harness/assets/markdown-highlighting-test-Du5_CQmD.js +0 -244
  813. package/bundled-test-harness/assets/markdown-preview-h-_aJhRc.js +0 -72
  814. package/bundled-test-harness/assets/markdown-preview-test-DJvoVsXw.js +0 -238
  815. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-VwJi3Paj.js +0 -146
  816. package/bundled-test-harness/assets/markdown-skill-search-test-ysCdf0xM.js +0 -80
  817. package/bundled-test-harness/assets/matrix-service-account-switch-sessions-test-K2JuMy36.js +0 -63
  818. package/bundled-test-harness/assets/matrix-service-boot-assembly-test-CkdL_-os.js +0 -300
  819. package/bundled-test-harness/assets/matrix-service-personal-realm-test-Dy1DultK.js +0 -125
  820. package/bundled-test-harness/assets/matrix-service-realm-servers-test-DHDDKuEg.js +0 -55
  821. package/bundled-test-harness/assets/matrix-service-realms-list-updated-test-DcTbZpMl.js +0 -132
  822. package/bundled-test-harness/assets/matrix-service-relogin-test-D3NQktoa.js +0 -59
  823. package/bundled-test-harness/assets/matrix-service-sliding-sync-test-6CAflWOA.js +0 -35
  824. package/bundled-test-harness/assets/menu-kUSaJIPq.js +0 -3562
  825. package/bundled-test-harness/assets/message-service-subscription-test-DaQdgDWi.js +0 -110
  826. package/bundled-test-harness/assets/message-service-test-BsGEgM_m.js +0 -144
  827. package/bundled-test-harness/assets/message-tool-test-BB_4kw1V.js +0 -33
  828. package/bundled-test-harness/assets/midi-audio-def-test-BbbkFjqf.js +0 -182
  829. package/bundled-test-harness/assets/migrate-skill-test-X9xImDuq.js +0 -161
  830. package/bundled-test-harness/assets/mini-AwF31elJ.js +0 -1404
  831. package/bundled-test-harness/assets/mini-card-chooser-test-BZtrEiWu.js +0 -272
  832. package/bundled-test-harness/assets/mini-file-chooser-test-MIHW3kCI.js +0 -201
  833. package/bundled-test-harness/assets/mock-matrix-Dd8k0DNa.js +0 -15107
  834. package/bundled-test-harness/assets/mock-matrix-DhPN_34j.js +0 -2
  835. package/bundled-test-harness/assets/modal-LTh3_oHK.js +0 -322
  836. package/bundled-test-harness/assets/model-cost-tier-test-h1IkU9mp.js +0 -174
  837. package/bundled-test-harness/assets/model-file-extract-test-ntSo0wZF.js +0 -206
  838. package/bundled-test-harness/assets/module-transpile-cache-test-CDeRaaeP.js +0 -67
  839. package/bundled-test-harness/assets/monaco-test-C0Fa744D.js +0 -100
  840. package/bundled-test-harness/assets/mp3-audio-def-test-B4j4qR9H.js +0 -133
  841. package/bundled-test-harness/assets/multiple-stacks-test-BhA25ywL.js +0 -208
  842. package/bundled-test-harness/assets/nested-query-field-render-test-S9Y8YNKB.js +0 -249
  843. package/bundled-test-harness/assets/no-stacks-test-B7VciWyg.js +0 -48
  844. package/bundled-test-harness/assets/number-field-test-CS74lDPN.js +0 -184
  845. package/bundled-test-harness/assets/office-file-def-test-2cKc1pmd.js +0 -263
  846. package/bundled-test-harness/assets/office-metadata-extractor-test-DC8Fo-OW.js +0 -218
  847. package/bundled-test-harness/assets/office-poster-capture-test-Ba0_5UrT.js +0 -203
  848. package/bundled-test-harness/assets/ogg-audio-def-test-CIPQ1d4w.js +0 -196
  849. package/bundled-test-harness/assets/open-create-listing-modal-test-bmQkY5Zl.js +0 -131
  850. package/bundled-test-harness/assets/open-image-in-new-tab-test-DBD7_vMH.js +0 -52
  851. package/bundled-test-harness/assets/open-secure-window-test-BgeuYAqz.js +0 -253
  852. package/bundled-test-harness/assets/open-workspace-test-DRHGljV0.js +0 -46
  853. package/bundled-test-harness/assets/operation-lowering-test-CH1c0pSH.js +0 -2957
  854. package/bundled-test-harness/assets/operations-invocation-test-B1YkCLrv.js +0 -523
  855. package/bundled-test-harness/assets/operations-optimistic-test-DAbtOwsC.js +0 -203
  856. package/bundled-test-harness/assets/operations-query-test-9p1ZIDe-.js +0 -459
  857. package/bundled-test-harness/assets/operations-store-reconciliation-test-D0EQh3w2.js +0 -406
  858. package/bundled-test-harness/assets/operations-test-BQhlrfe3.js +0 -2518
  859. package/bundled-test-harness/assets/operator-mode-acceptance-test-DtHnonEb.js +0 -1195
  860. package/bundled-test-harness/assets/operator-mode-card-chooser-test-DQUxZxaq.js +0 -1036
  861. package/bundled-test-harness/assets/operator-mode-links-test-BJ26HllS.js +0 -797
  862. package/bundled-test-harness/assets/operator-mode-test-DIPDI0qt.js +0 -696
  863. package/bundled-test-harness/assets/operator-mode-ui-test-CfA-fAh4.js +0 -1045
  864. package/bundled-test-harness/assets/overlay-DecPh3nt.js +0 -123
  865. package/bundled-test-harness/assets/overlay-menu-items-test-C6XqjLtu.js +0 -331
  866. package/bundled-test-harness/assets/overlays-Ctp8ePzZ.js +0 -75
  867. package/bundled-test-harness/assets/overlays-CzWpSg5T.js +0 -2
  868. package/bundled-test-harness/assets/overlays-detached-element-test-DvL_8Bb5.js +0 -56
  869. package/bundled-test-harness/assets/panel-CImumikB.js +0 -15124
  870. package/bundled-test-harness/assets/past-sessions-test-N6riGN_I.js +0 -321
  871. package/bundled-test-harness/assets/patch-fields-test-D30_-KwQ.js +0 -1014
  872. package/bundled-test-harness/assets/patch-instance-test-C5rGscZq.js +0 -348
  873. package/bundled-test-harness/assets/pdf-file-def-test-DtiqGRvZ.js +0 -111
  874. package/bundled-test-harness/assets/pdf-metadata-extractor-test-FU02KmdV.js +0 -130
  875. package/bundled-test-harness/assets/permission-checking-realm-test-DqdNJDwU.js +0 -306
  876. package/bundled-test-harness/assets/persist-module-inspector-view-test-BHOAgPVy.js +0 -60
  877. package/bundled-test-harness/assets/persist-scroll-position-test-qtmS518r.js +0 -254
  878. package/bundled-test-harness/assets/phone-number-field-test-DhdaM7uL.js +0 -73
  879. package/bundled-test-harness/assets/pill-menu-test-C9Mrrepl.js +0 -60
  880. package/bundled-test-harness/assets/plate-9n-sXyCw.js +0 -41
  881. package/bundled-test-harness/assets/plate-BnZcAk-_.js +0 -2
  882. package/bundled-test-harness/assets/player-Cu5b4LEJ.js +0 -82
  883. package/bundled-test-harness/assets/player-unk2mkxV.js +0 -2
  884. package/bundled-test-harness/assets/playground-BwA8wFGK.js +0 -58
  885. package/bundled-test-harness/assets/plural-field-components-test-CFNQKETg.js +0 -198
  886. package/bundled-test-harness/assets/png-image-def-test-DG5Vhlqb.js +0 -266
  887. package/bundled-test-harness/assets/policy-audit-confirmation-test-yfKU47LR.js +0 -155
  888. package/bundled-test-harness/assets/policy-scoped-search-test-BjQRDYqR.js +0 -339
  889. package/bundled-test-harness/assets/prerender-file-extract-test-CEU4SaAZ.js +0 -346
  890. package/bundled-test-harness/assets/prerender-html-test-CGB3ClCS.js +0 -670
  891. package/bundled-test-harness/assets/prerender-meta-test-xqc4fW_0.js +0 -614
  892. package/bundled-test-harness/assets/prerender-module-test-CI1TmZw-.js +0 -409
  893. package/bundled-test-harness/assets/prerender-persistence-block-test-Da0dJO_N.js +0 -124
  894. package/bundled-test-harness/assets/prerender-pre-model-error-test-BVLyhk8R.js +0 -61
  895. package/bundled-test-harness/assets/prerender-serialize-cycle-test-glJFfxHU.js +0 -134
  896. package/bundled-test-harness/assets/prerendered-html-read-test-Mp4L0VHQ.js +0 -191
  897. package/bundled-test-harness/assets/pretui-components-test-BBpA9UnA.js +0 -991
  898. package/bundled-test-harness/assets/pretui-components-test-BqFq7rw_.css +0 -730
  899. package/bundled-test-harness/assets/preview-format-test-C55Bwcur.js +0 -103
  900. package/bundled-test-harness/assets/preview-test-CTAhRGU8.js +0 -474
  901. package/bundled-test-harness/assets/process-card-test-UjqpuxB7.js +0 -94
  902. package/bundled-test-harness/assets/profile-settings-modal-C8bCgTMK.js +0 -989
  903. package/bundled-test-harness/assets/publish-realm-ixUB4FPK.js +0 -82
  904. package/bundled-test-harness/assets/publish-realm-test-CrrsdL4W.js +0 -210
  905. package/bundled-test-harness/assets/query-field-barrier-test-DjivFE93.js +0 -113
  906. package/bundled-test-harness/assets/query-field-error-sentinel-test-0HwnV4Mw.js +0 -201
  907. package/bundled-test-harness/assets/query-field-membership-status-test-C8yTTBkc.js +0 -323
  908. package/bundled-test-harness/assets/query-field-page-optin-test-D4l_GcII.js +0 -126
  909. package/bundled-test-harness/assets/query-field-schema-test-DDbcNNm5.js +0 -231
  910. package/bundled-test-harness/assets/query-field-search-throttle-test-CXp50Ax0.js +0 -154
  911. package/bundled-test-harness/assets/query-field-stale-prerender-test-DErzt-Cv.js +0 -152
  912. package/bundled-test-harness/assets/query-fields-test-Dz67fdSl.js +0 -535
  913. package/bundled-test-harness/assets/quick-look-test-B1ijDsh_.js +0 -139
  914. package/bundled-test-harness/assets/read-card-for-ai-assistant-test-DJxZ16H_.js +0 -91
  915. package/bundled-test-harness/assets/read-file-for-ai-assistant-test-BoRQkZ8c.js +0 -45
  916. package/bundled-test-harness/assets/read-source-test-Bl-NjchO.js +0 -67
  917. package/bundled-test-harness/assets/read-text-file-test-CP37CZoo.js +0 -124
  918. package/bundled-test-harness/assets/realm-CaK5mkT-.js +0 -2852
  919. package/bundled-test-harness/assets/realm-api-keys-BNUFWbGR.js +0 -579
  920. package/bundled-test-harness/assets/realm-api-keys-CkshxhXC.js +0 -2
  921. package/bundled-test-harness/assets/realm-api-keys-test-BP8xifjn.js +0 -109
  922. package/bundled-test-harness/assets/realm-api-keys-test-CwdK9YXp.js +0 -588
  923. package/bundled-test-harness/assets/realm-config-iKwE3Htp.js +0 -833
  924. package/bundled-test-harness/assets/realm-config-policy-standing-test-BgVEIDnB.js +0 -290
  925. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-BoJoKzmX.js +0 -274
  926. package/bundled-test-harness/assets/realm-config-settings-test-Kxw-GHye.js +0 -187
  927. package/bundled-test-harness/assets/realm-field-test-CdGOxrFb.js +0 -100
  928. package/bundled-test-harness/assets/realm-indexing-test-CHtsBV2b.js +0 -4380
  929. package/bundled-test-harness/assets/realm-policy-fitted-test--DhNZSdC.js +0 -206
  930. package/bundled-test-harness/assets/realm-policy-test-D7714iVa.js +0 -1141
  931. package/bundled-test-harness/assets/realm-querying-test-Cj1ekZ0H.js +0 -1067
  932. package/bundled-test-harness/assets/realm-server-form-agnostic-test-CZFPNJfD.js +0 -96
  933. package/bundled-test-harness/assets/realm-server-subscriber-test-C86WmBp0.js +0 -46
  934. package/bundled-test-harness/assets/realm-service-info-test-CdgcwKDR.js +0 -67
  935. package/bundled-test-harness/assets/realm-test-DPoLsvKz.js +0 -2364
  936. package/bundled-test-harness/assets/realm-token-refresh-test-Ch35Siwi.js +0 -153
  937. package/bundled-test-harness/assets/realm-url-tooltip-test-x8xWOENK.js +0 -78
  938. package/bundled-test-harness/assets/reasoning-test-BxpE8Jvf.js +0 -221
  939. package/bundled-test-harness/assets/recent-files-test-DTmEzPLq.js +0 -450
  940. package/bundled-test-harness/assets/reindex-realm-test-BQ8KULn4.js +0 -117
  941. package/bundled-test-harness/assets/relationship-loading-state-test-BJoArPWf.js +0 -290
  942. package/bundled-test-harness/assets/remix-card-test-DsTA1KoG.js +0 -58
  943. package/bundled-test-harness/assets/rendered-markdown-DvukulDO.js +0 -292
  944. package/bundled-test-harness/assets/rendered-markdown-test-DxGptXSV.js +0 -587
  945. package/bundled-test-harness/assets/resident-instance-reuse-test-ZWnVu8uj.js +0 -82
  946. package/bundled-test-harness/assets/result-tile-CPyI6Vmv.js +0 -144
  947. package/bundled-test-harness/assets/rich-markdown-field-test-CdygoXIO.js +0 -1647
  948. package/bundled-test-harness/assets/room-message-test-D3NfMqH0.js +0 -484
  949. package/bundled-test-harness/assets/run-D_Px28eF.js +0 -3956
  950. package/bundled-test-harness/assets/run-realm-code-qWCZxmJ7.js +0 -2964
  951. package/bundled-test-harness/assets/run-realm-code-test-UzyeEJq6.js +0 -3844
  952. package/bundled-test-harness/assets/sanitize-module-list-test-Babq44bP.js +0 -85
  953. package/bundled-test-harness/assets/save-card-skip-index-wait-test-BcELXlQ_.js +0 -89
  954. package/bundled-test-harness/assets/schema-editor-test-CEvruZbt.js +0 -785
  955. package/bundled-test-harness/assets/schema-generation-test-hYAMdCrn.js +0 -28
  956. package/bundled-test-harness/assets/scrolling-test-DVIsh-_1.js +0 -412
  957. package/bundled-test-harness/assets/search-adorn-test-CkVhqFd0.js +0 -136
  958. package/bundled-test-harness/assets/search-and-choose-test-DUhOB3FV.js +0 -154
  959. package/bundled-test-harness/assets/search-correlation-id-test-Drn4r26N.js +0 -139
  960. package/bundled-test-harness/assets/search-entries-result-test-DTCRJ_wc.js +0 -234
  961. package/bundled-test-harness/assets/search-entries-test-CE0B47pw.js +0 -1486
  962. package/bundled-test-harness/assets/search-entries-tool-test-C4aG0ckM.js +0 -504
  963. package/bundled-test-harness/assets/search-google-images-test-LyhcB2f3.js +0 -166
  964. package/bundled-test-harness/assets/search-results-D4pSne0x.js +0 -266
  965. package/bundled-test-harness/assets/search-results-test-CRZHhqhn.js +0 -578
  966. package/bundled-test-harness/assets/search-selection-menu-test-B7Y3E_nj.js +0 -108
  967. package/bundled-test-harness/assets/search-sheet-files-test-C2y534g8.js +0 -126
  968. package/bundled-test-harness/assets/search-sheet-persistence-test-DePC59Bk.js +0 -131
  969. package/bundled-test-harness/assets/search-test-Dy8NxFkU.js +0 -2249
  970. package/bundled-test-harness/assets/search-tool-test-lctDaMH3.js +0 -156
  971. package/bundled-test-harness/assets/searchable-option-test-CE64M8oM.js +0 -322
  972. package/bundled-test-harness/assets/searchable-search-doc-test-C6u3mVvT.js +0 -1271
  973. package/bundled-test-harness/assets/section-rail-B_UQX00B.js +0 -113
  974. package/bundled-test-harness/assets/section-rail-test-DIda7MIw.js +0 -256
  975. package/bundled-test-harness/assets/secure-sign-in-CqqqfQG8.js +0 -174
  976. package/bundled-test-harness/assets/secure-sign-in-test-DimbVr_W.js +0 -373
  977. package/bundled-test-harness/assets/segmented-control-iePxSdTS.js +0 -173
  978. package/bundled-test-harness/assets/select-tNs6_xwW.js +0 -175
  979. package/bundled-test-harness/assets/send-ai-assistant-message-test-2GVrMF9Z.js +0 -52
  980. package/bundled-test-harness/assets/send-bot-trigger-event-test-B_3dKfGN.js +0 -56
  981. package/bundled-test-harness/assets/send-request-via-proxy-test-_clNWyYc.js +0 -380
  982. package/bundled-test-harness/assets/sending-test-DCPFXUVg.js +0 -659
  983. package/bundled-test-harness/assets/serialization-rri-form-audit-test-BI0zCs8Y.js +0 -136
  984. package/bundled-test-harness/assets/serialization-test-bjdtVlZL.js +0 -8758
  985. package/bundled-test-harness/assets/set-user-system-card-test-BUv1vL08.js +0 -59
  986. package/bundled-test-harness/assets/setup-BW1mmC7C.js +0 -772
  987. package/bundled-test-harness/assets/setup-DsIcFT-T.js +0 -2
  988. package/bundled-test-harness/assets/shared-link-target-reuse-test-9NeJEjkb.js +0 -207
  989. package/bundled-test-harness/assets/show-card-test-mfyLwusD.js +0 -365
  990. package/bundled-test-harness/assets/signed-capture-link-test-BOtKNCAM.js +0 -132
  991. package/bundled-test-harness/assets/single-stack-test-B4MGjaLk.js +0 -652
  992. package/bundled-test-harness/assets/skills-test-BuP-Yzk1.js +0 -648
  993. package/bundled-test-harness/assets/skip-boot-index-guard-test-Cmrx2-K7.js +0 -46
  994. package/bundled-test-harness/assets/spec-test-BhZDdhVQ.js +0 -1077
  995. package/bundled-test-harness/assets/spinner-CpIBUG9m.js +0 -49
  996. package/bundled-test-harness/assets/src-DGHttmW-.js +0 -216
  997. package/bundled-test-harness/assets/src-DaNDSbp7.js +0 -5
  998. package/bundled-test-harness/assets/stick-to-bottom-resize-test-Dpy3OVum.js +0 -56
  999. package/bundled-test-harness/assets/store-add-test-_IYS8o74.js +0 -50
  1000. package/bundled-test-harness/assets/store-module-rebuild-test-B5VMaICy.js +0 -454
  1001. package/bundled-test-harness/assets/store-search-test-C2VZabrH.js +0 -175
  1002. package/bundled-test-harness/assets/store-test-D6PObxoD.js +0 -3672
  1003. package/bundled-test-harness/assets/structured-theme-test-BHjVeMf-.js +0 -377
  1004. package/bundled-test-harness/assets/summarize-session-test-BFtTuhe0.js +0 -172
  1005. package/bundled-test-harness/assets/svg-image-def-test-BL6lkWUX.js +0 -167
  1006. package/bundled-test-harness/assets/switch-submode-test-6Uv3bZMl.js +0 -168
  1007. package/bundled-test-harness/assets/sync-openrouter-models-test-Dp9E05tL.js +0 -97
  1008. package/bundled-test-harness/assets/test-support-DYm8XZ0E.js +0 -3
  1009. package/bundled-test-harness/assets/test-support-DfnhiIMV.js +0 -99
  1010. package/bundled-test-harness/assets/tests-CZk0Iag2.js +0 -3596
  1011. package/bundled-test-harness/assets/text-file-def-test-CHdC0yIU.js +0 -94
  1012. package/bundled-test-harness/assets/text-input-validator-test-B9ZR8XPU.js +0 -156
  1013. package/bundled-test-harness/assets/text-suggestion-test-CGLspKFQ.js +0 -340
  1014. package/bundled-test-harness/assets/theme-card-test-CXZvSEvG.js +0 -621
  1015. package/bundled-test-harness/assets/theme-dashboard-nav-test-CkEE0ILk.js +0 -196
  1016. package/bundled-test-harness/assets/theme-scheme-island-test-URXTjipF.js +0 -264
  1017. package/bundled-test-harness/assets/titles-C6enAdIv.js +0 -2
  1018. package/bundled-test-harness/assets/titles-Dft1HoUT.js +0 -52
  1019. package/bundled-test-harness/assets/to-device-streaming-test-D33ZOc9o.js +0 -163
  1020. package/bundled-test-harness/assets/token-usage-test-BHQlU4J4.js +0 -160
  1021. package/bundled-test-harness/assets/tools-CrudqfS3.js +0 -774
  1022. package/bundled-test-harness/assets/tools-calling-test-jo7IREau.js +0 -200
  1023. package/bundled-test-harness/assets/tools-test-D1wMfUa0.js +0 -1624
  1024. package/bundled-test-harness/assets/tools-test-Dn1LYsXp.js +0 -3204
  1025. package/bundled-test-harness/assets/tooltip-8Wyz4IIn.css +0 -68
  1026. package/bundled-test-harness/assets/tooltip-CqwLzRz5.js +0 -134
  1027. package/bundled-test-harness/assets/transform-cards-test-BPhwPFtp.js +0 -341
  1028. package/bundled-test-harness/assets/ts-file-def-preview-test-Bq3zTgw8.js +0 -95
  1029. package/bundled-test-harness/assets/ts-file-def-test-GLswMl7O.js +0 -92
  1030. package/bundled-test-harness/assets/ttf-font-def-test-DQulvUWs.js +0 -206
  1031. package/bundled-test-harness/assets/turn-settling-test-BspmOUQP.js +0 -160
  1032. package/bundled-test-harness/assets/turn-summary-9A8nvC0-.js +0 -1039
  1033. package/bundled-test-harness/assets/unpublish-realm-test-SkYPEhDz.js +0 -102
  1034. package/bundled-test-harness/assets/update-room-skills-test-cTxb-WU6.js +0 -240
  1035. package/bundled-test-harness/assets/use-ai-assistant-test-uaqW1T_A.js +0 -384
  1036. package/bundled-test-harness/assets/user-message-BudkIP-3.js +0 -262
  1037. package/bundled-test-harness/assets/validate-realm-test-DxrGgH9n.js +0 -67
  1038. package/bundled-test-harness/assets/video-metadata-extractor-test-B2pe-Iqa.js +0 -520
  1039. package/bundled-test-harness/assets/view-visually-test-PNon6fUo.js +0 -335
  1040. package/bundled-test-harness/assets/virtual-network-reset-test-uYJLaQHf.js +0 -96
  1041. package/bundled-test-harness/assets/wav-audio-def-test-F4OrFFR4.js +0 -160
  1042. package/bundled-test-harness/assets/webp-image-def-test-B0a_-Vya.js +0 -226
  1043. package/bundled-test-harness/assets/workspace-Cyftysy9.js +0 -440
  1044. package/bundled-test-harness/assets/workspace-a11y-test-sKiPDcbl.js +0 -197
  1045. package/bundled-test-harness/assets/workspace-actions-BuawjFmZ.js +0 -561
  1046. package/bundled-test-harness/assets/workspace-behavior-test-CKa-pb3T.js +0 -338
  1047. package/bundled-test-harness/assets/workspace-delete-multiple-test-Dt2weG5R.js +0 -212
  1048. package/bundled-test-harness/assets/workspace-delete-summary-test-CkqgFqZ8.js +0 -63
  1049. package/bundled-test-harness/assets/workspace-hosting-test-Ci7EEtHP.js +0 -138
  1050. package/bundled-test-harness/assets/workspace-indexing-test-BPVxxY6W.js +0 -71
  1051. package/bundled-test-harness/assets/workspace-test-CWr7vFbg.js +0 -385
  1052. package/bundled-test-harness/assets/workspace-test-INNpQovc.js +0 -51
  1053. package/bundled-test-harness/assets/workspace-timestamp-labels-test-CigQb5wr.js +0 -68
  1054. package/bundled-test-harness/assets/workspace-unit-test-BwVKpuXT.js +0 -122
  1055. package/bundled-test-harness/assets/write-binary-file-test-BKP3gv1k.js +0 -124
  1056. package/bundled-test-harness/assets/write-text-file-test-B6ijTKTa.js +0 -191
  1057. package/bundled-test-harness/assets/zip-archive-test-C-PBzkTn.js +0 -285
  1058. package/bundled-test-harness/assets/zip-file-def-test-FyCzJT-9.js +0 -164
@@ -1,1839 +0,0 @@
1
- import { s as __toESM } from "./chunk-Rp0pCe6z.js";
2
- import { Br as testRealmURL, Ls as wrapper_default, Xn as APP_BOXEL_REALM_EVENT_TYPE } from "./runtime-common-BTaLJEw-.js";
3
- import { T as rri } from "./paths-C9-NYXnM.js";
4
- import { D as baseRRI, it as baseRealmRRI } from "./constants-Icc0nFW-.js";
5
- import { _ as fileDefFormats, h as cardDefFormats } from "./bfm-card-references-Cjos2rOp.js";
6
- import { n as src_default } from "./src-DPaAwa4H.js";
7
- import { c as ModuleInspectorSelections, g as SpecSelection, u as PlaygroundSelections } from "./local-storage-keys-CS7XLz7J.js";
8
- import { M as waitUntil, T as settled, c as triggerKeyEvent, d as click, k as visit, l as triggerEvent, n as scrollTo, o as waitFor, s as fillIn } from "./dist-BOAdzfkP.js";
9
- import { s as Position } from "./editor.api-BinOIICS.js";
10
- import "./editor.main-BpsSmHD-.js";
11
- import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
12
- import { D as realmConfigCardJSON, Et as percySnapshot, F as setupLocalIndexing, H as testModuleRealm, L as setupRealmCacheTeardown, S as getMonacoContent, Z as withCachedRealmSetup, a as SYSTEM_CARD_FIXTURE_CONTENTS, ct as setupApplicationTest, j as setupAcceptanceTestRealm, k as setMonacoContent, mt as setupAuthEndpoints, s as assertMessages, st as visitOperatorMode, t as setupMockMatrix, z as setupUserSubscription } from "./mock-matrix-Dd8k0DNa.js";
13
- import { r as getService } from "./dist-CPfIHBla.js";
14
- import { c as removeSpecSelection, d as setPlaygroundSelections, s as removePlaygroundSelections } from "./playground-BwA8wFGK.js";
15
- //#region tests/acceptance/code-submode-test.ts
16
- var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
17
- var indexCardSource = `
18
- import { CardDef, Component } from "@cardstack/base/card-api";
19
-
20
- export class Index extends CardDef {
21
- static isolated = class Isolated extends Component<typeof this> {
22
- <template>
23
- <div data-test-index-card>
24
- Hello, world!
25
- </div>
26
- </template>
27
- };
28
- }
29
- `;
30
- var postalCodeFieldSource = `
31
- import {
32
- contains,
33
- field,
34
- Component,
35
- FieldDef,
36
- } from '@cardstack/base/card-api';
37
- import StringField from '@cardstack/base/string';
38
-
39
- export class PostalCode extends FieldDef {
40
- static displayName = 'Postal Code';
41
- @field fiveDigitPostalCode = contains(StringField); // required
42
- @field fourDigitOptional = contains(StringField);
43
-
44
- static embedded = class Embedded extends Component<typeof this> {
45
- <template>
46
- <address>
47
- <div><@fields.fiveDigitPostalCode /> - <@fields.fourDigitOptional /></div>
48
- </address>
49
- </template>
50
- };
51
- }
52
- `;
53
- var addressFieldSource = `
54
- import {
55
- contains,
56
- field,
57
- Component,
58
- FieldDef,
59
- } from '@cardstack/base/card-api';
60
- import StringField from '@cardstack/base/string';
61
- import { PostalCode } from './postal-code';
62
-
63
- export class Address extends FieldDef {
64
- static displayName = 'Address';
65
- @field streetAddress = contains(StringField); // required
66
- @field city = contains(StringField); // required
67
- @field region = contains(StringField);
68
- @field postalCode = contains(PostalCode);
69
- @field poBoxNumber = contains(StringField);
70
- @field country = contains(StringField); // required // dropdown
71
-
72
- static embedded = class Embedded extends Component<typeof this> {
73
- <template>
74
- <address>
75
- <div><@fields.streetAddress /></div>
76
- <@fields.city />
77
- <@fields.region />
78
- <@fields.postalCode /><@fields.poBoxNumber />
79
- <@fields.country />
80
- </address>
81
- </template>
82
- };
83
- }
84
- `;
85
- var countryCardSource = `
86
- import {
87
- contains,
88
- field,
89
- Component,
90
- CardDef,
91
- } from '@cardstack/base/card-api';
92
- import StringField from '@cardstack/base/string';
93
-
94
- export class Country extends CardDef {
95
- static displayName = 'Country';
96
- @field name = contains(StringField);
97
- @field cardTitle = contains(StringField, {
98
- computeVia(this: Country) {
99
- return this.name;
100
- },
101
- });
102
-
103
- static embedded = class Embedded extends Component<typeof this> {
104
- <template>
105
- <address>
106
- <@fields.name />
107
- </address>
108
- </template>
109
- };
110
- }
111
- `;
112
- var tripsFieldSource = `
113
- import {
114
- linksToMany,
115
- field,
116
- Component,
117
- FieldDef,
118
- } from '@cardstack/base/card-api';
119
- import { Country } from './country';
120
-
121
- export class Trips extends FieldDef {
122
- static displayName = 'Trips';
123
- @field countriesVisited = linksToMany(Country);
124
-
125
- static embedded = class Embedded extends Component<typeof this> {
126
- <template>
127
- <address>
128
- <@fields.countriesVisited />
129
- </address>
130
- </template>
131
- };
132
- }
133
- `;
134
- var personCardSource = `
135
- import { contains, containsMany, field, linksTo, linksToMany, CardDef, Component } from "@cardstack/base/card-api";
136
- import StringField from "@cardstack/base/string";
137
- import { Friend } from './friend';
138
- import { Pet } from "./pet";
139
- import { Address } from './address';
140
- import { Trips } from './trips';
141
-
142
- export class Person extends CardDef {
143
- static displayName = 'Person';
144
- @field firstName = contains(StringField);
145
- @field lastName = contains(StringField);
146
- @field cardTitle = contains(StringField, {
147
- computeVia: function (this: Person) {
148
- return [this.firstName, this.lastName].filter(Boolean).join(' ');
149
- },
150
- });
151
- @field pet = linksTo(Pet);
152
- @field friends = linksToMany(Friend);
153
- @field address = containsMany(StringField);
154
- @field addressDetail = contains(Address);
155
- @field trips = contains(Trips);
156
- static isolated = class Isolated extends Component<typeof this> {
157
- <template>
158
- <div data-test-person>
159
- <p>First name: <@fields.firstName /></p>
160
- <p>Last name: <@fields.lastName /></p>
161
- <p>Title: <@fields.cardTitle /></p>
162
- <p>Address List: <@fields.address /></p>
163
- <p>Friends: <@fields.friends /></p>
164
- </div>
165
- <style scoped>
166
- div {
167
- color: green;
168
- content: '';
169
- }
170
- </style>
171
- </template>
172
- };
173
- }
174
- `;
175
- var petCardSource = `
176
- import { contains, field, Component, CardDef } from "@cardstack/base/card-api";
177
- import StringField from "@cardstack/base/string";
178
-
179
- export class Pet extends CardDef {
180
- static displayName = 'Pet';
181
- @field name = contains(StringField);
182
- @field cardTitle = contains(StringField, {
183
- computeVia: function (this: Pet) {
184
- return this.name;
185
- },
186
- });
187
- static embedded = class Embedded extends Component<typeof this> {
188
- <template>
189
- <h3 data-test-pet={{@model.name}}>
190
- <@fields.name/>
191
- </h3>
192
- </template>
193
- }
194
- static isolated = class Isolated extends Component<typeof this> {
195
- <template>
196
- <h1>{{@model.cardTitle}}</h1>
197
- <h2 data-test-pet={{@model.name}}>
198
- <@fields.name/>
199
- </h2>
200
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
201
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
202
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
203
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
204
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
205
- <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
206
- </template>
207
- }
208
- }
209
- `;
210
- var customEditCardSource = `
211
- import { contains, field, CardDef, Component } from "@cardstack/base/card-api";
212
- import StringField from "@cardstack/base/string";
213
- export class CustomEdit extends CardDef {
214
- static displayName = 'Custom Edit';
215
- @field name = contains(StringField);
216
- static edit = class Edit extends Component<typeof this> {
217
- <template>
218
- <div data-test-custom-edit>Custom Edit: <@fields.name /></div>
219
- </template>
220
- };
221
- }
222
- `;
223
- var employeeCardSource = `
224
- import {
225
- contains,
226
- field,
227
- Component,
228
- CardDef
229
- } from '@cardstack/base/card-api';
230
- import StringField from '@cardstack/base/string';
231
- import DateField from '@cardstack/base/date';
232
- import BooleanField from '@cardstack/base/boolean';
233
- import { Person } from './person';
234
-
235
- export class Isolated extends Component<typeof Employee> {
236
- <template>
237
- <@fields.firstName /> <@fields.lastName />
238
-
239
- Department: <@fields.department />
240
- </template>
241
- };
242
-
243
- export class Employee extends Person {
244
- static displayName = 'Employee';
245
- @field department = contains(StringField);
246
-
247
- static isolated = class Isolated extends Component<typeof this> {
248
- <template>
249
- <@fields.firstName /> <@fields.lastName />
250
-
251
- Department: <@fields.department />
252
- </template>
253
- };
254
- }
255
-
256
- export function isHourly (this: Employee) {
257
- return !this.isSalaried;
258
- }
259
- `;
260
- var inThisFileSource = `
261
- import {
262
- contains,
263
- field,
264
- CardDef,
265
- FieldDef,
266
- } from '@cardstack/base/card-api';
267
- import StringField from '@cardstack/base/string';
268
-
269
- export const exportedVar = 'exported var';
270
-
271
- const localVar = 'local var';
272
-
273
- class LocalClass {}
274
- export class ExportedClass {}
275
-
276
- export class ExportedClassInheritLocalClass extends LocalClass {}
277
-
278
- function localFunction() {}
279
- export function exportedFunction() {}
280
-
281
- export { LocalClass as AClassWithExportName };
282
-
283
- class LocalCard extends CardDef {
284
- static displayName = 'local card';
285
- }
286
-
287
- export class ExportedCard extends CardDef {
288
- static displayName = 'exported card';
289
- @field someString = contains(StringField);
290
- }
291
-
292
- export class ExportedCardInheritLocalCard extends LocalCard {
293
- static displayName = 'exported card extends local card';
294
- }
295
-
296
- class LocalField extends FieldDef {
297
- static displayName = 'local field';
298
- }
299
- export class ExportedField extends FieldDef {
300
- static displayName = 'exported field';
301
- @field someString = contains(StringField);
302
- }
303
-
304
- export class ExportedFieldInheritLocalField extends LocalField {
305
- static displayName = 'exported field extends local field';
306
- }
307
-
308
- export default class DefaultClass {}
309
- `;
310
- var friendCardSource = `
311
- import { contains, linksTo, field, CardDef, Component } from "@cardstack/base/card-api";
312
- import StringField from "@cardstack/base/string";
313
-
314
- export class Friend extends CardDef {
315
- static displayName = 'Friend';
316
- @field name = contains(StringField);
317
- @field friend = linksTo(() => Friend);
318
- @field cardTitle = contains(StringField, {
319
- computeVia: function (this: Friend) {
320
- return this.name;
321
- },
322
- });
323
- static isolated = class Isolated extends Component<typeof this> {
324
- <template>
325
- <div data-test-friend-card={{@model.name}}>
326
- <p>Friend name: <@fields.name /></p>
327
- <div data-test-friend-link>
328
- <@fields.friend />
329
- </div>
330
- </div>
331
- <style scoped>
332
- div {
333
- color: green;
334
- content: '';
335
- }
336
- </style>
337
- </template>
338
- };
339
- }
340
- `;
341
- var txtSource = `
342
- Hello, world!
343
- `;
344
- var brokenSource = "some text to make the code broken" + friendCardSource;
345
- var brokenCountryCardSource = countryCardSource.replace("return this.name", "return intentionalError(this.name)");
346
- var brokenAdoptionInstance = `{
347
- "data": {
348
- "type": "card",
349
- "attributes": {
350
- "name": "El Campo"
351
- },
352
- "meta": {
353
- "adoptsFrom": {
354
- "module": "./broken-country",
355
- "name": "Country"
356
- }
357
- }
358
- }
359
- }
360
- `;
361
- var notFoundAdoptionInstance = `{
362
- "data": {
363
- "type": "card",
364
- "attributes": {
365
- "firstName": "Alice",
366
- "lastName": "Enwunder",
367
- "body": "xyz"
368
- },
369
- "meta": {
370
- "adoptsFrom": {
371
- "module": "./non-card",
372
- "name": "Author"
373
- }
374
- }
375
- }
376
- }
377
- `;
378
- var personalRealmURL;
379
- (0, import_qunit.module)("Acceptance | code submode tests", function(_hooks) {
380
- (0, import_qunit.module)("multiple realms", function(hooks) {
381
- let additionalRealmURL;
382
- let catalogRealmURL;
383
- setupApplicationTest(hooks);
384
- setupLocalIndexing(hooks);
385
- setupRealmCacheTeardown(hooks);
386
- let mockMatrixUtils = setupMockMatrix(hooks, { loggedInAs: "@testuser:localhost" });
387
- let { setActiveRealms, createAndJoinRoom } = mockMatrixUtils;
388
- async function openNewFileModal(menuSelection) {
389
- await waitFor("[data-test-new-file-button]");
390
- await click("[data-test-new-file-button]");
391
- await click(`[data-test-boxel-menu-item-text="${menuSelection}"]`);
392
- }
393
- hooks.beforeEach(async function() {
394
- createAndJoinRoom({
395
- sender: "@testuser:localhost",
396
- name: "room-test"
397
- });
398
- setupUserSubscription();
399
- setupAuthEndpoints();
400
- removePlaygroundSelections();
401
- removeSpecSelection();
402
- src_default.localStorage.removeItem(ModuleInspectorSelections);
403
- src_default.localStorage.removeItem(PlaygroundSelections);
404
- src_default.localStorage.removeItem(SpecSelection);
405
- let realmServerService = getService("realm-server");
406
- personalRealmURL = `${realmServerService.url}testuser/personal/`;
407
- additionalRealmURL = `${realmServerService.url}testuser/aaa/`;
408
- catalogRealmURL = `${realmServerService.url}catalog/`;
409
- setActiveRealms([
410
- catalogRealmURL,
411
- additionalRealmURL,
412
- personalRealmURL
413
- ]);
414
- await withCachedRealmSetup(async () => {
415
- await setupAcceptanceTestRealm({
416
- mockMatrixUtils,
417
- realmURL: personalRealmURL,
418
- permissions: { "@testuser:localhost": [
419
- "read",
420
- "write",
421
- "realm-owner"
422
- ] },
423
- contents: {
424
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
425
- "hello.txt": txtSource,
426
- "realm.json": realmConfigCardJSON({
427
- name: `Test User's Workspace`,
428
- backgroundURL: "/test-fixtures/realm-images/4k-origami-flock.jpg",
429
- iconURL: "/test-fixtures/realm-images/letter-t.png"
430
- })
431
- }
432
- });
433
- await setupAcceptanceTestRealm({
434
- mockMatrixUtils,
435
- realmURL: additionalRealmURL,
436
- permissions: { "@testuser:localhost": [
437
- "read",
438
- "write",
439
- "realm-owner"
440
- ] },
441
- contents: {
442
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
443
- "hello.txt": txtSource,
444
- "realm.json": realmConfigCardJSON({
445
- name: `Additional Workspace`,
446
- backgroundURL: "/test-fixtures/realm-images/4k-powder-puff.jpg",
447
- iconURL: "/test-fixtures/realm-images/letter-a.png"
448
- })
449
- }
450
- });
451
- await setupAcceptanceTestRealm({
452
- mockMatrixUtils,
453
- realmURL: catalogRealmURL,
454
- permissions: { "*": ["read"] },
455
- contents: {
456
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
457
- "hello.txt": txtSource,
458
- "realm.json": realmConfigCardJSON({
459
- name: `Catalog Realm`,
460
- backgroundURL: "/test-fixtures/realm-images/letter-c.png",
461
- iconURL: "/test-fixtures/realm-images/4k-watercolor-splashes.jpg"
462
- })
463
- }
464
- });
465
- await setupAcceptanceTestRealm({
466
- mockMatrixUtils,
467
- realmURL: testRealmURL,
468
- permissions: { "@testuser:localhost": [
469
- "read",
470
- "write",
471
- "realm-owner"
472
- ] },
473
- contents: { ...SYSTEM_CARD_FIXTURE_CONTENTS }
474
- });
475
- });
476
- setupAuthEndpoints({
477
- [catalogRealmURL]: ["read"],
478
- [additionalRealmURL]: [
479
- "read",
480
- "write",
481
- "realm-owner"
482
- ],
483
- [personalRealmURL]: [
484
- "read",
485
- "write",
486
- "realm-owner"
487
- ]
488
- });
489
- });
490
- (0, import_qunit.test)("default realm is the personal realm", async function(assert) {
491
- await visitOperatorMode({ submode: "code" });
492
- await waitFor("[data-test-file]");
493
- assert.dom("[data-test-card-url-bar-realm-info]").containsText(`in Test User's Workspace`);
494
- });
495
- (0, import_qunit.test)("first item in add file realm dropdown is the currently displayed realm", async function(assert) {
496
- await visitOperatorMode({ submode: "code" });
497
- await waitFor("[data-test-file]");
498
- await openNewFileModal("Card Definition");
499
- assert.dom("[data-test-selected-realm]").containsText(`Test User's Workspace`, "the selected (default) realm is correct");
500
- await click("[data-test-cancel-create-file]");
501
- await visitOperatorMode({
502
- submode: "code",
503
- codePath: `${additionalRealmURL}hello.txt`
504
- });
505
- await openNewFileModal("Card Definition");
506
- assert.dom("[data-test-selected-realm]").containsText(`Additional Workspace`, "the selected realm is correct");
507
- });
508
- });
509
- (0, import_qunit.module)("single realm", function(hooks) {
510
- let realm;
511
- let monacoService;
512
- setupApplicationTest(hooks);
513
- setupLocalIndexing(hooks);
514
- setupRealmCacheTeardown(hooks);
515
- let mockMatrixUtils = setupMockMatrix(hooks, {
516
- loggedInAs: "@testuser:localhost",
517
- activeRealms: [testRealmURL]
518
- });
519
- let { createAndJoinRoom, setActiveRealms } = mockMatrixUtils;
520
- hooks.beforeEach(async function() {
521
- createAndJoinRoom({
522
- sender: "@testuser:localhost",
523
- name: "room-test"
524
- });
525
- setupUserSubscription();
526
- setupAuthEndpoints();
527
- monacoService = getService("monaco-service");
528
- ({realm} = await withCachedRealmSetup(async () => setupAcceptanceTestRealm({
529
- mockMatrixUtils,
530
- contents: {
531
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
532
- "index.gts": indexCardSource,
533
- "pet-person.gts": personCardSource,
534
- "person.gts": personCardSource,
535
- "pet.gts": petCardSource,
536
- "friend.gts": friendCardSource,
537
- "employee.gts": employeeCardSource,
538
- "in-this-file.gts": inThisFileSource,
539
- "postal-code.gts": postalCodeFieldSource,
540
- "address.gts": addressFieldSource,
541
- "country.gts": countryCardSource,
542
- "trips.gts": tripsFieldSource,
543
- "broken.gts": brokenSource,
544
- "broken-country.gts": brokenCountryCardSource,
545
- "custom-edit.gts": customEditCardSource,
546
- "CustomEdit/sample.json": { data: {
547
- attributes: { name: "Sample" },
548
- meta: { adoptsFrom: {
549
- module: `${testRealmURL}custom-edit`,
550
- name: "CustomEdit"
551
- } }
552
- } },
553
- "broken-adoption-instance.json": brokenAdoptionInstance,
554
- "not-found-adoption-instance.json": notFoundAdoptionInstance,
555
- "person-entry.json": { data: {
556
- type: "card",
557
- attributes: {
558
- cardTitle: "Person",
559
- cardDescription: "Spec",
560
- specType: "card",
561
- ref: {
562
- module: `./person`,
563
- name: "Person"
564
- }
565
- },
566
- meta: { adoptsFrom: {
567
- module: `${baseRealmRRI}spec`,
568
- name: "Spec"
569
- } }
570
- } },
571
- "pet-entry.json": { data: {
572
- type: "card",
573
- attributes: {
574
- specType: "card",
575
- ref: {
576
- module: `./pet`,
577
- name: "Pet"
578
- }
579
- },
580
- meta: { adoptsFrom: {
581
- module: `${baseRealmRRI}spec`,
582
- name: "Spec"
583
- } }
584
- } },
585
- "pet-entry-2.json": { data: {
586
- type: "card",
587
- attributes: {
588
- specType: "card",
589
- ref: {
590
- module: `./pet`,
591
- name: "Pet"
592
- }
593
- },
594
- meta: { adoptsFrom: {
595
- module: `${baseRealmRRI}spec`,
596
- name: "Spec"
597
- } }
598
- } },
599
- "index.json": { data: {
600
- type: "card",
601
- attributes: {},
602
- meta: { adoptsFrom: {
603
- module: "./index",
604
- name: "Index"
605
- } }
606
- } },
607
- "not-json.json": "I am not JSON.",
608
- "care-guide.md": "# Care Guide\n\nWater weekly.\n",
609
- "Person/fadhlan.json": { data: {
610
- attributes: {
611
- firstName: "Fadhlan",
612
- address: [{
613
- city: "Bandung",
614
- country: "Indonesia",
615
- shippingInfo: {
616
- preferredCarrier: "DHL",
617
- remarks: `Don't let bob deliver the package--he's always bringing it to the wrong address`
618
- }
619
- }]
620
- },
621
- relationships: { pet: { links: { self: `${testRealmURL}Pet/mango` } } },
622
- meta: { adoptsFrom: {
623
- module: `${testRealmURL}person`,
624
- name: "Person"
625
- } }
626
- } },
627
- "Person/1.json": { data: {
628
- type: "card",
629
- attributes: {
630
- firstName: "Hassan",
631
- lastName: "Abdel-Rahman"
632
- },
633
- meta: { adoptsFrom: {
634
- module: rri("../person"),
635
- name: "Person"
636
- } }
637
- } },
638
- "Pet/mango.json": { data: {
639
- attributes: { name: "Mango" },
640
- meta: { adoptsFrom: {
641
- module: `${testRealmURL}pet`,
642
- name: "Pet"
643
- } }
644
- } },
645
- "Friend/amy.json": { data: {
646
- attributes: { name: "Amy" },
647
- relationships: { friend: { links: { self: `${testRealmURL}Friend/bob` } } },
648
- meta: { adoptsFrom: {
649
- module: `${testRealmURL}friend`,
650
- name: "Friend"
651
- } }
652
- } },
653
- "Friend/bob.json": { data: {
654
- attributes: { name: "Bob" },
655
- relationships: {},
656
- meta: { adoptsFrom: {
657
- module: `${testRealmURL}friend`,
658
- name: "Friend"
659
- } }
660
- } },
661
- "Person/with-friends.json": { data: {
662
- attributes: {
663
- firstName: "With",
664
- lastName: "Friends"
665
- },
666
- relationships: {
667
- "friends.0": { links: { self: `${testRealmURL}Friend/amy` } },
668
- "friends.1": { links: { self: `${testRealmURL}Friend/bob` } }
669
- },
670
- meta: { adoptsFrom: {
671
- module: `${testRealmURL}person`,
672
- name: "Person"
673
- } }
674
- } },
675
- "Country/united-states.json": { data: {
676
- type: "card",
677
- attributes: {
678
- name: "United States",
679
- cardDescription: null,
680
- cardThumbnailURL: null
681
- },
682
- meta: { adoptsFrom: {
683
- module: "../country",
684
- name: "Country"
685
- } }
686
- } },
687
- "BrokenCountry/broken-country.json": { data: {
688
- type: "card",
689
- attributes: { name: "Broken Country" },
690
- meta: { adoptsFrom: {
691
- module: "../broken-country",
692
- name: "Country"
693
- } }
694
- } },
695
- "hello.txt": txtSource,
696
- "z00.json": "{}",
697
- "z01.json": "{}",
698
- "z02.json": "{}",
699
- "z03.json": "{}",
700
- "z04.json": "{}",
701
- "z05.json": "{}",
702
- "z06.json": "{}",
703
- "z07.json": "{}",
704
- "z08.json": "{}",
705
- "z09.json": "{}",
706
- "z10.json": "{}",
707
- "z11.json": "{}",
708
- "z12.json": "{}",
709
- "z13.json": "{}",
710
- "z14.json": "{}",
711
- "z15.json": "{}",
712
- "z16.json": "{}",
713
- "z17.json": "{}",
714
- "z18.json": "{}",
715
- "z19.json": "{}",
716
- "zzz/zzz/file.json": "{}",
717
- "realm.json": realmConfigCardJSON({
718
- name: "Test Workspace B",
719
- backgroundURL: "/test-fixtures/realm-images/pawel-czerwinski-Ly-ZLa-A5jti-Y-unsplash.jpg",
720
- iconURL: "/test-fixtures/realm-images/boxel-logo.png"
721
- }),
722
- "noop.gts": `export function noop() {};\nclass NoopClass {}`
723
- }
724
- })));
725
- });
726
- (0, import_qunit.test)("defaults to inheritance view and can toggle to file view", async function(assert) {
727
- await visitOperatorMode({
728
- stacks: [[{
729
- id: `${testRealmURL}Person/1`,
730
- format: "isolated"
731
- }]],
732
- submode: "code",
733
- codePath: `${testRealmURL}Person/1.json`
734
- });
735
- await waitFor("[data-test-file-view-header]");
736
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "Inspector");
737
- assert.dom("[data-test-inspector-toggle]").hasClass("active");
738
- assert.dom("[data-test-file-browser-toggle]").doesNotHaveClass("active");
739
- await waitFor("[data-test-card-inspector-panel]");
740
- assert.dom("[data-test-card-inspector-panel]").exists();
741
- assert.dom("[data-test-file]").doesNotExist();
742
- await click("[data-test-file-browser-toggle]");
743
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "File Browser");
744
- assert.dom("[data-test-inspector-toggle]").doesNotHaveClass("active");
745
- assert.dom("[data-test-file-browser-toggle]").hasClass("active");
746
- await waitFor("[data-test-file]");
747
- assert.dom("[data-test-inheritance-placeholder]").doesNotExist();
748
- assert.dom("[data-test-file]").exists();
749
- });
750
- (0, import_qunit.test)("non-card JSON is shown as a file instance with file inheritance", async function(assert) {
751
- await visitOperatorMode({
752
- stacks: [[{
753
- id: `${testRealmURL}Person/1`,
754
- format: "isolated"
755
- }]],
756
- submode: "code",
757
- codePath: `${testRealmURL}z01.json`
758
- });
759
- await waitFor("[data-test-card-instance-definition]");
760
- assert.dom("[data-test-definition-file-extension]").hasText(".json");
761
- await waitFor("[data-test-definition-realm-name]");
762
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace B");
763
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
764
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-boxel-card-header-title]").includesText("JSON");
765
- assert.dom("[data-test-format-chooser=\"edit\"]").doesNotExist();
766
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-edit-button]").doesNotExist();
767
- assert.dom("[data-test-definition-header]").includesText("File Instance");
768
- assert.dom("[data-test-inheritance-panel-header]").includesText("File Inheritance");
769
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace B");
770
- assert.dom("[data-test-action-button=\"Delete\"]").exists();
771
- });
772
- (0, import_qunit.test)("invalid JSON is shown as a file instance with file inheritance", async function(assert) {
773
- await visitOperatorMode({
774
- stacks: [[{
775
- id: `${testRealmURL}Person/1`,
776
- format: "isolated"
777
- }]],
778
- submode: "code",
779
- codePath: `${testRealmURL}not-json.json`
780
- });
781
- await waitFor("[data-test-card-instance-definition]");
782
- assert.dom("[data-test-definition-file-extension]").hasText(".json");
783
- await waitFor("[data-test-definition-realm-name]");
784
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace B");
785
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
786
- });
787
- (0, import_qunit.test)("showing module with a syntax error will display the error", async function(assert) {
788
- let operatorModeStateParam = wrapper_default({
789
- stacks: [],
790
- submode: "code",
791
- codePath: `${testRealmURL}broken.gts`
792
- });
793
- await visit(`/?operatorModeEnabled=true&operatorModeState=${encodeURIComponent(operatorModeStateParam)}`);
794
- await waitFor("[data-test-error-details]");
795
- assert.dom("[data-test-error-details]").includesText("Parse Error at broken.gts:1:6: 1:10");
796
- assert.dom("[data-test-ai-assistant-panel]").doesNotExist();
797
- await click("[data-test-send-error-to-ai-assistant]");
798
- assert.dom("[data-test-ai-assistant-panel]").exists();
799
- assertMessages(assert, [{
800
- from: "testuser",
801
- message: `In the attachment file, I encountered an error that needs fixing: Syntax Error Stack trace: Error: Parse Error at broken.gts:1:6: 1:10`,
802
- files: [{
803
- name: "broken.gts",
804
- sourceUrl: `${testRealmURL}broken.gts`
805
- }]
806
- }]);
807
- let roomId = getService("matrix-service").currentRoomId;
808
- let lastEvent = mockMatrixUtils.getRoomEvents(roomId).pop();
809
- assert.ok(JSON.parse(lastEvent.content.data).context.agentId, "message has agentId context so that AI assistant knows not to respond to it");
810
- assert.dom("[data-test-send-error-to-ai-assistant]").exists();
811
- let originalWriteText = navigator.clipboard.writeText;
812
- let copiedText;
813
- navigator.clipboard.writeText = async (text) => {
814
- copiedText = text;
815
- return Promise.resolve();
816
- };
817
- await click("[data-test-boxel-copy-button]");
818
- const expected = "{\"message\":\"\",\"stack\":\"Error: Parse Error at broken.gts:1:6: 1:10";
819
- assert.ok(copiedText.startsWith(expected), `clipboard text starts with ${expected}`);
820
- navigator.clipboard.writeText = originalWriteText;
821
- });
822
- (0, import_qunit.test)("it shows card preview errors", async function(assert) {
823
- await visitOperatorMode({
824
- submode: "code",
825
- codePath: `${testRealmURL}not-found-adoption-instance.json`
826
- });
827
- await waitFor("[data-test-card-error]");
828
- await settled();
829
- await click("[data-test-toggle-details]");
830
- assert.dom("[data-test-error-details]").includesText(`${testRealmURL}non-card not found`);
831
- await settled();
832
- await visitOperatorMode({
833
- submode: "code",
834
- codePath: `${testRealmURL}broken-adoption-instance.json`
835
- });
836
- await waitFor("[data-test-card-error]");
837
- await settled();
838
- await click("[data-test-toggle-details]");
839
- assert.dom("[data-test-error-details]").includesText("Stack trace: Error: Encountered error rendering HTML for card: intentionalError is not defined at render");
840
- await percySnapshot(assert);
841
- });
842
- (0, import_qunit.test)("it shows card preview errors and fix it button in playground panel", async function(assert) {
843
- await visitOperatorMode({
844
- submode: "code",
845
- codePath: `${testRealmURL}broken-country.gts`
846
- });
847
- await click("[data-test-module-inspector-view=\"preview\"]");
848
- await waitFor("[data-test-card-error]");
849
- await click("[data-test-toggle-details]");
850
- assert.dom("[data-test-error-details]").includesText("Stack trace: Error: Encountered error rendering HTML for card: intentionalError is not defined at render");
851
- assert.dom("[data-test-ai-assistant-panel]").doesNotExist();
852
- await click("[data-test-send-error-to-ai-assistant]");
853
- assert.dom("[data-test-ai-assistant-panel]").exists();
854
- assertMessages(assert, [{
855
- from: "testuser",
856
- message: `In the attachment file, I encountered an error that needs fixing: Card Error Encountered error rendering HTML for card: intentionalError is not defined`,
857
- files: [{
858
- name: "broken-country.gts",
859
- sourceUrl: `${testRealmURL}broken-country.gts`
860
- }]
861
- }]);
862
- assert.dom("[data-test-send-error-to-ai-assistant]").exists();
863
- });
864
- (0, import_qunit.test)("erroring cards attached as files instead and errors are included in AI context", async function(assert) {
865
- await visitOperatorMode({
866
- submode: "code",
867
- codePath: `${testRealmURL}broken-country.gts`,
868
- aiAssistantOpen: true,
869
- moduleInspector: "preview"
870
- });
871
- assert.dom("[data-test-ai-assistant-panel]").exists();
872
- let roomId = mockMatrixUtils.getRoomIds().pop();
873
- let instanceId = document.querySelector("[data-test-card-error]")?.getAttribute("data-test-card-error");
874
- if (!instanceId) assert.ok(false, "could not find instance ID for the instance error");
875
- else {
876
- await fillIn("[data-test-message-field]", `Please try to fix the problem`);
877
- await click("[data-test-send-message-btn]");
878
- assertMessages(assert, [{
879
- from: "testuser",
880
- message: `Please try to fix the problem`,
881
- files: [{
882
- name: "broken-country.gts",
883
- sourceUrl: `${testRealmURL}broken-country.gts`
884
- }, {
885
- name: instanceId.split("/").pop(),
886
- sourceUrl: `${instanceId}.json`
887
- }]
888
- }]);
889
- }
890
- let matrixEvents = mockMatrixUtils.getRoomEvents(roomId);
891
- let lastEvent = matrixEvents[matrixEvents.length - 1];
892
- let aiContext = JSON.parse(lastEvent.content.data).context;
893
- assert.strictEqual(aiContext.errorsDisplayed[0].message, "Encountered error rendering HTML for card: intentionalError is not defined");
894
- assert.ok(aiContext.errorsDisplayed[0].stack.match(/at render/));
895
- assert.strictEqual(aiContext.errorsDisplayed[0].sourceUrl, `${testRealmURL}broken-country.gts`);
896
- });
897
- (0, import_qunit.test)("it shows card preview errors and fix it button in module inspector", async function(assert) {
898
- await visitOperatorMode({
899
- submode: "code",
900
- codePath: `${testRealmURL}BrokenCountry/broken-country.json`
901
- });
902
- assert.dom("[data-test-error-display]").exists();
903
- assert.dom("[data-test-error-display] [data-test-error-message]").hasText("Encountered error rendering HTML for card: intentionalError is not defined");
904
- assert.dom("[data-test-ai-assistant-panel]").doesNotExist();
905
- await click("[data-test-send-error-to-ai-assistant]");
906
- assert.dom("[data-test-ai-assistant-panel]").exists();
907
- assertMessages(assert, [{
908
- from: "testuser",
909
- message: `In the attachment file, I encountered an error that needs fixing: Card Error Encountered error rendering HTML for card: intentionalError is not defined`,
910
- files: [{
911
- name: "broken-country.gts",
912
- sourceUrl: `${testRealmURL}broken-country.gts`
913
- }]
914
- }]);
915
- });
916
- (0, import_qunit.test)("empty state displays default realm info", async function(assert) {
917
- await visitOperatorMode({ submode: "code" });
918
- await waitFor("[data-test-file]");
919
- assert.dom("[data-test-file]").exists();
920
- assert.dom("[data-test-file-browser-toggle]").hasClass("active");
921
- assert.dom("[data-test-card-inspector-panel]").doesNotExist();
922
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "File Browser");
923
- assert.dom("[data-test-inspector-toggle]").isDisabled();
924
- assert.dom("[data-test-empty-code-mode]").exists();
925
- assert.dom("[data-test-empty-code-mode]").containsText("Choose a file on the left to open it");
926
- assert.dom("[data-test-card-url-bar-input]").hasValue("");
927
- assert.dom("[data-test-card-url-bar-realm-info]").containsText("in Test Workspace B");
928
- });
929
- (0, import_qunit.test)("not-found state displays default realm info", async function(assert) {
930
- await visitOperatorMode({
931
- submode: "code",
932
- codePath: `${testRealmURL}perso`
933
- });
934
- await waitFor("[data-test-file]");
935
- assert.dom("[data-test-file]").exists();
936
- assert.dom("[data-test-file-browser-toggle]").hasClass("active");
937
- assert.dom("[data-test-card-inspector-panel]").doesNotExist();
938
- assert.dom("[data-test-file-view-header]").hasAttribute("aria-label", "File Browser");
939
- assert.dom("[data-test-inspector-toggle]").isDisabled();
940
- assert.dom("[data-test-empty-code-mode]").doesNotExist();
941
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}perso`);
942
- assert.dom("[data-test-card-url-bar-realm-info]").containsText("in Test Workspace B");
943
- });
944
- (0, import_qunit.module)("with connection to test realm", function(hooks) {
945
- hooks.beforeEach(function() {
946
- setActiveRealms([testRealmURL, `${testModuleRealm}`]);
947
- });
948
- (0, import_qunit.test)("code submode handles binary files", async function(assert) {
949
- await visitOperatorMode({
950
- submode: "code",
951
- codePath: `${testModuleRealm}mango.png`
952
- });
953
- await waitFor("[data-test-binary-info]");
954
- await waitFor("[data-test-definition-file-extension]");
955
- assert.dom("[data-test-definition-file-extension]").hasText(".png");
956
- await waitFor("[data-test-definition-realm-name]");
957
- assert.dom("[data-test-definition-realm-name]").hasText("in Test Workspace A");
958
- assert.dom("[data-test-definition-info-text]").containsText("Last saved");
959
- assert.dom("[data-test-binary-info] [data-test-file-name]").hasText("mango.png");
960
- assert.dom("[data-test-binary-info] [data-test-size]").hasText("114.71 kB");
961
- assert.dom("[data-test-binary-info] [data-test-last-modified]").containsText("Last modified");
962
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
963
- await percySnapshot(assert);
964
- });
965
- });
966
- (0, import_qunit.test)("can handle error when user puts unidentified domain in card URL bar", async function(assert) {
967
- await visitOperatorMode({
968
- stacks: [[{
969
- id: `${testRealmURL}Person/1`,
970
- format: "isolated"
971
- }]],
972
- submode: "code",
973
- fileView: "browser",
974
- codePath: `${testRealmURL}Person/1.json`,
975
- openDirs: { [testRealmURL]: ["Person/"] }
976
- });
977
- await fillIn("[data-test-card-url-bar-input]", `http://unknown-domain.com/test/mango.png`);
978
- await triggerKeyEvent("[data-test-card-url-bar-input]", "keypress", "Enter");
979
- await waitFor("[data-test-card-url-bar-error]");
980
- assert.dom("[data-test-card-url-bar-error]").containsText("This resource does not exist");
981
- });
982
- (0, import_qunit.test)("card preview will show in the 3rd column when submode is set to code", async function(assert) {
983
- await visitOperatorMode({
984
- stacks: [[{
985
- id: `${testRealmURL}Person/fadhlan`,
986
- format: "isolated"
987
- }]],
988
- submode: "code",
989
- codePath: `${testRealmURL}Person/fadhlan.json`
990
- });
991
- await waitFor("[data-test-card-resource-loaded]");
992
- assert.dom("[data-test-code-mode-card-renderer-header]").hasText("Person - Fadhlan");
993
- assert.dom("[data-test-code-mode-card-renderer-body]").includesText("Fadhlan");
994
- assert.dom("[data-test-format-chooser]").exists({ count: cardDefFormats.length });
995
- assert.dom("[data-test-format-chooser=\"edit\"]").exists();
996
- assert.dom("[data-test-format-chooser=\"metadata\"]").doesNotExist();
997
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-edit-button]").exists();
998
- assert.dom("[data-test-format-chooser=\"isolated\"]").hasClass("active");
999
- await click("[data-test-format-chooser=\"fitted\"]");
1000
- assert.dom("[data-test-format-chooser=\"fitted\"]").hasClass("active");
1001
- assert.dom("[data-test-code-mode-card-renderer-body ] .field-component-card.fitted-format").exists();
1002
- await click("[data-test-format-chooser=\"embedded\"]");
1003
- assert.dom("[data-test-format-chooser=\"embedded\"]").hasClass("active");
1004
- assert.dom("[data-test-code-mode-card-renderer-body ] .field-component-card.embedded-format").exists();
1005
- await click("[data-test-format-chooser=\"atom\"]");
1006
- assert.dom("[data-test-format-chooser=\"atom\"]").hasClass("active");
1007
- assert.dom("[data-test-code-mode-card-renderer-body] .atom-format").exists();
1008
- assert.dom("[data-test-code-mode-card-renderer-body] .atom-format").includesText("Fadhlan");
1009
- await click("[data-test-format-chooser=\"edit\"]");
1010
- assert.dom("[data-test-format-chooser=\"edit\"]").hasClass("active");
1011
- assert.dom("[data-test-code-mode-card-renderer-body ] .field-component-card.edit-format").exists();
1012
- await click("[data-test-format-chooser=\"markdown\"]");
1013
- assert.dom("[data-test-format-chooser=\"markdown\"]").hasClass("active");
1014
- assert.dom("[data-test-code-mode-card-renderer-body] .field-component-card.markdown-format").exists();
1015
- assert.dom("[data-test-card-schema]").doesNotExist();
1016
- });
1017
- (0, import_qunit.test)("\"form\" format button appears only for cards with a custom edit template", async function(assert) {
1018
- await visitOperatorMode({
1019
- submode: "code",
1020
- codePath: `${testRealmURL}CustomEdit/sample.json`
1021
- });
1022
- await waitFor("[data-test-card-resource-loaded]");
1023
- assert.dom("[data-test-format-chooser]").exists({ count: cardDefFormats.length + 1 });
1024
- assert.dom("[data-test-format-chooser=\"form\"]").exists("\"form\" button appears because CustomEdit defines a custom edit template");
1025
- assert.dom("[data-test-format-chooser=\"edit\"]").exists("\"edit\" button still present alongside \"form\"");
1026
- await click("[data-test-format-chooser=\"form\"]");
1027
- assert.dom("[data-test-format-chooser=\"form\"]").hasClass("active");
1028
- assert.dom("[data-test-code-mode-card-renderer-body] [data-test-custom-edit]").doesNotExist("base CardDef template is used, not the custom edit template");
1029
- assert.dom("[data-test-code-mode-card-renderer-body] .field-component-card.edit-format").exists("card renders in edit format");
1030
- await click("[data-test-format-chooser=\"edit\"]");
1031
- assert.dom("[data-test-format-chooser=\"edit\"]").hasClass("active");
1032
- assert.dom("[data-test-code-mode-card-renderer-body] [data-test-custom-edit]").exists("custom edit template is used when \"edit\" is selected");
1033
- await visitOperatorMode({
1034
- submode: "code",
1035
- codePath: `${testRealmURL}Person/fadhlan.json`
1036
- });
1037
- await waitFor("[data-test-card-resource-loaded]");
1038
- assert.dom("[data-test-format-chooser=\"form\"]").doesNotExist("\"form\" button absent for cards without a custom edit template");
1039
- });
1040
- (0, import_qunit.test)("non-card file preview shows \"metadata\" format option and not \"edit\"", async function(assert) {
1041
- await visitOperatorMode({
1042
- stacks: [[{
1043
- id: `${testRealmURL}Person/1`,
1044
- format: "isolated"
1045
- }]],
1046
- submode: "code",
1047
- codePath: `${testRealmURL}z01.json`
1048
- });
1049
- await waitFor("[data-test-code-mode-card-renderer-body]");
1050
- assert.dom("[data-test-format-chooser]").exists({ count: fileDefFormats.length });
1051
- assert.dom("[data-test-format-chooser=\"metadata\"]").exists();
1052
- assert.dom("[data-test-format-chooser=\"edit\"]").doesNotExist();
1053
- assert.dom("[data-test-format-chooser=\"isolated\"]").exists();
1054
- assert.dom("[data-test-format-chooser=\"embedded\"]").exists();
1055
- assert.dom("[data-test-format-chooser=\"fitted\"]").exists();
1056
- assert.dom("[data-test-format-chooser=\"atom\"]").exists();
1057
- assert.dom("[data-test-format-chooser=\"head\"]").exists();
1058
- assert.dom("[data-test-format-chooser=\"markdown\"]").exists();
1059
- });
1060
- (0, import_qunit.test)("clicking \"metadata\" format for a non-card file shows metadata panel with JSON-API content", async function(assert) {
1061
- await visitOperatorMode({
1062
- stacks: [[{
1063
- id: `${testRealmURL}Person/1`,
1064
- format: "isolated"
1065
- }]],
1066
- submode: "code",
1067
- codePath: `${testRealmURL}z01.json`
1068
- });
1069
- await waitFor("[data-test-code-mode-card-renderer-body]");
1070
- await click("[data-test-format-chooser=\"metadata\"]");
1071
- assert.dom("[data-test-format-chooser=\"metadata\"]").hasClass("active", "metadata button is active after clicking");
1072
- await waitFor("[data-test-metadata-panel]");
1073
- assert.dom("[data-test-metadata-panel]").exists();
1074
- await waitFor("[data-test-metadata-content]");
1075
- assert.dom("[data-test-metadata-content]").exists();
1076
- let content = document.querySelector("[data-test-metadata-content]")?.textContent ?? "";
1077
- assert.true(content.includes("\"file-meta\""), "metadata content includes \"file-meta\" type");
1078
- assert.true(content.includes("adoptsFrom"), "metadata content includes adoptsFrom");
1079
- });
1080
- (0, import_qunit.test)("switching away from \"metadata\" format hides the metadata panel", async function(assert) {
1081
- await visitOperatorMode({
1082
- stacks: [[{
1083
- id: `${testRealmURL}Person/1`,
1084
- format: "isolated"
1085
- }]],
1086
- submode: "code",
1087
- codePath: `${testRealmURL}z01.json`
1088
- });
1089
- await waitFor("[data-test-code-mode-card-renderer-body]");
1090
- await click("[data-test-format-chooser=\"metadata\"]");
1091
- await waitFor("[data-test-metadata-panel]");
1092
- assert.dom("[data-test-metadata-panel]").exists();
1093
- await click("[data-test-format-chooser=\"isolated\"]");
1094
- assert.dom("[data-test-metadata-panel]").doesNotExist("metadata panel is hidden after switching formats");
1095
- assert.dom("[data-test-format-chooser=\"isolated\"]").hasClass("active", "isolated button is active after switching");
1096
- });
1097
- (0, import_qunit.test)("format chooser flips to compact mode in a narrow preview panel and restores on widen", async function(assert) {
1098
- await visitOperatorMode({
1099
- stacks: [[{
1100
- id: `${testRealmURL}Person/fadhlan`,
1101
- format: "isolated"
1102
- }]],
1103
- submode: "code",
1104
- codePath: `${testRealmURL}Person/fadhlan.json`
1105
- });
1106
- await waitFor("[data-test-code-mode-card-renderer-body]");
1107
- let chooser = document.querySelector("[data-test-format-chooser-root]");
1108
- assert.ok(chooser, "format chooser is rendered");
1109
- assert.dom("[data-test-format-chooser-root]").hasAttribute("data-test-format-chooser-mode", "full", "chooser starts in full icon+text mode");
1110
- let previewResizeHandle = Array.from(document.querySelectorAll("[data-test-code-mode] .separator-horizontal[data-boxel-panel-resize-handle-id]")).at(-1);
1111
- assert.ok(previewResizeHandle, "preview panel resize handle exists");
1112
- let editorPanel = previewResizeHandle.previousElementSibling;
1113
- let previewPanel = previewResizeHandle.nextElementSibling;
1114
- assert.dom(editorPanel).hasAttribute("data-boxel-panel-id", /.+/, "the element before the handle is a resizable panel");
1115
- assert.dom(previewPanel).hasAttribute("data-boxel-panel-id", /.+/, "the element after the handle is a resizable panel");
1116
- let initialEditorWidth = editorPanel.getBoundingClientRect().width;
1117
- let initialPreviewWidth = previewPanel.getBoundingClientRect().width;
1118
- let dragDistance = Math.round(initialPreviewWidth * .75);
1119
- let shrinkRect = previewResizeHandle.getBoundingClientRect();
1120
- await triggerEvent(previewResizeHandle, "pointerdown", {
1121
- button: 0,
1122
- pointerId: 1,
1123
- clientX: shrinkRect.x + shrinkRect.width / 2,
1124
- clientY: shrinkRect.y + shrinkRect.height / 2
1125
- });
1126
- await triggerEvent(previewResizeHandle, "pointermove", {
1127
- pointerId: 1,
1128
- buttons: 1,
1129
- clientX: shrinkRect.x + shrinkRect.width / 2 + dragDistance,
1130
- clientY: shrinkRect.y + shrinkRect.height / 2
1131
- });
1132
- await triggerEvent(previewResizeHandle, "pointerup", {
1133
- pointerId: 1,
1134
- clientX: shrinkRect.x + shrinkRect.width / 2 + dragDistance,
1135
- clientY: shrinkRect.y + shrinkRect.height / 2
1136
- });
1137
- await waitUntil(() => chooser?.getAttribute("data-test-format-chooser-mode") === "compact");
1138
- assert.dom("[data-test-format-chooser-root]").hasAttribute("data-test-format-chooser-mode", "compact", "chooser switches to compact icon-only mode");
1139
- let embeddedButton = document.querySelector("[data-test-format-chooser=\"embedded\"]");
1140
- assert.ok(embeddedButton, "embedded format button exists");
1141
- let embeddedRect = embeddedButton.getBoundingClientRect();
1142
- await triggerEvent(embeddedButton, "mouseenter", {
1143
- clientX: embeddedRect.x + embeddedRect.width / 2,
1144
- clientY: embeddedRect.y + embeddedRect.height / 2
1145
- });
1146
- await triggerEvent(embeddedButton, "mousemove", {
1147
- clientX: embeddedRect.x + embeddedRect.width / 2,
1148
- clientY: embeddedRect.y + embeddedRect.height / 2
1149
- });
1150
- await waitFor("[data-test-tooltip-content]");
1151
- assert.dom("[data-test-tooltip-content]").hasText("embedded", "compact chooser shows an instant hover tooltip");
1152
- let widenRect = previewResizeHandle.getBoundingClientRect();
1153
- await triggerEvent(previewResizeHandle, "pointerdown", {
1154
- button: 0,
1155
- pointerId: 2,
1156
- clientX: widenRect.x + widenRect.width / 2,
1157
- clientY: widenRect.y + widenRect.height / 2
1158
- });
1159
- await triggerEvent(previewResizeHandle, "pointermove", {
1160
- pointerId: 2,
1161
- buttons: 1,
1162
- clientX: widenRect.x + widenRect.width / 2 - dragDistance,
1163
- clientY: widenRect.y + widenRect.height / 2
1164
- });
1165
- await triggerEvent(previewResizeHandle, "pointerup", {
1166
- pointerId: 2,
1167
- clientX: widenRect.x + widenRect.width / 2 - dragDistance,
1168
- clientY: widenRect.y + widenRect.height / 2
1169
- });
1170
- await waitUntil(() => chooser?.getAttribute("data-test-format-chooser-mode") === "full");
1171
- await triggerEvent(chooser, "mouseleave");
1172
- assert.dom("[data-test-format-chooser-root]").hasAttribute("data-test-format-chooser-mode", "full", "chooser returns to full icon+text mode after widening");
1173
- assert.dom("[data-test-tooltip-content]").doesNotExist("compact tooltip does not stick after widening");
1174
- assert.dom("[data-test-format-chooser-pill-label]").hasText("isolated", "full chooser label is restored");
1175
- assert.ok(Math.abs(previewPanel.getBoundingClientRect().width - initialPreviewWidth) <= 1, "preview panel is back to the width it started at");
1176
- assert.ok(Math.abs(editorPanel.getBoundingClientRect().width - initialEditorWidth) <= 1, "code editor panel is back to the width it started at");
1177
- });
1178
- (0, import_qunit.test)("displays clear message when a schema-editor incompatible item is selected within a valid file type", async function(assert) {
1179
- await visitOperatorMode({
1180
- submode: "code",
1181
- codePath: `${testRealmURL}employee.gts`
1182
- });
1183
- await waitFor("[data-test-loading-indicator]", { count: 0 });
1184
- await waitFor("[data-test-in-this-file-selector] [data-test-boxel-selector-item-selected]");
1185
- assert.dom("[data-test-in-this-file-selector] [data-test-boxel-selector-item-selected]").hasText("isHourly function");
1186
- assert.dom("[data-test-schema-editor-file-incompatibility-message]").hasText(`No tools are available for the selected item: function "isHourly". Select a card or field definition in the inspector.`);
1187
- await click("[data-test-boxel-selector-item-text=\"Isolated\"]");
1188
- await waitFor("[data-test-loading-indicator]", { count: 0 });
1189
- assert.dom("[data-test-in-this-file-selector] [data-test-boxel-selector-item-selected]").hasText("Isolated class");
1190
- assert.dom("[data-test-schema-editor-file-incompatibility-message]").hasText(`No tools are available for the selected item: class "Isolated". Select a card or field definition in the inspector.`);
1191
- await visitOperatorMode({
1192
- submode: "code",
1193
- codePath: `${testRealmURL}employee.gts`
1194
- });
1195
- await waitFor("[data-test-loading-indicator]", { count: 0 });
1196
- assert.dom("[data-test-schema-editor-file-incompatibility-message]").exists();
1197
- });
1198
- (0, import_qunit.test)("displays clear message on schema-editor when file is completely unsupported", async function(assert) {
1199
- await visitOperatorMode({
1200
- submode: "code",
1201
- codePath: `${testRealmURL}hello.txt`
1202
- });
1203
- assert.dom("[data-test-code-mode-card-renderer-body]").exists();
1204
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-boxel-card-header-title]").includesText("File");
1205
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-boxel-card-header-title]").includesText("hello.txt");
1206
- assert.dom("[data-test-format-chooser=\"edit\"]").doesNotExist();
1207
- assert.dom("[data-test-code-mode-card-renderer-header] [data-test-edit-button]").doesNotExist();
1208
- await waitFor("[data-test-definition-file-extension]");
1209
- assert.dom("[data-test-definition-file-extension]").hasText(".txt");
1210
- });
1211
- (0, import_qunit.test)("Clicking card in search panel opens card JSON in editor", async function(assert) {
1212
- await visitOperatorMode({
1213
- submode: "code",
1214
- codePath: `${testRealmURL}employee.gts`
1215
- });
1216
- assert.dom("[data-test-search-sheet]").doesNotHaveClass("prompt");
1217
- await click("[data-test-open-search-field]");
1218
- assert.dom("[data-test-search-sheet]").hasClass("prompt");
1219
- await fillIn("[data-test-search-field]", "Mango");
1220
- assert.dom("[data-test-search-sheet]").hasClass("results");
1221
- await waitFor(`[data-test-search-result="${testRealmURL}Pet/mango"]`, { timeout: 2e3 });
1222
- await click(`[data-test-search-result="${testRealmURL}Pet/mango"]`);
1223
- assert.dom("[data-test-search-sheet]").doesNotHaveClass("results");
1224
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1225
- attributes: { name: "Mango" },
1226
- meta: { adoptsFrom: {
1227
- module: `${testRealmURL}pet`,
1228
- name: "Pet"
1229
- } }
1230
- } });
1231
- });
1232
- (0, import_qunit.test)("Clicking a search result while the dashboard is open closes the dashboard and shows the file", async function(assert) {
1233
- await visitOperatorMode({
1234
- submode: "code",
1235
- codePath: `${testRealmURL}employee.gts`,
1236
- workspaceChooserOpened: true
1237
- });
1238
- assert.dom("[data-test-dashboard]").exists();
1239
- await click("[data-test-open-search-field]");
1240
- await fillIn("[data-test-search-field]", "Mango");
1241
- await waitFor(`[data-test-search-result="${testRealmURL}Pet/mango"]`, { timeout: 2e3 });
1242
- await click(`[data-test-search-result="${testRealmURL}Pet/mango"]`);
1243
- assert.dom("[data-test-dashboard]").doesNotExist();
1244
- await waitFor("[data-test-card-url-bar-input]");
1245
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}Pet/mango.json`);
1246
- });
1247
- (0, import_qunit.test)("Clicking a file in search panel opens the file itself (no .json appended)", async function(assert) {
1248
- await visitOperatorMode({
1249
- submode: "code",
1250
- codePath: `${testRealmURL}employee.gts`
1251
- });
1252
- await click("[data-test-open-search-field]");
1253
- await fillIn("[data-test-search-field]", "care-guide");
1254
- await waitFor(`[data-test-search-result="${testRealmURL}care-guide.md"]`, { timeout: 2e3 });
1255
- await click(`[data-test-search-result="${testRealmURL}care-guide.md"]`);
1256
- assert.dom("[data-test-search-sheet]").doesNotHaveClass("results");
1257
- await waitFor("[data-test-card-url-bar-input]");
1258
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}care-guide.md`, "the file opens at its own URL, without a .json extension appended");
1259
- assert.true(getMonacoContent().includes("Care Guide"), "the markdown file content is loaded in the editor");
1260
- });
1261
- (0, import_qunit.test)("clicking a linksTo field in card renderer panel opens the linked card JSON", async function(assert) {
1262
- let operatorModeStateService = getService("operator-mode-state-service");
1263
- await visitOperatorMode({
1264
- stacks: [[{
1265
- id: `${testRealmURL}Friend/amy`,
1266
- format: "isolated"
1267
- }]],
1268
- submode: "code",
1269
- codePath: `${testRealmURL}Friend/amy.json`
1270
- });
1271
- await waitFor("[data-test-code-mode-card-renderer-body]");
1272
- assert.dom(`[data-test-card="${testRealmURL}Friend/amy"]`).exists();
1273
- await waitFor(`[data-test-card="${testRealmURL}Friend/bob"]`);
1274
- await click(`[data-test-card="${testRealmURL}Friend/bob"]`);
1275
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/bob.json"));
1276
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/bob.json`);
1277
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1278
- attributes: { name: "Bob" },
1279
- meta: { adoptsFrom: {
1280
- module: `${testRealmURL}friend`,
1281
- name: "Friend"
1282
- } },
1283
- relationships: {}
1284
- } });
1285
- });
1286
- (0, import_qunit.test)("clicking a linksToMany field in card renderer panel opens the linked card JSON", async function(assert) {
1287
- let operatorModeStateService = getService("operator-mode-state-service");
1288
- await visitOperatorMode({
1289
- stacks: [[{
1290
- id: `${testRealmURL}Person/with-friends`,
1291
- format: "isolated"
1292
- }]],
1293
- submode: "code",
1294
- codePath: `${testRealmURL}Person/with-friends.json`
1295
- });
1296
- await waitFor("[data-test-code-mode-card-renderer-body]");
1297
- assert.dom(`[data-test-card="${testRealmURL}Person/with-friends"]`).exists();
1298
- await waitFor(`[data-test-card="${testRealmURL}Friend/bob"]`);
1299
- await click(`[data-test-card="${testRealmURL}Friend/bob"]`);
1300
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/bob.json"));
1301
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/bob.json`);
1302
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1303
- attributes: { name: "Bob" },
1304
- meta: { adoptsFrom: {
1305
- module: `${testRealmURL}friend`,
1306
- name: "Friend"
1307
- } },
1308
- relationships: {}
1309
- } });
1310
- });
1311
- (0, import_qunit.test)("clicking a linksTo field in playground panel opens the linked card JSON", async function(assert) {
1312
- let operatorModeStateService = getService("operator-mode-state-service");
1313
- await visitOperatorMode({
1314
- stacks: [[{
1315
- id: `${testRealmURL}Friend/amy`,
1316
- format: "isolated"
1317
- }]],
1318
- submode: "code",
1319
- codePath: `${testRealmURL}friend.gts`
1320
- });
1321
- await click("[data-test-module-inspector-view=\"preview\"]");
1322
- assert.dom(`[data-test-card="${testRealmURL}Friend/amy"]`).exists();
1323
- await click(`[data-test-card="${testRealmURL}Friend/bob"]`);
1324
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/bob.json"));
1325
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/bob.json`);
1326
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1327
- attributes: { name: "Bob" },
1328
- meta: { adoptsFrom: {
1329
- module: `${testRealmURL}friend`,
1330
- name: "Friend"
1331
- } },
1332
- relationships: {}
1333
- } });
1334
- });
1335
- (0, import_qunit.test)("clicking a linksToMany field in playground panel opens the linked card JSON", async function(assert) {
1336
- let operatorModeStateService = getService("operator-mode-state-service");
1337
- setPlaygroundSelections({ [`${testRealmURL}person/Person`]: {
1338
- cardId: rri(`${testRealmURL}Person/with-friends`),
1339
- format: "isolated"
1340
- } });
1341
- await visitOperatorMode({
1342
- stacks: [[{
1343
- id: `${testRealmURL}Person/with-friends`,
1344
- format: "isolated"
1345
- }]],
1346
- submode: "code",
1347
- codePath: `${testRealmURL}person.gts`
1348
- });
1349
- await click("[data-test-module-inspector-view=\"preview\"]");
1350
- assert.dom(`[data-test-card="${testRealmURL}Person/with-friends"]`).exists();
1351
- await waitFor(`[data-test-card="${testRealmURL}Friend/amy"]`);
1352
- await click(`[data-test-card="${testRealmURL}Friend/amy"]`);
1353
- await waitUntil(() => operatorModeStateService.state?.codePath?.endsWith("Friend/amy.json"));
1354
- assert.strictEqual(operatorModeStateService.state?.codePath, `${testRealmURL}Friend/amy.json`);
1355
- assert.deepEqual(JSON.parse(getMonacoContent()), { data: {
1356
- attributes: { name: "Amy" },
1357
- meta: { adoptsFrom: {
1358
- module: `${testRealmURL}friend`,
1359
- name: "Friend"
1360
- } },
1361
- relationships: { friend: { links: { self: `${testRealmURL}Friend/bob` } } }
1362
- } });
1363
- });
1364
- (0, import_qunit.test)("changes cursor position when selected module declaration is changed", async function(assert) {
1365
- await visitOperatorMode({
1366
- submode: "code",
1367
- codePath: `${testRealmURL}in-this-file.gts`
1368
- });
1369
- await waitFor("[data-test-card-inspector-panel]");
1370
- await waitFor("[data-test-current-module-name]");
1371
- await waitFor("[data-test-in-this-file-selector]");
1372
- let elementName = "default (DefaultClass) class";
1373
- assert.dom("[data-test-boxel-selector-item]:nth-of-type(11)").hasText(elementName);
1374
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(elementName);
1375
- assert.true(monacoService.getLineCursorOn()?.includes("DefaultClass"), "cursor is on DefaultClass line");
1376
- elementName = "ExportedCard";
1377
- await click(`[data-test-boxel-selector-item-text="${elementName}"]`);
1378
- assert.true(monacoService.getLineCursorOn()?.includes(elementName), "cursor is on ExportedCard line");
1379
- elementName = "ExportedField";
1380
- await click(`[data-test-boxel-selector-item-text="${elementName}"]`);
1381
- assert.true(monacoService.getLineCursorOn()?.includes(elementName), "cursor is on ExportedField line");
1382
- elementName = "exportedFunction";
1383
- await click(`[data-test-boxel-selector-item-text="${elementName}"]`);
1384
- assert.true(monacoService.getLineCursorOn()?.includes(elementName), "cursor is on exportedFunction line");
1385
- });
1386
- (0, import_qunit.test)("changes selected module declaration when cursor position is changed", async function(assert) {
1387
- await visitOperatorMode({
1388
- submode: "code",
1389
- codePath: `${testRealmURL}in-this-file.gts`
1390
- });
1391
- await waitFor("[data-test-card-inspector-panel]");
1392
- await waitFor("[data-test-current-module-name]");
1393
- await waitFor("[data-test-in-this-file-selector]");
1394
- let elementName = "default (DefaultClass) class";
1395
- assert.dom("[data-test-boxel-selector-item]:nth-of-type(11)").hasText(elementName);
1396
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(elementName);
1397
- assert.true(monacoService.getLineCursorOn()?.includes("DefaultClass"));
1398
- elementName = "ExportedFieldInheritLocalField";
1399
- let position = new Position(45, 0);
1400
- monacoService.updateCursorPosition(position);
1401
- await waitFor(`[data-test-boxel-selector-item-selected] [data-test-boxel-selector-item-text="${elementName}"]`);
1402
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(`${elementName} field def`);
1403
- elementName = "LocalField";
1404
- position = new Position(38, 0);
1405
- monacoService.updateCursorPosition(position);
1406
- await waitFor(`[data-test-boxel-selector-item-selected] [data-test-boxel-selector-item-text="${elementName}"]`);
1407
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(`${elementName} field def`);
1408
- elementName = "ExportedCard";
1409
- position = new Position(31, 0);
1410
- monacoService.updateCursorPosition(position);
1411
- await waitFor(`[data-test-boxel-selector-item-selected] [data-test-boxel-selector-item-text="${elementName}"]`);
1412
- assert.dom("[data-test-boxel-selector-item-selected]").hasText(`${elementName} card def`);
1413
- });
1414
- (0, import_qunit.test)("the monaco cursor position is maintained during an auto-save", async function(assert) {
1415
- assert.expect(2);
1416
- await visitOperatorMode({
1417
- submode: "code",
1418
- codePath: `${testRealmURL}in-this-file.gts`
1419
- });
1420
- let originalPosition;
1421
- setMonacoContent(`// This is a change \n${inThisFileSource}`);
1422
- monacoService.updateCursorPosition(new Position(45, 0));
1423
- originalPosition = monacoService.getCursorPosition();
1424
- await waitFor("[data-test-saved]");
1425
- await waitFor("[data-test-save-idle]");
1426
- let currentPosition = monacoService.getCursorPosition();
1427
- assert.strictEqual(originalPosition.lineNumber, currentPosition?.lineNumber, "cursor position line number has not changed");
1428
- assert.strictEqual(originalPosition.column, currentPosition?.column, "cursor position column has not changed");
1429
- });
1430
- (0, import_qunit.test)("cursor is placed at the correct declaration when user opens definition", async function(assert) {
1431
- await visitOperatorMode({
1432
- submode: "code",
1433
- codePath: `${testRealmURL}employee.gts`
1434
- });
1435
- await waitFor(`[data-boxel-selector-item-text="Employee"]`);
1436
- await click(`[data-boxel-selector-item-text="Employee"]`);
1437
- let lineCursorOn = monacoService.getLineCursorOn();
1438
- assert.true(lineCursorOn?.includes("Employee"), "cursor is at Employee declaration");
1439
- await click(`[data-test-clickable-definition-container`);
1440
- await waitFor(`[data-boxel-selector-item-text="Person"]`);
1441
- await waitUntil(() => monacoService.hasFocus);
1442
- lineCursorOn = monacoService.getLineCursorOn();
1443
- assert.true(lineCursorOn?.includes("Person"), "cursor is at Person declaration");
1444
- });
1445
- (0, import_qunit.test)("cursor must not be in editor if user focuses on other elements", async function(assert) {
1446
- await visitOperatorMode({
1447
- submode: "code",
1448
- codePath: `${testRealmURL}employee.gts`
1449
- });
1450
- await waitFor(`[data-boxel-selector-item-text="Employee"]`);
1451
- await click(`[data-boxel-selector-item-text="Employee"]`);
1452
- assert.true(monacoService.hasFocus);
1453
- await fillIn("[data-test-card-url-bar] input", `${testRealmURL}person.gts`);
1454
- assert.false(monacoService.hasFocus);
1455
- await triggerKeyEvent("[data-test-card-url-bar-input]", "keypress", "Enter");
1456
- await waitFor(`[data-boxel-selector-item-text="Person"]`);
1457
- assert.true(monacoService.hasFocus);
1458
- await fillIn("[data-test-card-url-bar] input", `${testRealmURL}person.gts-test`);
1459
- assert.false(monacoService.hasFocus);
1460
- });
1461
- (0, import_qunit.test)("scroll position persists when changing card preview format", async function(assert) {
1462
- await visitOperatorMode({
1463
- submode: "code",
1464
- codePath: `${testRealmURL}Pet/mango.json`
1465
- });
1466
- await waitFor("[data-test-code-mode-card-renderer-body]");
1467
- await scrollTo("[data-test-code-mode-card-renderer-body]", 0, 100);
1468
- await click("[data-test-format-chooser=\"edit\"]");
1469
- await click("[data-test-format-chooser=\"isolated\"]");
1470
- let element = document.querySelector("[data-test-code-mode-card-renderer-body]");
1471
- assert.strictEqual(element.scrollTop, 100, "the scroll position is correct");
1472
- });
1473
- (0, import_qunit.skip)("updates values in preview panel must be represented in editor panel", async function(assert) {
1474
- await visitOperatorMode({
1475
- submode: "code",
1476
- codePath: `${testRealmURL}Person/fadhlan.json`
1477
- });
1478
- await waitFor("[data-test-code-mode-card-renderer-body]");
1479
- await click("[data-test-format-chooser=\"edit\"]");
1480
- await fillIn("[data-test-field=\"lastName\"] input", "Ridhwanallah");
1481
- await fillIn("[data-test-field=\"streetAddress\"] input", "Unknown Address");
1482
- await fillIn("[data-test-field=\"city\"] input", "Bandung");
1483
- await fillIn("[data-test-field=\"fiveDigitPostalCode\"] input", "12345");
1484
- await fillIn("[data-test-field=\"fourDigitOptional\"] input", "1234");
1485
- await click("[data-test-links-to-many=\"countriesVisited\"] [data-test-add-new]");
1486
- await waitFor(`[data-test-item-button="${testRealmURL}Country/united-states"]`);
1487
- await click(`[data-test-item-button="${testRealmURL}Country/united-states"]`);
1488
- await click(`[data-test-card-chooser-go-button]`);
1489
- await waitFor("[data-test-saved]");
1490
- await waitFor("[data-test-save-idle]");
1491
- await settled();
1492
- let content = getMonacoContent();
1493
- await waitUntil(() => content.includes("Ridhwanallah"));
1494
- assert.ok(content.includes("Ridhwanallah"), "content includes Ridhwanallah");
1495
- assert.ok(content.includes("Unknown Address"), "content includes Unknown Address");
1496
- assert.ok(content.includes("Bandung"), "content includes Bandung");
1497
- assert.ok(content.includes("12345"), "content includes 12345");
1498
- assert.ok(content.includes("1234"), "content includes 1234");
1499
- assert.ok(content.includes(`${testRealmURL}Country/united-states`), "content includes Country/united-states");
1500
- });
1501
- (0, import_qunit.test)("monaco editor shows a change made just after the file opens", async function(assert) {
1502
- await visitOperatorMode({
1503
- submode: "code",
1504
- codePath: `${testRealmURL}Person/fadhlan.json`
1505
- });
1506
- await waitUntil(() => getMonacoContent().includes("Fadhlan"), { timeout: 5e3 });
1507
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1508
- type: "card",
1509
- attributes: { firstName: "FadhlanYYY" },
1510
- meta: { adoptsFrom: {
1511
- module: rri("../person"),
1512
- name: "Person"
1513
- } }
1514
- } }));
1515
- await waitUntil(() => getMonacoContent().includes("FadhlanYYY"), {
1516
- timeout: 5e3,
1517
- timeoutMessage: "monaco did not show the change made elsewhere"
1518
- });
1519
- assert.strictEqual(JSON.parse(getMonacoContent()).data.attributes.firstName, "FadhlanYYY", "monaco shows the saved document");
1520
- });
1521
- (0, import_qunit.test)("monaco editor live updates when index changes", async function(assert) {
1522
- await visitOperatorMode({
1523
- stacks: [[{
1524
- id: `${testRealmURL}Person/fadhlan`,
1525
- format: "isolated"
1526
- }]],
1527
- submode: "code",
1528
- codePath: `${testRealmURL}Person/fadhlan.json`
1529
- });
1530
- await waitUntil(() => getMonacoContent().includes("Fadhlan"), { timeout: 5e3 });
1531
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1532
- type: "card",
1533
- attributes: { firstName: "FadhlanXXX" },
1534
- meta: { adoptsFrom: {
1535
- module: rri("../person"),
1536
- name: "Person"
1537
- } }
1538
- } }));
1539
- try {
1540
- await waitUntil(() => getMonacoContent().includes("FadhlanXXX"), { timeout: 5e3 });
1541
- } catch (err) {
1542
- let monacoContent = getMonacoContent();
1543
- let sourceProbe;
1544
- let sourceOk;
1545
- try {
1546
- let res = await getService("network").authedFetch(`${testRealmURL}Person/fadhlan.json`, { headers: { Accept: "application/vnd.card+source" } });
1547
- let body = await res.text();
1548
- sourceOk = res.ok;
1549
- sourceProbe = sourceOk ? body : `<source-probe non-ok: ${res.status} ${res.statusText} body=${JSON.stringify(body)}>`;
1550
- } catch (e) {
1551
- sourceOk = false;
1552
- sourceProbe = `<source-probe error: ${e?.message ?? e}>`;
1553
- }
1554
- console.warn(`[monaco-live-updates flake-probe] waitUntil timed out. monaco includes "FadhlanXXX"=${monacoContent.includes("FadhlanXXX")}; source fetch ok=${sourceOk}; source on disk includes "FadhlanXXX"=${sourceOk && sourceProbe.includes("FadhlanXXX")}. monaco snapshot: ${JSON.stringify(monacoContent)}. source snapshot: ${JSON.stringify(sourceProbe)}.`);
1555
- throw err;
1556
- }
1557
- assert.true(getMonacoContent().includes("FadhlanXXX"), "monaco editor updated from index event");
1558
- });
1559
- (0, import_qunit.test)("code editor shows size limit error when json save exceeds limit", async function(assert) {
1560
- let environmentService = getService("environment-service");
1561
- let originalMaxSize = environmentService.cardSizeLimitBytes;
1562
- try {
1563
- await visitOperatorMode({
1564
- submode: "code",
1565
- codePath: `${testRealmURL}person-entry.json`
1566
- });
1567
- await waitFor("[data-test-editor]");
1568
- let content = getMonacoContent();
1569
- let currentSize = new TextEncoder().encode(content).length;
1570
- environmentService.cardSizeLimitBytes = currentSize + 50;
1571
- let doc = JSON.parse(content);
1572
- doc.data.attributes = {
1573
- ...doc.data.attributes ?? {},
1574
- title: "x".repeat(currentSize + 200)
1575
- };
1576
- setMonacoContent(JSON.stringify(doc, null, 2));
1577
- await waitFor("[data-test-save-error]");
1578
- assert.dom("[data-test-save-error]").includesText(`exceeds maximum allowed size (${environmentService.cardSizeLimitBytes} bytes)`);
1579
- } finally {
1580
- environmentService.cardSizeLimitBytes = originalMaxSize;
1581
- }
1582
- });
1583
- (0, import_qunit.test)("card preview live updates when index changes", async function(assert) {
1584
- await visitOperatorMode({
1585
- stacks: [[{
1586
- id: `${testRealmURL}Person/fadhlan`,
1587
- format: "isolated"
1588
- }]],
1589
- submode: "code",
1590
- codePath: `${testRealmURL}Person/fadhlan.json`
1591
- });
1592
- await waitFor("[data-test-card-resource-loaded]");
1593
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1594
- type: "card",
1595
- attributes: { firstName: "FadhlanXXX" },
1596
- meta: { adoptsFrom: {
1597
- module: rri("../person"),
1598
- name: "Person"
1599
- } }
1600
- } }));
1601
- await settled();
1602
- let previewText = () => document.querySelector("[data-test-code-mode-card-renderer-body]")?.textContent ?? "";
1603
- if (!previewText().includes("FadhlanXXX")) {
1604
- let realmEvents = mockMatrixUtils.getRoomIds().flatMap((roomId) => mockMatrixUtils.getRoomEvents(roomId)).filter((event) => event.type === APP_BOXEL_REALM_EVENT_TYPE).slice(-5).map((event) => event.content);
1605
- let instance = getService("store").peek(`${testRealmURL}Person/fadhlan`);
1606
- console.warn(`[card-preview-live-updates flake-probe] preview not updated after settled(). store firstName=${JSON.stringify(instance?.firstName)}; preview text=${JSON.stringify(previewText())}; last realm events in mock homeserver=${JSON.stringify(realmEvents)}.`);
1607
- }
1608
- assert.dom("[data-test-code-mode-card-renderer-body]").includesText("FadhlanXXX");
1609
- });
1610
- (0, import_qunit.test)("card preview live updates when there is a change in module", async function(assert) {
1611
- const personGts = `
1612
- import { contains, containsMany, field, linksTo, linksToMany, CardDef, Component } from "@cardstack/base/card-api";
1613
- import StringField from "@cardstack/base/string";
1614
- import { Friend } from './friend';
1615
- import { Pet } from "./pet";
1616
- import { Address } from './address';
1617
- import { Trips } from './trips';
1618
-
1619
- export class Person extends CardDef {
1620
- static displayName = 'Person';
1621
- @field firstName = contains(StringField);
1622
- @field lastName = contains(StringField);
1623
- @field cardTitle = contains(StringField, {
1624
- computeVia: function (this: Person) {
1625
- return [this.firstName, this.lastName].filter(Boolean).join(' ');
1626
- },
1627
- });
1628
- @field pet = linksTo(Pet);
1629
- @field friends = linksToMany(Friend);
1630
- @field address = containsMany(StringField);
1631
- @field addressDetail = contains(Address);
1632
- @field trips = contains(Trips);
1633
- static isolated = class Isolated extends Component<typeof this> {
1634
- <template>
1635
- <div data-test-person>
1636
- Hello <@fields.firstName />
1637
- </div>
1638
- <style scoped>
1639
- div {
1640
- color: blue;
1641
- }
1642
- </style>
1643
- </template>
1644
- };
1645
- };
1646
- `;
1647
- const getElementColor = (selector) => {
1648
- let element = document.querySelector(selector);
1649
- if (!element) return;
1650
- return src_default.getComputedStyle(element).color;
1651
- };
1652
- await visitOperatorMode({
1653
- stacks: [],
1654
- submode: "code",
1655
- codePath: `${testRealmURL}Person/1.json`
1656
- });
1657
- await waitFor("[data-test-card-resource-loaded]");
1658
- assert.dom("[data-test-person]").containsText("First name: Hassan");
1659
- assert.strictEqual(getElementColor("[data-test-person]"), "rgb(0, 128, 0)");
1660
- await realm.write("person.gts", personGts);
1661
- await waitUntil(() => document.querySelector("[data-test-person]")?.textContent?.includes("Hello"), { timeout: 5e3 });
1662
- assert.dom("[data-test-person]").includesText("Hello Hassan");
1663
- assert.strictEqual(getElementColor("[data-test-person]"), "rgb(0, 0, 255)");
1664
- await click("[data-test-file-browser-toggle]");
1665
- await click("[data-test-file=\"Person/1.json\"]");
1666
- assert.dom("[data-test-person]").includesText("Hello Hassan");
1667
- assert.strictEqual(getElementColor("[data-test-person]"), "rgb(0, 0, 255)");
1668
- });
1669
- (0, import_qunit.test)("card preview live updates with error", async function(assert) {
1670
- await visitOperatorMode({
1671
- submode: "code",
1672
- codePath: `${testRealmURL}Person/fadhlan.json`
1673
- });
1674
- await waitFor("[data-test-card-resource-loaded]");
1675
- assert.dom("[data-test-card-error]").doesNotExist("card error state is not displayed");
1676
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1677
- type: "card",
1678
- meta: { adoptsFrom: {
1679
- module: rri("../missing-person"),
1680
- name: "MissingPerson"
1681
- } }
1682
- } }));
1683
- await settled();
1684
- assert.dom("[data-test-card-error]").exists("card error state is displayed");
1685
- await realm.write("Person/fadhlan.json", JSON.stringify({ data: {
1686
- type: "card",
1687
- meta: { adoptsFrom: {
1688
- module: rri("../person"),
1689
- name: "Person"
1690
- } }
1691
- } }));
1692
- await settled();
1693
- assert.dom("[data-test-card-error]").doesNotExist("card error state is not displayed");
1694
- });
1695
- (0, import_qunit.test)("card-chooser does not offer to \"create new card\" when editing linked fields in code mode", async function(assert) {
1696
- await visitOperatorMode({
1697
- submode: "code",
1698
- codePath: `${testRealmURL}Person/fadhlan.json`
1699
- });
1700
- await waitFor("[data-test-card-resource-loaded]");
1701
- assert.dom(`[data-test-code-mode-card-renderer-header="${testRealmURL}Person/fadhlan"]`).exists();
1702
- await click("[data-test-format-chooser=\"edit\"]");
1703
- await click("[data-test-links-to-editor=\"pet\"] [data-test-remove-card]");
1704
- await waitFor("[data-test-links-to-editor=\"pet\"] [data-test-add-new]");
1705
- await click("[data-test-links-to-editor=\"pet\"] [data-test-add-new]");
1706
- await waitFor("[data-test-card-chooser-modal]");
1707
- assert.dom("[data-test-card-chooser-modal] [data-test-boxel-header-title]").containsText("Choose a Pet card");
1708
- assert.dom("[data-test-item-button-create-new]").doesNotExist("can not create new card for linksTo field in code mode");
1709
- await click("[aria-label=\"close modal\"]");
1710
- await waitFor("[data-test-card-chooser-modal]", { count: 0 });
1711
- await click("[data-test-links-to-many=\"friends\"] [data-test-add-new]");
1712
- await waitFor("[data-test-card-chooser-modal]");
1713
- assert.dom("[data-test-card-chooser-modal] [data-test-boxel-header-title]").containsText("Select 1 or more Friend cards");
1714
- assert.dom("[data-test-item-button-create-new]").doesNotExist("can not create new card for linksToMany field in code mode");
1715
- });
1716
- (0, import_qunit.test)("closes the top-most modal first when clicking overlay background", async function(assert) {
1717
- await visitOperatorMode({
1718
- stacks: [[{
1719
- id: `${testRealmURL}Person/1`,
1720
- format: "isolated"
1721
- }]],
1722
- submode: "code",
1723
- codePath: `${testRealmURL}Person/1.json`
1724
- });
1725
- await waitFor("[data-test-code-mode][data-test-save-idle]");
1726
- await waitFor("[data-test-new-file-button]");
1727
- await click("[data-test-new-file-button]");
1728
- await click(`[data-test-boxel-menu-item-text="Card Instance"]`);
1729
- await waitFor(`[data-test-create-file-modal][data-test-ready]`);
1730
- await click("[data-test-select-card-type]");
1731
- await waitFor("[data-test-card-chooser-modal]");
1732
- await percySnapshot(assert);
1733
- let cardChooserModalOverlay = document.querySelector("[data-test-card-chooser-modal]")?.previousElementSibling;
1734
- assert.dom(cardChooserModalOverlay).exists();
1735
- await click(cardChooserModalOverlay);
1736
- assert.dom("[data-test-card-chooser-modal]").doesNotExist();
1737
- let createFileModalOverlay = document.querySelector("[data-test-create-file-modal]")?.previousElementSibling;
1738
- assert.dom(createFileModalOverlay).exists();
1739
- await click(createFileModalOverlay);
1740
- assert.dom("[data-test-create-file-modal]").doesNotExist();
1741
- });
1742
- (0, import_qunit.test)("restores and remembers module inspector view from operator mode state", async function(assert) {
1743
- await visitOperatorMode({
1744
- stacks: [],
1745
- submode: "code",
1746
- codePath: `${testRealmURL}pet.gts`,
1747
- moduleInspector: "preview"
1748
- });
1749
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1750
- assert.strictEqual(src_default.localStorage.getItem(ModuleInspectorSelections), JSON.stringify({ [`${testRealmURL}pet.gts`]: "preview" }));
1751
- });
1752
- (0, import_qunit.test)("remembers open module inspector panel via local storage", async function(assert) {
1753
- let accordionSelections = {
1754
- [`${testRealmURL}address.gts`]: "spec",
1755
- [`${testRealmURL}country.gts`]: null,
1756
- [`${testRealmURL}person.gts`]: "schema",
1757
- [`${testRealmURL}pet-person.gts`]: "preview"
1758
- };
1759
- src_default.localStorage.setItem(ModuleInspectorSelections, JSON.stringify(accordionSelections));
1760
- await visitOperatorMode({
1761
- stacks: [],
1762
- submode: "code",
1763
- codePath: `${testRealmURL}pet.gts`
1764
- });
1765
- assert.dom("[data-test-active-module-inspector-view=\"schema\"]").exists("defaults to schema-editor view");
1766
- await click("[data-test-module-inspector-view=\"preview\"]");
1767
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1768
- await click("[data-test-file-browser-toggle]");
1769
- await click("[data-test-file=\"address.gts\"]");
1770
- assert.dom("[data-test-active-module-inspector-view=\"spec\"]").exists();
1771
- await click("[data-test-file=\"country.gts\"]");
1772
- assert.dom("[data-test-module-inspector=\"card-or-field\"]").exists();
1773
- assert.dom("[data-test-active-module-inspector-view=\"schema\"]").exists();
1774
- await click("[data-test-file=\"person.gts\"]");
1775
- assert.dom("[data-test-active-module-inspector-view=\"schema\"]").exists();
1776
- await click("[data-test-file=\"pet-person.gts\"]");
1777
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1778
- await click("[data-test-module-inspector-view=\"spec\"]");
1779
- assert.dom("[data-test-active-module-inspector-view=\"spec\"]").exists();
1780
- let currentSelections = src_default.localStorage.getItem(ModuleInspectorSelections);
1781
- assert.strictEqual(currentSelections, JSON.stringify({
1782
- [`${testRealmURL}address.gts`]: "spec",
1783
- [`${testRealmURL}country.gts`]: "schema",
1784
- [`${testRealmURL}person.gts`]: "schema",
1785
- [`${testRealmURL}pet-person.gts`]: "spec",
1786
- [`${testRealmURL}pet.gts`]: "preview"
1787
- }));
1788
- });
1789
- (0, import_qunit.test)("module inspector query parameter takes precendence over local storage when loading", async function(assert) {
1790
- src_default.localStorage.setItem(ModuleInspectorSelections, JSON.stringify({ [`${testRealmURL}address.gts`]: "spec" }));
1791
- await visitOperatorMode({
1792
- stacks: [],
1793
- submode: "code",
1794
- codePath: `${testRealmURL}address.gts`,
1795
- moduleInspector: "preview"
1796
- });
1797
- assert.dom("[data-test-active-module-inspector-view=\"preview\"]").exists();
1798
- });
1799
- (0, import_qunit.test)("Open in Interact and Edit Template buttons work correctly", async function(assert) {
1800
- await visitOperatorMode({
1801
- stacks: [[{
1802
- id: `${testRealmURL}Person/fadhlan`,
1803
- format: "isolated"
1804
- }]],
1805
- submode: "code",
1806
- codePath: `${testRealmURL}Person/fadhlan.json`
1807
- });
1808
- await waitFor("[data-test-card-resource-loaded]");
1809
- assert.dom("[data-test-edit-template-button]").exists("Edit Template button is rendered");
1810
- assert.dom("[data-test-open-in-interact-button]").exists("Open in Interact button is rendered");
1811
- assert.dom(".preview-text").hasText("Preview", "Preview text is displayed");
1812
- await click("[data-test-open-in-interact-button]");
1813
- await waitFor("[data-test-interact-submode]");
1814
- assert.dom("[data-test-interact-submode]").exists("Switched to interact mode");
1815
- assert.dom("[data-test-person]").includesText("Fadhlan");
1816
- await click("[data-test-submode-switcher] button");
1817
- await click("[data-test-boxel-menu-item-text=\"Code\"]");
1818
- await waitFor("[data-test-code-submode]");
1819
- await click("[data-test-edit-template-button]");
1820
- await waitFor("[data-test-card-url-bar-input]");
1821
- assert.dom("[data-test-card-url-bar-input]").hasValue(`${testRealmURL}person.gts`);
1822
- });
1823
- (0, import_qunit.test)("Edit Template opens the source of a card whose type lives in a mapped realm", async function(assert) {
1824
- await visitOperatorMode({
1825
- stacks: [[{
1826
- id: `${testRealmURL}person-entry`,
1827
- format: "isolated"
1828
- }]],
1829
- submode: "code",
1830
- codePath: `${testRealmURL}person-entry.json`
1831
- });
1832
- await waitFor("[data-test-card-resource-loaded]");
1833
- await click("[data-test-edit-template-button]");
1834
- await waitFor("[data-test-card-url-bar-input]");
1835
- assert.dom("[data-test-card-url-bar-input]").hasValue(baseRRI("spec.gts"), "the base realm's spec source opened, shown in its prefix form");
1836
- });
1837
- });
1838
- });
1839
- //#endregion