@cardstack/boxel-cli 0.3.2-unstable.59 → 0.3.2-unstable.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.ts +3 -3
- package/bundled-realms/base/command.gts +73 -0
- package/bundled-test-harness/assets/adapter-TgpmkD23.js +2 -0
- package/bundled-test-harness/assets/add-field-to-card-definition-command-test-BVVD6_Wq.js +111 -0
- package/bundled-test-harness/assets/add-workspace-test-BvvYJ2Fk.js +71 -0
- package/bundled-test-harness/assets/ai-assistant-Ba_RBqf6.js +129 -0
- package/bundled-test-harness/assets/ai-assistant-panel-service-test-DK87n1hh.js +95 -0
- package/bundled-test-harness/assets/ai-assistant-test-CZATBlJS.js +2137 -0
- package/bundled-test-harness/assets/ai-function-generation-test-e58MHziu.js +996 -0
- package/bundled-test-harness/assets/ai-module-creation-test-CEieL3Fa.js +150 -0
- package/bundled-test-harness/assets/aibot-message-DhTbAqNk.js +1185 -0
- package/bundled-test-harness/assets/amd-transpile-test-CSk5COu7.js +425 -0
- package/bundled-test-harness/assets/app-Btfy4HWI.js +21464 -0
- package/bundled-test-harness/assets/apply-boxel-formatting-test-BHTP9NBp.js +134 -0
- package/bundled-test-harness/assets/apply-markdown-edit-test-BETCndeK.js +230 -0
- package/bundled-test-harness/assets/apply-search-replace-block-test-KNolar0-.js +630 -0
- package/bundled-test-harness/assets/arc-CA8yZ0zo.js +199 -0
- package/bundled-test-harness/assets/architecture-7EHR7CIX-C5JFMGdb.js +3 -0
- package/bundled-test-harness/assets/architectureDiagram-3BPJPVTR-CmVPjKgm.js +7400 -0
- package/bundled-test-harness/assets/auth-error-guard-test-D0rKESg_.js +30 -0
- package/bundled-test-harness/assets/auth-service-worker-test-DGg_vbKo.js +538 -0
- package/bundled-test-harness/assets/authed-fetch-test-CHF3eh_H.js +75 -0
- package/bundled-test-harness/assets/avif-image-def-test-p9tiyh4_.js +186 -0
- package/bundled-test-harness/assets/base-realm-Chjzrp6m.js +2 -0
- package/bundled-test-harness/assets/base-realm-DpSTsZxD.js +140 -0
- package/bundled-test-harness/assets/basic-test-D7qEz4hw.js +128 -0
- package/bundled-test-harness/assets/bfm-card-references-test-D-m1YnL8.js +577 -0
- package/bundled-test-harness/assets/binary-upload-dedupe-test-8RKK73EG.js +308 -0
- package/bundled-test-harness/assets/blockDiagram-GPEHLZMM-BdVFTa2C.js +4355 -0
- package/bundled-test-harness/assets/bot-registration-test-9zYny2wR.js +99 -0
- package/bundled-test-harness/assets/box-test-0T92xi3A.js +51 -0
- package/bundled-test-harness/assets/brand-guide-attachments-test-5ZtPn4cC.js +87 -0
- package/bundled-test-harness/assets/brand-guide-custom-css-test-CKKSgKyp.js +135 -0
- package/bundled-test-harness/assets/brand-logo-mark-field-test-nlNNQ3rw.js +87 -0
- package/bundled-test-harness/assets/broken-link-template-test-BGIExVof.js +345 -0
- package/bundled-test-harness/assets/browser-index-BaR-gTqG.js +3 -0
- package/bundled-test-harness/assets/browser-index-G4NKYBAj.js +8802 -0
- package/bundled-test-harness/assets/c4Diagram-AAUBKEIU-DyugX7zz.js +3764 -0
- package/bundled-test-harness/assets/cached-fetch-test-MtqvDphJ.js +93 -0
- package/bundled-test-harness/assets/can-read-realm-test-BZmwIOqS.js +58 -0
- package/bundled-test-harness/assets/cancel-indexing-job-test-BsQtQbDu.js +71 -0
- package/bundled-test-harness/assets/card-api-test-BxQ8f0-c.js +196 -0
- package/bundled-test-harness/assets/card-basics-test-B-uBZ8o4.js +4895 -0
- package/bundled-test-harness/assets/card-catalog-test-YmwmyIKf.js +377 -0
- package/bundled-test-harness/assets/card-copy-test-LoqdH1CQ.js +777 -0
- package/bundled-test-harness/assets/card-def-field-def-relationships-test-DvtBA1jv.js +560 -0
- package/bundled-test-harness/assets/card-def-menu-items-test-DHnd0LuM.js +182 -0
- package/bundled-test-harness/assets/card-delete-test-vKF0Jf1X.js +412 -0
- package/bundled-test-harness/assets/card-directory-name-test-CbCuPwSz.js +71 -0
- package/bundled-test-harness/assets/card-playground-test-CRIP3b5-.js +1497 -0
- package/bundled-test-harness/assets/card-prerender-ClYlSOBU.js +12661 -0
- package/bundled-test-harness/assets/card-search-adorn-test-Mggk5ZgY.js +128 -0
- package/bundled-test-harness/assets/card-search-query-builder-test-Cdl12s50.js +88 -0
- package/bundled-test-harness/assets/card-search-selection-menu-test-CtuCCLoB.js +108 -0
- package/bundled-test-harness/assets/channel-BKUMepxs.js +8 -0
- package/bundled-test-harness/assets/check-correctness-test-DBh8DT_f.js +252 -0
- package/bundled-test-harness/assets/chunk-2J33WTMH-ClrRoNQU.js +31 -0
- package/bundled-test-harness/assets/chunk-3OPIFGDE-g_0Oh8jN.js +5548 -0
- package/bundled-test-harness/assets/chunk-4BX2VUAB-D2LCc7Y9.js +11 -0
- package/bundled-test-harness/assets/chunk-4EGX6M5U-D8vRS5IG.js +44 -0
- package/bundled-test-harness/assets/chunk-55IACEB6-C5j4VAmb.js +10 -0
- package/bundled-test-harness/assets/chunk-5DO6E6H7-CPb3jsP0.js +27 -0
- package/bundled-test-harness/assets/chunk-5ZQYHXKU-BlVb7vgG.js +1767 -0
- package/bundled-test-harness/assets/chunk-727SXJPM-C_NVCDMC.js +3877 -0
- package/bundled-test-harness/assets/chunk-AQP2D5EJ-CpwrMix_.js +2622 -0
- package/bundled-test-harness/assets/chunk-BR22UD5L-AF0NWdjT.js +85 -0
- package/bundled-test-harness/assets/chunk-BSJP7CBP-Dgun5vYb.js +114 -0
- package/bundled-test-harness/assets/chunk-CSCIHK7Q-D7nFiAZ-.js +6144 -0
- package/bundled-test-harness/assets/chunk-FHYWG6QK-2nuXS9PL.js +27 -0
- package/bundled-test-harness/assets/chunk-FMBD7UC4-O-Y8VK1S.js +20 -0
- package/bundled-test-harness/assets/chunk-KSCS5N6A-Du5-DprU.js +871 -0
- package/bundled-test-harness/assets/chunk-L5ZTLDWV-C2lDtkix.js +43 -0
- package/bundled-test-harness/assets/chunk-LZXEDZCA-qAMsMZkF.js +65 -0
- package/bundled-test-harness/assets/chunk-MPE355IW-DcT_60Oq.js +27 -0
- package/bundled-test-harness/assets/chunk-MZUSXYTE-BsH_YmnC.js +36 -0
- package/bundled-test-harness/assets/chunk-N66VUXT2-DMyMHgoS.js +70 -0
- package/bundled-test-harness/assets/chunk-ND2GUHAM-DO1Znn8O.js +93 -0
- package/bundled-test-harness/assets/chunk-NZK2D7GU-B1YWBxHm.js +89 -0
- package/bundled-test-harness/assets/chunk-O5CBEL6O-CZVSBsRq.js +2395 -0
- package/bundled-test-harness/assets/chunk-PUPMXCY4-DzOK-Vbt.js +27 -0
- package/bundled-test-harness/assets/chunk-QZHKN3VN-DJFnRn99.js +20 -0
- package/bundled-test-harness/assets/chunk-UIBZB4QT-5KIxBxjk.js +27 -0
- package/bundled-test-harness/assets/chunk-WCWK7LTN-BsQwhliq.js +36 -0
- package/bundled-test-harness/assets/chunk-WU5MYG2G-DUVb5MAo.js +12 -0
- package/bundled-test-harness/assets/chunk-XPW4576I-DLaJYAOU.js +2341 -0
- package/bundled-test-harness/assets/classDiagram-4FO5ZUOK-DjP2uozG.js +31 -0
- package/bundled-test-harness/assets/classDiagram-v2-Q7XG4LA2-Dt6ps5uz.js +31 -0
- package/bundled-test-harness/assets/code-equality-assertion-BBezFT13.js +474 -0
- package/bundled-test-harness/assets/code-patches-test-DzoQGARM.js +1128 -0
- package/bundled-test-harness/assets/code-patching-test-D8r-pJ5w.js +114 -0
- package/bundled-test-harness/assets/code-ref-test-DU3HChNz.js +138 -0
- package/bundled-test-harness/assets/code-semantics-service-test-DArUotKy.js +65 -0
- package/bundled-test-harness/assets/code-submode-test-h5wWKsz2.js +1762 -0
- package/bundled-test-harness/assets/codeblocks-test-FbuwTy5v.js +492 -0
- package/bundled-test-harness/assets/codemirror-context-DVlC9C78.js +2 -0
- package/bundled-test-harness/assets/codemirror-editor-test-JDT9uwqM.js +1176 -0
- package/bundled-test-harness/assets/color-field-test-BssRlQAX.js +213 -0
- package/bundled-test-harness/assets/command-definitions-test-J21kOxBs.js +72 -0
- package/bundled-test-harness/assets/commands-DAo0DgCX.js +1379 -0
- package/bundled-test-harness/assets/commands-calling-test-C3deVvv_.js +200 -0
- package/bundled-test-harness/assets/commands-test--0zViqs2.js +1041 -0
- package/bundled-test-harness/assets/commands-test-BwNn2npL.js +1145 -0
- package/bundled-test-harness/assets/computed-test-BD_KrZmc.js +882 -0
- package/bundled-test-harness/assets/container-C8gu0I0Q.js +14605 -0
- package/bundled-test-harness/assets/convert-to-class-name-test-CX21VRzM.js +17 -0
- package/bundled-test-harness/assets/copy-and-edit-test-BUy_o8XJ.js +291 -0
- package/bundled-test-harness/assets/copy-card-test-LWbugEPe.js +156 -0
- package/bundled-test-harness/assets/copy-file-to-realm-test-BS25EUGV.js +99 -0
- package/bundled-test-harness/assets/copy-source-test-Dh33cqM8.js +56 -0
- package/bundled-test-harness/assets/cose-bilkent-S5V4N54A-CjAFDdpS.js +4275 -0
- package/bundled-test-harness/assets/create-file-test-DOc3YYij.js +963 -0
- package/bundled-test-harness/assets/create-file-test-DgUya7-i.js +397 -0
- package/bundled-test-harness/assets/create-listing-modal-test-DZxZBYS7.js +194 -0
- package/bundled-test-harness/assets/create-listing-pr-request-Aw0ms76l.js +64 -0
- package/bundled-test-harness/assets/create-listing-pr-request-test-CFvqkgky.js +117 -0
- package/bundled-test-harness/assets/create-spec-test-BTRt8oe8.js +239 -0
- package/bundled-test-harness/assets/csv-file-def-test-BVffg8wL.js +101 -0
- package/bundled-test-harness/assets/dagre-BM42HDAG-GoRrN65x.js +606 -0
- package/bundled-test-harness/assets/dagre-ByxOOmYM.js +4195 -0
- package/bundled-test-harness/assets/date-time-fields-test-BEcfCqgB.js +322 -0
- package/bundled-test-harness/assets/debug-message-test-CAxbe6x2.js +119 -0
- package/bundled-test-harness/assets/diagram-2AECGRRQ-B6-pvp9H.js +279 -0
- package/bundled-test-harness/assets/diagram-5GNKFQAL-C9M7hXIc.js +142 -0
- package/bundled-test-harness/assets/diagram-KO2AKTUF-BNJvCLGK.js +551 -0
- package/bundled-test-harness/assets/diagram-LMA3HP47-hlJyTtqP.js +184 -0
- package/bundled-test-harness/assets/diagram-OG6HWLK6-BvPoB3IH.js +857 -0
- package/bundled-test-harness/assets/diffing-test-De9Ev_Fr.js +210 -0
- package/bundled-test-harness/assets/dist-BsEojs3T.js +232 -0
- package/bundled-test-harness/assets/dist-CY3T64Hs.js +105 -0
- package/bundled-test-harness/assets/dist-q2xz8RMj.js +2 -0
- package/bundled-test-harness/assets/editor-test-DOI_TvWQ.js +551 -0
- package/bundled-test-harness/assets/editor.main-CpuM6HrX.js +43566 -0
- package/bundled-test-harness/assets/editor.main-DkMgS1qm.js +3 -0
- package/bundled-test-harness/assets/email-field-test-t-80Z94b.js +74 -0
- package/bundled-test-harness/assets/enum-field-test-DVp-2pip.js +909 -0
- package/bundled-test-harness/assets/erDiagram-TEJ5UH35-CYniRkua.js +2041 -0
- package/bundled-test-harness/assets/error-display-test-IuRxKyLz.js +343 -0
- package/bundled-test-harness/assets/evaluate-module-test-DdnfbFp-.js +66 -0
- package/bundled-test-harness/assets/eventmodeling-FCH6USID-BO089-Cs.js +3 -0
- package/bundled-test-harness/assets/execute-atomic-operations-test-CgbvrBlu.js +75 -0
- package/bundled-test-harness/assets/externals-5atxeNU4.js +5533 -0
- package/bundled-test-harness/assets/extract-css-variables-test-Cii-CYfc.js +169 -0
- package/bundled-test-harness/assets/fallback-banner-test-CUUd-Wuu.js +227 -0
- package/bundled-test-harness/assets/fallback-banner-test-D4NWyahM.js +53 -0
- package/bundled-test-harness/assets/fallback-models-test-2MJ1jAs8.js +163 -0
- package/bundled-test-harness/assets/fetch-card-json-test-Cruqsq6S.js +63 -0
- package/bundled-test-harness/assets/fetcher-test-CkHlbTzz.js +85 -0
- package/bundled-test-harness/assets/field-configuration-test-CqwsGNib.js +535 -0
- package/bundled-test-harness/assets/field-markdown-domain-test-DPjz8i4Y.js +615 -0
- package/bundled-test-harness/assets/field-markdown-primitives-test-Dw07UtT7.js +362 -0
- package/bundled-test-harness/assets/field-markdown-specialized-test-C-t34PAw.js +527 -0
- package/bundled-test-harness/assets/field-path-parser-test-BeNjacPu.js +387 -0
- package/bundled-test-harness/assets/field-playground-test-BILTGxqr.js +902 -0
- package/bundled-test-harness/assets/field-support-predicates-test-Df24w0Wa.js +170 -0
- package/bundled-test-harness/assets/field-test-helpers-P22hxBNz.js +45 -0
- package/bundled-test-harness/assets/file-attachment-test-Cjg4NBeM.js +635 -0
- package/bundled-test-harness/assets/file-chooser-test-Cl0XujPT.js +439 -0
- package/bundled-test-harness/assets/file-def-live-reload-test-D4Obzi12.js +50 -0
- package/bundled-test-harness/assets/file-def-manager-DUgR-gjs.js +470 -0
- package/bundled-test-harness/assets/file-def-manager-canonicalize-test-D_LWVsvz.js +451 -0
- package/bundled-test-harness/assets/file-def-menu-items-test-xvsUTOK4.js +114 -0
- package/bundled-test-harness/assets/file-def-navigation-test-DxPceB7E.js +109 -0
- package/bundled-test-harness/assets/file-def-serialization-test-CpwbDb8p.js +87 -0
- package/bundled-test-harness/assets/file-def-test-CEnKcvW9.js +219 -0
- package/bundled-test-harness/assets/file-tree-test-DE2aH6iq.js +773 -0
- package/bundled-test-harness/assets/flac-audio-def-test-BCg7LnR6.js +138 -0
- package/bundled-test-harness/assets/flowDiagram-I6XJVG4X-Xv8-LIxQ.js +4883 -0
- package/bundled-test-harness/assets/formatted-aibot-message-test-CsxFn62P.js +366 -0
- package/bundled-test-harness/assets/formatted-user-message-test-DjZc8qnA.js +43 -0
- package/bundled-test-harness/assets/freestyle-test-QEZaZCNJ.js +17 -0
- package/bundled-test-harness/assets/full-reindex-realm-test-C_c2OTTD.js +103 -0
- package/bundled-test-harness/assets/ganttDiagram-6RSMTGT7-DmvkzS5w.js +4060 -0
- package/bundled-test-harness/assets/garbage-collection-test-BVuvfidI.js +373 -0
- package/bundled-test-harness/assets/general-test-Ydis4jEq.js +926 -0
- package/bundled-test-harness/assets/generate-css-variables-test-CZCmgTAO.js +88 -0
- package/bundled-test-harness/assets/generate-example-cards-one-shot-test-x_szhkSN.js +67 -0
- package/bundled-test-harness/assets/get-available-realm-identifiers-test-DvRnwCHR.js +49 -0
- package/bundled-test-harness/assets/get-catalog-realm-identifiers-test-46TE-XA0.js +49 -0
- package/bundled-test-harness/assets/get-default-writable-realm-test-DaAkxTNh.js +56 -0
- package/bundled-test-harness/assets/get-realm-of-resource-identifier-test-9XEGHVOV.js +55 -0
- package/bundled-test-harness/assets/get-relationship-membership-state-test-BY4gk5JZ.js +1306 -0
- package/bundled-test-harness/assets/get-type-refs-from-filter-test-BynlX0JE.js +136 -0
- package/bundled-test-harness/assets/get-user-system-card-test-D98Xxn1k.js +52 -0
- package/bundled-test-harness/assets/gif-image-def-test-FwKGFGWw.js +161 -0
- package/bundled-test-harness/assets/gitGraph-WXDBUCRP-Bmn0Z_Xi.js +3 -0
- package/bundled-test-harness/assets/gitGraphDiagram-PVQCEYII-BAo0G82W.js +1150 -0
- package/bundled-test-harness/assets/gts-file-def-test-ivEk8Muv.js +99 -0
- package/bundled-test-harness/assets/head-format-preview-test-CNhvk724.js +156 -0
- package/bundled-test-harness/assets/helpers-BH4Yfo_2.js +5 -0
- package/bundled-test-harness/assets/host-mode-test-BRNndb2h.js +391 -0
- package/bundled-test-harness/assets/host-submode-test-DHd0x-6x.js +904 -0
- package/bundled-test-harness/assets/index-query-engine-test-7Fzc09fG.js +2548 -0
- package/bundled-test-harness/assets/index-writer-test-D3cL2q2N.js +1842 -0
- package/bundled-test-harness/assets/indexeddb-crypto-store-C09Shau-.js +49434 -0
- package/bundled-test-harness/assets/info-J43DQDTF-Dz5b1Xgc.js +3 -0
- package/bundled-test-harness/assets/infoDiagram-5YYISTIA-Dl8XvIfi.js +23 -0
- package/bundled-test-harness/assets/inspector-test-CVZVQdIJ.js +1776 -0
- package/bundled-test-harness/assets/instance-filter-matcher-test-C-4z6qUt.js +564 -0
- package/bundled-test-harness/assets/instantiate-card-test-eQ22Vt_m.js +104 -0
- package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-hXPsRPMU.js +497 -0
- package/bundled-test-harness/assets/interact-submode-setup-D55IIVc5.js +558 -0
- package/bundled-test-harness/assets/interact-submode-test-BwrtFe2m.js +725 -0
- package/bundled-test-harness/assets/invalidate-realm-identifiers-test-BMk7yd-D.js +101 -0
- package/bundled-test-harness/assets/invite-user-to-room-test-B5B0umJQ.js +67 -0
- package/bundled-test-harness/assets/ishikawaDiagram-YF4QCWOH-BrO7NAng.js +1009 -0
- package/bundled-test-harness/assets/isolated-render-test-DX1wdHoS.js +51 -0
- package/bundled-test-harness/assets/item-button-QkVr-FW0.js +203 -0
- package/bundled-test-harness/assets/javascript-BWNQhcCY.js +75 -0
- package/bundled-test-harness/assets/job-priority-header-test-CuBZloLK.js +81 -0
- package/bundled-test-harness/assets/journeyDiagram-JHISSGLW-B7BT66v0.js +1256 -0
- package/bundled-test-harness/assets/jpg-image-def-test-DEx462nY.js +430 -0
- package/bundled-test-harness/assets/json-file-def-test-Cray6ly6.js +92 -0
- package/bundled-test-harness/assets/kanban-definition-UN3LZRKU-C0E5Vmr_.js +1284 -0
- package/bundled-test-harness/assets/last-modified-date-test-BzE25NOB.js +18 -0
- package/bundled-test-harness/assets/limited-set-test-NwGNoXKc.js +123 -0
- package/bundled-test-harness/assets/line-BbGOk93s.js +55 -0
- package/bundled-test-harness/assets/linear-CHTo-YQl.js +417 -0
- package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-CZdgRM1b.js +315 -0
- package/bundled-test-harness/assets/linksto-error-sentinel-test-DhsHO7Xs.js +236 -0
- package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-mt-RrRta.js +303 -0
- package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CdGUXZsi.js +301 -0
- package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-DOJ_6Gwf.js +258 -0
- package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-BZC-gslF.js +194 -0
- package/bundled-test-harness/assets/live-prerendered-search-BSkwf5AH.js +639 -0
- package/bundled-test-harness/assets/live-test-DTfxZnsy.js +100 -0
- package/bundled-test-harness/assets/live-test-WOMYpc1I.js +2 -0
- package/bundled-test-harness/assets/loader-icon-error-test-F_ukQytn.js +62 -0
- package/bundled-test-harness/assets/loader-parallel-prefetch-test-DpNaFnhc.js +257 -0
- package/bundled-test-harness/assets/loader-retry-test-EQ2X0bFS.js +173 -0
- package/bundled-test-harness/assets/loader-test-BYkWAwc4.js +245 -0
- package/bundled-test-harness/assets/loading-test-jfWH_OpH.js +63 -0
- package/bundled-test-harness/assets/login-error-text-test-Cldr1X6h.js +51 -0
- package/bundled-test-harness/assets/m4a-audio-def-test-BQ1WKApD.js +185 -0
- package/bundled-test-harness/assets/main-ByAsLO_g.js +5 -0
- package/bundled-test-harness/assets/markdown-fallback-test-dtTaGP1s.js +316 -0
- package/bundled-test-harness/assets/markdown-file-def-test-shW9Xxd1.js +286 -0
- package/bundled-test-harness/assets/markdown-helpers-test-B6H7p4ay.js +183 -0
- package/bundled-test-harness/assets/markdown-highlighting-test-ZIrFNHRe.js +244 -0
- package/bundled-test-harness/assets/markdown-preview-KII3nJ2M.js +69 -0
- package/bundled-test-harness/assets/markdown-preview-test-De-IaUbK.js +237 -0
- package/bundled-test-harness/assets/marked-sync-CGSehq4u.js +2 -0
- package/bundled-test-harness/assets/marked-sync-DenC7QgC.js +2561 -0
- package/bundled-test-harness/assets/marked-sync-test-jZBr20Hq.js +146 -0
- package/bundled-test-harness/assets/matrix-service-sliding-sync-test-Ax4kyAMt.js +33 -0
- package/bundled-test-harness/assets/mermaid-parser.core-B_3tzKUl.js +114 -0
- package/bundled-test-harness/assets/mermaid.core-D2hqA7Hq.js +1700 -0
- package/bundled-test-harness/assets/message-service-subscription-test-B42KnJ91.js +113 -0
- package/bundled-test-harness/assets/mindmap-definition-RKZ34NQL-IZz7Qpd0.js +1347 -0
- package/bundled-test-harness/assets/mock-matrix-BhFWlMMr.js +14292 -0
- package/bundled-test-harness/assets/mock-matrix-CrtMntcN.js +2 -0
- package/bundled-test-harness/assets/module-transpile-cache-test-BtWN4OiM.js +66 -0
- package/bundled-test-harness/assets/monaco.contribution-B1hOUP3w.js +2 -0
- package/bundled-test-harness/assets/monaco.contribution-DhNsYtZe.js +2 -0
- package/bundled-test-harness/assets/monaco.contribution-DvJDImx2.js +103 -0
- package/bundled-test-harness/assets/monaco.contribution-yXcOyzue.js +243 -0
- package/bundled-test-harness/assets/mp3-audio-def-test-D365TuA7.js +129 -0
- package/bundled-test-harness/assets/mutex-test-DY09HLvv.js +71 -0
- package/bundled-test-harness/assets/number-field-test-wYaQjnzA.js +153 -0
- package/bundled-test-harness/assets/ogg-audio-def-test-Dl01PP31.js +191 -0
- package/bundled-test-harness/assets/open-create-listing-modal-test-D8C2PUFv.js +117 -0
- package/bundled-test-harness/assets/open-workspace-test-DN2n8IkC.js +48 -0
- package/bundled-test-harness/assets/operator-mode-acceptance-test-B_hzJZo4.js +1044 -0
- package/bundled-test-harness/assets/operator-mode-card-catalog-test-Hrrnkdt9.js +989 -0
- package/bundled-test-harness/assets/operator-mode-links-test-DC6sc9TZ.js +797 -0
- package/bundled-test-harness/assets/operator-mode-state-service-test-Aqz9_v0U.js +122 -0
- package/bundled-test-harness/assets/operator-mode-test-CLgpZGEM.js +617 -0
- package/bundled-test-harness/assets/operator-mode-ui-test-CDRrORfC.js +985 -0
- package/bundled-test-harness/assets/ordinal-BIRuJQBH.js +85 -0
- package/bundled-test-harness/assets/overlay-menu-items-test-of24KuXp.js +316 -0
- package/bundled-test-harness/assets/packet-YPE3B663-hs92geQG.js +3 -0
- package/bundled-test-harness/assets/panel-rIdTMDfK.js +3371 -0
- package/bundled-test-harness/assets/past-sessions-test-ZKr4ACF0.js +321 -0
- package/bundled-test-harness/assets/patch-code-test-BZa-Itrt.js +203 -0
- package/bundled-test-harness/assets/patch-fields-test-BkaHs-zo.js +992 -0
- package/bundled-test-harness/assets/patch-instance-test-CRMgg52p.js +287 -0
- package/bundled-test-harness/assets/persist-module-inspector-view-test-CqNy2RXR.js +62 -0
- package/bundled-test-harness/assets/phone-number-field-test-CV6gntON.js +72 -0
- package/bundled-test-harness/assets/pie-LRSECV5Y-DcM5pWE3.js +3 -0
- package/bundled-test-harness/assets/pieDiagram-4H26LBE5-CtO8RHpU.js +253 -0
- package/bundled-test-harness/assets/plan-install-test-lfBTuWXU.js +417 -0
- package/bundled-test-harness/assets/playground-VscW9KdT.js +57 -0
- package/bundled-test-harness/assets/png-image-def-test-CRspcIHP.js +222 -0
- package/bundled-test-harness/assets/prerender-file-extract-test-D3SpxfMI.js +176 -0
- package/bundled-test-harness/assets/prerender-html-test-WWptGXJ0.js +615 -0
- package/bundled-test-harness/assets/prerender-meta-test-DwQEGN6j.js +388 -0
- package/bundled-test-harness/assets/prerender-module-test-BM1AOwRF.js +195 -0
- package/bundled-test-harness/assets/prerendered-card-search-test-BVJ8IHLe.js +708 -0
- package/bundled-test-harness/assets/preview-format-test-DDpiXDN_.js +103 -0
- package/bundled-test-harness/assets/preview-test-D2UV1C5D.js +455 -0
- package/bundled-test-harness/assets/published-realm-url-DUIZzAJ5.js +52 -0
- package/bundled-test-harness/assets/published-realm-url-test-CIgSf4Ub.js +137 -0
- package/bundled-test-harness/assets/qs-test-Bi679H5w.js +36 -0
- package/bundled-test-harness/assets/quadrantDiagram-W4KKPZXB-GOTAKsCo.js +2324 -0
- package/bundled-test-harness/assets/query-field-barrier-test-BlOuVxdS.js +118 -0
- package/bundled-test-harness/assets/query-field-error-sentinel-test-BsB76iUQ.js +202 -0
- package/bundled-test-harness/assets/query-field-normalization-test-B2YodJCr.js +271 -0
- package/bundled-test-harness/assets/query-field-schema-test-CQhJASFx.js +231 -0
- package/bundled-test-harness/assets/query-fields-test-CaZ19leM.js +535 -0
- package/bundled-test-harness/assets/queue-test-DrSip6mJ.js +216 -0
- package/bundled-test-harness/assets/radar-GUYGQ44K-BkAe1nkp.js +3 -0
- package/bundled-test-harness/assets/read-card-for-ai-assistant-test-D8yB-OL9.js +91 -0
- package/bundled-test-harness/assets/read-file-for-ai-assistant-test-K3M0-lBD.js +45 -0
- package/bundled-test-harness/assets/read-source-test-CKlb0ORb.js +67 -0
- package/bundled-test-harness/assets/read-text-file-test-CJdasDDU.js +124 -0
- package/bundled-test-harness/assets/realm-DhUCLR5r.js +884 -0
- package/bundled-test-harness/assets/realm-field-test-kFgxphDI.js +101 -0
- package/bundled-test-harness/assets/realm-index-card-id-test-DAnMAqw4.js +18 -0
- package/bundled-test-harness/assets/realm-indexing-test-BQkX-Dat.js +4018 -0
- package/bundled-test-harness/assets/realm-paths-test-CmEi9rzu.js +33 -0
- package/bundled-test-harness/assets/realm-querying-test-eq3qSXLu.js +1062 -0
- package/bundled-test-harness/assets/realm-test-DLQAtdMt.js +2409 -0
- package/bundled-test-harness/assets/reasoning-test-CwTfyDlj.js +234 -0
- package/bundled-test-harness/assets/recent-files-test-MVIGLp8S.js +449 -0
- package/bundled-test-harness/assets/reindex-realm-test-BwLgJeB3.js +119 -0
- package/bundled-test-harness/assets/relationship-loading-state-test-B4Ca43yD.js +289 -0
- package/bundled-test-harness/assets/render-component-BKEihV4U.js +2 -0
- package/bundled-test-harness/assets/render-error-test-DWD6tfNe.js +22 -0
- package/bundled-test-harness/assets/render-service-test-BjuoVrUK.js +87 -0
- package/bundled-test-harness/assets/render-timer-stub-test-BgUY5u3X.js +84 -0
- package/bundled-test-harness/assets/rendered-markdown-DOP-s6fW.js +211 -0
- package/bundled-test-harness/assets/rendered-markdown-test-CD02UYwA.js +360 -0
- package/bundled-test-harness/assets/requirementDiagram-4Y6WPE33-DJIy7eR9.js +2550 -0
- package/bundled-test-harness/assets/rich-markdown-field-test-BJeQx1tL.js +806 -0
- package/bundled-test-harness/assets/room-message-test-CjD7FlPD.js +171 -0
- package/bundled-test-harness/assets/rust-crypto-GS0FFZ7H.js +16141 -0
- package/bundled-test-harness/assets/sanitize-module-list-test-gi0pcqSy.js +68 -0
- package/bundled-test-harness/assets/sankeyDiagram-5OEKKPKP-wBsbt1Mr.js +1357 -0
- package/bundled-test-harness/assets/schema-editor-test-BSqu8W3e.js +784 -0
- package/bundled-test-harness/assets/schema-generation-test-DVFuSsLl.js +28 -0
- package/bundled-test-harness/assets/scrolling-test-CpzkRiBS.js +292 -0
- package/bundled-test-harness/assets/search-and-choose-test-DVWX4XRb.js +156 -0
- package/bundled-test-harness/assets/search-cache-key-test-BMnYM4a5.js +79 -0
- package/bundled-test-harness/assets/search-command-test-kEfT0AO7.js +135 -0
- package/bundled-test-harness/assets/search-correlation-id-test-D08FtVUZ.js +101 -0
- package/bundled-test-harness/assets/search-data-test-CTrBEc1m.js +243 -0
- package/bundled-test-harness/assets/search-google-images-test-UnKG8qCp.js +168 -0
- package/bundled-test-harness/assets/search-in-flight-key-test-9Va-JXFz.js +79 -0
- package/bundled-test-harness/assets/search-test-COlO2lZi.js +847 -0
- package/bundled-test-harness/assets/send-ai-assistant-message-test-BPjOjt2R.js +52 -0
- package/bundled-test-harness/assets/send-bot-trigger-event-test-BB4lHbB_.js +56 -0
- package/bundled-test-harness/assets/send-request-via-proxy-test-U8frmHZA.js +333 -0
- package/bundled-test-harness/assets/sending-test-DjEzksEX.js +317 -0
- package/bundled-test-harness/assets/sequenceDiagram-3UESZ5HK-QAEjhoay.js +5551 -0
- package/bundled-test-harness/assets/serialization-test-DHdLriC8.js +8283 -0
- package/bundled-test-harness/assets/set-user-system-card-test-C8I1lDBh.js +59 -0
- package/bundled-test-harness/assets/setup-BkuybBki.js +769 -0
- package/bundled-test-harness/assets/setup-gxkWJKID.js +2 -0
- package/bundled-test-harness/assets/show-card-test-DHKQ6AI4.js +362 -0
- package/bundled-test-harness/assets/skills-test-DlMgZrPV.js +568 -0
- package/bundled-test-harness/assets/spec-test-s9Zj7x2E.js +1012 -0
- package/bundled-test-harness/assets/stateDiagram-AJRCARHV-nEhf3efZ.js +363 -0
- package/bundled-test-harness/assets/stateDiagram-v2-BHNVJYJU-tZz_3w-7.js +29 -0
- package/bundled-test-harness/assets/store-add-test-D44FWRl3.js +52 -0
- package/bundled-test-harness/assets/store-test-TTmNBs5v.js +1562 -0
- package/bundled-test-harness/assets/summarize-session-test-DHAuNb5K.js +169 -0
- package/bundled-test-harness/assets/svg-image-def-test-C2_GGzR6.js +164 -0
- package/bundled-test-harness/assets/switch-submode-test-CfGaoxVe.js +168 -0
- package/bundled-test-harness/assets/test-realm-service-worker-C21o7yvW.js +73 -0
- package/bundled-test-harness/assets/tests-BSt6h9iC.js +2771 -0
- package/bundled-test-harness/assets/text-file-def-test-CR4QO7e_.js +93 -0
- package/bundled-test-harness/assets/text-input-validator-test-DYS3mFj9.js +155 -0
- package/bundled-test-harness/assets/text-suggestion-test-GUxJ7WtF.js +339 -0
- package/bundled-test-harness/assets/theme-card-test-Ba2KqFB8.js +573 -0
- package/bundled-test-harness/assets/timeline-definition-PNZ67QCA-BQYyTIei.js +1545 -0
- package/bundled-test-harness/assets/transform-cards-test-DyA8eCom.js +341 -0
- package/bundled-test-harness/assets/treeView-BLDUP644-Z4ezSvef.js +3 -0
- package/bundled-test-harness/assets/treemap-LRROVOQU-Bf5rk_He.js +3 -0
- package/bundled-test-harness/assets/ts-file-def-test-Cxnc6H74.js +90 -0
- package/bundled-test-harness/assets/tsMode-oJEHe-CR.js +968 -0
- package/bundled-test-harness/assets/typescript-DLbb7q56.js +2 -0
- package/bundled-test-harness/assets/update-room-skills-test-B7VLHU3-.js +197 -0
- package/bundled-test-harness/assets/url-test-w-69Zycf.js +103 -0
- package/bundled-test-harness/assets/use-ai-assistant-test-DJkFz7_b.js +330 -0
- package/bundled-test-harness/assets/validate-realm-test-BioLutB8.js +53 -0
- package/bundled-test-harness/assets/vennDiagram-CIIHVFJN-9eLwsQET.js +2833 -0
- package/bundled-test-harness/assets/wardley-L42UT6IY-qNP5_917.js +3 -0
- package/bundled-test-harness/assets/wardleyDiagram-YWT4CUSO-DZhEm4N4.js +872 -0
- package/bundled-test-harness/assets/wav-audio-def-test-DqsTEBw8.js +155 -0
- package/bundled-test-harness/assets/webp-image-def-test-23wOLPMu.js +225 -0
- package/bundled-test-harness/assets/workspace-chooser-delete-test-Q6S_nGDT.js +189 -0
- package/bundled-test-harness/assets/workspace-chooser-test-CzsvY1v_.js +235 -0
- package/bundled-test-harness/assets/workspace-delete-multiple-test-BNFHkJpQ.js +213 -0
- package/bundled-test-harness/assets/workspace-delete-summary-test-DLzNdjvC.js +63 -0
- package/bundled-test-harness/assets/write-binary-file-test-PHHt9fVI.js +100 -0
- package/bundled-test-harness/assets/write-text-file-test-DuHe6tR5.js +172 -0
- package/bundled-test-harness/assets/xychartDiagram-2RQKCTM6-bflHQbEv.js +2551 -0
- package/bundled-test-harness/index.html +24 -23
- package/bundled-test-harness/tests/index.html +31 -30
- package/bundled-types/base/command.d.ts +48 -0
- package/bundled-types/host-app/components/operator-mode/publish-realm-modal.gts +17 -26
- package/bundled-types/host-app/lib/published-realm-url.ts +135 -0
- package/package.json +2 -2
- package/src/build-program.ts +12 -12
- package/src/commands/consolidate-workspaces.ts +1 -1
- package/src/commands/file/delete.ts +4 -4
- package/src/commands/file/index.ts +6 -6
- package/src/commands/file/lint.ts +4 -4
- package/src/commands/file/list.ts +3 -3
- package/src/commands/file/read.ts +3 -3
- package/src/commands/file/touch.ts +6 -6
- package/src/commands/file/write.ts +3 -3
- package/src/commands/lint.ts +6 -6
- package/src/commands/parse.ts +6 -6
- package/src/commands/profile.ts +4 -4
- package/src/commands/read-transpiled.ts +6 -3
- package/src/commands/realm/cancel-indexing.ts +3 -3
- package/src/commands/realm/create.ts +2 -2
- package/src/commands/realm/history.ts +4 -4
- package/src/commands/realm/index.ts +15 -15
- package/src/commands/realm/indexing-errors.ts +3 -3
- package/src/commands/realm/list.ts +2 -2
- package/src/commands/realm/milestone.ts +4 -4
- package/src/commands/realm/publish.ts +4 -4
- package/src/commands/realm/pull.ts +6 -6
- package/src/commands/realm/push.ts +7 -7
- package/src/commands/realm/remove.ts +3 -3
- package/src/commands/realm/status.ts +8 -8
- package/src/commands/realm/sync.ts +9 -9
- package/src/commands/realm/unpublish.ts +3 -3
- package/src/commands/realm/wait-for-ready.ts +2 -2
- package/src/commands/realm/watch/index.ts +2 -2
- package/src/commands/realm/watch/start.ts +13 -10
- package/src/commands/realm/watch/stop.ts +2 -2
- package/src/commands/run-command.ts +6 -3
- package/src/commands/search.ts +3 -3
- package/src/commands/test.ts +5 -5
- package/src/index.ts +2 -2
- package/src/lib/auth-resolver.ts +3 -3
- package/src/lib/boxel-cli-client.ts +18 -15
- package/src/lib/checkpoint-manager.ts +1 -1
- package/src/lib/find-checkpoint.ts +1 -1
- package/src/lib/profile-manager.ts +4 -4
- package/src/lib/realm-local-paths.ts +1 -1
- package/src/lib/realm-sync-base.ts +1 -1
- package/src/lib/seed-auth.ts +1 -1
- package/src/lib/sync-logic.ts +1 -1
- package/src/lib/watch-process-registry.ts +1 -1
- package/bundled-test-harness/assets/adapter-C8oDflNN.js +0 -2
- package/bundled-test-harness/assets/add-field-to-card-definition-command-test-Cs670972.js +0 -111
- package/bundled-test-harness/assets/add-workspace-test-BviDAUBK.js +0 -71
- package/bundled-test-harness/assets/ai-assistant-B5fp2iOz.js +0 -129
- package/bundled-test-harness/assets/ai-assistant-panel-service-test-NpHZzZAz.js +0 -95
- package/bundled-test-harness/assets/ai-assistant-test-jPV29jEw.js +0 -2137
- package/bundled-test-harness/assets/ai-function-generation-test-QRPcE9tQ.js +0 -996
- package/bundled-test-harness/assets/ai-module-creation-test-DyuyfnkY.js +0 -150
- package/bundled-test-harness/assets/aibot-message-Dwxp5hTW.js +0 -1185
- package/bundled-test-harness/assets/amd-transpile-test-CF7Lkbif.js +0 -425
- package/bundled-test-harness/assets/app-CgP2IpNG.js +0 -21464
- package/bundled-test-harness/assets/apply-boxel-formatting-test-BXyZ3z0I.js +0 -134
- package/bundled-test-harness/assets/apply-markdown-edit-test-C6bcaj3a.js +0 -230
- package/bundled-test-harness/assets/apply-search-replace-block-test-BSwC4J9g.js +0 -630
- package/bundled-test-harness/assets/arc-DNRb_8LA.js +0 -199
- package/bundled-test-harness/assets/architecture-7EHR7CIX-BtVh_LBJ.js +0 -3
- package/bundled-test-harness/assets/architectureDiagram-3BPJPVTR-D9UYbaKj.js +0 -7400
- package/bundled-test-harness/assets/auth-error-guard-test-Bvu8E7Wy.js +0 -30
- package/bundled-test-harness/assets/auth-service-worker-test-CC6DzdfK.js +0 -538
- package/bundled-test-harness/assets/authed-fetch-test-CfF-IBHI.js +0 -75
- package/bundled-test-harness/assets/avif-image-def-test-B9L2z0nR.js +0 -186
- package/bundled-test-harness/assets/base-realm-43wjttN2.js +0 -140
- package/bundled-test-harness/assets/base-realm-CJ5x9iyX.js +0 -2
- package/bundled-test-harness/assets/basic-test-B64a5zCK.js +0 -128
- package/bundled-test-harness/assets/bfm-card-references-test-cLQVLpth.js +0 -577
- package/bundled-test-harness/assets/binary-upload-dedupe-test-By7Y1iQ3.js +0 -308
- package/bundled-test-harness/assets/blockDiagram-GPEHLZMM-LgOorG2O.js +0 -4355
- package/bundled-test-harness/assets/bot-registration-test-DOjf0P1R.js +0 -99
- package/bundled-test-harness/assets/box-test-Cd1-RcXg.js +0 -51
- package/bundled-test-harness/assets/brand-guide-attachments-test-DxRqP8fo.js +0 -87
- package/bundled-test-harness/assets/brand-guide-custom-css-test-DBpZiHzJ.js +0 -135
- package/bundled-test-harness/assets/brand-logo-mark-field-test-61k4e5Om.js +0 -87
- package/bundled-test-harness/assets/broken-link-template-test-A1P4flQ5.js +0 -345
- package/bundled-test-harness/assets/browser-index-Bzhpucwe.js +0 -3
- package/bundled-test-harness/assets/browser-index-D0mzSWYV.js +0 -8802
- package/bundled-test-harness/assets/c4Diagram-AAUBKEIU-1iq94vGa.js +0 -3764
- package/bundled-test-harness/assets/cached-fetch-test-ByQ-5OQI.js +0 -93
- package/bundled-test-harness/assets/can-read-realm-test-VFLHJdEv.js +0 -58
- package/bundled-test-harness/assets/cancel-indexing-job-test-n3Os4ZaX.js +0 -71
- package/bundled-test-harness/assets/card-api-test-DvNfLv3V.js +0 -196
- package/bundled-test-harness/assets/card-basics-test-CKzZuFdw.js +0 -4895
- package/bundled-test-harness/assets/card-catalog-test-JFvkVHED.js +0 -377
- package/bundled-test-harness/assets/card-copy-test-iwrFA72s.js +0 -777
- package/bundled-test-harness/assets/card-def-field-def-relationships-test-D5s2RH5t.js +0 -560
- package/bundled-test-harness/assets/card-def-menu-items-test-XcmkT4NF.js +0 -182
- package/bundled-test-harness/assets/card-delete-test-jtAOHk1Y.js +0 -412
- package/bundled-test-harness/assets/card-directory-name-test-veQEp5FJ.js +0 -71
- package/bundled-test-harness/assets/card-playground-test-P7Ed0tO4.js +0 -1497
- package/bundled-test-harness/assets/card-prerender-DXG8cQEv.js +0 -12661
- package/bundled-test-harness/assets/card-search-adorn-test-BX0-IJHB.js +0 -128
- package/bundled-test-harness/assets/card-search-query-builder-test-D01uixke.js +0 -88
- package/bundled-test-harness/assets/card-search-selection-menu-test-DMTeZFmW.js +0 -108
- package/bundled-test-harness/assets/channel-BvoW_rbI.js +0 -8
- package/bundled-test-harness/assets/check-correctness-test-D7QB1GTo.js +0 -252
- package/bundled-test-harness/assets/chunk-2J33WTMH-BbxCvOlt.js +0 -31
- package/bundled-test-harness/assets/chunk-3OPIFGDE-DHY3s0oT.js +0 -5548
- package/bundled-test-harness/assets/chunk-4BX2VUAB-CRivrLQ6.js +0 -11
- package/bundled-test-harness/assets/chunk-4EGX6M5U-qWzlMeqd.js +0 -44
- package/bundled-test-harness/assets/chunk-55IACEB6-DOl6NECJ.js +0 -10
- package/bundled-test-harness/assets/chunk-5DO6E6H7-scwNnzDb.js +0 -27
- package/bundled-test-harness/assets/chunk-5ZQYHXKU-BeETnugr.js +0 -1767
- package/bundled-test-harness/assets/chunk-727SXJPM-BlycTxFE.js +0 -3877
- package/bundled-test-harness/assets/chunk-AQP2D5EJ-BE3Clw-g.js +0 -2622
- package/bundled-test-harness/assets/chunk-BR22UD5L-BTPKlhWA.js +0 -85
- package/bundled-test-harness/assets/chunk-BSJP7CBP-BIhtUfvc.js +0 -114
- package/bundled-test-harness/assets/chunk-CSCIHK7Q-DnRAp6Bv.js +0 -6144
- package/bundled-test-harness/assets/chunk-FHYWG6QK-DpIXIGDC.js +0 -27
- package/bundled-test-harness/assets/chunk-FMBD7UC4-B36w3LIg.js +0 -20
- package/bundled-test-harness/assets/chunk-KSCS5N6A-gbz9p9BU.js +0 -871
- package/bundled-test-harness/assets/chunk-L5ZTLDWV-HNfH9U8K.js +0 -43
- package/bundled-test-harness/assets/chunk-LZXEDZCA-CbKHJfzx.js +0 -65
- package/bundled-test-harness/assets/chunk-MPE355IW-BGVbCTZH.js +0 -27
- package/bundled-test-harness/assets/chunk-MZUSXYTE-DoCjuxcJ.js +0 -36
- package/bundled-test-harness/assets/chunk-N66VUXT2-BX17MI-i.js +0 -70
- package/bundled-test-harness/assets/chunk-ND2GUHAM-IpeiJZYz.js +0 -93
- package/bundled-test-harness/assets/chunk-NZK2D7GU-CH-Gg7qc.js +0 -89
- package/bundled-test-harness/assets/chunk-O5CBEL6O-D2JbLgI8.js +0 -2395
- package/bundled-test-harness/assets/chunk-PUPMXCY4-DS4ZxM2V.js +0 -27
- package/bundled-test-harness/assets/chunk-QZHKN3VN-WLHeRUJ3.js +0 -20
- package/bundled-test-harness/assets/chunk-UIBZB4QT-DNIJBpkq.js +0 -27
- package/bundled-test-harness/assets/chunk-WCWK7LTN-CqRJ3WOy.js +0 -36
- package/bundled-test-harness/assets/chunk-WU5MYG2G-CtItCLbE.js +0 -12
- package/bundled-test-harness/assets/chunk-XPW4576I-D2Q7Qo8n.js +0 -2341
- package/bundled-test-harness/assets/classDiagram-4FO5ZUOK-CnNFReKQ.js +0 -31
- package/bundled-test-harness/assets/classDiagram-v2-Q7XG4LA2-BlhpbohY.js +0 -31
- package/bundled-test-harness/assets/code-equality-assertion-C-2g5YGf.js +0 -474
- package/bundled-test-harness/assets/code-patches-test-DaV4Mon_.js +0 -1128
- package/bundled-test-harness/assets/code-patching-test-CcbWlImN.js +0 -114
- package/bundled-test-harness/assets/code-ref-test-8Yj8gbww.js +0 -138
- package/bundled-test-harness/assets/code-semantics-service-test-C3srTfDz.js +0 -65
- package/bundled-test-harness/assets/code-submode-test-BUhjvWtB.js +0 -1762
- package/bundled-test-harness/assets/codeblocks-test-3zAp0_GA.js +0 -492
- package/bundled-test-harness/assets/codemirror-context-C7KmSAyy.js +0 -2
- package/bundled-test-harness/assets/codemirror-editor-test-WojU4k2h.js +0 -1176
- package/bundled-test-harness/assets/color-field-test-yESUakoE.js +0 -213
- package/bundled-test-harness/assets/command-definitions-test-UsXsAhn7.js +0 -72
- package/bundled-test-harness/assets/commands-CBDBujm_.js +0 -1379
- package/bundled-test-harness/assets/commands-calling-test-DJTl0EbL.js +0 -200
- package/bundled-test-harness/assets/commands-test-DW2gupNS.js +0 -1041
- package/bundled-test-harness/assets/commands-test-DjLnuojW.js +0 -1145
- package/bundled-test-harness/assets/computed-test-0n5g8Ez5.js +0 -882
- package/bundled-test-harness/assets/container-D8y7fmir.js +0 -14602
- package/bundled-test-harness/assets/convert-to-class-name-test-DSIflIV2.js +0 -17
- package/bundled-test-harness/assets/copy-and-edit-test-BuK1ZHr-.js +0 -291
- package/bundled-test-harness/assets/copy-card-test-DnDC4_7J.js +0 -156
- package/bundled-test-harness/assets/copy-file-to-realm-test-CFd_3Iff.js +0 -99
- package/bundled-test-harness/assets/copy-source-test-38yUGJor.js +0 -56
- package/bundled-test-harness/assets/cose-bilkent-S5V4N54A-DXA1S87S.js +0 -4275
- package/bundled-test-harness/assets/create-file-test-B2oem0-V.js +0 -963
- package/bundled-test-harness/assets/create-file-test-BHk00RtD.js +0 -397
- package/bundled-test-harness/assets/create-listing-modal-test-L-71-Uo2.js +0 -194
- package/bundled-test-harness/assets/create-listing-pr-request-CZaLsHhE.js +0 -64
- package/bundled-test-harness/assets/create-listing-pr-request-test-OGzk4Q2E.js +0 -117
- package/bundled-test-harness/assets/create-spec-test-BsM7VKuH.js +0 -239
- package/bundled-test-harness/assets/csv-file-def-test-BhJalhE-.js +0 -101
- package/bundled-test-harness/assets/dagre-BIk_r1iU.js +0 -4195
- package/bundled-test-harness/assets/dagre-BM42HDAG-FaUWeGOj.js +0 -606
- package/bundled-test-harness/assets/date-time-fields-test-Cs5T6Xk1.js +0 -322
- package/bundled-test-harness/assets/debug-message-test-WlHe7pJF.js +0 -119
- package/bundled-test-harness/assets/diagram-2AECGRRQ-DLve-IVM.js +0 -279
- package/bundled-test-harness/assets/diagram-5GNKFQAL-CJG1RTLk.js +0 -142
- package/bundled-test-harness/assets/diagram-KO2AKTUF-DYGDq3dD.js +0 -551
- package/bundled-test-harness/assets/diagram-LMA3HP47-BNRYdpMl.js +0 -184
- package/bundled-test-harness/assets/diagram-OG6HWLK6-BlJH5g83.js +0 -857
- package/bundled-test-harness/assets/diffing-test-DO54USSm.js +0 -210
- package/bundled-test-harness/assets/dist-BDRmXkWl.js +0 -232
- package/bundled-test-harness/assets/dist-BfNSLd0O.js +0 -105
- package/bundled-test-harness/assets/dist-BoireClP.js +0 -2
- package/bundled-test-harness/assets/editor-test-DChC9LuR.js +0 -551
- package/bundled-test-harness/assets/editor.main-BiohyrHK.js +0 -3
- package/bundled-test-harness/assets/editor.main-CMU_0pR1.js +0 -43566
- package/bundled-test-harness/assets/email-field-test-DWIFSfZ-.js +0 -74
- package/bundled-test-harness/assets/enum-field-test-BUc6l4us.js +0 -909
- package/bundled-test-harness/assets/erDiagram-TEJ5UH35-pOJ2novh.js +0 -2041
- package/bundled-test-harness/assets/error-display-test-CHSE6h6Z.js +0 -343
- package/bundled-test-harness/assets/evaluate-module-test-Caa5n0B9.js +0 -66
- package/bundled-test-harness/assets/eventmodeling-FCH6USID-B6XXU7R3.js +0 -3
- package/bundled-test-harness/assets/execute-atomic-operations-test-CT060oDk.js +0 -75
- package/bundled-test-harness/assets/externals-Do1fVZ4j.js +0 -5533
- package/bundled-test-harness/assets/extract-css-variables-test-DzjAsMgg.js +0 -169
- package/bundled-test-harness/assets/fallback-banner-test-CmxysrDn.js +0 -227
- package/bundled-test-harness/assets/fallback-banner-test-DJ4cO8PB.js +0 -53
- package/bundled-test-harness/assets/fallback-models-test-r5upJFeA.js +0 -163
- package/bundled-test-harness/assets/fetch-card-json-test-Di1wmvy5.js +0 -63
- package/bundled-test-harness/assets/fetcher-test-DjzNl_7F.js +0 -85
- package/bundled-test-harness/assets/field-configuration-test-C3vr-HhG.js +0 -535
- package/bundled-test-harness/assets/field-markdown-domain-test-DG2U4qIm.js +0 -615
- package/bundled-test-harness/assets/field-markdown-primitives-test-Bay2v8nT.js +0 -362
- package/bundled-test-harness/assets/field-markdown-specialized-test-Bl0Sl4sc.js +0 -527
- package/bundled-test-harness/assets/field-path-parser-test-bxxwUjcm.js +0 -387
- package/bundled-test-harness/assets/field-playground-test-Bcjfws4m.js +0 -902
- package/bundled-test-harness/assets/field-support-predicates-test-DYTqOGvv.js +0 -170
- package/bundled-test-harness/assets/field-test-helpers-DYSfSGdh.js +0 -45
- package/bundled-test-harness/assets/file-attachment-test-6ypDRDS7.js +0 -635
- package/bundled-test-harness/assets/file-chooser-test-mtmcHTFP.js +0 -439
- package/bundled-test-harness/assets/file-def-live-reload-test-CX1-lOv6.js +0 -50
- package/bundled-test-harness/assets/file-def-manager-DNHII2oj.js +0 -470
- package/bundled-test-harness/assets/file-def-manager-canonicalize-test-i_7UVakF.js +0 -451
- package/bundled-test-harness/assets/file-def-menu-items-test-Dw458iku.js +0 -114
- package/bundled-test-harness/assets/file-def-navigation-test-B3Ztr1Rd.js +0 -109
- package/bundled-test-harness/assets/file-def-serialization-test-C_gV8AkU.js +0 -87
- package/bundled-test-harness/assets/file-def-test-vXXJmtxX.js +0 -219
- package/bundled-test-harness/assets/file-tree-test-BJCiw9jm.js +0 -773
- package/bundled-test-harness/assets/flac-audio-def-test-BX3SE1vW.js +0 -138
- package/bundled-test-harness/assets/flowDiagram-I6XJVG4X-7Q5ROn4X.js +0 -4883
- package/bundled-test-harness/assets/formatted-aibot-message-test-DyqUz2nt.js +0 -366
- package/bundled-test-harness/assets/formatted-user-message-test-aqAzqvBP.js +0 -43
- package/bundled-test-harness/assets/freestyle-test-CLRrZkAE.js +0 -17
- package/bundled-test-harness/assets/full-reindex-realm-test-ClqPVQ0c.js +0 -103
- package/bundled-test-harness/assets/ganttDiagram-6RSMTGT7-BkDoIAAE.js +0 -4060
- package/bundled-test-harness/assets/garbage-collection-test-Ba2dD3qS.js +0 -373
- package/bundled-test-harness/assets/general-test-D0zhs14K.js +0 -926
- package/bundled-test-harness/assets/generate-css-variables-test-CKrXSlHs.js +0 -88
- package/bundled-test-harness/assets/generate-example-cards-one-shot-test-fSAdGJeT.js +0 -67
- package/bundled-test-harness/assets/get-available-realm-identifiers-test-BXMUW65I.js +0 -49
- package/bundled-test-harness/assets/get-catalog-realm-identifiers-test-DKEq6Zcq.js +0 -49
- package/bundled-test-harness/assets/get-default-writable-realm-test-Dp4nBIRP.js +0 -56
- package/bundled-test-harness/assets/get-realm-of-resource-identifier-test-DYNnMgD-.js +0 -55
- package/bundled-test-harness/assets/get-relationship-membership-state-test-k9EUNWeq.js +0 -1306
- package/bundled-test-harness/assets/get-type-refs-from-filter-test-BPuivF-v.js +0 -136
- package/bundled-test-harness/assets/get-user-system-card-test-DSHv00O7.js +0 -52
- package/bundled-test-harness/assets/gif-image-def-test-LuDSr5Kz.js +0 -161
- package/bundled-test-harness/assets/gitGraph-WXDBUCRP-BrG_LYEh.js +0 -3
- package/bundled-test-harness/assets/gitGraphDiagram-PVQCEYII-QJjQcX4J.js +0 -1150
- package/bundled-test-harness/assets/gts-file-def-test-bS3ML062.js +0 -99
- package/bundled-test-harness/assets/head-format-preview-test-B8IPh71E.js +0 -156
- package/bundled-test-harness/assets/helpers-wSIq-bau.js +0 -5
- package/bundled-test-harness/assets/host-mode-test-D44nXoQZ.js +0 -391
- package/bundled-test-harness/assets/host-submode-test-CefkXg9F.js +0 -904
- package/bundled-test-harness/assets/index-query-engine-test-DJnDqmfK.js +0 -2548
- package/bundled-test-harness/assets/index-writer-test-BcrCMj37.js +0 -1842
- package/bundled-test-harness/assets/indexeddb-crypto-store-RTTNdynf.js +0 -49434
- package/bundled-test-harness/assets/info-J43DQDTF-DhDzvz9k.js +0 -3
- package/bundled-test-harness/assets/infoDiagram-5YYISTIA-8TmRFIRz.js +0 -23
- package/bundled-test-harness/assets/inspector-test-D4iMBlbL.js +0 -1776
- package/bundled-test-harness/assets/instance-filter-matcher-test-CYT6N3hN.js +0 -564
- package/bundled-test-harness/assets/instantiate-card-test-j1JS5lDe.js +0 -104
- package/bundled-test-harness/assets/interact-submode-creation-and-permissions-test-B-aXzOh6.js +0 -497
- package/bundled-test-harness/assets/interact-submode-setup-VMwOUl3u.js +0 -558
- package/bundled-test-harness/assets/interact-submode-test-D5lNNXdq.js +0 -725
- package/bundled-test-harness/assets/invalidate-realm-identifiers-test-71Ze8eGV.js +0 -101
- package/bundled-test-harness/assets/invite-user-to-room-test-UfjsvwVp.js +0 -67
- package/bundled-test-harness/assets/ishikawaDiagram-YF4QCWOH-7UALIGwM.js +0 -1009
- package/bundled-test-harness/assets/isolated-render-test-C2IL-Fz3.js +0 -51
- package/bundled-test-harness/assets/item-button-6g7XYj56.js +0 -203
- package/bundled-test-harness/assets/javascript-BwLQ7_Nc.js +0 -75
- package/bundled-test-harness/assets/job-priority-header-test-C3FfKLPP.js +0 -81
- package/bundled-test-harness/assets/journeyDiagram-JHISSGLW-t4gEZYup.js +0 -1256
- package/bundled-test-harness/assets/jpg-image-def-test-BTBk9lk5.js +0 -430
- package/bundled-test-harness/assets/json-file-def-test-BpU_Eidn.js +0 -92
- package/bundled-test-harness/assets/kanban-definition-UN3LZRKU-C_KHB3_r.js +0 -1284
- package/bundled-test-harness/assets/last-modified-date-test-fE7IP0q0.js +0 -18
- package/bundled-test-harness/assets/limited-set-test-uu2vX1Sv.js +0 -123
- package/bundled-test-harness/assets/line-BiZHXOjs.js +0 -55
- package/bundled-test-harness/assets/linear-DUaMMmmA.js +0 -417
- package/bundled-test-harness/assets/linksto-broken-link-placeholder-test-qZeqQ1gt.js +0 -315
- package/bundled-test-harness/assets/linksto-error-sentinel-test-BaV3I8Xx.js +0 -236
- package/bundled-test-harness/assets/linksto-many-broken-link-placeholder-test-BvJi1vCb.js +0 -303
- package/bundled-test-harness/assets/linksto-many-per-slot-access-test-CK60Cugk.js +0 -301
- package/bundled-test-harness/assets/linksto-sentinel-roundtrip-test-BWxdEO9D.js +0 -258
- package/bundled-test-harness/assets/linksto-singular-js-access-contract-test-CIsLhqR2.js +0 -194
- package/bundled-test-harness/assets/live-prerendered-search-jZe3I16p.js +0 -639
- package/bundled-test-harness/assets/live-test-CF_R5WGr.js +0 -2
- package/bundled-test-harness/assets/live-test-jO7lXuyB.js +0 -100
- package/bundled-test-harness/assets/loader-icon-error-test-N4JYZuTx.js +0 -62
- package/bundled-test-harness/assets/loader-parallel-prefetch-test-DteeG7mU.js +0 -257
- package/bundled-test-harness/assets/loader-retry-test-DYVgpS_I.js +0 -173
- package/bundled-test-harness/assets/loader-test-DLI8JIx-.js +0 -245
- package/bundled-test-harness/assets/loading-test-D4ZBtRYf.js +0 -63
- package/bundled-test-harness/assets/login-error-text-test-Dcq7q3EY.js +0 -51
- package/bundled-test-harness/assets/m4a-audio-def-test-BKqGO-CW.js +0 -185
- package/bundled-test-harness/assets/main-BjBdsiQT.js +0 -5
- package/bundled-test-harness/assets/markdown-fallback-test-BBj80dZZ.js +0 -316
- package/bundled-test-harness/assets/markdown-file-def-test-BnMF5rQF.js +0 -286
- package/bundled-test-harness/assets/markdown-helpers-test-DnuuSLfS.js +0 -183
- package/bundled-test-harness/assets/markdown-highlighting-test-CWRp2Rce.js +0 -244
- package/bundled-test-harness/assets/markdown-preview-test-Bf5OqKGf.js +0 -237
- package/bundled-test-harness/assets/markdown-preview-yYHtwNeI.js +0 -69
- package/bundled-test-harness/assets/marked-sync-2EfimW4i.js +0 -2
- package/bundled-test-harness/assets/marked-sync-DZOVFLjK.js +0 -2561
- package/bundled-test-harness/assets/marked-sync-test-BaaYbZNF.js +0 -146
- package/bundled-test-harness/assets/matrix-service-sliding-sync-test-CdEy3ASW.js +0 -33
- package/bundled-test-harness/assets/mermaid-parser.core-CKNAdXJW.js +0 -114
- package/bundled-test-harness/assets/mermaid.core-C0mfwy8A.js +0 -1700
- package/bundled-test-harness/assets/message-service-subscription-test-pGz_7rz3.js +0 -113
- package/bundled-test-harness/assets/mindmap-definition-RKZ34NQL-ClcHxkdY.js +0 -1347
- package/bundled-test-harness/assets/mock-matrix-D7JHfFtT.js +0 -2
- package/bundled-test-harness/assets/mock-matrix-DqDbNhEj.js +0 -14292
- package/bundled-test-harness/assets/module-transpile-cache-test-D0M-fPxs.js +0 -66
- package/bundled-test-harness/assets/monaco.contribution-BEs3qwfd.js +0 -103
- package/bundled-test-harness/assets/monaco.contribution-Dpx8UiPl.js +0 -2
- package/bundled-test-harness/assets/monaco.contribution-RF_qxJYG.js +0 -2
- package/bundled-test-harness/assets/monaco.contribution-jPVrF29f.js +0 -243
- package/bundled-test-harness/assets/mp3-audio-def-test-CxeRk1bl.js +0 -129
- package/bundled-test-harness/assets/mutex-test-D1xyxTj2.js +0 -71
- package/bundled-test-harness/assets/number-field-test-gjAGDy6P.js +0 -153
- package/bundled-test-harness/assets/ogg-audio-def-test-B6Ww3Ixr.js +0 -191
- package/bundled-test-harness/assets/open-create-listing-modal-test-uN58T3rI.js +0 -117
- package/bundled-test-harness/assets/open-workspace-test-DXVsvBFJ.js +0 -48
- package/bundled-test-harness/assets/operator-mode-acceptance-test-BxIq2xSS.js +0 -1044
- package/bundled-test-harness/assets/operator-mode-card-catalog-test-xFYx9_ng.js +0 -989
- package/bundled-test-harness/assets/operator-mode-links-test-qhXWmz-S.js +0 -797
- package/bundled-test-harness/assets/operator-mode-state-service-test-BdA_uvaY.js +0 -122
- package/bundled-test-harness/assets/operator-mode-test-D3EyTwq3.js +0 -617
- package/bundled-test-harness/assets/operator-mode-ui-test-CSrk6Q0A.js +0 -985
- package/bundled-test-harness/assets/ordinal-DO1mUmjg.js +0 -85
- package/bundled-test-harness/assets/overlay-menu-items-test-CuqqLsQT.js +0 -316
- package/bundled-test-harness/assets/packet-YPE3B663--JkMNy78.js +0 -3
- package/bundled-test-harness/assets/panel-C2rtbx32.js +0 -3371
- package/bundled-test-harness/assets/past-sessions-test-B9SCbbXz.js +0 -316
- package/bundled-test-harness/assets/patch-code-test-CcFr9pDb.js +0 -203
- package/bundled-test-harness/assets/patch-fields-test-BW1gzcJM.js +0 -992
- package/bundled-test-harness/assets/patch-instance-test-DKqA9gQ6.js +0 -287
- package/bundled-test-harness/assets/persist-module-inspector-view-test-D1eKBUkt.js +0 -62
- package/bundled-test-harness/assets/phone-number-field-test-D1is5RWv.js +0 -72
- package/bundled-test-harness/assets/pie-LRSECV5Y-BDVv8Wdy.js +0 -3
- package/bundled-test-harness/assets/pieDiagram-4H26LBE5-CSYI-nMz.js +0 -253
- package/bundled-test-harness/assets/plan-install-test-DB-PrjPR.js +0 -417
- package/bundled-test-harness/assets/playground-B0iQV7dU.js +0 -57
- package/bundled-test-harness/assets/png-image-def-test-DnOsJGs6.js +0 -222
- package/bundled-test-harness/assets/prerender-file-extract-test-DhOLozj2.js +0 -176
- package/bundled-test-harness/assets/prerender-html-test-DKVhQZA9.js +0 -615
- package/bundled-test-harness/assets/prerender-meta-test-CnRNyqSz.js +0 -388
- package/bundled-test-harness/assets/prerender-module-test-D163QcrZ.js +0 -195
- package/bundled-test-harness/assets/prerendered-card-search-test-DX-8yabJ.js +0 -708
- package/bundled-test-harness/assets/preview-format-test-H7bnpdlC.js +0 -103
- package/bundled-test-harness/assets/preview-test-B7u6uWJR.js +0 -455
- package/bundled-test-harness/assets/qs-test-COb0mre6.js +0 -36
- package/bundled-test-harness/assets/quadrantDiagram-W4KKPZXB-2Y2ben29.js +0 -2324
- package/bundled-test-harness/assets/query-field-barrier-test-Cypj-MhK.js +0 -118
- package/bundled-test-harness/assets/query-field-error-sentinel-test-Dnqn8TdN.js +0 -202
- package/bundled-test-harness/assets/query-field-normalization-test-B7D8SHBP.js +0 -271
- package/bundled-test-harness/assets/query-field-schema-test-DIYY3-c8.js +0 -231
- package/bundled-test-harness/assets/query-fields-test-k-VBF9PE.js +0 -535
- package/bundled-test-harness/assets/queue-test-B_74vXZE.js +0 -216
- package/bundled-test-harness/assets/radar-GUYGQ44K-Cn2A0VBR.js +0 -3
- package/bundled-test-harness/assets/read-card-for-ai-assistant-test-SyL9F_La.js +0 -91
- package/bundled-test-harness/assets/read-file-for-ai-assistant-test-nLPp49U2.js +0 -45
- package/bundled-test-harness/assets/read-source-test-DBELJkhN.js +0 -67
- package/bundled-test-harness/assets/read-text-file-test-CP1JuWlX.js +0 -124
- package/bundled-test-harness/assets/realm-Dr4iygv_.js +0 -884
- package/bundled-test-harness/assets/realm-field-test-Cice2mYk.js +0 -101
- package/bundled-test-harness/assets/realm-index-card-id-test-BzpozdWc.js +0 -18
- package/bundled-test-harness/assets/realm-indexing-test-C0YSXziR.js +0 -4018
- package/bundled-test-harness/assets/realm-paths-test-DV_g07rF.js +0 -33
- package/bundled-test-harness/assets/realm-querying-test-B526abM0.js +0 -1062
- package/bundled-test-harness/assets/realm-test-D8UN5X-w.js +0 -2409
- package/bundled-test-harness/assets/reasoning-test-ClIOvdkX.js +0 -234
- package/bundled-test-harness/assets/recent-files-test-C2J_dJUD.js +0 -449
- package/bundled-test-harness/assets/reindex-realm-test-DMphy1g6.js +0 -119
- package/bundled-test-harness/assets/relationship-loading-state-test-BWrZdLlZ.js +0 -289
- package/bundled-test-harness/assets/render-component-BII_KnyK.js +0 -2
- package/bundled-test-harness/assets/render-error-test-BUAJJlUi.js +0 -22
- package/bundled-test-harness/assets/render-service-test-BKkCjErY.js +0 -87
- package/bundled-test-harness/assets/render-timer-stub-test-TUDMWJ8v.js +0 -84
- package/bundled-test-harness/assets/rendered-markdown-ColekGTF.js +0 -211
- package/bundled-test-harness/assets/rendered-markdown-test-B4CWIo02.js +0 -360
- package/bundled-test-harness/assets/requirementDiagram-4Y6WPE33-CTICatxk.js +0 -2550
- package/bundled-test-harness/assets/rich-markdown-field-test-B5u6D3Nk.js +0 -806
- package/bundled-test-harness/assets/room-message-test-0eJSqQfu.js +0 -171
- package/bundled-test-harness/assets/rust-crypto-B0m3j_yZ.js +0 -16141
- package/bundled-test-harness/assets/sanitize-module-list-test-rH6OqjKh.js +0 -68
- package/bundled-test-harness/assets/sankeyDiagram-5OEKKPKP-hBIg6-LP.js +0 -1357
- package/bundled-test-harness/assets/schema-editor-test-DH4MLFCD.js +0 -784
- package/bundled-test-harness/assets/schema-generation-test-BZMkX7VA.js +0 -28
- package/bundled-test-harness/assets/scrolling-test-CFTyLG8X.js +0 -292
- package/bundled-test-harness/assets/search-and-choose-test-CcbVyp4c.js +0 -156
- package/bundled-test-harness/assets/search-cache-key-test-BYt46iNT.js +0 -79
- package/bundled-test-harness/assets/search-command-test-BRIJPr54.js +0 -135
- package/bundled-test-harness/assets/search-correlation-id-test-B298Tfux.js +0 -101
- package/bundled-test-harness/assets/search-data-test-DHV2Fd4S.js +0 -243
- package/bundled-test-harness/assets/search-google-images-test-CNrazllP.js +0 -168
- package/bundled-test-harness/assets/search-in-flight-key-test-Dy3bU2c1.js +0 -79
- package/bundled-test-harness/assets/search-test-DL1-gD-G.js +0 -847
- package/bundled-test-harness/assets/send-ai-assistant-message-test-CyEkQ5pD.js +0 -52
- package/bundled-test-harness/assets/send-bot-trigger-event-test-CAsK28m-.js +0 -56
- package/bundled-test-harness/assets/send-request-via-proxy-test-DpMlRvPv.js +0 -333
- package/bundled-test-harness/assets/sending-test-BOeGYcTU.js +0 -317
- package/bundled-test-harness/assets/sequenceDiagram-3UESZ5HK-DQMiI040.js +0 -5551
- package/bundled-test-harness/assets/serialization-test-gY2QQVxS.js +0 -8283
- package/bundled-test-harness/assets/set-user-system-card-test-BE3y5GNK.js +0 -59
- package/bundled-test-harness/assets/setup-B8O9JQKq.js +0 -769
- package/bundled-test-harness/assets/setup-BMqGUBDK.js +0 -2
- package/bundled-test-harness/assets/show-card-test-BfJNnWMy.js +0 -362
- package/bundled-test-harness/assets/skills-test-CqhnZxBi.js +0 -568
- package/bundled-test-harness/assets/spec-test-BUKNn_1q.js +0 -1012
- package/bundled-test-harness/assets/stateDiagram-AJRCARHV-BoOij2yt.js +0 -363
- package/bundled-test-harness/assets/stateDiagram-v2-BHNVJYJU-Dosil5p2.js +0 -29
- package/bundled-test-harness/assets/store-add-test-BR1M-IDR.js +0 -52
- package/bundled-test-harness/assets/store-test-DaqI-HRh.js +0 -1562
- package/bundled-test-harness/assets/summarize-session-test-BMg54JGF.js +0 -169
- package/bundled-test-harness/assets/svg-image-def-test-xNyIKRPV.js +0 -164
- package/bundled-test-harness/assets/switch-submode-test-BKvpODUD.js +0 -168
- package/bundled-test-harness/assets/test-realm-service-worker-DK4SmTM5.js +0 -73
- package/bundled-test-harness/assets/tests-x4_eRjiT.js +0 -2770
- package/bundled-test-harness/assets/text-file-def-test-CsXiyVfI.js +0 -93
- package/bundled-test-harness/assets/text-input-validator-test-D4s_laO7.js +0 -155
- package/bundled-test-harness/assets/text-suggestion-test-CkLf1xuS.js +0 -339
- package/bundled-test-harness/assets/theme-card-test-D-6L6OfD.js +0 -573
- package/bundled-test-harness/assets/timeline-definition-PNZ67QCA-DD2d81uJ.js +0 -1545
- package/bundled-test-harness/assets/transform-cards-test-CRZF2gqZ.js +0 -341
- package/bundled-test-harness/assets/treeView-BLDUP644-CUm8wuM-.js +0 -3
- package/bundled-test-harness/assets/treemap-LRROVOQU-lbLrY2PE.js +0 -3
- package/bundled-test-harness/assets/ts-file-def-test-CDo6ojCf.js +0 -90
- package/bundled-test-harness/assets/tsMode-BPQoRibc.js +0 -968
- package/bundled-test-harness/assets/typescript-BaU6yDhK.js +0 -2
- package/bundled-test-harness/assets/update-room-skills-test-BnSgVFwT.js +0 -197
- package/bundled-test-harness/assets/url-test-CK-HB0qu.js +0 -103
- package/bundled-test-harness/assets/use-ai-assistant-test-BuJXEP8H.js +0 -330
- package/bundled-test-harness/assets/validate-realm-test-Cx7MOtS8.js +0 -53
- package/bundled-test-harness/assets/vennDiagram-CIIHVFJN-DtXtzGwZ.js +0 -2833
- package/bundled-test-harness/assets/wardley-L42UT6IY-D8aCp_Ox.js +0 -3
- package/bundled-test-harness/assets/wardleyDiagram-YWT4CUSO-D-73g3bB.js +0 -872
- package/bundled-test-harness/assets/wav-audio-def-test-DIo2GzQL.js +0 -155
- package/bundled-test-harness/assets/webp-image-def-test-BQsV0_De.js +0 -225
- package/bundled-test-harness/assets/workspace-chooser-delete-test-peDXmnQf.js +0 -189
- package/bundled-test-harness/assets/workspace-chooser-test-DS2RtTEF.js +0 -235
- package/bundled-test-harness/assets/workspace-delete-multiple-test-DTbjRSzN.js +0 -213
- package/bundled-test-harness/assets/workspace-delete-summary-test-B--ink4m.js +0 -63
- package/bundled-test-harness/assets/write-binary-file-test-A3TQ5lFn.js +0 -100
- package/bundled-test-harness/assets/write-text-file-test-D_rjNDsT.js +0 -172
- package/bundled-test-harness/assets/xychartDiagram-2RQKCTM6-D1aoqDp-.js +0 -2551
- /package/bundled-test-harness/assets/{abap-CLdVBGqB.js → abap-FZAuBTMl.js} +0 -0
- /package/bundled-test-harness/assets/{apex-DV8eHjgQ.js → apex-CAO3qFTc.js} +0 -0
- /package/bundled-test-harness/assets/{array-DsDWWqmW.js → array-CRfHnEm4.js} +0 -0
- /package/bundled-test-harness/assets/{azcli-C4pZYsiJ.js → azcli-Bnu7jG0Y.js} +0 -0
- /package/bundled-test-harness/assets/{bat-DBoaeFpB.js → bat-DdE54Pqq.js} +0 -0
- /package/bundled-test-harness/assets/{bicep-VlrJhbeK.js → bicep-Dp4vFp3K.js} +0 -0
- /package/bundled-test-harness/assets/{cameligo-jyzrvLUm.js → cameligo-Cym4x98m.js} +0 -0
- /package/bundled-test-harness/assets/{chunk-NNHCCRGN-Be15HUz2.js → chunk-NNHCCRGN-PWOfDYpb.js} +0 -0
- /package/bundled-test-harness/assets/{clojure-bzahmEtz.js → clojure-B47IJ25u.js} +0 -0
- /package/bundled-test-harness/assets/{codemirror-context-BauLYUNt.js → codemirror-context-oJy03XqC.js} +0 -0
- /package/bundled-test-harness/assets/{coffee-CMADdzOH.js → coffee-CZlkBXT8.js} +0 -0
- /package/bundled-test-harness/assets/{cpp-CEJwzcLE.js → cpp-mX4KaA7p.js} +0 -0
- /package/bundled-test-harness/assets/{csharp-XYqm0UE0.js → csharp-C-OeDGwk.js} +0 -0
- /package/bundled-test-harness/assets/{csp-82fNWQc2.js → csp-AS2OEE8R.js} +0 -0
- /package/bundled-test-harness/assets/{css-B5b0ooFS.js → css-C-TQxhWe.js} +0 -0
- /package/bundled-test-harness/assets/{cssMode-DTKuqAkO.js → cssMode-C87GnEsk.js} +0 -0
- /package/bundled-test-harness/assets/{cypher-Df9GkdDY.js → cypher-T6F_0eIM.js} +0 -0
- /package/bundled-test-harness/assets/{cytoscape.esm-D0iwZ9Jj.js → cytoscape.esm-Bc2V-MhP.js} +0 -0
- /package/bundled-test-harness/assets/{dart-C4JY9dMc.js → dart-DzVesk0n.js} +0 -0
- /package/bundled-test-harness/assets/{defaultLocale-BtLxQtxy.js → defaultLocale-CAoL4lzt.js} +0 -0
- /package/bundled-test-harness/assets/{dist-D-PuK2H3.js → dist-BZ5MfZEJ.js} +0 -0
- /package/bundled-test-harness/assets/{dockerfile-Ck0tNttO.js → dockerfile-BH0_bQxC.js} +0 -0
- /package/bundled-test-harness/assets/{ecl-BpeXqJR_.js → ecl-KIxjxrJo.js} +0 -0
- /package/bundled-test-harness/assets/{elixir-HmBzrXaX.js → elixir-CPPdtCW1.js} +0 -0
- /package/bundled-test-harness/assets/{flow9-DhsfsDhH.js → flow9-Dxho7Ldf.js} +0 -0
- /package/bundled-test-harness/assets/{freemarker2-D3Yd6nGl.js → freemarker2-DP1aOr3_.js} +0 -0
- /package/bundled-test-harness/assets/{fsharp-D56OprHc.js → fsharp-ozN53Joe.js} +0 -0
- /package/bundled-test-harness/assets/{go-BITsFLfX.js → go-DPj6Rbqe.js} +0 -0
- /package/bundled-test-harness/assets/{graphlib-qkaQhadO.js → graphlib-DOITgaas.js} +0 -0
- /package/bundled-test-harness/assets/{graphql-CJJVsEX1.js → graphql-C8_-AnBG.js} +0 -0
- /package/bundled-test-harness/assets/{handlebars-Dvw6QbL7.js → handlebars-B2gYBZpU.js} +0 -0
- /package/bundled-test-harness/assets/{hcl-DSTZcJuq.js → hcl-r3d7BhXB.js} +0 -0
- /package/bundled-test-harness/assets/{helpers-D_JZYUOQ.js → helpers-CItTycq2.js} +0 -0
- /package/bundled-test-harness/assets/{html-Bik3qLmc.js → html-DhN1Nxr0.js} +0 -0
- /package/bundled-test-harness/assets/{htmlMode-DPCaR3Ab.js → htmlMode-BnBg5hCh.js} +0 -0
- /package/bundled-test-harness/assets/{ini-li-kC8ZU.js → ini-CzzRigmS.js} +0 -0
- /package/bundled-test-harness/assets/{init-Bq7IGMcH.js → init-Bd2YUhsG.js} +0 -0
- /package/bundled-test-harness/assets/{java-CETpuNN7.js → java-BgeDsIoV.js} +0 -0
- /package/bundled-test-harness/assets/{jsonMode-CZ3hOG-W.js → jsonMode-sRb0gsB8.js} +0 -0
- /package/bundled-test-harness/assets/{julia-hgihs1aN.js → julia-u3K1H5Ts.js} +0 -0
- /package/bundled-test-harness/assets/{katex-DqhsSYO4.js → katex-CHY7BUZt.js} +0 -0
- /package/bundled-test-harness/assets/{kotlin-CKfyb82K.js → kotlin-DfqmlJ10.js} +0 -0
- /package/bundled-test-harness/assets/{less-xB5yXbw8.js → less-CSzH7DPY.js} +0 -0
- /package/bundled-test-harness/assets/{lexon-BLwrXVrI.js → lexon-DwPTpxXt.js} +0 -0
- /package/bundled-test-harness/assets/{liquid-Bf2lpknJ.js → liquid-95J9g5Vk.js} +0 -0
- /package/bundled-test-harness/assets/{lua-Ch5i3IrF.js → lua-CGw6zbeh.js} +0 -0
- /package/bundled-test-harness/assets/{m3-D5tNlhaF.js → m3-BfgwloGF.js} +0 -0
- /package/bundled-test-harness/assets/{markdown-Dzc9uMky.js → markdown-RZRK7Mc9.js} +0 -0
- /package/bundled-test-harness/assets/{mdx-xsI4TJrf.js → mdx-BYD-W2sn.js} +0 -0
- /package/bundled-test-harness/assets/{mips-CmdzHkQm.js → mips-DAySN5Lp.js} +0 -0
- /package/bundled-test-harness/assets/{msdax-CAZvxB9E.js → msdax-Cy0COjTJ.js} +0 -0
- /package/bundled-test-harness/assets/{mysql-CyVS-z5H.js → mysql-CfGw9jyw.js} +0 -0
- /package/bundled-test-harness/assets/{objective-c-CCG8cTc_.js → objective-c-B4uU-8T-.js} +0 -0
- /package/bundled-test-harness/assets/{pascal-c8B45FOC.js → pascal-CGDuZzXi.js} +0 -0
- /package/bundled-test-harness/assets/{pascaligo-CCqwSqBv.js → pascaligo-eg02k4VJ.js} +0 -0
- /package/bundled-test-harness/assets/{path-CsS38UoK.js → path-Dxiz9G2t.js} +0 -0
- /package/bundled-test-harness/assets/{perl-JUICYbO2.js → perl-BiT-JJJw.js} +0 -0
- /package/bundled-test-harness/assets/{pgsql-aNRiL0Cg.js → pgsql-DAMjrVBF.js} +0 -0
- /package/bundled-test-harness/assets/{php-B0YZj_Vw.js → php-kOSUYQyc.js} +0 -0
- /package/bundled-test-harness/assets/{pla-D3Zb3KCn.js → pla-BShYV-HC.js} +0 -0
- /package/bundled-test-harness/assets/{postiats-ks1KABlA.js → postiats-9Xamd4W2.js} +0 -0
- /package/bundled-test-harness/assets/{powerquery-D35K_osc.js → powerquery-l2Nw525Q.js} +0 -0
- /package/bundled-test-harness/assets/{powershell-DXQo6KTk.js → powershell-B5rdEn86.js} +0 -0
- /package/bundled-test-harness/assets/{protobuf-CFDvn49_.js → protobuf-DjFcruCV.js} +0 -0
- /package/bundled-test-harness/assets/{pug-CGdWzJm1.js → pug-d79Nz4-Z.js} +0 -0
- /package/bundled-test-harness/assets/{python-BHLYjYlP.js → python-d8oxFZIM.js} +0 -0
- /package/bundled-test-harness/assets/{qsharp-BIq3i63T.js → qsharp-CeTlfxZW.js} +0 -0
- /package/bundled-test-harness/assets/{qunit-2hoQyeAZ.js → qunit-Cqwmt9Vl.js} +0 -0
- /package/bundled-test-harness/assets/{r-CBvzvDSA.js → r-BOu7JTro.js} +0 -0
- /package/bundled-test-harness/assets/{razor-JQ0RiIvo.js → razor-ZatoG_Is.js} +0 -0
- /package/bundled-test-harness/assets/{recent-files-cards-BQMviQb1.js → recent-files-cards-C3vIjaKb.js} +0 -0
- /package/bundled-test-harness/assets/{redis-BmSHTqTU.js → redis-DdXYPyQE.js} +0 -0
- /package/bundled-test-harness/assets/{redshift-B1NmQEH7.js → redshift-DswnW-YX.js} +0 -0
- /package/bundled-test-harness/assets/{render-component-g_fhz2dX.js → render-component-Bs21y6iv.js} +0 -0
- /package/bundled-test-harness/assets/{restructuredtext-Br9BtTbk.js → restructuredtext-C75vUmvX.js} +0 -0
- /package/bundled-test-harness/assets/{rough.esm-D8VnzNsL.js → rough.esm-B83ARgx6.js} +0 -0
- /package/bundled-test-harness/assets/{ruby-D9_-y1I3.js → ruby-D77950a-.js} +0 -0
- /package/bundled-test-harness/assets/{rust-1Jjr1EOs.js → rust-C_G4PKsG.js} +0 -0
- /package/bundled-test-harness/assets/{sb-X2JE4zEr.js → sb-Cz3P8_Gp.js} +0 -0
- /package/bundled-test-harness/assets/{scala-qFJERKkR.js → scala-DYqUg04P.js} +0 -0
- /package/bundled-test-harness/assets/{scheme-D-WJPStO.js → scheme-B31XEGu5.js} +0 -0
- /package/bundled-test-harness/assets/{scss-DysfZiXA.js → scss-CtvB8On5.js} +0 -0
- /package/bundled-test-harness/assets/{shell-C0Iu3NNJ.js → shell-C2QqpcPN.js} +0 -0
- /package/bundled-test-harness/assets/{solidity-Bato3Qrk.js → solidity-FHrhZFd-.js} +0 -0
- /package/bundled-test-harness/assets/{sophia-DI0cKdK8.js → sophia-Cxv5FOXb.js} +0 -0
- /package/bundled-test-harness/assets/{sparql-BTJMtwoD.js → sparql-CgGkGeQB.js} +0 -0
- /package/bundled-test-harness/assets/{sql-R6uHqFYU.js → sql-S6Dos2P0.js} +0 -0
- /package/bundled-test-harness/assets/{src-CdPyB7gY.js → src-CvuaVSsl.js} +0 -0
- /package/bundled-test-harness/assets/{st-CoyBvq37.js → st-Bfa7LAWp.js} +0 -0
- /package/bundled-test-harness/assets/{swift-Bj-haAlF.js → swift-BQD5Ef-A.js} +0 -0
- /package/bundled-test-harness/assets/{systemverilog-B-x1NEFI.js → systemverilog-DaNkPux4.js} +0 -0
- /package/bundled-test-harness/assets/{tcl-DAUdSQgz.js → tcl-gOPgCDyb.js} +0 -0
- /package/bundled-test-harness/assets/{test-support-BHjxBpDK.js → test-support-BEQX5x9U.js} +0 -0
- /package/bundled-test-harness/assets/{test-support-yKvYEh-u.js → test-support-BL4XKobD.js} +0 -0
- /package/bundled-test-harness/assets/{twig-B0sJ-GzS.js → twig-Bk4gPn5b.js} +0 -0
- /package/bundled-test-harness/assets/{typescript-DTMIM5Gl.js → typescript-pPYlxWzr.js} +0 -0
- /package/bundled-test-harness/assets/{typespec-6yo9VQxY.js → typespec-D9Zz743B.js} +0 -0
- /package/bundled-test-harness/assets/{vb-Bh2IfdtJ.js → vb-ziqHIsJV.js} +0 -0
- /package/bundled-test-harness/assets/{view-card-demo-U_AOj-RK.js → view-card-demo-CSIVYD3T.js} +0 -0
- /package/bundled-test-harness/assets/{wgsl-DsvJnCCt.js → wgsl-BXiwkiJL.js} +0 -0
- /package/bundled-test-harness/assets/{xml-CisPXcjD.js → xml-a_tUOik-.js} +0 -0
- /package/bundled-test-harness/assets/{yaml-DkHUoYI5.js → yaml-B3H8LDzK.js} +0 -0
|
@@ -1,1562 +0,0 @@
|
|
|
1
|
-
import { s as __toESM } from "./chunk-CGdGNDIi.js";
|
|
2
|
-
import { n as decorateMethodV2, r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime-CYyqkz5q-z3Y1hsJm.js";
|
|
3
|
-
import { Ai as realmURL, Di as localId, Sr as isCardInstance, Yn as testRRI, Zn as testRealmURL, ca as Deferred, mi as baseCardRef, vi as baseRealm } from "./runtime-common-C7uLt5dN.js";
|
|
4
|
-
import { $n as setComponentTemplate, r as service } from "./service-DJ87xpDt.js";
|
|
5
|
-
import { V as templateFactory } from "./index-DaCZcoCY-D2gI_aMw.js";
|
|
6
|
-
import { n as tracked, t as cached } from "./tracking-Dv1Q4IKh.js";
|
|
7
|
-
import { o as Component } from "./dist-CXaz7pMY.js";
|
|
8
|
-
import "./template-D3TMIrc1.js";
|
|
9
|
-
import "./template-factory-DMEv2kVd.js";
|
|
10
|
-
import { x as getCardCollection, y as getCard } from "./panel-C2rtbx32.js";
|
|
11
|
-
import { t as OperatorModeContainer } from "./container-D8y7fmir.js";
|
|
12
|
-
import { A as settled, I as waitUntil, d as click, o as waitFor, r as typeIn } from "./dist-D1U_uSwt.js";
|
|
13
|
-
import { t as require_qunit } from "./qunit-2hoQyeAZ.js";
|
|
14
|
-
import { r as getService } from "./dist-BfNSLd0O.js";
|
|
15
|
-
import { A as setupIntegrationTestRealm, J as withSlowSave, M as setupOnSave, O as setupCardLogs, et as setupOperatorModeStateCleanup, j as setupLocalIndexing, rt as setupRenderingTest, t as setupMockMatrix } from "./mock-matrix-DqDbNhEj.js";
|
|
16
|
-
import { G as contains, I as StringField, Q as field, a as CardDef, d as Component$1, lt as linksTo, mt as setupBaseRealm, r as BooleanField, ut as linksToMany, x as FileDef } from "./base-realm-43wjttN2.js";
|
|
17
|
-
import { n as renderComponent } from "./render-component-g_fhz2dX.js";
|
|
18
|
-
//#region tests/integration/store-test.gts
|
|
19
|
-
var import_qunit = /* @__PURE__ */ __toESM(require_qunit());
|
|
20
|
-
(0, import_qunit.module)("Integration | Store", function(hooks) {
|
|
21
|
-
setupRenderingTest(hooks);
|
|
22
|
-
setupOperatorModeStateCleanup(hooks);
|
|
23
|
-
setupBaseRealm(hooks);
|
|
24
|
-
let api;
|
|
25
|
-
let loader;
|
|
26
|
-
let loaderService;
|
|
27
|
-
let testRealm;
|
|
28
|
-
let testRealmAdapter;
|
|
29
|
-
let storeService;
|
|
30
|
-
let operatorModeStateService;
|
|
31
|
-
let cardStore;
|
|
32
|
-
let PersonDef;
|
|
33
|
-
let BoomPersonDef;
|
|
34
|
-
let realmService;
|
|
35
|
-
setupLocalIndexing(hooks);
|
|
36
|
-
setupOnSave(hooks);
|
|
37
|
-
setupCardLogs(hooks, async () => await loader.import(`${baseRealm.url}card-api`));
|
|
38
|
-
let mockMatrixUtils = setupMockMatrix(hooks, {
|
|
39
|
-
loggedInAs: "@testuser:localhost",
|
|
40
|
-
activeRealms: [testRealmURL],
|
|
41
|
-
autostart: true
|
|
42
|
-
});
|
|
43
|
-
function forceGC() {
|
|
44
|
-
cardStore.sweep(api);
|
|
45
|
-
cardStore.sweep(api);
|
|
46
|
-
}
|
|
47
|
-
function setCardInOperatorModeState(cardURL, format = "isolated") {
|
|
48
|
-
operatorModeStateService.restore({ stacks: cardURL ? [[{
|
|
49
|
-
id: cardURL,
|
|
50
|
-
format
|
|
51
|
-
}]] : [[]] });
|
|
52
|
-
}
|
|
53
|
-
const noop = () => {};
|
|
54
|
-
hooks.beforeEach(async function() {
|
|
55
|
-
class Person extends CardDef {
|
|
56
|
-
static {
|
|
57
|
-
decorateFieldV2(this.prototype, "name", [field], function() {
|
|
58
|
-
return contains(StringField);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
#name = (initializeDeferredDecorator(this, "name"), void 0);
|
|
62
|
-
static {
|
|
63
|
-
decorateFieldV2(this.prototype, "hasError", [field], function() {
|
|
64
|
-
return contains(BooleanField);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
#hasError = (initializeDeferredDecorator(this, "hasError"), void 0);
|
|
68
|
-
static {
|
|
69
|
-
decorateFieldV2(this.prototype, "bestFriend", [field], function() {
|
|
70
|
-
return linksTo(() => Person);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
#bestFriend = (initializeDeferredDecorator(this, "bestFriend"), void 0);
|
|
74
|
-
static {
|
|
75
|
-
decorateFieldV2(this.prototype, "friends", [field], function() {
|
|
76
|
-
return linksToMany(() => Person);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
#friends = (initializeDeferredDecorator(this, "friends"), void 0);
|
|
80
|
-
static {
|
|
81
|
-
decorateFieldV2(this.prototype, "boom", [field], function() {
|
|
82
|
-
return contains(StringField, { computeVia: function() {
|
|
83
|
-
if (this.hasError) throw new Error("intentional error thrown");
|
|
84
|
-
return "boom";
|
|
85
|
-
} });
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
#boom = (initializeDeferredDecorator(this, "boom"), void 0);
|
|
89
|
-
}
|
|
90
|
-
PersonDef = Person;
|
|
91
|
-
class BoomPerson extends CardDef {
|
|
92
|
-
static displayName = "Boom Person";
|
|
93
|
-
static {
|
|
94
|
-
decorateFieldV2(this.prototype, "name", [field], function() {
|
|
95
|
-
return contains(StringField);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
#name = (initializeDeferredDecorator(this, "name"), void 0);
|
|
99
|
-
static isolated = class Isolated extends Component$1 {
|
|
100
|
-
static {
|
|
101
|
-
setComponentTemplate(templateFactory({
|
|
102
|
-
"id": "I6b4/CsV",
|
|
103
|
-
"block": "[[[1,\"Hello\\n\"],[8,[30,1,[\"name\"]],null,null,null],[1,\"!\\n\"],[1,[30,0,[\"boom\"]]]],[\"@fields\"],[]]",
|
|
104
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
105
|
-
"isStrictMode": true
|
|
106
|
-
}), this);
|
|
107
|
-
}
|
|
108
|
-
boom = () => intentionallyNotDefined();
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
BoomPersonDef = BoomPerson;
|
|
112
|
-
loaderService = getService("loader-service");
|
|
113
|
-
loader = loaderService.loader;
|
|
114
|
-
api = await loader.import(`${baseRealm.url}card-api`);
|
|
115
|
-
storeService = getService("store");
|
|
116
|
-
operatorModeStateService = getService("operator-mode-state-service");
|
|
117
|
-
cardStore = storeService.store;
|
|
118
|
-
realmService = getService("realm");
|
|
119
|
-
({adapter: testRealmAdapter, realm: testRealm} = await setupIntegrationTestRealm({
|
|
120
|
-
mockMatrixUtils,
|
|
121
|
-
contents: {
|
|
122
|
-
"person.gts": { Person },
|
|
123
|
-
"boom-person.gts": { BoomPerson },
|
|
124
|
-
"Person/hassan.json": new Person({ name: "Hassan" }),
|
|
125
|
-
"Person/jade.json": new Person({ name: "Jade" }),
|
|
126
|
-
"Person/queenzy.json": new Person({ name: "Queenzy" }),
|
|
127
|
-
"Person/germaine.json": new Person({ name: "Germaine" }),
|
|
128
|
-
"Person/boris.json": new Person({ name: "Boris" })
|
|
129
|
-
}
|
|
130
|
-
}));
|
|
131
|
-
await realmService.login(testRealmURL);
|
|
132
|
-
});
|
|
133
|
-
hooks.afterEach(function() {
|
|
134
|
-
getService("network").virtualNetwork.removeRealmMapping("@test-prefix/");
|
|
135
|
-
});
|
|
136
|
-
(0, import_qunit.test)("can peek a card instance", async function(assert) {
|
|
137
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
138
|
-
await storeService.flush();
|
|
139
|
-
let instance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
140
|
-
assert.true(isCardInstance(instance), "peeked item is a card instance");
|
|
141
|
-
});
|
|
142
|
-
(0, import_qunit.test)("can peek a card by local id", async function(assert) {
|
|
143
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
144
|
-
await storeService.flush();
|
|
145
|
-
let instanceA = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
146
|
-
let instanceB = storeService.peek(instanceA[localId]);
|
|
147
|
-
assert.true(isCardInstance(instanceB), "peeked item is a card instance");
|
|
148
|
-
assert.strictEqual(instanceA, instanceB, "the same instance is returned by both remote ID and local ID");
|
|
149
|
-
});
|
|
150
|
-
(0, import_qunit.test)("can peek a card error when no stale instance exists", async function(assert) {
|
|
151
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
152
|
-
attributes: {
|
|
153
|
-
name: "Hassan",
|
|
154
|
-
hasError: true
|
|
155
|
-
},
|
|
156
|
-
meta: { adoptsFrom: {
|
|
157
|
-
module: testRRI("person"),
|
|
158
|
-
name: "Person"
|
|
159
|
-
} }
|
|
160
|
-
} }));
|
|
161
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
162
|
-
await storeService.flush();
|
|
163
|
-
let error = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
164
|
-
assert.false(isCardInstance(error), "error is not a card instance");
|
|
165
|
-
assert.ok(error.message.includes("intentional error thrown"), "error message is correct");
|
|
166
|
-
});
|
|
167
|
-
(0, import_qunit.test)("peek returns a stale instance when the server state reflects an error", async function(assert) {
|
|
168
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
169
|
-
await storeService.flush();
|
|
170
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
171
|
-
attributes: {
|
|
172
|
-
name: "Hassan",
|
|
173
|
-
hasError: true
|
|
174
|
-
},
|
|
175
|
-
meta: { adoptsFrom: {
|
|
176
|
-
module: testRRI("person"),
|
|
177
|
-
name: "Person"
|
|
178
|
-
} }
|
|
179
|
-
} }));
|
|
180
|
-
await waitUntil(() => storeService.peekError(`${testRealmURL}Person/hassan`));
|
|
181
|
-
let staleInstance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
182
|
-
assert.true(isCardInstance(staleInstance), "the peek-ed instance is not an error");
|
|
183
|
-
});
|
|
184
|
-
(0, import_qunit.test)("peek for an uncached returns undefined", async function(assert) {
|
|
185
|
-
let instance = storeService.peek(`${testRealmURL}Person/does-not-exist`);
|
|
186
|
-
assert.strictEqual(instance, void 0, "instance is undefined");
|
|
187
|
-
});
|
|
188
|
-
(0, import_qunit.test)("can use registered prefix ids across store APIs", async function(assert) {
|
|
189
|
-
getService("network").virtualNetwork.addRealmMapping("@test-prefix/", testRealmURL);
|
|
190
|
-
storeService.addReference("@test-prefix/Person/hassan");
|
|
191
|
-
await storeService.flush();
|
|
192
|
-
let byPrefix = storeService.peek("@test-prefix/Person/hassan");
|
|
193
|
-
let byUrl = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
194
|
-
assert.true(isCardInstance(byPrefix), "prefix id resolves to a card");
|
|
195
|
-
assert.strictEqual(byPrefix, byUrl, "prefix id and resolved URL return the same instance");
|
|
196
|
-
assert.strictEqual(storeService.getReferenceCount("@test-prefix/Person/hassan"), 1, "prefix id and resolved URL share a single reference count");
|
|
197
|
-
assert.strictEqual(storeService.getReferenceCount(`${testRealmURL}Person/hassan`), 1, "resolved URL sees the same reference count");
|
|
198
|
-
storeService.dropReference("@test-prefix/Person/hassan");
|
|
199
|
-
assert.strictEqual(storeService.getReferenceCount(`${testRealmURL}Person/hassan`), 0, "dropping a prefix reference clears the resolved URL reference count");
|
|
200
|
-
let saveFinished = new Deferred();
|
|
201
|
-
this.onSave((url) => {
|
|
202
|
-
if (url.href === `http://test-realm/test/Person/hassan`) {
|
|
203
|
-
assert.strictEqual(url.href, `${testRealmURL}Person/hassan`);
|
|
204
|
-
assert.strictEqual(storeService.getReferenceCount(`${testRealmURL}Person/hassan`), 0, "save() does not create a separate resolved-url reference count");
|
|
205
|
-
assert.strictEqual(storeService.getReferenceCount("@test-prefix/Person/hassan"), 0, "save() does not create a separate prefix reference count");
|
|
206
|
-
saveFinished.fulfill();
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
storeService.save("@test-prefix/Person/hassan");
|
|
210
|
-
await saveFinished;
|
|
211
|
-
storeService.addReference("@test-prefix/Person/boris");
|
|
212
|
-
await storeService.flush();
|
|
213
|
-
await storeService.delete("@test-prefix/Person/boris");
|
|
214
|
-
assert.strictEqual(storeService.peek("@test-prefix/Person/boris"), void 0, "delete() clears the prefix-form card identity from the store");
|
|
215
|
-
assert.strictEqual(storeService.peek(`${testRealmURL}Person/boris`), void 0, "delete() clears the resolved card identity from the store");
|
|
216
|
-
let file = await testRealmAdapter.openFile(`Person/boris.json`);
|
|
217
|
-
assert.strictEqual(file, void 0, "delete() removes the remote card");
|
|
218
|
-
});
|
|
219
|
-
(0, import_qunit.test)("deleting a linked target rewrites a loaded consumer linksTo slot to a broken-link sentinel", async function(assert) {
|
|
220
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
221
|
-
storeService.addReference(`${testRealmURL}Person/boris`);
|
|
222
|
-
await storeService.flush();
|
|
223
|
-
let hassan = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
224
|
-
hassan.bestFriend = storeService.peek(`${testRealmURL}Person/boris`);
|
|
225
|
-
await settled();
|
|
226
|
-
assert.strictEqual(api.getRelationshipMembershipState(hassan, "bestFriend").membership[0].kind, "present", "the consumer link resolves to the target before the delete");
|
|
227
|
-
await storeService.delete(`${testRealmURL}Person/boris`);
|
|
228
|
-
let after = api.getRelationshipMembershipState(hassan, "bestFriend").membership[0];
|
|
229
|
-
assert.strictEqual(after.kind, "not-found", "deleting the target rewrites the consumer slot to a broken-link sentinel without a reload");
|
|
230
|
-
assert.strictEqual(after.reference, `${testRealmURL}Person/boris`, "the sentinel preserves the deleted target reference for the placeholder");
|
|
231
|
-
});
|
|
232
|
-
(0, import_qunit.test)("deleting a linked target rewrites only the matching element of a loaded consumer linksToMany slot", async function(assert) {
|
|
233
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
234
|
-
storeService.addReference(`${testRealmURL}Person/boris`);
|
|
235
|
-
storeService.addReference(`${testRealmURL}Person/jade`);
|
|
236
|
-
await storeService.flush();
|
|
237
|
-
let hassan = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
238
|
-
let boris = storeService.peek(`${testRealmURL}Person/boris`);
|
|
239
|
-
hassan.friends = [storeService.peek(`${testRealmURL}Person/jade`), boris];
|
|
240
|
-
await settled();
|
|
241
|
-
let before = api.getRelationshipMembershipState(hassan, "friends").membership;
|
|
242
|
-
assert.deepEqual(before.map((s) => s.kind), ["present", "present"], "both linksToMany elements resolve before the delete");
|
|
243
|
-
await storeService.delete(`${testRealmURL}Person/boris`);
|
|
244
|
-
let after = api.getRelationshipMembershipState(hassan, "friends").membership;
|
|
245
|
-
let borisEntry = after.find((s) => s.reference === `${testRealmURL}Person/boris`);
|
|
246
|
-
let jadeEntry = after.find((s) => s.reference === `${testRealmURL}Person/jade`);
|
|
247
|
-
assert.strictEqual(borisEntry?.kind, "not-found", "the deleted element becomes a broken-link sentinel");
|
|
248
|
-
assert.strictEqual(jadeEntry?.kind, "present", "the surviving element is left untouched");
|
|
249
|
-
});
|
|
250
|
-
(0, import_qunit.test)("peekError returns the server state error when a stale instance exists", async function(assert) {
|
|
251
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
252
|
-
await storeService.flush();
|
|
253
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
254
|
-
attributes: {
|
|
255
|
-
name: "Hassan",
|
|
256
|
-
hasError: true
|
|
257
|
-
},
|
|
258
|
-
meta: { adoptsFrom: {
|
|
259
|
-
module: testRRI("person"),
|
|
260
|
-
name: "Person"
|
|
261
|
-
} }
|
|
262
|
-
} }));
|
|
263
|
-
await waitUntil(() => storeService.peekError(`${testRealmURL}Person/hassan`));
|
|
264
|
-
let error = storeService.peekError(`${testRealmURL}Person/hassan`);
|
|
265
|
-
assert.false(isCardInstance(error), "error is not a card instance");
|
|
266
|
-
assert.ok(error.message.includes("intentional error thrown"), "error message is correct");
|
|
267
|
-
});
|
|
268
|
-
(0, import_qunit.test)("can add reference to a card url", async function(assert) {
|
|
269
|
-
let instance = storeService.peek(`${testRealmURL}hassan`);
|
|
270
|
-
assert.strictEqual(instance, void 0, "instance is not in store yet");
|
|
271
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
272
|
-
await storeService.flush();
|
|
273
|
-
instance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
274
|
-
if (isCardInstance(instance)) assert.strictEqual(instance.name, "Hassan", "instance is cached in store");
|
|
275
|
-
else assert.ok(false, `expected instance to be a card:${JSON.stringify(instance, null, 2)}`);
|
|
276
|
-
forceGC();
|
|
277
|
-
instance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
278
|
-
if (isCardInstance(instance)) assert.strictEqual(instance.name, "Hassan", "instance is cached in store after GC");
|
|
279
|
-
else assert.ok(false, `expected instance to be a card:${JSON.stringify(instance, null, 2)} after GC`);
|
|
280
|
-
});
|
|
281
|
-
(0, import_qunit.test)("can add reference to a local id", async function(assert) {
|
|
282
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
283
|
-
await storeService.add(instance, { doNotPersist: true });
|
|
284
|
-
storeService.addReference(instance[localId]);
|
|
285
|
-
forceGC();
|
|
286
|
-
let peekedInstance = storeService.peek(instance[localId]);
|
|
287
|
-
assert.strictEqual(peekedInstance, instance, "instance is not garbage collected");
|
|
288
|
-
});
|
|
289
|
-
(0, import_qunit.test)("can drop reference to a card url", async function(assert) {
|
|
290
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
291
|
-
await storeService.flush();
|
|
292
|
-
let instance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
293
|
-
assert.ok(instance, "instance is in store");
|
|
294
|
-
storeService.dropReference(`${testRealmURL}Person/hassan`);
|
|
295
|
-
forceGC();
|
|
296
|
-
assert.strictEqual(storeService.peek(`${testRealmURL}Person/hassan`), void 0, "instance has been garbage collected from the store");
|
|
297
|
-
});
|
|
298
|
-
(0, import_qunit.test)("can drop reference to a local id", async function(assert) {
|
|
299
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
300
|
-
await storeService.add(instance, { doNotPersist: true });
|
|
301
|
-
storeService.addReference(instance[localId]);
|
|
302
|
-
storeService.dropReference(instance[localId]);
|
|
303
|
-
forceGC();
|
|
304
|
-
let peekedInstance = storeService.peek(instance[localId]);
|
|
305
|
-
assert.strictEqual(peekedInstance, void 0, "instance is garbage collected");
|
|
306
|
-
});
|
|
307
|
-
(0, import_qunit.test)("file-meta instance is retained when referenced", async function(assert) {
|
|
308
|
-
await testRealm.write("hero.png", "mock hero image");
|
|
309
|
-
let fileUrl = `${testRealmURL}hero.png`;
|
|
310
|
-
let fileInstance = await storeService.get(fileUrl, { type: "file-meta" });
|
|
311
|
-
assert.ok(fileInstance, "file meta instance is loaded");
|
|
312
|
-
assert.ok(fileInstance.constructor?.isFileDef, "file meta instance is a FileDef");
|
|
313
|
-
storeService.addReference(fileUrl);
|
|
314
|
-
forceGC();
|
|
315
|
-
let peekedInstance = cardStore.getFileMeta(fileUrl);
|
|
316
|
-
assert.strictEqual(peekedInstance, fileInstance, "file meta instance is retained after GC with reference");
|
|
317
|
-
});
|
|
318
|
-
(0, import_qunit.test)("file-meta instance is garbage collected when references drop", async function(assert) {
|
|
319
|
-
await testRealm.write("hero.png", "mock hero image");
|
|
320
|
-
let fileUrl = `${testRealmURL}hero.png`;
|
|
321
|
-
await storeService.get(fileUrl, { type: "file-meta" });
|
|
322
|
-
storeService.addReference(fileUrl);
|
|
323
|
-
storeService.dropReference(fileUrl);
|
|
324
|
-
forceGC();
|
|
325
|
-
assert.strictEqual(cardStore.getFileMeta(fileUrl), void 0, "file meta instance is garbage collected after reference drop");
|
|
326
|
-
});
|
|
327
|
-
(0, import_qunit.test)("realm subscription is removed when file-meta reference count drops to zero", async function(assert) {
|
|
328
|
-
await testRealm.write("hero.png", "mock hero image");
|
|
329
|
-
let fileUrl = `${testRealmURL}hero.png`;
|
|
330
|
-
let subscriptions = storeService.subscriptions;
|
|
331
|
-
assert.false(subscriptions.has(testRealmURL), "realm is not subscribed before adding file-meta reference");
|
|
332
|
-
storeService.addReference(fileUrl, { type: "file-meta" });
|
|
333
|
-
assert.true(subscriptions.has(testRealmURL), "realm subscription is created for file-meta reference");
|
|
334
|
-
storeService.dropReference(fileUrl);
|
|
335
|
-
assert.false(subscriptions.has(testRealmURL), "realm subscription is removed when file-meta reference reaches zero");
|
|
336
|
-
});
|
|
337
|
-
(0, import_qunit.test)("add stores FileDef dependencies", async function(assert) {
|
|
338
|
-
class FileCard extends CardDef {
|
|
339
|
-
static {
|
|
340
|
-
decorateFieldV2(this.prototype, "attachment", [field], function() {
|
|
341
|
-
return linksTo(FileDef);
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
#attachment = (initializeDeferredDecorator(this, "attachment"), void 0);
|
|
345
|
-
}
|
|
346
|
-
let fileUrl = `${testRealmURL}hero.png`;
|
|
347
|
-
let fileDef = new FileDef({
|
|
348
|
-
id: fileUrl,
|
|
349
|
-
sourceUrl: fileUrl,
|
|
350
|
-
url: fileUrl,
|
|
351
|
-
name: "hero.png",
|
|
352
|
-
contentType: "image/png"
|
|
353
|
-
});
|
|
354
|
-
let card = new FileCard({ attachment: fileDef });
|
|
355
|
-
await storeService.add(card, { doNotPersist: true });
|
|
356
|
-
assert.strictEqual(storeService.peek(fileUrl, { type: "file-meta" }), fileDef, "file meta dependency is cached in file-meta store");
|
|
357
|
-
});
|
|
358
|
-
(0, import_qunit.test)("card read of a binary file URL is rerouted to file-meta", async function(assert) {
|
|
359
|
-
await testRealm.write("hero.png", "mock hero image");
|
|
360
|
-
let fileUrl = `${testRealmURL}hero.png`;
|
|
361
|
-
let result = await storeService.get(fileUrl);
|
|
362
|
-
assert.ok(result.constructor?.isFileDef, "card read returns a FileDef via the safety-net reroute");
|
|
363
|
-
let fileInstance = await storeService.get(fileUrl, { type: "file-meta" });
|
|
364
|
-
assert.ok(fileInstance.constructor?.isFileDef, "file-meta read returns a FileDef");
|
|
365
|
-
assert.strictEqual(storeService.peekError(fileUrl), void 0, "no error cached on the card bucket");
|
|
366
|
-
assert.strictEqual(storeService.peekError(fileUrl, { type: "file-meta" }), void 0, "no error cached on the file-meta bucket");
|
|
367
|
-
});
|
|
368
|
-
(0, import_qunit.test)("garbage collects cards that only consume each other", async function(assert) {
|
|
369
|
-
let alpha = new PersonDef({ name: "Alpha" });
|
|
370
|
-
let beta = new PersonDef({ name: "Beta" });
|
|
371
|
-
alpha.bestFriend = beta;
|
|
372
|
-
beta.bestFriend = alpha;
|
|
373
|
-
await storeService.add(alpha, { doNotPersist: true });
|
|
374
|
-
await storeService.add(beta, { doNotPersist: true });
|
|
375
|
-
assert.strictEqual(storeService.peek(alpha[localId]), alpha, "alpha is present before GC");
|
|
376
|
-
assert.strictEqual(storeService.peek(beta[localId]), beta, "beta is present before GC");
|
|
377
|
-
forceGC();
|
|
378
|
-
assert.strictEqual(storeService.peek(alpha[localId]), void 0, "alpha is garbage collected");
|
|
379
|
-
assert.strictEqual(storeService.peek(beta[localId]), void 0, "beta is garbage collected");
|
|
380
|
-
});
|
|
381
|
-
(0, import_qunit.test)("can manually save an instance", async function(assert) {
|
|
382
|
-
assert.expect(2);
|
|
383
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
384
|
-
await storeService.flush();
|
|
385
|
-
this.onSave((url, doc) => {
|
|
386
|
-
assert.strictEqual(url.href, `${testRealmURL}Person/hassan`, "the saved card id is correct");
|
|
387
|
-
assert.strictEqual(doc.data.attributes?.name, "Hassan", "save data is correct");
|
|
388
|
-
});
|
|
389
|
-
storeService.save(`${testRealmURL}Person/hassan`);
|
|
390
|
-
});
|
|
391
|
-
(0, import_qunit.test)("can create an instance", async function(assert) {
|
|
392
|
-
let url = await storeService.create({ data: {
|
|
393
|
-
attributes: { name: "Andrea" },
|
|
394
|
-
meta: { adoptsFrom: {
|
|
395
|
-
module: testRRI("person"),
|
|
396
|
-
name: "Person"
|
|
397
|
-
} }
|
|
398
|
-
} });
|
|
399
|
-
assert.strictEqual(typeof url, "string", "received a url for new instance");
|
|
400
|
-
let instance = storeService.peek(url);
|
|
401
|
-
assert.strictEqual(instance.id, url);
|
|
402
|
-
assert.strictEqual(instance.name, "Andrea");
|
|
403
|
-
let file = await testRealmAdapter.openFile(`${instance.id.substring(testRealmURL.length)}.json`);
|
|
404
|
-
assert.ok(file, "file exists");
|
|
405
|
-
let fileJSON = JSON.parse(file.content);
|
|
406
|
-
assert.strictEqual(fileJSON.data.attributes.name, "Andrea", "file exists");
|
|
407
|
-
});
|
|
408
|
-
(0, import_qunit.test)("can handle card error when creating an instance", async function(assert) {
|
|
409
|
-
let error = await storeService.create({ data: {
|
|
410
|
-
attributes: {
|
|
411
|
-
name: "Andrea",
|
|
412
|
-
hasError: true
|
|
413
|
-
},
|
|
414
|
-
meta: { adoptsFrom: {
|
|
415
|
-
module: testRRI("person"),
|
|
416
|
-
name: "Person"
|
|
417
|
-
} }
|
|
418
|
-
} });
|
|
419
|
-
assert.strictEqual(typeof error, "object", "received a error for new instance");
|
|
420
|
-
assert.ok(error.message.includes("intentional error thrown", "the error message is correct"));
|
|
421
|
-
});
|
|
422
|
-
(0, import_qunit.test)("can handle a rendering card error when creating an instance", async function(assert) {
|
|
423
|
-
let instance = new BoomPersonDef({ name: "Andrea" });
|
|
424
|
-
let error = await storeService.add(instance, { realm: testRealmURL });
|
|
425
|
-
storeService.addReference(instance[localId]);
|
|
426
|
-
await storeService.flush();
|
|
427
|
-
let stale = storeService.peek(instance[localId]);
|
|
428
|
-
if (isCardInstance(stale)) assert.strictEqual(stale.name, "Andrea", "the stale card state is correct");
|
|
429
|
-
else assert.ok(false, `expected an instance but got a card error: "${stale.message}"`);
|
|
430
|
-
let peekedError = storeService.peekError(instance[localId]);
|
|
431
|
-
assert.strictEqual(peekedError, error, "the output of store.add is the peek-ed error");
|
|
432
|
-
if (!isCardInstance(error)) {
|
|
433
|
-
assert.strictEqual(error.id, instance[localId], "the error doc id is the local id of the instance");
|
|
434
|
-
assert.ok(error.message.includes("intentionallyNotDefined is not defined"));
|
|
435
|
-
loaderService.resetLoader();
|
|
436
|
-
await testRealm.write(`boom-person.gts`, `
|
|
437
|
-
import { contains, field, CardDef, Component, StringField } from 'https://cardstack.com/base/card-api';
|
|
438
|
-
|
|
439
|
-
export class BoomPerson extends CardDef {
|
|
440
|
-
static displayName = 'Boom Person';
|
|
441
|
-
@field name = contains(StringField);
|
|
442
|
-
static isolated = class Isolated extends Component<typeof this> {
|
|
443
|
-
<template>
|
|
444
|
-
Hello
|
|
445
|
-
<@fields.firstName />!
|
|
446
|
-
</template>
|
|
447
|
-
};
|
|
448
|
-
}
|
|
449
|
-
`.trim());
|
|
450
|
-
await waitUntil(() => !storeService.peekError(instance[localId]), { timeout: 5e3 });
|
|
451
|
-
await waitUntil(() => {
|
|
452
|
-
let card = storeService.peek(instance[localId]);
|
|
453
|
-
return Boolean(card && isCardInstance(card));
|
|
454
|
-
}, { timeout: 5e3 });
|
|
455
|
-
let peek = storeService.peek(instance[localId]);
|
|
456
|
-
assert.strictEqual(peek.name, "Andrea", "peek-ed value has been updated to be the fixed card instance");
|
|
457
|
-
} else assert.ok(false, "expected a card error but got a running instance");
|
|
458
|
-
});
|
|
459
|
-
(0, import_qunit.test)("can add a running instance to the store", async function(assert) {
|
|
460
|
-
assert.expect(5);
|
|
461
|
-
this.onSave((_, doc) => {
|
|
462
|
-
assert.strictEqual(doc.data.attributes?.name, "Andrea", "card data is correct");
|
|
463
|
-
});
|
|
464
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
465
|
-
await storeService.add(instance);
|
|
466
|
-
assert.ok(instance.id, "instance has been assigned remote id");
|
|
467
|
-
let peekedInstance = storeService.peek(instance.id);
|
|
468
|
-
assert.strictEqual(instance, peekedInstance, "instance is the same");
|
|
469
|
-
let file = await testRealmAdapter.openFile(`${instance.id.substring(testRealmURL.length)}.json`);
|
|
470
|
-
assert.ok(file, "file exists");
|
|
471
|
-
let fileJSON = JSON.parse(file.content);
|
|
472
|
-
assert.strictEqual(fileJSON.data.attributes.name, "Andrea", "file exists");
|
|
473
|
-
});
|
|
474
|
-
(0, import_qunit.test)("can add a serialized instance to the store", async function(assert) {
|
|
475
|
-
assert.expect(6);
|
|
476
|
-
this.onSave((_, doc) => {
|
|
477
|
-
assert.strictEqual(doc.data.attributes?.name, "Andrea", "card data is correct");
|
|
478
|
-
});
|
|
479
|
-
let instance = await storeService.add({ data: {
|
|
480
|
-
attributes: { name: "Andrea" },
|
|
481
|
-
meta: { adoptsFrom: {
|
|
482
|
-
module: testRRI("person"),
|
|
483
|
-
name: "Person"
|
|
484
|
-
} }
|
|
485
|
-
} });
|
|
486
|
-
assert.ok(instance.id, "instance has been assigned remote id");
|
|
487
|
-
let peekedInstance = storeService.peek(instance.id);
|
|
488
|
-
assert.strictEqual(instance, peekedInstance, "instance is the same");
|
|
489
|
-
assert.strictEqual(instance.name, "Andrea", "instance data is correct");
|
|
490
|
-
let file = await testRealmAdapter.openFile(`${instance.id.substring(testRealmURL.length)}.json`);
|
|
491
|
-
assert.ok(file, "file exists");
|
|
492
|
-
let fileJSON = JSON.parse(file.content);
|
|
493
|
-
assert.strictEqual(fileJSON.data.attributes.name, "Andrea", "file exists");
|
|
494
|
-
});
|
|
495
|
-
(0, import_qunit.test)("can skip saving when adding to the store", async function(assert) {
|
|
496
|
-
assert.expect(3);
|
|
497
|
-
this.onSave(() => {
|
|
498
|
-
assert.ok(false, "save should not happen");
|
|
499
|
-
});
|
|
500
|
-
let instance = await storeService.add({ data: {
|
|
501
|
-
attributes: { name: "Andrea" },
|
|
502
|
-
meta: { adoptsFrom: {
|
|
503
|
-
module: testRRI("person"),
|
|
504
|
-
name: "Person"
|
|
505
|
-
} }
|
|
506
|
-
} }, { doNotPersist: true });
|
|
507
|
-
assert.strictEqual(instance.id, void 0, "instance has NOT been assigned remote id");
|
|
508
|
-
let peekedInstance = storeService.peek(instance[localId]);
|
|
509
|
-
assert.strictEqual(instance, peekedInstance, "instance is the same");
|
|
510
|
-
assert.strictEqual(instance.name, "Andrea", "instance data is correct");
|
|
511
|
-
});
|
|
512
|
-
(0, import_qunit.test)("can skip waiting for the save when adding to the store", async function(assert) {
|
|
513
|
-
assert.expect(6);
|
|
514
|
-
let didSave = false;
|
|
515
|
-
this.onSave((_, doc) => {
|
|
516
|
-
didSave = true;
|
|
517
|
-
assert.strictEqual(doc.data.attributes?.name, "Andrea", "card data is correct");
|
|
518
|
-
});
|
|
519
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
520
|
-
await storeService.add(instance, { doNotWaitForPersist: true });
|
|
521
|
-
assert.false(didSave, "the instance has not saved yet");
|
|
522
|
-
await waitUntil(() => didSave, { timeout: 1e4 });
|
|
523
|
-
assert.ok(instance.id, "instance has been assigned remote id");
|
|
524
|
-
let peekedInstance = storeService.peek(instance.id);
|
|
525
|
-
assert.strictEqual(instance, peekedInstance, "instance is the same");
|
|
526
|
-
let file = await testRealmAdapter.openFile(`${instance.id.substring(testRealmURL.length)}.json`);
|
|
527
|
-
assert.ok(file, "file exists");
|
|
528
|
-
let fileJSON = JSON.parse(file.content);
|
|
529
|
-
assert.strictEqual(fileJSON.data.attributes.name, "Andrea", "file exists");
|
|
530
|
-
});
|
|
531
|
-
(0, import_qunit.test)("can set realmURL when adding to the store", async function(assert) {
|
|
532
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
533
|
-
assert.strictEqual(instance[realmURL]?.href, void 0, "realmURL meta is not set on the instance");
|
|
534
|
-
await storeService.add(instance, {
|
|
535
|
-
doNotPersist: true,
|
|
536
|
-
realm: testRealmURL
|
|
537
|
-
});
|
|
538
|
-
assert.strictEqual(instance[realmURL]?.href, testRealmURL, "realmURL meta was set on the instance");
|
|
539
|
-
});
|
|
540
|
-
(0, import_qunit.test)("can add linked cards to the store when adding a card", async function(assert) {
|
|
541
|
-
let wu = new PersonDef({ name: "Wu" });
|
|
542
|
-
let michael = new PersonDef({ name: "Michael" });
|
|
543
|
-
let lin = new PersonDef({
|
|
544
|
-
name: "Lin",
|
|
545
|
-
bestFriend: wu,
|
|
546
|
-
friends: [michael]
|
|
547
|
-
});
|
|
548
|
-
await storeService.add(lin, { doNotPersist: true });
|
|
549
|
-
let peekedMichael = storeService.peek(michael[localId]);
|
|
550
|
-
assert.strictEqual(peekedMichael, michael, "michael instance added to store");
|
|
551
|
-
let peekedWu = storeService.peek(wu[localId]);
|
|
552
|
-
assert.strictEqual(peekedWu, wu, "wu instance added to store");
|
|
553
|
-
});
|
|
554
|
-
(0, import_qunit.test)("can reject a card added to the store that has a conflicting local ID for a given URL", async function(assert) {
|
|
555
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
556
|
-
await storeService.flush();
|
|
557
|
-
let doc = { data: {
|
|
558
|
-
type: "card",
|
|
559
|
-
id: testRRI("Person/hassan"),
|
|
560
|
-
attributes: { name: "Hassan" },
|
|
561
|
-
meta: { adoptsFrom: {
|
|
562
|
-
module: testRRI("person"),
|
|
563
|
-
name: "Person"
|
|
564
|
-
} }
|
|
565
|
-
} };
|
|
566
|
-
let conflictingInstance = await api.createFromSerialized(doc.data, doc, void 0);
|
|
567
|
-
try {
|
|
568
|
-
await storeService.add(conflictingInstance, { doNotPersist: true });
|
|
569
|
-
throw new Error("expected exception to be thrown");
|
|
570
|
-
} catch (err) {
|
|
571
|
-
assert.ok(err.message.includes("has conflicting instance id in store"), "the expected error was thrown");
|
|
572
|
-
}
|
|
573
|
-
});
|
|
574
|
-
(0, import_qunit.test)("added instance that was previously not saved will begin to auto save after being added", async function(assert) {
|
|
575
|
-
assert.expect(2);
|
|
576
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
577
|
-
await storeService.add(instance);
|
|
578
|
-
this.onSave((url, doc) => {
|
|
579
|
-
assert.strictEqual(url.href, instance.id, "the instance URL is correct");
|
|
580
|
-
assert.strictEqual(doc.data.attributes?.name, "Air", "card data is correct");
|
|
581
|
-
});
|
|
582
|
-
instance.name = "Air";
|
|
583
|
-
});
|
|
584
|
-
(0, import_qunit.test)("an instance will auto save when its data changes", async function(assert) {
|
|
585
|
-
assert.expect(2);
|
|
586
|
-
let instance = await storeService.get(`${testRealmURL}Person/hassan`);
|
|
587
|
-
this.onSave((url, doc) => {
|
|
588
|
-
assert.strictEqual(url.href, instance.id, "the instance URL is correct");
|
|
589
|
-
assert.strictEqual(doc.data.attributes?.name, "Paper", "card data is correct");
|
|
590
|
-
});
|
|
591
|
-
instance.name = "Paper";
|
|
592
|
-
});
|
|
593
|
-
(0, import_qunit.test)("an unsaved instance will auto save when its data changes", async function(assert) {
|
|
594
|
-
assert.expect(2);
|
|
595
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
596
|
-
await storeService.add(instance, { doNotPersist: true });
|
|
597
|
-
this.onSave((url, doc) => {
|
|
598
|
-
assert.strictEqual(url.href.split("/").pop(), instance[localId], "the new card url ends with the local id");
|
|
599
|
-
assert.strictEqual(doc.data.attributes?.name, "Air", "card data is correct");
|
|
600
|
-
});
|
|
601
|
-
instance.name = "Air";
|
|
602
|
-
});
|
|
603
|
-
(0, import_qunit.test)("an instance will NOT auto save when its data changes, if the user does not have write permissions", async function(assert) {
|
|
604
|
-
storeService.realm.permissions = () => ({
|
|
605
|
-
get canRead() {
|
|
606
|
-
return true;
|
|
607
|
-
},
|
|
608
|
-
get canWrite() {
|
|
609
|
-
return false;
|
|
610
|
-
}
|
|
611
|
-
});
|
|
612
|
-
let instance = await storeService.get(`${testRealmURL}Person/hassan`);
|
|
613
|
-
this.onSave(() => {
|
|
614
|
-
assert.ok(false, "should not save");
|
|
615
|
-
});
|
|
616
|
-
instance.name = "Paper";
|
|
617
|
-
assert.strictEqual(instance.name, "Paper");
|
|
618
|
-
let id = instance.id;
|
|
619
|
-
assert.deepEqual(storeService.getSaveState(id), {
|
|
620
|
-
hasUnsavedChanges: true,
|
|
621
|
-
isSaving: false,
|
|
622
|
-
lastSaveError: void 0,
|
|
623
|
-
lastSaved: void 0,
|
|
624
|
-
lastSavedErrorMsg: void 0
|
|
625
|
-
});
|
|
626
|
-
});
|
|
627
|
-
(0, import_qunit.test)("an instance can debounce auto saves", async function(assert) {
|
|
628
|
-
assert.expect(5);
|
|
629
|
-
setCardInOperatorModeState(`${testRealmURL}Person/hassan`, "edit");
|
|
630
|
-
await renderComponent(class TestDriver extends Component {
|
|
631
|
-
static {
|
|
632
|
-
setComponentTemplate(templateFactory({
|
|
633
|
-
"id": "ZD1xwmB+",
|
|
634
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
635
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
636
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
637
|
-
"isStrictMode": true
|
|
638
|
-
}), this);
|
|
639
|
-
}
|
|
640
|
-
});
|
|
641
|
-
let saveCount = 0;
|
|
642
|
-
this.onSave((url, doc) => {
|
|
643
|
-
saveCount++;
|
|
644
|
-
assert.strictEqual(url.href, `${testRealmURL}Person/hassan`, "correct document is saved");
|
|
645
|
-
switch (saveCount) {
|
|
646
|
-
case 1:
|
|
647
|
-
assert.strictEqual(doc.data?.attributes?.name, "Hassan ", "the initial instance mutation event is saved");
|
|
648
|
-
break;
|
|
649
|
-
case 2:
|
|
650
|
-
assert.strictEqual(doc.data?.attributes?.name, "Hassan Paper", "the final instance mutation event is saved");
|
|
651
|
-
break;
|
|
652
|
-
default: assert.ok(false, `unexpected number of saves: ${saveCount}`);
|
|
653
|
-
}
|
|
654
|
-
});
|
|
655
|
-
await withSlowSave(1e3, async () => {
|
|
656
|
-
await typeIn(`[data-test-stack-card="${testRealmURL}Person/hassan"] [data-test-field="name"] input`, " Paper");
|
|
657
|
-
assert.strictEqual(saveCount, 2, "the number of auto-saves is correct");
|
|
658
|
-
});
|
|
659
|
-
});
|
|
660
|
-
(0, import_qunit.test)("getSaveState works for initially unsaved instance", async function(assert) {
|
|
661
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
662
|
-
await storeService.add(instance, { doNotPersist: true });
|
|
663
|
-
assert.strictEqual(storeService.getSaveState(instance[localId]), void 0, "save state is undefined");
|
|
664
|
-
instance.name = "Air";
|
|
665
|
-
assert.true(storeService.getSaveState(instance[localId])?.isSaving, "isSaving state is correct");
|
|
666
|
-
await waitUntil(() => storeService.getSaveState(instance[localId])?.lastSaved, { timeout: 1e4 });
|
|
667
|
-
assert.false(storeService.getSaveState(instance[localId])?.isSaving, "isSaving state is correct");
|
|
668
|
-
assert.false(storeService.getSaveState(instance.id)?.isSaving, "isSaving state is correct (by remote id)");
|
|
669
|
-
assert.ok(storeService.getSaveState(instance.id)?.lastSaved, "lastSaved state is correct (by remote id)");
|
|
670
|
-
});
|
|
671
|
-
(0, import_qunit.test)("can capture error when auto saving", async function(assert) {
|
|
672
|
-
let instance = await storeService.get(`${testRealmURL}Person/hassan`);
|
|
673
|
-
try {
|
|
674
|
-
globalThis.__emulateServerPatchFailure = true;
|
|
675
|
-
instance.hasError = true;
|
|
676
|
-
await waitUntil(() => storeService.getSaveState(`${testRealmURL}Person/hassan`)?.lastSaveError, { timeout: 1e4 });
|
|
677
|
-
let saveState = storeService.getSaveState(`${testRealmURL}Person/hassan`);
|
|
678
|
-
assert.ok(saveState.lastSavedErrorMsg?.includes("intentional error thrown"), "error message is correct");
|
|
679
|
-
} finally {
|
|
680
|
-
delete globalThis.__emulateServerPatchFailure;
|
|
681
|
-
}
|
|
682
|
-
});
|
|
683
|
-
(0, import_qunit.test)("can delete card from the store", async function(assert) {
|
|
684
|
-
storeService.addReference(`${testRealmURL}Person/boris`);
|
|
685
|
-
await storeService.flush();
|
|
686
|
-
let instance = storeService.peek(`${testRealmURL}Person/boris`);
|
|
687
|
-
await storeService.delete(`${testRealmURL}Person/boris`);
|
|
688
|
-
assert.strictEqual(storeService.peek(instance.id), void 0, "the instance is no longer in the store");
|
|
689
|
-
assert.strictEqual(storeService.peek(instance[localId]), void 0, "the instance is no longer in the store (via local id)");
|
|
690
|
-
let file = await testRealmAdapter.openFile(`Person/boris.json`);
|
|
691
|
-
assert.strictEqual(file, void 0, "file no longer exists");
|
|
692
|
-
});
|
|
693
|
-
(0, import_qunit.test)("can patch an instance", async function(assert) {
|
|
694
|
-
let instance = await storeService.patch(`${testRealmURL}Person/hassan`, {
|
|
695
|
-
attributes: { name: "Hassan Updated" },
|
|
696
|
-
relationships: {
|
|
697
|
-
bestFriend: { links: { self: `${testRealmURL}Person/jade` } },
|
|
698
|
-
"friends.0": { links: { self: `${testRealmURL}Person/germaine` } }
|
|
699
|
-
}
|
|
700
|
-
});
|
|
701
|
-
let peekedInstance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
702
|
-
let jade = storeService.peek(`${testRealmURL}Person/jade`);
|
|
703
|
-
let germaine = storeService.peek(`${testRealmURL}Person/germaine`);
|
|
704
|
-
assert.strictEqual(peekedInstance, instance, "the patched instance is in the store");
|
|
705
|
-
assert.ok(isCardInstance(jade), "jade is in the store");
|
|
706
|
-
assert.ok(isCardInstance(germaine), "germaine is in the store");
|
|
707
|
-
assert.strictEqual(instance.name, "Hassan Updated", "the contains field was patched");
|
|
708
|
-
assert.strictEqual(instance.bestFriend, jade, "the linksTo field was patched");
|
|
709
|
-
assert.deepEqual(instance.friends, [germaine], "the linksToMany field was patched");
|
|
710
|
-
});
|
|
711
|
-
(0, import_qunit.test)("loads FileDef links from included resources", async function(assert) {
|
|
712
|
-
await testRealm.writeMany(new Map([
|
|
713
|
-
["gallery.gts", `
|
|
714
|
-
import { CardDef, field, linksTo, linksToMany } from "https://cardstack.com/base/card-api";
|
|
715
|
-
import { FileDef } from "https://cardstack.com/base/file-api";
|
|
716
|
-
|
|
717
|
-
export class Gallery extends CardDef {
|
|
718
|
-
@field hero = linksTo(FileDef);
|
|
719
|
-
@field attachments = linksToMany(FileDef);
|
|
720
|
-
}
|
|
721
|
-
`],
|
|
722
|
-
["Gallery/hero.json", JSON.stringify({
|
|
723
|
-
data: {
|
|
724
|
-
attributes: { cardInfo: {} },
|
|
725
|
-
relationships: {
|
|
726
|
-
hero: {
|
|
727
|
-
links: { self: `${testRealmURL}hero.png` },
|
|
728
|
-
data: {
|
|
729
|
-
type: "file-meta",
|
|
730
|
-
id: `${testRealmURL}hero.png`
|
|
731
|
-
}
|
|
732
|
-
},
|
|
733
|
-
"attachments.0": {
|
|
734
|
-
links: { self: `${testRealmURL}first.png` },
|
|
735
|
-
data: {
|
|
736
|
-
type: "file-meta",
|
|
737
|
-
id: `${testRealmURL}first.png`
|
|
738
|
-
}
|
|
739
|
-
},
|
|
740
|
-
"attachments.1": {
|
|
741
|
-
links: { self: `${testRealmURL}second.png` },
|
|
742
|
-
data: {
|
|
743
|
-
type: "file-meta",
|
|
744
|
-
id: `${testRealmURL}second.png`
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
},
|
|
748
|
-
meta: { adoptsFrom: {
|
|
749
|
-
module: testRRI("gallery"),
|
|
750
|
-
name: "Gallery"
|
|
751
|
-
} }
|
|
752
|
-
},
|
|
753
|
-
included: [
|
|
754
|
-
{
|
|
755
|
-
type: "file-meta",
|
|
756
|
-
id: `${testRealmURL}hero.png`,
|
|
757
|
-
attributes: {
|
|
758
|
-
name: "hero.png",
|
|
759
|
-
url: `${testRealmURL}hero.png`,
|
|
760
|
-
sourceUrl: `${testRealmURL}hero.png`,
|
|
761
|
-
contentType: "image/png"
|
|
762
|
-
},
|
|
763
|
-
meta: { adoptsFrom: {
|
|
764
|
-
module: "https://cardstack.com/base/card-api",
|
|
765
|
-
name: "FileDef"
|
|
766
|
-
} }
|
|
767
|
-
},
|
|
768
|
-
{
|
|
769
|
-
type: "file-meta",
|
|
770
|
-
id: `${testRealmURL}first.png`,
|
|
771
|
-
attributes: {
|
|
772
|
-
name: "first.png",
|
|
773
|
-
url: `${testRealmURL}first.png`,
|
|
774
|
-
sourceUrl: `${testRealmURL}first.png`,
|
|
775
|
-
contentType: "image/png"
|
|
776
|
-
},
|
|
777
|
-
meta: { adoptsFrom: {
|
|
778
|
-
module: "https://cardstack.com/base/card-api",
|
|
779
|
-
name: "FileDef"
|
|
780
|
-
} }
|
|
781
|
-
},
|
|
782
|
-
{
|
|
783
|
-
type: "file-meta",
|
|
784
|
-
id: `${testRealmURL}second.png`,
|
|
785
|
-
attributes: {
|
|
786
|
-
name: "second.png",
|
|
787
|
-
url: `${testRealmURL}second.png`,
|
|
788
|
-
sourceUrl: `${testRealmURL}second.png`,
|
|
789
|
-
contentType: "image/png"
|
|
790
|
-
},
|
|
791
|
-
meta: { adoptsFrom: {
|
|
792
|
-
module: "https://cardstack.com/base/card-api",
|
|
793
|
-
name: "FileDef"
|
|
794
|
-
} }
|
|
795
|
-
}
|
|
796
|
-
]
|
|
797
|
-
})],
|
|
798
|
-
["hero.png", "mock hero image"],
|
|
799
|
-
["first.png", "mock first image"],
|
|
800
|
-
["second.png", "mock second image"]
|
|
801
|
-
]));
|
|
802
|
-
let gallery = await storeService.get(`${testRealmURL}Gallery/hero`);
|
|
803
|
-
assert.ok(gallery.hero, "hero is loaded from included resources");
|
|
804
|
-
assert.strictEqual(gallery.hero?.id, `${testRealmURL}hero.png`, "hero FileDef has id set from file meta");
|
|
805
|
-
assert.strictEqual(gallery.hero?.name, "hero.png", "hero FileDef uses file meta name");
|
|
806
|
-
assert.strictEqual(gallery.hero?.url, `${testRealmURL}hero.png`, "hero FileDef uses file meta url");
|
|
807
|
-
let attachments = gallery.attachments ?? [];
|
|
808
|
-
assert.strictEqual(attachments.length, 2, "attachments are loaded from included resources");
|
|
809
|
-
assert.strictEqual(attachments[0]?.id, `${testRealmURL}first.png`, "first attachment has id set from file meta");
|
|
810
|
-
assert.strictEqual(attachments[0]?.name, "first.png", "first attachment uses file meta name");
|
|
811
|
-
assert.strictEqual(attachments[1]?.id, `${testRealmURL}second.png`, "second attachment has id set from file meta");
|
|
812
|
-
assert.strictEqual(attachments[1]?.name, "second.png", "second attachment uses file meta name");
|
|
813
|
-
});
|
|
814
|
-
(0, import_qunit.test)("uses cached FileDef for links.self when field expects FileDef", async function(assert) {
|
|
815
|
-
await testRealm.writeMany(new Map([
|
|
816
|
-
["gallery.gts", `
|
|
817
|
-
import { CardDef, field, linksTo } from "https://cardstack.com/base/card-api";
|
|
818
|
-
import { FileDef } from "https://cardstack.com/base/file-api";
|
|
819
|
-
|
|
820
|
-
export class Gallery extends CardDef {
|
|
821
|
-
@field hero = linksTo(FileDef);
|
|
822
|
-
}
|
|
823
|
-
`],
|
|
824
|
-
["Gallery/cached.json", JSON.stringify({ data: {
|
|
825
|
-
attributes: { cardInfo: {} },
|
|
826
|
-
relationships: { hero: {
|
|
827
|
-
links: { self: `${testRealmURL}hero.png` },
|
|
828
|
-
data: {
|
|
829
|
-
type: "file-meta",
|
|
830
|
-
id: `${testRealmURL}hero.png`
|
|
831
|
-
}
|
|
832
|
-
} },
|
|
833
|
-
meta: { adoptsFrom: {
|
|
834
|
-
module: testRRI("gallery"),
|
|
835
|
-
name: "Gallery"
|
|
836
|
-
} }
|
|
837
|
-
} })],
|
|
838
|
-
["hero.png", "mock hero image"]
|
|
839
|
-
]));
|
|
840
|
-
let cachedFile = await storeService.get(`${testRealmURL}hero.png`, { type: "file-meta" });
|
|
841
|
-
let gallery = await storeService.get(`${testRealmURL}Gallery/cached`);
|
|
842
|
-
assert.strictEqual(gallery.hero, cachedFile, "links.self resolves to cached FileDef for FileDef fields");
|
|
843
|
-
});
|
|
844
|
-
(0, import_qunit.test)("can skip waiting for the save when patching an instance", async function(assert) {
|
|
845
|
-
assert.expect(4);
|
|
846
|
-
let targetId = `${testRealmURL}Person/hassan`;
|
|
847
|
-
let instance = await storeService.get(targetId);
|
|
848
|
-
let didSave = false;
|
|
849
|
-
this.onSave((url, doc) => {
|
|
850
|
-
if (url.href === targetId) {
|
|
851
|
-
didSave = true;
|
|
852
|
-
assert.strictEqual(doc.data.attributes?.name, "Hassan Updated", "patched data is persisted");
|
|
853
|
-
}
|
|
854
|
-
});
|
|
855
|
-
await storeService.patch(targetId, { attributes: { name: "Hassan Updated" } }, { doNotWaitForPersist: true });
|
|
856
|
-
assert.strictEqual(instance.name, "Hassan Updated", "local instance updated immediately");
|
|
857
|
-
assert.false(didSave, "instance has not been persisted yet");
|
|
858
|
-
await waitUntil(() => didSave);
|
|
859
|
-
let file = await testRealmAdapter.openFile("Person/hassan.json");
|
|
860
|
-
assert.strictEqual(JSON.parse(file.content).data.attributes.name, "Hassan Updated", "remote document reflects patch after persistence completes");
|
|
861
|
-
});
|
|
862
|
-
(0, import_qunit.test)("can patch an unsaved instance", async function(assert) {
|
|
863
|
-
let instance = new PersonDef({ name: "Andrea" });
|
|
864
|
-
await storeService.add(instance, {
|
|
865
|
-
doNotPersist: true,
|
|
866
|
-
realm: testRealmURL
|
|
867
|
-
});
|
|
868
|
-
await storeService.patch(instance[localId], {
|
|
869
|
-
attributes: { name: "Andrea Updated" },
|
|
870
|
-
relationships: {
|
|
871
|
-
bestFriend: { links: { self: `${testRealmURL}Person/queenzy` } },
|
|
872
|
-
"friends.0": { links: { self: `${testRealmURL}Person/germaine` } }
|
|
873
|
-
}
|
|
874
|
-
});
|
|
875
|
-
let peekedInstance = storeService.peek(instance[localId]);
|
|
876
|
-
let queenzy = storeService.peek(`${testRealmURL}Person/queenzy`);
|
|
877
|
-
let germaine = storeService.peek(`${testRealmURL}Person/germaine`);
|
|
878
|
-
assert.strictEqual(peekedInstance, instance, "the patched instance is in the store");
|
|
879
|
-
assert.ok(isCardInstance(queenzy), "queenzy is in the store");
|
|
880
|
-
assert.ok(isCardInstance(germaine), "germaine is in the store");
|
|
881
|
-
assert.strictEqual(instance[realmURL]?.href, testRealmURL, "the realm config on the instance is preserved");
|
|
882
|
-
assert.strictEqual(instance.name, "Andrea Updated", "the contains field was patched");
|
|
883
|
-
assert.strictEqual(instance.bestFriend, queenzy, "the linksTo field was patched");
|
|
884
|
-
assert.deepEqual(instance.friends, [germaine], "the linksToMany field was patched");
|
|
885
|
-
await waitUntil(() => instance.id, { timeoutMessage: "waiting for instance to get assigned an id" });
|
|
886
|
-
assert.ok(instance.id, "instance was assigned a remote id");
|
|
887
|
-
});
|
|
888
|
-
(0, import_qunit.test)("can skip save when patching an instance", async function(assert) {
|
|
889
|
-
this.onSave(() => {
|
|
890
|
-
assert.ok(false, "should not save");
|
|
891
|
-
});
|
|
892
|
-
let instance = await storeService.patch(`${testRealmURL}Person/hassan`, {
|
|
893
|
-
attributes: { name: "Hassan Updated" },
|
|
894
|
-
relationships: {
|
|
895
|
-
bestFriend: { links: { self: `${testRealmURL}Person/jade` } },
|
|
896
|
-
"friends.0": { links: { self: `${testRealmURL}Person/germaine` } }
|
|
897
|
-
}
|
|
898
|
-
}, { doNotPersist: true });
|
|
899
|
-
let peekedInstance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
900
|
-
let jade = storeService.peek(`${testRealmURL}Person/jade`);
|
|
901
|
-
let germaine = storeService.peek(`${testRealmURL}Person/germaine`);
|
|
902
|
-
assert.strictEqual(peekedInstance, instance, "the patched instance is in the store");
|
|
903
|
-
assert.ok(isCardInstance(jade), "jade is in the store");
|
|
904
|
-
assert.ok(isCardInstance(germaine), "germaine is in the store");
|
|
905
|
-
assert.strictEqual(instance.name, "Hassan Updated", "the contains field was patched");
|
|
906
|
-
assert.strictEqual(instance.bestFriend, jade, "the linksTo field was patched");
|
|
907
|
-
assert.deepEqual(instance.friends, [germaine], "the linksToMany field was patched");
|
|
908
|
-
});
|
|
909
|
-
(0, import_qunit.test)("can search", async function(assert) {
|
|
910
|
-
let results = await storeService.search({ filter: {
|
|
911
|
-
on: {
|
|
912
|
-
module: testRRI("person"),
|
|
913
|
-
name: "Person"
|
|
914
|
-
},
|
|
915
|
-
eq: { name: "Hassan" }
|
|
916
|
-
} }, [testRealmURL]);
|
|
917
|
-
assert.strictEqual(results.length, 1, "the correct number of results are returned");
|
|
918
|
-
assert.strictEqual(results[0].id, `${testRealmURL}Person/hassan`, "the result is correct");
|
|
919
|
-
});
|
|
920
|
-
(0, import_qunit.test)("an instance live updates from indexing events for an instance update", async function(assert) {
|
|
921
|
-
assert.expect(2);
|
|
922
|
-
let didSave = false;
|
|
923
|
-
this.onSave(() => {
|
|
924
|
-
didSave = true;
|
|
925
|
-
});
|
|
926
|
-
setCardInOperatorModeState(`${testRealmURL}Person/hassan`);
|
|
927
|
-
await renderComponent(class TestDriver extends Component {
|
|
928
|
-
static {
|
|
929
|
-
setComponentTemplate(templateFactory({
|
|
930
|
-
"id": "ZD1xwmB+",
|
|
931
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
932
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
933
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
934
|
-
"isStrictMode": true
|
|
935
|
-
}), this);
|
|
936
|
-
}
|
|
937
|
-
});
|
|
938
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
939
|
-
attributes: { name: "Hassan updated" },
|
|
940
|
-
meta: { adoptsFrom: {
|
|
941
|
-
module: testRRI("person"),
|
|
942
|
-
name: "Person"
|
|
943
|
-
} }
|
|
944
|
-
} }));
|
|
945
|
-
await waitUntil(() => storeService.peek(`${testRealmURL}Person/hassan`)?.name === "Hassan updated");
|
|
946
|
-
await storeService.flushSaves();
|
|
947
|
-
assert.dom("[data-test-stack-card] [data-test-field=\"name\"]").containsText("Hassan updated", "card live updated");
|
|
948
|
-
assert.false(didSave, "indexing updates do not auto save instances");
|
|
949
|
-
});
|
|
950
|
-
(0, import_qunit.test)("an instance live updates from indexing events for a code update", async function(assert) {
|
|
951
|
-
setCardInOperatorModeState(`${testRealmURL}Person/hassan`);
|
|
952
|
-
await renderComponent(class TestDriver extends Component {
|
|
953
|
-
static {
|
|
954
|
-
setComponentTemplate(templateFactory({
|
|
955
|
-
"id": "ZD1xwmB+",
|
|
956
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
957
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
958
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
959
|
-
"isStrictMode": true
|
|
960
|
-
}), this);
|
|
961
|
-
}
|
|
962
|
-
});
|
|
963
|
-
let instance = await storeService.get(`${testRealmURL}Person/hassan`);
|
|
964
|
-
await testRealm.write(`person.gts`, `
|
|
965
|
-
import { contains, field, Component, CardDef, } from 'https://cardstack.com/base/card-api';
|
|
966
|
-
import StringField from 'https://cardstack.com/base/string';
|
|
967
|
-
|
|
968
|
-
export class Person extends CardDef {
|
|
969
|
-
@field name = contains(StringField);
|
|
970
|
-
static isolated = class Isolated extends Component<typeof this> {
|
|
971
|
-
<template>
|
|
972
|
-
<div test-update>Hello</div>
|
|
973
|
-
<@fields.firstName />
|
|
974
|
-
</template>
|
|
975
|
-
};
|
|
976
|
-
}`.trim());
|
|
977
|
-
await waitFor("[test-update]", { timeout: 5e3 });
|
|
978
|
-
assert.dom("[test-update]").containsText("Hello", "the instance rendered with the new code");
|
|
979
|
-
let newInstance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
980
|
-
assert.notStrictEqual(instance[localId], newInstance[localId], "the updated instance is a different object than the original instance");
|
|
981
|
-
});
|
|
982
|
-
(0, import_qunit.test)("an instance can live update thru an error state", async function(assert) {
|
|
983
|
-
setCardInOperatorModeState(`${testRealmURL}Person/hassan`);
|
|
984
|
-
await renderComponent(class TestDriver extends Component {
|
|
985
|
-
static {
|
|
986
|
-
setComponentTemplate(templateFactory({
|
|
987
|
-
"id": "ZD1xwmB+",
|
|
988
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
989
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
990
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
991
|
-
"isStrictMode": true
|
|
992
|
-
}), this);
|
|
993
|
-
}
|
|
994
|
-
});
|
|
995
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
996
|
-
attributes: {
|
|
997
|
-
name: "Hassan",
|
|
998
|
-
hasError: true
|
|
999
|
-
},
|
|
1000
|
-
meta: { adoptsFrom: {
|
|
1001
|
-
module: testRRI("person"),
|
|
1002
|
-
name: "Person"
|
|
1003
|
-
} }
|
|
1004
|
-
} }));
|
|
1005
|
-
await waitFor("[data-test-card-error]");
|
|
1006
|
-
assert.dom("[data-test-error-message]").containsText("intentional error thrown");
|
|
1007
|
-
await click("[data-test-toggle-details]");
|
|
1008
|
-
assert.dom("[data-test-error-details]").includesText("Stack trace: Error: Encountered error rendering HTML");
|
|
1009
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1010
|
-
attributes: {
|
|
1011
|
-
name: "Hassan",
|
|
1012
|
-
hasError: false
|
|
1013
|
-
},
|
|
1014
|
-
meta: { adoptsFrom: {
|
|
1015
|
-
module: testRRI("person"),
|
|
1016
|
-
name: "Person"
|
|
1017
|
-
} }
|
|
1018
|
-
} }));
|
|
1019
|
-
await waitFor("[data-test-card-error]", { count: 0 });
|
|
1020
|
-
assert.dom("[data-test-card-error]").doesNotExist("the error is dismissed");
|
|
1021
|
-
assert.dom("[data-test-stack-card] [data-test-field=\"name\"]").containsText("Hassan", "card is still rendered");
|
|
1022
|
-
});
|
|
1023
|
-
(0, import_qunit.test)("an instance can be restored after a loader reset", async function(assert) {
|
|
1024
|
-
setCardInOperatorModeState(`${testRealmURL}Person/hassan`);
|
|
1025
|
-
await renderComponent(class TestDriver extends Component {
|
|
1026
|
-
static {
|
|
1027
|
-
setComponentTemplate(templateFactory({
|
|
1028
|
-
"id": "ZD1xwmB+",
|
|
1029
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
1030
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1031
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
1032
|
-
"isStrictMode": true
|
|
1033
|
-
}), this);
|
|
1034
|
-
}
|
|
1035
|
-
});
|
|
1036
|
-
assert.dom(`[data-stack-card="${testRealmURL}Person/hassan"] [data-test-field="name"]`).containsText("Hassan", "the card data is correct");
|
|
1037
|
-
await testRealm.write(`foo.gts`, `
|
|
1038
|
-
import { contains, CardDef } from 'https://cardstack.com/base/card-api';
|
|
1039
|
-
export class Foo extends CardDef {}
|
|
1040
|
-
`.trim());
|
|
1041
|
-
await waitFor("[data-test-stack-item-loading-card]", {
|
|
1042
|
-
count: 0,
|
|
1043
|
-
timeout: 5e3
|
|
1044
|
-
});
|
|
1045
|
-
assert.dom("[data-test-stack-item-loading-card]").doesNotExist("loading state is not displayed");
|
|
1046
|
-
assert.dom(`[data-stack-card="${testRealmURL}Person/hassan"] [data-test-field="name"]`).containsText("Hassan", "the card data is correct");
|
|
1047
|
-
});
|
|
1048
|
-
(0, import_qunit.test)("an instance that started out with a local ID can be restored after a loader reset", async function(assert) {
|
|
1049
|
-
let newInstance = new PersonDef({ name: "Andrea" });
|
|
1050
|
-
await storeService.add(newInstance, { realm: testRealmURL });
|
|
1051
|
-
setCardInOperatorModeState(newInstance[localId]);
|
|
1052
|
-
await renderComponent(class TestDriver extends Component {
|
|
1053
|
-
static {
|
|
1054
|
-
setComponentTemplate(templateFactory({
|
|
1055
|
-
"id": "ZD1xwmB+",
|
|
1056
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
1057
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1058
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
1059
|
-
"isStrictMode": true
|
|
1060
|
-
}), this);
|
|
1061
|
-
}
|
|
1062
|
-
});
|
|
1063
|
-
assert.dom(`[data-stack-card="${newInstance.id}"] [data-test-field="name"]`).containsText("Andrea", "the card data is correct");
|
|
1064
|
-
await testRealm.write(`foo.gts`, `
|
|
1065
|
-
import { contains, CardDef } from 'https://cardstack.com/base/card-api';
|
|
1066
|
-
export class Foo extends CardDef {}
|
|
1067
|
-
`.trim());
|
|
1068
|
-
await waitFor("[data-test-stack-item-loading-card]", {
|
|
1069
|
-
count: 0,
|
|
1070
|
-
timeout: 5e3
|
|
1071
|
-
});
|
|
1072
|
-
assert.dom("[data-test-stack-item-loading-card]").doesNotExist("loading state is not displayed");
|
|
1073
|
-
assert.dom(`[data-stack-card="${newInstance.id}"] [data-test-field="name"]`).containsText("Andrea", "the card data is correct");
|
|
1074
|
-
});
|
|
1075
|
-
(0, import_qunit.test)("an unsaved instance live updates when realm event matching local ID is received", async function(assert) {
|
|
1076
|
-
let newInstance = new PersonDef({ name: "Andrea" });
|
|
1077
|
-
await storeService.add(newInstance, { doNotPersist: true });
|
|
1078
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
1079
|
-
await storeService.flush();
|
|
1080
|
-
let instance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
1081
|
-
instance.friends = [newInstance];
|
|
1082
|
-
await waitUntil(() => newInstance.id, { timeout: 5e3 });
|
|
1083
|
-
assert.strictEqual(newInstance.id.split("/").pop(), newInstance[localId], "the new instance was live updated with a remote id");
|
|
1084
|
-
});
|
|
1085
|
-
(0, import_qunit.test)("an unsaved instance will auto save after it has been assigned a remote ID", async function(assert) {
|
|
1086
|
-
assert.expect(2);
|
|
1087
|
-
let newInstance = new PersonDef({ name: "Andrea" });
|
|
1088
|
-
await storeService.add(newInstance, { doNotPersist: true });
|
|
1089
|
-
storeService.addReference(`${testRealmURL}Person/hassan`);
|
|
1090
|
-
await storeService.flush();
|
|
1091
|
-
let instance = storeService.peek(`${testRealmURL}Person/hassan`);
|
|
1092
|
-
instance.friends = [newInstance];
|
|
1093
|
-
await waitUntil(() => newInstance.id, { timeout: 5e3 });
|
|
1094
|
-
this.onSave((url, doc) => {
|
|
1095
|
-
if (url.href === newInstance.id) {
|
|
1096
|
-
assert.strictEqual(url.href, newInstance.id, "the save url is correct");
|
|
1097
|
-
assert.strictEqual(doc.data.attributes?.name, "Air", "card data is correct");
|
|
1098
|
-
}
|
|
1099
|
-
});
|
|
1100
|
-
newInstance.name = "Air";
|
|
1101
|
-
});
|
|
1102
|
-
(0, import_qunit.test)("reference count is balanced when used with CardResource that is destroyed", async function(assert) {
|
|
1103
|
-
class Driver {
|
|
1104
|
-
static {
|
|
1105
|
-
decorateFieldV2(this.prototype, "showComponent", [tracked], function() {
|
|
1106
|
-
return false;
|
|
1107
|
-
});
|
|
1108
|
-
}
|
|
1109
|
-
#showComponent = (initializeDeferredDecorator(this, "showComponent"), void 0);
|
|
1110
|
-
static {
|
|
1111
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1112
|
-
}
|
|
1113
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1114
|
-
}
|
|
1115
|
-
let driver = new Driver();
|
|
1116
|
-
class ResourceConsumer extends Component {
|
|
1117
|
-
resource = getCard(this, () => driver.id);
|
|
1118
|
-
get renderedCard() {
|
|
1119
|
-
return this.resource.card?.constructor.getComponent(this.resource.card);
|
|
1120
|
-
}
|
|
1121
|
-
static {
|
|
1122
|
-
setComponentTemplate(templateFactory({
|
|
1123
|
-
"id": "XWrL4bCI",
|
|
1124
|
-
"block": "[[[41,[30,0,[\"resource\",\"card\"]],[[[1,\" \"],[8,[30,0,[\"renderedCard\"]],[[16,\"data-test-rendered-card\",[30,0,[\"resource\",\"id\"]]]],null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1125
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1126
|
-
"isStrictMode": true
|
|
1127
|
-
}), this);
|
|
1128
|
-
}
|
|
1129
|
-
}
|
|
1130
|
-
await renderComponent(class TestDriver extends Component {
|
|
1131
|
-
static {
|
|
1132
|
-
setComponentTemplate(templateFactory({
|
|
1133
|
-
"id": "hNRtWalG",
|
|
1134
|
-
"block": "[[[41,[32,0,[\"showComponent\"]],[[[1,\" \"],[8,[32,1],null,null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1135
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1136
|
-
"scope": () => [driver, ResourceConsumer],
|
|
1137
|
-
"isStrictMode": true
|
|
1138
|
-
}), this);
|
|
1139
|
-
}
|
|
1140
|
-
});
|
|
1141
|
-
driver.showComponent = true;
|
|
1142
|
-
let jade = `${testRealmURL}Person/jade`;
|
|
1143
|
-
let hassan = `${testRealmURL}Person/hassan`;
|
|
1144
|
-
driver.id = hassan;
|
|
1145
|
-
await waitFor(`[data-test-rendered-card="${hassan}"]`);
|
|
1146
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 0, `reference count for ${jade} is 0`);
|
|
1147
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 1, `reference count for ${hassan} is 1`);
|
|
1148
|
-
driver.id = jade;
|
|
1149
|
-
await waitFor(`[data-test-rendered-card="${jade}"]`);
|
|
1150
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1151
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 0, `reference count for ${hassan} is 0`);
|
|
1152
|
-
driver.showComponent = false;
|
|
1153
|
-
await waitFor(`[data-test-rendered-card]`, { count: 0 });
|
|
1154
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 0, `reference count for ${jade} is 0`);
|
|
1155
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 0, `reference count for ${hassan} is 0`);
|
|
1156
|
-
});
|
|
1157
|
-
(0, import_qunit.test)("reference count is balanced when used with CardResource for file-meta that is destroyed", async function(assert) {
|
|
1158
|
-
class Driver {
|
|
1159
|
-
static {
|
|
1160
|
-
decorateFieldV2(this.prototype, "showComponent", [tracked], function() {
|
|
1161
|
-
return false;
|
|
1162
|
-
});
|
|
1163
|
-
}
|
|
1164
|
-
#showComponent = (initializeDeferredDecorator(this, "showComponent"), void 0);
|
|
1165
|
-
static {
|
|
1166
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1167
|
-
}
|
|
1168
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1169
|
-
}
|
|
1170
|
-
let driver = new Driver();
|
|
1171
|
-
let firstFile = `${testRealmURL}notes.txt`;
|
|
1172
|
-
let secondFile = `${testRealmURL}README.txt`;
|
|
1173
|
-
await testRealm.write("notes.txt", "notes");
|
|
1174
|
-
await testRealm.write("README.txt", "readme");
|
|
1175
|
-
class ResourceConsumer extends Component {
|
|
1176
|
-
resource = getCard(this, () => driver.id, { type: "file-meta" });
|
|
1177
|
-
static {
|
|
1178
|
-
setComponentTemplate(templateFactory({
|
|
1179
|
-
"id": "5jWS7tbo",
|
|
1180
|
-
"block": "[[[41,[30,0,[\"resource\",\"card\"]],[[[1,\" \"],[10,0],[15,\"data-test-rendered-file\",[30,0,[\"resource\",\"id\"]]],[12],[13],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1181
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1182
|
-
"isStrictMode": true
|
|
1183
|
-
}), this);
|
|
1184
|
-
}
|
|
1185
|
-
}
|
|
1186
|
-
await renderComponent(class TestDriver extends Component {
|
|
1187
|
-
static {
|
|
1188
|
-
setComponentTemplate(templateFactory({
|
|
1189
|
-
"id": "hNRtWalG",
|
|
1190
|
-
"block": "[[[41,[32,0,[\"showComponent\"]],[[[1,\" \"],[8,[32,1],null,null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1191
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1192
|
-
"scope": () => [driver, ResourceConsumer],
|
|
1193
|
-
"isStrictMode": true
|
|
1194
|
-
}), this);
|
|
1195
|
-
}
|
|
1196
|
-
});
|
|
1197
|
-
driver.showComponent = true;
|
|
1198
|
-
driver.id = firstFile;
|
|
1199
|
-
await waitFor(`[data-test-rendered-file="${firstFile}"]`);
|
|
1200
|
-
assert.strictEqual(storeService.getReferenceCount(firstFile), 1, `reference count for ${firstFile} is 1`);
|
|
1201
|
-
assert.strictEqual(storeService.getReferenceCount(secondFile), 0, `reference count for ${secondFile} is 0`);
|
|
1202
|
-
driver.id = secondFile;
|
|
1203
|
-
await waitFor(`[data-test-rendered-file="${secondFile}"]`);
|
|
1204
|
-
assert.strictEqual(storeService.getReferenceCount(firstFile), 0, `reference count for ${firstFile} is 0`);
|
|
1205
|
-
assert.strictEqual(storeService.getReferenceCount(secondFile), 1, `reference count for ${secondFile} is 1`);
|
|
1206
|
-
driver.showComponent = false;
|
|
1207
|
-
await waitFor(`[data-test-rendered-file]`, { count: 0 });
|
|
1208
|
-
assert.strictEqual(storeService.getReferenceCount(firstFile), 0, `reference count for ${firstFile} is 0`);
|
|
1209
|
-
assert.strictEqual(storeService.getReferenceCount(secondFile), 0, `reference count for ${secondFile} is 0`);
|
|
1210
|
-
});
|
|
1211
|
-
(0, import_qunit.test)("reference count is balanced during auto saving", async function(assert) {
|
|
1212
|
-
let hassan = `${testRealmURL}Person/hassan`;
|
|
1213
|
-
setCardInOperatorModeState(hassan, "edit");
|
|
1214
|
-
await renderComponent(class TestDriver extends Component {
|
|
1215
|
-
static {
|
|
1216
|
-
setComponentTemplate(templateFactory({
|
|
1217
|
-
"id": "ZD1xwmB+",
|
|
1218
|
-
"block": "[[[8,[32,0],null,[[\"@onClose\"],[[32,1]]],null]],[],[]]",
|
|
1219
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1220
|
-
"scope": () => [OperatorModeContainer, noop],
|
|
1221
|
-
"isStrictMode": true
|
|
1222
|
-
}), this);
|
|
1223
|
-
}
|
|
1224
|
-
});
|
|
1225
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 1, `reference count for ${hassan} is 1`);
|
|
1226
|
-
await withSlowSave(1e3, async () => {
|
|
1227
|
-
await typeIn(`[data-test-stack-card="${testRealmURL}Person/hassan"] [data-test-field="name"] input`, " Paper");
|
|
1228
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 1, `reference count for ${hassan} is 1`);
|
|
1229
|
-
});
|
|
1230
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 1, `reference count for ${hassan} is 1`);
|
|
1231
|
-
});
|
|
1232
|
-
(0, import_qunit.test)("reference count is balanced when used with CardCollectionResource that is destroyed", async function(assert) {
|
|
1233
|
-
class Driver {
|
|
1234
|
-
static {
|
|
1235
|
-
decorateFieldV2(this.prototype, "showComponent", [tracked], function() {
|
|
1236
|
-
return false;
|
|
1237
|
-
});
|
|
1238
|
-
}
|
|
1239
|
-
#showComponent = (initializeDeferredDecorator(this, "showComponent"), void 0);
|
|
1240
|
-
static {
|
|
1241
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1242
|
-
}
|
|
1243
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1244
|
-
}
|
|
1245
|
-
let driver = new Driver();
|
|
1246
|
-
class ResourceConsumer extends Component {
|
|
1247
|
-
resource = getCardCollection(this, () => driver.id ? [driver.id] : []);
|
|
1248
|
-
get card() {
|
|
1249
|
-
return this.resource.cards[0];
|
|
1250
|
-
}
|
|
1251
|
-
get renderedCard() {
|
|
1252
|
-
return this.card?.constructor.getComponent(this.card);
|
|
1253
|
-
}
|
|
1254
|
-
static {
|
|
1255
|
-
setComponentTemplate(templateFactory({
|
|
1256
|
-
"id": "99aOV2w7",
|
|
1257
|
-
"block": "[[[41,[30,0,[\"card\"]],[[[1,\" \"],[8,[30,0,[\"renderedCard\"]],[[16,\"data-test-rendered-card\",[30,0,[\"card\",\"id\"]]]],null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1258
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1259
|
-
"isStrictMode": true
|
|
1260
|
-
}), this);
|
|
1261
|
-
}
|
|
1262
|
-
}
|
|
1263
|
-
await renderComponent(class TestDriver extends Component {
|
|
1264
|
-
static {
|
|
1265
|
-
setComponentTemplate(templateFactory({
|
|
1266
|
-
"id": "hNRtWalG",
|
|
1267
|
-
"block": "[[[41,[32,0,[\"showComponent\"]],[[[1,\" \"],[8,[32,1],null,null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1268
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1269
|
-
"scope": () => [driver, ResourceConsumer],
|
|
1270
|
-
"isStrictMode": true
|
|
1271
|
-
}), this);
|
|
1272
|
-
}
|
|
1273
|
-
});
|
|
1274
|
-
driver.showComponent = true;
|
|
1275
|
-
let jade = `${testRealmURL}Person/jade`;
|
|
1276
|
-
let hassan = `${testRealmURL}Person/hassan`;
|
|
1277
|
-
driver.id = hassan;
|
|
1278
|
-
await waitFor(`[data-test-rendered-card="${hassan}"]`);
|
|
1279
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 0, `reference count for ${jade} is 0`);
|
|
1280
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 1, `reference count for ${hassan} is 1`);
|
|
1281
|
-
driver.id = jade;
|
|
1282
|
-
await waitFor(`[data-test-rendered-card="${jade}"]`);
|
|
1283
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1284
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 0, `reference count for ${hassan} is 0`);
|
|
1285
|
-
driver.showComponent = false;
|
|
1286
|
-
await waitFor(`[data-test-rendered-card]`, { count: 0 });
|
|
1287
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 0, `reference count for ${jade} is 0`);
|
|
1288
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 0, `reference count for ${hassan} is 0`);
|
|
1289
|
-
});
|
|
1290
|
-
(0, import_qunit.test)("reference count is balanced when used with SearchResource that is destroyed", async function(assert) {
|
|
1291
|
-
class Driver {
|
|
1292
|
-
static {
|
|
1293
|
-
decorateFieldV2(this.prototype, "showComponent", [tracked], function() {
|
|
1294
|
-
return false;
|
|
1295
|
-
});
|
|
1296
|
-
}
|
|
1297
|
-
#showComponent = (initializeDeferredDecorator(this, "showComponent"), void 0);
|
|
1298
|
-
static {
|
|
1299
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1300
|
-
}
|
|
1301
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1302
|
-
}
|
|
1303
|
-
let driver = new Driver();
|
|
1304
|
-
class ResourceConsumer extends Component {
|
|
1305
|
-
static {
|
|
1306
|
-
decorateFieldV2(this.prototype, "store", [service]);
|
|
1307
|
-
}
|
|
1308
|
-
#store = (initializeDeferredDecorator(this, "store"), void 0);
|
|
1309
|
-
get resource() {
|
|
1310
|
-
return this.store.getSearchResource(this, () => driver.id ? { filter: {
|
|
1311
|
-
on: baseCardRef,
|
|
1312
|
-
eq: { id: driver.id }
|
|
1313
|
-
} } : void 0);
|
|
1314
|
-
}
|
|
1315
|
-
static {
|
|
1316
|
-
decorateMethodV2(this.prototype, "resource", [cached]);
|
|
1317
|
-
}
|
|
1318
|
-
get card() {
|
|
1319
|
-
return this.resource.instances[0];
|
|
1320
|
-
}
|
|
1321
|
-
static {
|
|
1322
|
-
setComponentTemplate(templateFactory({
|
|
1323
|
-
"id": "F3i58yQO",
|
|
1324
|
-
"block": "[[[41,[30,0,[\"card\"]],[[[1,\" \"],[10,0],[15,\"data-test-rendered-card\",[30,0,[\"card\",\"id\"]]],[12],[1,\"\\n \"],[1,[30,0,[\"card\",\"id\"]]],[1,\"\\n \"],[13],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1325
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1326
|
-
"isStrictMode": true
|
|
1327
|
-
}), this);
|
|
1328
|
-
}
|
|
1329
|
-
}
|
|
1330
|
-
await renderComponent(class TestDriver extends Component {
|
|
1331
|
-
static {
|
|
1332
|
-
setComponentTemplate(templateFactory({
|
|
1333
|
-
"id": "hNRtWalG",
|
|
1334
|
-
"block": "[[[41,[32,0,[\"showComponent\"]],[[[1,\" \"],[8,[32,1],null,null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1335
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1336
|
-
"scope": () => [driver, ResourceConsumer],
|
|
1337
|
-
"isStrictMode": true
|
|
1338
|
-
}), this);
|
|
1339
|
-
}
|
|
1340
|
-
});
|
|
1341
|
-
driver.showComponent = true;
|
|
1342
|
-
let jade = `${testRealmURL}Person/jade`;
|
|
1343
|
-
let hassan = `${testRealmURL}Person/hassan`;
|
|
1344
|
-
driver.id = hassan;
|
|
1345
|
-
await waitUntil(() => storeService.getReferenceCount(hassan) === 1 && storeService.getReferenceCount(jade) === 0, { timeout: 1e4 });
|
|
1346
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 0, `reference count for ${jade} is 0`);
|
|
1347
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 1, `reference count for ${hassan} is 1`);
|
|
1348
|
-
driver.id = jade;
|
|
1349
|
-
await waitUntil(() => storeService.getReferenceCount(jade) === 1 && storeService.getReferenceCount(hassan) === 0, { timeout: 1e4 });
|
|
1350
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1351
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 0, `reference count for ${hassan} is 0`);
|
|
1352
|
-
driver.showComponent = false;
|
|
1353
|
-
await waitUntil(() => storeService.getReferenceCount(jade) === 0 && storeService.getReferenceCount(hassan) === 0, { timeout: 1e4 });
|
|
1354
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 0, `reference count for ${jade} is 0`);
|
|
1355
|
-
assert.strictEqual(storeService.getReferenceCount(hassan), 0, `reference count for ${hassan} is 0`);
|
|
1356
|
-
});
|
|
1357
|
-
(0, import_qunit.test)("reference count is balanced when used with SearchResource that live updates when there is a index event", async function(assert) {
|
|
1358
|
-
class Driver {
|
|
1359
|
-
static {
|
|
1360
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1361
|
-
}
|
|
1362
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1363
|
-
}
|
|
1364
|
-
let driver = new Driver();
|
|
1365
|
-
class ResourceConsumer extends Component {
|
|
1366
|
-
static {
|
|
1367
|
-
decorateFieldV2(this.prototype, "store", [service]);
|
|
1368
|
-
}
|
|
1369
|
-
#store = (initializeDeferredDecorator(this, "store"), void 0);
|
|
1370
|
-
get resource() {
|
|
1371
|
-
return this.store.getSearchResource(this, () => driver.id ? { filter: {
|
|
1372
|
-
on: baseCardRef,
|
|
1373
|
-
eq: { id: driver.id }
|
|
1374
|
-
} } : void 0, void 0, { isLive: true });
|
|
1375
|
-
}
|
|
1376
|
-
static {
|
|
1377
|
-
decorateMethodV2(this.prototype, "resource", [cached]);
|
|
1378
|
-
}
|
|
1379
|
-
get card() {
|
|
1380
|
-
return this.resource.instances[0];
|
|
1381
|
-
}
|
|
1382
|
-
get renderedCard() {
|
|
1383
|
-
return this.card?.constructor.getComponent(this.card);
|
|
1384
|
-
}
|
|
1385
|
-
static {
|
|
1386
|
-
setComponentTemplate(templateFactory({
|
|
1387
|
-
"id": "99aOV2w7",
|
|
1388
|
-
"block": "[[[41,[30,0,[\"card\"]],[[[1,\" \"],[8,[30,0,[\"renderedCard\"]],[[16,\"data-test-rendered-card\",[30,0,[\"card\",\"id\"]]]],null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1389
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1390
|
-
"isStrictMode": true
|
|
1391
|
-
}), this);
|
|
1392
|
-
}
|
|
1393
|
-
}
|
|
1394
|
-
await renderComponent(class TestDriver extends Component {
|
|
1395
|
-
static {
|
|
1396
|
-
setComponentTemplate(templateFactory({
|
|
1397
|
-
"id": "HtmuKyv7",
|
|
1398
|
-
"block": "[[[8,[32,0],null,null,null]],[],[]]",
|
|
1399
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1400
|
-
"scope": () => [ResourceConsumer],
|
|
1401
|
-
"isStrictMode": true
|
|
1402
|
-
}), this);
|
|
1403
|
-
}
|
|
1404
|
-
});
|
|
1405
|
-
let jade = `${testRealmURL}Person/jade`;
|
|
1406
|
-
driver.id = jade;
|
|
1407
|
-
await waitFor(`[data-test-rendered-card="${jade}"]`, { timeout: 5e3 });
|
|
1408
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1409
|
-
let deferred = new Deferred();
|
|
1410
|
-
let unsubscribe = getService("message-service").subscribe(testRealmURL, (ev) => {
|
|
1411
|
-
if (ev.eventName === "index" && ev.indexType === "incremental") {
|
|
1412
|
-
unsubscribe();
|
|
1413
|
-
deferred.fulfill();
|
|
1414
|
-
}
|
|
1415
|
-
});
|
|
1416
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1417
|
-
attributes: { name: "Paper" },
|
|
1418
|
-
meta: { adoptsFrom: {
|
|
1419
|
-
module: testRRI("person"),
|
|
1420
|
-
name: "Person"
|
|
1421
|
-
} }
|
|
1422
|
-
} }));
|
|
1423
|
-
await deferred.promise;
|
|
1424
|
-
deferred = new Deferred();
|
|
1425
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1426
|
-
attributes: { name: "Paper" },
|
|
1427
|
-
meta: { adoptsFrom: {
|
|
1428
|
-
module: testRRI("person"),
|
|
1429
|
-
name: "Person"
|
|
1430
|
-
} }
|
|
1431
|
-
} }));
|
|
1432
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1433
|
-
});
|
|
1434
|
-
(0, import_qunit.test)("reference count is balanced when used with CardCollectionResource when there is a index event", async function(assert) {
|
|
1435
|
-
class Driver {
|
|
1436
|
-
static {
|
|
1437
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1438
|
-
}
|
|
1439
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1440
|
-
}
|
|
1441
|
-
let driver = new Driver();
|
|
1442
|
-
class ResourceConsumer extends Component {
|
|
1443
|
-
resource = getCardCollection(this, () => driver.id ? [driver.id] : []);
|
|
1444
|
-
get card() {
|
|
1445
|
-
return this.resource.cards[0];
|
|
1446
|
-
}
|
|
1447
|
-
get renderedCard() {
|
|
1448
|
-
return this.card?.constructor.getComponent(this.card);
|
|
1449
|
-
}
|
|
1450
|
-
static {
|
|
1451
|
-
setComponentTemplate(templateFactory({
|
|
1452
|
-
"id": "99aOV2w7",
|
|
1453
|
-
"block": "[[[41,[30,0,[\"card\"]],[[[1,\" \"],[8,[30,0,[\"renderedCard\"]],[[16,\"data-test-rendered-card\",[30,0,[\"card\",\"id\"]]]],null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1454
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1455
|
-
"isStrictMode": true
|
|
1456
|
-
}), this);
|
|
1457
|
-
}
|
|
1458
|
-
}
|
|
1459
|
-
await renderComponent(class TestDriver extends Component {
|
|
1460
|
-
static {
|
|
1461
|
-
setComponentTemplate(templateFactory({
|
|
1462
|
-
"id": "HtmuKyv7",
|
|
1463
|
-
"block": "[[[8,[32,0],null,null,null]],[],[]]",
|
|
1464
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1465
|
-
"scope": () => [ResourceConsumer],
|
|
1466
|
-
"isStrictMode": true
|
|
1467
|
-
}), this);
|
|
1468
|
-
}
|
|
1469
|
-
});
|
|
1470
|
-
let jade = `${testRealmURL}Person/jade`;
|
|
1471
|
-
driver.id = jade;
|
|
1472
|
-
await waitFor(`[data-test-rendered-card="${jade}"]`, { timeout: 5e3 });
|
|
1473
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1474
|
-
let deferred = new Deferred();
|
|
1475
|
-
let unsubscribe = getService("message-service").subscribe(testRealmURL, (ev) => {
|
|
1476
|
-
if (ev.eventName === "index" && ev.indexType === "incremental") {
|
|
1477
|
-
unsubscribe();
|
|
1478
|
-
deferred.fulfill();
|
|
1479
|
-
}
|
|
1480
|
-
});
|
|
1481
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1482
|
-
attributes: { name: "Paper" },
|
|
1483
|
-
meta: { adoptsFrom: {
|
|
1484
|
-
module: testRRI("person"),
|
|
1485
|
-
name: "Person"
|
|
1486
|
-
} }
|
|
1487
|
-
} }));
|
|
1488
|
-
await deferred.promise;
|
|
1489
|
-
deferred = new Deferred();
|
|
1490
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1491
|
-
attributes: { name: "Paper" },
|
|
1492
|
-
meta: { adoptsFrom: {
|
|
1493
|
-
module: testRRI("person"),
|
|
1494
|
-
name: "Person"
|
|
1495
|
-
} }
|
|
1496
|
-
} }));
|
|
1497
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1498
|
-
});
|
|
1499
|
-
(0, import_qunit.test)("reference count is balanced when used with CardResource when there is a index event", async function(assert) {
|
|
1500
|
-
class Driver {
|
|
1501
|
-
static {
|
|
1502
|
-
decorateFieldV2(this.prototype, "id", [tracked]);
|
|
1503
|
-
}
|
|
1504
|
-
#id = (initializeDeferredDecorator(this, "id"), void 0);
|
|
1505
|
-
}
|
|
1506
|
-
let driver = new Driver();
|
|
1507
|
-
class ResourceConsumer extends Component {
|
|
1508
|
-
resource = getCard(this, () => driver.id);
|
|
1509
|
-
get renderedCard() {
|
|
1510
|
-
return this.resource.card?.constructor.getComponent(this.resource.card);
|
|
1511
|
-
}
|
|
1512
|
-
static {
|
|
1513
|
-
setComponentTemplate(templateFactory({
|
|
1514
|
-
"id": "XWrL4bCI",
|
|
1515
|
-
"block": "[[[41,[30,0,[\"resource\",\"card\"]],[[[1,\" \"],[8,[30,0,[\"renderedCard\"]],[[16,\"data-test-rendered-card\",[30,0,[\"resource\",\"id\"]]]],null,null],[1,\"\\n\"]],[]],null]],[],[\"if\"]]",
|
|
1516
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1517
|
-
"isStrictMode": true
|
|
1518
|
-
}), this);
|
|
1519
|
-
}
|
|
1520
|
-
}
|
|
1521
|
-
await renderComponent(class TestDriver extends Component {
|
|
1522
|
-
static {
|
|
1523
|
-
setComponentTemplate(templateFactory({
|
|
1524
|
-
"id": "HtmuKyv7",
|
|
1525
|
-
"block": "[[[8,[32,0],null,null,null]],[],[]]",
|
|
1526
|
-
"moduleName": "/home/runner/work/boxel/boxel/packages/host/tests/integration/store-test.gts",
|
|
1527
|
-
"scope": () => [ResourceConsumer],
|
|
1528
|
-
"isStrictMode": true
|
|
1529
|
-
}), this);
|
|
1530
|
-
}
|
|
1531
|
-
});
|
|
1532
|
-
let jade = `${testRealmURL}Person/jade`;
|
|
1533
|
-
driver.id = jade;
|
|
1534
|
-
await waitFor(`[data-test-rendered-card="${jade}"]`, { timeout: 5e3 });
|
|
1535
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1536
|
-
let deferred = new Deferred();
|
|
1537
|
-
let unsubscribe = getService("message-service").subscribe(testRealmURL, (ev) => {
|
|
1538
|
-
if (ev.eventName === "index" && ev.indexType === "incremental") {
|
|
1539
|
-
unsubscribe();
|
|
1540
|
-
deferred.fulfill();
|
|
1541
|
-
}
|
|
1542
|
-
});
|
|
1543
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1544
|
-
attributes: { name: "Paper" },
|
|
1545
|
-
meta: { adoptsFrom: {
|
|
1546
|
-
module: testRRI("person"),
|
|
1547
|
-
name: "Person"
|
|
1548
|
-
} }
|
|
1549
|
-
} }));
|
|
1550
|
-
await deferred.promise;
|
|
1551
|
-
deferred = new Deferred();
|
|
1552
|
-
await testRealm.write("Person/hassan.json", JSON.stringify({ data: {
|
|
1553
|
-
attributes: { name: "Paper" },
|
|
1554
|
-
meta: { adoptsFrom: {
|
|
1555
|
-
module: testRRI("person"),
|
|
1556
|
-
name: "Person"
|
|
1557
|
-
} }
|
|
1558
|
-
} }));
|
|
1559
|
-
assert.strictEqual(storeService.getReferenceCount(jade), 1, `reference count for ${jade} is 1`);
|
|
1560
|
-
});
|
|
1561
|
-
});
|
|
1562
|
-
//#endregion
|