@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
@@ -0,0 +1,992 @@
1
+ import { s as __toESM } from "./chunk-CGdGNDIi.js";
2
+ import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime-CYyqkz5q-z3Y1hsJm.js";
3
+ import { Zn as testRealmURL } 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 { t as PatchFieldsCommand } from "./patch-fields-CnL9_mBJ.js";
7
+ import "./template-D3TMIrc1.js";
8
+ import "./template-factory-DMEv2kVd.js";
9
+ import { I as waitUntil } from "./dist-D1U_uSwt.js";
10
+ import { t as require_qunit } from "./qunit-Cqwmt9Vl.js";
11
+ import { r as getService } from "./dist-CY3T64Hs.js";
12
+ import { A as setupIntegrationTestRealm, J as withSlowSave, M as setupOnSave, j as setupLocalIndexing, rt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-BhFWlMMr.js";
13
+ import { G as contains, I as StringField, K as containsMany, O as NumberField, Q as field, a as CardDef, b as FieldDef, d as Component, lt as linksTo, mt as setupBaseRealm, st as isCard, ut as linksToMany } from "./base-realm-DpSTsZxD.js";
14
+ //#region tests/integration/commands/patch-fields-test.gts
15
+ var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
16
+ (0, import_qunit.module)("Integration | Command | patch-fields", function(hooks) {
17
+ setupRenderingTest(hooks);
18
+ setupBaseRealm(hooks);
19
+ setupLocalIndexing(hooks);
20
+ setupOnSave(hooks);
21
+ let mockMatrixUtils = setupMockMatrix(hooks, { autostart: true });
22
+ let commandService;
23
+ let AuthorDef;
24
+ let BookDef;
25
+ let store;
26
+ hooks.beforeEach(async function() {
27
+ commandService = getService("command-service");
28
+ class Coordinates extends FieldDef {
29
+ static {
30
+ decorateFieldV2(this.prototype, "latitude", [field], function() {
31
+ return contains(NumberField);
32
+ });
33
+ }
34
+ #latitude = (initializeDeferredDecorator(this, "latitude"), void 0);
35
+ static {
36
+ decorateFieldV2(this.prototype, "longitude", [field], function() {
37
+ return contains(NumberField);
38
+ });
39
+ }
40
+ #longitude = (initializeDeferredDecorator(this, "longitude"), void 0);
41
+ }
42
+ class Country extends CardDef {
43
+ static {
44
+ decorateFieldV2(this.prototype, "name", [field], function() {
45
+ return contains(StringField);
46
+ });
47
+ }
48
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
49
+ static {
50
+ decorateFieldV2(this.prototype, "code", [field], function() {
51
+ return contains(StringField);
52
+ });
53
+ }
54
+ #code = (initializeDeferredDecorator(this, "code"), void 0);
55
+ }
56
+ class Address extends FieldDef {
57
+ static {
58
+ decorateFieldV2(this.prototype, "street", [field], function() {
59
+ return contains(StringField);
60
+ });
61
+ }
62
+ #street = (initializeDeferredDecorator(this, "street"), void 0);
63
+ static {
64
+ decorateFieldV2(this.prototype, "city", [field], function() {
65
+ return contains(StringField);
66
+ });
67
+ }
68
+ #city = (initializeDeferredDecorator(this, "city"), void 0);
69
+ static {
70
+ decorateFieldV2(this.prototype, "zipCode", [field], function() {
71
+ return contains(StringField);
72
+ });
73
+ }
74
+ #zipCode = (initializeDeferredDecorator(this, "zipCode"), void 0);
75
+ static {
76
+ decorateFieldV2(this.prototype, "coordinates", [field], function() {
77
+ return contains(Coordinates);
78
+ });
79
+ }
80
+ #coordinates = (initializeDeferredDecorator(this, "coordinates"), void 0);
81
+ static {
82
+ decorateFieldV2(this.prototype, "country", [field], function() {
83
+ return linksTo(Country);
84
+ });
85
+ }
86
+ #country = (initializeDeferredDecorator(this, "country"), void 0);
87
+ }
88
+ class Author extends CardDef {
89
+ static {
90
+ decorateFieldV2(this.prototype, "firstName", [field], function() {
91
+ return contains(StringField);
92
+ });
93
+ }
94
+ #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
95
+ static {
96
+ decorateFieldV2(this.prototype, "lastName", [field], function() {
97
+ return contains(StringField);
98
+ });
99
+ }
100
+ #lastName = (initializeDeferredDecorator(this, "lastName"), void 0);
101
+ static {
102
+ decorateFieldV2(this.prototype, "email", [field], function() {
103
+ return contains(StringField);
104
+ });
105
+ }
106
+ #email = (initializeDeferredDecorator(this, "email"), void 0);
107
+ static {
108
+ decorateFieldV2(this.prototype, "address", [field], function() {
109
+ return contains(Address);
110
+ });
111
+ }
112
+ #address = (initializeDeferredDecorator(this, "address"), void 0);
113
+ static {
114
+ decorateFieldV2(this.prototype, "tags", [field], function() {
115
+ return containsMany(StringField);
116
+ });
117
+ }
118
+ #tags = (initializeDeferredDecorator(this, "tags"), void 0);
119
+ static {
120
+ decorateFieldV2(this.prototype, "bestBook", [field], function() {
121
+ return linksTo(() => Book);
122
+ });
123
+ }
124
+ #bestBook = (initializeDeferredDecorator(this, "bestBook"), void 0);
125
+ static {
126
+ decorateFieldV2(this.prototype, "books", [field], function() {
127
+ return linksToMany(() => Book);
128
+ });
129
+ }
130
+ #books = (initializeDeferredDecorator(this, "books"), void 0);
131
+ static isolated = class Isolated extends Component {
132
+ static {
133
+ setComponentTemplate(templateFactory({
134
+ "id": "RFJKdqFG",
135
+ "block": "[[[10,\"h1\"],[12],[1,[30,1,[\"firstName\"]]],[1,\" \"],[1,[30,1,[\"lastName\"]]],[1,\" - \"],[1,[30,1,[\"email\"]]],[13],[1,\"\\n\"],[10,0],[12],[1,\"\\n Address:\\n \"],[8,[30,2,[\"address\"]],null,null,null],[1,\"\\n\"],[13],[1,\"\\n\"],[10,0],[12],[1,\"\\n Best Book:\\n \"],[8,[30,2,[\"bestBook\"]],null,null,null],[1,\"\\n\"],[13],[1,\"\\n\"],[10,0],[12],[1,\"All books:\"],[13],[1,\"\\n\"],[8,[30,2,[\"books\"]],null,null,null]],[\"@model\",\"@fields\"],[]]",
136
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/commands/patch-fields-test.gts",
137
+ "isStrictMode": true
138
+ }), this);
139
+ }
140
+ };
141
+ }
142
+ class Book extends CardDef {
143
+ static {
144
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
145
+ return contains(StringField);
146
+ });
147
+ }
148
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
149
+ static {
150
+ decorateFieldV2(this.prototype, "isbn", [field], function() {
151
+ return contains(StringField);
152
+ });
153
+ }
154
+ #isbn = (initializeDeferredDecorator(this, "isbn"), void 0);
155
+ static {
156
+ decorateFieldV2(this.prototype, "publishYear", [field], function() {
157
+ return contains(NumberField);
158
+ });
159
+ }
160
+ #publishYear = (initializeDeferredDecorator(this, "publishYear"), void 0);
161
+ static {
162
+ decorateFieldV2(this.prototype, "chapters", [field], function() {
163
+ return containsMany(StringField);
164
+ });
165
+ }
166
+ #chapters = (initializeDeferredDecorator(this, "chapters"), void 0);
167
+ }
168
+ AuthorDef = Author;
169
+ BookDef = Book;
170
+ let johnTheAuthor = new Author({
171
+ firstName: "John",
172
+ lastName: "Doe",
173
+ email: "john@example.com",
174
+ address: new Address({
175
+ street: "123 Main St",
176
+ city: "Anytown",
177
+ zipCode: "12345"
178
+ }),
179
+ tags: ["writer", "programmer"]
180
+ });
181
+ let usa = new Country({
182
+ name: "United States",
183
+ code: "US"
184
+ });
185
+ johnTheAuthor.address.country = usa;
186
+ await setupIntegrationTestRealm({
187
+ mockMatrixUtils,
188
+ contents: {
189
+ "author.gts": {
190
+ Author,
191
+ Address,
192
+ Coordinates,
193
+ Book,
194
+ Country
195
+ },
196
+ "Book/relationship-book.json": new Book({
197
+ cardTitle: "Relationship Book",
198
+ isbn: "123-REL",
199
+ publishYear: 2025,
200
+ chapters: ["Rel 1"]
201
+ }),
202
+ "Book/book-1.json": new Book({
203
+ cardTitle: "Book 1",
204
+ isbn: "111",
205
+ publishYear: 2020,
206
+ chapters: ["A"]
207
+ }),
208
+ "Book/book-2.json": new Book({
209
+ cardTitle: "Book 2",
210
+ isbn: "222",
211
+ publishYear: 2021,
212
+ chapters: ["B"]
213
+ }),
214
+ "Book/test-book.json": new Book({
215
+ cardTitle: "Test Book",
216
+ isbn: "978-0123456789",
217
+ publishYear: 2023,
218
+ chapters: ["Introduction", "Chapter 1"]
219
+ }),
220
+ "Author/john.json": johnTheAuthor,
221
+ "Country/canada.json": new Country({
222
+ name: "Canada",
223
+ code: "CA"
224
+ }),
225
+ "Country/usa.json": usa
226
+ }
227
+ });
228
+ store = getService("store");
229
+ });
230
+ (0, import_qunit.module)("Optimistic persistence behavior", function() {
231
+ (0, import_qunit.test)("patches do not await persistence", async function(assert) {
232
+ assert.expect(6);
233
+ let patchFieldsCommand = new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef });
234
+ let cardId = `${testRealmURL}Author/john`;
235
+ let store = getService("store");
236
+ let saves = 0;
237
+ this.onSave((url) => {
238
+ if (url.href === cardId) saves++;
239
+ });
240
+ let patchOptions;
241
+ let originalPatch = store.patch;
242
+ store.patch = async function(id, patch, opts) {
243
+ patchOptions = opts;
244
+ return await originalPatch.call(this, id, patch, opts);
245
+ };
246
+ try {
247
+ await withSlowSave(100, async () => {
248
+ let result = await patchFieldsCommand.execute({
249
+ cardId,
250
+ fieldUpdates: { firstName: "Jane Optimistic" }
251
+ });
252
+ assert.true(result.success, "command succeeds");
253
+ let localCard = store.peek(cardId);
254
+ assert.ok(localCard, "local card is present");
255
+ if (isCard(localCard)) assert.strictEqual(localCard.firstName, "Jane Optimistic", "local card updated immediately");
256
+ else assert.ok(false, "local card should be a card instance");
257
+ assert.strictEqual(saves, 0, "no persistence yet");
258
+ });
259
+ } finally {
260
+ store.patch = originalPatch;
261
+ }
262
+ assert.true(patchOptions?.doNotWaitForPersist, "store.patch receives doNotWaitForPersist option");
263
+ await waitUntil(() => saves > 0);
264
+ let persistedCard = await store.get(cardId);
265
+ if (isCard(persistedCard)) assert.strictEqual(persistedCard.firstName, "Jane Optimistic", "change persists after background save completes");
266
+ else assert.ok(false, "persisted card should exist");
267
+ });
268
+ });
269
+ (0, import_qunit.module)("Simple Field Update Tests", function() {
270
+ (0, import_qunit.module)("Relationship Update Tests", function() {
271
+ (0, import_qunit.test)("should update a linksTo relationship field", async function(assert) {
272
+ let patchFieldsCommand = new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef });
273
+ let bookId = `${testRealmURL}Book/relationship-book`;
274
+ let result = await patchFieldsCommand.execute({
275
+ cardId: `${testRealmURL}Author/john`,
276
+ fieldUpdates: { bestBook: {
277
+ type: "Book",
278
+ id: bookId
279
+ } }
280
+ });
281
+ assert.ok(result, "Result should be defined");
282
+ assert.true(result.success, "Command should succeed");
283
+ assert.deepEqual(result.updatedFields, ["bestBook"], "Updated fields should be correct");
284
+ assert.deepEqual(result.errors, {}, "No errors should be present");
285
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
286
+ if (isCard(updatedCard)) {
287
+ let rel = updatedCard.bestBook;
288
+ assert.ok(rel, "bestBook relationship should exist");
289
+ assert.strictEqual(rel.id, bookId, "bestBook relationship should be updated");
290
+ } else assert.ok(false, "Updated card should exist");
291
+ });
292
+ (0, import_qunit.test)("should update a linksToMany relationship field", async function(assert) {
293
+ let patchFieldsCommand = new PatchFieldsCommand(commandService.commandContext);
294
+ let bookId1 = `${testRealmURL}Book/book-1`;
295
+ let bookId2 = `${testRealmURL}Book/book-2`;
296
+ let result = await patchFieldsCommand.execute({
297
+ cardId: `${testRealmURL}Author/john`,
298
+ fieldUpdates: { books: [{
299
+ type: "Book",
300
+ id: bookId1
301
+ }, {
302
+ type: "Book",
303
+ id: bookId2
304
+ }] }
305
+ });
306
+ assert.ok(result, "Result should be defined");
307
+ assert.true(result.success, "Command should succeed");
308
+ assert.deepEqual(result.updatedFields, ["books"], "Updated fields should be correct");
309
+ assert.deepEqual(result.errors, {}, "No errors should be present");
310
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
311
+ if (isCard(updatedCard)) {
312
+ let rel = updatedCard.books;
313
+ assert.ok(rel, "books relationship should exist");
314
+ assert.ok(Array.isArray(rel), "books relationship should be an array");
315
+ if (Array.isArray(rel)) {
316
+ assert.strictEqual(rel[0].id, bookId1, "First book id should match");
317
+ assert.strictEqual(rel[1].id, bookId2, "Second book id should match");
318
+ } else assert.ok(false, "books relationship should be an array");
319
+ } else assert.ok(false, "Updated card should exist");
320
+ });
321
+ (0, import_qunit.test)("should update a nested relationship field (e.g., address.country)", async function(assert) {
322
+ let result = await new PatchFieldsCommand(commandService.commandContext).execute({
323
+ cardId: `${testRealmURL}Author/john`,
324
+ fieldUpdates: { "address.country": { id: `${testRealmURL}Country/canada` } }
325
+ });
326
+ assert.ok(result, "Result should be defined");
327
+ assert.true(result.success, "Command should succeed for nested relationship update");
328
+ assert.deepEqual(result.updatedFields, ["address.country"], "Updated fields should include the nested relationship");
329
+ assert.deepEqual(result.errors, {}, "No errors should be present");
330
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
331
+ if (isCard(updatedCard)) {
332
+ let rel = updatedCard.address?.country;
333
+ assert.ok(rel, "Nested country relationship should exist");
334
+ if (rel && typeof rel === "object" && "id" in rel) assert.strictEqual(rel.id, `${testRealmURL}Country/canada`, "Nested country relationship should be updated");
335
+ else assert.ok(false, "Nested country relationship data should have id");
336
+ } else assert.ok(false, "Updated card should exist");
337
+ });
338
+ });
339
+ (0, import_qunit.test)("should update single primitive field", async function(assert) {
340
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
341
+ cardId: `${testRealmURL}Author/john`,
342
+ fieldUpdates: { firstName: "Jane" }
343
+ });
344
+ assert.ok(result, "Result should be defined");
345
+ assert.true(result.success, "Command should succeed");
346
+ assert.deepEqual(result.updatedFields, ["firstName"], "Updated fields should be correct");
347
+ assert.deepEqual(result.errors, {}, "No errors should be present");
348
+ });
349
+ (0, import_qunit.test)("should update multiple primitive fields", async function(assert) {
350
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
351
+ cardId: `${testRealmURL}Author/john`,
352
+ fieldUpdates: {
353
+ firstName: "Jane",
354
+ email: "jane@example.com"
355
+ }
356
+ });
357
+ assert.ok(result, "Result should be defined");
358
+ assert.true(result.success, "Command should succeed");
359
+ assert.deepEqual(result.updatedFields, ["firstName", "email"], "Updated fields should be correct");
360
+ assert.deepEqual(result.errors, {}, "No errors should be present");
361
+ });
362
+ (0, import_qunit.test)("should return success with updated field list", async function(assert) {
363
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
364
+ cardId: `${testRealmURL}Author/john`,
365
+ fieldUpdates: {
366
+ firstName: "Jane",
367
+ lastName: "Smith",
368
+ email: "jane.smith@example.com"
369
+ }
370
+ });
371
+ assert.ok(result, "Result should be defined");
372
+ assert.true(result.success, "Command should succeed");
373
+ assert.deepEqual(result.updatedFields, [
374
+ "firstName",
375
+ "lastName",
376
+ "email"
377
+ ], "Updated fields should include all provided fields");
378
+ assert.deepEqual(result.errors, {}, "No errors should be present");
379
+ });
380
+ (0, import_qunit.test)("should preserve unchanged fields", async function(assert) {
381
+ let patchFieldsCommand = new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef });
382
+ let originalCard = await store.get(`${testRealmURL}Author/john`);
383
+ if (isCard(originalCard)) {
384
+ assert.strictEqual(originalCard.firstName, "John", "Original firstName should be John");
385
+ assert.strictEqual(originalCard.lastName, "Doe", "Original lastName should be Doe");
386
+ assert.strictEqual(originalCard.email, "john@example.com", "Original email should be john@example.com");
387
+ } else assert.ok(false, "Original card should exist");
388
+ if (isCard(originalCard)) {
389
+ await patchFieldsCommand.execute({
390
+ cardId: `${testRealmURL}Author/john`,
391
+ fieldUpdates: { firstName: "Jane" }
392
+ });
393
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
394
+ if (isCard(updatedCard)) {
395
+ assert.strictEqual(updatedCard.firstName, "Jane", "Updated firstName should be Jane");
396
+ assert.strictEqual(updatedCard.lastName, "Doe", "lastName should remain unchanged");
397
+ assert.strictEqual(updatedCard.email, "john@example.com", "email should remain unchanged");
398
+ } else assert.ok(false, "Updated card should exist");
399
+ }
400
+ });
401
+ });
402
+ (0, import_qunit.module)("Nested Field Update Tests", function() {
403
+ (0, import_qunit.test)("should update nested object field using dot notation", async function(assert) {
404
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
405
+ cardId: `${testRealmURL}Author/john`,
406
+ fieldUpdates: { "address.city": "New York" }
407
+ });
408
+ assert.ok(result, "Result should be defined");
409
+ assert.true(result.success, "Command should succeed");
410
+ assert.deepEqual(result.updatedFields, ["address.city"], "Updated fields should be correct");
411
+ assert.deepEqual(result.errors, {}, "No errors should be present");
412
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
413
+ if (isCard(updatedCard)) {
414
+ assert.strictEqual(updatedCard.address?.city, "New York", "Nested field should be updated");
415
+ assert.strictEqual(updatedCard.address?.street, "123 Main St", "Other nested fields should remain unchanged");
416
+ } else assert.ok(false, "Updated card should exist");
417
+ });
418
+ (0, import_qunit.test)("should update multiple nested fields", async function(assert) {
419
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
420
+ cardId: `${testRealmURL}Author/john`,
421
+ fieldUpdates: {
422
+ "address.city": "San Francisco",
423
+ "address.zipCode": "94102",
424
+ firstName: "Jane"
425
+ }
426
+ });
427
+ assert.ok(result, "Result should be defined");
428
+ assert.true(result.success, "Command should succeed");
429
+ assert.deepEqual(result.updatedFields, [
430
+ "address.city",
431
+ "address.zipCode",
432
+ "firstName"
433
+ ], "Updated fields should be correct");
434
+ assert.deepEqual(result.errors, {}, "No errors should be present");
435
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
436
+ if (isCard(updatedCard)) {
437
+ assert.strictEqual(updatedCard.address?.city, "San Francisco", "Nested city field should be updated");
438
+ assert.strictEqual(updatedCard.address?.zipCode, "94102", "Nested zipCode field should be updated");
439
+ assert.strictEqual(updatedCard.firstName, "Jane", "Top-level firstName should be updated");
440
+ assert.strictEqual(updatedCard.address?.street, "123 Main St", "Unchanged nested field should remain the same");
441
+ } else assert.ok(false, "Updated card should exist");
442
+ });
443
+ (0, import_qunit.test)("should create nested objects if they don't exist", async function(assert) {
444
+ let patchFieldsCommand = new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef });
445
+ await patchFieldsCommand.execute({
446
+ cardId: `${testRealmURL}Author/john`,
447
+ fieldUpdates: { address: null }
448
+ });
449
+ let result = await patchFieldsCommand.execute({
450
+ cardId: `${testRealmURL}Author/john`,
451
+ fieldUpdates: {
452
+ "address.city": "Boston",
453
+ "address.street": "456 Oak St"
454
+ }
455
+ });
456
+ assert.ok(result, "Result should be defined");
457
+ assert.true(result.success, "Command should succeed");
458
+ assert.deepEqual(result.updatedFields, ["address.city", "address.street"], "Updated fields should be correct");
459
+ assert.deepEqual(result.errors, {}, "No errors should be present");
460
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
461
+ if (isCard(updatedCard)) {
462
+ assert.strictEqual(updatedCard.address?.city, "Boston", "Nested city field should be created and set");
463
+ assert.strictEqual(updatedCard.address?.street, "456 Oak St", "Nested street field should be created and set");
464
+ } else assert.ok(false, "Updated card should exist");
465
+ });
466
+ (0, import_qunit.test)("should handle deep nesting (3+ levels)", async function(assert) {
467
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
468
+ cardId: `${testRealmURL}Author/john`,
469
+ fieldUpdates: {
470
+ "address.coordinates.latitude": 40.7128,
471
+ "address.coordinates.longitude": -74.006
472
+ }
473
+ });
474
+ assert.ok(result, "Result should be defined");
475
+ assert.true(result.success, "Command should succeed");
476
+ assert.deepEqual(result.updatedFields, ["address.coordinates.latitude", "address.coordinates.longitude"], "Updated fields should be correct");
477
+ assert.deepEqual(result.errors, {}, "No errors should be present");
478
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
479
+ if (isCard(updatedCard)) {
480
+ assert.strictEqual(updatedCard.address?.coordinates?.latitude, 40.7128, "Deep nested latitude should be set");
481
+ assert.strictEqual(updatedCard.address?.coordinates?.longitude, -74.006, "Deep nested longitude should be set");
482
+ assert.strictEqual(updatedCard.address?.city, "Anytown", "Existing nested city should be preserved");
483
+ assert.strictEqual(updatedCard.address?.street, "123 Main St", "Existing nested street should be preserved");
484
+ } else assert.ok(false, "Updated card should exist");
485
+ });
486
+ });
487
+ (0, import_qunit.module)("Array Field Update Tests", function() {
488
+ (0, import_qunit.test)("should update array element by index", async function(assert) {
489
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
490
+ cardId: `${testRealmURL}Author/john`,
491
+ fieldUpdates: { "tags[1]": "developer" }
492
+ });
493
+ assert.ok(result, "Result should be defined");
494
+ assert.true(result.success, "Command should succeed");
495
+ assert.deepEqual(result.updatedFields, ["tags[1]"], "Updated fields should be correct");
496
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
497
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, ["writer", "developer"], "Array element should be updated");
498
+ else assert.ok(false, "Updated card should exist");
499
+ });
500
+ (0, import_qunit.test)("should update nested field within array element", async function(assert) {
501
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
502
+ cardId: `${testRealmURL}Author/john`,
503
+ fieldUpdates: { "address.street": "456 Oak Ave" }
504
+ });
505
+ assert.ok(result, "Result should be defined");
506
+ assert.true(result.success, "Command should succeed");
507
+ assert.deepEqual(result.updatedFields, ["address.street"], "Updated fields should be correct");
508
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
509
+ if (isCard(updatedCard)) {
510
+ let address = updatedCard.address;
511
+ assert.strictEqual(address?.street, "456 Oak Ave", "Nested field should be updated");
512
+ assert.strictEqual(address?.city, "Anytown", "Other nested fields should remain unchanged");
513
+ } else assert.ok(false, "Updated card should exist");
514
+ });
515
+ (0, import_qunit.test)("should replace entire array", async function(assert) {
516
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
517
+ cardId: `${testRealmURL}Author/john`,
518
+ fieldUpdates: { tags: [
519
+ "javascript",
520
+ "typescript",
521
+ "react"
522
+ ] }
523
+ });
524
+ assert.ok(result, "Result should be defined");
525
+ assert.true(result.success, "Command should succeed");
526
+ assert.deepEqual(result.updatedFields, ["tags"], "Updated fields should be correct");
527
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
528
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, [
529
+ "javascript",
530
+ "typescript",
531
+ "react"
532
+ ], "Entire array should be replaced");
533
+ else assert.ok(false, "Updated card should exist");
534
+ });
535
+ (0, import_qunit.test)("should add new item to array using push syntax", async function(assert) {
536
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
537
+ cardId: `${testRealmURL}Author/john`,
538
+ fieldUpdates: { "tags[]": "new-tag" }
539
+ });
540
+ assert.ok(result, "Result should be defined");
541
+ assert.true(result.success, "Command should succeed");
542
+ assert.deepEqual(result.updatedFields, ["tags[]"], "Updated fields should be correct");
543
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
544
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, [
545
+ "writer",
546
+ "programmer",
547
+ "new-tag"
548
+ ], "New item should be added to array");
549
+ else assert.ok(false, "Updated card should exist");
550
+ });
551
+ (0, import_qunit.test)("should add new item to array at specific index", async function(assert) {
552
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
553
+ cardId: `${testRealmURL}Author/john`,
554
+ fieldUpdates: { "tags[3]": "new-skill" }
555
+ });
556
+ assert.ok(result, "Result should be defined");
557
+ assert.true(result.success, "Command should succeed");
558
+ assert.deepEqual(result.updatedFields, ["tags[3]"], "Updated fields should be correct");
559
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
560
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, [
561
+ "writer",
562
+ "programmer",
563
+ null,
564
+ "new-skill"
565
+ ], "Array should be extended with null padding");
566
+ else assert.ok(false, "Updated card should exist");
567
+ });
568
+ (0, import_qunit.test)("should handle mixed array and object updates", async function(assert) {
569
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
570
+ cardId: `${testRealmURL}Author/john`,
571
+ fieldUpdates: {
572
+ firstName: "Jane",
573
+ "address.city": "New City",
574
+ "tags[0]": "updated-writer",
575
+ "tags[]": "new-tag"
576
+ }
577
+ });
578
+ assert.ok(result, "Result should be defined");
579
+ assert.true(result.success, "Command should succeed");
580
+ assert.deepEqual(result.updatedFields, [
581
+ "firstName",
582
+ "address.city",
583
+ "tags[0]",
584
+ "tags[]"
585
+ ], "All updates should be successful");
586
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
587
+ if (isCard(updatedCard)) {
588
+ assert.strictEqual(updatedCard.firstName, "Jane", "Simple field should be updated");
589
+ let address = updatedCard.address;
590
+ assert.strictEqual(address?.city, "New City", "Nested field should be updated");
591
+ let tags = updatedCard.tags;
592
+ assert.strictEqual(tags[0], "updated-writer", "Array element should be updated");
593
+ assert.ok(tags.includes("new-tag"), "New tag should be appended");
594
+ } else assert.ok(false, "Updated card should exist");
595
+ });
596
+ });
597
+ (0, import_qunit.module)("Validation Tests", function() {
598
+ (0, import_qunit.test)("should reject non-existent field paths", async function(assert) {
599
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
600
+ cardId: `${testRealmURL}Author/john`,
601
+ fieldUpdates: { nonExistentField: "some value" }
602
+ });
603
+ assert.ok(result, "Result should be defined");
604
+ assert.false(result.success, "Command should fail for invalid field");
605
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
606
+ assert.ok(Object.keys(result.errors).includes("nonExistentField"), "Error should be reported for invalid field");
607
+ });
608
+ (0, import_qunit.test)("should reject invalid field types", async function(assert) {
609
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
610
+ cardId: `${testRealmURL}Author/john`,
611
+ fieldUpdates: { "firstName.invalid": "some value" }
612
+ });
613
+ assert.ok(result, "Result should be defined");
614
+ assert.false(result.success, "Command should fail for invalid nested path");
615
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
616
+ assert.ok(Object.keys(result.errors).includes("firstName.invalid"), "Error should be reported for invalid nested field");
617
+ });
618
+ (0, import_qunit.test)("should validate array bounds for existing arrays", async function(assert) {
619
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
620
+ cardId: `${testRealmURL}Author/john`,
621
+ fieldUpdates: { "tags[150]": "invalid-index" }
622
+ });
623
+ assert.ok(result, "Result should be defined");
624
+ assert.false(result.success, "Command should fail due to unreasonable array index");
625
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
626
+ assert.ok(result.errors, "Errors should be present");
627
+ assert.ok(result.errors["tags[150]"], "Error should be reported for tags[150]");
628
+ assert.ok(result.errors["tags[150]"].includes("too far beyond current array length"), "Should report array bounds error");
629
+ });
630
+ (0, import_qunit.test)("should validate relationship field constraints", async function(assert) {
631
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
632
+ cardId: `${testRealmURL}Author/john`,
633
+ fieldUpdates: {
634
+ nonExistentRelation: "http://example.com/some-card",
635
+ anotherRelation: "invalid-relationship-value"
636
+ }
637
+ });
638
+ assert.ok(result, "Result should be defined");
639
+ assert.false(result.success, "Command should fail for non-existent relationship fields");
640
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
641
+ assert.ok(result.errors, "Errors should be present");
642
+ assert.ok(result.errors.nonExistentRelation, "Should report error for nonExistentRelation");
643
+ assert.ok(result.errors.anotherRelation, "Should report error for anotherRelation");
644
+ });
645
+ });
646
+ (0, import_qunit.module)("Partial Success Tests", function() {
647
+ (0, import_qunit.test)("should update valid fields when some fields fail", async function(assert) {
648
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
649
+ cardId: `${testRealmURL}Author/john`,
650
+ fieldUpdates: {
651
+ firstName: "Jane",
652
+ invalidField: "some value",
653
+ email: "jane@example.com"
654
+ }
655
+ });
656
+ assert.ok(result, "Result should be defined");
657
+ assert.true(result.success, "Command should report success for partial updates");
658
+ assert.ok(result.updatedFields.includes("firstName"), "Valid firstName field should be updated");
659
+ assert.ok(result.updatedFields.includes("email"), "Valid email field should be updated");
660
+ assert.notOk(result.updatedFields.includes("invalidField"), "Invalid field should not be in updated list");
661
+ assert.ok(Object.keys(result.errors).includes("invalidField"), "Error should be reported for invalid field");
662
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
663
+ if (isCard(updatedCard)) {
664
+ assert.strictEqual(updatedCard.firstName, "Jane", "firstName should be updated");
665
+ assert.strictEqual(updatedCard.email, "jane@example.com", "email should be updated");
666
+ } else assert.ok(false, "Updated card should exist");
667
+ });
668
+ (0, import_qunit.test)("should report successful and failed fields separately", async function(assert) {
669
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
670
+ cardId: `${testRealmURL}Author/john`,
671
+ fieldUpdates: {
672
+ firstName: "Jane",
673
+ invalidField: "some value",
674
+ email: "jane@example.com",
675
+ "invalid.nested.field": "invalid"
676
+ }
677
+ });
678
+ assert.ok(result, "Result should be defined");
679
+ assert.true(result.success, "Command should report success for partial updates");
680
+ assert.deepEqual(result.updatedFields.sort(), ["firstName", "email"].sort(), "Should report successful field updates");
681
+ assert.ok(result.errors, "Should have errors object");
682
+ assert.ok(result.errors.invalidField, "Should report error for invalidField");
683
+ assert.ok(result.errors["invalid.nested.field"], "Should report error for invalid nested field");
684
+ assert.notOk(result.errors.firstName, "Successful fields should not have errors");
685
+ assert.notOk(result.errors.email, "Successful fields should not have errors");
686
+ });
687
+ (0, import_qunit.test)("should return success=true for partial success", async function(assert) {
688
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
689
+ cardId: `${testRealmURL}Author/john`,
690
+ fieldUpdates: {
691
+ firstName: "Jane",
692
+ invalidField: "some value"
693
+ }
694
+ });
695
+ assert.ok(result, "Result should be defined");
696
+ assert.true(result.success, "Command should return success=true when some fields succeed");
697
+ assert.deepEqual(result.updatedFields, ["firstName"], "Should update valid fields");
698
+ assert.ok(result.errors.invalidField, "Should report error for invalid field");
699
+ });
700
+ (0, import_qunit.test)("should return success=false when no fields update", async function(assert) {
701
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
702
+ cardId: `${testRealmURL}Author/john`,
703
+ fieldUpdates: {
704
+ invalidField1: "some value",
705
+ invalidField2: "another value",
706
+ "nonexistent.field": "value"
707
+ }
708
+ });
709
+ assert.ok(result, "Result should be defined");
710
+ assert.false(result.success, "Command should return success=false when no fields succeed");
711
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
712
+ assert.ok(result.errors, "Should have errors object");
713
+ assert.ok(result.errors.invalidField1, "Should report error for invalidField1");
714
+ assert.ok(result.errors.invalidField2, "Should report error for invalidField2");
715
+ assert.ok(result.errors["nonexistent.field"], "Should report error for nonexistent.field");
716
+ });
717
+ });
718
+ (0, import_qunit.module)("Error Handling Tests", function() {
719
+ (0, import_qunit.test)("should handle card not found error", async function(assert) {
720
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
721
+ cardId: `${testRealmURL}Author/nonexistent`,
722
+ fieldUpdates: { firstName: "Jane" }
723
+ });
724
+ assert.ok(result, "Result should be defined");
725
+ assert.false(result.success, "Command should fail for non-existent card");
726
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
727
+ assert.ok(Object.keys(result.errors).includes("firstName"), "Error should be reported for the attempted update");
728
+ assert.ok(result.errors.firstName.includes("Card not found"), "Error message should indicate card not found");
729
+ });
730
+ (0, import_qunit.test)("should provide detailed error messages for invalid fields", async function(assert) {
731
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
732
+ cardId: `${testRealmURL}Author/john`,
733
+ fieldUpdates: {
734
+ "invalid.nested.field": "some value",
735
+ "another.bad.field": "another value"
736
+ }
737
+ });
738
+ assert.ok(result, "Result should be defined");
739
+ assert.false(result.success, "Command should fail for invalid fields");
740
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
741
+ assert.ok(Object.keys(result.errors).includes("invalid.nested.field"), "Error should be reported for first invalid field");
742
+ assert.ok(Object.keys(result.errors).includes("another.bad.field"), "Error should be reported for second invalid field");
743
+ assert.ok(result.errors["invalid.nested.field"].includes("Invalid field path"), "Error message should indicate invalid field path");
744
+ });
745
+ (0, import_qunit.test)("should handle array index out of bounds when updating existing items", async function(assert) {
746
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
747
+ cardId: `${testRealmURL}Author/john`,
748
+ fieldUpdates: { "tags[200]": "way-out-of-bounds" }
749
+ });
750
+ assert.ok(result, "Result should be defined");
751
+ assert.false(result.success, "Command should fail for unreasonably high array indices");
752
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
753
+ assert.ok(result.errors, "Errors should be present");
754
+ assert.ok(result.errors["tags[200]"], "Should report error for out of bounds index");
755
+ assert.ok(result.errors["tags[200]"].includes("too far beyond"), "Should report bounds checking error");
756
+ });
757
+ (0, import_qunit.test)("should allow adding beyond current array bounds (append behavior)", async function(assert) {
758
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
759
+ cardId: `${testRealmURL}Author/john`,
760
+ fieldUpdates: { "tags[5]": "reasonable-extension" }
761
+ });
762
+ assert.ok(result, "Result should be defined");
763
+ assert.true(result.success, "Command should succeed for reasonable array extensions");
764
+ assert.deepEqual(result.updatedFields, ["tags[5]"], "Array extension should be successful");
765
+ assert.deepEqual(result.errors, {}, "No errors should occur");
766
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
767
+ if (isCard(updatedCard)) {
768
+ let tags = updatedCard.tags;
769
+ assert.strictEqual(tags.length, 6, "Array should be extended");
770
+ assert.strictEqual(tags[5], "reasonable-extension", "Value should be set");
771
+ assert.strictEqual(tags[2], null, "Padding should be null");
772
+ }
773
+ });
774
+ (0, import_qunit.test)("should handle null reference in field paths", async function(assert) {
775
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
776
+ cardId: `${testRealmURL}Author/john`,
777
+ fieldUpdates: {
778
+ "address.coordinates.latitude": 42.3601,
779
+ "address.coordinates.longitude": -71.0589
780
+ }
781
+ });
782
+ assert.ok(result, "Result should be defined");
783
+ assert.true(result.success, "Command should handle null references by creating objects");
784
+ assert.deepEqual(result.updatedFields.sort(), ["address.coordinates.latitude", "address.coordinates.longitude"].sort(), "Deep paths should be created successfully");
785
+ assert.deepEqual(result.errors, {}, "No errors should occur");
786
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
787
+ if (isCard(updatedCard)) {
788
+ let coordinates = updatedCard.address?.coordinates;
789
+ assert.strictEqual(coordinates?.latitude, 42.3601, "Latitude should be set");
790
+ assert.strictEqual(coordinates?.longitude, -71.0589, "Longitude should be set");
791
+ }
792
+ });
793
+ (0, import_qunit.test)("should handle malformed field paths", async function(assert) {
794
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
795
+ cardId: `${testRealmURL}Author/john`,
796
+ fieldUpdates: {
797
+ "": "empty-path",
798
+ ".invalid": "starts-with-dot",
799
+ "field.": "ends-with-dot",
800
+ "field..nested": "double-dot",
801
+ "field[": "unclosed-bracket",
802
+ "field]": "unopened-bracket"
803
+ }
804
+ });
805
+ assert.ok(result, "Result should be defined");
806
+ assert.false(result.success, "Command should fail for malformed paths");
807
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
808
+ assert.ok(result.errors, "Errors should be present");
809
+ assert.ok(result.errors[""], "Should report error for empty path");
810
+ assert.ok(result.errors[".invalid"], "Should report error for path starting with dot");
811
+ assert.ok(result.errors["field."], "Should report error for path ending with dot");
812
+ assert.ok(result.errors["field..nested"], "Should report error for double dots");
813
+ assert.ok(result.errors["field["], "Should report error for unclosed bracket");
814
+ assert.ok(result.errors["field]"], "Should report error for unopened bracket");
815
+ });
816
+ });
817
+ (0, import_qunit.module)("Field Path Parsing Tests", function() {
818
+ (0, import_qunit.test)("should parse simple field paths", async function(assert) {
819
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
820
+ cardId: `${testRealmURL}Author/john`,
821
+ fieldUpdates: {
822
+ firstName: "Jane",
823
+ lastName: "Smith",
824
+ email: "jane@example.com"
825
+ }
826
+ });
827
+ assert.ok(result, "Result should be defined");
828
+ assert.true(result.success, "Command should succeed with simple field paths");
829
+ assert.deepEqual(result.updatedFields.sort(), [
830
+ "firstName",
831
+ "lastName",
832
+ "email"
833
+ ].sort(), "All simple fields should be parsed and updated correctly");
834
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
835
+ });
836
+ (0, import_qunit.test)("should parse dot notation paths", async function(assert) {
837
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
838
+ cardId: `${testRealmURL}Author/john`,
839
+ fieldUpdates: {
840
+ "address.street": "456 Oak Ave",
841
+ "address.city": "New City",
842
+ "address.coordinates.latitude": 40.7128,
843
+ "address.coordinates.longitude": -74.006
844
+ }
845
+ });
846
+ assert.ok(result, "Result should be defined");
847
+ assert.true(result.success, "Command should succeed with dot notation paths");
848
+ assert.deepEqual(result.updatedFields.sort(), [
849
+ "address.street",
850
+ "address.city",
851
+ "address.coordinates.latitude",
852
+ "address.coordinates.longitude"
853
+ ].sort(), "All dot notation fields should be parsed and updated correctly");
854
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
855
+ });
856
+ (0, import_qunit.test)("should parse array index paths", async function(assert) {
857
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
858
+ cardId: `${testRealmURL}Author/john`,
859
+ fieldUpdates: {
860
+ "tags[0]": "updated-writer",
861
+ "tags[1]": "updated-programmer",
862
+ "tags[]": "new-skill"
863
+ }
864
+ });
865
+ assert.ok(result, "Result should be defined");
866
+ assert.true(result.success, "Command should succeed with array index paths");
867
+ assert.deepEqual(result.updatedFields.sort(), [
868
+ "tags[0]",
869
+ "tags[1]",
870
+ "tags[]"
871
+ ].sort(), "All array index fields should be parsed and updated correctly");
872
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
873
+ });
874
+ (0, import_qunit.test)("should parse array append operations (e.g., \"tags[]\" or \"tags[-1]\")", async function(assert) {
875
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
876
+ cardId: `${testRealmURL}Author/john`,
877
+ fieldUpdates: {
878
+ "tags[]": "appended-skill",
879
+ "tags[-1]": "special-append"
880
+ }
881
+ });
882
+ assert.ok(result, "Result should be defined");
883
+ assert.true(result.success, "Command should succeed with array append operations");
884
+ assert.deepEqual(result.updatedFields.sort(), ["tags[]", "tags[-1]"].sort(), "All append operations should be parsed and executed correctly");
885
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
886
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
887
+ if (isCard(updatedCard)) {
888
+ let tags = updatedCard.tags;
889
+ assert.ok(tags.includes("appended-skill"), "Empty brackets append should work");
890
+ assert.ok(tags.includes("special-append"), "-1 index append should work");
891
+ assert.ok(tags.length >= 4, "Array should have grown");
892
+ }
893
+ });
894
+ (0, import_qunit.test)("should parse complex mixed paths", async function(assert) {
895
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
896
+ cardId: `${testRealmURL}Author/john`,
897
+ fieldUpdates: {
898
+ firstName: "John",
899
+ "address.street": "123 Main St",
900
+ "tags[0]": "updated-tag",
901
+ "address.coordinates.latitude": 40.7589
902
+ }
903
+ });
904
+ assert.ok(result, "Result should be defined");
905
+ assert.true(result.success, "Command should succeed with complex mixed paths");
906
+ assert.deepEqual(result.updatedFields.sort(), [
907
+ "firstName",
908
+ "address.street",
909
+ "tags[0]",
910
+ "address.coordinates.latitude"
911
+ ].sort(), "All complex mixed paths should be parsed correctly");
912
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
913
+ });
914
+ (0, import_qunit.test)("should handle edge cases in parsing", async function(assert) {
915
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).execute({
916
+ cardId: `${testRealmURL}Author/john`,
917
+ fieldUpdates: {
918
+ "tags[0]": "single-char-tag",
919
+ firstName: "X"
920
+ }
921
+ });
922
+ assert.ok(result, "Result should be defined");
923
+ assert.true(result.success, "Command should succeed with edge cases");
924
+ assert.deepEqual(result.updatedFields.sort(), ["tags[0]", "firstName"].sort(), "Edge case paths should be parsed correctly");
925
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur for valid edge cases");
926
+ });
927
+ });
928
+ (0, import_qunit.module)("Schema Generation Tests", function() {
929
+ (0, import_qunit.test)("should generate correct JSON schema for card type", async function(assert) {
930
+ let schema = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).getInputJsonSchema();
931
+ assert.ok(schema, "Schema should be generated");
932
+ assert.ok(schema.attributes, "Schema should have attributes");
933
+ assert.ok(schema.attributes.properties, "Schema attributes should have properties");
934
+ assert.ok(schema.attributes.properties.cardId, "Schema should include cardId field");
935
+ assert.ok(schema.attributes.properties.fieldUpdates, "Schema should include fieldUpdates field");
936
+ let fieldUpdatesSchema = schema.attributes.properties.fieldUpdates;
937
+ assert.ok(fieldUpdatesSchema.properties, "FieldUpdates should have properties based on card type");
938
+ assert.ok(fieldUpdatesSchema.properties.firstName, "Should include firstName field from Author card");
939
+ assert.ok(fieldUpdatesSchema.properties.lastName, "Should include lastName field from Author card");
940
+ assert.ok(fieldUpdatesSchema.properties.email, "Should include email field from Author card");
941
+ });
942
+ (0, import_qunit.test)("should include field descriptions in schema", async function(assert) {
943
+ let schema = await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).getInputJsonSchema();
944
+ assert.ok(schema.attributes.properties.cardId.description, "cardId field should have description");
945
+ assert.ok(schema.attributes.properties.fieldUpdates.description, "fieldUpdates field should have description");
946
+ assert.strictEqual(schema.attributes.properties.cardId.description, "The ID of the card to update", "cardId should have correct description");
947
+ assert.strictEqual(schema.attributes.properties.fieldUpdates.description, "Object containing field paths and their new values", "fieldUpdates should have correct description");
948
+ });
949
+ (0, import_qunit.test)("should support nested field schemas", async function(assert) {
950
+ let fieldUpdatesSchema = (await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).getInputJsonSchema()).attributes.properties.fieldUpdates;
951
+ assert.ok(fieldUpdatesSchema.properties.address, "Should include address field for nested updates");
952
+ assert.true(fieldUpdatesSchema.additionalProperties, "Should allow additional properties for nested field paths");
953
+ });
954
+ (0, import_qunit.test)("should handle array field schemas", async function(assert) {
955
+ let fieldUpdatesSchema = (await new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef }).getInputJsonSchema()).attributes.properties.fieldUpdates;
956
+ assert.ok(fieldUpdatesSchema.properties.tags, "Should include tags array field");
957
+ assert.true(fieldUpdatesSchema.additionalProperties, "Should allow additional properties for array field paths");
958
+ });
959
+ });
960
+ (0, import_qunit.module)("Dynamic Field Validation Tests", function() {
961
+ (0, import_qunit.test)("should work with different card types (not just hardcoded Author fields)", async function(assert) {
962
+ let result = await new PatchFieldsCommand(commandService.commandContext, { cardType: BookDef }).execute({
963
+ cardId: `${testRealmURL}Book/test-book`,
964
+ fieldUpdates: { cardTitle: "Updated Book Title" }
965
+ });
966
+ assert.true(result.success, "Should successfully validate and update Book fields with dynamic validation");
967
+ assert.strictEqual(result.updatedFields.length, 1, "Should update the title field");
968
+ assert.strictEqual(result.updatedFields[0], "cardTitle", "Should update the cardTitle field");
969
+ assert.deepEqual(result.errors, {}, "Should have no validation errors");
970
+ });
971
+ (0, import_qunit.test)("should now accept fields that would have been rejected by hardcoded validation", async function(assert) {
972
+ let patchFieldsCommand = new PatchFieldsCommand(commandService.commandContext, { cardType: AuthorDef });
973
+ let result = await patchFieldsCommand.execute({
974
+ cardId: `${testRealmURL}Author/john`,
975
+ fieldUpdates: {
976
+ firstName: "Updated John",
977
+ lastName: "Updated Doe"
978
+ }
979
+ });
980
+ assert.true(result.success, "Should successfully validate existing Author fields");
981
+ assert.deepEqual(result.updatedFields.sort(), ["firstName", "lastName"].sort(), "Should update valid Author fields");
982
+ assert.deepEqual(result.errors, {}, "Should have no validation errors for valid fields");
983
+ let invalidResult = await patchFieldsCommand.execute({
984
+ cardId: `${testRealmURL}Author/john`,
985
+ fieldUpdates: { invalidField: "Some value" }
986
+ });
987
+ assert.false(invalidResult.success, "Should reject truly invalid fields");
988
+ assert.ok(invalidResult.errors.invalidField?.includes("Invalid field path"), `Should get validation error for truly invalid field, got: ${invalidResult.errors.invalidField}`);
989
+ });
990
+ });
991
+ });
992
+ //#endregion