@cardstack/boxel-cli 0.12.0-unstable.13 → 0.12.0-unstable.14
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/bundled-test-harness/assets/{ai-module-creation-test-D9FuBmi8.js → ai-module-creation-test-BuOdKEfn.js} +1 -1
- package/bundled-test-harness/assets/{app-B6ALqYQD.js → app-DFQ4JqlP.js} +2 -2
- package/bundled-test-harness/assets/{binary-upload-dedupe-test-eI1yGxdL.js → binary-upload-dedupe-test-jbrJQUz0.js} +1 -1
- package/bundled-test-harness/assets/{can-invoke-test-5enpsRYF.js → can-invoke-test-DoWzbZ8k.js} +1 -1
- package/bundled-test-harness/assets/{card-chooser-paging-test-CdtsXIpu.js → card-chooser-paging-test-VRmsX6sY.js} +1 -1
- package/bundled-test-harness/assets/{card-chooser-test-CpUK3_Su.js → card-chooser-test-CgrV_vWi.js} +1 -1
- package/bundled-test-harness/assets/{card-def-field-def-relationships-test-Z1O-t73y.js → card-def-field-def-relationships-test-BHQoFm4_.js} +1 -1
- package/bundled-test-harness/assets/{card-delete-test-DI16JAzu.js → card-delete-test-DCmoRd03.js} +1 -1
- package/bundled-test-harness/assets/{codeblocks-test-DEaQeMcn.js → codeblocks-test-DQU6dnQH.js} +1 -1
- package/bundled-test-harness/assets/{compaction-test-DliwzHTd.js → compaction-test-B7JuwjQ7.js} +1 -1
- package/bundled-test-harness/assets/{container-BHHKErdI.js → container-CwRfjGxi.js} +1 -1
- package/bundled-test-harness/assets/{create-listing-modal-test-BZiD6UL9.js → create-listing-modal-test-CxkuYwnv.js} +1 -1
- package/bundled-test-harness/assets/{debug-message-test-D7VEbny3.js → debug-message-test-CyrcsddQ.js} +1 -1
- package/bundled-test-harness/assets/{fallback-banner-live-delete-test-DwXohU1S.js → fallback-banner-live-delete-test-Bxxt9EBl.js} +1 -1
- package/bundled-test-harness/assets/{fallback-banner-test-jEmNTOeh.js → fallback-banner-test-BzmDOq0F.js} +1 -1
- package/bundled-test-harness/assets/{fallback-models-test-BfgkQJ8l.js → fallback-models-test-mZvUg3zI.js} +1 -1
- package/bundled-test-harness/assets/{file-attachment-test-CaX44AfG.js → file-attachment-test-ybs1HRMC.js} +1 -1
- package/bundled-test-harness/assets/{general-test-zz1QVTIv.js → general-test-jB4EQTh8.js} +1 -1
- package/bundled-test-harness/assets/{main-CYiHxOxo.js → main-uvgWNg1U.js} +1 -1
- package/bundled-test-harness/assets/{model-cost-tier-test-DcEeQJwF.js → model-cost-tier-test-BPCl0EeO.js} +1 -1
- package/bundled-test-harness/assets/{operator-mode-card-chooser-test-DYSf_9jJ.js → operator-mode-card-chooser-test-D8RfBsEc.js} +1 -1
- package/bundled-test-harness/assets/{operator-mode-links-test-BA3gjmzY.js → operator-mode-links-test-DmpvnpHI.js} +1 -1
- package/bundled-test-harness/assets/{operator-mode-test-C6iSqlfM.js → operator-mode-test-BeCWE8qH.js} +1 -1
- package/bundled-test-harness/assets/{operator-mode-ui-test-BFGw2suP.js → operator-mode-ui-test-D0k0pr1Z.js} +1 -1
- package/bundled-test-harness/assets/{overlay-menu-items-test-Ch351wNL.js → overlay-menu-items-test-l4-oOOi5.js} +1 -1
- package/bundled-test-harness/assets/{panel-B8BaMllL.js → panel-8nNZbvzg.js} +16 -4
- package/bundled-test-harness/assets/{past-sessions-test-DoVlENnJ.js → past-sessions-test-DrJ_h58w.js} +1 -1
- package/bundled-test-harness/assets/{permission-checking-realm-test-BrBeo81O.js → permission-checking-realm-test-CL_nySH1.js} +1 -1
- package/bundled-test-harness/assets/{quick-look-test-InFXyTqv.js → quick-look-test-DMfAGvgd.js} +1 -1
- package/bundled-test-harness/assets/{realm-api-keys-test-Bgg-gi56.js → realm-api-keys-test-DVkuepc8.js} +1 -1
- package/bundled-test-harness/assets/{realm-config-policy-standing-test-BIEwUQYA.js → realm-config-policy-standing-test-DXS8kYVC.js} +1 -1
- package/bundled-test-harness/assets/{realm-config-routing-rule-edit-test-CDj8rdvZ.js → realm-config-routing-rule-edit-test-CPTifvXx.js} +1 -1
- package/bundled-test-harness/assets/{realm-config-settings-test-Csi-H8bJ.js → realm-config-settings-test-Civ3ZVxT.js} +1 -1
- package/bundled-test-harness/assets/{reasoning-test-MNcXjMV3.js → reasoning-test-DYSQdtDZ.js} +1 -1
- package/bundled-test-harness/assets/{room-message-test-DxMyOu8L.js → room-message-test-CSbclniG.js} +1 -1
- package/bundled-test-harness/assets/{run-realm-code-test-DTXPkVu_.js → run-realm-code-test-B9KJIaYx.js} +81 -0
- package/bundled-test-harness/assets/{scrolling-test-6-Soq39G.js → scrolling-test-nDHEhgzp.js} +2 -2
- package/bundled-test-harness/assets/{sending-test-DXOw4MlE.js → sending-test-CjrOIeGV.js} +1 -1
- package/bundled-test-harness/assets/{skills-test-BiUE1x5l.js → skills-test-Be4crUyO.js} +1 -1
- package/bundled-test-harness/assets/{store-test-Cbf2xZ40.js → store-test-BCyLVXZY.js} +1 -1
- package/bundled-test-harness/assets/{tests-Blos5s0A.js → tests-DbU4zMsp.js} +43 -43
- package/bundled-test-harness/assets/{text-input-validator-test-BxG8Dc2i.js → text-input-validator-test-DZuVdEKj.js} +1 -1
- package/bundled-test-harness/assets/{to-device-streaming-test-CGuKaubC.js → to-device-streaming-test-C3i5WmnX.js} +1 -1
- package/bundled-test-harness/assets/{token-usage-test-DJJmXyD8.js → token-usage-test-1AWgVaXO.js} +1 -1
- package/bundled-test-harness/assets/{tools-test-DxDvBhPf.js → tools-test-BSmxEyfO.js} +1 -1
- package/bundled-test-harness/assets/{turn-settling-test-Co2Dmnzm.js → turn-settling-test-S3ROiZu9.js} +1 -1
- package/bundled-test-harness/index.html +5 -5
- package/bundled-test-harness/tests/index.html +5 -5
- package/bundled-types/host-app/services/tool-service.ts +36 -5
- package/dist/index.js +269 -269
- package/package.json +1 -1
- package/src/commands/keys/approve.ts +2 -1
- package/src/commands/keys/index.ts +12 -3
- package/src/commands/keys/manage.ts +43 -15
- package/src/lib/key-bindings.ts +2 -1
- package/src/lib/user-keys.ts +43 -4
|
@@ -6,7 +6,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
|
|
|
6
6
|
import "./component-BJO47HTh.js";
|
|
7
7
|
import { t as Component } from "./dist-CkA1rgqO.js";
|
|
8
8
|
import "./template-factory-ds9s0u8l.js";
|
|
9
|
-
import { t as OperatorModeContainer } from "./container-
|
|
9
|
+
import { t as OperatorModeContainer } from "./container-CwRfjGxi.js";
|
|
10
10
|
import { T as settled, f as focus, r as typeIn, s as fillIn } from "./dist-BOAdzfkP.js";
|
|
11
11
|
import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
|
|
12
12
|
import { F as setupLocalIndexing, I as setupOnSave, L as setupRealmCacheTeardown, P as setupIntegrationTestRealm, Z as withCachedRealmSetup, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-DdU0AA7E.js";
|
|
@@ -5,7 +5,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
|
|
|
5
5
|
import "./component-BJO47HTh.js";
|
|
6
6
|
import { t as Component } from "./dist-CkA1rgqO.js";
|
|
7
7
|
import "./template-factory-ds9s0u8l.js";
|
|
8
|
-
import { t as OperatorModeContainer } from "./container-
|
|
8
|
+
import { t as OperatorModeContainer } from "./container-CwRfjGxi.js";
|
|
9
9
|
import { M as waitUntil, T as settled, d as click, o as waitFor } from "./dist-BOAdzfkP.js";
|
|
10
10
|
import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
|
|
11
11
|
import { D as realmConfigCardJSON, F as setupLocalIndexing, I as setupOnSave, L as setupRealmCacheTeardown, M as setupCardLogs, P as setupIntegrationTestRealm, Z as withCachedRealmSetup, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-DdU0AA7E.js";
|
package/bundled-test-harness/assets/{token-usage-test-DJJmXyD8.js → token-usage-test-1AWgVaXO.js}
RENAMED
|
@@ -5,7 +5,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
|
|
|
5
5
|
import "./component-BJO47HTh.js";
|
|
6
6
|
import { t as Component } from "./dist-CkA1rgqO.js";
|
|
7
7
|
import "./template-factory-ds9s0u8l.js";
|
|
8
|
-
import { t as OperatorModeContainer } from "./container-
|
|
8
|
+
import { t as OperatorModeContainer } from "./container-CwRfjGxi.js";
|
|
9
9
|
import { M as waitUntil, d as click, o as waitFor } from "./dist-BOAdzfkP.js";
|
|
10
10
|
import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
|
|
11
11
|
import { D as realmConfigCardJSON, F as setupLocalIndexing, I as setupOnSave, L as setupRealmCacheTeardown, M as setupCardLogs, P as setupIntegrationTestRealm, Z as withCachedRealmSetup, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-DdU0AA7E.js";
|
|
@@ -10,7 +10,7 @@ import { n as Submodes } from "./submode-switcher-DhQ6G-Pw.js";
|
|
|
10
10
|
import "./component-BJO47HTh.js";
|
|
11
11
|
import { t as Component } from "./dist-CkA1rgqO.js";
|
|
12
12
|
import "./template-factory-ds9s0u8l.js";
|
|
13
|
-
import { t as OperatorModeContainer } from "./container-
|
|
13
|
+
import { t as OperatorModeContainer } from "./container-CwRfjGxi.js";
|
|
14
14
|
import { t as STOPPED_TOOL_CALL_REASON } from "./stop-LNO-7c1N.js";
|
|
15
15
|
import { M as waitUntil, T as settled, a as find, d as click, o as waitFor, s as fillIn } from "./dist-BOAdzfkP.js";
|
|
16
16
|
import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
|
|
@@ -5,7 +5,7 @@ import { H as templateFactory } from "./index-DaCZcoCY-CgzbilMy.js";
|
|
|
5
5
|
import "./component-BJO47HTh.js";
|
|
6
6
|
import { t as Component } from "./dist-CkA1rgqO.js";
|
|
7
7
|
import "./template-factory-ds9s0u8l.js";
|
|
8
|
-
import { t as OperatorModeContainer } from "./container-
|
|
8
|
+
import { t as OperatorModeContainer } from "./container-CwRfjGxi.js";
|
|
9
9
|
import { T as settled, d as click, o as waitFor } from "./dist-BOAdzfkP.js";
|
|
10
10
|
import { t as require_qunit } from "./qunit-C-Foo4Nd.js";
|
|
11
11
|
import { D as realmConfigCardJSON, F as setupLocalIndexing, I as setupOnSave, L as setupRealmCacheTeardown, M as setupCardLogs, P as setupIntegrationTestRealm, Z as withCachedRealmSetup, lt as setupRenderingTest, ot as setupOperatorModeStateCleanup, t as setupMockMatrix } from "./mock-matrix-DdU0AA7E.js";
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
boxelComponentL3, boxelComponentL4;
|
|
13
13
|
</style>
|
|
14
14
|
|
|
15
|
-
<meta name="@cardstack/host/config/environment" content="%7B%22modulePrefix%22%3A%22%40cardstack%2Fhost%22%2C%22environment%22%3A%22development%22%2C%22hostedEnvironment%22%3A%22local%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22history%22%2C%22EmberENV%22%3A%7B%22EXTEND_PROTOTYPES%22%3Afalse%2C%22FEATURES%22%3A%7B%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%220.0.0%
|
|
15
|
+
<meta name="@cardstack/host/config/environment" content="%7B%22modulePrefix%22%3A%22%40cardstack%2Fhost%22%2C%22environment%22%3A%22development%22%2C%22hostedEnvironment%22%3A%22local%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22history%22%2C%22EmberENV%22%3A%7B%22EXTEND_PROTOTYPES%22%3Afalse%2C%22FEATURES%22%3A%7B%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%220.0.0%2B9c7d83d3%22%7D%2C%22ember-cli-mirage%22%3A%7B%22enabled%22%3Afalse%7D%2C%22logLevels%22%3A%22*%3Dinfo%2Cmatrix%3Dinfo%2Crealm%3Aevents%3Ddebug%22%2C%22matrixURL%22%3A%22http%3A%2F%2Flocalhost%3A8008%22%2C%22matrixServerName%22%3A%22localhost%22%2C%22autoSaveDelayMs%22%3A500%2C%22autoSaveQuietPeriodMs%22%3A1500%2C%22autoSaveMaxWaitMs%22%3A10000%2C%22monacoDebounceMs%22%3A500%2C%22monacoCursorDebounceMs%22%3A200%2C%22loginMessageTimeoutMs%22%3A1000%2C%22minSaveTaskDurationMs%22%3A1000%2C%22cardRenderTimeout%22%3A30000%2C%22cardSizeLimitBytes%22%3A524288%2C%22fileSizeLimitBytes%22%3A5242880%2C%22audioSizeLimitBytes%22%3A20971520%2C%22videoSizeLimitBytes%22%3A52428800%2C%22iconsURL%22%3A%22http%3A%2F%2Flocalhost%3A4206%22%2C%22secureOriginURL%22%3A%22https%3A%2F%2Flocalhost%3A4208%2Fsecure%22%2C%22publishedRealmBoxelSpaceDomain%22%3A%22localhost%3A4201%22%2C%22publishedRealmBoxelSiteDomain%22%3A%22localhost%3A4201%22%2C%22hostsOwnAssets%22%3Atrue%2C%22hostRoutingMap%22%3A%5B%5D%2C%22realmServerURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2F%22%2C%22resolvedBaseRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fbase%2F%22%2C%22resolvedCatalogRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fcatalog%2F%22%2C%22resolvedSkillsRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fskills%2F%22%2C%22resolvedOpenRouterRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fopenrouter%2F%22%2C%22resolvedPretuiRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fpretui%2F%22%2C%22resolvedTestRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4202%2Ftest%2F%22%2C%22featureFlags%22%3A%7B%22DASHBOARD_V2%22%3Afalse%7D%2C%22prefixRealmURLs%22%3A%7B%22%40cardstack%2Fbase%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fbase%2F%22%2C%22%40cardstack%2Fcatalog%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fcatalog%2F%22%2C%22%40cardstack%2Fskills%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fskills%2F%22%2C%22%40cardstack%2Fopenrouter%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fopenrouter%2F%22%2C%22%40cardstack%2Fpretui%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fpretui%2F%22%7D%2C%22defaultSystemCardId%22%3A%22%40cardstack%2Fcatalog%2FSystemCard%2Fdefault%22%2C%22defaultFieldSpecId%22%3A%22%40cardstack%2Fcatalog%2FSpec%2Ffields%2Ffield%22%7D">
|
|
16
16
|
|
|
17
17
|
<script>
|
|
18
18
|
// Resolve dynamic-import chunk URLs against the host's distURL rather
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
<meta data-boxel-head-start="">
|
|
122
122
|
<title>Boxel</title>
|
|
123
123
|
<meta data-boxel-head-end="">
|
|
124
|
-
<script type="module" crossorigin="" src="/assets/main-
|
|
124
|
+
<script type="module" crossorigin="" src="/assets/main-uvgWNg1U.js"></script>
|
|
125
125
|
<link rel="modulepreload" crossorigin="" href="/assets/chunk-Rp0pCe6z.js">
|
|
126
126
|
<link rel="modulepreload" crossorigin="" href="/assets/preload-helper-CKDH5-7N.js">
|
|
127
127
|
<link rel="modulepreload" crossorigin="" href="/assets/index-esm-CUymiD6S.js">
|
|
@@ -422,7 +422,7 @@
|
|
|
422
422
|
<link rel="modulepreload" crossorigin="" href="/assets/file-def-attributes-extractor-COOXfEI-.js">
|
|
423
423
|
<link rel="modulepreload" crossorigin="" href="/assets/to-elsewhere-MFFftJ0J.js">
|
|
424
424
|
<link rel="modulepreload" crossorigin="" href="/assets/stick-to-bottom-CPppJpG4.js">
|
|
425
|
-
<link rel="modulepreload" crossorigin="" href="/assets/panel-
|
|
425
|
+
<link rel="modulepreload" crossorigin="" href="/assets/panel-8nNZbvzg.js">
|
|
426
426
|
<link rel="modulepreload" crossorigin="" href="/assets/buffer-DQZcL7h7.js">
|
|
427
427
|
<link rel="modulepreload" crossorigin="" href="/assets/definition-lookup-BlHhcsW7.js">
|
|
428
428
|
<link rel="modulepreload" crossorigin="" href="/assets/auth-error-guard-_11qXPPp.js">
|
|
@@ -483,7 +483,7 @@
|
|
|
483
483
|
<link rel="modulepreload" crossorigin="" href="/assets/last-modified-date-BqFPr09v.js">
|
|
484
484
|
<link rel="modulepreload" crossorigin="" href="/assets/boxel-formatter-CRWFXHNL.js">
|
|
485
485
|
<link rel="modulepreload" crossorigin="" href="/assets/from-elsewhere-ChxbtsBa.js">
|
|
486
|
-
<link rel="modulepreload" crossorigin="" href="/assets/container-
|
|
486
|
+
<link rel="modulepreload" crossorigin="" href="/assets/container-CwRfjGxi.js">
|
|
487
487
|
<link rel="modulepreload" crossorigin="" href="/assets/browser-queue-CJX1HCT9.js">
|
|
488
488
|
<link rel="modulepreload" crossorigin="" href="/assets/bundled-base-D1quSEK5.js">
|
|
489
489
|
<link rel="modulepreload" crossorigin="" href="/assets/gc-card-store-BxT9BKXv.js">
|
|
@@ -500,7 +500,7 @@
|
|
|
500
500
|
<link rel="modulepreload" crossorigin="" href="/assets/operation-ledger-Bz-teyo3.js">
|
|
501
501
|
<link rel="modulepreload" crossorigin="" href="/assets/operations-p2DqoD5M.js">
|
|
502
502
|
<link rel="modulepreload" crossorigin="" href="/assets/render-diagnostics-CztktD_I.js">
|
|
503
|
-
<link rel="modulepreload" crossorigin="" href="/assets/app-
|
|
503
|
+
<link rel="modulepreload" crossorigin="" href="/assets/app-DFQ4JqlP.js">
|
|
504
504
|
<link rel="stylesheet" crossorigin="" href="/assets/components-xAPF0vFU.css">
|
|
505
505
|
<link rel="stylesheet" crossorigin="" href="/assets/signed-capture-BzA7ETjL.css">
|
|
506
506
|
<link rel="stylesheet" crossorigin="" href="/assets/visually-hidden-Db-usFcG.css">
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
boxelComponentL3, boxelComponentL4;
|
|
14
14
|
</style>
|
|
15
15
|
|
|
16
|
-
<meta name="@cardstack/host/config/environment" content="%7B%22modulePrefix%22%3A%22%40cardstack%2Fhost%22%2C%22environment%22%3A%22test%22%2C%22hostedEnvironment%22%3A%22local%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22none%22%2C%22EmberENV%22%3A%7B%22EXTEND_PROTOTYPES%22%3Afalse%2C%22FEATURES%22%3A%7B%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%220.0.0%2B2a8eb86c%22%2C%22LOG_ACTIVE_GENERATION%22%3Afalse%2C%22LOG_VIEW_LOOKUPS%22%3Afalse%2C%22rootElement%22%3A%22%23ember-testing%22%2C%22autoboot%22%3Afalse%7D%2C%22ember-cli-mirage%22%3A%7B%22enabled%22%3Afalse%7D%2C%22logLevels%22%3A%22*%3Dinfo%2Cmatrix%3Dinfo%2Crealm%3Aevents%3Ddebug%22%2C%22matrixURL%22%3A%22http%3A%2F%2Flocalhost%3A8008%22%2C%22matrixServerName%22%3A%22localhost%22%2C%22autoSaveDelayMs%22%3A0%2C%22autoSaveQuietPeriodMs%22%3A0%2C%22autoSaveMaxWaitMs%22%3A10000%2C%22monacoDebounceMs%22%3A0%2C%22monacoCursorDebounceMs%22%3A0%2C%22loginMessageTimeoutMs%22%3A0%2C%22minSaveTaskDurationMs%22%3A0%2C%22cardRenderTimeout%22%3A30000%2C%22cardSizeLimitBytes%22%3A524288%2C%22fileSizeLimitBytes%22%3A5242880%2C%22audioSizeLimitBytes%22%3A20971520%2C%22videoSizeLimitBytes%22%3A52428800%2C%22iconsURL%22%3A%22http%3A%2F%2Flocalhost%3A4206%22%2C%22secureOriginURL%22%3A%22https%3A%2F%2Flocalhost%3A4208%2Fsecure%22%2C%22publishedRealmBoxelSpaceDomain%22%3A%22localhost%3A4201%22%2C%22publishedRealmBoxelSiteDomain%22%3A%22localhost%3A4201%22%2C%22hostsOwnAssets%22%3Atrue%2C%22hostRoutingMap%22%3A%5B%5D%2C%22realmServerURL%22%3A%22http%3A%2F%2Ftest-realm%22%2C%22resolvedBaseRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fbase%2F%22%2C%22resolvedSkillsRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fskills%2F%22%2C%22resolvedPretuiRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fpretui%2F%22%2C%22resolvedTestRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4202%2Ftest%2F%22%2C%22featureFlags%22%3A%7B%7D%2C%22prefixRealmURLs%22%3A%7B%22%40cardstack%2Fbase%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fbase%2F%22%2C%22%40cardstack%2Fcatalog%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fcatalog%2F%22%2C%22%40cardstack%2Fskills%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fskills%2F%22%2C%22%40cardstack%2Fopenrouter%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fopenrouter%2F%22%2C%22%40cardstack%2Fpretui%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fpretui%2F%22%7D%2C%22sqlSchema%22%3A%22--%20This%20is%20auto-generated%20by%20packages%2Frealm-server%2Fscripts%2Fconvert-to-sqlite.ts%5Cn--%20Please%20don't%20directly%20modify%20this%20file%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20anonymous_grant_rate_limits%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20grant_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20client_ip%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20window_start%20NOT%20NULL%2C%5Cn%20%20%20window_seconds%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20count%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20expires_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20grant_id%2C%20client_ip%2C%20window_start%2C%20window_seconds%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20bot_commands%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20bot_id%20NOT%20NULL%2C%5Cn%20%20%20command%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20command_filter%20BLOB%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20bot_registrations%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20boxel_index%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20pristine_doc%20BLOB%2C%5Cn%20%20%20search_doc%20BLOB%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20deps%20BLOB%20DEFAULT%20'%5B%5D'%2C%5Cn%20%20%20types%20BLOB%2C%5Cn%20%20%20indexed_at%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20last_modified%2C%5Cn%20%20%20display_names%20BLOB%2C%5Cn%20%20%20resource_created_at%2C%5Cn%20%20%20icon_html%20TEXT%2C%5Cn%20%20%20has_error%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20host_shell_generation%20INTEGER%2C%5Cn%20%20%20source_content_hash%20TEXT%2C%5Cn%20%20%20relationship_deps%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%2C%20realm_url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20boxel_index_pending%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20pristine_doc%20BLOB%2C%5Cn%20%20%20search_doc%20BLOB%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20deps%20BLOB%20DEFAULT%20'%5B%5D'%2C%5Cn%20%20%20types%20BLOB%2C%5Cn%20%20%20indexed_at%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20last_modified%2C%5Cn%20%20%20display_names%20BLOB%2C%5Cn%20%20%20resource_created_at%2C%5Cn%20%20%20icon_html%20TEXT%2C%5Cn%20%20%20has_error%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20host_shell_generation%20INTEGER%2C%5Cn%20%20%20source_content_hash%20TEXT%2C%5Cn%20%20%20job_id%20INTEGER%2C%5Cn%20%20%20staging_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20relationship_deps%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20staging_id%2C%20url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20incoming_webhooks%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20webhook_path%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20verification_type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20verification_config%20BLOB%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20NOT%20NULL%2C%5Cn%20%20%20signing_secret_ciphertext%2C%5Cn%20%20%20signing_secret_nonce%2C%5Cn%20%20%20signing_secret_tag%2C%5Cn%20%20%20signing_secret_key_id%20TEXT%2C%5Cn%20%20%20signing_secret_created_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20media_cache_ledger%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20capture_spec_hash%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20object_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_content_hash%20TEXT%2C%5Cn%20%20%20lane%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20content_type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20size_bytes%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20last_accessed_at%20NOT%20NULL%2C%5Cn%20%20%20width%20INTEGER%2C%5Cn%20%20%20height%20INTEGER%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20rendered_as%20TEXT%20DEFAULT%20''%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20source_url%2C%20capture_spec_hash%2C%20source_generation%2C%20rendered_as%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20module_transpile_cache%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20canonical_path%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20body%20TEXT%2C%5Cn%20%20%20headers%20BLOB%2C%5Cn%20%20%20dependency_keys%20BLOB%2C%5Cn%20%20%20generation%20DEFAULT%200%20NOT%20NULL%2C%5Cn%20%20%20created_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20canonical_path%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20modules%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20cache_scope%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20auth_user_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20resolved_realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20definitions%20BLOB%2C%5Cn%20%20%20deps%20BLOB%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20created_at%2C%5Cn%20%20%20file_alias%20TEXT%2C%5Cn%20%20%20url_hash%20TEXT%20GENERATED%20ALWAYS%20AS%20(url)%20STORED%20NOT%20NULL%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%2C%20cache_scope%2C%20auth_user_id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20prerendered_html%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20fitted_html%20BLOB%2C%5Cn%20%20%20embedded_html%20BLOB%2C%5Cn%20%20%20atom_html%20TEXT%2C%5Cn%20%20%20head_html%20TEXT%2C%5Cn%20%20%20isolated_html%20TEXT%2C%5Cn%20%20%20markdown%20TEXT%2C%5Cn%20%20%20deps%20BLOB%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20rendered_at%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20captures%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%2C%20realm_url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20prerendered_html_pending%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20fitted_html%20BLOB%2C%5Cn%20%20%20embedded_html%20BLOB%2C%5Cn%20%20%20atom_html%20TEXT%2C%5Cn%20%20%20head_html%20TEXT%2C%5Cn%20%20%20isolated_html%20TEXT%2C%5Cn%20%20%20markdown%20TEXT%2C%5Cn%20%20%20deps%20BLOB%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20rendered_at%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20captures%20BLOB%2C%5Cn%20%20%20job_id%20INTEGER%2C%5Cn%20%20%20staging_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20staging_id%2C%20url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20rate_limit_buckets%20(%5Cn%20%20%20bucket_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20tokens%20NOT%20NULL%2C%5Cn%20%20%20refilled_at%20NOT%20NULL%2C%5Cn%20%20%20expires_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20bucket_key%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20rate_limit_budgets%20(%5Cn%20%20%20budget_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20period%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20period_start%20NOT%20NULL%2C%5Cn%20%20%20count%20NOT%20NULL%2C%5Cn%20%20%20expires_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20budget_key%2C%20period%2C%20period_start%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_file_meta%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_path%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20created_at%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20content_hash%20TEXT%2C%5Cn%20%20%20content_size%20INTEGER%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20file_path%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_generations%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20current_generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20loader_epoch%20TEXT%20DEFAULT%20'0'%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_index_commits%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20base_generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20pass_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20job_id%20INTEGER%2C%5Cn%20%20%20urls%20BLOB%2C%5Cn%20%20%20render_only_urls%20BLOB%2C%5Cn%20%20%20full_realm%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20committed_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20generation%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_meta%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20value%20BLOB%20NOT%20NULL%2C%5Cn%20%20%20indexed_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20generation%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_metadata%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20show_as_catalog%20BOOLEAN%2C%5Cn%20%20%20publishable%20BOOLEAN%2C%5Cn%20%20%20created_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20archived_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_registry%20(%5Cn%20%20%20id%20DEFAULT%20(hex(randomblob(16)))%20NOT%20NULL%2C%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20kind%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20disk_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20owner_username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_url%20TEXT%2C%5Cn%20%20%20last_published_at%2C%5Cn%20%20%20pinned%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20created_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_type_generations%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20index_generation%20INTEGER%20DEFAULT%200%20NOT%20NULL%2C%5Cn%20%20%20html_generation%20INTEGER%20DEFAULT%200%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20type_key%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_user_permissions%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20read%20BOOLEAN%20NOT%20NULL%2C%5Cn%20%20%20write%20BOOLEAN%20NOT%20NULL%2C%5Cn%20%20%20realm_owner%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20username%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20scoped_css%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20hash%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20css%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20last_interned_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20hash%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20unlisted_realm_paths%20(%5Cn%20%20%20id%20DEFAULT%20(hex(randomblob(16)))%20NOT%20NULL%2C%5Cn%20%20%20source_realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20slug%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20owner_user_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20created_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20webhook_commands%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20incoming_webhook_id%20NOT%20NULL%2C%5Cn%20%20%20command%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20command_filter%20BLOB%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%22%2C%22defaultSystemCardId%22%3A%22http%3A%2F%2Ftest-realm%2Ftest%2FSystemCard%2Fdefault%22%2C%22defaultFieldSpecId%22%3A%22http%3A%2F%2Ftest-realm%2Ftest%2Ffields%2Ffield%22%7D">
|
|
16
|
+
<meta name="@cardstack/host/config/environment" content="%7B%22modulePrefix%22%3A%22%40cardstack%2Fhost%22%2C%22environment%22%3A%22test%22%2C%22hostedEnvironment%22%3A%22local%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22none%22%2C%22EmberENV%22%3A%7B%22EXTEND_PROTOTYPES%22%3Afalse%2C%22FEATURES%22%3A%7B%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%220.0.0%2B9c7d83d3%22%2C%22LOG_ACTIVE_GENERATION%22%3Afalse%2C%22LOG_VIEW_LOOKUPS%22%3Afalse%2C%22rootElement%22%3A%22%23ember-testing%22%2C%22autoboot%22%3Afalse%7D%2C%22ember-cli-mirage%22%3A%7B%22enabled%22%3Afalse%7D%2C%22logLevels%22%3A%22*%3Dinfo%2Cmatrix%3Dinfo%2Crealm%3Aevents%3Ddebug%22%2C%22matrixURL%22%3A%22http%3A%2F%2Flocalhost%3A8008%22%2C%22matrixServerName%22%3A%22localhost%22%2C%22autoSaveDelayMs%22%3A0%2C%22autoSaveQuietPeriodMs%22%3A0%2C%22autoSaveMaxWaitMs%22%3A10000%2C%22monacoDebounceMs%22%3A0%2C%22monacoCursorDebounceMs%22%3A0%2C%22loginMessageTimeoutMs%22%3A0%2C%22minSaveTaskDurationMs%22%3A0%2C%22cardRenderTimeout%22%3A30000%2C%22cardSizeLimitBytes%22%3A524288%2C%22fileSizeLimitBytes%22%3A5242880%2C%22audioSizeLimitBytes%22%3A20971520%2C%22videoSizeLimitBytes%22%3A52428800%2C%22iconsURL%22%3A%22http%3A%2F%2Flocalhost%3A4206%22%2C%22secureOriginURL%22%3A%22https%3A%2F%2Flocalhost%3A4208%2Fsecure%22%2C%22publishedRealmBoxelSpaceDomain%22%3A%22localhost%3A4201%22%2C%22publishedRealmBoxelSiteDomain%22%3A%22localhost%3A4201%22%2C%22hostsOwnAssets%22%3Atrue%2C%22hostRoutingMap%22%3A%5B%5D%2C%22realmServerURL%22%3A%22http%3A%2F%2Ftest-realm%22%2C%22resolvedBaseRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fbase%2F%22%2C%22resolvedSkillsRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fskills%2F%22%2C%22resolvedPretuiRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fpretui%2F%22%2C%22resolvedTestRealmURL%22%3A%22https%3A%2F%2Flocalhost%3A4202%2Ftest%2F%22%2C%22featureFlags%22%3A%7B%7D%2C%22prefixRealmURLs%22%3A%7B%22%40cardstack%2Fbase%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fbase%2F%22%2C%22%40cardstack%2Fcatalog%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fcatalog%2F%22%2C%22%40cardstack%2Fskills%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fskills%2F%22%2C%22%40cardstack%2Fopenrouter%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fopenrouter%2F%22%2C%22%40cardstack%2Fpretui%2F%22%3A%22https%3A%2F%2Flocalhost%3A4201%2Fpretui%2F%22%7D%2C%22sqlSchema%22%3A%22--%20This%20is%20auto-generated%20by%20packages%2Frealm-server%2Fscripts%2Fconvert-to-sqlite.ts%5Cn--%20Please%20don't%20directly%20modify%20this%20file%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20anonymous_grant_rate_limits%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20grant_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20client_ip%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20window_start%20NOT%20NULL%2C%5Cn%20%20%20window_seconds%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20count%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20expires_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20grant_id%2C%20client_ip%2C%20window_start%2C%20window_seconds%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20bot_commands%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20bot_id%20NOT%20NULL%2C%5Cn%20%20%20command%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20command_filter%20BLOB%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20bot_registrations%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20boxel_index%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20pristine_doc%20BLOB%2C%5Cn%20%20%20search_doc%20BLOB%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20deps%20BLOB%20DEFAULT%20'%5B%5D'%2C%5Cn%20%20%20types%20BLOB%2C%5Cn%20%20%20indexed_at%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20last_modified%2C%5Cn%20%20%20display_names%20BLOB%2C%5Cn%20%20%20resource_created_at%2C%5Cn%20%20%20icon_html%20TEXT%2C%5Cn%20%20%20has_error%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20host_shell_generation%20INTEGER%2C%5Cn%20%20%20source_content_hash%20TEXT%2C%5Cn%20%20%20relationship_deps%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%2C%20realm_url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20boxel_index_pending%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20pristine_doc%20BLOB%2C%5Cn%20%20%20search_doc%20BLOB%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20deps%20BLOB%20DEFAULT%20'%5B%5D'%2C%5Cn%20%20%20types%20BLOB%2C%5Cn%20%20%20indexed_at%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20last_modified%2C%5Cn%20%20%20display_names%20BLOB%2C%5Cn%20%20%20resource_created_at%2C%5Cn%20%20%20icon_html%20TEXT%2C%5Cn%20%20%20has_error%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20host_shell_generation%20INTEGER%2C%5Cn%20%20%20source_content_hash%20TEXT%2C%5Cn%20%20%20job_id%20INTEGER%2C%5Cn%20%20%20staging_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20relationship_deps%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20staging_id%2C%20url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20incoming_webhooks%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20webhook_path%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20verification_type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20verification_config%20BLOB%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20NOT%20NULL%2C%5Cn%20%20%20signing_secret_ciphertext%2C%5Cn%20%20%20signing_secret_nonce%2C%5Cn%20%20%20signing_secret_tag%2C%5Cn%20%20%20signing_secret_key_id%20TEXT%2C%5Cn%20%20%20signing_secret_created_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20media_cache_ledger%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20capture_spec_hash%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20object_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_content_hash%20TEXT%2C%5Cn%20%20%20lane%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20content_type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20size_bytes%20NOT%20NULL%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20last_accessed_at%20NOT%20NULL%2C%5Cn%20%20%20width%20INTEGER%2C%5Cn%20%20%20height%20INTEGER%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20rendered_as%20TEXT%20DEFAULT%20''%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20source_url%2C%20capture_spec_hash%2C%20source_generation%2C%20rendered_as%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20module_transpile_cache%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20canonical_path%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20body%20TEXT%2C%5Cn%20%20%20headers%20BLOB%2C%5Cn%20%20%20dependency_keys%20BLOB%2C%5Cn%20%20%20generation%20DEFAULT%200%20NOT%20NULL%2C%5Cn%20%20%20created_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20canonical_path%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20modules%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20cache_scope%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20auth_user_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20resolved_realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20definitions%20BLOB%2C%5Cn%20%20%20deps%20BLOB%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20created_at%2C%5Cn%20%20%20file_alias%20TEXT%2C%5Cn%20%20%20url_hash%20TEXT%20GENERATED%20ALWAYS%20AS%20(url)%20STORED%20NOT%20NULL%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%2C%20cache_scope%2C%20auth_user_id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20prerendered_html%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20fitted_html%20BLOB%2C%5Cn%20%20%20embedded_html%20BLOB%2C%5Cn%20%20%20atom_html%20TEXT%2C%5Cn%20%20%20head_html%20TEXT%2C%5Cn%20%20%20isolated_html%20TEXT%2C%5Cn%20%20%20markdown%20TEXT%2C%5Cn%20%20%20deps%20BLOB%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20rendered_at%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20captures%20BLOB%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%2C%20realm_url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20prerendered_html_pending%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_alias%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20fitted_html%20BLOB%2C%5Cn%20%20%20embedded_html%20BLOB%2C%5Cn%20%20%20atom_html%20TEXT%2C%5Cn%20%20%20head_html%20TEXT%2C%5Cn%20%20%20isolated_html%20TEXT%2C%5Cn%20%20%20markdown%20TEXT%2C%5Cn%20%20%20deps%20BLOB%2C%5Cn%20%20%20last_known_good_deps%20BLOB%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20is_deleted%20BOOLEAN%2C%5Cn%20%20%20error_doc%20BLOB%2C%5Cn%20%20%20rendered_at%2C%5Cn%20%20%20diagnostics%20BLOB%2C%5Cn%20%20%20captures%20BLOB%2C%5Cn%20%20%20job_id%20INTEGER%2C%5Cn%20%20%20staging_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20staging_id%2C%20url%2C%20type%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20rate_limit_buckets%20(%5Cn%20%20%20bucket_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20tokens%20NOT%20NULL%2C%5Cn%20%20%20refilled_at%20NOT%20NULL%2C%5Cn%20%20%20expires_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20bucket_key%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20rate_limit_budgets%20(%5Cn%20%20%20budget_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20period%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20period_start%20NOT%20NULL%2C%5Cn%20%20%20count%20NOT%20NULL%2C%5Cn%20%20%20expires_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20budget_key%2C%20period%2C%20period_start%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_file_meta%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20file_path%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20created_at%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20content_hash%20TEXT%2C%5Cn%20%20%20content_size%20INTEGER%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20file_path%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_generations%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20current_generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20loader_epoch%20TEXT%20DEFAULT%20'0'%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_index_commits%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20base_generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20pass_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20job_id%20INTEGER%2C%5Cn%20%20%20urls%20BLOB%2C%5Cn%20%20%20render_only_urls%20BLOB%2C%5Cn%20%20%20full_realm%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20committed_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20generation%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_meta%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20generation%20INTEGER%20NOT%20NULL%2C%5Cn%20%20%20value%20BLOB%20NOT%20NULL%2C%5Cn%20%20%20indexed_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20generation%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_metadata%20(%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20show_as_catalog%20BOOLEAN%2C%5Cn%20%20%20publishable%20BOOLEAN%2C%5Cn%20%20%20created_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20archived_at%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20url%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_registry%20(%5Cn%20%20%20id%20DEFAULT%20(hex(randomblob(16)))%20NOT%20NULL%2C%5Cn%20%20%20url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20kind%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20disk_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20owner_username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20source_url%20TEXT%2C%5Cn%20%20%20last_published_at%2C%5Cn%20%20%20pinned%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20created_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_type_generations%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20type_key%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20index_generation%20INTEGER%20DEFAULT%200%20NOT%20NULL%2C%5Cn%20%20%20html_generation%20INTEGER%20DEFAULT%200%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20type_key%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20realm_user_permissions%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20username%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20read%20BOOLEAN%20NOT%20NULL%2C%5Cn%20%20%20write%20BOOLEAN%20NOT%20NULL%2C%5Cn%20%20%20realm_owner%20BOOLEAN%20DEFAULT%20false%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20username%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20scoped_css%20(%5Cn%20%20%20realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20hash%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20css%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20last_interned_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20realm_url%2C%20hash%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20unlisted_realm_paths%20(%5Cn%20%20%20id%20DEFAULT%20(hex(randomblob(16)))%20NOT%20NULL%2C%5Cn%20%20%20source_realm_url%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20slug%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20owner_user_id%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20created_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20DEFAULT%20CURRENT_TIMESTAMP%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%5Cn%5Cn%20CREATE%20TABLE%20IF%20NOT%20EXISTS%20webhook_commands%20(%5Cn%20%20%20id%20NOT%20NULL%2C%5Cn%20%20%20incoming_webhook_id%20NOT%20NULL%2C%5Cn%20%20%20command%20TEXT%20NOT%20NULL%2C%5Cn%20%20%20command_filter%20BLOB%2C%5Cn%20%20%20created_at%20NOT%20NULL%2C%5Cn%20%20%20updated_at%20NOT%20NULL%2C%5Cn%20%20%20PRIMARY%20KEY%20(%20id%20)%20%5Cn)%3B%22%2C%22defaultSystemCardId%22%3A%22http%3A%2F%2Ftest-realm%2Ftest%2FSystemCard%2Fdefault%22%2C%22defaultFieldSpecId%22%3A%22http%3A%2F%2Ftest-realm%2Ftest%2Ffields%2Ffield%22%7D">
|
|
17
17
|
|
|
18
18
|
<link rel="stylesheet" href="/@embroider/virtual/app.css">
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
<script type="module" crossorigin="" src="/assets/tests-
|
|
21
|
+
<script type="module" crossorigin="" src="/assets/tests-DbU4zMsp.js"></script>
|
|
22
22
|
<link rel="modulepreload" crossorigin="" href="/assets/chunk-Rp0pCe6z.js">
|
|
23
23
|
<link rel="modulepreload" crossorigin="" href="/assets/preload-helper-CKDH5-7N.js">
|
|
24
24
|
<link rel="modulepreload" crossorigin="" href="/assets/index-esm-CUymiD6S.js">
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
<link rel="modulepreload" crossorigin="" href="/assets/file-def-attributes-extractor-COOXfEI-.js">
|
|
320
320
|
<link rel="modulepreload" crossorigin="" href="/assets/to-elsewhere-MFFftJ0J.js">
|
|
321
321
|
<link rel="modulepreload" crossorigin="" href="/assets/stick-to-bottom-CPppJpG4.js">
|
|
322
|
-
<link rel="modulepreload" crossorigin="" href="/assets/panel-
|
|
322
|
+
<link rel="modulepreload" crossorigin="" href="/assets/panel-8nNZbvzg.js">
|
|
323
323
|
<link rel="modulepreload" crossorigin="" href="/assets/buffer-DQZcL7h7.js">
|
|
324
324
|
<link rel="modulepreload" crossorigin="" href="/assets/definition-lookup-BlHhcsW7.js">
|
|
325
325
|
<link rel="modulepreload" crossorigin="" href="/assets/auth-error-guard-_11qXPPp.js">
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
<link rel="modulepreload" crossorigin="" href="/assets/last-modified-date-BqFPr09v.js">
|
|
381
381
|
<link rel="modulepreload" crossorigin="" href="/assets/boxel-formatter-CRWFXHNL.js">
|
|
382
382
|
<link rel="modulepreload" crossorigin="" href="/assets/from-elsewhere-ChxbtsBa.js">
|
|
383
|
-
<link rel="modulepreload" crossorigin="" href="/assets/container-
|
|
383
|
+
<link rel="modulepreload" crossorigin="" href="/assets/container-CwRfjGxi.js">
|
|
384
384
|
<link rel="modulepreload" crossorigin="" href="/assets/browser-queue-CJX1HCT9.js">
|
|
385
385
|
<link rel="modulepreload" crossorigin="" href="/assets/bundled-base-D1quSEK5.js">
|
|
386
386
|
<link rel="modulepreload" crossorigin="" href="/assets/gc-card-store-BxT9BKXv.js">
|
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
<link rel="modulepreload" crossorigin="" href="/assets/operation-ledger-Bz-teyo3.js">
|
|
398
398
|
<link rel="modulepreload" crossorigin="" href="/assets/operations-p2DqoD5M.js">
|
|
399
399
|
<link rel="modulepreload" crossorigin="" href="/assets/render-diagnostics-CztktD_I.js">
|
|
400
|
-
<link rel="modulepreload" crossorigin="" href="/assets/app-
|
|
400
|
+
<link rel="modulepreload" crossorigin="" href="/assets/app-DFQ4JqlP.js">
|
|
401
401
|
<link rel="modulepreload" crossorigin="" href="/assets/qunit-C-Foo4Nd.js">
|
|
402
402
|
<link rel="modulepreload" crossorigin="" href="/assets/dist-CPfIHBla.js">
|
|
403
403
|
<link rel="modulepreload" crossorigin="" href="/assets/dist-Ds4JDBNZ.js">
|
|
@@ -298,6 +298,15 @@ type ToolProgressListener = (entry: {
|
|
|
298
298
|
// How long a script's question waits for the reader.
|
|
299
299
|
const SCRIPT_ASK_MAX_MS = 10 * 60 * 1000;
|
|
300
300
|
|
|
301
|
+
// A wait as a person reads it: whole minutes, or milliseconds when shorter.
|
|
302
|
+
function describeWait(ms: number): string {
|
|
303
|
+
if (ms < 60_000) {
|
|
304
|
+
return `${ms} ms`;
|
|
305
|
+
}
|
|
306
|
+
let minutes = Math.round(ms / 60_000);
|
|
307
|
+
return `${minutes} minute${minutes === 1 ? '' : 's'}`;
|
|
308
|
+
}
|
|
309
|
+
|
|
301
310
|
interface ScriptAnswer {
|
|
302
311
|
answer: string;
|
|
303
312
|
label: string;
|
|
@@ -315,6 +324,10 @@ export default class ToolService extends Service {
|
|
|
315
324
|
@service declare private realmServer: RealmServerService;
|
|
316
325
|
@service declare private session: SessionService;
|
|
317
326
|
@service declare private store: StoreService;
|
|
327
|
+
// How long a tool may run, and how long a script's question waits for the
|
|
328
|
+
// reader. Only __setWaitsForTesting changes them.
|
|
329
|
+
#toolExecuteTimeoutMs = TOOL_EXECUTE_TIMEOUT_MS;
|
|
330
|
+
#scriptAskMaxMs = SCRIPT_ASK_MAX_MS;
|
|
318
331
|
currentlyExecutingToolRequestIds = new TrackedSet<string>();
|
|
319
332
|
// The room each running call runs for, by tool call id.
|
|
320
333
|
private executingToolRooms = new TrackedMap<string, string>();
|
|
@@ -353,6 +366,20 @@ export default class ToolService extends Service {
|
|
|
353
366
|
}
|
|
354
367
|
>();
|
|
355
368
|
|
|
369
|
+
// Shortens the tool deadline and the wait for a script's question, so a
|
|
370
|
+
// test can reach them. Refused outside tests.
|
|
371
|
+
__setWaitsForTesting(waits: {
|
|
372
|
+
toolExecuteTimeoutMs?: number;
|
|
373
|
+
scriptAskMaxMs?: number;
|
|
374
|
+
}) {
|
|
375
|
+
if (!isTesting()) {
|
|
376
|
+
throw new Error('__setWaitsForTesting is only for tests');
|
|
377
|
+
}
|
|
378
|
+
this.#toolExecuteTimeoutMs =
|
|
379
|
+
waits.toolExecuteTimeoutMs ?? this.#toolExecuteTimeoutMs;
|
|
380
|
+
this.#scriptAskMaxMs = waits.scriptAskMaxMs ?? this.#scriptAskMaxMs;
|
|
381
|
+
}
|
|
382
|
+
|
|
356
383
|
private askFromScript(
|
|
357
384
|
toolRequestId: string,
|
|
358
385
|
request: ScriptAsk,
|
|
@@ -360,8 +387,12 @@ export default class ToolService extends Service {
|
|
|
360
387
|
return new Promise((resolve, reject) => {
|
|
361
388
|
let timer = setTimeout(() => {
|
|
362
389
|
this.scriptAsks.delete(toolRequestId);
|
|
363
|
-
reject(
|
|
364
|
-
|
|
390
|
+
reject(
|
|
391
|
+
new Error(
|
|
392
|
+
`No answer came within ${describeWait(this.#scriptAskMaxMs)}`,
|
|
393
|
+
),
|
|
394
|
+
);
|
|
395
|
+
}, this.#scriptAskMaxMs);
|
|
365
396
|
this.scriptAsks.set(toolRequestId, {
|
|
366
397
|
request,
|
|
367
398
|
answer: (value: string) => {
|
|
@@ -1405,7 +1436,7 @@ export default class ToolService extends Service {
|
|
|
1405
1436
|
onAsk?: (request: ScriptAsk) => Promise<ScriptAnswer>;
|
|
1406
1437
|
}
|
|
1407
1438
|
).onAsk = (request) => {
|
|
1408
|
-
extendTimeout(
|
|
1439
|
+
extendTimeout(this.#scriptAskMaxMs);
|
|
1409
1440
|
return this.askFromScript(requestId, request);
|
|
1410
1441
|
};
|
|
1411
1442
|
let stoppable = toolToRun as { stop?: () => void };
|
|
@@ -1475,8 +1506,8 @@ export default class ToolService extends Service {
|
|
|
1475
1506
|
// standard bound.
|
|
1476
1507
|
let executeTimeoutMs =
|
|
1477
1508
|
command.name === CHECK_CORRECTNESS_COMMAND_NAME
|
|
1478
|
-
?
|
|
1479
|
-
:
|
|
1509
|
+
? this.#toolExecuteTimeoutMs + 2 * ENV.cardRenderTimeout
|
|
1510
|
+
: this.#toolExecuteTimeoutMs;
|
|
1480
1511
|
|
|
1481
1512
|
[resultCard] = await all([
|
|
1482
1513
|
withExtendableTimeout(
|