@cardstack/boxel-cli 0.3.2-unstable.58 → 0.3.2-unstable.60

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 (921) hide show
  1. package/api.ts +3 -3
  2. package/bundled-realms/base/command.gts +73 -0
  3. package/bundled-test-harness/assets/adapter-TgpmkD23.js +2 -0
  4. package/bundled-test-harness/assets/add-field-to-card-definition-command-test-BVVD6_Wq.js +111 -0
  5. package/bundled-test-harness/assets/add-workspace-test-BvvYJ2Fk.js +71 -0
  6. package/bundled-test-harness/assets/ai-assistant-Ba_RBqf6.js +129 -0
  7. package/bundled-test-harness/assets/ai-assistant-panel-service-test-DK87n1hh.js +95 -0
  8. package/bundled-test-harness/assets/ai-assistant-test-CZATBlJS.js +2137 -0
  9. package/bundled-test-harness/assets/ai-function-generation-test-e58MHziu.js +996 -0
  10. package/bundled-test-harness/assets/ai-module-creation-test-CEieL3Fa.js +150 -0
  11. package/bundled-test-harness/assets/aibot-message-DhTbAqNk.js +1185 -0
  12. package/bundled-test-harness/assets/amd-transpile-test-CSk5COu7.js +425 -0
  13. package/bundled-test-harness/assets/app-Btfy4HWI.js +21464 -0
  14. package/bundled-test-harness/assets/apply-boxel-formatting-test-BHTP9NBp.js +134 -0
  15. package/bundled-test-harness/assets/apply-markdown-edit-test-BETCndeK.js +230 -0
  16. package/bundled-test-harness/assets/apply-search-replace-block-test-KNolar0-.js +630 -0
  17. package/bundled-test-harness/assets/arc-CA8yZ0zo.js +199 -0
  18. package/bundled-test-harness/assets/architecture-7EHR7CIX-C5JFMGdb.js +3 -0
  19. package/bundled-test-harness/assets/architectureDiagram-3BPJPVTR-CmVPjKgm.js +7400 -0
  20. package/bundled-test-harness/assets/auth-error-guard-test-D0rKESg_.js +30 -0
  21. package/bundled-test-harness/assets/auth-service-worker-test-DGg_vbKo.js +538 -0
  22. package/bundled-test-harness/assets/authed-fetch-test-CHF3eh_H.js +75 -0
  23. package/bundled-test-harness/assets/avif-image-def-test-p9tiyh4_.js +186 -0
  24. package/bundled-test-harness/assets/base-realm-Chjzrp6m.js +2 -0
  25. package/bundled-test-harness/assets/base-realm-DpSTsZxD.js +140 -0
  26. package/bundled-test-harness/assets/basic-test-D7qEz4hw.js +128 -0
  27. package/bundled-test-harness/assets/bfm-card-references-test-D-m1YnL8.js +577 -0
  28. package/bundled-test-harness/assets/binary-upload-dedupe-test-8RKK73EG.js +308 -0
  29. package/bundled-test-harness/assets/blockDiagram-GPEHLZMM-BdVFTa2C.js +4355 -0
  30. package/bundled-test-harness/assets/bot-registration-test-9zYny2wR.js +99 -0
  31. package/bundled-test-harness/assets/box-test-0T92xi3A.js +51 -0
  32. package/bundled-test-harness/assets/brand-guide-attachments-test-5ZtPn4cC.js +87 -0
  33. package/bundled-test-harness/assets/brand-guide-custom-css-test-CKKSgKyp.js +135 -0
  34. package/bundled-test-harness/assets/brand-logo-mark-field-test-nlNNQ3rw.js +87 -0
  35. package/bundled-test-harness/assets/broken-link-template-test-BGIExVof.js +345 -0
  36. package/bundled-test-harness/assets/browser-index-BaR-gTqG.js +3 -0
  37. package/bundled-test-harness/assets/browser-index-G4NKYBAj.js +8802 -0
  38. package/bundled-test-harness/assets/c4Diagram-AAUBKEIU-DyugX7zz.js +3764 -0
  39. package/bundled-test-harness/assets/cached-fetch-test-MtqvDphJ.js +93 -0
  40. package/bundled-test-harness/assets/can-read-realm-test-BZmwIOqS.js +58 -0
  41. package/bundled-test-harness/assets/cancel-indexing-job-test-BsQtQbDu.js +71 -0
  42. package/bundled-test-harness/assets/card-api-test-BxQ8f0-c.js +196 -0
  43. package/bundled-test-harness/assets/card-basics-test-B-uBZ8o4.js +4895 -0
  44. package/bundled-test-harness/assets/card-catalog-test-YmwmyIKf.js +377 -0
  45. package/bundled-test-harness/assets/card-copy-test-LoqdH1CQ.js +777 -0
  46. package/bundled-test-harness/assets/card-def-field-def-relationships-test-DvtBA1jv.js +560 -0
  47. package/bundled-test-harness/assets/card-def-menu-items-test-DHnd0LuM.js +182 -0
  48. package/bundled-test-harness/assets/card-delete-test-vKF0Jf1X.js +412 -0
  49. package/bundled-test-harness/assets/card-directory-name-test-CbCuPwSz.js +71 -0
  50. package/bundled-test-harness/assets/card-playground-test-CRIP3b5-.js +1497 -0
  51. package/bundled-test-harness/assets/card-prerender-ClYlSOBU.js +12661 -0
  52. package/bundled-test-harness/assets/card-search-adorn-test-Mggk5ZgY.js +128 -0
  53. package/bundled-test-harness/assets/card-search-query-builder-test-Cdl12s50.js +88 -0
  54. package/bundled-test-harness/assets/card-search-selection-menu-test-CtuCCLoB.js +108 -0
  55. package/bundled-test-harness/assets/channel-BKUMepxs.js +8 -0
  56. package/bundled-test-harness/assets/check-correctness-test-DBh8DT_f.js +252 -0
  57. package/bundled-test-harness/assets/chunk-2J33WTMH-ClrRoNQU.js +31 -0
  58. package/bundled-test-harness/assets/chunk-3OPIFGDE-g_0Oh8jN.js +5548 -0
  59. package/bundled-test-harness/assets/chunk-4BX2VUAB-D2LCc7Y9.js +11 -0
  60. package/bundled-test-harness/assets/chunk-4EGX6M5U-D8vRS5IG.js +44 -0
  61. package/bundled-test-harness/assets/chunk-55IACEB6-C5j4VAmb.js +10 -0
  62. package/bundled-test-harness/assets/chunk-5DO6E6H7-CPb3jsP0.js +27 -0
  63. package/bundled-test-harness/assets/chunk-5ZQYHXKU-BlVb7vgG.js +1767 -0
  64. package/bundled-test-harness/assets/chunk-727SXJPM-C_NVCDMC.js +3877 -0
  65. package/bundled-test-harness/assets/chunk-AQP2D5EJ-CpwrMix_.js +2622 -0
  66. package/bundled-test-harness/assets/chunk-BR22UD5L-AF0NWdjT.js +85 -0
  67. package/bundled-test-harness/assets/chunk-BSJP7CBP-Dgun5vYb.js +114 -0
  68. package/bundled-test-harness/assets/chunk-CSCIHK7Q-D7nFiAZ-.js +6144 -0
  69. package/bundled-test-harness/assets/chunk-FHYWG6QK-2nuXS9PL.js +27 -0
  70. package/bundled-test-harness/assets/chunk-FMBD7UC4-O-Y8VK1S.js +20 -0
  71. package/bundled-test-harness/assets/chunk-KSCS5N6A-Du5-DprU.js +871 -0
  72. package/bundled-test-harness/assets/chunk-L5ZTLDWV-C2lDtkix.js +43 -0
  73. package/bundled-test-harness/assets/chunk-LZXEDZCA-qAMsMZkF.js +65 -0
  74. package/bundled-test-harness/assets/chunk-MPE355IW-DcT_60Oq.js +27 -0
  75. package/bundled-test-harness/assets/chunk-MZUSXYTE-BsH_YmnC.js +36 -0
  76. package/bundled-test-harness/assets/chunk-N66VUXT2-DMyMHgoS.js +70 -0
  77. package/bundled-test-harness/assets/chunk-ND2GUHAM-DO1Znn8O.js +93 -0
  78. package/bundled-test-harness/assets/chunk-NZK2D7GU-B1YWBxHm.js +89 -0
  79. package/bundled-test-harness/assets/chunk-O5CBEL6O-CZVSBsRq.js +2395 -0
  80. package/bundled-test-harness/assets/chunk-PUPMXCY4-DzOK-Vbt.js +27 -0
  81. package/bundled-test-harness/assets/chunk-QZHKN3VN-DJFnRn99.js +20 -0
  82. package/bundled-test-harness/assets/chunk-UIBZB4QT-5KIxBxjk.js +27 -0
  83. package/bundled-test-harness/assets/chunk-WCWK7LTN-BsQwhliq.js +36 -0
  84. package/bundled-test-harness/assets/chunk-WU5MYG2G-DUVb5MAo.js +12 -0
  85. package/bundled-test-harness/assets/chunk-XPW4576I-DLaJYAOU.js +2341 -0
  86. package/bundled-test-harness/assets/classDiagram-4FO5ZUOK-DjP2uozG.js +31 -0
  87. package/bundled-test-harness/assets/classDiagram-v2-Q7XG4LA2-Dt6ps5uz.js +31 -0
  88. package/bundled-test-harness/assets/code-equality-assertion-BBezFT13.js +474 -0
  89. package/bundled-test-harness/assets/code-patches-test-DzoQGARM.js +1128 -0
  90. package/bundled-test-harness/assets/code-patching-test-D8r-pJ5w.js +114 -0
  91. package/bundled-test-harness/assets/code-ref-test-DU3HChNz.js +138 -0
  92. package/bundled-test-harness/assets/code-semantics-service-test-DArUotKy.js +65 -0
  93. package/bundled-test-harness/assets/code-submode-test-h5wWKsz2.js +1762 -0
  94. package/bundled-test-harness/assets/codeblocks-test-FbuwTy5v.js +492 -0
  95. package/bundled-test-harness/assets/codemirror-context-DVlC9C78.js +2 -0
  96. package/bundled-test-harness/assets/codemirror-editor-test-JDT9uwqM.js +1176 -0
  97. package/bundled-test-harness/assets/color-field-test-BssRlQAX.js +213 -0
  98. package/bundled-test-harness/assets/command-definitions-test-J21kOxBs.js +72 -0
  99. package/bundled-test-harness/assets/commands-DAo0DgCX.js +1379 -0
  100. package/bundled-test-harness/assets/commands-calling-test-C3deVvv_.js +200 -0
  101. package/bundled-test-harness/assets/commands-test--0zViqs2.js +1041 -0
  102. package/bundled-test-harness/assets/commands-test-BwNn2npL.js +1145 -0
  103. package/bundled-test-harness/assets/computed-test-BD_KrZmc.js +882 -0
  104. package/bundled-test-harness/assets/container-C8gu0I0Q.js +14605 -0
  105. package/bundled-test-harness/assets/convert-to-class-name-test-CX21VRzM.js +17 -0
  106. package/bundled-test-harness/assets/copy-and-edit-test-BUy_o8XJ.js +291 -0
  107. package/bundled-test-harness/assets/copy-card-test-LWbugEPe.js +156 -0
  108. package/bundled-test-harness/assets/copy-file-to-realm-test-BS25EUGV.js +99 -0
  109. package/bundled-test-harness/assets/copy-source-test-Dh33cqM8.js +56 -0
  110. package/bundled-test-harness/assets/cose-bilkent-S5V4N54A-CjAFDdpS.js +4275 -0
  111. package/bundled-test-harness/assets/create-file-test-DOc3YYij.js +963 -0
  112. package/bundled-test-harness/assets/create-file-test-DgUya7-i.js +397 -0
  113. package/bundled-test-harness/assets/create-listing-modal-test-DZxZBYS7.js +194 -0
  114. package/bundled-test-harness/assets/create-listing-pr-request-Aw0ms76l.js +64 -0
  115. package/bundled-test-harness/assets/create-listing-pr-request-test-CFvqkgky.js +117 -0
  116. package/bundled-test-harness/assets/create-spec-test-BTRt8oe8.js +239 -0
  117. package/bundled-test-harness/assets/csv-file-def-test-BVffg8wL.js +101 -0
  118. package/bundled-test-harness/assets/dagre-BM42HDAG-GoRrN65x.js +606 -0
  119. package/bundled-test-harness/assets/dagre-ByxOOmYM.js +4195 -0
  120. package/bundled-test-harness/assets/date-time-fields-test-BEcfCqgB.js +322 -0
  121. package/bundled-test-harness/assets/debug-message-test-CAxbe6x2.js +119 -0
  122. package/bundled-test-harness/assets/diagram-2AECGRRQ-B6-pvp9H.js +279 -0
  123. package/bundled-test-harness/assets/diagram-5GNKFQAL-C9M7hXIc.js +142 -0
  124. package/bundled-test-harness/assets/diagram-KO2AKTUF-BNJvCLGK.js +551 -0
  125. package/bundled-test-harness/assets/diagram-LMA3HP47-hlJyTtqP.js +184 -0
  126. package/bundled-test-harness/assets/diagram-OG6HWLK6-BvPoB3IH.js +857 -0
  127. package/bundled-test-harness/assets/diffing-test-De9Ev_Fr.js +210 -0
  128. package/bundled-test-harness/assets/dist-BsEojs3T.js +232 -0
  129. package/bundled-test-harness/assets/dist-CY3T64Hs.js +105 -0
  130. package/bundled-test-harness/assets/dist-q2xz8RMj.js +2 -0
  131. package/bundled-test-harness/assets/editor-test-DOI_TvWQ.js +551 -0
  132. package/bundled-test-harness/assets/editor.main-CpuM6HrX.js +43566 -0
  133. package/bundled-test-harness/assets/editor.main-DkMgS1qm.js +3 -0
  134. package/bundled-test-harness/assets/email-field-test-t-80Z94b.js +74 -0
  135. package/bundled-test-harness/assets/enum-field-test-DVp-2pip.js +909 -0
  136. package/bundled-test-harness/assets/erDiagram-TEJ5UH35-CYniRkua.js +2041 -0
  137. package/bundled-test-harness/assets/error-display-test-IuRxKyLz.js +343 -0
  138. package/bundled-test-harness/assets/evaluate-module-test-DdnfbFp-.js +66 -0
  139. package/bundled-test-harness/assets/eventmodeling-FCH6USID-BO089-Cs.js +3 -0
  140. package/bundled-test-harness/assets/execute-atomic-operations-test-CgbvrBlu.js +75 -0
  141. package/bundled-test-harness/assets/externals-5atxeNU4.js +5533 -0
  142. package/bundled-test-harness/assets/extract-css-variables-test-Cii-CYfc.js +169 -0
  143. package/bundled-test-harness/assets/fallback-banner-test-CUUd-Wuu.js +227 -0
  144. package/bundled-test-harness/assets/fallback-banner-test-D4NWyahM.js +53 -0
  145. package/bundled-test-harness/assets/fallback-models-test-2MJ1jAs8.js +163 -0
  146. package/bundled-test-harness/assets/fetch-card-json-test-Cruqsq6S.js +63 -0
  147. package/bundled-test-harness/assets/fetcher-test-CkHlbTzz.js +85 -0
  148. package/bundled-test-harness/assets/field-configuration-test-CqwsGNib.js +535 -0
  149. package/bundled-test-harness/assets/field-markdown-domain-test-DPjz8i4Y.js +615 -0
  150. package/bundled-test-harness/assets/field-markdown-primitives-test-Dw07UtT7.js +362 -0
  151. package/bundled-test-harness/assets/field-markdown-specialized-test-C-t34PAw.js +527 -0
  152. package/bundled-test-harness/assets/field-path-parser-test-BeNjacPu.js +387 -0
  153. package/bundled-test-harness/assets/field-playground-test-BILTGxqr.js +902 -0
  154. package/bundled-test-harness/assets/field-support-predicates-test-Df24w0Wa.js +170 -0
  155. package/bundled-test-harness/assets/field-test-helpers-P22hxBNz.js +45 -0
  156. package/bundled-test-harness/assets/file-attachment-test-Cjg4NBeM.js +635 -0
  157. package/bundled-test-harness/assets/file-chooser-test-Cl0XujPT.js +439 -0
  158. package/bundled-test-harness/assets/file-def-live-reload-test-D4Obzi12.js +50 -0
  159. package/bundled-test-harness/assets/file-def-manager-DUgR-gjs.js +470 -0
  160. package/bundled-test-harness/assets/file-def-manager-canonicalize-test-D_LWVsvz.js +451 -0
  161. package/bundled-test-harness/assets/file-def-menu-items-test-xvsUTOK4.js +114 -0
  162. package/bundled-test-harness/assets/file-def-navigation-test-DxPceB7E.js +109 -0
  163. package/bundled-test-harness/assets/file-def-serialization-test-CpwbDb8p.js +87 -0
  164. package/bundled-test-harness/assets/file-def-test-CEnKcvW9.js +219 -0
  165. package/bundled-test-harness/assets/file-tree-test-DE2aH6iq.js +773 -0
  166. package/bundled-test-harness/assets/flac-audio-def-test-BCg7LnR6.js +138 -0
  167. package/bundled-test-harness/assets/flowDiagram-I6XJVG4X-Xv8-LIxQ.js +4883 -0
  168. package/bundled-test-harness/assets/formatted-aibot-message-test-CsxFn62P.js +366 -0
  169. package/bundled-test-harness/assets/formatted-user-message-test-DjZc8qnA.js +43 -0
  170. package/bundled-test-harness/assets/freestyle-test-QEZaZCNJ.js +17 -0
  171. package/bundled-test-harness/assets/full-reindex-realm-test-C_c2OTTD.js +103 -0
  172. package/bundled-test-harness/assets/ganttDiagram-6RSMTGT7-DmvkzS5w.js +4060 -0
  173. package/bundled-test-harness/assets/garbage-collection-test-BVuvfidI.js +373 -0
  174. package/bundled-test-harness/assets/general-test-Ydis4jEq.js +926 -0
  175. package/bundled-test-harness/assets/generate-css-variables-test-CZCmgTAO.js +88 -0
  176. package/bundled-test-harness/assets/generate-example-cards-one-shot-test-x_szhkSN.js +67 -0
  177. package/bundled-test-harness/assets/get-available-realm-identifiers-test-DvRnwCHR.js +49 -0
  178. package/bundled-test-harness/assets/get-catalog-realm-identifiers-test-46TE-XA0.js +49 -0
  179. package/bundled-test-harness/assets/get-default-writable-realm-test-DaAkxTNh.js +56 -0
  180. package/bundled-test-harness/assets/get-realm-of-resource-identifier-test-9XEGHVOV.js +55 -0
  181. package/bundled-test-harness/assets/get-relationship-membership-state-test-BY4gk5JZ.js +1306 -0
  182. package/bundled-test-harness/assets/get-type-refs-from-filter-test-BynlX0JE.js +136 -0
  183. package/bundled-test-harness/assets/get-user-system-card-test-D98Xxn1k.js +52 -0
  184. package/bundled-test-harness/assets/gif-image-def-test-FwKGFGWw.js +161 -0
  185. package/bundled-test-harness/assets/gitGraph-WXDBUCRP-Bmn0Z_Xi.js +3 -0
  186. package/bundled-test-harness/assets/gitGraphDiagram-PVQCEYII-BAo0G82W.js +1150 -0
  187. package/bundled-test-harness/assets/gts-file-def-test-ivEk8Muv.js +99 -0
  188. package/bundled-test-harness/assets/head-format-preview-test-CNhvk724.js +156 -0
  189. package/bundled-test-harness/assets/helpers-BH4Yfo_2.js +5 -0
  190. package/bundled-test-harness/assets/host-mode-test-BRNndb2h.js +391 -0
  191. package/bundled-test-harness/assets/host-submode-test-DHd0x-6x.js +904 -0
  192. package/bundled-test-harness/assets/index-query-engine-test-7Fzc09fG.js +2548 -0
  193. package/bundled-test-harness/assets/index-writer-test-D3cL2q2N.js +1842 -0
  194. package/bundled-test-harness/assets/indexeddb-crypto-store-C09Shau-.js +49434 -0
  195. package/bundled-test-harness/assets/info-J43DQDTF-Dz5b1Xgc.js +3 -0
  196. package/bundled-test-harness/assets/infoDiagram-5YYISTIA-Dl8XvIfi.js +23 -0
  197. package/bundled-test-harness/assets/inspector-test-CVZVQdIJ.js +1776 -0
  198. package/bundled-test-harness/assets/instance-filter-matcher-test-C-4z6qUt.js +564 -0
  199. package/bundled-test-harness/assets/instantiate-card-test-eQ22Vt_m.js +104 -0
  200. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-hXPsRPMU.js +497 -0
  201. package/bundled-test-harness/assets/interact-submode-setup-D55IIVc5.js +558 -0
  202. package/bundled-test-harness/assets/interact-submode-test-BwrtFe2m.js +725 -0
  203. package/bundled-test-harness/assets/invalidate-realm-identifiers-test-BMk7yd-D.js +101 -0
  204. package/bundled-test-harness/assets/invite-user-to-room-test-B5B0umJQ.js +67 -0
  205. package/bundled-test-harness/assets/ishikawaDiagram-YF4QCWOH-BrO7NAng.js +1009 -0
  206. package/bundled-test-harness/assets/isolated-render-test-DX1wdHoS.js +51 -0
  207. package/bundled-test-harness/assets/item-button-QkVr-FW0.js +203 -0
  208. package/bundled-test-harness/assets/javascript-BWNQhcCY.js +75 -0
  209. package/bundled-test-harness/assets/job-priority-header-test-CuBZloLK.js +81 -0
  210. package/bundled-test-harness/assets/journeyDiagram-JHISSGLW-B7BT66v0.js +1256 -0
  211. package/bundled-test-harness/assets/jpg-image-def-test-DEx462nY.js +430 -0
  212. package/bundled-test-harness/assets/json-file-def-test-Cray6ly6.js +92 -0
  213. package/bundled-test-harness/assets/kanban-definition-UN3LZRKU-C0E5Vmr_.js +1284 -0
  214. package/bundled-test-harness/assets/last-modified-date-test-BzE25NOB.js +18 -0
  215. package/bundled-test-harness/assets/limited-set-test-NwGNoXKc.js +123 -0
  216. package/bundled-test-harness/assets/line-BbGOk93s.js +55 -0
  217. package/bundled-test-harness/assets/linear-CHTo-YQl.js +417 -0
  218. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-CZdgRM1b.js +315 -0
  219. package/bundled-test-harness/assets/linksto-error-sentinel-test-DhsHO7Xs.js +236 -0
  220. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-mt-RrRta.js +303 -0
  221. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CdGUXZsi.js +301 -0
  222. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DOJ_6Gwf.js +258 -0
  223. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-BZC-gslF.js +194 -0
  224. package/bundled-test-harness/assets/live-prerendered-search-BSkwf5AH.js +639 -0
  225. package/bundled-test-harness/assets/live-test-DTfxZnsy.js +100 -0
  226. package/bundled-test-harness/assets/live-test-WOMYpc1I.js +2 -0
  227. package/bundled-test-harness/assets/loader-icon-error-test-F_ukQytn.js +62 -0
  228. package/bundled-test-harness/assets/loader-parallel-prefetch-test-DpNaFnhc.js +257 -0
  229. package/bundled-test-harness/assets/loader-retry-test-EQ2X0bFS.js +173 -0
  230. package/bundled-test-harness/assets/loader-test-BYkWAwc4.js +245 -0
  231. package/bundled-test-harness/assets/loading-test-jfWH_OpH.js +63 -0
  232. package/bundled-test-harness/assets/login-error-text-test-Cldr1X6h.js +51 -0
  233. package/bundled-test-harness/assets/m4a-audio-def-test-BQ1WKApD.js +185 -0
  234. package/bundled-test-harness/assets/main-ByAsLO_g.js +5 -0
  235. package/bundled-test-harness/assets/markdown-fallback-test-dtTaGP1s.js +316 -0
  236. package/bundled-test-harness/assets/markdown-file-def-test-shW9Xxd1.js +286 -0
  237. package/bundled-test-harness/assets/markdown-helpers-test-B6H7p4ay.js +183 -0
  238. package/bundled-test-harness/assets/markdown-highlighting-test-ZIrFNHRe.js +244 -0
  239. package/bundled-test-harness/assets/markdown-preview-KII3nJ2M.js +69 -0
  240. package/bundled-test-harness/assets/markdown-preview-test-De-IaUbK.js +237 -0
  241. package/bundled-test-harness/assets/marked-sync-CGSehq4u.js +2 -0
  242. package/bundled-test-harness/assets/marked-sync-DenC7QgC.js +2561 -0
  243. package/bundled-test-harness/assets/marked-sync-test-jZBr20Hq.js +146 -0
  244. package/bundled-test-harness/assets/matrix-service-sliding-sync-test-Ax4kyAMt.js +33 -0
  245. package/bundled-test-harness/assets/mermaid-parser.core-B_3tzKUl.js +114 -0
  246. package/bundled-test-harness/assets/mermaid.core-D2hqA7Hq.js +1700 -0
  247. package/bundled-test-harness/assets/message-service-subscription-test-B42KnJ91.js +113 -0
  248. package/bundled-test-harness/assets/mindmap-definition-RKZ34NQL-IZz7Qpd0.js +1347 -0
  249. package/bundled-test-harness/assets/mock-matrix-BhFWlMMr.js +14292 -0
  250. package/bundled-test-harness/assets/mock-matrix-CrtMntcN.js +2 -0
  251. package/bundled-test-harness/assets/module-transpile-cache-test-BtWN4OiM.js +66 -0
  252. package/bundled-test-harness/assets/monaco.contribution-B1hOUP3w.js +2 -0
  253. package/bundled-test-harness/assets/monaco.contribution-DhNsYtZe.js +2 -0
  254. package/bundled-test-harness/assets/monaco.contribution-DvJDImx2.js +103 -0
  255. package/bundled-test-harness/assets/monaco.contribution-yXcOyzue.js +243 -0
  256. package/bundled-test-harness/assets/mp3-audio-def-test-D365TuA7.js +129 -0
  257. package/bundled-test-harness/assets/mutex-test-DY09HLvv.js +71 -0
  258. package/bundled-test-harness/assets/number-field-test-wYaQjnzA.js +153 -0
  259. package/bundled-test-harness/assets/ogg-audio-def-test-Dl01PP31.js +191 -0
  260. package/bundled-test-harness/assets/open-create-listing-modal-test-D8C2PUFv.js +117 -0
  261. package/bundled-test-harness/assets/open-workspace-test-DN2n8IkC.js +48 -0
  262. package/bundled-test-harness/assets/operator-mode-acceptance-test-B_hzJZo4.js +1044 -0
  263. package/bundled-test-harness/assets/operator-mode-card-catalog-test-Hrrnkdt9.js +989 -0
  264. package/bundled-test-harness/assets/operator-mode-links-test-DC6sc9TZ.js +797 -0
  265. package/bundled-test-harness/assets/operator-mode-state-service-test-Aqz9_v0U.js +122 -0
  266. package/bundled-test-harness/assets/operator-mode-test-CLgpZGEM.js +617 -0
  267. package/bundled-test-harness/assets/operator-mode-ui-test-CDRrORfC.js +985 -0
  268. package/bundled-test-harness/assets/ordinal-BIRuJQBH.js +85 -0
  269. package/bundled-test-harness/assets/overlay-menu-items-test-of24KuXp.js +316 -0
  270. package/bundled-test-harness/assets/packet-YPE3B663-hs92geQG.js +3 -0
  271. package/bundled-test-harness/assets/panel-rIdTMDfK.js +3371 -0
  272. package/bundled-test-harness/assets/past-sessions-test-ZKr4ACF0.js +321 -0
  273. package/bundled-test-harness/assets/patch-code-test-BZa-Itrt.js +203 -0
  274. package/bundled-test-harness/assets/patch-fields-test-BkaHs-zo.js +992 -0
  275. package/bundled-test-harness/assets/patch-instance-test-CRMgg52p.js +287 -0
  276. package/bundled-test-harness/assets/persist-module-inspector-view-test-CqNy2RXR.js +62 -0
  277. package/bundled-test-harness/assets/phone-number-field-test-CV6gntON.js +72 -0
  278. package/bundled-test-harness/assets/pie-LRSECV5Y-DcM5pWE3.js +3 -0
  279. package/bundled-test-harness/assets/pieDiagram-4H26LBE5-CtO8RHpU.js +253 -0
  280. package/bundled-test-harness/assets/plan-install-test-lfBTuWXU.js +417 -0
  281. package/bundled-test-harness/assets/playground-VscW9KdT.js +57 -0
  282. package/bundled-test-harness/assets/png-image-def-test-CRspcIHP.js +222 -0
  283. package/bundled-test-harness/assets/prerender-file-extract-test-D3SpxfMI.js +176 -0
  284. package/bundled-test-harness/assets/prerender-html-test-WWptGXJ0.js +615 -0
  285. package/bundled-test-harness/assets/prerender-meta-test-DwQEGN6j.js +388 -0
  286. package/bundled-test-harness/assets/prerender-module-test-BM1AOwRF.js +195 -0
  287. package/bundled-test-harness/assets/prerendered-card-search-test-BVJ8IHLe.js +708 -0
  288. package/bundled-test-harness/assets/preview-format-test-DDpiXDN_.js +103 -0
  289. package/bundled-test-harness/assets/preview-test-D2UV1C5D.js +455 -0
  290. package/bundled-test-harness/assets/published-realm-url-DUIZzAJ5.js +52 -0
  291. package/bundled-test-harness/assets/published-realm-url-test-CIgSf4Ub.js +137 -0
  292. package/bundled-test-harness/assets/qs-test-Bi679H5w.js +36 -0
  293. package/bundled-test-harness/assets/quadrantDiagram-W4KKPZXB-GOTAKsCo.js +2324 -0
  294. package/bundled-test-harness/assets/query-field-barrier-test-BlOuVxdS.js +118 -0
  295. package/bundled-test-harness/assets/query-field-error-sentinel-test-BsB76iUQ.js +202 -0
  296. package/bundled-test-harness/assets/query-field-normalization-test-B2YodJCr.js +271 -0
  297. package/bundled-test-harness/assets/query-field-schema-test-CQhJASFx.js +231 -0
  298. package/bundled-test-harness/assets/query-fields-test-CaZ19leM.js +535 -0
  299. package/bundled-test-harness/assets/queue-test-DrSip6mJ.js +216 -0
  300. package/bundled-test-harness/assets/radar-GUYGQ44K-BkAe1nkp.js +3 -0
  301. package/bundled-test-harness/assets/read-card-for-ai-assistant-test-D8yB-OL9.js +91 -0
  302. package/bundled-test-harness/assets/read-file-for-ai-assistant-test-K3M0-lBD.js +45 -0
  303. package/bundled-test-harness/assets/read-source-test-CKlb0ORb.js +67 -0
  304. package/bundled-test-harness/assets/read-text-file-test-CJdasDDU.js +124 -0
  305. package/bundled-test-harness/assets/realm-DhUCLR5r.js +884 -0
  306. package/bundled-test-harness/assets/realm-field-test-kFgxphDI.js +101 -0
  307. package/bundled-test-harness/assets/realm-index-card-id-test-DAnMAqw4.js +18 -0
  308. package/bundled-test-harness/assets/realm-indexing-test-BQkX-Dat.js +4018 -0
  309. package/bundled-test-harness/assets/realm-paths-test-CmEi9rzu.js +33 -0
  310. package/bundled-test-harness/assets/realm-querying-test-eq3qSXLu.js +1062 -0
  311. package/bundled-test-harness/assets/realm-test-DLQAtdMt.js +2409 -0
  312. package/bundled-test-harness/assets/reasoning-test-CwTfyDlj.js +234 -0
  313. package/bundled-test-harness/assets/recent-files-test-MVIGLp8S.js +449 -0
  314. package/bundled-test-harness/assets/reindex-realm-test-BwLgJeB3.js +119 -0
  315. package/bundled-test-harness/assets/relationship-loading-state-test-B4Ca43yD.js +289 -0
  316. package/bundled-test-harness/assets/render-component-BKEihV4U.js +2 -0
  317. package/bundled-test-harness/assets/render-error-test-DWD6tfNe.js +22 -0
  318. package/bundled-test-harness/assets/render-service-test-BjuoVrUK.js +87 -0
  319. package/bundled-test-harness/assets/render-timer-stub-test-BgUY5u3X.js +84 -0
  320. package/bundled-test-harness/assets/rendered-markdown-DOP-s6fW.js +211 -0
  321. package/bundled-test-harness/assets/rendered-markdown-test-CD02UYwA.js +360 -0
  322. package/bundled-test-harness/assets/requirementDiagram-4Y6WPE33-DJIy7eR9.js +2550 -0
  323. package/bundled-test-harness/assets/rich-markdown-field-test-BJeQx1tL.js +806 -0
  324. package/bundled-test-harness/assets/room-message-test-CjD7FlPD.js +171 -0
  325. package/bundled-test-harness/assets/rust-crypto-GS0FFZ7H.js +16141 -0
  326. package/bundled-test-harness/assets/sanitize-module-list-test-gi0pcqSy.js +68 -0
  327. package/bundled-test-harness/assets/sankeyDiagram-5OEKKPKP-wBsbt1Mr.js +1357 -0
  328. package/bundled-test-harness/assets/schema-editor-test-BSqu8W3e.js +784 -0
  329. package/bundled-test-harness/assets/schema-generation-test-DVFuSsLl.js +28 -0
  330. package/bundled-test-harness/assets/scrolling-test-CpzkRiBS.js +292 -0
  331. package/bundled-test-harness/assets/search-and-choose-test-DVWX4XRb.js +156 -0
  332. package/bundled-test-harness/assets/search-cache-key-test-BMnYM4a5.js +79 -0
  333. package/bundled-test-harness/assets/search-command-test-kEfT0AO7.js +135 -0
  334. package/bundled-test-harness/assets/search-correlation-id-test-D08FtVUZ.js +101 -0
  335. package/bundled-test-harness/assets/search-data-test-CTrBEc1m.js +243 -0
  336. package/bundled-test-harness/assets/search-google-images-test-UnKG8qCp.js +168 -0
  337. package/bundled-test-harness/assets/search-in-flight-key-test-9Va-JXFz.js +79 -0
  338. package/bundled-test-harness/assets/search-test-COlO2lZi.js +847 -0
  339. package/bundled-test-harness/assets/send-ai-assistant-message-test-BPjOjt2R.js +52 -0
  340. package/bundled-test-harness/assets/send-bot-trigger-event-test-BB4lHbB_.js +56 -0
  341. package/bundled-test-harness/assets/send-request-via-proxy-test-U8frmHZA.js +333 -0
  342. package/bundled-test-harness/assets/sending-test-DjEzksEX.js +317 -0
  343. package/bundled-test-harness/assets/sequenceDiagram-3UESZ5HK-QAEjhoay.js +5551 -0
  344. package/bundled-test-harness/assets/serialization-test-DHdLriC8.js +8283 -0
  345. package/bundled-test-harness/assets/set-user-system-card-test-C8I1lDBh.js +59 -0
  346. package/bundled-test-harness/assets/setup-BkuybBki.js +769 -0
  347. package/bundled-test-harness/assets/setup-gxkWJKID.js +2 -0
  348. package/bundled-test-harness/assets/show-card-test-DHKQ6AI4.js +362 -0
  349. package/bundled-test-harness/assets/skills-test-DlMgZrPV.js +568 -0
  350. package/bundled-test-harness/assets/spec-test-s9Zj7x2E.js +1012 -0
  351. package/bundled-test-harness/assets/stateDiagram-AJRCARHV-nEhf3efZ.js +363 -0
  352. package/bundled-test-harness/assets/stateDiagram-v2-BHNVJYJU-tZz_3w-7.js +29 -0
  353. package/bundled-test-harness/assets/store-add-test-D44FWRl3.js +52 -0
  354. package/bundled-test-harness/assets/store-test-TTmNBs5v.js +1562 -0
  355. package/bundled-test-harness/assets/summarize-session-test-DHAuNb5K.js +169 -0
  356. package/bundled-test-harness/assets/svg-image-def-test-C2_GGzR6.js +164 -0
  357. package/bundled-test-harness/assets/switch-submode-test-CfGaoxVe.js +168 -0
  358. package/bundled-test-harness/assets/test-realm-service-worker-C21o7yvW.js +73 -0
  359. package/bundled-test-harness/assets/tests-BSt6h9iC.js +2771 -0
  360. package/bundled-test-harness/assets/text-file-def-test-CR4QO7e_.js +93 -0
  361. package/bundled-test-harness/assets/text-input-validator-test-DYS3mFj9.js +155 -0
  362. package/bundled-test-harness/assets/text-suggestion-test-GUxJ7WtF.js +339 -0
  363. package/bundled-test-harness/assets/theme-card-test-Ba2KqFB8.js +573 -0
  364. package/bundled-test-harness/assets/timeline-definition-PNZ67QCA-BQYyTIei.js +1545 -0
  365. package/bundled-test-harness/assets/transform-cards-test-DyA8eCom.js +341 -0
  366. package/bundled-test-harness/assets/treeView-BLDUP644-Z4ezSvef.js +3 -0
  367. package/bundled-test-harness/assets/treemap-LRROVOQU-Bf5rk_He.js +3 -0
  368. package/bundled-test-harness/assets/ts-file-def-test-Cxnc6H74.js +90 -0
  369. package/bundled-test-harness/assets/tsMode-oJEHe-CR.js +968 -0
  370. package/bundled-test-harness/assets/typescript-DLbb7q56.js +2 -0
  371. package/bundled-test-harness/assets/update-room-skills-test-B7VLHU3-.js +197 -0
  372. package/bundled-test-harness/assets/url-test-w-69Zycf.js +103 -0
  373. package/bundled-test-harness/assets/use-ai-assistant-test-DJkFz7_b.js +330 -0
  374. package/bundled-test-harness/assets/validate-realm-test-BioLutB8.js +53 -0
  375. package/bundled-test-harness/assets/vennDiagram-CIIHVFJN-9eLwsQET.js +2833 -0
  376. package/bundled-test-harness/assets/wardley-L42UT6IY-qNP5_917.js +3 -0
  377. package/bundled-test-harness/assets/wardleyDiagram-YWT4CUSO-DZhEm4N4.js +872 -0
  378. package/bundled-test-harness/assets/wav-audio-def-test-DqsTEBw8.js +155 -0
  379. package/bundled-test-harness/assets/webp-image-def-test-23wOLPMu.js +225 -0
  380. package/bundled-test-harness/assets/workspace-chooser-delete-test-Q6S_nGDT.js +189 -0
  381. package/bundled-test-harness/assets/workspace-chooser-test-CzsvY1v_.js +235 -0
  382. package/bundled-test-harness/assets/workspace-delete-multiple-test-BNFHkJpQ.js +213 -0
  383. package/bundled-test-harness/assets/workspace-delete-summary-test-DLzNdjvC.js +63 -0
  384. package/bundled-test-harness/assets/write-binary-file-test-PHHt9fVI.js +100 -0
  385. package/bundled-test-harness/assets/write-text-file-test-DuHe6tR5.js +172 -0
  386. package/bundled-test-harness/assets/xychartDiagram-2RQKCTM6-bflHQbEv.js +2551 -0
  387. package/bundled-test-harness/index.html +24 -23
  388. package/bundled-test-harness/tests/index.html +31 -30
  389. package/bundled-types/base/command.d.ts +48 -0
  390. package/bundled-types/host-app/components/operator-mode/publish-realm-modal.gts +17 -26
  391. package/bundled-types/host-app/lib/published-realm-url.ts +135 -0
  392. package/package.json +3 -3
  393. package/src/build-program.ts +12 -12
  394. package/src/commands/consolidate-workspaces.ts +1 -1
  395. package/src/commands/file/delete.ts +4 -4
  396. package/src/commands/file/index.ts +6 -6
  397. package/src/commands/file/lint.ts +4 -4
  398. package/src/commands/file/list.ts +3 -3
  399. package/src/commands/file/read.ts +3 -3
  400. package/src/commands/file/touch.ts +6 -6
  401. package/src/commands/file/write.ts +3 -3
  402. package/src/commands/lint.ts +6 -6
  403. package/src/commands/parse.ts +6 -6
  404. package/src/commands/profile.ts +4 -4
  405. package/src/commands/read-transpiled.ts +6 -3
  406. package/src/commands/realm/cancel-indexing.ts +3 -3
  407. package/src/commands/realm/create.ts +2 -2
  408. package/src/commands/realm/history.ts +4 -4
  409. package/src/commands/realm/index.ts +15 -15
  410. package/src/commands/realm/indexing-errors.ts +3 -3
  411. package/src/commands/realm/list.ts +2 -2
  412. package/src/commands/realm/milestone.ts +4 -4
  413. package/src/commands/realm/publish.ts +4 -4
  414. package/src/commands/realm/pull.ts +6 -6
  415. package/src/commands/realm/push.ts +7 -7
  416. package/src/commands/realm/remove.ts +3 -3
  417. package/src/commands/realm/status.ts +8 -8
  418. package/src/commands/realm/sync.ts +9 -9
  419. package/src/commands/realm/unpublish.ts +3 -3
  420. package/src/commands/realm/wait-for-ready.ts +2 -2
  421. package/src/commands/realm/watch/index.ts +2 -2
  422. package/src/commands/realm/watch/start.ts +13 -10
  423. package/src/commands/realm/watch/stop.ts +2 -2
  424. package/src/commands/run-command.ts +6 -3
  425. package/src/commands/search.ts +3 -3
  426. package/src/commands/test.ts +5 -5
  427. package/src/index.ts +2 -2
  428. package/src/lib/auth-resolver.ts +3 -3
  429. package/src/lib/boxel-cli-client.ts +18 -15
  430. package/src/lib/checkpoint-manager.ts +1 -1
  431. package/src/lib/find-checkpoint.ts +1 -1
  432. package/src/lib/profile-manager.ts +4 -4
  433. package/src/lib/realm-local-paths.ts +1 -1
  434. package/src/lib/realm-sync-base.ts +1 -1
  435. package/src/lib/seed-auth.ts +1 -1
  436. package/src/lib/sync-logic.ts +1 -1
  437. package/src/lib/watch-process-registry.ts +1 -1
  438. package/bundled-test-harness/assets/adapter-C8oDflNN.js +0 -2
  439. package/bundled-test-harness/assets/add-field-to-card-definition-command-test-Cs670972.js +0 -111
  440. package/bundled-test-harness/assets/add-workspace-test-BviDAUBK.js +0 -71
  441. package/bundled-test-harness/assets/ai-assistant-B5fp2iOz.js +0 -129
  442. package/bundled-test-harness/assets/ai-assistant-panel-service-test-NpHZzZAz.js +0 -95
  443. package/bundled-test-harness/assets/ai-assistant-test-jPV29jEw.js +0 -2137
  444. package/bundled-test-harness/assets/ai-function-generation-test-QRPcE9tQ.js +0 -996
  445. package/bundled-test-harness/assets/ai-module-creation-test-DyuyfnkY.js +0 -150
  446. package/bundled-test-harness/assets/aibot-message-Dwxp5hTW.js +0 -1185
  447. package/bundled-test-harness/assets/amd-transpile-test-CF7Lkbif.js +0 -425
  448. package/bundled-test-harness/assets/app-CgP2IpNG.js +0 -21464
  449. package/bundled-test-harness/assets/apply-boxel-formatting-test-BXyZ3z0I.js +0 -134
  450. package/bundled-test-harness/assets/apply-markdown-edit-test-C6bcaj3a.js +0 -230
  451. package/bundled-test-harness/assets/apply-search-replace-block-test-BSwC4J9g.js +0 -630
  452. package/bundled-test-harness/assets/arc-DNRb_8LA.js +0 -199
  453. package/bundled-test-harness/assets/architecture-7EHR7CIX-BtVh_LBJ.js +0 -3
  454. package/bundled-test-harness/assets/architectureDiagram-3BPJPVTR-D9UYbaKj.js +0 -7400
  455. package/bundled-test-harness/assets/auth-error-guard-test-Bvu8E7Wy.js +0 -30
  456. package/bundled-test-harness/assets/auth-service-worker-test-CC6DzdfK.js +0 -538
  457. package/bundled-test-harness/assets/authed-fetch-test-CfF-IBHI.js +0 -75
  458. package/bundled-test-harness/assets/avif-image-def-test-B9L2z0nR.js +0 -186
  459. package/bundled-test-harness/assets/base-realm-43wjttN2.js +0 -140
  460. package/bundled-test-harness/assets/base-realm-CJ5x9iyX.js +0 -2
  461. package/bundled-test-harness/assets/basic-test-B64a5zCK.js +0 -128
  462. package/bundled-test-harness/assets/bfm-card-references-test-cLQVLpth.js +0 -577
  463. package/bundled-test-harness/assets/binary-upload-dedupe-test-By7Y1iQ3.js +0 -308
  464. package/bundled-test-harness/assets/blockDiagram-GPEHLZMM-LgOorG2O.js +0 -4355
  465. package/bundled-test-harness/assets/bot-registration-test-DOjf0P1R.js +0 -99
  466. package/bundled-test-harness/assets/box-test-Cd1-RcXg.js +0 -51
  467. package/bundled-test-harness/assets/brand-guide-attachments-test-DxRqP8fo.js +0 -87
  468. package/bundled-test-harness/assets/brand-guide-custom-css-test-DBpZiHzJ.js +0 -135
  469. package/bundled-test-harness/assets/brand-logo-mark-field-test-61k4e5Om.js +0 -87
  470. package/bundled-test-harness/assets/broken-link-template-test-A1P4flQ5.js +0 -345
  471. package/bundled-test-harness/assets/browser-index-Bzhpucwe.js +0 -3
  472. package/bundled-test-harness/assets/browser-index-D0mzSWYV.js +0 -8802
  473. package/bundled-test-harness/assets/c4Diagram-AAUBKEIU-1iq94vGa.js +0 -3764
  474. package/bundled-test-harness/assets/cached-fetch-test-ByQ-5OQI.js +0 -93
  475. package/bundled-test-harness/assets/can-read-realm-test-VFLHJdEv.js +0 -58
  476. package/bundled-test-harness/assets/cancel-indexing-job-test-n3Os4ZaX.js +0 -71
  477. package/bundled-test-harness/assets/card-api-test-DvNfLv3V.js +0 -196
  478. package/bundled-test-harness/assets/card-basics-test-CKzZuFdw.js +0 -4895
  479. package/bundled-test-harness/assets/card-catalog-test-JFvkVHED.js +0 -377
  480. package/bundled-test-harness/assets/card-copy-test-iwrFA72s.js +0 -777
  481. package/bundled-test-harness/assets/card-def-field-def-relationships-test-D5s2RH5t.js +0 -560
  482. package/bundled-test-harness/assets/card-def-menu-items-test-XcmkT4NF.js +0 -182
  483. package/bundled-test-harness/assets/card-delete-test-jtAOHk1Y.js +0 -412
  484. package/bundled-test-harness/assets/card-directory-name-test-veQEp5FJ.js +0 -71
  485. package/bundled-test-harness/assets/card-playground-test-P7Ed0tO4.js +0 -1497
  486. package/bundled-test-harness/assets/card-prerender-DXG8cQEv.js +0 -12661
  487. package/bundled-test-harness/assets/card-search-adorn-test-BX0-IJHB.js +0 -128
  488. package/bundled-test-harness/assets/card-search-query-builder-test-D01uixke.js +0 -88
  489. package/bundled-test-harness/assets/card-search-selection-menu-test-DMTeZFmW.js +0 -108
  490. package/bundled-test-harness/assets/channel-BvoW_rbI.js +0 -8
  491. package/bundled-test-harness/assets/check-correctness-test-D7QB1GTo.js +0 -252
  492. package/bundled-test-harness/assets/chunk-2J33WTMH-BbxCvOlt.js +0 -31
  493. package/bundled-test-harness/assets/chunk-3OPIFGDE-DHY3s0oT.js +0 -5548
  494. package/bundled-test-harness/assets/chunk-4BX2VUAB-CRivrLQ6.js +0 -11
  495. package/bundled-test-harness/assets/chunk-4EGX6M5U-qWzlMeqd.js +0 -44
  496. package/bundled-test-harness/assets/chunk-55IACEB6-DOl6NECJ.js +0 -10
  497. package/bundled-test-harness/assets/chunk-5DO6E6H7-scwNnzDb.js +0 -27
  498. package/bundled-test-harness/assets/chunk-5ZQYHXKU-BeETnugr.js +0 -1767
  499. package/bundled-test-harness/assets/chunk-727SXJPM-BlycTxFE.js +0 -3877
  500. package/bundled-test-harness/assets/chunk-AQP2D5EJ-BE3Clw-g.js +0 -2622
  501. package/bundled-test-harness/assets/chunk-BR22UD5L-BTPKlhWA.js +0 -85
  502. package/bundled-test-harness/assets/chunk-BSJP7CBP-BIhtUfvc.js +0 -114
  503. package/bundled-test-harness/assets/chunk-CSCIHK7Q-DnRAp6Bv.js +0 -6144
  504. package/bundled-test-harness/assets/chunk-FHYWG6QK-DpIXIGDC.js +0 -27
  505. package/bundled-test-harness/assets/chunk-FMBD7UC4-B36w3LIg.js +0 -20
  506. package/bundled-test-harness/assets/chunk-KSCS5N6A-gbz9p9BU.js +0 -871
  507. package/bundled-test-harness/assets/chunk-L5ZTLDWV-HNfH9U8K.js +0 -43
  508. package/bundled-test-harness/assets/chunk-LZXEDZCA-CbKHJfzx.js +0 -65
  509. package/bundled-test-harness/assets/chunk-MPE355IW-BGVbCTZH.js +0 -27
  510. package/bundled-test-harness/assets/chunk-MZUSXYTE-DoCjuxcJ.js +0 -36
  511. package/bundled-test-harness/assets/chunk-N66VUXT2-BX17MI-i.js +0 -70
  512. package/bundled-test-harness/assets/chunk-ND2GUHAM-IpeiJZYz.js +0 -93
  513. package/bundled-test-harness/assets/chunk-NZK2D7GU-CH-Gg7qc.js +0 -89
  514. package/bundled-test-harness/assets/chunk-O5CBEL6O-D2JbLgI8.js +0 -2395
  515. package/bundled-test-harness/assets/chunk-PUPMXCY4-DS4ZxM2V.js +0 -27
  516. package/bundled-test-harness/assets/chunk-QZHKN3VN-WLHeRUJ3.js +0 -20
  517. package/bundled-test-harness/assets/chunk-UIBZB4QT-DNIJBpkq.js +0 -27
  518. package/bundled-test-harness/assets/chunk-WCWK7LTN-CqRJ3WOy.js +0 -36
  519. package/bundled-test-harness/assets/chunk-WU5MYG2G-CtItCLbE.js +0 -12
  520. package/bundled-test-harness/assets/chunk-XPW4576I-D2Q7Qo8n.js +0 -2341
  521. package/bundled-test-harness/assets/classDiagram-4FO5ZUOK-CnNFReKQ.js +0 -31
  522. package/bundled-test-harness/assets/classDiagram-v2-Q7XG4LA2-BlhpbohY.js +0 -31
  523. package/bundled-test-harness/assets/code-equality-assertion-C-2g5YGf.js +0 -474
  524. package/bundled-test-harness/assets/code-patches-test-DaV4Mon_.js +0 -1128
  525. package/bundled-test-harness/assets/code-patching-test-CcbWlImN.js +0 -114
  526. package/bundled-test-harness/assets/code-ref-test-8Yj8gbww.js +0 -138
  527. package/bundled-test-harness/assets/code-semantics-service-test-C3srTfDz.js +0 -65
  528. package/bundled-test-harness/assets/code-submode-test-BUhjvWtB.js +0 -1762
  529. package/bundled-test-harness/assets/codeblocks-test-3zAp0_GA.js +0 -492
  530. package/bundled-test-harness/assets/codemirror-context-C7KmSAyy.js +0 -2
  531. package/bundled-test-harness/assets/codemirror-editor-test-WojU4k2h.js +0 -1176
  532. package/bundled-test-harness/assets/color-field-test-yESUakoE.js +0 -213
  533. package/bundled-test-harness/assets/command-definitions-test-UsXsAhn7.js +0 -72
  534. package/bundled-test-harness/assets/commands-CBDBujm_.js +0 -1379
  535. package/bundled-test-harness/assets/commands-calling-test-DJTl0EbL.js +0 -200
  536. package/bundled-test-harness/assets/commands-test-DW2gupNS.js +0 -1041
  537. package/bundled-test-harness/assets/commands-test-DjLnuojW.js +0 -1145
  538. package/bundled-test-harness/assets/computed-test-0n5g8Ez5.js +0 -882
  539. package/bundled-test-harness/assets/container-D8y7fmir.js +0 -14602
  540. package/bundled-test-harness/assets/convert-to-class-name-test-DSIflIV2.js +0 -17
  541. package/bundled-test-harness/assets/copy-and-edit-test-BuK1ZHr-.js +0 -291
  542. package/bundled-test-harness/assets/copy-card-test-DnDC4_7J.js +0 -156
  543. package/bundled-test-harness/assets/copy-file-to-realm-test-CFd_3Iff.js +0 -99
  544. package/bundled-test-harness/assets/copy-source-test-38yUGJor.js +0 -56
  545. package/bundled-test-harness/assets/cose-bilkent-S5V4N54A-DXA1S87S.js +0 -4275
  546. package/bundled-test-harness/assets/create-file-test-B2oem0-V.js +0 -963
  547. package/bundled-test-harness/assets/create-file-test-BHk00RtD.js +0 -397
  548. package/bundled-test-harness/assets/create-listing-modal-test-L-71-Uo2.js +0 -194
  549. package/bundled-test-harness/assets/create-listing-pr-request-CZaLsHhE.js +0 -64
  550. package/bundled-test-harness/assets/create-listing-pr-request-test-OGzk4Q2E.js +0 -117
  551. package/bundled-test-harness/assets/create-spec-test-BsM7VKuH.js +0 -239
  552. package/bundled-test-harness/assets/csv-file-def-test-BhJalhE-.js +0 -101
  553. package/bundled-test-harness/assets/dagre-BIk_r1iU.js +0 -4195
  554. package/bundled-test-harness/assets/dagre-BM42HDAG-FaUWeGOj.js +0 -606
  555. package/bundled-test-harness/assets/date-time-fields-test-Cs5T6Xk1.js +0 -322
  556. package/bundled-test-harness/assets/debug-message-test-WlHe7pJF.js +0 -119
  557. package/bundled-test-harness/assets/diagram-2AECGRRQ-DLve-IVM.js +0 -279
  558. package/bundled-test-harness/assets/diagram-5GNKFQAL-CJG1RTLk.js +0 -142
  559. package/bundled-test-harness/assets/diagram-KO2AKTUF-DYGDq3dD.js +0 -551
  560. package/bundled-test-harness/assets/diagram-LMA3HP47-BNRYdpMl.js +0 -184
  561. package/bundled-test-harness/assets/diagram-OG6HWLK6-BlJH5g83.js +0 -857
  562. package/bundled-test-harness/assets/diffing-test-DO54USSm.js +0 -210
  563. package/bundled-test-harness/assets/dist-BDRmXkWl.js +0 -232
  564. package/bundled-test-harness/assets/dist-BfNSLd0O.js +0 -105
  565. package/bundled-test-harness/assets/dist-BoireClP.js +0 -2
  566. package/bundled-test-harness/assets/editor-test-DChC9LuR.js +0 -551
  567. package/bundled-test-harness/assets/editor.main-BiohyrHK.js +0 -3
  568. package/bundled-test-harness/assets/editor.main-CMU_0pR1.js +0 -43566
  569. package/bundled-test-harness/assets/email-field-test-DWIFSfZ-.js +0 -74
  570. package/bundled-test-harness/assets/enum-field-test-BUc6l4us.js +0 -909
  571. package/bundled-test-harness/assets/erDiagram-TEJ5UH35-pOJ2novh.js +0 -2041
  572. package/bundled-test-harness/assets/error-display-test-CHSE6h6Z.js +0 -343
  573. package/bundled-test-harness/assets/evaluate-module-test-Caa5n0B9.js +0 -66
  574. package/bundled-test-harness/assets/eventmodeling-FCH6USID-B6XXU7R3.js +0 -3
  575. package/bundled-test-harness/assets/execute-atomic-operations-test-CT060oDk.js +0 -75
  576. package/bundled-test-harness/assets/externals-Do1fVZ4j.js +0 -5533
  577. package/bundled-test-harness/assets/extract-css-variables-test-DzjAsMgg.js +0 -169
  578. package/bundled-test-harness/assets/fallback-banner-test-CmxysrDn.js +0 -227
  579. package/bundled-test-harness/assets/fallback-banner-test-DJ4cO8PB.js +0 -53
  580. package/bundled-test-harness/assets/fallback-models-test-r5upJFeA.js +0 -163
  581. package/bundled-test-harness/assets/fetch-card-json-test-Di1wmvy5.js +0 -63
  582. package/bundled-test-harness/assets/fetcher-test-DjzNl_7F.js +0 -85
  583. package/bundled-test-harness/assets/field-configuration-test-C3vr-HhG.js +0 -535
  584. package/bundled-test-harness/assets/field-markdown-domain-test-DG2U4qIm.js +0 -615
  585. package/bundled-test-harness/assets/field-markdown-primitives-test-Bay2v8nT.js +0 -362
  586. package/bundled-test-harness/assets/field-markdown-specialized-test-Bl0Sl4sc.js +0 -527
  587. package/bundled-test-harness/assets/field-path-parser-test-bxxwUjcm.js +0 -387
  588. package/bundled-test-harness/assets/field-playground-test-Bcjfws4m.js +0 -902
  589. package/bundled-test-harness/assets/field-support-predicates-test-DYTqOGvv.js +0 -170
  590. package/bundled-test-harness/assets/field-test-helpers-DYSfSGdh.js +0 -45
  591. package/bundled-test-harness/assets/file-attachment-test-6ypDRDS7.js +0 -635
  592. package/bundled-test-harness/assets/file-chooser-test-mtmcHTFP.js +0 -439
  593. package/bundled-test-harness/assets/file-def-live-reload-test-CX1-lOv6.js +0 -50
  594. package/bundled-test-harness/assets/file-def-manager-DNHII2oj.js +0 -470
  595. package/bundled-test-harness/assets/file-def-manager-canonicalize-test-i_7UVakF.js +0 -451
  596. package/bundled-test-harness/assets/file-def-menu-items-test-Dw458iku.js +0 -114
  597. package/bundled-test-harness/assets/file-def-navigation-test-B3Ztr1Rd.js +0 -109
  598. package/bundled-test-harness/assets/file-def-serialization-test-C_gV8AkU.js +0 -87
  599. package/bundled-test-harness/assets/file-def-test-vXXJmtxX.js +0 -219
  600. package/bundled-test-harness/assets/file-tree-test-BJCiw9jm.js +0 -773
  601. package/bundled-test-harness/assets/flac-audio-def-test-BX3SE1vW.js +0 -138
  602. package/bundled-test-harness/assets/flowDiagram-I6XJVG4X-7Q5ROn4X.js +0 -4883
  603. package/bundled-test-harness/assets/formatted-aibot-message-test-DyqUz2nt.js +0 -366
  604. package/bundled-test-harness/assets/formatted-user-message-test-aqAzqvBP.js +0 -43
  605. package/bundled-test-harness/assets/freestyle-test-CLRrZkAE.js +0 -17
  606. package/bundled-test-harness/assets/full-reindex-realm-test-ClqPVQ0c.js +0 -103
  607. package/bundled-test-harness/assets/ganttDiagram-6RSMTGT7-BkDoIAAE.js +0 -4060
  608. package/bundled-test-harness/assets/garbage-collection-test-Ba2dD3qS.js +0 -373
  609. package/bundled-test-harness/assets/general-test-D0zhs14K.js +0 -926
  610. package/bundled-test-harness/assets/generate-css-variables-test-CKrXSlHs.js +0 -88
  611. package/bundled-test-harness/assets/generate-example-cards-one-shot-test-fSAdGJeT.js +0 -67
  612. package/bundled-test-harness/assets/get-available-realm-identifiers-test-BXMUW65I.js +0 -49
  613. package/bundled-test-harness/assets/get-catalog-realm-identifiers-test-DKEq6Zcq.js +0 -49
  614. package/bundled-test-harness/assets/get-default-writable-realm-test-Dp4nBIRP.js +0 -56
  615. package/bundled-test-harness/assets/get-realm-of-resource-identifier-test-DYNnMgD-.js +0 -55
  616. package/bundled-test-harness/assets/get-relationship-membership-state-test-k9EUNWeq.js +0 -1306
  617. package/bundled-test-harness/assets/get-type-refs-from-filter-test-BPuivF-v.js +0 -136
  618. package/bundled-test-harness/assets/get-user-system-card-test-DSHv00O7.js +0 -52
  619. package/bundled-test-harness/assets/gif-image-def-test-LuDSr5Kz.js +0 -161
  620. package/bundled-test-harness/assets/gitGraph-WXDBUCRP-BrG_LYEh.js +0 -3
  621. package/bundled-test-harness/assets/gitGraphDiagram-PVQCEYII-QJjQcX4J.js +0 -1150
  622. package/bundled-test-harness/assets/gts-file-def-test-bS3ML062.js +0 -99
  623. package/bundled-test-harness/assets/head-format-preview-test-B8IPh71E.js +0 -156
  624. package/bundled-test-harness/assets/helpers-wSIq-bau.js +0 -5
  625. package/bundled-test-harness/assets/host-mode-test-D44nXoQZ.js +0 -391
  626. package/bundled-test-harness/assets/host-submode-test-CefkXg9F.js +0 -904
  627. package/bundled-test-harness/assets/index-query-engine-test-DJnDqmfK.js +0 -2548
  628. package/bundled-test-harness/assets/index-writer-test-BcrCMj37.js +0 -1842
  629. package/bundled-test-harness/assets/indexeddb-crypto-store-RTTNdynf.js +0 -49434
  630. package/bundled-test-harness/assets/info-J43DQDTF-DhDzvz9k.js +0 -3
  631. package/bundled-test-harness/assets/infoDiagram-5YYISTIA-8TmRFIRz.js +0 -23
  632. package/bundled-test-harness/assets/inspector-test-D4iMBlbL.js +0 -1776
  633. package/bundled-test-harness/assets/instance-filter-matcher-test-CYT6N3hN.js +0 -564
  634. package/bundled-test-harness/assets/instantiate-card-test-j1JS5lDe.js +0 -104
  635. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-B-aXzOh6.js +0 -497
  636. package/bundled-test-harness/assets/interact-submode-setup-VMwOUl3u.js +0 -558
  637. package/bundled-test-harness/assets/interact-submode-test-D5lNNXdq.js +0 -725
  638. package/bundled-test-harness/assets/invalidate-realm-identifiers-test-71Ze8eGV.js +0 -101
  639. package/bundled-test-harness/assets/invite-user-to-room-test-UfjsvwVp.js +0 -67
  640. package/bundled-test-harness/assets/ishikawaDiagram-YF4QCWOH-7UALIGwM.js +0 -1009
  641. package/bundled-test-harness/assets/isolated-render-test-C2IL-Fz3.js +0 -51
  642. package/bundled-test-harness/assets/item-button-6g7XYj56.js +0 -203
  643. package/bundled-test-harness/assets/javascript-BwLQ7_Nc.js +0 -75
  644. package/bundled-test-harness/assets/job-priority-header-test-C3FfKLPP.js +0 -81
  645. package/bundled-test-harness/assets/journeyDiagram-JHISSGLW-t4gEZYup.js +0 -1256
  646. package/bundled-test-harness/assets/jpg-image-def-test-BTBk9lk5.js +0 -430
  647. package/bundled-test-harness/assets/json-file-def-test-BpU_Eidn.js +0 -92
  648. package/bundled-test-harness/assets/kanban-definition-UN3LZRKU-C_KHB3_r.js +0 -1284
  649. package/bundled-test-harness/assets/last-modified-date-test-fE7IP0q0.js +0 -18
  650. package/bundled-test-harness/assets/limited-set-test-uu2vX1Sv.js +0 -123
  651. package/bundled-test-harness/assets/line-BiZHXOjs.js +0 -55
  652. package/bundled-test-harness/assets/linear-DUaMMmmA.js +0 -417
  653. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-qZeqQ1gt.js +0 -315
  654. package/bundled-test-harness/assets/linksto-error-sentinel-test-BaV3I8Xx.js +0 -236
  655. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-BvJi1vCb.js +0 -303
  656. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CK60Cugk.js +0 -301
  657. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-BWxdEO9D.js +0 -258
  658. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-CIsLhqR2.js +0 -194
  659. package/bundled-test-harness/assets/live-prerendered-search-jZe3I16p.js +0 -639
  660. package/bundled-test-harness/assets/live-test-CF_R5WGr.js +0 -2
  661. package/bundled-test-harness/assets/live-test-jO7lXuyB.js +0 -100
  662. package/bundled-test-harness/assets/loader-icon-error-test-N4JYZuTx.js +0 -62
  663. package/bundled-test-harness/assets/loader-parallel-prefetch-test-DteeG7mU.js +0 -257
  664. package/bundled-test-harness/assets/loader-retry-test-DYVgpS_I.js +0 -173
  665. package/bundled-test-harness/assets/loader-test-DLI8JIx-.js +0 -245
  666. package/bundled-test-harness/assets/loading-test-D4ZBtRYf.js +0 -63
  667. package/bundled-test-harness/assets/login-error-text-test-Dcq7q3EY.js +0 -51
  668. package/bundled-test-harness/assets/m4a-audio-def-test-BKqGO-CW.js +0 -185
  669. package/bundled-test-harness/assets/main-BjBdsiQT.js +0 -5
  670. package/bundled-test-harness/assets/markdown-fallback-test-BBj80dZZ.js +0 -316
  671. package/bundled-test-harness/assets/markdown-file-def-test-BnMF5rQF.js +0 -286
  672. package/bundled-test-harness/assets/markdown-helpers-test-DnuuSLfS.js +0 -183
  673. package/bundled-test-harness/assets/markdown-highlighting-test-CWRp2Rce.js +0 -244
  674. package/bundled-test-harness/assets/markdown-preview-test-Bf5OqKGf.js +0 -237
  675. package/bundled-test-harness/assets/markdown-preview-yYHtwNeI.js +0 -69
  676. package/bundled-test-harness/assets/marked-sync-2EfimW4i.js +0 -2
  677. package/bundled-test-harness/assets/marked-sync-DZOVFLjK.js +0 -2561
  678. package/bundled-test-harness/assets/marked-sync-test-BaaYbZNF.js +0 -146
  679. package/bundled-test-harness/assets/matrix-service-sliding-sync-test-CdEy3ASW.js +0 -33
  680. package/bundled-test-harness/assets/mermaid-parser.core-CKNAdXJW.js +0 -114
  681. package/bundled-test-harness/assets/mermaid.core-C0mfwy8A.js +0 -1700
  682. package/bundled-test-harness/assets/message-service-subscription-test-pGz_7rz3.js +0 -113
  683. package/bundled-test-harness/assets/mindmap-definition-RKZ34NQL-ClcHxkdY.js +0 -1347
  684. package/bundled-test-harness/assets/mock-matrix-D7JHfFtT.js +0 -2
  685. package/bundled-test-harness/assets/mock-matrix-DqDbNhEj.js +0 -14292
  686. package/bundled-test-harness/assets/module-transpile-cache-test-D0M-fPxs.js +0 -66
  687. package/bundled-test-harness/assets/monaco.contribution-BEs3qwfd.js +0 -103
  688. package/bundled-test-harness/assets/monaco.contribution-Dpx8UiPl.js +0 -2
  689. package/bundled-test-harness/assets/monaco.contribution-RF_qxJYG.js +0 -2
  690. package/bundled-test-harness/assets/monaco.contribution-jPVrF29f.js +0 -243
  691. package/bundled-test-harness/assets/mp3-audio-def-test-CxeRk1bl.js +0 -129
  692. package/bundled-test-harness/assets/mutex-test-D1xyxTj2.js +0 -71
  693. package/bundled-test-harness/assets/number-field-test-gjAGDy6P.js +0 -153
  694. package/bundled-test-harness/assets/ogg-audio-def-test-B6Ww3Ixr.js +0 -191
  695. package/bundled-test-harness/assets/open-create-listing-modal-test-uN58T3rI.js +0 -117
  696. package/bundled-test-harness/assets/open-workspace-test-DXVsvBFJ.js +0 -48
  697. package/bundled-test-harness/assets/operator-mode-acceptance-test-BxIq2xSS.js +0 -1044
  698. package/bundled-test-harness/assets/operator-mode-card-catalog-test-xFYx9_ng.js +0 -989
  699. package/bundled-test-harness/assets/operator-mode-links-test-qhXWmz-S.js +0 -797
  700. package/bundled-test-harness/assets/operator-mode-state-service-test-BdA_uvaY.js +0 -122
  701. package/bundled-test-harness/assets/operator-mode-test-D3EyTwq3.js +0 -617
  702. package/bundled-test-harness/assets/operator-mode-ui-test-CSrk6Q0A.js +0 -985
  703. package/bundled-test-harness/assets/ordinal-DO1mUmjg.js +0 -85
  704. package/bundled-test-harness/assets/overlay-menu-items-test-CuqqLsQT.js +0 -316
  705. package/bundled-test-harness/assets/packet-YPE3B663--JkMNy78.js +0 -3
  706. package/bundled-test-harness/assets/panel-C2rtbx32.js +0 -3371
  707. package/bundled-test-harness/assets/past-sessions-test-B9SCbbXz.js +0 -316
  708. package/bundled-test-harness/assets/patch-code-test-CcFr9pDb.js +0 -203
  709. package/bundled-test-harness/assets/patch-fields-test-BW1gzcJM.js +0 -992
  710. package/bundled-test-harness/assets/patch-instance-test-DKqA9gQ6.js +0 -287
  711. package/bundled-test-harness/assets/persist-module-inspector-view-test-D1eKBUkt.js +0 -62
  712. package/bundled-test-harness/assets/phone-number-field-test-D1is5RWv.js +0 -72
  713. package/bundled-test-harness/assets/pie-LRSECV5Y-BDVv8Wdy.js +0 -3
  714. package/bundled-test-harness/assets/pieDiagram-4H26LBE5-CSYI-nMz.js +0 -253
  715. package/bundled-test-harness/assets/plan-install-test-DB-PrjPR.js +0 -417
  716. package/bundled-test-harness/assets/playground-B0iQV7dU.js +0 -57
  717. package/bundled-test-harness/assets/png-image-def-test-DnOsJGs6.js +0 -222
  718. package/bundled-test-harness/assets/prerender-file-extract-test-DhOLozj2.js +0 -176
  719. package/bundled-test-harness/assets/prerender-html-test-DKVhQZA9.js +0 -615
  720. package/bundled-test-harness/assets/prerender-meta-test-CnRNyqSz.js +0 -388
  721. package/bundled-test-harness/assets/prerender-module-test-D163QcrZ.js +0 -195
  722. package/bundled-test-harness/assets/prerendered-card-search-test-DX-8yabJ.js +0 -708
  723. package/bundled-test-harness/assets/preview-format-test-H7bnpdlC.js +0 -103
  724. package/bundled-test-harness/assets/preview-test-B7u6uWJR.js +0 -455
  725. package/bundled-test-harness/assets/qs-test-COb0mre6.js +0 -36
  726. package/bundled-test-harness/assets/quadrantDiagram-W4KKPZXB-2Y2ben29.js +0 -2324
  727. package/bundled-test-harness/assets/query-field-barrier-test-Cypj-MhK.js +0 -118
  728. package/bundled-test-harness/assets/query-field-error-sentinel-test-Dnqn8TdN.js +0 -202
  729. package/bundled-test-harness/assets/query-field-normalization-test-B7D8SHBP.js +0 -271
  730. package/bundled-test-harness/assets/query-field-schema-test-DIYY3-c8.js +0 -231
  731. package/bundled-test-harness/assets/query-fields-test-k-VBF9PE.js +0 -535
  732. package/bundled-test-harness/assets/queue-test-B_74vXZE.js +0 -216
  733. package/bundled-test-harness/assets/radar-GUYGQ44K-Cn2A0VBR.js +0 -3
  734. package/bundled-test-harness/assets/read-card-for-ai-assistant-test-SyL9F_La.js +0 -91
  735. package/bundled-test-harness/assets/read-file-for-ai-assistant-test-nLPp49U2.js +0 -45
  736. package/bundled-test-harness/assets/read-source-test-DBELJkhN.js +0 -67
  737. package/bundled-test-harness/assets/read-text-file-test-CP1JuWlX.js +0 -124
  738. package/bundled-test-harness/assets/realm-Dr4iygv_.js +0 -884
  739. package/bundled-test-harness/assets/realm-field-test-Cice2mYk.js +0 -101
  740. package/bundled-test-harness/assets/realm-index-card-id-test-BzpozdWc.js +0 -18
  741. package/bundled-test-harness/assets/realm-indexing-test-C0YSXziR.js +0 -4018
  742. package/bundled-test-harness/assets/realm-paths-test-DV_g07rF.js +0 -33
  743. package/bundled-test-harness/assets/realm-querying-test-B526abM0.js +0 -1062
  744. package/bundled-test-harness/assets/realm-test-D8UN5X-w.js +0 -2409
  745. package/bundled-test-harness/assets/reasoning-test-ClIOvdkX.js +0 -234
  746. package/bundled-test-harness/assets/recent-files-test-C2J_dJUD.js +0 -449
  747. package/bundled-test-harness/assets/reindex-realm-test-DMphy1g6.js +0 -119
  748. package/bundled-test-harness/assets/relationship-loading-state-test-BWrZdLlZ.js +0 -289
  749. package/bundled-test-harness/assets/render-component-BII_KnyK.js +0 -2
  750. package/bundled-test-harness/assets/render-error-test-BUAJJlUi.js +0 -22
  751. package/bundled-test-harness/assets/render-service-test-BKkCjErY.js +0 -87
  752. package/bundled-test-harness/assets/render-timer-stub-test-TUDMWJ8v.js +0 -84
  753. package/bundled-test-harness/assets/rendered-markdown-ColekGTF.js +0 -211
  754. package/bundled-test-harness/assets/rendered-markdown-test-B4CWIo02.js +0 -360
  755. package/bundled-test-harness/assets/requirementDiagram-4Y6WPE33-CTICatxk.js +0 -2550
  756. package/bundled-test-harness/assets/rich-markdown-field-test-B5u6D3Nk.js +0 -806
  757. package/bundled-test-harness/assets/room-message-test-0eJSqQfu.js +0 -171
  758. package/bundled-test-harness/assets/rust-crypto-B0m3j_yZ.js +0 -16141
  759. package/bundled-test-harness/assets/sanitize-module-list-test-rH6OqjKh.js +0 -68
  760. package/bundled-test-harness/assets/sankeyDiagram-5OEKKPKP-hBIg6-LP.js +0 -1357
  761. package/bundled-test-harness/assets/schema-editor-test-DH4MLFCD.js +0 -784
  762. package/bundled-test-harness/assets/schema-generation-test-BZMkX7VA.js +0 -28
  763. package/bundled-test-harness/assets/scrolling-test-CFTyLG8X.js +0 -292
  764. package/bundled-test-harness/assets/search-and-choose-test-CcbVyp4c.js +0 -156
  765. package/bundled-test-harness/assets/search-cache-key-test-BYt46iNT.js +0 -79
  766. package/bundled-test-harness/assets/search-command-test-BRIJPr54.js +0 -135
  767. package/bundled-test-harness/assets/search-correlation-id-test-B298Tfux.js +0 -101
  768. package/bundled-test-harness/assets/search-data-test-DHV2Fd4S.js +0 -243
  769. package/bundled-test-harness/assets/search-google-images-test-CNrazllP.js +0 -168
  770. package/bundled-test-harness/assets/search-in-flight-key-test-Dy3bU2c1.js +0 -79
  771. package/bundled-test-harness/assets/search-test-DL1-gD-G.js +0 -847
  772. package/bundled-test-harness/assets/send-ai-assistant-message-test-CyEkQ5pD.js +0 -52
  773. package/bundled-test-harness/assets/send-bot-trigger-event-test-CAsK28m-.js +0 -56
  774. package/bundled-test-harness/assets/send-request-via-proxy-test-DpMlRvPv.js +0 -333
  775. package/bundled-test-harness/assets/sending-test-BOeGYcTU.js +0 -317
  776. package/bundled-test-harness/assets/sequenceDiagram-3UESZ5HK-DQMiI040.js +0 -5551
  777. package/bundled-test-harness/assets/serialization-test-gY2QQVxS.js +0 -8283
  778. package/bundled-test-harness/assets/set-user-system-card-test-BE3y5GNK.js +0 -59
  779. package/bundled-test-harness/assets/setup-B8O9JQKq.js +0 -769
  780. package/bundled-test-harness/assets/setup-BMqGUBDK.js +0 -2
  781. package/bundled-test-harness/assets/show-card-test-BfJNnWMy.js +0 -362
  782. package/bundled-test-harness/assets/skills-test-CqhnZxBi.js +0 -568
  783. package/bundled-test-harness/assets/spec-test-BUKNn_1q.js +0 -1012
  784. package/bundled-test-harness/assets/stateDiagram-AJRCARHV-BoOij2yt.js +0 -363
  785. package/bundled-test-harness/assets/stateDiagram-v2-BHNVJYJU-Dosil5p2.js +0 -29
  786. package/bundled-test-harness/assets/store-add-test-BR1M-IDR.js +0 -52
  787. package/bundled-test-harness/assets/store-test-DaqI-HRh.js +0 -1562
  788. package/bundled-test-harness/assets/summarize-session-test-BMg54JGF.js +0 -169
  789. package/bundled-test-harness/assets/svg-image-def-test-xNyIKRPV.js +0 -164
  790. package/bundled-test-harness/assets/switch-submode-test-BKvpODUD.js +0 -168
  791. package/bundled-test-harness/assets/test-realm-service-worker-DK4SmTM5.js +0 -73
  792. package/bundled-test-harness/assets/tests-x4_eRjiT.js +0 -2770
  793. package/bundled-test-harness/assets/text-file-def-test-CsXiyVfI.js +0 -93
  794. package/bundled-test-harness/assets/text-input-validator-test-D4s_laO7.js +0 -155
  795. package/bundled-test-harness/assets/text-suggestion-test-CkLf1xuS.js +0 -339
  796. package/bundled-test-harness/assets/theme-card-test-D-6L6OfD.js +0 -573
  797. package/bundled-test-harness/assets/timeline-definition-PNZ67QCA-DD2d81uJ.js +0 -1545
  798. package/bundled-test-harness/assets/transform-cards-test-CRZF2gqZ.js +0 -341
  799. package/bundled-test-harness/assets/treeView-BLDUP644-CUm8wuM-.js +0 -3
  800. package/bundled-test-harness/assets/treemap-LRROVOQU-lbLrY2PE.js +0 -3
  801. package/bundled-test-harness/assets/ts-file-def-test-CDo6ojCf.js +0 -90
  802. package/bundled-test-harness/assets/tsMode-BPQoRibc.js +0 -968
  803. package/bundled-test-harness/assets/typescript-BaU6yDhK.js +0 -2
  804. package/bundled-test-harness/assets/update-room-skills-test-BnSgVFwT.js +0 -197
  805. package/bundled-test-harness/assets/url-test-CK-HB0qu.js +0 -103
  806. package/bundled-test-harness/assets/use-ai-assistant-test-BuJXEP8H.js +0 -330
  807. package/bundled-test-harness/assets/validate-realm-test-Cx7MOtS8.js +0 -53
  808. package/bundled-test-harness/assets/vennDiagram-CIIHVFJN-DtXtzGwZ.js +0 -2833
  809. package/bundled-test-harness/assets/wardley-L42UT6IY-D8aCp_Ox.js +0 -3
  810. package/bundled-test-harness/assets/wardleyDiagram-YWT4CUSO-D-73g3bB.js +0 -872
  811. package/bundled-test-harness/assets/wav-audio-def-test-DIo2GzQL.js +0 -155
  812. package/bundled-test-harness/assets/webp-image-def-test-BQsV0_De.js +0 -225
  813. package/bundled-test-harness/assets/workspace-chooser-delete-test-peDXmnQf.js +0 -189
  814. package/bundled-test-harness/assets/workspace-chooser-test-DS2RtTEF.js +0 -235
  815. package/bundled-test-harness/assets/workspace-delete-multiple-test-DTbjRSzN.js +0 -213
  816. package/bundled-test-harness/assets/workspace-delete-summary-test-B--ink4m.js +0 -63
  817. package/bundled-test-harness/assets/write-binary-file-test-A3TQ5lFn.js +0 -100
  818. package/bundled-test-harness/assets/write-text-file-test-D_rjNDsT.js +0 -172
  819. package/bundled-test-harness/assets/xychartDiagram-2RQKCTM6-D1aoqDp-.js +0 -2551
  820. /package/bundled-test-harness/assets/{abap-CLdVBGqB.js → abap-FZAuBTMl.js} +0 -0
  821. /package/bundled-test-harness/assets/{apex-DV8eHjgQ.js → apex-CAO3qFTc.js} +0 -0
  822. /package/bundled-test-harness/assets/{array-DsDWWqmW.js → array-CRfHnEm4.js} +0 -0
  823. /package/bundled-test-harness/assets/{azcli-C4pZYsiJ.js → azcli-Bnu7jG0Y.js} +0 -0
  824. /package/bundled-test-harness/assets/{bat-DBoaeFpB.js → bat-DdE54Pqq.js} +0 -0
  825. /package/bundled-test-harness/assets/{bicep-VlrJhbeK.js → bicep-Dp4vFp3K.js} +0 -0
  826. /package/bundled-test-harness/assets/{cameligo-jyzrvLUm.js → cameligo-Cym4x98m.js} +0 -0
  827. /package/bundled-test-harness/assets/{chunk-NNHCCRGN-Be15HUz2.js → chunk-NNHCCRGN-PWOfDYpb.js} +0 -0
  828. /package/bundled-test-harness/assets/{clojure-bzahmEtz.js → clojure-B47IJ25u.js} +0 -0
  829. /package/bundled-test-harness/assets/{codemirror-context-BauLYUNt.js → codemirror-context-oJy03XqC.js} +0 -0
  830. /package/bundled-test-harness/assets/{coffee-CMADdzOH.js → coffee-CZlkBXT8.js} +0 -0
  831. /package/bundled-test-harness/assets/{cpp-CEJwzcLE.js → cpp-mX4KaA7p.js} +0 -0
  832. /package/bundled-test-harness/assets/{csharp-XYqm0UE0.js → csharp-C-OeDGwk.js} +0 -0
  833. /package/bundled-test-harness/assets/{csp-82fNWQc2.js → csp-AS2OEE8R.js} +0 -0
  834. /package/bundled-test-harness/assets/{css-B5b0ooFS.js → css-C-TQxhWe.js} +0 -0
  835. /package/bundled-test-harness/assets/{cssMode-DTKuqAkO.js → cssMode-C87GnEsk.js} +0 -0
  836. /package/bundled-test-harness/assets/{cypher-Df9GkdDY.js → cypher-T6F_0eIM.js} +0 -0
  837. /package/bundled-test-harness/assets/{cytoscape.esm-D0iwZ9Jj.js → cytoscape.esm-Bc2V-MhP.js} +0 -0
  838. /package/bundled-test-harness/assets/{dart-C4JY9dMc.js → dart-DzVesk0n.js} +0 -0
  839. /package/bundled-test-harness/assets/{defaultLocale-BtLxQtxy.js → defaultLocale-CAoL4lzt.js} +0 -0
  840. /package/bundled-test-harness/assets/{dist-D-PuK2H3.js → dist-BZ5MfZEJ.js} +0 -0
  841. /package/bundled-test-harness/assets/{dockerfile-Ck0tNttO.js → dockerfile-BH0_bQxC.js} +0 -0
  842. /package/bundled-test-harness/assets/{ecl-BpeXqJR_.js → ecl-KIxjxrJo.js} +0 -0
  843. /package/bundled-test-harness/assets/{elixir-HmBzrXaX.js → elixir-CPPdtCW1.js} +0 -0
  844. /package/bundled-test-harness/assets/{flow9-DhsfsDhH.js → flow9-Dxho7Ldf.js} +0 -0
  845. /package/bundled-test-harness/assets/{freemarker2-D3Yd6nGl.js → freemarker2-DP1aOr3_.js} +0 -0
  846. /package/bundled-test-harness/assets/{fsharp-D56OprHc.js → fsharp-ozN53Joe.js} +0 -0
  847. /package/bundled-test-harness/assets/{go-BITsFLfX.js → go-DPj6Rbqe.js} +0 -0
  848. /package/bundled-test-harness/assets/{graphlib-qkaQhadO.js → graphlib-DOITgaas.js} +0 -0
  849. /package/bundled-test-harness/assets/{graphql-CJJVsEX1.js → graphql-C8_-AnBG.js} +0 -0
  850. /package/bundled-test-harness/assets/{handlebars-Dvw6QbL7.js → handlebars-B2gYBZpU.js} +0 -0
  851. /package/bundled-test-harness/assets/{hcl-DSTZcJuq.js → hcl-r3d7BhXB.js} +0 -0
  852. /package/bundled-test-harness/assets/{helpers-D_JZYUOQ.js → helpers-CItTycq2.js} +0 -0
  853. /package/bundled-test-harness/assets/{html-Bik3qLmc.js → html-DhN1Nxr0.js} +0 -0
  854. /package/bundled-test-harness/assets/{htmlMode-DPCaR3Ab.js → htmlMode-BnBg5hCh.js} +0 -0
  855. /package/bundled-test-harness/assets/{ini-li-kC8ZU.js → ini-CzzRigmS.js} +0 -0
  856. /package/bundled-test-harness/assets/{init-Bq7IGMcH.js → init-Bd2YUhsG.js} +0 -0
  857. /package/bundled-test-harness/assets/{java-CETpuNN7.js → java-BgeDsIoV.js} +0 -0
  858. /package/bundled-test-harness/assets/{jsonMode-CZ3hOG-W.js → jsonMode-sRb0gsB8.js} +0 -0
  859. /package/bundled-test-harness/assets/{julia-hgihs1aN.js → julia-u3K1H5Ts.js} +0 -0
  860. /package/bundled-test-harness/assets/{katex-DqhsSYO4.js → katex-CHY7BUZt.js} +0 -0
  861. /package/bundled-test-harness/assets/{kotlin-CKfyb82K.js → kotlin-DfqmlJ10.js} +0 -0
  862. /package/bundled-test-harness/assets/{less-xB5yXbw8.js → less-CSzH7DPY.js} +0 -0
  863. /package/bundled-test-harness/assets/{lexon-BLwrXVrI.js → lexon-DwPTpxXt.js} +0 -0
  864. /package/bundled-test-harness/assets/{liquid-Bf2lpknJ.js → liquid-95J9g5Vk.js} +0 -0
  865. /package/bundled-test-harness/assets/{lua-Ch5i3IrF.js → lua-CGw6zbeh.js} +0 -0
  866. /package/bundled-test-harness/assets/{m3-D5tNlhaF.js → m3-BfgwloGF.js} +0 -0
  867. /package/bundled-test-harness/assets/{markdown-Dzc9uMky.js → markdown-RZRK7Mc9.js} +0 -0
  868. /package/bundled-test-harness/assets/{mdx-xsI4TJrf.js → mdx-BYD-W2sn.js} +0 -0
  869. /package/bundled-test-harness/assets/{mips-CmdzHkQm.js → mips-DAySN5Lp.js} +0 -0
  870. /package/bundled-test-harness/assets/{msdax-CAZvxB9E.js → msdax-Cy0COjTJ.js} +0 -0
  871. /package/bundled-test-harness/assets/{mysql-CyVS-z5H.js → mysql-CfGw9jyw.js} +0 -0
  872. /package/bundled-test-harness/assets/{objective-c-CCG8cTc_.js → objective-c-B4uU-8T-.js} +0 -0
  873. /package/bundled-test-harness/assets/{pascal-c8B45FOC.js → pascal-CGDuZzXi.js} +0 -0
  874. /package/bundled-test-harness/assets/{pascaligo-CCqwSqBv.js → pascaligo-eg02k4VJ.js} +0 -0
  875. /package/bundled-test-harness/assets/{path-CsS38UoK.js → path-Dxiz9G2t.js} +0 -0
  876. /package/bundled-test-harness/assets/{perl-JUICYbO2.js → perl-BiT-JJJw.js} +0 -0
  877. /package/bundled-test-harness/assets/{pgsql-aNRiL0Cg.js → pgsql-DAMjrVBF.js} +0 -0
  878. /package/bundled-test-harness/assets/{php-B0YZj_Vw.js → php-kOSUYQyc.js} +0 -0
  879. /package/bundled-test-harness/assets/{pla-D3Zb3KCn.js → pla-BShYV-HC.js} +0 -0
  880. /package/bundled-test-harness/assets/{postiats-ks1KABlA.js → postiats-9Xamd4W2.js} +0 -0
  881. /package/bundled-test-harness/assets/{powerquery-D35K_osc.js → powerquery-l2Nw525Q.js} +0 -0
  882. /package/bundled-test-harness/assets/{powershell-DXQo6KTk.js → powershell-B5rdEn86.js} +0 -0
  883. /package/bundled-test-harness/assets/{protobuf-CFDvn49_.js → protobuf-DjFcruCV.js} +0 -0
  884. /package/bundled-test-harness/assets/{pug-CGdWzJm1.js → pug-d79Nz4-Z.js} +0 -0
  885. /package/bundled-test-harness/assets/{python-BHLYjYlP.js → python-d8oxFZIM.js} +0 -0
  886. /package/bundled-test-harness/assets/{qsharp-BIq3i63T.js → qsharp-CeTlfxZW.js} +0 -0
  887. /package/bundled-test-harness/assets/{qunit-2hoQyeAZ.js → qunit-Cqwmt9Vl.js} +0 -0
  888. /package/bundled-test-harness/assets/{r-CBvzvDSA.js → r-BOu7JTro.js} +0 -0
  889. /package/bundled-test-harness/assets/{razor-JQ0RiIvo.js → razor-ZatoG_Is.js} +0 -0
  890. /package/bundled-test-harness/assets/{recent-files-cards-BQMviQb1.js → recent-files-cards-C3vIjaKb.js} +0 -0
  891. /package/bundled-test-harness/assets/{redis-BmSHTqTU.js → redis-DdXYPyQE.js} +0 -0
  892. /package/bundled-test-harness/assets/{redshift-B1NmQEH7.js → redshift-DswnW-YX.js} +0 -0
  893. /package/bundled-test-harness/assets/{render-component-g_fhz2dX.js → render-component-Bs21y6iv.js} +0 -0
  894. /package/bundled-test-harness/assets/{restructuredtext-Br9BtTbk.js → restructuredtext-C75vUmvX.js} +0 -0
  895. /package/bundled-test-harness/assets/{rough.esm-D8VnzNsL.js → rough.esm-B83ARgx6.js} +0 -0
  896. /package/bundled-test-harness/assets/{ruby-D9_-y1I3.js → ruby-D77950a-.js} +0 -0
  897. /package/bundled-test-harness/assets/{rust-1Jjr1EOs.js → rust-C_G4PKsG.js} +0 -0
  898. /package/bundled-test-harness/assets/{sb-X2JE4zEr.js → sb-Cz3P8_Gp.js} +0 -0
  899. /package/bundled-test-harness/assets/{scala-qFJERKkR.js → scala-DYqUg04P.js} +0 -0
  900. /package/bundled-test-harness/assets/{scheme-D-WJPStO.js → scheme-B31XEGu5.js} +0 -0
  901. /package/bundled-test-harness/assets/{scss-DysfZiXA.js → scss-CtvB8On5.js} +0 -0
  902. /package/bundled-test-harness/assets/{shell-C0Iu3NNJ.js → shell-C2QqpcPN.js} +0 -0
  903. /package/bundled-test-harness/assets/{solidity-Bato3Qrk.js → solidity-FHrhZFd-.js} +0 -0
  904. /package/bundled-test-harness/assets/{sophia-DI0cKdK8.js → sophia-Cxv5FOXb.js} +0 -0
  905. /package/bundled-test-harness/assets/{sparql-BTJMtwoD.js → sparql-CgGkGeQB.js} +0 -0
  906. /package/bundled-test-harness/assets/{sql-R6uHqFYU.js → sql-S6Dos2P0.js} +0 -0
  907. /package/bundled-test-harness/assets/{src-CdPyB7gY.js → src-CvuaVSsl.js} +0 -0
  908. /package/bundled-test-harness/assets/{st-CoyBvq37.js → st-Bfa7LAWp.js} +0 -0
  909. /package/bundled-test-harness/assets/{swift-Bj-haAlF.js → swift-BQD5Ef-A.js} +0 -0
  910. /package/bundled-test-harness/assets/{systemverilog-B-x1NEFI.js → systemverilog-DaNkPux4.js} +0 -0
  911. /package/bundled-test-harness/assets/{tcl-DAUdSQgz.js → tcl-gOPgCDyb.js} +0 -0
  912. /package/bundled-test-harness/assets/{test-support-BHjxBpDK.js → test-support-BEQX5x9U.js} +0 -0
  913. /package/bundled-test-harness/assets/{test-support-yKvYEh-u.js → test-support-BL4XKobD.js} +0 -0
  914. /package/bundled-test-harness/assets/{twig-B0sJ-GzS.js → twig-Bk4gPn5b.js} +0 -0
  915. /package/bundled-test-harness/assets/{typescript-DTMIM5Gl.js → typescript-pPYlxWzr.js} +0 -0
  916. /package/bundled-test-harness/assets/{typespec-6yo9VQxY.js → typespec-D9Zz743B.js} +0 -0
  917. /package/bundled-test-harness/assets/{vb-Bh2IfdtJ.js → vb-ziqHIsJV.js} +0 -0
  918. /package/bundled-test-harness/assets/{view-card-demo-U_AOj-RK.js → view-card-demo-CSIVYD3T.js} +0 -0
  919. /package/bundled-test-harness/assets/{wgsl-DsvJnCCt.js → wgsl-BXiwkiJL.js} +0 -0
  920. /package/bundled-test-harness/assets/{xml-CisPXcjD.js → xml-a_tUOik-.js} +0 -0
  921. /package/bundled-test-harness/assets/{yaml-DkHUoYI5.js → yaml-B3H8LDzK.js} +0 -0
@@ -1,1128 +0,0 @@
1
- import { s as __toESM } from "./chunk-CGdGNDIi.js";
2
- import { Dn as APP_BOXEL_LLM_MODE, Mi as skillCardRef, On as APP_BOXEL_MESSAGE_MSGTYPE, Tn as APP_BOXEL_DEBUG_MESSAGE_EVENT_TYPE, Zn as testRealmURL, _n as APP_BOXEL_CODE_PATCH_RESULT_MSGTYPE, di as SEARCH_MARKER, fi as SEPARATOR_MARKER, gn as APP_BOXEL_CODE_PATCH_RESULT_EVENT_TYPE, li as REPLACE_MARKER, vi as baseRealm, vn as APP_BOXEL_CODE_PATCH_RESULT_REL_TYPE, yn as APP_BOXEL_COMMAND_REQUESTS_KEY } from "./runtime-common-C7uLt5dN.js";
3
- import { A as settled, I as waitUntil, a as find, d as click, i as findAll, o as waitFor } from "./dist-D1U_uSwt.js";
4
- import { t as require_qunit } from "./qunit-2hoQyeAZ.js";
5
- import { r as getService } from "./dist-BfNSLd0O.js";
6
- import { D as setupAcceptanceTestRealm, F as setupUserSubscription, M as setupOnSave, N as setupRealmCacheTeardown, a as SYSTEM_CARD_FIXTURE_CONTENTS, at as setupAuthEndpoints, b as getMonacoContent, j as setupLocalIndexing, nt as setupApplicationTest, o as addSkillToAiAssistant, q as withCachedRealmSetup, t as setupMockMatrix, tt as visitOperatorMode, w as realmConfigCardJSON } from "./mock-matrix-DqDbNhEj.js";
7
- import { mt as setupBaseRealm, s as CardsGrid } from "./base-realm-43wjttN2.js";
8
- //#region tests/acceptance/code-patches-test.gts
9
- var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
10
- var mockedFileContent = "Hello, world!";
11
- var testCardContent = `
12
- import { CardDef, Component, field, contains } from 'https://cardstack.com/base/card-api';
13
- import StringField from 'https://cardstack.com/base/string';
14
-
15
- export class TestCard extends CardDef {
16
- static displayName = 'Test Card';
17
-
18
- @field name = contains(StringField);
19
- @field cardDescription = contains(StringField);
20
-
21
- static isolated = class Isolated extends Component<typeof this> {
22
- <template>
23
- <div data-test-test-card>
24
- <h1>{{@model.name}}</h1>
25
- <p>{{@model.cardDescription}}</p>
26
- </div>
27
- </template>
28
- };
29
- }
30
- `;
31
- (0, import_qunit.module)("Acceptance | Code patches tests", function(hooks) {
32
- setupApplicationTest(hooks);
33
- setupLocalIndexing(hooks);
34
- setupOnSave(hooks);
35
- setupRealmCacheTeardown(hooks);
36
- let mockMatrixUtils = setupMockMatrix(hooks, {
37
- loggedInAs: "@testuser:localhost",
38
- activeRealms: [baseRealm.url, testRealmURL]
39
- });
40
- let { simulateRemoteMessage, getRoomIds, getRoomEvents, createAndJoinRoom } = mockMatrixUtils;
41
- setupBaseRealm(hooks);
42
- hooks.beforeEach(async function() {
43
- getService("matrix-service").fetchMatrixHostedFile = async (url) => {
44
- if (url.includes("test-card.gts")) return new Response(testCardContent);
45
- return new Response(mockedFileContent);
46
- };
47
- await createAndJoinRoom({
48
- sender: "@testuser:localhost",
49
- name: "room-test"
50
- });
51
- setupUserSubscription();
52
- setupAuthEndpoints();
53
- await withCachedRealmSetup(async () => {
54
- await setupAcceptanceTestRealm({
55
- mockMatrixUtils,
56
- contents: {
57
- ...SYSTEM_CARD_FIXTURE_CONTENTS,
58
- "index.json": new CardsGrid(),
59
- "realm.json": realmConfigCardJSON({
60
- name: "Test Workspace B",
61
- backgroundURL: "https://i.postimg.cc/VNvHH93M/pawel-czerwinski-Ly-ZLa-A5jti-Y-unsplash.jpg",
62
- iconURL: "https://i.postimg.cc/L8yXRvws/icon.png"
63
- }),
64
- "hello.txt": "Hello, world!",
65
- "hi.txt": "Hi, world!\nHow are you?",
66
- "empty-file.gts": "",
67
- "test-card.gts": testCardContent,
68
- "Skill/useful-commands.json": { data: {
69
- type: "card",
70
- attributes: {
71
- instructions: "Here are few commands you might find useful: * switch-submode: use this with \"code\" to go to code mode and \"interact\" to go to interact mode. * search-cards-by-type-and-title: search for cards by name or description.",
72
- commands: [
73
- {
74
- codeRef: {
75
- name: "SearchCardsByTypeAndTitleCommand",
76
- module: "@cardstack/boxel-host/commands/search-cards"
77
- },
78
- requiresApproval: true
79
- },
80
- {
81
- codeRef: {
82
- name: "default",
83
- module: "@cardstack/boxel-host/commands/switch-submode"
84
- },
85
- requiresApproval: true
86
- },
87
- {
88
- codeRef: {
89
- name: "default",
90
- module: "@cardstack/boxel-host/commands/show-card"
91
- },
92
- requiresApproval: true
93
- }
94
- ],
95
- cardTitle: "Useful Commands",
96
- cardDescription: null,
97
- cardThumbnailURL: null
98
- },
99
- meta: { adoptsFrom: skillCardRef }
100
- } }
101
- }
102
- });
103
- });
104
- });
105
- (0, import_qunit.test)("can patch code", async function(assert) {
106
- await visitOperatorMode({
107
- submode: "code",
108
- codePath: `${testRealmURL}hello.txt`
109
- });
110
- await click("[data-test-open-ai-assistant]");
111
- let roomId = getRoomIds().pop();
112
- let codeBlock = `\`\`\`
113
- http://test-realm/test/hello.txt
114
- ${SEARCH_MARKER}
115
- Hello, world!
116
- ${SEPARATOR_MARKER}
117
- Hi, world!
118
- ${REPLACE_MARKER}\n\`\`\``;
119
- simulateRemoteMessage(roomId, "@testuser:localhost", {
120
- body: "Hey there respond with a code patch to update the hello.txt file",
121
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
122
- format: "org.matrix.custom.html",
123
- isStreamingFinished: true,
124
- data: { attachedFiles: [{
125
- url: "http://test-realm/test/hello.txt",
126
- name: "hello.txt",
127
- sourceUrl: "http://test-realm/test/hello.txt"
128
- }] }
129
- });
130
- let eventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
131
- body: codeBlock,
132
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
133
- format: "org.matrix.custom.html",
134
- isStreamingFinished: true
135
- });
136
- let originalContent = getMonacoContent();
137
- assert.strictEqual(originalContent, "Hello, world!");
138
- await waitFor("[data-test-apply-code-button]");
139
- await click("[data-test-apply-code-button]");
140
- await waitUntil(() => getMonacoContent() === "Hi, world!");
141
- await click("[data-test-attached-file-dropdown-button=\"hello.txt\"]");
142
- await waitUntil(() => document.querySelector("[data-test-copy-file-content]")?.getAttribute("data-test-copy-file-content") === mockedFileContent);
143
- let codePatchResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.codePatchResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.codePatchAnnotation" && event.content["m.relates_to"]?.event_id === eventId && event.content["m.relates_to"]?.key === "applied");
144
- assert.strictEqual(codePatchResultEvents.length, 1, "code patch result event is dispatched");
145
- assert.strictEqual(codePatchResultEvents[0].content.codeBlockIndex, 0, "code patch result event has the correct code block index");
146
- assert.strictEqual(codePatchResultEvents[0].content?.["m.relates_to"]?.key, "applied", "code patch result event has the correct key");
147
- assert.deepEqual(JSON.parse(codePatchResultEvents[0].content?.data ?? "{}").context, {
148
- agentId: getService("matrix-service").agentId,
149
- codeMode: {
150
- currentFile: "http://test-realm/test/hello.txt",
151
- selectionRange: {
152
- endColumn: 1,
153
- endLine: 1,
154
- startColumn: 1,
155
- startLine: 1
156
- },
157
- moduleInspectorPanel: "schema"
158
- },
159
- submode: "code",
160
- debug: false,
161
- openCardIds: [],
162
- realmUrl: "http://test-realm/test/",
163
- realmPermissions: {
164
- canRead: true,
165
- canWrite: true
166
- }
167
- }, "patch code result event contains the context");
168
- assert.deepEqual(JSON.parse(codePatchResultEvents[0].content?.data ?? "{}").attachedFiles?.[0]?.name, "hello.txt", "updated file should be attached 1");
169
- assert.deepEqual(JSON.parse(codePatchResultEvents[0].content?.data ?? "{}").attachedFiles?.[0]?.sourceUrl, "http://test-realm/test/hello.txt", "updated file should be attached 2");
170
- let roomRequestIds = getService("command-service").aiAssistantClientRequestIdsByRoom?.get(roomId);
171
- assert.ok(roomRequestIds, "aiAssistantClientRequestIdsByRoom has an entry for the room");
172
- let ids = roomRequestIds ? Array.from(roomRequestIds) : [];
173
- assert.ok(ids.some((id) => id.startsWith(`bot-patch:${encodeURIComponent(roomId)}:patch-code`)), "bot patch clientRequestId recorded for the room");
174
- assert.dom("[data-test-boxel-menu-item-text=\"Open in Code Mode\"]").exists();
175
- assert.dom("[data-test-boxel-menu-item-text=\"Copy Submitted Content\"]").exists();
176
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Submitted Content\"]").exists();
177
- await waitUntil(() => document.querySelector("[data-test-copy-file-content]")?.getAttribute("data-test-copy-file-content") === "Hello, world!");
178
- await click("[data-test-submode-switcher-button]");
179
- await click("[data-test-boxel-menu-item-text=\"Interact\"]");
180
- await click("[data-test-workspace-button=\"Test Workspace B\"]");
181
- await waitFor("[data-test-submode-switcher=\"interact\"]");
182
- await click("[data-test-attached-file-dropdown-button=\"hello.txt\"]");
183
- await click("[data-test-boxel-menu-item-text=\"Open in Code Mode\"]");
184
- await waitFor("[data-test-submode-switcher=\"code\"]");
185
- mockedFileContent = "Restored content!";
186
- await click("[data-test-attached-file-dropdown-button=\"hello.txt\"]");
187
- await click("[data-test-boxel-menu-item-text=\"Restore Submitted Content\"]");
188
- await click("[data-test-confirm-restore-button]");
189
- await waitUntil(() => getMonacoContent() === "Restored content!", { timeout: 5e3 });
190
- });
191
- (0, import_qunit.test)("can patch code and execute command using \"Accept All\" button", async function(assert) {
192
- await visitOperatorMode({
193
- stacks: [[{
194
- id: `${testRealmURL}index`,
195
- format: "isolated"
196
- }]],
197
- aiAssistantOpen: true
198
- });
199
- assert.dom(`[data-test-stack-card="${testRealmURL}index"]`).exists();
200
- await waitFor("[data-room-settled]");
201
- await addSkillToAiAssistant(`${testRealmURL}Skill/useful-commands`);
202
- let codeBlock = `\`\`\`ruby
203
- def hello
204
- "I am just a simple code block, not a code patch. Even if I am here, it should not affect the 'Accept All' functionality related to code patches."
205
- end
206
- \`\`\`
207
-
208
- \`\`\`
209
- http://test-realm/test/hello.txt
210
- ${SEARCH_MARKER}
211
- Hello, world!
212
- ${SEPARATOR_MARKER}
213
- Hi, world!
214
- ${REPLACE_MARKER}
215
- \`\`\`
216
-
217
- I will also update the second file per your request.
218
-
219
- \`\`\`
220
- http://test-realm/test/hi.txt
221
- ${SEARCH_MARKER}
222
- Hi, world!
223
- ${SEPARATOR_MARKER}
224
- Greetings, world!
225
- ${REPLACE_MARKER}
226
- \`\`\`
227
-
228
- \`\`\`
229
- http://test-realm/test/hi.txt
230
- ${SEARCH_MARKER}
231
- How are you?
232
- ${SEPARATOR_MARKER}
233
- We are one!
234
- ${REPLACE_MARKER}
235
- \`\`\``;
236
- let roomId = getRoomIds().pop();
237
- simulateRemoteMessage(roomId, "@aibot:localhost", {
238
- body: codeBlock,
239
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
240
- format: "org.matrix.custom.html",
241
- isStreamingFinished: true,
242
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
243
- id: "abc123",
244
- name: "show-card_566f",
245
- arguments: JSON.stringify({
246
- cardDescription: "Showing skill card",
247
- attributes: { cardId: `${testRealmURL}Skill/useful-commands` }
248
- })
249
- }]
250
- });
251
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-accept-all]", { timeout: 4e3 });
252
- await waitUntil(() => findAll("[data-test-code-diff-editor]").length === 3, {
253
- timeout: 5e3,
254
- timeoutMessage: "timed out waiting for all code diff editors to render"
255
- });
256
- await settled();
257
- click("[data-test-ai-assistant-action-bar] [data-test-accept-all]");
258
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-loading-indicator]");
259
- await waitUntil(() => document.querySelector("[data-test-ai-assistant-action-bar]")?.textContent?.includes("Apply Diff") && find("[data-test-code-block-index] [data-test-apply-state=\"applying\"]"), { timeout: 5e3 });
260
- await waitUntil(() => document.querySelector("[data-test-ai-assistant-action-bar]")?.textContent?.includes("Show Card"));
261
- await waitUntil(() => findAll("[data-test-code-block-index] [data-test-apply-state=\"applied\"]").length === 3, {
262
- timeout: 3e3,
263
- timeoutMessage: "timed out waiting for code patches to be in applied state"
264
- });
265
- assert.dom(`[data-test-stack-card="${testRealmURL}Skill/useful-commands"]`).exists();
266
- await visitOperatorMode({
267
- submode: "code",
268
- codePath: `${testRealmURL}hello.txt`
269
- });
270
- assert.strictEqual(getMonacoContent(), "Hi, world!", "hello.txt should be patched");
271
- await click("[data-test-file-browser-toggle]");
272
- await click("[data-test-file=\"hi.txt\"]");
273
- await waitUntil(() => getMonacoContent() === "Greetings, world!\nWe are one!", { timeout: 5e3 });
274
- let codePatchResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.codePatchResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.codePatchAnnotation" && event.content["m.relates_to"]?.key === "applied");
275
- assert.strictEqual(codePatchResultEvents.length, 3, "code patch result events are dispatched");
276
- });
277
- (0, import_qunit.skip)("trying but failing to patch code", async function(assert) {
278
- await visitOperatorMode({
279
- submode: "code",
280
- codePath: `${testRealmURL}hello.txt`
281
- });
282
- await click("[data-test-open-ai-assistant]");
283
- let roomId = getRoomIds().pop();
284
- let eventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
285
- body: `\`\`\`
286
- http://test-realm/test/hello.txt
287
- ${SEARCH_MARKER}
288
- Goodbye, world!
289
- ${SEPARATOR_MARKER}
290
- Hi, world!
291
- ${REPLACE_MARKER}\n\`\`\``,
292
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
293
- format: "org.matrix.custom.html",
294
- isStreamingFinished: true
295
- });
296
- let originalContent = getMonacoContent();
297
- assert.strictEqual(originalContent, "Hello, world!");
298
- await waitFor("[data-test-apply-code-button]");
299
- await click("[data-test-apply-code-button]");
300
- await waitFor("[data-test-apply-code-button][data-test-apply-state=\"failed\"]");
301
- let codePatchResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.codePatchResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.codePatchAnnotation" && event.content["m.relates_to"]?.event_id === eventId && event.content["m.relates_to"]?.key === "failed");
302
- assert.strictEqual(codePatchResultEvents.length, 1, "code patch result event is dispatched");
303
- assert.strictEqual(codePatchResultEvents[0].content.codeBlockIndex, 0, "code patch result event has the correct code block index");
304
- assert.strictEqual(codePatchResultEvents[0].content?.["m.relates_to"]?.key, "failed", "code patch result event has the correct key");
305
- assert.strictEqual(codePatchResultEvents[0].content?.failureReason, "The patch did not cleanly apply.", "code patch result event has the correct failure reason");
306
- assert.deepEqual(JSON.parse(codePatchResultEvents[0].content?.data ?? "{}").context, {
307
- agentId: getService("matrix-service").agentId,
308
- codeMode: {
309
- currentFile: "http://test-realm/test/hello.txt",
310
- selectionRange: {
311
- endColumn: 1,
312
- endLine: 1,
313
- startColumn: 1,
314
- startLine: 1
315
- },
316
- moduleInspectorPanel: "schema"
317
- },
318
- submode: "code",
319
- debug: false,
320
- openCardIds: [],
321
- realmPermissions: {
322
- canRead: true,
323
- canWrite: true
324
- },
325
- realmUrl: "http://test-realm/test/"
326
- }, "patch code result event contains the context");
327
- assert.deepEqual(JSON.parse(codePatchResultEvents[0].content?.data ?? "{}").attachedFiles?.[0]?.name, "hello.txt", "attempted file should be attached 1");
328
- assert.deepEqual(JSON.parse(codePatchResultEvents[0].content?.data ?? "{}").attachedFiles?.[0]?.sourceUrl, "http://test-realm/test/hello.txt", "attempted file should be attached 2");
329
- });
330
- (0, import_qunit.test)("failure patching code when using \"Accept All\" button", async function(assert) {
331
- await visitOperatorMode({
332
- stacks: [[{
333
- id: `${testRealmURL}index`,
334
- format: "isolated"
335
- }]],
336
- aiAssistantOpen: true
337
- });
338
- assert.dom(`[data-test-stack-card="${testRealmURL}index"]`).exists();
339
- await waitFor("[data-room-settled]");
340
- await addSkillToAiAssistant(`${testRealmURL}Skill/useful-commands`);
341
- let codeBlock = `\`\`\`ruby
342
- def hello
343
- "I am just a simple code block, not a code patch. Even if I am here, it should not affect the 'Accept All' functionality related to code patches."
344
- end
345
- \`\`\`
346
-
347
- \`\`\`
348
- http://test-realm/test/hello.txt
349
- ${SEARCH_MARKER}
350
- Hello, world!
351
- ${SEPARATOR_MARKER}
352
- Hi, world!
353
- ${REPLACE_MARKER}
354
- \`\`\`
355
-
356
- I will also update the second file per your request.
357
-
358
- \`\`\`
359
- http://test-realm/test/hi.txt
360
- ${SEARCH_MARKER}
361
- Hi, Mars!
362
- ${SEPARATOR_MARKER}
363
- Greetings, world!
364
- ${REPLACE_MARKER}
365
- \`\`\`
366
-
367
- \`\`\`
368
- http://test-realm/test/hi.txt
369
- ${SEARCH_MARKER}
370
- How are you?
371
- ${SEPARATOR_MARKER}
372
- We are one!
373
- ${REPLACE_MARKER}
374
- \`\`\``;
375
- let roomId = getRoomIds().pop();
376
- simulateRemoteMessage(roomId, "@aibot:localhost", {
377
- body: codeBlock,
378
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
379
- format: "org.matrix.custom.html",
380
- isStreamingFinished: true,
381
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
382
- id: "abc123",
383
- name: "show-card_566f",
384
- arguments: JSON.stringify({
385
- cardDescription: "Showing skill card",
386
- attributes: { cardId: `${testRealmURL}Skill/useful-commands` }
387
- })
388
- }]
389
- });
390
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-accept-all]", { timeout: 4e3 });
391
- let clickPromise = click("[data-test-ai-assistant-action-bar] [data-test-accept-all]");
392
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-loading-indicator]", { timeout: 5e3 });
393
- await waitUntil(() => document.querySelector("[data-test-ai-assistant-action-bar]")?.textContent?.includes("Apply Diff") && find("[data-test-code-block-index] [data-test-apply-state=\"applying\"]"), {
394
- timeout: 5e3,
395
- timeoutMessage: "timed out waiting action bar to patch to start applying"
396
- });
397
- await waitUntil(() => document.querySelector("[data-test-ai-assistant-action-bar]")?.textContent?.includes("Show Card"), {
398
- timeout: 5e3,
399
- timeoutMessage: "timed out waiting action bar to show Show Card"
400
- });
401
- await waitUntil(() => findAll("[data-test-code-block-index] [data-test-apply-state=\"applied\"]").length === 2, {
402
- timeout: 3e3,
403
- timeoutMessage: "timed out waiting for two code patches to be in applied state"
404
- });
405
- await waitUntil(() => findAll("[data-test-code-block-index] [data-test-apply-state=\"failed\"]").length === 1, {
406
- timeout: 3e3,
407
- timeoutMessage: "timed out waiting for one code patch to be in failed state"
408
- });
409
- assert.dom(`[data-test-stack-card="${testRealmURL}Skill/useful-commands"]`).exists();
410
- await clickPromise;
411
- await visitOperatorMode({
412
- submode: "code",
413
- codePath: `${testRealmURL}hello.txt`
414
- });
415
- assert.strictEqual(getMonacoContent(), "Hi, world!", "hello.txt should be patched");
416
- await click("[data-test-file-browser-toggle]");
417
- await click("[data-test-file=\"hi.txt\"]");
418
- await waitUntil(() => getMonacoContent() === "Hi, world!\nWe are one!", {
419
- timeout: 5e3,
420
- timeoutMessage: "timed out waiting monaco editor content to reflect partially failed patch"
421
- });
422
- let codePatchResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.codePatchResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.codePatchAnnotation");
423
- let successfulCodePatchResultEvents = codePatchResultEvents.filter((event) => event.content["m.relates_to"]?.key === "applied");
424
- assert.strictEqual(successfulCodePatchResultEvents.length, 2, "successful code patch result events are dispatched");
425
- let failedCodePatchResultEvents = codePatchResultEvents.filter((event) => event.content["m.relates_to"]?.key === "failed");
426
- assert.strictEqual(failedCodePatchResultEvents.length, 1, "failed code patch result events are dispatched");
427
- });
428
- (0, import_qunit.test)("action bar disappears when \"Cancel\" button is clicked", async function(assert) {
429
- await visitOperatorMode({
430
- submode: "code",
431
- codePath: `${testRealmURL}hello.txt`
432
- });
433
- let codeBlock = `\`\`\`
434
- http://test-realm/test/hello.txt
435
- ${SEARCH_MARKER}
436
- Hello, world!
437
- ${SEPARATOR_MARKER}
438
- Hi, world!
439
- ${REPLACE_MARKER}
440
- \`\`\`
441
-
442
- I will also update the second file per your request.
443
-
444
- \`\`\`
445
- http://test-realm/test/hi.txt
446
- ${SEARCH_MARKER}
447
- Hi, world!
448
- ${SEPARATOR_MARKER}
449
- Greetings, world!
450
- ${REPLACE_MARKER}
451
- \`\`\`
452
-
453
- \`\`\`
454
- http://test-realm/test/hi.txt
455
- ${SEARCH_MARKER}
456
- How are you?
457
- ${SEPARATOR_MARKER}
458
- We are one!
459
- ${REPLACE_MARKER}
460
- \`\`\``;
461
- await click("[data-test-open-ai-assistant]");
462
- simulateRemoteMessage(getRoomIds().pop(), "@aibot:localhost", {
463
- body: codeBlock,
464
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
465
- format: "org.matrix.custom.html",
466
- isStreamingFinished: true
467
- });
468
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-cancel]", { timeout: 4e3 });
469
- assert.dom("[data-test-ai-assistant-action-bar]").exists();
470
- await click("[data-test-ai-assistant-action-bar] [data-test-cancel]");
471
- assert.dom("[data-test-ai-assistant-action-bar]").doesNotExist();
472
- });
473
- (0, import_qunit.test)("does not display the action bar when the streaming is cancelled", async function(assert) {
474
- await visitOperatorMode({
475
- submode: "code",
476
- codePath: `${testRealmURL}hello.txt`
477
- });
478
- let codeBlock = `\`\`\`
479
- http://test-realm/test/hello.txt
480
- ${SEARCH_MARKER}
481
- Hello, world!
482
- ${SEPARATOR_MARKER}
483
- Hi, world!
484
- ${REPLACE_MARKER}
485
- \`\`\`
486
-
487
- I will also update the second file per your request.
488
-
489
- \`\`\`
490
- http://test-realm/test/hi.txt
491
- ${SEARCH_MARKER}
492
- Hi, world!
493
- ${SEPARATOR_MARKER}
494
- Greetings, world!
495
- ${REPLACE_MARKER}
496
- \`\`\`
497
-
498
- \`\`\`
499
- http://test-realm/test/hi.txt
500
- ${SEARCH_MARKER}
501
- How are you?
502
- ${SEPARATOR_MARKER}
503
- We are one!
504
- ${REPLACE_MARKER}
505
- \`\`\``;
506
- await click("[data-test-open-ai-assistant]");
507
- simulateRemoteMessage(getRoomIds().pop(), "@aibot:localhost", {
508
- body: codeBlock,
509
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
510
- format: "org.matrix.custom.html",
511
- isStreamingFinished: true,
512
- isCanceled: true
513
- });
514
- assert.dom("[data-test-ai-assistant-action-bar]").doesNotExist();
515
- await waitFor("[data-test-ai-assistant-message]");
516
- assert.dom("[data-test-ai-message-content]").containsText("{Generation Cancelled}");
517
- });
518
- (0, import_qunit.test)("previously applied code patches show the correct applied state", async function(assert) {
519
- let codeBlock = `\`\`\`
520
- http://test-realm/test/hello.txt
521
- ${SEARCH_MARKER}
522
- Hello, world!
523
- ${SEPARATOR_MARKER}
524
- Hi, world!
525
- ${REPLACE_MARKER}
526
- \`\`\`
527
-
528
- \`\`\`
529
- http://test-realm/test/hi.txt
530
- ${SEARCH_MARKER}
531
- Hi, world!
532
- ${SEPARATOR_MARKER}
533
- Greetings, world!
534
- ${REPLACE_MARKER}
535
- \`\`\`
536
-
537
- I will also update the second file per your request.
538
-
539
- \`\`\`
540
- http://test-realm/test/hi.txt
541
- ${SEARCH_MARKER}
542
- How are you?
543
- ${SEPARATOR_MARKER}
544
- We are one!
545
- ${REPLACE_MARKER}
546
- \`\`\``;
547
- let roomId = createAndJoinRoom({
548
- sender: "@testuser:localhost",
549
- name: "room-test"
550
- });
551
- simulateRemoteMessage(roomId, "@testuser:localhost", {
552
- msgtype: APP_BOXEL_CODE_PATCH_RESULT_MSGTYPE,
553
- "m.relates_to": {
554
- event_id: simulateRemoteMessage(roomId, "@aibot:localhost", {
555
- body: codeBlock,
556
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
557
- format: "org.matrix.custom.html",
558
- isStreamingFinished: true
559
- }),
560
- rel_type: APP_BOXEL_CODE_PATCH_RESULT_REL_TYPE,
561
- key: "applied"
562
- },
563
- codeBlockIndex: 1,
564
- data: { attachedFiles: [{
565
- name: "hi.txt",
566
- sourceUrl: "http://test-realm/test/hi.txt",
567
- url: "https://matrix-storage/hi.txt"
568
- }] }
569
- }, { type: APP_BOXEL_CODE_PATCH_RESULT_EVENT_TYPE });
570
- await visitOperatorMode({
571
- submode: "code",
572
- codePath: `${testRealmURL}hello.txt`
573
- });
574
- await click("[data-test-open-ai-assistant]");
575
- await click("[data-test-past-sessions-button]");
576
- await click(`[data-test-enter-room="${roomId}"]`);
577
- await waitUntil(() => findAll("[data-test-apply-state]").length === 3);
578
- assert.dom("[data-test-apply-state=\"applied\"]").exists({ count: 1 }, "one patch is applied");
579
- });
580
- (0, import_qunit.test)("can create new files using the search/replace block", async function(assert) {
581
- await visitOperatorMode({
582
- submode: "code",
583
- codePath: `${testRealmURL}hello.txt`
584
- });
585
- let codeBlock = `\`\`\`
586
- http://test-realm/test/file1.gts (new)
587
- ${SEARCH_MARKER}
588
- ${SEPARATOR_MARKER}
589
- I am a newly created file1
590
- ${REPLACE_MARKER}
591
- \`\`\`
592
- \`\`\`
593
- http://test-realm/test/file2.gts (new)
594
- ${SEARCH_MARKER}
595
- ${SEPARATOR_MARKER}
596
- I am a newly created file2
597
- ${REPLACE_MARKER}
598
- \`\`\`
599
- \`\`\`
600
- http://test-realm/test/hi.txt (new)
601
- ${SEARCH_MARKER}
602
- ${SEPARATOR_MARKER}
603
- This file will be created with a suffix because hi.txt already exists
604
- ${REPLACE_MARKER}
605
- \`\`\``;
606
- await click("[data-test-open-ai-assistant]");
607
- simulateRemoteMessage(getRoomIds().pop(), "@aibot:localhost", {
608
- body: codeBlock,
609
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
610
- format: "org.matrix.custom.html",
611
- isStreamingFinished: true
612
- });
613
- await waitFor(".code-block-diff");
614
- assert.dom("[data-test-code-block-index=\"0\"] [data-test-file-mode]").hasText("Create");
615
- assert.dom("[data-test-code-block-index=\"1\"] [data-test-file-mode]").hasText("Create");
616
- assert.dom("[data-test-code-block-index=\"2\"] [data-test-file-mode]").hasText("Create");
617
- assert.dom(".code-block-diff").exists({ count: 3 });
618
- await click("[data-test-file-browser-toggle]");
619
- await click("[data-test-attached-file-dropdown-button=\"file1.gts\"]");
620
- assert.dom("[data-test-boxel-menu-item-text=\"Open in Code Mode\"]").hasAttribute("disabled");
621
- assert.dom("[data-test-boxel-menu-item-text=\"Copy Generated Content\"]").hasAttribute("disabled");
622
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Generated Content\"]").hasAttribute("disabled");
623
- await click("[data-test-attached-file-dropdown-button=\"file1.gts\"]");
624
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-accept-all]");
625
- assert.dom("[data-test-file=\"file1.gts\"]").doesNotExist();
626
- assert.dom("[data-test-file=\"file2.gts\"]").doesNotExist();
627
- assert.dom("[data-test-file=\"hi.txt\"]").exists();
628
- assert.dom("[data-test-apply-code-button]").exists({ count: 3 });
629
- await click("[data-test-apply-code-button]");
630
- await waitFor("[data-test-file=\"file1.gts\"]");
631
- await click("[data-test-ai-assistant-action-bar] [data-test-accept-all]");
632
- await waitFor("[data-test-file=\"file2.gts\"]");
633
- assert.dom("[data-test-file=\"file2.gts\"]").exists();
634
- assert.dom("[data-test-file=\"hi.txt\"]").exists();
635
- await waitFor("[data-test-file=\"hi-1.txt\"]");
636
- assert.dom("[data-test-file=\"hi-1.txt\"]").exists("File hi-1.txt exists in file tree");
637
- assert.dom("[data-test-attached-file-dropdown-button]").exists({ count: 3 });
638
- assert.dom("[data-test-attached-file-dropdown-button=\"file1.gts\"]").exists();
639
- assert.dom("[data-test-attached-file-dropdown-button=\"file2.gts\"]").exists();
640
- await waitFor("[data-test-attached-file-dropdown-button=\"hi-1.txt\"]");
641
- assert.dom("[data-test-attached-file-dropdown-button=\"hi-1.txt\"]").exists();
642
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Content\"]").doesNotExist("Restore Content menu item should not be shown for new files");
643
- await click("[data-test-submode-switcher-button]");
644
- await click("[data-test-boxel-menu-item-text=\"Interact\"]");
645
- await click("[data-test-workspace-button=\"Test Workspace B\"]");
646
- await waitFor("[data-test-submode-switcher=\"interact\"]");
647
- await click("[data-test-attached-file-dropdown-button=\"file1.gts\"]");
648
- await click("[data-test-boxel-menu-item-text=\"Open in Code Mode\"]");
649
- await waitFor("[data-test-submode-switcher=\"code\"]");
650
- assert.strictEqual(getMonacoContent(), "I am a newly created file1", "file1.gts should be opened in code mode and the content should be the new file content");
651
- await click("[data-test-attached-file-dropdown-button=\"file2.gts\"]");
652
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Content\"]").doesNotExist("Restore Content menu item should not be shown for new files");
653
- await click("[data-test-boxel-menu-item-text=\"Open in Code Mode\"]");
654
- assert.strictEqual(getMonacoContent(), "I am a newly created file2", "file2.gts should be opened in code mode and the content should be the new file content");
655
- await click("[data-test-attached-file-dropdown-button=\"hi-1.txt\"]");
656
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Content\"]").doesNotExist("Restore Content menu item should not be shown for new files");
657
- await click("[data-test-boxel-menu-item-text=\"Open in Code Mode\"]");
658
- assert.strictEqual(getMonacoContent(), "This file will be created with a suffix because hi.txt already exists", "hi-1.txt should be opened in code mode and the content should be the new file content");
659
- });
660
- (0, import_qunit.test)("empty file shows generating content while streaming a new file patch", async function(assert) {
661
- await visitOperatorMode({
662
- submode: "code",
663
- codePath: `${testRealmURL}empty-file.gts`
664
- });
665
- await waitFor("[data-test-empty-file-message]");
666
- assert.dom("[data-test-empty-file-message]").hasText("File is empty - tools like schema inspector, and file preview, are unavailable.");
667
- await click("[data-test-open-ai-assistant]");
668
- let matrixService = getService("matrix-service");
669
- await waitFor("[data-room-settled]");
670
- let codeBlock = `\`\`\`
671
- ${testRealmURL}empty-file.gts (new)
672
- ${SEARCH_MARKER}
673
- \`\`\``;
674
- simulateRemoteMessage(matrixService.currentRoomId, "@aibot:localhost", {
675
- body: codeBlock,
676
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
677
- format: "org.matrix.custom.html",
678
- isStreamingFinished: false
679
- });
680
- await waitUntil(() => find("[data-test-empty-file-message]")?.textContent?.includes("being generated by the AI Assistant"));
681
- assert.dom("[data-test-empty-file-message]").hasText("File is empty - its content is currently being generated by the AI Assistant.");
682
- });
683
- (0, import_qunit.test)("empty file shows generating content while waiting for patch acceptance", async function(assert) {
684
- await visitOperatorMode({
685
- submode: "code",
686
- codePath: `${testRealmURL}empty-file.gts`
687
- });
688
- await waitFor("[data-test-empty-file-message]");
689
- assert.dom("[data-test-empty-file-message]").hasText("File is empty - tools like schema inspector, and file preview, are unavailable.");
690
- await click("[data-test-open-ai-assistant]");
691
- let matrixService = getService("matrix-service");
692
- await waitFor("[data-room-settled]");
693
- let codeBlock = `\`\`\`
694
- ${testRealmURL}empty-file.gts (new)
695
- ${SEARCH_MARKER}
696
- ${SEPARATOR_MARKER}
697
- Generated content
698
- ${REPLACE_MARKER}
699
- \`\`\``;
700
- simulateRemoteMessage(matrixService.currentRoomId, "@aibot:localhost", {
701
- body: codeBlock,
702
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
703
- format: "org.matrix.custom.html",
704
- isStreamingFinished: true
705
- });
706
- await waitUntil(() => find("[data-test-empty-file-message]")?.textContent?.includes("being generated by the AI Assistant"));
707
- assert.dom("[data-test-empty-file-message]").hasText("File is empty - its content is currently being generated by the AI Assistant.");
708
- });
709
- (0, import_qunit.test)("empty file stops showing generating content after canceling patch", async function(assert) {
710
- await visitOperatorMode({
711
- submode: "code",
712
- codePath: `${testRealmURL}empty-file.gts`
713
- });
714
- await waitFor("[data-test-empty-file-message]");
715
- await click("[data-test-open-ai-assistant]");
716
- let matrixService = getService("matrix-service");
717
- await waitFor("[data-room-settled]");
718
- let codeBlock = `\`\`\`
719
- ${testRealmURL}empty-file.gts (new)
720
- ${SEARCH_MARKER}
721
- ${SEPARATOR_MARKER}
722
- Generated content
723
- ${REPLACE_MARKER}
724
- \`\`\``;
725
- simulateRemoteMessage(matrixService.currentRoomId, "@aibot:localhost", {
726
- body: codeBlock,
727
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
728
- format: "org.matrix.custom.html",
729
- isStreamingFinished: true
730
- });
731
- await waitUntil(() => find("[data-test-empty-file-message]")?.textContent?.includes("being generated by the AI Assistant"));
732
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-cancel]");
733
- await click("[data-test-ai-assistant-action-bar] [data-test-cancel]");
734
- await waitUntil(() => {
735
- return !(find("[data-test-empty-file-message]")?.textContent ?? "").includes("being generated by the AI Assistant");
736
- });
737
- assert.dom("[data-test-empty-file-message]").hasText("File is empty - tools like schema inspector, and file preview, are unavailable.");
738
- });
739
- (0, import_qunit.test)("when code patch is historic (user moved on to the next message), or it was applied, it will render the code (replace portion of the search/replace block) in a standard (non-diff) editor", async function(assert) {
740
- await visitOperatorMode({
741
- submode: "code",
742
- codePath: `${testRealmURL}hello.txt`
743
- });
744
- await click("[data-test-open-ai-assistant]");
745
- let roomId = getRoomIds().pop();
746
- let codeBlock = `\`\`\`
747
- http://test-realm/test/hello.txt
748
- ${SEARCH_MARKER}
749
- Hello, world!
750
- ${SEPARATOR_MARKER}
751
- Hi, world!
752
- ${REPLACE_MARKER}
753
- \`\`\``;
754
- simulateRemoteMessage(roomId, "@aibot:localhost", {
755
- body: codeBlock,
756
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
757
- format: "org.matrix.custom.html",
758
- isStreamingFinished: true
759
- });
760
- await waitFor("[data-test-attached-file-dropdown-button=\"hello.txt\"]", { timeout: 4e3 });
761
- await click("[data-test-attached-file-dropdown-button=\"hello.txt\"]");
762
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Content\"]").doesNotExist("Restore Content menu item should not be shown when patch has not been applied");
763
- await waitFor("[data-test-apply-code-button]");
764
- assert.dom("[data-test-code-diff-editor]").exists();
765
- await click("[data-test-apply-code-button]");
766
- await waitFor("[data-test-apply-state=\"applied\"]");
767
- assert.dom("[data-test-code-diff-editor]").doesNotExist();
768
- assert.dom("[data-test-editor]").exists();
769
- assert.dom("[data-test-error-message]").doesNotExist();
770
- await click("[data-test-attached-file-dropdown-button=\"hello.txt\"]");
771
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Generated Content\"]").exists("Restore Content menu item should be shown when patch has been applied");
772
- simulateRemoteMessage(roomId, "@testuser:localhost", {
773
- body: "Send me another code patch",
774
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
775
- format: "org.matrix.custom.html",
776
- isStreamingFinished: true
777
- });
778
- simulateRemoteMessage(roomId, "@aibot:localhost", {
779
- body: codeBlock,
780
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
781
- format: "org.matrix.custom.html",
782
- isStreamingFinished: true
783
- });
784
- await waitFor("[data-test-code-diff-editor]");
785
- assert.dom("[data-test-code-diff-editor]").exists();
786
- assert.dom("[data-test-editor]").exists();
787
- simulateRemoteMessage(roomId, "@testuser:localhost", {
788
- body: "I do not like this code patch. Send me another one.",
789
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
790
- format: "org.matrix.custom.html",
791
- isStreamingFinished: true
792
- });
793
- simulateRemoteMessage(roomId, "@aibot:localhost", {
794
- body: codeBlock,
795
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
796
- format: "org.matrix.custom.html",
797
- isStreamingFinished: true
798
- });
799
- await waitFor("[data-test-apply-state=\"applied\"]");
800
- assert.dom("[data-test-apply-state=\"applied\"]").exists({ count: 1 });
801
- assert.dom("[data-test-editor]").exists({ count: 2 });
802
- assert.dom("[data-test-code-diff-editor]").exists({ count: 1 });
803
- simulateRemoteMessage(roomId, "@aibot:localhost", {
804
- body: codeBlock,
805
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
806
- format: "org.matrix.custom.html",
807
- isStreamingFinished: true
808
- });
809
- simulateRemoteMessage(roomId, "@aibot:localhost", {
810
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
811
- format: "org.matrix.custom.html",
812
- body: "Debug: this event should be ignored for the purposes of deciding whether to show the code diff editor or not",
813
- isStreamingFinished: true
814
- }, { type: APP_BOXEL_DEBUG_MESSAGE_EVENT_TYPE });
815
- await waitUntil(() => findAll("[data-test-editor]").length === 4);
816
- await waitUntil(() => findAll("[data-test-code-diff-editor]").length === 1);
817
- assert.dom("[data-test-apply-state=\"applied\"]").exists({ count: 1 });
818
- assert.dom("[data-test-editor]").exists({ count: 4 });
819
- assert.dom("[data-test-code-diff-editor]").exists({ count: 1 });
820
- });
821
- (0, import_qunit.skip)("can restore content of a patched file to its original state", async function(assert) {
822
- await visitOperatorMode({
823
- submode: "code",
824
- codePath: `${testRealmURL}hello.txt`
825
- });
826
- await click("[data-test-open-ai-assistant]");
827
- simulateRemoteMessage(getRoomIds().pop(), "@aibot:localhost", {
828
- body: `\`\`\`
829
- http://test-realm/test/hello.txt
830
- ${SEARCH_MARKER}
831
- Hello, world!
832
- ${SEPARATOR_MARKER}
833
- Hi, world!
834
- ${REPLACE_MARKER}
835
- \`\`\``,
836
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
837
- format: "org.matrix.custom.html",
838
- isStreamingFinished: true
839
- });
840
- await waitFor("[data-test-apply-code-button]");
841
- await click("[data-test-apply-code-button]");
842
- await waitFor("[data-test-apply-state=\"applied\"]");
843
- await click("[data-test-attached-file-dropdown-button=\"hello.txt\"]");
844
- assert.dom("[data-test-boxel-menu-item-text=\"Restore Content\"]").exists("Restore Content menu item should be shown when patch has been applied");
845
- let matrixServer = getService("matrix-service");
846
- let originalFetchMatrixHostedFile = matrixServer.fetchMatrixHostedFile;
847
- let originalContent = "Original content of the file before the code patch was applied";
848
- matrixServer.fetchMatrixHostedFile = async (_url) => {
849
- return new Response(originalContent);
850
- };
851
- await click("[data-test-boxel-menu-item-text=\"Restore Content\"]");
852
- await click("[data-test-confirm-restore-button]");
853
- await waitUntil(() => getMonacoContent() === originalContent);
854
- matrixServer.fetchMatrixHostedFile = originalFetchMatrixHostedFile;
855
- });
856
- (0, import_qunit.test)("LLM mode event controls auto-apply of code patches with timestamp checking", async function(assert) {
857
- await visitOperatorMode({
858
- submode: "code",
859
- codePath: `${testRealmURL}hello.txt`
860
- });
861
- await click("[data-test-open-ai-assistant]");
862
- let roomId = getRoomIds().pop();
863
- assert.dom("[data-test-llm-mode-option=\"ask\"]").hasClass("selected", "LLM mode starts in ask mode");
864
- simulateRemoteMessage(roomId, "@aibot:localhost", {
865
- body: `\`\`\`
866
- http://test-realm/test/hello.txt
867
- ${SEARCH_MARKER}
868
- Hello, world!
869
- ${SEPARATOR_MARKER}
870
- Hi, world!
871
- ${REPLACE_MARKER}
872
- \`\`\``,
873
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
874
- format: "org.matrix.custom.html",
875
- isStreamingFinished: true,
876
- data: { context: { agentId: getService("matrix-service").agentId } }
877
- });
878
- await waitFor("[data-test-apply-code-button]");
879
- assert.dom("[data-test-apply-code-button]").exists("Apply button is shown in ask mode");
880
- assert.dom("[data-test-apply-state=\"applied\"]").doesNotExist("Code patch is not auto-applied in ask mode");
881
- await click("[data-test-llm-mode-option=\"act\"]");
882
- assert.dom("[data-test-llm-mode-option=\"act\"]").hasClass("selected", "LLM mode updates to act");
883
- simulateRemoteMessage(roomId, "@aibot:localhost", {
884
- body: `\`\`\`
885
- http://test-realm/test/hello.txt
886
- ${SEARCH_MARKER}
887
- Hello, world!
888
- ${SEPARATOR_MARKER}
889
- Hi, again (auto applied)!
890
- ${REPLACE_MARKER}
891
- \`\`\``,
892
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
893
- format: "org.matrix.custom.html",
894
- isStreamingFinished: true,
895
- data: { context: { agentId: getService("matrix-service").agentId } }
896
- });
897
- await waitFor("[data-test-message-idx=\"1\"] [data-test-apply-state=\"applied\"]");
898
- assert.dom("[data-test-message-idx=\"1\"] [data-test-apply-state=\"applied\"]").exists("Code patch is auto-applied in act mode");
899
- await click("[data-test-llm-mode-option=\"ask\"]");
900
- assert.dom("[data-test-llm-mode-option=\"ask\"]").hasClass("selected", "LLM mode updates back to ask");
901
- simulateRemoteMessage(roomId, "@aibot:localhost", {
902
- body: `\`\`\`
903
- http://test-realm/test/hello.txt
904
- ${SEARCH_MARKER}
905
- Hi, again (auto applied)!
906
- ${SEPARATOR_MARKER}
907
- Goodbye, world!
908
- ${REPLACE_MARKER}
909
- \`\`\``,
910
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
911
- format: "org.matrix.custom.html",
912
- isStreamingFinished: true,
913
- data: { context: { agentId: getService("matrix-service").agentId } }
914
- });
915
- await waitFor("[data-test-apply-code-button]");
916
- assert.dom("[data-test-message-idx=\"2\"] [data-test-apply-state=\"applied\"]").doesNotExist("Code patch sent before act mode is not auto-applied");
917
- await click("[data-test-llm-mode-option=\"act\"]");
918
- assert.dom("[data-test-llm-mode-option=\"act\"]").hasClass("selected", "LLM mode updates to act again");
919
- simulateRemoteMessage(roomId, "@aibot:localhost", {
920
- body: `\`\`\`
921
- http://test-realm/test/hello.txt
922
- ${SEARCH_MARKER}
923
- Hi, again (auto applied)!
924
- ${SEPARATOR_MARKER}
925
- Final message, world!
926
- ${REPLACE_MARKER}
927
- \`\`\``,
928
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
929
- format: "org.matrix.custom.html",
930
- isStreamingFinished: true,
931
- data: { context: { agentId: getService("matrix-service").agentId } }
932
- });
933
- await waitFor("[data-test-message-idx=\"3\"] [data-test-apply-state=\"applied\"]");
934
- assert.dom("[data-test-message-idx=\"3\"] [data-test-apply-state=\"applied\"]").exists("New code patch sent after act mode is auto-applied");
935
- assert.dom("[data-test-message-idx=\"2\"] [data-test-apply-state=\"applied\"]").doesNotExist("Code patch sent before act mode is still not auto-applied");
936
- });
937
- (0, import_qunit.test)("LLM mode for a message is resolved by room order, not just timestamp", async function(assert) {
938
- await visitOperatorMode({
939
- submode: "code",
940
- codePath: `${testRealmURL}hello.txt`
941
- });
942
- await click("[data-test-open-ai-assistant]");
943
- let roomId = getRoomIds().pop();
944
- let llmMode = (mode, ts) => simulateRemoteMessage(roomId, "@testuser:localhost", { mode }, {
945
- type: APP_BOXEL_LLM_MODE,
946
- state_key: "",
947
- origin_server_ts: ts
948
- });
949
- let aiMessage = (ts) => simulateRemoteMessage(roomId, "@aibot:localhost", {
950
- body: "hello",
951
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
952
- format: "org.matrix.custom.html",
953
- isStreamingFinished: true
954
- }, { origin_server_ts: ts });
955
- llmMode("act", 1e3);
956
- let msgActBeforeTie = aiMessage(2e3);
957
- llmMode("ask", 2e3);
958
- llmMode("act", 2e3);
959
- let msgActWinsTie = aiMessage(2e3);
960
- llmMode("ask", 3e3);
961
- let msgAskBeforeLateAct = aiMessage(4e3);
962
- llmMode("act", 4e3);
963
- await settled();
964
- let roomResource = getService("matrix-service").roomResources.get(roomId);
965
- assert.strictEqual(roomResource.getActiveLLMModeForMessage(msgActBeforeTie), "act", "a later same-ms switch to ask does not retroactively change the message");
966
- assert.strictEqual(roomResource.getActiveLLMModeForMessage(msgActWinsTie), "act", "on a same-ms ask->act tie the later transition (act) wins for a following message");
967
- assert.strictEqual(roomResource.getActiveLLMModeForMessage(msgAskBeforeLateAct), "ask", "a same-ms switch to act after the message does not back-date onto it");
968
- });
969
- (0, import_qunit.test)("automatic Accept All spinner appears in Act mode for multiple patches", async function(assert) {
970
- await visitOperatorMode({
971
- submode: "code",
972
- codePath: `${testRealmURL}hello.txt`
973
- });
974
- await click("[data-test-open-ai-assistant]");
975
- let roomId = getRoomIds().pop();
976
- await click("[data-test-llm-mode-option=\"act\"]");
977
- assert.dom("[data-test-llm-mode-option=\"act\"]").hasClass("selected", "LLM mode is set to act");
978
- simulateRemoteMessage(roomId, "@aibot:localhost", {
979
- body: `\`\`\`
980
- http://test-realm/test/hello.txt
981
- ${SEARCH_MARKER}
982
- Hello, world!
983
- ${SEPARATOR_MARKER}
984
- Hi, Act mode!
985
- ${REPLACE_MARKER}
986
- \`\`\`
987
-
988
- I will also update the second file.
989
-
990
- \`\`\`
991
- http://test-realm/test/hi.txt
992
- ${SEARCH_MARKER}
993
- Hi, world!
994
- ${SEPARATOR_MARKER}
995
- Greetings from Act mode!
996
- ${REPLACE_MARKER}
997
- \`\`\`
998
-
999
- \`\`\`
1000
- http://test-realm/test/hi.txt
1001
- ${SEARCH_MARKER}
1002
- How are you?
1003
- ${SEPARATOR_MARKER}
1004
- We are awesome in Act mode!
1005
- ${REPLACE_MARKER}
1006
- \`\`\``,
1007
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1008
- format: "org.matrix.custom.html",
1009
- isStreamingFinished: true,
1010
- data: { context: { agentId: getService("matrix-service").agentId } }
1011
- });
1012
- await waitFor("[data-test-ai-assistant-action-bar] [data-test-loading-indicator]", { timeout: 2e3 });
1013
- assert.dom("[data-test-ai-assistant-action-bar] [data-test-loading-indicator]").exists("Loading indicator appears during automatic accept-all in Act mode");
1014
- assert.dom("[data-test-ai-assistant-action-bar]").containsText("Apply Diff", "Action bar shows applying text during automatic execution");
1015
- let save = 0;
1016
- this.onSave((_saveURL) => {
1017
- save++;
1018
- });
1019
- await waitUntil(() => save >= 2, { timeout: 2e3 });
1020
- await waitUntil(() => findAll("[data-test-apply-state=\"applied\"]").length === 3, { timeout: 5e3 });
1021
- assert.dom("[data-test-ai-assistant-action-bar] [data-test-loading-indicator]").doesNotExist("Loading indicator disappears after automatic execution completes");
1022
- assert.strictEqual(getMonacoContent(), "Hi, Act mode!", "hello.txt should be patched by automatic execution");
1023
- await click("[data-test-file-browser-toggle]");
1024
- await click("[data-test-file=\"hi.txt\"]");
1025
- await waitUntil(() => getMonacoContent() === "Greetings from Act mode!\nWe are awesome in Act mode!", { timeout: 2e3 });
1026
- });
1027
- (0, import_qunit.test)("schema editor gets refreshed when code patches are executed on executable files", async function(assert) {
1028
- assert.expect(6);
1029
- await visitOperatorMode({
1030
- submode: "code",
1031
- codePath: `${testRealmURL}test-card.gts`
1032
- });
1033
- await waitFor("[data-test-card-schema]");
1034
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]").containsText("2", "Initial total fields count is correct");
1035
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-field-name=\"name\"]").exists("Initial name field exists");
1036
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-field-name=\"cardDescription\"]").exists("Initial description field exists");
1037
- await click("[data-test-open-ai-assistant]");
1038
- let roomId = getRoomIds().pop();
1039
- let codeBlock = `\`\`\`
1040
- http://test-realm/test/test-card.gts
1041
- ${SEARCH_MARKER}
1042
- @field cardDescription = contains(StringField);
1043
- ${SEPARATOR_MARKER}
1044
- @field cardDescription = contains(StringField);
1045
- @field email = contains(StringField);
1046
- ${REPLACE_MARKER}\n\`\`\``;
1047
- simulateRemoteMessage(roomId, "@testuser:localhost", {
1048
- body: "Add an email field to the TestCard",
1049
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1050
- format: "org.matrix.custom.html",
1051
- isStreamingFinished: true,
1052
- data: { attachedFiles: [{
1053
- url: "http://test-realm/test/test-card.gts",
1054
- name: "test-card.gts",
1055
- sourceUrl: "http://test-realm/test/test-card.gts"
1056
- }] }
1057
- });
1058
- let eventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
1059
- body: codeBlock,
1060
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1061
- format: "org.matrix.custom.html",
1062
- isStreamingFinished: true
1063
- });
1064
- await waitFor("[data-test-apply-code-button]");
1065
- await click("[data-test-apply-code-button]");
1066
- await waitUntil(() => {
1067
- let totalFieldsElement = document.querySelector("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]");
1068
- return totalFieldsElement && totalFieldsElement.textContent?.includes("3");
1069
- }, { timeout: 5e3 });
1070
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]").containsText("3", "Total fields count updated after code patch");
1071
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-field-name=\"email\"]").exists("New email field appears in schema editor");
1072
- let codePatchResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.codePatchResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.codePatchAnnotation" && event.content["m.relates_to"]?.event_id === eventId && event.content["m.relates_to"]?.key === "applied");
1073
- assert.strictEqual(codePatchResultEvents.length, 1, "code patch result event is dispatched");
1074
- });
1075
- (0, import_qunit.test)("loader reset happens when restoring patched executable files", async function(assert) {
1076
- await visitOperatorMode({
1077
- submode: "code",
1078
- codePath: `${testRealmURL}test-card.gts`
1079
- });
1080
- await waitFor("[data-test-card-schema]");
1081
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]").containsText("2", "Initial total fields count is correct");
1082
- await click("[data-test-open-ai-assistant]");
1083
- let roomId = getRoomIds().pop();
1084
- let codeBlock = `\`\`\`
1085
- http://test-realm/test/test-card.gts
1086
- ${SEARCH_MARKER}
1087
- @field cardDescription = contains(StringField);
1088
- ${SEPARATOR_MARKER}
1089
- @field cardDescription = contains(StringField);
1090
- @field email = contains(StringField);
1091
- ${REPLACE_MARKER}\n\`\`\``;
1092
- simulateRemoteMessage(roomId, "@testuser:localhost", {
1093
- body: "Add an email field to the TestCard",
1094
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1095
- format: "org.matrix.custom.html",
1096
- isStreamingFinished: true,
1097
- data: { attachedFiles: [{
1098
- url: "http://test-realm/test/test-card.gts",
1099
- name: "test-card.gts",
1100
- sourceUrl: "http://test-realm/test/test-card.gts"
1101
- }] }
1102
- });
1103
- let eventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
1104
- body: codeBlock,
1105
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1106
- format: "org.matrix.custom.html",
1107
- isStreamingFinished: true
1108
- });
1109
- await waitFor("[data-test-apply-code-button]");
1110
- await click("[data-test-apply-code-button]");
1111
- await waitUntil(() => {
1112
- let totalFieldsElement = document.querySelector("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]");
1113
- return totalFieldsElement && totalFieldsElement.textContent?.includes("3");
1114
- }, { timeout: 5e3 });
1115
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]").containsText("3", "Total fields count updated after code patch");
1116
- await click("[data-test-attached-file-dropdown-button=\"test-card.gts\"]");
1117
- await click("[data-test-boxel-menu-item-text=\"Restore Submitted Content\"]");
1118
- await click("[data-test-confirm-restore-button]");
1119
- await waitUntil(() => {
1120
- let totalFieldsElement = document.querySelector("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]");
1121
- return totalFieldsElement && totalFieldsElement.textContent?.includes("2");
1122
- }, { timeout: 5e3 });
1123
- assert.dom("[data-test-card-schema=\"Test Card\"] [data-test-total-fields]").containsText("2", "Total fields count restored to original state after restore");
1124
- let codePatchResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.codePatchResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.codePatchAnnotation" && event.content["m.relates_to"]?.event_id === eventId && event.content["m.relates_to"]?.key === "applied");
1125
- assert.strictEqual(codePatchResultEvents.length, 1, "code patch result event is dispatched");
1126
- });
1127
- });
1128
- //#endregion