@cardstack/boxel-cli 0.9.0 → 0.10.0-unstable.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (995) hide show
  1. package/README.md +12 -0
  2. package/bundled-test-harness/assets/account-switch-failed-GCSVbJML.js +23 -0
  3. package/bundled-test-harness/assets/account-switch-failed-GsWni_Gk.css +18 -0
  4. package/bundled-test-harness/assets/account-switch-failed-test-CdZWNths.js +45 -0
  5. package/bundled-test-harness/assets/add-workspace-c7L50Gx8.js +141 -0
  6. package/bundled-test-harness/assets/add-workspace-test-BZxHa6Pe.js +72 -0
  7. package/bundled-test-harness/assets/advanced-color-picker-0pGF-3WG.js +504 -0
  8. package/bundled-test-harness/assets/advanced-color-picker-pbO4HWc_.js +2 -0
  9. package/bundled-test-harness/assets/ai-assistant-test-Dnm4o9vK.js +2211 -0
  10. package/bundled-test-harness/assets/ai-module-creation-test-C6253CMt.js +151 -0
  11. package/bundled-test-harness/assets/aibot-message-miKyGeKk.js +278 -0
  12. package/bundled-test-harness/assets/app-i8pGdQkw.js +22855 -0
  13. package/bundled-test-harness/assets/app-zC7o6PyQ.css +2718 -0
  14. package/bundled-test-harness/assets/audio-file-def-DHnydP0t.js +133 -0
  15. package/bundled-test-harness/assets/auth-container-BP2gSoo4.css +51 -0
  16. package/bundled-test-harness/assets/auth-container-DN94iVfX.js +24 -0
  17. package/bundled-test-harness/assets/avif-meta-extractor-Bo5zRX1V.js +162 -0
  18. package/bundled-test-harness/assets/base64-image-B0RYxzHT.js +2 -0
  19. package/bundled-test-harness/assets/base64-image-Bxjqdwew.js +262 -0
  20. package/bundled-test-harness/assets/big-integer-7RLj5_7H.js +89 -0
  21. package/bundled-test-harness/assets/big-integer-C9sJxKVy.js +2 -0
  22. package/bundled-test-harness/assets/binary-upload-dedupe-test-DZo3EaV0.js +308 -0
  23. package/bundled-test-harness/assets/boolean-CcKPYUph.js +94 -0
  24. package/bundled-test-harness/assets/boolean-DvsSmtM7.js +2 -0
  25. package/bundled-test-harness/assets/brand-functional-palette-KpVSY2Sa.js +137 -0
  26. package/bundled-test-harness/assets/brand-logo-DDiOec0t.js +295 -0
  27. package/bundled-test-harness/assets/broken-link-template-test-DAngUbFJ.js +192 -0
  28. package/bundled-test-harness/assets/bundled-base-C_lumba6.js +254 -0
  29. package/bundled-test-harness/assets/bundled-base-modules-test-CSF7Rl4Z.js +54 -0
  30. package/bundled-test-harness/assets/buried-stack-item-scroll-test-B0J_EP88.js +236 -0
  31. package/bundled-test-harness/assets/bxl-expression-test-Dej7WgI6.js +250 -0
  32. package/bundled-test-harness/assets/can-invoke-test-elyUcOKT.js +401 -0
  33. package/bundled-test-harness/assets/card-api-CjWXCkqh.js +8 -0
  34. package/bundled-test-harness/assets/card-api-Dzje0smT.js +4393 -0
  35. package/bundled-test-harness/assets/card-api-test-DA8d4Ooc.js +198 -0
  36. package/bundled-test-harness/assets/card-basics-test-mp1Odo-l.js +5364 -0
  37. package/bundled-test-harness/assets/card-chooser-paging-test-y8OfboYd.js +235 -0
  38. package/bundled-test-harness/assets/card-chooser-test-nmg2zkDj.js +393 -0
  39. package/bundled-test-harness/assets/card-collection-BXiO3i7R.js +118 -0
  40. package/bundled-test-harness/assets/card-context-search-results-Dbhn7lvW.js +30 -0
  41. package/bundled-test-harness/assets/card-context-search-results-test-DVXT-YC5.js +184 -0
  42. package/bundled-test-harness/assets/card-def-field-def-relationships-test-mX4rxrtO.js +562 -0
  43. package/bundled-test-harness/assets/card-delete-test-BxFsqFnX.js +466 -0
  44. package/bundled-test-harness/assets/card-error-C-7hjxu9.js +72 -0
  45. package/bundled-test-harness/assets/card-error-awaiting-index-test-BvfY2eaW.js +53 -0
  46. package/bundled-test-harness/assets/card-error-detail-nMwopDir.js +271 -0
  47. package/bundled-test-harness/assets/card-info-CTFxdohf.js +2 -0
  48. package/bundled-test-harness/assets/card-list-B9QrkJ97.js +2 -0
  49. package/bundled-test-harness/assets/card-list-XbwLCXZS.js +202 -0
  50. package/bundled-test-harness/assets/card-resource-JGLjQUy6.js +86 -0
  51. package/bundled-test-harness/assets/cards-grid-CWG41hZE.js +344 -0
  52. package/bundled-test-harness/assets/cards-grid-DSpX99p6.js +2 -0
  53. package/bundled-test-harness/assets/cards-grid-layout-Bht0LwZy.js +2 -0
  54. package/bundled-test-harness/assets/cards-grid-layout-CdpKlHUb.js +111 -0
  55. package/bundled-test-harness/assets/check-correctness-test-C4BrUeKA.js +554 -0
  56. package/bundled-test-harness/assets/clip-BEVvLrXx.js +2 -0
  57. package/bundled-test-harness/assets/clip-CoB714qX.js +92 -0
  58. package/bundled-test-harness/assets/code-ref-C2uguisI.js +2 -0
  59. package/bundled-test-harness/assets/code-ref-Cy7sV5a4.js +138 -0
  60. package/bundled-test-harness/assets/code-submode-availability-test-BsA_Ul01.js +198 -0
  61. package/bundled-test-harness/assets/code-submode-test-DkBhpEPB.js +1839 -0
  62. package/bundled-test-harness/assets/codeblocks-test-B1eZ2_JF.js +418 -0
  63. package/bundled-test-harness/assets/codemirror-editor-C6pxSm5y.js +2 -0
  64. package/bundled-test-harness/assets/codemirror-editor-DzM46Cd8.js +701 -0
  65. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-BemP-ZdG.js +366 -0
  66. package/bundled-test-harness/assets/color-C-jGNFWZ.js +2 -0
  67. package/bundled-test-harness/assets/color-field-test-DPIRaBec.js +212 -0
  68. package/bundled-test-harness/assets/color-picker-field-Bv4IjS-d.js +139 -0
  69. package/bundled-test-harness/assets/color-picker-field-D1bYCQIg.js +2 -0
  70. package/bundled-test-harness/assets/color-wheel-picker-IIaCQplL.js +283 -0
  71. package/bundled-test-harness/assets/color-wheel-picker-Kw-UN3kV.js +2 -0
  72. package/bundled-test-harness/assets/color-zzCBneih.js +65 -0
  73. package/bundled-test-harness/assets/command-data-BMBtjT1E.js +95 -0
  74. package/bundled-test-harness/assets/command-data-BXC5Z0oA.js +2 -0
  75. package/bundled-test-harness/assets/compaction-test-CxUKnxlQ.js +150 -0
  76. package/bundled-test-harness/assets/components-Ct_agx0G.js +14294 -0
  77. package/bundled-test-harness/assets/computed-test-C-lpGQQ3.js +1320 -0
  78. package/bundled-test-harness/assets/container-BdPu8rvc.css +5565 -0
  79. package/bundled-test-harness/assets/container-Dj-5prh9.js +11288 -0
  80. package/bundled-test-harness/assets/contains-many-component-CAWqzX8W.js +2 -0
  81. package/bundled-test-harness/assets/contrast-checker-addon-BTLD7oMx.js +2 -0
  82. package/bundled-test-harness/assets/contrast-checker-addon-DBzizR04.js +71 -0
  83. package/bundled-test-harness/assets/convert-to-class-name-test-zZuKxYvF.js +17 -0
  84. package/bundled-test-harness/assets/coordinate-Bw8va6tO.js +48 -0
  85. package/bundled-test-harness/assets/copy-file-to-realm-test-DtCKPzqj.js +148 -0
  86. package/bundled-test-harness/assets/country-B_tWpLlO.js +199 -0
  87. package/bundled-test-harness/assets/create-file-modal-D-VPyEYp.js +570 -0
  88. package/bundled-test-harness/assets/create-listing-modal-test-hyLkQY0u.js +273 -0
  89. package/bundled-test-harness/assets/create-listing-pr-request-test-rjWFA_5S.js +117 -0
  90. package/bundled-test-harness/assets/create-spec-test-HKIxZGxK.js +256 -0
  91. package/bundled-test-harness/assets/create-specs-9-ELVyJP.js +215 -0
  92. package/bundled-test-harness/assets/create-submission-workflow-test-DNZrbRX8.js +132 -0
  93. package/bundled-test-harness/assets/credential-fields-test-xPEdA911.js +157 -0
  94. package/bundled-test-harness/assets/css-value-Du3HL39X.js +48 -0
  95. package/bundled-test-harness/assets/csv-file-def-EHRmilrp.js +277 -0
  96. package/bundled-test-harness/assets/currency-y6ZCHIqG.js +134 -0
  97. package/bundled-test-harness/assets/date-B27PrSFT.js +183 -0
  98. package/bundled-test-harness/assets/date-CiP5Eb9i.js +2 -0
  99. package/bundled-test-harness/assets/date-time-fields-test-Clf5vxRW.js +359 -0
  100. package/bundled-test-harness/assets/datetime-BEbR9YgU.js +201 -0
  101. package/bundled-test-harness/assets/datetime-DPnrt1wl.js +2 -0
  102. package/bundled-test-harness/assets/datetime-stamp-AuT7F7qn.js +2 -0
  103. package/bundled-test-harness/assets/datetime-stamp-CGwP2P3f.js +81 -0
  104. package/bundled-test-harness/assets/day-BFLxZ9bQ.js +2 -0
  105. package/bundled-test-harness/assets/day-CQoEkqgE.js +113 -0
  106. package/bundled-test-harness/assets/debug-message-test-CzgOpfcI.js +117 -0
  107. package/bundled-test-harness/assets/dist-B-fYvxfL.js +389 -0
  108. package/bundled-test-harness/assets/dist-C2IXvIKX.js +323 -0
  109. package/bundled-test-harness/assets/dist-CdNZu43l.js +1710 -0
  110. package/bundled-test-harness/assets/docx-file-def-BQMw460_.js +60 -0
  111. package/bundled-test-harness/assets/docx-meta-extractor-DBlmH_kV.js +60 -0
  112. package/bundled-test-harness/assets/docx-meta-extractor-Dw4gZ0ae.js +2 -0
  113. package/bundled-test-harness/assets/duration-B0SnEiw1.js +184 -0
  114. package/bundled-test-harness/assets/duration-DbjJTFeA.js +2 -0
  115. package/bundled-test-harness/assets/email-C-8cyWiQ.js +80 -0
  116. package/bundled-test-harness/assets/email-field-test-BOBmvQqx.js +75 -0
  117. package/bundled-test-harness/assets/email-xUgCst-p.js +2 -0
  118. package/bundled-test-harness/assets/enum-BWiCyJlu.js +167 -0
  119. package/bundled-test-harness/assets/enum-CzYjivhO.js +2 -0
  120. package/bundled-test-harness/assets/enum-field-test-Bea9EsQR.js +953 -0
  121. package/bundled-test-harness/assets/error-display-test-Cbl2D_0c.js +343 -0
  122. package/bundled-test-harness/assets/ethereum-address-Bw_J05bD.js +78 -0
  123. package/bundled-test-harness/assets/ethereum-address-C9wHMBt3.js +2 -0
  124. package/bundled-test-harness/assets/expiration-warning-BHcJEjZt.js +90 -0
  125. package/bundled-test-harness/assets/expiration-warning-_G8SKZd0.js +2 -0
  126. package/bundled-test-harness/assets/externals-CKblKBo1.js +4393 -0
  127. package/bundled-test-harness/assets/fallback-banner-BqCrvTDt.js +24 -0
  128. package/bundled-test-harness/assets/fallback-banner-live-delete-test-D_AYMvf6.js +207 -0
  129. package/bundled-test-harness/assets/fallback-banner-test-B8Ne9a5g.js +225 -0
  130. package/bundled-test-harness/assets/fallback-banner-test-C7oaSxd1.js +53 -0
  131. package/bundled-test-harness/assets/fallback-models-test-DY-PvU9k.js +161 -0
  132. package/bundled-test-harness/assets/field-component-Bj8YthPE.js +2 -0
  133. package/bundled-test-harness/assets/field-configuration-test-B5LztQ47.js +548 -0
  134. package/bundled-test-harness/assets/field-edit-Cx_haspD.js +36 -0
  135. package/bundled-test-harness/assets/field-edit-DQZWUz3F.js +2 -0
  136. package/bundled-test-harness/assets/field-markdown-domain-test-DnqK3CrE.js +616 -0
  137. package/bundled-test-harness/assets/field-markdown-oversize-test-BEpbXIvl.js +88 -0
  138. package/bundled-test-harness/assets/field-markdown-primitives-test-BDORWoOk.js +365 -0
  139. package/bundled-test-harness/assets/field-markdown-specialized-test-BmIzadYq.js +534 -0
  140. package/bundled-test-harness/assets/field-test-helpers-CRF9-jFw.js +45 -0
  141. package/bundled-test-harness/assets/file-api-DPMJghBY.js +7 -0
  142. package/bundled-test-harness/assets/file-attachment-test-DFLXg3xV.js +796 -0
  143. package/bundled-test-harness/assets/file-chooser-panel-test-B4DzCWkt.js +153 -0
  144. package/bundled-test-harness/assets/file-chooser-test-DpjOWgpB.js +504 -0
  145. package/bundled-test-harness/assets/file-def-edit-Bstl7Kkl.js +2 -0
  146. package/bundled-test-harness/assets/file-def-edit-C1dzJxmQ.js +26 -0
  147. package/bundled-test-harness/assets/file-def-embedded-CUy4G7Vc.js +2 -0
  148. package/bundled-test-harness/assets/file-def-embedded-DJs6P5t0.js +38 -0
  149. package/bundled-test-harness/assets/file-def-fitted-BlrBFfLh.js +38 -0
  150. package/bundled-test-harness/assets/file-def-fitted-Bo5Qfkyf.js +2 -0
  151. package/bundled-test-harness/assets/file-def-isolated-BsHydanv.js +38 -0
  152. package/bundled-test-harness/assets/file-def-isolated-Dp-Lc99-.js +2 -0
  153. package/bundled-test-harness/assets/file-def-serialization-test-CISKpt_o.js +89 -0
  154. package/bundled-test-harness/assets/file-menu-items-7_ltrFZq.js +117 -0
  155. package/bundled-test-harness/assets/file-menu-items-BnRG9ydE.js +2 -0
  156. package/bundled-test-harness/assets/file-preview-stage-CV3qZpiK.js +72 -0
  157. package/bundled-test-harness/assets/file-preview-stage-DTA5X8rX.js +2 -0
  158. package/bundled-test-harness/assets/file-shell-embedded-BpmiVzIG.js +2 -0
  159. package/bundled-test-harness/assets/file-shell-embedded-CEv0-6OE.js +68 -0
  160. package/bundled-test-harness/assets/file-shell-fitted-C6k3GnMc.js +2 -0
  161. package/bundled-test-harness/assets/file-shell-fitted-iSTg3PJa.js +98 -0
  162. package/bundled-test-harness/assets/file-shell-isolated-C-pEod2J.js +195 -0
  163. package/bundled-test-harness/assets/file-shell-isolated-DI9oU7ix.js +2 -0
  164. package/bundled-test-harness/assets/file-tree-from-index-BtOOMqnb.js +151 -0
  165. package/bundled-test-harness/assets/file-tree-from-index-test-T8w3hPw_.js +96 -0
  166. package/bundled-test-harness/assets/film-5n9_gRqZ.js +4074 -0
  167. package/bundled-test-harness/assets/film-Ca2Vzlfu.js +13 -0
  168. package/bundled-test-harness/assets/film-DEvhBbBu.js +2 -0
  169. package/bundled-test-harness/assets/fitted-6OGuHgoU.js +2 -0
  170. package/bundled-test-harness/assets/fitted-B2l1jlSp.js +34 -0
  171. package/bundled-test-harness/assets/flac-meta-extractor-BoJqvmDC.js +99 -0
  172. package/bundled-test-harness/assets/font-file-def-Czzt5paT.js +64 -0
  173. package/bundled-test-harness/assets/font-meta-extractor-DQYT_e5b.js +2 -0
  174. package/bundled-test-harness/assets/font-meta-extractor-IHD-pG8V.js +303 -0
  175. package/bundled-test-harness/assets/formatted-aibot-message-test-Djsl8RzE.js +109 -0
  176. package/bundled-test-harness/assets/from-elsewhere-BXcLYxxu.js +131 -0
  177. package/bundled-test-harness/assets/frontmatter-field-CciolgL3.js +41 -0
  178. package/bundled-test-harness/assets/garbage-collection-test-BTOLAfB6.js +403 -0
  179. package/bundled-test-harness/assets/gauge-C1loqGq3.js +2 -0
  180. package/bundled-test-harness/assets/gauge-u8dxl90d.js +106 -0
  181. package/bundled-test-harness/assets/general-test-Cd5WtVvd.js +926 -0
  182. package/bundled-test-harness/assets/get-relationship-membership-state-test-DJAuhOVM.js +1308 -0
  183. package/bundled-test-harness/assets/gif-meta-extractor-tSaPtuYW.js +114 -0
  184. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-DNSy5l59.js +160 -0
  185. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-B6BbQxYq.js +74 -0
  186. package/bundled-test-harness/assets/helper-m6jA5HmU.js +478 -0
  187. package/bundled-test-harness/assets/host-submode-test-CsgdksBi.js +1243 -0
  188. package/bundled-test-harness/assets/html-file-def-yKtdMSa-.js +82 -0
  189. package/bundled-test-harness/assets/hydratable-card-CxNfbqly.js +147 -0
  190. package/bundled-test-harness/assets/hydratable-card-test-NJ4CI4ey.js +426 -0
  191. package/bundled-test-harness/assets/icons-B3SAtRoj.js +894 -0
  192. package/bundled-test-harness/assets/image-file-def-B0rpS3Yy.js +3 -0
  193. package/bundled-test-harness/assets/image-file-def-DUFmjNL8.js +65 -0
  194. package/bundled-test-harness/assets/image-olOUqgMQ.js +47 -0
  195. package/bundled-test-harness/assets/index-changes-test-D7OE-99k.js +367 -0
  196. package/bundled-test-harness/assets/index-query-engine-test-BBKqgSmg.js +2593 -0
  197. package/bundled-test-harness/assets/inspector-test-DV6Ms2uz.js +1930 -0
  198. package/bundled-test-harness/assets/instance-filter-matcher-test-Bs4kf7E8.js +788 -0
  199. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DIfgRhIN.js +475 -0
  200. package/bundled-test-harness/assets/interact-submode-setup-D4M_e580.js +566 -0
  201. package/bundled-test-harness/assets/is-component-declaration-test-jPGRTVh1.js +50 -0
  202. package/bundled-test-harness/assets/iso-bmff-DHtkSbQM.js +205 -0
  203. package/bundled-test-harness/assets/iso-bmff-zmOHoSVg.js +2 -0
  204. package/bundled-test-harness/assets/isolated-and-edit-BAnwcK1T.js +2 -0
  205. package/bundled-test-harness/assets/job-priority-header-test-7j2f3Dtl.js +81 -0
  206. package/bundled-test-harness/assets/job-scoped-instance-residency-test-DPzVQUL3.js +103 -0
  207. package/bundled-test-harness/assets/join-the-community-Ft5fjeIA.js +86 -0
  208. package/bundled-test-harness/assets/jpg-meta-extractor-Dsq6rZ8F.js +88 -0
  209. package/bundled-test-harness/assets/json-field-CxOZvp3k.js +19 -0
  210. package/bundled-test-harness/assets/json-field-ojdwGD6T.js +2 -0
  211. package/bundled-test-harness/assets/json-file-def-Da_5-zSM.js +298 -0
  212. package/bundled-test-harness/assets/last-modified-date-BnyJsc04.js +43 -0
  213. package/bundled-test-harness/assets/last-modified-date-test-DFl2mo1B.js +28 -0
  214. package/bundled-test-harness/assets/links-to-editor-DO24-71w.js +2 -0
  215. package/bundled-test-harness/assets/links-to-many-component-C7DabwAY.js +2 -0
  216. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-D4lDhvnQ.js +398 -0
  217. package/bundled-test-harness/assets/linksto-error-sentinel-test-oWgDz00K.js +238 -0
  218. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-CpSl7zJ7.js +354 -0
  219. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-DJY3J8Xl.js +303 -0
  220. package/bundled-test-harness/assets/linksto-sentinel-reload-test-BxzfoONe.js +197 -0
  221. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DyE99km_.js +260 -0
  222. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-dcWAAgxt.js +196 -0
  223. package/bundled-test-harness/assets/llm-model-DrswiczZ.js +64 -0
  224. package/bundled-test-harness/assets/login-C-EIG0-Q.css +543 -0
  225. package/bundled-test-harness/assets/login-CNeL-9IC.js +408 -0
  226. package/bundled-test-harness/assets/login-error-text-test-CEH2tjNP.js +51 -0
  227. package/bundled-test-harness/assets/login-test-BpMx7qwV.js +246 -0
  228. package/bundled-test-harness/assets/m4a-meta-extractor-BJkMHUIK.js +204 -0
  229. package/bundled-test-harness/assets/main-BaUgfpPE.js +5 -0
  230. package/bundled-test-harness/assets/markdown-ByEGbwov.js +7 -0
  231. package/bundled-test-harness/assets/markdown-KJzgTg-A.js +2 -0
  232. package/bundled-test-harness/assets/markdown-editor-mode-select-BUGPXaSE.js +2 -0
  233. package/bundled-test-harness/assets/markdown-editor-mode-select-DBk8dG0O.js +54 -0
  234. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-BIlEmna9.js +470 -0
  235. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-B6rscKpk.js +447 -0
  236. package/bundled-test-harness/assets/markdown-embed-preview-test-CTQw1wq-.js +368 -0
  237. package/bundled-test-harness/assets/markdown-fallback-BVsco6gJ.js +2 -0
  238. package/bundled-test-harness/assets/markdown-fallback-test-C_CIFEzH.js +316 -0
  239. package/bundled-test-harness/assets/markdown-highlighting-test-D6YvywF5.js +244 -0
  240. package/bundled-test-harness/assets/markdown-preview-1TSMSUv0.js +64 -0
  241. package/bundled-test-harness/assets/markdown-preview-jbuUjLoD.js +72 -0
  242. package/bundled-test-harness/assets/markdown-preview-test-zuU5uoA_.js +238 -0
  243. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-CoicGRkb.js +146 -0
  244. package/bundled-test-harness/assets/menu-items-DZ_uOoYu.js +2 -0
  245. package/bundled-test-harness/assets/message-tool-test-K6LgTq5d.js +33 -0
  246. package/bundled-test-harness/assets/metadata-fields-WiOuUCDl.js +1415 -0
  247. package/bundled-test-harness/assets/metadata-fields-iu5AfQp3.js +2 -0
  248. package/bundled-test-harness/assets/midi-audio-def-CD2-4Wjx.js +52 -0
  249. package/bundled-test-harness/assets/midi-meta-extractor-CE3sLiEV.js +284 -0
  250. package/bundled-test-harness/assets/midi-meta-extractor-O7c8LHYV.js +2 -0
  251. package/bundled-test-harness/assets/migrate-skill-test-Beh-AeSN.js +161 -0
  252. package/bundled-test-harness/assets/mini-BNXINKKF.js +85 -0
  253. package/bundled-test-harness/assets/mini-C43Q4BWp.js +1519 -0
  254. package/bundled-test-harness/assets/mini-card-chooser-test-B1GMp-31.js +272 -0
  255. package/bundled-test-harness/assets/mini-file-chooser-test-CbI1vrQn.js +201 -0
  256. package/bundled-test-harness/assets/missing-template-BPhJRbDs.js +48 -0
  257. package/bundled-test-harness/assets/missing-template-DP-Pi-HQ.js +2 -0
  258. package/bundled-test-harness/assets/modal-KpPz2f8x.js +322 -0
  259. package/bundled-test-harness/assets/modal-container-0Efz_h2z.js +40 -0
  260. package/bundled-test-harness/assets/model-cost-tier-test-D-5VSjh6.js +173 -0
  261. package/bundled-test-harness/assets/module-contents-service-BRkTETb6.js +256 -0
  262. package/bundled-test-harness/assets/moment-Cln59YUK.js +3474 -0
  263. package/bundled-test-harness/assets/monaco-AbHCoDJY.js +143 -0
  264. package/bundled-test-harness/assets/monaco-test-DCPi18sy.js +100 -0
  265. package/bundled-test-harness/assets/monaco-test-waiter-lvFEYpFj.js +190 -0
  266. package/bundled-test-harness/assets/month-1eUIsvWN.js +2 -0
  267. package/bundled-test-harness/assets/month-BeUdWMWQ.js +123 -0
  268. package/bundled-test-harness/assets/month-day-Bbsd8YbR.js +192 -0
  269. package/bundled-test-harness/assets/month-day-Dks5STJu.js +2 -0
  270. package/bundled-test-harness/assets/month-year-pL_rpUhX.js +2 -0
  271. package/bundled-test-harness/assets/month-year-wH_YnYgL.js +93 -0
  272. package/bundled-test-harness/assets/mp3-meta-extractor-C3u34UHM.js +476 -0
  273. package/bundled-test-harness/assets/mp4-meta-extractor-Bj3F7dxs.js +188 -0
  274. package/bundled-test-harness/assets/multiple-stacks-test-mkNdTUMI.js +208 -0
  275. package/bundled-test-harness/assets/nested-query-field-render-test-BQLn3wg9.js +249 -0
  276. package/bundled-test-harness/assets/no-stacks-test-DpwZQAJ-.js +48 -0
  277. package/bundled-test-harness/assets/number-DZa-fHpu.js +151 -0
  278. package/bundled-test-harness/assets/number-Dvua76YP.js +3 -0
  279. package/bundled-test-harness/assets/number-field-test-BiaH2eaB.js +184 -0
  280. package/bundled-test-harness/assets/number-input-D5nDYDkK.js +82 -0
  281. package/bundled-test-harness/assets/office-extract-JzYva33g.js +27 -0
  282. package/bundled-test-harness/assets/office-extract-XMpsyYRh.js +2 -0
  283. package/bundled-test-harness/assets/ogg-meta-extractor-DJosZ9LA.js +225 -0
  284. package/bundled-test-harness/assets/on-key-BBVkS8Bi.js +472 -0
  285. package/bundled-test-harness/assets/ooxml-BlAE2w4d.js +172 -0
  286. package/bundled-test-harness/assets/ooxml-D-p8OmuM.js +2 -0
  287. package/bundled-test-harness/assets/open-image-in-new-tab-test-DWBU5pw9.js +52 -0
  288. package/bundled-test-harness/assets/operation-lowering-test-nzqprueU.js +2812 -0
  289. package/bundled-test-harness/assets/operations-CPvfTuY3.js +766 -0
  290. package/bundled-test-harness/assets/operations-invocation-test-C75T6zn3.js +523 -0
  291. package/bundled-test-harness/assets/operations-query-test-BoCszQEW.js +459 -0
  292. package/bundled-test-harness/assets/operations-test-79ipSnpM.js +2518 -0
  293. package/bundled-test-harness/assets/operations-x3Aw2Nky.js +3 -0
  294. package/bundled-test-harness/assets/operator-mode-acceptance-test-jjsYtt96.js +1188 -0
  295. package/bundled-test-harness/assets/operator-mode-card-chooser-test-hZP9gEQK.js +1036 -0
  296. package/bundled-test-harness/assets/operator-mode-links-test-DN16SuIx.js +793 -0
  297. package/bundled-test-harness/assets/operator-mode-state-service-gwiTSiWX.js +1275 -0
  298. package/bundled-test-harness/assets/operator-mode-state-service-test-Dt2qnKKP.js +206 -0
  299. package/bundled-test-harness/assets/operator-mode-test-BZnnxO9q.js +683 -0
  300. package/bundled-test-harness/assets/operator-mode-ui-test-O--qEo-y.js +1027 -0
  301. package/bundled-test-harness/assets/overlay-menu-items-test-Bl2k0aAa.js +317 -0
  302. package/bundled-test-harness/assets/overlays-CdN_JokA.js +270 -0
  303. package/bundled-test-harness/assets/overlays-clip-test-DpbR1ZTz.js +91 -0
  304. package/bundled-test-harness/assets/overlays-detached-element-test-cLgEGvMs.js +56 -0
  305. package/bundled-test-harness/assets/pane-PYdezM7g.js +330 -0
  306. package/bundled-test-harness/assets/panel-7FDqkxrr.js +474 -0
  307. package/bundled-test-harness/assets/panel-C3E0s49q.js +3540 -0
  308. package/bundled-test-harness/assets/past-sessions-test-BsjEeoze.js +321 -0
  309. package/bundled-test-harness/assets/patch-fields-test-CsixJmSr.js +1014 -0
  310. package/bundled-test-harness/assets/patch-instance-test-CBDgTi0L.js +348 -0
  311. package/bundled-test-harness/assets/pdf-file-def-9VNjnqDa.js +76 -0
  312. package/bundled-test-harness/assets/pdf-meta-extractor-BF4e5kMR.js +156 -0
  313. package/bundled-test-harness/assets/pdf-meta-extractor-D8Bxh2cc.js +2 -0
  314. package/bundled-test-harness/assets/pdf-viewer-Bu413sN8.js +112 -0
  315. package/bundled-test-harness/assets/pdf-viewer-GKDi_xmf.js +2 -0
  316. package/bundled-test-harness/assets/percentage-TOr6qK2T.js +84 -0
  317. package/bundled-test-harness/assets/permission-checking-realm-test-BRNVYszm.js +306 -0
  318. package/bundled-test-harness/assets/phone-number-D5SR8nWu.js +236 -0
  319. package/bundled-test-harness/assets/phone-number-field-test-DffwtqGd.js +73 -0
  320. package/bundled-test-harness/assets/phone-number-hf_xIVGQ.js +2 -0
  321. package/bundled-test-harness/assets/plate-Vojc88hM.js +41 -0
  322. package/bundled-test-harness/assets/plate-dTUzEMj5.js +2 -0
  323. package/bundled-test-harness/assets/player-CmRw0uM5.js +82 -0
  324. package/bundled-test-harness/assets/player-Dt85lPZl.js +2 -0
  325. package/bundled-test-harness/assets/plural-field-components-test-DNpGuH1D.js +198 -0
  326. package/bundled-test-harness/assets/png-image-def-GY7gjqya.js +48 -0
  327. package/bundled-test-harness/assets/png-meta-extractor-4pI611re.js +2 -0
  328. package/bundled-test-harness/assets/png-meta-extractor-CHp_rpAi.js +111 -0
  329. package/bundled-test-harness/assets/policy-scoped-search-test-CipPu7tY.js +339 -0
  330. package/bundled-test-harness/assets/pptx-file-def-lBBiebvn.js +60 -0
  331. package/bundled-test-harness/assets/pptx-meta-extractor-BjJYWiOJ.js +77 -0
  332. package/bundled-test-harness/assets/pptx-meta-extractor-DbT-dPRg.js +2 -0
  333. package/bundled-test-harness/assets/prerender-persistence-block-test-ClHMVvJt.js +124 -0
  334. package/bundled-test-harness/assets/prerender-serialize-cycle-test-LdqaMTK8.js +134 -0
  335. package/bundled-test-harness/assets/preview-CYlam_aW.js +74 -0
  336. package/bundled-test-harness/assets/preview-format-CiSo4kEa.js +41 -0
  337. package/bundled-test-harness/assets/preview-format-test-MsB1TOLB.js +103 -0
  338. package/bundled-test-harness/assets/process-card-B3xBGkv1.js +2 -0
  339. package/bundled-test-harness/assets/process-card-DumVcx9E.js +114 -0
  340. package/bundled-test-harness/assets/process-card-test-C44H8yVy.js +94 -0
  341. package/bundled-test-harness/assets/profile-settings-modal-ipYzrVTz.js +708 -0
  342. package/bundled-test-harness/assets/progress-circle-DJ6WSO2E.js +95 -0
  343. package/bundled-test-harness/assets/progress-circle-q358_9Sn.js +2 -0
  344. package/bundled-test-harness/assets/quarter-BjO5DlU2.js +2 -0
  345. package/bundled-test-harness/assets/quarter-_D72FwfS.js +168 -0
  346. package/bundled-test-harness/assets/query-field-membership-status-test-CzDyfK49.js +323 -0
  347. package/bundled-test-harness/assets/query-field-page-optin-test-B-x3vsmC.js +126 -0
  348. package/bundled-test-harness/assets/query-field-schema-test-DFw6KuYv.js +231 -0
  349. package/bundled-test-harness/assets/query-field-stale-prerender-test-DSQ-cv_O.js +152 -0
  350. package/bundled-test-harness/assets/query-fields-test-DQiMFRCe.js +535 -0
  351. package/bundled-test-harness/assets/rail-CNspDFyn.js +44 -0
  352. package/bundled-test-harness/assets/rail-D2YcQ0VP.js +2 -0
  353. package/bundled-test-harness/assets/realm-82Z5RUM_.js +95 -0
  354. package/bundled-test-harness/assets/realm-config-SgrwqjRu.js +844 -0
  355. package/bundled-test-harness/assets/realm-config-policy-standing-test-C6sQNk2u.js +290 -0
  356. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-DcYXBlvi.js +274 -0
  357. package/bundled-test-harness/assets/realm-config-settings-test-DblJv06X.js +187 -0
  358. package/bundled-test-harness/assets/realm-dropdown-CDvL8k3B.js +560 -0
  359. package/bundled-test-harness/assets/realm-et890flh.js +2 -0
  360. package/bundled-test-harness/assets/realm-field-test-pBK_x-Xw.js +100 -0
  361. package/bundled-test-harness/assets/realm-indexing-test-DSFn2F8F.js +4380 -0
  362. package/bundled-test-harness/assets/realm-policy-test-DYnLqzTS.js +1141 -0
  363. package/bundled-test-harness/assets/realm-test-DOZT2EG5.js +2363 -0
  364. package/bundled-test-harness/assets/realm-url-tooltip-qaXTjRb-.js +56 -0
  365. package/bundled-test-harness/assets/realm-url-tooltip-test-DGTEeLH9.js +78 -0
  366. package/bundled-test-harness/assets/reasoning-test-BRkhvYjr.js +234 -0
  367. package/bundled-test-harness/assets/recent-colors-addon-BreXcpg8.js +2 -0
  368. package/bundled-test-harness/assets/recent-colors-addon-CmCkbJ2_.js +61 -0
  369. package/bundled-test-harness/assets/relationship-loading-state-test-B6UGYKzG.js +290 -0
  370. package/bundled-test-harness/assets/relative-time-BjHvL023.js +2 -0
  371. package/bundled-test-harness/assets/relative-time-ChYKOMIM.js +129 -0
  372. package/bundled-test-harness/assets/remix-card-test-CpV0kKfq.js +58 -0
  373. package/bundled-test-harness/assets/rendered-markdown-CJa7IzCC.js +263 -0
  374. package/bundled-test-harness/assets/rendered-markdown-test-CVKsHS4P.js +587 -0
  375. package/bundled-test-harness/assets/resident-instance-reuse-test-jQfW1NMn.js +82 -0
  376. package/bundled-test-harness/assets/response-field-B2-daCl2.js +38 -0
  377. package/bundled-test-harness/assets/result-tile-BSg4mzbc.js +140 -0
  378. package/bundled-test-harness/assets/rich-markdown-BtP1yamM.js +2 -0
  379. package/bundled-test-harness/assets/rich-markdown-C6rQUngb.js +218 -0
  380. package/bundled-test-harness/assets/rich-markdown-field-test-9yB6ykCe.js +1647 -0
  381. package/bundled-test-harness/assets/room-C7tKd02X.js +1008 -0
  382. package/bundled-test-harness/assets/room-message-test-DsMmRYpV.js +445 -0
  383. package/bundled-test-harness/assets/room-test-golI1H61.js +95 -0
  384. package/bundled-test-harness/assets/run-realm-code-CbXk6bnK.js +1600 -0
  385. package/bundled-test-harness/assets/run-realm-code-test-B9JeesaW.js +2468 -0
  386. package/bundled-test-harness/assets/schema-generation-test-uLLGm5Vh.js +28 -0
  387. package/bundled-test-harness/assets/score-BQhCQdUP.js +2 -0
  388. package/bundled-test-harness/assets/score-CoWEzENH.js +100 -0
  389. package/bundled-test-harness/assets/scrolling-test-WHWEkKeZ.js +384 -0
  390. package/bundled-test-harness/assets/search-BkQYpQDY.js +605 -0
  391. package/bundled-test-harness/assets/search-adorn-test-CW92JPOk.js +136 -0
  392. package/bundled-test-harness/assets/search-entries-BU4w6Ymc.js +472 -0
  393. package/bundled-test-harness/assets/search-entries-result-test-9eydsDtD.js +234 -0
  394. package/bundled-test-harness/assets/search-entries-test-ByUREx0G.js +1486 -0
  395. package/bundled-test-harness/assets/search-result-header-UFkdo0Bx.js +128 -0
  396. package/bundled-test-harness/assets/search-results-DrHTuVRZ.js +266 -0
  397. package/bundled-test-harness/assets/search-results-test-krtQQM57.js +578 -0
  398. package/bundled-test-harness/assets/search-selection-menu-test-DoqSbez7.js +108 -0
  399. package/bundled-test-harness/assets/search-sheet-persistence-test-4ZPaEY-y.js +131 -0
  400. package/bundled-test-harness/assets/search-test-BYpq32RM.js +2241 -0
  401. package/bundled-test-harness/assets/searchable-BXw4T11q.js +192 -0
  402. package/bundled-test-harness/assets/searchable-CVvPDA3Q.js +2 -0
  403. package/bundled-test-harness/assets/searchable-option-test-BhLFI4ei.js +322 -0
  404. package/bundled-test-harness/assets/searchable-search-doc-test-DrNLCF73.js +1271 -0
  405. package/bundled-test-harness/assets/secure-sign-in-VNQhe0ae.js +130 -0
  406. package/bundled-test-harness/assets/secure-sign-in-Za8PX9cD.css +24 -0
  407. package/bundled-test-harness/assets/secure-sign-in-aunWHCrB.js +73 -0
  408. package/bundled-test-harness/assets/secure-sign-in-test-BcY1TcNd.js +32 -0
  409. package/bundled-test-harness/assets/secure-sign-in-test-DRdz89BT.js +245 -0
  410. package/bundled-test-harness/assets/sending-test-mbHpGZUu.js +576 -0
  411. package/bundled-test-harness/assets/serialization-rri-form-audit-test-nypV9J82.js +136 -0
  412. package/bundled-test-harness/assets/serialization-test-aLwrFv4d.js +8758 -0
  413. package/bundled-test-harness/assets/setup-Dgn0s6Zk.js +772 -0
  414. package/bundled-test-harness/assets/shared-link-target-reuse-test-D9MR2UNc.js +207 -0
  415. package/bundled-test-harness/assets/show-card-Dwfk332M.js +67 -0
  416. package/bundled-test-harness/assets/show-card-test-CRPwwJvc.js +365 -0
  417. package/bundled-test-harness/assets/show-file-DLdFPHMR.js +34 -0
  418. package/bundled-test-harness/assets/signed-capture-DUR9PohQ.js +204 -0
  419. package/bundled-test-harness/assets/signed-capture-link-test-DfTAB6OT.js +132 -0
  420. package/bundled-test-harness/assets/single-stack-test-Crr_8nti.js +652 -0
  421. package/bundled-test-harness/assets/skill-DQ00VonZ.js +3 -0
  422. package/bundled-test-harness/assets/skill-reference-LEitQV9i.js +112 -0
  423. package/bundled-test-harness/assets/skill-yZXS1VHQ.js +76 -0
  424. package/bundled-test-harness/assets/skills-test-D3-C-Dbm.js +648 -0
  425. package/bundled-test-harness/assets/slider-picker-B6AxKL2j.js +245 -0
  426. package/bundled-test-harness/assets/slider-picker-C4Tc5o-s.js +2 -0
  427. package/bundled-test-harness/assets/spec-Cl_LB6nC.js +602 -0
  428. package/bundled-test-harness/assets/spinner-BHFM7zcR.js +39 -0
  429. package/bundled-test-harness/assets/spinner-DvAvsyDT.css +21 -0
  430. package/bundled-test-harness/assets/store-BV6WX8oV.js +2205 -0
  431. package/bundled-test-harness/assets/store-module-rebuild-test-HyphFJiF.js +454 -0
  432. package/bundled-test-harness/assets/store-search-test-nUeJ5opb.js +175 -0
  433. package/bundled-test-harness/assets/store-test-BebUIJAg.js +3460 -0
  434. package/bundled-test-harness/assets/string-BHZZwNlZ.js +9 -0
  435. package/bundled-test-harness/assets/submode-switcher-D-U9cXo0.js +169 -0
  436. package/bundled-test-harness/assets/svg-meta-extractor-BsG4w2nX.js +42 -0
  437. package/bundled-test-harness/assets/swatches-picker-4vFztxHo.js +33 -0
  438. package/bundled-test-harness/assets/swatches-picker-C7RE7uJ8.js +2 -0
  439. package/bundled-test-harness/assets/switch-submode-CuA0Zfjn.js +79 -0
  440. package/bundled-test-harness/assets/switch-submode-test-i1Qic_Cp.js +168 -0
  441. package/bundled-test-harness/assets/tag-CZNs3DPN.js +105 -0
  442. package/bundled-test-harness/assets/tests-BneuP252.js +3523 -0
  443. package/bundled-test-harness/assets/text-area-DAShQQBe.js +9 -0
  444. package/bundled-test-harness/assets/text-file-def-D2Rs6nS1.js +151 -0
  445. package/bundled-test-harness/assets/text-input-validator-test-C9IG-1GZ.js +156 -0
  446. package/bundled-test-harness/assets/theme-Dm8LWaRK.js +9 -0
  447. package/bundled-test-harness/assets/theme-card-test-Cbb6tAap.js +621 -0
  448. package/bundled-test-harness/assets/theme-scheme-island-test-DOVLakx3.js +264 -0
  449. package/bundled-test-harness/assets/three-d-model-def-DWSPQGgD.js +70 -0
  450. package/bundled-test-harness/assets/time--_Txqya1.js +126 -0
  451. package/bundled-test-harness/assets/time-DKD7Bdjd.js +2 -0
  452. package/bundled-test-harness/assets/time-slots-BZaugjq_.js +2 -0
  453. package/bundled-test-harness/assets/time-slots-C85M0rWl.js +85 -0
  454. package/bundled-test-harness/assets/timeline-B3KGDm3M.js +2 -0
  455. package/bundled-test-harness/assets/timeline-BMwgaZZu.js +59 -0
  456. package/bundled-test-harness/assets/to-device-streaming-test-CMp5bFiz.js +163 -0
  457. package/bundled-test-harness/assets/token-usage-test-CXA0b8Ep.js +166 -0
  458. package/bundled-test-harness/assets/tool-field-BGLelnsr.js +94 -0
  459. package/bundled-test-harness/assets/tool-field-BOFuDDt3.js +2 -0
  460. package/bundled-test-harness/assets/tools-CTjy7Aub.js +725 -0
  461. package/bundled-test-harness/assets/tools-calling-test--JR-7AK7.js +200 -0
  462. package/bundled-test-harness/assets/tools-test-6yAW3W5I.js +2820 -0
  463. package/bundled-test-harness/assets/tools-test-DhpMUQkz.js +1624 -0
  464. package/bundled-test-harness/assets/ts-file-def-CDbf8aw2.js +159 -0
  465. package/bundled-test-harness/assets/update-room-skills-test-DoKsS_1C.js +240 -0
  466. package/bundled-test-harness/assets/url-D0ooeJxC.js +2 -0
  467. package/bundled-test-harness/assets/url-mFskVPSX.js +96 -0
  468. package/bundled-test-harness/assets/video-file-def-AcmWqzev.js +76 -0
  469. package/bundled-test-harness/assets/wav-meta-extractor-CbTLruQf.js +368 -0
  470. package/bundled-test-harness/assets/webm-meta-extractor-C9JH-CMX.js +178 -0
  471. package/bundled-test-harness/assets/webp-meta-extractor-C6sHm4J7.js +98 -0
  472. package/bundled-test-harness/assets/website-Bxuk_OmR.js +92 -0
  473. package/bundled-test-harness/assets/week-Bxssxce7.js +2 -0
  474. package/bundled-test-harness/assets/week-DQLj9974.js +111 -0
  475. package/bundled-test-harness/assets/welcome-to-boxel-BH82RsW5.js +172 -0
  476. package/bundled-test-harness/assets/workspace-DJ_s2x4g.js +614 -0
  477. package/bundled-test-harness/assets/workspace-a11y-test-BJbZNgoP.js +197 -0
  478. package/bundled-test-harness/assets/workspace-behavior-test-BLBARTfb.js +200 -0
  479. package/bundled-test-harness/assets/workspace-chooser-BpmlVrVn.js +2219 -0
  480. package/bundled-test-harness/assets/workspace-chooser-CqLR2Dzh.css +1296 -0
  481. package/bundled-test-harness/assets/workspace-chooser-catalog-order-test-CmAVNAWC.js +36 -0
  482. package/bundled-test-harness/assets/workspace-chooser-unreachable-notice-test-DEfG7Uh9.js +60 -0
  483. package/bundled-test-harness/assets/workspace-delete-multiple-test-DE7Z8ooj.js +212 -0
  484. package/bundled-test-harness/assets/workspace-delete-summary-test-CwtG_zLH.js +63 -0
  485. package/bundled-test-harness/assets/workspace-timestamp-labels-test-DFAaRmJW.js +58 -0
  486. package/bundled-test-harness/assets/xlsx-file-def-DcvaRYnZ.js +60 -0
  487. package/bundled-test-harness/assets/xlsx-meta-extractor-0RlViVaf.js +101 -0
  488. package/bundled-test-harness/assets/xlsx-meta-extractor-BH30Vuem.js +2 -0
  489. package/bundled-test-harness/assets/year-B_MBk_hE.js +78 -0
  490. package/bundled-test-harness/assets/year-hSpccI9L.js +2 -0
  491. package/bundled-test-harness/assets/zip-file-def-c84iddi9.js +288 -0
  492. package/bundled-test-harness/index.html +78 -68
  493. package/bundled-test-harness/tests/index.html +78 -68
  494. package/bundled-types/host-app/components/matrix/account-switch-failed.gts +2 -2
  495. package/bundled-types/host-app/components/matrix/auth.gts +2 -2
  496. package/bundled-types/host-app/components/matrix/cli-auth.gts +7 -6
  497. package/bundled-types/host-app/components/matrix/forgot-password.gts +43 -129
  498. package/bundled-types/host-app/components/matrix/login.gts +15 -118
  499. package/bundled-types/host-app/components/matrix/register-user.gts +45 -226
  500. package/bundled-types/host-app/components/matrix/secure-sign-in.gts +235 -0
  501. package/bundled-types/host-app/components/operator-mode/container.gts +13 -1
  502. package/bundled-types/host-app/components/operator-mode/profile-info-popover.gts +1 -1
  503. package/bundled-types/host-app/config/environment.ts +1 -1
  504. package/bundled-types/host-app/lib/secure-sign-in.ts +130 -0
  505. package/bundled-types/host-app/services/matrix-service.ts +46 -0
  506. package/bundled-types/host-app/services/monaco-service.ts +0 -5
  507. package/bundled-types/host-app/utils/login-token.ts +23 -10
  508. package/dist/api.js +1 -1
  509. package/dist/index.js +289 -285
  510. package/package.json +1 -1
  511. package/src/build-program.ts +6 -2
  512. package/src/commands/profile.ts +72 -3
  513. package/src/lib/profile-manager.ts +5 -1
  514. package/src/lib/secure-session.ts +29 -0
  515. package/src/lib/sso-login.ts +94 -15
  516. package/bundled-test-harness/assets/account-switch-failed-B3pr_iC3.js +0 -32
  517. package/bundled-test-harness/assets/account-switch-failed-DTGZZo-G.css +0 -61
  518. package/bundled-test-harness/assets/account-switch-failed-test-9ENVgvlx.js +0 -45
  519. package/bundled-test-harness/assets/add-workspace-BAbk0250.js +0 -141
  520. package/bundled-test-harness/assets/add-workspace-test-ChAja_t-.js +0 -72
  521. package/bundled-test-harness/assets/advanced-color-picker-C-xBFJ2S.js +0 -504
  522. package/bundled-test-harness/assets/advanced-color-picker-bWAmCT-8.js +0 -2
  523. package/bundled-test-harness/assets/ai-assistant-test-BJ9yetuC.js +0 -2211
  524. package/bundled-test-harness/assets/ai-module-creation-test-Bw3TKS9d.js +0 -151
  525. package/bundled-test-harness/assets/aibot-message-DkgHT6eJ.js +0 -465
  526. package/bundled-test-harness/assets/app-DW5QjtRp.js +0 -22816
  527. package/bundled-test-harness/assets/app-yCDjO4mk.css +0 -2718
  528. package/bundled-test-harness/assets/audio-file-def-bJ3cXVmC.js +0 -133
  529. package/bundled-test-harness/assets/avif-meta-extractor-CrSDfYEt.js +0 -162
  530. package/bundled-test-harness/assets/base64-image-C7UBjK5W.js +0 -262
  531. package/bundled-test-harness/assets/base64-image-CjWpxROT.js +0 -2
  532. package/bundled-test-harness/assets/big-integer-BBql7oGZ.js +0 -89
  533. package/bundled-test-harness/assets/big-integer-B_TrzRy_.js +0 -2
  534. package/bundled-test-harness/assets/binary-upload-dedupe-test-BiX8kS7D.js +0 -308
  535. package/bundled-test-harness/assets/boolean-9LNUUTfw.js +0 -2
  536. package/bundled-test-harness/assets/boolean-BAmK01TF.js +0 -94
  537. package/bundled-test-harness/assets/brand-functional-palette-CFuoS-LS.js +0 -137
  538. package/bundled-test-harness/assets/brand-logo-By89eknI.js +0 -295
  539. package/bundled-test-harness/assets/broken-link-template-test-odBriDSP.js +0 -192
  540. package/bundled-test-harness/assets/bundled-base-CLQkkmN4.js +0 -254
  541. package/bundled-test-harness/assets/bundled-base-modules-test-BYrTaTwa.js +0 -54
  542. package/bundled-test-harness/assets/buried-stack-item-scroll-test-DU4bM5nd.js +0 -236
  543. package/bundled-test-harness/assets/bxl-expression-test-Cs9JaZbC.js +0 -250
  544. package/bundled-test-harness/assets/can-invoke-test-ccMc06BU.js +0 -401
  545. package/bundled-test-harness/assets/card-api-Bn65NUT0.js +0 -8
  546. package/bundled-test-harness/assets/card-api-test-COrFXu2i.js +0 -198
  547. package/bundled-test-harness/assets/card-api-u1pOrwS6.js +0 -4393
  548. package/bundled-test-harness/assets/card-basics-test-D4rn3iN-.js +0 -5364
  549. package/bundled-test-harness/assets/card-chooser-paging-test-bZhdrUXt.js +0 -235
  550. package/bundled-test-harness/assets/card-chooser-test-D9w1duob.js +0 -393
  551. package/bundled-test-harness/assets/card-collection-ClCV-__1.js +0 -118
  552. package/bundled-test-harness/assets/card-context-search-results-H_rN3Upz.js +0 -30
  553. package/bundled-test-harness/assets/card-context-search-results-test-jciyaouV.js +0 -184
  554. package/bundled-test-harness/assets/card-def-field-def-relationships-test-BVZoQzM8.js +0 -562
  555. package/bundled-test-harness/assets/card-delete-test-CuLcZFnY.js +0 -466
  556. package/bundled-test-harness/assets/card-error-DIOivSkD.js +0 -72
  557. package/bundled-test-harness/assets/card-error-awaiting-index-test-JMwcRONq.js +0 -53
  558. package/bundled-test-harness/assets/card-error-detail-96jWBx6B.js +0 -271
  559. package/bundled-test-harness/assets/card-info-BxPtwG1h.js +0 -2
  560. package/bundled-test-harness/assets/card-list-B34qY3io.js +0 -2
  561. package/bundled-test-harness/assets/card-list-BpCaKkZJ.js +0 -202
  562. package/bundled-test-harness/assets/card-resource-DcPbIwH9.js +0 -86
  563. package/bundled-test-harness/assets/cards-grid-CTN8nBT_.js +0 -344
  564. package/bundled-test-harness/assets/cards-grid-Cx44vL-M.js +0 -2
  565. package/bundled-test-harness/assets/cards-grid-layout-BdL0Uzxl.js +0 -111
  566. package/bundled-test-harness/assets/cards-grid-layout-Dn8Yb4ma.js +0 -2
  567. package/bundled-test-harness/assets/check-correctness-test-BfMV-MC0.js +0 -554
  568. package/bundled-test-harness/assets/clip-CK6mVuyN.js +0 -92
  569. package/bundled-test-harness/assets/clip-CfXD1JTr.js +0 -2
  570. package/bundled-test-harness/assets/code-ref-85Bih6Zl.js +0 -138
  571. package/bundled-test-harness/assets/code-ref-DATHaoyt.js +0 -2
  572. package/bundled-test-harness/assets/code-submode-availability-test-DLYlx0wo.js +0 -198
  573. package/bundled-test-harness/assets/code-submode-test-CDIi7MjD.js +0 -1824
  574. package/bundled-test-harness/assets/codeblocks-test-CNPyTvuv.js +0 -418
  575. package/bundled-test-harness/assets/codemirror-editor-BPOPTR-f.js +0 -2
  576. package/bundled-test-harness/assets/codemirror-editor-DPhG0pec.js +0 -701
  577. package/bundled-test-harness/assets/codemirror-embed-toolbar-test-Dk5lFOUq.js +0 -366
  578. package/bundled-test-harness/assets/color-BxN5gRSg.js +0 -65
  579. package/bundled-test-harness/assets/color-CrunRcis.js +0 -2
  580. package/bundled-test-harness/assets/color-field-test-COjFIpXV.js +0 -212
  581. package/bundled-test-harness/assets/color-picker-field-C-GS1CIw.js +0 -139
  582. package/bundled-test-harness/assets/color-picker-field-D3RXhbCK.js +0 -2
  583. package/bundled-test-harness/assets/color-wheel-picker-Bz8cBmf4.js +0 -283
  584. package/bundled-test-harness/assets/color-wheel-picker-DrwPrB8B.js +0 -2
  585. package/bundled-test-harness/assets/command-data-BxXgtNBf.js +0 -2
  586. package/bundled-test-harness/assets/command-data-ZdkcpEgG.js +0 -95
  587. package/bundled-test-harness/assets/compaction-test-DS7DTGT_.js +0 -150
  588. package/bundled-test-harness/assets/components-CbCTWAON.js +0 -17777
  589. package/bundled-test-harness/assets/computed-test-D_OrXDtR.js +0 -1320
  590. package/bundled-test-harness/assets/container-DDolu1gk.js +0 -11109
  591. package/bundled-test-harness/assets/container-DndcCIMv.css +0 -5169
  592. package/bundled-test-harness/assets/contains-many-component-BtgnAXih.js +0 -2
  593. package/bundled-test-harness/assets/contrast-checker-addon-kwtLKWdL.js +0 -2
  594. package/bundled-test-harness/assets/contrast-checker-addon-zFY5cen1.js +0 -71
  595. package/bundled-test-harness/assets/convert-to-class-name-test-BcGWl2K1.js +0 -17
  596. package/bundled-test-harness/assets/coordinate-D72EF1Pl.js +0 -48
  597. package/bundled-test-harness/assets/copy-file-to-realm-test-CYoDX4YV.js +0 -148
  598. package/bundled-test-harness/assets/country-B-iIe5v8.js +0 -199
  599. package/bundled-test-harness/assets/create-file-modal-PpvMksjR.js +0 -570
  600. package/bundled-test-harness/assets/create-listing-modal-test-CQtEf_UD.js +0 -273
  601. package/bundled-test-harness/assets/create-listing-pr-request-test-CDtKWyfk.js +0 -117
  602. package/bundled-test-harness/assets/create-spec-test-Cbqk8I9T.js +0 -256
  603. package/bundled-test-harness/assets/create-specs-CZg2cpnh.js +0 -215
  604. package/bundled-test-harness/assets/create-submission-workflow-test-CYrxF7bg.js +0 -132
  605. package/bundled-test-harness/assets/credential-fields-test-Di4jCJgU.js +0 -157
  606. package/bundled-test-harness/assets/css-value-CceJyI5o.js +0 -48
  607. package/bundled-test-harness/assets/csv-file-def-DJL2aZI9.js +0 -277
  608. package/bundled-test-harness/assets/currency-Bn5WIqzF.js +0 -134
  609. package/bundled-test-harness/assets/date-XI2CVYA2.js +0 -2
  610. package/bundled-test-harness/assets/date-h83UJcFR.js +0 -183
  611. package/bundled-test-harness/assets/date-time-fields-test-Cterr2mj.js +0 -359
  612. package/bundled-test-harness/assets/datetime-DadI80tC.js +0 -201
  613. package/bundled-test-harness/assets/datetime-Dpb_Sejj.js +0 -2
  614. package/bundled-test-harness/assets/datetime-stamp-C4vv397u.js +0 -81
  615. package/bundled-test-harness/assets/datetime-stamp-DIsJdQux.js +0 -2
  616. package/bundled-test-harness/assets/day-C4pZoGNM.js +0 -113
  617. package/bundled-test-harness/assets/day-D0goBhKb.js +0 -2
  618. package/bundled-test-harness/assets/debug-message-test-CV0sj-fl.js +0 -117
  619. package/bundled-test-harness/assets/dist-CAIttNZm.js +0 -1710
  620. package/bundled-test-harness/assets/dist-CLbqnmnm.js +0 -389
  621. package/bundled-test-harness/assets/dist-qkBOmIQy.js +0 -323
  622. package/bundled-test-harness/assets/docx-file-def-hz2tVQKf.js +0 -60
  623. package/bundled-test-harness/assets/docx-meta-extractor-CeRshlxL.js +0 -60
  624. package/bundled-test-harness/assets/docx-meta-extractor-muK5CKF3.js +0 -2
  625. package/bundled-test-harness/assets/duration-BYx1dLfm.js +0 -2
  626. package/bundled-test-harness/assets/duration-FAmTFeUa.js +0 -184
  627. package/bundled-test-harness/assets/email-D-bFy_C1.js +0 -80
  628. package/bundled-test-harness/assets/email-field-test-CY9K2zur.js +0 -75
  629. package/bundled-test-harness/assets/email-j4DZNH2-.js +0 -2
  630. package/bundled-test-harness/assets/enum-B7_baAn_.js +0 -167
  631. package/bundled-test-harness/assets/enum-BQqNzVQS.js +0 -2
  632. package/bundled-test-harness/assets/enum-field-test-BJ9Epz15.js +0 -953
  633. package/bundled-test-harness/assets/error-display-test-CbDWjJ2F.js +0 -343
  634. package/bundled-test-harness/assets/ethereum-address-BOLEnKsm.js +0 -78
  635. package/bundled-test-harness/assets/ethereum-address-s3Kvb2wG.js +0 -2
  636. package/bundled-test-harness/assets/expiration-warning-BaIP1MOZ.js +0 -2
  637. package/bundled-test-harness/assets/expiration-warning-gjEtxPk0.js +0 -90
  638. package/bundled-test-harness/assets/externals-Bih8ejPS.js +0 -4393
  639. package/bundled-test-harness/assets/fallback-banner-MlImHjSD.js +0 -24
  640. package/bundled-test-harness/assets/fallback-banner-live-delete-test-Bm7IKXPf.js +0 -207
  641. package/bundled-test-harness/assets/fallback-banner-test-C7TGA0Ob.js +0 -53
  642. package/bundled-test-harness/assets/fallback-banner-test-lvuaVRXu.js +0 -225
  643. package/bundled-test-harness/assets/fallback-models-test-Dy7iIKUS.js +0 -161
  644. package/bundled-test-harness/assets/field-component-DBoOxTke.js +0 -2
  645. package/bundled-test-harness/assets/field-configuration-test-DnAnzyC-.js +0 -548
  646. package/bundled-test-harness/assets/field-edit-DdJ8Akso.js +0 -2
  647. package/bundled-test-harness/assets/field-edit-XAop92l8.js +0 -36
  648. package/bundled-test-harness/assets/field-markdown-domain-test-cZCqbcjj.js +0 -616
  649. package/bundled-test-harness/assets/field-markdown-oversize-test-BuATetVz.js +0 -88
  650. package/bundled-test-harness/assets/field-markdown-primitives-test-BsubQfhv.js +0 -365
  651. package/bundled-test-harness/assets/field-markdown-specialized-test-4eNLiYpF.js +0 -534
  652. package/bundled-test-harness/assets/field-test-helpers-9I7cHnaU.js +0 -45
  653. package/bundled-test-harness/assets/file-api-CC86I7Er.js +0 -7
  654. package/bundled-test-harness/assets/file-attachment-test-o9191GMb.js +0 -796
  655. package/bundled-test-harness/assets/file-chooser-panel-test-C8aZuJlk.js +0 -153
  656. package/bundled-test-harness/assets/file-chooser-test-B0Tn8CCR.js +0 -504
  657. package/bundled-test-harness/assets/file-def-edit-BSiF2Lje.js +0 -2
  658. package/bundled-test-harness/assets/file-def-edit-C5TYBp_q.js +0 -26
  659. package/bundled-test-harness/assets/file-def-embedded-BLVTCiVB.js +0 -2
  660. package/bundled-test-harness/assets/file-def-embedded-Bep4iD6s.js +0 -38
  661. package/bundled-test-harness/assets/file-def-fitted-BTs-AS78.js +0 -2
  662. package/bundled-test-harness/assets/file-def-fitted-DcPitdYu.js +0 -38
  663. package/bundled-test-harness/assets/file-def-isolated-Kg1YVhm-.js +0 -38
  664. package/bundled-test-harness/assets/file-def-isolated-tK5JWCam.js +0 -2
  665. package/bundled-test-harness/assets/file-def-serialization-test-D4wnd5XK.js +0 -89
  666. package/bundled-test-harness/assets/file-menu-items-CH4-naSK.js +0 -117
  667. package/bundled-test-harness/assets/file-menu-items-emUxx3ZI.js +0 -2
  668. package/bundled-test-harness/assets/file-preview-stage-B1McIWwu.js +0 -2
  669. package/bundled-test-harness/assets/file-preview-stage-BgZLNMN4.js +0 -72
  670. package/bundled-test-harness/assets/file-shell-embedded-BmfuwWfU.js +0 -2
  671. package/bundled-test-harness/assets/file-shell-embedded-zh8CJanA.js +0 -68
  672. package/bundled-test-harness/assets/file-shell-fitted-DSFUNRGJ.js +0 -2
  673. package/bundled-test-harness/assets/file-shell-fitted-DXKDH0fn.js +0 -98
  674. package/bundled-test-harness/assets/file-shell-isolated-0F1MFv4q.js +0 -2
  675. package/bundled-test-harness/assets/file-shell-isolated-DduZZzmi.js +0 -195
  676. package/bundled-test-harness/assets/file-tree-from-index-BzDvvUHy.js +0 -151
  677. package/bundled-test-harness/assets/file-tree-from-index-test-D0hfI4a1.js +0 -96
  678. package/bundled-test-harness/assets/film-BN_HVXBU.js +0 -13
  679. package/bundled-test-harness/assets/film-CKkbUi0L.js +0 -2
  680. package/bundled-test-harness/assets/film-CMNJITZ-.js +0 -4074
  681. package/bundled-test-harness/assets/fitted-CAvdcKpu.js +0 -34
  682. package/bundled-test-harness/assets/fitted-CbKOwd1u.js +0 -2
  683. package/bundled-test-harness/assets/flac-meta-extractor-e8qajPSl.js +0 -99
  684. package/bundled-test-harness/assets/font-file-def-9atde5W8.js +0 -64
  685. package/bundled-test-harness/assets/font-meta-extractor-IralDC8M.js +0 -303
  686. package/bundled-test-harness/assets/font-meta-extractor-zPBVOfoR.js +0 -2
  687. package/bundled-test-harness/assets/formatted-aibot-message-test-CWOiZUng.js +0 -109
  688. package/bundled-test-harness/assets/from-elsewhere-ChxbtsBa.js +0 -131
  689. package/bundled-test-harness/assets/frontmatter-field-cdig7KR9.js +0 -41
  690. package/bundled-test-harness/assets/garbage-collection-test-Dg-ww_Sb.js +0 -403
  691. package/bundled-test-harness/assets/gauge-B45nLOGe.js +0 -106
  692. package/bundled-test-harness/assets/gauge-BK-768BM.js +0 -2
  693. package/bundled-test-harness/assets/general-test-D7cn7PUr.js +0 -926
  694. package/bundled-test-harness/assets/get-relationship-membership-state-test-Skmj9V6y.js +0 -1308
  695. package/bundled-test-harness/assets/gif-meta-extractor-BychhK9q.js +0 -114
  696. package/bundled-test-harness/assets/glimmer-motion-and-choreo-in-cards-test-C09YUmk4.js +0 -160
  697. package/bundled-test-harness/assets/glimmer-motion-and-choreo-test-DYskx_Kk.js +0 -74
  698. package/bundled-test-harness/assets/helper-BHX0HLF2.js +0 -478
  699. package/bundled-test-harness/assets/host-submode-test-Clw_QnvF.js +0 -1243
  700. package/bundled-test-harness/assets/html-file-def-C0P9giwU.js +0 -82
  701. package/bundled-test-harness/assets/hydratable-card-DnjrxKsT.js +0 -147
  702. package/bundled-test-harness/assets/hydratable-card-test-BAmWHfv1.js +0 -426
  703. package/bundled-test-harness/assets/icons-DBXBZgLe.js +0 -894
  704. package/bundled-test-harness/assets/image-Cip6ojDd.js +0 -47
  705. package/bundled-test-harness/assets/image-file-def-BdQxjZcN.js +0 -65
  706. package/bundled-test-harness/assets/image-file-def-DP4aqWcS.js +0 -3
  707. package/bundled-test-harness/assets/index-changes-test-D8b_56Ke.js +0 -367
  708. package/bundled-test-harness/assets/index-query-engine-test-CCyaUwMX.js +0 -2593
  709. package/bundled-test-harness/assets/inspector-test-BJTVGdOO.js +0 -1930
  710. package/bundled-test-harness/assets/instance-filter-matcher-test-DjsPrXL7.js +0 -788
  711. package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-DSqM0vxh.js +0 -475
  712. package/bundled-test-harness/assets/interact-submode-setup-DF31UMX-.js +0 -566
  713. package/bundled-test-harness/assets/is-component-declaration-test-Did47eG9.js +0 -50
  714. package/bundled-test-harness/assets/iso-bmff-LuWkGL__.js +0 -205
  715. package/bundled-test-harness/assets/iso-bmff-_flO6c20.js +0 -2
  716. package/bundled-test-harness/assets/isolated-and-edit-frocLHin.js +0 -2
  717. package/bundled-test-harness/assets/job-priority-header-test-DHLAXfp7.js +0 -81
  718. package/bundled-test-harness/assets/job-scoped-instance-residency-test-C1Bt5j98.js +0 -103
  719. package/bundled-test-harness/assets/join-the-community-BBUSO2cs.js +0 -86
  720. package/bundled-test-harness/assets/jpg-meta-extractor-CoybO4Hq.js +0 -88
  721. package/bundled-test-harness/assets/json-field-8sdH5RQb.js +0 -2
  722. package/bundled-test-harness/assets/json-field-BDD3iTUh.js +0 -19
  723. package/bundled-test-harness/assets/json-file-def-BKibsfc6.js +0 -298
  724. package/bundled-test-harness/assets/last-modified-date-CR5jru2m.js +0 -43
  725. package/bundled-test-harness/assets/last-modified-date-test-jJ00YdTm.js +0 -28
  726. package/bundled-test-harness/assets/links-to-editor-rDoCYaN-.js +0 -2
  727. package/bundled-test-harness/assets/links-to-many-component-BqZT88Fb.js +0 -2
  728. package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-Cp1Eb_4U.js +0 -398
  729. package/bundled-test-harness/assets/linksto-error-sentinel-test-Bddavnh_.js +0 -238
  730. package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-c5WegXnR.js +0 -354
  731. package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CWskzfGW.js +0 -303
  732. package/bundled-test-harness/assets/linksto-sentinel-reload-test-ByeVNhr8.js +0 -197
  733. package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DP26i6Gb.js +0 -260
  734. package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-fDUXx8tO.js +0 -196
  735. package/bundled-test-harness/assets/llm-model-BcLEkTV7.js +0 -64
  736. package/bundled-test-harness/assets/login-CeuuNVvU.css +0 -139
  737. package/bundled-test-harness/assets/login-DV0WlJv-.js +0 -348
  738. package/bundled-test-harness/assets/login-error-text-test-BMGY_9gW.js +0 -51
  739. package/bundled-test-harness/assets/login-test-CL9YpMH5.js +0 -246
  740. package/bundled-test-harness/assets/m4a-meta-extractor-CHO1JQtb.js +0 -204
  741. package/bundled-test-harness/assets/main-CPLT8JNu.js +0 -5
  742. package/bundled-test-harness/assets/markdown-BvBALLGh.js +0 -7
  743. package/bundled-test-harness/assets/markdown-DFezmrFD.js +0 -2
  744. package/bundled-test-harness/assets/markdown-editor-mode-select-Au64bcIO.js +0 -2
  745. package/bundled-test-harness/assets/markdown-editor-mode-select-rK9PP8rv.js +0 -54
  746. package/bundled-test-harness/assets/markdown-embed-chooser-modal-test-CIxizf5k.js +0 -470
  747. package/bundled-test-harness/assets/markdown-embed-preview-pane-test-C7GoNN7l.js +0 -447
  748. package/bundled-test-harness/assets/markdown-embed-preview-test-CDnj4uhd.js +0 -368
  749. package/bundled-test-harness/assets/markdown-fallback-n7PsLNmO.js +0 -2
  750. package/bundled-test-harness/assets/markdown-fallback-test-DTHT6OwQ.js +0 -316
  751. package/bundled-test-harness/assets/markdown-highlighting-test-DJ-4WSE_.js +0 -244
  752. package/bundled-test-harness/assets/markdown-preview-Ccelx5W-.js +0 -64
  753. package/bundled-test-harness/assets/markdown-preview-JXuMC_ve.js +0 -72
  754. package/bundled-test-harness/assets/markdown-preview-test-ByZqrpPk.js +0 -238
  755. package/bundled-test-harness/assets/markdown-skill-frontmatter-test-DAHGeL4K.js +0 -146
  756. package/bundled-test-harness/assets/menu-items-DzJm9H_H.js +0 -2
  757. package/bundled-test-harness/assets/message-tool-test-lmdrIEdY.js +0 -33
  758. package/bundled-test-harness/assets/metadata-fields-BZZr4Qe5.js +0 -2
  759. package/bundled-test-harness/assets/metadata-fields-BtdjGsKE.js +0 -1415
  760. package/bundled-test-harness/assets/midi-audio-def-uYbYFmFi.js +0 -52
  761. package/bundled-test-harness/assets/midi-meta-extractor-DNI5gc1q.js +0 -284
  762. package/bundled-test-harness/assets/midi-meta-extractor-DbKZ4fMG.js +0 -2
  763. package/bundled-test-harness/assets/migrate-skill-test-DI1xceiL.js +0 -161
  764. package/bundled-test-harness/assets/mini-CNoDyHqG.js +0 -1519
  765. package/bundled-test-harness/assets/mini-DexlIeKK.js +0 -85
  766. package/bundled-test-harness/assets/mini-card-chooser-test-DT5eIf1_.js +0 -272
  767. package/bundled-test-harness/assets/mini-file-chooser-test-DTQnKTZJ.js +0 -201
  768. package/bundled-test-harness/assets/missing-template-DL2mwddM.js +0 -2
  769. package/bundled-test-harness/assets/missing-template-ltqlJ4JC.js +0 -48
  770. package/bundled-test-harness/assets/modal-container-DRnt95-S.js +0 -40
  771. package/bundled-test-harness/assets/modal-zE95eEFp.js +0 -322
  772. package/bundled-test-harness/assets/model-cost-tier-test-CcFz7hcv.js +0 -173
  773. package/bundled-test-harness/assets/module-contents-service-Dk_zWt-V.js +0 -256
  774. package/bundled-test-harness/assets/month-BqReBYWo.js +0 -2
  775. package/bundled-test-harness/assets/month-RhvmIp40.js +0 -123
  776. package/bundled-test-harness/assets/month-day-XFAQA72z.js +0 -2
  777. package/bundled-test-harness/assets/month-day-XzKpk6nz.js +0 -192
  778. package/bundled-test-harness/assets/month-year-BeuNr2Cl.js +0 -2
  779. package/bundled-test-harness/assets/month-year-DhU7hATV.js +0 -93
  780. package/bundled-test-harness/assets/mp3-meta-extractor-Dx2RnJc5.js +0 -476
  781. package/bundled-test-harness/assets/mp4-meta-extractor--k0m8KsT.js +0 -188
  782. package/bundled-test-harness/assets/multiple-stacks-test-bC24IWcJ.js +0 -208
  783. package/bundled-test-harness/assets/nested-query-field-render-test-qxElXx1e.js +0 -249
  784. package/bundled-test-harness/assets/no-stacks-test-Br7IGAgV.js +0 -48
  785. package/bundled-test-harness/assets/number-73SsCMEF.js +0 -3
  786. package/bundled-test-harness/assets/number-CicTBWQd.js +0 -151
  787. package/bundled-test-harness/assets/number-field-test-kV5zXo1J.js +0 -184
  788. package/bundled-test-harness/assets/number-input-CQy4xUeA.js +0 -82
  789. package/bundled-test-harness/assets/office-extract-Bo8sbNkK.js +0 -27
  790. package/bundled-test-harness/assets/office-extract-CfBaoRMD.js +0 -2
  791. package/bundled-test-harness/assets/ogg-meta-extractor-aIf5q_Rq.js +0 -225
  792. package/bundled-test-harness/assets/on-key-C8acaldQ.js +0 -472
  793. package/bundled-test-harness/assets/ooxml-Bu3iZezv.js +0 -172
  794. package/bundled-test-harness/assets/ooxml-jQPBQK25.js +0 -2
  795. package/bundled-test-harness/assets/open-image-in-new-tab-test-CP7q3kMm.js +0 -52
  796. package/bundled-test-harness/assets/operation-lowering-test-9Mdr0hRT.js +0 -2812
  797. package/bundled-test-harness/assets/operations-R9b661Qn.js +0 -3
  798. package/bundled-test-harness/assets/operations-Zv_V3Api.js +0 -766
  799. package/bundled-test-harness/assets/operations-invocation-test-BJPpWb2H.js +0 -523
  800. package/bundled-test-harness/assets/operations-query-test-DufdmPQF.js +0 -459
  801. package/bundled-test-harness/assets/operations-test-CzT051YH.js +0 -2518
  802. package/bundled-test-harness/assets/operator-mode-acceptance-test-ByOIOcD0.js +0 -1188
  803. package/bundled-test-harness/assets/operator-mode-card-chooser-test-CNhR9mvv.js +0 -1036
  804. package/bundled-test-harness/assets/operator-mode-links-test-CuxSVTPR.js +0 -793
  805. package/bundled-test-harness/assets/operator-mode-state-service-CCeHt5SH.js +0 -1275
  806. package/bundled-test-harness/assets/operator-mode-state-service-test-C8TI9WWg.js +0 -206
  807. package/bundled-test-harness/assets/operator-mode-test-DG-mG8Tn.js +0 -683
  808. package/bundled-test-harness/assets/operator-mode-ui-test-DB7xhjS0.js +0 -1027
  809. package/bundled-test-harness/assets/overlay-menu-items-test-C6rcdF_S.js +0 -317
  810. package/bundled-test-harness/assets/overlays-D2zmPxzK.js +0 -270
  811. package/bundled-test-harness/assets/overlays-clip-test-Clpq3JzQ.js +0 -91
  812. package/bundled-test-harness/assets/overlays-detached-element-test-BtsTeJch.js +0 -56
  813. package/bundled-test-harness/assets/pane-f-IYhcWT.js +0 -330
  814. package/bundled-test-harness/assets/panel-B3PCSBbf.js +0 -3540
  815. package/bundled-test-harness/assets/panel-Ban7zCBP.js +0 -474
  816. package/bundled-test-harness/assets/past-sessions-test-uM2m-oKV.js +0 -321
  817. package/bundled-test-harness/assets/patch-fields-test-COPjDhnt.js +0 -1014
  818. package/bundled-test-harness/assets/patch-instance-test-CRb3dfby.js +0 -348
  819. package/bundled-test-harness/assets/pdf-file-def-J_yOUU8_.js +0 -76
  820. package/bundled-test-harness/assets/pdf-meta-extractor-83T5Bdo7.js +0 -156
  821. package/bundled-test-harness/assets/pdf-meta-extractor-INFIklMy.js +0 -2
  822. package/bundled-test-harness/assets/pdf-viewer-B4rRluWA.js +0 -2
  823. package/bundled-test-harness/assets/pdf-viewer-vYem8ozk.js +0 -112
  824. package/bundled-test-harness/assets/percentage-ChagfNRG.js +0 -84
  825. package/bundled-test-harness/assets/permission-checking-realm-test-Dmb2a428.js +0 -306
  826. package/bundled-test-harness/assets/phone-number-BiD2eaSd.js +0 -236
  827. package/bundled-test-harness/assets/phone-number-C-wt4_UK.js +0 -2
  828. package/bundled-test-harness/assets/phone-number-field-test-BHzAmuBP.js +0 -73
  829. package/bundled-test-harness/assets/plate-CqN2nM6P.js +0 -41
  830. package/bundled-test-harness/assets/plate-DaIfpORN.js +0 -2
  831. package/bundled-test-harness/assets/player-CGt5fTd5.js +0 -2
  832. package/bundled-test-harness/assets/player-CN0l44LK.js +0 -82
  833. package/bundled-test-harness/assets/plural-field-components-test-CO2g2opW.js +0 -198
  834. package/bundled-test-harness/assets/png-image-def-B_oou2wS.js +0 -48
  835. package/bundled-test-harness/assets/png-meta-extractor-BfPz1qP_.js +0 -2
  836. package/bundled-test-harness/assets/png-meta-extractor-C8ai8sPw.js +0 -111
  837. package/bundled-test-harness/assets/policy-scoped-search-test-BRRp2a1A.js +0 -339
  838. package/bundled-test-harness/assets/pptx-file-def-C3qYEHDM.js +0 -60
  839. package/bundled-test-harness/assets/pptx-meta-extractor-8IuoBq4I.js +0 -77
  840. package/bundled-test-harness/assets/pptx-meta-extractor-BPhy9RMM.js +0 -2
  841. package/bundled-test-harness/assets/prerender-persistence-block-test-Cteb_Rs_.js +0 -124
  842. package/bundled-test-harness/assets/prerender-serialize-cycle-test-CH7b6Ra9.js +0 -134
  843. package/bundled-test-harness/assets/preview-CmERZpI6.js +0 -74
  844. package/bundled-test-harness/assets/preview-format-BPMlCSbb.js +0 -41
  845. package/bundled-test-harness/assets/preview-format-test-B7sA8fbZ.js +0 -103
  846. package/bundled-test-harness/assets/process-card-CtDzDB-_.js +0 -2
  847. package/bundled-test-harness/assets/process-card-erbWKY5h.js +0 -114
  848. package/bundled-test-harness/assets/process-card-test-DXOt1jDW.js +0 -94
  849. package/bundled-test-harness/assets/profile-settings-modal-11BrR058.js +0 -708
  850. package/bundled-test-harness/assets/progress-circle-Cd79Zqh2.js +0 -2
  851. package/bundled-test-harness/assets/progress-circle-sc-W5aUl.js +0 -95
  852. package/bundled-test-harness/assets/quarter-B61kCpcD.js +0 -168
  853. package/bundled-test-harness/assets/quarter-d5jkTzcz.js +0 -2
  854. package/bundled-test-harness/assets/query-field-membership-status-test-BmpVfohw.js +0 -323
  855. package/bundled-test-harness/assets/query-field-page-optin-test-9_Cce-OJ.js +0 -126
  856. package/bundled-test-harness/assets/query-field-schema-test-CwV7xanX.js +0 -231
  857. package/bundled-test-harness/assets/query-field-stale-prerender-test-RkdnZ-VV.js +0 -152
  858. package/bundled-test-harness/assets/query-fields-test-BLxYkTAM.js +0 -535
  859. package/bundled-test-harness/assets/rail-CFPU0tFe.js +0 -2
  860. package/bundled-test-harness/assets/rail-CQ53Dakr.js +0 -44
  861. package/bundled-test-harness/assets/realm-DdVH9lSZ.js +0 -95
  862. package/bundled-test-harness/assets/realm-DdsFw3b-.js +0 -2
  863. package/bundled-test-harness/assets/realm-config-DIslxoB7.js +0 -844
  864. package/bundled-test-harness/assets/realm-config-policy-standing-test-b4WxNDor.js +0 -290
  865. package/bundled-test-harness/assets/realm-config-routing-rule-edit-test-C-rcvkkD.js +0 -274
  866. package/bundled-test-harness/assets/realm-config-settings-test-DDUkM3zw.js +0 -187
  867. package/bundled-test-harness/assets/realm-dropdown-1j55Dy-1.js +0 -560
  868. package/bundled-test-harness/assets/realm-field-test-D-uEtFKO.js +0 -100
  869. package/bundled-test-harness/assets/realm-indexing-test-U9m0epR-.js +0 -4380
  870. package/bundled-test-harness/assets/realm-policy-test-DhKabhlk.js +0 -1141
  871. package/bundled-test-harness/assets/realm-test-BX6C9SS5.js +0 -2363
  872. package/bundled-test-harness/assets/realm-url-tooltip-BjjcKqBx.js +0 -56
  873. package/bundled-test-harness/assets/realm-url-tooltip-test-DW0ZwEEE.js +0 -78
  874. package/bundled-test-harness/assets/reasoning-test-BWT94KXG.js +0 -234
  875. package/bundled-test-harness/assets/recent-colors-addon-CfgmgilF.js +0 -61
  876. package/bundled-test-harness/assets/recent-colors-addon-D--Ry3Pf.js +0 -2
  877. package/bundled-test-harness/assets/relationship-loading-state-test-C5R6jao_.js +0 -290
  878. package/bundled-test-harness/assets/relative-time-Bq7pqums.js +0 -2
  879. package/bundled-test-harness/assets/relative-time-D0QyW4ig.js +0 -129
  880. package/bundled-test-harness/assets/remix-card-test-Cy0h3Xdf.js +0 -58
  881. package/bundled-test-harness/assets/rendered-markdown-Hw_EF8SO.js +0 -263
  882. package/bundled-test-harness/assets/rendered-markdown-test-CqeF-UZd.js +0 -587
  883. package/bundled-test-harness/assets/resident-instance-reuse-test-BiI6L40n.js +0 -82
  884. package/bundled-test-harness/assets/response-field-BCxG5phG.js +0 -38
  885. package/bundled-test-harness/assets/result-tile-DMzRnTP8.js +0 -140
  886. package/bundled-test-harness/assets/rich-markdown-C4RUl7L0.js +0 -2
  887. package/bundled-test-harness/assets/rich-markdown-DxQSCg-o.js +0 -218
  888. package/bundled-test-harness/assets/rich-markdown-field-test-B7wpedKs.js +0 -1647
  889. package/bundled-test-harness/assets/room-D0M0Zwrs.js +0 -1008
  890. package/bundled-test-harness/assets/room-message-test-BWWd4xC8.js +0 -445
  891. package/bundled-test-harness/assets/room-test-DFH-nOwi.js +0 -95
  892. package/bundled-test-harness/assets/run-realm-code-DyVyEDBl.js +0 -1600
  893. package/bundled-test-harness/assets/run-realm-code-test-BpxF-tOz.js +0 -2468
  894. package/bundled-test-harness/assets/schema-generation-test-DjaJqpYP.js +0 -28
  895. package/bundled-test-harness/assets/score-Cfp34BE7.js +0 -2
  896. package/bundled-test-harness/assets/score-DIWWpeyf.js +0 -100
  897. package/bundled-test-harness/assets/scrolling-test-hA_uBwBg.js +0 -384
  898. package/bundled-test-harness/assets/search-C0-b7dJI.js +0 -605
  899. package/bundled-test-harness/assets/search-adorn-test-C6KP3AwA.js +0 -136
  900. package/bundled-test-harness/assets/search-entries-BfPq5sPS.js +0 -472
  901. package/bundled-test-harness/assets/search-entries-result-test-Bl9u_BOD.js +0 -234
  902. package/bundled-test-harness/assets/search-entries-test-BDC_lS43.js +0 -1486
  903. package/bundled-test-harness/assets/search-result-header-DCAze_cg.js +0 -128
  904. package/bundled-test-harness/assets/search-results-Dd0enVun.js +0 -266
  905. package/bundled-test-harness/assets/search-results-test-T5KEEII4.js +0 -578
  906. package/bundled-test-harness/assets/search-selection-menu-test-CCssnBq1.js +0 -108
  907. package/bundled-test-harness/assets/search-sheet-persistence-test-BzQiO-FK.js +0 -131
  908. package/bundled-test-harness/assets/search-test-fyCWb24m.js +0 -2241
  909. package/bundled-test-harness/assets/searchable-BkgeKQMl.js +0 -2
  910. package/bundled-test-harness/assets/searchable-D_6p6fyb.js +0 -192
  911. package/bundled-test-harness/assets/searchable-option-test-CnCUYGaq.js +0 -322
  912. package/bundled-test-harness/assets/searchable-search-doc-test-B8Q0D98v.js +0 -1271
  913. package/bundled-test-harness/assets/sending-test-D5PGBDys.js +0 -576
  914. package/bundled-test-harness/assets/serialization-rri-form-audit-test-BRJ1cJ31.js +0 -136
  915. package/bundled-test-harness/assets/serialization-test-DM6hK258.js +0 -8758
  916. package/bundled-test-harness/assets/setup-C_GgVgzM.js +0 -772
  917. package/bundled-test-harness/assets/shared-link-target-reuse-test-Be-lSKib.js +0 -207
  918. package/bundled-test-harness/assets/show-card-BFG6KR1m.js +0 -67
  919. package/bundled-test-harness/assets/show-card-test-l0wMrfZq.js +0 -365
  920. package/bundled-test-harness/assets/show-file-B8-FRVHj.js +0 -34
  921. package/bundled-test-harness/assets/signed-capture-D_Q44TQ7.js +0 -204
  922. package/bundled-test-harness/assets/signed-capture-link-test-DOS5xpYv.js +0 -132
  923. package/bundled-test-harness/assets/single-stack-test-BIEtzHVS.js +0 -652
  924. package/bundled-test-harness/assets/skill-BUTGmSsm.js +0 -76
  925. package/bundled-test-harness/assets/skill-Bo7R_2Ud.js +0 -3
  926. package/bundled-test-harness/assets/skill-reference-Cs64py3k.js +0 -112
  927. package/bundled-test-harness/assets/skills-test-CXxSIkYa.js +0 -648
  928. package/bundled-test-harness/assets/slider-picker-C81errGI.js +0 -245
  929. package/bundled-test-harness/assets/slider-picker-mvKsy6cR.js +0 -2
  930. package/bundled-test-harness/assets/spec-B55lJurX.js +0 -602
  931. package/bundled-test-harness/assets/store-DyQ0KiyI.js +0 -2205
  932. package/bundled-test-harness/assets/store-module-rebuild-test-C7532_bS.js +0 -454
  933. package/bundled-test-harness/assets/store-search-test-80NMJuoW.js +0 -175
  934. package/bundled-test-harness/assets/store-test-dHiWXXMs.js +0 -3460
  935. package/bundled-test-harness/assets/string-DHlQEHYm.js +0 -9
  936. package/bundled-test-harness/assets/submode-switcher-DQv-CD6G.js +0 -169
  937. package/bundled-test-harness/assets/svg-meta-extractor-Uw_EJytF.js +0 -42
  938. package/bundled-test-harness/assets/swatches-picker-CaEoibN1.js +0 -33
  939. package/bundled-test-harness/assets/swatches-picker-gPl50JbP.js +0 -2
  940. package/bundled-test-harness/assets/switch-submode-BKDnJd4m.js +0 -79
  941. package/bundled-test-harness/assets/switch-submode-test-_E2mVk4z.js +0 -168
  942. package/bundled-test-harness/assets/tag-B60lDr-j.js +0 -105
  943. package/bundled-test-harness/assets/tests-BBBgPBB6.js +0 -3520
  944. package/bundled-test-harness/assets/text-area-CJjWmwpi.js +0 -9
  945. package/bundled-test-harness/assets/text-file-def-u_dl0i2z.js +0 -151
  946. package/bundled-test-harness/assets/text-input-validator-test-BTwnkSS2.js +0 -156
  947. package/bundled-test-harness/assets/theme-BK-fAHVn.js +0 -9
  948. package/bundled-test-harness/assets/theme-card-test-BQmT7rqr.js +0 -621
  949. package/bundled-test-harness/assets/theme-scheme-island-test-Oi3aeyp1.js +0 -264
  950. package/bundled-test-harness/assets/three-d-model-def-B4KckPVC.js +0 -70
  951. package/bundled-test-harness/assets/time-BcuaSkHg.js +0 -126
  952. package/bundled-test-harness/assets/time-f7Irg7Z7.js +0 -2
  953. package/bundled-test-harness/assets/time-slots-ClYIZN53.js +0 -2
  954. package/bundled-test-harness/assets/time-slots-TI1aaqRN.js +0 -85
  955. package/bundled-test-harness/assets/timeline-Cof9eyq0.js +0 -59
  956. package/bundled-test-harness/assets/timeline-DFWQtCWE.js +0 -2
  957. package/bundled-test-harness/assets/to-device-streaming-test-BDrUUlOt.js +0 -163
  958. package/bundled-test-harness/assets/token-usage-test-CiZo03fY.js +0 -166
  959. package/bundled-test-harness/assets/tool-field-BXHr9r0w.js +0 -94
  960. package/bundled-test-harness/assets/tool-field-CoRO5C4R.js +0 -2
  961. package/bundled-test-harness/assets/tools-CmVaYDIS.js +0 -725
  962. package/bundled-test-harness/assets/tools-calling-test-B454__XF.js +0 -200
  963. package/bundled-test-harness/assets/tools-test-CLu51dJO.js +0 -1624
  964. package/bundled-test-harness/assets/tools-test-XGRAvVug.js +0 -2820
  965. package/bundled-test-harness/assets/ts-file-def-C05BDwdg.js +0 -159
  966. package/bundled-test-harness/assets/update-room-skills-test-jOvP14JX.js +0 -240
  967. package/bundled-test-harness/assets/url-BFf2CNo-.js +0 -2
  968. package/bundled-test-harness/assets/url-CYm-CeXp.js +0 -96
  969. package/bundled-test-harness/assets/video-file-def-B2UIrOFS.js +0 -76
  970. package/bundled-test-harness/assets/wav-meta-extractor-BNkv7e2f.js +0 -368
  971. package/bundled-test-harness/assets/webm-meta-extractor-C933kYyc.js +0 -178
  972. package/bundled-test-harness/assets/webp-meta-extractor-BLz0z1pZ.js +0 -98
  973. package/bundled-test-harness/assets/website-BuOMUW1v.js +0 -92
  974. package/bundled-test-harness/assets/week-Bo0666ji.js +0 -111
  975. package/bundled-test-harness/assets/week-CaVFA8Vc.js +0 -2
  976. package/bundled-test-harness/assets/welcome-to-boxel-PWard7GF.js +0 -172
  977. package/bundled-test-harness/assets/workspace-KXfFTQNV.js +0 -614
  978. package/bundled-test-harness/assets/workspace-a11y-test-Buwb-rfO.js +0 -197
  979. package/bundled-test-harness/assets/workspace-behavior-test-CbgFUOOo.js +0 -200
  980. package/bundled-test-harness/assets/workspace-chooser-BmQvhhrl.js +0 -2248
  981. package/bundled-test-harness/assets/workspace-chooser-Cu84Gd_E.css +0 -1317
  982. package/bundled-test-harness/assets/workspace-chooser-catalog-order-test-rcRw6sni.js +0 -36
  983. package/bundled-test-harness/assets/workspace-chooser-unreachable-notice-test-DUXnBIdY.js +0 -60
  984. package/bundled-test-harness/assets/workspace-delete-multiple-test-DjRKhZ2g.js +0 -212
  985. package/bundled-test-harness/assets/workspace-delete-summary-test-CvkLVYyN.js +0 -63
  986. package/bundled-test-harness/assets/workspace-timestamp-labels-test-AYJT4inv.js +0 -58
  987. package/bundled-test-harness/assets/xlsx-file-def-DuKdbGrJ.js +0 -60
  988. package/bundled-test-harness/assets/xlsx-meta-extractor-Bz-C2JWP.js +0 -101
  989. package/bundled-test-harness/assets/xlsx-meta-extractor-ClwwgABg.js +0 -2
  990. package/bundled-test-harness/assets/year-B6ctHikl.js +0 -2
  991. package/bundled-test-harness/assets/year-C11uAQE6.js +0 -78
  992. package/bundled-test-harness/assets/zip-file-def-B8XN-OS_.js +0 -288
  993. package/bundled-types/host-app/components/matrix/auth-button.gts +0 -39
  994. package/bundled-types/host-app/components/matrix/auth-container.gts +0 -69
  995. package/bundled-types/host-app/components/matrix/auth-form-field.gts +0 -43
@@ -0,0 +1,1014 @@
1
+ import { s as __toESM } from "./chunk-Rp0pCe6z.js";
2
+ import { r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-BoCBNIsz.js";
3
+ import { Ar as testRealmURL } from "./runtime-common-ClpqhbwG.js";
4
+ import { wt as setComponentTemplate } from "./cache-DtDz7X5V-Wn8jRDfL.js";
5
+ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
6
+ import "./component-BJO47HTh.js";
7
+ import "./template-factory-ds9s0u8l.js";
8
+ import { t as PatchFieldsTool } from "./patch-fields-Be15dUY8.js";
9
+ import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
10
+ import { F as setupLocalIndexing, I as setupOnSave, P as setupIntegrationTestRealm, Q as withHeldSave, lt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-DPQ0j2MD.js";
11
+ import { r as getService } from "./dist-CPfIHBla.js";
12
+ import { h as isCard } from "./field-support-DdQ7XgyM.js";
13
+ import { A as field, H as linksTo, T as containsMany, U as linksToMany, a as CardDef, l as FieldDef, s as Component, w as contains } from "./card-api-Dzje0smT.js";
14
+ import { t as string_default } from "./string-BHZZwNlZ.js";
15
+ import { t as NumberField } from "./number-DZa-fHpu.js";
16
+ //#region tests/integration/tools/patch-fields-test.gts
17
+ var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
18
+ (0, import_qunit.module)("Integration | Command | patch-fields", function(hooks) {
19
+ setupRenderingTest(hooks);
20
+ setupLocalIndexing(hooks);
21
+ setupOnSave(hooks);
22
+ let mockMatrixUtils = setupMockMatrix(hooks, { autostart: true });
23
+ let toolService;
24
+ let AuthorDef;
25
+ let BookDef;
26
+ let store;
27
+ hooks.beforeEach(async function() {
28
+ toolService = getService("tool-service");
29
+ class Coordinates extends FieldDef {
30
+ static {
31
+ decorateFieldV2(this.prototype, "latitude", [field], function() {
32
+ return contains(NumberField);
33
+ });
34
+ }
35
+ #latitude = (initializeDeferredDecorator(this, "latitude"), void 0);
36
+ static {
37
+ decorateFieldV2(this.prototype, "longitude", [field], function() {
38
+ return contains(NumberField);
39
+ });
40
+ }
41
+ #longitude = (initializeDeferredDecorator(this, "longitude"), void 0);
42
+ }
43
+ class Country extends CardDef {
44
+ static {
45
+ decorateFieldV2(this.prototype, "name", [field], function() {
46
+ return contains(string_default);
47
+ });
48
+ }
49
+ #name = (initializeDeferredDecorator(this, "name"), void 0);
50
+ static {
51
+ decorateFieldV2(this.prototype, "code", [field], function() {
52
+ return contains(string_default);
53
+ });
54
+ }
55
+ #code = (initializeDeferredDecorator(this, "code"), void 0);
56
+ }
57
+ class Address extends FieldDef {
58
+ static {
59
+ decorateFieldV2(this.prototype, "street", [field], function() {
60
+ return contains(string_default);
61
+ });
62
+ }
63
+ #street = (initializeDeferredDecorator(this, "street"), void 0);
64
+ static {
65
+ decorateFieldV2(this.prototype, "city", [field], function() {
66
+ return contains(string_default);
67
+ });
68
+ }
69
+ #city = (initializeDeferredDecorator(this, "city"), void 0);
70
+ static {
71
+ decorateFieldV2(this.prototype, "zipCode", [field], function() {
72
+ return contains(string_default);
73
+ });
74
+ }
75
+ #zipCode = (initializeDeferredDecorator(this, "zipCode"), void 0);
76
+ static {
77
+ decorateFieldV2(this.prototype, "coordinates", [field], function() {
78
+ return contains(Coordinates);
79
+ });
80
+ }
81
+ #coordinates = (initializeDeferredDecorator(this, "coordinates"), void 0);
82
+ static {
83
+ decorateFieldV2(this.prototype, "country", [field], function() {
84
+ return linksTo(Country);
85
+ });
86
+ }
87
+ #country = (initializeDeferredDecorator(this, "country"), void 0);
88
+ }
89
+ class Author extends CardDef {
90
+ static {
91
+ decorateFieldV2(this.prototype, "firstName", [field], function() {
92
+ return contains(string_default);
93
+ });
94
+ }
95
+ #firstName = (initializeDeferredDecorator(this, "firstName"), void 0);
96
+ static {
97
+ decorateFieldV2(this.prototype, "lastName", [field], function() {
98
+ return contains(string_default);
99
+ });
100
+ }
101
+ #lastName = (initializeDeferredDecorator(this, "lastName"), void 0);
102
+ static {
103
+ decorateFieldV2(this.prototype, "email", [field], function() {
104
+ return contains(string_default);
105
+ });
106
+ }
107
+ #email = (initializeDeferredDecorator(this, "email"), void 0);
108
+ static {
109
+ decorateFieldV2(this.prototype, "address", [field], function() {
110
+ return contains(Address);
111
+ });
112
+ }
113
+ #address = (initializeDeferredDecorator(this, "address"), void 0);
114
+ static {
115
+ decorateFieldV2(this.prototype, "tags", [field], function() {
116
+ return containsMany(string_default);
117
+ });
118
+ }
119
+ #tags = (initializeDeferredDecorator(this, "tags"), void 0);
120
+ static {
121
+ decorateFieldV2(this.prototype, "bestBook", [field], function() {
122
+ return linksTo(() => Book);
123
+ });
124
+ }
125
+ #bestBook = (initializeDeferredDecorator(this, "bestBook"), void 0);
126
+ static {
127
+ decorateFieldV2(this.prototype, "books", [field], function() {
128
+ return linksToMany(() => Book);
129
+ });
130
+ }
131
+ #books = (initializeDeferredDecorator(this, "books"), void 0);
132
+ static isolated = class Isolated extends Component {
133
+ static {
134
+ setComponentTemplate(templateFactory({
135
+ "id": "nV5lpWlV",
136
+ "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\"],[]]",
137
+ "moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/tools/patch-fields-test.gts",
138
+ "isStrictMode": true
139
+ }), this);
140
+ }
141
+ };
142
+ }
143
+ class Book extends CardDef {
144
+ static {
145
+ decorateFieldV2(this.prototype, "cardTitle", [field], function() {
146
+ return contains(string_default);
147
+ });
148
+ }
149
+ #cardTitle = (initializeDeferredDecorator(this, "cardTitle"), void 0);
150
+ static {
151
+ decorateFieldV2(this.prototype, "isbn", [field], function() {
152
+ return contains(string_default);
153
+ });
154
+ }
155
+ #isbn = (initializeDeferredDecorator(this, "isbn"), void 0);
156
+ static {
157
+ decorateFieldV2(this.prototype, "publishYear", [field], function() {
158
+ return contains(NumberField);
159
+ });
160
+ }
161
+ #publishYear = (initializeDeferredDecorator(this, "publishYear"), void 0);
162
+ static {
163
+ decorateFieldV2(this.prototype, "chapters", [field], function() {
164
+ return containsMany(string_default);
165
+ });
166
+ }
167
+ #chapters = (initializeDeferredDecorator(this, "chapters"), void 0);
168
+ }
169
+ AuthorDef = Author;
170
+ BookDef = Book;
171
+ let johnTheAuthor = new Author({
172
+ firstName: "John",
173
+ lastName: "Doe",
174
+ email: "john@example.com",
175
+ address: new Address({
176
+ street: "123 Main St",
177
+ city: "Anytown",
178
+ zipCode: "12345"
179
+ }),
180
+ tags: ["writer", "programmer"]
181
+ });
182
+ let usa = new Country({
183
+ name: "United States",
184
+ code: "US"
185
+ });
186
+ johnTheAuthor.address.country = usa;
187
+ await setupIntegrationTestRealm({
188
+ mockMatrixUtils,
189
+ contents: {
190
+ "author.gts": {
191
+ Author,
192
+ Address,
193
+ Coordinates,
194
+ Book,
195
+ Country
196
+ },
197
+ "Book/relationship-book.json": new Book({
198
+ cardTitle: "Relationship Book",
199
+ isbn: "123-REL",
200
+ publishYear: 2025,
201
+ chapters: ["Rel 1"]
202
+ }),
203
+ "Book/book-1.json": new Book({
204
+ cardTitle: "Book 1",
205
+ isbn: "111",
206
+ publishYear: 2020,
207
+ chapters: ["A"]
208
+ }),
209
+ "Book/book-2.json": new Book({
210
+ cardTitle: "Book 2",
211
+ isbn: "222",
212
+ publishYear: 2021,
213
+ chapters: ["B"]
214
+ }),
215
+ "Book/test-book.json": new Book({
216
+ cardTitle: "Test Book",
217
+ isbn: "978-0123456789",
218
+ publishYear: 2023,
219
+ chapters: ["Introduction", "Chapter 1"]
220
+ }),
221
+ "Author/john.json": johnTheAuthor,
222
+ "Country/canada.json": new Country({
223
+ name: "Canada",
224
+ code: "CA"
225
+ }),
226
+ "Country/usa.json": usa
227
+ }
228
+ });
229
+ store = getService("store");
230
+ });
231
+ (0, import_qunit.module)("Optimistic persistence behavior", function() {
232
+ (0, import_qunit.test)("the patch hands the save to the background", async function(assert) {
233
+ assert.expect(1);
234
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef });
235
+ let cardId = `${testRealmURL}Author/john`;
236
+ let store = getService("store");
237
+ let patchOptions;
238
+ let originalPatch = store.patch;
239
+ store.patch = async function(id, patch, opts) {
240
+ patchOptions = opts;
241
+ return await originalPatch.call(this, id, patch, opts);
242
+ };
243
+ try {
244
+ await patchFieldsCommand.execute({
245
+ cardId,
246
+ fieldUpdates: { firstName: "Jane Background" }
247
+ });
248
+ } finally {
249
+ store.patch = originalPatch;
250
+ }
251
+ assert.true(patchOptions?.doNotWaitForPersist, "store.patch receives doNotWaitForPersist option");
252
+ });
253
+ (0, import_qunit.test)("patches do not await persistence", async function(assert) {
254
+ assert.expect(7);
255
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef });
256
+ let cardId = `${testRealmURL}Author/john`;
257
+ let store = getService("store");
258
+ let saves = 0;
259
+ this.onSave((url) => {
260
+ if (url.href === cardId) saves++;
261
+ });
262
+ let patchOptions;
263
+ let originalPatch = store.patch;
264
+ store.patch = async function(id, patch, opts) {
265
+ patchOptions = opts;
266
+ return await originalPatch.call(this, id, patch, opts);
267
+ };
268
+ try {
269
+ await withHeldSave(async () => {
270
+ let result = await patchFieldsCommand.execute({
271
+ cardId,
272
+ fieldUpdates: { firstName: "Jane Optimistic" }
273
+ });
274
+ assert.true(result.success, "command succeeds");
275
+ let localCard = store.peek(cardId);
276
+ assert.ok(localCard, "local card is present");
277
+ if (isCard(localCard)) assert.strictEqual(localCard.firstName, "Jane Optimistic", "local card updated immediately");
278
+ else assert.ok(false, "local card should be a card instance");
279
+ assert.strictEqual(saves, 0, "no persistence yet");
280
+ });
281
+ } finally {
282
+ store.patch = originalPatch;
283
+ }
284
+ assert.true(patchOptions?.doNotWaitForPersist, "store.patch receives doNotWaitForPersist option");
285
+ assert.true(saves > 0, `the background save completed (store save state: ${JSON.stringify(store.getSaveState(cardId))})`);
286
+ let persistedCard = await store.get(cardId);
287
+ if (isCard(persistedCard)) assert.strictEqual(persistedCard.firstName, "Jane Optimistic", "change persists after background save completes");
288
+ else assert.ok(false, "persisted card should exist");
289
+ });
290
+ });
291
+ (0, import_qunit.module)("Simple Field Update Tests", function() {
292
+ (0, import_qunit.module)("Relationship Update Tests", function() {
293
+ (0, import_qunit.test)("should update a linksTo relationship field", async function(assert) {
294
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef });
295
+ let bookId = `${testRealmURL}Book/relationship-book`;
296
+ let result = await patchFieldsCommand.execute({
297
+ cardId: `${testRealmURL}Author/john`,
298
+ fieldUpdates: { bestBook: {
299
+ type: "Book",
300
+ id: bookId
301
+ } }
302
+ });
303
+ assert.ok(result, "Result should be defined");
304
+ assert.true(result.success, "Command should succeed");
305
+ assert.deepEqual(result.updatedFields, ["bestBook"], "Updated fields should be correct");
306
+ assert.deepEqual(result.errors, {}, "No errors should be present");
307
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
308
+ if (isCard(updatedCard)) {
309
+ let rel = updatedCard.bestBook;
310
+ assert.ok(rel, "bestBook relationship should exist");
311
+ assert.strictEqual(rel.id, bookId, "bestBook relationship should be updated");
312
+ } else assert.ok(false, "Updated card should exist");
313
+ });
314
+ (0, import_qunit.test)("should update a linksToMany relationship field", async function(assert) {
315
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext);
316
+ let bookId1 = `${testRealmURL}Book/book-1`;
317
+ let bookId2 = `${testRealmURL}Book/book-2`;
318
+ let result = await patchFieldsCommand.execute({
319
+ cardId: `${testRealmURL}Author/john`,
320
+ fieldUpdates: { books: [{
321
+ type: "Book",
322
+ id: bookId1
323
+ }, {
324
+ type: "Book",
325
+ id: bookId2
326
+ }] }
327
+ });
328
+ assert.ok(result, "Result should be defined");
329
+ assert.true(result.success, "Command should succeed");
330
+ assert.deepEqual(result.updatedFields, ["books"], "Updated fields should be correct");
331
+ assert.deepEqual(result.errors, {}, "No errors should be present");
332
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
333
+ if (isCard(updatedCard)) {
334
+ let rel = updatedCard.books;
335
+ assert.ok(rel, "books relationship should exist");
336
+ assert.ok(Array.isArray(rel), "books relationship should be an array");
337
+ if (Array.isArray(rel)) {
338
+ assert.strictEqual(rel[0].id, bookId1, "First book id should match");
339
+ assert.strictEqual(rel[1].id, bookId2, "Second book id should match");
340
+ } else assert.ok(false, "books relationship should be an array");
341
+ } else assert.ok(false, "Updated card should exist");
342
+ });
343
+ (0, import_qunit.test)("should update a nested relationship field (e.g., address.country)", async function(assert) {
344
+ let result = await new PatchFieldsTool(toolService.toolContext).execute({
345
+ cardId: `${testRealmURL}Author/john`,
346
+ fieldUpdates: { "address.country": { id: `${testRealmURL}Country/canada` } }
347
+ });
348
+ assert.ok(result, "Result should be defined");
349
+ assert.true(result.success, "Command should succeed for nested relationship update");
350
+ assert.deepEqual(result.updatedFields, ["address.country"], "Updated fields should include the nested relationship");
351
+ assert.deepEqual(result.errors, {}, "No errors should be present");
352
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
353
+ if (isCard(updatedCard)) {
354
+ let rel = updatedCard.address?.country;
355
+ assert.ok(rel, "Nested country relationship should exist");
356
+ if (rel && typeof rel === "object" && "id" in rel) assert.strictEqual(rel.id, `${testRealmURL}Country/canada`, "Nested country relationship should be updated");
357
+ else assert.ok(false, "Nested country relationship data should have id");
358
+ } else assert.ok(false, "Updated card should exist");
359
+ });
360
+ });
361
+ (0, import_qunit.test)("should update single primitive field", async function(assert) {
362
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
363
+ cardId: `${testRealmURL}Author/john`,
364
+ fieldUpdates: { firstName: "Jane" }
365
+ });
366
+ assert.ok(result, "Result should be defined");
367
+ assert.true(result.success, "Command should succeed");
368
+ assert.deepEqual(result.updatedFields, ["firstName"], "Updated fields should be correct");
369
+ assert.deepEqual(result.errors, {}, "No errors should be present");
370
+ });
371
+ (0, import_qunit.test)("should update multiple primitive fields", async function(assert) {
372
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
373
+ cardId: `${testRealmURL}Author/john`,
374
+ fieldUpdates: {
375
+ firstName: "Jane",
376
+ email: "jane@example.com"
377
+ }
378
+ });
379
+ assert.ok(result, "Result should be defined");
380
+ assert.true(result.success, "Command should succeed");
381
+ assert.deepEqual(result.updatedFields, ["firstName", "email"], "Updated fields should be correct");
382
+ assert.deepEqual(result.errors, {}, "No errors should be present");
383
+ });
384
+ (0, import_qunit.test)("should return success with updated field list", async function(assert) {
385
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
386
+ cardId: `${testRealmURL}Author/john`,
387
+ fieldUpdates: {
388
+ firstName: "Jane",
389
+ lastName: "Smith",
390
+ email: "jane.smith@example.com"
391
+ }
392
+ });
393
+ assert.ok(result, "Result should be defined");
394
+ assert.true(result.success, "Command should succeed");
395
+ assert.deepEqual(result.updatedFields, [
396
+ "firstName",
397
+ "lastName",
398
+ "email"
399
+ ], "Updated fields should include all provided fields");
400
+ assert.deepEqual(result.errors, {}, "No errors should be present");
401
+ });
402
+ (0, import_qunit.test)("should preserve unchanged fields", async function(assert) {
403
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef });
404
+ let originalCard = await store.get(`${testRealmURL}Author/john`);
405
+ if (isCard(originalCard)) {
406
+ assert.strictEqual(originalCard.firstName, "John", "Original firstName should be John");
407
+ assert.strictEqual(originalCard.lastName, "Doe", "Original lastName should be Doe");
408
+ assert.strictEqual(originalCard.email, "john@example.com", "Original email should be john@example.com");
409
+ } else assert.ok(false, "Original card should exist");
410
+ if (isCard(originalCard)) {
411
+ await patchFieldsCommand.execute({
412
+ cardId: `${testRealmURL}Author/john`,
413
+ fieldUpdates: { firstName: "Jane" }
414
+ });
415
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
416
+ if (isCard(updatedCard)) {
417
+ assert.strictEqual(updatedCard.firstName, "Jane", "Updated firstName should be Jane");
418
+ assert.strictEqual(updatedCard.lastName, "Doe", "lastName should remain unchanged");
419
+ assert.strictEqual(updatedCard.email, "john@example.com", "email should remain unchanged");
420
+ } else assert.ok(false, "Updated card should exist");
421
+ }
422
+ });
423
+ });
424
+ (0, import_qunit.module)("Nested Field Update Tests", function() {
425
+ (0, import_qunit.test)("should update nested object field using dot notation", async function(assert) {
426
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
427
+ cardId: `${testRealmURL}Author/john`,
428
+ fieldUpdates: { "address.city": "New York" }
429
+ });
430
+ assert.ok(result, "Result should be defined");
431
+ assert.true(result.success, "Command should succeed");
432
+ assert.deepEqual(result.updatedFields, ["address.city"], "Updated fields should be correct");
433
+ assert.deepEqual(result.errors, {}, "No errors should be present");
434
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
435
+ if (isCard(updatedCard)) {
436
+ assert.strictEqual(updatedCard.address?.city, "New York", "Nested field should be updated");
437
+ assert.strictEqual(updatedCard.address?.street, "123 Main St", "Other nested fields should remain unchanged");
438
+ } else assert.ok(false, "Updated card should exist");
439
+ });
440
+ (0, import_qunit.test)("should update multiple nested fields", async function(assert) {
441
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
442
+ cardId: `${testRealmURL}Author/john`,
443
+ fieldUpdates: {
444
+ "address.city": "San Francisco",
445
+ "address.zipCode": "94102",
446
+ firstName: "Jane"
447
+ }
448
+ });
449
+ assert.ok(result, "Result should be defined");
450
+ assert.true(result.success, "Command should succeed");
451
+ assert.deepEqual(result.updatedFields, [
452
+ "address.city",
453
+ "address.zipCode",
454
+ "firstName"
455
+ ], "Updated fields should be correct");
456
+ assert.deepEqual(result.errors, {}, "No errors should be present");
457
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
458
+ if (isCard(updatedCard)) {
459
+ assert.strictEqual(updatedCard.address?.city, "San Francisco", "Nested city field should be updated");
460
+ assert.strictEqual(updatedCard.address?.zipCode, "94102", "Nested zipCode field should be updated");
461
+ assert.strictEqual(updatedCard.firstName, "Jane", "Top-level firstName should be updated");
462
+ assert.strictEqual(updatedCard.address?.street, "123 Main St", "Unchanged nested field should remain the same");
463
+ } else assert.ok(false, "Updated card should exist");
464
+ });
465
+ (0, import_qunit.test)("should create nested objects if they don't exist", async function(assert) {
466
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef });
467
+ await patchFieldsCommand.execute({
468
+ cardId: `${testRealmURL}Author/john`,
469
+ fieldUpdates: { address: null }
470
+ });
471
+ let result = await patchFieldsCommand.execute({
472
+ cardId: `${testRealmURL}Author/john`,
473
+ fieldUpdates: {
474
+ "address.city": "Boston",
475
+ "address.street": "456 Oak St"
476
+ }
477
+ });
478
+ assert.ok(result, "Result should be defined");
479
+ assert.true(result.success, "Command should succeed");
480
+ assert.deepEqual(result.updatedFields, ["address.city", "address.street"], "Updated fields should be correct");
481
+ assert.deepEqual(result.errors, {}, "No errors should be present");
482
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
483
+ if (isCard(updatedCard)) {
484
+ assert.strictEqual(updatedCard.address?.city, "Boston", "Nested city field should be created and set");
485
+ assert.strictEqual(updatedCard.address?.street, "456 Oak St", "Nested street field should be created and set");
486
+ } else assert.ok(false, "Updated card should exist");
487
+ });
488
+ (0, import_qunit.test)("should handle deep nesting (3+ levels)", async function(assert) {
489
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
490
+ cardId: `${testRealmURL}Author/john`,
491
+ fieldUpdates: {
492
+ "address.coordinates.latitude": 40.7128,
493
+ "address.coordinates.longitude": -74.006
494
+ }
495
+ });
496
+ assert.ok(result, "Result should be defined");
497
+ assert.true(result.success, "Command should succeed");
498
+ assert.deepEqual(result.updatedFields, ["address.coordinates.latitude", "address.coordinates.longitude"], "Updated fields should be correct");
499
+ assert.deepEqual(result.errors, {}, "No errors should be present");
500
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
501
+ if (isCard(updatedCard)) {
502
+ assert.strictEqual(updatedCard.address?.coordinates?.latitude, 40.7128, "Deep nested latitude should be set");
503
+ assert.strictEqual(updatedCard.address?.coordinates?.longitude, -74.006, "Deep nested longitude should be set");
504
+ assert.strictEqual(updatedCard.address?.city, "Anytown", "Existing nested city should be preserved");
505
+ assert.strictEqual(updatedCard.address?.street, "123 Main St", "Existing nested street should be preserved");
506
+ } else assert.ok(false, "Updated card should exist");
507
+ });
508
+ });
509
+ (0, import_qunit.module)("Array Field Update Tests", function() {
510
+ (0, import_qunit.test)("should update array element by index", async function(assert) {
511
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
512
+ cardId: `${testRealmURL}Author/john`,
513
+ fieldUpdates: { "tags[1]": "developer" }
514
+ });
515
+ assert.ok(result, "Result should be defined");
516
+ assert.true(result.success, "Command should succeed");
517
+ assert.deepEqual(result.updatedFields, ["tags[1]"], "Updated fields should be correct");
518
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
519
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, ["writer", "developer"], "Array element should be updated");
520
+ else assert.ok(false, "Updated card should exist");
521
+ });
522
+ (0, import_qunit.test)("should update nested field within array element", async function(assert) {
523
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
524
+ cardId: `${testRealmURL}Author/john`,
525
+ fieldUpdates: { "address.street": "456 Oak Ave" }
526
+ });
527
+ assert.ok(result, "Result should be defined");
528
+ assert.true(result.success, "Command should succeed");
529
+ assert.deepEqual(result.updatedFields, ["address.street"], "Updated fields should be correct");
530
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
531
+ if (isCard(updatedCard)) {
532
+ let address = updatedCard.address;
533
+ assert.strictEqual(address?.street, "456 Oak Ave", "Nested field should be updated");
534
+ assert.strictEqual(address?.city, "Anytown", "Other nested fields should remain unchanged");
535
+ } else assert.ok(false, "Updated card should exist");
536
+ });
537
+ (0, import_qunit.test)("should replace entire array", async function(assert) {
538
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
539
+ cardId: `${testRealmURL}Author/john`,
540
+ fieldUpdates: { tags: [
541
+ "javascript",
542
+ "typescript",
543
+ "react"
544
+ ] }
545
+ });
546
+ assert.ok(result, "Result should be defined");
547
+ assert.true(result.success, "Command should succeed");
548
+ assert.deepEqual(result.updatedFields, ["tags"], "Updated fields should be correct");
549
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
550
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, [
551
+ "javascript",
552
+ "typescript",
553
+ "react"
554
+ ], "Entire array should be replaced");
555
+ else assert.ok(false, "Updated card should exist");
556
+ });
557
+ (0, import_qunit.test)("should add new item to array using push syntax", async function(assert) {
558
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
559
+ cardId: `${testRealmURL}Author/john`,
560
+ fieldUpdates: { "tags[]": "new-tag" }
561
+ });
562
+ assert.ok(result, "Result should be defined");
563
+ assert.true(result.success, "Command should succeed");
564
+ assert.deepEqual(result.updatedFields, ["tags[]"], "Updated fields should be correct");
565
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
566
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, [
567
+ "writer",
568
+ "programmer",
569
+ "new-tag"
570
+ ], "New item should be added to array");
571
+ else assert.ok(false, "Updated card should exist");
572
+ });
573
+ (0, import_qunit.test)("should add new item to array at specific index", async function(assert) {
574
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
575
+ cardId: `${testRealmURL}Author/john`,
576
+ fieldUpdates: { "tags[3]": "new-skill" }
577
+ });
578
+ assert.ok(result, "Result should be defined");
579
+ assert.true(result.success, "Command should succeed");
580
+ assert.deepEqual(result.updatedFields, ["tags[3]"], "Updated fields should be correct");
581
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
582
+ if (isCard(updatedCard)) assert.deepEqual(updatedCard.tags, [
583
+ "writer",
584
+ "programmer",
585
+ null,
586
+ "new-skill"
587
+ ], "Array should be extended with null padding");
588
+ else assert.ok(false, "Updated card should exist");
589
+ });
590
+ (0, import_qunit.test)("should handle mixed array and object updates", async function(assert) {
591
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
592
+ cardId: `${testRealmURL}Author/john`,
593
+ fieldUpdates: {
594
+ firstName: "Jane",
595
+ "address.city": "New City",
596
+ "tags[0]": "updated-writer",
597
+ "tags[]": "new-tag"
598
+ }
599
+ });
600
+ assert.ok(result, "Result should be defined");
601
+ assert.true(result.success, "Command should succeed");
602
+ assert.deepEqual(result.updatedFields, [
603
+ "firstName",
604
+ "address.city",
605
+ "tags[0]",
606
+ "tags[]"
607
+ ], "All updates should be successful");
608
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
609
+ if (isCard(updatedCard)) {
610
+ assert.strictEqual(updatedCard.firstName, "Jane", "Simple field should be updated");
611
+ let address = updatedCard.address;
612
+ assert.strictEqual(address?.city, "New City", "Nested field should be updated");
613
+ let tags = updatedCard.tags;
614
+ assert.strictEqual(tags[0], "updated-writer", "Array element should be updated");
615
+ assert.ok(tags.includes("new-tag"), "New tag should be appended");
616
+ } else assert.ok(false, "Updated card should exist");
617
+ });
618
+ });
619
+ (0, import_qunit.module)("Validation Tests", function() {
620
+ (0, import_qunit.test)("should reject non-existent field paths", async function(assert) {
621
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
622
+ cardId: `${testRealmURL}Author/john`,
623
+ fieldUpdates: { nonExistentField: "some value" }
624
+ });
625
+ assert.ok(result, "Result should be defined");
626
+ assert.false(result.success, "Command should fail for invalid field");
627
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
628
+ assert.ok(Object.keys(result.errors).includes("nonExistentField"), "Error should be reported for invalid field");
629
+ });
630
+ (0, import_qunit.test)("should reject invalid field types", async function(assert) {
631
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
632
+ cardId: `${testRealmURL}Author/john`,
633
+ fieldUpdates: { "firstName.invalid": "some value" }
634
+ });
635
+ assert.ok(result, "Result should be defined");
636
+ assert.false(result.success, "Command should fail for invalid nested path");
637
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
638
+ assert.ok(Object.keys(result.errors).includes("firstName.invalid"), "Error should be reported for invalid nested field");
639
+ });
640
+ (0, import_qunit.test)("should validate array bounds for existing arrays", async function(assert) {
641
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
642
+ cardId: `${testRealmURL}Author/john`,
643
+ fieldUpdates: { "tags[150]": "invalid-index" }
644
+ });
645
+ assert.ok(result, "Result should be defined");
646
+ assert.false(result.success, "Command should fail due to unreasonable array index");
647
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
648
+ assert.ok(result.errors, "Errors should be present");
649
+ assert.ok(result.errors["tags[150]"], "Error should be reported for tags[150]");
650
+ assert.ok(result.errors["tags[150]"].includes("too far beyond current array length"), "Should report array bounds error");
651
+ });
652
+ (0, import_qunit.test)("should validate relationship field constraints", async function(assert) {
653
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
654
+ cardId: `${testRealmURL}Author/john`,
655
+ fieldUpdates: {
656
+ nonExistentRelation: "http://example.com/some-card",
657
+ anotherRelation: "invalid-relationship-value"
658
+ }
659
+ });
660
+ assert.ok(result, "Result should be defined");
661
+ assert.false(result.success, "Command should fail for non-existent relationship fields");
662
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
663
+ assert.ok(result.errors, "Errors should be present");
664
+ assert.ok(result.errors.nonExistentRelation, "Should report error for nonExistentRelation");
665
+ assert.ok(result.errors.anotherRelation, "Should report error for anotherRelation");
666
+ });
667
+ });
668
+ (0, import_qunit.module)("Partial Success Tests", function() {
669
+ (0, import_qunit.test)("should update valid fields when some fields fail", async function(assert) {
670
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
671
+ cardId: `${testRealmURL}Author/john`,
672
+ fieldUpdates: {
673
+ firstName: "Jane",
674
+ invalidField: "some value",
675
+ email: "jane@example.com"
676
+ }
677
+ });
678
+ assert.ok(result, "Result should be defined");
679
+ assert.true(result.success, "Command should report success for partial updates");
680
+ assert.ok(result.updatedFields.includes("firstName"), "Valid firstName field should be updated");
681
+ assert.ok(result.updatedFields.includes("email"), "Valid email field should be updated");
682
+ assert.notOk(result.updatedFields.includes("invalidField"), "Invalid field should not be in updated list");
683
+ assert.ok(Object.keys(result.errors).includes("invalidField"), "Error should be reported for invalid field");
684
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
685
+ if (isCard(updatedCard)) {
686
+ assert.strictEqual(updatedCard.firstName, "Jane", "firstName should be updated");
687
+ assert.strictEqual(updatedCard.email, "jane@example.com", "email should be updated");
688
+ } else assert.ok(false, "Updated card should exist");
689
+ });
690
+ (0, import_qunit.test)("should report successful and failed fields separately", async function(assert) {
691
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
692
+ cardId: `${testRealmURL}Author/john`,
693
+ fieldUpdates: {
694
+ firstName: "Jane",
695
+ invalidField: "some value",
696
+ email: "jane@example.com",
697
+ "invalid.nested.field": "invalid"
698
+ }
699
+ });
700
+ assert.ok(result, "Result should be defined");
701
+ assert.true(result.success, "Command should report success for partial updates");
702
+ assert.deepEqual(result.updatedFields.sort(), ["firstName", "email"].sort(), "Should report successful field updates");
703
+ assert.ok(result.errors, "Should have errors object");
704
+ assert.ok(result.errors.invalidField, "Should report error for invalidField");
705
+ assert.ok(result.errors["invalid.nested.field"], "Should report error for invalid nested field");
706
+ assert.notOk(result.errors.firstName, "Successful fields should not have errors");
707
+ assert.notOk(result.errors.email, "Successful fields should not have errors");
708
+ });
709
+ (0, import_qunit.test)("should return success=true for partial success", async function(assert) {
710
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
711
+ cardId: `${testRealmURL}Author/john`,
712
+ fieldUpdates: {
713
+ firstName: "Jane",
714
+ invalidField: "some value"
715
+ }
716
+ });
717
+ assert.ok(result, "Result should be defined");
718
+ assert.true(result.success, "Command should return success=true when some fields succeed");
719
+ assert.deepEqual(result.updatedFields, ["firstName"], "Should update valid fields");
720
+ assert.ok(result.errors.invalidField, "Should report error for invalid field");
721
+ });
722
+ (0, import_qunit.test)("should return success=false when no fields update", async function(assert) {
723
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
724
+ cardId: `${testRealmURL}Author/john`,
725
+ fieldUpdates: {
726
+ invalidField1: "some value",
727
+ invalidField2: "another value",
728
+ "nonexistent.field": "value"
729
+ }
730
+ });
731
+ assert.ok(result, "Result should be defined");
732
+ assert.false(result.success, "Command should return success=false when no fields succeed");
733
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
734
+ assert.ok(result.errors, "Should have errors object");
735
+ assert.ok(result.errors.invalidField1, "Should report error for invalidField1");
736
+ assert.ok(result.errors.invalidField2, "Should report error for invalidField2");
737
+ assert.ok(result.errors["nonexistent.field"], "Should report error for nonexistent.field");
738
+ });
739
+ });
740
+ (0, import_qunit.module)("Error Handling Tests", function() {
741
+ (0, import_qunit.test)("should handle card not found error", async function(assert) {
742
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
743
+ cardId: `${testRealmURL}Author/nonexistent`,
744
+ fieldUpdates: { firstName: "Jane" }
745
+ });
746
+ assert.ok(result, "Result should be defined");
747
+ assert.false(result.success, "Command should fail for non-existent card");
748
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
749
+ assert.ok(Object.keys(result.errors).includes("firstName"), "Error should be reported for the attempted update");
750
+ assert.ok(result.errors.firstName.includes("Card not found"), "Error message should indicate card not found");
751
+ });
752
+ (0, import_qunit.test)("should provide detailed error messages for invalid fields", async function(assert) {
753
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
754
+ cardId: `${testRealmURL}Author/john`,
755
+ fieldUpdates: {
756
+ "invalid.nested.field": "some value",
757
+ "another.bad.field": "another value"
758
+ }
759
+ });
760
+ assert.ok(result, "Result should be defined");
761
+ assert.false(result.success, "Command should fail for invalid fields");
762
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
763
+ assert.ok(Object.keys(result.errors).includes("invalid.nested.field"), "Error should be reported for first invalid field");
764
+ assert.ok(Object.keys(result.errors).includes("another.bad.field"), "Error should be reported for second invalid field");
765
+ assert.ok(result.errors["invalid.nested.field"].includes("Invalid field path"), "Error message should indicate invalid field path");
766
+ });
767
+ (0, import_qunit.test)("should handle array index out of bounds when updating existing items", async function(assert) {
768
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
769
+ cardId: `${testRealmURL}Author/john`,
770
+ fieldUpdates: { "tags[200]": "way-out-of-bounds" }
771
+ });
772
+ assert.ok(result, "Result should be defined");
773
+ assert.false(result.success, "Command should fail for unreasonably high array indices");
774
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
775
+ assert.ok(result.errors, "Errors should be present");
776
+ assert.ok(result.errors["tags[200]"], "Should report error for out of bounds index");
777
+ assert.ok(result.errors["tags[200]"].includes("too far beyond"), "Should report bounds checking error");
778
+ });
779
+ (0, import_qunit.test)("should allow adding beyond current array bounds (append behavior)", async function(assert) {
780
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
781
+ cardId: `${testRealmURL}Author/john`,
782
+ fieldUpdates: { "tags[5]": "reasonable-extension" }
783
+ });
784
+ assert.ok(result, "Result should be defined");
785
+ assert.true(result.success, "Command should succeed for reasonable array extensions");
786
+ assert.deepEqual(result.updatedFields, ["tags[5]"], "Array extension should be successful");
787
+ assert.deepEqual(result.errors, {}, "No errors should occur");
788
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
789
+ if (isCard(updatedCard)) {
790
+ let tags = updatedCard.tags;
791
+ assert.strictEqual(tags.length, 6, "Array should be extended");
792
+ assert.strictEqual(tags[5], "reasonable-extension", "Value should be set");
793
+ assert.strictEqual(tags[2], null, "Padding should be null");
794
+ }
795
+ });
796
+ (0, import_qunit.test)("should handle null reference in field paths", async function(assert) {
797
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
798
+ cardId: `${testRealmURL}Author/john`,
799
+ fieldUpdates: {
800
+ "address.coordinates.latitude": 42.3601,
801
+ "address.coordinates.longitude": -71.0589
802
+ }
803
+ });
804
+ assert.ok(result, "Result should be defined");
805
+ assert.true(result.success, "Command should handle null references by creating objects");
806
+ assert.deepEqual(result.updatedFields.sort(), ["address.coordinates.latitude", "address.coordinates.longitude"].sort(), "Deep paths should be created successfully");
807
+ assert.deepEqual(result.errors, {}, "No errors should occur");
808
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
809
+ if (isCard(updatedCard)) {
810
+ let coordinates = updatedCard.address?.coordinates;
811
+ assert.strictEqual(coordinates?.latitude, 42.3601, "Latitude should be set");
812
+ assert.strictEqual(coordinates?.longitude, -71.0589, "Longitude should be set");
813
+ }
814
+ });
815
+ (0, import_qunit.test)("should handle malformed field paths", async function(assert) {
816
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
817
+ cardId: `${testRealmURL}Author/john`,
818
+ fieldUpdates: {
819
+ "": "empty-path",
820
+ ".invalid": "starts-with-dot",
821
+ "field.": "ends-with-dot",
822
+ "field..nested": "double-dot",
823
+ "field[": "unclosed-bracket",
824
+ "field]": "unopened-bracket"
825
+ }
826
+ });
827
+ assert.ok(result, "Result should be defined");
828
+ assert.false(result.success, "Command should fail for malformed paths");
829
+ assert.deepEqual(result.updatedFields, [], "No fields should be updated");
830
+ assert.ok(result.errors, "Errors should be present");
831
+ assert.ok(result.errors[""], "Should report error for empty path");
832
+ assert.ok(result.errors[".invalid"], "Should report error for path starting with dot");
833
+ assert.ok(result.errors["field."], "Should report error for path ending with dot");
834
+ assert.ok(result.errors["field..nested"], "Should report error for double dots");
835
+ assert.ok(result.errors["field["], "Should report error for unclosed bracket");
836
+ assert.ok(result.errors["field]"], "Should report error for unopened bracket");
837
+ });
838
+ });
839
+ (0, import_qunit.module)("Field Path Parsing Tests", function() {
840
+ (0, import_qunit.test)("should parse simple field paths", async function(assert) {
841
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
842
+ cardId: `${testRealmURL}Author/john`,
843
+ fieldUpdates: {
844
+ firstName: "Jane",
845
+ lastName: "Smith",
846
+ email: "jane@example.com"
847
+ }
848
+ });
849
+ assert.ok(result, "Result should be defined");
850
+ assert.true(result.success, "Command should succeed with simple field paths");
851
+ assert.deepEqual(result.updatedFields.sort(), [
852
+ "firstName",
853
+ "lastName",
854
+ "email"
855
+ ].sort(), "All simple fields should be parsed and updated correctly");
856
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
857
+ });
858
+ (0, import_qunit.test)("should parse dot notation paths", async function(assert) {
859
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
860
+ cardId: `${testRealmURL}Author/john`,
861
+ fieldUpdates: {
862
+ "address.street": "456 Oak Ave",
863
+ "address.city": "New City",
864
+ "address.coordinates.latitude": 40.7128,
865
+ "address.coordinates.longitude": -74.006
866
+ }
867
+ });
868
+ assert.ok(result, "Result should be defined");
869
+ assert.true(result.success, "Command should succeed with dot notation paths");
870
+ assert.deepEqual(result.updatedFields.sort(), [
871
+ "address.street",
872
+ "address.city",
873
+ "address.coordinates.latitude",
874
+ "address.coordinates.longitude"
875
+ ].sort(), "All dot notation fields should be parsed and updated correctly");
876
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
877
+ });
878
+ (0, import_qunit.test)("should parse array index paths", async function(assert) {
879
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
880
+ cardId: `${testRealmURL}Author/john`,
881
+ fieldUpdates: {
882
+ "tags[0]": "updated-writer",
883
+ "tags[1]": "updated-programmer",
884
+ "tags[]": "new-skill"
885
+ }
886
+ });
887
+ assert.ok(result, "Result should be defined");
888
+ assert.true(result.success, "Command should succeed with array index paths");
889
+ assert.deepEqual(result.updatedFields.sort(), [
890
+ "tags[0]",
891
+ "tags[1]",
892
+ "tags[]"
893
+ ].sort(), "All array index fields should be parsed and updated correctly");
894
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
895
+ });
896
+ (0, import_qunit.test)("should parse array append operations (e.g., \"tags[]\" or \"tags[-1]\")", async function(assert) {
897
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
898
+ cardId: `${testRealmURL}Author/john`,
899
+ fieldUpdates: {
900
+ "tags[]": "appended-skill",
901
+ "tags[-1]": "special-append"
902
+ }
903
+ });
904
+ assert.ok(result, "Result should be defined");
905
+ assert.true(result.success, "Command should succeed with array append operations");
906
+ assert.deepEqual(result.updatedFields.sort(), ["tags[]", "tags[-1]"].sort(), "All append operations should be parsed and executed correctly");
907
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
908
+ let updatedCard = await store.get(`${testRealmURL}Author/john`);
909
+ if (isCard(updatedCard)) {
910
+ let tags = updatedCard.tags;
911
+ assert.ok(tags.includes("appended-skill"), "Empty brackets append should work");
912
+ assert.ok(tags.includes("special-append"), "-1 index append should work");
913
+ assert.ok(tags.length >= 4, "Array should have grown");
914
+ }
915
+ });
916
+ (0, import_qunit.test)("should parse complex mixed paths", async function(assert) {
917
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
918
+ cardId: `${testRealmURL}Author/john`,
919
+ fieldUpdates: {
920
+ firstName: "John",
921
+ "address.street": "123 Main St",
922
+ "tags[0]": "updated-tag",
923
+ "address.coordinates.latitude": 40.7589
924
+ }
925
+ });
926
+ assert.ok(result, "Result should be defined");
927
+ assert.true(result.success, "Command should succeed with complex mixed paths");
928
+ assert.deepEqual(result.updatedFields.sort(), [
929
+ "firstName",
930
+ "address.street",
931
+ "tags[0]",
932
+ "address.coordinates.latitude"
933
+ ].sort(), "All complex mixed paths should be parsed correctly");
934
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur");
935
+ });
936
+ (0, import_qunit.test)("should handle edge cases in parsing", async function(assert) {
937
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).execute({
938
+ cardId: `${testRealmURL}Author/john`,
939
+ fieldUpdates: {
940
+ "tags[0]": "single-char-tag",
941
+ firstName: "X"
942
+ }
943
+ });
944
+ assert.ok(result, "Result should be defined");
945
+ assert.true(result.success, "Command should succeed with edge cases");
946
+ assert.deepEqual(result.updatedFields.sort(), ["tags[0]", "firstName"].sort(), "Edge case paths should be parsed correctly");
947
+ assert.deepEqual(result.errors, {}, "No parsing errors should occur for valid edge cases");
948
+ });
949
+ });
950
+ (0, import_qunit.module)("Schema Generation Tests", function() {
951
+ (0, import_qunit.test)("should generate correct JSON schema for card type", async function(assert) {
952
+ let schema = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).getInputJsonSchema();
953
+ assert.ok(schema, "Schema should be generated");
954
+ assert.ok(schema.attributes, "Schema should have attributes");
955
+ assert.ok(schema.attributes.properties, "Schema attributes should have properties");
956
+ assert.ok(schema.attributes.properties.cardId, "Schema should include cardId field");
957
+ assert.ok(schema.attributes.properties.fieldUpdates, "Schema should include fieldUpdates field");
958
+ let fieldUpdatesSchema = schema.attributes.properties.fieldUpdates;
959
+ assert.ok(fieldUpdatesSchema.properties, "FieldUpdates should have properties based on card type");
960
+ assert.ok(fieldUpdatesSchema.properties.firstName, "Should include firstName field from Author card");
961
+ assert.ok(fieldUpdatesSchema.properties.lastName, "Should include lastName field from Author card");
962
+ assert.ok(fieldUpdatesSchema.properties.email, "Should include email field from Author card");
963
+ });
964
+ (0, import_qunit.test)("should include field descriptions in schema", async function(assert) {
965
+ let schema = await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).getInputJsonSchema();
966
+ assert.ok(schema.attributes.properties.cardId.description, "cardId field should have description");
967
+ assert.ok(schema.attributes.properties.fieldUpdates.description, "fieldUpdates field should have description");
968
+ assert.strictEqual(schema.attributes.properties.cardId.description, "The ID of the card to update", "cardId should have correct description");
969
+ assert.strictEqual(schema.attributes.properties.fieldUpdates.description, "Object containing field paths and their new values", "fieldUpdates should have correct description");
970
+ });
971
+ (0, import_qunit.test)("should support nested field schemas", async function(assert) {
972
+ let fieldUpdatesSchema = (await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).getInputJsonSchema()).attributes.properties.fieldUpdates;
973
+ assert.ok(fieldUpdatesSchema.properties.address, "Should include address field for nested updates");
974
+ assert.true(fieldUpdatesSchema.additionalProperties, "Should allow additional properties for nested field paths");
975
+ });
976
+ (0, import_qunit.test)("should handle array field schemas", async function(assert) {
977
+ let fieldUpdatesSchema = (await new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef }).getInputJsonSchema()).attributes.properties.fieldUpdates;
978
+ assert.ok(fieldUpdatesSchema.properties.tags, "Should include tags array field");
979
+ assert.true(fieldUpdatesSchema.additionalProperties, "Should allow additional properties for array field paths");
980
+ });
981
+ });
982
+ (0, import_qunit.module)("Dynamic Field Validation Tests", function() {
983
+ (0, import_qunit.test)("should work with different card types (not just hardcoded Author fields)", async function(assert) {
984
+ let result = await new PatchFieldsTool(toolService.toolContext, { cardType: BookDef }).execute({
985
+ cardId: `${testRealmURL}Book/test-book`,
986
+ fieldUpdates: { cardTitle: "Updated Book Title" }
987
+ });
988
+ assert.true(result.success, "Should successfully validate and update Book fields with dynamic validation");
989
+ assert.strictEqual(result.updatedFields.length, 1, "Should update the title field");
990
+ assert.strictEqual(result.updatedFields[0], "cardTitle", "Should update the cardTitle field");
991
+ assert.deepEqual(result.errors, {}, "Should have no validation errors");
992
+ });
993
+ (0, import_qunit.test)("should now accept fields that would have been rejected by hardcoded validation", async function(assert) {
994
+ let patchFieldsCommand = new PatchFieldsTool(toolService.toolContext, { cardType: AuthorDef });
995
+ let result = await patchFieldsCommand.execute({
996
+ cardId: `${testRealmURL}Author/john`,
997
+ fieldUpdates: {
998
+ firstName: "Updated John",
999
+ lastName: "Updated Doe"
1000
+ }
1001
+ });
1002
+ assert.true(result.success, "Should successfully validate existing Author fields");
1003
+ assert.deepEqual(result.updatedFields.sort(), ["firstName", "lastName"].sort(), "Should update valid Author fields");
1004
+ assert.deepEqual(result.errors, {}, "Should have no validation errors for valid fields");
1005
+ let invalidResult = await patchFieldsCommand.execute({
1006
+ cardId: `${testRealmURL}Author/john`,
1007
+ fieldUpdates: { invalidField: "Some value" }
1008
+ });
1009
+ assert.false(invalidResult.success, "Should reject truly invalid fields");
1010
+ assert.ok(invalidResult.errors.invalidField?.includes("Invalid field path"), `Should get validation error for truly invalid field, got: ${invalidResult.errors.invalidField}`);
1011
+ });
1012
+ });
1013
+ });
1014
+ //#endregion