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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/bundled-test-harness/assets/adapter-unm-Xq4g.js +2 -0
  2. 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
  3. package/bundled-test-harness/assets/{add-workspace-test-BMKxSlaC.js → add-workspace-test-B_ih3mkL.js} +2 -2
  4. package/bundled-test-harness/assets/{ai-assistant-test-C3LjW9Uz.js → ai-assistant-test-CrQxlWpZ.js} +7 -6
  5. package/bundled-test-harness/assets/{ai-function-generation-test-WqD9vlzP.js → ai-function-generation-test-BkTvuCnq.js} +1 -1
  6. package/bundled-test-harness/assets/{ai-module-creation-test-CeP1V90-.js → ai-module-creation-test-CMLVMpYm.js} +3 -3
  7. package/bundled-test-harness/assets/{app-C8fZHSIY.js → app-BQLXfOdp.js} +309 -21
  8. package/bundled-test-harness/assets/{apply-markdown-edit-test-VkN9mVg4.js → apply-markdown-edit-test-CpeCS12T.js} +2 -2
  9. package/bundled-test-harness/assets/{apply-search-replace-block-test-C4GiLUbz.js → apply-search-replace-block-test-Czoi47xr.js} +1 -1
  10. package/bundled-test-harness/assets/{auth-service-worker-registration-CGUqW_lr.js → auth-service-worker-registration-C3rAs9Yi.js} +1 -1
  11. package/bundled-test-harness/assets/{auth-service-worker-test-DjVH_n4v.js → auth-service-worker-test-DTHQyoUg.js} +3 -3
  12. package/bundled-test-harness/assets/{authed-fetch-test-PT9AWQEk.js → authed-fetch-test-BRqybmXe.js} +2 -2
  13. package/bundled-test-harness/assets/{avif-image-def-test-BMFnvMFY.js → avif-image-def-test-BVwv4Ahc.js} +1 -1
  14. package/bundled-test-harness/assets/{basic-test-B5EcLZRP.js → basic-test-Dbky79J2.js} +1 -1
  15. package/bundled-test-harness/assets/{binary-upload-dedupe-test-BvQVNF95.js → binary-upload-dedupe-test-B7dPaGQN.js} +3 -3
  16. package/bundled-test-harness/assets/{bot-registration-test-Cy1HY7PT.js → bot-registration-test-zrufhFTo.js} +2 -2
  17. package/bundled-test-harness/assets/{box-test-BTOPLQ3k.js → box-test-B85wfMJn.js} +1 -1
  18. package/bundled-test-harness/assets/{brand-guide-attachments-test-C4R_z8N5.js → brand-guide-attachments-test-C8-n-naq.js} +2 -2
  19. package/bundled-test-harness/assets/{brand-guide-custom-css-test-Me-k86li.js → brand-guide-custom-css-test-B2fmvFp4.js} +2 -2
  20. package/bundled-test-harness/assets/{brand-logo-mark-field-test-DcCSpYJq.js → brand-logo-mark-field-test-CJ4s6jjd.js} +2 -2
  21. package/bundled-test-harness/assets/{broken-link-template-test-BRD2BX45.js → broken-link-template-test-BAc48VK4.js} +1 -1
  22. package/bundled-test-harness/assets/{can-read-realm-test-_flXUfS4.js → can-read-realm-test-mHnz9-_s.js} +2 -2
  23. package/bundled-test-harness/assets/{cancel-indexing-job-test-0JyPszPo.js → cancel-indexing-job-test-Drx2ghoA.js} +2 -2
  24. package/bundled-test-harness/assets/{card-api-test-BpeMpeQ0.js → card-api-test-BmiwtCFR.js} +2 -2
  25. package/bundled-test-harness/assets/{card-basics-test-C-UCeun-.js → card-basics-test-DZs6Zh6Z.js} +2 -2
  26. package/bundled-test-harness/assets/{card-catalog-test-4K3_LE47.js → card-catalog-test-D2mEHOpL.js} +3 -3
  27. package/bundled-test-harness/assets/{card-copy-test-BFFsV3G-.js → card-copy-test-DpSavuvN.js} +3 -3
  28. package/bundled-test-harness/assets/{card-def-field-def-relationships-test-CRjFV5pq.js → card-def-field-def-relationships-test-DYX_ubhX.js} +3 -3
  29. package/bundled-test-harness/assets/{card-def-menu-items-test-DQNnU_0P.js → card-def-menu-items-test-DLO6TEhC.js} +1 -1
  30. package/bundled-test-harness/assets/{card-delete-test-DOyt5y-x.js → card-delete-test-Bmp8Ue48.js} +3 -3
  31. package/bundled-test-harness/assets/{card-playground-test-CiESzD5-.js → card-playground-test-DxoIBbjx.js} +3 -3
  32. package/bundled-test-harness/assets/{card-search-adorn-test-DdTUl5RY.js → card-search-adorn-test-CEA5iAcD.js} +1 -1
  33. package/bundled-test-harness/assets/{card-search-selection-menu-test-BJFUbgA1.js → card-search-selection-menu-test-DOLM6HU0.js} +1 -1
  34. package/bundled-test-harness/assets/{check-correctness-test-B4E7WXSZ.js → check-correctness-test-DR1rUhtU.js} +1 -1
  35. package/bundled-test-harness/assets/{check-domain-availability-test-BnmsW2P7.js → check-domain-availability-test-BYAkVLGj.js} +2 -2
  36. package/bundled-test-harness/assets/{code-patches-test-6Lvfhm1l.js → code-patches-test-BDg35i4X.js} +1 -1
  37. package/bundled-test-harness/assets/{code-ref-test-BWuTdZ2e.js → code-ref-test-BZGL3teK.js} +1 -1
  38. package/bundled-test-harness/assets/{code-submode-test-DPzE9tKe.js → code-submode-test-DIiXgCRB.js} +3 -3
  39. package/bundled-test-harness/assets/{codeblocks-test-MV1tHflj.js → codeblocks-test-B-i0v3er.js} +3 -3
  40. package/bundled-test-harness/assets/{codemirror-editor-test-SD3gDmHw.js → codemirror-editor-test-e1Yn_b_1.js} +1 -1
  41. package/bundled-test-harness/assets/{color-field-test-C_7cf4Z2.js → color-field-test-okcvtdsF.js} +2 -2
  42. package/bundled-test-harness/assets/{commands-calling-test-Br4sMoMf.js → commands-calling-test-BETL8EWm.js} +2 -2
  43. package/bundled-test-harness/assets/{commands-test-COT9Ck-6.js → commands-test-C13_nhjT.js} +1 -1
  44. package/bundled-test-harness/assets/{commands-test-71b4Fun5.js → commands-test-D1X-Kikc.js} +3 -3
  45. package/bundled-test-harness/assets/{computed-test-BbCVTMkD.js → computed-test-C2j8r-e_.js} +2 -2
  46. package/bundled-test-harness/assets/{container-BVdtw4NT.js → container-DYJ5z0jP.js} +3 -3
  47. package/bundled-test-harness/assets/{copy-and-edit-test-1xrTe8p1.js → copy-and-edit-test-DqV_dpu_.js} +1 -1
  48. package/bundled-test-harness/assets/{copy-card-test-D0rXx03h.js → copy-card-test-B4dNP03f.js} +1 -1
  49. package/bundled-test-harness/assets/{copy-file-to-realm-test-DxW5PABL.js → copy-file-to-realm-test-oGK9EM0P.js} +1 -1
  50. package/bundled-test-harness/assets/{copy-source-test-Dy83btnV.js → copy-source-test-GtNFw5fv.js} +2 -2
  51. package/bundled-test-harness/assets/{create-file-test-DimDxpRl.js → create-file-test-2WPpTJ5F.js} +1 -1
  52. package/bundled-test-harness/assets/{create-file-test-COppMhde.js → create-file-test-HxkEMHWL.js} +2 -2
  53. package/bundled-test-harness/assets/{create-listing-modal-test-D57Altg2.js → create-listing-modal-test-BIG3NbX-.js} +4 -4
  54. package/bundled-test-harness/assets/{create-listing-pr-request-test-HJmFkx_x.js → create-listing-pr-request-test-2ZRF_IBk.js} +2 -2
  55. package/bundled-test-harness/assets/{create-spec-test-C-4bkoj3.js → create-spec-test-JVOisAUl.js} +1 -1
  56. package/bundled-test-harness/assets/{csv-file-def-test-GOmD6Ikx.js → csv-file-def-test-DIVp_7a6.js} +1 -1
  57. package/bundled-test-harness/assets/{date-time-fields-test-BYn57092.js → date-time-fields-test-BWdrrYdj.js} +2 -2
  58. package/bundled-test-harness/assets/{debug-message-test-CNzx_IFI.js → debug-message-test-CAzyW7l3.js} +3 -3
  59. package/bundled-test-harness/assets/{diffing-test-PA40XPFB.js → diffing-test-JzXF051K.js} +1 -1
  60. package/bundled-test-harness/assets/{editor-test-Dg1fTno0.js → editor-test-j9znzFxy.js} +2 -2
  61. package/bundled-test-harness/assets/{email-field-test-rPWkRvgR.js → email-field-test-D4vZ2Qnc.js} +2 -2
  62. package/bundled-test-harness/assets/{enum-field-test-DjQ-sjAR.js → enum-field-test-DtZ_sOiA.js} +2 -2
  63. package/bundled-test-harness/assets/{error-display-test-Cp1vgWSg.js → error-display-test-Btk0RcqS.js} +1 -1
  64. package/bundled-test-harness/assets/{evaluate-module-test-Bm6adsJS.js → evaluate-module-test-C_F1Y9Az.js} +1 -1
  65. package/bundled-test-harness/assets/{execute-atomic-operations-test-BAB2vv15.js → execute-atomic-operations-test-D_z5eJ6K.js} +2 -2
  66. package/bundled-test-harness/assets/fallback-banner-live-delete-test-I7o8HPay.js +209 -0
  67. package/bundled-test-harness/assets/{fallback-banner-test-DpCz2idU.js → fallback-banner-test-Bh-BDHwS.js} +3 -3
  68. package/bundled-test-harness/assets/{fallback-banner-test-Md-3yTpX.js → fallback-banner-test-DSjH5ank.js} +1 -1
  69. package/bundled-test-harness/assets/{fallback-models-test-DcB9u65l.js → fallback-models-test-GjvpcpvS.js} +3 -3
  70. package/bundled-test-harness/assets/{fetch-card-json-test-CPHdklsi.js → fetch-card-json-test-BPfTOr4N.js} +2 -2
  71. package/bundled-test-harness/assets/{field-configuration-test-Da5xu3ar.js → field-configuration-test-CH1Kc0iA.js} +2 -2
  72. package/bundled-test-harness/assets/{field-markdown-domain-test-7aY4gMQ3.js → field-markdown-domain-test-COaJBBzN.js} +2 -2
  73. package/bundled-test-harness/assets/{field-markdown-primitives-test-B8UurS_m.js → field-markdown-primitives-test-C52WikZw.js} +2 -2
  74. package/bundled-test-harness/assets/{field-markdown-specialized-test-CHiWEV2t.js → field-markdown-specialized-test-Cmq-3t4u.js} +2 -2
  75. package/bundled-test-harness/assets/{field-playground-test-DBVHB2_g.js → field-playground-test-DbXri11f.js} +3 -3
  76. package/bundled-test-harness/assets/{field-support-predicates-test-i8LXzh_P.js → field-support-predicates-test-ni5pZ9sU.js} +1 -1
  77. package/bundled-test-harness/assets/{field-test-helpers-F8iX3xAt.js → field-test-helpers-BLApZo43.js} +1 -1
  78. package/bundled-test-harness/assets/{file-attachment-test-yfZsKhWQ.js → file-attachment-test-CtV6jG8f.js} +3 -3
  79. package/bundled-test-harness/assets/{file-chooser-test-JOvGg1N8.js → file-chooser-test-C9VwTWSW.js} +2 -2
  80. package/bundled-test-harness/assets/{file-def-live-reload-test-B_XsrkaB.js → file-def-live-reload-test--L4MvUj5.js} +1 -1
  81. package/bundled-test-harness/assets/{file-def-menu-items-test-CkZrFXrK.js → file-def-menu-items-test-B_dVulF7.js} +1 -1
  82. package/bundled-test-harness/assets/{file-def-navigation-test-CyO27adK.js → file-def-navigation-test-B4_pzEXy.js} +1 -1
  83. package/bundled-test-harness/assets/{file-def-serialization-test-1XrP63F8.js → file-def-serialization-test-IoGIzKST.js} +1 -1
  84. package/bundled-test-harness/assets/{file-def-test-BJEhQN1c.js → file-def-test-CT8jTLQy.js} +1 -1
  85. package/bundled-test-harness/assets/{file-tree-test-DQSPDeb2.js → file-tree-test-DQNSRISM.js} +2 -2
  86. package/bundled-test-harness/assets/{flac-audio-def-test-CeyxsGOr.js → flac-audio-def-test-CEt7tShK.js} +1 -1
  87. package/bundled-test-harness/assets/{formatted-aibot-message-test-D09eSldQ.js → formatted-aibot-message-test-DRdKZ8lg.js} +2 -2
  88. package/bundled-test-harness/assets/{formatted-user-message-test-DmX95kEo.js → formatted-user-message-test-By3DTUBk.js} +2 -2
  89. package/bundled-test-harness/assets/{freestyle-test-KaFCs8l2.js → freestyle-test-BOVAHn_7.js} +1 -1
  90. package/bundled-test-harness/assets/{full-reindex-realm-test-BCUSPZuX.js → full-reindex-realm-test-BQji9QK_.js} +2 -2
  91. package/bundled-test-harness/assets/{garbage-collection-test-BJmgY3IQ.js → garbage-collection-test-bPtmt69E.js} +1 -1
  92. package/bundled-test-harness/assets/{general-test-B5RcCakW.js → general-test-pIZFE9Ii.js} +3 -3
  93. package/bundled-test-harness/assets/{generate-example-cards-one-shot-test-Bh9_GXLK.js → generate-example-cards-one-shot-test-DtYqN3qW.js} +1 -1
  94. package/bundled-test-harness/assets/{get-available-realm-identifiers-test-C18mJr3L.js → get-available-realm-identifiers-test-BiHIbpFc.js} +2 -2
  95. package/bundled-test-harness/assets/{get-catalog-realm-identifiers-test-vDnl-arI.js → get-catalog-realm-identifiers-test-B4EVfXvp.js} +2 -2
  96. package/bundled-test-harness/assets/{get-default-writable-realm-test-Co4F_EH-.js → get-default-writable-realm-test-C2izRfTp.js} +2 -2
  97. package/bundled-test-harness/assets/{get-published-realms-test-D6auThJu.js → get-published-realms-test-CJlYS6SA.js} +1 -1
  98. package/bundled-test-harness/assets/{get-realm-of-resource-identifier-test-BeVoQztL.js → get-realm-of-resource-identifier-test-DZG0gROs.js} +2 -2
  99. package/bundled-test-harness/assets/{get-relationship-membership-state-test-Cm_VeTXw.js → get-relationship-membership-state-test-wOVStpnA.js} +1 -1
  100. package/bundled-test-harness/assets/{get-user-system-card-test-CAc-Ainy.js → get-user-system-card-test-Bf_il1b_.js} +2 -2
  101. package/bundled-test-harness/assets/{gif-image-def-test-Co2Woq8R.js → gif-image-def-test-DD4BOFUq.js} +1 -1
  102. package/bundled-test-harness/assets/{gts-file-def-test-DMhWqyxZ.js → gts-file-def-test-KrlOMcTY.js} +1 -1
  103. package/bundled-test-harness/assets/{head-format-preview-test-DPOjt1cu.js → head-format-preview-test-CGzx-i_Q.js} +2 -2
  104. package/bundled-test-harness/assets/{helpers-BIQP26gX.js → helpers-CR-27yCL.js} +1 -1
  105. package/bundled-test-harness/assets/{host-mode-service-BYjO5JXT.js → host-mode-service-BPYfmILw.js} +1 -1
  106. package/bundled-test-harness/assets/{host-mode-test-D9kRy5kW.js → host-mode-test-sjKqSasU.js} +3 -3
  107. package/bundled-test-harness/assets/{host-submode-test-Zy7-q9vh.js → host-submode-test-CvezMbrv.js} +1 -1
  108. package/bundled-test-harness/assets/{hydratable-card-test-DvgHojHD.js → hydratable-card-test-Ds6x3mv5.js} +1 -1
  109. package/bundled-test-harness/assets/{index-query-engine-test-Bk52a889.js → index-query-engine-test-DvgGBuTy.js} +1 -1
  110. package/bundled-test-harness/assets/{index-writer-test-DNeo1Uod.js → index-writer-test-BMajX3Mj.js} +1 -1
  111. package/bundled-test-harness/assets/{inspector-test-OaFEP4S0.js → inspector-test-COfLlQnO.js} +3 -3
  112. package/bundled-test-harness/assets/{instance-filter-matcher-test-PeeLVGMO.js → instance-filter-matcher-test-DUeZ6eiv.js} +1 -1
  113. package/bundled-test-harness/assets/{instantiate-card-test-C0Y8FG7w.js → instantiate-card-test-Ba3rd5Zn.js} +1 -1
  114. package/bundled-test-harness/assets/{interact-submode-creation-and-permissions-test-Cp3YiIQG.js → interact-submode-creation-and-permissions-test-Dr-clTrg.js} +4 -4
  115. package/bundled-test-harness/assets/{interact-submode-setup-CtFp9kvB.js → interact-submode-setup-D23oc2q6.js} +1 -1
  116. package/bundled-test-harness/assets/{interact-submode-test-B_JqGk2t.js → interact-submode-test-t8HEq7Bp.js} +2 -2
  117. package/bundled-test-harness/assets/{invalidate-realm-identifiers-test-Dpa0TzwS.js → invalidate-realm-identifiers-test-Bl1RP3Kp.js} +2 -2
  118. package/bundled-test-harness/assets/{invite-user-to-room-test-DXzTeCgP.js → invite-user-to-room-test-Q26QQwvj.js} +2 -2
  119. package/bundled-test-harness/assets/{isolated-render-test-DVzQEdsY.js → isolated-render-test-Bc2ASFB1.js} +1 -1
  120. package/bundled-test-harness/assets/{job-priority-header-test-J8emfVrj.js → job-priority-header-test-CDDfX3mF.js} +1 -1
  121. package/bundled-test-harness/assets/{jpg-image-def-test-D7txmQ4U.js → jpg-image-def-test-DGjpMEj5.js} +1 -1
  122. package/bundled-test-harness/assets/{json-file-def-test-C3W6amHE.js → json-file-def-test-8NlQ7NyF.js} +1 -1
  123. package/bundled-test-harness/assets/{linksto-broken-link-placeholder-test-nZIKEYDd.js → linksto-broken-link-placeholder-test-OPR5aao3.js} +2 -2
  124. package/bundled-test-harness/assets/{linksto-error-sentinel-test-E5UdAPkR.js → linksto-error-sentinel-test-DNEi2-4f.js} +1 -1
  125. package/bundled-test-harness/assets/{linksto-many-broken-link-placeholder-test-D5lhE5y-.js → linksto-many-broken-link-placeholder-test-Bl3-UMZt.js} +2 -2
  126. package/bundled-test-harness/assets/{linksto-many-per-slot-access-test-uONh3sy8.js → linksto-many-per-slot-access-test-Cv88sT3k.js} +1 -1
  127. package/bundled-test-harness/assets/{linksto-sentinel-roundtrip-test-CUbMHhoz.js → linksto-sentinel-roundtrip-test-DDrNtJgY.js} +1 -1
  128. package/bundled-test-harness/assets/{linksto-singular-js-access-contract-test-Doycge43.js → linksto-singular-js-access-contract-test-CMOxHvSS.js} +1 -1
  129. package/bundled-test-harness/assets/{live-test-pbHzyWf7.js → live-test-BfSJ7dPf.js} +6 -6
  130. package/bundled-test-harness/assets/live-test-CfcRApCW.js +2 -0
  131. package/bundled-test-harness/assets/{loader-parallel-prefetch-test-cfEJV65W.js → loader-parallel-prefetch-test-DchEbilk.js} +1 -1
  132. package/bundled-test-harness/assets/{loader-test-DZX-dw3F.js → loader-test-LyM1F2ON.js} +1 -1
  133. package/bundled-test-harness/assets/{loading-test-PwEVbSuF.js → loading-test-DrK02DRI.js} +2 -2
  134. package/bundled-test-harness/assets/{local-storage-keys-Do9I1BSV.js → local-storage-keys-C0jyxDKn.js} +4 -1
  135. package/bundled-test-harness/assets/{m4a-audio-def-test-Dkbh40DD.js → m4a-audio-def-test-B1PZDu-M.js} +1 -1
  136. package/bundled-test-harness/assets/{main-CE7KR5Ht.js → main-CrtBvhng.js} +1 -1
  137. package/bundled-test-harness/assets/{markdown-fallback-test-BHejXXnE.js → markdown-fallback-test-D32xPo5m.js} +2 -2
  138. package/bundled-test-harness/assets/{markdown-file-def-test-BOvu8beB.js → markdown-file-def-test-2_0tc-pT.js} +1 -1
  139. package/bundled-test-harness/assets/{markdown-helpers-test-Be9UUlnA.js → markdown-helpers-test-D6Ty5K6K.js} +1 -1
  140. package/bundled-test-harness/assets/{markdown-highlighting-test-D-jxOaxc.js → markdown-highlighting-test-CD22pEyx.js} +2 -2
  141. package/bundled-test-harness/assets/{markdown-preview-test-D2kl56R1.js → markdown-preview-test-BTdN_033.js} +2 -2
  142. package/bundled-test-harness/assets/{matrix-service-sliding-sync-test-Cl1D6ID4.js → matrix-service-sliding-sync-test-Co9EhDYF.js} +1 -1
  143. package/bundled-test-harness/assets/{message-service-subscription-test-OvYUTr8V.js → message-service-subscription-test-BK3W9wng.js} +2 -2
  144. package/bundled-test-harness/assets/{mock-matrix-CD6YHaHR.js → mock-matrix-Bkfl9ACG.js} +6 -2
  145. package/bundled-test-harness/assets/{mock-matrix-Dt4s2hUe.js → mock-matrix-DbxVPkSl.js} +1 -1
  146. package/bundled-test-harness/assets/{module-transpile-cache-test-Bj11UbQJ.js → module-transpile-cache-test-BFmN6_si.js} +1 -1
  147. package/bundled-test-harness/assets/{mp3-audio-def-test-C6tzxO6X.js → mp3-audio-def-test-DorbFtva.js} +1 -1
  148. package/bundled-test-harness/assets/{number-field-test-l5WRd3N9.js → number-field-test-C9F_sOf8.js} +2 -2
  149. package/bundled-test-harness/assets/{ogg-audio-def-test-CQ04xrfS.js → ogg-audio-def-test-DRXLSBVQ.js} +1 -1
  150. package/bundled-test-harness/assets/{open-create-listing-modal-test-VxITHH84.js → open-create-listing-modal-test-Yp6EOMGK.js} +1 -1
  151. package/bundled-test-harness/assets/open-image-in-new-tab-test-B-jsojF0.js +52 -0
  152. package/bundled-test-harness/assets/{open-workspace-test-goAg_TVx.js → open-workspace-test-DrkNS6zm.js} +1 -1
  153. package/bundled-test-harness/assets/{operator-mode-acceptance-test-DO3lt95I.js → operator-mode-acceptance-test-CXQkU0xV.js} +5 -5
  154. package/bundled-test-harness/assets/{operator-mode-card-catalog-test-C3e1--M7.js → operator-mode-card-catalog-test-DjTCHu2f.js} +4 -4
  155. package/bundled-test-harness/assets/{operator-mode-links-test-AWhMhHM2.js → operator-mode-links-test-EeNC7Or8.js} +4 -4
  156. package/bundled-test-harness/assets/{operator-mode-state-service-test-BICXMa5O.js → operator-mode-state-service-test-cwdudDwm.js} +2 -2
  157. package/bundled-test-harness/assets/{operator-mode-test-DMyFaXHK.js → operator-mode-test-Cdm2eu3n.js} +4 -4
  158. package/bundled-test-harness/assets/{operator-mode-ui-test-z2SU5ozt.js → operator-mode-ui-test-yWX9IF_q.js} +4 -4
  159. package/bundled-test-harness/assets/{overlay-menu-items-test-Dkulmtpn.js → overlay-menu-items-test-D2yM2xsl.js} +3 -3
  160. package/bundled-test-harness/assets/{panel-BXXk_P7h.js → panel-DBvohlmr.js} +50 -26
  161. package/bundled-test-harness/assets/{past-sessions-test-gKLwZO61.js → past-sessions-test-DqEv1zfI.js} +3 -3
  162. package/bundled-test-harness/assets/{patch-code-test-CIdB45Nv.js → patch-code-test-Y34298iq.js} +1 -1
  163. package/bundled-test-harness/assets/{patch-fields-test-CBGnqUme.js → patch-fields-test-D1aSP1q_.js} +1 -1
  164. package/bundled-test-harness/assets/{patch-instance-test-DmDpfS3p.js → patch-instance-test-DHBeFzYI.js} +1 -1
  165. package/bundled-test-harness/assets/{persist-module-inspector-view-test-D6vpSfX4.js → persist-module-inspector-view-test-DDYttEKD.js} +2 -2
  166. package/bundled-test-harness/assets/{phone-number-field-test-DogtMkDx.js → phone-number-field-test-CUY1miSH.js} +2 -2
  167. package/bundled-test-harness/assets/{playground-CMnQXTzR.js → playground-DFwsIC-9.js} +2 -2
  168. package/bundled-test-harness/assets/{png-image-def-test-BzfrYGhY.js → png-image-def-test-C9COAyWm.js} +1 -1
  169. package/bundled-test-harness/assets/{prerender-file-extract-test-C-1R1B32.js → prerender-file-extract-test-B76NnPJt.js} +1 -1
  170. package/bundled-test-harness/assets/{prerender-html-test-1XGnbGuQ.js → prerender-html-test-ImXJjrpR.js} +1 -1
  171. package/bundled-test-harness/assets/{prerender-meta-test-B02oGS-5.js → prerender-meta-test-xIFFdF1X.js} +1 -1
  172. package/bundled-test-harness/assets/{prerender-module-test-CSKywVQA.js → prerender-module-test-CoxYOMro.js} +1 -1
  173. package/bundled-test-harness/assets/{prerendered-card-search-test-Cf_Hvr4P.js → prerendered-card-search-test-BTgiRYnI.js} +1 -1
  174. package/bundled-test-harness/assets/{preview-format-test-DBKtwgvo.js → preview-format-test-DjS1vxlt.js} +3 -3
  175. package/bundled-test-harness/assets/{preview-test-dgbtaeLg.js → preview-test-CcGZEu6Y.js} +2 -2
  176. package/bundled-test-harness/assets/{publish-realm-test-B4c6TqTI.js → publish-realm-test-Cqq_X3L4.js} +2 -2
  177. package/bundled-test-harness/assets/{query-field-barrier-test-DytVxOcd.js → query-field-barrier-test-CeDBxTwq.js} +2 -2
  178. package/bundled-test-harness/assets/{query-field-error-sentinel-test-Cs2wXQuL.js → query-field-error-sentinel-test-CwOzGgRw.js} +2 -2
  179. package/bundled-test-harness/assets/{query-field-schema-test-ByfKD-mO.js → query-field-schema-test-CXt4ktVo.js} +1 -1
  180. package/bundled-test-harness/assets/{query-fields-test-SlJNtzM3.js → query-fields-test-CrsGkXWE.js} +1 -1
  181. package/bundled-test-harness/assets/{read-card-for-ai-assistant-test-BzThkf4s.js → read-card-for-ai-assistant-test-DORLxJXd.js} +2 -2
  182. package/bundled-test-harness/assets/{read-file-for-ai-assistant-test-CV5PoqSP.js → read-file-for-ai-assistant-test-DyyCSmMv.js} +2 -2
  183. package/bundled-test-harness/assets/{read-source-test-jfWyZkQO.js → read-source-test-hAUdteMO.js} +2 -2
  184. package/bundled-test-harness/assets/{read-text-file-test-Kg6tx07O.js → read-text-file-test-juQ-OJET.js} +2 -2
  185. package/bundled-test-harness/assets/{realm-oWsFVfdH.js → realm-CxU8jc8l.js} +2 -2
  186. package/bundled-test-harness/assets/{realm-config-routing-rule-edit-test-VyMT__jT.js → realm-config-routing-rule-edit-test-E5AhFXfq.js} +3 -3
  187. package/bundled-test-harness/assets/{realm-field-test-CBmQY3Va.js → realm-field-test-wqNbmdgM.js} +2 -2
  188. package/bundled-test-harness/assets/{realm-indexing-test-CQ29IEno.js → realm-indexing-test-DTuwfnZZ.js} +1 -1
  189. package/bundled-test-harness/assets/{realm-querying-test-PR_91CCq.js → realm-querying-test-ojIOXC3n.js} +1 -1
  190. package/bundled-test-harness/assets/{realm-test-C6Kw7gWx.js → realm-test-MgXPmHwc.js} +1 -1
  191. package/bundled-test-harness/assets/{reasoning-test-M4JuH0RZ.js → reasoning-test-ChZJb8sD.js} +3 -3
  192. package/bundled-test-harness/assets/{recent-files-cards-D845sggD.js → recent-files-cards-BICbCMhW.js} +1 -1
  193. package/bundled-test-harness/assets/{recent-files-test-Du5oiGDf.js → recent-files-test-Df_1aE3G.js} +2 -2
  194. package/bundled-test-harness/assets/{reindex-realm-test-BrgFBbOc.js → reindex-realm-test-DDYvNGWh.js} +2 -2
  195. package/bundled-test-harness/assets/{relationship-loading-state-test-CnCYYtmY.js → relationship-loading-state-test-C2EialRQ.js} +1 -1
  196. package/bundled-test-harness/assets/{render-component-BJwKMGDa.js → render-component-DLXpC-Bc.js} +1 -1
  197. package/bundled-test-harness/assets/{rendered-markdown-test-BvQ96-0V.js → rendered-markdown-test-DblOECt_.js} +2 -2
  198. package/bundled-test-harness/assets/{rich-markdown-field-test-neZFxfcc.js → rich-markdown-field-test-B34TJAq8.js} +2 -2
  199. package/bundled-test-harness/assets/{room-message-test-DWEcr5le.js → room-message-test-DQ2x7ymr.js} +2 -2
  200. package/bundled-test-harness/assets/{sanitize-module-list-test-B4VjLVx_.js → sanitize-module-list-test-BTFw8-Do.js} +2 -2
  201. package/bundled-test-harness/assets/{schema-editor-test-CHeST1JD.js → schema-editor-test-w7ANspy0.js} +1 -1
  202. package/bundled-test-harness/assets/{schema-generation-test-G4ZL90Sn.js → schema-generation-test-DxhNMqOe.js} +2 -2
  203. package/bundled-test-harness/assets/{scrolling-test-D3Asc3Yr.js → scrolling-test-Drdch9wf.js} +4 -4
  204. package/bundled-test-harness/assets/{search-and-choose-test-DMB-Nv1z.js → search-and-choose-test-BhIWdkFp.js} +2 -2
  205. package/bundled-test-harness/assets/{search-command-test-BNZzENdS.js → search-command-test-BlTBufTS.js} +1 -1
  206. package/bundled-test-harness/assets/{search-correlation-id-test-tM-SfbrA.js → search-correlation-id-test-BR7bFNCy.js} +1 -1
  207. package/bundled-test-harness/assets/{search-data-test-CYrjasBZ.js → search-data-test-bc2foKLa.js} +2 -2
  208. package/bundled-test-harness/assets/{search-google-images-test-DzFbLWZE.js → search-google-images-test-C96iDOxU.js} +1 -1
  209. package/bundled-test-harness/assets/{search-test-CBH8l5JD.js → search-test-iR0wammw.js} +2 -2
  210. package/bundled-test-harness/assets/{send-ai-assistant-message-test-CAlK3x0a.js → send-ai-assistant-message-test-BmJdWdzI.js} +2 -2
  211. package/bundled-test-harness/assets/{send-bot-trigger-event-test-CwI4Rkf8.js → send-bot-trigger-event-test-CJCAf2db.js} +2 -2
  212. package/bundled-test-harness/assets/{send-request-via-proxy-test-BRuk6sv0.js → send-request-via-proxy-test-DSdZppno.js} +2 -2
  213. package/bundled-test-harness/assets/{sending-test-BA2F7Hfk.js → sending-test-6i0F6n4v.js} +269 -11
  214. package/bundled-test-harness/assets/{serialization-test-DHTHfzsn.js → serialization-test-CE3TeQ4Z.js} +2 -2
  215. package/bundled-test-harness/assets/{set-user-system-card-test-Ct8xegEY.js → set-user-system-card-test-JZW2LcIA.js} +2 -2
  216. package/bundled-test-harness/assets/{setup-v4v1a2Qc.js → setup-C5QslpqI.js} +1 -1
  217. package/bundled-test-harness/assets/{setup-BfvQ1zfD.js → setup-DeQyrqyx.js} +1 -1
  218. package/bundled-test-harness/assets/{show-card-test-7VGIdTJh.js → show-card-test-B41I3EWZ.js} +3 -3
  219. package/bundled-test-harness/assets/{skills-test-NKDA1G9S.js → skills-test-Dl7uEBNz.js} +3 -3
  220. package/bundled-test-harness/assets/{spec-test-61E0gdIB.js → spec-test-DytzFxZb.js} +3 -3
  221. package/bundled-test-harness/assets/{store-BM5pUF94.js → store-CbIxTljQ.js} +30 -0
  222. package/bundled-test-harness/assets/{store-add-test-mRtjroP0.js → store-add-test-ulvv9A3X.js} +2 -2
  223. package/bundled-test-harness/assets/{store-test-CVHw6LMN.js → store-test-Dkf9wBLg.js} +77 -4
  224. package/bundled-test-harness/assets/{summarize-session-test-UZOGVM_F.js → summarize-session-test-BcXrj1r3.js} +2 -2
  225. package/bundled-test-harness/assets/{svg-image-def-test-Dqjy84jw.js → svg-image-def-test-DW1rtFSA.js} +1 -1
  226. package/bundled-test-harness/assets/{switch-submode-test-MWnyo759.js → switch-submode-test-CX0YxbVu.js} +2 -2
  227. package/bundled-test-harness/assets/{test-support-BfonQA4V.js → test-support-CCargU9V.js} +1 -1
  228. package/bundled-test-harness/assets/{tests-DQLSvmHe.js → tests-D1v0wSnN.js} +265 -263
  229. package/bundled-test-harness/assets/{text-file-def-test-DlyCDiM4.js → text-file-def-test-Bl2R6NO8.js} +1 -1
  230. package/bundled-test-harness/assets/{text-input-validator-test-Ccx-4gLo.js → text-input-validator-test-CT3c7m8B.js} +3 -3
  231. package/bundled-test-harness/assets/{text-suggestion-test-mIvJOTS7.js → text-suggestion-test-CbJWk97Q.js} +1 -1
  232. package/bundled-test-harness/assets/{theme-card-test-Bs3Q034n.js → theme-card-test-DyOWEJRn.js} +2 -2
  233. package/bundled-test-harness/assets/{transform-cards-test-BsTtRP0g.js → transform-cards-test-3PsuM2Sv.js} +2 -2
  234. package/bundled-test-harness/assets/{ts-file-def-test-DtWzgXkt.js → ts-file-def-test-BoXA3RgL.js} +1 -1
  235. package/bundled-test-harness/assets/{unpublish-realm-test-BFJEMQL7.js → unpublish-realm-test-CgiIcZ6j.js} +2 -2
  236. package/bundled-test-harness/assets/{update-room-skills-test-BrFhA3El.js → update-room-skills-test-B-BI7daL.js} +3 -3
  237. package/bundled-test-harness/assets/{use-ai-assistant-test-BsyBY6-a.js → use-ai-assistant-test-BEiEjFOH.js} +2 -2
  238. package/bundled-test-harness/assets/user-message-Bbw4pQmd.css +22 -0
  239. package/bundled-test-harness/assets/{user-message-BFN7dtqK.js → user-message-CVG3cgJq.js} +2 -2
  240. package/bundled-test-harness/assets/{validate-realm-test-DQlQ-pWZ.js → validate-realm-test-DBx-3YG9.js} +2 -2
  241. package/bundled-test-harness/assets/{wav-audio-def-test-BZ0oLTT1.js → wav-audio-def-test-CPJl6Hpr.js} +1 -1
  242. package/bundled-test-harness/assets/{webp-image-def-test-tuOTQeTt.js → webp-image-def-test-Bh3SOpDa.js} +1 -1
  243. package/bundled-test-harness/assets/{workspace-chooser-delete-test-D_Gp78-R.js → workspace-chooser-delete-test-1n1lqK_X.js} +3 -3
  244. package/bundled-test-harness/assets/{workspace-chooser-test-CuJ4pgJh.js → workspace-chooser-test-wcKYsTgx.js} +1 -1
  245. package/bundled-test-harness/assets/{workspace-delete-multiple-test-BUmKPHGp.js → workspace-delete-multiple-test-DlXWFVK1.js} +1 -1
  246. package/bundled-test-harness/assets/{write-binary-file-test-D1h4TED_.js → write-binary-file-test-BkADCn85.js} +2 -2
  247. package/bundled-test-harness/assets/{write-text-file-test-DKA9TpIm.js → write-text-file-test-C9K0doTU.js} +2 -2
  248. package/bundled-test-harness/index.html +12 -12
  249. package/bundled-test-harness/tests/index.html +15 -15
  250. package/bundled-types/host-app/components/ai-assistant/chat-input/index.gts +2 -1
  251. package/bundled-types/host-app/components/ai-assistant/message/user-message.gts +6 -2
  252. package/bundled-types/host-app/components/matrix/room.gts +115 -44
  253. package/bundled-types/host-app/lib/matrix-classes/message-builder.ts +13 -0
  254. package/bundled-types/host-app/services/local-persistence-service.ts +179 -0
  255. package/bundled-types/host-app/services/matrix-service.ts +372 -1
  256. package/bundled-types/host-app/services/store.ts +70 -0
  257. package/bundled-types/host-app/utils/local-storage-keys.ts +2 -0
  258. package/bundled-types/host-tests/helpers/mock-matrix/_client.ts +3 -0
  259. package/bundled-types/host-tests/helpers/mock-matrix/_utils.ts +3 -0
  260. package/bundled-types/host-tests/helpers/mock-matrix.ts +1 -0
  261. package/dist/index.js +246 -242
  262. package/package.json +3 -3
  263. package/src/commands/realm/index.ts +2 -0
  264. package/src/commands/realm/ingest-card.ts +567 -0
  265. package/src/commands/realm/pull.ts +9 -13
  266. package/src/commands/realm/push.ts +10 -14
  267. package/src/commands/realm/status.ts +14 -18
  268. package/src/commands/realm/sync.ts +9 -13
  269. package/src/lib/auth-resolver.ts +15 -2
  270. package/bundled-test-harness/assets/adapter-Dk9jvNQb.js +0 -2
  271. package/bundled-test-harness/assets/live-test-B7uB4aVp.js +0 -2
  272. package/bundled-test-harness/assets/user-message-B8olA3Ml.css +0 -18
  273. /package/bundled-test-harness/assets/{ai-assistant-panel-service-test-B2pqk_1r.js → ai-assistant-panel-service-test-DEeul-zv.js} +0 -0
  274. /package/bundled-test-harness/assets/{amd-transpile-test-ftXbwnFz.js → amd-transpile-test-DmEkMdCo.js} +0 -0
  275. /package/bundled-test-harness/assets/{apply-boxel-formatting-test-BSzr4sNI.js → apply-boxel-formatting-test-RixVcq5N.js} +0 -0
  276. /package/bundled-test-harness/assets/{auth-error-guard-test-BxIq12aN.js → auth-error-guard-test-beazl6s5.js} +0 -0
  277. /package/bundled-test-harness/assets/{bfm-card-references-test-6aAhfBzH.js → bfm-card-references-test-IEbg0jo-.js} +0 -0
  278. /package/bundled-test-harness/assets/{cached-fetch-test-CPr-eiq_.js → cached-fetch-test-DlnnpQGz.js} +0 -0
  279. /package/bundled-test-harness/assets/{card-directory-name-test-BS8WD3oH.js → card-directory-name-test-QKl1Ykz6.js} +0 -0
  280. /package/bundled-test-harness/assets/{card-search-query-builder-test-zp6muUB1.js → card-search-query-builder-test-BWc5lDv3.js} +0 -0
  281. /package/bundled-test-harness/assets/{code-patching-test-BZPvPsMr.js → code-patching-test-BRNMumI6.js} +0 -0
  282. /package/bundled-test-harness/assets/{code-semantics-service-test-BBjJ3EF3.js → code-semantics-service-test-CJOSUAQH.js} +0 -0
  283. /package/bundled-test-harness/assets/{command-definitions-test-BcMJzIBM.js → command-definitions-test-De0BMqHI.js} +0 -0
  284. /package/bundled-test-harness/assets/{convert-to-class-name-test-DmF3wUKb.js → convert-to-class-name-test-B7ILkHei.js} +0 -0
  285. /package/bundled-test-harness/assets/{extract-css-variables-test-FIZxFxaL.js → extract-css-variables-test-Di5CFXG-.js} +0 -0
  286. /package/bundled-test-harness/assets/{fetcher-test-g2cjjXxV.js → fetcher-test-Cb8cS9JN.js} +0 -0
  287. /package/bundled-test-harness/assets/{field-path-parser-test-DkY-DFQN.js → field-path-parser-test-Db4kG7EB.js} +0 -0
  288. /package/bundled-test-harness/assets/{file-def-manager-canonicalize-test-Dlf4HlLX.js → file-def-manager-canonicalize-test-Cq5B5KN4.js} +0 -0
  289. /package/bundled-test-harness/assets/{generate-css-variables-test-De4LPdBt.js → generate-css-variables-test-BahavIHR.js} +0 -0
  290. /package/bundled-test-harness/assets/{get-type-refs-from-filter-test-DmDF_dTY.js → get-type-refs-from-filter-test-CH5flf8B.js} +0 -0
  291. /package/bundled-test-harness/assets/{last-modified-date-test-C2hEJ3xU.js → last-modified-date-test-C_jV0b05.js} +0 -0
  292. /package/bundled-test-harness/assets/{limited-set-test-SLbA1cwS.js → limited-set-test-CcpIJCrn.js} +0 -0
  293. /package/bundled-test-harness/assets/{loader-icon-error-test-DTo5t1OQ.js → loader-icon-error-test-Bc_L-0Zb.js} +0 -0
  294. /package/bundled-test-harness/assets/{loader-retry-test-CPFmHSUN.js → loader-retry-test-DQ0E0a0N.js} +0 -0
  295. /package/bundled-test-harness/assets/{login-error-text-test-BGvtn9op.js → login-error-text-test-BsNV9TOq.js} +0 -0
  296. /package/bundled-test-harness/assets/{marked-sync-test-CaZYJo4x.js → marked-sync-test-JSqOc6hu.js} +0 -0
  297. /package/bundled-test-harness/assets/{mutex-test-p2qp1xRj.js → mutex-test-BDkeJutn.js} +0 -0
  298. /package/bundled-test-harness/assets/{plan-install-test-CrYUs1-G.js → plan-install-test-fUZIttPZ.js} +0 -0
  299. /package/bundled-test-harness/assets/{qs-test-DEH8SHFS.js → qs-test-CminVD53.js} +0 -0
  300. /package/bundled-test-harness/assets/{query-field-normalization-test-DrqBkUxD.js → query-field-normalization-test-B9alzE_u.js} +0 -0
  301. /package/bundled-test-harness/assets/{queue-test-CS3aOeHM.js → queue-test-BvWT6K7Z.js} +0 -0
  302. /package/bundled-test-harness/assets/{realm-index-card-id-test-FV_gOG_K.js → realm-index-card-id-test-hvCyEpGZ.js} +0 -0
  303. /package/bundled-test-harness/assets/{realm-paths-test-CvXB4BUZ.js → realm-paths-test-DrwpPXyh.js} +0 -0
  304. /package/bundled-test-harness/assets/{render-component-BabSF5nE.js → render-component-DY19erxA.js} +0 -0
  305. /package/bundled-test-harness/assets/{render-error-test-CvMDARjN.js → render-error-test-BC4QmstW.js} +0 -0
  306. /package/bundled-test-harness/assets/{render-service-test-DRCvv7lo.js → render-service-test-BkCkB3a2.js} +0 -0
  307. /package/bundled-test-harness/assets/{render-timer-stub-test-CVa_rjXp.js → render-timer-stub-test-cnMPidgA.js} +0 -0
  308. /package/bundled-test-harness/assets/{search-cache-key-test-r83Xl6Io.js → search-cache-key-test-DI0DKzU5.js} +0 -0
  309. /package/bundled-test-harness/assets/{search-in-flight-key-test-BmqFzX6o.js → search-in-flight-key-test-DyRDbEX1.js} +0 -0
  310. /package/bundled-test-harness/assets/{unified-search-results-test-D9v-CCog.js → unified-search-results-test-BF8Dps_j.js} +0 -0
  311. /package/bundled-test-harness/assets/{url-test-DtekKUme.js → url-test-DkEL_mbR.js} +0 -0
  312. /package/bundled-test-harness/assets/{workspace-delete-summary-test-B8qyNd7w.js → workspace-delete-summary-test-B7rnzX95.js} +0 -0
@@ -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 {
@@ -8,8 +8,8 @@ import "./template-factory-CigcGcbz.js";
8
8
  import { a as find, d as click, s as fillIn } from "./dist-CWCoBB72.js";
9
9
  import { n as _class, t as AddWorkspace } from "./add-workspace-tMjv_Ar4.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) {
@@ -7,11 +7,11 @@ import { i as envSkillId, o as skillsRealmURL, t as catalogRealmURL } from "./ut
7
7
  import "./component-CqcrwY5l.js";
8
8
  import "./template-factory-CigcGcbz.js";
9
9
  import { m as GridContainer } from "./components-CBfd9MIo.js";
10
- import { t as AiAssistantMessageDrafts, v as src_default } from "./local-storage-keys-Do9I1BSV.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-DYJ5z0jP.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 {
@@ -1,7 +1,7 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[(globalThis.__boxelAssetsURL||"/")+"assets/modules-4-12-D80yoXL5.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-CGdGNDIi.js",(globalThis.__boxelAssetsURL||"/")+"assets/dist-CE2G0-tp.js",(globalThis.__boxelAssetsURL||"/")+"assets/service-BaBMSYir.js",(globalThis.__boxelAssetsURL||"/")+"assets/owner-DGWjbd-X.js",(globalThis.__boxelAssetsURL||"/")+"assets/debug-DwkFtYg1.js",(globalThis.__boxelAssetsURL||"/")+"assets/destroyable-DeqNuajY.js",(globalThis.__boxelAssetsURL||"/")+"assets/index-DaCZcoCY-Bfb0Qdzr.js",(globalThis.__boxelAssetsURL||"/")+"assets/owner-CqZ4C0QN.js",(globalThis.__boxelAssetsURL||"/")+"assets/component-CqcrwY5l.js",(globalThis.__boxelAssetsURL||"/")+"assets/managers-CbMgnSoo-CvcYSF2d.js",(globalThis.__boxelAssetsURL||"/")+"assets/metal-DzlZDAeA.js",(globalThis.__boxelAssetsURL||"/")+"assets/views-DEacy2Wr.js",(globalThis.__boxelAssetsURL||"/")+"assets/promise-proxy-mixin-APB7pvzj.js",(globalThis.__boxelAssetsURL||"/")+"assets/internals-BOTMROHS.js",(globalThis.__boxelAssetsURL||"/")+"assets/rsvp-Cv7mV_Vk.js",(globalThis.__boxelAssetsURL||"/")+"assets/browser-index-L9DeNj80.js",(globalThis.__boxelAssetsURL||"/")+"assets/indexeddb-crypto-store-s-rMd0i8.js",(globalThis.__boxelAssetsURL||"/")+"assets/preload-helper-CsWBX1L7.js",(globalThis.__boxelAssetsURL||"/")+"assets/defineProperty-Z58F6dJs.js",(globalThis.__boxelAssetsURL||"/")+"assets/objectWithoutProperties-DzZyi3gX.js",(globalThis.__boxelAssetsURL||"/")+"assets/events-CDYsaAZd.js",(globalThis.__boxelAssetsURL||"/")+"assets/loglevel-DTrXZR7m.js",(globalThis.__boxelAssetsURL||"/")+"assets/browser-index-CBypQU_L.js",(globalThis.__boxelAssetsURL||"/")+"assets/editor.main-8RVCYkqX.js",(globalThis.__boxelAssetsURL||"/")+"assets/editor.api-n39zV6Fs.js",(globalThis.__boxelAssetsURL||"/")+"assets/languages-CqeM6oZ2.js",(globalThis.__boxelAssetsURL||"/")+"assets/editor-C3U8oQBi.css",(globalThis.__boxelAssetsURL||"/")+"assets/editor.main-CwLR0LUz.js",(globalThis.__boxelAssetsURL||"/")+"assets/monaco.contribution-B2PyC5K2.js",(globalThis.__boxelAssetsURL||"/")+"assets/monaco.contribution-DWQNXFAT.js",(globalThis.__boxelAssetsURL||"/")+"assets/editor-BNQfW3Q2.css",(globalThis.__boxelAssetsURL||"/")+"assets/katex-XnN5b1Lq.js",(globalThis.__boxelAssetsURL||"/")+"assets/mermaid.core-DKdvbDmV.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-O5CBEL6O-3s6T7sve.js",(globalThis.__boxelAssetsURL||"/")+"assets/src-BRFwedsE.js",(globalThis.__boxelAssetsURL||"/")+"assets/dayjs.min-nIH9sDsf.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-5ZQYHXKU-Dqz8kl2j.js",(globalThis.__boxelAssetsURL||"/")+"assets/dist-B-7Od8re.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-CSCIHK7Q-BGznA51r.js",(globalThis.__boxelAssetsURL||"/")+"assets/purify.es-CXPXjwYi.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-3OPIFGDE-BAAdCP-g.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-L5ZTLDWV-BV7SXCEA.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-NZK2D7GU-B63pojKk.js",(globalThis.__boxelAssetsURL||"/")+"assets/rough.esm-B0R2nQS5.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-BSJP7CBP-BdONMCYa.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-KSCS5N6A-AsQTrDq3.js",(globalThis.__boxelAssetsURL||"/")+"assets/line--g-feNj6.js",(globalThis.__boxelAssetsURL||"/")+"assets/path-Cp38gQtd.js",(globalThis.__boxelAssetsURL||"/")+"assets/array-DNFkOovx.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-LZXEDZCA-BVkfUPOA.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-WU5MYG2G-vfMslNhq.js",(globalThis.__boxelAssetsURL||"/")+"assets/chunk-XPW4576I-B48ixpWm.js",(globalThis.__boxelAssetsURL||"/")+"assets/codemirror-context-BrW2S-Pm.js",(globalThis.__boxelAssetsURL||"/")+"assets/codemirror-context-CLOiNtxx.js"])))=>i.map(i=>d[i]);
2
2
  import { i as __name, n as __esmMin, o as __toCommonJS, r as __exportAll, s as __toESM, t as __commonJSMin } from "./chunk-CGdGNDIi.js";
3
3
  import { i as runtime, n as decorateMethodV2, r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime-CYyqkz5q-z3Y1hsJm.js";
4
- import { $ as getMatrixUsername, $i as trackRuntimeModuleDependency, $n as CommandContextStamp, Ar as loadCardDef, Bn as DEFAULT_FALLBACK_MODELS, Ci as baseRef, Cn as APP_BOXEL_COMMAND_RESULT_WITH_OUTPUT_MSGTYPE, Cr as isFieldDef, Dn as APP_BOXEL_LLM_MODE, E as cardTypeIcon, En as APP_BOXEL_HAS_CONTINUATION_CONTENT_KEY, Fn as APP_BOXEL_STOP_GENERATING_EVENT_TYPE, Gn as SLIDING_SYNC_TIMEOUT, Gr as makeLogDefinitions, Hi as publishRealm, In as APP_BOXEL_SYSTEM_CARD_EVENT_TYPE, It as SupportedMimeType, Ji as endRuntimeDependencyTrackingSession, K as authorizationMiddleware, Kr as reapplyLogLevels, Ln as APP_BOXEL_WORKSPACE_FAVORITES_EVENT_TYPE, Mn as APP_BOXEL_REASONING_CONTENT_KEY, Nn as APP_BOXEL_RELOAD_BILLING_DATA_KEY, On as APP_BOXEL_MESSAGE_MSGTYPE, Pi as realmURL, Pn as APP_BOXEL_ROOM_SKILLS_EVENT_TYPE, Qr as wrapper_default, Ri as submissionBotUsername, Si as baseRealm, Sn as APP_BOXEL_COMMAND_RESULT_WITH_NO_OUTPUT_MSGTYPE, Sr as isCardInstance, Tn as APP_BOXEL_DEBUG_MESSAGE_EVENT_TYPE, Ui as unpublishRealm, Un as SLIDING_SYNC_AI_ROOM_LIST_NAME, Wi as Loader, Wn as SLIDING_SYNC_AUTH_ROOM_LIST_NAME, Wr as logger, Xi as snapshotRuntimeDependencies, Zn as testRealmURL, _ as parseBoxelHostCommandSpecifier, _a as Deferred, _i as aiBotUsername, _n as APP_BOXEL_CODE_PATCH_RESULT_MSGTYPE, _r as humanReadable, _t as fetcher, a as hasExecutableExtension, aa as clearFetchCache, ar as basicMappings, b as parseRenderRouteOptions, ba as globalId, bi as baseFileRef, bn as APP_BOXEL_COMMAND_RESULT_EVENT_TYPE, br as isBaseDefInstance, bt as joinDMRoom, ci as EXTRA_TOKENS_PRICING, da as formattedError, di as GetCardsContextName, ea as withRuntimeDependencyTrackingContext, ei as isRealmIndexCardId, gi as SEPARATOR_MARKER, gn as APP_BOXEL_CODE_PATCH_RESULT_EVENT_TYPE, gr as getField, gt as maybeHandleScopedCSSRequest, ha as serializableError, hi as SEARCH_MARKER, hr as getClass$1, ii as CommandContextName, ji as localId, jn as APP_BOXEL_REALM_SERVER_EVENT_MSGTYPE, kn as APP_BOXEL_REALMS_EVENT_TYPE, li as GetCardCollectionContextName, ma as isCardErrorJSONAPI, mn as APP_BOXEL_CODE_PATCH_CORRECTNESS_MSGTYPE, mr as getAncestor, mt as clearInjectedScopedCSS, nr as delay, o as internalKeyFor, oa as require_merge, pa as isCardError, pi as REPLACE_MARKER, pn as APP_BOXEL_ACTIVE_LLM, qi as beginRuntimeDependencyTrackingSession, s as isLocalId, ti as CardContextName, tn as isCardDocumentString, tr as decodeCommandRequest, ua as coerceErrorMessage, ui as GetCardContextName, v as VirtualNetwork, va as ri, vn as APP_BOXEL_CODE_PATCH_RESULT_REL_TYPE, vr as identifyCard, wn as APP_BOXEL_CONTINUATION_OF_CONTENT_KEY, x as serializeRenderRouteOptions, xn as APP_BOXEL_COMMAND_RESULT_REL_TYPE, xr as isCardDef, ya as rri, yn as APP_BOXEL_COMMAND_REQUESTS_KEY, yt as RealmAuthClient, zr as isResolvedCodeRef } from "./runtime-common-BY5dBG5N.js";
4
+ import { $ as getMatrixUsername, $i as trackRuntimeModuleDependency, $n as CommandContextStamp, Ar as loadCardDef, Bn as DEFAULT_FALLBACK_MODELS, Ci as baseRef, Cn as APP_BOXEL_COMMAND_RESULT_WITH_OUTPUT_MSGTYPE, Cr as isFieldDef, Dn as APP_BOXEL_LLM_MODE, E as cardTypeIcon, En as APP_BOXEL_HAS_CONTINUATION_CONTENT_KEY, Fn as APP_BOXEL_STOP_GENERATING_EVENT_TYPE, Gn as SLIDING_SYNC_TIMEOUT, Gr as makeLogDefinitions, Hi as publishRealm, In as APP_BOXEL_SYSTEM_CARD_EVENT_TYPE, It as SupportedMimeType, Ji as endRuntimeDependencyTrackingSession, K as authorizationMiddleware, Kr as reapplyLogLevels, Ln as APP_BOXEL_WORKSPACE_FAVORITES_EVENT_TYPE, Mn as APP_BOXEL_REASONING_CONTENT_KEY, Nn as APP_BOXEL_RELOAD_BILLING_DATA_KEY, On as APP_BOXEL_MESSAGE_MSGTYPE, Pi as realmURL, Pn as APP_BOXEL_ROOM_SKILLS_EVENT_TYPE, Qr as wrapper_default, Ri as submissionBotUsername, Si as baseRealm, Sn as APP_BOXEL_COMMAND_RESULT_WITH_NO_OUTPUT_MSGTYPE, Sr as isCardInstance, Tn as APP_BOXEL_DEBUG_MESSAGE_EVENT_TYPE, Tr as isFileDefInstance, Ui as unpublishRealm, Un as SLIDING_SYNC_AI_ROOM_LIST_NAME, Wi as Loader, Wn as SLIDING_SYNC_AUTH_ROOM_LIST_NAME, Wr as logger, Xi as snapshotRuntimeDependencies, Zn as testRealmURL, _ as parseBoxelHostCommandSpecifier, _a as Deferred, _i as aiBotUsername, _n as APP_BOXEL_CODE_PATCH_RESULT_MSGTYPE, _r as humanReadable, _t as fetcher, a as hasExecutableExtension, aa as clearFetchCache, ar as basicMappings, b as parseRenderRouteOptions, ba as globalId, bi as baseFileRef, bn as APP_BOXEL_COMMAND_RESULT_EVENT_TYPE, br as isBaseDefInstance, bt as joinDMRoom, ci as EXTRA_TOKENS_PRICING, da as formattedError, di as GetCardsContextName, ea as withRuntimeDependencyTrackingContext, ei as isRealmIndexCardId, gi as SEPARATOR_MARKER, gn as APP_BOXEL_CODE_PATCH_RESULT_EVENT_TYPE, gr as getField, gt as maybeHandleScopedCSSRequest, ha as serializableError, hi as SEARCH_MARKER, hr as getClass$1, ii as CommandContextName, ji as localId, jn as APP_BOXEL_REALM_SERVER_EVENT_MSGTYPE, kn as APP_BOXEL_REALMS_EVENT_TYPE, li as GetCardCollectionContextName, ma as isCardErrorJSONAPI, mn as APP_BOXEL_CODE_PATCH_CORRECTNESS_MSGTYPE, mr as getAncestor, mt as clearInjectedScopedCSS, nr as delay, o as internalKeyFor, oa as require_merge, pa as isCardError, pi as REPLACE_MARKER, pn as APP_BOXEL_ACTIVE_LLM, qi as beginRuntimeDependencyTrackingSession, s as isLocalId, ti as CardContextName, tn as isCardDocumentString, tr as decodeCommandRequest, ua as coerceErrorMessage, ui as GetCardContextName, v as VirtualNetwork, va as ri, vn as APP_BOXEL_CODE_PATCH_RESULT_REL_TYPE, vr as identifyCard, wn as APP_BOXEL_CONTINUATION_OF_CONTENT_KEY, x as serializeRenderRouteOptions, xn as APP_BOXEL_COMMAND_RESULT_REL_TYPE, xr as isCardDef, ya as rri, yn as APP_BOXEL_COMMAND_REQUESTS_KEY, yt as RealmAuthClient, zr as isResolvedCodeRef } from "./runtime-common-BY5dBG5N.js";
5
5
  import { t as require_buffer } from "./buffer--hHpMq5k.js";
6
6
  import { A as ensureTrailingSlash, D as escapeHtmlOutsideCodeBlocks, T as relationshipEntries, b as trimJsonExtension, g as maybeRelativeReference, k as RealmPaths, m as isValidFormat } from "./dompurify-runtime-DnZEeRZb.js";
7
7
  import { t as require_loglevel } from "./loglevel-DTrXZR7m.js";
@@ -109,11 +109,11 @@ import { n as summarize_session_exports, t as SummarizeSessionCommand } from "./
109
109
  import { n as transform_cards_exports } from "./transform-cards-CxxgU3lN.js";
110
110
  import { n as unpublish_realm_exports } from "./unpublish-realm-BuWRI7LD.js";
111
111
  import { n as validate_realm_exports } from "./validate-realm-DzN03sVe.js";
112
- import { c as NewSessionIdPersistenceKey, d as RecentFiles, f as ScrollPositions, g as local_storage_keys_exports, h as clearLocalStorage, l as PlaygroundSelections, m as SpecSelection, o as CurrentRoomIdPersistenceKey, p as SessionLocalStorageKey, t as AiAssistantMessageDrafts, u as RecentCards, v as src_default } from "./local-storage-keys-Do9I1BSV.js";
113
- import { a as registerAuthServiceWorker, i as isServiceWorkerSupported, t as auth_service_worker_registration_exports } from "./auth-service-worker-registration-CGUqW_lr.js";
114
- import { b as auto_attached_card_exports, c as ai_assist_icon_2x_default, f as AiAssistantConversation, g as AiAssistantAttachmentPicker, h as AiAssistantChatInput, l as AiAssistantSkillMenu, m as FocusPill, p as AiAssistantMessage, u as PillMenu, v as card_collection_exports, y as getCardCollection } from "./panel-BXXk_P7h.js";
112
+ import { _ as local_storage_keys_exports, d as RecentCards, f as RecentFiles, g as clearLocalStorage, h as SpecSelection, i as AiAssistantPendingSends, l as NewSessionIdPersistenceKey, m as SessionLocalStorageKey, p as ScrollPositions, s as CurrentRoomIdPersistenceKey, t as AiAssistantMessageDrafts, u as PlaygroundSelections, y as src_default } from "./local-storage-keys-C0jyxDKn.js";
113
+ import { a as registerAuthServiceWorker, i as isServiceWorkerSupported, t as auth_service_worker_registration_exports } from "./auth-service-worker-registration-C3rAs9Yi.js";
114
+ import { b as auto_attached_card_exports, c as ai_assist_icon_2x_default, f as AiAssistantConversation, g as AiAssistantAttachmentPicker, h as AiAssistantChatInput, l as AiAssistantSkillMenu, m as FocusPill, p as AiAssistantMessage, u as PillMenu, v as card_collection_exports, y as getCardCollection } from "./panel-DBvohlmr.js";
115
115
  import { n as getCard, t as card_resource_exports } from "./card-resource-Dww3okhN.js";
116
- import { C as maybe_exports, D as card_type_exports, E as directory_exports, S as module_contents_exports, T as file_tree_from_index_exports, a as CardCatalogModal, b as stack_backgrounds_exports, c as idFromCardOrURL, d as section_pagination_exports, f as card_type_service_exports, g as url_bar_exports, h as normalized_dir_path_exports, i as SearchSheetModes, l as id_from_card_or_url_exports, m as operator_mode_state_service_exports, n as HostModeContent, o as schema_editor_exports, r as SearchSheet, s as run_while_active_exports, t as OperatorModeContainer, u as sections_exports, v as type_summaries_exports, w as inheritance_chain_exports, x as moduleContentsResource, y as type_filter_exports } from "./container-BVdtw4NT.js";
116
+ import { C as maybe_exports, D as card_type_exports, E as directory_exports, S as module_contents_exports, T as file_tree_from_index_exports, a as CardCatalogModal, b as stack_backgrounds_exports, c as idFromCardOrURL, d as section_pagination_exports, f as card_type_service_exports, g as url_bar_exports, h as normalized_dir_path_exports, i as SearchSheetModes, l as id_from_card_or_url_exports, m as operator_mode_state_service_exports, n as HostModeContent, o as schema_editor_exports, r as SearchSheet, s as run_while_active_exports, t as OperatorModeContainer, u as sections_exports, v as type_summaries_exports, w as inheritance_chain_exports, x as moduleContentsResource, y as type_filter_exports } from "./container-DYJ5z0jP.js";
117
117
  import { a as AiAssistantApplyButton, l as parseHtmlContent, o as createMonacoWaiterManager, s as monaco_test_waiter_exports, u as code_diff_exports } from "./aibot-message-CiwsV-h8.js";
118
118
  import { n as element_tracker_exports } from "./element-tracker-BUMcZAYg.js";
119
119
  import { r as search_data_exports } from "./search-data-P8XVAwx9.js";
@@ -128,7 +128,7 @@ import { n as isMatrixError } from "./matrix-utils-NBzMSOVx.js";
128
128
  import { i as types_exports$2 } from "./item-button-CAhhwhRh.js";
129
129
  import { t as LimitedSet } from "./limited-set-D-svSWe7.js";
130
130
  import { n as card_service_exports } from "./card-service-MzTpJFjv.js";
131
- import { n as host_mode_service_exports } from "./host-mode-service-BYjO5JXT.js";
131
+ import { n as host_mode_service_exports } from "./host-mode-service-BPYfmILw.js";
132
132
  import { n as auth_error_guard_exports, r as createAuthErrorGuard, t as authErrorEventMiddleware } from "./auth-error-guard-Bu57SOPB.js";
133
133
  import { a as resetRenderTimerStats, i as render_timer_stub_exports, n as beginTimerBlock, o as scheduleNativeTimeout, r as enableRenderTimerStub, t as appendRenderTimerSummaryToStack } from "./render-timer-stub-DScjY2pq.js";
134
134
  import { t as Mutex } from "./mutex-DY5TTrNH.js";
@@ -136,10 +136,10 @@ import { t as getUniqueValidCommandDefinitions } from "./command-definitions-DMw
136
136
  import "./dist-CWCoBB72.js";
137
137
  import { a as microwait, i as allSettled$1, n as task, o as rAF, r as afterRender, t as shimExternals } from "./externals-C65aJ_7H.js";
138
138
  import { t as BrowserQueue } from "./browser-queue-CCF8kKZN.js";
139
- import { i as realm_exports } from "./realm-oWsFVfdH.js";
139
+ import { i as realm_exports } from "./realm-CxU8jc8l.js";
140
140
  import { n as render_service_exports } from "./render-service-BgpK16we.js";
141
141
  import { i as windowErrorHandler, n as file_def_attributes_extractor_exports, r as errorJsonApiToErrorEntry, t as FileDefAttributesExtractor } from "./file-def-attributes-extractor-o_gQFJIP.js";
142
- import { r as store_exports, t as StoreService } from "./store-BM5pUF94.js";
142
+ import { r as store_exports, t as StoreService } from "./store-CbIxTljQ.js";
143
143
  import { r as query_builder_exports, s as url_exports } from "./query-builder-BN0MSxe9.js";
144
144
  import { n as boxel_formatter_exports } from "./boxel-formatter-DeIpWRU8.js";
145
145
  import { a as friendlyCardType, l as withCardType, n as coerceRenderError, o as normalizeRenderError, r as deriveCardTypeFromDoc, s as render_error_exports, t as RenderCardTypeTracker } from "./render-error-D860psV3.js";
@@ -2455,6 +2455,11 @@ var MessageBuilder = class {
2455
2455
  message.status = this.event.status;
2456
2456
  message.errorMessage = this.errorMessage;
2457
2457
  message.reloadBillingData = shouldReloadBillingData(this.event.content);
2458
+ if (this.event.content.msgtype === "app.boxel.message" || this.event.content.msgtype === "app.boxel.codePatchCorrectness") {
2459
+ message.attachedCardIds = this.attachedCardIds;
2460
+ message.attachedCardsAsFiles = this.attachedCardsAsFiles;
2461
+ message.attachedFiles = this.attachedFiles;
2462
+ }
2458
2463
  let encodedCommandRequests = this.event.content["app.boxel.commandRequests"] ?? [];
2459
2464
  for (let encodedCommandRequest of encodedCommandRequests) {
2460
2465
  let command = message.commands.find((c) => c.commandRequest.id === encodedCommandRequest.id);
@@ -11007,6 +11012,106 @@ var LocalPersistenceService = class extends Service {
11007
11012
  let hasFiles = draft.attachedFiles && draft.attachedFiles.length > 0;
11008
11013
  return !hasMessage && !hasCards && !hasFiles;
11009
11014
  }
11015
+ getPendingSends(roomId) {
11016
+ return this.readPendingSends()[roomId] ?? [];
11017
+ }
11018
+ upsertPendingSend(roomId, entry) {
11019
+ let all = this.readPendingSends();
11020
+ let list = all[roomId] ? [...all[roomId]] : [];
11021
+ let index = list.findIndex((e) => e.clientGeneratedId === entry.clientGeneratedId);
11022
+ if (index >= 0) list[index] = entry;
11023
+ else list.push(entry);
11024
+ all[roomId] = list;
11025
+ this.writePendingSends(all);
11026
+ }
11027
+ updatePendingSendStatus(roomId, clientGeneratedId, update) {
11028
+ let all = this.readPendingSends();
11029
+ let list = all[roomId];
11030
+ if (!list) return;
11031
+ let index = list.findIndex((e) => e.clientGeneratedId === clientGeneratedId);
11032
+ if (index < 0) return;
11033
+ let next = [...list];
11034
+ next[index] = {
11035
+ ...next[index],
11036
+ status: update.status,
11037
+ errorMessage: update.errorMessage
11038
+ };
11039
+ all[roomId] = next;
11040
+ this.writePendingSends(all);
11041
+ }
11042
+ removePendingSend(roomId, clientGeneratedId) {
11043
+ let all = this.readPendingSends();
11044
+ let list = all[roomId];
11045
+ if (!list) return;
11046
+ let next = list.filter((e) => e.clientGeneratedId !== clientGeneratedId);
11047
+ if (next.length === 0) delete all[roomId];
11048
+ else all[roomId] = next;
11049
+ this.writePendingSends(all);
11050
+ }
11051
+ readPendingSends() {
11052
+ let raw = src_default.localStorage.getItem(AiAssistantPendingSends);
11053
+ if (!raw) return {};
11054
+ try {
11055
+ let parsed = JSON.parse(raw);
11056
+ if (!parsed || typeof parsed !== "object") return {};
11057
+ let sanitized = {};
11058
+ for (let [roomId, list] of Object.entries(parsed)) {
11059
+ if (!Array.isArray(list)) continue;
11060
+ let entries = list.map((entry) => this.sanitizePendingSend(entry)).filter((e) => Boolean(e));
11061
+ if (entries.length > 0) sanitized[roomId] = entries;
11062
+ }
11063
+ return sanitized;
11064
+ } catch {
11065
+ src_default.localStorage.removeItem(AiAssistantPendingSends);
11066
+ return {};
11067
+ }
11068
+ }
11069
+ sanitizePendingSend(value) {
11070
+ if (!value || typeof value !== "object") return;
11071
+ let cgi = value.clientGeneratedId;
11072
+ if (typeof cgi !== "string" || cgi.length === 0) return;
11073
+ let body = value.body;
11074
+ let attachedCardIds = value.attachedCardIds;
11075
+ let attachedFiles = value.attachedFiles;
11076
+ let createdAt = Number(value.createdAt);
11077
+ let status = value.status;
11078
+ let errorMessage = value.errorMessage;
11079
+ return {
11080
+ clientGeneratedId: cgi,
11081
+ body: typeof body === "string" ? body : "",
11082
+ attachedCardIds: Array.isArray(attachedCardIds) ? attachedCardIds.filter((id) => typeof id === "string" && id.length > 0) : [],
11083
+ attachedFiles: Array.isArray(attachedFiles) ? attachedFiles.map((file) => this.sanitizePendingFile(file)).filter(Boolean) : [],
11084
+ createdAt: Number.isFinite(createdAt) ? createdAt : 0,
11085
+ status: status === "not_sent" ? "not_sent" : "sending",
11086
+ errorMessage: typeof errorMessage === "string" ? errorMessage : void 0
11087
+ };
11088
+ }
11089
+ sanitizePendingFile(file) {
11090
+ if (!file || typeof file !== "object") return;
11091
+ let sourceUrl = file.sourceUrl;
11092
+ if (typeof sourceUrl !== "string" || sourceUrl.length === 0) return;
11093
+ let name = file.name;
11094
+ let url = file.url;
11095
+ let contentType = file.contentType;
11096
+ let contentHash = file.contentHash;
11097
+ let contentSize = file.contentSize;
11098
+ return {
11099
+ sourceUrl,
11100
+ ...typeof name === "string" ? { name } : {},
11101
+ ...typeof url === "string" ? { url } : {},
11102
+ ...typeof contentType === "string" ? { contentType } : {},
11103
+ ...typeof contentHash === "string" ? { contentHash } : {},
11104
+ ...typeof contentSize === "number" ? { contentSize } : {}
11105
+ };
11106
+ }
11107
+ writePendingSends(all) {
11108
+ let entries = Object.entries(all).filter(([, list]) => list.length > 0);
11109
+ if (entries.length === 0) {
11110
+ src_default.localStorage.removeItem(AiAssistantPendingSends);
11111
+ return;
11112
+ }
11113
+ src_default.localStorage.setItem(AiAssistantPendingSends, JSON.stringify(Object.fromEntries(entries)));
11114
+ }
11010
11115
  };
11011
11116
  //#endregion
11012
11117
  //#region app/services/logger-service.ts
@@ -12830,12 +12935,14 @@ var MatrixService = class extends Service {
12830
12935
  this.currentUserEventReadReceipts = new TrackedMap();
12831
12936
  this.aiRoomIds = /* @__PURE__ */ new Set();
12832
12937
  this.restoredDraftRooms = /* @__PURE__ */ new Set();
12938
+ this.hydratedPendingSendRooms = /* @__PURE__ */ new Set();
12833
12939
  this.#_isLoadingMoreAIRooms = (initializeDeferredDecorator(this, "_isLoadingMoreAIRooms"), void 0);
12834
12940
  this.initialSyncCompleted = false;
12835
12941
  this.initialSyncCompletedDeferred = new Deferred();
12836
12942
  this.roomsWaitingForSync = /* @__PURE__ */ new Map();
12837
12943
  this.#_systemCard = (initializeDeferredDecorator(this, "_systemCard"), void 0);
12838
12944
  this.#_systemCardLoadFailed = (initializeDeferredDecorator(this, "_systemCardLoadFailed"), void 0);
12945
+ this._systemCardWasLost = false;
12839
12946
  this.cardAPIModule = importResource(this, () => "https://cardstack.com/base/card-api");
12840
12947
  this.fileAPIModule = importResource(this, () => "https://cardstack.com/base/file-api");
12841
12948
  this.loadState = buildTask(() => ({
@@ -12936,6 +13043,16 @@ var MatrixService = class extends Service {
12936
13043
  }
12937
13044
  }
12938
13045
  }), null, "loadMoreAIRoomsTask", "drop");
13046
+ this.onSystemCardInvalidated = async (invalidatedId) => {
13047
+ let wasUserChoice = this._userChoiceId === invalidatedId;
13048
+ this._systemCardInvalidationUnsub?.();
13049
+ this._systemCardInvalidationUnsub = void 0;
13050
+ this.store.dropReference(this._systemCard?.id);
13051
+ this._systemCard = void 0;
13052
+ this._systemCardWasLost = true;
13053
+ await this.setSystemCard(this._userChoiceId);
13054
+ if (wasUserChoice) await this.setUserSystemCard(void 0);
13055
+ };
12939
13056
  this.reset.register(this);
12940
13057
  this.setLoggerLevelFromEnvironment();
12941
13058
  this.setAgentId();
@@ -13449,6 +13566,67 @@ var MatrixService = class extends Service {
13449
13566
  async fetchMatrixHostedFile(matrixFileUrl) {
13450
13567
  return await fetch(matrixFileUrl, { headers: { Authorization: `Bearer ${this.client.getAccessToken()}` } });
13451
13568
  }
13569
+ async addOptimisticEvent(roomId, content) {
13570
+ let userId = this.userId;
13571
+ if (!userId) throw new Error("bug: cannot add optimistic event without a userId");
13572
+ let originServerTs = this.resolveOptimisticTimestamp(roomId);
13573
+ let event = {
13574
+ event_id: `local-${content.clientGeneratedId}`,
13575
+ room_id: roomId,
13576
+ sender: userId,
13577
+ type: "m.room.message",
13578
+ origin_server_ts: originServerTs,
13579
+ status: "sending",
13580
+ content: {
13581
+ msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
13582
+ body: content.body,
13583
+ format: "org.matrix.custom.html",
13584
+ clientGeneratedId: content.clientGeneratedId,
13585
+ data: {
13586
+ attachedCards: content.attachedCardIds.map((id) => ({
13587
+ sourceUrl: id,
13588
+ name: id.split("/").pop() ?? id,
13589
+ contentType: "application/json"
13590
+ })),
13591
+ attachedFiles: content.attachedFiles,
13592
+ context: {
13593
+ tools: [],
13594
+ functions: []
13595
+ }
13596
+ }
13597
+ }
13598
+ };
13599
+ await this.addRoomEvent(event);
13600
+ return originServerTs;
13601
+ }
13602
+ resolveOptimisticTimestamp(roomId) {
13603
+ let existingEvents = this.getRoomData(roomId)?.events ?? [];
13604
+ let maxTs = 0;
13605
+ for (let e of existingEvents) {
13606
+ let ts = e.origin_server_ts;
13607
+ if (typeof ts === "number" && ts > maxTs) maxTs = ts;
13608
+ }
13609
+ if (maxTs > 0) return maxTs + 1;
13610
+ let roomLastActive = this.client.getRoom?.(roomId)?.getLastActiveTimestamp?.();
13611
+ if (typeof roomLastActive === "number" && roomLastActive > 0) return roomLastActive + 1;
13612
+ return Date.now();
13613
+ }
13614
+ patchPendingSend(roomId, clientGeneratedId, patch) {
13615
+ let syntheticEventId = `local-${clientGeneratedId}`;
13616
+ let existing = this.getRoomData(roomId)?.events.find((e) => e.event_id === syntheticEventId);
13617
+ if (existing) {
13618
+ let nextContent = { ...existing.content ?? {} };
13619
+ if (patch.status === "not_sent") nextContent.errorMessage = patch.errorMessage ?? "Failed to send";
13620
+ else delete nextContent.errorMessage;
13621
+ let next = {
13622
+ ...existing,
13623
+ status: patch.status,
13624
+ content: nextContent
13625
+ };
13626
+ this.addRoomEvent(next, syntheticEventId);
13627
+ }
13628
+ this.localPersistenceService.updatePendingSendStatus(roomId, clientGeneratedId, patch);
13629
+ }
13452
13630
  async sendMessage(roomId, body, attachedCards = [], attachedFiles = [], clientGeneratedId = v4(), context) {
13453
13631
  let tools = [];
13454
13632
  let openCardIds = context?.openCardIds ?? [];
@@ -13575,10 +13753,15 @@ var MatrixService = class extends Service {
13575
13753
  this.filesToSend.clear();
13576
13754
  this.currentUserEventReadReceipts.clear();
13577
13755
  this.restoredDraftRooms = /* @__PURE__ */ new Set();
13756
+ this.hydratedPendingSendRooms = /* @__PURE__ */ new Set();
13578
13757
  this.aiRoomIds.clear();
13579
13758
  this.initialSyncCompleted = false;
13580
13759
  this.initialSyncCompletedDeferred = new Deferred();
13581
13760
  this.roomsWaitingForSync.clear();
13761
+ this._systemCardInvalidationUnsub?.();
13762
+ this._systemCardInvalidationUnsub = void 0;
13763
+ this._userChoiceId = void 0;
13764
+ this._systemCardWasLost = false;
13582
13765
  this._systemCard = void 0;
13583
13766
  this._systemCardLoadFailed = false;
13584
13767
  this.startedAtTs = -1;
@@ -13875,7 +14058,16 @@ var MatrixService = class extends Service {
13875
14058
  this.processDecryptedEventFromAuthRoom(event);
13876
14059
  return;
13877
14060
  }
14061
+ let cgi = event.content?.clientGeneratedId;
14062
+ if (cgi && !oldEventId) {
14063
+ let existing = this.getRoomData(roomId)?.events.find((e) => {
14064
+ return e.content?.clientGeneratedId === cgi && typeof e.event_id === "string" && e.event_id.startsWith("local-");
14065
+ });
14066
+ if (existing) oldEventId = existing.event_id;
14067
+ }
13878
14068
  await this.addRoomEvent(event, oldEventId);
14069
+ let isTerminalSent = event.status === null || event.status === void 0 || event.status === "sent";
14070
+ if (cgi && isTerminalSent && event.sender === this.userId) this.localPersistenceService.removePendingSend(roomId, cgi);
13879
14071
  if (event.type === "m.room.message" && event.content?.["app.boxel.commandRequests"]?.length && event.content?.isStreamingFinished) this.commandService.queueEventForCommandProcessing(event);
13880
14072
  if (event.type === "m.room.message" && event.content?.body && event.content?.isStreamingFinished) {
13881
14073
  let body = event.content.body;
@@ -13925,6 +14117,7 @@ var MatrixService = class extends Service {
13925
14117
  return this._systemCardLoadFailed;
13926
14118
  }
13927
14119
  async setSystemCard(userChoiceId) {
14120
+ this._userChoiceId = userChoiceId;
13928
14121
  let envDefaultId = config.defaultSystemCardId;
13929
14122
  if (userChoiceId && userChoiceId === this._systemCard?.id) {
13930
14123
  this._systemCardLoadFailed = false;
@@ -13948,10 +14141,17 @@ var MatrixService = class extends Service {
13948
14141
  envDefaultFailed = true;
13949
14142
  } else loadedCard = result;
13950
14143
  }
13951
- this._systemCardLoadFailed = envDefaultFailed || userChoiceFailed && !envDefaultId;
14144
+ if (loadedCard) this._systemCardWasLost = false;
14145
+ this._systemCardLoadFailed = envDefaultFailed || userChoiceFailed && !envDefaultId || this._systemCardWasLost && !loadedCard;
13952
14146
  if (loadedCard?.id !== this._systemCard?.id) {
14147
+ this._systemCardInvalidationUnsub?.();
14148
+ this._systemCardInvalidationUnsub = void 0;
13953
14149
  this.store.dropReference(this._systemCard?.id);
13954
- if (loadedCard) this.store.addReference(loadedCard.id);
14150
+ if (loadedCard) {
14151
+ this.store.addReference(loadedCard.id);
14152
+ let subscribedId = loadedCard.id;
14153
+ this._systemCardInvalidationUnsub = this.store.subscribeToCardInvalidation(subscribedId, () => this.onSystemCardInvalidated(subscribedId));
14154
+ }
13955
14155
  this._systemCard = loadedCard;
13956
14156
  }
13957
14157
  }
@@ -13980,6 +14180,75 @@ var MatrixService = class extends Service {
13980
14180
  if (fileDefs.length > 0) this.filesToSend.set(roomId, fileDefs);
13981
14181
  }
13982
14182
  }
14183
+ ensurePendingSendsHydrated(roomId) {
14184
+ if (this.hydratedPendingSendRooms.has(roomId)) return;
14185
+ let userId = this.userId;
14186
+ if (!userId) return;
14187
+ let entries = this.localPersistenceService.getPendingSends(roomId);
14188
+ if (entries.length === 0) {
14189
+ this.hydratedPendingSendRooms.add(roomId);
14190
+ return;
14191
+ }
14192
+ this.hydratedPendingSendRooms.add(roomId);
14193
+ for (let entry of entries) {
14194
+ let effectiveStatus = entry.status === "sending" ? "not_sent" : entry.status;
14195
+ let effectiveErrorMessage = effectiveStatus === "not_sent" ? entry.errorMessage ?? "Send interrupted — retry" : entry.errorMessage;
14196
+ if (effectiveStatus !== entry.status) this.localPersistenceService.updatePendingSendStatus(roomId, entry.clientGeneratedId, {
14197
+ status: effectiveStatus,
14198
+ errorMessage: effectiveErrorMessage
14199
+ });
14200
+ let event = {
14201
+ event_id: `local-${entry.clientGeneratedId}`,
14202
+ room_id: roomId,
14203
+ sender: userId,
14204
+ type: "m.room.message",
14205
+ origin_server_ts: entry.createdAt || Date.now(),
14206
+ status: effectiveStatus,
14207
+ content: {
14208
+ msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
14209
+ body: entry.body,
14210
+ format: "org.matrix.custom.html",
14211
+ clientGeneratedId: entry.clientGeneratedId,
14212
+ ...effectiveStatus === "not_sent" && effectiveErrorMessage ? { errorMessage: effectiveErrorMessage } : {},
14213
+ data: {
14214
+ attachedCards: entry.attachedCardIds.map((id) => ({
14215
+ sourceUrl: id,
14216
+ name: id.split("/").pop() ?? id,
14217
+ contentType: "application/json"
14218
+ })),
14219
+ attachedFiles: entry.attachedFiles,
14220
+ context: {
14221
+ tools: [],
14222
+ functions: []
14223
+ }
14224
+ }
14225
+ }
14226
+ };
14227
+ this.addRoomEvent(event);
14228
+ }
14229
+ }
14230
+ persistOptimisticSend(roomId, entry) {
14231
+ this.localPersistenceService.upsertPendingSend(roomId, {
14232
+ clientGeneratedId: entry.clientGeneratedId,
14233
+ body: entry.body,
14234
+ attachedCardIds: entry.attachedCardIds,
14235
+ attachedFiles: entry.attachedFiles.map(serializeFileForPersistence),
14236
+ createdAt: entry.createdAt,
14237
+ status: "sending"
14238
+ });
14239
+ }
14240
+ findPendingMatrixEventStatus(roomId, clientGeneratedId) {
14241
+ let room = this.client.getRoom(roomId);
14242
+ if (!room) return;
14243
+ let matches = (room.getPendingEvents?.() ?? []).filter((e) => {
14244
+ return e.getContent()?.clientGeneratedId === clientGeneratedId;
14245
+ });
14246
+ if (matches.length > 0) return matches[matches.length - 1].status ?? null;
14247
+ let live = room.getLiveTimeline().getEvents().filter((e) => {
14248
+ return e.getContent()?.clientGeneratedId === clientGeneratedId;
14249
+ });
14250
+ if (live.length > 0) return live[live.length - 1].status ?? null;
14251
+ }
13983
14252
  async getPromptParts(roomId) {
13984
14253
  const roomResource = this.roomResourcesCache.get(roomId);
13985
14254
  if (!roomResource) throw new Error(`Room ${roomId} not found`);
@@ -14002,6 +14271,16 @@ async function getStorage() {
14002
14271
  }
14003
14272
  return storage;
14004
14273
  }
14274
+ function serializeFileForPersistence(f) {
14275
+ return {
14276
+ sourceUrl: f.sourceUrl,
14277
+ ...f.name ? { name: f.name } : {},
14278
+ ...f.url ? { url: f.url } : {},
14279
+ ...f.contentType ? { contentType: f.contentType } : {},
14280
+ ...f.contentHash ? { contentHash: f.contentHash } : {},
14281
+ ...typeof f.contentSize === "number" ? { contentSize: f.contentSize } : {}
14282
+ };
14283
+ }
14005
14284
  //#endregion
14006
14285
  //#region app/services/message-service.ts
14007
14286
  var message_service_exports = /* @__PURE__ */ __exportAll({ default: () => MessageService });
@@ -19476,12 +19755,16 @@ var Card = class extends Route {
19476
19755
  if (!isTesting()) await this.billingService.initializeSubscriptionData();
19477
19756
  this.matrixService.loginToRealms();
19478
19757
  let pathOrCardPath = cardPath ?? params.path;
19479
- let cardUrl = pathOrCardPath ? await this.getCardUrl(pathOrCardPath) : void 0;
19758
+ let resolvedItem = pathOrCardPath ? await this.resolvePathToStackItem(pathOrCardPath) : void 0;
19480
19759
  let stacks = [];
19481
- if (cardUrl) stacks = [[{
19482
- id: cardUrl,
19483
- format: "isolated"
19484
- }]];
19760
+ if (resolvedItem) {
19761
+ let stackItem = {
19762
+ id: resolvedItem.id,
19763
+ format: "isolated"
19764
+ };
19765
+ if (resolvedItem.type === "file") stackItem.type = "file";
19766
+ stacks = [[stackItem]];
19767
+ }
19485
19768
  let operatorModeStateObject = operatorModeState ? JSON.parse(operatorModeState) : void 0;
19486
19769
  if (!operatorModeStateObject || operatorModeStateObject.submode === Submodes.Interact && operatorModeStateObject.stacks.length === 0 && operatorModeStateObject.workspaceChooserOpened !== true) {
19487
19770
  let routeName = params.path ? "index" : "index-root";
@@ -19517,7 +19800,7 @@ var Card = class extends Route {
19517
19800
  let headCardId = stackItems.length > 0 ? stackItems[stackItems.length - 1] : primaryCardId;
19518
19801
  await this.hostModeService.updateHeadTemplate(headCardId);
19519
19802
  }
19520
- async getCardUrl(cardPath) {
19803
+ async resolvePathToStackItem(cardPath) {
19521
19804
  let cardUrl;
19522
19805
  if (hostsOwnAssets) {
19523
19806
  let realmUrl = this.realmServer.availableRealmIdentifiers.find((realmUrl) => {
@@ -19533,11 +19816,16 @@ var Card = class extends Route {
19533
19816
  });
19534
19817
  cardUrl = new URL(`/${cardPath}`, realmUrl ?? this.realm.defaultReadableRealm.path).href;
19535
19818
  } else cardUrl = new URL(cardPath, src_default.location.origin).href;
19536
- let canonicalCardUrl;
19537
- canonicalCardUrl = (await this.store.get(cardUrl))?.id;
19538
- if (!canonicalCardUrl) alert(`Card not found: ${cardUrl}`);
19539
- cardUrl = canonicalCardUrl;
19540
- return cardUrl;
19819
+ let resolved = await this.store.get(cardUrl);
19820
+ let canonicalUrl = resolved?.id;
19821
+ if (!canonicalUrl) {
19822
+ alert(`Card not found: ${cardUrl}`);
19823
+ return;
19824
+ }
19825
+ return {
19826
+ id: canonicalUrl,
19827
+ type: isFileDefInstance(resolved) ? "file" : "card"
19828
+ };
19541
19829
  }
19542
19830
  };
19543
19831
  //#endregion
@@ -3,10 +3,10 @@ import { Si as baseRealm, Xn as testRealmInfo, Zn as testRealmURL } from "./runt
3
3
  import { t as getOwner } from "./owner-CqZ4C0QN.js";
4
4
  import { t as ApplyMarkdownEditCommand } from "./apply-markdown-edit-iZLDYjK5.js";
5
5
  import { A as settled } from "./dist-CWCoBB72.js";
6
- import { t as RealmService } from "./realm-oWsFVfdH.js";
6
+ import { t as RealmService } from "./realm-CxU8jc8l.js";
7
7
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
8
8
  import { r as getService } from "./dist-5hbdxMR8.js";
9
- import { A as setupIntegrationTestRealm, M as setupOnSave, N as setupRealmCacheTeardown, O as setupCardLogs, P as setupRealmServerEndpoints, j as setupLocalIndexing, q as withCachedRealmSetup, rt as setupRenderingTest, t as setupMockMatrix, w as realmConfigCardJSON } from "./mock-matrix-CD6YHaHR.js";
9
+ import { A as setupIntegrationTestRealm, M as setupOnSave, N as setupRealmCacheTeardown, O as setupCardLogs, P as setupRealmServerEndpoints, j as setupLocalIndexing, q as withCachedRealmSetup, rt as setupRenderingTest, t as setupMockMatrix, w as realmConfigCardJSON } from "./mock-matrix-Bkfl9ACG.js";
10
10
  //#region tests/integration/commands/apply-markdown-edit-test.gts
11
11
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
12
12
  var StubRealmService = class extends RealmService {
@@ -3,7 +3,7 @@ import { gi as SEPARATOR_MARKER, hi as SEARCH_MARKER, pi as REPLACE_MARKER } fro
3
3
  import { t as ApplySearchReplaceBlockCommand } from "./apply-search-replace-block-DM21CPYG.js";
4
4
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
5
5
  import { r as getService } from "./dist-5hbdxMR8.js";
6
- import { rt as setupRenderingTest } from "./mock-matrix-CD6YHaHR.js";
6
+ import { rt as setupRenderingTest } from "./mock-matrix-Bkfl9ACG.js";
7
7
  //#region tests/integration/commands/apply-search-replace-block-test.gts
8
8
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
9
9
  (0, import_qunit.module)("Integration | commands | apply-search-replace-block", function(hooks) {
@@ -1,6 +1,6 @@
1
1
  import { r as __exportAll } from "./chunk-CGdGNDIi.js";
2
2
  import { t as isTesting } from "./runtime-BHka3dD9.js";
3
- import { p as SessionLocalStorageKey, v as src_default } from "./local-storage-keys-Do9I1BSV.js";
3
+ import { m as SessionLocalStorageKey, y as src_default } from "./local-storage-keys-C0jyxDKn.js";
4
4
  //#region app/utils/auth-service-worker-registration.ts
5
5
  var auth_service_worker_registration_exports = /* @__PURE__ */ __exportAll({
6
6
  clearServiceWorkerTokens: () => clearServiceWorkerTokens,
@@ -1,8 +1,8 @@
1
1
  import { s as __toESM } from "./chunk-CGdGNDIi.js";
2
- import { p as SessionLocalStorageKey, v as src_default } from "./local-storage-keys-Do9I1BSV.js";
3
- import { r as createTokenRequestHandler } from "./auth-service-worker-registration-CGUqW_lr.js";
2
+ import { m as SessionLocalStorageKey, y as src_default } from "./local-storage-keys-C0jyxDKn.js";
3
+ import { r as createTokenRequestHandler } from "./auth-service-worker-registration-C3rAs9Yi.js";
4
4
  import { t as require_qunit } from "./qunit-DZc8vxH_.js";
5
- import { t as setupWindowMock } from "./test-support-BfonQA4V.js";
5
+ import { t as setupWindowMock } from "./test-support-CCargU9V.js";
6
6
  //#region tests/unit/auth-service-worker-test.ts
7
7
  var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
8
8
  function createServiceWorkerEnv(opts = {}) {