@ashlr/hub 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +257 -0
- package/dist/build-identity.json +2 -2
- package/dist/cli/resource-profile.js +95 -21
- package/dist/cli/resource-profile.js.map +1 -1
- package/dist/core/policy/local-only.d.ts +142 -2
- package/dist/core/policy/local-only.js +204 -15
- package/dist/core/policy/local-only.js.map +1 -1
- package/dist/core/resources/native-profile.d.ts +56 -0
- package/dist/core/resources/native-profile.js +368 -6
- package/dist/core/resources/native-profile.js.map +1 -1
- package/dist/core/run/budget.d.ts +22 -8
- package/dist/core/run/budget.js +80 -12
- package/dist/core/run/budget.js.map +1 -1
- package/dist/core/run/model-catalog.js +8 -1
- package/dist/core/run/model-catalog.js.map +1 -1
- package/dist/core/run/sandboxed-engine.js +3 -3
- package/dist/core/run/sandboxed-engine.js.map +1 -1
- package/dist/core/universe/builtins/preparation/manifest.json +1 -1
- package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +69 -10
- package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +68 -9
- package/dist/core/verse/adapters/claude.d.ts +49 -2
- package/dist/core/verse/adapters/claude.js +317 -56
- package/dist/core/verse/adapters/claude.js.map +1 -1
- package/dist/core/verse/adapters/codex.d.ts +81 -5
- package/dist/core/verse/adapters/codex.js +409 -47
- package/dist/core/verse/adapters/codex.js.map +1 -1
- package/dist/core/verse/adapters/grok.d.ts +13 -1
- package/dist/core/verse/adapters/grok.js +28 -2
- package/dist/core/verse/adapters/grok.js.map +1 -1
- package/dist/core/verse/adapters/index.d.ts +32 -0
- package/dist/core/verse/adapters/index.js +2 -0
- package/dist/core/verse/adapters/index.js.map +1 -1
- package/dist/core/verse/codex-rollout.d.ts +284 -0
- package/dist/core/verse/codex-rollout.js +786 -0
- package/dist/core/verse/codex-rollout.js.map +1 -0
- package/dist/core/verse/context-fit.d.ts +63 -0
- package/dist/core/verse/context-fit.js +355 -0
- package/dist/core/verse/context-fit.js.map +1 -0
- package/dist/core/verse/context-math.d.ts +215 -0
- package/dist/core/verse/context-math.js +365 -0
- package/dist/core/verse/context-math.js.map +1 -0
- package/dist/core/verse/local-models.d.ts +137 -1
- package/dist/core/verse/local-models.js +209 -5
- package/dist/core/verse/local-models.js.map +1 -1
- package/dist/core/verse/model-windows.d.ts +217 -0
- package/dist/core/verse/model-windows.js +616 -0
- package/dist/core/verse/model-windows.js.map +1 -0
- package/dist/core/verse/preferences.d.ts +123 -0
- package/dist/core/verse/preferences.js +403 -0
- package/dist/core/verse/preferences.js.map +1 -0
- package/dist/core/verse/project-memory.d.ts +112 -0
- package/dist/core/verse/project-memory.js +295 -0
- package/dist/core/verse/project-memory.js.map +1 -0
- package/dist/core/verse/seats.d.ts +106 -4
- package/dist/core/verse/seats.js +291 -89
- package/dist/core/verse/seats.js.map +1 -1
- package/dist/core/verse/session-engine.d.ts +117 -2
- package/dist/core/verse/session-engine.js +763 -65
- package/dist/core/verse/session-engine.js.map +1 -1
- package/dist/core/verse/session-handoff.d.ts +94 -0
- package/dist/core/verse/session-handoff.js +551 -0
- package/dist/core/verse/session-handoff.js.map +1 -0
- package/dist/core/verse/session-search.d.ts +63 -0
- package/dist/core/verse/session-search.js +213 -0
- package/dist/core/verse/session-search.js.map +1 -0
- package/dist/core/verse/session-store.d.ts +16 -2
- package/dist/core/verse/session-store.js +80 -6
- package/dist/core/verse/session-store.js.map +1 -1
- package/dist/core/verse/types.d.ts +333 -1
- package/dist/core/verse/types.js +54 -2
- package/dist/core/verse/types.js.map +1 -1
- package/dist/core/verse/verse-api.d.ts +40 -5
- package/dist/core/verse/verse-api.js +724 -25
- package/dist/core/verse/verse-api.js.map +1 -1
- package/dist/core/web/api.d.ts +14 -4
- package/dist/core/web/api.js +26 -11
- package/dist/core/web/api.js.map +1 -1
- package/dist/core/web/public/next/assets/{App-vtaHB9mp.js → App-XURmiAAp.js} +5 -5
- package/dist/core/web/public/next/assets/{App-vtaHB9mp.js.map → App-XURmiAAp.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ApprovalsSection-B-bFJ0I9.js → ApprovalsSection-BriUzoZc.js} +2 -2
- package/dist/core/web/public/next/assets/{ApprovalsSection-B-bFJ0I9.js.map → ApprovalsSection-BriUzoZc.js.map} +1 -1
- package/dist/core/web/public/next/assets/AutonomySection-C4GBsQVc.js +2 -0
- package/dist/core/web/public/next/assets/{AutonomySection-DoqmsCjw.js.map → AutonomySection-C4GBsQVc.js.map} +1 -1
- package/dist/core/web/public/next/assets/ChatSection-BpOBOUvg.css +1 -0
- package/dist/core/web/public/next/assets/ChatSection-hlgPBRco.js +84 -0
- package/dist/core/web/public/next/assets/ChatSection-hlgPBRco.js.map +1 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-BdQYI-Ng.js +2 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-BdQYI-Ng.js.map +1 -0
- package/dist/core/web/public/next/assets/{Dialog-CPM9JxBc.js → Dialog-BxdIfmFH.js} +2 -2
- package/dist/core/web/public/next/assets/{Dialog-CPM9JxBc.js.map → Dialog-BxdIfmFH.js.map} +1 -1
- package/dist/core/web/public/next/assets/{DiffViewer-B84qVef9.js → DiffViewer-DmeRWuc4.js} +2 -2
- package/dist/core/web/public/next/assets/{DiffViewer-B84qVef9.js.map → DiffViewer-DmeRWuc4.js.map} +1 -1
- package/dist/core/web/public/next/assets/{McpSection-CEUpV_5X.js → McpSection-q34T7Tho.js} +2 -2
- package/dist/core/web/public/next/assets/{McpSection-CEUpV_5X.js.map → McpSection-q34T7Tho.js.map} +1 -1
- package/dist/core/web/public/next/assets/{MutationTokenDialog-DA8t97XT.js → MutationTokenDialog-CFAkwOEt.js} +2 -2
- package/dist/core/web/public/next/assets/{MutationTokenDialog-DA8t97XT.js.map → MutationTokenDialog-CFAkwOEt.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-Bq7Vyud0.js → ResourcePoolConsoleApp-DHc8GFOY.js} +4 -4
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-Bq7Vyud0.js.map → ResourcePoolConsoleApp-DHc8GFOY.js.map} +1 -1
- package/dist/core/web/public/next/assets/{RouteErrorBoundary-Badio_uO.js → RouteErrorBoundary-ZL9F4qUn.js} +2 -2
- package/dist/core/web/public/next/assets/{RouteErrorBoundary-Badio_uO.js.map → RouteErrorBoundary-ZL9F4qUn.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Meter-CLcr-4wS.css → Segmented-8cf0Fypn.css} +1 -1
- package/dist/core/web/public/next/assets/{Meter--h3MmZS-.js → Segmented-DbRjVye3.js} +2 -2
- package/dist/core/web/public/next/assets/Segmented-DbRjVye3.js.map +1 -0
- package/dist/core/web/public/next/assets/SettingsSection-nJGGGYqv.js +2 -0
- package/dist/core/web/public/next/assets/{SettingsSection-BwrpQlpP.js.map → SettingsSection-nJGGGYqv.js.map} +1 -1
- package/dist/core/web/public/next/assets/UniverseConsoleApp-6GJydgo4.js +2 -0
- package/dist/core/web/public/next/assets/{UniverseConsoleApp-_FSohAdN.js.map → UniverseConsoleApp-6GJydgo4.js.map} +1 -1
- package/dist/core/web/public/next/assets/{UniverseView-DqcXbed4.js → UniverseView-DLDtNYL8.js} +2 -2
- package/dist/core/web/public/next/assets/{UniverseView-DqcXbed4.js.map → UniverseView-DLDtNYL8.js.map} +1 -1
- package/dist/core/web/public/next/assets/UsageSection-Cf9d9iFH.js +2 -0
- package/dist/core/web/public/next/assets/UsageSection-Cf9d9iFH.js.map +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-DsdKQoTH.css +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-y0uOHixd.js +3 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-y0uOHixd.js.map +1 -0
- package/dist/core/web/public/next/assets/{charts-CTZJ-JrH.js → charts-CVooqJWN.js} +2 -2
- package/dist/core/web/public/next/assets/{charts-CTZJ-JrH.js.map → charts-CVooqJWN.js.map} +1 -1
- package/dist/core/web/public/next/assets/context-model-Bqv8DVuH.js +2 -0
- package/dist/core/web/public/next/assets/context-model-Bqv8DVuH.js.map +1 -0
- package/dist/core/web/public/next/assets/global-eaY9GyX3.js +2 -0
- package/dist/core/web/public/next/assets/global-eaY9GyX3.js.map +1 -0
- package/dist/core/web/public/next/assets/{icons-D9vlf85u.js → icons-vex8rclC.js} +2 -2
- package/dist/core/web/public/next/assets/{icons-D9vlf85u.js.map → icons-vex8rclC.js.map} +1 -1
- package/dist/core/web/public/next/assets/{index-CZamKRUg.js → index-D2Eik-zt.js} +3 -3
- package/dist/core/web/public/next/assets/{index-CZamKRUg.js.map → index-D2Eik-zt.js.map} +1 -1
- package/dist/core/web/public/next/assets/{queries-B8eBnFox.js → queries-bAYU0VNy.js} +2 -2
- package/dist/core/web/public/next/assets/{queries-B8eBnFox.js.map → queries-bAYU0VNy.js.map} +1 -1
- package/dist/core/web/public/next/assets/use-guarded-action-C7QrP7Yp.js +2 -0
- package/dist/core/web/public/next/assets/{use-guarded-action-bzrVVAYq.js.map → use-guarded-action-C7QrP7Yp.js.map} +1 -1
- package/dist/core/web/public/next/assets/verse-model-TfDk9cky.js +2 -0
- package/dist/core/web/public/next/assets/verse-model-TfDk9cky.js.map +1 -0
- package/dist/core/web/public/next/assets/{workspace-model-v0a1gl-C.js → workspace-model-CHol5RVp.js} +2 -2
- package/dist/core/web/public/next/assets/{workspace-model-v0a1gl-C.js.map → workspace-model-CHol5RVp.js.map} +1 -1
- package/dist/core/web/public/next/index.html +1 -1
- package/dist/release-dependency-inventory.json +1 -1
- package/docs/README.md +1 -0
- package/package.json +1 -1
- package/dist/core/web/public/next/assets/AutonomySection-DoqmsCjw.js +0 -2
- package/dist/core/web/public/next/assets/ChatSection-BfnLe5dT.css +0 -1
- package/dist/core/web/public/next/assets/ChatSection-vNPIJffd.js +0 -80
- package/dist/core/web/public/next/assets/ChatSection-vNPIJffd.js.map +0 -1
- package/dist/core/web/public/next/assets/ConfirmDialog-Dd2APQhB.js +0 -2
- package/dist/core/web/public/next/assets/ConfirmDialog-Dd2APQhB.js.map +0 -1
- package/dist/core/web/public/next/assets/Meter--h3MmZS-.js.map +0 -1
- package/dist/core/web/public/next/assets/SettingsSection-BwrpQlpP.js +0 -2
- package/dist/core/web/public/next/assets/UniverseConsoleApp-_FSohAdN.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-Bq6Daaby.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-Bq6Daaby.js.map +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-CMkCizvL.css +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-CsIQv9id.js +0 -3
- package/dist/core/web/public/next/assets/VerseConsoleApp-CsIQv9id.js.map +0 -1
- package/dist/core/web/public/next/assets/global-D6bTxIRn.js +0 -2
- package/dist/core/web/public/next/assets/global-D6bTxIRn.js.map +0 -1
- package/dist/core/web/public/next/assets/use-guarded-action-bzrVVAYq.js +0 -2
- package/dist/core/web/public/next/assets/verse-model-CvtK6vP6.js +0 -2
- package/dist/core/web/public/next/assets/verse-model-CvtK6vP6.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"algorithm":"sha256","assurance":"packaged-build-byte-observation","inventoryDigest":"4df5b88a6213c3071da702389a1a04a518259650a36bdff48aa4c4af31151254","package":{"manifestSha256":"6784881b8b53d74f4a99824213b1cae2ed156d2156b26d8e6ee56dd87a65394e","name":"@ashlr/hub","version":"3.7.0"},"packages":[{"archiveModeSha256":"e593537ea027a53342e9c95325f3823e507298732511cd61c314537000cb008c","contentSha256":"39703185cd013059db3eb5ac351625fa9dfd1eef0509fb47ff04fcc0a4cec6f5","fileCount":25,"name":"@hono/node-server","path":"@hono/node-server","size":120353,"version":"2.0.12"},{"archiveModeSha256":"f331e808f8ff6d9d2e9cbf1ad1bc05f35c36b7ac1489084d24460c345a354819","contentSha256":"ef4367c4587f87b13b688ecafe7010c2764623bfbf1f386a1943d7392f545551","fileCount":13,"name":"@isaacs/fs-minipass","path":"@isaacs/fs-minipass","size":100617,"version":"4.0.1"},{"archiveModeSha256":"212ef6ab48b10cfc61481fdb4d517d5aefa8a9e78f321c9483e13f8f0854aade","contentSha256":"54ecfe6624026e35139d2f943de8626043145c82c1d6580882a4adf4ee6b3c90","fileCount":693,"name":"@modelcontextprotocol/sdk","path":"@modelcontextprotocol/sdk","size":4322438,"version":"1.30.0"},{"archiveModeSha256":"30bd56bd2c26086e14f1b0c58123fc916fea96c6c86f7bd8e7e2fba1526cb30f","contentSha256":"78052c66ba1f5f3d3310d2685ee84af5b060c6960c06eba5cb1d08da860019ff","fileCount":466,"name":"ajv","path":"@modelcontextprotocol/sdk/node_modules/ajv","size":1033496,"version":"8.20.0"},{"archiveModeSha256":"0e9ff2b53d7e42a61c51248833683dfc6b09c9726c3f0c50663af0a6b6f83fea","contentSha256":"18bc9ecab93292b6f357a0bef6b26e39e8d7b14c46fb9b1adc8a0826f7ad419b","fileCount":12,"name":"json-schema-traverse","path":"@modelcontextprotocol/sdk/node_modules/json-schema-traverse","size":22220,"version":"1.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"93bc4d919570486c9dac1184c65d89802a5d7e5e51d2ad2c9c79e9229b0d2bfd","fileCount":5,"name":"accepts","path":"accepts","size":16917,"version":"2.0.0"},{"archiveModeSha256":"338fe03444b2468ffb84fa0a62e4ad26985fbe9063f5b6500fc00baab52687a7","contentSha256":"a570e5cd740441f9e2ad9e20aab09d6ff5f01c54b5ca63889fb9cc65aa22ed38","fileCount":15,"name":"ajv-formats","path":"ajv-formats","size":56763,"version":"3.0.1"},{"archiveModeSha256":"30bd56bd2c26086e14f1b0c58123fc916fea96c6c86f7bd8e7e2fba1526cb30f","contentSha256":"78052c66ba1f5f3d3310d2685ee84af5b060c6960c06eba5cb1d08da860019ff","fileCount":466,"name":"ajv","path":"ajv-formats/node_modules/ajv","size":1033496,"version":"8.20.0"},{"archiveModeSha256":"0e9ff2b53d7e42a61c51248833683dfc6b09c9726c3f0c50663af0a6b6f83fea","contentSha256":"18bc9ecab93292b6f357a0bef6b26e39e8d7b14c46fb9b1adc8a0826f7ad419b","fileCount":12,"name":"json-schema-traverse","path":"ajv-formats/node_modules/json-schema-traverse","size":22220,"version":"1.0.0"},{"archiveModeSha256":"99258e0ccfd899459bc7f95949a5bec9039234f80f0a96cfbf7de4cfd9deaad9","contentSha256":"e6f71097d1bf22309cc2010ba116320dbe0b37b53af324631969ccef03817448","fileCount":10,"name":"body-parser","path":"body-parser","size":42536,"version":"2.3.0"},{"archiveModeSha256":"b06c6eaf0b12f13ca2978123c3bc1ee1a6f8bacabea1533868e34accee2145ec","contentSha256":"a90e26ff6b282c4ec28742358f45cffa2a4736aceb4abc7cb558bd6fc740f73b","fileCount":6,"name":"content-type","path":"body-parser/node_modules/content-type","size":20751,"version":"2.0.0"},{"archiveModeSha256":"51df0d122ab1b5f510d0a80e73a4d33fcb1ab44cf00e903f505c384be80528c8","contentSha256":"048d4140095d01f76e5d5a576d5a10de4e1cebcc64cab6ea49f14afc54939be6","fileCount":5,"name":"bytes","path":"bytes","size":12270,"version":"3.1.2"},{"archiveModeSha256":"df415aae8a21af7234f013c4d934c5074b07e617f6189084a43c78a49bafcb78","contentSha256":"870b383c07315fef9619399c2450297d079b1398583984a5ccb9cd2b1005cb59","fileCount":21,"name":"call-bind-apply-helpers","path":"call-bind-apply-helpers","size":15952,"version":"1.0.2"},{"archiveModeSha256":"fd4de57fefcfd077cce1a9e57bd1b208bf59a7da3ae9f25a7e787ab17b10490f","contentSha256":"01be39d7156b173ffe2869dcd589e2080dcf2f1bcbcfa2f20409582ccb21cfaf","fileCount":11,"name":"call-bound","path":"call-bound","size":17106,"version":"1.0.4"},{"archiveModeSha256":"155b84d16e5a3094314970a26a6b1a157604be8a208c32a0562ce579ec994c2c","contentSha256":"e1ec1eb1cc0367f01e1e8a9a8366d040942612a277ba4034707a130d6d70a0ce","fileCount":13,"name":"chownr","path":"chownr","size":22048,"version":"3.0.0"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"4f967d79760cd06bcfdbf918d30b3a77752d03e6e76582aeac4b3a81dcd6a6a9","fileCount":4,"name":"content-disposition","path":"content-disposition","size":19928,"version":"1.1.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"1ad93015c6082464b41e63397fc9ee739d6bb7cb93755c9fbef749cff39b8675","fileCount":5,"name":"content-type","path":"content-type","size":10471,"version":"1.0.5"},{"archiveModeSha256":"2048aee59eb971a928e2fcac3881a222b2c9140ec980dfd14756de04a3885902","contentSha256":"ca8dd7ddd6a3970df6e3efff74247cd6f985dfdcc596ac0f58cd50c5b88555e8","fileCount":5,"name":"cookie","path":"cookie","size":23382,"version":"0.7.2"},{"archiveModeSha256":"51df0d122ab1b5f510d0a80e73a4d33fcb1ab44cf00e903f505c384be80528c8","contentSha256":"360601ff3d56cfdb8de7d836940caa5d74a437474129017697aab4696fc84e03","fileCount":5,"name":"cookie-signature","path":"cookie-signature","size":4993,"version":"1.2.2"},{"archiveModeSha256":"3bf3b01496f9ce98ec5c58c595c317975f470de6da6599d5d405c60c294f12c6","contentSha256":"9a628bd867c40f8bd4753d84f5f364a5ce92fcdd73fb164977d566275580786e","fileCount":4,"name":"cors","path":"cors","size":19956,"version":"2.8.6"},{"archiveModeSha256":"0c4b2570bd695c455ca6e9f67aaabdf88b1d486e39e9e52f4b8cc0c595e08f33","contentSha256":"9666a5f3074e7ff71dab89ccc0fecd79699b6c68e85087cc3416e9b220e9369e","fileCount":9,"name":"cross-spawn","path":"cross-spawn","size":16094,"version":"7.0.6"},{"archiveModeSha256":"fd7ec5fdf7ea41f349416d375406faf41b35702e2e23f02d2c015acb72adc8f2","contentSha256":"e9f41fdd4e55dc936295270bdb7c994d9ad85dd2bd6f2fb3d46767a16ee1a03e","fileCount":7,"name":"debug","path":"debug","size":42793,"version":"4.4.3"},{"archiveModeSha256":"bb32a6d3c5b9088943cd629938024c4c8d207814db8194313063fe3844cbbc8c","contentSha256":"cfc74892a99b215bdc61d9817f90b235318267ddbf8a29ef52b2906d8b26e980","fileCount":6,"name":"depd","path":"depd","size":27117,"version":"2.0.0"},{"archiveModeSha256":"305af32d2ba2d5fe89c9acaa17537f1a06e7e131bf81112cb11d623fdbb9c6f1","contentSha256":"5c4728d83554a1fc2fd51c01cf2d30bb89adbe1c6469a52201eed72b68af0f91","fileCount":15,"name":"dunder-proto","path":"dunder-proto","size":13003,"version":"1.0.1"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"bae9f4988b2d279e16b4bb3e5527647300137f2978aef97f40acd1b453a8d5a7","fileCount":4,"name":"ee-first","path":"ee-first","size":6259,"version":"1.1.1"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"1c50e3d3cd38c66e1e462f0004781f789e59959aec798aef31f9a2f049d216e5","fileCount":4,"name":"encodeurl","path":"encodeurl","size":6980,"version":"2.0.0"},{"archiveModeSha256":"fd4de57fefcfd077cce1a9e57bd1b208bf59a7da3ae9f25a7e787ab17b10490f","contentSha256":"a2dd73d6e2d58eda48469112f2eacae1fec583f84f72643b3593c6092bd3e877","fileCount":11,"name":"es-define-property","path":"es-define-property","size":10217,"version":"1.0.1"},{"archiveModeSha256":"23a440c46333c31a4ae0a1ffdc2ec6db818da1c36a039abc189b118e1bcdc625","contentSha256":"fd08a46013bf09d90a2240c6a8a97f12ff7106507456c73e7db53f608b41214e","fileCount":22,"name":"es-errors","path":"es-errors","size":12324,"version":"1.3.0"},{"archiveModeSha256":"b6b95f08bcc5f254eddbff61393e6efa09637b9fe2996a163d3c2c71c28bb681","contentSha256":"893e26d760872fd0c233391eff242a717320d6b2d6ab004ad827d1dd6c517ea5","fileCount":16,"name":"es-object-atoms","path":"es-object-atoms","size":11967,"version":"1.1.2"},{"archiveModeSha256":"764d64b5de2e2faa2387d92a5ed5dcbc1822797787a67ee46e827d4d353a2cb5","contentSha256":"27b564cee7701979ecc9ba3ad9b57c4eb185ddfe14f6fbef7961b9d95fc51789","fileCount":4,"name":"escape-html","path":"escape-html","size":3660,"version":"1.0.3"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"53b09a946276069cc9e202851404809b0b27f9616f6398ba1ba053cf27a9b61f","fileCount":5,"name":"etag","path":"etag","size":10809,"version":"1.8.1"},{"archiveModeSha256":"15cc21147f13500c581198be8a82187d7d2cd38a2c23b9459c89f22990a5b971","contentSha256":"fda71ef638beebe2ebae12fe705f63cb2276d6b35564064714ad352727e6f0a9","fileCount":13,"name":"eventsource","path":"eventsource","size":147304,"version":"3.0.7"},{"archiveModeSha256":"57e54f8cb946a2072d2c928cce29ff71a0383916edbb50e97042f859f043677f","contentSha256":"57456c2bbbfd8965c4466cf8a120581c6de9c67c1e04bf815189370f5f76ec3f","fileCount":21,"name":"eventsource-parser","path":"eventsource-parser","size":123218,"version":"3.1.0"},{"archiveModeSha256":"e882878862f5bfd4ff0cb5120df0b9e29758544fabad522563cc91a5102513a0","contentSha256":"c4cccb2f6077128bc31e51f7f772663988796261352298821eea234de1f42281","fileCount":10,"name":"express","path":"express","size":75429,"version":"5.2.1"},{"archiveModeSha256":"0f783761dfb7c14c80535b5a3d2f282398f8621985ed04be794ef3144740784e","contentSha256":"332479fcc3eaa25713fa7df0d4e3a953b7a008fde6413d4278aa667d7e4473e1","fileCount":9,"name":"express-rate-limit","path":"express-rate-limit","size":146332,"version":"8.5.2"},{"archiveModeSha256":"78e09d25ac30efc25d5604344654f3158820dbd9d45a1900b9f44e0e500839cf","contentSha256":"5ca43c0737026213eee30eb17e40859c918af2ae30f16d3882fdfbd8bcb03afd","fileCount":11,"name":"fast-deep-equal","path":"fast-deep-equal","size":12966,"version":"3.1.3"},{"archiveModeSha256":"f75ddef45cc69b6bfbcad49bde00345a7e27f27d03cd67d1083d2a334122fc1a","contentSha256":"36e796ba92bcc878b9b3c6b939c0aa1dba25e4c2ed8609f0ed748aa17c80347e","fileCount":44,"name":"fast-uri","path":"fast-uri","size":215561,"version":"3.1.6"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"a184198d4d20e0177fd4f9e5d82bc40d34143c3a8279e7200511905b08e91d1a","fileCount":5,"name":"finalhandler","path":"finalhandler","size":18111,"version":"2.1.1"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"5a3882ea4acfd16ac4851f43587d6ab87fd08de45665981db6e8ee5944486118","fileCount":5,"name":"forwarded","path":"forwarded","size":5876,"version":"0.2.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"c3d3cc5e56026a726c20ed1d516509608bddb667d5cc999f01cd3971a92e4406","fileCount":5,"name":"fresh","path":"fresh","size":10289,"version":"2.0.0"},{"archiveModeSha256":"6f10ab8235c8a46f648cd17681016bf68595208a48d01f1351bd0b19bcb4301c","contentSha256":"8afcdc5f094efcac14509859ce70157ec7daff89642bc5d604b235f6917dd5b0","fileCount":12,"name":"function-bind","path":"function-bind","size":31427,"version":"1.1.2"},{"archiveModeSha256":"2d4c82c10091157e0f33c6a4a049ef4b2609c8f2a6d70882fa538122b54c1ce3","contentSha256":"1b862b6fe457cd272bb8bce8407ac7f972c857ac317189afe7a29ba378f0f6ac","fileCount":9,"name":"get-intrinsic","path":"get-intrinsic","size":46542,"version":"1.3.0"},{"archiveModeSha256":"995b5a61ce2e3cb963405de061067b699b48e90eb6ce2ac0d88e88bd9c38549a","contentSha256":"3dc759afa7e26cd60cc642b39bffcbd22dd574469e4ac2174cc9b57b97599f82","fileCount":15,"name":"get-proto","path":"get-proto","size":10840,"version":"1.0.1"},{"archiveModeSha256":"169ecf4d0c444e719e5bcd4e912e3ceb193138b5ab7eef8f727798759a4331d3","contentSha256":"6f2eeeb1483b34581df01b15d1b80b2b45be2c7ce06496c72a90351194858738","fileCount":12,"name":"gopd","path":"gopd","size":9869,"version":"1.2.0"},{"archiveModeSha256":"2f2262ae382d511cef7d373ff151a1a662ae623e50cb17d3a920d9e87593011d","contentSha256":"617f42cde01c4ca5a0bdab28f544a70e5f52c8707daad05016cb789193ba0554","fileCount":16,"name":"has-symbols","path":"has-symbols","size":23409,"version":"1.1.0"},{"archiveModeSha256":"35386dc8ee83de6dc1f61324623e1d9907205a1bd2fa66b02bc7c0429bdf85cc","contentSha256":"e6b281a2b3f6100d9b44f0916c797da53c254e8a38cb357134e80eddf5181a48","fileCount":10,"name":"hasown","path":"hasown","size":10332,"version":"2.0.4"},{"archiveModeSha256":"6c607d433127ab8aa7eae155e5777360167dc436457ed7fbfe66ff391f0988fa","contentSha256":"ab285a621121201b7aed9fa2a4447836246643db498bf1a4b71888d5fce36f83","fileCount":568,"name":"hono","path":"hono","size":1386244,"version":"4.13.5"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"b34d2d8fdbf41450767591b746eb2adaa4a22b59aa55c94ef0ce65ff1ba6fe6d","fileCount":5,"name":"http-errors","path":"http-errors","size":19064,"version":"2.0.1"},{"archiveModeSha256":"086f9d977a09c672ced4c2d703944875d8db454fe8fdd7fe8882f0888ed7c20f","contentSha256":"762b205b641d142557d0b3fb5d376d571e7823473661004f6cb319b7c0603976","fileCount":27,"name":"iconv-lite","path":"iconv-lite","size":343635,"version":"0.7.2"},{"archiveModeSha256":"7b3e1bd04c00f38ad3e4f4fb20e65a4eeb707527b4fd7c84ea7764cef9cebdff","contentSha256":"7c50865fdccbf6c6b44600a997d13c0c5c215ded131f0a4c98acd8d15694e632","fileCount":5,"name":"inherits","path":"inherits","size":3958,"version":"2.0.4"},{"archiveModeSha256":"3ef444401f83c959cfda73e7e9fd50d0796f6f141f36f458a3f132b362e6c375","contentSha256":"0e8533c4762708d8f61d9a21b3fa5f10d7f4907a36609490e71edaadb1186c1e","fileCount":30,"name":"ip-address","path":"ip-address","size":299533,"version":"10.4.0"},{"archiveModeSha256":"a710aacb72996fbfa6d514e678b50cfe4d17619a71648b516a3a09a96479c2c8","contentSha256":"272599141de35d28a1e92b1aec64154c866998a44310163040e6499b6ec1d9c3","fileCount":6,"name":"ipaddr.js","path":"ipaddr.js","size":42145,"version":"1.9.1"},{"archiveModeSha256":"969b492deb1f22a61f85cf9f98cc0f7c1984c3c0fd162d3ba5a600f0f6181ed8","contentSha256":"31aa30a6fbd5f134714c0ae7bc1e4c7a00b1c5bfabd2931e92618a4121bd6fa8","fileCount":6,"name":"is-promise","path":"is-promise","size":2958,"version":"4.0.0"},{"archiveModeSha256":"8f22f331a576ff070646bb75a80918007ff2b93be80520594930dd04865a6e44","contentSha256":"a560d4935c162172bd5feede21bc62536cec616c166de516cd5c367a7ca23f98","fileCount":8,"name":"isexe","path":"isexe","size":10956,"version":"2.0.0"},{"archiveModeSha256":"ec3d3c0b513b0905f208bc029bc355c1cf7038f95e2e7b1e2d19ddac26e374ea","contentSha256":"e3633b6af5ec16f6448989dd91dad2798a190e52e7a3d16d90ceca23d52c5b35","fileCount":88,"name":"jose","path":"jose","size":257736,"version":"6.2.3"},{"archiveModeSha256":"bdba5b2b7f19b131522a9af3d6cd30db94ee97690d535e5c3c84d1bce068c2a9","contentSha256":"efcb8d289875749e930bf8f745c132edf832c0f9a25768fcd97e129851288174","fileCount":9,"name":"json-schema-typed","path":"json-schema-typed","size":197188,"version":"8.0.2"},{"archiveModeSha256":"3353a1cbd727174e11aa6b1a8b1163caeb467c3ac3cad2ddb7d4c230da64bdd8","contentSha256":"251a6d99cfc3364a8732128487bbd422d3964f990fe1755b0b78046b65328731","fileCount":12,"name":"marked","path":"marked","size":469664,"version":"18.0.10"},{"archiveModeSha256":"74a40513091b687e690f49f4110e314302d0b8b3c9f196cf587c9d702c4cd7e9","contentSha256":"a4884adbf4399adaff50d30983c4afa402a1d15b56a371824ea5c7c7cab385fa","fileCount":38,"name":"math-intrinsics","path":"math-intrinsics","size":17323,"version":"1.1.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"1ec2d844bc07543d41a6ab6d78008dd2998877609cc16ba532204995fb4339c5","fileCount":5,"name":"media-typer","path":"media-typer","size":9256,"version":"1.1.0"},{"archiveModeSha256":"320af631be54ba1ce035560718a037511184c1d85329f83345fbe80f2527e8c9","contentSha256":"983f0d7028b74df8828007fabcab26e7f36e42fc7db74e321a110f6f40aa3fa7","fileCount":5,"name":"merge-descriptors","path":"merge-descriptors","size":4373,"version":"2.0.0"},{"archiveModeSha256":"2cb256014f7e1eda905b4809694ab3b06e8c1f1c5b78cb4de5da514e4e57659a","contentSha256":"c979d86230ca6688633d5ef7c89397f312c6d556a1964cb8dfe33596b8b548b9","fileCount":6,"name":"mime-db","path":"mime-db","size":225566,"version":"1.54.0"},{"archiveModeSha256":"20c4497e7b68189571962123cabb12dc852bb2346c45deed91c081c899659249","contentSha256":"28ee29177b736969ce0a555c11ae5275280510007a2670dcdd7ea6b1868f46c3","fileCount":6,"name":"mime-types","path":"mime-types","size":22871,"version":"3.0.2"},{"archiveModeSha256":"155b84d16e5a3094314970a26a6b1a157604be8a208c32a0562ce579ec994c2c","contentSha256":"46d898fe1f0594d49333d4bc32bce63349d6f124c78dfc3eda96c9f9b2f796fe","fileCount":13,"name":"minipass","path":"minipass","size":366791,"version":"7.1.3"},{"archiveModeSha256":"78b1977130401dbbba561837630370f3061275bb5a1963454b5f092e3cf208fe","contentSha256":"19c7cff62b036e6f0aad440e776cc94134bb6434c0c96939de864df88e2b0f21","fileCount":21,"name":"minizlib","path":"minizlib","size":117811,"version":"3.1.0"},{"archiveModeSha256":"20014b85b0431588ccd9c0e6c6afeffc10e21d0ee7de53e2ba2296fd52bb1a7c","contentSha256":"667f3d7d170cb303a69e67dc3a69a08255a3e5cfb8703f4904417b0362bc0d28","fileCount":4,"name":"ms","path":"ms","size":6721,"version":"2.1.3"},{"archiveModeSha256":"5602cdc50f925bdc25002fe3756f55c3e1117229d22c2b2c600e8ffca90295f6","contentSha256":"84851509ca06e7b5b721720762592fa23f696ba1d72172dbc1e692c1dfa7b567","fileCount":9,"name":"negotiator","path":"negotiator","size":28710,"version":"1.0.0"},{"archiveModeSha256":"99458992876825b1bc4dca80d075db820436a88fcf71baefbc25db39f52760e9","contentSha256":"501ecc61ad148476eb5316bad6418e95bb6ed9bfc794c23fcec15bc2c592ccf1","fileCount":4,"name":"object-assign","path":"object-assign","size":5493,"version":"4.1.1"},{"archiveModeSha256":"e3c2f2fe74f79d600564d5d6af9a6bd278aee46db5e0ec18493cdc9d895e0bbf","contentSha256":"7d76d46a138318bcabde842b6a8b994da11a2e3d2e8ecbc0f8780f50e17f2ca8","fileCount":34,"name":"object-inspect","path":"object-inspect","size":102920,"version":"1.13.4"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"ffb31d328870b95d8218c54f26f73d6e122847c7289052f57bf1569b0027593b","fileCount":5,"name":"on-finished","path":"on-finished","size":13679,"version":"2.4.1"},{"archiveModeSha256":"71f44c60c38bc2c3e17382504bf0dae39045eeec535cf6f4e1283e0514e8c2f4","contentSha256":"dc238bfc47820f9fb5bb56f1f3aae901657074482f52f91545784f041efb0210","fileCount":4,"name":"once","path":"once","size":4046,"version":"1.4.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"ca67e36d858cdb2f3a4eefd00d0bf7284143c1241b9ad06feec17799fc587638","fileCount":5,"name":"parseurl","path":"parseurl","size":10299,"version":"1.3.3"},{"archiveModeSha256":"320af631be54ba1ce035560718a037511184c1d85329f83345fbe80f2527e8c9","contentSha256":"a3945cbf1aaf19b6dba601c948b6522566517f9b9f4181c964d5a0d8ee34270e","fileCount":5,"name":"path-key","path":"path-key","size":4553,"version":"3.1.1"},{"archiveModeSha256":"1514e7595cbbb9d1902c24ce60454e544df780b8fc73b7967218c3491dd3cefb","contentSha256":"17d110a00db54cd903aba2283f1d027f5acfbf7ce0003590c3abeb6059b5d221","fileCount":6,"name":"path-to-regexp","path":"path-to-regexp","size":59680,"version":"8.4.2"},{"archiveModeSha256":"f0a8527de334749bd26e70302ee03517ec50ff590e93cb3ea9a45ce4124a3829","contentSha256":"d5a9fd4846acac4b5ce086c88eca29de645c535aeee06df4a99a69cf4317e397","fileCount":10,"name":"pkce-challenge","path":"pkce-challenge","size":18211,"version":"5.0.1"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"d05e2db9e9d803ea440dd46461d51f482ed09978f2688eeda51a5711f1f41320","fileCount":5,"name":"proxy-addr","path":"proxy-addr","size":15399,"version":"2.0.7"},{"archiveModeSha256":"5ab250cd90dfced7c9429dd43d78846951b7b961947594e9f5175faee4c88a56","contentSha256":"fc8bdb9e912132fa5d83b22283d4f7f816f2e24a36761387e13cd942024186c1","fileCount":20,"name":"qs","path":"qs","size":374851,"version":"6.16.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"d12cb812790fa7b85393df185775b6c9ad8d05fd313f2b31cfb817d6296b1888","fileCount":5,"name":"range-parser","path":"range-parser","size":8457,"version":"1.2.1"},{"archiveModeSha256":"42cc208595e23f148383e3b4292ce5922102522b8bfd5f77417b06d1306d7aa1","contentSha256":"8f8dedbaf8d48e5de26e87910168aa505b7403e4c7739edc953cf5b25240839c","fileCount":5,"name":"raw-body","path":"raw-body","size":18495,"version":"3.0.2"},{"archiveModeSha256":"99458992876825b1bc4dca80d075db820436a88fcf71baefbc25db39f52760e9","contentSha256":"4d281fcce32339c1f532a6e128db448b5d4c02ff371243a5c5696b40c86d3680","fileCount":4,"name":"require-from-string","path":"require-from-string","size":3422,"version":"2.0.2"},{"archiveModeSha256":"e09f32c46d1a5885aae361e487ce603fd60a9fbff1d5dcaab0f6236f971a9837","contentSha256":"99b97f87c5ffc0951428a30eea4a95cbe83f9a70122dbcc8a4b2e7634f8e8dcd","fileCount":7,"name":"router","path":"router","size":46851,"version":"2.2.0"},{"archiveModeSha256":"a462b8a4b54a0e6b8dcfc3d87612450f34478e7dc5845d4b16f239a578821a2c","contentSha256":"e075173c0c6569f0b806c5802462e19b25ed330b11040151ca5e0d8ea9e276d1","fileCount":7,"name":"safer-buffer","path":"safer-buffer","size":42299,"version":"2.1.2"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"3a396c8597fbbc013b13e4cf5dd7f05f798ee9809ad21d3966616d4f50964f02","fileCount":4,"name":"send","path":"send","size":32200,"version":"1.2.1"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"1724d9fc1a50078597419e4a1014f0d179522a46ed0e2a3a94b71f2f78575513","fileCount":4,"name":"serve-static","path":"serve-static","size":14335,"version":"2.2.1"},{"archiveModeSha256":"e1fd687bea7843794dae9ff84fa5a22ca00f6bea6583da85ed3e27d3d8444230","contentSha256":"db27148aba2fa1340dc867179dbccee745a7311c870a68bee4cea1e3fe2f3f8a","fileCount":6,"name":"setprototypeof","path":"setprototypeof","size":4025,"version":"1.2.0"},{"archiveModeSha256":"99458992876825b1bc4dca80d075db820436a88fcf71baefbc25db39f52760e9","contentSha256":"6754ac701a5f6a41aface06678b945984b2c4088d9c81a9beae10d2f236ebbad","fileCount":4,"name":"shebang-command","path":"shebang-command","size":2556,"version":"2.0.0"},{"archiveModeSha256":"320af631be54ba1ce035560718a037511184c1d85329f83345fbe80f2527e8c9","contentSha256":"a793c341e7bf38ef241be3075c0420da5b2c2df9c71b3aa64f16e8d80751acac","fileCount":5,"name":"shebang-regex","path":"shebang-regex","size":2828,"version":"3.0.0"},{"archiveModeSha256":"0e4409f8c28db8f2663ca9ff448e6029ee7e54e7d9d11f23f416dd0b83289589","contentSha256":"28e3e44b391a232fea118591ef73556f7f3bd207d35a4fa6c2d8b04bf11be322","fileCount":12,"name":"side-channel","path":"side-channel","size":22864,"version":"1.1.1"},{"archiveModeSha256":"d7170194465bf2624edfb7844fea886827d0f714bb09d49567d5c7a1c3ce78c0","contentSha256":"6959587507edce3ca38987daa64c966a2f802e6ef85b8c9f96e36b51b7d63752","fileCount":13,"name":"side-channel-list","path":"side-channel-list","size":16973,"version":"1.0.1"},{"archiveModeSha256":"0e4409f8c28db8f2663ca9ff448e6029ee7e54e7d9d11f23f416dd0b83289589","contentSha256":"c69ec67d49924576f5b78d598fe950d7a9464c1c61ad256cbebcda7641e1630a","fileCount":12,"name":"side-channel-map","path":"side-channel-map","size":13348,"version":"1.0.1"},{"archiveModeSha256":"0e4409f8c28db8f2663ca9ff448e6029ee7e54e7d9d11f23f416dd0b83289589","contentSha256":"3f830eae8141c06d7395d4c9ae072ae767e98aace4720762ebded0ae32fca96c","fileCount":12,"name":"side-channel-weakmap","path":"side-channel-weakmap","size":14667,"version":"1.0.2"},{"archiveModeSha256":"c0228c165b333628d8971a1ebdeb334786829db2fa1c9cb6ba374a9214cd4d11","contentSha256":"0b9e6a3e2e50328afbb9254550c688707172bd481eb1084c02af1456aa803249","fileCount":6,"name":"statuses","path":"statuses","size":12505,"version":"2.0.2"},{"archiveModeSha256":"fbfe9587c1875404cd616f4b49a10531431b12aed0b44210e21f3459beb3eacd","contentSha256":"6d854be5694f54f83a7cec190bcd141318a1c8a78df8b42ab64fbae2c5dc4518","fileCount":249,"name":"tar","path":"tar","size":2298662,"version":"7.5.22"},{"archiveModeSha256":"155b84d16e5a3094314970a26a6b1a157604be8a208c32a0562ce579ec994c2c","contentSha256":"7db31cac4d54315057535dd080e4423ab16e09e9161e8b83191c58e2a90f7ea5","fileCount":13,"name":"yallist","path":"tar/node_modules/yallist","size":80297,"version":"5.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"0c7b3b8db791f787793c0968ec6f6b9dc48d14783c4c34ada0e0475eb3c011d4","fileCount":5,"name":"toidentifier","path":"toidentifier","size":4685,"version":"1.0.1"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"79ce0363e01b714db55735699052b2534d0f6ef84d785b137323647cf779657a","fileCount":5,"name":"type-is","path":"type-is","size":21269,"version":"2.1.0"},{"archiveModeSha256":"b06c6eaf0b12f13ca2978123c3bc1ee1a6f8bacabea1533868e34accee2145ec","contentSha256":"a90e26ff6b282c4ec28742358f45cffa2a4736aceb4abc7cb558bd6fc740f73b","fileCount":6,"name":"content-type","path":"type-is/node_modules/content-type","size":20751,"version":"2.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"99534b97972283845db4ef41d39156d6720030a2307f2f0649a7f1c8fabf68c6","fileCount":5,"name":"unpipe","path":"unpipe","size":4311,"version":"1.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"880e12feeb6220ce4cdb0bd7f19ddb9d693666a77059502e9d667e06b3e04ce8","fileCount":5,"name":"vary","path":"vary","size":8747,"version":"1.1.2"},{"archiveModeSha256":"8fc892f4d8b9a44a1bfc252b556ebb01d424366ec71fb56f8b0fc2b81bbb5897","contentSha256":"dbe8a52a4c488ed54e7b60f93f89947ff828f9786a804b40a049152c35a47132","fileCount":5,"name":"which","path":"which","size":7308,"version":"2.0.2"},{"archiveModeSha256":"4b84777e08ccbe4ad45474b4248dc37be2c73b6467d369958cc06ca38507a13f","contentSha256":"4f5c30f228b020aca343e88dc0b15af855173a168663e687afd72c58cf586b99","fileCount":4,"name":"wrappy","path":"wrappy","size":2961,"version":"1.0.2"},{"archiveModeSha256":"b98a45815677c477e01457344c56184f50841e90f1f78c98f47d4f631140c4f3","contentSha256":"eaed4b517e605755ecde1e008133c5418c238657a3236735a1053f00b4a7e58b","fileCount":718,"name":"zod","path":"zod","size":4558122,"version":"4.4.3"},{"archiveModeSha256":"224107ce4653d3b406ca40837a05712425b14ff999773673d516eb31d8e9a34d","contentSha256":"d45857bb67c09b95d65c081b1afc095fcfd8d3e8d8bc3b57f645a1f369b1ea04","fileCount":130,"name":"zod-to-json-schema","path":"zod-to-json-schema","size":219264,"version":"3.25.2"}],"portability":"platform-independent-no-native-or-install-variance","rootDependencies":[{"name":"@modelcontextprotocol/sdk","requested":"^1.30.0"},{"name":"marked","requested":"18.0.10"},{"name":"tar","requested":"7.5.22"}],"schemaVersion":2}
|
|
1
|
+
{"algorithm":"sha256","assurance":"packaged-build-byte-observation","inventoryDigest":"a7eaabe254b995d864547e4a833a5d04dd8d38f182b6b42afe5ced908162ef5c","package":{"manifestSha256":"64b24df2b4218333b1dcf0b980e3701e5f9cf3194a91e96b5caa7a9e2258aba0","name":"@ashlr/hub","version":"3.9.0"},"packages":[{"archiveModeSha256":"e593537ea027a53342e9c95325f3823e507298732511cd61c314537000cb008c","contentSha256":"39703185cd013059db3eb5ac351625fa9dfd1eef0509fb47ff04fcc0a4cec6f5","fileCount":25,"name":"@hono/node-server","path":"@hono/node-server","size":120353,"version":"2.0.12"},{"archiveModeSha256":"f331e808f8ff6d9d2e9cbf1ad1bc05f35c36b7ac1489084d24460c345a354819","contentSha256":"ef4367c4587f87b13b688ecafe7010c2764623bfbf1f386a1943d7392f545551","fileCount":13,"name":"@isaacs/fs-minipass","path":"@isaacs/fs-minipass","size":100617,"version":"4.0.1"},{"archiveModeSha256":"212ef6ab48b10cfc61481fdb4d517d5aefa8a9e78f321c9483e13f8f0854aade","contentSha256":"54ecfe6624026e35139d2f943de8626043145c82c1d6580882a4adf4ee6b3c90","fileCount":693,"name":"@modelcontextprotocol/sdk","path":"@modelcontextprotocol/sdk","size":4322438,"version":"1.30.0"},{"archiveModeSha256":"30bd56bd2c26086e14f1b0c58123fc916fea96c6c86f7bd8e7e2fba1526cb30f","contentSha256":"78052c66ba1f5f3d3310d2685ee84af5b060c6960c06eba5cb1d08da860019ff","fileCount":466,"name":"ajv","path":"@modelcontextprotocol/sdk/node_modules/ajv","size":1033496,"version":"8.20.0"},{"archiveModeSha256":"0e9ff2b53d7e42a61c51248833683dfc6b09c9726c3f0c50663af0a6b6f83fea","contentSha256":"18bc9ecab93292b6f357a0bef6b26e39e8d7b14c46fb9b1adc8a0826f7ad419b","fileCount":12,"name":"json-schema-traverse","path":"@modelcontextprotocol/sdk/node_modules/json-schema-traverse","size":22220,"version":"1.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"93bc4d919570486c9dac1184c65d89802a5d7e5e51d2ad2c9c79e9229b0d2bfd","fileCount":5,"name":"accepts","path":"accepts","size":16917,"version":"2.0.0"},{"archiveModeSha256":"338fe03444b2468ffb84fa0a62e4ad26985fbe9063f5b6500fc00baab52687a7","contentSha256":"a570e5cd740441f9e2ad9e20aab09d6ff5f01c54b5ca63889fb9cc65aa22ed38","fileCount":15,"name":"ajv-formats","path":"ajv-formats","size":56763,"version":"3.0.1"},{"archiveModeSha256":"30bd56bd2c26086e14f1b0c58123fc916fea96c6c86f7bd8e7e2fba1526cb30f","contentSha256":"78052c66ba1f5f3d3310d2685ee84af5b060c6960c06eba5cb1d08da860019ff","fileCount":466,"name":"ajv","path":"ajv-formats/node_modules/ajv","size":1033496,"version":"8.20.0"},{"archiveModeSha256":"0e9ff2b53d7e42a61c51248833683dfc6b09c9726c3f0c50663af0a6b6f83fea","contentSha256":"18bc9ecab93292b6f357a0bef6b26e39e8d7b14c46fb9b1adc8a0826f7ad419b","fileCount":12,"name":"json-schema-traverse","path":"ajv-formats/node_modules/json-schema-traverse","size":22220,"version":"1.0.0"},{"archiveModeSha256":"99258e0ccfd899459bc7f95949a5bec9039234f80f0a96cfbf7de4cfd9deaad9","contentSha256":"e6f71097d1bf22309cc2010ba116320dbe0b37b53af324631969ccef03817448","fileCount":10,"name":"body-parser","path":"body-parser","size":42536,"version":"2.3.0"},{"archiveModeSha256":"b06c6eaf0b12f13ca2978123c3bc1ee1a6f8bacabea1533868e34accee2145ec","contentSha256":"a90e26ff6b282c4ec28742358f45cffa2a4736aceb4abc7cb558bd6fc740f73b","fileCount":6,"name":"content-type","path":"body-parser/node_modules/content-type","size":20751,"version":"2.0.0"},{"archiveModeSha256":"51df0d122ab1b5f510d0a80e73a4d33fcb1ab44cf00e903f505c384be80528c8","contentSha256":"048d4140095d01f76e5d5a576d5a10de4e1cebcc64cab6ea49f14afc54939be6","fileCount":5,"name":"bytes","path":"bytes","size":12270,"version":"3.1.2"},{"archiveModeSha256":"df415aae8a21af7234f013c4d934c5074b07e617f6189084a43c78a49bafcb78","contentSha256":"870b383c07315fef9619399c2450297d079b1398583984a5ccb9cd2b1005cb59","fileCount":21,"name":"call-bind-apply-helpers","path":"call-bind-apply-helpers","size":15952,"version":"1.0.2"},{"archiveModeSha256":"fd4de57fefcfd077cce1a9e57bd1b208bf59a7da3ae9f25a7e787ab17b10490f","contentSha256":"01be39d7156b173ffe2869dcd589e2080dcf2f1bcbcfa2f20409582ccb21cfaf","fileCount":11,"name":"call-bound","path":"call-bound","size":17106,"version":"1.0.4"},{"archiveModeSha256":"155b84d16e5a3094314970a26a6b1a157604be8a208c32a0562ce579ec994c2c","contentSha256":"e1ec1eb1cc0367f01e1e8a9a8366d040942612a277ba4034707a130d6d70a0ce","fileCount":13,"name":"chownr","path":"chownr","size":22048,"version":"3.0.0"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"4f967d79760cd06bcfdbf918d30b3a77752d03e6e76582aeac4b3a81dcd6a6a9","fileCount":4,"name":"content-disposition","path":"content-disposition","size":19928,"version":"1.1.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"1ad93015c6082464b41e63397fc9ee739d6bb7cb93755c9fbef749cff39b8675","fileCount":5,"name":"content-type","path":"content-type","size":10471,"version":"1.0.5"},{"archiveModeSha256":"2048aee59eb971a928e2fcac3881a222b2c9140ec980dfd14756de04a3885902","contentSha256":"ca8dd7ddd6a3970df6e3efff74247cd6f985dfdcc596ac0f58cd50c5b88555e8","fileCount":5,"name":"cookie","path":"cookie","size":23382,"version":"0.7.2"},{"archiveModeSha256":"51df0d122ab1b5f510d0a80e73a4d33fcb1ab44cf00e903f505c384be80528c8","contentSha256":"360601ff3d56cfdb8de7d836940caa5d74a437474129017697aab4696fc84e03","fileCount":5,"name":"cookie-signature","path":"cookie-signature","size":4993,"version":"1.2.2"},{"archiveModeSha256":"3bf3b01496f9ce98ec5c58c595c317975f470de6da6599d5d405c60c294f12c6","contentSha256":"9a628bd867c40f8bd4753d84f5f364a5ce92fcdd73fb164977d566275580786e","fileCount":4,"name":"cors","path":"cors","size":19956,"version":"2.8.6"},{"archiveModeSha256":"0c4b2570bd695c455ca6e9f67aaabdf88b1d486e39e9e52f4b8cc0c595e08f33","contentSha256":"9666a5f3074e7ff71dab89ccc0fecd79699b6c68e85087cc3416e9b220e9369e","fileCount":9,"name":"cross-spawn","path":"cross-spawn","size":16094,"version":"7.0.6"},{"archiveModeSha256":"fd7ec5fdf7ea41f349416d375406faf41b35702e2e23f02d2c015acb72adc8f2","contentSha256":"e9f41fdd4e55dc936295270bdb7c994d9ad85dd2bd6f2fb3d46767a16ee1a03e","fileCount":7,"name":"debug","path":"debug","size":42793,"version":"4.4.3"},{"archiveModeSha256":"bb32a6d3c5b9088943cd629938024c4c8d207814db8194313063fe3844cbbc8c","contentSha256":"cfc74892a99b215bdc61d9817f90b235318267ddbf8a29ef52b2906d8b26e980","fileCount":6,"name":"depd","path":"depd","size":27117,"version":"2.0.0"},{"archiveModeSha256":"305af32d2ba2d5fe89c9acaa17537f1a06e7e131bf81112cb11d623fdbb9c6f1","contentSha256":"5c4728d83554a1fc2fd51c01cf2d30bb89adbe1c6469a52201eed72b68af0f91","fileCount":15,"name":"dunder-proto","path":"dunder-proto","size":13003,"version":"1.0.1"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"bae9f4988b2d279e16b4bb3e5527647300137f2978aef97f40acd1b453a8d5a7","fileCount":4,"name":"ee-first","path":"ee-first","size":6259,"version":"1.1.1"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"1c50e3d3cd38c66e1e462f0004781f789e59959aec798aef31f9a2f049d216e5","fileCount":4,"name":"encodeurl","path":"encodeurl","size":6980,"version":"2.0.0"},{"archiveModeSha256":"fd4de57fefcfd077cce1a9e57bd1b208bf59a7da3ae9f25a7e787ab17b10490f","contentSha256":"a2dd73d6e2d58eda48469112f2eacae1fec583f84f72643b3593c6092bd3e877","fileCount":11,"name":"es-define-property","path":"es-define-property","size":10217,"version":"1.0.1"},{"archiveModeSha256":"23a440c46333c31a4ae0a1ffdc2ec6db818da1c36a039abc189b118e1bcdc625","contentSha256":"fd08a46013bf09d90a2240c6a8a97f12ff7106507456c73e7db53f608b41214e","fileCount":22,"name":"es-errors","path":"es-errors","size":12324,"version":"1.3.0"},{"archiveModeSha256":"b6b95f08bcc5f254eddbff61393e6efa09637b9fe2996a163d3c2c71c28bb681","contentSha256":"893e26d760872fd0c233391eff242a717320d6b2d6ab004ad827d1dd6c517ea5","fileCount":16,"name":"es-object-atoms","path":"es-object-atoms","size":11967,"version":"1.1.2"},{"archiveModeSha256":"764d64b5de2e2faa2387d92a5ed5dcbc1822797787a67ee46e827d4d353a2cb5","contentSha256":"27b564cee7701979ecc9ba3ad9b57c4eb185ddfe14f6fbef7961b9d95fc51789","fileCount":4,"name":"escape-html","path":"escape-html","size":3660,"version":"1.0.3"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"53b09a946276069cc9e202851404809b0b27f9616f6398ba1ba053cf27a9b61f","fileCount":5,"name":"etag","path":"etag","size":10809,"version":"1.8.1"},{"archiveModeSha256":"15cc21147f13500c581198be8a82187d7d2cd38a2c23b9459c89f22990a5b971","contentSha256":"fda71ef638beebe2ebae12fe705f63cb2276d6b35564064714ad352727e6f0a9","fileCount":13,"name":"eventsource","path":"eventsource","size":147304,"version":"3.0.7"},{"archiveModeSha256":"57e54f8cb946a2072d2c928cce29ff71a0383916edbb50e97042f859f043677f","contentSha256":"57456c2bbbfd8965c4466cf8a120581c6de9c67c1e04bf815189370f5f76ec3f","fileCount":21,"name":"eventsource-parser","path":"eventsource-parser","size":123218,"version":"3.1.0"},{"archiveModeSha256":"e882878862f5bfd4ff0cb5120df0b9e29758544fabad522563cc91a5102513a0","contentSha256":"c4cccb2f6077128bc31e51f7f772663988796261352298821eea234de1f42281","fileCount":10,"name":"express","path":"express","size":75429,"version":"5.2.1"},{"archiveModeSha256":"0f783761dfb7c14c80535b5a3d2f282398f8621985ed04be794ef3144740784e","contentSha256":"332479fcc3eaa25713fa7df0d4e3a953b7a008fde6413d4278aa667d7e4473e1","fileCount":9,"name":"express-rate-limit","path":"express-rate-limit","size":146332,"version":"8.5.2"},{"archiveModeSha256":"78e09d25ac30efc25d5604344654f3158820dbd9d45a1900b9f44e0e500839cf","contentSha256":"5ca43c0737026213eee30eb17e40859c918af2ae30f16d3882fdfbd8bcb03afd","fileCount":11,"name":"fast-deep-equal","path":"fast-deep-equal","size":12966,"version":"3.1.3"},{"archiveModeSha256":"f75ddef45cc69b6bfbcad49bde00345a7e27f27d03cd67d1083d2a334122fc1a","contentSha256":"36e796ba92bcc878b9b3c6b939c0aa1dba25e4c2ed8609f0ed748aa17c80347e","fileCount":44,"name":"fast-uri","path":"fast-uri","size":215561,"version":"3.1.6"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"a184198d4d20e0177fd4f9e5d82bc40d34143c3a8279e7200511905b08e91d1a","fileCount":5,"name":"finalhandler","path":"finalhandler","size":18111,"version":"2.1.1"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"5a3882ea4acfd16ac4851f43587d6ab87fd08de45665981db6e8ee5944486118","fileCount":5,"name":"forwarded","path":"forwarded","size":5876,"version":"0.2.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"c3d3cc5e56026a726c20ed1d516509608bddb667d5cc999f01cd3971a92e4406","fileCount":5,"name":"fresh","path":"fresh","size":10289,"version":"2.0.0"},{"archiveModeSha256":"6f10ab8235c8a46f648cd17681016bf68595208a48d01f1351bd0b19bcb4301c","contentSha256":"8afcdc5f094efcac14509859ce70157ec7daff89642bc5d604b235f6917dd5b0","fileCount":12,"name":"function-bind","path":"function-bind","size":31427,"version":"1.1.2"},{"archiveModeSha256":"2d4c82c10091157e0f33c6a4a049ef4b2609c8f2a6d70882fa538122b54c1ce3","contentSha256":"1b862b6fe457cd272bb8bce8407ac7f972c857ac317189afe7a29ba378f0f6ac","fileCount":9,"name":"get-intrinsic","path":"get-intrinsic","size":46542,"version":"1.3.0"},{"archiveModeSha256":"995b5a61ce2e3cb963405de061067b699b48e90eb6ce2ac0d88e88bd9c38549a","contentSha256":"3dc759afa7e26cd60cc642b39bffcbd22dd574469e4ac2174cc9b57b97599f82","fileCount":15,"name":"get-proto","path":"get-proto","size":10840,"version":"1.0.1"},{"archiveModeSha256":"169ecf4d0c444e719e5bcd4e912e3ceb193138b5ab7eef8f727798759a4331d3","contentSha256":"6f2eeeb1483b34581df01b15d1b80b2b45be2c7ce06496c72a90351194858738","fileCount":12,"name":"gopd","path":"gopd","size":9869,"version":"1.2.0"},{"archiveModeSha256":"2f2262ae382d511cef7d373ff151a1a662ae623e50cb17d3a920d9e87593011d","contentSha256":"617f42cde01c4ca5a0bdab28f544a70e5f52c8707daad05016cb789193ba0554","fileCount":16,"name":"has-symbols","path":"has-symbols","size":23409,"version":"1.1.0"},{"archiveModeSha256":"35386dc8ee83de6dc1f61324623e1d9907205a1bd2fa66b02bc7c0429bdf85cc","contentSha256":"e6b281a2b3f6100d9b44f0916c797da53c254e8a38cb357134e80eddf5181a48","fileCount":10,"name":"hasown","path":"hasown","size":10332,"version":"2.0.4"},{"archiveModeSha256":"6c607d433127ab8aa7eae155e5777360167dc436457ed7fbfe66ff391f0988fa","contentSha256":"ab285a621121201b7aed9fa2a4447836246643db498bf1a4b71888d5fce36f83","fileCount":568,"name":"hono","path":"hono","size":1386244,"version":"4.13.5"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"b34d2d8fdbf41450767591b746eb2adaa4a22b59aa55c94ef0ce65ff1ba6fe6d","fileCount":5,"name":"http-errors","path":"http-errors","size":19064,"version":"2.0.1"},{"archiveModeSha256":"086f9d977a09c672ced4c2d703944875d8db454fe8fdd7fe8882f0888ed7c20f","contentSha256":"762b205b641d142557d0b3fb5d376d571e7823473661004f6cb319b7c0603976","fileCount":27,"name":"iconv-lite","path":"iconv-lite","size":343635,"version":"0.7.2"},{"archiveModeSha256":"7b3e1bd04c00f38ad3e4f4fb20e65a4eeb707527b4fd7c84ea7764cef9cebdff","contentSha256":"7c50865fdccbf6c6b44600a997d13c0c5c215ded131f0a4c98acd8d15694e632","fileCount":5,"name":"inherits","path":"inherits","size":3958,"version":"2.0.4"},{"archiveModeSha256":"3ef444401f83c959cfda73e7e9fd50d0796f6f141f36f458a3f132b362e6c375","contentSha256":"0e8533c4762708d8f61d9a21b3fa5f10d7f4907a36609490e71edaadb1186c1e","fileCount":30,"name":"ip-address","path":"ip-address","size":299533,"version":"10.4.0"},{"archiveModeSha256":"a710aacb72996fbfa6d514e678b50cfe4d17619a71648b516a3a09a96479c2c8","contentSha256":"272599141de35d28a1e92b1aec64154c866998a44310163040e6499b6ec1d9c3","fileCount":6,"name":"ipaddr.js","path":"ipaddr.js","size":42145,"version":"1.9.1"},{"archiveModeSha256":"969b492deb1f22a61f85cf9f98cc0f7c1984c3c0fd162d3ba5a600f0f6181ed8","contentSha256":"31aa30a6fbd5f134714c0ae7bc1e4c7a00b1c5bfabd2931e92618a4121bd6fa8","fileCount":6,"name":"is-promise","path":"is-promise","size":2958,"version":"4.0.0"},{"archiveModeSha256":"8f22f331a576ff070646bb75a80918007ff2b93be80520594930dd04865a6e44","contentSha256":"a560d4935c162172bd5feede21bc62536cec616c166de516cd5c367a7ca23f98","fileCount":8,"name":"isexe","path":"isexe","size":10956,"version":"2.0.0"},{"archiveModeSha256":"ec3d3c0b513b0905f208bc029bc355c1cf7038f95e2e7b1e2d19ddac26e374ea","contentSha256":"e3633b6af5ec16f6448989dd91dad2798a190e52e7a3d16d90ceca23d52c5b35","fileCount":88,"name":"jose","path":"jose","size":257736,"version":"6.2.3"},{"archiveModeSha256":"bdba5b2b7f19b131522a9af3d6cd30db94ee97690d535e5c3c84d1bce068c2a9","contentSha256":"efcb8d289875749e930bf8f745c132edf832c0f9a25768fcd97e129851288174","fileCount":9,"name":"json-schema-typed","path":"json-schema-typed","size":197188,"version":"8.0.2"},{"archiveModeSha256":"3353a1cbd727174e11aa6b1a8b1163caeb467c3ac3cad2ddb7d4c230da64bdd8","contentSha256":"251a6d99cfc3364a8732128487bbd422d3964f990fe1755b0b78046b65328731","fileCount":12,"name":"marked","path":"marked","size":469664,"version":"18.0.10"},{"archiveModeSha256":"74a40513091b687e690f49f4110e314302d0b8b3c9f196cf587c9d702c4cd7e9","contentSha256":"a4884adbf4399adaff50d30983c4afa402a1d15b56a371824ea5c7c7cab385fa","fileCount":38,"name":"math-intrinsics","path":"math-intrinsics","size":17323,"version":"1.1.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"1ec2d844bc07543d41a6ab6d78008dd2998877609cc16ba532204995fb4339c5","fileCount":5,"name":"media-typer","path":"media-typer","size":9256,"version":"1.1.0"},{"archiveModeSha256":"320af631be54ba1ce035560718a037511184c1d85329f83345fbe80f2527e8c9","contentSha256":"983f0d7028b74df8828007fabcab26e7f36e42fc7db74e321a110f6f40aa3fa7","fileCount":5,"name":"merge-descriptors","path":"merge-descriptors","size":4373,"version":"2.0.0"},{"archiveModeSha256":"2cb256014f7e1eda905b4809694ab3b06e8c1f1c5b78cb4de5da514e4e57659a","contentSha256":"c979d86230ca6688633d5ef7c89397f312c6d556a1964cb8dfe33596b8b548b9","fileCount":6,"name":"mime-db","path":"mime-db","size":225566,"version":"1.54.0"},{"archiveModeSha256":"20c4497e7b68189571962123cabb12dc852bb2346c45deed91c081c899659249","contentSha256":"28ee29177b736969ce0a555c11ae5275280510007a2670dcdd7ea6b1868f46c3","fileCount":6,"name":"mime-types","path":"mime-types","size":22871,"version":"3.0.2"},{"archiveModeSha256":"155b84d16e5a3094314970a26a6b1a157604be8a208c32a0562ce579ec994c2c","contentSha256":"46d898fe1f0594d49333d4bc32bce63349d6f124c78dfc3eda96c9f9b2f796fe","fileCount":13,"name":"minipass","path":"minipass","size":366791,"version":"7.1.3"},{"archiveModeSha256":"78b1977130401dbbba561837630370f3061275bb5a1963454b5f092e3cf208fe","contentSha256":"19c7cff62b036e6f0aad440e776cc94134bb6434c0c96939de864df88e2b0f21","fileCount":21,"name":"minizlib","path":"minizlib","size":117811,"version":"3.1.0"},{"archiveModeSha256":"20014b85b0431588ccd9c0e6c6afeffc10e21d0ee7de53e2ba2296fd52bb1a7c","contentSha256":"667f3d7d170cb303a69e67dc3a69a08255a3e5cfb8703f4904417b0362bc0d28","fileCount":4,"name":"ms","path":"ms","size":6721,"version":"2.1.3"},{"archiveModeSha256":"5602cdc50f925bdc25002fe3756f55c3e1117229d22c2b2c600e8ffca90295f6","contentSha256":"84851509ca06e7b5b721720762592fa23f696ba1d72172dbc1e692c1dfa7b567","fileCount":9,"name":"negotiator","path":"negotiator","size":28710,"version":"1.0.0"},{"archiveModeSha256":"99458992876825b1bc4dca80d075db820436a88fcf71baefbc25db39f52760e9","contentSha256":"501ecc61ad148476eb5316bad6418e95bb6ed9bfc794c23fcec15bc2c592ccf1","fileCount":4,"name":"object-assign","path":"object-assign","size":5493,"version":"4.1.1"},{"archiveModeSha256":"e3c2f2fe74f79d600564d5d6af9a6bd278aee46db5e0ec18493cdc9d895e0bbf","contentSha256":"7d76d46a138318bcabde842b6a8b994da11a2e3d2e8ecbc0f8780f50e17f2ca8","fileCount":34,"name":"object-inspect","path":"object-inspect","size":102920,"version":"1.13.4"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"ffb31d328870b95d8218c54f26f73d6e122847c7289052f57bf1569b0027593b","fileCount":5,"name":"on-finished","path":"on-finished","size":13679,"version":"2.4.1"},{"archiveModeSha256":"71f44c60c38bc2c3e17382504bf0dae39045eeec535cf6f4e1283e0514e8c2f4","contentSha256":"dc238bfc47820f9fb5bb56f1f3aae901657074482f52f91545784f041efb0210","fileCount":4,"name":"once","path":"once","size":4046,"version":"1.4.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"ca67e36d858cdb2f3a4eefd00d0bf7284143c1241b9ad06feec17799fc587638","fileCount":5,"name":"parseurl","path":"parseurl","size":10299,"version":"1.3.3"},{"archiveModeSha256":"320af631be54ba1ce035560718a037511184c1d85329f83345fbe80f2527e8c9","contentSha256":"a3945cbf1aaf19b6dba601c948b6522566517f9b9f4181c964d5a0d8ee34270e","fileCount":5,"name":"path-key","path":"path-key","size":4553,"version":"3.1.1"},{"archiveModeSha256":"1514e7595cbbb9d1902c24ce60454e544df780b8fc73b7967218c3491dd3cefb","contentSha256":"17d110a00db54cd903aba2283f1d027f5acfbf7ce0003590c3abeb6059b5d221","fileCount":6,"name":"path-to-regexp","path":"path-to-regexp","size":59680,"version":"8.4.2"},{"archiveModeSha256":"f0a8527de334749bd26e70302ee03517ec50ff590e93cb3ea9a45ce4124a3829","contentSha256":"d5a9fd4846acac4b5ce086c88eca29de645c535aeee06df4a99a69cf4317e397","fileCount":10,"name":"pkce-challenge","path":"pkce-challenge","size":18211,"version":"5.0.1"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"d05e2db9e9d803ea440dd46461d51f482ed09978f2688eeda51a5711f1f41320","fileCount":5,"name":"proxy-addr","path":"proxy-addr","size":15399,"version":"2.0.7"},{"archiveModeSha256":"5ab250cd90dfced7c9429dd43d78846951b7b961947594e9f5175faee4c88a56","contentSha256":"fc8bdb9e912132fa5d83b22283d4f7f816f2e24a36761387e13cd942024186c1","fileCount":20,"name":"qs","path":"qs","size":374851,"version":"6.16.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"d12cb812790fa7b85393df185775b6c9ad8d05fd313f2b31cfb817d6296b1888","fileCount":5,"name":"range-parser","path":"range-parser","size":8457,"version":"1.2.1"},{"archiveModeSha256":"42cc208595e23f148383e3b4292ce5922102522b8bfd5f77417b06d1306d7aa1","contentSha256":"8f8dedbaf8d48e5de26e87910168aa505b7403e4c7739edc953cf5b25240839c","fileCount":5,"name":"raw-body","path":"raw-body","size":18495,"version":"3.0.2"},{"archiveModeSha256":"99458992876825b1bc4dca80d075db820436a88fcf71baefbc25db39f52760e9","contentSha256":"4d281fcce32339c1f532a6e128db448b5d4c02ff371243a5c5696b40c86d3680","fileCount":4,"name":"require-from-string","path":"require-from-string","size":3422,"version":"2.0.2"},{"archiveModeSha256":"e09f32c46d1a5885aae361e487ce603fd60a9fbff1d5dcaab0f6236f971a9837","contentSha256":"99b97f87c5ffc0951428a30eea4a95cbe83f9a70122dbcc8a4b2e7634f8e8dcd","fileCount":7,"name":"router","path":"router","size":46851,"version":"2.2.0"},{"archiveModeSha256":"a462b8a4b54a0e6b8dcfc3d87612450f34478e7dc5845d4b16f239a578821a2c","contentSha256":"e075173c0c6569f0b806c5802462e19b25ed330b11040151ca5e0d8ea9e276d1","fileCount":7,"name":"safer-buffer","path":"safer-buffer","size":42299,"version":"2.1.2"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"3a396c8597fbbc013b13e4cf5dd7f05f798ee9809ad21d3966616d4f50964f02","fileCount":4,"name":"send","path":"send","size":32200,"version":"1.2.1"},{"archiveModeSha256":"9838afc4a08f6acf39bb46bba0c8cb523556b2fc61d2958c7bdcb1ae66ca13dd","contentSha256":"1724d9fc1a50078597419e4a1014f0d179522a46ed0e2a3a94b71f2f78575513","fileCount":4,"name":"serve-static","path":"serve-static","size":14335,"version":"2.2.1"},{"archiveModeSha256":"e1fd687bea7843794dae9ff84fa5a22ca00f6bea6583da85ed3e27d3d8444230","contentSha256":"db27148aba2fa1340dc867179dbccee745a7311c870a68bee4cea1e3fe2f3f8a","fileCount":6,"name":"setprototypeof","path":"setprototypeof","size":4025,"version":"1.2.0"},{"archiveModeSha256":"99458992876825b1bc4dca80d075db820436a88fcf71baefbc25db39f52760e9","contentSha256":"6754ac701a5f6a41aface06678b945984b2c4088d9c81a9beae10d2f236ebbad","fileCount":4,"name":"shebang-command","path":"shebang-command","size":2556,"version":"2.0.0"},{"archiveModeSha256":"320af631be54ba1ce035560718a037511184c1d85329f83345fbe80f2527e8c9","contentSha256":"a793c341e7bf38ef241be3075c0420da5b2c2df9c71b3aa64f16e8d80751acac","fileCount":5,"name":"shebang-regex","path":"shebang-regex","size":2828,"version":"3.0.0"},{"archiveModeSha256":"0e4409f8c28db8f2663ca9ff448e6029ee7e54e7d9d11f23f416dd0b83289589","contentSha256":"28e3e44b391a232fea118591ef73556f7f3bd207d35a4fa6c2d8b04bf11be322","fileCount":12,"name":"side-channel","path":"side-channel","size":22864,"version":"1.1.1"},{"archiveModeSha256":"d7170194465bf2624edfb7844fea886827d0f714bb09d49567d5c7a1c3ce78c0","contentSha256":"6959587507edce3ca38987daa64c966a2f802e6ef85b8c9f96e36b51b7d63752","fileCount":13,"name":"side-channel-list","path":"side-channel-list","size":16973,"version":"1.0.1"},{"archiveModeSha256":"0e4409f8c28db8f2663ca9ff448e6029ee7e54e7d9d11f23f416dd0b83289589","contentSha256":"c69ec67d49924576f5b78d598fe950d7a9464c1c61ad256cbebcda7641e1630a","fileCount":12,"name":"side-channel-map","path":"side-channel-map","size":13348,"version":"1.0.1"},{"archiveModeSha256":"0e4409f8c28db8f2663ca9ff448e6029ee7e54e7d9d11f23f416dd0b83289589","contentSha256":"3f830eae8141c06d7395d4c9ae072ae767e98aace4720762ebded0ae32fca96c","fileCount":12,"name":"side-channel-weakmap","path":"side-channel-weakmap","size":14667,"version":"1.0.2"},{"archiveModeSha256":"c0228c165b333628d8971a1ebdeb334786829db2fa1c9cb6ba374a9214cd4d11","contentSha256":"0b9e6a3e2e50328afbb9254550c688707172bd481eb1084c02af1456aa803249","fileCount":6,"name":"statuses","path":"statuses","size":12505,"version":"2.0.2"},{"archiveModeSha256":"fbfe9587c1875404cd616f4b49a10531431b12aed0b44210e21f3459beb3eacd","contentSha256":"6d854be5694f54f83a7cec190bcd141318a1c8a78df8b42ab64fbae2c5dc4518","fileCount":249,"name":"tar","path":"tar","size":2298662,"version":"7.5.22"},{"archiveModeSha256":"155b84d16e5a3094314970a26a6b1a157604be8a208c32a0562ce579ec994c2c","contentSha256":"7db31cac4d54315057535dd080e4423ab16e09e9161e8b83191c58e2a90f7ea5","fileCount":13,"name":"yallist","path":"tar/node_modules/yallist","size":80297,"version":"5.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"0c7b3b8db791f787793c0968ec6f6b9dc48d14783c4c34ada0e0475eb3c011d4","fileCount":5,"name":"toidentifier","path":"toidentifier","size":4685,"version":"1.0.1"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"79ce0363e01b714db55735699052b2534d0f6ef84d785b137323647cf779657a","fileCount":5,"name":"type-is","path":"type-is","size":21269,"version":"2.1.0"},{"archiveModeSha256":"b06c6eaf0b12f13ca2978123c3bc1ee1a6f8bacabea1533868e34accee2145ec","contentSha256":"a90e26ff6b282c4ec28742358f45cffa2a4736aceb4abc7cb558bd6fc740f73b","fileCount":6,"name":"content-type","path":"type-is/node_modules/content-type","size":20751,"version":"2.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"99534b97972283845db4ef41d39156d6720030a2307f2f0649a7f1c8fabf68c6","fileCount":5,"name":"unpipe","path":"unpipe","size":4311,"version":"1.0.0"},{"archiveModeSha256":"6deab79d9a3bed680c53dd7207c0797080f88a1f668db456501aed3105c7eea5","contentSha256":"880e12feeb6220ce4cdb0bd7f19ddb9d693666a77059502e9d667e06b3e04ce8","fileCount":5,"name":"vary","path":"vary","size":8747,"version":"1.1.2"},{"archiveModeSha256":"8fc892f4d8b9a44a1bfc252b556ebb01d424366ec71fb56f8b0fc2b81bbb5897","contentSha256":"dbe8a52a4c488ed54e7b60f93f89947ff828f9786a804b40a049152c35a47132","fileCount":5,"name":"which","path":"which","size":7308,"version":"2.0.2"},{"archiveModeSha256":"4b84777e08ccbe4ad45474b4248dc37be2c73b6467d369958cc06ca38507a13f","contentSha256":"4f5c30f228b020aca343e88dc0b15af855173a168663e687afd72c58cf586b99","fileCount":4,"name":"wrappy","path":"wrappy","size":2961,"version":"1.0.2"},{"archiveModeSha256":"b98a45815677c477e01457344c56184f50841e90f1f78c98f47d4f631140c4f3","contentSha256":"eaed4b517e605755ecde1e008133c5418c238657a3236735a1053f00b4a7e58b","fileCount":718,"name":"zod","path":"zod","size":4558122,"version":"4.4.3"},{"archiveModeSha256":"224107ce4653d3b406ca40837a05712425b14ff999773673d516eb31d8e9a34d","contentSha256":"d45857bb67c09b95d65c081b1afc095fcfd8d3e8d8bc3b57f645a1f369b1ea04","fileCount":130,"name":"zod-to-json-schema","path":"zod-to-json-schema","size":219264,"version":"3.25.2"}],"portability":"platform-independent-no-native-or-install-variance","rootDependencies":[{"name":"@modelcontextprotocol/sdk","requested":"^1.30.0"},{"name":"marked","requested":"18.0.10"},{"name":"tar","requested":"7.5.22"}],"schemaVersion":2}
|
package/docs/README.md
CHANGED
|
@@ -27,6 +27,7 @@ that every integration, provider or autonomous effect is active.
|
|
|
27
27
|
| Decide whether to give one agent the whole context window or four a quarter each | [Plan deep, execute wide](LOCAL-CONTEXT-STRATEGY.md) |
|
|
28
28
|
| Cut a release and publish without CI | [Releasing locally](RELEASING-LOCALLY.md) |
|
|
29
29
|
| See what multi-folder workspaces, GitHub and MCP management still need | [Workspaces build contract](VERSE-WORKSPACES.md) |
|
|
30
|
+
| Read a Verse chat's context meter, choose standard or expansive context, and continue a long session in a fresh chat | [Verse context windows — source guide](https://github.com/ashlrai/ashlr-hub/blob/master/docs/VERSE-CONTEXT.md) |
|
|
30
31
|
|
|
31
32
|
The CLI's `universe help`, `resources pool --help` and `runtime help` describe
|
|
32
33
|
the command surface in the exact binary you are running. A source guide may
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,o as n}from"./index-CZamKRUg.js";import{I as r,W as i,a,b as o,i as s,j as c,l,o as u,p as d,s as f,u as p,v as m,y as h}from"./global-D6bTxIRn.js";import{o as g}from"./RouteErrorBoundary-Badio_uO.js";import{t as _}from"./ConfirmDialog-Dd2APQhB.js";import{t as v}from"./MutationTokenDialog-DA8t97XT.js";import{n as y,t as b}from"./Meter--h3MmZS-.js";import{B as ee,g as x,h as S,z as C}from"./VerseConsoleApp-CsIQv9id.js";import{a as w,c as te,d as T,i as E,l as D,n as ne,o as O,p as re,r as k,s as A,t as j,u as M}from"./format-BNYWGJat.js";import{_ as ie,a as N,c as P,d as ae,f as F,g as oe,h as se,i as ce,l as le,m as ue,n as de,o as fe,p as pe,r as I,s as L,u as me}from"./use-guarded-action-bzrVVAYq.js";import{a as he,c as ge,d as _e,f as ve,i as ye,l as be,m as xe,n as Se,o as Ce,p as we,r as Te,s as Ee,t as De,u as Oe}from"./fleet-model-ClBbQ0Uj.js";import{n as ke,r as Ae}from"./workspace-model-v0a1gl-C.js";var R=n(e(),1),z=t();function je(e){let t=e.limit;if(typeof t!=`number`||!Number.isFinite(t)||t<=0)return`unlimited`;let n=typeof e.callsToday==`number`&&Number.isFinite(e.callsToday)?e.callsToday:0;return n>=t?`over`:n>=t*.8?`warn`:`ok`}var B={panel:`_panel_1lat4_12`,panelHead:`_panelHead_1lat4_15`,panelTitle:`_panelTitle_1lat4_16`,panelHeadSpaced:`_panelHeadSpaced_1lat4_25`,panelNote:`_panelNote_1lat4_26`,panelActions:`_panelActions_1lat4_27`,status:`_status_1lat4_30`,statusTop:`_statusTop_1lat4_31`,runState:`_runState_1lat4_32`,runDot:`_runDot_1lat4_33`,facts:`_facts_1lat4_39`,fact:`_fact_1lat4_39`,factLabel:`_factLabel_1lat4_41`,factValue:`_factValue_1lat4_42`,budget:`_budget_1lat4_49`,budgetLine:`_budgetLine_1lat4_50`,budgetLabel:`_budgetLabel_1lat4_51`,budgetNote:`_budgetNote_1lat4_52`,meter:`_meter_1lat4_53`,meterFill:`_meterFill_1lat4_58`,controls:`_controls_1lat4_61`,button:`_button_1lat4_62`,buttonPrimary:`_buttonPrimary_1lat4_76`,emergency:`_emergency_1lat4_80`,emergencyButton:`_emergencyButton_1lat4_81`,emergencyNote:`_emergencyNote_1lat4_102`,capGrid:`_capGrid_1lat4_105`,cap:`_cap_1lat4_105`,capLabel:`_capLabel_1lat4_107`,capRow:`_capRow_1lat4_108`,capInput:`_capInput_1lat4_109`,capInputInvalid:`_capInputInvalid_1lat4_123`,capUnit:`_capUnit_1lat4_124`,capHelp:`_capHelp_1lat4_125`,capUsage:`_capUsage_1lat4_126`,capError:`_capError_1lat4_127`,actionNote:`_actionNote_1lat4_130`,capApplied:`_capApplied_1lat4_131`,repoList:`_repoList_1lat4_135`,repoRow:`_repoRow_1lat4_136`,repoName:`_repoName_1lat4_137`,repoPath:`_repoPath_1lat4_138`,repoMissing:`_repoMissing_1lat4_139`,addRow:`_addRow_1lat4_140`,addInput:`_addInput_1lat4_141`,tableScroll:`_tableScroll_1lat4_156`,table:`_table_1lat4_156`,cellAction:`_cellAction_1lat4_176`,cellTime:`_cellTime_1lat4_177`,cellSummary:`_cellSummary_1lat4_178`,cellRepo:`_cellRepo_1lat4_179`,resultTag:`_resultTag_1lat4_188`,filters:`_filters_1lat4_197`,filterField:`_filterField_1lat4_198`,filterLabel:`_filterLabel_1lat4_199`,filterSelect:`_filterSelect_1lat4_214`,checkList:`_checkList_1lat4_229`,check:`_check_1lat4_229`,checkMark:`_checkMark_1lat4_231`,checkLabel:`_checkLabel_1lat4_234`,checkDetail:`_checkDetail_1lat4_235`,summaryColumns:`_summaryColumns_1lat4_238`,summaryList:`_summaryList_1lat4_239`,summaryRow:`_summaryRow_1lat4_240`,summaryTitle:`_summaryTitle_1lat4_241`,summaryMeta:`_summaryMeta_1lat4_242`,empty:`_empty_1lat4_245`,emptyStrong:`_emptyStrong_1lat4_246`,error:`_error_1lat4_247`,readOnly:`_readOnly_1lat4_248`,skeletons:`_skeletons_1lat4_250`,srOnly:`_srOnly_1lat4_251`,runtimeTop:`_runtimeTop_1lat4_266`,runtimeState:`_runtimeState_1lat4_267`,runtimeStateText:`_runtimeStateText_1lat4_268`,factWide:`_factWide_1lat4_275`,factMono:`_factMono_1lat4_276`,capacityBlock:`_capacityBlock_1lat4_280`,capacityHead:`_capacityHead_1lat4_281`,capacityBig:`_capacityBig_1lat4_282`,capacityWords:`_capacityWords_1lat4_296`,capacityHeadline:`_capacityHeadline_1lat4_297`,capacityDetail:`_capacityDetail_1lat4_298`,evidence:`_evidence_1lat4_301`,evidenceLead:`_evidenceLead_1lat4_302`,evidenceScroll:`_evidenceScroll_1lat4_303`,evidenceTable:`_evidenceTable_1lat4_304`,evidenceNums:`_evidenceNums_1lat4_309`,evidenceCode:`_evidenceCode_1lat4_310`,utilisation:`_utilisation_1lat4_312`,toggleRow:`_toggleRow_1lat4_315`,toggleState:`_toggleState_1lat4_316`,policyExplain:`_policyExplain_1lat4_317`,impact:`_impact_1lat4_320`,impactTitle:`_impactTitle_1lat4_321`,impactSummary:`_impactSummary_1lat4_322`,seatList:`_seatList_1lat4_323`,seatRow:`_seatRow_1lat4_324`,seatEngine:`_seatEngine_1lat4_325`,seatLabel:`_seatLabel_1lat4_340`,seatRefusal:`_seatRefusal_1lat4_341`,pressure:`_pressure_1lat4_344`,pressureHead:`_pressureHead_1lat4_345`,pressureHeadline:`_pressureHeadline_1lat4_346`,pressureDetail:`_pressureDetail_1lat4_349`,fleetMeters:`_fleetMeters_1lat4_351`,elapsedQualifier:`_elapsedQualifier_1lat4_352`,noteList:`_noteList_1lat4_353`,repoStanding:`_repoStanding_1lat4_357`,repoPriority:`_repoPriority_1lat4_364`,repoSection:`_repoSection_1lat4_365`,repoOutsideFocus:`_repoOutsideFocus_1lat4_366`},Me=20,V=40;function Ne({snapshot:e}){let t=e.daemon?.ticks??null,n=(0,R.useMemo)(()=>t?[...t].slice(-20).reverse():[],[t]),r=(0,R.useMemo)(()=>{if(!t)return[];let e=[];for(let n=t.length-1;n>=0&&e.length<V;--n){let r=t[n];if(r?.dispatches)for(let t=r.dispatches.length-1;t>=0&&e.length<V;--t)e.push({...r.dispatches[t],tickTs:r.ts})}return e},[t]);return(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Activity`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Recent ticks`}),(0,z.jsxs)(`p`,{className:B.panelNote,children:[`Newest first · last `,Me]})]}),t===null?(0,z.jsx)(`p`,{className:B.empty,children:`The daemon ledger is not readable right now, so tick history is unknown.`}):n.length===0?(0,z.jsx)(`p`,{className:B.empty,children:`No ticks have been recorded yet. Start the loop, or run one tick, to produce the first.`}):(0,z.jsx)(`div`,{className:B.tableScroll,children:(0,z.jsxs)(`table`,{className:B.table,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{scope:`col`,children:`Time`}),(0,z.jsx)(`th`,{scope:`col`,children:`Outcome`}),(0,z.jsx)(`th`,{scope:`col`,children:`Items`}),(0,z.jsx)(`th`,{scope:`col`,children:`Proposals`}),(0,z.jsx)(`th`,{scope:`col`,children:`Dispatched`}),(0,z.jsx)(`th`,{scope:`col`,children:`Spend`}),(0,z.jsx)(`th`,{scope:`col`,children:`Direction`})]})}),(0,z.jsx)(`tbody`,{children:n.map(e=>{let t=k(e.reason);return(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`td`,{className:B.cellTime,title:E(e.ts),children:M(e.ts)}),(0,z.jsxs)(`td`,{className:B.cellSummary,"data-tone":t.tone,children:[t.label,e.dryRun?` (dry run)`:``]}),(0,z.jsx)(`td`,{className:B.cellTime,children:O(e.itemsConsidered)}),(0,z.jsx)(`td`,{className:B.cellTime,children:O(e.proposalsCreated)}),(0,z.jsx)(`td`,{className:B.cellTime,children:e.dispatches?e.dispatches.length:`—`}),(0,z.jsx)(`td`,{className:B.cellTime,children:T(e.spentUsd)}),(0,z.jsx)(`td`,{className:B.cellSummary,children:e.directionMode??`—`})]},`${e.ts}-${e.reason}`)})})]})}),(0,z.jsxs)(`div`,{className:`${B.panelHead} ${B.panelHeadSpaced}`,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Recent dispatches`}),(0,z.jsxs)(`p`,{className:B.panelNote,children:[`Newest first · last `,V]})]}),r.length===0?(0,z.jsx)(`p`,{className:B.empty,children:`No dispatch traces in the recorded ticks. A tick that finds nothing eligible records no dispatches — that is normal, not a gap.`}):(0,z.jsx)(`div`,{className:B.tableScroll,children:(0,z.jsxs)(`table`,{className:B.table,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{scope:`col`,children:`Time`}),(0,z.jsx)(`th`,{scope:`col`,children:`Item`}),(0,z.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,z.jsx)(`th`,{scope:`col`,children:`Engine`}),(0,z.jsx)(`th`,{scope:`col`,children:`Outcome`}),(0,z.jsx)(`th`,{scope:`col`,children:`Spend`})]})}),(0,z.jsx)(`tbody`,{children:r.map((e,t)=>(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`td`,{className:B.cellTime,title:E(e.tickTs),children:M(e.tickTs)}),(0,z.jsx)(`td`,{className:B.cellSummary,title:e.title,children:e.title}),(0,z.jsx)(`td`,{className:B.cellRepo,title:e.repo,children:e.repo?e.repo.split(`/`).pop():`—`}),(0,z.jsx)(`td`,{className:B.cellAction,children:e.backend??`not routed`}),(0,z.jsx)(`td`,{className:B.cellSummary,children:e.dispatched?`dispatched`:`skipped — ${e.reason}`}),(0,z.jsx)(`td`,{className:B.cellTime,children:T(e.spentUsd)})]},`${e.tickTs}-${e.itemId}-${t}`))})]})}),(0,z.jsx)(Pe,{})]})}function Pe(){let[e,t]=(0,R.useState)(``),[n,r]=(0,R.useState)(``),[i,s]=(0,R.useState)(``),[c,l]=(0,R.useState)(200),d=(0,R.useMemo)(()=>me({limit:c,action:n||void 0,result:i||void 0}),[c,n,i]),f=m(d),p=o(d),h=f.data?.entries??[];return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`${B.panelHead} ${B.panelHeadSpaced}`,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Audit trail`}),(0,z.jsxs)(`div`,{className:B.panelActions,children:[f.status===`refreshing`?(0,z.jsx)(u,{}):null,(0,z.jsx)(`button`,{type:`button`,className:B.button,onClick:p,children:`Refresh`})]})]}),(0,z.jsxs)(`div`,{className:B.filters,children:[(0,z.jsxs)(`label`,{className:B.filterField,children:[(0,z.jsx)(`span`,{className:B.filterLabel,children:`Action`}),(0,z.jsx)(`input`,{type:`search`,value:e,placeholder:`e.g. enroll.add`,onChange:e=>t(e.target.value),onBlur:()=>r(e.trim()),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),r(e.trim()))}})]}),(0,z.jsxs)(C,{className:B.filterSelect,label:`Result`,value:i,onChange:e=>s(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Any result`}),(0,z.jsx)(`option`,{value:`ok`,children:`ok`}),(0,z.jsx)(`option`,{value:`refused`,children:`refused`}),(0,z.jsx)(`option`,{value:`error`,children:`error`})]}),(0,z.jsxs)(C,{className:B.filterSelect,label:`Rows`,value:c,onChange:e=>l(Number(e.target.value)),children:[(0,z.jsx)(`option`,{value:50,children:`50`}),(0,z.jsx)(`option`,{value:200,children:`200`}),(0,z.jsx)(`option`,{value:500,children:`500`})]})]}),f.status===`loading`?(0,z.jsxs)(`div`,{className:B.skeletons,children:[(0,z.jsx)(a,{}),(0,z.jsx)(a,{}),(0,z.jsx)(a,{})]}):f.status===`error`?(0,z.jsx)(`p`,{className:B.error,role:`alert`,children:f.error?.message??`Could not read the audit trail.`}):h.length===0?(0,z.jsx)(`p`,{className:B.empty,children:n||i?`No audit entries match this filter.`:`No audit entries recorded yet. Every autonomous or sandbox action appends one here, and none are ever deleted.`}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`p`,{className:B.panelNote,"aria-live":`polite`,children:[h.length,` `,h.length===1?`entry`:`entries`,` · newest first`,f.data?.truncated?` · capped by the server, narrow the filter to see more`:``]}),(0,z.jsx)(`div`,{className:B.tableScroll,children:(0,z.jsxs)(`table`,{className:B.table,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{scope:`col`,children:`Time`}),(0,z.jsx)(`th`,{scope:`col`,children:`Action`}),(0,z.jsx)(`th`,{scope:`col`,children:`Result`}),(0,z.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,z.jsx)(`th`,{scope:`col`,children:`Summary`})]})}),(0,z.jsx)(`tbody`,{children:h.map((e,t)=>(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`td`,{className:B.cellTime,title:E(e.ts),children:M(e.ts)}),(0,z.jsx)(`td`,{className:B.cellAction,children:e.action}),(0,z.jsx)(`td`,{children:(0,z.jsx)(`span`,{className:B.resultTag,"data-result":e.result,children:e.result})}),(0,z.jsx)(`td`,{className:B.cellRepo,title:e.repo??void 0,children:e.repo?e.repo.split(`/`).pop():`—`}),(0,z.jsx)(`td`,{className:B.cellSummary,children:e.summary})]},`${e.ts}-${e.action}-${t}`))})]})})]})]})}var H=e=>e,Fe=6e4,Ie=[{key:`dailyBudgetUsd`,label:`Daily budget`,unit:`USD / day`,min:0,max:1e3,integer:!1,step:1,help:`Hard ceiling on what the loop may spend in a calendar day. 0 means the loop is stopped — it is not "unlimited".`,toDisplay:H,fromDisplay:H},{key:`perTickItems`,label:`Items per tick`,unit:`items`,min:1,max:50,integer:!0,step:1,help:`How many backlog items one tick may pick up.`,toDisplay:H,fromDisplay:H},{key:`parallel`,label:`Parallel swarms`,unit:`swarms`,min:1,max:16,integer:!0,step:1,help:`Sandboxed swarms run simultaneously inside one tick (batch mode).`,toDisplay:H,fromDisplay:H},{key:`intervalMs`,label:`Tick interval`,unit:`minutes`,min:.5,max:1440,integer:!1,step:.5,help:`Gap between ticks in loop mode. 30 seconds minimum, 24 hours maximum.`,toDisplay:e=>Math.round(e/Fe*100)/100,fromDisplay:e=>Math.round(e*Fe)},{key:`maxConcurrent`,label:`Max concurrent`,unit:`dispatches`,min:1,max:32,integer:!0,step:1,help:`Absolute ceiling on in-flight dispatches in continuous mode. Takes precedence over the per-tier totals.`,toDisplay:H,fromDisplay:H},{key:`concurrency.local`,label:`Local tier`,unit:`slots`,min:1,max:32,integer:!0,step:1,help:`On-device engines. GPU/RAM bound — keep this low.`,toDisplay:H,fromDisplay:H},{key:`concurrency.cloud`,label:`Cloud tier`,unit:`slots`,min:1,max:32,integer:!0,step:1,help:`Subscription cloud agents. I/O bound — many can run at once.`,toDisplay:H,fromDisplay:H},{key:`concurrency.total`,label:`All tiers`,unit:`slots`,min:1,max:32,integer:!0,step:1,help:`Hard cap across every tier combined.`,toDisplay:H,fromDisplay:H},{key:`subscriptionMaxPercent`,label:`Subscription ceiling`,unit:`% of window`,min:1,max:100,integer:!0,step:1,help:`How much of a flat-fee provider window the fleet may consume before it backs off.`,toDisplay:H,fromDisplay:H}];function Le(e,t){if(!e)return null;let n=t===`concurrency.local`?e.concurrency?.local:t===`concurrency.cloud`?e.concurrency?.cloud:t===`concurrency.total`?e.concurrency?.total:e[t];return typeof n==`number`&&Number.isFinite(n)?n:null}function Re(e,t){let n=t.trim();if(n===``)return{ok:!1,error:`${e.label} cannot be blank.`};let r=Number(n);return Number.isFinite(r)?e.integer&&!Number.isInteger(r)?{ok:!1,error:`${e.label} must be a whole number of ${e.unit}.`}:r<e.min||r>e.max?{ok:!1,error:`${e.label} must be between ${e.min} and ${e.max} ${e.unit}.`}:{ok:!0,stored:e.fromDisplay(r),display:r}:{ok:!1,error:`${e.label} must be a number.`}}function ze(e,t){switch(e){case`concurrency.local`:return{concurrency:{local:t}};case`concurrency.cloud`:return{concurrency:{cloud:t}};case`concurrency.total`:return{concurrency:{total:t}};default:return{[e]:t}}}var U=ie.foundryLimitMax;function Be(e,t){let n=e.trim();if(n===``)return{ok:!1,error:`${t} limit cannot be blank.`};let r=Number(n);return Number.isFinite(r)?Number.isInteger(r)?r<U.min?{ok:!1,error:`${t} limit cannot be negative.`}:r>U.max?{ok:!1,error:`${t} limit must be at most ${U.max} dispatches.`}:{ok:!0,stored:r,display:r}:{ok:!1,error:`${t} limit must be a whole number of dispatches.`}:{ok:!1,error:`${t} limit must be a number.`}}function Ve(e,t,n){let r=n.daemon,i=r?.ticks?.[r.ticks.length-1]??null;switch(e){case`dailyBudgetUsd`:{let e=t.dailyBudgetUsd;if(e===0)return`Loop stopped — a budget of 0 is a stop, not "unlimited".`;let i=n.spend,a=i?j(i.todayUsd,e,i.todayDate):j(r?.todaySpentUsd??null,e,null);return a.state===`unknown`?a.note:`${T(i?i.todayUsd:r?.todaySpentUsd??null)} spent today`}case`perTickItems`:return i?`${O(i.itemsConsidered)} considered on the last tick`:null;case`parallel`:return i?.dispatches?`${i.dispatches.length} dispatched on the last tick`:null;case`intervalMs`:return r?.lastTickAt?`last tick ${E(r.lastTickAt)} ago`:null;default:return null}}function He({caps:e,snapshot:t,guard:n,dispatchEnabled:r}){let[i,a]=(0,R.useState)(null),[o,s]=(0,R.useState)(null),[c,l]=(0,R.useState)(null),u=!r||n.readOnly;function d(e,t,r){a(e),l(null),n.request(async()=>{s(e);try{await r(),l(e)}finally{s(null)}},t)}let f=e.foundryLimits??[];return(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Budget and limits`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Budget and limits`}),(0,z.jsx)(`p`,{className:B.panelNote,children:`Committed on blur or Enter. The daemon re-reads config each tick, so changes apply live.`})]}),(0,z.jsx)(`div`,{className:B.capGrid,children:Ie.map(r=>(0,z.jsx)(Ge,{spec:r,stored:Le(e,r.key),usage:Ve(r.key,e,t),disabled:u||o!==null&&o!==r.key,busy:o===r.key,applied:c===r.key,error:i===r.key?n.error:null,onCommit:e=>d(r.key,`Changing ${r.label.toLowerCase()} requires the dispatch token.`,()=>P(ze(r.key,e)))},r.key))}),(0,z.jsx)(`div`,{className:`${B.panelHead} ${B.panelHeadSpaced}`,children:(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Per-engine dispatch limits`})}),f.length===0?(0,z.jsx)(`p`,{className:B.empty,children:`No per-engine dispatch limits are configured. Every engine is bounded only by the caps above and by its own provider quota.`}):(0,z.jsx)(`div`,{className:B.capGrid,children:f.map((e,r)=>(0,z.jsx)(Ke,{limit:e,usage:Ue(e.engine,t),disabled:u||o!==null&&o!==W(e),busy:o===W(e),applied:c===W(e),error:i===W(e)?n.error:null,onCommit:t=>d(W(e),`Changing the ${e.engine} dispatch limit requires the dispatch token.`,()=>{let e=f.map((e,n)=>n===r?{...e,max:t}:e);return P({foundryLimits:e})})},`${e.engine}:${e.window}`))})]})}function W(e){return`foundry:${e.engine}:${e.window}`}function Ue(e,t){let n=t.quota?.find(t=>t.engine===e);if(!n)return null;let r=je(n),i=r===`unlimited`?`no limit configured`:r;return`${O(n.callsToday)} dispatched in the last ${n.limitWindow??`1d`} · ${i}`}function We(e){let t=[e.usage?`${e.id}-usage`:null,e.help?`${e.id}-help`:null].filter(e=>e!==null).join(` `);return(0,z.jsxs)(`div`,{className:B.cap,children:[(0,z.jsx)(`label`,{className:B.capLabel,htmlFor:e.id,children:e.label}),(0,z.jsxs)(`div`,{className:B.capRow,children:[(0,z.jsx)(`input`,{id:e.id,type:`number`,inputMode:`decimal`,className:`${B.capInput} ${e.invalid?B.capInputInvalid:``}`,value:e.value,step:e.step,min:e.min,max:e.max,disabled:e.disabled||e.busy,"aria-invalid":e.invalid?!0:void 0,"aria-describedby":t||void 0,onChange:t=>e.onChange(t.target.value),onBlur:e.onCommit,onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),e.onCommit())}}),(0,z.jsx)(`span`,{className:B.capUnit,children:e.unit})]}),e.usage?(0,z.jsx)(`span`,{className:B.capUsage,id:`${e.id}-usage`,children:e.usage}):null,e.help?(0,z.jsx)(`span`,{className:B.capHelp,id:`${e.id}-help`,children:e.help}):null,e.invalid?(0,z.jsx)(`span`,{className:B.capError,role:`alert`,children:e.invalid}):null,e.error&&!e.invalid?(0,z.jsx)(`span`,{className:B.capError,role:`alert`,children:e.error}):null,e.applied&&!e.invalid&&!e.error?(0,z.jsx)(`span`,{className:B.capApplied,children:`applied live`}):null]})}function Ge({spec:e,stored:t,usage:n,disabled:r,busy:i,applied:a,error:o,onCommit:s}){let c=t===null?``:String(e.toDisplay(t)),[l,u]=(0,R.useState)(c),[d,f]=(0,R.useState)(null);(0,R.useEffect)(()=>{d===null&&u(c)},[c]);function p(){if(l===c){f(null);return}let t=Re(e,l);if(!t.ok){f(t.error);return}f(null),s(t.stored)}return(0,z.jsx)(We,{id:`cap-${e.key.replace(`.`,`-`)}`,label:e.label,unit:e.unit,help:e.help,usage:n,value:l,invalid:d,disabled:r,busy:i,applied:a,error:o,step:e.step,min:e.min,max:e.max,onChange:e=>{u(e),d&&f(null)},onCommit:p})}function Ke({limit:e,usage:t,disabled:n,busy:r,applied:i,error:a,onCommit:o}){let s=String(e.max),[c,l]=(0,R.useState)(s),[u,d]=(0,R.useState)(null);(0,R.useEffect)(()=>{u===null&&l(s)},[s]);function f(){if(c===s){d(null);return}let t=Be(c,e.engine);if(!t.ok){d(t.error);return}d(null),o(t.stored)}return(0,z.jsx)(We,{id:`cap-foundry-${e.engine}-${e.window}`,label:e.engine,unit:`dispatches / ${e.window}`,usage:t,value:c,invalid:u,disabled:n,busy:r,applied:i,error:a,step:1,min:U.min,max:U.max,onChange:e=>{l(e),u&&d(null)},onCommit:f})}function G(e=1e3){let[t,n]=(0,R.useState)(()=>Date.now());return(0,R.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function qe(e){if(e.killSwitch?.state===`active`)return{state:`killed`,label:`Kill switch engaged`};let t=e.daemon;return!t||!g(t.sourceQuality)?{state:`unknown`,label:`Run state unknown`}:t.runtimeState===`running`?{state:`running`,label:`Running`}:t.runtimeState===`stopped`?{state:`stopped`,label:`Stopped`}:{state:`unknown`,label:`Run state unknown`}}function Je({snapshot:e}){let t=G(1e3),{state:n,label:r}=qe(e),i=e.daemon,a=g(i?.sourceQuality),o=i?.ticks?.[i.ticks.length-1]??null,s=k(o?.reason),c=e.fleet?.directionMode??o?.directionMode??null,l=e.scope?.repos??null,u=e.caps?.intervalMs??null,d=n===`running`?re(i?.lastTickAt,u):null,f=e.spend,p=f?j(f.todayUsd,e.caps?.dailyBudgetUsd??null,f.todayDate):j(i?.todaySpentUsd??null,e.caps?.dailyBudgetUsd??null,null);return(0,z.jsxs)(`section`,{className:B.status,"aria-label":`Autonomy status`,children:[(0,z.jsxs)(`div`,{className:B.statusTop,children:[(0,z.jsxs)(`span`,{className:B.runState,"data-state":n,children:[(0,z.jsx)(`span`,{className:B.runDot,"aria-hidden":`true`}),r]}),(0,z.jsxs)(`div`,{className:B.facts,children:[(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Direction`}),(0,z.jsx)(`span`,{className:B.factValue,children:c??`default`})]}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Last tick`}),(0,z.jsx)(`span`,{className:B.factValue,"data-tone":s.tone,children:a&&i?.lastTickAt?`${w(i.lastTickAt)} · ${s.label}`:s.label})]}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Next tick`}),(0,z.jsx)(`span`,{className:B.factValue,children:n===`running`?ne(d,t):n===`killed`?`blocked`:`not scheduled`})]}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Interval`}),(0,z.jsx)(`span`,{className:B.factValue,children:te(u)})]}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Scope`}),(0,z.jsx)(`span`,{className:B.factValue,"data-tone":(l?.length??0)===0?`warning`:void 0,children:l?`${l.length} repos`:`—`})]}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Awaiting you`}),(0,z.jsx)(`span`,{className:B.factValue,children:typeof e.pendingApprovals==`number`?`${e.pendingApprovals} approvals`:`—`})]}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Started`}),(0,z.jsx)(`span`,{className:B.factValue,children:a?D(i?.startedAt):`—`})]})]})]}),(0,z.jsxs)(`div`,{className:B.budget,children:[(0,z.jsxs)(`div`,{className:B.budgetLine,children:[(0,z.jsx)(`span`,{className:B.budgetLabel,children:p.label}),(0,z.jsx)(`span`,{className:B.budgetNote,children:p.note})]}),(0,z.jsx)(`div`,{className:B.meter,"data-state":p.state,role:`meter`,"aria-label":`Today's spend against the daily budget`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":p.percent??void 0,"aria-valuetext":`${p.label}. ${p.note}`,children:(0,z.jsx)(`div`,{className:B.meterFill,style:{width:`${p.percent??0}%`}})})]})]})}function Ye({snapshot:e,guard:t,dispatchEnabled:n}){let[r,i]=(0,R.useState)(null),[a,o]=(0,R.useState)(null),{state:s}=qe(e),c=e.killSwitch?.state===`active`,l=e.killSwitch?.state===`unknown`,u=e.pause?.state??`unknown`,d=u!==`running`,f=u===`unknown`,p=!n||t.readOnly||t.busy,m=e=>o(e.note||null);return(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Loop controls`,children:[(0,z.jsx)(`div`,{className:B.panelHead,children:(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Controls`})}),(0,z.jsxs)(`div`,{className:B.controls,children:[d?(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${B.buttonPrimary}`,disabled:p,onClick:()=>t.request(()=>L(`resume`),`Resuming autonomous dispatch requires the dispatch token.`,m),children:`Resume`}):(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${B.buttonPrimary}`,disabled:p,onClick:()=>t.request(()=>L(`pause`),`Pausing autonomous dispatch requires the dispatch token.`,m),children:`Pause`}),(0,z.jsx)(y,{label:c?`Release the emergency stop before starting the loop.`:d?`Dispatch is paused — resume before starting the loop.`:``,children:(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:p||s===`running`||c||d,onClick:()=>t.request(()=>L(`start`),`Starting the autonomous loop requires the dispatch token.`,m),children:`Start loop`})}),(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:p||s===`stopped`,onClick:()=>i(`stop`),children:`Stop loop`}),(0,z.jsx)(y,{label:d?`Dispatch is paused — resume before running a tick.`:``,children:(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:p||c||d,onClick:()=>t.request(()=>L(`once`),`Running one tick requires the dispatch token.`,m),children:`Run one tick`})})]}),d?(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:f?`Dispatch is treated as paused: the pause sentinel could not be read, and the daemon fails safe rather than running on an unreadable signal.`:`Autonomous dispatch is paused. The loop parks between ticks; your own write tools are unaffected, and the global kill switch is not engaged.`}):null,(0,z.jsx)(`div`,{className:B.emergency,children:c?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:p,onClick:()=>i(`release`),children:`Release emergency stop`}),(0,z.jsxs)(`p`,{className:B.emergencyNote,children:[`The global kill switch is engaged. The daemon refuses to tick `,(0,z.jsx)(`em`,{children:`and`}),` the agent’s own write tools refuse to edit anything, anywhere — not just in enrolled repos.`]})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,className:B.emergencyButton,disabled:p,onClick:()=>i(`engage`),children:`Emergency stop`}),(0,z.jsxs)(`p`,{className:B.emergencyNote,children:[`Engages the global kill switch. Wider than “stop the loop”: it also disables the agent’s own write tools everywhere until you release it. To halt only the loop, use `,(0,z.jsx)(`strong`,{children:`Pause`}),`.`,l?` The switch’s current state could not be read.`:``]})]})}),t.error&&r===null?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:t.error}):null,a&&!t.error?(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:a}):null,(0,z.jsx)(_,{open:r===`stop`,onClose:()=>i(null),title:`Stop the autonomous loop?`,body:(0,z.jsxs)(z.Fragment,{children:[`This is the ordinary stop, but it works by engaging the global kill switch — the same`,(0,z.jsx)(`code`,{children:` ~/.ashlr/KILL `}),` sentinel the emergency stop writes. While it is set, the agent’s own write tools also refuse to edit anything, anywhere, until you release it from this panel.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),`If you only want the loop to stop working, `,(0,z.jsx)(`strong`,{children:`Pause`}),` does exactly that and nothing else — it leaves your own tools alone and undoes in one click.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),`Nothing in flight is rolled back. The loop will not restart by itself.`]}),confirmLabel:`Stop loop`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>t.request(()=>L(`stop`),`Stopping the autonomous loop requires the dispatch token.`,e=>{m(e),i(null)})}),(0,z.jsx)(_,{open:r===`engage`,onClose:()=>i(null),title:`Engage the emergency stop?`,body:(0,z.jsxs)(z.Fragment,{children:[`This writes the global kill switch. It stops the autonomous loop `,(0,z.jsx)(`strong`,{children:`and`}),` disables the agent’s own write tools — every edit, apply, and merge path refuses while it is engaged, in every repo, not only the enrolled ones. Nothing in flight is rolled back; nothing new can start.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),(0,z.jsx)(`strong`,{children:`Pause`}),` halts autonomous dispatch only and leaves everything else working.`,` `,(0,z.jsx)(`strong`,{children:`Stop loop`}),` is not narrower than this button: it engages the same global kill switch.`]}),confirmLabel:`Engage emergency stop`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>t.request(async()=>{await N(),i(null)},`Engaging the emergency stop requires the dispatch token.`)}),(0,z.jsx)(_,{open:r===`release`,onClose:()=>i(null),title:`Release the emergency stop?`,body:(0,z.jsxs)(z.Fragment,{children:[`This clears the global kill switch. Write tools become usable again immediately. The autonomous loop does not restart by itself — use `,(0,z.jsx)(`strong`,{children:`Start loop`}),` when you want it running.`]}),confirmLabel:`Release emergency stop`,busy:t.busy,error:t.error,onConfirm:()=>t.request(async()=>{await fe(),i(null)},`Releasing the emergency stop requires the dispatch token.`)})]})}var Xe={idle:`neutral`,working:`running`,saturated:`running`,queued:`warning`,unknown:`unknown`},Ze={running:`running`,finishing:`running`,queued:`neutral`};function Qe({read:e,runtime:t,loading:n=!1}){let r=G(1e3),i=e?.value??null,a=ve(t),o=i?.slotsBusy??t?.slotsBusy??null,s=xe(o,a.effectiveConcurrency),c=Te(i,s,a),l=i?ge(i.agents):[],u=i?.queueDepth??l.filter(e=>e.state===`queued`).length;return(0,z.jsxs)(`section`,{className:B.panel,"aria-labelledby":`verse-fleet-title`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{id:`verse-fleet-title`,className:B.panelTitle,children:`Fleet in flight`}),(0,z.jsx)(`p`,{className:B.panelNote,children:`Every agent mid-turn right now, what it is working on, and how long it has been at it.`})]}),n&&e===null?(0,z.jsx)(`p`,{className:B.empty,children:`Reading the fleet…`}):e===null||!e.available&&e.value===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`No fleet source. `}),e?.reason??`Nothing answered for the fleet, so what is in flight cannot be listed. That is a missing reading, not an empty fleet.`]}):i===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`Unreadable reading. `}),e.reason??`The fleet reading could not be narrowed, so nothing is shown rather than guessed.`]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:B.pressure,"data-state":c.state,children:[(0,z.jsxs)(`span`,{className:B.pressureHead,children:[(0,z.jsx)(`span`,{className:B.pressureHeadline,children:c.headline}),(0,z.jsx)(d,{status:c.state,tone:Xe[c.state]??`unknown`,children:c.state})]}),(0,z.jsx)(`p`,{className:B.pressureDetail,children:c.detail})]}),(0,z.jsxs)(`div`,{className:B.fleetMeters,children:[(0,z.jsx)(b,{value:s.busy,max:s.total,label:`Slot utilisation`,valueText:s.percent===null?`unknown`:`${s.busy} / ${s.total} · ${s.percent}%`,tone:s.saturated?`warning`:void 0}),(0,z.jsxs)(`div`,{className:B.fact,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:`Queue depth`}),(0,z.jsx)(`span`,{className:B.factValue,"data-tone":u>0?`warning`:void 0,children:i.queueDepth===null&&l.length===0?`—`:`${O(u)} waiting`})]})]}),s.saturated&&u===0?(0,z.jsx)(`p`,{className:B.capHelp,children:`Every slot is occupied. Nothing is waiting yet, but the next turn will.`}):null,l.length===0?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`Nothing in flight. `}),`No agent is mid-turn. The fleet answered and reported an empty list — an idle fleet, not a missing reading.`]}):(0,z.jsx)(`div`,{className:B.tableScroll,children:(0,z.jsxs)(`table`,{className:B.table,children:[(0,z.jsx)(`caption`,{className:B.srOnly,children:`Agents in flight: state, task, repository, model, slot and elapsed time`}),(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{scope:`col`,children:`State`}),(0,z.jsx)(`th`,{scope:`col`,children:`Working on`}),(0,z.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,z.jsx)(`th`,{scope:`col`,children:`Model`}),(0,z.jsx)(`th`,{scope:`col`,children:`Slot`}),(0,z.jsx)(`th`,{scope:`col`,children:`Elapsed`})]})}),(0,z.jsx)(`tbody`,{children:l.map(e=>(0,z.jsx)($e,{agent:e,now:r,capacity:a},e.id))})]})}),i.notes.length>0?(0,z.jsx)(`ul`,{className:B.noteList,children:i.notes.map(e=>(0,z.jsx)(`li`,{className:B.capHelp,children:e},e))}):null]})]})}function $e({agent:e,now:t,capacity:n}){let r=Se(e.startedAt,t),i=e.state===`queued`;return(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`td`,{children:(0,z.jsx)(d,{status:e.state,tone:Ze[e.state],children:e.state})}),(0,z.jsx)(`td`,{className:B.cellSummary,children:e.task??(0,z.jsx)(`span`,{className:B.capHelp,children:`not reported`})}),(0,z.jsx)(`td`,{className:B.cellRepo,children:e.repo??`—`}),(0,z.jsx)(`td`,{className:B.cellRepo,children:e.model??e.engine??`—`}),(0,z.jsx)(`td`,{className:B.cellTime,children:e.slot===null?i?(0,z.jsx)(`span`,{className:B.capHelp,title:n.verdict===`serialized`?`This runtime serializes, so only one slot ever frees up at a time.`:void 0,children:`no slot`}):`—`:`#${e.slot}`}),(0,z.jsxs)(`td`,{className:B.cellTime,children:[r,i?(0,z.jsx)(`span`,{className:B.elapsedQualifier,children:` queued`}):null]})]})}var K=8;function et(){let e=m(ue),t=m(ae),n=(e.data??[]).filter(e=>e.status!==`done`&&e.status!==`archived`),r=t.data?.items??[];return(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Goals and backlog`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Goals and backlog`}),(0,z.jsx)(`p`,{className:B.panelNote,children:`Read-only in this view.`})]}),(0,z.jsxs)(`div`,{className:B.summaryColumns,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:B.factLabel,children:`Active goals`}),e.status===`loading`?(0,z.jsxs)(`div`,{className:B.skeletons,children:[(0,z.jsx)(a,{}),(0,z.jsx)(a,{})]}):e.status===`error`?(0,z.jsx)(`p`,{className:B.error,role:`alert`,children:e.error?.message??`Could not read goals.`}):n.length===0?(0,z.jsx)(`p`,{className:B.empty,children:`No active goals. The loop falls back to the backlog for work.`}):(0,z.jsxs)(`div`,{className:B.summaryList,children:[n.slice(0,K).map(e=>{let t=Math.round((e.progress?.fractionDone??0)*100);return(0,z.jsxs)(`div`,{className:B.summaryRow,children:[(0,z.jsx)(`span`,{className:B.summaryTitle,title:e.objective,children:e.objective}),(0,z.jsxs)(`span`,{className:B.summaryMeta,children:[t,`% · `,e.status]})]},e.id)}),n.length>K?(0,z.jsxs)(`p`,{className:B.panelNote,children:[`+`,n.length-K,` more`]}):null]})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:B.factLabel,children:`Backlog`}),t.status===`loading`?(0,z.jsxs)(`div`,{className:B.skeletons,children:[(0,z.jsx)(a,{}),(0,z.jsx)(a,{})]}):t.status===`error`?(0,z.jsx)(`p`,{className:B.error,role:`alert`,children:t.error?.message??`Could not read the backlog.`}):t.data?.absent?(0,z.jsx)(`p`,{className:B.empty,children:"No backlog has been built yet — run a tick, or `ashlr backlog`, to produce one."}):r.length===0?(0,z.jsx)(`p`,{className:B.empty,children:"The backlog is empty. A tick with nothing to do records `no-backlog` and idles."}):(0,z.jsxs)(`div`,{className:B.summaryList,children:[r.slice(0,K).map((e,t)=>(0,z.jsxs)(`div`,{className:B.summaryRow,children:[(0,z.jsx)(`span`,{className:B.summaryTitle,title:e.title,children:e.title??e.id??`untitled item`}),(0,z.jsxs)(`span`,{className:B.summaryMeta,children:[e.repo?e.repo.split(`/`).pop():`—`,typeof e.score==`number`?` · ${e.score}`:``]})]},e.id??`${e.title??`item`}-${t}`)),r.length>K?(0,z.jsxs)(`p`,{className:B.panelNote,children:[`+`,r.length-K,` more`]}):null]})]})]})]})}var tt=`verse-runtime`,nt=`verse-fleet`,rt=`verse-local-only`;function it(e,t){return t instanceof f?t.status===404?`This server does not expose ${e}, so this panel has no source. It is a missing route, not an idle machine.`:`${e} answered HTTP ${t.status}.`:`${e} could not be reached.`}function at(e,t){return async n=>{try{let r=t(await l(e,n));return r===null?{value:null,available:!0,reason:`${e} answered in a shape this client does not recognise, so nothing is shown rather than guessed.`}:{value:r,available:!0,reason:null}}catch(t){if(t instanceof f&&t.status===401||t instanceof DOMException&&t.name===`AbortError`)throw t;return{value:null,available:!1,reason:it(e,t)}}}}var ot={key:tt,fetch:at(`/api/verse/runtime`,_e)},st={key:nt,fetch:at(`/api/verse/fleet`,be)},ct={key:rt,fetch:at(`/api/verse/local-only`,Oe)};async function lt(e,t){let n=c();if(!n)throw new ce;let i=await p(e,t,n);return r(),i}async function ut(e){let t=await lt(`/api/verse/runtime`,{action:e});return i(tt),i(nt),i(I),t}async function dt(e){let t=await lt(`/api/verse/local-only`,{enabled:e});return i(rt),i(I),t}var ft=4e3;function pt(e=ft){let t=h(ot),n=h(st);(0,R.useEffect)(()=>{let r=null,i=()=>{t(),n()},a=()=>{r===null&&(r=setInterval(i,e))},o=()=>{r!==null&&(clearInterval(r),r=null)},s=()=>{if(document.visibilityState===`hidden`){o();return}i(),a()};return document.visibilityState!==`hidden`&&a(),document.addEventListener(`visibilitychange`,s),()=>{o(),document.removeEventListener(`visibilitychange`,s)}},[e,t,n])}function mt({read:e,seats:t,guard:n,dispatchEnabled:r,loading:i=!1}){let[a,o]=(0,R.useState)(!1),[s,c]=(0,R.useState)(null),l=e?.value??null,u=Ce(l,t),f=Ee(l),p=l?.enabled??!1,m=!r||n.readOnly||n.busy||!(l?.mutable??!1),h=e=>{n.request(()=>dt(e),e?`Turning local-only on requires the dispatch token.`:`Turning local-only off requires the dispatch token.`,e=>{c(e.note||null),o(!1)})};return(0,z.jsxs)(`section`,{className:B.panel,"aria-labelledby":`verse-local-only-title`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{id:`verse-local-only-title`,className:B.panelTitle,children:`Local only`}),(0,z.jsx)(`p`,{className:B.panelNote,children:`A refusal, not a preference. While it is on, cloud engines are unreachable.`})]}),i&&e===null?(0,z.jsx)(`p`,{className:B.empty,children:`Reading the local-only policy…`}):e===null||l===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`No local-only source. `}),e?.reason??`Nothing answered for the local-only policy, so whether cloud engines are reachable cannot be stated here. It is not shown as off — an unread switch is not a switch that is off.`]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:B.toggleRow,children:[(0,z.jsx)(`span`,{className:B.toggleState,"data-on":p?`true`:`false`,children:(0,z.jsx)(d,{status:p?`local-only-on`:`local-only-off`,tone:p?`success`:`neutral`,children:p?`on — cloud refused`:`off — cloud reachable`})}),(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${p?``:B.buttonPrimary}`,disabled:m,"aria-pressed":p,onClick:()=>p?h(!1):o(!0),children:p?`Turn local-only off`:`Turn local-only on`})]}),(0,z.jsx)(`p`,{className:B.policyExplain,children:p?(0,z.jsxs)(z.Fragment,{children:[`Every non-local engine is `,(0,z.jsx)(`strong`,{children:`refused at dispatch`}),`. A turn sent to one does not fall back, does not queue, and does not run more slowly — it fails with a named refusal. Nothing can spend money while this is on.`]}):(0,z.jsxs)(z.Fragment,{children:[`Cloud engines are reachable. Turning this on makes them `,(0,z.jsx)(`strong`,{children:`unreachable`}),`, not deprioritised: a dispatch to one fails outright rather than being routed elsewhere. That is the difference between a budget and a guarantee.`]})}),f?(0,z.jsx)(`p`,{className:B.capHelp,children:f}):null,!l.mutable&&r&&!n.readOnly?(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:`This switch is not editable from here, so it is shown read-only rather than as a control that would refuse the click.`}):null,(0,z.jsxs)(`div`,{className:B.impact,children:[(0,z.jsx)(`h4`,{className:B.impactTitle,children:p?`What is blocked right now`:`What this would block`}),(0,z.jsx)(`p`,{className:B.impactSummary,children:u.summary}),u.blocked.length>0?(0,z.jsx)(`ul`,{className:B.seatList,children:u.blocked.map(e=>(0,z.jsxs)(`li`,{className:B.seatRow,children:[(0,z.jsx)(`span`,{className:B.seatEngine,"data-engine":e.engine,children:e.engine}),(0,z.jsx)(`span`,{className:B.seatLabel,children:e.label}),(0,z.jsx)(`span`,{className:B.seatRefusal,children:u.refusalFor(e.engine)})]},e.id))}):null,u.allowed.length>0?(0,z.jsxs)(`p`,{className:B.capHelp,children:[`Still reachable:`,` `,u.allowed.map(e=>e.label).join(`, `),`. Local seats cost nothing to run and are unaffected by this switch.`]}):(0,z.jsx)(`p`,{className:B.capHelp,children:`No local seat is configured. With local-only on there would be nothing left to dispatch to — add a local seat before relying on this switch.`})]}),s&&!n.error?(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:s}):null,n.error&&!a?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:n.error}):null,(0,z.jsx)(_,{open:a,onClose:()=>o(!1),title:`Make cloud engines unreachable?`,body:(0,z.jsxs)(z.Fragment,{children:[`This is a refusal, not a routing preference. While local-only is on, a dispatch to a non-local engine `,(0,z.jsx)(`strong`,{children:`fails`}),` with a named refusal — it does not fall back to a local seat and it does not wait.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),u.blocked.length===0?`No seat on this machine is affected today: every configured seat is local.`:`${u.blocked.length} of your ${t.length} seats stop working: ${u.blocked.map(e=>e.label).join(`, `)}.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),`It is reversible from this panel at any time.`]}),confirmLabel:`Turn local-only on`,busy:n.busy,error:n.error,onConfirm:()=>h(!0)})]})]})}var ht={running:`success`,starting:`running`,stopping:`running`,stopped:`neutral`,unknown:`unknown`},gt={success:`success`,warning:`warning`,danger:`danger`,neutral:`neutral`,unknown:`unknown`};function _t({read:e,guard:t,dispatchEnabled:n,loading:r=!1}){let i=G(1e3),[a,o]=(0,R.useState)(null),[s,c]=(0,R.useState)(null),l=e?.value??null,u=ve(l),f=xe(l?.slotsBusy??null,u.effectiveConcurrency),p=!n||t.readOnly,m=l?.supervised??!1,h=p||t.busy||!m,g=l?.state===`running`,v=(e,n)=>{t.request(()=>ut(e),n,e=>{c(e.note||null),o(null)})};return(0,z.jsxs)(`section`,{className:B.panel,"aria-labelledby":`verse-runtime-title`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{id:`verse-runtime-title`,className:B.panelTitle,children:`Serving runtime`}),(0,z.jsx)(`p`,{className:B.panelNote,children:`The process that answers local agent turns. Without it, a local fleet has nowhere to run.`})]}),r&&e===null?(0,z.jsx)(`p`,{className:B.empty,children:`Reading the serving runtime…`}):e===null||!e.available&&e.value===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`No serving-runtime source. `}),e?.reason??`Nothing answered for the serving runtime, so whether a local fleet can run cannot be stated here.`]}):l===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`Unreadable reading. `}),e.reason??`The serving-runtime reading could not be narrowed, so nothing is shown rather than guessed.`]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:B.runtimeTop,children:[(0,z.jsxs)(`span`,{className:B.runtimeState,"data-state":l.state,children:[(0,z.jsx)(`span`,{className:B.runDot,"aria-hidden":`true`}),(0,z.jsxs)(`span`,{className:B.runtimeStateText,children:[we(l.kind),` · `,l.state===`unknown`?`state unknown`:l.state]})]}),(0,z.jsx)(d,{status:l.state,tone:ht[l.state],children:l.state===`running`?`serving`:l.state}),l.reason?(0,z.jsx)(`code`,{className:B.evidenceCode,children:l.reason}):null]}),(0,z.jsxs)(`div`,{className:B.facts,children:[(0,z.jsx)(q,{label:`Model`,value:l.model??`—`,wide:!0}),(0,z.jsx)(q,{label:`Endpoint`,value:l.endpoint??`—`,mono:!0}),(0,z.jsx)(q,{label:`Context`,value:ye(l.contextTokens)}),(0,z.jsx)(q,{label:`Slots configured`,value:l.slotsTotal===null?`—`:String(l.slotsTotal)}),(0,z.jsx)(q,{label:`Uptime`,value:g?he(l.startedAt,i):`not running`})]}),(0,z.jsxs)(`div`,{className:B.capacityBlock,"data-verdict":u.verdict,children:[(0,z.jsxs)(`div`,{className:B.capacityHead,children:[(0,z.jsx)(`span`,{className:B.capacityBig,children:u.effectiveConcurrency===null?`—`:u.effectiveConcurrency}),(0,z.jsxs)(`div`,{className:B.capacityWords,children:[(0,z.jsxs)(`span`,{className:B.capacityHeadline,children:[u.headline,(0,z.jsx)(d,{status:u.verdict,tone:gt[u.tone],children:u.verdict===`batched`?`batches`:u.verdict===`serialized`?`serializes`:u.verdict===`offline`?`not serving`:`unconfirmed`})]}),(0,z.jsx)(`span`,{className:B.capacityDetail,children:u.detail})]})]}),u.overstated?(0,z.jsx)(vt,{configured:u.configuredSlots,refusal:l.parallel.refusal}):null]}),(0,z.jsxs)(`div`,{className:B.utilisation,children:[(0,z.jsx)(b,{value:f.busy,max:f.total,label:`Slots in use`,valueText:f.percent===null?`unknown`:`${f.busy} / ${f.total}`,tone:f.saturated?`warning`:void 0}),(0,z.jsx)(`p`,{className:B.capHelp,children:f.label})]}),(0,z.jsxs)(`div`,{className:B.controls,children:[(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${B.buttonPrimary}`,disabled:h||g,onClick:()=>v(`start`,`Starting the serving runtime requires the dispatch token.`),children:`Start runtime`}),(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:h||!g,onClick:()=>o(`stop`),children:`Stop runtime`}),(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:h,onClick:()=>o(`restart`),children:`Restart runtime`})]}),m?null:(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:`This runtime is managed outside the hub, so it cannot be started or stopped from here. Whoever launched it — a login item, a terminal — still owns it; these controls stay disabled rather than sending an action that cannot land.`}),s&&!t.error?(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:s}):null,t.error&&a===null?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:t.error}):null,(0,z.jsx)(_,{open:a===`stop`,onClose:()=>o(null),title:`Stop the serving runtime?`,body:(0,z.jsxs)(z.Fragment,{children:[`Every local agent turn in flight is answered by this process. Stopping it ends those turns — nothing in flight is rolled back, and no local seat can take a new turn until it is running again.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),`This does not touch the autonomous loop, the kill switch, or your own write tools.`]}),confirmLabel:`Stop runtime`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>v(`stop`,`Stopping the serving runtime requires the dispatch token.`)}),(0,z.jsx)(_,{open:a===`restart`,onClose:()=>o(null),title:`Restart the serving runtime?`,body:(0,z.jsxs)(z.Fragment,{children:[`The process is stopped and started again. Turns in flight end with it, and the first turn afterwards pays the model load — on a 27 GB model that is not instant.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),`Restart is the way to pick up a changed slot count or context size, since both are fixed at launch.`]}),confirmLabel:`Restart runtime`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>v(`restart`,`Restarting the serving runtime requires the dispatch token.`)})]})]})}function vt({configured:e,refusal:t}){return(0,z.jsxs)(`div`,{className:B.evidence,children:[(0,z.jsx)(`p`,{className:B.evidenceLead,children:e===null?`The configured slot count is not a concurrency on this runtime.`:`${e} slots are configured, but this runtime will not run them in parallel. Measured on this machine, four concurrent requests to the same model:`}),(0,z.jsx)(`div`,{className:B.evidenceScroll,children:(0,z.jsxs)(`table`,{className:B.evidenceTable,children:[(0,z.jsx)(`caption`,{className:B.srOnly,children:`Four concurrent requests to the same Qwen3.8 model file, per-runtime completion times in seconds`}),(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{scope:`col`,children:`Runtime`}),(0,z.jsx)(`th`,{scope:`col`,children:`Per request (s)`}),(0,z.jsx)(`th`,{scope:`col`,children:`Wall (s)`}),(0,z.jsx)(`th`,{scope:`col`,children:`Finished`})]})}),(0,z.jsx)(`tbody`,{children:De.map(e=>(0,z.jsxs)(`tr`,{children:[(0,z.jsx)(`th`,{scope:`row`,children:e.runtime}),(0,z.jsx)(`td`,{className:B.evidenceNums,children:e.perRequestSeconds.join(` · `)}),(0,z.jsx)(`td`,{className:B.evidenceNums,children:e.wallSeconds.toFixed(1)}),(0,z.jsx)(`td`,{children:e.verdict})]},e.runtime))})]})}),t?(0,z.jsxs)(`p`,{className:B.capHelp,children:[`The runtime’s own words: `,(0,z.jsx)(`code`,{className:B.evidenceCode,children:t})]}):null]})}function q({label:e,value:t,mono:n=!1,wide:r=!1}){return(0,z.jsxs)(`div`,{className:`${B.fact} ${r?B.factWide:``}`,children:[(0,z.jsx)(`span`,{className:B.factLabel,children:e}),(0,z.jsx)(`span`,{className:`${B.factValue} ${n?B.factMono:``}`,children:t})]})}function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Y(e){return typeof e==`string`&&e.trim()!==``?e:null}function X(e){return typeof e==`boolean`?e:null}function yt(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?null:Math.floor(e)}function bt(e){if(!J(e))return null;let t=Y(e.kind);if(t===`until-paused`)return{kind:`until-paused`};if(t===`at-time`){let t=Y(e.at);return t===null||Number.isNaN(Date.parse(t))?null:{kind:`at-time`,at:t}}if(t===`after-iterations`){let t=yt(e.iterations);return t===null||t<=0?null:{kind:`after-iterations`,iterations:t}}return null}function xt(e){if(!Array.isArray(e))return[];let t=[];for(let[n,r]of e.entries()){if(!J(r))continue;let e=Y(r.repo);e!==null&&t.push({id:Y(r.id)??`${e}:${n}`,repo:e,title:Y(r.title)??`untitled change`,at:Y(r.at),commit:Y(r.commit)})}return t}function St(e){if(!Array.isArray(e))return[];let t=[];for(let[n,r]of e.entries()){if(!J(r))continue;let e=Y(r.repo);e!==null&&t.push({id:Y(r.id)??`${e}:${n}`,repo:e,title:Y(r.title)??`untitled change`,at:Y(r.at),reason:Y(r.reason)??`no reason recorded`})}return t}function Ct(e){return J(e)?{tests:X(e.tests),lint:X(e.lint),typecheck:X(e.typecheck),autoMerge:X(e.autoMerge),branch:Y(e.branch)}:null}function wt(e){if(!J(e))return null;let t=Y(e.runId);return t===null?null:{runId:t,startedAt:Y(e.startedAt),stopRule:bt(e.stopRule),iterationsDone:yt(e.iterationsDone),repo:Y(e.repo),activity:Y(e.activity),merged:xt(e.merged),discarded:St(e.discarded)}}function Tt(e){if(!J(e))return null;let t=X(e.armed);return t===null?null:{armed:t,run:wt(e.run),repos:yt(e.repos),gate:Ct(e.gate)}}function Et(e,t=new Date){let n=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!n)return null;let r=Number(n[1]),i=Number(n[2]);if(!Number.isInteger(r)||!Number.isInteger(i)||r<0||r>23||i<0||i>59)return null;let a=new Date(t);return a.setHours(r,i,0,0),a.getTime()<=t.getTime()&&a.setDate(a.getDate()+1),a.toISOString()}function Dt(e){if(!e)return`—`;let t=Date.parse(e);return Number.isNaN(t)?`—`:new Date(t).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function Ot(e,t=new Date){if(!e)return!1;let n=Date.parse(e);return!Number.isNaN(n)&&new Date(n).toDateString()!==t.toDateString()}function kt(e,t=new Date){switch(e.kind){case`until-paused`:return`Runs until you pause it — no stop time, no iteration limit.`;case`at-time`:return`Stops at ${Dt(e.at)}${Ot(e.at,t)?` tomorrow`:``}.`;case`after-iterations`:return`Stops after ${e.iterations} ${e.iterations===1?`iteration`:`iterations`}.`}}function At(e,t,n=Date.now()){if(e===null)return{headline:`Stop rule not stated`,remaining:`—`,percent:null,reached:!1};if(e.kind===`until-paused`)return{headline:`Runs until you pause it`,remaining:`no stop time, no iteration limit`,percent:null,reached:!1};if(e.kind===`at-time`){let r=Date.parse(e.at);if(Number.isNaN(r))return{headline:`Stop time not readable`,remaining:`—`,percent:null,reached:!1};let i=`Stops at ${Dt(e.at)}`,a=r-n;if(a<=0)return{headline:i,remaining:`stop time reached`,percent:100,reached:!0};let o=t?.startedAt?Date.parse(t.startedAt):NaN,s=Number.isNaN(o)||r<=o?null:Math.min(100,Math.max(0,Math.round((n-o)/(r-o)*100)));return{headline:i,remaining:`${A(a)} left`,percent:s,reached:!1}}let r=t?.iterationsDone,i=`Stops after ${e.iterations} ${e.iterations===1?`iteration`:`iterations`}`;return typeof r==`number`?{headline:i,remaining:`${r} of ${e.iterations} done`,percent:Math.min(100,Math.round(r/e.iterations*100)),reached:r>=e.iterations}:{headline:i,remaining:`— of ${e.iterations} done`,percent:null,reached:!1}}function jt(e,t=Date.now()){if(!e)return`—`;let n=Date.parse(e);return Number.isNaN(n)?`—`:A(Math.max(0,t-n))}function Mt(e){if(e===null)return[];let t=[];return e.tests===!0&&t.push(`tests`),e.lint===!0&&t.push(`lint`),e.typecheck===!0&&t.push(`typecheck`),t}function Nt(e){if(e===null)return[`tests`,`lint`,`typecheck`];let t=[];return e.tests===null&&t.push(`tests`),e.lint===null&&t.push(`lint`),e.typecheck===null&&t.push(`typecheck`),t}function Pt(e){return e.length===0?``:e.length===1?e[0]:`${e.slice(0,-1).join(`, `)} and ${e[e.length-1]}`}var Ft=`verse-overnight`,Z=`/api/verse/overnight`;function It(e){return e instanceof f?e.status===404?`This build does not expose ${Z}, so an overnight run cannot be armed from here. It is a missing route, not a run that refused to start.`:`${Z} answered HTTP ${e.status}.`:`${Z} could not be reached.`}var Lt={key:Ft,fetch:async e=>{try{let t=Tt(await l(Z,e));return t===null?{value:null,available:!0,reason:`${Z} answered in a shape this client does not recognise, so nothing is shown rather than guessed.`}:{value:t,available:!0,reason:null}}catch(e){if(e instanceof f&&e.status===401||e instanceof DOMException&&e.name===`AbortError`)throw e;return{value:null,available:!1,reason:It(e)}}}};async function Rt(e,t){let n=c();if(!n)throw new ce;let i=await p(e,t,n);return r(),i}function zt(){i(Ft),i(I)}async function Bt(e){let t=await Rt(Z,{action:`arm`,stopRule:e});return zt(),t}async function Vt(){let e=await Rt(Z,{action:`disarm`});return zt(),e}var Ht=15e3;function Ut(e,t=Ht){let n=h(Lt);(0,R.useEffect)(()=>{if(!e)return;let r=null,i=()=>{r===null&&(r=setInterval(n,t))},a=()=>{r!==null&&(clearInterval(r),r=null)},o=()=>{if(document.visibilityState===`hidden`){a();return}n(),i()};return document.visibilityState!==`hidden`&&i(),document.addEventListener(`visibilitychange`,o),()=>{a(),document.removeEventListener(`visibilitychange`,o)}},[e,t,n])}var Q={armedTop:`_armedTop_8ujh1_22`,armedState:`_armedState_8ujh1_30`,haltRow:`_haltRow_8ujh1_36`,haltNote:`_haltNote_8ujh1_43`,heavier:`_heavier_8ujh1_53`,facts:`_facts_8ujh1_69`,fact:`_fact_8ujh1_69`,factWide:`_factWide_8ujh1_83`,factLabel:`_factLabel_8ujh1_87`,factValue:`_factValue_8ujh1_95`,factMono:`_factMono_8ujh1_106`,stop:`_stop_8ujh1_112`,stopHead:`_stopHead_8ujh1_121`,stopHeadline:`_stopHeadline_8ujh1_129`,stopRemaining:`_stopRemaining_8ujh1_137`,stopDetail:`_stopDetail_8ujh1_146`,ledger:`_ledger_8ujh1_154`,ledgerTitle:`_ledgerTitle_8ujh1_158`,ledgerCount:`_ledgerCount_8ujh1_171`,ledgerEmpty:`_ledgerEmpty_8ujh1_177`,ledgerList:`_ledgerList_8ujh1_183`,ledgerRow:`_ledgerRow_8ujh1_189`,ledgerRepo:`_ledgerRepo_8ujh1_203`,ledgerChange:`_ledgerChange_8ujh1_212`,ledgerMeta:`_ledgerMeta_8ujh1_222`,form:`_form_8ujh1_232`,field:`_field_8ujh1_239`,fieldLabel:`_fieldLabel_8ujh1_246`,input:`_input_8ujh1_254`,rulePreview:`_rulePreview_8ujh1_277`,armRow:`_armRow_8ujh1_285`,authorisation:`_authorisation_8ujh1_17`,authorisationTitle:`_authorisationTitle_8ujh1_305`,authorisationBody:`_authorisationBody_8ujh1_315`,authorisationCaveat:`_authorisationCaveat_8ujh1_327`},Wt=[{value:`until-paused`,label:`Until I pause it`},{value:`at-time`,label:`At a time`},{value:`after-iterations`,label:`After N iterations`}],Gt=`07:00`,Kt=`20`;function qt({read:e,snapshot:t,guard:n,dispatchEnabled:r,loading:i=!1}){let a=G(1e3),[o,s]=(0,R.useState)(`until-paused`),[c,l]=(0,R.useState)(Gt),[u,f]=(0,R.useState)(Kt),[p,m]=(0,R.useState)(null),[h,g]=(0,R.useState)(null),_=e?.value??null,v=_?.run??null,x=t.pause?.state??`unknown`,S=x!==`running`,C=x===`unknown`,w=t.killSwitch?.state===`active`,te=!r||n.readOnly,T=te||n.busy,E=_?.repos??t.scope?.repos?.length??null,D=_?.gate??null,ne=Mt(D),O=Nt(D),re=D?.branch??`master`,k=Jt(o,c,u),A=At(v?.stopRule??null,v,a),j=te?`This server runs without dispatch, so an overnight run cannot be armed from here.`:w?`Release the emergency stop before arming an overnight run.`:``,ie=()=>{m(null),n.request(()=>L(`pause`),`Pausing autonomous dispatch requires the dispatch token.`,e=>g(e.note||null))},N=()=>{m(null),n.request(()=>L(`resume`),`Resuming autonomous dispatch requires the dispatch token.`,e=>g(e.note||null))},P=()=>{if(k===null){m(o===`at-time`?`Enter a stop time as HH:MM before arming.`:`Enter a number of iterations between 1 and 500 before arming.`);return}m(null),n.request(()=>Bt(k),`Arming an overnight run requires the dispatch token.`,e=>g(e.note||null))},ae=()=>{m(null),n.request(()=>Vt(),`Disarming the overnight run requires the dispatch token.`,e=>g(e.note||null))},F=(0,z.jsxs)(`div`,{className:Q.authorisation,children:[(0,z.jsx)(`h4`,{className:Q.authorisationTitle,children:`What it does while you sleep`}),(0,z.jsxs)(`p`,{className:Q.authorisationBody,children:[`Local models work through`,` `,(0,z.jsx)(`strong`,{children:E===null?`your enrolled repositories`:`your ${E} enrolled ${E===1?`repository`:`repositories`}`}),` `,`unattended. Each change it writes is put through the gate`,ne.length>0?(0,z.jsxs)(z.Fragment,{children:[` `,`— `,(0,z.jsx)(`strong`,{children:Pt(ne)}),` must pass`]}):null,`. A change that passes the gate is `,(0,z.jsxs)(`strong`,{children:[`merged to `,re,` without asking you`]}),`. A change that fails is discarded and the repository is left as it was.`]}),O.length>0?(0,z.jsxs)(`p`,{className:Q.authorisationCaveat,children:[`This build did not state whether `,Pt(O),` `,O.length===1?`runs`:`run`,` in the gate, so `,O.length===1?`it is`:`they are`,` shown as unstated rather than as passing checks you can rely on.`]}):null,D?.autoMerge===!1?(0,z.jsxs)(`p`,{className:Q.authorisationCaveat,children:[`This build reports that passing changes are `,(0,z.jsx)(`strong`,{children:`not`}),` merged automatically — they wait for you in Approvals.`]}):null]});return(0,z.jsxs)(`section`,{className:B.panel,"aria-labelledby":`verse-overnight-title`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{id:`verse-overnight-title`,className:B.panelTitle,children:`Overnight`}),(0,z.jsx)(`p`,{className:B.panelNote,children:`Arm this when you walk away. One stop rule per run; pause halts it at any time.`})]}),i&&e===null?(0,z.jsx)(`p`,{className:B.empty,children:`Reading the overnight lane…`}):e===null||!e.available&&e.value===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`Not available in this build. `}),e?.reason??`Nothing answered for the overnight lane, so a run cannot be armed or reported here. Nothing is running because of this panel.`]}):_===null?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`Unreadable reading. `}),e.reason??`The overnight reading could not be narrowed, so whether a run is armed is not stated rather than guessed.`]}):_.armed?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:Q.armedTop,children:[(0,z.jsx)(`span`,{className:Q.armedState,children:(0,z.jsx)(d,{status:S?`paused`:`running`,tone:S?`warning`:`running`,children:S?`armed — dispatch paused`:`armed — running`})}),(0,z.jsxs)(`div`,{className:Q.haltRow,children:[S?(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${B.buttonPrimary}`,disabled:T,onClick:N,children:`Resume now`}):(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${B.buttonPrimary}`,disabled:T,onClick:ie,children:`Pause now`}),(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:T,onClick:ae,children:`Disarm`})]})]}),(0,z.jsx)(`p`,{className:Q.haltNote,children:S?C?`Treated as paused: the pause sentinel could not be read, and the daemon fails safe rather than running on an unreadable signal. Nothing is being dispatched.`:`Autonomous dispatch is paused. The loop parks between iterations; your own write tools are unaffected and the global kill switch is not engaged.`:`Pause halts autonomous dispatch and nothing else — it undoes in one click. Disarm stops the next run from starting but leaves this one going.`}),(0,z.jsxs)(`dl`,{className:Q.facts,children:[(0,z.jsx)(Yt,{label:`Doing now`,value:v?.activity??`—`,wide:!0}),(0,z.jsx)(Yt,{label:`Repository`,value:v?.repo??`—`,mono:!0}),(0,z.jsx)(Yt,{label:`Running for`,value:jt(v?.startedAt,a)})]}),(0,z.jsxs)(`div`,{className:Q.stop,children:[(0,z.jsxs)(`div`,{className:Q.stopHead,children:[(0,z.jsx)(`span`,{className:Q.stopHeadline,children:A.headline}),(0,z.jsx)(`span`,{className:Q.stopRemaining,children:A.remaining})]}),A.percent===null?(0,z.jsx)(`p`,{className:Q.stopDetail,children:`No progress is drawn for an open-ended run: there is no finish line to draw it against.`}):(0,z.jsx)(b,{value:A.percent,max:100,variant:`line`,tone:A.reached?`warning`:`accent`,"aria-label":`Progress toward the stop condition`})]}),(0,z.jsx)(Xt,{title:`Merged`,empty:`Nothing merged yet.`,rows:(v?.merged??[]).map(e=>({id:e.id,repo:e.repo,title:e.title,meta:e.commit?`${e.commit} · ${M(e.at)}`:M(e.at)}))}),(0,z.jsx)(Xt,{title:`Discarded`,empty:`Nothing discarded yet.`,rows:(v?.discarded??[]).map(e=>({id:e.id,repo:e.repo,title:e.title,meta:`${e.reason} · ${M(e.at)}`}))}),F]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:Q.form,children:[(0,z.jsxs)(`div`,{className:Q.field,children:[(0,z.jsx)(`span`,{className:Q.fieldLabel,id:`verse-overnight-stop-label`,children:`Stop rule`}),(0,z.jsx)(ee,{options:Wt,value:o,onChange:e=>{s(e),m(null)},"aria-labelledby":`verse-overnight-stop-label`,size:`sm`})]}),o===`at-time`?(0,z.jsxs)(`div`,{className:Q.field,children:[(0,z.jsx)(`label`,{className:Q.fieldLabel,htmlFor:`verse-overnight-time`,children:`Stop at`}),(0,z.jsx)(`input`,{id:`verse-overnight-time`,type:`time`,className:Q.input,value:c,disabled:T,onChange:e=>{l(e.target.value),m(null)}})]}):null,o===`after-iterations`?(0,z.jsxs)(`div`,{className:Q.field,children:[(0,z.jsx)(`label`,{className:Q.fieldLabel,htmlFor:`verse-overnight-iterations`,children:`Iterations`}),(0,z.jsx)(`input`,{id:`verse-overnight-iterations`,type:`number`,inputMode:`numeric`,min:1,max:500,className:Q.input,value:u,disabled:T,onChange:e=>{f(e.target.value),m(null)}})]}):null]}),(0,z.jsx)(`p`,{className:Q.rulePreview,children:k===null?o===`at-time`?`Enter a stop time as HH:MM.`:`Enter a number of iterations between 1 and 500.`:kt(k,new Date(a))}),F,(0,z.jsxs)(`div`,{className:Q.armRow,children:[(0,z.jsx)(y,{label:j,children:(0,z.jsx)(`button`,{type:`button`,className:`${B.button} ${B.buttonPrimary}`,disabled:T||w,onClick:P,children:`Arm overnight run`})}),S?(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:T,onClick:N,children:`Resume now`}):null]}),S?(0,z.jsx)(`p`,{className:Q.haltNote,role:`status`,children:C?`Autonomous dispatch is treated as paused — the sentinel could not be read. An armed run would park rather than work until that is resolved.`:`Autonomous dispatch is paused, so an armed run would park rather than work. Resume before walking away.`}):null,(0,z.jsxs)(`p`,{className:Q.heavier,children:[`Pause is the halt for this run and it undoes in one click.`,` `,(0,z.jsx)(`strong`,{children:`Emergency stop`}),`, in Controls above, is heavier on purpose: it engages the global kill switch, which also stops the agent’s own write tools from editing anything, anywhere, until you release it.`]})]}),p?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:p}):null,n.error?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:n.error}):null,h&&!n.error?(0,z.jsx)(`p`,{className:B.actionNote,role:`status`,children:h}):null]})}function Jt(e,t,n){if(e===`until-paused`)return{kind:`until-paused`};if(e===`at-time`){let e=Et(t);return e===null?null:{kind:`at-time`,at:e}}let r=Number(n);return!Number.isInteger(r)||r<1||r>500?null:{kind:`after-iterations`,iterations:r}}function Yt({label:e,value:t,mono:n=!1,wide:r=!1}){return(0,z.jsxs)(`div`,{className:`${Q.fact} ${r?Q.factWide:``}`,children:[(0,z.jsx)(`dt`,{className:Q.factLabel,children:e}),(0,z.jsx)(`dd`,{className:`${Q.factValue} ${n?Q.factMono:``}`,children:t})]})}function Xt({title:e,empty:t,rows:n}){return(0,z.jsxs)(`div`,{className:Q.ledger,children:[(0,z.jsxs)(`h4`,{className:Q.ledgerTitle,children:[e,` `,(0,z.jsx)(`span`,{className:Q.ledgerCount,children:n.length})]}),n.length===0?(0,z.jsx)(`p`,{className:Q.ledgerEmpty,children:t}):(0,z.jsx)(`ul`,{className:Q.ledgerList,children:n.map(e=>(0,z.jsxs)(`li`,{className:Q.ledgerRow,children:[(0,z.jsx)(`span`,{className:Q.ledgerRepo,children:e.repo}),(0,z.jsx)(`span`,{className:Q.ledgerChange,children:e.title}),(0,z.jsx)(`span`,{className:Q.ledgerMeta,children:e.meta})]},e.id))})]})}function Zt(){let e=m(se),t=o(se),n=e.data,r=n?.checks?.filter(e=>e.pass).length??0,i=n?.checks?.length??0;return(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Safety checks`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Safety`}),(0,z.jsxs)(`div`,{className:B.panelActions,children:[e.status===`refreshing`?(0,z.jsx)(u,{}):null,n?(0,z.jsxs)(`span`,{className:B.panelNote,children:[r,`/`,i,` passing`]}):null,(0,z.jsx)(`button`,{type:`button`,className:B.button,onClick:t,disabled:e.status===`loading`,children:`Re-run checks`})]})]}),e.status===`loading`?(0,z.jsxs)(`div`,{className:B.skeletons,children:[(0,z.jsx)(s,{width:`70%`}),(0,z.jsx)(s,{width:`55%`}),(0,z.jsx)(s,{width:`62%`})]}):e.status===`error`?(0,z.jsx)(`p`,{className:B.error,role:`alert`,children:e.error?.message??`Could not run the safety checks.`}):!n||i===0?(0,z.jsx)(`p`,{className:B.empty,children:`The safety report came back with no checks. That is itself a problem worth investigating — treat it as a failure, not as a pass.`}):(0,z.jsx)(`div`,{className:B.checkList,children:n.checks.map(e=>(0,z.jsxs)(`div`,{className:B.check,"data-pass":e.pass,children:[(0,z.jsx)(`span`,{className:B.checkMark,"aria-hidden":`true`,children:e.pass?`✓`:`✕`}),(0,z.jsxs)(`span`,{className:B.checkLabel,children:[e.label,(0,z.jsx)(`span`,{className:B.srOnly,children:e.pass?` — passed`:` — failed`})]}),(0,z.jsx)(`span`,{className:B.checkDetail,children:e.detail||e.id})]},e.id))})]})}function Qt(e){let t=e.trim();return t===``?`Enter the absolute path of the repository to enroll.`:t.startsWith(`/`)?t===`/`?`The filesystem root cannot be enrolled as autonomous scope.`:/(^|\/)\.codex\/artifacts(\/|$)/.test(t)?`Paths under ~/.codex/artifacts cannot be enrolled.`:/(^|\/)\.ashlr(\/|$)/.test(t)?`Paths under ~/.ashlr cannot be enrolled — that is the agent’s own control directory.`:null:`Enrollment takes an absolute path, e.g. /Users/you/code/project.`}function $t({path:e,scope:t}){let n=t?.entries.find(t=>t.path===e)??null;if(n===null)return null;let r=n.priority!==`normal`;return!r&&n.sections.length===0?null:(0,z.jsxs)(`span`,{className:B.repoStanding,title:Ae,children:[r?(0,z.jsx)(`span`,{className:B.repoPriority,children:ke[n.priority]}):null,n.sections.map(e=>(0,z.jsx)(`span`,{className:B.repoSection,children:e.name},e.id)),n.outsideFocus?(0,z.jsx)(`span`,{className:B.repoOutsideFocus,children:`outside the focused section`}):null]})}function en({guard:e,dispatchEnabled:t}){let n=m(oe),r=m(S),[i,o]=(0,R.useState)(``),[s,c]=(0,R.useState)(null),[l,d]=(0,R.useState)(null),[f,p]=(0,R.useState)(null),h=!t||e.readOnly;function g(){let e=Qt(i);if(e){c(e);return}c(null),p(i.trim())}function v(){let t=f;t&&e.request(async()=>{await le({action:`enroll`,path:t}),o(``),p(null)},`Enrolling a repository for autonomous work requires the dispatch token.`)}let y=n.data?.repos??[];return(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Scope`,children:[(0,z.jsxs)(`div`,{className:B.panelHead,children:[(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Scope — enrolled repositories`}),n.status===`refreshing`?(0,z.jsx)(u,{}):null]}),n.data?.degradedReason?(0,z.jsxs)(`p`,{className:B.readOnly,children:[`The enrollment registry read is degraded: `,n.data.degradedReason]}):null,n.status===`loading`?(0,z.jsxs)(`div`,{className:B.skeletons,children:[(0,z.jsx)(a,{}),(0,z.jsx)(a,{})]}):n.status===`error`?(0,z.jsx)(`p`,{className:B.error,role:`alert`,children:n.error?.message??`Could not read the enrollment registry.`}):y.length===0?(0,z.jsxs)(`p`,{className:B.empty,children:[(0,z.jsx)(`span`,{className:B.emptyStrong,children:`No repositories are enrolled, so the daemon will do nothing.`}),` `,`That is the default and it is not a bug — nothing autonomous can mutate a real repository until you enroll it here. Add one below to give the loop somewhere to work.`]}):(0,z.jsx)(`div`,{className:B.repoList,children:y.map(t=>(0,z.jsxs)(`div`,{className:B.repoRow,children:[(0,z.jsx)(`span`,{className:B.repoName,children:t.name}),(0,z.jsx)(`span`,{className:B.repoPath,title:t.path,children:t.path}),t.exists?null:(0,z.jsx)(`span`,{className:B.repoMissing,children:`⚠ path missing on disk`}),(0,z.jsx)($t,{path:t.path,scope:r.data??null}),(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:h||e.busy,onClick:()=>d(t),children:`Remove`})]},t.path))}),(0,z.jsxs)(`div`,{className:B.addRow,children:[(0,z.jsx)(`input`,{className:B.addInput,type:`text`,value:i,placeholder:`/absolute/path/to/repository`,"aria-label":`Repository path to enroll`,"aria-invalid":s?!0:void 0,disabled:h||e.busy,onChange:e=>{o(e.target.value),s&&c(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),g())}}),(0,z.jsx)(`button`,{type:`button`,className:B.button,disabled:h||e.busy,onClick:g,children:`Enroll repository`})]}),s?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:s}):null,e.error&&!s?(0,z.jsx)(`p`,{className:B.capError,role:`alert`,children:e.error}):null,(0,z.jsx)(_,{open:f!==null,onClose:()=>p(null),title:`Give the autonomous loop write authority here?`,body:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`code`,{children:f}),` becomes autonomous scope. The loop may propose work against it, and the agent’s own mcp-native write tools will act on it — enrolment is the gate those tools check.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`br`,{}),`Nothing is written by enrolling. You can remove it again from this panel at any time.`]}),confirmLabel:`Enroll repository`,busy:e.busy,error:e.error,onConfirm:v}),(0,z.jsx)(_,{open:l!==null,onClose:()=>d(null),title:`Remove this repository from scope?`,body:(0,z.jsxs)(z.Fragment,{children:[`The autonomous loop will stop proposing work for `,(0,z.jsx)(`code`,{children:l?.path}),`. Existing proposals stay in the inbox; nothing on disk is changed or deleted.`]}),confirmLabel:`Remove from scope`,destructive:!0,busy:e.busy,error:e.error,onConfirm:()=>{let t=l;t&&e.request(async()=>{await le({action:`unenroll`,path:t.path}),d(null)},`Removing a repository from autonomous scope requires the dispatch token.`)}})]})}var $={section:`_section_1vgpf_8`,header:`_header_1vgpf_10`,title:`_title_1vgpf_23`,headerActions:`_headerActions_1vgpf_31`,ghost:`_ghost_1vgpf_32`,scroll:`_scroll_1vgpf_45`,measure:`_measure_1vgpf_46`,banner:`_banner_1vgpf_48`,bannerTitle:`_bannerTitle_1vgpf_59`,failure:`_failure_1vgpf_61`,retry:`_retry_1vgpf_70`,loading:`_loading_1vgpf_82`};function tn(){let e=m(pe),t=m(F),n=m(x),r=m(ot),i=m(st),c=m(ct),l=m(Lt),d=o(pe),f=de();pt(),Ut(l.data?.value?.armed??!1);let p=(n.data?.dispatchEnabled??!0)&&!f.readOnly,h=e.data,g=(0,R.useMemo)(()=>(n.data?.seats??[]).map(e=>({id:e.id,engine:e.engine,label:e.label})),[n.data]);return(0,z.jsxs)(`section`,{className:$.section,"aria-label":`Autonomy`,children:[(0,z.jsxs)(`header`,{className:$.header,"data-app-region":`drag`,children:[(0,z.jsx)(`h2`,{className:$.title,children:`Autonomy`}),(0,z.jsxs)(`div`,{className:$.headerActions,children:[e.status===`refreshing`?(0,z.jsx)(u,{}):null,(0,z.jsx)(`button`,{type:`button`,className:$.ghost,onClick:d,children:`Refresh`})]})]}),(0,z.jsx)(`div`,{className:$.scroll,children:(0,z.jsxs)(`div`,{className:$.measure,children:[p?null:(0,z.jsxs)(`div`,{className:$.banner,role:`status`,children:[(0,z.jsx)(`span`,{className:$.bannerTitle,children:`Read-only session`}),`This server was started without dispatch, so starting, stopping, editing caps, and changing scope are unavailable. Everything below is live and accurate — run `,(0,z.jsx)(`code`,{children:`ashlr verse`}),` to get the controls.`]}),e.status===`loading`?(0,z.jsxs)(`div`,{className:$.loading,children:[(0,z.jsx)(s,{width:`42%`}),(0,z.jsx)(s,{width:`68%`}),(0,z.jsx)(a,{}),(0,z.jsx)(a,{})]}):e.status===`error`||!h?(0,z.jsxs)(`div`,{className:$.failure,role:`alert`,children:[e.error?.message??`Could not read the autonomy control snapshot.`,(0,z.jsx)(`br`,{}),`Without it the cockpit cannot honestly say whether the loop is running, so nothing below is shown rather than guessed.`,(0,z.jsx)(`br`,{}),(0,z.jsx)(`button`,{type:`button`,className:$.retry,onClick:d,children:`Try again`})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Je,{snapshot:h}),(0,z.jsx)(Ye,{snapshot:h,guard:f,dispatchEnabled:p}),(0,z.jsx)(qt,{read:l.data??null,snapshot:h,guard:f,dispatchEnabled:p,loading:l.status===`loading`}),(0,z.jsx)(_t,{read:r.data??null,guard:f,dispatchEnabled:p,loading:r.status===`loading`}),(0,z.jsx)(mt,{read:c.data??null,seats:g,guard:f,dispatchEnabled:p,loading:c.status===`loading`}),(0,z.jsx)(Qe,{read:i.data??null,runtime:r.data?.value??null,loading:i.status===`loading`}),t.status===`loading`?(0,z.jsxs)(`div`,{className:B.panel,children:[(0,z.jsx)(a,{}),(0,z.jsx)(a,{})]}):t.data?(0,z.jsx)(He,{caps:t.data,snapshot:h,guard:f,dispatchEnabled:p}):(0,z.jsxs)(`section`,{className:B.panel,"aria-label":`Budget and limits`,children:[(0,z.jsx)(`div`,{className:B.panelHead,children:(0,z.jsx)(`h3`,{className:B.panelTitle,children:`Budget and limits`})}),(0,z.jsx)(`p`,{className:B.error,role:`alert`,children:t.error?.message??`Could not read the configured caps, so none are shown or editable.`})]}),(0,z.jsx)(en,{guard:f,dispatchEnabled:p}),(0,z.jsx)(Ne,{snapshot:h}),(0,z.jsx)(Zt,{}),(0,z.jsx)(et,{})]})]})}),(0,z.jsx)(v,{open:f.tokenOpen,onClose:f.closeToken,reason:f.tokenReason,tokenHelp:`the mutation token ashlr verse printed`})]})}export{tn as AutonomySection};
|
|
2
|
-
//# sourceMappingURL=AutonomySection-DoqmsCjw.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._chip_rrd6q_8{align-items:center;gap:var(--space-1);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--status-unknown-fg);white-space:nowrap;flex:none;display:inline-flex}._chipGlyph_rrd6q_22{font-family:var(--font-ui);letter-spacing:0;font-size:10px;line-height:1}._chip_rrd6q_8[data-capacity=ready]{color:var(--status-success-fg)}._chip_rrd6q_8[data-capacity=tight]{color:var(--status-warning-fg)}._chip_rrd6q_8[data-capacity=blocked]{color:var(--status-danger-fg)}._chip_rrd6q_8[data-capacity=unread]{color:var(--status-unknown-fg)}._window_rrd6q_35,._windowLead_rrd6q_36{flex-direction:column;gap:2px;min-width:0;display:flex}._windowLead_rrd6q_36 ._windowLabel_rrd6q_43,._windowLead_rrd6q_36 ._pct_rrd6q_44{color:var(--text-primary)}._windowLabel_rrd6q_43{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--text-secondary);overflow:hidden}._pct_rrd6q_44{font-variant-numeric:tabular-nums;font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--text-secondary)}._flag_rrd6q_60{font-family:var(--font-ui);font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);font-weight:var(--font-weight-medium);color:var(--status-danger-fg);white-space:nowrap}._unknownHead_rrd6q_69{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;display:flex}._unknownValue_rrd6q_76{font-family:var(--font-ui);font-style:italic;font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--status-unknown-fg);flex:none}._unknownRule_rrd6q_85{border:0;border-top:1px dashed var(--border-strong);width:100%;height:0;margin:3px 0 0}._reset_rrd6q_93{text-overflow:ellipsis;font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--text-tertiary);margin:0;overflow:hidden}._note_rrd6q_104{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}._noteHead_rrd6q_110{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}._plan_rrd6q_117{padding:0 var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-xs);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;flex:none}._noteSummary_rrd6q_130{min-width:0;font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--text-secondary);flex:100%}._credits_rrd6q_137{font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--text-tertiary);margin:0}._composer_um1gd_5{padding:0 var(--space-6) var(--space-4);background:var(--bg-surface);flex-shrink:0}._box_um1gd_10{width:100%;max-width:var(--measure-read);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-input);transition:border-color var(--duration-fast) var(--ease-standard);margin:0 auto}._box_um1gd_10:has(>._textarea_um1gd_21:focus){border-color:var(--accent-500);box-shadow:0 0 0 1px var(--accent-500)}._boxListening_um1gd_28{border-color:var(--status-running-solid)}._textarea_um1gd_21{width:100%;min-height:calc(var(--control-h) + var(--space-2));resize:none;max-height:40vh;padding:var(--space-3) var(--space-3) var(--space-1);color:var(--text-primary);font-size:var(--text-base-size);line-height:var(--text-base-line-relaxed);background:0 0;border:0;display:block}._textarea_um1gd_21::placeholder{color:var(--text-tertiary)}._textarea_um1gd_21:focus-visible{box-shadow:none;outline:none}._textarea_um1gd_21:disabled{color:var(--text-secondary);cursor:not-allowed}._row_um1gd_47{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-2) var(--space-2);display:flex}._spacer_um1gd_53{flex:1}._engine-claude_um1gd_56{--verse-engine:var(--engine-claude,#c96442)}._engine-codex_um1gd_57{--verse-engine:var(--engine-codex,#10a37f)}._engine-grok_um1gd_58{--verse-engine:var(--engine-grok,#6b7280)}._engine-local_um1gd_59{--verse-engine:var(--engine-local,#7c5cff)}._engineDot_um1gd_60{border-radius:var(--radius-full);background:var(--verse-engine,var(--text-tertiary));flex-shrink:0;width:5px;height:5px}._seatField_um1gd_69{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}._seatFieldCompact_um1gd_70{flex-direction:row;align-items:center;max-width:320px}._fieldLabel_um1gd_71{font-size:var(--text-sm-size);font-weight:var(--font-weight-medium);color:var(--text-primary)}._seatSelect_um1gd_72{width:100%;min-height:var(--control-h);max-width:100%;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm-size);text-overflow:ellipsis}._seatSelect_um1gd_72:hover:not(:disabled){border-color:var(--border-strong)}._seatSelect_um1gd_72:disabled{opacity:.6;cursor:not-allowed}._seatFieldCompact_um1gd_70 ._seatSelect_um1gd_72{min-height:var(--control-h-sm);font-size:var(--text-xs-size);background:0 0;border-color:#0000}._seatPillWrap_um1gd_89{min-width:0;display:inline-flex;position:relative}._seatPill_um1gd_89{align-items:center;gap:var(--space-2);max-width:34ch;min-height:var(--control-h-xs);padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);display:inline-flex}._seatPill_um1gd_89:hover:not(:disabled),._seatPill_um1gd_89[aria-expanded=true]{background:var(--bg-hover);color:var(--text-primary)}._seatPill_um1gd_89:active:not(:disabled){background:var(--bg-active)}._seatPill_um1gd_89:disabled{opacity:.6;cursor:not-allowed}._seatPillText_um1gd_107{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._seatMenu_um1gd_109{bottom:calc(100% + var(--space-2));z-index:var(--z-dropdown);min-width:260px;max-width:360px;padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface-raised);color:var(--text-primary);box-shadow:var(--shadow-menu,var(--shadow-md));flex-direction:column;gap:1px;display:flex;position:absolute;left:0}._seatMenuHeading_um1gd_126{margin:0 0 var(--space-1);padding:var(--space-2) var(--space-2) var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs-size);color:var(--text-tertiary)}._seatMenuHeading_um1gd_126 strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}._seatMenuEmpty_um1gd_134{padding:var(--space-2);font-size:var(--text-xs-size);color:var(--text-tertiary);margin:0}._seatMenuItem_um1gd_135{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-xs);text-align:left;color:var(--text-primary);display:flex}._seatMenuItem_um1gd_135:hover,._seatMenuItem_um1gd_135:focus-visible{background:var(--bg-hover)}._seatMenuItem_um1gd_135:active{background:var(--bg-active)}._seatMenuText_um1gd_148{flex-direction:column;gap:1px;min-width:0;display:flex}._seatMenuPrimary_um1gd_149{font-size:var(--text-sm-size)}._seatMenuSecondary_um1gd_150{font-size:var(--text-2xs-size,11px);color:var(--text-tertiary)}._seatMenuCapacity_um1gd_156{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._seatMenuItem_um1gd_135[data-capacity=tight] ._seatMenuCapacity_um1gd_156{color:var(--status-warning-fg)}._seatMenuItem_um1gd_135[data-capacity=blocked] ._seatMenuCapacity_um1gd_156{color:var(--status-danger-fg)}._dictationWrap_um1gd_167{align-items:center;display:inline-flex;position:relative}._dictation_um1gd_167{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-xs);color:var(--text-tertiary);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:relative}._dictation_um1gd_167:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}._dictation_um1gd_167:active:not(:disabled){background:var(--bg-active)}._dictation_um1gd_167:disabled{opacity:.45;cursor:not-allowed}._dictationLive_um1gd_182{color:var(--status-running-fg);background:var(--status-running-bg)}._dictationPulse_um1gd_183{border-radius:var(--radius-sm);border:1px solid var(--status-running-solid);pointer-events:none;animation:1.4s ease-out infinite _verse-ring_um1gd_1;position:absolute;inset:-2px}._dictationError_um1gd_197{margin-left:var(--space-2);font-size:var(--text-xs-size);color:var(--status-danger-fg)}._send_um1gd_200,._stop_um1gd_201{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs-size);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border:1px solid #0000;display:inline-flex}._send_um1gd_200{background:var(--accent-600);color:var(--accent-contrast)}._send_um1gd_200:hover:not(:disabled){background:var(--accent-700)}._send_um1gd_200:active:not(:disabled){background:var(--accent-700);border-color:var(--accent-700)}._send_um1gd_200:disabled{opacity:.4;cursor:not-allowed}._stop_um1gd_201{border-color:var(--border-default);color:var(--text-primary)}._stop_um1gd_201:hover{border-color:var(--status-danger-solid);color:var(--status-danger-fg)}._stop_um1gd_201:active{background:var(--status-danger-bg)}._stopIcon_um1gd_220{background:currentColor;border-radius:1px;width:8px;height:8px}._help_um1gd_223{max-width:var(--measure-read);margin:var(--space-2) auto 0;min-height:var(--text-2xs-line);font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);line-height:1.4}._helpQuiet_um1gd_231{min-height:0;margin-top:0}._help_um1gd_223 kbd{font-family:var(--font-mono);font-size:var(--text-2xs-size,11px);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);padding:0 3px}._helpError_um1gd_240{color:var(--status-danger-fg)}@keyframes _verse-ring_um1gd_1{0%{opacity:.9;transform:scale(.94)}to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) ._dictationPulse_um1gd_183{animation:none}}:root[data-motion=reduce] ._dictationPulse_um1gd_183{animation:none}@media (max-width:900px){._composer_um1gd_5{padding:0 var(--space-4) var(--space-3)}}@media (max-width:640px){._row_um1gd_47{flex-wrap:wrap}._seatPill_um1gd_89{max-width:100%}._textarea_um1gd_21{font-size:16px}}._cost_um1gd_268{max-width:var(--measure-read);margin:var(--space-2) auto 0;padding-left:var(--space-3);border-left:2px solid var(--status-warning-solid);color:var(--text-secondary);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed)}._cost_um1gd_268[data-tone=danger]{border-left-color:var(--status-danger-solid)}._costFigure_um1gd_280{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--text-primary)}._width_1185y_1{width:min(520px,100vw - 32px)}._form_1185y_3{gap:var(--space-4);display:grid}._field_1185y_4{gap:var(--space-1);min-width:0;display:grid}._label_1185y_5{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._optional_1185y_13{font-weight:var(--font-weight-regular);letter-spacing:0;text-transform:none;opacity:.8}._select_1185y_15,._input_1185y_16{width:100%;min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm-size);text-overflow:ellipsis}._input_1185y_16::placeholder{color:var(--text-tertiary)}._select_1185y_15,._input_1185y_16{transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}._select_1185y_15:hover:not(:disabled),._input_1185y_16:hover:not(:disabled){border-color:var(--border-strong)}._select_1185y_15:focus-visible,._input_1185y_16:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus-ring)}._hint_1185y_40{font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--text-tertiary)}._error_1185y_41{padding-left:var(--space-3);border-left:2px solid var(--status-danger-solid);color:var(--status-danger-fg);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}._actions_1185y_49{justify-content:flex-end;gap:var(--space-2);display:flex}._cancel_1185y_50,._create_1185y_51{min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm-size);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border:1px solid #0000}._cancel_1185y_50{color:var(--text-secondary)}._cancel_1185y_50:hover{background:var(--bg-hover);color:var(--text-primary)}._cancel_1185y_50:active{background:var(--bg-active)}._create_1185y_51{background:var(--accent-600);color:var(--accent-contrast)}._create_1185y_51:hover:not(:disabled),._create_1185y_51:active:not(:disabled){background:var(--accent-700)}._create_1185y_51:disabled{opacity:.4;cursor:not-allowed}._capacity_1185y_72{padding-left:var(--space-3);border-left:1px solid var(--border-default)}._rootRow_1185y_78{gap:var(--space-2);margin-top:var(--space-2);align-items:center;display:flex}._rootRow_1185y_78 ._input_1185y_16{flex:auto;min-width:0}._removeRoot_1185y_87,._addRoot_1185y_88{padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-default);font-size:var(--text-xs);cursor:pointer;flex:none}._addRoot_1185y_88{margin-top:var(--space-2);align-self:flex-start}._removeRoot_1185y_87:hover,._addRoot_1185y_88:hover{border-color:var(--border-strong,var(--border-subtle))}._width_k2wwr_1{width:min(560px,100vw - 32px)}._input_k2wwr_3{width:100%;min-height:calc(var(--control-h) + var(--space-1));padding:0 var(--space-3);margin-bottom:var(--space-2);border:0;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-md-size);background:0 0;border-radius:0}._input_k2wwr_3::placeholder{color:var(--text-tertiary)}._input_k2wwr_3:focus-visible{box-shadow:inset 0 -1px 0 var(--accent-500);border-bottom-color:var(--accent-500);outline:none}._list_k2wwr_19{max-height:min(60vh,440px);margin:0;padding:0;list-style:none;overflow-y:auto}._row_k2wwr_27{align-items:center;gap:var(--space-3);min-height:calc(var(--density-row) + var(--space-2));padding:var(--space-1) var(--space-3);cursor:pointer;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);grid-template-columns:2px minmax(0,1fr) auto;display:grid}._row_k2wwr_27:hover:not(._rowActive_k2wwr_41){background:var(--bg-hover);color:var(--text-primary)}._rowActive_k2wwr_41{background:var(--bg-selected);color:var(--text-primary)}._marker_k2wwr_44{width:2px;height:var(--engine-marker-h);background:var(--verse-engine,var(--text-tertiary));border-radius:1px}._engine-claude_k2wwr_45{--verse-engine:var(--engine-claude,#c96442)}._engine-codex_k2wwr_46{--verse-engine:var(--engine-codex,#10a37f)}._engine-grok_k2wwr_47{--verse-engine:var(--engine-grok,#6b7280)}._engine-local_k2wwr_48{--verse-engine:var(--engine-local,#7c5cff)}._rowText_k2wwr_50{flex-direction:column;gap:1px;min-width:0;display:flex}._rowPrimary_k2wwr_51{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm-size);color:var(--text-primary);overflow:hidden}._rowSecondary_k2wwr_58{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);overflow:hidden}._rowActive_k2wwr_41 ._rowSecondary_k2wwr_58,._row_k2wwr_27:hover ._rowSecondary_k2wwr_58,._rowActive_k2wwr_41 ._rowTrailing_k2wwr_67,._row_k2wwr_27:hover ._rowTrailing_k2wwr_67{color:var(--text-secondary)}._rowTrailing_k2wwr_67{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary)}._emptyRow_k2wwr_76{padding:var(--space-4) var(--space-3);color:var(--text-tertiary);font-size:var(--text-sm-size)}._roots_afeac_8{padding:var(--space-4) var(--space-4) 0}._title_afeac_10{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600;display:flex}._count_afeac_22{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--surface-raised);font-variant-numeric:tabular-nums;letter-spacing:0}._workspace_afeac_30{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}._list_afeac_36{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._root_afeac_8{padding:var(--space-2);border-radius:var(--radius-sm);border-left:3px solid var(--border-subtle);background:var(--surface-raised)}._root_afeac_8[data-tone=primary]{border-left-color:var(--accent)}._root_afeac_8[data-tone=extra]{border-left-color:var(--border-strong,var(--border-subtle))}._root_afeac_8[data-tone=unreachable]{border-left-color:var(--warning,#b7791f)}._root_afeac_8[data-tone=missing]{border-left-color:var(--danger,#c53030)}._rootHead_afeac_57{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}._name_afeac_64{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}._badge_afeac_72{font-size:var(--text-2xs,.6875rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex:none}._path_afeac_84{margin:var(--space-1) 0 0;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);direction:rtl;unicode-bidi:plaintext;overflow:hidden}._git_afeac_97,._remote_afeac_98,._caveat_afeac_99{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--text-muted)}._git_afeac_97{font-variant-numeric:tabular-nums}._remote_afeac_98{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._caveat_afeac_99{color:var(--text-strong,var(--text-default))}._note_afeac_116,._error_afeac_117{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}._error_afeac_117{color:var(--danger,#c53030)}._panel_1ry56_3{background:var(--bg-canvas);flex-direction:column;min-height:0;display:flex}._head_1ry56_10{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--strip-height);padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}._title_1ry56_22{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._close_1ry56_30{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-xs);color:var(--text-tertiary);font-size:var(--text-md-size);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;line-height:1;display:flex}._close_1ry56_30:hover{background:var(--bg-hover);color:var(--text-primary)}._close_1ry56_30:active{background:var(--bg-active)}._scroll_1ry56_45{min-height:0;padding-bottom:var(--space-6);scrollbar-gutter:stable;flex:1;overflow-y:auto}._section_1ry56_46{padding:var(--space-4) var(--space-4) 0}._section_1ry56_46+._section_1ry56_46{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}._sectionTitle_1ry56_48{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary);flex-wrap:wrap;display:flex}._asOf_1ry56_64{font-family:var(--font-display);font-weight:var(--font-weight-regular,400);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;color:var(--text-tertiary);margin-left:auto}._refresh_1ry56_73{min-height:var(--control-h-xs);padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-xs);font-family:var(--font-ui);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);letter-spacing:0;text-transform:none;color:var(--text-secondary);transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);flex:none}._refresh_1ry56_73:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-hover)}._refresh_1ry56_73:active{background:var(--bg-active)}._count_1ry56_89{font-variant-numeric:tabular-nums;color:var(--text-secondary)}._skeleton_1ry56_90{gap:var(--space-2);flex-direction:column;display:flex}._muted_1ry56_91{color:var(--text-tertiary);font-size:var(--text-xs-size);line-height:var(--text-xs-line)}._muted_1ry56_91 code{font-size:.95em}._engineGroup_1ry56_95+._engineGroup_1ry56_95{margin-top:var(--space-4)}._engineTitle_1ry56_96{margin-bottom:var(--space-2);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);color:var(--text-tertiary)}._groupToggle_1ry56_105,._seatToggle_1ry56_106{align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:var(--control-h-xs);text-align:left;color:inherit;display:flex}._groupToggle_1ry56_105{font:inherit;letter-spacing:inherit}._seatToggle_1ry56_106{min-height:var(--density-row,32px)}._groupToggle_1ry56_105:hover,._seatToggle_1ry56_106:hover{color:var(--text-secondary)}._groupToggle_1ry56_105:focus-visible,._seatToggle_1ry56_106:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:var(--radius-xs)}._twist_1ry56_126{width:0;height:0;transition:transform var(--duration-fast) var(--ease-standard);border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:4px solid;flex:none}._twist_1ry56_126[data-open]{transform:rotate(90deg)}._groupToggle_1ry56_105 ._count_1ry56_89{margin-left:auto}._seatList_1ry56_137,._models_1ry56_137,._runningList_1ry56_137{margin:0;padding:0;list-style:none}._seat_1ry56_106{padding-left:var(--space-3);border-left:2px solid var(--verse-engine,var(--border-subtle))}._seat_1ry56_106+._seat_1ry56_106{margin-top:var(--space-3)}._seat_1ry56_106>span:not([role=tooltip]),._seat_1ry56_106>span>span:not([role=tooltip]){width:100%;min-width:0;display:block}._engine-claude_1ry56_154{--verse-engine:var(--engine-claude,#c96442)}._engine-codex_1ry56_155{--verse-engine:var(--engine-codex,#10a37f)}._engine-grok_1ry56_156{--verse-engine:var(--engine-grok,#6b7280)}._engine-local_1ry56_157{--verse-engine:var(--engine-local,#7c5cff)}._seatHead_1ry56_159{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}._seatToggle_1ry56_106 ._seatLabel_1ry56_160{color:var(--text-primary);flex:1}._seatLabel_1ry56_160{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm-size);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden}._seatMeta_1ry56_169{gap:var(--space-1);font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);flex-wrap:wrap;margin-top:2px;display:flex}._seatSummary_1ry56_177{margin-top:var(--space-1);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--text-secondary)}._plan_1ry56_180{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-label,.06em);color:var(--text-secondary)}._num_1ry56_181{font-family:var(--font-display);font-variant-numeric:tabular-nums}._notes_1ry56_185{margin:var(--space-2) 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}._notes_1ry56_185 li{padding-left:var(--space-2);border-left:1px solid var(--border-default);font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--text-tertiary);overflow-wrap:anywhere}._seatWindows_1ry56_202{margin-top:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}._credits_1ry56_203{margin:var(--space-2) 0 0;font-size:var(--text-2xs-size,11px);line-height:var(--text-2xs-line,14px);color:var(--text-tertiary)}._local_1ry56_206{gap:var(--space-1);flex-direction:column;display:flex}._mono_1ry56_207{font-family:var(--font-mono);font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._models_1ry56_137{margin-top:var(--space-1);flex-direction:column;gap:2px;display:flex}._models_1ry56_137 code{font-size:var(--text-2xs-size,11px);color:var(--text-secondary)}._runningList_1ry56_137{gap:var(--space-1);flex-direction:column;display:flex}._runningRow_1ry56_220{align-items:center;gap:var(--space-2);min-width:0;display:flex}._runningOpen_1ry56_221{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--density-row,32px);padding:0 var(--space-2);margin-left:calc(-1 * var(--space-2));border-radius:var(--radius-xs);text-align:left;transition:background var(--duration-fast) var(--ease-standard);flex:1;grid-template-columns:6px minmax(0,1fr);display:grid}._runningOpen_1ry56_221:hover{background:var(--bg-hover)}._runningOpen_1ry56_221:active{background:var(--bg-active)}._runningOpen_1ry56_221:hover ._runningMeta_1ry56_241,._runningOpen_1ry56_221:active ._runningMeta_1ry56_241{color:var(--text-secondary)}._runningDot_1ry56_243{border-radius:var(--radius-full);background:var(--status-running-solid);width:6px;height:6px;animation:1.8s ease-out infinite _verse-pulse-res_1ry56_1}._runningTitle_1ry56_250{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm-size);color:var(--text-primary);grid-column:2;overflow:hidden}._runningMeta_1ry56_241{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);grid-column:2;overflow:hidden}._stop_1ry56_266{min-height:var(--control-h-xs);padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);flex-shrink:0}._stop_1ry56_266:hover{border-color:var(--status-danger-solid);color:var(--status-danger-fg)}._stop_1ry56_266:active{background:var(--status-danger-bg)}._usage_1ry56_281{gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;margin:0;display:grid}._usage_1ry56_281>div{flex-direction:column;gap:1px;min-width:0;display:flex}._usage_1ry56_281 dt{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._usage_1ry56_281 dd{font-family:var(--font-display);font-size:var(--text-sm-size);font-variant-numeric:tabular-nums;color:var(--text-primary);margin:0}@keyframes _verse-pulse-res_1ry56_1{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--status-running-solid) 55%, transparent)}to{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) ._runningDot_1ry56_243{animation:none}:root:not([data-motion=full]) ._twist_1ry56_126{transition:none}}:root[data-motion=reduce] ._runningDot_1ry56_243{animation:none}:root[data-motion=reduce] ._twist_1ry56_126{transition:none}._width_jrygt_4{width:min(620px,100vw - 32px)}._form_jrygt_6{gap:var(--space-4);display:grid}._field_jrygt_7{gap:var(--space-1);min-width:0;display:grid}._label_jrygt_8{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._select_jrygt_17,._input_jrygt_18{width:100%;min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm-size);text-overflow:ellipsis;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}._input_jrygt_18::placeholder{color:var(--text-tertiary)}._select_jrygt_17:hover:not(:disabled),._input_jrygt_18:hover:not(:disabled){border-color:var(--border-strong)}._select_jrygt_17:focus-visible,._input_jrygt_18:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus-ring)}._hint_jrygt_36{font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--text-tertiary)}._error_jrygt_37{padding-left:var(--space-3);border-left:2px solid var(--status-danger-solid);color:var(--status-danger-fg);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}._rootRow_jrygt_47{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}._rootRow_jrygt_47 ._input_jrygt_18{flex:220px;min-width:0}._rowButton_jrygt_56,._addRoot_jrygt_57{min-height:var(--control-h-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-xs-size);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);flex:none}._rowButton_jrygt_56:hover:not(:disabled),._addRoot_jrygt_57:hover{border-color:var(--border-strong);color:var(--text-primary)}._rowButton_jrygt_56:disabled{opacity:.4;cursor:not-allowed}._addRoot_jrygt_57{margin-top:var(--space-2);justify-self:start}._checkbox_jrygt_74{align-items:center;gap:var(--space-2);font-size:var(--text-sm-size);color:var(--text-secondary);display:flex}._priorityRow_jrygt_82{gap:var(--space-2);margin-top:var(--space-2);align-items:center;display:flex}._priorityPath_jrygt_88{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs-size);color:var(--text-tertiary);flex:auto;overflow:hidden}._priorityRow_jrygt_82 ._select_jrygt_17{flex:none;width:auto;min-width:120px}._actions_jrygt_99{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}._spacer_jrygt_100{flex:auto}._confirm_jrygt_101{font-size:var(--text-xs-size);color:var(--text-secondary)}._cancel_jrygt_103,._save_jrygt_104,._remove_jrygt_105,._danger_jrygt_106{min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm-size);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border:1px solid #0000}._cancel_jrygt_103,._remove_jrygt_105{color:var(--text-secondary)}._cancel_jrygt_103:hover,._remove_jrygt_105:hover{background:var(--bg-hover);color:var(--text-primary)}._danger_jrygt_106{color:var(--status-danger-fg);border-color:var(--status-danger-solid)}._danger_jrygt_106:hover:not(:disabled){background:var(--bg-hover)}._save_jrygt_104{background:var(--accent-600);color:var(--accent-contrast)}._save_jrygt_104:hover:not(:disabled){background:var(--accent-700)}._save_jrygt_104:disabled,._danger_jrygt_106:disabled,._remove_jrygt_105:disabled{opacity:.4;cursor:not-allowed}._projects_izay2_4{padding:var(--space-3) 0 var(--space-2);border-bottom:1px solid var(--border-subtle);flex-shrink:0}._head_izay2_10{font-family:var(--font-display);align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-1) var(--space-3);font-size:var(--text-2xs-size,11px);line-height:1.4;font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary);display:flex}._headText_izay2_23{flex:auto;min-width:0}._add_izay2_25{width:var(--control-h-xs,20px);height:var(--control-h-xs,20px);border-radius:var(--radius-sm);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);flex:none;justify-content:center;align-items:center;display:flex}._add_izay2_25:hover{color:var(--text-primary);background:var(--bg-hover)}._add_izay2_25:active{background:var(--bg-active)}._list_izay2_39{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._project_izay2_4{align-items:baseline;gap:var(--space-2);width:100%;min-height:var(--density-row,32px);padding:0 var(--space-3);color:var(--text-secondary);text-align:left;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);display:flex}._project_izay2_4:hover{background:var(--bg-hover);color:var(--text-primary)}._project_izay2_4:active{background:var(--bg-active)}._name_izay2_55{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm-size);line-height:var(--text-sm-line);flex:auto;overflow:hidden}._summary_izay2_64{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);flex:none}._project_izay2_4:hover ._summary_izay2_64{color:var(--text-secondary)}._empty_izay2_72{padding:var(--space-1) var(--space-3) var(--space-1);color:var(--text-tertiary);font-size:var(--text-xs-size);line-height:var(--text-xs-line)}._sidebar_1kc2o_1{background:var(--bg-canvas);flex-direction:column;min-height:0;display:flex}._head_1kc2o_9{align-items:center;gap:var(--space-1);height:var(--strip-height);padding:0 var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--border-subtle);height:calc(var(--strip-height) + var(--app-titlebar-height,0px));padding-top:var(--app-titlebar-height,0px);flex-shrink:0;display:flex;position:relative}._headDragStrip_1kc2o_40{height:var(--app-titlebar-height,0px);-webkit-app-region:drag;app-region:drag;pointer-events:auto;position:absolute;top:0;left:0;right:0}._search_1kc2o_51{flex:1;align-items:center;min-width:0;display:flex;position:relative}._searchIcon_1kc2o_58{color:var(--text-tertiary);pointer-events:none;display:flex;position:absolute;left:0}._search_1kc2o_51 input{width:100%;height:var(--control-h-sm);padding:0 var(--space-2) 0 22px;color:var(--text-primary);font-size:var(--text-sm-size);background:0 0;border:0}._search_1kc2o_51 input::placeholder{color:var(--text-tertiary)}._search_1kc2o_51 input::-webkit-search-cancel-button{appearance:none}._search_1kc2o_51:focus-within ._searchIcon_1kc2o_58{color:var(--accent-500)}._iconButton_1kc2o_80{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-sm);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex}._iconButton_1kc2o_80:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}._iconButton_1kc2o_80:active:not(:disabled){background:var(--bg-active)}._iconButton_1kc2o_80:disabled{color:var(--text-disabled);cursor:not-allowed}._scroll_1kc2o_98{min-height:0;padding-bottom:var(--space-4);scrollbar-gutter:stable;flex:1;overflow-y:auto}._skeleton_1kc2o_105{gap:var(--space-3);padding:var(--space-4) var(--space-3);flex-direction:column;display:flex}._error_1kc2o_106{gap:var(--space-2);padding:var(--space-4) var(--space-3);color:var(--status-danger-fg);font-size:var(--text-sm-size);justify-items:start;display:grid}._error_1kc2o_106 button{min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-xs-size);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}._error_1kc2o_106 button:hover{background:var(--bg-hover);border-color:var(--border-strong)}._error_1kc2o_106 button:active{background:var(--bg-active)}._empty_1kc2o_125{padding:var(--space-8) var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}._emptyTitle_1kc2o_131{color:var(--text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}._emptyAction_1kc2o_134{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);margin-top:var(--space-3);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-xs-size);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);display:inline-flex}._emptyAction_1kc2o_134:hover{background:var(--bg-hover);border-color:var(--border-strong)}._emptyAction_1kc2o_134:active{background:var(--bg-active)}._emptyKey_1kc2o_149{padding:0 var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--bg-hover);color:var(--text-secondary);font-family:var(--font-display);font-size:var(--text-2xs-size,11px)}._group_1kc2o_159{padding-top:var(--space-4)}._groupTitle_1kc2o_160{font-family:var(--font-display);align-items:baseline;gap:var(--space-2);padding:0 var(--space-3) var(--space-1);font-size:var(--text-2xs-size,11px);line-height:1.4;font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary);display:flex}._groupName_1kc2o_173{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._enrolled_1kc2o_174{color:var(--text-tertiary);opacity:.7;font-weight:var(--font-weight-regular);flex-shrink:0}._groupCount_1kc2o_178{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--text-tertiary);font-weight:var(--font-weight-regular);flex-shrink:0;margin-left:auto}._list_1kc2o_187{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._list_1kc2o_187>li{min-width:0;display:block}._list_1kc2o_187>li>span:not([role=tooltip]),._list_1kc2o_187>li>span>span:not([role=tooltip]){width:100%;min-width:0;display:block}._session_1kc2o_190{align-items:center;gap:var(--space-2);width:100%;min-height:var(--density-row,32px);padding:0 var(--space-3) 0 var(--space-3);color:var(--text-secondary);text-align:left;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);grid-template-columns:2px minmax(0,1fr) auto auto;display:grid;position:relative}._session_1kc2o_190:hover{background:var(--bg-hover);color:var(--text-primary)}._session_1kc2o_190:active{background:var(--bg-active)}._session_1kc2o_190[aria-current]{background:var(--bg-selected);color:var(--text-primary);font-weight:var(--font-weight-medium)}._session_1kc2o_190[aria-current]:before{content:"";background:var(--accent-500);width:2px;position:absolute;inset-block:0;inset-inline-start:0}._marker_1kc2o_242{width:2px;height:var(--engine-marker-h);background:var(--verse-engine,var(--text-tertiary));border-radius:1px}._engine-claude_1kc2o_248{--verse-engine:var(--engine-claude,#c96442)}._engine-codex_1kc2o_249{--verse-engine:var(--engine-codex,#10a37f)}._engine-grok_1kc2o_250{--verse-engine:var(--engine-grok,#6b7280)}._engine-local_1kc2o_251{--verse-engine:var(--engine-local,#7c5cff)}._sessionText_1kc2o_190{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm-size);line-height:var(--text-sm-line);overflow:hidden}._running_1kc2o_262{border-radius:var(--radius-full);background:var(--status-running-solid);width:6px;height:6px;animation:1.8s ease-out infinite _verse-pulse_1kc2o_1}._errored_1kc2o_269{width:12px;height:12px;color:var(--status-danger-fg);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;line-height:1;display:flex}._seatSpent_1kc2o_284{width:12px;height:12px;color:var(--status-danger-fg);flex:none;justify-content:center;align-items:center;font-size:9px;line-height:1;display:flex}._time_1kc2o_296{text-align:right;min-width:3ch;font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary);flex-shrink:0}._session_1kc2o_190:hover ._time_1kc2o_296,._session_1kc2o_190[aria-current] ._time_1kc2o_296{color:var(--text-secondary)}._footer_1kc2o_315{height:var(--control-h);padding:0 var(--space-3);border-top:1px solid var(--border-subtle);flex-shrink:0;align-items:center;display:flex}._footerButton_1kc2o_323{min-height:var(--control-h-xs);padding:0 var(--space-2);margin-left:calc(-1 * var(--space-2));border-radius:var(--radius-xs);color:var(--text-tertiary);font-size:var(--text-2xs-size,11px);transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard)}._footerButton_1kc2o_323:hover{color:var(--text-primary);background:var(--bg-hover)}._footerButton_1kc2o_323:active{background:var(--bg-active)}@keyframes _verse-pulse_1kc2o_1{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--status-running-solid) 55%, transparent)}to{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) ._running_1kc2o_262{animation:none}}:root[data-motion=reduce] ._running_1kc2o_262{animation:none}._workspace_tu4pt_1{background:var(--bg-surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}._header_tu4pt_14{align-items:center;gap:var(--space-3);height:var(--strip-height);padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle);flex-wrap:nowrap;flex-shrink:0;display:flex;position:relative}._headerSpacer_tu4pt_14{flex:1 1 var(--space-4);min-width:var(--space-2)}._identity_tu4pt_41{flex-direction:column;flex:0 auto;justify-content:center;gap:1px;min-width:0;display:flex;overflow:hidden}._eyebrow_tu4pt_50{max-width:100%;color:var(--text-tertiary);font-size:var(--text-2xs-size,11px);line-height:1.2;font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._eyebrowSkeleton_tu4pt_60{height:calc(var(--text-2xs-size,11px) * 1.2);border-radius:var(--radius-xs);width:9ch}._title_tu4pt_68,._titleStatic_tu4pt_69{min-width:0;max-width:100%;font-family:var(--font-display);font-size:var(--text-md-size);line-height:1.2;font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-display,-.02em)}._titleStatic_tu4pt_69{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._titleStatic_tu4pt_69[data-state=empty]{color:var(--text-secondary)}._title_tu4pt_68{margin-left:calc(-1 * var(--space-2))}._titleButton_tu4pt_94{max-width:100%;padding:2px var(--space-2);border-radius:var(--radius-xs);color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}._titleButton_tu4pt_94:hover:not(:disabled){background:var(--bg-hover)}._titleButton_tu4pt_94:active:not(:disabled){background:var(--bg-active)}._titleButton_tu4pt_94:disabled{cursor:default}._titleInput_tu4pt_119{width:calc(100% + var(--space-2));max-width:48ch;padding:2px var(--space-2);margin-left:calc(-1 * var(--space-2));border:1px solid var(--accent-500);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md-size);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-display,-.02em)}._titleSkeleton_tu4pt_137{height:calc(var(--text-md-size) * 1.2);border-radius:var(--radius-xs);width:22ch;max-width:40%}._seatPill_tu4pt_147{align-items:center;gap:var(--space-2);min-width:0;max-width:28ch;padding:0 var(--space-2);height:var(--control-h-xs);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--verse-engine,var(--text-tertiary)) 10%, transparent);color:var(--text-secondary);font-size:var(--text-2xs-size,11px);flex:0 auto;display:inline-flex}._seatPill_tu4pt_147[data-seat-capacity]{max-width:40ch}._engineDot_tu4pt_168{border-radius:var(--radius-full);background:var(--verse-engine,var(--text-tertiary));flex-shrink:0;width:5px;height:5px}._seatText_tu4pt_151{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:var(--font-weight-medium);overflow:hidden}._engine-claude_tu4pt_182{--verse-engine:var(--engine-claude,#c96442)}._engine-codex_tu4pt_183{--verse-engine:var(--engine-codex,#10a37f)}._engine-grok_tu4pt_184{--verse-engine:var(--engine-grok,#6b7280)}._engine-local_tu4pt_185{--verse-engine:var(--engine-local,#7c5cff)}._streamState_tu4pt_187{font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);flex-shrink:0}._actions_tu4pt_195{align-items:center;gap:var(--space-1);flex:none;display:flex}._actionDivider_tu4pt_204{width:1px;height:var(--space-4);margin:0 var(--space-1);background:var(--border-default);flex-shrink:0}._toggles_tu4pt_213{flex-shrink:0;align-items:center;gap:2px;display:flex}._ghost_tu4pt_220,._ghostIcon_tu4pt_221,._danger_tu4pt_222{border-radius:var(--radius-xs);color:var(--text-tertiary);font-size:var(--text-xs-size);font-weight:var(--font-weight-medium);transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);flex-shrink:0}._ghostIcon_tu4pt_221{width:var(--control-h-sm);height:var(--control-h-sm);justify-content:center;align-items:center;display:flex}._ghost_tu4pt_220{min-height:var(--control-h-xs);padding:0 var(--space-2)}._ghostIcon_tu4pt_221:hover:not(:disabled),._ghost_tu4pt_220:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}._ghostIcon_tu4pt_221:active:not(:disabled),._ghost_tu4pt_220:active:not(:disabled){background:var(--bg-active)}._ghostIcon_tu4pt_221:disabled,._ghost_tu4pt_220:disabled{opacity:.4;cursor:not-allowed}._ghostIcon_tu4pt_221[aria-pressed=true]{color:var(--text-primary);background:var(--bg-hover)}._ghostIcon_tu4pt_221[aria-pressed=true]:hover:not(:disabled){background:var(--bg-active)}._danger_tu4pt_222{min-height:var(--control-h-xs);padding:0 var(--space-2);color:var(--status-danger-fg)}._danger_tu4pt_222:hover:not(:disabled){background:var(--status-danger-bg)}._danger_tu4pt_222:active:not(:disabled){background:var(--status-danger-bg);border-color:var(--status-danger-solid)}._confirm_tu4pt_254{align-items:center;gap:var(--space-1);display:inline-flex}._confirmText_tu4pt_255{font-size:var(--text-xs-size);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}._meter_tu4pt_266{--meter-color:var(--accent-500);--meter-text:var(--text-secondary);align-items:baseline;gap:var(--space-2);flex-shrink:0;display:inline-flex}._meter-warn_tu4pt_274{--meter-color:var(--status-warning-solid);--meter-text:var(--status-warning-fg)}._meter-danger_tu4pt_275{--meter-color:var(--status-danger-solid);--meter-text:var(--status-danger-fg)}._meter-unknown_tu4pt_276{--meter-color:var(--border-strong);--meter-text:var(--text-tertiary)}._meterTrack_tu4pt_279{background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}._meterFill_tu4pt_287{background:var(--meter-color);height:100%;transition:width var(--duration-slow) var(--ease-decelerate), background var(--duration-base) var(--ease-standard)}._meterInline_tu4pt_292 ._meterTrack_tu4pt_279{background:var(--meter-track);border-radius:var(--radius-full);width:64px;position:static;overflow:hidden}._meterText_tu4pt_300{align-items:baseline;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary);display:inline-flex}._meterTokens_tu4pt_309{white-space:nowrap}._meterPercent_tu4pt_313{text-align:right;min-width:4ch;color:var(--meter-text);font-weight:var(--font-weight-medium)}._emptyState_tu4pt_317{justify-content:center;align-items:flex-start;gap:var(--space-3);max-width:52ch;padding:var(--space-8) var(--space-6);flex-direction:column;flex:1;margin:0 auto;display:flex}._emptyMark_tu4pt_328{color:var(--accent-500)}._emptyTitle_tu4pt_329{font-family:var(--font-display);font-size:var(--text-2xl-size);line-height:var(--text-2xl-line);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-display,-.02em)}._emptyBody_tu4pt_336{color:var(--text-secondary);font-size:var(--text-md-size);line-height:var(--text-md-line)}._emptyButton_tu4pt_337{align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm-size);font-weight:var(--font-weight-medium);transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);display:inline-flex}._emptyButton_tu4pt_337:hover{border-color:var(--accent-500)}._emptyButton_tu4pt_337:active{background:var(--bg-active)}._emptyButton_tu4pt_337 kbd{font-family:var(--font-mono);font-size:var(--text-2xs-size,11px);color:var(--text-tertiary)}._emptyWarn_tu4pt_353{padding-left:var(--space-3);border-left:2px solid var(--status-warning-solid);color:var(--text-secondary);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}._emptyWarn_tu4pt_353 code{font-size:var(--text-xs-size);color:var(--text-primary)}@media (max-width:900px){._seatPill_tu4pt_147{max-width:20ch}._seatPill_tu4pt_147[data-seat-capacity]{max-width:28ch}}@media (max-width:760px){._meterTokens_tu4pt_309{display:none}._seatPill_tu4pt_147{max-width:14ch}._seatPill_tu4pt_147[data-seat-capacity]{max-width:22ch}}@media (max-width:620px){._seatPill_tu4pt_147{display:none}._header_tu4pt_14{gap:var(--space-2)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) ._meterFill_tu4pt_287{transition:none}}._header_tu4pt_14{padding-left:max(var(--space-3), calc(var(--app-traffic-light-inset,0px) - var(--rail-width,56px) + var(--space-2)))}._diff_144b5_30{--diff-add:color-mix(in srgb, var(--status-success-solid) 22%, var(--bg-code));--diff-del:color-mix(in srgb, var(--status-danger-solid) 22%, var(--bg-code));border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-code);overflow:hidden}._visuallyHidden_144b5_46{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._diffMulti_144b5_58{min-width:0}._diffHead_144b5_60{align-items:center;gap:var(--space-3);min-height:var(--control-h-xs);padding:0 var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--border-subtle);display:flex}._diffPath_144b5_68{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-secondary);direction:rtl;flex:auto;overflow:hidden}._diffOldPath_144b5_83{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-tertiary);direction:rtl;flex:0 auto;overflow:hidden}._diffOldPath_144b5_83:after{content:" →";color:var(--text-tertiary)}._diffStatus_144b5_101{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-secondary);flex:none}._diffStats_144b5_110{gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;flex:none;display:flex}._diffAdd_144b5_118{color:var(--status-success-fg)}._diffDel_144b5_119{color:var(--status-danger-fg)}._diffNotice_144b5_121{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs-size);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary);margin:0}._diffEmpty_144b5_130{padding:var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs-size)}._diffTable_144b5_136{border-collapse:collapse;table-layout:fixed;width:100%;font-family:var(--font-mono);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed)}._diffNo_144b5_121{width:42px;min-width:42px;padding:0 var(--space-2);text-align:right;vertical-align:top;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;color:var(--text-secondary)}._diffMarker_144b5_30{text-align:center;vertical-align:top;-webkit-user-select:none;user-select:none;width:14px;min-width:14px;color:var(--text-secondary)}._diffText_144b5_159{padding:0 var(--space-2) 0 0;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}._diffCode_144b5_179{font-family:inherit}._diffRow_add_144b5_181{background:var(--diff-add)}._diffRow_del_144b5_182{background:var(--diff-del)}._diffRow_context_144b5_183{background:0 0}._diffHunkRow_144b5_185>*{padding-top:var(--space-1);padding-bottom:var(--space-1);border-top:1px solid var(--border-subtle);background:var(--bg-canvas)}._diffHunkRow_144b5_185:first-child>*{border-top:0}._diffHunkHead_144b5_192{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._diffMore_144b5_200,._commandMore_144b5_201,._activityMore_144b5_202{width:100%;min-height:var(--control-h-xs);padding:0 var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;display:block}._diffMore_144b5_200:hover,._commandMore_144b5_201:hover,._activityMore_144b5_202:hover{background:var(--bg-hover);color:var(--text-primary)}._diffUnanchored_144b5_221{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed);margin:0}._tok_plain_144b5_232{color:var(--text-primary)}._tok_comment_144b5_233{color:var(--text-tertiary);font-style:italic}._tok_string_144b5_234{color:var(--status-success-fg)}._tok_number_144b5_235{color:var(--status-warning-fg)}._tok_keyword_144b5_236{color:var(--accent-600);font-weight:var(--font-weight-medium)}._command_144b5_201{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-code);overflow:hidden}._command_144b5_201[data-failed=true]{border-left:2px solid var(--status-danger-solid)}._commandLine_144b5_250{align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);display:flex}._commandPrompt_144b5_257{font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-tertiary);-webkit-user-select:none;user-select:none;flex:none}._commandText_144b5_264{min-width:0;font-family:var(--font-mono);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}._commandStatus_144b5_274{align-items:center;gap:var(--space-3);min-height:var(--control-h-xs);padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle);display:flex}._commandStatusText_144b5_282{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--text-secondary)}._commandStatusText_144b5_282[data-tone=bad]{color:var(--status-danger-fg)}._commandStatusText_144b5_282[data-tone=pending]{color:var(--status-warning-fg)}._commandMeta_144b5_292{font-size:var(--text-2xs-size,11px);color:var(--text-tertiary)}._commandPre_144b5_297{max-height:420px;padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed);white-space:pre;color:var(--text-primary);tab-size:8;margin:0;overflow:auto}._commandPending_144b5_309{padding:var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs-size);margin:0}._activity_144b5_202{margin-top:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);overflow:hidden}._activityHead_144b5_327{align-items:baseline;gap:var(--space-2);min-height:var(--control-h-xs);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--bg-canvas);display:flex}._activityCount_144b5_336{font-family:var(--font-display);font-size:var(--text-xs-size);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-primary)}._activityLabel_144b5_343{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-secondary)}._activityBreakdown_144b5_350{font-size:var(--text-2xs-size,11px);color:var(--text-tertiary);margin-left:auto}._activityList_144b5_356{margin:0;padding:0;list-style:none}._activityList_144b5_356>li>span:not([role=tooltip]),._activityList_144b5_356>li>span>span:not([role=tooltip]){width:100%;min-width:0;display:block}._activityRow_144b5_369{align-items:center;gap:var(--space-2);width:100%;min-height:var(--density-row-sm);padding:0 var(--space-3) 0 0;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);background:0 0;border:0;grid-template-columns:2px 6ch minmax(0,1fr) auto auto;display:grid}._activityRow_144b5_369:hover{background:var(--bg-hover)}._activityRow_144b5_369:active{background:var(--bg-active)}._activityRule_144b5_391{background:var(--border-default);align-self:stretch}._activityRow_144b5_369[data-action=edit] ._activityRule_144b5_391{background:var(--status-info-solid)}._activityRow_144b5_369[data-action=create] ._activityRule_144b5_391{background:var(--status-success-solid)}._activityRow_144b5_369[data-action=delete] ._activityRule_144b5_391,._activityRow_144b5_369[data-failed=true] ._activityRule_144b5_391{background:var(--status-danger-solid)}._activityVerb_144b5_386{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary);padding-left:var(--space-3);white-space:nowrap}._activityRow_144b5_369[data-action=edit] ._activityVerb_144b5_386,._activityRow_144b5_369[data-action=create] ._activityVerb_144b5_386,._activityRow_144b5_369[data-action=delete] ._activityVerb_144b5_386{color:var(--text-secondary)}._activityFailed_144b5_390{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;white-space:nowrap;color:var(--status-danger-fg);flex:none}._activityPath_144b5_422{align-items:baseline;gap:var(--space-2);min-width:0;font-family:var(--font-mono);font-size:var(--text-xs-size);display:flex}._activityName_144b5_430{color:var(--text-primary);white-space:nowrap}._activityDir_144b5_431{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--text-tertiary);font-size:var(--text-2xs-size,11px);direction:rtl;overflow:hidden}._activityTimes_144b5_441,._activityDelta_144b5_442{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary);white-space:nowrap}._activityDelta_144b5_442{gap:var(--space-2);display:flex}._activityAdd_144b5_450{color:var(--status-success-fg)}._activityDel_144b5_442{color:var(--status-danger-fg)}._nav_144b5_457{z-index:1;align-items:center;gap:var(--space-2);min-height:var(--density-row,32px);padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex;position:relative}._navSpacer_144b5_468{flex:1}._navOutlineButton_144b5_470{align-items:center;gap:var(--space-1);min-height:var(--control-h-xs);padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;display:inline-flex}._navOutlineButton_144b5_470:hover{background:var(--bg-hover);color:var(--text-primary)}._navChevron_144b5_484{transition:transform var(--duration-fast) var(--ease-standard);display:inline-flex}._navChevron_144b5_484[data-open=true]{transform:rotate(90deg)}._navCount_144b5_486{font-family:var(--font-display);font-size:var(--text-xs-size);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}._navWord_144b5_492{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase}._navSearch_144b5_499{align-items:center;gap:var(--space-2);min-width:12ch;height:var(--control-h-xs);padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-input);transition:border-color var(--duration-fast) var(--ease-standard);flex:0 26ch;display:flex}._navSearch_144b5_499:focus-within{border-color:var(--accent-500);box-shadow:var(--shadow-focus-ring)}._navSearchIcon_144b5_523{color:var(--text-tertiary);display:inline-flex}._navSearch_144b5_499 input{min-width:0;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-xs-size);background:0 0;border:0;flex:1}._navSearch_144b5_499 input::-webkit-search-cancel-button{display:none}._navSearch_144b5_499 input:focus-visible{box-shadow:none;outline:none}._navMatches_144b5_536{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}._navStep_144b5_543{gap:2px;display:inline-flex}._navStep_144b5_543 button{min-width:var(--control-h-xs);min-height:var(--control-h-xs);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;line-height:1}._navStep_144b5_543 button:hover{background:var(--bg-hover);color:var(--text-primary)}._navError_144b5_556{align-items:center;gap:var(--space-2);min-height:var(--control-h-xs);padding:0 var(--space-2);border:0;border-left:2px solid var(--status-danger-solid);border-radius:0 var(--radius-xs) var(--radius-xs) 0;color:var(--status-danger-fg);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);background:0 0;display:inline-flex}._navError_144b5_556:hover{background:var(--status-danger-bg)}._navErrorGlyph_144b5_574{font-family:var(--font-display);font-weight:var(--font-weight-semibold)}._outline_144b5_579{top:calc(100% + 2px);left:var(--space-2);right:var(--space-2);max-width:var(--measure-read);max-height:min(60vh,520px);padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface-raised);box-shadow:var(--shadow-menu,var(--shadow-md));position:absolute;overflow-y:auto}._outlineEmpty_144b5_593{padding:var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs-size)}._outlineList_144b5_598{margin:0;padding:0;list-style:none}._outlineRow_144b5_599{gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-xs);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);background:0 0;border:0;grid-template-columns:3ch minmax(0,1fr) auto;display:grid}._outlineRow_144b5_599:hover{background:var(--bg-hover)}._outlineIndex_144b5_613{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary);padding-top:2px}._outlineBody_144b5_620{gap:2px;min-width:0;display:grid}._outlineTitle_144b5_621{font-size:var(--text-xs-size);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._outlineSnippet_144b5_628{font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._outlineMeta_144b5_638{font-size:var(--text-2xs-size,11px);color:var(--text-tertiary)}._outlineStatus_144b5_642{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);color:var(--text-tertiary)}._outlineRow_144b5_599[data-status=error] ._outlineStatus_144b5_642{color:var(--status-danger-fg)}._outlineRow_144b5_599[data-status=running] ._outlineStatus_144b5_642{color:var(--status-running-fg)}@media (max-width:900px){._navSearch_144b5_499{flex-basis:14ch}._activityRow_144b5_369{grid-template-columns:2px 6ch minmax(0,1fr) auto auto}._activityDir_144b5_431{display:none}}._transcriptWrap_yy5uu_5{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}._transcript_yy5uu_5{min-height:0;padding:var(--space-8) var(--space-6) var(--space-6);scrollbar-gutter:stable;scroll-behavior:smooth;flex:1;overflow-y:auto}._list_yy5uu_14{gap:var(--space-6);width:100%;max-width:var(--measure-read);flex-direction:column;margin:0 auto;padding:0;list-style:none;display:flex}._item_yy5uu_24{min-width:0}._skeleton_yy5uu_26{max-width:var(--measure-read);gap:calc(var(--text-base-line-relaxed) - var(--text-base-line));flex-direction:column;margin:0 auto;display:flex}._skeletonUser_yy5uu_38{margin-block:var(--space-2);padding-left:var(--space-4)}._loadError_yy5uu_39{gap:var(--space-3);max-width:var(--measure-read);margin:var(--space-8) auto 0;padding-left:var(--space-4);border-left:2px solid var(--status-danger-solid);color:var(--text-secondary);font-size:var(--text-sm-size);justify-items:start;display:grid}._loadError_yy5uu_39 button{min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-xs-size);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}._loadError_yy5uu_39 button:hover{background:var(--bg-hover);border-color:var(--border-strong)}._loadError_yy5uu_39 button:active{background:var(--bg-active)}._empty_yy5uu_62{max-width:var(--measure-read);color:var(--text-secondary);margin:clamp(24px,12vh,120px) auto 0}._emptyTitle_yy5uu_63{font-family:var(--font-display);font-size:var(--text-xl-size);line-height:var(--text-xl-line);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-display,-.02em);color:var(--text-primary);margin-bottom:var(--space-2)}._emptyBody_yy5uu_72{font-size:var(--text-sm-size);line-height:var(--text-sm-line);max-width:52ch}._user_yy5uu_75{display:block}._userText_yy5uu_76{padding-left:var(--space-4);border-left:2px solid var(--border-strong);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-base-size);line-height:var(--text-base-line-relaxed)}._assistant_yy5uu_87{display:block}._markdown_yy5uu_31{color:var(--text-primary);font-size:var(--text-base-size);line-height:var(--text-base-line-relaxed);overflow-wrap:anywhere}._markdown_yy5uu_31>*+*{margin-top:var(--space-4)}._markdown_yy5uu_31 p{margin:0}._markdown_yy5uu_31 h1,._markdown_yy5uu_31 h2,._markdown_yy5uu_31 h3,._markdown_yy5uu_31 h4{font-family:var(--font-display);letter-spacing:var(--tracking-display,-.02em);font-weight:var(--font-weight-semibold);margin-top:var(--space-6);margin-bottom:calc(-1 * var(--space-1))}._markdown_yy5uu_31 h1{font-size:var(--text-xl-size);line-height:var(--text-xl-line)}._markdown_yy5uu_31 h2{font-size:var(--text-lg-size);line-height:var(--text-lg-line)}._markdown_yy5uu_31 h3{font-size:var(--text-md-size);line-height:var(--text-md-line)}._markdown_yy5uu_31 h4{font-size:var(--text-base-size);font-weight:var(--font-weight-medium)}._markdown_yy5uu_31 ul,._markdown_yy5uu_31 ol{margin-block:0;padding-left:1.5em}._markdown_yy5uu_31 ul{list-style:outside}._markdown_yy5uu_31 ol{list-style:decimal}._markdown_yy5uu_31 ul ul{list-style:circle}._markdown_yy5uu_31 li{padding-left:.15em}._markdown_yy5uu_31 li::marker{color:var(--text-tertiary)}._markdown_yy5uu_31 li+li,._markdown_yy5uu_31 li>ul,._markdown_yy5uu_31 li>ol{margin-top:var(--space-2)}._markdown_yy5uu_31 a{color:var(--text-link);text-underline-offset:2px;text-decoration:underline}._markdown_yy5uu_31 blockquote{padding-left:var(--space-4);border-left:2px solid var(--border-strong);color:var(--text-secondary);margin:0}._markdown_yy5uu_31 hr{border:0;border-top:1px solid var(--border-subtle);margin-block:var(--space-6)}._markdown_yy5uu_31 table{border-collapse:collapse;font-size:var(--text-sm-size);max-width:100%;display:block;overflow-x:auto}._markdown_yy5uu_31 th,._markdown_yy5uu_31 td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}._markdown_yy5uu_31 th{border-bottom-color:var(--border-default);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary)}._markdown_yy5uu_31 tr:last-child td{border-bottom:0}._markdown_yy5uu_31 img{border-radius:var(--radius-xs)}._markdown_yy5uu_31 code{font-family:var(--font-mono);background:var(--bg-code);border-radius:var(--radius-xs);padding:.1em .3em;font-size:.92em}._markdown_yy5uu_31 pre{padding:var(--space-4);padding-top:var(--control-h-xs);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-code);font-size:var(--text-sm-size);line-height:var(--text-sm-line-relaxed);tab-size:2;margin:0;position:relative;overflow-x:auto}._markdown_yy5uu_31 pre code{font-size:inherit;white-space:pre;background:0 0;padding:0}._codeHead_yy5uu_182{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--control-h-xs);padding:0 var(--space-2) 0 var(--space-4);pointer-events:none;display:flex;position:absolute;top:0;left:0;right:0}._codeLang_yy5uu_199{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-secondary)}._copy_yy5uu_198{pointer-events:auto;min-height:calc(var(--control-h-xs) - var(--space-1));padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-medium);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}._markdown_yy5uu_31 pre:hover ._copy_yy5uu_198,._copy_yy5uu_198:focus-visible{opacity:1}._copy_yy5uu_198:hover{color:var(--text-primary);background:var(--bg-hover)}._copy_yy5uu_198:active{background:var(--bg-active)}._caret_yy5uu_224,._streaming_yy5uu_225>:last-child:after{content:"";vertical-align:-.15em;background:var(--accent-500);width:2px;height:1em;animation:_verse-caret_yy5uu_1 1.2s var(--ease-standard) infinite;margin-left:2px;display:inline-block}._caret_yy5uu_224{vertical-align:middle}._thinking_yy5uu_238{color:var(--text-tertiary);font-size:var(--text-sm-size)}._thinkingSummary_yy5uu_239{cursor:pointer;align-items:center;gap:var(--space-2);min-height:var(--density-row,32px);font-style:italic;list-style:none;display:inline-flex}._thinkingSummary_yy5uu_239::-webkit-details-marker{display:none}._thinkingSummary_yy5uu_239:before{content:"›";transition:transform var(--duration-fast) var(--ease-standard);font-style:normal}._thinking_yy5uu_238[open] ._thinkingSummary_yy5uu_239:before{transform:rotate(90deg)}._thinkingBody_yy5uu_251{margin-top:var(--space-2);padding-left:var(--space-4);border-left:2px solid var(--border-subtle);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--text-sm-line-relaxed);color:var(--text-secondary)}._tool_yy5uu_262,._toolRun_yy5uu_263{font-size:var(--text-sm-size)}._toolLine_yy5uu_265{align-items:center;gap:var(--space-2);min-height:var(--density-row-sm);padding-left:var(--space-3);border-left:2px solid var(--border-subtle);cursor:pointer;color:var(--text-tertiary);grid-template-columns:12px auto minmax(0,1fr) auto;list-style:none;display:grid}._toolLine_yy5uu_265::-webkit-details-marker{display:none}._toolLine_yy5uu_265{transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard)}._toolLine_yy5uu_265:hover{color:var(--text-secondary);background:var(--bg-hover)}._toolLine_yy5uu_265:active{background:var(--bg-active)}._toolLine_yy5uu_265:hover ._toolArg_yy5uu_283,._toolLine_yy5uu_265:hover ._toolState_yy5uu_283,._toolLine_yy5uu_265:active ._toolArg_yy5uu_283,._toolLine_yy5uu_265:active ._toolState_yy5uu_283{color:var(--text-secondary)}._toolGlyph_yy5uu_294{width:12px;height:12px;transition:transform var(--duration-fast) var(--ease-standard);border:1px solid;border-radius:2px}._tool_yy5uu_262[open]>._toolLine_yy5uu_265>._toolGlyph_yy5uu_294,._toolRun_yy5uu_263[open]>._toolLine_yy5uu_265>._toolGlyph_yy5uu_294{background:currentColor}._toolName_yy5uu_304{font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-secondary);white-space:nowrap}._toolArg_yy5uu_283{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-tertiary);overflow:hidden}._toolState_yy5uu_283{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary);white-space:nowrap;justify-self:end}._toolFailed_yy5uu_328>._toolLine_yy5uu_265{border-left-color:var(--status-danger-solid)}._toolFailed_yy5uu_328>._toolLine_yy5uu_265>._toolState_yy5uu_283{color:var(--status-danger-fg)}._toolBody_yy5uu_331,._toolRunBody_yy5uu_332{gap:var(--space-3);margin-top:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--border-subtle);display:grid}._toolRunList_yy5uu_339{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._toolRunList_yy5uu_339>li{min-width:0}._toolLabel_yy5uu_341{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-1)}._toolPre_yy5uu_350{max-height:360px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-code);font-family:var(--font-mono);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary);margin:0;overflow:auto}._toolPending_yy5uu_365{color:var(--text-tertiary);font-size:var(--text-xs-size)}._note_yy5uu_368{padding-left:var(--space-4);border-left:2px solid var(--border-subtle);color:var(--text-tertiary);font-size:var(--text-sm-size)}._noteError_yy5uu_374{border-left-color:var(--status-danger-solid);color:var(--status-danger-fg)}._meta_yy5uu_375{padding-left:var(--space-4)}._noteDuration_yy5uu_376{font-family:var(--font-display);font-variant-numeric:tabular-nums}._metaText_yy5uu_380{font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;color:var(--text-tertiary)}._jump_yy5uu_387{left:50%;bottom:var(--space-4);align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-surface-raised);color:var(--text-secondary);font-size:var(--text-xs-size);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-menu,var(--shadow-md));transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);display:inline-flex;position:absolute;transform:translate(-50%)}._jump_yy5uu_387:hover{color:var(--text-primary);border-color:var(--border-strong)}._jump_yy5uu_387:active{background:var(--bg-active)}._jumpUnseen_yy5uu_410{border-color:var(--accent-500);color:var(--text-primary)}@keyframes _verse-caret_yy5uu_1{50%{opacity:.15}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) ._transcript_yy5uu_5{scroll-behavior:auto}:root:not([data-motion=full]) ._caret_yy5uu_224,:root:not([data-motion=full]) ._streaming_yy5uu_225>:last-child:after{animation:none}}:root[data-motion=reduce] ._caret_yy5uu_224,:root[data-motion=reduce] ._streaming_yy5uu_225>:last-child:after{animation:none}:root[data-motion=reduce] ._transcript_yy5uu_5{scroll-behavior:auto}@media (max-width:900px){._transcript_yy5uu_5{padding:var(--space-5) var(--space-4)}}._turn_yy5uu_435{min-width:0;scroll-margin-block:var(--space-6);border-radius:var(--radius-xs);display:block}._turn_yy5uu_435:focus-visible{outline:2px solid var(--accent-500);outline-offset:var(--space-2);box-shadow:none}._turnItems_yy5uu_457{gap:var(--space-6);flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}._turn_yy5uu_435[data-match]{box-shadow:-2px 0 0 0 var(--text-tertiary)}._turn_yy5uu_435[data-match=active]{box-shadow:-2px 0 0 0 var(--accent-500)}._turn_yy5uu_435[data-flash],[data-flash]{animation:_verse-flash_yy5uu_1 1.4s var(--ease-standard) 1}@keyframes _verse-flash_yy5uu_1{0%,60%{background:var(--bg-selected)}to{background:0 0}}._turnErrorJump_yy5uu_493{margin-top:var(--space-3);min-height:var(--control-h-xs);padding:0 var(--space-2);border:0;border-left:2px solid var(--status-danger-solid);color:var(--status-danger-fg);font-size:var(--text-xs-size);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);background:0 0;align-items:center;display:inline-flex}._turnErrorJump_yy5uu_493:hover{background:var(--status-danger-bg)}._toolLine_yy5uu_265{grid-template-columns:12px auto minmax(0,1fr) auto auto}._toolDelta_yy5uu_511{gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-2xs-size,11px);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}._toolAdd_yy5uu_519{color:var(--status-success-fg)}._toolDel_yy5uu_511{color:var(--status-danger-fg)}._toolNote_yy5uu_522{margin-top:var(--space-2);color:var(--text-tertiary);font-size:var(--text-xs-size);line-height:var(--text-xs-line-relaxed)}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) ._turn_yy5uu_435[data-flash],:root:not([data-motion=full]) [data-flash]{animation:none}}:root[data-motion=reduce] ._turn_yy5uu_435[data-flash],:root[data-motion=reduce] [data-flash]{animation:none}._chat_ei2ma_14{grid-template-columns:var(--verse-sidebar-width,264px) 1px minmax(0, 1fr) 1px var(--verse-resources-width,320px);background:var(--bg-canvas);height:100%;min-height:0;color:var(--text-primary);flex:1;display:grid;position:relative;overflow:hidden}._chat_ei2ma_14[data-resources=closed]{grid-template-columns:var(--verse-sidebar-width,264px) 1px minmax(0, 1fr)}._chat_ei2ma_14[data-sidebar=collapsed]{grid-template-columns:minmax(0, 1fr) 1px var(--verse-resources-width,320px)}._chat_ei2ma_14[data-sidebar=collapsed][data-resources=closed]{grid-template-columns:minmax(0,1fr)}._chat_ei2ma_14[data-sidebar=collapsed]>nav{display:none}._chat_ei2ma_14>*{min-width:0;min-height:0}._main_ei2ma_44{background:var(--bg-surface);flex-direction:column;min-width:0;min-height:0;display:flex}._main_ei2ma_44:focus{outline:none}._banner_ei2ma_54,._bannerWarn_ei2ma_55{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);font-size:var(--text-sm-size);line-height:var(--text-sm-line);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}._banner_ei2ma_54{background:var(--status-danger-bg);color:var(--status-danger-fg)}._bannerWarn_ei2ma_55{background:var(--status-warning-bg);color:var(--status-warning-fg)}._bannerWarn_ei2ma_55 code{font-size:var(--text-xs-size)}._banner_ei2ma_54 button{min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-xs-size);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-shrink:0}._banner_ei2ma_54 button:hover{background:var(--bg-hover);border-color:var(--border-strong)}._banner_ei2ma_54 button:active{background:var(--bg-active)}._resize_ei2ma_98{pointer-events:none;cursor:col-resize;background:var(--border-subtle);touch-action:none;transition:background var(--duration-fast) var(--ease-standard);position:relative}._resize_ei2ma_98:before{content:"";top:var(--app-titlebar-height,0px);pointer-events:auto;position:absolute;bottom:0;left:-4px;right:-4px}._resize_ei2ma_98:hover,._resize_ei2ma_98:focus-visible,._resize_ei2ma_98[data-dragging]{background:var(--accent-500)}._resize_ei2ma_98:focus-visible{box-shadow:0 0 0 1px var(--accent-500);outline:none}body[data-verse-resizing=true]{-webkit-user-select:none;user-select:none;cursor:col-resize}@media (prefers-reduced-motion:reduce){._resize_ei2ma_98{transition:none}}._scrim_ei2ma_12{display:none}@media (max-width:900px){._chat_ei2ma_14,._chat_ei2ma_14[data-resources=open]{grid-template-columns:var(--verse-sidebar-width,264px) 1px minmax(0, 1fr)}._chat_ei2ma_14[data-sidebar=collapsed],._chat_ei2ma_14[data-sidebar=collapsed][data-resources=open]{grid-template-columns:minmax(0,1fr)}._chat_ei2ma_14>aside,._chat_ei2ma_14>[data-verse-resizer=resources]{display:none}}@media (max-width:760px){._chat_ei2ma_14,._chat_ei2ma_14[data-sidebar=collapsed]{grid-template-columns:minmax(0,1fr)}._chat_ei2ma_14>nav{z-index:var(--z-overlay);inset-block:0;width:min(var(--verse-sidebar-width,264px), 86vw);box-shadow:var(--shadow-menu,var(--shadow-lg));position:absolute;left:0}._chat_ei2ma_14>[data-verse-resizer]{display:none}._scrim_ei2ma_12{z-index:calc(var(--z-overlay) - 1);background:var(--bg-overlay);cursor:default;display:block;position:absolute;inset:0}._chat_ei2ma_14[data-sidebar=collapsed] ._scrim_ei2ma_12{display:none}}
|