@volter/browser-substrate 0.1.103 → 0.1.105
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/catalog/demand-input.json +133 -0
- package/dist/boot-screen.d.ts +2 -0
- package/dist/boot-screen.d.ts.map +1 -1
- package/dist/boot-screen.js +1 -1
- package/dist/boot-screen.js.map +1 -1
- package/dist/cli/archive.d.ts +1 -0
- package/dist/cli/archive.d.ts.map +1 -1
- package/dist/cli/archive.js +4 -4
- package/dist/cli/archive.js.map +1 -1
- package/dist/cli/build.d.ts +5 -1
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +21 -2
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/cache-root.d.ts +7 -0
- package/dist/cli/cache-root.d.ts.map +1 -0
- package/dist/cli/cache-root.js +24 -0
- package/dist/cli/cache-root.js.map +1 -0
- package/dist/cli/companions.d.ts +1 -1
- package/dist/cli/companions.d.ts.map +1 -1
- package/dist/cli/companions.js +30 -16
- package/dist/cli/companions.js.map +1 -1
- package/dist/cli/dependency-plan-build.d.ts +4 -0
- package/dist/cli/dependency-plan-build.d.ts.map +1 -1
- package/dist/cli/dependency-plan-build.js +111 -30
- package/dist/cli/dependency-plan-build.js.map +1 -1
- package/dist/cli/docker-build.d.ts +1 -0
- package/dist/cli/docker-build.d.ts.map +1 -1
- package/dist/cli/docker-build.js +4 -4
- package/dist/cli/docker-build.js.map +1 -1
- package/dist/cli/dry-run.d.ts +4 -4
- package/dist/cli/dry-run.d.ts.map +1 -1
- package/dist/cli/dry-run.js +10 -9
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/generated-code.d.ts +2 -1
- package/dist/cli/generated-code.d.ts.map +1 -1
- package/dist/cli/generated-code.js +46 -16
- package/dist/cli/generated-code.js.map +1 -1
- package/dist/cli/host-build.d.ts +1 -0
- package/dist/cli/host-build.d.ts.map +1 -1
- package/dist/cli/host-build.js +10 -9
- package/dist/cli/host-build.js.map +1 -1
- package/dist/cli/host-managers.d.ts +3 -1
- package/dist/cli/host-managers.d.ts.map +1 -1
- package/dist/cli/host-managers.js +7 -3
- package/dist/cli/host-managers.js.map +1 -1
- package/dist/cli/image-layers.d.ts.map +1 -1
- package/dist/cli/image-layers.js +5 -2
- package/dist/cli/image-layers.js.map +1 -1
- package/dist/cli/main.d.ts +5 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +97 -34
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/pack-publication.d.ts +2 -2
- package/dist/cli/pack-publication.d.ts.map +1 -1
- package/dist/cli/pack-publication.js +3 -3
- package/dist/cli/pack-publication.js.map +1 -1
- package/dist/cli/package-pack.d.ts +1 -1
- package/dist/cli/package-pack.d.ts.map +1 -1
- package/dist/cli/package-pack.js +7 -4
- package/dist/cli/package-pack.js.map +1 -1
- package/dist/cli/package-packs.d.ts +1 -0
- package/dist/cli/package-packs.d.ts.map +1 -1
- package/dist/cli/package-packs.js +84 -14
- package/dist/cli/package-packs.js.map +1 -1
- package/dist/cli/plan-tarballs.d.ts +1 -0
- package/dist/cli/plan-tarballs.d.ts.map +1 -1
- package/dist/cli/plan-tarballs.js +6 -3
- package/dist/cli/plan-tarballs.js.map +1 -1
- package/dist/cli/preparation-memory.d.ts +17 -0
- package/dist/cli/preparation-memory.d.ts.map +1 -0
- package/dist/cli/preparation-memory.js +367 -0
- package/dist/cli/preparation-memory.js.map +1 -0
- package/dist/cli/project-build.d.ts +1 -0
- package/dist/cli/project-build.d.ts.map +1 -1
- package/dist/cli/project-build.js +100 -71
- package/dist/cli/project-build.js.map +1 -1
- package/dist/cli/provision-catalog.d.ts +49 -0
- package/dist/cli/provision-catalog.d.ts.map +1 -0
- package/dist/cli/provision-catalog.js +72 -0
- package/dist/cli/provision-catalog.js.map +1 -0
- package/dist/cli/provision-demand.d.ts +45 -0
- package/dist/cli/provision-demand.d.ts.map +1 -0
- package/dist/cli/provision-demand.js +208 -0
- package/dist/cli/provision-demand.js.map +1 -0
- package/dist/cli/rolldown-binding.d.ts +1 -1
- package/dist/cli/rolldown-binding.d.ts.map +1 -1
- package/dist/cli/rolldown-binding.js +8 -4
- package/dist/cli/rolldown-binding.js.map +1 -1
- package/dist/cli/serve.d.ts +3 -0
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +9 -2
- package/dist/cli/serve.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -31
- package/dist/index.js.map +1 -1
- package/dist/origin-reset.d.ts +4 -0
- package/dist/origin-reset.d.ts.map +1 -0
- package/dist/origin-reset.js +76 -0
- package/dist/origin-reset.js.map +1 -0
- package/dist/program-dom.d.ts +2 -0
- package/dist/program-dom.d.ts.map +1 -1
- package/dist/program-dom.js +11 -1
- package/dist/program-dom.js.map +1 -1
- package/dist/program-types.d.ts +2 -0
- package/dist/program-types.d.ts.map +1 -1
- package/dist/shell/assets/browser-opfs-filesystem-worker-CmF6UKMW.js +3 -0
- package/dist/shell/assets/browser-sandbox-bridge-C8nlSsT2.js +237 -0
- package/dist/shell/assets/{filesystem-host-DJbFuokb.js → filesystem-host-BzPlXSri.js} +1 -1
- package/dist/shell/assets/filesystem-host-Pq9IHKRx.js +3 -0
- package/dist/shell/assets/filesystem-worker-CC3pSXUP.js +5 -0
- package/dist/shell/assets/{fork-worker-BXY2kfdX.js → fork-worker-4YKQ4KTo.js} +1 -1
- package/dist/shell/assets/{node-execution-worker-7e8e0c5321ca0d10.js → node-execution-worker-3ddf5efbaa427e9d.js} +8 -8
- package/dist/shell/assets/{sandbox-bMeKqKBn.js → sandbox-mhFzIWaQ.js} +1 -1
- package/dist/shell/assets/{shell-DLIQ6jHu.js → shell-BZbhxnju.js} +763 -757
- package/dist/shell/assets/worker-BmHEnCyv.js +816 -0
- package/dist/shell/assets/{worker-program-worker-B4OcKVtV.js → worker-program-worker-DueMwljE.js} +10 -10
- package/dist/shell/brand/fonts/Geist-Variable.woff2 +0 -0
- package/dist/shell/brand/fonts/GeistMono-Variable.woff2 +0 -0
- package/dist/shell/brand/fonts/InstrumentSerif-Italic.woff2 +0 -0
- package/dist/shell/brand/fonts/InstrumentSerif-Regular.woff2 +0 -0
- package/dist/shell/brand/icons/app-window.svg +1 -0
- package/dist/shell/brand/icons/at-sign.svg +1 -0
- package/dist/shell/brand/icons/box.svg +1 -0
- package/dist/shell/brand/icons/chevron-right.svg +1 -0
- package/dist/shell/brand/icons/folder.svg +1 -0
- package/dist/shell/brand/icons/info.svg +1 -0
- package/dist/shell/brand/icons/key-round.svg +1 -0
- package/dist/shell/brand/icons/link.svg +1 -0
- package/dist/shell/brand/icons/monitor.svg +1 -0
- package/dist/shell/brand/icons/plus.svg +1 -0
- package/dist/shell/brand/icons/rotate-ccw.svg +1 -0
- package/dist/shell/brand/icons/share-2.svg +1 -0
- package/dist/shell/brand/icons/square-arrow-out-up-right.svg +1 -0
- package/dist/shell/brand/icons/terminal.svg +1 -0
- package/dist/shell/brand/icons/x.svg +1 -0
- package/dist/shell/brand/substrate.svg +1 -0
- package/dist/shell/brand/tokens.css +211 -0
- package/dist/shell/brand/wordmark.svg +1 -0
- package/dist/shell/index.html +5 -3
- package/dist/shell/node-execution-worker.js +16 -13
- package/dist/shell/node-host.html +2 -0
- package/dist/shell/python-execution-worker.js +15 -12
- package/dist/shell/python-host.html +2 -0
- package/dist/shell/python-runtime-snapshot.bin +0 -0
- package/dist/shell/python-runtime-snapshot.json +1 -1
- package/dist/shell/sandbox.html +4 -2
- package/dist/toolbar-styles.generated.d.ts +1 -1
- package/dist/toolbar-styles.generated.d.ts.map +1 -1
- package/dist/toolbar-styles.generated.js +1 -1
- package/dist/toolbar-styles.generated.js.map +1 -1
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +3 -1
- package/dist/toolbar.js.map +1 -1
- package/package.json +1 -1
- package/dist/shell/assets/browser-opfs-filesystem-worker-k2CPzPBU.js +0 -3
- package/dist/shell/assets/browser-sandbox-bridge-BJbQoc4f.js +0 -237
- package/dist/shell/assets/filesystem-host-yMcJuvmT.js +0 -3
- package/dist/shell/assets/filesystem-worker-BbsBhZ9p.js +0 -5
- package/dist/shell/assets/worker-Ce8bBwSJ.js +0 -816
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><rect x="2" y="4" width="20" height="16"/><path d="M10 4v4"/><path d="M2 8h20"/><path d="M6 4v4"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M12 3l8 4.5v9L12 21l-8-4.5v-9z"/><path d="M4 7.5L12 12l8-4.5M12 12v9"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M9 5l7 7-7 7"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M3 5h6l2 2h10v12H3z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 11v6"/><rect x="11" y="6.5" width="2" height="2" fill="currentColor" stroke="none"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"/><rect x="15.3" y="6.3" width="2.4" height="2.4" fill="currentColor" stroke="none"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M9 15l6-6"/><path d="M11 6l2-2a4.2 4.2 0 0 1 6 6l-2 2M13 18l-2 2a4.2 4.2 0 0 1-6-6l2-2"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><rect x="3" y="4" width="18" height="13"/><path d="M8 21h8M12 17v4"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M12 4v16M4 12h16"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M4 12a8 8 0 1 0 2.3-5.6"/><path d="M4 4v5h5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" x2="15.42" y1="13.51" y2="17.49"/><line x1="15.41" x2="8.59" y1="6.51" y2="10.49"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"/><path d="m21 3-9 9"/><path d="M15 3h6v6"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><rect x="3" y="4" width="18" height="16"/><path d="M7 9l3 3-3 3M12 15h5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64" role="img" aria-label="browser substrate"><title>browser substrate</title><path d="M58.3 66.4 L39.7 77.4 L60.3 77.4 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M58.3 66.4 L41.7 66.4 L39.7 77.4 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M41.7 66.4 L25.2 81.5 L39.7 77.4 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M60.3 77.4 L39.7 77.4 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M70.1 69.7 L58.3 66.4 L60.3 77.4 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M70.1 69.7 L60.3 77.4 L74.8 81.5 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M74.8 81.5 L60.3 77.4 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M39.7 77.4 L25.2 81.5 L49.9 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M41.7 66.4 L29.9 69.7 L25.2 81.5 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M50 72 L41.7 66.4 L58.3 66.4 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M60.3 77.4 L50 84.3 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M39.7 77.4 L49.9 84.3 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L29.9 69.7 L41.7 66.4 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50.1 72 L58.3 66.4 L70.1 69.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M74.8 81.5 L50 84.3 L50.1 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M25.2 81.5 L49.9 84.3 L49.9 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L50 72 L41.7 66.4 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50.1 72 L50 72 L58.3 66.4 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M29.9 69.7 L25.2 87.1 L25.2 81.5 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M70.1 74.3 L70.1 69.7 L74.8 81.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M74.8 87.1 L74.8 81.5 L50.1 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M25.2 81.5 L25.2 87.1 L49.9 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L49.9 72 L29.9 69.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50.1 72 L50.1 72 L70.1 69.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M74.8 87.1 L50.1 84.3 L50.1 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M25.2 87.1 L50 84.3 L49.9 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M49.9 72 L29.9 74.3 L29.9 69.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50.1 72 L70.1 69.7 L70.1 74.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M70.1 74.3 L74.8 81.5 L74.8 87.1 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M29.9 69.7 L29.9 74.3 L25.2 87.1 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M49.9 72 L49.9 72 L29.9 74.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L50.1 72 L70.1 74.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M60.3 91.2 L50.1 84.3 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M39.7 91.2 L50 84.3 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M49.9 72 L50 72 L41.7 77.6 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L50 72 L58.3 77.6 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M60.3 91.2 L74.8 87.1 L50.1 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M25.2 87.1 L39.7 91.2 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M49.9 72 L41.7 77.6 L29.9 74.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L70.1 74.3 L58.3 77.6 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M58.3 77.6 L70.1 74.3 L74.8 87.1 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M29.9 74.3 L39.7 91.2 L25.2 87.1 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M39.7 91.2 L60.3 91.2 L50 84.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 72 L58.3 77.6 L41.7 77.6 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M58.3 77.6 L74.8 87.1 L60.3 91.2 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M29.9 74.3 L41.7 77.6 L39.7 91.2 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M41.7 77.6 L58.3 77.6 L60.3 91.2 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M41.7 77.6 L60.3 91.2 L39.7 91.2 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><clipPath id="browser-substrate-brand-0-g"><polygon points="50 7 60.5 8.7 70 13.5 77.5 21 82.3 30.5 84 41 82.3 51.5 77.5 61 70 68.5 60.5 73.3 50 75 39.5 73.3 30 68.5 22.5 61 17.7 51.5 16 41 17.7 30.5 22.5 21 30 13.5 39.5 8.7"/></clipPath><polygon points="50 7 60.5 8.7 70 13.5 77.5 21 82.3 30.5 84 41 82.3 51.5 77.5 61 70 68.5 60.5 73.3 50 75 39.5 73.3 30 68.5 22.5 61 17.7 51.5 16 41 17.7 30.5 22.5 21 30 13.5 39.5 8.7" fill="#f7f6f1"/><g clip-path="url(#browser-substrate-brand-0-g)"><rect x="0" y="55" width="100" height="60" fill="#5d6970"/><path d="M79.9 50.5 L79.9 49 L72.3 47.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50.9 43 L51 48.8 L42.2 46.8 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M50.9 43 L57.2 46.6 L51 48.8 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M33.9 42 L35.7 47.4 L27.4 49 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M33.9 42 L42.2 46.8 L35.7 47.4 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M64.8 37.5 L72.3 47.5 L65 46.1 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M64.8 37.5 L65 46.1 L57.2 46.6 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M20.1 50.5 L27.4 48 L27.4 49 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M72.3 43.8 L79.9 50.5 L72.3 47.5 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M27.4 48 L33.9 42 L27.4 49 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M64.8 37.5 L72.3 43.8 L72.3 47.5 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M50.9 43 L57.4 42 L57.2 46.6 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M42 35.8 L50.9 43 L42.2 46.8 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M33.9 42 L42 35.8 L42.2 46.8 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M57.4 42 L64.8 37.5 L57.2 46.6 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M26.6 47.3 L27.4 48 L20.1 50.5 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M73.1 47.2 L79.9 50.5 L72.3 43.8 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M26.6 47.3 L33.9 42 L27.4 48 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M73.1 47.2 L72.3 43.8 L64.8 37.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M58.5 44.4 L57.4 42 L50.9 43 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M20.1 52 L26.6 47.3 L20.1 50.5 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M58.5 44.4 L64.8 37.5 L57.4 42 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M73.1 47.2 L79.9 52 L79.9 50.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M43.4 27.9 L50.9 43 L42 35.8 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M43.4 27.9 L42 35.8 L33.9 42 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M26.6 47.3 L35 38.5 L33.9 42 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M51.1 41.6 L58.5 44.4 L50.9 43 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M65.3 38.6 L73.1 47.2 L64.8 37.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M58.5 44.4 L65.3 38.6 L64.8 37.5 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M35 38.5 L43.4 27.9 L33.9 42 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M43.4 27.9 L51.1 41.6 L50.9 43 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M20.1 53.5 L26.6 47.3 L20.1 52 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M79.9 53.5 L79.9 52 L73.1 47.2 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M35.5 44.5 L35 38.5 L26.6 47.3 Z" fill="#16252c" stroke="#16252c" stroke-width="0.5"/><path d="M65.1 51.9 L73.1 47.2 L65.3 38.6 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M65.1 51.9 L65.3 38.6 L58.5 44.4 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M51.2 45.7 L58.5 44.4 L51.1 41.6 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M20.1 53.5 L26.3 52.4 L26.6 47.3 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M51.2 45.7 L51.1 41.6 L43.4 27.9 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M72.3 53 L79.9 53.5 L73.1 47.2 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M35.5 44.5 L43.4 27.9 L35 38.5 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M65.1 51.9 L72.3 53 L73.1 47.2 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M26.3 52.4 L35.5 44.5 L26.6 47.3 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M58.7 51.5 L65.1 51.9 L58.5 44.4 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M51.2 45.7 L58.7 51.5 L58.5 44.4 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M42.2 39.9 L51.2 45.7 L43.4 27.9 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M35.5 44.5 L42.2 39.9 L43.4 27.9 Z" fill="#f7f6f1" stroke="#16252c" stroke-width="0.7"/><path d="M72.4 55 L79.9 53.5 L72.3 53 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M27.6 55 L26.3 52.4 L20.1 53.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M72.4 55 L72.3 53 L65.1 51.9 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M57.5 55 L65.1 51.9 L58.7 51.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M57.5 55 L58.7 51.5 L51.2 45.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M27.6 55 L35.5 44.5 L26.3 52.4 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M42.5 55 L51.2 45.7 L42.2 39.9 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M42.5 55 L42.2 39.9 L35.5 44.5 Z" fill="#5d6970" stroke="#5d6970" stroke-width="0.5"/><path d="M57.5 55 L65 55 L65.1 51.9 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M65 55 L72.4 55 L65.1 51.9 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M42.5 55 L50 55 L51.2 45.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M50 55 L57.5 55 L51.2 45.7 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M27.6 55 L35.1 55 L35.5 44.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><path d="M35.1 55 L42.5 55 L35.5 44.5 Z" fill="#d8eb6a" stroke="#d8eb6a" stroke-width="0.5"/><rect x="70.7" y="44.5" width="1.6" height="1.6" fill="#5d6970"/><rect x="23.4" y="41.3" width="1.6" height="1.6" fill="#5d6970"/><rect x="68.0" y="33.7" width="1.6" height="1.6" fill="#5d6970"/><rect x="52.9" y="48.4" width="1.6" height="1.6" fill="#5d6970"/><rect x="51.2" y="45.9" width="1.6" height="1.6" fill="#5d6970"/><rect x="27.6" y="35.7" width="1.6" height="1.6" fill="#5d6970"/><rect x="44.6" y="16.5" width="1.6" height="1.6" fill="#5d6970"/><rect x="51.1" y="16.7" width="1.6" height="1.6" fill="#5d6970"/><rect x="25.8" y="39.4" width="1.6" height="1.6" fill="#5d6970"/><rect x="20.8" y="45.3" width="1.6" height="1.6" fill="#5d6970"/><rect x="43.1" y="51.2" width="1.6" height="1.6" fill="#5d6970"/><rect x="53.8" y="15.9" width="1.6" height="1.6" fill="#5d6970"/><rect x="24.3" y="49.7" width="1.6" height="1.6" fill="#5d6970"/><rect x="48.5" y="51.2" width="1.6" height="1.6" fill="#5d6970"/><rect x="47.7" y="44.9" width="1.6" height="1.6" fill="#5d6970"/><rect x="50.8" y="35.4" width="1.6" height="1.6" fill="#5d6970"/><rect x="65.3" y="47.1" width="1.6" height="1.6" fill="#5d6970"/><rect x="70.9" y="19.9" width="1.6" height="1.6" fill="#5d6970"/><rect x="32.0" y="40.5" width="1.6" height="1.6" fill="#5d6970"/><rect x="37.1" y="44.9" width="1.6" height="1.6" fill="#5d6970"/><rect x="58.2" y="28.6" width="1.6" height="1.6" fill="#5d6970"/></g><polygon points="50 7 60.5 8.7 70 13.5 77.5 21 82.3 30.5 84 41 82.3 51.5 77.5 61 70 68.5 60.5 73.3 50 75 39.5 73.3 30 68.5 22.5 61 17.7 51.5 16 41 17.7 30.5 22.5 21 30 13.5 39.5 8.7" fill="none" stroke="#16252c" stroke-width="4.2"/><path d="M28.9 29.1 Q31.3 18.6 41.5 15.8" fill="none" stroke="#fff" stroke-width="2.4"/></svg>
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/* Volter brand tokens. Source: @volter-ai/brand (tokens/volter-tokens.mjs). Products read the
|
|
2
|
+
semantic roles (--volter-surface-*, --volter-text-*, --volter-status-*, ...); --volter-color-* are primitives. */
|
|
3
|
+
@font-face { font-family: "Geist"; src: url("/brand/fonts/Geist-Variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
|
|
4
|
+
@font-face { font-family: "Geist Mono"; src: url("/brand/fonts/GeistMono-Variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
|
|
5
|
+
@font-face { font-family: "Instrument Serif"; src: url("/brand/fonts/InstrumentSerif-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
|
|
6
|
+
@font-face { font-family: "Instrument Serif"; src: url("/brand/fonts/InstrumentSerif-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
|
|
7
|
+
:root {
|
|
8
|
+
--volter-color-ink: #16252c;
|
|
9
|
+
--volter-color-paper: #f7f6f1;
|
|
10
|
+
--volter-color-surface: #fbfaf7;
|
|
11
|
+
--volter-color-stone: #eeede7;
|
|
12
|
+
--volter-color-rule: #d9dad3;
|
|
13
|
+
--volter-color-muted: #5d6970;
|
|
14
|
+
--volter-color-faint: #a3aaa9;
|
|
15
|
+
--volter-color-lime: #e4f09c;
|
|
16
|
+
--volter-color-lime-strong: #d8eb6a;
|
|
17
|
+
--volter-color-lilac: #dcd5e9;
|
|
18
|
+
--volter-color-lilac-strong: #c9bce3;
|
|
19
|
+
--volter-color-stone-strong: #dedbd2;
|
|
20
|
+
--volter-color-orange: #ff6a1f;
|
|
21
|
+
--volter-color-live: #5f9a2e;
|
|
22
|
+
--volter-color-live-soft: #eef4c4;
|
|
23
|
+
--volter-color-healthy: #3f7a55;
|
|
24
|
+
--volter-color-healthy-soft: #e8f0e6;
|
|
25
|
+
--volter-color-attention: #c7641a;
|
|
26
|
+
--volter-color-attention-soft: #fbede0;
|
|
27
|
+
--volter-color-danger: #d24a1f;
|
|
28
|
+
--volter-color-danger-soft: #fbebe4;
|
|
29
|
+
--volter-color-black: #000000;
|
|
30
|
+
--volter-color-white: #ffffff;
|
|
31
|
+
--volter-color-night: #0f1a1f;
|
|
32
|
+
--volter-color-ink-raised: #1d2d34;
|
|
33
|
+
--volter-color-ink-glow: #22343c;
|
|
34
|
+
--volter-color-stone-light: #f2f1eb;
|
|
35
|
+
--volter-color-stone-deep: #efeee8;
|
|
36
|
+
--volter-color-stone-inset: #e7e6df;
|
|
37
|
+
--volter-color-stone-disabled: #dad9d1;
|
|
38
|
+
--volter-color-rule-soft: #e9e8e1;
|
|
39
|
+
--volter-color-rule-strong: #c4c5bc;
|
|
40
|
+
--volter-color-track: #b3b6ae;
|
|
41
|
+
--volter-color-subdued: #66727a;
|
|
42
|
+
--volter-color-dim: #808b8f;
|
|
43
|
+
--volter-color-disabled: #8a918f;
|
|
44
|
+
--volter-color-paper-dim: #f3f2ec;
|
|
45
|
+
--volter-color-ink-muted: #a9b0ad;
|
|
46
|
+
--volter-color-slate: #4f6574;
|
|
47
|
+
--volter-color-slate-soft: #e9edef;
|
|
48
|
+
--volter-color-live-line: #d7e8a6;
|
|
49
|
+
--volter-color-live-text: #3f6b17;
|
|
50
|
+
--volter-color-healthy-text: #2f5f40;
|
|
51
|
+
--volter-color-attention-line: #f1d6bd;
|
|
52
|
+
--volter-color-attention-text: #8a3f0c;
|
|
53
|
+
--volter-color-danger-line: #f2cfc0;
|
|
54
|
+
--volter-color-danger-text: #9c3310;
|
|
55
|
+
--volter-color-violet: #6a5a92;
|
|
56
|
+
--volter-color-violet-soft: #ebe6f3;
|
|
57
|
+
--volter-color-violet-text: #4f4275;
|
|
58
|
+
--volter-color-violet-line: #d9d1ea;
|
|
59
|
+
--volter-color-ansi-blue: #3b5f8a;
|
|
60
|
+
--volter-font-ui: "Geist", "Segoe UI", system-ui, sans-serif;
|
|
61
|
+
--volter-font-data: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
|
|
62
|
+
--volter-font-display: "Instrument Serif", Georgia, serif;
|
|
63
|
+
--volter-font-terminal: "SF Mono", SFMono-Regular, ui-monospace, Menlo, Consolas, monospace;
|
|
64
|
+
--volter-font-size-xs: 11px;
|
|
65
|
+
--volter-font-size-sm: 12.5px;
|
|
66
|
+
--volter-font-size-md: 14px;
|
|
67
|
+
--volter-font-size-lg: 16px;
|
|
68
|
+
--volter-font-size-xl: 20px;
|
|
69
|
+
--volter-font-size-2xl: 24px;
|
|
70
|
+
--volter-font-size-3xl: 32px;
|
|
71
|
+
--volter-font-size-display: 48px;
|
|
72
|
+
--volter-font-size-terminal: 11px;
|
|
73
|
+
--volter-space-1: 4px;
|
|
74
|
+
--volter-space-2: 8px;
|
|
75
|
+
--volter-space-3: 12px;
|
|
76
|
+
--volter-space-4: 16px;
|
|
77
|
+
--volter-space-5: 20px;
|
|
78
|
+
--volter-space-6: 24px;
|
|
79
|
+
--volter-space-8: 32px;
|
|
80
|
+
--volter-space-12: 48px;
|
|
81
|
+
--volter-space-16: 64px;
|
|
82
|
+
--volter-radius-control: 3px;
|
|
83
|
+
--volter-radius-panel: 4px;
|
|
84
|
+
--volter-measure-code: 7ch;
|
|
85
|
+
--volter-measure-short: 16ch;
|
|
86
|
+
--volter-measure-name: 28ch;
|
|
87
|
+
--volter-measure-line: 44ch;
|
|
88
|
+
--volter-measure-prose: 64ch;
|
|
89
|
+
--volter-line-hairline: 1px solid #d9dad3;
|
|
90
|
+
--volter-line-strong: 1px solid #16252c;
|
|
91
|
+
--volter-motion-fast: 120ms;
|
|
92
|
+
--volter-motion-medium: 240ms;
|
|
93
|
+
--volter-shadow-dialog: 0 2px 6px rgba(27, 30, 28, 0.06), 0 12px 32px rgba(27, 30, 28, 0.1);
|
|
94
|
+
--volter-shadow-floating: 0 12px 32px rgba(21, 23, 22, 0.14), 0 2px 8px rgba(21, 23, 22, 0.08);
|
|
95
|
+
--volter-shadow-player: 0 2px 8px rgba(27, 30, 28, 0.08), 0 18px 44px rgba(27, 30, 28, 0.14);
|
|
96
|
+
--volter-shadow-resting: none;
|
|
97
|
+
--volter-surface-page: light-dark(#f7f6f1, #0f1a1f);
|
|
98
|
+
--volter-surface-raised: light-dark(#fbfaf7, #16252c);
|
|
99
|
+
--volter-surface-subtle: light-dark(#f2f1eb, #1d2d34);
|
|
100
|
+
--volter-surface-sunken: light-dark(#efeee8, #0b141a);
|
|
101
|
+
--volter-surface-inset: light-dark(#e7e6df, #22343c);
|
|
102
|
+
--volter-surface-disabled: light-dark(#dad9d1, #2a3a42);
|
|
103
|
+
--volter-surface-overlay: light-dark(rgba(251, 250, 247, 0.97), rgba(22, 37, 44, 0.97));
|
|
104
|
+
--volter-surface-inverse: light-dark(#16252c, #f7f6f1);
|
|
105
|
+
--volter-surface-media: light-dark(#0f1a1f, #070d10);
|
|
106
|
+
--volter-surface-inverse-raised: light-dark(#1d2d34, #fbfaf7);
|
|
107
|
+
--volter-surface-inverse-glow: light-dark(#22343c, #ffffff);
|
|
108
|
+
--volter-border-default: light-dark(#d9dad3, #2c3d45);
|
|
109
|
+
--volter-border-subtle: light-dark(#e9e8e1, #223239);
|
|
110
|
+
--volter-border-strong: light-dark(#c4c5bc, #3d5059);
|
|
111
|
+
--volter-border-emphasis: light-dark(#16252c, #f3f2ec);
|
|
112
|
+
--volter-text-primary: light-dark(#16252c, #f3f2ec);
|
|
113
|
+
--volter-text-muted: light-dark(#5d6970, #a9b0ad);
|
|
114
|
+
--volter-text-tertiary: light-dark(#66727a, #8b979b);
|
|
115
|
+
--volter-text-faint: light-dark(#a3aaa9, #6c7a80);
|
|
116
|
+
--volter-text-disabled: light-dark(#8a918f, #56646a);
|
|
117
|
+
--volter-text-inverse: light-dark(#f3f2ec, #16252c);
|
|
118
|
+
--volter-text-inverse-muted: light-dark(#a9b0ad, #5d6970);
|
|
119
|
+
--volter-text-on-strong: light-dark(#ffffff, #16252c);
|
|
120
|
+
--volter-text-on-bright-muted: rgba(22, 37, 44, 0.78);
|
|
121
|
+
--volter-text-on-bright-dim: rgba(22, 37, 44, 0.6);
|
|
122
|
+
--volter-action-default: light-dark(#16252c, #e4f09c);
|
|
123
|
+
--volter-action-hover: light-dark(#000000, #d8eb6a);
|
|
124
|
+
--volter-action-soft: light-dark(#eef4c4, rgba(228, 240, 156, 0.14));
|
|
125
|
+
--volter-action-text: light-dark(#16252c, #e4f09c);
|
|
126
|
+
--volter-selection-default: light-dark(#16252c, #e4f09c);
|
|
127
|
+
--volter-selection-soft: light-dark(#eef4c4, rgba(228, 240, 156, 0.14));
|
|
128
|
+
--volter-selection-text: light-dark(#16252c, #f3f2ec);
|
|
129
|
+
--volter-selection-object: #ff6a1f;
|
|
130
|
+
--volter-selection-wash: light-dark(rgba(216, 235, 106, 0.55), rgba(216, 235, 106, 0.3));
|
|
131
|
+
--volter-status-live-base: light-dark(#5f9a2e, #9bcf62);
|
|
132
|
+
--volter-status-live-soft: light-dark(#eef4c4, rgba(155, 207, 98, 0.14));
|
|
133
|
+
--volter-status-live-line: light-dark(#d7e8a6, rgba(155, 207, 98, 0.35));
|
|
134
|
+
--volter-status-live-text: light-dark(#3f6b17, #b8e08a);
|
|
135
|
+
--volter-status-live-ring: light-dark(rgba(95, 154, 46, 0.18), rgba(155, 207, 98, 0.22));
|
|
136
|
+
--volter-status-live-wash: light-dark(rgba(228, 240, 156, 0.45), rgba(228, 240, 156, 0.16));
|
|
137
|
+
--volter-status-healthy-base: light-dark(#3f7a55, #6fbf8e);
|
|
138
|
+
--volter-status-healthy-soft: light-dark(#e8f0e6, rgba(111, 191, 142, 0.14));
|
|
139
|
+
--volter-status-healthy-text: light-dark(#2f5f40, #93d3aa);
|
|
140
|
+
--volter-status-success-base: light-dark(#6a5a92, #aa98d8);
|
|
141
|
+
--volter-status-success-soft: light-dark(#ebe6f3, rgba(170, 152, 216, 0.16));
|
|
142
|
+
--volter-status-success-line: light-dark(#d9d1ea, rgba(170, 152, 216, 0.38));
|
|
143
|
+
--volter-status-success-text: light-dark(#4f4275, #c4b7e6);
|
|
144
|
+
--volter-status-attention-base: light-dark(#c7641a, #ec9a52);
|
|
145
|
+
--volter-status-attention-soft: light-dark(#fbede0, rgba(236, 154, 82, 0.14));
|
|
146
|
+
--volter-status-attention-line: light-dark(#f1d6bd, rgba(236, 154, 82, 0.35));
|
|
147
|
+
--volter-status-attention-text: light-dark(#8a3f0c, #f3b87f);
|
|
148
|
+
--volter-status-danger-base: light-dark(#d24a1f, #f07650);
|
|
149
|
+
--volter-status-danger-soft: light-dark(#fbebe4, rgba(240, 118, 80, 0.14));
|
|
150
|
+
--volter-status-danger-line: light-dark(#f2cfc0, rgba(240, 118, 80, 0.38));
|
|
151
|
+
--volter-status-danger-text: light-dark(#9c3310, #f59a7d);
|
|
152
|
+
--volter-status-danger-faint: light-dark(rgba(210, 74, 31, 0.08), rgba(240, 118, 80, 0.08));
|
|
153
|
+
--volter-status-recording-base: light-dark(#d24a1f, #f07650);
|
|
154
|
+
--volter-status-recording-text: #ffffff;
|
|
155
|
+
--volter-data-base: light-dark(#4f6574, #8fa6b4);
|
|
156
|
+
--volter-data-soft: light-dark(#e9edef, rgba(143, 166, 180, 0.14));
|
|
157
|
+
--volter-data-violet: light-dark(#6a5a92, #aa98d8);
|
|
158
|
+
--volter-data-green: light-dark(#3f7a55, #6fbf8e);
|
|
159
|
+
--volter-data-amber: light-dark(#c7641a, #ec9a52);
|
|
160
|
+
--volter-data-blue: light-dark(#3b5f8a, #7ea6d8);
|
|
161
|
+
--volter-overlay-hover: light-dark(rgba(22, 37, 44, 0.05), rgba(243, 242, 236, 0.06));
|
|
162
|
+
--volter-overlay-active: light-dark(rgba(22, 37, 44, 0.09), rgba(243, 242, 236, 0.1));
|
|
163
|
+
--volter-overlay-emboss: light-dark(rgba(22, 37, 44, 0.06), rgba(243, 242, 236, 0.06));
|
|
164
|
+
--volter-overlay-scrim: light-dark(rgba(22, 37, 44, 0.38), rgba(0, 0, 0, 0.55));
|
|
165
|
+
--volter-overlay-control: light-dark(rgba(22, 37, 44, 0.8), rgba(15, 26, 31, 0.8));
|
|
166
|
+
--volter-control-track: light-dark(#b3b6ae, #3d5059);
|
|
167
|
+
--volter-code-text: light-dark(#16252c, #f3f2ec);
|
|
168
|
+
--volter-code-comment: light-dark(#66727a, #8b979b);
|
|
169
|
+
--volter-code-keyword: light-dark(#d24a1f, #f59a7d);
|
|
170
|
+
--volter-code-variable: light-dark(#6a5a92, #c4b7e6);
|
|
171
|
+
--volter-code-string: light-dark(#3f7a55, #93d3aa);
|
|
172
|
+
--volter-code-constant: light-dark(#6a5a92, #c4b7e6);
|
|
173
|
+
--volter-code-function: light-dark(#16252c, #f3f2ec);
|
|
174
|
+
--volter-code-type: light-dark(#16252c, #f3f2ec);
|
|
175
|
+
--volter-code-tag: light-dark(#d24a1f, #f59a7d);
|
|
176
|
+
--volter-code-attribute: light-dark(#6a5a92, #c4b7e6);
|
|
177
|
+
--volter-code-punctuation: light-dark(#5d6970, #a9b0ad);
|
|
178
|
+
--volter-code-inline: light-dark(#6a5a92, #c4b7e6);
|
|
179
|
+
--volter-code-invalid: light-dark(#d24a1f, #f07650);
|
|
180
|
+
--volter-axis-x: light-dark(#d24a1f, #f07650);
|
|
181
|
+
--volter-axis-y: light-dark(#5f9a2e, #9bcf62);
|
|
182
|
+
--volter-axis-z: light-dark(#3b5f8a, #7ea6d8);
|
|
183
|
+
--volter-axis-grid: light-dark(#c4c5bc, #3d5059);
|
|
184
|
+
--volter-scene-dynamic: light-dark(#6a5a92, #aa98d8);
|
|
185
|
+
--volter-scene-dynamic-soft: light-dark(#dcd5e9, rgba(220, 213, 233, 0.3));
|
|
186
|
+
--volter-scene-instance: light-dark(#5f9a2e, #9bcf62);
|
|
187
|
+
--volter-terminal-background: light-dark(#ffffff, #1e1e1e);
|
|
188
|
+
--volter-terminal-foreground: light-dark(#000000, #ffffff);
|
|
189
|
+
--volter-terminal-cursor: #9d9d9d;
|
|
190
|
+
--volter-terminal-selection: light-dark(#b3d7ff, #3f638b);
|
|
191
|
+
--volter-terminal-black: #000000;
|
|
192
|
+
--volter-terminal-red: #990000;
|
|
193
|
+
--volter-terminal-green: #00a600;
|
|
194
|
+
--volter-terminal-yellow: #999900;
|
|
195
|
+
--volter-terminal-blue: #0000b3;
|
|
196
|
+
--volter-terminal-magenta: #b300b3;
|
|
197
|
+
--volter-terminal-cyan: #00a6b3;
|
|
198
|
+
--volter-terminal-white: #bfbfbf;
|
|
199
|
+
--volter-terminal-bright-black: #666666;
|
|
200
|
+
--volter-terminal-bright-red: #e60000;
|
|
201
|
+
--volter-terminal-bright-green: #00d900;
|
|
202
|
+
--volter-terminal-bright-yellow: #e6e600;
|
|
203
|
+
--volter-terminal-bright-blue: #0000ff;
|
|
204
|
+
--volter-terminal-bright-magenta: #e600e6;
|
|
205
|
+
--volter-terminal-bright-cyan: #00e6e6;
|
|
206
|
+
--volter-terminal-bright-white: #e6e6e6;
|
|
207
|
+
--volter-accent-lime: #e4f09c;
|
|
208
|
+
--volter-accent-lime-strong: #d8eb6a;
|
|
209
|
+
--volter-accent-lilac: #dcd5e9;
|
|
210
|
+
--volter-accent-orange: #ff6a1f;
|
|
211
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 126 32" width="126" height="32" role="img" aria-label="Volter"><title>Volter</title><g fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="square" stroke-linejoin="round"><path d="M2 9 11 27 20 9M44 18a9 9 0 1 1-18 0 9 9 0 1 1 18 0ZM51 3v24M61 4v18q0 5 5 5h7M57 10h15M79 18h19c0-12-19-12-19 0 0 9 11 11 18 6M106 27V10m0 8c0-6 6-8 14-8"/></g></svg>
|
package/dist/shell/index.html
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<link rel="stylesheet" href="/brand/tokens.css">
|
|
5
|
+
|
|
4
6
|
<meta charset="UTF-8" />
|
|
5
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
8
|
<title>browser-substrate</title>
|
|
7
9
|
<!-- The tab's icon is the toolbar's mark, from the brand; without it every open logged a 404 for /favicon.ico. -->
|
|
8
|
-
<link rel="icon" type="image/svg+xml" href="
|
|
10
|
+
<link rel="icon" type="image/svg+xml" href="/brand/substrate.svg" />
|
|
9
11
|
<!-- Black glass from the first byte, before any script: the boot screen (boot-screen.js) comes on from here. Ready or failed, the page's own paper returns. -->
|
|
10
12
|
<style>html:not([data-ready]):not([data-error]), html:not([data-ready]):not([data-error]) body { background: #0b0b0c; color-scheme: dark; }</style>
|
|
11
|
-
<script type="module" crossorigin src="/assets/shell-
|
|
13
|
+
<script type="module" crossorigin src="/assets/shell-BZbhxnju.js"></script>
|
|
12
14
|
<link rel="modulepreload" crossorigin href="/assets/page-workers-BUcWBF51.js">
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/browser-sandbox-bridge-
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/browser-sandbox-bridge-C8nlSsT2.js">
|
|
14
16
|
<link rel="modulepreload" crossorigin href="/assets/cross-origin-container-protocol-hIp9vH-t.js">
|
|
15
17
|
<link rel="stylesheet" crossorigin href="/assets/shell-BEKXfRsE.css">
|
|
16
18
|
</head>
|
|
@@ -362,6 +362,7 @@ function validateImageRanges(candidate) {
|
|
|
362
362
|
if (end !== value.bytes) throw new Error("Immutable image ranges do not cover their reservation.");
|
|
363
363
|
return value;
|
|
364
364
|
}
|
|
365
|
+
var realmBlockedReads = /* @__PURE__ */ new Map();
|
|
365
366
|
var ImageRangeReader = class {
|
|
366
367
|
constructor(ranges, directory, identity, completed, receiptKey, client) {
|
|
367
368
|
this.ranges = ranges;
|
|
@@ -407,7 +408,6 @@ var ImageRangeReader = class {
|
|
|
407
408
|
startup;
|
|
408
409
|
cancelStartup;
|
|
409
410
|
sharedCompletion;
|
|
410
|
-
blocked = { ranges: 0, ms: 0 };
|
|
411
411
|
get completionBuffer() {
|
|
412
412
|
return this.completed.buffer;
|
|
413
413
|
}
|
|
@@ -586,10 +586,6 @@ var ImageRangeReader = class {
|
|
|
586
586
|
}
|
|
587
587
|
return { queued: indices.length, done: Promise.all(finished).then(() => void 0) };
|
|
588
588
|
}
|
|
589
|
-
/** How many reads this process blocked on a range not yet held, and for how long in all. */
|
|
590
|
-
get blockedReads() {
|
|
591
|
-
return { ...this.blocked };
|
|
592
|
-
}
|
|
593
589
|
ensure(offset, length) {
|
|
594
590
|
if (this.closed) throw new Error("This immutable image reader is closed.");
|
|
595
591
|
if (!this.ready) throw new Error("This immutable image reader has not finished asynchronous initialization.");
|
|
@@ -620,8 +616,12 @@ var ImageRangeReader = class {
|
|
|
620
616
|
throw new Error(`The image's immutable part ${part.url} did not arrive within 30 seconds; reload to retry.`);
|
|
621
617
|
}
|
|
622
618
|
}
|
|
623
|
-
|
|
624
|
-
|
|
619
|
+
const waited = performance.now() - began;
|
|
620
|
+
const realm = realmBlockedReads.get(this.identity) ?? { ranges: 0, ms: 0 };
|
|
621
|
+
realm.ranges += 1;
|
|
622
|
+
realm.ms += waited;
|
|
623
|
+
realmBlockedReads.set(this.identity, realm);
|
|
624
|
+
console.log(`[boot-trace] ${JSON.stringify({ event: "image-blocked", at: Date.now(), reader: this.identity, index, range: part.sha256.slice(0, 16), ms: Math.round(waited) })}`);
|
|
625
625
|
if (Atomics.load(this.state, index) !== 2) {
|
|
626
626
|
throw new Error(`The image's immutable part ${part.url} could not be verified or stored; see the worker error and reload to retry.`);
|
|
627
627
|
}
|
|
@@ -1261,6 +1261,14 @@ function createPackStore(environment, options = {}) {
|
|
|
1261
1261
|
if (!line) receivedImageLine?.port.close();
|
|
1262
1262
|
receivedImageLine = void 0;
|
|
1263
1263
|
imageReader = new ImageRangeReader(ranges, directory, `${projectId}.${generation}`, completion?.completed, receiptKey, line);
|
|
1264
|
+
console.log(`[boot-trace] ${JSON.stringify({
|
|
1265
|
+
event: "image-reader-open",
|
|
1266
|
+
at: Date.now(),
|
|
1267
|
+
reader: `${projectId}.${generation}`,
|
|
1268
|
+
offered: supplied !== void 0,
|
|
1269
|
+
shared: completion !== void 0,
|
|
1270
|
+
...supplied && !completion ? { offeredGeneration: supplied.generation, generation, rangesMatch: supplied.rangesDigest === imageRangesDigest } : {}
|
|
1271
|
+
})}`);
|
|
1264
1272
|
await imageReader.initialize();
|
|
1265
1273
|
deferredImage = ranges.image;
|
|
1266
1274
|
}
|
|
@@ -2728,11 +2736,6 @@ function createPackStore(environment, options = {}) {
|
|
|
2728
2736
|
imageLine: () => imageReader?.lineForReader() ?? options.packages?.imageLine(),
|
|
2729
2737
|
imageStartupSet: () => imageReader?.readDigests() ?? imageReader?.completedDigests() ?? [],
|
|
2730
2738
|
prefetchImage: (digests, streams) => imageReader?.prefetch(digests, streams) ?? { queued: 0, done: Promise.resolve() },
|
|
2731
|
-
imageBlockedReads: () => {
|
|
2732
|
-
const own = imageReader?.blockedReads ?? { ranges: 0, ms: 0 };
|
|
2733
|
-
const linked2 = options.packages?.imageBlockedReads() ?? { ranges: 0, ms: 0 };
|
|
2734
|
-
return { ranges: own.ranges + linked2.ranges, ms: own.ms + linked2.ms };
|
|
2735
|
-
},
|
|
2736
2739
|
seeded: () => startedFromSeed,
|
|
2737
2740
|
get logBytes() {
|
|
2738
2741
|
return logBytes;
|
|
@@ -4319,4 +4322,4 @@ function serveStore(scope3, port, loadEngine) {
|
|
|
4319
4322
|
}
|
|
4320
4323
|
|
|
4321
4324
|
// <stdin>
|
|
4322
|
-
startExecutionFront(self, () => import("/assets/node-execution-worker-
|
|
4325
|
+
startExecutionFront(self, () => import("/assets/node-execution-worker-3ddf5efbaa427e9d.js"));
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<link rel="stylesheet" href="/brand/tokens.css">
|
|
5
|
+
|
|
4
6
|
<meta charset="UTF-8" />
|
|
5
7
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self' 'unsafe-eval' 'wasm-unsafe-eval'; worker-src 'self' blob:; connect-src 'none'; img-src 'none'; style-src 'none'; frame-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'" />
|
|
6
8
|
<title>Browser Node execution host</title>
|
|
@@ -400,6 +400,7 @@ function validateImageRanges(candidate) {
|
|
|
400
400
|
if (end !== value.bytes) throw new Error("Immutable image ranges do not cover their reservation.");
|
|
401
401
|
return value;
|
|
402
402
|
}
|
|
403
|
+
var realmBlockedReads = /* @__PURE__ */ new Map();
|
|
403
404
|
var ImageRangeReader = class {
|
|
404
405
|
constructor(ranges, directory, identity, completed, receiptKey, client) {
|
|
405
406
|
this.ranges = ranges;
|
|
@@ -445,7 +446,6 @@ var ImageRangeReader = class {
|
|
|
445
446
|
startup;
|
|
446
447
|
cancelStartup;
|
|
447
448
|
sharedCompletion;
|
|
448
|
-
blocked = { ranges: 0, ms: 0 };
|
|
449
449
|
get completionBuffer() {
|
|
450
450
|
return this.completed.buffer;
|
|
451
451
|
}
|
|
@@ -624,10 +624,6 @@ var ImageRangeReader = class {
|
|
|
624
624
|
}
|
|
625
625
|
return { queued: indices.length, done: Promise.all(finished).then(() => void 0) };
|
|
626
626
|
}
|
|
627
|
-
/** How many reads this process blocked on a range not yet held, and for how long in all. */
|
|
628
|
-
get blockedReads() {
|
|
629
|
-
return { ...this.blocked };
|
|
630
|
-
}
|
|
631
627
|
ensure(offset, length) {
|
|
632
628
|
if (this.closed) throw new Error("This immutable image reader is closed.");
|
|
633
629
|
if (!this.ready) throw new Error("This immutable image reader has not finished asynchronous initialization.");
|
|
@@ -658,8 +654,12 @@ var ImageRangeReader = class {
|
|
|
658
654
|
throw new Error(`The image's immutable part ${part.url} did not arrive within 30 seconds; reload to retry.`);
|
|
659
655
|
}
|
|
660
656
|
}
|
|
661
|
-
|
|
662
|
-
|
|
657
|
+
const waited = performance.now() - began;
|
|
658
|
+
const realm = realmBlockedReads.get(this.identity) ?? { ranges: 0, ms: 0 };
|
|
659
|
+
realm.ranges += 1;
|
|
660
|
+
realm.ms += waited;
|
|
661
|
+
realmBlockedReads.set(this.identity, realm);
|
|
662
|
+
console.log(`[boot-trace] ${JSON.stringify({ event: "image-blocked", at: Date.now(), reader: this.identity, index, range: part.sha256.slice(0, 16), ms: Math.round(waited) })}`);
|
|
663
663
|
if (Atomics.load(this.state, index) !== 2) {
|
|
664
664
|
throw new Error(`The image's immutable part ${part.url} could not be verified or stored; see the worker error and reload to retry.`);
|
|
665
665
|
}
|
|
@@ -1296,6 +1296,14 @@ function createPackStore(environment, options = {}) {
|
|
|
1296
1296
|
if (!line) receivedImageLine?.port.close();
|
|
1297
1297
|
receivedImageLine = void 0;
|
|
1298
1298
|
imageReader = new ImageRangeReader(ranges, directory, `${projectId}.${generation}`, completion?.completed, receiptKey, line);
|
|
1299
|
+
console.log(`[boot-trace] ${JSON.stringify({
|
|
1300
|
+
event: "image-reader-open",
|
|
1301
|
+
at: Date.now(),
|
|
1302
|
+
reader: `${projectId}.${generation}`,
|
|
1303
|
+
offered: supplied !== void 0,
|
|
1304
|
+
shared: completion !== void 0,
|
|
1305
|
+
...supplied && !completion ? { offeredGeneration: supplied.generation, generation, rangesMatch: supplied.rangesDigest === imageRangesDigest } : {}
|
|
1306
|
+
})}`);
|
|
1299
1307
|
await imageReader.initialize();
|
|
1300
1308
|
deferredImage = ranges.image;
|
|
1301
1309
|
}
|
|
@@ -2763,11 +2771,6 @@ function createPackStore(environment, options = {}) {
|
|
|
2763
2771
|
imageLine: () => imageReader?.lineForReader() ?? options.packages?.imageLine(),
|
|
2764
2772
|
imageStartupSet: () => imageReader?.readDigests() ?? imageReader?.completedDigests() ?? [],
|
|
2765
2773
|
prefetchImage: (digests, streams) => imageReader?.prefetch(digests, streams) ?? { queued: 0, done: Promise.resolve() },
|
|
2766
|
-
imageBlockedReads: () => {
|
|
2767
|
-
const own = imageReader?.blockedReads ?? { ranges: 0, ms: 0 };
|
|
2768
|
-
const linked2 = options.packages?.imageBlockedReads() ?? { ranges: 0, ms: 0 };
|
|
2769
|
-
return { ranges: own.ranges + linked2.ranges, ms: own.ms + linked2.ms };
|
|
2770
|
-
},
|
|
2771
2774
|
seeded: () => startedFromSeed,
|
|
2772
2775
|
get logBytes() {
|
|
2773
2776
|
return logBytes;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<link rel="stylesheet" href="/brand/tokens.css">
|
|
5
|
+
|
|
4
6
|
<meta charset="UTF-8" />
|
|
5
7
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self'; worker-src 'self'; connect-src 'none'; img-src 'none'; style-src 'none'; frame-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'" />
|
|
6
8
|
<title>Browser Python execution host</title>
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"format":1,"pyodide":"314.0.6","engine":"sha256-OgoA3+qjSKwg+e8JkEIz0y0z9kQzlmLUrzaPiiAQ83o=","preparation":"77987879a2949714bdec4de6bae2d0431adbc3549686414e4e13e051cf23bfae","integrity":"sha256-
|
|
1
|
+
{"format":1,"pyodide":"314.0.6","engine":"sha256-OgoA3+qjSKwg+e8JkEIz0y0z9kQzlmLUrzaPiiAQ83o=","preparation":"77987879a2949714bdec4de6bae2d0431adbc3549686414e4e13e051cf23bfae","integrity":"sha256-d8YzcHxUAgy9LW6gCS2p4RD0xmSSqfr73iJMv3B3bTg=","bytes":6220905}
|
package/dist/shell/sandbox.html
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<link rel="stylesheet" href="/brand/tokens.css">
|
|
5
|
+
|
|
4
6
|
<meta charset="UTF-8" />
|
|
5
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
8
|
<!-- Applies to the preview's reloads as the frame's attribute below applies to its first load. -->
|
|
7
9
|
<meta name="referrer" content="no-referrer" />
|
|
8
10
|
<title>Generated application sandbox</title>
|
|
9
11
|
<style>html,body,#generated-preview{border:0;height:100%;margin:0;padding:0;width:100%}body{overflow:hidden}</style>
|
|
10
|
-
<script type="module" crossorigin src="/assets/sandbox-
|
|
12
|
+
<script type="module" crossorigin src="/assets/sandbox-mhFzIWaQ.js"></script>
|
|
11
13
|
<link rel="modulepreload" crossorigin href="/assets/page-workers-BUcWBF51.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/browser-sandbox-bridge-
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/browser-sandbox-bridge-C8nlSsT2.js">
|
|
13
15
|
</head>
|
|
14
16
|
<body>
|
|
15
17
|
<!-- The containing page is already a dedicated, credential-free origin.
|