@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,1145 +0,0 @@
1
- import { s as __toESM } from "./chunk-CGdGNDIi.js";
2
- import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime-CYyqkz5q-z3Y1hsJm.js";
3
- import { En as APP_BOXEL_HAS_CONTINUATION_CONTENT_KEY, Mi as skillCardRef, On as APP_BOXEL_MESSAGE_MSGTYPE, Zn as testRealmURL, bn as APP_BOXEL_COMMAND_RESULT_EVENT_TYPE, vi as baseRealm, wn as APP_BOXEL_CONTINUATION_OF_CONTENT_KEY, yn as APP_BOXEL_COMMAND_REQUESTS_KEY } from "./runtime-common-C7uLt5dN.js";
4
- import { $n as setComponentTemplate } from "./service-DJ87xpDt.js";
5
- import { V as templateFactory } from "./index-DaCZcoCY-D2gI_aMw.js";
6
- import { o as Component } from "./dist-CXaz7pMY.js";
7
- import "./template-D3TMIrc1.js";
8
- import "./template-factory-DMEv2kVd.js";
9
- import { t as OperatorModeContainer } from "./container-D8y7fmir.js";
10
- import { A as settled, d as click, o as waitFor, s as fillIn } from "./dist-D1U_uSwt.js";
11
- import { t as require_qunit } from "./qunit-2hoQyeAZ.js";
12
- import { r as getService } from "./dist-BfNSLd0O.js";
13
- import { A as setupIntegrationTestRealm, M as setupOnSave, O as setupCardLogs, dt as percySnapshot, et as setupOperatorModeStateCleanup, j as setupLocalIndexing, o as addSkillToAiAssistant, rt as setupRenderingTest, t as setupMockMatrix, w as realmConfigCardJSON } from "./mock-matrix-DqDbNhEj.js";
14
- import { G as contains, I as StringField, Q as field, a as CardDef, b as FieldDef, d as Component$1, lt as linksTo, mt as setupBaseRealm, ut as linksToMany } from "./base-realm-43wjttN2.js";
15
- import { n as renderComponent } from "./render-component-g_fhz2dX.js";
16
- //#region tests/integration/components/ai-assistant-panel/3ac82b64df.css
17
- var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
18
- //#endregion
19
- //#region tests/integration/components/ai-assistant-panel/commands-test.gts
20
- (0, import_qunit.module)("Integration | ai-assistant-panel | commands", function(hooks) {
21
- const realmName = "Operator Mode Workspace";
22
- const readOnlyRealmName = "Read Only Workspace";
23
- const readOnlyRealmURL = "http://test-realm/read-only/";
24
- let loader;
25
- let operatorModeStateService;
26
- setupRenderingTest(hooks);
27
- setupOperatorModeStateCleanup(hooks);
28
- setupBaseRealm(hooks);
29
- hooks.beforeEach(function() {
30
- loader = getService("loader-service").loader;
31
- });
32
- setupLocalIndexing(hooks);
33
- setupOnSave(hooks);
34
- setupCardLogs(hooks, async () => await loader.import(`${baseRealm.url}card-api`));
35
- let mockMatrixUtils = setupMockMatrix(hooks, {
36
- loggedInAs: "@testuser:localhost",
37
- activeRealms: [testRealmURL, readOnlyRealmURL],
38
- realmPermissions: {
39
- [testRealmURL]: ["read", "write"],
40
- [readOnlyRealmURL]: ["read"]
41
- },
42
- autostart: true,
43
- now: (() => {
44
- let clock = new Date(2024, 8, 19).getTime();
45
- return () => clock += 10;
46
- })()
47
- });
48
- let { createAndJoinRoom, simulateRemoteMessage, getRoomEvents } = mockMatrixUtils;
49
- let noop = () => {};
50
- hooks.beforeEach(async function() {
51
- operatorModeStateService = getService("operator-mode-state-service");
52
- class Pet extends CardDef {
53
- static displayName = "Pet";
54
- static {
55
- decorateFieldV2(this.prototype, "name", [field], function() {
56
- return contains(StringField);
57
- });
58
- }
59
- #name = (initializeDeferredDecorator(this, "name"), void 0);
60
- static {
61
- decorateFieldV2(this.prototype, "cardTitle", [field], function() {
62
- return contains(StringField, { computeVia: function() {
63
- return this.name;
64
- } });
65
- });
66
- }
67
- #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
68
- static fitted = class Fitted extends Component$1 {
69
- static {
70
- setComponentTemplate(templateFactory({
71
- "id": "wdHYhHpf",
72
- "block": "[[[10,\"h3\"],[15,\"data-test-pet\",[30,1,[\"name\"]]],[12],[1,\"\\n \"],[8,[30,2,[\"name\"]],null,null,null],[1,\"\\n\"],[13]],[\"@model\",\"@fields\"],[]]",
73
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
74
- "isStrictMode": true
75
- }), this);
76
- }
77
- };
78
- }
79
- class Address extends FieldDef {
80
- static displayName = "Address";
81
- static {
82
- decorateFieldV2(this.prototype, "city", [field], function() {
83
- return contains(StringField);
84
- });
85
- }
86
- #city = (initializeDeferredDecorator(this, "city"), void 0);
87
- static {
88
- decorateFieldV2(this.prototype, "country", [field], function() {
89
- return contains(StringField);
90
- });
91
- }
92
- #country = (initializeDeferredDecorator(this, "country"), void 0);
93
- static embedded = class Embedded extends Component$1 {
94
- static {
95
- setComponentTemplate(templateFactory({
96
- "id": "E7EhWOjB",
97
- "block": "[[[10,0],[14,\"data-test-address\",\"\"],[12],[1,\"\\n \"],[10,\"h3\"],[15,\"data-test-city\",[30,1,[\"city\"]]],[12],[1,\"\\n \"],[8,[30,2,[\"city\"]],null,null,null],[1,\"\\n \"],[13],[1,\"\\n \"],[10,\"h3\"],[15,\"data-test-country\",[30,1,[\"country\"]]],[12],[1,\"\\n \"],[8,[30,2,[\"country\"]],null,null,null],[1,\"\\n \"],[13],[1,\"\\n\"],[13]],[\"@model\",\"@fields\"],[]]",
98
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
99
- "isStrictMode": true
100
- }), this);
101
- }
102
- };
103
- }
104
- class Person extends CardDef {
105
- static displayName = "Person";
106
- static {
107
- decorateFieldV2(this.prototype, "firstName", [field], function() {
108
- return contains(StringField);
109
- });
110
- }
111
- #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
112
- static {
113
- decorateFieldV2(this.prototype, "pet", [field], function() {
114
- return linksTo(Pet);
115
- });
116
- }
117
- #pet = (initializeDeferredDecorator(this, "pet"), void 0);
118
- static {
119
- decorateFieldV2(this.prototype, "friends", [field], function() {
120
- return linksToMany(Pet);
121
- });
122
- }
123
- #friends = (initializeDeferredDecorator(this, "friends"), void 0);
124
- static {
125
- decorateFieldV2(this.prototype, "firstLetterOfTheName", [field], function() {
126
- return contains(StringField, { computeVia: function() {
127
- return this.firstName[0];
128
- } });
129
- });
130
- }
131
- #firstLetterOfTheName = (initializeDeferredDecorator(this, "firstLetterOfTheName"), void 0);
132
- static {
133
- decorateFieldV2(this.prototype, "cardTitle", [field], function() {
134
- return contains(StringField, { computeVia: function() {
135
- return this.firstName;
136
- } });
137
- });
138
- }
139
- #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
140
- static {
141
- decorateFieldV2(this.prototype, "address", [field], function() {
142
- return contains(Address);
143
- });
144
- }
145
- #address = (initializeDeferredDecorator(this, "address"), void 0);
146
- static isolated = class Isolated extends Component$1 {
147
- static {
148
- setComponentTemplate(templateFactory({
149
- "id": "aNq8GJ/A",
150
- "block": "[[[10,\"h2\"],[15,\"data-test-person\",[30,1,[\"firstName\"]]],[14,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"],[12],[1,\"\\n \"],[8,[30,2,[\"firstName\"]],[[24,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"]],null,null],[1,\"\\n\"],[13],[1,\"\\n\"],[10,2],[15,\"data-test-first-letter-of-the-name\",[30,1,[\"firstLetterOfTheName\"]]],[14,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"],[12],[1,\"\\n \"],[8,[30,2,[\"firstLetterOfTheName\"]],[[24,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"]],null,null],[1,\"\\n\"],[13],[1,\"\\nPet:\\n\"],[10,0],[14,0,\"pet-container\"],[14,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"],[12],[1,\"\\n \"],[8,[30,2,[\"pet\"]],[[24,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"]],null,null],[1,\"\\n\"],[13],[1,\"\\nFriends:\\n\"],[8,[30,2,[\"friends\"]],[[24,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"]],null,null],[1,\"\\n\"],[10,0],[14,\"data-test-addresses\",\"\"],[14,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"],[12],[1,\"Address: \"],[8,[30,2,[\"address\"]],[[24,\"data-scopedcss-51b4689862-8d94048c9a\",\"\"]],null,null],[13],[1,\"\\n\"]],[\"@model\",\"@fields\"],[]]",
151
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
152
- "isStrictMode": true
153
- }), this);
154
- }
155
- };
156
- }
157
- let petMango = new Pet({ name: "Mango" });
158
- let petJackie = new Pet({ name: "Jackie" });
159
- await setupIntegrationTestRealm({
160
- mockMatrixUtils,
161
- contents: {
162
- "address.gts": { Address },
163
- "hello.txt": "Hello, world!",
164
- "person.gts": { Person },
165
- "pet.gts": { Pet },
166
- "Pet/mango.json": petMango,
167
- "Pet/jackie.json": petJackie,
168
- "Person/fadhlan.json": new Person({
169
- firstName: "Fadhlan",
170
- address: new Address({
171
- city: "Bandung",
172
- country: "Indonesia"
173
- }),
174
- pet: petMango
175
- }),
176
- "Person/burcu.json": new Person({
177
- firstName: "Burcu",
178
- friends: [petJackie, petMango]
179
- }),
180
- "Person/mickey.json": new Person({ firstName: "Mickey" }),
181
- "Person/justin.json": new Person({ firstName: "Justin" }),
182
- "Person/ian.json": new Person({ firstName: "Ian" }),
183
- "Person/matic.json": new Person({ firstName: "Matic" }),
184
- "Person/buck.json": new Person({ firstName: "Buck" }),
185
- "Person/hassan.json": new Person({ firstName: "Hassan" }),
186
- "Skill/boxel-environment.json": { data: {
187
- attributes: {
188
- title: "Boxel Environment",
189
- description: "Test environment skill",
190
- instructions: "Test skill card for environment commands",
191
- commands: [
192
- {
193
- codeRef: {
194
- name: "SearchCardsByTypeAndTitleCommand",
195
- module: "@cardstack/boxel-host/commands/search-cards"
196
- },
197
- requiresApproval: false
198
- },
199
- {
200
- codeRef: {
201
- name: "SearchCardsByQueryCommand",
202
- module: "@cardstack/boxel-host/commands/search-cards"
203
- },
204
- requiresApproval: false
205
- },
206
- {
207
- codeRef: {
208
- name: "default",
209
- module: "@cardstack/boxel-host/commands/read-file-for-ai-assistant"
210
- },
211
- requiresApproval: false
212
- },
213
- {
214
- codeRef: {
215
- name: "default",
216
- module: "@cardstack/boxel-host/commands/read-card-for-ai-assistant"
217
- },
218
- requiresApproval: false
219
- }
220
- ]
221
- },
222
- meta: { adoptsFrom: skillCardRef }
223
- } },
224
- "realm.json": realmConfigCardJSON({ name: realmName })
225
- }
226
- });
227
- await setupIntegrationTestRealm({
228
- mockMatrixUtils,
229
- realmURL: readOnlyRealmURL,
230
- contents: {
231
- "pet.gts": `
232
- import { contains, field, CardDef } from "https://cardstack.com/base/card-api";
233
- import StringField from "https://cardstack.com/base/string";
234
- export class Pet extends CardDef {
235
- static displayName = 'Pet';
236
- @field name = contains(StringField);
237
- }
238
- `,
239
- "person.gts": `
240
- import { contains, field, linksTo, CardDef } from "https://cardstack.com/base/card-api";
241
- import StringField from "https://cardstack.com/base/string";
242
- import { Pet } from "./pet";
243
- export class Person extends CardDef {
244
- static displayName = 'Person';
245
- @field firstName = contains(StringField);
246
- @field pet = linksTo(Pet);
247
- }
248
- `,
249
- "Person/ian.json": { data: {
250
- type: "card",
251
- attributes: { firstName: "Ian" },
252
- relationships: { pet: { data: {
253
- type: "card",
254
- id: `${readOnlyRealmURL}Pet/rose`
255
- } } },
256
- meta: { adoptsFrom: {
257
- module: "./person",
258
- name: "Person"
259
- } }
260
- } },
261
- "Pet/rose.json": { data: {
262
- type: "card",
263
- attributes: { name: "Rose" },
264
- meta: { adoptsFrom: {
265
- module: "./pet",
266
- name: "Pet"
267
- } }
268
- } },
269
- "realm.json": realmConfigCardJSON({ name: readOnlyRealmName })
270
- }
271
- });
272
- });
273
- function setCardInOperatorModeState(cardURL, format = "isolated") {
274
- operatorModeStateService.restore({ stacks: cardURL ? [[{
275
- id: cardURL,
276
- format
277
- }]] : [[]] });
278
- }
279
- async function openAiAssistant() {
280
- await waitFor("[data-test-open-ai-assistant]");
281
- await click("[data-test-open-ai-assistant]");
282
- await waitFor("[data-test-room-settled]");
283
- let roomId = document.querySelector("[data-test-room]")?.getAttribute("data-test-room");
284
- if (!roomId) throw new Error("Expected a room ID");
285
- return roomId;
286
- }
287
- async function renderAiAssistantPanel(id) {
288
- setCardInOperatorModeState(id);
289
- await renderComponent(class TestDriver extends Component {
290
- static {
291
- setComponentTemplate(templateFactory({
292
- "id": "5SZaBHQb",
293
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
294
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
295
- "scope": () => [OperatorModeContainer, noop],
296
- "isStrictMode": true
297
- }), this);
298
- }
299
- });
300
- return await openAiAssistant();
301
- }
302
- (0, import_qunit.test)("it allows chat commands to change cards in the stack", async function(assert) {
303
- assert.expect(4);
304
- let roomId = await renderAiAssistantPanel(`${testRealmURL}Person/fadhlan`);
305
- await waitFor("[data-test-person]");
306
- assert.dom("[data-test-boxel-card-header-title]").hasText("Person - Fadhlan");
307
- assert.dom("[data-test-person]").hasText("Fadhlan");
308
- simulateRemoteMessage(roomId, "@aibot:localhost", {
309
- body: "i am the body",
310
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
311
- format: "org.matrix.custom.html",
312
- isStreamingFinished: true,
313
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
314
- name: "patchCardInstance",
315
- arguments: JSON.stringify({ attributes: {
316
- cardId: `${testRealmURL}Person/fadhlan`,
317
- patch: { attributes: { firstName: "Dave" } }
318
- } })
319
- }],
320
- "m.relates_to": {
321
- rel_type: "m.replace",
322
- event_id: "patch1"
323
- }
324
- });
325
- await waitFor("[data-test-command-apply]");
326
- this.onSave((_, json) => {
327
- if (typeof json === "string") throw new Error("expected JSON save data");
328
- assert.strictEqual(json.data.attributes?.firstName, "Dave");
329
- });
330
- await click("[data-test-command-apply]");
331
- await waitFor("[data-test-command-card-idle]");
332
- assert.dom("[data-test-person]").hasText("Dave");
333
- });
334
- (0, import_qunit.test)("when a command is being prepared, apply button is shown in preparing state", async function(assert) {
335
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
336
- await renderComponent(class TestDriver extends Component {
337
- static {
338
- setComponentTemplate(templateFactory({
339
- "id": "5SZaBHQb",
340
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
341
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
342
- "scope": () => [OperatorModeContainer, noop],
343
- "isStrictMode": true
344
- }), this);
345
- }
346
- });
347
- await waitFor("[data-test-person=\"Fadhlan\"]");
348
- let roomId = createAndJoinRoom({
349
- sender: "@testuser:localhost",
350
- name: "test room 1"
351
- });
352
- let initialEventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
353
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
354
- body: "Changing",
355
- format: "org.matrix.custom.html",
356
- isStreamingFinished: false
357
- });
358
- simulateRemoteMessage(roomId, "@aibot:localhost", {
359
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
360
- body: "Changing first name to Evie",
361
- format: "org.matrix.custom.html",
362
- isStreamingFinished: false,
363
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
364
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
365
- name: "patchCardInstance"
366
- }],
367
- "m.relates_to": {
368
- rel_type: "m.replace",
369
- event_id: initialEventId
370
- }
371
- });
372
- await settled();
373
- await click("[data-test-open-ai-assistant]");
374
- await waitFor("[data-test-room-name=\"test room 1\"]");
375
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
376
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
377
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists();
378
- });
379
- (0, import_qunit.test)("it does not display the streaming indicator when ai bot sends a command", async function(assert) {
380
- simulateRemoteMessage(await renderAiAssistantPanel(), "@aibot:localhost", {
381
- body: "i am the body",
382
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
383
- format: "org.matrix.custom.html",
384
- isStreamingFinished: true,
385
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
386
- id: "fb8fef81-2142-4861-a902-d5614b0aea52",
387
- name: "patchCardInstance",
388
- arguments: JSON.stringify({ attributes: {
389
- cardId: `${testRealmURL}Person/fadhlan`,
390
- patch: { attributes: { firstName: "Dave" } }
391
- } })
392
- }]
393
- });
394
- await waitFor("[data-test-message-idx=\"0\"]");
395
- assert.dom("[data-test-message-idx=\"0\"] [data-test-ai-avatar]").doesNotHaveClass("ai-avatar-animated", "ai bot patch message does not have a spinner");
396
- });
397
- (0, import_qunit.test)("when command is done streaming, apply button is shown in ready state", async function(assert) {
398
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
399
- await renderComponent(class TestDriver extends Component {
400
- static {
401
- setComponentTemplate(templateFactory({
402
- "id": "5SZaBHQb",
403
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
404
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
405
- "scope": () => [OperatorModeContainer, noop],
406
- "isStrictMode": true
407
- }), this);
408
- }
409
- });
410
- await waitFor("[data-test-person=\"Fadhlan\"]");
411
- let roomId = createAndJoinRoom({
412
- sender: "@testuser:localhost",
413
- name: "test room 1"
414
- });
415
- let initialEventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
416
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
417
- body: "Changing",
418
- format: "org.matrix.custom.html",
419
- isStreamingFinished: false
420
- });
421
- simulateRemoteMessage(roomId, "@aibot:localhost", {
422
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
423
- body: "Changing first names",
424
- format: "org.matrix.custom.html",
425
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
426
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
427
- name: "patchCardInstance"
428
- }],
429
- isStreamingFinished: false,
430
- "m.relates_to": {
431
- rel_type: "m.replace",
432
- event_id: initialEventId
433
- }
434
- });
435
- await settled();
436
- await click("[data-test-open-ai-assistant]");
437
- await waitFor("[data-test-room-name=\"test room 1\"]");
438
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
439
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
440
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists({ count: 1 });
441
- simulateRemoteMessage(roomId, "@aibot:localhost", {
442
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
443
- body: "Changing first names",
444
- format: "org.matrix.custom.html",
445
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
446
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
447
- name: "patchCardInstance",
448
- arguments: JSON.stringify({ attributes: {
449
- cardId: `${testRealmURL}Person/fadhlan`,
450
- patch: { attributes: { firstName: "Evie" } }
451
- } })
452
- }, {
453
- id: "f2da5504-b92f-480a-986a-56ec606d240e",
454
- name: "patchCardInstance",
455
- arguments: JSON.stringify({ attributes: {
456
- cardId: `${testRealmURL}Person/hassan`,
457
- patch: { attributes: { firstName: "Ivana" } }
458
- } })
459
- }],
460
- isStreamingFinished: false,
461
- "m.relates_to": {
462
- rel_type: "m.replace",
463
- event_id: initialEventId
464
- }
465
- });
466
- await settled();
467
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
468
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
469
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists({ count: 2 });
470
- simulateRemoteMessage(roomId, "@aibot:localhost", {
471
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
472
- body: "Changing first names",
473
- format: "org.matrix.custom.html",
474
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
475
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
476
- name: "patchCardInstance",
477
- arguments: JSON.stringify({ attributes: {
478
- cardId: `${testRealmURL}Person/fadhlan`,
479
- patch: { attributes: { firstName: "Evie" } }
480
- } })
481
- }, {
482
- id: "f2da5504-b92f-480a-986a-56ec606d240e",
483
- name: "patchCardInstance",
484
- arguments: JSON.stringify({ attributes: {
485
- cardId: `${testRealmURL}Person/hassan`,
486
- patch: { attributes: { firstName: "Ivana" } }
487
- } })
488
- }],
489
- isStreamingFinished: true,
490
- "m.relates_to": {
491
- rel_type: "m.replace",
492
- event_id: initialEventId
493
- }
494
- });
495
- await settled();
496
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
497
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
498
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists({ count: 0 });
499
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"ready\"]").exists({ count: 2 });
500
- });
501
- (0, import_qunit.test)("after command is executed, a command result event will be dispatched", async function(assert) {
502
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
503
- await renderComponent(class TestDriver extends Component {
504
- static {
505
- setComponentTemplate(templateFactory({
506
- "id": "5SZaBHQb",
507
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
508
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
509
- "scope": () => [OperatorModeContainer, noop],
510
- "isStrictMode": true
511
- }), this);
512
- }
513
- });
514
- await waitFor("[data-test-person=\"Fadhlan\"]");
515
- let roomId = createAndJoinRoom({
516
- sender: "@testuser:localhost",
517
- name: "test room 1"
518
- });
519
- simulateRemoteMessage(roomId, "@aibot:localhost", {
520
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
521
- body: "Changing first name to Evie",
522
- format: "org.matrix.custom.html",
523
- isStreamingFinished: true,
524
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
525
- name: "patchCardInstance",
526
- arguments: JSON.stringify({ attributes: {
527
- cardId: `${testRealmURL}Person/fadhlan`,
528
- patch: { attributes: { firstName: "Evie" } }
529
- } })
530
- }]
531
- });
532
- let commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation" && event.content["m.relates_to"]?.key === "applied");
533
- assert.strictEqual(commandResultEvents.length, 0, "command result event is not dispatched");
534
- await settled();
535
- await click("[data-test-open-ai-assistant]");
536
- await waitFor("[data-test-room-name=\"test room 1\"]");
537
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
538
- await click("[data-test-message-idx=\"0\"] [data-test-command-apply]");
539
- await waitFor("[data-test-command-card-idle]");
540
- assert.dom("[data-test-message-idx=\"0\"] [data-test-apply-state=\"applied\"]").exists();
541
- commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation" && event.content["m.relates_to"]?.key === "applied");
542
- assert.strictEqual(commandResultEvents.length, 1, "command result event is dispatched");
543
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).context, {
544
- agentId: getService("matrix-service").agentId,
545
- submode: "interact",
546
- debug: false,
547
- openCardIds: ["http://test-realm/test/Person/fadhlan"],
548
- realmUrl: "http://test-realm/test/",
549
- realmPermissions: {
550
- canRead: true,
551
- canWrite: true
552
- }
553
- }, "command result event contains the context");
554
- });
555
- (0, import_qunit.test)("after search command is executed, a command result event is dispatched", async function(assert) {
556
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
557
- await renderComponent(class TestDriver extends Component {
558
- static {
559
- setComponentTemplate(templateFactory({
560
- "id": "5SZaBHQb",
561
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
562
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
563
- "scope": () => [OperatorModeContainer, noop],
564
- "isStrictMode": true
565
- }), this);
566
- }
567
- });
568
- await waitFor("[data-test-person=\"Fadhlan\"]");
569
- let roomId = createAndJoinRoom({
570
- sender: "@testuser:localhost",
571
- name: "test room 1"
572
- });
573
- simulateRemoteMessage(roomId, "@aibot:localhost", {
574
- body: "Changing first name to Evie",
575
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
576
- format: "org.matrix.custom.html",
577
- isStreamingFinished: true,
578
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
579
- name: "patchCardInstance",
580
- arguments: JSON.stringify({ attributes: {
581
- cardId: `${testRealmURL}Person/fadhlan`,
582
- patch: { attributes: { firstName: "Evie" } }
583
- } })
584
- }]
585
- });
586
- let commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === APP_BOXEL_COMMAND_RESULT_EVENT_TYPE);
587
- assert.strictEqual(commandResultEvents.length, 0, "command result event is not dispatched");
588
- await settled();
589
- await click("[data-test-open-ai-assistant]");
590
- await waitFor("[data-test-room-name=\"test room 1\"]");
591
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
592
- await click("[data-test-message-idx=\"0\"] [data-test-command-apply]");
593
- await waitFor("[data-test-command-card-idle]");
594
- assert.dom("[data-test-message-idx=\"0\"] [data-test-apply-state=\"applied\"]").exists();
595
- commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === APP_BOXEL_COMMAND_RESULT_EVENT_TYPE);
596
- assert.strictEqual(commandResultEvents.length, 1, "command result event is dispatched");
597
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).context, {
598
- agentId: getService("matrix-service").agentId,
599
- submode: "interact",
600
- debug: false,
601
- openCardIds: ["http://test-realm/test/Person/fadhlan"],
602
- realmUrl: "http://test-realm/test/",
603
- realmPermissions: {
604
- canRead: true,
605
- canWrite: true
606
- }
607
- }, "command result event contains the context");
608
- });
609
- (0, import_qunit.test)("it can search for card instances that is of the same card type as the card shared", async function(assert) {
610
- simulateRemoteMessage(await renderAiAssistantPanel(`${testRealmURL}Pet/mango.json`), "@aibot:localhost", {
611
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
612
- body: "Search for the following card",
613
- format: "org.matrix.custom.html",
614
- isStreamingFinished: true,
615
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
616
- id: "search1",
617
- name: "SearchCardsByTypeAndTitleCommand_a959",
618
- arguments: JSON.stringify({
619
- description: "Searching for card",
620
- attributes: { type: {
621
- module: `${testRealmURL}pet`,
622
- name: "Pet"
623
- } }
624
- })
625
- }],
626
- data: { context: { agentId: getService("matrix-service").agentId } }
627
- });
628
- await waitFor("[data-test-command-result-header]", { timeout: 1e4 });
629
- assert.dom("[data-test-ai-message-content]").containsText("Search for the following card");
630
- assert.dom("[data-test-ai-message-content] [data-test-view-code-button]").exists({ count: 1 });
631
- assert.dom("[data-test-message-idx=\"0\"] [data-test-boxel-card-header-title]").containsText("Search Results");
632
- assert.dom(".result-list li").exists({ count: 2 });
633
- assert.dom(".result-list li:nth-child(1)").containsText("Jackie");
634
- assert.dom(".result-list li:nth-child(2)").containsText("Mango");
635
- assert.dom("[data-test-toggle-show-button]").doesNotExist();
636
- });
637
- (0, import_qunit.test)("it can search for card instances based upon title of card", async function(assert) {
638
- simulateRemoteMessage(await renderAiAssistantPanel(`${testRealmURL}Pet/mango.json`), "@aibot:localhost", {
639
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
640
- body: "Search for the following card",
641
- format: "org.matrix.custom.html",
642
- isStreamingFinished: true,
643
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
644
- id: "search1",
645
- name: "SearchCardsByTypeAndTitleCommand_a959",
646
- arguments: JSON.stringify({
647
- description: "Searching for card",
648
- attributes: { cardTitle: "Mango" }
649
- })
650
- }],
651
- data: { context: { agentId: getService("matrix-service").agentId } }
652
- });
653
- await waitFor("[data-test-command-result-header]", { timeout: 1e4 });
654
- assert.dom("[data-test-ai-message-content]").containsText("Search for the following card");
655
- assert.dom("[data-test-ai-message-content] [data-test-view-code-button]").exists({ count: 1 });
656
- assert.dom("[data-test-message-idx=\"0\"] [data-test-boxel-card-header-title]").containsText("Search Results");
657
- assert.dom(".result-list li:nth-child(1)").containsText("Mango");
658
- assert.dom("[data-test-toggle-show-button]").doesNotExist();
659
- });
660
- (0, import_qunit.test)("toggle more search results", async function(assert) {
661
- simulateRemoteMessage(await renderAiAssistantPanel(`${testRealmURL}Person/fadhlan.json`), "@aibot:localhost", {
662
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
663
- body: "Search for the following card",
664
- format: "org.matrix.custom.html",
665
- isStreamingFinished: true,
666
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
667
- id: "721c8c78-d8c1-4cc1-a7e9-51d2d3143e4d",
668
- name: "SearchCardsByTypeAndTitleCommand_a959",
669
- arguments: JSON.stringify({
670
- description: "Searching for card",
671
- attributes: { type: {
672
- module: `${testRealmURL}person`,
673
- name: "Person"
674
- } }
675
- })
676
- }],
677
- data: { context: { agentId: getService("matrix-service").agentId } }
678
- });
679
- await waitFor("[data-test-command-result-header]");
680
- assert.dom(".result-list li:nth-child(6)").doesNotExist();
681
- assert.dom("[data-test-toggle-show-button]").containsText("Show 3 more results");
682
- await click("[data-test-toggle-show-button]");
683
- await waitFor(".result-list li", { count: 8 });
684
- assert.dom("[data-test-toggle-show-button]").containsText("See Less");
685
- assert.dom(".result-list li:nth-child(1)").containsText("Buck");
686
- assert.dom(".result-list li:nth-child(2)").containsText("Burcu");
687
- assert.dom(".result-list li:nth-child(3)").containsText("Fadhlan");
688
- assert.dom(".result-list li:nth-child(4)").containsText("Hassan");
689
- assert.dom(".result-list li:nth-child(5)").containsText("Ian");
690
- assert.dom(".result-list li:nth-child(6)").containsText("Justin");
691
- assert.dom(".result-list li:nth-child(7)").containsText("Matic");
692
- assert.dom(".result-list li:nth-child(8)").containsText("Mickey");
693
- await click("[data-test-toggle-show-button]");
694
- assert.dom(".result-list li:nth-child(1)").containsText("Buck");
695
- assert.dom(".result-list li:nth-child(2)").containsText("Burcu");
696
- assert.dom(".result-list li:nth-child(3)").containsText("Fadhlan");
697
- assert.dom(".result-list li:nth-child(4)").containsText("Hassan");
698
- assert.dom(".result-list li:nth-child(5)").containsText("Ian");
699
- assert.dom(".result-list li:nth-child(6)").doesNotExist();
700
- });
701
- (0, import_qunit.test)("it can copy search results card to workspace", async function(assert) {
702
- const id = `${testRealmURL}Person/fadhlan`;
703
- const roomId = await renderAiAssistantPanel(`${id}.json`);
704
- const toolArgs = {
705
- description: "Search for Person cards",
706
- attributes: { type: {
707
- module: `${testRealmURL}person`,
708
- name: "Person"
709
- } }
710
- };
711
- simulateRemoteMessage(roomId, "@aibot:localhost", {
712
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
713
- body: "Search for the following card",
714
- format: "org.matrix.custom.html",
715
- isStreamingFinished: true,
716
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
717
- id: "fd4515fb-ed4d-4005-9782-4e844d7d4d9c",
718
- name: "SearchCardsByTypeAndTitleCommand_a959",
719
- arguments: JSON.stringify(toolArgs)
720
- }],
721
- data: { context: { agentId: getService("matrix-service").agentId } }
722
- });
723
- await waitFor("[data-test-command-result-header]");
724
- assert.dom(`[data-test-stack-card="${id}"]`).exists();
725
- assert.dom("[data-test-message-idx=\"0\"] [data-test-boxel-card-header-title]").containsText("Search Results");
726
- let resultListItem = "[data-test-result-list] > li";
727
- assert.dom(`${resultListItem}:nth-child(1)`).containsText("Buck");
728
- assert.dom(`${resultListItem}:nth-child(5)`).containsText("Ian");
729
- const rightStackItem = "[data-test-operator-mode-stack=\"1\"] [data-test-stack-card-index=\"0\"]";
730
- assert.dom(rightStackItem).doesNotExist();
731
- await click("[data-test-command-result-container] [data-test-more-options-button]");
732
- await click("[data-test-boxel-menu-item-text=\"Copy to Workspace\"]");
733
- assert.dom(`${rightStackItem} [data-test-boxel-card-header-title]`).hasText("Search Results - Search Results");
734
- const savedCard = `[data-test-card="${document.querySelector(rightStackItem)?.getAttribute("data-stack-card")}"] [data-test-command-result-isolated]`;
735
- assert.dom(`${savedCard} header`).hasText("Search Results 8 Results");
736
- assert.dom(`${savedCard} [data-test-boxel-field]`).exists({ count: 2 });
737
- assert.dom(`${savedCard} [data-test-boxel-field]:nth-child(1)`).hasText(`Description Query: { "type": { "module": "http://test-realm/test/person", "name": "Person" } }`);
738
- resultListItem = `${savedCard} ${resultListItem}`;
739
- assert.dom(resultListItem).exists({ count: 8 });
740
- assert.dom(`${resultListItem}:nth-child(1)`).containsText("Buck");
741
- assert.dom(`${resultListItem}:nth-child(6)`).containsText("Justin");
742
- assert.dom(`${resultListItem}:nth-child(8)`).containsText("Mickey");
743
- });
744
- (0, import_qunit.test)("copy to workspace menu item is shown for writable realm", async function(assert) {
745
- const roomId = await renderAiAssistantPanel(`${`${testRealmURL}Person/fadhlan`}.json`);
746
- const toolArgs = {
747
- description: "Search for Person cards",
748
- attributes: { type: {
749
- module: `${testRealmURL}person`,
750
- name: "Person"
751
- } }
752
- };
753
- simulateRemoteMessage(roomId, "@aibot:localhost", {
754
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
755
- body: "Search for the following card",
756
- format: "org.matrix.custom.html",
757
- isStreamingFinished: true,
758
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
759
- id: "9a5b7422-87de-4a93-9f07-9b7c40b75b1e",
760
- name: "SearchCardsByTypeAndTitleCommand_a959",
761
- arguments: JSON.stringify(toolArgs)
762
- }],
763
- data: { context: { agentId: getService("matrix-service").agentId } }
764
- });
765
- await waitFor("[data-test-command-result-header]");
766
- await click("[data-test-command-result-container] [data-test-more-options-button]");
767
- assert.dom("[data-test-boxel-menu-item-text=\"Copy to Workspace\"]").exists();
768
- });
769
- (0, import_qunit.test)("copy to workspace menu item is hidden for read-only realm", async function(assert) {
770
- const roomId = await renderAiAssistantPanel(`${`${readOnlyRealmURL}Person/ian`}.json`);
771
- const toolArgs = {
772
- description: "Search for Person cards",
773
- attributes: { type: {
774
- module: `${testRealmURL}person`,
775
- name: "Person"
776
- } }
777
- };
778
- simulateRemoteMessage(roomId, "@aibot:localhost", {
779
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
780
- body: "Search for the following card",
781
- format: "org.matrix.custom.html",
782
- isStreamingFinished: true,
783
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
784
- id: "6c6e2d73-8e09-4b44-a0d9-688f36b73be8",
785
- name: "SearchCardsByTypeAndTitleCommand_a959",
786
- arguments: JSON.stringify(toolArgs)
787
- }],
788
- data: { context: { agentId: getService("matrix-service").agentId } }
789
- });
790
- await waitFor("[data-test-command-result-header]");
791
- assert.dom("[data-test-command-result-container] [data-test-more-options-button]").doesNotExist();
792
- assert.dom("[data-test-boxel-menu-item-text=\"Copy to Workspace\"]").doesNotExist();
793
- });
794
- (0, import_qunit.test)("it can copy search results card to workspace (no cards in stack)", async function(assert) {
795
- const id = `${testRealmURL}Person/fadhlan`;
796
- const roomId = await renderAiAssistantPanel(`${id}.json`);
797
- const toolArgs = {
798
- description: "Search for Person cards",
799
- attributes: { type: {
800
- module: `${testRealmURL}person`,
801
- name: "Person"
802
- } }
803
- };
804
- simulateRemoteMessage(roomId, "@aibot:localhost", {
805
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
806
- body: "Search for the following card",
807
- format: "org.matrix.custom.html",
808
- isStreamingFinished: true,
809
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
810
- id: "ffd1a3d0-0bd4-491a-a907-b96ec9d8902c",
811
- name: "SearchCardsByTypeAndTitleCommand_a959",
812
- arguments: JSON.stringify(toolArgs)
813
- }],
814
- data: { context: { agentId: getService("matrix-service").agentId } }
815
- });
816
- await waitFor("[data-test-command-result-header]");
817
- assert.dom(`[data-test-stack-card="${id}"]`).exists();
818
- await click("[data-test-close-button]");
819
- assert.dom(`[data-test-stack-card="${id}"]`).doesNotExist();
820
- assert.dom(`[data-test-stack-card="${testRealmURL}index"]`).exists();
821
- await click("[data-test-close-button]");
822
- assert.dom("[data-test-message-idx=\"0\"] [data-test-boxel-card-header-title]").containsText("Search Results");
823
- assert.dom("[data-test-command-result-container] [data-test-toggle-show-button]").containsText("Show 3 more results");
824
- let resultListItem = "[data-test-result-list] > li";
825
- assert.dom(`${resultListItem}:nth-child(1)`).containsText("Buck");
826
- assert.dom(`${resultListItem}:nth-child(5)`).containsText("Ian");
827
- const stackItem = "[data-test-operator-mode-stack=\"0\"] [data-test-stack-card-index=\"0\"]";
828
- assert.dom(stackItem).doesNotExist();
829
- await click("[data-test-command-result-container] [data-test-more-options-button]");
830
- await click("[data-test-boxel-menu-item-text=\"Copy to Workspace\"]");
831
- assert.dom(`${stackItem} [data-test-boxel-card-header-title]`).hasText("Search Results - Search Results");
832
- const savedCard = `[data-test-card="${document.querySelector(stackItem)?.getAttribute("data-stack-card")}"] [data-test-command-result-isolated]`;
833
- assert.dom(`${savedCard} header`).hasText("Search Results 8 Results");
834
- assert.dom(`${savedCard} [data-test-boxel-field]`).exists({ count: 2 });
835
- assert.dom(`${savedCard} [data-test-boxel-field]:nth-child(1)`).hasText(`Description Query: { "type": { "module": "http://test-realm/test/person", "name": "Person" } }`);
836
- resultListItem = `${savedCard} ${resultListItem}`;
837
- assert.dom(resultListItem).exists({ count: 8 });
838
- assert.dom(`${resultListItem}:nth-child(1)`).containsText("Buck");
839
- assert.dom(`${resultListItem}:nth-child(6)`).containsText("Justin");
840
- assert.dom(`${resultListItem}:nth-child(8)`).containsText("Mickey");
841
- });
842
- (0, import_qunit.test)("it maintains status of View Code panel as additional events stream in", async function(assert) {
843
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
844
- await renderComponent(class TestDriver extends Component {
845
- static {
846
- setComponentTemplate(templateFactory({
847
- "id": "5SZaBHQb",
848
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
849
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
850
- "scope": () => [OperatorModeContainer, noop],
851
- "isStrictMode": true
852
- }), this);
853
- }
854
- });
855
- await waitFor("[data-test-person=\"Fadhlan\"]");
856
- simulateRemoteMessage(createAndJoinRoom({
857
- sender: "@testuser:localhost",
858
- name: "test room 1"
859
- }), "@aibot:localhost", {
860
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
861
- body: "Changing first name to Evie",
862
- format: "org.matrix.custom.html",
863
- isStreamingFinished: true,
864
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
865
- name: "patchCardInstance",
866
- arguments: JSON.stringify({ attributes: {
867
- cardId: `${testRealmURL}Person/fadhlan`,
868
- patch: { attributes: { firstName: "Evie" } }
869
- } })
870
- }]
871
- });
872
- await settled();
873
- await click("[data-test-open-ai-assistant]");
874
- await waitFor("[data-test-room-name=\"test room 1\"]");
875
- assert.dom("[data-test-ai-message-content] [data-test-editor]").doesNotExist("View Code panel should not yet be open");
876
- await click("[data-test-view-code-button]");
877
- assert.dom("[data-test-ai-message-content] [data-test-editor]").exists("View Code panel should be open");
878
- await fillIn("[data-test-message-field]", "Asking a question about what I saw in the proposed code...");
879
- await click("[data-test-send-message-btn]");
880
- assert.dom("[data-test-ai-message-content] [data-test-editor]").exists("View Code panel should remain open");
881
- await percySnapshot(assert);
882
- });
883
- (0, import_qunit.test)("when command in a message with continuations is done streaming, apply button is shown in ready state", async function(assert) {
884
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
885
- await renderComponent(class TestDriver extends Component {
886
- static {
887
- setComponentTemplate(templateFactory({
888
- "id": "5SZaBHQb",
889
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
890
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
891
- "scope": () => [OperatorModeContainer, noop],
892
- "isStrictMode": true
893
- }), this);
894
- }
895
- });
896
- await waitFor("[data-test-person=\"Fadhlan\"]");
897
- let roomId = createAndJoinRoom({
898
- sender: "@testuser:localhost",
899
- name: "test room 1"
900
- });
901
- let initialEventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
902
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
903
- body: "Changing",
904
- format: "org.matrix.custom.html",
905
- isStreamingFinished: false
906
- });
907
- simulateRemoteMessage(roomId, "@aibot:localhost", {
908
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
909
- body: "Changing first",
910
- format: "org.matrix.custom.html",
911
- isStreamingFinished: true,
912
- [APP_BOXEL_HAS_CONTINUATION_CONTENT_KEY]: true,
913
- "m.relates_to": {
914
- rel_type: "m.replace",
915
- event_id: initialEventId
916
- }
917
- });
918
- let continuationEventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
919
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
920
- body: "Changing first names",
921
- format: "org.matrix.custom.html",
922
- [APP_BOXEL_CONTINUATION_OF_CONTENT_KEY]: initialEventId,
923
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
924
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
925
- name: "patchCard"
926
- }],
927
- isStreamingFinished: false
928
- });
929
- await settled();
930
- await click("[data-test-open-ai-assistant]");
931
- await waitFor("[data-test-room-name=\"test room 1\"]");
932
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
933
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
934
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists({ count: 1 });
935
- simulateRemoteMessage(roomId, "@aibot:localhost", {
936
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
937
- body: "Changing first names",
938
- format: "org.matrix.custom.html",
939
- [APP_BOXEL_CONTINUATION_OF_CONTENT_KEY]: initialEventId,
940
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
941
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
942
- name: "patchCard",
943
- arguments: JSON.stringify({ attributes: {
944
- cardId: `${testRealmURL}Person/fadhlan`,
945
- patch: { attributes: { firstName: "Evie" } }
946
- } })
947
- }, {
948
- id: "f2da5504-b92f-480a-986a-56ec606d240e",
949
- name: "patchCard",
950
- arguments: JSON.stringify({ attributes: {
951
- cardId: `${testRealmURL}Person/hassan`,
952
- patch: { attributes: { firstName: "Ivana" } }
953
- } })
954
- }],
955
- isStreamingFinished: false,
956
- "m.relates_to": {
957
- rel_type: "m.replace",
958
- event_id: continuationEventId
959
- }
960
- });
961
- await settled();
962
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
963
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
964
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists({ count: 2 });
965
- simulateRemoteMessage(roomId, "@aibot:localhost", {
966
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
967
- body: "Changing first names",
968
- format: "org.matrix.custom.html",
969
- [APP_BOXEL_CONTINUATION_OF_CONTENT_KEY]: initialEventId,
970
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
971
- id: "6545dc5a-01a1-47d6-b2f7-493d2ff5a0c2",
972
- name: "patchCard",
973
- arguments: JSON.stringify({ attributes: {
974
- cardId: `${testRealmURL}Person/fadhlan`,
975
- patch: { attributes: { firstName: "Evie" } }
976
- } })
977
- }, {
978
- id: "f2da5504-b92f-480a-986a-56ec606d240e",
979
- name: "patchCard",
980
- arguments: JSON.stringify({ attributes: {
981
- cardId: `${testRealmURL}Person/hassan`,
982
- patch: { attributes: { firstName: "Ivana" } }
983
- } })
984
- }],
985
- isStreamingFinished: true,
986
- "m.relates_to": {
987
- rel_type: "m.replace",
988
- event_id: continuationEventId
989
- }
990
- });
991
- await settled();
992
- assert.dom("[data-test-message-idx]").exists({ count: 1 });
993
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
994
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"preparing\"]").exists({ count: 0 });
995
- assert.dom("[data-test-message-idx=\"0\"] [data-test-command-apply=\"ready\"]").exists({ count: 2 });
996
- });
997
- (0, import_qunit.skip)("command that returns a FileForAttachmentCard result is specially handled to attach the file", async function(assert) {
998
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
999
- await renderComponent(class TestDriver extends Component {
1000
- static {
1001
- setComponentTemplate(templateFactory({
1002
- "id": "5SZaBHQb",
1003
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
1004
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
1005
- "scope": () => [OperatorModeContainer, noop],
1006
- "isStrictMode": true
1007
- }), this);
1008
- }
1009
- });
1010
- await waitFor("[data-test-person=\"Fadhlan\"]");
1011
- let roomId = createAndJoinRoom({
1012
- sender: "@testuser:localhost",
1013
- name: "test room 1"
1014
- });
1015
- await settled();
1016
- await click("[data-test-open-ai-assistant]");
1017
- await waitFor("[data-test-room-name=\"test room 1\"]", { timeout: 1e4 });
1018
- await addSkillToAiAssistant(`${testRealmURL}Skill/boxel-environment`);
1019
- simulateRemoteMessage(roomId, "@aibot:localhost", {
1020
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1021
- body: "Reading hello file",
1022
- format: "org.matrix.custom.html",
1023
- isStreamingFinished: true,
1024
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
1025
- id: "0ce51dc1-c819-4d6d-9f4f-77fbf60e9a0a",
1026
- name: "read-file-for-ai-assistant_a831",
1027
- arguments: JSON.stringify({ attributes: { fileIdentifier: `${testRealmURL}hello.txt` } })
1028
- }]
1029
- });
1030
- let commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation" && event.content["m.relates_to"]?.key === "applied");
1031
- assert.strictEqual(commandResultEvents.length, 0, "command result event is not dispatched");
1032
- await settled();
1033
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
1034
- await click("[data-test-message-idx=\"0\"] [data-test-command-apply]");
1035
- await waitFor("[data-test-command-card-idle]");
1036
- assert.dom("[data-test-message-idx=\"0\"] [data-test-apply-state=\"applied\"]").exists();
1037
- commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation" && event.content["m.relates_to"]?.key === "applied");
1038
- assert.strictEqual(commandResultEvents.length, 1, "command result event is dispatched");
1039
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).attachedFiles.length, 1, "command result event contains an attached file");
1040
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).attachedFiles[0].name, "hello.txt", "command result event contains attached file");
1041
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).attachedFiles[0].sourceUrl, "http://test-realm/test/hello.txt", "command result event contains file whose url was reference in the input of the command as an attached file");
1042
- });
1043
- (0, import_qunit.skip)("command that returns a CardForAttachmentCard result is specially handled to attach the card", async function(assert) {
1044
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
1045
- await renderComponent(class TestDriver extends Component {
1046
- static {
1047
- setComponentTemplate(templateFactory({
1048
- "id": "5SZaBHQb",
1049
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
1050
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
1051
- "scope": () => [OperatorModeContainer, noop],
1052
- "isStrictMode": true
1053
- }), this);
1054
- }
1055
- });
1056
- await waitFor("[data-test-person=\"Fadhlan\"]");
1057
- let roomId = createAndJoinRoom({
1058
- sender: "@testuser:localhost",
1059
- name: "test room 1"
1060
- });
1061
- await settled();
1062
- await click("[data-test-open-ai-assistant]");
1063
- await waitFor("[data-test-room-name=\"test room 1\"]", { timeout: 1e4 });
1064
- await addSkillToAiAssistant(`${testRealmURL}Skill/boxel-environment`);
1065
- simulateRemoteMessage(roomId, "@aibot:localhost", {
1066
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1067
- body: "Reading card",
1068
- format: "org.matrix.custom.html",
1069
- isStreamingFinished: true,
1070
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
1071
- id: "1ef9a66a-2201-4874-a156-9705acb1ac13",
1072
- name: "read-card-for-ai-assistant_dd38",
1073
- arguments: JSON.stringify({ attributes: { cardId: `${testRealmURL}Pet/mango` } })
1074
- }]
1075
- });
1076
- let commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation" && event.content["m.relates_to"]?.key === "applied");
1077
- assert.strictEqual(commandResultEvents.length, 0, "command result event is not dispatched");
1078
- await settled();
1079
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
1080
- await click("[data-test-message-idx=\"0\"] [data-test-command-apply]");
1081
- await waitFor("[data-test-command-card-idle]");
1082
- assert.dom("[data-test-message-idx=\"0\"] [data-test-apply-state=\"applied\"]").exists();
1083
- commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation" && event.content["m.relates_to"]?.key === "applied");
1084
- assert.strictEqual(commandResultEvents.length, 1, "command result event is dispatched");
1085
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).attachedCards.length, 1, "command result event contains an attached file");
1086
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).attachedCards[0].name, "Mango", "command result event contains attached card");
1087
- assert.deepEqual(JSON.parse(commandResultEvents[0].content.data).attachedCards[0].sourceUrl, "http://test-realm/test/Pet/mango", "command result event contains file whose url was reference in the input of the command as an attached file");
1088
- });
1089
- (0, import_qunit.test)("CS-11045: commandResult event_id is sourced from current room state, not a streaming snapshot", async function(assert) {
1090
- setCardInOperatorModeState(`${testRealmURL}Person/fadhlan`);
1091
- await renderComponent(class TestDriver extends Component {
1092
- static {
1093
- setComponentTemplate(templateFactory({
1094
- "id": "5SZaBHQb",
1095
- "block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
1096
- "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/components/ai-assistant-panel/commands-test.gts",
1097
- "scope": () => [OperatorModeContainer, noop],
1098
- "isStrictMode": true
1099
- }), this);
1100
- }
1101
- });
1102
- await waitFor("[data-test-person=\"Fadhlan\"]");
1103
- let roomId = createAndJoinRoom({
1104
- sender: "@testuser:localhost",
1105
- name: "test room 1"
1106
- });
1107
- let commandRequestId = "cs-11045-cmd-request-id";
1108
- let streamingEventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
1109
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1110
- body: "Changing",
1111
- format: "org.matrix.custom.html",
1112
- isStreamingFinished: false
1113
- });
1114
- let replacedEventId = simulateRemoteMessage(roomId, "@aibot:localhost", {
1115
- msgtype: APP_BOXEL_MESSAGE_MSGTYPE,
1116
- body: "Changing first name to Evie",
1117
- format: "org.matrix.custom.html",
1118
- isStreamingFinished: true,
1119
- [APP_BOXEL_COMMAND_REQUESTS_KEY]: [{
1120
- id: commandRequestId,
1121
- name: "patchCardInstance",
1122
- arguments: JSON.stringify({ attributes: {
1123
- cardId: `${testRealmURL}Person/fadhlan`,
1124
- patch: { attributes: { firstName: "Evie" } }
1125
- } })
1126
- }],
1127
- "m.relates_to": {
1128
- rel_type: "m.replace",
1129
- event_id: streamingEventId
1130
- }
1131
- });
1132
- await settled();
1133
- await click("[data-test-open-ai-assistant]");
1134
- await waitFor("[data-test-room-name=\"test room 1\"]");
1135
- await waitFor("[data-test-message-idx=\"0\"] [data-test-command-apply]");
1136
- await click("[data-test-message-idx=\"0\"] [data-test-command-apply]");
1137
- await waitFor("[data-test-command-card-idle]");
1138
- assert.dom("[data-test-message-idx=\"0\"] [data-test-apply-state=\"applied\"]").exists("MessageCommand status should flip to applied even though commandResult.m.relates_to.event_id is the m.replace id, not the streaming id the cache is keyed by");
1139
- let commandResultEvents = getRoomEvents(roomId).filter((event) => event.type === "app.boxel.commandResult" && event.content["m.relates_to"]?.rel_type === "app.boxel.commandAnnotation");
1140
- assert.strictEqual(commandResultEvents.length, 1, "exactly one commandResult should be dispatched");
1141
- assert.strictEqual(commandResultEvents[0].content["m.relates_to"]?.event_id, replacedEventId, "commandResult.m.relates_to.event_id should be the bot message event_id currently in room.events that owns the commandRequest, not a stale snapshot of the streaming/original id");
1142
- assert.notStrictEqual(commandResultEvents[0].content["m.relates_to"]?.event_id, streamingEventId, "commandResult should not reference the original/streaming event_id once a later event in room.events owns the commandRequest");
1143
- });
1144
- });
1145
- //#endregion