@cardstack/boxel-cli 0.3.2-unstable.61 → 0.4.0-unstable.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/bundled-realms/base/card-api.gts +2 -0
  2. package/bundled-realms/base/components/cards-grid-layout.gts +24 -2
  3. package/bundled-realms/base/field-component.gts +16 -4
  4. package/bundled-realms/base/links-to-editor.gts +27 -3
  5. package/bundled-realms/base/realm-config.gts +18 -1
  6. package/bundled-test-harness/assets/adapter-unm-Xq4g.js +2 -0
  7. package/bundled-test-harness/assets/{add-field-to-card-definition-command-test-DkxmkPH6.js → add-field-to-card-definition-command-test-CCaDu5uP.js} +2 -2
  8. package/bundled-test-harness/assets/{add-workspace-tMjv_Ar4.js → add-workspace-DBDTvtP2.js} +3 -3
  9. package/bundled-test-harness/assets/{add-workspace-test-BMKxSlaC.js → add-workspace-test-CE21v7jK.js} +3 -3
  10. package/bundled-test-harness/assets/{ai-assistant-test-C3LjW9Uz.js → ai-assistant-test-DSyMR0hY.js} +8 -7
  11. package/bundled-test-harness/assets/{ai-function-generation-test-WqD9vlzP.js → ai-function-generation-test-BkTvuCnq.js} +1 -1
  12. package/bundled-test-harness/assets/{ai-module-creation-test-CeP1V90-.js → ai-module-creation-test-zY83EN93.js} +3 -3
  13. package/bundled-test-harness/assets/{aibot-message-CiwsV-h8.js → aibot-message-BfRah4Lm.js} +2 -2
  14. package/bundled-test-harness/assets/{app-C8fZHSIY.js → app-CPRVydcd.js} +321 -33
  15. package/bundled-test-harness/assets/{apply-markdown-edit-test-VkN9mVg4.js → apply-markdown-edit-test-CpeCS12T.js} +2 -2
  16. package/bundled-test-harness/assets/{apply-search-replace-block-test-C4GiLUbz.js → apply-search-replace-block-test-Czoi47xr.js} +1 -1
  17. package/bundled-test-harness/assets/{auth-service-worker-registration-CGUqW_lr.js → auth-service-worker-registration-C3rAs9Yi.js} +1 -1
  18. package/bundled-test-harness/assets/{auth-service-worker-test-DjVH_n4v.js → auth-service-worker-test-DTHQyoUg.js} +3 -3
  19. package/bundled-test-harness/assets/{authed-fetch-test-PT9AWQEk.js → authed-fetch-test-BRqybmXe.js} +2 -2
  20. package/bundled-test-harness/assets/{avif-image-def-test-BMFnvMFY.js → avif-image-def-test-BVwv4Ahc.js} +1 -1
  21. package/bundled-test-harness/assets/{basic-test-B5EcLZRP.js → basic-test-Dbky79J2.js} +1 -1
  22. package/bundled-test-harness/assets/{binary-upload-dedupe-test-BvQVNF95.js → binary-upload-dedupe-test-nnaYqiTh.js} +3 -3
  23. package/bundled-test-harness/assets/{bot-registration-test-Cy1HY7PT.js → bot-registration-test-zrufhFTo.js} +2 -2
  24. package/bundled-test-harness/assets/{box-test-BTOPLQ3k.js → box-test-B85wfMJn.js} +1 -1
  25. package/bundled-test-harness/assets/{brand-guide-attachments-test-C4R_z8N5.js → brand-guide-attachments-test-C8-n-naq.js} +2 -2
  26. package/bundled-test-harness/assets/{brand-guide-custom-css-test-Me-k86li.js → brand-guide-custom-css-test-B2fmvFp4.js} +2 -2
  27. package/bundled-test-harness/assets/{brand-logo-mark-field-test-DcCSpYJq.js → brand-logo-mark-field-test-CJ4s6jjd.js} +2 -2
  28. package/bundled-test-harness/assets/{broken-link-template-test-BRD2BX45.js → broken-link-template-test-BHXrPxQ6.js} +2 -2
  29. package/bundled-test-harness/assets/{can-read-realm-test-_flXUfS4.js → can-read-realm-test-mHnz9-_s.js} +2 -2
  30. package/bundled-test-harness/assets/{cancel-indexing-job-test-0JyPszPo.js → cancel-indexing-job-test-Drx2ghoA.js} +2 -2
  31. package/bundled-test-harness/assets/{card-api-test-BpeMpeQ0.js → card-api-test-C0HrvAuC.js} +3 -3
  32. package/bundled-test-harness/assets/{card-basics-test-C-UCeun-.js → card-basics-test-CvITmKK-.js} +3 -3
  33. package/bundled-test-harness/assets/{card-catalog-test-4K3_LE47.js → card-catalog-test-CWkfBRuQ.js} +3 -3
  34. package/bundled-test-harness/assets/{card-copy-test-BFFsV3G-.js → card-copy-test-Co_MPCIJ.js} +3 -3
  35. package/bundled-test-harness/assets/{card-def-field-def-relationships-test-CRjFV5pq.js → card-def-field-def-relationships-test-7e-g4qJs.js} +3 -3
  36. package/bundled-test-harness/assets/{card-def-menu-items-test-DQNnU_0P.js → card-def-menu-items-test-DLO6TEhC.js} +1 -1
  37. package/bundled-test-harness/assets/{card-delete-test-DOyt5y-x.js → card-delete-test-BcOtJYm4.js} +3 -3
  38. package/bundled-test-harness/assets/{card-error-detail-DuFoktdn.js → card-error-detail-Q7wtuRcv.js} +2 -2
  39. package/bundled-test-harness/assets/{card-playground-test-CiESzD5-.js → card-playground-test-DxoIBbjx.js} +3 -3
  40. package/bundled-test-harness/assets/{card-search-adorn-test-DdTUl5RY.js → card-search-adorn-test-CbsnFvDF.js} +2 -2
  41. package/bundled-test-harness/assets/{card-search-selection-menu-test-BJFUbgA1.js → card-search-selection-menu-test-CY77b1kz.js} +2 -2
  42. package/bundled-test-harness/assets/{check-correctness-test-B4E7WXSZ.js → check-correctness-test-D0EYMlP7.js} +2 -2
  43. package/bundled-test-harness/assets/{check-domain-availability-test-BnmsW2P7.js → check-domain-availability-test-BYAkVLGj.js} +2 -2
  44. package/bundled-test-harness/assets/{code-patches-test-6Lvfhm1l.js → code-patches-test-BDg35i4X.js} +1 -1
  45. package/bundled-test-harness/assets/{code-ref-test-BWuTdZ2e.js → code-ref-test-BZGL3teK.js} +1 -1
  46. package/bundled-test-harness/assets/{code-submode-test-DPzE9tKe.js → code-submode-test-DIiXgCRB.js} +3 -3
  47. package/bundled-test-harness/assets/{codeblocks-test-MV1tHflj.js → codeblocks-test-CFR0u5-j.js} +3 -3
  48. package/bundled-test-harness/assets/{codemirror-editor-test-SD3gDmHw.js → codemirror-editor-test-e1Yn_b_1.js} +1 -1
  49. package/bundled-test-harness/assets/{color-field-test-C_7cf4Z2.js → color-field-test-okcvtdsF.js} +2 -2
  50. package/bundled-test-harness/assets/{commands-DoigkJc8.js → commands-BOwQjc8N.js} +3 -3
  51. package/bundled-test-harness/assets/{commands-calling-test-Br4sMoMf.js → commands-calling-test-BETL8EWm.js} +2 -2
  52. package/bundled-test-harness/assets/{commands-test-71b4Fun5.js → commands-test-BpFjXsiC.js} +3 -3
  53. package/bundled-test-harness/assets/{commands-test-COT9Ck-6.js → commands-test-QSW7zRvO.js} +2 -2
  54. package/bundled-test-harness/assets/{components-CBfd9MIo.js → components-DYC4nC4r.js} +184 -184
  55. package/bundled-test-harness/assets/{components-8vaKSlYm.css → components-DgK6vTbM.css} +17 -14
  56. package/bundled-test-harness/assets/{computed-test-BbCVTMkD.js → computed-test-C2j8r-e_.js} +2 -2
  57. package/bundled-test-harness/assets/{container-BVdtw4NT.js → container-DRblzvCW.js} +18 -18
  58. package/bundled-test-harness/assets/{convert-to-class-name-test-DmF3wUKb.js → convert-to-class-name-test-BiCrnGxA.js} +1 -1
  59. package/bundled-test-harness/assets/{copy-and-edit-test-1xrTe8p1.js → copy-and-edit-test-DqV_dpu_.js} +1 -1
  60. package/bundled-test-harness/assets/{copy-card-test-D0rXx03h.js → copy-card-test-B4dNP03f.js} +1 -1
  61. package/bundled-test-harness/assets/{copy-file-to-realm-test-DxW5PABL.js → copy-file-to-realm-test-oGK9EM0P.js} +1 -1
  62. package/bundled-test-harness/assets/{copy-source-test-Dy83btnV.js → copy-source-test-GtNFw5fv.js} +2 -2
  63. package/bundled-test-harness/assets/{create-file-modal-BNJHELMz.js → create-file-modal-Cfvn0u5s.js} +4 -4
  64. package/bundled-test-harness/assets/{create-file-test-DimDxpRl.js → create-file-test-2WPpTJ5F.js} +1 -1
  65. package/bundled-test-harness/assets/{create-file-test-COppMhde.js → create-file-test-HxkEMHWL.js} +2 -2
  66. package/bundled-test-harness/assets/{create-listing-modal-test-D57Altg2.js → create-listing-modal-test-W6LuCzaK.js} +4 -4
  67. package/bundled-test-harness/assets/{create-listing-pr-request-test-HJmFkx_x.js → create-listing-pr-request-test-2ZRF_IBk.js} +2 -2
  68. package/bundled-test-harness/assets/{create-spec-test-C-4bkoj3.js → create-spec-test-JVOisAUl.js} +1 -1
  69. package/bundled-test-harness/assets/{csv-file-def-test-GOmD6Ikx.js → csv-file-def-test-DIVp_7a6.js} +1 -1
  70. package/bundled-test-harness/assets/{date-time-fields-test-BYn57092.js → date-time-fields-test-BWdrrYdj.js} +2 -2
  71. package/bundled-test-harness/assets/{debug-message-test-CNzx_IFI.js → debug-message-test-CXVfUuec.js} +3 -3
  72. package/bundled-test-harness/assets/{diffing-test-PA40XPFB.js → diffing-test-JzXF051K.js} +1 -1
  73. package/bundled-test-harness/assets/{editor-test-Dg1fTno0.js → editor-test-j9znzFxy.js} +2 -2
  74. package/bundled-test-harness/assets/{email-field-test-rPWkRvgR.js → email-field-test-D4vZ2Qnc.js} +2 -2
  75. package/bundled-test-harness/assets/{enum-field-test-DjQ-sjAR.js → enum-field-test-DtZ_sOiA.js} +2 -2
  76. package/bundled-test-harness/assets/{error-display-test-Cp1vgWSg.js → error-display-test-B6I8CYXw.js} +2 -2
  77. package/bundled-test-harness/assets/{evaluate-module-test-Bm6adsJS.js → evaluate-module-test-C_F1Y9Az.js} +1 -1
  78. package/bundled-test-harness/assets/{execute-atomic-operations-test-BAB2vv15.js → execute-atomic-operations-test-D_z5eJ6K.js} +2 -2
  79. package/bundled-test-harness/assets/{externals-C65aJ_7H.js → externals-DiG6hYU9.js} +2 -2
  80. package/bundled-test-harness/assets/fallback-banner-live-delete-test-Bv_OBmzY.js +209 -0
  81. package/bundled-test-harness/assets/{fallback-banner-test-Md-3yTpX.js → fallback-banner-test-DSjH5ank.js} +1 -1
  82. package/bundled-test-harness/assets/{fallback-banner-test-DpCz2idU.js → fallback-banner-test-TL8jNe4f.js} +3 -3
  83. package/bundled-test-harness/assets/{fallback-models-test-DcB9u65l.js → fallback-models-test-DEhvKsfY.js} +3 -3
  84. package/bundled-test-harness/assets/{fetch-card-json-test-CPHdklsi.js → fetch-card-json-test-BPfTOr4N.js} +2 -2
  85. package/bundled-test-harness/assets/{field-configuration-test-Da5xu3ar.js → field-configuration-test-CH1Kc0iA.js} +2 -2
  86. package/bundled-test-harness/assets/{field-markdown-domain-test-7aY4gMQ3.js → field-markdown-domain-test-COaJBBzN.js} +2 -2
  87. package/bundled-test-harness/assets/{field-markdown-primitives-test-B8UurS_m.js → field-markdown-primitives-test-C52WikZw.js} +2 -2
  88. package/bundled-test-harness/assets/{field-markdown-specialized-test-CHiWEV2t.js → field-markdown-specialized-test-Cmq-3t4u.js} +2 -2
  89. package/bundled-test-harness/assets/{field-playground-test-DBVHB2_g.js → field-playground-test-DbXri11f.js} +3 -3
  90. package/bundled-test-harness/assets/{field-support-predicates-test-i8LXzh_P.js → field-support-predicates-test-ni5pZ9sU.js} +1 -1
  91. package/bundled-test-harness/assets/{field-test-helpers-F8iX3xAt.js → field-test-helpers-BLApZo43.js} +1 -1
  92. package/bundled-test-harness/assets/{file-DUbLArQi.js → file-D8hnXC1_.js} +8 -2
  93. package/bundled-test-harness/assets/{file-attachment-test-yfZsKhWQ.js → file-attachment-test-CkL6IaWf.js} +3 -3
  94. package/bundled-test-harness/assets/{file-chooser-test-JOvGg1N8.js → file-chooser-test-M1rOgltw.js} +2 -2
  95. package/bundled-test-harness/assets/{file-def-live-reload-test-B_XsrkaB.js → file-def-live-reload-test--L4MvUj5.js} +1 -1
  96. package/bundled-test-harness/assets/{file-def-menu-items-test-CkZrFXrK.js → file-def-menu-items-test-B_dVulF7.js} +1 -1
  97. package/bundled-test-harness/assets/{file-def-navigation-test-CyO27adK.js → file-def-navigation-test-B4_pzEXy.js} +1 -1
  98. package/bundled-test-harness/assets/{file-def-serialization-test-1XrP63F8.js → file-def-serialization-test-IoGIzKST.js} +1 -1
  99. package/bundled-test-harness/assets/{file-def-test-BJEhQN1c.js → file-def-test-CT8jTLQy.js} +1 -1
  100. package/bundled-test-harness/assets/{file-tree-test-DQSPDeb2.js → file-tree-test-DQNSRISM.js} +2 -2
  101. package/bundled-test-harness/assets/{flac-audio-def-test-CeyxsGOr.js → flac-audio-def-test-CEt7tShK.js} +1 -1
  102. package/bundled-test-harness/assets/{formatted-aibot-message-test-D09eSldQ.js → formatted-aibot-message-test-CNk1lVYO.js} +3 -3
  103. package/bundled-test-harness/assets/{formatted-user-message-test-DmX95kEo.js → formatted-user-message-test-By3DTUBk.js} +2 -2
  104. package/bundled-test-harness/assets/{freestyle-test-KaFCs8l2.js → freestyle-test-BOVAHn_7.js} +1 -1
  105. package/bundled-test-harness/assets/{full-reindex-realm-test-BCUSPZuX.js → full-reindex-realm-test-BQji9QK_.js} +2 -2
  106. package/bundled-test-harness/assets/{garbage-collection-test-BJmgY3IQ.js → garbage-collection-test-bPtmt69E.js} +1 -1
  107. package/bundled-test-harness/assets/{general-test-B5RcCakW.js → general-test-B_QwZC0y.js} +3 -3
  108. package/bundled-test-harness/assets/{generate-example-cards-one-shot-test-Bh9_GXLK.js → generate-example-cards-one-shot-test-DtYqN3qW.js} +1 -1
  109. package/bundled-test-harness/assets/{get-available-realm-identifiers-test-C18mJr3L.js → get-available-realm-identifiers-test-BiHIbpFc.js} +2 -2
  110. package/bundled-test-harness/assets/{get-catalog-realm-identifiers-test-vDnl-arI.js → get-catalog-realm-identifiers-test-B4EVfXvp.js} +2 -2
  111. package/bundled-test-harness/assets/{get-default-writable-realm-test-Co4F_EH-.js → get-default-writable-realm-test-C2izRfTp.js} +2 -2
  112. package/bundled-test-harness/assets/{get-published-realms-test-D6auThJu.js → get-published-realms-test-CJlYS6SA.js} +1 -1
  113. package/bundled-test-harness/assets/{get-realm-of-resource-identifier-test-BeVoQztL.js → get-realm-of-resource-identifier-test-DZG0gROs.js} +2 -2
  114. package/bundled-test-harness/assets/{get-relationship-membership-state-test-Cm_VeTXw.js → get-relationship-membership-state-test-wOVStpnA.js} +1 -1
  115. package/bundled-test-harness/assets/{get-user-system-card-test-CAc-Ainy.js → get-user-system-card-test-Bf_il1b_.js} +2 -2
  116. package/bundled-test-harness/assets/{gif-image-def-test-Co2Woq8R.js → gif-image-def-test-DD4BOFUq.js} +1 -1
  117. package/bundled-test-harness/assets/{gts-file-def-test-DMhWqyxZ.js → gts-file-def-test-KrlOMcTY.js} +1 -1
  118. package/bundled-test-harness/assets/{head-format-preview-test-DPOjt1cu.js → head-format-preview-test-CGzx-i_Q.js} +2 -2
  119. package/bundled-test-harness/assets/{helpers-BIQP26gX.js → helpers-CR-27yCL.js} +1 -1
  120. package/bundled-test-harness/assets/{host-mode-service-BYjO5JXT.js → host-mode-service-BPYfmILw.js} +1 -1
  121. package/bundled-test-harness/assets/{host-mode-test-D9kRy5kW.js → host-mode-test-sjKqSasU.js} +3 -3
  122. package/bundled-test-harness/assets/{host-submode-test-Zy7-q9vh.js → host-submode-test-CvezMbrv.js} +1 -1
  123. package/bundled-test-harness/assets/{hydratable-card-test-DvgHojHD.js → hydratable-card-test-Ds6x3mv5.js} +1 -1
  124. package/bundled-test-harness/assets/{index-query-engine-test-Bk52a889.js → index-query-engine-test-x77vbwML.js} +2 -2
  125. package/bundled-test-harness/assets/{index-writer-test-DNeo1Uod.js → index-writer-test-BMajX3Mj.js} +1 -1
  126. package/bundled-test-harness/assets/{inspector-test-OaFEP4S0.js → inspector-test-CtCAKlpG.js} +42 -5
  127. package/bundled-test-harness/assets/{instance-filter-matcher-test-PeeLVGMO.js → instance-filter-matcher-test-YKzjZAa3.js} +2 -2
  128. package/bundled-test-harness/assets/{instantiate-card-test-C0Y8FG7w.js → instantiate-card-test-Ba3rd5Zn.js} +1 -1
  129. package/bundled-test-harness/assets/{interact-submode-creation-and-permissions-test-Cp3YiIQG.js → interact-submode-creation-and-permissions-test-2_4tHla6.js} +4 -4
  130. package/bundled-test-harness/assets/{interact-submode-setup-CtFp9kvB.js → interact-submode-setup-DI2HM3S-.js} +2 -2
  131. package/bundled-test-harness/assets/{interact-submode-test-B_JqGk2t.js → interact-submode-test-BUKZnm-y.js} +2 -2
  132. package/bundled-test-harness/assets/{invalidate-realm-identifiers-test-Dpa0TzwS.js → invalidate-realm-identifiers-test-Bl1RP3Kp.js} +2 -2
  133. package/bundled-test-harness/assets/{invite-user-to-room-test-DXzTeCgP.js → invite-user-to-room-test-Q26QQwvj.js} +2 -2
  134. package/bundled-test-harness/assets/{isolated-render-test-DVzQEdsY.js → isolated-render-test-Bc2ASFB1.js} +1 -1
  135. package/bundled-test-harness/assets/{item-button-CAhhwhRh.js → item-button-CepLHUN-.js} +1 -1
  136. package/bundled-test-harness/assets/{job-priority-header-test-J8emfVrj.js → job-priority-header-test-CDDfX3mF.js} +1 -1
  137. package/bundled-test-harness/assets/{jpg-image-def-test-D7txmQ4U.js → jpg-image-def-test-DGjpMEj5.js} +1 -1
  138. package/bundled-test-harness/assets/{json-file-def-test-C3W6amHE.js → json-file-def-test-8NlQ7NyF.js} +1 -1
  139. package/bundled-test-harness/assets/{linksto-broken-link-placeholder-test-nZIKEYDd.js → linksto-broken-link-placeholder-test-OPR5aao3.js} +2 -2
  140. package/bundled-test-harness/assets/{linksto-error-sentinel-test-E5UdAPkR.js → linksto-error-sentinel-test-DNEi2-4f.js} +1 -1
  141. package/bundled-test-harness/assets/{linksto-many-broken-link-placeholder-test-D5lhE5y-.js → linksto-many-broken-link-placeholder-test-Bl3-UMZt.js} +2 -2
  142. package/bundled-test-harness/assets/{linksto-many-per-slot-access-test-uONh3sy8.js → linksto-many-per-slot-access-test-Cv88sT3k.js} +1 -1
  143. package/bundled-test-harness/assets/{linksto-sentinel-roundtrip-test-CUbMHhoz.js → linksto-sentinel-roundtrip-test-DDrNtJgY.js} +1 -1
  144. package/bundled-test-harness/assets/{linksto-singular-js-access-contract-test-Doycge43.js → linksto-singular-js-access-contract-test-CMOxHvSS.js} +1 -1
  145. package/bundled-test-harness/assets/{live-prerendered-search-kxxMxyHS.js → live-prerendered-search-DiFs_MHd.js} +1 -1
  146. package/bundled-test-harness/assets/{live-test-pbHzyWf7.js → live-test-BfSJ7dPf.js} +6 -6
  147. package/bundled-test-harness/assets/live-test-CfcRApCW.js +2 -0
  148. package/bundled-test-harness/assets/{loader-parallel-prefetch-test-cfEJV65W.js → loader-parallel-prefetch-test-DchEbilk.js} +1 -1
  149. package/bundled-test-harness/assets/{loader-test-DZX-dw3F.js → loader-test-LyM1F2ON.js} +1 -1
  150. package/bundled-test-harness/assets/{loading-test-PwEVbSuF.js → loading-test-DrK02DRI.js} +2 -2
  151. package/bundled-test-harness/assets/{local-storage-keys-Do9I1BSV.js → local-storage-keys-C0jyxDKn.js} +4 -1
  152. package/bundled-test-harness/assets/{login-ou9E1DG9.js → login-DWNfbapF.js} +1 -1
  153. package/bundled-test-harness/assets/{login-error-text-test-BGvtn9op.js → login-error-text-test-3lQ69Gme.js} +1 -1
  154. package/bundled-test-harness/assets/{m4a-audio-def-test-Dkbh40DD.js → m4a-audio-def-test-B1PZDu-M.js} +1 -1
  155. package/bundled-test-harness/assets/{main-CE7KR5Ht.js → main-CDat3XsY.js} +1 -1
  156. package/bundled-test-harness/assets/{markdown-fallback-test-BHejXXnE.js → markdown-fallback-test-D32xPo5m.js} +2 -2
  157. package/bundled-test-harness/assets/{markdown-file-def-test-BOvu8beB.js → markdown-file-def-test-2_0tc-pT.js} +1 -1
  158. package/bundled-test-harness/assets/{markdown-helpers-test-Be9UUlnA.js → markdown-helpers-test-D6Ty5K6K.js} +1 -1
  159. package/bundled-test-harness/assets/{markdown-highlighting-test-D-jxOaxc.js → markdown-highlighting-test-CD22pEyx.js} +2 -2
  160. package/bundled-test-harness/assets/{markdown-preview-CKlpPkbc.js → markdown-preview-o2AI98EN.js} +1 -1
  161. package/bundled-test-harness/assets/{markdown-preview-test-D2kl56R1.js → markdown-preview-test-D2YoXqUY.js} +3 -3
  162. package/bundled-test-harness/assets/{matrix-service-sliding-sync-test-Cl1D6ID4.js → matrix-service-sliding-sync-test-Co9EhDYF.js} +1 -1
  163. package/bundled-test-harness/assets/{message-service-subscription-test-OvYUTr8V.js → message-service-subscription-test-BK3W9wng.js} +2 -2
  164. package/bundled-test-harness/assets/{mock-matrix-CD6YHaHR.js → mock-matrix-Bkfl9ACG.js} +6 -2
  165. package/bundled-test-harness/assets/{mock-matrix-Dt4s2hUe.js → mock-matrix-DbxVPkSl.js} +1 -1
  166. package/bundled-test-harness/assets/{modal-container-wzIBYeE_.js → modal-container-BzEkpeIx.js} +1 -1
  167. package/bundled-test-harness/assets/{module-transpile-cache-test-Bj11UbQJ.js → module-transpile-cache-test-BFmN6_si.js} +1 -1
  168. package/bundled-test-harness/assets/{mp3-audio-def-test-C6tzxO6X.js → mp3-audio-def-test-DorbFtva.js} +1 -1
  169. package/bundled-test-harness/assets/{number-field-test-l5WRd3N9.js → number-field-test-C9F_sOf8.js} +2 -2
  170. package/bundled-test-harness/assets/{ogg-audio-def-test-CQ04xrfS.js → ogg-audio-def-test-DRXLSBVQ.js} +1 -1
  171. package/bundled-test-harness/assets/{on-key-CpWVcRaS.js → on-key-C8yMINOQ.js} +1 -1
  172. package/bundled-test-harness/assets/{open-create-listing-modal-test-VxITHH84.js → open-create-listing-modal-test-Yp6EOMGK.js} +1 -1
  173. package/bundled-test-harness/assets/open-image-in-new-tab-test-3iRCTOjd.js +52 -0
  174. package/bundled-test-harness/assets/{open-workspace-test-goAg_TVx.js → open-workspace-test-DrkNS6zm.js} +1 -1
  175. package/bundled-test-harness/assets/{operator-mode-acceptance-test-DO3lt95I.js → operator-mode-acceptance-test-DoQ5Klyi.js} +7 -7
  176. package/bundled-test-harness/assets/{operator-mode-card-catalog-test-C3e1--M7.js → operator-mode-card-catalog-test-Came_pKy.js} +4 -4
  177. package/bundled-test-harness/assets/{operator-mode-links-test-AWhMhHM2.js → operator-mode-links-test-DoTvJvpI.js} +4 -4
  178. package/bundled-test-harness/assets/{operator-mode-state-service-test-BICXMa5O.js → operator-mode-state-service-test-cwdudDwm.js} +2 -2
  179. package/bundled-test-harness/assets/{operator-mode-test-DMyFaXHK.js → operator-mode-test-DeUtV1XR.js} +4 -4
  180. package/bundled-test-harness/assets/{operator-mode-ui-test-z2SU5ozt.js → operator-mode-ui-test-DTUMZBlw.js} +4 -4
  181. package/bundled-test-harness/assets/{overlay-menu-items-test-Dkulmtpn.js → overlay-menu-items-test-DhPIUwmz.js} +3 -3
  182. package/bundled-test-harness/assets/{panel-BXXk_P7h.js → panel-DcMU_CGT.js} +55 -31
  183. package/bundled-test-harness/assets/{past-sessions-test-gKLwZO61.js → past-sessions-test-BrdqlYxe.js} +3 -3
  184. package/bundled-test-harness/assets/{patch-code-ClPL6B_d.js → patch-code-F_7JKtTQ.js} +1 -1
  185. package/bundled-test-harness/assets/{patch-code-test-CIdB45Nv.js → patch-code-test-O5_p8vp4.js} +4 -4
  186. package/bundled-test-harness/assets/{patch-fields-test-CBGnqUme.js → patch-fields-test-D1aSP1q_.js} +1 -1
  187. package/bundled-test-harness/assets/{patch-instance-test-DmDpfS3p.js → patch-instance-test-DHBeFzYI.js} +1 -1
  188. package/bundled-test-harness/assets/{persist-module-inspector-view-test-D6vpSfX4.js → persist-module-inspector-view-test-DDYttEKD.js} +2 -2
  189. package/bundled-test-harness/assets/{phone-number-field-test-DogtMkDx.js → phone-number-field-test-CUY1miSH.js} +2 -2
  190. package/bundled-test-harness/assets/{playground-CMnQXTzR.js → playground-DFwsIC-9.js} +2 -2
  191. package/bundled-test-harness/assets/{png-image-def-test-BzfrYGhY.js → png-image-def-test-C9COAyWm.js} +1 -1
  192. package/bundled-test-harness/assets/{prerender-file-extract-test-C-1R1B32.js → prerender-file-extract-test-B76NnPJt.js} +1 -1
  193. package/bundled-test-harness/assets/{prerender-html-test-1XGnbGuQ.js → prerender-html-test-ImXJjrpR.js} +1 -1
  194. package/bundled-test-harness/assets/{prerender-meta-test-B02oGS-5.js → prerender-meta-test-xIFFdF1X.js} +1 -1
  195. package/bundled-test-harness/assets/{prerender-module-test-CSKywVQA.js → prerender-module-test-CoxYOMro.js} +1 -1
  196. package/bundled-test-harness/assets/{prerendered-card-search-test-Cf_Hvr4P.js → prerendered-card-search-test-DLYUamOp.js} +2 -2
  197. package/bundled-test-harness/assets/{preview-format-Bb5FIkOY.js → preview-format-BqY_j3zZ.js} +1 -1
  198. package/bundled-test-harness/assets/{preview-format-test-DBKtwgvo.js → preview-format-test-CublqRWy.js} +4 -4
  199. package/bundled-test-harness/assets/{preview-test-dgbtaeLg.js → preview-test-CcGZEu6Y.js} +2 -2
  200. package/bundled-test-harness/assets/{publish-realm-test-B4c6TqTI.js → publish-realm-test-Cqq_X3L4.js} +2 -2
  201. package/bundled-test-harness/assets/{query-field-barrier-test-DytVxOcd.js → query-field-barrier-test-CeDBxTwq.js} +2 -2
  202. package/bundled-test-harness/assets/{query-field-error-sentinel-test-Cs2wXQuL.js → query-field-error-sentinel-test-CwOzGgRw.js} +2 -2
  203. package/bundled-test-harness/assets/{query-field-schema-test-ByfKD-mO.js → query-field-schema-test-CXt4ktVo.js} +1 -1
  204. package/bundled-test-harness/assets/{query-fields-test-SlJNtzM3.js → query-fields-test-CrsGkXWE.js} +1 -1
  205. package/bundled-test-harness/assets/{read-card-for-ai-assistant-test-BzThkf4s.js → read-card-for-ai-assistant-test-DORLxJXd.js} +2 -2
  206. package/bundled-test-harness/assets/{read-file-for-ai-assistant-test-CV5PoqSP.js → read-file-for-ai-assistant-test-DyyCSmMv.js} +2 -2
  207. package/bundled-test-harness/assets/{read-source-test-jfWyZkQO.js → read-source-test-hAUdteMO.js} +2 -2
  208. package/bundled-test-harness/assets/{read-text-file-test-Kg6tx07O.js → read-text-file-test-juQ-OJET.js} +2 -2
  209. package/bundled-test-harness/assets/{realm-oWsFVfdH.js → realm-CxU8jc8l.js} +2 -2
  210. package/bundled-test-harness/assets/{realm-config-routing-rule-edit-test-VyMT__jT.js → realm-config-routing-rule-edit-test-T8S_2Lwq.js} +47 -4
  211. package/bundled-test-harness/assets/{realm-field-test-CBmQY3Va.js → realm-field-test-wqNbmdgM.js} +2 -2
  212. package/bundled-test-harness/assets/{realm-indexing-test-CQ29IEno.js → realm-indexing-test-DTuwfnZZ.js} +1 -1
  213. package/bundled-test-harness/assets/{realm-querying-test-PR_91CCq.js → realm-querying-test-ojIOXC3n.js} +1 -1
  214. package/bundled-test-harness/assets/{realm-test-C6Kw7gWx.js → realm-test-MgXPmHwc.js} +1 -1
  215. package/bundled-test-harness/assets/{reasoning-test-M4JuH0RZ.js → reasoning-test-DcQkF04r.js} +3 -3
  216. package/bundled-test-harness/assets/{recent-files-cards-D845sggD.js → recent-files-cards-BICbCMhW.js} +1 -1
  217. package/bundled-test-harness/assets/{recent-files-test-Du5oiGDf.js → recent-files-test-Df_1aE3G.js} +2 -2
  218. package/bundled-test-harness/assets/{reindex-realm-test-BrgFBbOc.js → reindex-realm-test-DDYvNGWh.js} +2 -2
  219. package/bundled-test-harness/assets/{relationship-loading-state-test-CnCYYtmY.js → relationship-loading-state-test-C2EialRQ.js} +1 -1
  220. package/bundled-test-harness/assets/{render-component-BJwKMGDa.js → render-component-DLXpC-Bc.js} +1 -1
  221. package/bundled-test-harness/assets/{rendered-markdown-test-BvQ96-0V.js → rendered-markdown-test-DblOECt_.js} +2 -2
  222. package/bundled-test-harness/assets/{rich-markdown-field-test-neZFxfcc.js → rich-markdown-field-test-B34TJAq8.js} +2 -2
  223. package/bundled-test-harness/assets/{room-message-test-DWEcr5le.js → room-message-test-DuSkABnU.js} +3 -3
  224. package/bundled-test-harness/assets/{sanitize-module-list-test-B4VjLVx_.js → sanitize-module-list-test-BTFw8-Do.js} +2 -2
  225. package/bundled-test-harness/assets/{schema-editor-test-CHeST1JD.js → schema-editor-test-w7ANspy0.js} +1 -1
  226. package/bundled-test-harness/assets/{schema-generation-test-G4ZL90Sn.js → schema-generation-test-z90uBA7r.js} +3 -3
  227. package/bundled-test-harness/assets/{scrolling-test-D3Asc3Yr.js → scrolling-test-jCKormjp.js} +4 -4
  228. package/bundled-test-harness/assets/{search-and-choose-test-DMB-Nv1z.js → search-and-choose-test-BhIWdkFp.js} +2 -2
  229. package/bundled-test-harness/assets/{search-command-test-BNZzENdS.js → search-command-test-BlTBufTS.js} +1 -1
  230. package/bundled-test-harness/assets/{search-correlation-id-test-tM-SfbrA.js → search-correlation-id-test-BR7bFNCy.js} +1 -1
  231. package/bundled-test-harness/assets/{search-data-test-CYrjasBZ.js → search-data-test-bc2foKLa.js} +2 -2
  232. package/bundled-test-harness/assets/{search-google-images-test-DzFbLWZE.js → search-google-images-test-C96iDOxU.js} +1 -1
  233. package/bundled-test-harness/assets/{search-result-header-5VQHm_Ev.js → search-result-header-Ch7TKEzn.js} +1 -1
  234. package/bundled-test-harness/assets/{search-test-CBH8l5JD.js → search-test-iR0wammw.js} +2 -2
  235. package/bundled-test-harness/assets/{send-ai-assistant-message-test-CAlK3x0a.js → send-ai-assistant-message-test-BmJdWdzI.js} +2 -2
  236. package/bundled-test-harness/assets/{send-bot-trigger-event-test-CwI4Rkf8.js → send-bot-trigger-event-test-CJCAf2db.js} +2 -2
  237. package/bundled-test-harness/assets/{send-request-via-proxy-test-BRuk6sv0.js → send-request-via-proxy-test-DSdZppno.js} +2 -2
  238. package/bundled-test-harness/assets/{sending-test-BA2F7Hfk.js → sending-test-Bocu5vf9.js} +270 -12
  239. package/bundled-test-harness/assets/{serialization-test-DHTHfzsn.js → serialization-test-CE3TeQ4Z.js} +2 -2
  240. package/bundled-test-harness/assets/{set-user-system-card-test-Ct8xegEY.js → set-user-system-card-test-JZW2LcIA.js} +2 -2
  241. package/bundled-test-harness/assets/{setup-v4v1a2Qc.js → setup-C5QslpqI.js} +1 -1
  242. package/bundled-test-harness/assets/{setup-BfvQ1zfD.js → setup-CN-HHlT_.js} +2 -2
  243. package/bundled-test-harness/assets/{show-card-test-7VGIdTJh.js → show-card-test-B41I3EWZ.js} +3 -3
  244. package/bundled-test-harness/assets/{skills-test-NKDA1G9S.js → skills-test-Cut0gpNU.js} +3 -3
  245. package/bundled-test-harness/assets/{spec-test-61E0gdIB.js → spec-test-DytzFxZb.js} +3 -3
  246. package/bundled-test-harness/assets/{store-BM5pUF94.js → store-CbIxTljQ.js} +30 -0
  247. package/bundled-test-harness/assets/{store-add-test-mRtjroP0.js → store-add-test-ulvv9A3X.js} +2 -2
  248. package/bundled-test-harness/assets/{store-test-CVHw6LMN.js → store-test-C747NJ3O.js} +77 -4
  249. package/bundled-test-harness/assets/{submode-switcher-Popj4iN5.js → submode-switcher-iR4m0GzD.js} +1 -1
  250. package/bundled-test-harness/assets/{summarize-session-test-UZOGVM_F.js → summarize-session-test-BcXrj1r3.js} +2 -2
  251. package/bundled-test-harness/assets/{svg-image-def-test-Dqjy84jw.js → svg-image-def-test-DW1rtFSA.js} +1 -1
  252. package/bundled-test-harness/assets/{switch-submode-DOdRs5QD.js → switch-submode--ZVbWG3S.js} +1 -1
  253. package/bundled-test-harness/assets/{switch-submode-test-MWnyo759.js → switch-submode-test--Ncx8g_l.js} +3 -3
  254. package/bundled-test-harness/assets/{test-support-BfonQA4V.js → test-support-CCargU9V.js} +1 -1
  255. package/bundled-test-harness/assets/{tests-DQLSvmHe.js → tests-Dw_agY8k.js} +265 -263
  256. package/bundled-test-harness/assets/{text-file-def-test-DlyCDiM4.js → text-file-def-test-Bl2R6NO8.js} +1 -1
  257. package/bundled-test-harness/assets/{text-input-validator-test-Ccx-4gLo.js → text-input-validator-test-CAlDivoV.js} +3 -3
  258. package/bundled-test-harness/assets/{text-suggestion-test-mIvJOTS7.js → text-suggestion-test-CbJWk97Q.js} +1 -1
  259. package/bundled-test-harness/assets/{theme-card-test-Bs3Q034n.js → theme-card-test-Q5eP-lEF.js} +3 -3
  260. package/bundled-test-harness/assets/{transform-cards-test-BsTtRP0g.js → transform-cards-test-3PsuM2Sv.js} +2 -2
  261. package/bundled-test-harness/assets/{ts-file-def-test-DtWzgXkt.js → ts-file-def-test-BoXA3RgL.js} +1 -1
  262. package/bundled-test-harness/assets/{unpublish-realm-test-BFJEMQL7.js → unpublish-realm-test-CgiIcZ6j.js} +2 -2
  263. package/bundled-test-harness/assets/{update-room-skills-test-BrFhA3El.js → update-room-skills-test-B-BI7daL.js} +3 -3
  264. package/bundled-test-harness/assets/{use-ai-assistant-test-BsyBY6-a.js → use-ai-assistant-test-BEiEjFOH.js} +2 -2
  265. package/bundled-test-harness/assets/user-message-Bbw4pQmd.css +22 -0
  266. package/bundled-test-harness/assets/{user-message-BFN7dtqK.js → user-message-CVG3cgJq.js} +2 -2
  267. package/bundled-test-harness/assets/{validate-realm-test-DQlQ-pWZ.js → validate-realm-test-DBx-3YG9.js} +2 -2
  268. package/bundled-test-harness/assets/{wav-audio-def-test-BZ0oLTT1.js → wav-audio-def-test-CPJl6Hpr.js} +1 -1
  269. package/bundled-test-harness/assets/{webp-image-def-test-tuOTQeTt.js → webp-image-def-test-Bh3SOpDa.js} +1 -1
  270. package/bundled-test-harness/assets/{workspace-DvhB0Ltb.js → workspace-PBphyb9N.js} +2 -2
  271. package/bundled-test-harness/assets/{workspace-chooser-delete-test-D_Gp78-R.js → workspace-chooser-delete-test-1n1lqK_X.js} +3 -3
  272. package/bundled-test-harness/assets/{workspace-chooser-test-CuJ4pgJh.js → workspace-chooser-test-wcKYsTgx.js} +1 -1
  273. package/bundled-test-harness/assets/{workspace-delete-multiple-test-BUmKPHGp.js → workspace-delete-multiple-test-DlXWFVK1.js} +1 -1
  274. package/bundled-test-harness/assets/{workspace-delete-summary-test-B8qyNd7w.js → workspace-delete-summary-test-iqD1ae55.js} +1 -1
  275. package/bundled-test-harness/assets/{write-binary-file-test-D1h4TED_.js → write-binary-file-test-BkADCn85.js} +2 -2
  276. package/bundled-test-harness/assets/{write-text-file-test-DKA9TpIm.js → write-text-file-test-C9K0doTU.js} +2 -2
  277. package/bundled-test-harness/boxel-ui-checksum.txt +1 -1
  278. package/bundled-test-harness/index.html +33 -33
  279. package/bundled-test-harness/tests/index.html +36 -36
  280. package/bundled-types/base/field-component.d.ts +15 -4
  281. package/bundled-types/base/links-to-editor.d.ts +9 -0
  282. package/bundled-types/boxel-ui/components/filter-list/index.gts +4 -1
  283. package/bundled-types/host-app/components/ai-assistant/chat-input/index.gts +2 -1
  284. package/bundled-types/host-app/components/ai-assistant/message/user-message.gts +6 -2
  285. package/bundled-types/host-app/components/matrix/room.gts +115 -44
  286. package/bundled-types/host-app/lib/matrix-classes/message-builder.ts +13 -0
  287. package/bundled-types/host-app/services/local-persistence-service.ts +179 -0
  288. package/bundled-types/host-app/services/matrix-service.ts +372 -1
  289. package/bundled-types/host-app/services/store.ts +70 -0
  290. package/bundled-types/host-app/utils/local-storage-keys.ts +2 -0
  291. package/bundled-types/host-tests/helpers/mock-matrix/_client.ts +3 -0
  292. package/bundled-types/host-tests/helpers/mock-matrix/_utils.ts +3 -0
  293. package/bundled-types/host-tests/helpers/mock-matrix.ts +1 -0
  294. package/dist/index.js +257 -253
  295. package/package.json +3 -3
  296. package/src/commands/realm/index.ts +2 -0
  297. package/src/commands/realm/ingest-card.ts +567 -0
  298. package/src/commands/realm/publish.ts +87 -16
  299. package/src/commands/realm/pull.ts +9 -13
  300. package/src/commands/realm/push.ts +10 -14
  301. package/src/commands/realm/status.ts +14 -18
  302. package/src/commands/realm/sync.ts +9 -13
  303. package/src/commands/realm/unpublish.ts +11 -0
  304. package/src/lib/auth-resolver.ts +15 -2
  305. package/bundled-test-harness/assets/adapter-Dk9jvNQb.js +0 -2
  306. package/bundled-test-harness/assets/live-test-B7uB4aVp.js +0 -2
  307. package/bundled-test-harness/assets/user-message-B8olA3Ml.css +0 -18
  308. /package/bundled-test-harness/assets/{ai-assistant-panel-service-test-B2pqk_1r.js → ai-assistant-panel-service-test-DEeul-zv.js} +0 -0
  309. /package/bundled-test-harness/assets/{amd-transpile-test-ftXbwnFz.js → amd-transpile-test-DmEkMdCo.js} +0 -0
  310. /package/bundled-test-harness/assets/{apply-boxel-formatting-test-BSzr4sNI.js → apply-boxel-formatting-test-RixVcq5N.js} +0 -0
  311. /package/bundled-test-harness/assets/{auth-error-guard-test-BxIq12aN.js → auth-error-guard-test-beazl6s5.js} +0 -0
  312. /package/bundled-test-harness/assets/{bfm-card-references-test-6aAhfBzH.js → bfm-card-references-test-IEbg0jo-.js} +0 -0
  313. /package/bundled-test-harness/assets/{cached-fetch-test-CPr-eiq_.js → cached-fetch-test-DlnnpQGz.js} +0 -0
  314. /package/bundled-test-harness/assets/{card-directory-name-test-BS8WD3oH.js → card-directory-name-test-QKl1Ykz6.js} +0 -0
  315. /package/bundled-test-harness/assets/{card-search-query-builder-test-zp6muUB1.js → card-search-query-builder-test-BWc5lDv3.js} +0 -0
  316. /package/bundled-test-harness/assets/{code-patching-test-BZPvPsMr.js → code-patching-test-BRNMumI6.js} +0 -0
  317. /package/bundled-test-harness/assets/{code-semantics-service-test-BBjJ3EF3.js → code-semantics-service-test-CJOSUAQH.js} +0 -0
  318. /package/bundled-test-harness/assets/{command-definitions-test-BcMJzIBM.js → command-definitions-test-De0BMqHI.js} +0 -0
  319. /package/bundled-test-harness/assets/{extract-css-variables-test-FIZxFxaL.js → extract-css-variables-test-Di5CFXG-.js} +0 -0
  320. /package/bundled-test-harness/assets/{fetcher-test-g2cjjXxV.js → fetcher-test-Cb8cS9JN.js} +0 -0
  321. /package/bundled-test-harness/assets/{field-path-parser-test-DkY-DFQN.js → field-path-parser-test-Db4kG7EB.js} +0 -0
  322. /package/bundled-test-harness/assets/{file-def-manager-canonicalize-test-Dlf4HlLX.js → file-def-manager-canonicalize-test-Cq5B5KN4.js} +0 -0
  323. /package/bundled-test-harness/assets/{generate-css-variables-test-De4LPdBt.js → generate-css-variables-test-BahavIHR.js} +0 -0
  324. /package/bundled-test-harness/assets/{get-type-refs-from-filter-test-DmDF_dTY.js → get-type-refs-from-filter-test-CH5flf8B.js} +0 -0
  325. /package/bundled-test-harness/assets/{last-modified-date-test-C2hEJ3xU.js → last-modified-date-test-C_jV0b05.js} +0 -0
  326. /package/bundled-test-harness/assets/{limited-set-test-SLbA1cwS.js → limited-set-test-CcpIJCrn.js} +0 -0
  327. /package/bundled-test-harness/assets/{loader-icon-error-test-DTo5t1OQ.js → loader-icon-error-test-Bc_L-0Zb.js} +0 -0
  328. /package/bundled-test-harness/assets/{loader-retry-test-CPFmHSUN.js → loader-retry-test-DQ0E0a0N.js} +0 -0
  329. /package/bundled-test-harness/assets/{marked-sync-test-CaZYJo4x.js → marked-sync-test-JSqOc6hu.js} +0 -0
  330. /package/bundled-test-harness/assets/{mutex-test-p2qp1xRj.js → mutex-test-BDkeJutn.js} +0 -0
  331. /package/bundled-test-harness/assets/{plan-install-test-CrYUs1-G.js → plan-install-test-fUZIttPZ.js} +0 -0
  332. /package/bundled-test-harness/assets/{qs-test-DEH8SHFS.js → qs-test-CminVD53.js} +0 -0
  333. /package/bundled-test-harness/assets/{query-field-normalization-test-DrqBkUxD.js → query-field-normalization-test-B9alzE_u.js} +0 -0
  334. /package/bundled-test-harness/assets/{queue-test-CS3aOeHM.js → queue-test-BvWT6K7Z.js} +0 -0
  335. /package/bundled-test-harness/assets/{realm-index-card-id-test-FV_gOG_K.js → realm-index-card-id-test-hvCyEpGZ.js} +0 -0
  336. /package/bundled-test-harness/assets/{realm-paths-test-CvXB4BUZ.js → realm-paths-test-DrwpPXyh.js} +0 -0
  337. /package/bundled-test-harness/assets/{render-component-BabSF5nE.js → render-component-DY19erxA.js} +0 -0
  338. /package/bundled-test-harness/assets/{render-error-test-CvMDARjN.js → render-error-test-BC4QmstW.js} +0 -0
  339. /package/bundled-test-harness/assets/{render-service-test-DRCvv7lo.js → render-service-test-BkCkB3a2.js} +0 -0
  340. /package/bundled-test-harness/assets/{render-timer-stub-test-CVa_rjXp.js → render-timer-stub-test-cnMPidgA.js} +0 -0
  341. /package/bundled-test-harness/assets/{search-cache-key-test-r83Xl6Io.js → search-cache-key-test-DI0DKzU5.js} +0 -0
  342. /package/bundled-test-harness/assets/{search-in-flight-key-test-BmqFzX6o.js → search-in-flight-key-test-DyRDbEX1.js} +0 -0
  343. /package/bundled-test-harness/assets/{unified-search-results-test-D9v-CCog.js → unified-search-results-test-BF8Dps_j.js} +0 -0
  344. /package/bundled-test-harness/assets/{url-test-DtekKUme.js → url-test-DkEL_mbR.js} +0 -0
@@ -1568,6 +1568,7 @@ class LinksTo<CardT extends LinkableDefConstructor> implements Field<CardT> {
1568
1568
  displayContainer?: boolean;
1569
1569
  typeConstraint?: ResolvedCodeRef;
1570
1570
  lockConsumingRealm?: boolean;
1571
+ consumingRealm?: URL;
1571
1572
  };
1572
1573
  };
1573
1574
  Blocks: {};
@@ -1585,6 +1586,7 @@ class LinksTo<CardT extends LinkableDefConstructor> implements Field<CardT> {
1585
1586
  @brokenLink={{broken}}
1586
1587
  @typeConstraint={{@typeConstraint}}
1587
1588
  @lockConsumingRealm={{@lockConsumingRealm}}
1589
+ @consumingRealm={{@consumingRealm}}
1588
1590
  @createCard={{cardCrudFunctions.createCard}}
1589
1591
  ...attributes
1590
1592
  />
@@ -243,11 +243,33 @@ export default class CardsGridLayout extends Component<Signature> {
243
243
  color: var(--foreground, var(--boxel-dark));
244
244
  }
245
245
  .scroll-container {
246
- overflow: hidden;
246
+ /* Keep the scrollbar gutter reserved and the scrollbar a fixed width in
247
+ every state, so revealing it on hover never steals layout width and
248
+ reflows the card grid. Only the thumb color is toggled on hover/focus;
249
+ toggling overflow or the scrollbar width would shift the layout. */
250
+ overflow-y: auto;
251
+ scrollbar-gutter: stable;
252
+ scrollbar-width: thin;
253
+ scrollbar-color: transparent transparent;
247
254
  }
248
255
  .scroll-container:hover,
249
256
  .scroll-container:focus {
250
- overflow-y: auto;
257
+ scrollbar-color: rgba(0 0 0 / 25%) transparent;
258
+ }
259
+ .scroll-container::-webkit-scrollbar {
260
+ width: 0.5rem;
261
+ height: 0.5rem;
262
+ }
263
+ .scroll-container::-webkit-scrollbar-track {
264
+ background: transparent;
265
+ }
266
+ .scroll-container::-webkit-scrollbar-thumb {
267
+ background: transparent;
268
+ border-radius: var(--boxel-border-radius-xs);
269
+ }
270
+ .scroll-container:hover::-webkit-scrollbar-thumb,
271
+ .scroll-container:focus::-webkit-scrollbar-thumb {
272
+ background: rgba(0 0 0 / 25%);
251
273
  }
252
274
  .sidebar {
253
275
  --accent: var(--sidebar-accent);
@@ -51,12 +51,24 @@ export interface BoxComponentSignature {
51
51
  displayContainer?: boolean;
52
52
  typeConstraint?: ResolvedCodeRef;
53
53
  /**
54
- * When true (only meaningful on linksTo / linksToMany editors),
55
- * hard-scope the card chooser to the consuming realm — the realm
56
- * picker in the catalog modal is locked and the user cannot pick
57
- * a card from another realm. UI hint only; no runtime validation.
54
+ * Only honoured by the `linksTo` editor today — the
55
+ * `linksToMany` editor does not yet thread this arg through.
56
+ * When true, hard-scope the card chooser to the consuming
57
+ * realm: the realm picker in the catalog modal is locked and
58
+ * the user cannot pick a card from another realm. UI hint
59
+ * only; no runtime validation.
58
60
  */
59
61
  lockConsumingRealm?: boolean;
62
+ /**
63
+ * Only honoured by the `linksTo` editor today — the
64
+ * `linksToMany` editor does not yet thread this arg through.
65
+ * Explicit consuming-realm URL passed through to LinksToEditor.
66
+ * The editor normally derives this from a `RealmURLContext`
67
+ * provided by the surrounding stack item; this lets callers in
68
+ * contexts without a stack item (e.g. code submode's spec
69
+ * preview) thread the owning card's realm in directly.
70
+ */
71
+ consumingRealm?: URL;
60
72
  };
61
73
  };
62
74
  Blocks: {};
@@ -57,6 +57,16 @@ interface Signature {
57
57
  * is locked. UI hint only; no runtime validation.
58
58
  */
59
59
  lockConsumingRealm?: boolean;
60
+ /**
61
+ * Explicit consuming-realm override. Without this, the editor
62
+ * derives the consuming realm from the `RealmURLContext` provided
63
+ * by the surrounding stack item — but in code submode the rule
64
+ * editor renders outside any stack item, so context is absent.
65
+ * Callers that know the owning card's realm (e.g. by reading
66
+ * `model[realmURL]`) can pass it directly here so the chooser
67
+ * filters correctly in both interact and code submodes.
68
+ */
69
+ consumingRealm?: URL;
60
70
  createCard?: CreateCardFn;
61
71
  };
62
72
  }
@@ -231,17 +241,31 @@ export class LinksToEditor extends GlimmerComponent<Signature> {
231
241
  if (this.args.typeConstraint) {
232
242
  type = await getNarrowestType(this.args.typeConstraint, type, myLoader());
233
243
  }
244
+ // Prefer the explicit `@consumingRealm` arg over the
245
+ // `RealmURLContext` consumption, so callers in contexts that don't
246
+ // provide the context (e.g. code submode's playground / spec
247
+ // preview, where there is no stack item) can still scope the
248
+ // chooser to the owning card's realm.
249
+ let consumingRealm = this.args.consumingRealm ?? this.realmURL;
250
+ // Only honor `@lockConsumingRealm` when a realm is actually known.
251
+ // Locking without a consuming realm leaves the picker disabled but
252
+ // unscoped — search results would span every realm and the user
253
+ // couldn't change the (effectively empty) selection. Treat the
254
+ // lock as advisory and let the picker stay interactive if there's
255
+ // no realm to lock to.
256
+ let lockConsumingRealm =
257
+ this.args.lockConsumingRealm === true && consumingRealm != null;
234
258
  let cardId = await chooseCard(
235
259
  { filter: { type } },
236
260
  {
237
261
  offerToCreate: {
238
262
  ref: type,
239
263
  relativeTo: undefined,
240
- realmURL: this.realmURL,
264
+ realmURL: consumingRealm,
241
265
  },
242
266
  createNewCard: this.args.createCard,
243
- consumingRealm: this.realmURL,
244
- lockConsumingRealm: this.args.lockConsumingRealm,
267
+ consumingRealm,
268
+ lockConsumingRealm,
245
269
  },
246
270
  );
247
271
  if (cardId) {
@@ -6,6 +6,7 @@ import {
6
6
  contains,
7
7
  containsMany,
8
8
  linksTo,
9
+ realmURL,
9
10
  } from './card-api';
10
11
  import BooleanField from './boolean';
11
12
  import StringField from './string';
@@ -102,6 +103,19 @@ class RoutingRuleEdit extends Component<typeof RoutingRuleField> {
102
103
  this.args.model.path = `/${trimmed}`;
103
104
  }
104
105
 
106
+ // The chooser is locked to the consuming realm; pass it through
107
+ // explicitly rather than letting LinksToEditor read it from
108
+ // `RealmURLContext`. The context is only provided by the operator-mode
109
+ // stack item, so in code submode (where the realm config renders via
110
+ // the playground / spec preview, outside any stack item) `this.realmURL`
111
+ // in LinksToEditor is undefined and the chooser falls back to
112
+ // unscoped search across every realm. The field's own `[realmURL]`
113
+ // getter is populated by `propagateRealmContext` when the owning
114
+ // RealmConfig card loads, so it works in either submode.
115
+ get consumingRealm(): URL | undefined {
116
+ return this.args.model[realmURL];
117
+ }
118
+
105
119
  <template>
106
120
  <div class='routing-rule-edit' data-test-routing-rule-edit>
107
121
  <div class='row'>
@@ -118,7 +132,10 @@ class RoutingRuleEdit extends Component<typeof RoutingRuleField> {
118
132
  </div>
119
133
  <span class='arrow' aria-hidden='true'>→</span>
120
134
  <div class='instance-cell'>
121
- <@fields.instance @lockConsumingRealm={{true}} />
135
+ <@fields.instance
136
+ @lockConsumingRealm={{true}}
137
+ @consumingRealm={{this.consumingRealm}}
138
+ />
122
139
  </div>
123
140
  </div>
124
141
  {{#if this.pathWarning}}
@@ -0,0 +1,2 @@
1
+ import { mt as TestRealmAdapter } from "./mock-matrix-Bkfl9ACG.js";
2
+ export { TestRealmAdapter };
@@ -2,10 +2,10 @@ import { s as __toESM } from "./chunk-CGdGNDIi.js";
2
2
  import { Xn as testRealmInfo, Zn as testRealmURL, ya as rri } from "./runtime-common-BY5dBG5N.js";
3
3
  import { t as getOwner } from "./owner-CqZ4C0QN.js";
4
4
  import { t as AddFieldToCardDefinitionCommand } from "./add-field-to-card-definition-BUHkUt5v.js";
5
- import { t as RealmService } from "./realm-oWsFVfdH.js";
5
+ import { t as RealmService } from "./realm-CxU8jc8l.js";
6
6
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
7
7
  import { r as getService } from "./dist-5hbdxMR8.js";
8
- import { A as setupIntegrationTestRealm, N as setupRealmCacheTeardown, j as setupLocalIndexing, q as withCachedRealmSetup, rt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-CD6YHaHR.js";
8
+ import { A as setupIntegrationTestRealm, N as setupRealmCacheTeardown, j as setupLocalIndexing, q as withCachedRealmSetup, rt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-Bkfl9ACG.js";
9
9
  //#region tests/integration/commands/add-field-to-card-definition-command-test.gts
10
10
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
11
11
  var StubRealmService = class extends RealmService {
@@ -13,11 +13,11 @@ import "./dist-BHeMAIJN.js";
13
13
  import "./component-CqcrwY5l.js";
14
14
  import { t as Component } from "./dist-CE2G0-tp.js";
15
15
  import "./template-factory-CigcGcbz.js";
16
- import { $ as EnsureSafeComponentHelper, P as focusTrapModifier, a as BoxelInput, b as LoadingIndicator, p as FieldContainer, s as ButtonComponent } from "./components-CBfd9MIo.js";
16
+ import { $ as EnsureSafeComponentHelper, P as focusTrapModifier, a as BoxelInput, b as LoadingIndicator, p as FieldContainer, s as ButtonComponent } from "./components-DYC4nC4r.js";
17
17
  import { _ as IconComponent$1d } from "./warning-CY8WOyKw-BjT-7Nrv.js";
18
18
  import "./icons-DpXEIwY6.js";
19
- import { t as modifier$1 } from "./on-key-CpWVcRaS.js";
20
- import { t as ModalContainer } from "./modal-container-wzIBYeE_.js";
19
+ import { t as modifier$1 } from "./on-key-C8yMINOQ.js";
20
+ import { t as ModalContainer } from "./modal-container-BzEkpeIx.js";
21
21
  import { t as perform } from "./perform-DsvIw8zR.js";
22
22
  import { t as _class$1 } from "./to-elsewhere-2Yti-eQv.js";
23
23
  import { t as WorkspaceChooserItemContainer } from "./item-container-OpJtF0dH.js";
@@ -6,10 +6,10 @@ import "./component-CqcrwY5l.js";
6
6
  import { t as Component } from "./dist-CE2G0-tp.js";
7
7
  import "./template-factory-CigcGcbz.js";
8
8
  import { a as find, d as click, s as fillIn } from "./dist-CWCoBB72.js";
9
- import { n as _class, t as AddWorkspace } from "./add-workspace-tMjv_Ar4.js";
9
+ import { n as _class, t as AddWorkspace } from "./add-workspace-DBDTvtP2.js";
10
10
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
11
- import { rt as setupRenderingTest } from "./mock-matrix-CD6YHaHR.js";
12
- import { n as renderComponent } from "./render-component-BabSF5nE.js";
11
+ import { rt as setupRenderingTest } from "./mock-matrix-Bkfl9ACG.js";
12
+ import { n as renderComponent } from "./render-component-DY19erxA.js";
13
13
  //#region tests/integration/components/add-workspace-test.gts
14
14
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
15
15
  (0, import_qunit.module)("Integration | add-workspace", function(hooks) {
@@ -6,12 +6,12 @@ import { H as templateFactory } from "./index-DaCZcoCY-Bfb0Qdzr.js";
6
6
  import { i as envSkillId, o as skillsRealmURL, t as catalogRealmURL } from "./utils-BXcPbdVS.js";
7
7
  import "./component-CqcrwY5l.js";
8
8
  import "./template-factory-CigcGcbz.js";
9
- import { m as GridContainer } from "./components-CBfd9MIo.js";
10
- import { t as AiAssistantMessageDrafts, v as src_default } from "./local-storage-keys-Do9I1BSV.js";
9
+ import { m as GridContainer } from "./components-DYC4nC4r.js";
10
+ import { t as AiAssistantMessageDrafts, y as src_default } from "./local-storage-keys-C0jyxDKn.js";
11
11
  import { I as waitUntil, N as visit, d as click, l as triggerEvent, o as waitFor, s as fillIn } from "./dist-CWCoBB72.js";
12
12
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
13
13
  import { r as getService } from "./dist-5hbdxMR8.js";
14
- import { D as setupAcceptanceTestRealm, F as setupUserSubscription, M as setupOnSave, P as setupRealmServerEndpoints, a as SYSTEM_CARD_FIXTURE_CONTENTS, at as setupAuthEndpoints, b as getMonacoContent, h as delay, i as getRoomIdForRealmAndUser, j as setupLocalIndexing, nt as setupApplicationTest, o as addSkillToAiAssistant, s as assertMessages, t as setupMockMatrix, tt as visitOperatorMode, w as realmConfigCardJSON } from "./mock-matrix-CD6YHaHR.js";
14
+ import { D as setupAcceptanceTestRealm, F as setupUserSubscription, M as setupOnSave, P as setupRealmServerEndpoints, a as SYSTEM_CARD_FIXTURE_CONTENTS, at as setupAuthEndpoints, b as getMonacoContent, h as delay, i as getRoomIdForRealmAndUser, j as setupLocalIndexing, nt as setupApplicationTest, o as addSkillToAiAssistant, s as assertMessages, t as setupMockMatrix, tt as visitOperatorMode, w as realmConfigCardJSON } from "./mock-matrix-Bkfl9ACG.js";
15
15
  import { G as contains, I as StringField, L as SystemCard, Q as field, a as CardDef, d as Component, lt as linksTo, mt as setupBaseRealm, o as CardInfoField, s as CardsGrid, ut as linksToMany, w as ModelConfiguration } from "./base-realm-Dw9jVsHl.js";
16
16
  //#region tests/acceptance/ai-assistant-test.gts
17
17
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
@@ -2101,7 +2101,7 @@ function modelNameFor(llmId) {
2101
2101
  await waitFor(`[data-test-message-field="${firstRoomId}"]`);
2102
2102
  assert.dom(`[data-test-message-field="${firstRoomId}"]`).hasValue("how old is the sun?", "Draft message is restored when returning to the original room");
2103
2103
  });
2104
- (0, import_qunit.test)("shows an error and persists the prompt in case the message failed to send", async function(assert) {
2104
+ (0, import_qunit.test)("failed send leaves a failed bubble + retry alert; input clears at click-time", async function(assert) {
2105
2105
  await visitOperatorMode({ stacks: [[{
2106
2106
  id: `${testRealmURL}index`,
2107
2107
  format: "isolated"
@@ -2126,9 +2126,10 @@ function modelNameFor(llmId) {
2126
2126
  await click("[data-test-send-message-btn]");
2127
2127
  await waitFor("[data-test-boxel-alert=\"error\"]");
2128
2128
  assert.strictEqual(sendAttempts, 1, "sendMessage was attempted once");
2129
- assert.dom("[data-test-boxel-alert=\"error\"] [data-test-alert-message=\"0\"]").hasText("There was an error sending your message. This could be due to network issues, or serialization issues with the cards or files you are trying to send. It might be helpful to refresh the page and try again.");
2130
- await waitUntil(() => matrixService.getMessageToSend(roomId) === failingMessage);
2131
- assert.dom(`[data-test-message-field="${roomId}"]`).hasValue(failingMessage, "Draft message is restored after a failed send attempt");
2129
+ assert.dom("[data-test-user-message]").exists({ count: 1 });
2130
+ assert.dom("[data-test-card-error]").containsText("Failed to send");
2131
+ assert.dom("[data-test-alert-action-button=\"Retry\"]").exists();
2132
+ assert.dom(`[data-test-message-field="${roomId}"]`).hasValue("", "input clears at click-time — the message lives in the bubble now");
2132
2133
  } finally {
2133
2134
  matrixService.sendMessage = originalSendMessage;
2134
2135
  }
@@ -3,7 +3,7 @@ import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtim
3
3
  import { Si as baseRealm, ar as basicMappings, or as generateJsonSchemaForCardType } from "./runtime-common-BY5dBG5N.js";
4
4
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
5
5
  import { r as getService } from "./dist-5hbdxMR8.js";
6
- import { M as setupOnSave, O as setupCardLogs, j as setupLocalIndexing, rt as setupRenderingTest } from "./mock-matrix-CD6YHaHR.js";
6
+ import { M as setupOnSave, O as setupCardLogs, j as setupLocalIndexing, rt as setupRenderingTest } from "./mock-matrix-Bkfl9ACG.js";
7
7
  //#region tests/unit/ai-function-generation-test.ts
8
8
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
9
9
  var cardApi;
@@ -7,12 +7,12 @@ import { H as templateFactory } from "./index-DaCZcoCY-Bfb0Qdzr.js";
7
7
  import "./component-CqcrwY5l.js";
8
8
  import { t as Component } from "./dist-CE2G0-tp.js";
9
9
  import "./template-factory-CigcGcbz.js";
10
- import { t as OperatorModeContainer } from "./container-BVdtw4NT.js";
10
+ import { t as OperatorModeContainer } from "./container-DRblzvCW.js";
11
11
  import { d as click, i as findAll, o as waitFor } from "./dist-CWCoBB72.js";
12
12
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
13
13
  import { r as getService } from "./dist-5hbdxMR8.js";
14
- import { A as setupIntegrationTestRealm, O as setupCardLogs, et as setupOperatorModeStateCleanup, j as setupLocalIndexing, rt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-CD6YHaHR.js";
15
- import { n as renderComponent } from "./render-component-BabSF5nE.js";
14
+ import { A as setupIntegrationTestRealm, O as setupCardLogs, et as setupOperatorModeStateCleanup, j as setupLocalIndexing, rt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-Bkfl9ACG.js";
15
+ import { n as renderComponent } from "./render-component-DY19erxA.js";
16
16
  //#region tests/integration/components/ai-module-creation-test.gts
17
17
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
18
18
  var MockRouterService = class extends Service {
@@ -12,11 +12,11 @@ import { n as tracked, t as cached } from "./tracking-CPe6fHfT.js";
12
12
  import { i as fn, o as hash, t as array } from "./helper-CmXa7dl-.js";
13
13
  import { n as Resource } from "./dist-PqaHz0Fn.js";
14
14
  import { i as templateOnly, t as ClassBasedModifier } from "./dist-BHeMAIJN.js";
15
- import { n as Submodes } from "./submode-switcher-Popj4iN5.js";
15
+ import { n as Submodes } from "./submode-switcher-iR4m0GzD.js";
16
16
  import "./component-CqcrwY5l.js";
17
17
  import { t as Component } from "./dist-CE2G0-tp.js";
18
18
  import "./template-factory-CigcGcbz.js";
19
- import { M as Tooltip, S as Modal, d as CopyButton, f as DropdownButton, g as IconButton$1, i as BoxelDropdown, n as Alert, s as ButtonComponent, tt as IconComponent$2, u as CircleSpinner, x as Menu } from "./components-CBfd9MIo.js";
19
+ import { M as Tooltip, S as Modal, d as CopyButton, f as DropdownButton, g as IconButton$1, i as BoxelDropdown, n as Alert, s as ButtonComponent, tt as IconComponent$2, u as CircleSpinner, x as Menu } from "./components-DYC4nC4r.js";
20
20
  import { C as and, D as cn, J as sanitizeHtmlSafe, M as eq, g as MenuItem, k as cssVar$1, w as bool } from "./helpers-BGEPA06U.js";
21
21
  import "./template-9719lre_.js";
22
22
  import { E as IconComponent$A, Q as IconComponent$_, U as IconComponent$R, t as IconComponent$3 } from "./warning-CY8WOyKw-BjT-7Nrv.js";