@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
@@ -0,0 +1,1486 @@
1
+ import { s as __toESM } from "./chunk-Rp0pCe6z.js";
2
+ import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-BoCBNIsz.js";
3
+ import { Br as testRealmURL, Lr as testRRI, lo as HtmlResourceType, po as htmlResourceId, so as EntryResourceType } from "./runtime-common-BTaLJEw-.js";
4
+ import { r as setOwner } from "./owner-CP0__uFm.js";
5
+ import { Tn as destroy, wt as setComponentTemplate } from "./cache-DtDz7X5V-Wn8jRDfL.js";
6
+ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
7
+ import "./destroyable-mdLYRn_o.js";
8
+ import "./component-BJO47HTh.js";
9
+ import { t as Component } from "./dist-CkA1rgqO.js";
10
+ import { n as tracked } from "./tracking-800VJb8b.js";
11
+ import "./template-factory-ds9s0u8l.js";
12
+ import { t as templateOnly } from "./template-only-6nVzLWF-.js";
13
+ import { n as knownFileMetaUrls, t as clearKnownFileMetaUrls } from "./known-file-meta-urls-BtSTkGnL.js";
14
+ import { n as getSearchEntriesResource, t as SearchEntriesResource } from "./search-entries-0TMjLUAc.js";
15
+ import { M as waitUntil, T as settled, h as render } from "./dist-BOAdzfkP.js";
16
+ import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
17
+ import { F as setupLocalIndexing, P as setupIntegrationTestRealm, lt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-FjsXmU7-.js";
18
+ import { r as getService } from "./dist-CPfIHBla.js";
19
+ import { A as field, a as CardDef, w as contains } from "./card-api-Cc8uZunB.js";
20
+ import { t as string_default } from "./string-5IAMEUit.js";
21
+ //#region tests/integration/resources/search-entries-test.gts
22
+ var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
23
+ var testRealm2URL = "http://test-realm/test2/";
24
+ function getResourceForTest(parent, args) {
25
+ return SearchEntriesResource.from(parent, args);
26
+ }
27
+ (0, import_qunit.module)("Integration | search-entries resource", function(hooks) {
28
+ let loader;
29
+ let loaderService;
30
+ let storeService;
31
+ let realm;
32
+ let realm2;
33
+ setupRenderingTest(hooks);
34
+ setupLocalIndexing(hooks);
35
+ let mockMatrixUtils = setupMockMatrix(hooks, {
36
+ loggedInAs: "@testuser:localhost",
37
+ activeRealms: [testRealmURL, testRealm2URL],
38
+ autostart: true
39
+ });
40
+ let bookRef = {
41
+ module: testRRI("book"),
42
+ name: "Book"
43
+ };
44
+ hooks.beforeEach(async function() {
45
+ loaderService = getService("loader-service");
46
+ loader = loaderService.loader;
47
+ storeService = getService("store");
48
+ class Book extends CardDef {
49
+ static displayName = "Book";
50
+ static {
51
+ decorateFieldV2(this.prototype, "title", [field], function() {
52
+ return contains(string_default);
53
+ });
54
+ }
55
+ #title = (initializeDeferredDecorator(this, "title"), void 0);
56
+ static {
57
+ decorateFieldV2(this.prototype, "status", [field], function() {
58
+ return contains(string_default);
59
+ });
60
+ }
61
+ #status = (initializeDeferredDecorator(this, "status"), void 0);
62
+ }
63
+ ({realm} = await setupIntegrationTestRealm({
64
+ mockMatrixUtils,
65
+ realmURL: testRealmURL,
66
+ contents: {
67
+ "book.gts": { Book },
68
+ "catalog.gts": { Book },
69
+ "books/1.json": new Book({
70
+ title: "Mango",
71
+ status: "ready"
72
+ }),
73
+ "books/2.json": new Book({
74
+ title: "Van Gogh",
75
+ status: "draft"
76
+ })
77
+ }
78
+ }));
79
+ ({realm: realm2} = await setupIntegrationTestRealm({
80
+ mockMatrixUtils,
81
+ realmURL: testRealm2URL,
82
+ contents: { "books/other.json": { data: {
83
+ type: "card",
84
+ attributes: {
85
+ title: "Paper",
86
+ status: "ready"
87
+ },
88
+ meta: { adoptsFrom: {
89
+ module: testRRI("book"),
90
+ name: "Book"
91
+ } }
92
+ } } }
93
+ }));
94
+ });
95
+ function bookDoc(title) {
96
+ return JSON.stringify({ data: {
97
+ type: "card",
98
+ attributes: {
99
+ title,
100
+ status: "ready"
101
+ },
102
+ meta: { adoptsFrom: {
103
+ module: testRRI("book"),
104
+ name: "Book"
105
+ } }
106
+ } });
107
+ }
108
+ function fittedHtmlId(id) {
109
+ return htmlResourceId({
110
+ url: id,
111
+ format: "fitted",
112
+ renderType: bookRef
113
+ });
114
+ }
115
+ function entryResourceFor(spec) {
116
+ return {
117
+ type: EntryResourceType,
118
+ id: spec.id,
119
+ relationships: { html: { data: spec.htmlGen !== void 0 ? [{
120
+ type: HtmlResourceType,
121
+ id: fittedHtmlId(spec.id)
122
+ }] : [] } },
123
+ meta: { generation: spec.indexGen }
124
+ };
125
+ }
126
+ function htmlResourceFor(spec) {
127
+ return {
128
+ type: HtmlResourceType,
129
+ id: fittedHtmlId(spec.id),
130
+ attributes: {
131
+ html: spec.html ?? "<div>book</div>",
132
+ cardType: "Book",
133
+ format: "fitted",
134
+ renderType: bookRef
135
+ },
136
+ relationships: { styles: { data: spec.cssHref ? [{
137
+ type: "css",
138
+ id: `css-${spec.id}`
139
+ }] : [] } },
140
+ meta: { generation: spec.htmlGen }
141
+ };
142
+ }
143
+ function cssResourcesFor(specs) {
144
+ return specs.filter((spec) => spec.cssHref !== void 0).map((spec) => ({
145
+ type: "css",
146
+ id: `css-${spec.id}`,
147
+ attributes: { href: spec.cssHref }
148
+ }));
149
+ }
150
+ function entryCollectionDoc(specs) {
151
+ return {
152
+ data: specs.map(entryResourceFor),
153
+ included: specs.filter((spec) => spec.htmlGen !== void 0).map(htmlResourceFor),
154
+ meta: {
155
+ page: { total: specs.length },
156
+ htmlQuery: { eq: { format: "fitted" } }
157
+ }
158
+ };
159
+ }
160
+ function entrySingleDoc(spec) {
161
+ return {
162
+ data: entryResourceFor(spec),
163
+ included: spec.htmlGen !== void 0 ? [htmlResourceFor(spec), ...cssResourcesFor([spec])] : []
164
+ };
165
+ }
166
+ (0, import_qunit.test)("exposes entries joined from the wire document (default fieldset: html renderings)", async function(assert) {
167
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
168
+ filter: { "item.on": bookRef },
169
+ realms: [testRealmURL]
170
+ } } }));
171
+ await search.loaded;
172
+ assert.strictEqual(search.entries.length, 2, "both books are returned");
173
+ assert.strictEqual(search.meta.page.total, 2);
174
+ assert.strictEqual(search.errors, void 0);
175
+ for (let entry of search.entries) {
176
+ assert.strictEqual(entry.realmUrl, testRealmURL);
177
+ assert.strictEqual(entry.html.length, 1, "the default htmlQuery selects the fitted rendering");
178
+ let [rendering] = entry.html;
179
+ assert.strictEqual(rendering.format, "fitted");
180
+ assert.strictEqual(rendering.cardType, "Book");
181
+ assert.false(rendering.isError);
182
+ assert.ok(rendering.html, "the rendering carries markup");
183
+ assert.strictEqual(entry.item, void 0, "an html-bearing entry has no item fallback");
184
+ }
185
+ });
186
+ (0, import_qunit.test)("a card-initiated no-realm search scopes to the default realm instead of fanning out", async function(assert) {
187
+ let search = getResourceForTest(storeService, () => ({ named: {
188
+ query: { filter: { "item.on": bookRef } },
189
+ cardInitiated: true,
190
+ getDefaultRealm: () => testRealmURL
191
+ } }));
192
+ await search.loaded;
193
+ assert.strictEqual(search.entries.length, 2, "only the two books in the default realm are returned");
194
+ assert.true(search.entries.every((entry) => entry.realmUrl === testRealmURL), "every result is from the default realm");
195
+ assert.false(search.entries.some((entry) => entry.realmUrl === testRealm2URL), "realm2 was never searched — no fan-out");
196
+ });
197
+ (0, import_qunit.test)("a card-initiated no-realm search with no resolvable default realm yields no results", async function(assert) {
198
+ let search = getResourceForTest(storeService, () => ({ named: {
199
+ query: { filter: { "item.on": bookRef } },
200
+ cardInitiated: true,
201
+ getDefaultRealm: () => void 0
202
+ } }));
203
+ await search.loaded;
204
+ assert.strictEqual(search.entries.length, 0, "no results, rather than a fan-out across all realms");
205
+ });
206
+ (0, import_qunit.test)("a host-owned no-realm search keeps the all-realms fallback", async function(assert) {
207
+ let search = getResourceForTest(storeService, () => ({ named: { query: { filter: { "item.on": bookRef } } } }));
208
+ await search.loaded;
209
+ assert.true(search.entries.some((entry) => entry.realmUrl === testRealmURL), "the default realm is searched");
210
+ assert.true(search.entries.some((entry) => entry.realmUrl === testRealm2URL), "realm2 is searched too — the all-realms fallback still fans out");
211
+ });
212
+ (0, import_qunit.test)("registers file result URLs so clicks/overlay classify them as files", async function(assert) {
213
+ let itemFileUrl = `${testRealmURL}notes.txt`;
214
+ let htmlFileUrl = `${testRealmURL}readme.md`;
215
+ let renderingId = htmlResourceId({
216
+ url: htmlFileUrl,
217
+ format: "fitted"
218
+ });
219
+ let doc = {
220
+ data: [{
221
+ type: EntryResourceType,
222
+ id: itemFileUrl,
223
+ relationships: { item: { data: {
224
+ type: "file-meta",
225
+ id: itemFileUrl
226
+ } } }
227
+ }, {
228
+ type: EntryResourceType,
229
+ id: htmlFileUrl,
230
+ relationships: { html: { data: [{
231
+ type: HtmlResourceType,
232
+ id: renderingId
233
+ }] } }
234
+ }],
235
+ included: [{
236
+ type: HtmlResourceType,
237
+ id: renderingId,
238
+ attributes: {
239
+ html: "<div>readme</div>",
240
+ cardType: "",
241
+ format: "fitted"
242
+ },
243
+ relationships: { styles: { data: [] } }
244
+ }],
245
+ meta: { page: { total: 2 } }
246
+ };
247
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
248
+ storeService.searchEntries = async () => doc;
249
+ clearKnownFileMetaUrls();
250
+ try {
251
+ await getResourceForTest(storeService, () => ({ named: { query: {
252
+ filter: { "item.on": bookRef },
253
+ realms: [testRealmURL]
254
+ } } })).loaded;
255
+ assert.true(knownFileMetaUrls.has(itemFileUrl), "the item-only file row is registered");
256
+ assert.true(knownFileMetaUrls.has(htmlFileUrl), "the html-backed file row (no render type) is registered");
257
+ } finally {
258
+ storeService.searchEntries = originalSearchEntries;
259
+ clearKnownFileMetaUrls();
260
+ }
261
+ });
262
+ (0, import_qunit.test)("exposes raw item serializations per the fieldset, without touching the store", async function(assert) {
263
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
264
+ filter: { "item.on": bookRef },
265
+ fields: { entry: ["item"] },
266
+ realms: [testRealmURL]
267
+ } } }));
268
+ await search.loaded;
269
+ assert.strictEqual(search.entries.length, 2);
270
+ for (let entry of search.entries) {
271
+ assert.deepEqual(entry.html, [], "an item-only fieldset pins an empty html branch");
272
+ assert.ok(entry.item, "the raw serialization rides on the entry");
273
+ assert.strictEqual(entry.item.type, "card");
274
+ assert.strictEqual(storeService.peek(entry.id), void 0, "nothing is hydrated into the store");
275
+ }
276
+ assert.deepEqual(search.entries.map((entry) => entry.item.attributes?.title).sort(), ["Mango", "Van Gogh"]);
277
+ });
278
+ (0, import_qunit.test)("registers the in-flight search with the render store readiness signal during a prerender", async function(assert) {
279
+ let renderStore = getService("render-store");
280
+ let trackedLoads = [];
281
+ let originalTrackLoad = renderStore.trackLoad.bind(renderStore);
282
+ renderStore.trackLoad = (load) => {
283
+ trackedLoads.push(load);
284
+ originalTrackLoad(load);
285
+ };
286
+ let generationBefore = renderStore.loadGeneration;
287
+ globalThis.__boxelRenderContext = true;
288
+ try {
289
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
290
+ filter: { "item.on": bookRef },
291
+ realms: [testRealmURL]
292
+ } } }));
293
+ let load = search.loaded;
294
+ assert.strictEqual(trackedLoads.length, 1, "the search registers exactly one load with the render store");
295
+ assert.strictEqual(trackedLoads[0], load, "the registered load is the in-flight search");
296
+ assert.true(renderStore.loadGeneration > generationBefore, "registering the search advances the render store load generation, so the settle loop waits for it");
297
+ await load;
298
+ assert.strictEqual(search.entries.length, 2, "the tracked load is the real search and it produced results");
299
+ } finally {
300
+ delete renderStore.trackLoad;
301
+ delete globalThis.__boxelRenderContext;
302
+ }
303
+ });
304
+ (0, import_qunit.test)("re-runs the search on an incremental index event", async function(assert) {
305
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
306
+ filter: { "item.on": bookRef },
307
+ realms: [testRealmURL]
308
+ } } }));
309
+ await search.loaded;
310
+ assert.strictEqual(search.entries.length, 2);
311
+ await realm.write("books/3.json", bookDoc("Paper"));
312
+ await waitUntil(() => search.entries.length === 3, { timeout: 1e4 });
313
+ assert.ok(search.entries.find((entry) => entry.id === `${testRealmURL}books/3`), "the new book appears after the incremental index event");
314
+ });
315
+ (0, import_qunit.module)("index event type gating", function() {
316
+ const unrelatedType = "http://test-realm/test/observation/Observation";
317
+ function relayIndexEvent(invalidatedTypes) {
318
+ getService("message-service").relayRealmEvent({
319
+ eventName: "index",
320
+ indexType: "incremental",
321
+ invalidations: [`${testRealmURL}observations/1.json`],
322
+ ...invalidatedTypes !== void 0 ? { invalidatedTypes } : {},
323
+ realmURL: testRealmURL
324
+ });
325
+ }
326
+ function countingSearch() {
327
+ let searchCount = 0;
328
+ storeService.searchEntries = async () => {
329
+ searchCount++;
330
+ return entryCollectionDoc([{
331
+ id: `${testRealmURL}books/1`,
332
+ indexGen: 1,
333
+ htmlGen: 1,
334
+ html: "<div>Mango</div>"
335
+ }]);
336
+ };
337
+ return () => searchCount;
338
+ }
339
+ (0, import_qunit.test)("an event that touched no anchored type does not re-run the query", async function(assert) {
340
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
341
+ let searchCount = countingSearch();
342
+ try {
343
+ await getResourceForTest(storeService, () => ({ named: { query: {
344
+ filter: { "item.on": bookRef },
345
+ realms: [testRealmURL]
346
+ } } })).loaded;
347
+ let baseline = searchCount();
348
+ relayIndexEvent([unrelatedType]);
349
+ await settled();
350
+ assert.strictEqual(searchCount(), baseline + 1, "the first typed event re-runs while the anchors resolve");
351
+ relayIndexEvent([unrelatedType]);
352
+ await settled();
353
+ assert.strictEqual(searchCount(), baseline + 1, "a write to a type the query is not anchored on is skipped");
354
+ relayIndexEvent([unrelatedType, `${testRealmURL}book/Book`]);
355
+ await settled();
356
+ assert.strictEqual(searchCount(), baseline + 2, "an event naming the anchored type re-runs the query");
357
+ relayIndexEvent();
358
+ await settled();
359
+ assert.strictEqual(searchCount(), baseline + 3, "an event carrying no type information re-runs the query");
360
+ } finally {
361
+ storeService.searchEntries = originalSearchEntries;
362
+ }
363
+ });
364
+ (0, import_qunit.test)("an anchor resolves through the module that defines the type, not only the one the query names", async function(assert) {
365
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
366
+ let searchCount = countingSearch();
367
+ try {
368
+ await getResourceForTest(storeService, () => ({ named: { query: {
369
+ filter: { "item.on": {
370
+ module: testRRI("catalog"),
371
+ name: "Book"
372
+ } },
373
+ realms: [testRealmURL]
374
+ } } })).loaded;
375
+ let baseline = searchCount();
376
+ relayIndexEvent([unrelatedType]);
377
+ await settled();
378
+ assert.strictEqual(searchCount(), baseline + 1, "the first typed event re-runs while the anchors resolve");
379
+ relayIndexEvent([`${testRealmURL}book/Book`]);
380
+ await settled();
381
+ assert.strictEqual(searchCount(), baseline + 2, "an event naming the defining module re-runs a query anchored through the re-exporting one");
382
+ } finally {
383
+ storeService.searchEntries = originalSearchEntries;
384
+ }
385
+ });
386
+ (0, import_qunit.test)("a loader replacement re-resolves the anchors before they gate again", async function(assert) {
387
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
388
+ let searchCount = countingSearch();
389
+ try {
390
+ await getResourceForTest(storeService, () => ({ named: { query: {
391
+ filter: { "item.on": bookRef },
392
+ realms: [testRealmURL]
393
+ } } })).loaded;
394
+ let baseline = searchCount();
395
+ relayIndexEvent([unrelatedType]);
396
+ await settled();
397
+ relayIndexEvent([unrelatedType]);
398
+ await settled();
399
+ assert.strictEqual(searchCount(), baseline + 1, "the anchors resolve and the second event is skipped");
400
+ getService("loader-service").resetLoader({
401
+ clearFetchCache: true,
402
+ reason: "test",
403
+ codeChange: true
404
+ });
405
+ relayIndexEvent([unrelatedType]);
406
+ await settled();
407
+ assert.strictEqual(searchCount(), baseline + 2, "the first event after the replacement re-runs while the anchors re-resolve");
408
+ relayIndexEvent([unrelatedType]);
409
+ await settled();
410
+ assert.strictEqual(searchCount(), baseline + 2, "the re-resolved anchors gate again");
411
+ } finally {
412
+ storeService.searchEntries = originalSearchEntries;
413
+ }
414
+ });
415
+ (0, import_qunit.test)("a query that admits an entry of any type re-runs on every event", async function(assert) {
416
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
417
+ let searchCount = countingSearch();
418
+ try {
419
+ await getResourceForTest(storeService, () => ({ named: { query: {
420
+ filter: { eq: { "item.status": "ready" } },
421
+ realms: [testRealmURL]
422
+ } } })).loaded;
423
+ let baseline = searchCount();
424
+ relayIndexEvent([unrelatedType]);
425
+ await settled();
426
+ relayIndexEvent([unrelatedType]);
427
+ await settled();
428
+ assert.strictEqual(searchCount(), baseline + 2, "an unanchored filter can gain a member of any type, so nothing is skipped");
429
+ } finally {
430
+ storeService.searchEntries = originalSearchEntries;
431
+ }
432
+ });
433
+ });
434
+ (0, import_qunit.test)("a burst of realm events coalesces into a single re-run", async function(assert) {
435
+ let searchCount = 0;
436
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
437
+ storeService.searchEntries = async () => {
438
+ searchCount++;
439
+ return entryCollectionDoc([{
440
+ id: `${testRealmURL}books/1`,
441
+ indexGen: 1,
442
+ htmlGen: 1,
443
+ html: "<div>Mango</div>"
444
+ }]);
445
+ };
446
+ try {
447
+ await getResourceForTest(storeService, () => ({ named: { query: {
448
+ filter: { "item.on": bookRef },
449
+ realms: [testRealmURL]
450
+ } } })).loaded;
451
+ let baseline = searchCount;
452
+ let messageService = getService("message-service");
453
+ for (let i = 1; i <= 5; i++) messageService.relayRealmEvent({
454
+ eventName: "index",
455
+ indexType: "incremental",
456
+ invalidations: [`${testRealmURL}books/${i}.json`],
457
+ realmURL: testRealmURL
458
+ });
459
+ await settled();
460
+ assert.strictEqual(searchCount, baseline + 1, "five index events inside one window produce one re-run");
461
+ messageService.relayRealmEvent({
462
+ eventName: "index",
463
+ indexType: "incremental",
464
+ invalidations: [`${testRealmURL}books/1.json`],
465
+ realmURL: testRealmURL
466
+ });
467
+ await settled();
468
+ assert.strictEqual(searchCount, baseline + 2, "an event after the flush schedules its own re-run");
469
+ } finally {
470
+ storeService.searchEntries = originalSearchEntries;
471
+ }
472
+ });
473
+ (0, import_qunit.test)("a query change inside the window cancels the armed re-run", async function(assert) {
474
+ let searchCount = 0;
475
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
476
+ storeService.searchEntries = async () => {
477
+ searchCount++;
478
+ return entryCollectionDoc([{
479
+ id: `${testRealmURL}books/1`,
480
+ indexGen: 1,
481
+ htmlGen: 1,
482
+ html: "<div>Mango</div>"
483
+ }]);
484
+ };
485
+ try {
486
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
487
+ filter: { "item.on": bookRef },
488
+ realms: [testRealmURL]
489
+ } } }));
490
+ await search.loaded;
491
+ let baseline = searchCount;
492
+ getService("message-service").relayRealmEvent({
493
+ eventName: "index",
494
+ indexType: "incremental",
495
+ invalidations: [`${testRealmURL}books/1.json`],
496
+ realmURL: testRealmURL
497
+ });
498
+ search.modify([], { query: {
499
+ filter: {
500
+ "item.on": bookRef,
501
+ eq: { "item.status": "ready" }
502
+ },
503
+ realms: [testRealmURL]
504
+ } });
505
+ await settled();
506
+ assert.strictEqual(searchCount, baseline + 1, "the query change cancels the armed flush; only its own search runs");
507
+ } finally {
508
+ storeService.searchEntries = originalSearchEntries;
509
+ }
510
+ });
511
+ (0, import_qunit.module)("prerender_html selective per-member refresh", function() {
512
+ function relayPrerenderHtml(invalidations, generation) {
513
+ getService("message-service").relayRealmEvent({
514
+ eventName: "prerender_html",
515
+ realmURL: testRealmURL,
516
+ generation,
517
+ invalidations
518
+ });
519
+ }
520
+ (0, import_qunit.test)("refreshes only the invalidated member via a card+html GET; no full re-query", async function(assert) {
521
+ let searchCount = 0;
522
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
523
+ storeService.searchEntries = async () => {
524
+ searchCount++;
525
+ return entryCollectionDoc([{
526
+ id: `${testRealmURL}books/1`,
527
+ indexGen: 1,
528
+ htmlGen: 1,
529
+ html: "<div>Mango v1</div>"
530
+ }, {
531
+ id: `${testRealmURL}books/2`,
532
+ indexGen: 1,
533
+ htmlGen: 1,
534
+ html: "<div>Van Gogh v1</div>"
535
+ }]);
536
+ };
537
+ let getCalls = [];
538
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
539
+ storeService.fetchCardEntry = async (url, opts) => {
540
+ getCalls.push({
541
+ url,
542
+ ifNoneMatch: opts.ifNoneMatch,
543
+ format: opts.format
544
+ });
545
+ return {
546
+ notModified: false,
547
+ doc: entrySingleDoc({
548
+ id: `${testRealmURL}books/1`,
549
+ indexGen: 1,
550
+ htmlGen: 2,
551
+ html: "<div>Mango v2</div>"
552
+ })
553
+ };
554
+ };
555
+ try {
556
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
557
+ filter: { "item.on": bookRef },
558
+ realms: [testRealmURL]
559
+ } } }));
560
+ await search.loaded;
561
+ assert.strictEqual(search.entries.length, 2);
562
+ let book2Before = search.entries.find((entry) => entry.id === `${testRealmURL}books/2`);
563
+ let baseline = searchCount;
564
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
565
+ await waitUntil(() => getCalls.length > 0, { timeout: 1e4 });
566
+ await settled();
567
+ assert.strictEqual(searchCount, baseline, "no whole-search re-query is issued");
568
+ assert.strictEqual(getCalls.length, 1, "exactly one card+html GET");
569
+ assert.strictEqual(getCalls[0].url, `${testRealmURL}books/1`);
570
+ assert.strictEqual(getCalls[0].ifNoneMatch, "\"1:1\"", "the held composite validator (index:html) is sent as If-None-Match");
571
+ assert.strictEqual(getCalls[0].format, "fitted");
572
+ assert.strictEqual(search.entries[0].html[0].html, "<div>Mango v2</div>", "the invalidated member swaps in the fresh HTML");
573
+ assert.strictEqual(search.entries.find((entry) => entry.id === `${testRealmURL}books/2`), book2Before, "the uninvalidated member keeps its identity");
574
+ } finally {
575
+ storeService.searchEntries = originalSearchEntries;
576
+ storeService.fetchCardEntry = originalFetchCardEntry;
577
+ }
578
+ });
579
+ (0, import_qunit.test)("a member that comes back without the markup the search served it re-runs the whole search", async function(assert) {
580
+ let searchCount = 0;
581
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
582
+ storeService.searchEntries = async () => {
583
+ searchCount++;
584
+ return entryCollectionDoc([{
585
+ id: `${testRealmURL}books/1`,
586
+ indexGen: 1,
587
+ htmlGen: searchCount,
588
+ html: `<div>Mango v${searchCount}</div>`
589
+ }]);
590
+ };
591
+ let getCount = 0;
592
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
593
+ storeService.fetchCardEntry = async () => {
594
+ getCount++;
595
+ return {
596
+ notModified: false,
597
+ doc: entrySingleDoc({
598
+ id: `${testRealmURL}books/1`,
599
+ indexGen: 1
600
+ })
601
+ };
602
+ };
603
+ try {
604
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
605
+ filter: { "item.on": bookRef },
606
+ realms: [testRealmURL]
607
+ } } }));
608
+ await search.loaded;
609
+ let baseline = searchCount;
610
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
611
+ await waitUntil(() => searchCount > baseline, { timeout: 1e4 });
612
+ await settled();
613
+ assert.strictEqual(getCount, 1, "the member was asked for first");
614
+ assert.strictEqual(search.entries[0].html[0]?.html, `<div>Mango v${searchCount}</div>`, "and the search’s own answer, with its markup, is what the member shows");
615
+ } finally {
616
+ storeService.searchEntries = originalSearchEntries;
617
+ storeService.fetchCardEntry = originalFetchCardEntry;
618
+ }
619
+ });
620
+ (0, import_qunit.test)("a 304 keeps the current rendering and the member identity", async function(assert) {
621
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
622
+ storeService.searchEntries = async () => entryCollectionDoc([{
623
+ id: `${testRealmURL}books/1`,
624
+ indexGen: 1,
625
+ htmlGen: 1,
626
+ html: "<div>Mango v1</div>"
627
+ }]);
628
+ let getCount = 0;
629
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
630
+ storeService.fetchCardEntry = async () => {
631
+ getCount++;
632
+ return { notModified: true };
633
+ };
634
+ try {
635
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
636
+ filter: { "item.on": bookRef },
637
+ realms: [testRealmURL]
638
+ } } }));
639
+ await search.loaded;
640
+ let before = search.entries[0];
641
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
642
+ await waitUntil(() => getCount > 0, { timeout: 1e4 });
643
+ await settled();
644
+ assert.strictEqual(getCount, 1, "the conditional GET was issued");
645
+ assert.strictEqual(search.entries[0], before, "a 304 leaves the member object untouched (a hydrated row stays live)");
646
+ } finally {
647
+ storeService.searchEntries = originalSearchEntries;
648
+ storeService.fetchCardEntry = originalFetchCardEntry;
649
+ }
650
+ });
651
+ (0, import_qunit.test)("a member already at or above the event generation is not fetched", async function(assert) {
652
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
653
+ storeService.searchEntries = async () => entryCollectionDoc([{
654
+ id: `${testRealmURL}books/1`,
655
+ indexGen: 5,
656
+ htmlGen: 5,
657
+ html: "<div>Mango</div>"
658
+ }]);
659
+ let getCount = 0;
660
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
661
+ storeService.fetchCardEntry = async () => {
662
+ getCount++;
663
+ return { notModified: true };
664
+ };
665
+ try {
666
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
667
+ filter: { "item.on": bookRef },
668
+ realms: [testRealmURL]
669
+ } } }));
670
+ await search.loaded;
671
+ let before = search.entries[0];
672
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 5);
673
+ await settled();
674
+ assert.strictEqual(getCount, 0, "no GET is issued for a fresh member");
675
+ assert.strictEqual(search.entries[0], before, "the member is untouched");
676
+ } finally {
677
+ storeService.searchEntries = originalSearchEntries;
678
+ storeService.fetchCardEntry = originalFetchCardEntry;
679
+ }
680
+ });
681
+ (0, import_qunit.test)("an event whose URLs are not in the visible set does no work", async function(assert) {
682
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
683
+ storeService.searchEntries = async () => entryCollectionDoc([{
684
+ id: `${testRealmURL}books/1`,
685
+ indexGen: 1,
686
+ htmlGen: 1,
687
+ html: "<div>Mango</div>"
688
+ }]);
689
+ let getCount = 0;
690
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
691
+ storeService.fetchCardEntry = async () => {
692
+ getCount++;
693
+ return { notModified: true };
694
+ };
695
+ try {
696
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
697
+ filter: { "item.on": bookRef },
698
+ realms: [testRealmURL]
699
+ } } }));
700
+ await search.loaded;
701
+ let before = search.entries[0];
702
+ relayPrerenderHtml([`${testRealmURL}books/999.json`], 9);
703
+ await settled();
704
+ assert.strictEqual(getCount, 0, "no GET for an unrelated invalidation");
705
+ assert.strictEqual(search.entries[0], before);
706
+ } finally {
707
+ storeService.searchEntries = originalSearchEntries;
708
+ storeService.fetchCardEntry = originalFetchCardEntry;
709
+ }
710
+ });
711
+ (0, import_qunit.test)("an empty-html member upgrades when its rendering lands", async function(assert) {
712
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
713
+ storeService.searchEntries = async () => entryCollectionDoc([{
714
+ id: `${testRealmURL}books/1`,
715
+ indexGen: 2
716
+ }]);
717
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
718
+ let capturedIfNoneMatch;
719
+ storeService.fetchCardEntry = async (_url, opts) => {
720
+ capturedIfNoneMatch = opts.ifNoneMatch;
721
+ return {
722
+ notModified: false,
723
+ doc: entrySingleDoc({
724
+ id: `${testRealmURL}books/1`,
725
+ indexGen: 2,
726
+ htmlGen: 2,
727
+ html: "<div>Mango</div>"
728
+ })
729
+ };
730
+ };
731
+ try {
732
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
733
+ filter: { "item.on": bookRef },
734
+ realms: [testRealmURL]
735
+ } } }));
736
+ await search.loaded;
737
+ assert.deepEqual(search.entries[0].html, [], "no rendering initially");
738
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
739
+ await waitUntil(() => search.entries[0]?.html.length === 1, { timeout: 1e4 });
740
+ assert.strictEqual(search.entries[0].html[0].html, "<div>Mango</div>");
741
+ assert.strictEqual(capturedIfNoneMatch, "\"2:none\"", "a member with no rendering sends the none-html validator");
742
+ } finally {
743
+ storeService.searchEntries = originalSearchEntries;
744
+ storeService.fetchCardEntry = originalFetchCardEntry;
745
+ }
746
+ });
747
+ (0, import_qunit.test)("a full-text (matches) query re-runs in full instead of refreshing members", async function(assert) {
748
+ let searchCount = 0;
749
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
750
+ storeService.searchEntries = async () => {
751
+ searchCount++;
752
+ return entryCollectionDoc([{
753
+ id: `${testRealmURL}books/1`,
754
+ indexGen: 1,
755
+ htmlGen: 1,
756
+ html: "<div>Mango</div>"
757
+ }]);
758
+ };
759
+ let getCount = 0;
760
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
761
+ storeService.fetchCardEntry = async () => {
762
+ getCount++;
763
+ return { notModified: true };
764
+ };
765
+ try {
766
+ await getResourceForTest(storeService, () => ({ named: { query: {
767
+ filter: {
768
+ "item.on": bookRef,
769
+ matches: "mango"
770
+ },
771
+ realms: [testRealmURL]
772
+ } } })).loaded;
773
+ let baseline = searchCount;
774
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
775
+ await waitUntil(() => searchCount > baseline, { timeout: 1e4 });
776
+ await settled();
777
+ assert.ok(searchCount > baseline, "a matches query re-runs the whole search (membership can change)");
778
+ assert.strictEqual(getCount, 0, "no per-member GET for a matches query");
779
+ } finally {
780
+ storeService.searchEntries = originalSearchEntries;
781
+ storeService.fetchCardEntry = originalFetchCardEntry;
782
+ }
783
+ });
784
+ (0, import_qunit.test)("a failed member GET falls back to a full re-run", async function(assert) {
785
+ let searchCount = 0;
786
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
787
+ storeService.searchEntries = async () => {
788
+ searchCount++;
789
+ return entryCollectionDoc([{
790
+ id: `${testRealmURL}books/1`,
791
+ indexGen: 1,
792
+ htmlGen: 1,
793
+ html: "<div>Mango</div>"
794
+ }]);
795
+ };
796
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
797
+ storeService.fetchCardEntry = async () => {
798
+ throw new Error("boom");
799
+ };
800
+ try {
801
+ await getResourceForTest(storeService, () => ({ named: { query: {
802
+ filter: { "item.on": bookRef },
803
+ realms: [testRealmURL]
804
+ } } })).loaded;
805
+ let baseline = searchCount;
806
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
807
+ await waitUntil(() => searchCount > baseline, { timeout: 1e4 });
808
+ await settled();
809
+ assert.ok(searchCount > baseline, "a member the GET could not refresh triggers a coarse re-run");
810
+ } finally {
811
+ storeService.searchEntries = originalSearchEntries;
812
+ storeService.fetchCardEntry = originalFetchCardEntry;
813
+ }
814
+ });
815
+ (0, import_qunit.test)("an item-only fieldset takes the coarse re-run — render errors can flip its membership", async function(assert) {
816
+ let itemOnlyDoc = {
817
+ data: [{
818
+ type: EntryResourceType,
819
+ id: `${testRealmURL}books/1`,
820
+ relationships: {},
821
+ meta: { generation: 1 }
822
+ }],
823
+ meta: { page: { total: 1 } }
824
+ };
825
+ let searchCount = 0;
826
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
827
+ storeService.searchEntries = async () => {
828
+ searchCount++;
829
+ return itemOnlyDoc;
830
+ };
831
+ let getCount = 0;
832
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
833
+ storeService.fetchCardEntry = async () => {
834
+ getCount++;
835
+ return { notModified: true };
836
+ };
837
+ try {
838
+ await getResourceForTest(storeService, () => ({ named: { query: {
839
+ filter: { "item.on": bookRef },
840
+ fields: { entry: ["item"] },
841
+ realms: [testRealmURL]
842
+ } } })).loaded;
843
+ let baseline = searchCount;
844
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
845
+ await waitUntil(() => searchCount > baseline, { timeout: 1e4 });
846
+ await settled();
847
+ assert.ok(searchCount > baseline, "an item-only query re-runs the whole search on a prerender_html event");
848
+ assert.strictEqual(getCount, 0, "no per-member GET is attempted");
849
+ } finally {
850
+ storeService.searchEntries = originalSearchEntries;
851
+ storeService.fetchCardEntry = originalFetchCardEntry;
852
+ }
853
+ });
854
+ (0, import_qunit.test)("coalesced events refresh the union of their members, each judged at its own generation", async function(assert) {
855
+ let book1 = `${testRealmURL}books/1`;
856
+ let book2 = `${testRealmURL}books/2`;
857
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
858
+ storeService.searchEntries = async () => entryCollectionDoc([{
859
+ id: book1,
860
+ indexGen: 1,
861
+ htmlGen: 1,
862
+ html: "<div>Mango v1</div>"
863
+ }, {
864
+ id: book2,
865
+ indexGen: 1,
866
+ htmlGen: 1,
867
+ html: "<div>Van Gogh v1</div>"
868
+ }]);
869
+ let getUrls = [];
870
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
871
+ storeService.fetchCardEntry = async (url) => {
872
+ getUrls.push(url);
873
+ if (getUrls.length === 1) return new Promise(() => {});
874
+ return {
875
+ notModified: false,
876
+ doc: entrySingleDoc({
877
+ id: url,
878
+ indexGen: 1,
879
+ htmlGen: url === book2 ? 3 : 2,
880
+ html: `<div>${url === book2 ? "Van Gogh" : "Mango"} v2</div>`
881
+ })
882
+ };
883
+ };
884
+ try {
885
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
886
+ filter: { "item.on": bookRef },
887
+ realms: [testRealmURL]
888
+ } } }));
889
+ await search.loaded;
890
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
891
+ await waitUntil(() => getUrls.length === 1, { timeout: 1e4 });
892
+ relayPrerenderHtml([`${testRealmURL}books/2.json`], 3);
893
+ await waitUntil(() => search.entries.find((e) => e.id === book1)?.htmlGeneration === 2 && search.entries.find((e) => e.id === book2)?.htmlGeneration === 3, { timeout: 1e4 });
894
+ await settled();
895
+ assert.deepEqual(getUrls.slice(1).sort(), [book1, book2], "the replacement run refreshes both events' members");
896
+ assert.strictEqual(search.entries.find((e) => e.id === book1)?.html[0]?.html, "<div>Mango v2</div>");
897
+ assert.strictEqual(search.entries.find((e) => e.id === book2)?.html[0]?.html, "<div>Van Gogh v2</div>");
898
+ } finally {
899
+ storeService.searchEntries = originalSearchEntries;
900
+ storeService.fetchCardEntry = originalFetchCardEntry;
901
+ }
902
+ });
903
+ (0, import_qunit.test)("an index event on another realm mid-refresh does not drop the HTML update", async function(assert) {
904
+ let bookAId = `${testRealmURL}books/1`;
905
+ let bookBId = `${testRealm2URL}books/other`;
906
+ let staleDoc = entryCollectionDoc([{
907
+ id: bookAId,
908
+ indexGen: 1,
909
+ htmlGen: 1,
910
+ html: "<div>Mango v1</div>"
911
+ }, {
912
+ id: bookBId,
913
+ indexGen: 1,
914
+ htmlGen: 1,
915
+ html: "<div>Paper</div>"
916
+ }]);
917
+ let freshDoc = entryCollectionDoc([{
918
+ id: bookAId,
919
+ indexGen: 1,
920
+ htmlGen: 2,
921
+ html: "<div>Mango v2</div>"
922
+ }, {
923
+ id: bookBId,
924
+ indexGen: 1,
925
+ htmlGen: 1,
926
+ html: "<div>Paper</div>"
927
+ }]);
928
+ let fetchedRealms = [];
929
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
930
+ storeService.searchEntries = async (_query, realms) => {
931
+ fetchedRealms.push([...realms ?? []].sort());
932
+ return fetchedRealms.length === 1 ? staleDoc : freshDoc;
933
+ };
934
+ let getCount = 0;
935
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
936
+ storeService.fetchCardEntry = async () => {
937
+ getCount++;
938
+ return new Promise(() => {});
939
+ };
940
+ try {
941
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
942
+ filter: { "item.on": bookRef },
943
+ realms: [testRealmURL, testRealm2URL]
944
+ } } }));
945
+ await search.loaded;
946
+ assert.strictEqual(search.entries.length, 2);
947
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
948
+ await waitUntil(() => getCount > 0, { timeout: 1e4 });
949
+ getService("message-service").relayRealmEvent({
950
+ eventName: "index",
951
+ indexType: "incremental",
952
+ invalidations: [],
953
+ realmURL: testRealm2URL
954
+ });
955
+ await waitUntil(() => search.entries.find((e) => e.id === bookAId)?.htmlGeneration === 2, { timeout: 1e4 });
956
+ await settled();
957
+ assert.deepEqual(fetchedRealms[fetchedRealms.length - 1], [testRealmURL, testRealm2URL].sort(), "the coarse re-run covers the prerender event's realm too");
958
+ assert.strictEqual(search.entries.find((e) => e.id === bookAId)?.html[0]?.html, "<div>Mango v2</div>", "the invalidated member picked up the fresh HTML through the fold");
959
+ } finally {
960
+ storeService.searchEntries = originalSearchEntries;
961
+ storeService.fetchCardEntry = originalFetchCardEntry;
962
+ }
963
+ });
964
+ (0, import_qunit.test)("a stylesheet-import failure during a member refresh degrades that entry to unstyled without a full re-run", async function(assert) {
965
+ let cssHref = `${testRealmURL}book.gts.deadbeef.glimmer-scoped.css`;
966
+ let searchCount = 0;
967
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
968
+ storeService.searchEntries = async () => {
969
+ searchCount++;
970
+ return entryCollectionDoc([{
971
+ id: `${testRealmURL}books/1`,
972
+ indexGen: 1,
973
+ htmlGen: 1,
974
+ html: "<div>Mango v1</div>"
975
+ }]);
976
+ };
977
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
978
+ storeService.fetchCardEntry = async () => ({
979
+ notModified: false,
980
+ doc: entrySingleDoc({
981
+ id: `${testRealmURL}books/1`,
982
+ indexGen: 1,
983
+ htmlGen: 2,
984
+ html: "<div>Mango v2</div>",
985
+ cssHref
986
+ })
987
+ });
988
+ let importCalls = [];
989
+ let stubbedLoader;
990
+ let originalImport;
991
+ try {
992
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
993
+ filter: { "item.on": bookRef },
994
+ realms: [testRealmURL]
995
+ } } }));
996
+ await search.loaded;
997
+ let baseline = searchCount;
998
+ stubbedLoader = loaderService.loader;
999
+ originalImport = stubbedLoader.import.bind(stubbedLoader);
1000
+ stubbedLoader.import = async (url) => {
1001
+ importCalls.push(url);
1002
+ if (url === cssHref) throw new Error("stylesheet fetch failed");
1003
+ return originalImport(url);
1004
+ };
1005
+ relayPrerenderHtml([`${testRealmURL}books/1.json`], 2);
1006
+ await waitUntil(() => search.entries[0]?.htmlGeneration === 2, { timeout: 1e4 });
1007
+ await settled();
1008
+ assert.true(importCalls.includes(cssHref), "the member refresh actually attempted the stylesheet import");
1009
+ assert.strictEqual(searchCount, baseline, "a failed stylesheet import degrades the entry rather than triggering the coarse re-run");
1010
+ assert.strictEqual(search.entries[0]?.htmlGeneration, 2, "the member's refresh is applied even though its stylesheet failed to load");
1011
+ } finally {
1012
+ storeService.searchEntries = originalSearchEntries;
1013
+ storeService.fetchCardEntry = originalFetchCardEntry;
1014
+ if (stubbedLoader && originalImport) stubbedLoader.import = originalImport;
1015
+ }
1016
+ });
1017
+ (0, import_qunit.test)("a row whose only change is its generation stamps keeps identity and adopts the stamps", async function(assert) {
1018
+ let docs = [entryCollectionDoc([{
1019
+ id: `${testRealmURL}books/1`,
1020
+ indexGen: 1,
1021
+ htmlGen: 1,
1022
+ html: "<div>Mango</div>"
1023
+ }]), entryCollectionDoc([{
1024
+ id: `${testRealmURL}books/1`,
1025
+ indexGen: 2,
1026
+ htmlGen: 2,
1027
+ html: "<div>Mango</div>"
1028
+ }])];
1029
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1030
+ storeService.searchEntries = async () => docs.shift() ?? docs[0];
1031
+ try {
1032
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1033
+ filter: { "item.on": bookRef },
1034
+ realms: [testRealmURL]
1035
+ } } }));
1036
+ await search.loaded;
1037
+ let before = search.entries[0];
1038
+ assert.strictEqual(before.htmlGeneration, 1);
1039
+ getService("message-service").relayRealmEvent({
1040
+ eventName: "index",
1041
+ indexType: "incremental",
1042
+ invalidations: [`${testRealmURL}books/1.json`],
1043
+ realmURL: testRealmURL
1044
+ });
1045
+ await waitUntil(() => search.entries[0]?.htmlGeneration === 2, { timeout: 1e4 });
1046
+ await settled();
1047
+ assert.strictEqual(search.entries[0], before, "the content-unchanged row keeps its object identity");
1048
+ assert.strictEqual(before.indexGeneration, 2, "the stamps are adopted");
1049
+ } finally {
1050
+ storeService.searchEntries = originalSearchEntries;
1051
+ }
1052
+ });
1053
+ (0, import_qunit.test)("clearing the query mid-refresh stops the remaining member GETs", async function(assert) {
1054
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1055
+ storeService.searchEntries = async () => entryCollectionDoc([{
1056
+ id: `${testRealmURL}books/1`,
1057
+ indexGen: 1,
1058
+ htmlGen: 1,
1059
+ html: "<div>Mango</div>"
1060
+ }, {
1061
+ id: `${testRealmURL}books/2`,
1062
+ indexGen: 1,
1063
+ htmlGen: 1,
1064
+ html: "<div>Van Gogh</div>"
1065
+ }]);
1066
+ let getCount = 0;
1067
+ let releaseFirstGet;
1068
+ let firstGet = new Promise((resolve) => releaseFirstGet = resolve);
1069
+ let originalFetchCardEntry = storeService.fetchCardEntry.bind(storeService);
1070
+ storeService.fetchCardEntry = async () => {
1071
+ getCount++;
1072
+ return firstGet;
1073
+ };
1074
+ try {
1075
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1076
+ filter: { "item.on": bookRef },
1077
+ realms: [testRealmURL]
1078
+ } } }));
1079
+ await search.loaded;
1080
+ relayPrerenderHtml([`${testRealmURL}books/1.json`, `${testRealmURL}books/2.json`], 2);
1081
+ await waitUntil(() => getCount === 1, { timeout: 1e4 });
1082
+ search.modify([], { query: void 0 });
1083
+ releaseFirstGet({
1084
+ notModified: false,
1085
+ doc: entrySingleDoc({
1086
+ id: `${testRealmURL}books/1`,
1087
+ indexGen: 1,
1088
+ htmlGen: 2,
1089
+ html: "<div>Mango v2</div>"
1090
+ })
1091
+ });
1092
+ await settled();
1093
+ assert.strictEqual(getCount, 1, "no further member GET fires after the query is cleared");
1094
+ } finally {
1095
+ storeService.searchEntries = originalSearchEntries;
1096
+ storeService.fetchCardEntry = originalFetchCardEntry;
1097
+ }
1098
+ });
1099
+ (0, import_qunit.test)("a non-incremental index event does not re-run the search", async function(assert) {
1100
+ let searchCount = 0;
1101
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1102
+ storeService.searchEntries = async () => {
1103
+ searchCount++;
1104
+ return entryCollectionDoc([{
1105
+ id: `${testRealmURL}books/1`,
1106
+ indexGen: 1,
1107
+ htmlGen: 1,
1108
+ html: "<div>Mango</div>"
1109
+ }]);
1110
+ };
1111
+ try {
1112
+ await getResourceForTest(storeService, () => ({ named: { query: {
1113
+ filter: { "item.on": bookRef },
1114
+ realms: [testRealmURL]
1115
+ } } })).loaded;
1116
+ let baseline = searchCount;
1117
+ getService("message-service").relayRealmEvent({
1118
+ eventName: "index",
1119
+ indexType: "full",
1120
+ realmURL: testRealmURL
1121
+ });
1122
+ await settled();
1123
+ assert.strictEqual(searchCount, baseline, "a full (non-incremental) index event leaves the search alone");
1124
+ } finally {
1125
+ storeService.searchEntries = originalSearchEntries;
1126
+ }
1127
+ });
1128
+ (0, import_qunit.test)("the real card+html GET round-trips and its ETag matches the reconstructed validator", async function(assert) {
1129
+ let url = `${testRealmURL}books/1`;
1130
+ let first = await storeService.fetchCardEntry(url, {
1131
+ kind: "card",
1132
+ format: "fitted"
1133
+ });
1134
+ assert.false(first.notModified, "the first GET returns the entry");
1135
+ if (!first.notModified) {
1136
+ let entry = first.doc.data;
1137
+ assert.strictEqual(entry.id, url);
1138
+ let htmlRef = entry.relationships.html?.data?.[0];
1139
+ assert.ok(htmlRef, "the entry carries a rendering");
1140
+ let htmlResource = first.doc.included?.find((resource) => resource.id === htmlRef.id);
1141
+ assert.ok(htmlResource, "the rendering rides in included");
1142
+ let indexGeneration = entry.meta?.generation;
1143
+ let htmlGeneration = htmlResource?.meta?.generation;
1144
+ let validator = `"${indexGeneration ?? 0}:${htmlGeneration ?? "none"}"`;
1145
+ let second = await storeService.fetchCardEntry(url, {
1146
+ kind: "card",
1147
+ format: "fitted",
1148
+ ifNoneMatch: validator
1149
+ });
1150
+ assert.true(second.notModified, "the reconstructed validator matches the server ETag, so the GET 304s");
1151
+ }
1152
+ });
1153
+ });
1154
+ (0, import_qunit.test)("an entry with an empty html array upgrades when its rendering lands on a later event", async function(assert) {
1155
+ let entryURL = `${testRealmURL}books/1`;
1156
+ let renderingId = htmlResourceId({
1157
+ url: entryURL,
1158
+ format: "fitted",
1159
+ renderType: bookRef
1160
+ });
1161
+ let cssHref = `${testRealmURL}book.gts.abc123.glimmer-scoped.css`;
1162
+ let unrenderedDoc = {
1163
+ data: [{
1164
+ type: EntryResourceType,
1165
+ id: entryURL,
1166
+ relationships: { html: { data: [] } }
1167
+ }],
1168
+ meta: { page: { total: 1 } }
1169
+ };
1170
+ let renderedDoc = {
1171
+ data: [{
1172
+ type: EntryResourceType,
1173
+ id: entryURL,
1174
+ relationships: { html: { data: [{
1175
+ type: HtmlResourceType,
1176
+ id: renderingId
1177
+ }] } }
1178
+ }],
1179
+ included: [{
1180
+ type: HtmlResourceType,
1181
+ id: renderingId,
1182
+ attributes: {
1183
+ html: "<div>Mango</div>",
1184
+ cardType: "Book",
1185
+ format: "fitted",
1186
+ renderType: bookRef
1187
+ },
1188
+ relationships: { styles: { data: [{
1189
+ type: "css",
1190
+ id: "deadbeef"
1191
+ }] } }
1192
+ }, {
1193
+ type: "css",
1194
+ id: "deadbeef",
1195
+ attributes: { href: cssHref }
1196
+ }],
1197
+ meta: { page: { total: 1 } }
1198
+ };
1199
+ let docs = [
1200
+ unrenderedDoc,
1201
+ renderedDoc,
1202
+ renderedDoc
1203
+ ];
1204
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1205
+ storeService.searchEntries = async () => docs.shift() ?? renderedDoc;
1206
+ let originalImport = loader.import.bind(loader);
1207
+ loader.import = async (url) => url === cssHref ? {} : originalImport(url);
1208
+ try {
1209
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1210
+ filter: { "item.on": bookRef },
1211
+ realms: [testRealmURL]
1212
+ } } }));
1213
+ await search.loaded;
1214
+ assert.strictEqual(search.entries.length, 1);
1215
+ assert.deepEqual(search.entries[0].html, [], "the entry matched but carries no rendering yet");
1216
+ await realm.write("books/9.json", bookDoc("Trigger"));
1217
+ await waitUntil(() => search.entries[0]?.html.length === 1, { timeout: 1e4 });
1218
+ let [rendering] = search.entries[0].html;
1219
+ assert.strictEqual(rendering.id, renderingId);
1220
+ assert.strictEqual(rendering.html, "<div>Mango</div>");
1221
+ assert.deepEqual(rendering.cssUrls, [cssHref], "the styles references resolve to the stylesheet hrefs");
1222
+ } finally {
1223
+ storeService.searchEntries = originalSearchEntries;
1224
+ loader.import = originalImport;
1225
+ }
1226
+ });
1227
+ (0, import_qunit.test)("an incremental event refreshes only its own realm, leaving other realms untouched", async function(assert) {
1228
+ let fetchedRealms = [];
1229
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1230
+ storeService.searchEntries = async (query, realms) => {
1231
+ fetchedRealms.push(realms ?? []);
1232
+ return await originalSearchEntries(query, realms);
1233
+ };
1234
+ try {
1235
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1236
+ filter: { "item.on": bookRef },
1237
+ realms: [testRealmURL, testRealm2URL]
1238
+ } } }));
1239
+ await search.loaded;
1240
+ assert.strictEqual(search.entries.length, 3, "both realms contribute entries");
1241
+ let entriesBefore = [...search.entries];
1242
+ let orderBefore = entriesBefore.map((entry) => entry.id);
1243
+ let realm2EntryBefore = entriesBefore.find((entry) => entry.realmUrl === testRealm2URL);
1244
+ assert.ok(realm2EntryBefore, "realm 2 contributed an entry");
1245
+ await realm.write("books/3.json", bookDoc("Paper"));
1246
+ await waitUntil(() => search.entries.length === 4, { timeout: 1e4 });
1247
+ assert.deepEqual(fetchedRealms[fetchedRealms.length - 1], [testRealmURL], "the refresh fetch is scoped to the realm whose index moved");
1248
+ assert.deepEqual(search.entries.map((entry) => entry.id), [...orderBefore, `${testRealmURL}books/3`], "surviving rows keep their positions; the new row appends");
1249
+ let realm2EntryAfter = search.entries.find((entry) => entry.realmUrl === testRealm2URL);
1250
+ assert.strictEqual(realm2EntryAfter, realm2EntryBefore, "realm 2's entry keeps its identity through realm 1's refresh");
1251
+ for (let entryBefore of entriesBefore.filter((entry) => entry.realmUrl === testRealmURL)) assert.strictEqual(search.entries.find((entry) => entry.id === entryBefore.id), entryBefore, `unchanged refreshed row ${entryBefore.id} keeps its identity`);
1252
+ assert.strictEqual(search.meta.page.total, 4);
1253
+ } finally {
1254
+ storeService.searchEntries = originalSearchEntries;
1255
+ }
1256
+ });
1257
+ (0, import_qunit.test)("a paginated query takes a full re-run on an incremental event, keeping the server total", async function(assert) {
1258
+ let fetchedRealms = [];
1259
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1260
+ storeService.searchEntries = async (query, realms) => {
1261
+ fetchedRealms.push(realms ?? []);
1262
+ return await originalSearchEntries(query, realms);
1263
+ };
1264
+ try {
1265
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1266
+ filter: { "item.on": bookRef },
1267
+ page: { size: 2 },
1268
+ realms: [testRealmURL, testRealm2URL]
1269
+ } } }));
1270
+ await search.loaded;
1271
+ assert.strictEqual(search.entries.length, 3);
1272
+ assert.strictEqual(search.meta.page.total, 3, "the server total spans all pages");
1273
+ await realm.write("books/3.json", bookDoc("Paper"));
1274
+ await waitUntil(() => search.meta.page.total === 4, { timeout: 1e4 });
1275
+ assert.deepEqual(fetchedRealms[fetchedRealms.length - 1], [testRealmURL, testRealm2URL], "a paginated query re-fetches all realms — no realm-scoped splice");
1276
+ assert.strictEqual(search.entries.length, 3, "realm 1's contribution stays page-limited");
1277
+ assert.strictEqual(search.meta.page.total, 4, "the total stays server-accurate after the live update");
1278
+ } finally {
1279
+ storeService.searchEntries = originalSearchEntries;
1280
+ }
1281
+ });
1282
+ (0, import_qunit.test)("a realm named by a registered prefix is searched, tagged and refreshed by the spelling the caller used", async function(assert) {
1283
+ let { virtualNetwork } = getService("network");
1284
+ virtualNetwork.addRealmMapping("@test/mapped/", testRealm2URL);
1285
+ let fetchedRealms = [];
1286
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1287
+ storeService.searchEntries = async (query, realms) => {
1288
+ fetchedRealms.push(realms ?? []);
1289
+ return await originalSearchEntries(query, realms);
1290
+ };
1291
+ try {
1292
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1293
+ filter: { "item.on": bookRef },
1294
+ realms: [testRealmURL, "@test/mapped/"]
1295
+ } } }));
1296
+ await search.loaded;
1297
+ assert.strictEqual(search.entries.length, 3, "both realms answer");
1298
+ let realm1EntriesBefore = search.entries.filter((entry) => entry.realmUrl === testRealmURL);
1299
+ assert.strictEqual(realm1EntriesBefore.length, 2);
1300
+ assert.deepEqual(search.entries.filter((entry) => entry.realmUrl === "@test/mapped/").map((entry) => entry.id), [`${testRealm2URL}books/other`], "the prefixed realm's row carries the realm as the caller named it");
1301
+ await realm2.write("books/another.json", bookDoc("Hassan"));
1302
+ await waitUntil(() => search.entries.length === 4, { timeout: 1e4 });
1303
+ assert.deepEqual(fetchedRealms[fetchedRealms.length - 1], ["@test/mapped/"], "the event on the backing realm refreshes that realm alone");
1304
+ for (let entryBefore of realm1EntriesBefore) assert.strictEqual(search.entries.find((entry) => entry.id === entryBefore.id), entryBefore, `the other realm's row ${entryBefore.id} keeps its identity`);
1305
+ } finally {
1306
+ storeService.searchEntries = originalSearchEntries;
1307
+ virtualNetwork.removeRealmMapping("@test/mapped/");
1308
+ }
1309
+ });
1310
+ (0, import_qunit.test)("an event in realm 2 refreshes realm 2's rows", async function(assert) {
1311
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1312
+ filter: { "item.on": bookRef },
1313
+ realms: [testRealmURL, testRealm2URL]
1314
+ } } }));
1315
+ await search.loaded;
1316
+ assert.strictEqual(search.entries.length, 3);
1317
+ await realm2.write("books/another.json", JSON.stringify({ data: {
1318
+ type: "card",
1319
+ attributes: {
1320
+ title: "Hassan",
1321
+ status: "ready"
1322
+ },
1323
+ meta: { adoptsFrom: {
1324
+ module: testRRI("book"),
1325
+ name: "Book"
1326
+ } }
1327
+ } }));
1328
+ await waitUntil(() => search.entries.length === 4, { timeout: 1e4 });
1329
+ assert.ok(search.entries.find((entry) => entry.id === `${testRealm2URL}books/another`), "realm 2's new book appears");
1330
+ });
1331
+ (0, import_qunit.test)("does not re-fetch when the query is structurally unchanged", async function(assert) {
1332
+ let fetchCount = 0;
1333
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1334
+ storeService.searchEntries = async (query, realms) => {
1335
+ fetchCount++;
1336
+ return await originalSearchEntries(query, realms);
1337
+ };
1338
+ try {
1339
+ let query = {
1340
+ filter: { "item.on": bookRef },
1341
+ realms: [testRealmURL]
1342
+ };
1343
+ let search = getResourceForTest(storeService, () => ({ named: { query } }));
1344
+ await search.loaded;
1345
+ assert.strictEqual(fetchCount, 1, "initial search performed once");
1346
+ search.modify([], { query: JSON.parse(JSON.stringify(query)) });
1347
+ await settled();
1348
+ assert.strictEqual(fetchCount, 1, "no re-fetch for a deep-equal query");
1349
+ search.modify([], { query: {
1350
+ filter: {
1351
+ "item.on": bookRef,
1352
+ eq: { "item.status": "ready" }
1353
+ },
1354
+ realms: [testRealmURL]
1355
+ } });
1356
+ await settled();
1357
+ assert.strictEqual(fetchCount, 2, "a changed query re-runs the search");
1358
+ assert.strictEqual(search.entries.length, 1, "the new query narrows the result set");
1359
+ } finally {
1360
+ storeService.searchEntries = originalSearchEntries;
1361
+ }
1362
+ });
1363
+ (0, import_qunit.test)("destroying the resource tears down its realm subscriptions", async function(assert) {
1364
+ let fetchCount = 0;
1365
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1366
+ storeService.searchEntries = async (query, realms) => {
1367
+ fetchCount++;
1368
+ return await originalSearchEntries(query, realms);
1369
+ };
1370
+ try {
1371
+ let parent = {};
1372
+ setOwner(parent, this.owner);
1373
+ await getResourceForTest(parent, () => ({ named: { query: {
1374
+ filter: { "item.on": bookRef },
1375
+ realms: [testRealmURL]
1376
+ } } })).loaded;
1377
+ assert.strictEqual(fetchCount, 1);
1378
+ destroy(parent);
1379
+ await settled();
1380
+ await realm.write("books/3.json", bookDoc("Paper"));
1381
+ await settled();
1382
+ assert.strictEqual(fetchCount, 1, "no fetch fires for a realm event after the resource is destroyed");
1383
+ } finally {
1384
+ storeService.searchEntries = originalSearchEntries;
1385
+ }
1386
+ });
1387
+ (0, import_qunit.test)("a failed fetch surfaces errors; a later successful run clears them", async function(assert) {
1388
+ let failNext = true;
1389
+ let originalSearchEntries = storeService.searchEntries.bind(storeService);
1390
+ storeService.searchEntries = async (query, realms) => {
1391
+ if (failNext) {
1392
+ failNext = false;
1393
+ let err = /* @__PURE__ */ new Error("search exploded");
1394
+ err.status = 500;
1395
+ throw err;
1396
+ }
1397
+ return await originalSearchEntries(query, realms);
1398
+ };
1399
+ try {
1400
+ let search = getResourceForTest(storeService, () => ({ named: { query: {
1401
+ filter: { "item.on": bookRef },
1402
+ realms: [testRealmURL]
1403
+ } } }));
1404
+ await search.loaded;
1405
+ assert.strictEqual(search.entries.length, 0);
1406
+ assert.strictEqual(search.errors?.length, 1);
1407
+ assert.strictEqual(search.errors?.[0].type, "instance-error");
1408
+ assert.false(search.isLoading, "a failed run settles isLoading (no permanent \"Searching…\")");
1409
+ await realm.write("books/3.json", bookDoc("Paper"));
1410
+ await waitUntil(() => search.entries.length === 3, { timeout: 1e4 });
1411
+ assert.strictEqual(search.errors, void 0, "a successful re-run clears the errors");
1412
+ } finally {
1413
+ storeService.searchEntries = originalSearchEntries;
1414
+ }
1415
+ });
1416
+ (0, import_qunit.module)("rendered consumption", function() {
1417
+ class QueryState {
1418
+ static {
1419
+ decorateFieldV2(this.prototype, "query", [tracked]);
1420
+ }
1421
+ #query = (initializeDeferredDecorator(this, "query"), void 0);
1422
+ }
1423
+ class Harness extends Component {
1424
+ search = getSearchEntriesResource(this, () => this.args.state.query);
1425
+ static {
1426
+ setComponentTemplate(templateFactory({
1427
+ "id": "cYXtxh4U",
1428
+ "block": "[[[10,0],[14,\"data-test-entry-count\",\"\"],[12],[1,[30,0,[\"search\",\"entries\",\"length\"]]],[13]],[],[]]",
1429
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/resources/search-entries-test.gts",
1430
+ "isStrictMode": true
1431
+ }), this);
1432
+ }
1433
+ }
1434
+ (0, import_qunit.test)("a rendered consumer activates from an idle query and clears back to idle", async function(assert) {
1435
+ let state = new QueryState();
1436
+ await render(setComponentTemplate(templateFactory({
1437
+ "id": "DewS/Yhh",
1438
+ "block": "[[[8,[32,0],null,[[\"@state\"],[[32,1]]],null]],[],[]]",
1439
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/resources/search-entries-test.gts",
1440
+ "scope": () => [Harness, state],
1441
+ "isStrictMode": true
1442
+ }), templateOnly()));
1443
+ assert.dom("[data-test-entry-count]").hasText("0", "an idle (undefined) query renders empty");
1444
+ state.query = {
1445
+ filter: { "item.on": bookRef },
1446
+ realms: [testRealmURL]
1447
+ };
1448
+ await settled();
1449
+ assert.dom("[data-test-entry-count]").hasText("2", "setting the query activates the search");
1450
+ state.query = void 0;
1451
+ await settled();
1452
+ assert.dom("[data-test-entry-count]").hasText("0", "returning to idle clears the standing entries");
1453
+ state.query = {
1454
+ filter: {
1455
+ "item.on": bookRef,
1456
+ eq: { "item.status": "ready" }
1457
+ },
1458
+ realms: [testRealmURL]
1459
+ };
1460
+ await settled();
1461
+ assert.dom("[data-test-entry-count]").hasText("1", "a fresh query after idle re-activates");
1462
+ });
1463
+ (0, import_qunit.test)("changing realms while entries are standing re-runs cleanly", async function(assert) {
1464
+ let state = new QueryState();
1465
+ state.query = {
1466
+ filter: { "item.on": bookRef },
1467
+ realms: [testRealmURL]
1468
+ };
1469
+ await render(setComponentTemplate(templateFactory({
1470
+ "id": "DewS/Yhh",
1471
+ "block": "[[[8,[32,0],null,[[\"@state\"],[[32,1]]],null]],[],[]]",
1472
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/resources/search-entries-test.gts",
1473
+ "scope": () => [Harness, state],
1474
+ "isStrictMode": true
1475
+ }), templateOnly()));
1476
+ assert.dom("[data-test-entry-count]").hasText("2");
1477
+ state.query = {
1478
+ filter: { "item.on": bookRef },
1479
+ realms: [testRealm2URL]
1480
+ };
1481
+ await settled();
1482
+ assert.dom("[data-test-entry-count]").hasText("1", "only the new realm's entries remain after the re-run");
1483
+ });
1484
+ });
1485
+ });
1486
+ //#endregion