@agentsky/desktop-ui 0.4.108 → 0.4.110
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/dist/app.js +1798 -1792
- package/dist/browser-bar.css +1 -1
- package/dist/browser-bar.html +1 -0
- package/dist/browser-bar.js +1 -1
- package/dist/messages/zh.json +188 -6
- package/dist/screen-bar.css +1 -1
- package/package.json +1 -1
package/dist/browser-bar.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-code: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--pad-xs: 4px;--pad-sm: 8px;--pad-md: 12px;--pad-lg: 16px;--pad-xl: 24px;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 24px;--h-control-xs: 28px;--h-control-sm: 32px;--h-control: 36px;--h-control-lg: 40px;--icon-xs: 12px;--icon-sm: 14px;--icon: 16px;--icon-lg: 20px;--icon-xl: 32px;--corner-tiny: 4px;--corner-control: 8px;--corner-card: 12px;--corner-bubble: 20px;--fs-caption: 12px;--lh-caption: 17px;--fs-meta: 13px;--lh-meta: 18px;--fs-ui: 14px;--lh-ui: 21px;--fs-prose: 15px;--lh-prose: 24px;--fs-subhead: 16px;--lh-subhead: 22px;--fs-title: 18px;--lh-title: 24px;--fs-display: 24px;--lh-display: 29px;--fs-metric: 32px;--lh-metric: 36px;--fs-cta: 14px;--lh-cta: 14px;--fs-reading: 17px;--lh-reading: calc(var(--fs-reading) * 1.625);--fs-trace: 15px;--lh-trace: 22px;--dur-fast: 60ms;--dur-snap: .15s;--dur-base: .2s;--dur-sheet: .3s;--dur-slow: .45s;--ease-standard: cubic-bezier(0, 0, .2, 1);--ease-snap: cubic-bezier(.32, .72, 0, 1);--ease-overshoot: cubic-bezier(.34, 1.3, .64, 1);--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-dropdown: 30;--z-overlay: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 80;--corner-radius-scale: 1;--text-meta: var(--fs-meta);--text-meta--line-height: var(--lh-meta);--text-meta--letter-spacing: 0;--text-ui: var(--fs-ui);--text-ui--line-height: var(--lh-ui);--text-ui--letter-spacing: 0;--text-cta: var(--fs-cta);--text-cta--line-height: var(--lh-cta);--text-cta--letter-spacing: 0;--text-reading: var(--fs-reading);--text-reading--line-height: var(--lh-reading);--text-reading--letter-spacing: 0;--text-trace: var(--fs-trace);--text-trace--line-height: var(--lh-trace);--text-trace--letter-spacing: 0;--text-prose: var(--fs-prose);--text-prose--line-height: var(--lh-prose);--text-prose--letter-spacing: 0;--text-subhead: var(--fs-subhead);--text-subhead--line-height: var(--lh-subhead);--text-subhead--letter-spacing: -.01em;--text-title: var(--fs-title);--text-title--line-height: var(--lh-title);--text-title--letter-spacing: -.02em;--text-display: var(--fs-display);--text-display--line-height: var(--lh-display);--text-display--letter-spacing: -.02em;--text-metric: var(--fs-metric);--text-metric--line-height: var(--lh-metric);--text-metric--letter-spacing: -.03em;--text-code: .92em;--text-code--line-height: 1.45;--text-code--letter-spacing: 0;--text-caption: var(--fs-caption);--text-caption--line-height: var(--lh-caption);--text-caption--letter-spacing: 0;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-tiny: calc(var(--corner-tiny) * var(--corner-radius-scale));--radius-control: calc(var(--corner-control) * var(--corner-radius-scale));--radius-card: calc(var(--corner-card) * var(--corner-radius-scale));--radius-bubble: calc(var(--corner-bubble) * var(--corner-radius-scale));--radius-composer: 1.5rem;--radius-menu: calc(1rem * var(--corner-radius-scale));--radius-context: calc(.75rem * var(--corner-radius-scale));--radius-pill: 9999px;--container-reading: 48.75rem;--container-bubble: 42rem;--background: var(--ast-canvas);--foreground: var(--ast-ink);--card: var(--ast-panel);--card-foreground: var(--ast-ink);--popover: var(--ast-panel);--popover-foreground: var(--ast-ink);--primary: #0d0d0d;--primary-foreground: #ffffff;--secondary: var(--ast-surface);--secondary-foreground: var(--ast-ink);--muted: var(--ast-surface);--muted-foreground: var(--ast-muted-ink);--accent: var(--ast-surface);--accent-foreground: var(--ast-ink);--destructive: var(--ast-danger);--border: var(--ast-line);--input: var(--ast-line-strong);--ring: var(--ast-brand-deep);--shadow-control: 0 1px 2px -1px #00000014;--shadow-row: 0 1px 2px -1px #00000014;--shadow-panel: 0 2px 4px -1px #00000014;--shadow-panel-hover: 0 4px 8px -2px #0000001a;--shadow-overlay: 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), 0 16px 40px -18px rgb(0 0 0 / 55%);--space-micro: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--row-compact: 32px;--row-default: 40px;--row-touch: 44px;--app-rail-bg: var(--ast-canvas);--app-rail-active-bg: var(--ast-surface);--app-row-hover: var(--ast-surface);--app-rail-width: 320px;--app-rail-header-height: 48px;--app-rail-row-height: 28px;--app-rail-row-radius: 6px;--app-rail-nav-size: var(--fs-ui);--app-rail-label-size: calc(var(--fs-ui) * .9);--app-rail-section-gap: 24px;--app-rail-ink: var(--ast-ink);--app-rail-muted: #71717a;--app-rail-hover: rgb(0 0 0 / 6%);--app-rail-active: color-mix(in srgb, #0d0d0d 6%, transparent);--app-rail-active-ink: var(--ast-brand-deep);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 5%);--app-nav-rail-bg: #f9f9f9;--ast-brand-sky: #e7f4fe;--ast-sky-ink: #0d0d0d;--app-workspace-bg: #f3f3f3;--app-session-rail-bg: #f3f3f3;--ast-ink: #0d0d0d;--ast-secondary-ink: #404040;--ast-muted-ink: #595959;--ast-faint: #636363;--ast-placeholder: #636363;--ast-brand: #f0eee9;--ast-brand-hover: #d3d1cd;--ast-brand-deep: #404040;--ast-brand-ink: #595959;--ast-brand-ink-hover: #404040;--ast-brand-foreground: #0d0d0d;--ast-action: #404040;--ast-action-hover: #2c3038;--ast-line: color-mix(in oklab, #0d0d0d 6%, transparent);--ast-line-strong: color-mix(in oklab, #0d0d0d 10%, transparent);--ast-line-hover: color-mix(in oklab, #0d0d0d 14%, transparent);--ast-divider: color-mix(in oklab, #0d0d0d 4%, transparent);--ast-surface: #f4f4f4;--ast-canvas: #ffffff;--ast-panel: #ffffff;--ast-navy: #061a2d;--ast-navy-deep: #04121f;--ast-sky: #f0eee9;--ast-sky-soft: #f7f7f7;--ast-sky-mid: #e8e8e8;--ast-positive: oklch(.52 .14 145);--ast-warning: oklch(.68 .14 75);--ast-info: #075eb8;--ast-danger: oklch(.577 .245 27.325);--ast-runtime-ink: #dcecff;--ast-runtime-line: rgb(255 255 255 / .08);--ast-runtime-hover: #0b2a47;--ast-band-foreground: #ffffff;--ast-band-line: rgb(255 255 255 / .25);--ast-shadow-float: 0 18px 48px rgb(6 26 45 / .14);--ast-shadow-runtime: 0 28px 80px rgb(6 26 45 / .16);--ast-shadow-panel: 0 1px 2px rgb(16 24 40 / .05), 0 2px 5px rgb(16 24 40 / .04);--ast-shadow-composer: 0 0 0 1px rgb(13 13 13 / .07), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08);--ast-composer-surface: rgb(255 255 255 / .86);--ast-chart-claude: #eb6834;--ast-chart-codex: #2a78d6;--ast-chart-hermes: #1baf7a;--ast-chart-pi: #8b5cf6;--ast-chart-cost-lo: #86b6ef;--ast-chart-cost-mid: #2a78d6;--ast-chart-cost-hi: #104281;--ast-chart-time: #4a3aa7;--color-border-subtle: color-mix(in oklab, var(--ast-ink) 8%, transparent);--color-surface-subtle: color-mix(in oklab, var(--ast-ink) 3%, transparent);--color-accent-muted: var(--ast-sky-soft);--color-destructive-muted: color-mix(in oklab, var(--destructive) 12%, transparent);--color-diff-add: oklch(.72 .17 145);--color-diff-del: oklch(.6 .22 27);--bubble-user: var(--ast-surface);--bubble-user-foreground: var(--ast-ink);--bubble-assistant: color-mix(in oklab, var(--muted) 80%, transparent);--composer-surface: color-mix(in oklab, var(--card) 90%, transparent);--composer-border: transparent;--composer-border-focus: transparent;--composer-shadow: var(--ast-shadow-composer);--composer-shadow-focus: 0 0 0 1px color-mix(in oklab, var(--foreground) 14%, transparent), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08)}@media(prefers-color-scheme:dark){:root{--primary: var(--ast-ink);--primary-foreground: var(--ast-canvas);--secondary: rgb(255 255 255 / 8%);--muted: rgb(255 255 255 / 8%);--accent: rgb(255 255 255 / 8%);--shadow-control: 0 0 0 1px oklch(1 0 0 / .06);--shadow-row: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel-hover: 0 0 0 1px oklch(1 0 0 / .12);--shadow-overlay: 0 20px 56px -16px oklch(0 0 0 / .72), 0 0 0 1px oklch(1 0 0 / .08);--app-rail-muted: #a1a1aa;--app-rail-hover: rgb(255 255 255 / 8%);--app-rail-active: color-mix(in srgb, #ffffff 10%, transparent);--app-rail-active-ink: var(--ast-ink);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 40%);--app-nav-rail-bg: #000000;--app-workspace-bg: #131313;--app-session-rail-bg: #131313;--ast-ink: #ececec;--ast-secondary-ink: color-mix(in oklab, #ffffff 74%, transparent);--ast-muted-ink: color-mix(in oklab, #ffffff 62%, transparent);--ast-faint: color-mix(in oklab, #ffffff 56%, transparent);--ast-placeholder: #9a9a9a;--ast-brand-hover: #f2f0ec;--ast-brand-deep: #bdbdbd;--ast-brand-ink: #a3a3a3;--ast-brand-ink-hover: #b0b0b0;--ast-action: #a3a3a3;--ast-action-hover: #d8d6cf;--ast-line: color-mix(in oklab, #ffffff 8%, transparent);--ast-line-strong: color-mix(in oklab, #ffffff 14%, transparent);--ast-line-hover: oklch(1 0 0 / 18%);--ast-divider: color-mix(in oklab, #ffffff 4%, transparent);--ast-surface: #303030;--ast-canvas: #181818;--ast-panel: #212121;--ast-navy: #020e19;--ast-navy-deep: #010810;--ast-sky-soft: #1f1f1f;--ast-sky-mid: #313131;--ast-positive: oklch(.62 .15 145);--ast-warning: oklch(.7 .16 85);--ast-info: #8ed1ff;--ast-danger: oklch(.704 .191 22.216);--ast-band-foreground: #020e19;--ast-band-line: rgb(2 14 25 / .25);--ast-shadow-float: 0 18px 48px rgb(0 0 0 / .34);--ast-shadow-runtime: 0 28px 80px rgb(0 0 0 / .38);--ast-shadow-panel: 0 1px 2px rgb(0 0 0 / .4), 0 2px 6px rgb(0 0 0 / .32);--ast-shadow-composer: 0 0 0 1px rgb(255 255 255 / .12), 0 4px 12px rgb(0 0 0 / .4);--ast-composer-surface: rgb(26 27 30 / .82);--ast-chart-claude: #d95926;--ast-chart-codex: #3987e5;--ast-chart-hermes: #199e70;--ast-chart-pi: #a78bfa;--ast-chart-cost-lo: #6da7ec;--ast-chart-cost-mid: #3987e5;--ast-chart-cost-hi: #184f95;--ast-chart-time: #9085e9;--color-border-subtle: color-mix(in oklab, #ffffff 8%, transparent);--color-surface-subtle: color-mix(in oklab, #ffffff 4%, transparent);--color-accent-muted: color-mix(in oklab, var(--ast-sky-soft) 20%, transparent);--color-diff-add: oklch(.62 .17 145);--color-diff-del: oklch(.52 .22 27);--bubble-user: rgb(255 255 255 / 6%);--bubble-user-foreground: var(--foreground);--bubble-assistant: color-mix(in oklab, var(--ast-surface) 60%, transparent);--composer-border: rgba(255, 255, 255, .16);--composer-border-focus: rgba(255, 255, 255, .24);--composer-shadow: none;--composer-shadow-focus: none}}:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #0d4372;--ast-brand-deep: #0c3b65;--ast-brand-ink: #0f4c81;--ast-brand-ink-hover: #0e4474;--ast-brand-foreground: #ffffff;--ast-action: #0e4474;--ast-sky: #0f4c81;--ast-sky-soft: #f4f8fc;--ast-sky-mid: #dce8f3;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #54427a;--ast-brand-deep: #442f6d;--ast-brand-ink: #5f4b8b;--ast-brand-ink-hover: #513d7c;--ast-brand-foreground: #ffffff;--ast-action: #513d7c;--ast-sky: #5f4b8b;--ast-sky-soft: #f7f5fe;--ast-sky-mid: #e8e2fc;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #a52140;--ast-brand-deep: #930231;--ast-brand-ink: #bb2649;--ast-brand-ink-hover: #a90b3b;--ast-brand-foreground: #ffffff;--ast-action: #a90b3b;--ast-sky: #bb2649;--ast-sky-soft: #fff4f4;--ast-sky-mid: #ffdddf;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #e0a786;--ast-brand-deep: #7e3b03;--ast-brand-ink: #a85416;--ast-brand-ink-hover: #964702;--ast-brand-foreground: #1a1c1f;--ast-action: #964702;--ast-sky: #ffbe98;--ast-sky-soft: #fef5f0;--ast-sky-mid: #fedfce;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #906a58;--ast-brand-deep: #6d4533;--ast-brand-ink: #8c614e;--ast-brand-ink-hover: #7c5340;--ast-brand-foreground: #000000;--ast-action: #7c5340;--ast-sky: #a47864;--ast-sky-soft: #fef5f1;--ast-sky-mid: #f4e2da;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #789b42;--ast-brand-deep: #3c5702;--ast-brand-ink: #527603;--ast-brand-ink-hover: #476601;--ast-brand-foreground: #1a1c1f;--ast-action: #476601;--ast-sky: #88b04b;--ast-sky-soft: #f3faeb;--ast-sky-mid: #ddedcb;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #008265;--ast-brand-deep: #03553f;--ast-brand-ink: #047a5f;--ast-brand-ink-hover: #036d54;--ast-brand-foreground: #000000;--ast-action: #036d54;--ast-sky: #009473;--ast-sky-soft: #eafbf5;--ast-sky-mid: #ccf0e2;--ring: var(--ast-brand-deep)}@media(prefers-color-scheme:dark){:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #2c6190;--ast-brand-deep: #b3d1ef;--ast-brand-ink: #7fb0e0;--ast-brand-ink-hover: #93bde6;--ast-brand-foreground: #ffffff;--ast-action: #7fb0e0;--ast-sky: #0f4c81;--ast-sky-soft: #121c26;--ast-sky-mid: #1d3044;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #726199;--ast-brand-deep: #c0adf5;--ast-brand-ink: #a591d8;--ast-brand-ink-hover: #b29ee5;--ast-brand-foreground: #ffffff;--ast-action: #a591d8;--ast-sky: #5f4b8b;--ast-sky-soft: #201a2d;--ast-sky-mid: #332b47;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #c3405f;--ast-brand-deep: #fe9ca6;--ast-brand-ink: #ff6c82;--ast-brand-ink-hover: #fe8492;--ast-brand-foreground: #ffffff;--ast-action: #ff6c82;--ast-sky: #bb2649;--ast-sky-soft: #301418;--ast-sky-mid: #4e1f26;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #ffc6a4;--ast-brand-deep: #fda26a;--ast-brand-ink: #df864e;--ast-brand-ink-hover: #ed935b;--ast-brand-foreground: #1a1c1f;--ast-action: #df864e;--ast-sky: #ffbe98;--ast-sky-soft: #2f1708;--ast-sky-mid: #4a250d;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #af8877;--ast-brand-deep: #ddae98;--ast-brand-ink: #c0927d;--ast-brand-ink-hover: #cd9f8a;--ast-brand-foreground: #000000;--ast-action: #c0927d;--ast-sky: #a47864;--ast-sky-soft: #271b15;--ast-sky-mid: #3e2b23;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #96b961;--ast-brand-deep: #9cc560;--ast-brand-ink: #81a943;--ast-brand-ink-hover: #8db651;--ast-brand-foreground: #1a1c1f;--ast-action: #81a943;--ast-sky: #88b04b;--ast-sky-soft: #182209;--ast-sky-mid: #26360b;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #1fa184;--ast-brand-deep: #58cba7;--ast-brand-ink: #36af8c;--ast-brand-ink-hover: #47bc99;--ast-brand-foreground: #000000;--ast-action: #36af8c;--ast-sky: #009473;--ast-sky-soft: #05241b;--ast-sky-mid: #043a2c;--ring: var(--ast-brand-deep)}}.type-overline{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--ast-faint)}.type-meta{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-meta--letter-spacing)}.type-label{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-medium);letter-spacing:var(--text-ui--letter-spacing)}.type-caption{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-body{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-body-sm{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-prose{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-title-sm{font-size:var(--text-subhead);line-height:var(--text-subhead--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-subhead--letter-spacing)}.type-title{font-size:var(--text-title);line-height:var(--text-title--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-title--letter-spacing)}.type-metric{font-size:var(--text-display);line-height:var(--text-display--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-display--letter-spacing)}.app-section-label{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.04em;color:var(--ast-faint)}:root{color-scheme:light dark;--canvas: var(--ast-canvas);--panel: var(--ast-panel);--surface: var(--ast-surface);--ink: var(--ast-ink);--secondary-ink: var(--ast-secondary-ink);--muted-ink: var(--ast-muted-ink);--faint: var(--ast-faint);--placeholder: var(--ast-placeholder);--line: var(--ast-line);--line-strong: var(--ast-line-strong);--line-hover: var(--ast-line-hover);--brand: var(--ast-brand-deep);--brand-sky: var(--app-rail-active);--action: var(--ast-action);--primary-ink: var(--primary-foreground);--danger: var(--ast-danger);--success: var(--ast-positive);--rail-bg: var(--canvas);--rail-ink: var(--app-rail-ink);--rail-muted: var(--app-rail-muted);--rail-hover: var(--app-rail-hover);--rail-active: color-mix(in srgb, var(--ink) 8%, transparent);--rail-active-ink: var(--ink);--rail-row-height: var(--app-rail-row-height);--rail-row-radius: var(--app-rail-row-radius);--rail-label-size: var(--app-rail-label-size);--rail-section-gap: var(--app-rail-section-gap);--rail-header-height: var(--app-rail-header-height);--sidebar-width: var(--app-rail-width);--reading: var(--container-reading)}:root[data-accent]{--rail-active: var(--app-rail-active);--rail-active-ink: var(--app-rail-active-ink)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:400 var(--text-ui) / var(--text-ui--line-height) var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;cursor:default}button,input,select,textarea{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body{margin:0;background:var(--panel);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-ui)}main{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid var(--line-strong)}.dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--danger)}main[data-state=paused] .dot{background:var(--muted-ink)}main[data-state=ended] .dot{background:var(--faint)}p{flex:1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}button{height:26px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}button.stop{border-color:var(--danger);color:var(--danger)}
|
|
1
|
+
:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-code: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--pad-xs: 4px;--pad-sm: 8px;--pad-md: 12px;--pad-lg: 16px;--pad-xl: 24px;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 24px;--h-control-xs: 28px;--h-control-sm: 32px;--h-control: 36px;--h-control-lg: 40px;--icon-xs: 12px;--icon-sm: 14px;--icon: 16px;--icon-lg: 20px;--icon-xl: 32px;--corner-tiny: 4px;--corner-control: 8px;--corner-card: 12px;--corner-bubble: 20px;--fs-caption: 12px;--lh-caption: 17px;--fs-meta: 13px;--lh-meta: 18px;--fs-ui: 14px;--lh-ui: 21px;--fs-prose: 15px;--lh-prose: 24px;--fs-subhead: 16px;--lh-subhead: 22px;--fs-title: 18px;--lh-title: 24px;--fs-display: 24px;--lh-display: 29px;--fs-metric: 32px;--lh-metric: 36px;--fs-cta: 14px;--lh-cta: 14px;--fs-reading: 17px;--lh-reading: calc(var(--fs-reading) * 1.625);--fs-trace: 15px;--lh-trace: 22px;--dur-fast: 60ms;--dur-snap: .15s;--dur-base: .2s;--dur-sheet: .3s;--dur-slow: .45s;--ease-standard: cubic-bezier(0, 0, .2, 1);--ease-snap: cubic-bezier(.32, .72, 0, 1);--ease-overshoot: cubic-bezier(.34, 1.3, .64, 1);--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-dropdown: 30;--z-overlay: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 80;--corner-radius-scale: 1;--text-meta: var(--fs-meta);--text-meta--line-height: var(--lh-meta);--text-meta--letter-spacing: 0;--text-ui: var(--fs-ui);--text-ui--line-height: var(--lh-ui);--text-ui--letter-spacing: 0;--text-cta: var(--fs-cta);--text-cta--line-height: var(--lh-cta);--text-cta--letter-spacing: 0;--text-reading: var(--fs-reading);--text-reading--line-height: var(--lh-reading);--text-reading--letter-spacing: 0;--text-trace: var(--fs-trace);--text-trace--line-height: var(--lh-trace);--text-trace--letter-spacing: 0;--text-prose: var(--fs-prose);--text-prose--line-height: var(--lh-prose);--text-prose--letter-spacing: 0;--text-subhead: var(--fs-subhead);--text-subhead--line-height: var(--lh-subhead);--text-subhead--letter-spacing: -.01em;--text-title: var(--fs-title);--text-title--line-height: var(--lh-title);--text-title--letter-spacing: -.02em;--text-display: var(--fs-display);--text-display--line-height: var(--lh-display);--text-display--letter-spacing: -.02em;--text-metric: var(--fs-metric);--text-metric--line-height: var(--lh-metric);--text-metric--letter-spacing: -.03em;--text-code: .92em;--text-code--line-height: 1.45;--text-code--letter-spacing: 0;--text-caption: var(--fs-caption);--text-caption--line-height: var(--lh-caption);--text-caption--letter-spacing: 0;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-tiny: calc(var(--corner-tiny) * var(--corner-radius-scale));--radius-control: calc(var(--corner-control) * var(--corner-radius-scale));--radius-card: calc(var(--corner-card) * var(--corner-radius-scale));--radius-bubble: calc(var(--corner-bubble) * var(--corner-radius-scale));--radius-composer: 1.5rem;--radius-menu: calc(1rem * var(--corner-radius-scale));--radius-context: calc(.75rem * var(--corner-radius-scale));--radius-pill: 9999px;--container-reading: 48.75rem;--container-bubble: 42rem;--background: var(--ast-canvas);--foreground: var(--ast-ink);--card: var(--ast-panel);--card-foreground: var(--ast-ink);--popover: var(--ast-panel);--popover-foreground: var(--ast-ink);--primary: #0d0d0d;--primary-foreground: #ffffff;--secondary: var(--ast-surface);--secondary-foreground: var(--ast-ink);--muted: var(--ast-surface);--muted-foreground: var(--ast-muted-ink);--accent: var(--ast-surface);--accent-foreground: var(--ast-ink);--destructive: var(--ast-danger);--border: var(--ast-line);--input: var(--ast-line-strong);--ring: var(--ast-brand-deep);--shadow-control: 0 1px 2px -1px #00000014;--shadow-row: 0 1px 2px -1px #00000014;--shadow-panel: 0 2px 4px -1px #00000014;--shadow-panel-hover: 0 4px 8px -2px #0000001a;--shadow-overlay: 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), 0 16px 40px -18px rgb(0 0 0 / 55%);--space-micro: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--row-compact: 32px;--row-default: 40px;--row-touch: 44px;--app-rail-bg: var(--ast-canvas);--app-rail-active-bg: var(--ast-surface);--app-row-hover: var(--ast-surface);--app-rail-width: 320px;--app-rail-header-height: 48px;--app-rail-row-height: 28px;--app-rail-row-radius: 6px;--app-rail-nav-size: var(--fs-ui);--app-rail-label-size: calc(var(--fs-ui) * .9);--app-rail-section-gap: 24px;--app-rail-ink: var(--ast-ink);--app-rail-muted: #71717a;--app-rail-hover: rgb(0 0 0 / 6%);--app-rail-active: color-mix(in srgb, #0d0d0d 6%, transparent);--app-rail-active-ink: var(--ast-brand-deep);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 5%);--app-nav-rail-bg: #f9f9f9;--ast-brand-sky: #e7f4fe;--ast-sky-ink: #0d0d0d;--app-workspace-bg: #f3f3f3;--app-session-rail-bg: #f3f3f3;--ast-ink: #0d0d0d;--ast-secondary-ink: #404040;--ast-muted-ink: #595959;--ast-faint: #636363;--ast-placeholder: #636363;--ast-brand: #f0eee9;--ast-brand-hover: #d3d1cd;--ast-brand-deep: #404040;--ast-brand-ink: #595959;--ast-brand-ink-hover: #404040;--ast-brand-foreground: #0d0d0d;--ast-action: #404040;--ast-action-hover: #2c3038;--ast-line: color-mix(in oklab, #0d0d0d 6%, transparent);--ast-line-strong: color-mix(in oklab, #0d0d0d 10%, transparent);--ast-line-hover: color-mix(in oklab, #0d0d0d 14%, transparent);--ast-divider: color-mix(in oklab, #0d0d0d 4%, transparent);--ast-surface: #f4f4f4;--ast-canvas: #ffffff;--ast-panel: #ffffff;--ast-navy: #061a2d;--ast-navy-deep: #04121f;--ast-sky: #f0eee9;--ast-sky-soft: #f7f7f7;--ast-sky-mid: #e8e8e8;--ast-positive: oklch(.52 .14 145);--ast-warning: oklch(.68 .14 75);--ast-info: #075eb8;--ast-danger: oklch(.577 .245 27.325);--ast-runtime-ink: #dcecff;--ast-runtime-line: rgb(255 255 255 / .08);--ast-runtime-hover: #0b2a47;--ast-band-foreground: #ffffff;--ast-band-line: rgb(255 255 255 / .25);--ast-shadow-float: 0 18px 48px rgb(6 26 45 / .14);--ast-shadow-runtime: 0 28px 80px rgb(6 26 45 / .16);--ast-shadow-panel: 0 1px 2px rgb(16 24 40 / .05), 0 2px 5px rgb(16 24 40 / .04);--ast-shadow-composer: 0 0 0 1px rgb(13 13 13 / .07), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08);--ast-composer-surface: rgb(255 255 255 / .86);--ast-chart-claude: #eb6834;--ast-chart-codex: #2a78d6;--ast-chart-hermes: #1baf7a;--ast-chart-pi: #8b5cf6;--ast-chart-cost-lo: #86b6ef;--ast-chart-cost-mid: #2a78d6;--ast-chart-cost-hi: #104281;--ast-chart-time: #4a3aa7;--color-border-subtle: color-mix(in oklab, var(--ast-ink) 8%, transparent);--color-surface-subtle: color-mix(in oklab, var(--ast-ink) 3%, transparent);--color-accent-muted: var(--ast-sky-soft);--color-destructive-muted: color-mix(in oklab, var(--destructive) 12%, transparent);--color-diff-add: oklch(.72 .17 145);--color-diff-del: oklch(.6 .22 27);--bubble-user: var(--ast-surface);--bubble-user-foreground: var(--ast-ink);--bubble-assistant: color-mix(in oklab, var(--muted) 80%, transparent);--composer-surface: color-mix(in oklab, var(--card) 90%, transparent);--composer-border: transparent;--composer-border-focus: transparent;--composer-shadow: var(--ast-shadow-composer);--composer-shadow-focus: 0 0 0 1px color-mix(in oklab, var(--foreground) 14%, transparent), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08)}@media(prefers-color-scheme:dark){:root{--primary: var(--ast-ink);--primary-foreground: var(--ast-canvas);--secondary: rgb(255 255 255 / 8%);--muted: rgb(255 255 255 / 8%);--accent: rgb(255 255 255 / 8%);--shadow-control: 0 0 0 1px oklch(1 0 0 / .06);--shadow-row: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel-hover: 0 0 0 1px oklch(1 0 0 / .12);--shadow-overlay: 0 20px 56px -16px oklch(0 0 0 / .72), 0 0 0 1px oklch(1 0 0 / .08);--app-rail-muted: #a1a1aa;--app-rail-hover: rgb(255 255 255 / 8%);--app-rail-active: color-mix(in srgb, #ffffff 10%, transparent);--app-rail-active-ink: var(--ast-ink);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 40%);--app-nav-rail-bg: #000000;--app-workspace-bg: #131313;--app-session-rail-bg: #131313;--ast-ink: #ececec;--ast-secondary-ink: color-mix(in oklab, #ffffff 74%, transparent);--ast-muted-ink: color-mix(in oklab, #ffffff 62%, transparent);--ast-faint: color-mix(in oklab, #ffffff 56%, transparent);--ast-placeholder: #9a9a9a;--ast-brand-hover: #f2f0ec;--ast-brand-deep: #bdbdbd;--ast-brand-ink: #a3a3a3;--ast-brand-ink-hover: #b0b0b0;--ast-action: #a3a3a3;--ast-action-hover: #d8d6cf;--ast-line: color-mix(in oklab, #ffffff 8%, transparent);--ast-line-strong: color-mix(in oklab, #ffffff 14%, transparent);--ast-line-hover: oklch(1 0 0 / 18%);--ast-divider: color-mix(in oklab, #ffffff 4%, transparent);--ast-surface: #303030;--ast-canvas: #181818;--ast-panel: #212121;--ast-navy: #020e19;--ast-navy-deep: #010810;--ast-sky-soft: #1f1f1f;--ast-sky-mid: #313131;--ast-positive: oklch(.62 .15 145);--ast-warning: oklch(.7 .16 85);--ast-info: #8ed1ff;--ast-danger: oklch(.704 .191 22.216);--ast-band-foreground: #020e19;--ast-band-line: rgb(2 14 25 / .25);--ast-shadow-float: 0 18px 48px rgb(0 0 0 / .34);--ast-shadow-runtime: 0 28px 80px rgb(0 0 0 / .38);--ast-shadow-panel: 0 1px 2px rgb(0 0 0 / .4), 0 2px 6px rgb(0 0 0 / .32);--ast-shadow-composer: 0 0 0 1px rgb(255 255 255 / .12), 0 4px 12px rgb(0 0 0 / .4);--ast-composer-surface: rgb(26 27 30 / .82);--ast-chart-claude: #d95926;--ast-chart-codex: #3987e5;--ast-chart-hermes: #199e70;--ast-chart-pi: #a78bfa;--ast-chart-cost-lo: #6da7ec;--ast-chart-cost-mid: #3987e5;--ast-chart-cost-hi: #184f95;--ast-chart-time: #9085e9;--color-border-subtle: color-mix(in oklab, #ffffff 8%, transparent);--color-surface-subtle: color-mix(in oklab, #ffffff 4%, transparent);--color-accent-muted: color-mix(in oklab, var(--ast-sky-soft) 20%, transparent);--color-diff-add: oklch(.62 .17 145);--color-diff-del: oklch(.52 .22 27);--bubble-user: rgb(255 255 255 / 6%);--bubble-user-foreground: var(--foreground);--bubble-assistant: color-mix(in oklab, var(--ast-surface) 60%, transparent);--composer-border: rgba(255, 255, 255, .16);--composer-border-focus: rgba(255, 255, 255, .24);--composer-shadow: none;--composer-shadow-focus: none}}:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #0d4372;--ast-brand-deep: #0c3b65;--ast-brand-ink: #0f4c81;--ast-brand-ink-hover: #0e4474;--ast-brand-foreground: #ffffff;--ast-action: #0e4474;--ast-sky: #0f4c81;--ast-sky-soft: #f4f8fc;--ast-sky-mid: #dce8f3;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #54427a;--ast-brand-deep: #442f6d;--ast-brand-ink: #5f4b8b;--ast-brand-ink-hover: #513d7c;--ast-brand-foreground: #ffffff;--ast-action: #513d7c;--ast-sky: #5f4b8b;--ast-sky-soft: #f7f5fe;--ast-sky-mid: #e8e2fc;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #a52140;--ast-brand-deep: #930231;--ast-brand-ink: #bb2649;--ast-brand-ink-hover: #a90b3b;--ast-brand-foreground: #ffffff;--ast-action: #a90b3b;--ast-sky: #bb2649;--ast-sky-soft: #fff4f4;--ast-sky-mid: #ffdddf;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #e0a786;--ast-brand-deep: #7e3b03;--ast-brand-ink: #a85416;--ast-brand-ink-hover: #964702;--ast-brand-foreground: #1a1c1f;--ast-action: #964702;--ast-sky: #ffbe98;--ast-sky-soft: #fef5f0;--ast-sky-mid: #fedfce;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #906a58;--ast-brand-deep: #6d4533;--ast-brand-ink: #8c614e;--ast-brand-ink-hover: #7c5340;--ast-brand-foreground: #000000;--ast-action: #7c5340;--ast-sky: #a47864;--ast-sky-soft: #fef5f1;--ast-sky-mid: #f4e2da;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #789b42;--ast-brand-deep: #3c5702;--ast-brand-ink: #527603;--ast-brand-ink-hover: #476601;--ast-brand-foreground: #1a1c1f;--ast-action: #476601;--ast-sky: #88b04b;--ast-sky-soft: #f3faeb;--ast-sky-mid: #ddedcb;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #008265;--ast-brand-deep: #03553f;--ast-brand-ink: #047a5f;--ast-brand-ink-hover: #036d54;--ast-brand-foreground: #000000;--ast-action: #036d54;--ast-sky: #009473;--ast-sky-soft: #eafbf5;--ast-sky-mid: #ccf0e2;--ring: var(--ast-brand-deep)}@media(prefers-color-scheme:dark){:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #2c6190;--ast-brand-deep: #b3d1ef;--ast-brand-ink: #7fb0e0;--ast-brand-ink-hover: #93bde6;--ast-brand-foreground: #ffffff;--ast-action: #7fb0e0;--ast-sky: #0f4c81;--ast-sky-soft: #121c26;--ast-sky-mid: #1d3044;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #726199;--ast-brand-deep: #c0adf5;--ast-brand-ink: #a591d8;--ast-brand-ink-hover: #b29ee5;--ast-brand-foreground: #ffffff;--ast-action: #a591d8;--ast-sky: #5f4b8b;--ast-sky-soft: #201a2d;--ast-sky-mid: #332b47;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #c3405f;--ast-brand-deep: #fe9ca6;--ast-brand-ink: #ff6c82;--ast-brand-ink-hover: #fe8492;--ast-brand-foreground: #ffffff;--ast-action: #ff6c82;--ast-sky: #bb2649;--ast-sky-soft: #301418;--ast-sky-mid: #4e1f26;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #ffc6a4;--ast-brand-deep: #fda26a;--ast-brand-ink: #df864e;--ast-brand-ink-hover: #ed935b;--ast-brand-foreground: #1a1c1f;--ast-action: #df864e;--ast-sky: #ffbe98;--ast-sky-soft: #2f1708;--ast-sky-mid: #4a250d;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #af8877;--ast-brand-deep: #ddae98;--ast-brand-ink: #c0927d;--ast-brand-ink-hover: #cd9f8a;--ast-brand-foreground: #000000;--ast-action: #c0927d;--ast-sky: #a47864;--ast-sky-soft: #271b15;--ast-sky-mid: #3e2b23;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #96b961;--ast-brand-deep: #9cc560;--ast-brand-ink: #81a943;--ast-brand-ink-hover: #8db651;--ast-brand-foreground: #1a1c1f;--ast-action: #81a943;--ast-sky: #88b04b;--ast-sky-soft: #182209;--ast-sky-mid: #26360b;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #1fa184;--ast-brand-deep: #58cba7;--ast-brand-ink: #36af8c;--ast-brand-ink-hover: #47bc99;--ast-brand-foreground: #000000;--ast-action: #36af8c;--ast-sky: #009473;--ast-sky-soft: #05241b;--ast-sky-mid: #043a2c;--ring: var(--ast-brand-deep)}}.type-overline{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--ast-faint)}.type-meta{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-meta--letter-spacing)}.type-label{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-medium);letter-spacing:var(--text-ui--letter-spacing)}.type-caption{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-body{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-body-sm{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-prose{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-title-sm{font-size:var(--text-subhead);line-height:var(--text-subhead--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-subhead--letter-spacing)}.type-title{font-size:var(--text-title);line-height:var(--text-title--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-title--letter-spacing)}.type-metric{font-size:var(--text-display);line-height:var(--text-display--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-display--letter-spacing)}.app-section-label{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.04em;color:var(--ast-faint)}:root{color-scheme:light dark;--canvas: var(--ast-canvas);--panel: var(--ast-panel);--surface: var(--ast-surface);--ink: var(--ast-ink);--secondary-ink: var(--ast-secondary-ink);--muted-ink: var(--ast-muted-ink);--faint: var(--ast-faint);--placeholder: var(--ast-placeholder);--line: var(--ast-line);--line-strong: var(--ast-line-strong);--line-hover: var(--ast-line-hover);--brand: var(--ast-brand-deep);--brand-sky: var(--app-rail-active);--action: var(--ast-action);--primary-ink: var(--primary-foreground);--danger: var(--ast-danger);--success: var(--ast-positive);--rail-bg: var(--canvas);--rail-ink: var(--app-rail-ink);--rail-muted: var(--app-rail-muted);--rail-hover: var(--app-rail-hover);--rail-active: color-mix(in srgb, var(--ink) 8%, transparent);--rail-active-ink: var(--ink);--rail-row-height: var(--app-rail-row-height);--rail-row-radius: var(--app-rail-row-radius);--rail-label-size: var(--app-rail-label-size);--rail-section-gap: var(--app-rail-section-gap);--rail-header-height: var(--app-rail-header-height);--sidebar-width: var(--app-rail-width);--reading: var(--container-reading)}:root[data-accent]{--rail-active: var(--app-rail-active);--rail-active-ink: var(--app-rail-active-ink)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:400 var(--text-ui) / var(--text-ui--line-height) var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;cursor:default}button,input,select,textarea{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body{margin:0;background:var(--panel);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-ui)}main{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid var(--line-strong)}.dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--danger)}main[data-state=paused] .dot{background:var(--muted-ink)}main[data-state=ended] .dot{background:var(--faint)}p{flex:1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}button{height:26px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}button.stop{border-color:var(--danger);color:var(--danger)}#tabs{display:flex;align-items:center;height:36px;gap:4px;padding:0 12px;overflow-x:auto}#tabs button{flex-shrink:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#tabs button[aria-pressed=true]{background:var(--line-strong)}
|
package/dist/browser-bar.html
CHANGED
package/dist/browser-bar.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var e=window.agentskyBrowserBar,r=document.getElementById("bar"),b=document.getElementById("message"),c=document.getElementById("take-over"),l=document.getElementById("stop"),i={live:"An agent is using this window",paused:"You have taken over. The agent waits until you hand it back.",ended:"The agent's access ended. This window is yours now."};function m({state:t,tabs:u=[]}){let a=document.getElementById("tabs");a.replaceChildren();for(let n of u){let o=document.createElement("button");o.textContent=n.title,o.setAttribute("aria-pressed",String(n.active)),o.addEventListener("click",()=>e.act(`tab:${n.id}`)),a.append(o);let s=document.createElement("button");s.textContent="\xD7",s.setAttribute("aria-label",`Close ${n.title}`),s.addEventListener("click",()=>e.act(`close:${n.id}`)),a.append(s)}let d=document.createElement("button");d.textContent="+",d.setAttribute("aria-label","New tab"),d.addEventListener("click",()=>e.act("new-tab")),a.append(d),r.dataset.state=t,b.textContent=i[t]??i.live,c.textContent=t==="paused"?"Hand Back":"Take Over",c.hidden=t==="ended",l.hidden=t==="ended"}c.addEventListener("click",()=>e.act(r.dataset.state==="paused"?"hand-back":"take-over"));l.addEventListener("click",()=>e.act("stop"));e.onState(m);
|
package/dist/messages/zh.json
CHANGED
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"Describe your goal, define measurable outcomes for best results": "描述你的目标,写明可衡量的结果,效果最好",
|
|
143
143
|
"Developer & API": "开发者和 API",
|
|
144
144
|
"Developer API keys.": "开发者 API 密钥。",
|
|
145
|
-
"Dictation": "
|
|
145
|
+
"Dictation": "听写",
|
|
146
146
|
"Discord community": "Discord 社区",
|
|
147
147
|
"Do anything": "想做什么都可以",
|
|
148
148
|
"Do I need to install anything?": "需要安装什么吗?",
|
|
@@ -386,7 +386,7 @@
|
|
|
386
386
|
"Meetings": "会议",
|
|
387
387
|
"Notes for every call": "每通电话都有纪要",
|
|
388
388
|
"AI meeting notes for every call you take on your Mac, from WeChat and Zoom to Lark and Teams: transcribed on your Mac, named from your calendar.": "你在 Mac 上接的每通电话都有 AI 会议纪要,从微信、Zoom 到飞书、Teams:在你的 Mac 上转写,按日历命名。",
|
|
389
|
-
"Meetings notices a call in WeChat, Tencent Meeting, Zoom, Lark, Feishu, Teams, Chrome or Safari, records both sides and transcribes it on your Mac. Each call becomes one note with a summary and action items, named from your Google or Outlook calendar and shared with your workspace as a document
|
|
389
|
+
"Meetings notices a call in WeChat, Tencent Meeting, Zoom, Lark, Feishu, Teams, Chrome or Safari, records both sides and transcribes it on your Mac. Each call becomes one note with a summary and action items, named from your Google or Outlook calendar and shared with your workspace as a document, where the workspace's other plugins can pick it up. For meetings you take elsewhere, a recorder can join Zoom, Meet and Teams as “AgentSky Notetaker”, and Lark 妙记 minutes come in as a third source. In Zoom it also records the call window, what you share and what you do in it, kept closed at the end of the note. Recordings stay on your Mac for 30 days unless you keep them; notes are kept. The menu bar shows ● Notes while a call is recorded.": "会议插件会发现你在微信、腾讯会议、Zoom、Lark、飞书、Teams、Chrome 或 Safari 里的通话,录下双方声音,并在你的 Mac 上转写。每通电话生成一份纪要,含摘要和待办,按你的 Google 或 Outlook 日历命名,作为文档共享到工作空间,工作空间的其他插件可以从那里取用。你不在 Mac 前开的会,可以由录制助手以“AgentSky Notetaker”的身份加入 Zoom、Meet 和 Teams,飞书妙记也会作为第三个来源汇入。在 Zoom 里,它还会录下通话窗口、你共享的内容以及你在其中的操作,放在纪要末尾,默认收起。录音在你的 Mac 上保留 30 天,除非你选择一直保留;纪要会一直保留。录音时菜单栏显示 ● Notes。",
|
|
390
390
|
"AI Meeting Notes for WeChat, Zoom and Lark Calls on Mac": "Mac 上的 AI 会议纪要:微信通话、Zoom、飞书都能记",
|
|
391
391
|
"Can AgentSky take notes on WeChat calls?": "AgentSky 能给微信通话做纪要吗?",
|
|
392
392
|
"Yes. With Meetings on, AgentSky Mac notices a WeChat voice or video call, records both sides and transcribes it on your Mac. A WeChat call has no calendar entry, so WeChat's own call record names who it was with.": "能。打开会议插件后,AgentSky Mac 会发现微信语音或视频通话,录下双方声音并在你的 Mac 上转写。微信通话没有日历日程,所以用微信自己的通话记录标明是和谁通的话。",
|
|
@@ -411,18 +411,22 @@
|
|
|
411
411
|
"Lark minutes": "飞书妙记",
|
|
412
412
|
"Adds Lark 妙记 minutes to your notes.": "把飞书妙记加进你的纪要。",
|
|
413
413
|
"Workspace CRM": "工作空间 CRM",
|
|
414
|
-
"
|
|
414
|
+
"Calls and chats into your CRM": "通话和聊天进你的 CRM",
|
|
415
|
+
"The workspace's own CRM, fed by your calls and WeChat chats.": "工作空间自己的 CRM,由你的通话和微信聊天喂进去。",
|
|
416
|
+
"Receives what Meetings and WeChat produce on your Mac and sends it to the CRM this workspace installed: each finished call note with someone outside the workspace or with a WeChat contact, and new messages from the WeChat chats you read. The CRM decides who each person is and what to keep. Nothing goes while it is off, while you are signed out or in Only on this Mac.": "接收你 Mac 上会议插件和微信插件产出的内容,发到这个工作空间装好的 CRM:每份和工作空间以外的人、或和微信联系人通话的纪要,以及你读取的微信聊天里的新消息。每个人是谁、留下什么,由 CRM 决定。插件关着、你已退出登录或开着“仅在这台 Mac”时,什么都不会发。",
|
|
417
|
+
"Installed by the workspace's owner; its credential stays with the workspace, never on your Mac.": "由工作空间所有者安装;它的凭证留在工作空间里,从不放在你的 Mac 上。",
|
|
418
|
+
"Workspace": "工作空间",
|
|
415
419
|
"WeChat": "微信",
|
|
416
420
|
"Your agents read your WeChat chats": "让 Agent 读你的微信聊天",
|
|
417
421
|
"Let your AI agents read the WeChat chats you choose, from WeChat on your Mac. Each read asks you first, and agents can't send messages.": "让你的 AI Agent 读取你选定的微信聊天,直接读你 Mac 上的微信。每次读取都先问你,Agent 也不能发消息。",
|
|
418
|
-
"Reads WeChat on your Mac, so an agent can catch up on a chat, find what was agreed or prepare a reply for you to send. Once it is on, every chat can be read except the ones you turn off and official accounts. An agent sees the list of chats; reading one chat's messages asks you on your Mac every time. Agents can't send WeChat messages. History starts 30 days back.
|
|
422
|
+
"Reads WeChat on your Mac, so an agent can catch up on a chat, find what was agreed or prepare a reply for you to send. Once it is on, every chat can be read except the ones you turn off and official accounts. An agent sees the list of chats; reading one chat's messages asks you on your Mac every time. Agents can't send WeChat messages. History starts 30 days back. A plugin of your workspace that reads new messages, such as its own CRM, gets them as they arrive.": "读取你 Mac 上的微信,让 Agent 帮你补看聊天、找出谈定的事,或者拟好回复由你来发。打开后,除了你关掉的聊天和公众号,所有聊天都可以读。Agent 能看到聊天列表;每次读取某个聊天的消息,都会在你的 Mac 上先问你。Agent 不能发微信消息。历史记录从 30 天前开始。工作空间里接收新消息的插件(比如它自己的 CRM)会随时收到新消息。",
|
|
419
423
|
"WeChat AI Agent for Mac: Read Chats with Your OK": "Mac 上的微信 AI Agent:经你同意读取聊天记录",
|
|
420
424
|
"Can an AI agent read my WeChat?": "AI Agent 能读我的微信吗?",
|
|
421
425
|
"Yes, with AgentSky Mac and its WeChat plugin. It reads WeChat on your Mac, so an agent can catch up on a chat or find what was agreed. You choose the chats: all of them, minus the ones you turn off, with official accounts skipped. Every time an agent reads a chat's messages, your Mac asks you first.": "能,用 AgentSky Mac 和它的微信插件。它读取你 Mac 上的微信,让 Agent 帮你补看聊天或找出谈定的事。读哪些聊天由你决定:默认全部,减去你关掉的,公众号一律跳过。Agent 每次读取某个聊天的消息,你的 Mac 都会先问你。",
|
|
422
426
|
"Can the agent send WeChat messages for me?": "Agent 能替我发微信吗?",
|
|
423
427
|
"No. The plugin only reads: an agent can list your chats and, with your OK, read one chat's messages. It has no way to send.": "不能。插件只读:Agent 能列出你的聊天,并在你同意后读取某个聊天的消息,没有任何发送的途径。",
|
|
424
428
|
"Is my WeChat uploaded?": "我的微信会被上传吗?",
|
|
425
|
-
"WeChat stays on your Mac. Messages leave it only when you OK an agent's read, which hands that chat's messages to the agent, and as new messages sent to your workspace
|
|
429
|
+
"WeChat stays on your Mac. Messages leave it only when you OK an agent's read, which hands that chat's messages to the agent, and as new messages sent to a plugin your workspace installed to receive them, such as its own CRM. Login codes from official accounts and anything that looks like a password are removed first.": "微信留在你的 Mac 上。消息只在两种情况下离开:你同意 Agent 的一次读取,把那个聊天的消息交给 Agent;或者作为新消息发给工作空间装好、用来接收它们的插件,比如它自己的 CRM。公众号发来的验证码和看起来像密码的内容会先被去掉。",
|
|
426
430
|
"WeChat signed in on your Mac, Full Disk Access for AgentSky (macOS asks the first time), and the keys file made for your Mac, imported once in the plugin's settings, because WeChat encrypts its chats.": "你的 Mac 上登录着微信,给 AgentSky 打开“完全磁盘访问权限”(第一次会由 macOS 请求),并在插件设置里导入一次为这台 Mac 生成的密钥文件,因为微信会加密聊天记录。",
|
|
427
431
|
"Can it take notes on WeChat calls?": "能给微信通话做纪要吗?",
|
|
428
432
|
"That is the Meetings plugin: it records and transcribes WeChat voice and video calls on your Mac.": "那是会议插件的事:它会在你的 Mac 上录制并转写微信语音和视频通话。",
|
|
@@ -749,5 +753,183 @@
|
|
|
749
753
|
"Connect your Claude, ChatGPT, Cursor, Grok or Muse plan and eligible model usage costs $0. You pay for cloud compute; your subscription covers the model tokens.": "连接你的 Claude、ChatGPT、Cursor、Grok 或 Muse 套餐,符合条件的模型用量费用即可为 $0。云端计算仍单独收费,模型 token 由你的订阅支付。",
|
|
750
754
|
"No. Cloud agents run right here: type a task, or paste one message into your own agent to use the API. On a Mac, the free AgentSky Mac app also runs Claude Code and Codex on your own computer, and the chat moves to the cloud by itself when your Mac can't keep going.": "不需要。云端代理就在这里运行:输入任务,或将一条消息粘贴到你自己的代理中来使用 API。在 Mac 上,免费的 AgentSky Mac 应用还可在你的电脑上运行 Claude Code 和 Codex;当 Mac 无法继续时,聊天会自动转到云端。",
|
|
751
755
|
"The subscription covers eligible model usage only — the tokens the model processes on each agent turn. You continue to pay AgentSky’s per-second compute rate while the agent is active, plus any add-ons you configure: computer, connectors, and channels. Runtime, tools, and orchestration are not part of your subscription plan.": "订阅仅覆盖符合条件的模型用量,即代理每一轮使用的 token。代理运行时仍需支付 AgentSky 按秒计算的云端费用,以及你配置的电脑、连接器和聊天渠道等附加服务。运行环境、工具和编排不在你的订阅范围内。",
|
|
752
|
-
"AgentSky respects the limits your provider imposes on your plan tier. If the subscription hits a rate limit mid-task, the agent pauses and retries according to the provider’s retry guidance. If the limit cannot be cleared in the current turn, the turn fails gracefully and the session state is preserved so you can resume. Upgrading your subscription plan is the only way to raise that limit.": "AgentSky 遵守服务商对你的套餐设定的用量限制。若任务中途触及限额,代理会暂停并按服务商的指引重试。若当前轮次内无法解除限制,该轮会结束并保留会话状态,方便你稍后继续。升级订阅套餐才能提高该限额。"
|
|
756
|
+
"AgentSky respects the limits your provider imposes on your plan tier. If the subscription hits a rate limit mid-task, the agent pauses and retries according to the provider’s retry guidance. If the limit cannot be cleared in the current turn, the turn fails gracefully and the session state is preserved so you can resume. Upgrading your subscription plan is the only way to raise that limit.": "AgentSky 遵守服务商对你的套餐设定的用量限制。若任务中途触及限额,代理会暂停并按服务商的指引重试。若当前轮次内无法解除限制,该轮会结束并保留会话状态,方便你稍后继续。升级订阅套餐才能提高该限额。",
|
|
757
|
+
"Your Mac runs your agents free. Your team sees every chat. When your Mac can't keep going, the cloud picks it up.": "你的 Mac 免费运行你的 Agent。团队能看到每一个对话。Mac 撑不住时,云端自动接上。",
|
|
758
|
+
"How it works": "怎么用",
|
|
759
|
+
"Start free on your Mac": "在 Mac 上免费开始",
|
|
760
|
+
"Pick Claude Code or Codex, the model and the thinking level. It runs on your Mac with your own Claude or ChatGPT plan and spends no AgentSky credits.": "选 Claude Code 或 Codex,再选模型和思考强度。它用你自己的 Claude 或 ChatGPT 订阅在 Mac 上运行,不花 AgentSky 额度。",
|
|
761
|
+
"Close the lid. It keeps going.": "合上盖子,它还在继续",
|
|
762
|
+
"When your Mac sleeps, the battery reaches 10%, the disk or memory runs out, or your plan hits its limit, the chat moves to the cloud by itself. A notification says it now uses credits, with a button to stop it. You can turn this off in Settings.": "当你的 Mac 睡眠、电量降到 10%、磁盘或内存用尽,或你的订阅用到上限时,对话会自动转到云端。通知会告诉你它现在开始使用额度,并附带一个停止按钮。你可以在设置中关闭这项功能。",
|
|
763
|
+
"Reply from your phone": "用手机回复",
|
|
764
|
+
"Your teammate picks it up": "队友接着做",
|
|
765
|
+
"Teammates in your workspace read the chat as it runs and can send the next message themselves. Their turn runs in the cloud, paid from the workspace wallet or their own balance, never yours, and nothing from your Mac or your logins goes with it.": "工作空间里的队友能实时看到对话,也可以自己发下一条消息。他们的这一轮在云端运行,由工作空间钱包或他们自己的余额支付,不会花你的钱,你 Mac 上的内容和登录信息也不会被带过去。",
|
|
766
|
+
"Work together": "一起工作",
|
|
767
|
+
"Several people in one chat": "一个对话,多人参与",
|
|
768
|
+
"Share with Can view or Can edit": "以“可查看”或“可编辑”分享",
|
|
769
|
+
"One wallet for the team": "团队共用一个钱包",
|
|
770
|
+
"Message your agents from iMessage, Telegram, Lark, Slack, Discord and WhatsApp.": "在 iMessage、Telegram、飞书、Slack、Discord 和 WhatsApp 中给你的 Agent 发消息。",
|
|
771
|
+
"Every agent, model and tool": "所有 Agent、模型和工具",
|
|
772
|
+
"Cloud agents": "云端 Agent",
|
|
773
|
+
"Compare agents blind": "盲测对比 Agent",
|
|
774
|
+
"Agents that hire agents": "Agent 雇用 Agent",
|
|
775
|
+
"Claude Code and Codex on your plan": "用你的套餐运行 Claude Code 和 Codex",
|
|
776
|
+
"Every chat in your workspace": "每个对话都在工作空间里",
|
|
777
|
+
"Is AgentSky Mac free?": "AgentSky Mac 免费吗?",
|
|
778
|
+
"What uses credits?": "什么情况会用额度?",
|
|
779
|
+
"What gets synced, and who can see it?": "同步哪些内容?谁能看到?",
|
|
780
|
+
"Which agents can I use?": "可以用哪些 Agent?",
|
|
781
|
+
"Get AgentSky Mac": "下载 AgentSky Mac",
|
|
782
|
+
"Free · Version {version} · Apple silicon and Intel": "免费 · 版本 {version} · 支持 Apple 芯片和 Intel",
|
|
783
|
+
"Free · Apple silicon and Intel": "免费 · 支持 Apple 芯片和 Intel",
|
|
784
|
+
"Everything AgentSky Mac does": "查看 AgentSky Mac 的全部功能",
|
|
785
|
+
"AgentSky Mac": "AgentSky Mac",
|
|
786
|
+
"AgentSky Mac app icon": "AgentSky Mac 应用图标",
|
|
787
|
+
"Run Claude Code and Codex free on your Mac with your own plan. Every chat syncs to your team's workspace, and the cloud picks it up when your Mac can't.": "用你自己的订阅在 Mac 上免费运行 Claude Code 和 Codex。每个对话都同步到团队的工作空间,Mac 无法继续时由云端接上。",
|
|
788
|
+
"Open the chat on agentsky.dev from your phone or any browser and send the next message. It runs on your Mac when your Mac is on, and in the cloud with the whole conversation when it isn't.": "在手机或任何浏览器上打开 agentsky.dev 里的这个对话,直接发下一条消息。Mac 开着就在 Mac 上跑;Mac 不在时,带着完整对话在云端继续。",
|
|
789
|
+
"Free on your Mac": "在你的 Mac 上免费",
|
|
790
|
+
"Claude Code and Codex run free on your Mac.": "Claude Code 和 Codex 在你的 Mac 上免费运行。",
|
|
791
|
+
"A folder from the task itself": "从任务里认出文件夹",
|
|
792
|
+
"Every chat in your workspace, free": "每个对话都免费同步到工作区",
|
|
793
|
+
"Free when credits run out": "积分用完也免费",
|
|
794
|
+
"Shell commands wait for your OK": "Shell 命令等你确认",
|
|
795
|
+
"Your skills and keys come along": "你的技能和密钥一起带上",
|
|
796
|
+
"Sign in with an API key": "用 API 密钥登录",
|
|
797
|
+
"The cloud picks up": "云端接着跑",
|
|
798
|
+
"Close the lid. The chat keeps going.": "合上盖子,对话继续。",
|
|
799
|
+
"Moves by itself when the Mac can't": "Mac 撑不住时自动转移",
|
|
800
|
+
"The folder goes with it": "文件夹一起带走",
|
|
801
|
+
"A fresh clone for cloud agents": "给云端 Agent 一份全新的克隆",
|
|
802
|
+
"Continue a recorded conversation": "接续一段已记录的对话",
|
|
803
|
+
"This Mac, lent to cloud agents": "把这台 Mac 借给云端 Agent",
|
|
804
|
+
"Hand a cloud agent your folder, browser, screen or apps.": "把你的文件夹、浏览器、屏幕或应用交给云端 Agent。",
|
|
805
|
+
"A live folder on this Mac": "这台 Mac 上的实时文件夹",
|
|
806
|
+
"A browser on this Mac": "这台 Mac 上的浏览器",
|
|
807
|
+
"Signed in, for your cloud agents too": "你的云端 Agent 也处于登录状态",
|
|
808
|
+
"Your screen: computer use": "你的屏幕:电脑操作",
|
|
809
|
+
"Mail, Notes, Calendar, Reminders and Contacts": "邮件、备忘录、日历、提醒事项和通讯录",
|
|
810
|
+
"Blocked apps and folders": "屏蔽的应用和文件夹",
|
|
811
|
+
"A local agent, started from the cloud": "从云端启动本地 Agent",
|
|
812
|
+
"Pull requests from this Mac": "从这台 Mac 发起 Pull Request",
|
|
813
|
+
"Meetings and call notes": "会议与通话笔记",
|
|
814
|
+
"Every call becomes a note, transcribed on your Mac.": "每一次通话都变成一份笔记,在你的 Mac 上转写。",
|
|
815
|
+
"Calls in WeChat, Zoom, Lark, Teams and the browser": "微信、Zoom、飞书、Teams 和浏览器里的通话",
|
|
816
|
+
"Live notes in five languages": "五种语言的实时笔记",
|
|
817
|
+
"Summary, action items and who it was with": "摘要、待办和参会人",
|
|
818
|
+
"Who said what": "谁说了什么",
|
|
819
|
+
"What you shared in Zoom": "你在 Zoom 里共享的内容",
|
|
820
|
+
"Meetings you take elsewhere": "在别处开的会",
|
|
821
|
+
"A follow-up agent and your notes": "跟进的 Agent 和你的笔记",
|
|
822
|
+
"WeChat and your chat apps": "微信和你的聊天应用",
|
|
823
|
+
"WeChat history and your CRM": "微信历史和你的 CRM",
|
|
824
|
+
"WeChat calls, named": "微信通话,标明对象",
|
|
825
|
+
"From the chat apps you use": "从你常用的聊天应用",
|
|
826
|
+
"The Mac's answer, back in the chat": "Mac 的回答回到聊天里",
|
|
827
|
+
"Everything in the cloud, from the same app.": "云端的一切,就在同一个应用里。",
|
|
828
|
+
"Models below list price": "低于官方定价的模型",
|
|
829
|
+
"Tools, MCP and plugins": "工具、MCP 和插件",
|
|
830
|
+
"Your saved agents": "你保存的 Agent",
|
|
831
|
+
"A chat is a shared place.": "对话是大家共用的地方。",
|
|
832
|
+
"Teammates' chats on your Mac": "同事的对话,在你的 Mac 上",
|
|
833
|
+
"Shared connections and vaults": "共享的连接和保险库",
|
|
834
|
+
"The whole workspace, in the app": "整个工作区,都在应用里",
|
|
835
|
+
"Everything agentsky.dev does, in a native window.": "agentsky.dev 能做的一切,都在原生窗口里。",
|
|
836
|
+
"Artifacts, sites and documents": "产物、网站和文档",
|
|
837
|
+
"Files and changes": "文件和改动",
|
|
838
|
+
"A browser on the agent's computer": "Agent 电脑上的浏览器",
|
|
839
|
+
"Side chat and Plan mode": "侧边对话和规划模式",
|
|
840
|
+
"Queued messages and kept drafts": "排队的消息和保留的草稿",
|
|
841
|
+
"Settings, billing and automations": "设置、账单和自动化",
|
|
842
|
+
"Connectors and Developer & API": "连接器与开发者 API",
|
|
843
|
+
"Made for the Mac": "为 Mac 而生",
|
|
844
|
+
"A real Mac app, from the Dock to Touch ID.": "一个真正的 Mac 应用,从 Dock 到 Touch ID。",
|
|
845
|
+
"Chats in their own windows": "每个对话一个窗口",
|
|
846
|
+
"The Dock": "程序坞 Dock",
|
|
847
|
+
"Touch ID": "Touch ID 指纹验证",
|
|
848
|
+
"Voice mode": "语音模式",
|
|
849
|
+
"Quick Ask": "快速提问",
|
|
850
|
+
"Shortcuts and Spotlight": "快捷指令和聚焦搜索",
|
|
851
|
+
"Notifications and break reminders": "通知和休息提醒",
|
|
852
|
+
"Menu bar and keyboard": "菜单栏和键盘",
|
|
853
|
+
"Looks like agentsky.dev": "和 agentsky.dev 一个模样",
|
|
854
|
+
"Your own plans": "你自己的套餐",
|
|
855
|
+
"A free Mac app that runs Claude Code and Codex on your own plan, lends your Mac to cloud agents when you allow it, takes notes on your calls, and syncs every chat to your workspace.": "一款免费的 Mac 应用:用你自己的套餐运行 Claude Code 和 Codex,经你允许把 Mac 借给云端 Agent,为通话记笔记,并把每个对话同步到工作区。",
|
|
856
|
+
"Your own Claude or ChatGPT plan pays; nothing on this Mac spends credits.": "由你自己的 Claude 或 ChatGPT 套餐承担,这台 Mac 上不花积分。",
|
|
857
|
+
"A new chat runs either one on this Mac, with the model and thinking level you pick.": "新对话在这台 Mac 上运行其中一个,模型和思考深度由你选。",
|
|
858
|
+
"Name a folder or a GitHub repository in your message and the chat works there.": "在消息里提到文件夹或 GitHub 仓库,对话就在那里工作。",
|
|
859
|
+
"Chats from the app, and from Terminal once you turn it on, sync to your workspace as they happen.": "应用里的对话实时同步到工作区;终端里的对话打开开关后也同步。",
|
|
860
|
+
"Out of credit, a new chat switches to the same agent on this Mac and says so.": "积分用完时,新对话切换到这台 Mac 上的同一个 Agent,并告诉你。",
|
|
861
|
+
"Claude Code asks on this Mac before it runs a shell command.": "Claude Code 运行 shell 命令前会先在这台 Mac 上问你。",
|
|
862
|
+
"First run imports your skills, instructions and the keys you tick, and adds a sky command.": "首次运行导入你的技能、指令和勾选的密钥,并添加 sky 命令。",
|
|
863
|
+
"A personal API key works instead of the browser sign-in; local runs then use your credits.": "可以用个人 API 密钥代替浏览器登录,本地运行则消耗你的积分。",
|
|
864
|
+
"When this Mac can't keep a chat going, the cloud continues it and tells you.": "这台 Mac 撑不住时,云端接着跑,并通知你。",
|
|
865
|
+
"Sleep, 10% battery, a full disk or memory, or your plan's limit: the chat moves to the cloud on its own, with one notification and Stop. A switch in Settings turns it off.": "睡眠、电量 10%、磁盘或内存告急、套餐到上限:对话自动转移到云端,一条通知附带「停止」。设置里有开关可以关掉。",
|
|
866
|
+
"The chat's working folder, .git and .env included, is kept in the cloud after each synced turn.": "每轮同步后,对话的工作文件夹(含 .git 和 .env)保存在云端。",
|
|
867
|
+
"Send the next message from agentsky.dev; it runs on your Mac when online, in the cloud when not.": "在 agentsky.dev 发下一条消息:Mac 在线就在 Mac 上跑,否则在云端跑。",
|
|
868
|
+
"Choose a folder here and a cloud agent works on a fresh clone of its repository.": "在这里选一个文件夹,云端 Agent 在它仓库的全新克隆上工作。",
|
|
869
|
+
"Import a Claude Code or Codex conversation from this Mac into the cloud, files and skills included.": "把这台 Mac 上的 Claude Code 或 Codex 对话导入云端,连同文件和技能。",
|
|
870
|
+
"Each ask appears on this Mac for you to allow or deny, for one task only.": "每次请求都在这台 Mac 上由你允许或拒绝,只限一个任务。",
|
|
871
|
+
"The agent reads and edits the folder itself, with protected paths kept out.": "Agent 直接读写文件夹本身,受保护的路径除外。",
|
|
872
|
+
"The agent drives a window in front of you; Take Over or Stop at any time.": "Agent 当着你的面操作一个窗口,随时可以接管或停止。",
|
|
873
|
+
"Sites you sign in to there are saved to your browser logins for the agents you send.": "你在那里登录的网站会保存到浏览器登录信息,供你派出的 Agent 使用。",
|
|
874
|
+
"Agents read an app's window and click, type and scroll in the background; each app asks first, Esc stops.": "Agent 读取应用窗口,在后台点击、输入、滚动;每个应用先问你,按 Esc 停止。",
|
|
875
|
+
"Agents list, search and read them with your consent; every draft, note, event or reminder is confirmed first.": "经你授权,Agent 可以列出、搜索和读取;每个草稿、备忘录、日程或提醒都先经你确认。",
|
|
876
|
+
"Keep any app or folder from every agent; passwords and keychains are never readable.": "任何应用或文件夹都可以对所有 Agent 屏蔽;密码和钥匙串永远不可读。",
|
|
877
|
+
"A cloud agent can run Claude Code or Codex on this Mac for a step and collect the result.": "云端 Agent 可以在这台 Mac 上运行 Claude Code 或 Codex 完成一步并收取结果。",
|
|
878
|
+
"An agent's work becomes a pull request pushed with your own git, without touching your checkout.": "Agent 的工作变成用你自己的 git 推送的 pull request,不碰你的工作副本。",
|
|
879
|
+
"Both sides are recorded and recognized here; no audio leaves the Mac.": "双方声音都在本机录制和识别,音频不离开 Mac。",
|
|
880
|
+
"A call in WeChat, Tencent Meeting, Zoom, Lark, Feishu, Microsoft Teams, Chrome or Safari is noticed by itself.": "微信、腾讯会议、Zoom、Lark、飞书、Microsoft Teams、Chrome 或 Safari 里的通话会被自动察觉。",
|
|
881
|
+
"With SenseVoice installed the note fills in during the call, in Chinese, English, Cantonese, Japanese or Korean.": "装好 SenseVoice 后,笔记在通话中实时写入,支持中文、英语、粤语、日语和韩语。",
|
|
882
|
+
"One note per call, named from your calendar, shared with the workspace, and sent to its CRM for outside calls.": "每次通话一份笔记,按日历命名,共享到工作区;外部通话还会进入 CRM。",
|
|
883
|
+
"Voices are recognized across calls; correct a name or merge a duplicate from the note.": "声音在多次通话间被认出;可以在笔记里改名或合并重复项。",
|
|
884
|
+
"The call window, your shared screen and what you do in it are recorded too.": "通话窗口、你共享的屏幕和你的操作也会被录下。",
|
|
885
|
+
"A recorder joins Zoom, Google Meet and Teams as AgentSky Notetaker; Lark Minutes come in too.": "录制机器人以 AgentSky Notetaker 身份加入 Zoom、Google Meet 和 Teams;飞书妙记也能接入。",
|
|
886
|
+
"An agent follows up on each note in its own chat; recordings stay thirty days or forever.": "每份笔记都有 Agent 在单独对话里跟进;录音保留三十天或永久。",
|
|
887
|
+
"Your agents read WeChat with your OK, and answer in the apps you use.": "经你确认,Agent 读取微信;并在你常用的应用里回复。",
|
|
888
|
+
"WeChat is read on this Mac only; each chat app connects once.": "微信只在这台 Mac 上读取;每个聊天应用连接一次即可。",
|
|
889
|
+
"Agents catch up on a chat or draft a reply for you; every read asks you here, and agents never send.": "Agent 补看聊天或替你拟好回复;每次读取都先问你,Agent 从不发送。",
|
|
890
|
+
"History starts thirty days back; new messages also reach the workspace's CRM.": "历史从三十天前开始;新消息也会进入工作区的 CRM。",
|
|
891
|
+
"A WeChat call becomes a note that names the contact or group.": "微信通话变成一份笔记,标明是哪个联系人或群。",
|
|
892
|
+
"Message your agents from iMessage, Telegram, Lark, Slack, Discord and WhatsApp. Replies come back in the same chat.": "在 iMessage、Telegram、Lark、Slack、Discord 和 WhatsApp 里给 Agent 发消息,回复回到同一个聊天。",
|
|
893
|
+
"A chat-app message to a chat synced from this Mac runs here, and the answer is posted back.": "聊天应用发给这台 Mac 同步对话的消息在这里运行,回答发回原处。",
|
|
894
|
+
"The Agent Market lists agents that run in the cloud with no install.": "Agent 市场里的 Agent 无需安装即可在云端运行。",
|
|
895
|
+
"The Agent Market lists {count} agents that run in the cloud with no install.": "Agent 市场里的 {count} 个 Agent 无需安装即可在云端运行。",
|
|
896
|
+
"Hermes, Claude Code, Codex, OpenClaw, Cursor, Gemini CLI, Devin, OpenHands and more, on credits.": "Hermes、Claude Code、Codex、OpenClaw、Cursor、Gemini CLI、Devin、OpenHands 等,用积分运行。",
|
|
897
|
+
"Claude, GPT and DeepSeek models sell {discount}% below list price; other models at list plus {margin}%.": "Claude、GPT 和 DeepSeek 模型比官方定价低 {discount}%;其他模型按定价加 {margin}%。",
|
|
898
|
+
"Connect your Claude, ChatGPT, Cursor or Grok plan and eligible agents run on it.": "连接你的 Claude、ChatGPT、Cursor 或 Grok 套餐,符合条件的 Agent 用它运行。",
|
|
899
|
+
"Tools agents can call, your own MCP servers, and the Mac's plugins in Claude Code too.": "Agent 可调用的工具、你自己的 MCP 服务器,以及 Mac 的插件也可用于 Claude Code。",
|
|
900
|
+
"Run one task on several agents side by side; names stay hidden until you vote.": "让多个 Agent 并排跑同一个任务,投票前名字一直隐藏。",
|
|
901
|
+
"An agent can start, message and collect results from another through the AgentSky MCP server.": "通过 AgentSky MCP 服务器,一个 Agent 可以启动另一个、给它发消息并收取结果。",
|
|
902
|
+
"Save agents with their instructions and accounts, and start a chat on one.": "保存带指令和账号的 Agent,直接用它开始对话。",
|
|
903
|
+
"Teammates continue your chats; their turns are paid by them or the workspace, never you.": "同事可以接着你的对话聊;他们那轮由本人或工作区支付,不花你的。",
|
|
904
|
+
"See who has the chat open, @mention a teammate, and assign the next step.": "看到谁打开了对话,@ 同事,并指派下一步。",
|
|
905
|
+
"List everyone's chats in the workspace, each saying whose Mac it ran on.": "列出工作区里所有人的对话,标明在谁的 Mac 上运行过。",
|
|
906
|
+
"Share by email, with the workspace, or by link, with who pays made clear.": "按邮箱、按工作区或按链接共享,谁付费写得清楚。",
|
|
907
|
+
"A shared workspace gets its own wallet, member limits and session budgets.": "共享工作区有自己的钱包、成员限额和会话预算。",
|
|
908
|
+
"Share a connected app with the workspace and keep agents' keys in vaults.": "把已连接的应用共享给工作区,把 Agent 的密钥放进保险库。",
|
|
909
|
+
"Chats, Library, Market, Arena, Connectors, Developer & API and Settings.": "对话、资料库、市场、竞技场、连接器、开发者与 API、设置。",
|
|
910
|
+
"Sites, Office files, Markdown, code and searchable PDFs open beside the chat, editable in place.": "网站、Office 文件、Markdown、代码和可搜索的 PDF 在对话旁打开,可直接编辑。",
|
|
911
|
+
"Browse the session's files and read every edit as a diff; comment on a line to send a review.": "浏览会话文件,以 diff 阅读每处修改;在某一行评论即可发送评审。",
|
|
912
|
+
"Open the pages a chat's sandbox serves in a tab beside it.": "在对话旁的标签页里打开沙箱提供的页面。",
|
|
913
|
+
"Ask a side question without touching the session; plan before the agent builds.": "不打扰会话地问个旁边的问题;让 Agent 先规划再动手。",
|
|
914
|
+
"Queue messages for an idle agent; unsent drafts survive quitting.": "给 Agent 排队消息,它空闲时发送;未发草稿退出后仍保留。",
|
|
915
|
+
"Memory, skills, agents, artifacts, design systems, files and meetings, with one search.": "记忆、技能、Agent、产物、设计系统、文件和会议,一个搜索框。",
|
|
916
|
+
"Credit, auto top-up, usage, vaults, automations and imports, plus This Mac.": "积分、自动充值、用量、保险库、自动化和导入,再加上「这台 Mac」。",
|
|
917
|
+
"Connect apps for your agents; read your API agents, sessions and webhooks.": "为 Agent 连接应用;查看你的 API Agent、会话和 webhook。",
|
|
918
|
+
"It lives in your Dock and menu bar and takes your voice.": "它住在你的 Dock 和菜单栏里,还听得懂你的声音。",
|
|
919
|
+
"Open any chat in a new window with its own selection and workspace.": "任何对话都能在新窗口打开,有自己的选中状态和工作区。",
|
|
920
|
+
"Recent and working chats in the Dock menu, progress while agents work, files dropped to start a chat.": "Dock 菜单列出最近和进行中的对话,显示进度,拖入文件即可开始对话。",
|
|
921
|
+
"Lending apps and files, Mac-control commands and secret moves ask for Touch ID first.": "借出应用和文件、Mac 控制命令和转移密钥都先验证 Touch ID。",
|
|
922
|
+
"Talk hands free: a pause sends, the reply is read aloud, speaking again interrupts.": "解放双手:停顿即发送,回复会朗读,再开口就打断。",
|
|
923
|
+
"Speak into the composer, recognized on this Mac, switching Chinese and English as you go.": "对着输入框说话,本机识别,中英文随时切换。",
|
|
924
|
+
"Option-Space in any app opens a panel that hands your text to a new chat.": "在任何应用里按 Option-空格,把文字交给新对话。",
|
|
925
|
+
"agentsky:// links open a chat with a prompt, from a Shortcut or Spotlight.": "agentsky:// 链接带着提示词打开对话,快捷指令和聚焦搜索都能用。",
|
|
926
|
+
"Know when an agent is done; water, standing and eye breaks with Done and Snooze.": "Agent 完成时通知你;喝水、站立和护眼提醒,附带「完成」和「稍后」。",
|
|
927
|
+
"A menu bar item and a global shortcut show the window; closing it keeps the app running.": "菜单栏图标和全局快捷键唤出窗口;关掉窗口应用仍在运行。",
|
|
928
|
+
"Light and dark, your accent color, the web's own type and components.": "浅色和深色,你选的强调色,网页版的字体和组件。",
|
|
929
|
+
"Yes. Claude Code and Codex run on your own plan and syncing is free. Only a personal API key sign-in puts local runs on credits.": "是的。Claude Code 和 Codex 用你自己的套餐运行,同步也免费。只有用个人 API 密钥登录时,本地运行才消耗积分。",
|
|
930
|
+
"Only work in the cloud: a chat that moved there, a reply while your Mac is offline, a teammate's turn, and Market agents. Turn off Continue in the cloud in Settings to keep chats on your Mac.": "只有云端的工作:转移到云端的对话、Mac 离线时的回复、同事的那一轮,以及市场里的 Agent。在设置里关掉「在云端继续」,对话就留在 Mac 上。",
|
|
931
|
+
"Every Claude Code and Codex conversation on your Mac goes to the selected workspace, where its members can read it. Share has the web's choices: Private, Everyone in the workspace, or Anyone with the link.": "你 Mac 上的每个 Claude Code 和 Codex 对话都进入所选工作区,成员可以阅读。共享选项和网页版一样:私密、工作区所有人、或任何有链接的人。",
|
|
932
|
+
"On your Mac, Claude Code and Codex. In the cloud, every agent in the Agent Market, on credits or your own eligible plan.": "在你的 Mac 上是 Claude Code 和 Codex。在云端是 Agent 市场里的每一个 Agent,用积分或你符合条件的套餐。",
|
|
933
|
+
"AgentSky Mac — Run Your Agents Free on Your Mac, With Your Team and the Cloud": "AgentSky Mac — 在你的 Mac 上免费运行 Agent,与团队和云端一起工作",
|
|
934
|
+
"Run Claude Code and Codex free on your Mac with your own plan. Lend agents your folders, browser, screen and apps, take notes on every call, read WeChat with your OK, and let the cloud pick up when your Mac can't.": "用你自己的套餐在 Mac 上免费运行 Claude Code 和 Codex。把文件夹、浏览器、屏幕和应用借给 Agent,为每次通话记笔记,经你确认读取微信,Mac 撑不住时由云端接着跑。"
|
|
753
935
|
}
|
package/dist/screen-bar.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-code: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--pad-xs: 4px;--pad-sm: 8px;--pad-md: 12px;--pad-lg: 16px;--pad-xl: 24px;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 24px;--h-control-xs: 28px;--h-control-sm: 32px;--h-control: 36px;--h-control-lg: 40px;--icon-xs: 12px;--icon-sm: 14px;--icon: 16px;--icon-lg: 20px;--icon-xl: 32px;--corner-tiny: 4px;--corner-control: 8px;--corner-card: 12px;--corner-bubble: 20px;--fs-caption: 12px;--lh-caption: 17px;--fs-meta: 13px;--lh-meta: 18px;--fs-ui: 14px;--lh-ui: 21px;--fs-prose: 15px;--lh-prose: 24px;--fs-subhead: 16px;--lh-subhead: 22px;--fs-title: 18px;--lh-title: 24px;--fs-display: 24px;--lh-display: 29px;--fs-metric: 32px;--lh-metric: 36px;--fs-cta: 14px;--lh-cta: 14px;--fs-reading: 17px;--lh-reading: calc(var(--fs-reading) * 1.625);--fs-trace: 15px;--lh-trace: 22px;--dur-fast: 60ms;--dur-snap: .15s;--dur-base: .2s;--dur-sheet: .3s;--dur-slow: .45s;--ease-standard: cubic-bezier(0, 0, .2, 1);--ease-snap: cubic-bezier(.32, .72, 0, 1);--ease-overshoot: cubic-bezier(.34, 1.3, .64, 1);--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-dropdown: 30;--z-overlay: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 80;--corner-radius-scale: 1;--text-meta: var(--fs-meta);--text-meta--line-height: var(--lh-meta);--text-meta--letter-spacing: 0;--text-ui: var(--fs-ui);--text-ui--line-height: var(--lh-ui);--text-ui--letter-spacing: 0;--text-cta: var(--fs-cta);--text-cta--line-height: var(--lh-cta);--text-cta--letter-spacing: 0;--text-reading: var(--fs-reading);--text-reading--line-height: var(--lh-reading);--text-reading--letter-spacing: 0;--text-trace: var(--fs-trace);--text-trace--line-height: var(--lh-trace);--text-trace--letter-spacing: 0;--text-prose: var(--fs-prose);--text-prose--line-height: var(--lh-prose);--text-prose--letter-spacing: 0;--text-subhead: var(--fs-subhead);--text-subhead--line-height: var(--lh-subhead);--text-subhead--letter-spacing: -.01em;--text-title: var(--fs-title);--text-title--line-height: var(--lh-title);--text-title--letter-spacing: -.02em;--text-display: var(--fs-display);--text-display--line-height: var(--lh-display);--text-display--letter-spacing: -.02em;--text-metric: var(--fs-metric);--text-metric--line-height: var(--lh-metric);--text-metric--letter-spacing: -.03em;--text-code: .92em;--text-code--line-height: 1.45;--text-code--letter-spacing: 0;--text-caption: var(--fs-caption);--text-caption--line-height: var(--lh-caption);--text-caption--letter-spacing: 0;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-tiny: calc(var(--corner-tiny) * var(--corner-radius-scale));--radius-control: calc(var(--corner-control) * var(--corner-radius-scale));--radius-card: calc(var(--corner-card) * var(--corner-radius-scale));--radius-bubble: calc(var(--corner-bubble) * var(--corner-radius-scale));--radius-composer: 1.5rem;--radius-menu: calc(1rem * var(--corner-radius-scale));--radius-context: calc(.75rem * var(--corner-radius-scale));--radius-pill: 9999px;--container-reading: 48.75rem;--container-bubble: 42rem;--background: var(--ast-canvas);--foreground: var(--ast-ink);--card: var(--ast-panel);--card-foreground: var(--ast-ink);--popover: var(--ast-panel);--popover-foreground: var(--ast-ink);--primary: #0d0d0d;--primary-foreground: #ffffff;--secondary: var(--ast-surface);--secondary-foreground: var(--ast-ink);--muted: var(--ast-surface);--muted-foreground: var(--ast-muted-ink);--accent: var(--ast-surface);--accent-foreground: var(--ast-ink);--destructive: var(--ast-danger);--border: var(--ast-line);--input: var(--ast-line-strong);--ring: var(--ast-brand-deep);--shadow-control: 0 1px 2px -1px #00000014;--shadow-row: 0 1px 2px -1px #00000014;--shadow-panel: 0 2px 4px -1px #00000014;--shadow-panel-hover: 0 4px 8px -2px #0000001a;--shadow-overlay: 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), 0 16px 40px -18px rgb(0 0 0 / 55%);--space-micro: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--row-compact: 32px;--row-default: 40px;--row-touch: 44px;--app-rail-bg: var(--ast-canvas);--app-rail-active-bg: var(--ast-surface);--app-row-hover: var(--ast-surface);--app-rail-width: 320px;--app-rail-header-height: 48px;--app-rail-row-height: 28px;--app-rail-row-radius: 6px;--app-rail-nav-size: var(--fs-ui);--app-rail-label-size: calc(var(--fs-ui) * .9);--app-rail-section-gap: 24px;--app-rail-ink: var(--ast-ink);--app-rail-muted: #71717a;--app-rail-hover: rgb(0 0 0 / 6%);--app-rail-active: color-mix(in srgb, #0d0d0d 6%, transparent);--app-rail-active-ink: var(--ast-brand-deep);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 5%);--app-nav-rail-bg: #f9f9f9;--ast-brand-sky: #e7f4fe;--ast-sky-ink: #0d0d0d;--app-workspace-bg: #f3f3f3;--app-session-rail-bg: #f3f3f3;--ast-ink: #0d0d0d;--ast-secondary-ink: #404040;--ast-muted-ink: #595959;--ast-faint: #636363;--ast-placeholder: #636363;--ast-brand: #f0eee9;--ast-brand-hover: #d3d1cd;--ast-brand-deep: #404040;--ast-brand-ink: #595959;--ast-brand-ink-hover: #404040;--ast-brand-foreground: #0d0d0d;--ast-action: #404040;--ast-action-hover: #2c3038;--ast-line: color-mix(in oklab, #0d0d0d 6%, transparent);--ast-line-strong: color-mix(in oklab, #0d0d0d 10%, transparent);--ast-line-hover: color-mix(in oklab, #0d0d0d 14%, transparent);--ast-divider: color-mix(in oklab, #0d0d0d 4%, transparent);--ast-surface: #f4f4f4;--ast-canvas: #ffffff;--ast-panel: #ffffff;--ast-navy: #061a2d;--ast-navy-deep: #04121f;--ast-sky: #f0eee9;--ast-sky-soft: #f7f7f7;--ast-sky-mid: #e8e8e8;--ast-positive: oklch(.52 .14 145);--ast-warning: oklch(.68 .14 75);--ast-info: #075eb8;--ast-danger: oklch(.577 .245 27.325);--ast-runtime-ink: #dcecff;--ast-runtime-line: rgb(255 255 255 / .08);--ast-runtime-hover: #0b2a47;--ast-band-foreground: #ffffff;--ast-band-line: rgb(255 255 255 / .25);--ast-shadow-float: 0 18px 48px rgb(6 26 45 / .14);--ast-shadow-runtime: 0 28px 80px rgb(6 26 45 / .16);--ast-shadow-panel: 0 1px 2px rgb(16 24 40 / .05), 0 2px 5px rgb(16 24 40 / .04);--ast-shadow-composer: 0 0 0 1px rgb(13 13 13 / .07), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08);--ast-composer-surface: rgb(255 255 255 / .86);--ast-chart-claude: #eb6834;--ast-chart-codex: #2a78d6;--ast-chart-hermes: #1baf7a;--ast-chart-pi: #8b5cf6;--ast-chart-cost-lo: #86b6ef;--ast-chart-cost-mid: #2a78d6;--ast-chart-cost-hi: #104281;--ast-chart-time: #4a3aa7;--color-border-subtle: color-mix(in oklab, var(--ast-ink) 8%, transparent);--color-surface-subtle: color-mix(in oklab, var(--ast-ink) 3%, transparent);--color-accent-muted: var(--ast-sky-soft);--color-destructive-muted: color-mix(in oklab, var(--destructive) 12%, transparent);--color-diff-add: oklch(.72 .17 145);--color-diff-del: oklch(.6 .22 27);--bubble-user: var(--ast-surface);--bubble-user-foreground: var(--ast-ink);--bubble-assistant: color-mix(in oklab, var(--muted) 80%, transparent);--composer-surface: color-mix(in oklab, var(--card) 90%, transparent);--composer-border: transparent;--composer-border-focus: transparent;--composer-shadow: var(--ast-shadow-composer);--composer-shadow-focus: 0 0 0 1px color-mix(in oklab, var(--foreground) 14%, transparent), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08)}@media(prefers-color-scheme:dark){:root{--primary: var(--ast-ink);--primary-foreground: var(--ast-canvas);--secondary: rgb(255 255 255 / 8%);--muted: rgb(255 255 255 / 8%);--accent: rgb(255 255 255 / 8%);--shadow-control: 0 0 0 1px oklch(1 0 0 / .06);--shadow-row: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel-hover: 0 0 0 1px oklch(1 0 0 / .12);--shadow-overlay: 0 20px 56px -16px oklch(0 0 0 / .72), 0 0 0 1px oklch(1 0 0 / .08);--app-rail-muted: #a1a1aa;--app-rail-hover: rgb(255 255 255 / 8%);--app-rail-active: color-mix(in srgb, #ffffff 10%, transparent);--app-rail-active-ink: var(--ast-ink);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 40%);--app-nav-rail-bg: #000000;--app-workspace-bg: #131313;--app-session-rail-bg: #131313;--ast-ink: #ececec;--ast-secondary-ink: color-mix(in oklab, #ffffff 74%, transparent);--ast-muted-ink: color-mix(in oklab, #ffffff 62%, transparent);--ast-faint: color-mix(in oklab, #ffffff 56%, transparent);--ast-placeholder: #9a9a9a;--ast-brand-hover: #f2f0ec;--ast-brand-deep: #bdbdbd;--ast-brand-ink: #a3a3a3;--ast-brand-ink-hover: #b0b0b0;--ast-action: #a3a3a3;--ast-action-hover: #d8d6cf;--ast-line: color-mix(in oklab, #ffffff 8%, transparent);--ast-line-strong: color-mix(in oklab, #ffffff 14%, transparent);--ast-line-hover: oklch(1 0 0 / 18%);--ast-divider: color-mix(in oklab, #ffffff 4%, transparent);--ast-surface: #303030;--ast-canvas: #181818;--ast-panel: #212121;--ast-navy: #020e19;--ast-navy-deep: #010810;--ast-sky-soft: #1f1f1f;--ast-sky-mid: #313131;--ast-positive: oklch(.62 .15 145);--ast-warning: oklch(.7 .16 85);--ast-info: #8ed1ff;--ast-danger: oklch(.704 .191 22.216);--ast-band-foreground: #020e19;--ast-band-line: rgb(2 14 25 / .25);--ast-shadow-float: 0 18px 48px rgb(0 0 0 / .34);--ast-shadow-runtime: 0 28px 80px rgb(0 0 0 / .38);--ast-shadow-panel: 0 1px 2px rgb(0 0 0 / .4), 0 2px 6px rgb(0 0 0 / .32);--ast-shadow-composer: 0 0 0 1px rgb(255 255 255 / .12), 0 4px 12px rgb(0 0 0 / .4);--ast-composer-surface: rgb(26 27 30 / .82);--ast-chart-claude: #d95926;--ast-chart-codex: #3987e5;--ast-chart-hermes: #199e70;--ast-chart-pi: #a78bfa;--ast-chart-cost-lo: #6da7ec;--ast-chart-cost-mid: #3987e5;--ast-chart-cost-hi: #184f95;--ast-chart-time: #9085e9;--color-border-subtle: color-mix(in oklab, #ffffff 8%, transparent);--color-surface-subtle: color-mix(in oklab, #ffffff 4%, transparent);--color-accent-muted: color-mix(in oklab, var(--ast-sky-soft) 20%, transparent);--color-diff-add: oklch(.62 .17 145);--color-diff-del: oklch(.52 .22 27);--bubble-user: rgb(255 255 255 / 6%);--bubble-user-foreground: var(--foreground);--bubble-assistant: color-mix(in oklab, var(--ast-surface) 60%, transparent);--composer-border: rgba(255, 255, 255, .16);--composer-border-focus: rgba(255, 255, 255, .24);--composer-shadow: none;--composer-shadow-focus: none}}:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #0d4372;--ast-brand-deep: #0c3b65;--ast-brand-ink: #0f4c81;--ast-brand-ink-hover: #0e4474;--ast-brand-foreground: #ffffff;--ast-action: #0e4474;--ast-sky: #0f4c81;--ast-sky-soft: #f4f8fc;--ast-sky-mid: #dce8f3;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #54427a;--ast-brand-deep: #442f6d;--ast-brand-ink: #5f4b8b;--ast-brand-ink-hover: #513d7c;--ast-brand-foreground: #ffffff;--ast-action: #513d7c;--ast-sky: #5f4b8b;--ast-sky-soft: #f7f5fe;--ast-sky-mid: #e8e2fc;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #a52140;--ast-brand-deep: #930231;--ast-brand-ink: #bb2649;--ast-brand-ink-hover: #a90b3b;--ast-brand-foreground: #ffffff;--ast-action: #a90b3b;--ast-sky: #bb2649;--ast-sky-soft: #fff4f4;--ast-sky-mid: #ffdddf;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #e0a786;--ast-brand-deep: #7e3b03;--ast-brand-ink: #a85416;--ast-brand-ink-hover: #964702;--ast-brand-foreground: #1a1c1f;--ast-action: #964702;--ast-sky: #ffbe98;--ast-sky-soft: #fef5f0;--ast-sky-mid: #fedfce;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #906a58;--ast-brand-deep: #6d4533;--ast-brand-ink: #8c614e;--ast-brand-ink-hover: #7c5340;--ast-brand-foreground: #000000;--ast-action: #7c5340;--ast-sky: #a47864;--ast-sky-soft: #fef5f1;--ast-sky-mid: #f4e2da;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #789b42;--ast-brand-deep: #3c5702;--ast-brand-ink: #527603;--ast-brand-ink-hover: #476601;--ast-brand-foreground: #1a1c1f;--ast-action: #476601;--ast-sky: #88b04b;--ast-sky-soft: #f3faeb;--ast-sky-mid: #ddedcb;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #008265;--ast-brand-deep: #03553f;--ast-brand-ink: #047a5f;--ast-brand-ink-hover: #036d54;--ast-brand-foreground: #000000;--ast-action: #036d54;--ast-sky: #009473;--ast-sky-soft: #eafbf5;--ast-sky-mid: #ccf0e2;--ring: var(--ast-brand-deep)}@media(prefers-color-scheme:dark){:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #2c6190;--ast-brand-deep: #b3d1ef;--ast-brand-ink: #7fb0e0;--ast-brand-ink-hover: #93bde6;--ast-brand-foreground: #ffffff;--ast-action: #7fb0e0;--ast-sky: #0f4c81;--ast-sky-soft: #121c26;--ast-sky-mid: #1d3044;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #726199;--ast-brand-deep: #c0adf5;--ast-brand-ink: #a591d8;--ast-brand-ink-hover: #b29ee5;--ast-brand-foreground: #ffffff;--ast-action: #a591d8;--ast-sky: #5f4b8b;--ast-sky-soft: #201a2d;--ast-sky-mid: #332b47;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #c3405f;--ast-brand-deep: #fe9ca6;--ast-brand-ink: #ff6c82;--ast-brand-ink-hover: #fe8492;--ast-brand-foreground: #ffffff;--ast-action: #ff6c82;--ast-sky: #bb2649;--ast-sky-soft: #301418;--ast-sky-mid: #4e1f26;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #ffc6a4;--ast-brand-deep: #fda26a;--ast-brand-ink: #df864e;--ast-brand-ink-hover: #ed935b;--ast-brand-foreground: #1a1c1f;--ast-action: #df864e;--ast-sky: #ffbe98;--ast-sky-soft: #2f1708;--ast-sky-mid: #4a250d;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #af8877;--ast-brand-deep: #ddae98;--ast-brand-ink: #c0927d;--ast-brand-ink-hover: #cd9f8a;--ast-brand-foreground: #000000;--ast-action: #c0927d;--ast-sky: #a47864;--ast-sky-soft: #271b15;--ast-sky-mid: #3e2b23;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #96b961;--ast-brand-deep: #9cc560;--ast-brand-ink: #81a943;--ast-brand-ink-hover: #8db651;--ast-brand-foreground: #1a1c1f;--ast-action: #81a943;--ast-sky: #88b04b;--ast-sky-soft: #182209;--ast-sky-mid: #26360b;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #1fa184;--ast-brand-deep: #58cba7;--ast-brand-ink: #36af8c;--ast-brand-ink-hover: #47bc99;--ast-brand-foreground: #000000;--ast-action: #36af8c;--ast-sky: #009473;--ast-sky-soft: #05241b;--ast-sky-mid: #043a2c;--ring: var(--ast-brand-deep)}}.type-overline{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--ast-faint)}.type-meta{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-meta--letter-spacing)}.type-label{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-medium);letter-spacing:var(--text-ui--letter-spacing)}.type-caption{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-body{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-body-sm{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-prose{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-title-sm{font-size:var(--text-subhead);line-height:var(--text-subhead--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-subhead--letter-spacing)}.type-title{font-size:var(--text-title);line-height:var(--text-title--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-title--letter-spacing)}.type-metric{font-size:var(--text-display);line-height:var(--text-display--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-display--letter-spacing)}.app-section-label{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.04em;color:var(--ast-faint)}:root{color-scheme:light dark;--canvas: var(--ast-canvas);--panel: var(--ast-panel);--surface: var(--ast-surface);--ink: var(--ast-ink);--secondary-ink: var(--ast-secondary-ink);--muted-ink: var(--ast-muted-ink);--faint: var(--ast-faint);--placeholder: var(--ast-placeholder);--line: var(--ast-line);--line-strong: var(--ast-line-strong);--line-hover: var(--ast-line-hover);--brand: var(--ast-brand-deep);--brand-sky: var(--app-rail-active);--action: var(--ast-action);--primary-ink: var(--primary-foreground);--danger: var(--ast-danger);--success: var(--ast-positive);--rail-bg: var(--canvas);--rail-ink: var(--app-rail-ink);--rail-muted: var(--app-rail-muted);--rail-hover: var(--app-rail-hover);--rail-active: color-mix(in srgb, var(--ink) 8%, transparent);--rail-active-ink: var(--ink);--rail-row-height: var(--app-rail-row-height);--rail-row-radius: var(--app-rail-row-radius);--rail-label-size: var(--app-rail-label-size);--rail-section-gap: var(--app-rail-section-gap);--rail-header-height: var(--app-rail-header-height);--sidebar-width: var(--app-rail-width);--reading: var(--container-reading)}:root[data-accent]{--rail-active: var(--app-rail-active);--rail-active-ink: var(--app-rail-active-ink)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:400 var(--text-ui) / var(--text-ui--line-height) var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;cursor:default}button,input,select,textarea{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body{margin:0;background:var(--panel);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-ui)}main{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid var(--line-strong)}.dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--danger)}main[data-state=paused] .dot{background:var(--muted-ink)}main[data-state=ended] .dot{background:var(--faint)}p{flex:1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}button{height:26px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}button.stop{border-color:var(--danger);color:var(--danger)}html,body{height:100%;overflow:hidden}main{height:100%;border:1px solid var(--danger);border-radius:var(--radius-control)}
|
|
1
|
+
:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-code: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--pad-xs: 4px;--pad-sm: 8px;--pad-md: 12px;--pad-lg: 16px;--pad-xl: 24px;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 24px;--h-control-xs: 28px;--h-control-sm: 32px;--h-control: 36px;--h-control-lg: 40px;--icon-xs: 12px;--icon-sm: 14px;--icon: 16px;--icon-lg: 20px;--icon-xl: 32px;--corner-tiny: 4px;--corner-control: 8px;--corner-card: 12px;--corner-bubble: 20px;--fs-caption: 12px;--lh-caption: 17px;--fs-meta: 13px;--lh-meta: 18px;--fs-ui: 14px;--lh-ui: 21px;--fs-prose: 15px;--lh-prose: 24px;--fs-subhead: 16px;--lh-subhead: 22px;--fs-title: 18px;--lh-title: 24px;--fs-display: 24px;--lh-display: 29px;--fs-metric: 32px;--lh-metric: 36px;--fs-cta: 14px;--lh-cta: 14px;--fs-reading: 17px;--lh-reading: calc(var(--fs-reading) * 1.625);--fs-trace: 15px;--lh-trace: 22px;--dur-fast: 60ms;--dur-snap: .15s;--dur-base: .2s;--dur-sheet: .3s;--dur-slow: .45s;--ease-standard: cubic-bezier(0, 0, .2, 1);--ease-snap: cubic-bezier(.32, .72, 0, 1);--ease-overshoot: cubic-bezier(.34, 1.3, .64, 1);--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-dropdown: 30;--z-overlay: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 80;--corner-radius-scale: 1;--text-meta: var(--fs-meta);--text-meta--line-height: var(--lh-meta);--text-meta--letter-spacing: 0;--text-ui: var(--fs-ui);--text-ui--line-height: var(--lh-ui);--text-ui--letter-spacing: 0;--text-cta: var(--fs-cta);--text-cta--line-height: var(--lh-cta);--text-cta--letter-spacing: 0;--text-reading: var(--fs-reading);--text-reading--line-height: var(--lh-reading);--text-reading--letter-spacing: 0;--text-trace: var(--fs-trace);--text-trace--line-height: var(--lh-trace);--text-trace--letter-spacing: 0;--text-prose: var(--fs-prose);--text-prose--line-height: var(--lh-prose);--text-prose--letter-spacing: 0;--text-subhead: var(--fs-subhead);--text-subhead--line-height: var(--lh-subhead);--text-subhead--letter-spacing: -.01em;--text-title: var(--fs-title);--text-title--line-height: var(--lh-title);--text-title--letter-spacing: -.02em;--text-display: var(--fs-display);--text-display--line-height: var(--lh-display);--text-display--letter-spacing: -.02em;--text-metric: var(--fs-metric);--text-metric--line-height: var(--lh-metric);--text-metric--letter-spacing: -.03em;--text-code: .92em;--text-code--line-height: 1.45;--text-code--letter-spacing: 0;--text-caption: var(--fs-caption);--text-caption--line-height: var(--lh-caption);--text-caption--letter-spacing: 0;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-tiny: calc(var(--corner-tiny) * var(--corner-radius-scale));--radius-control: calc(var(--corner-control) * var(--corner-radius-scale));--radius-card: calc(var(--corner-card) * var(--corner-radius-scale));--radius-bubble: calc(var(--corner-bubble) * var(--corner-radius-scale));--radius-composer: 1.5rem;--radius-menu: calc(1rem * var(--corner-radius-scale));--radius-context: calc(.75rem * var(--corner-radius-scale));--radius-pill: 9999px;--container-reading: 48.75rem;--container-bubble: 42rem;--background: var(--ast-canvas);--foreground: var(--ast-ink);--card: var(--ast-panel);--card-foreground: var(--ast-ink);--popover: var(--ast-panel);--popover-foreground: var(--ast-ink);--primary: #0d0d0d;--primary-foreground: #ffffff;--secondary: var(--ast-surface);--secondary-foreground: var(--ast-ink);--muted: var(--ast-surface);--muted-foreground: var(--ast-muted-ink);--accent: var(--ast-surface);--accent-foreground: var(--ast-ink);--destructive: var(--ast-danger);--border: var(--ast-line);--input: var(--ast-line-strong);--ring: var(--ast-brand-deep);--shadow-control: 0 1px 2px -1px #00000014;--shadow-row: 0 1px 2px -1px #00000014;--shadow-panel: 0 2px 4px -1px #00000014;--shadow-panel-hover: 0 4px 8px -2px #0000001a;--shadow-overlay: 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), 0 16px 40px -18px rgb(0 0 0 / 55%);--space-micro: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--row-compact: 32px;--row-default: 40px;--row-touch: 44px;--app-rail-bg: var(--ast-canvas);--app-rail-active-bg: var(--ast-surface);--app-row-hover: var(--ast-surface);--app-rail-width: 320px;--app-rail-header-height: 48px;--app-rail-row-height: 28px;--app-rail-row-radius: 6px;--app-rail-nav-size: var(--fs-ui);--app-rail-label-size: calc(var(--fs-ui) * .9);--app-rail-section-gap: 24px;--app-rail-ink: var(--ast-ink);--app-rail-muted: #71717a;--app-rail-hover: rgb(0 0 0 / 6%);--app-rail-active: color-mix(in srgb, #0d0d0d 6%, transparent);--app-rail-active-ink: var(--ast-brand-deep);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 5%);--app-nav-rail-bg: #f9f9f9;--ast-brand-sky: #e7f4fe;--ast-sky-ink: #0d0d0d;--app-workspace-bg: #f3f3f3;--app-session-rail-bg: #f3f3f3;--ast-ink: #0d0d0d;--ast-secondary-ink: #404040;--ast-muted-ink: #595959;--ast-faint: #636363;--ast-placeholder: #636363;--ast-brand: #f0eee9;--ast-brand-hover: #d3d1cd;--ast-brand-deep: #404040;--ast-brand-ink: #595959;--ast-brand-ink-hover: #404040;--ast-brand-foreground: #0d0d0d;--ast-action: #404040;--ast-action-hover: #2c3038;--ast-line: color-mix(in oklab, #0d0d0d 6%, transparent);--ast-line-strong: color-mix(in oklab, #0d0d0d 10%, transparent);--ast-line-hover: color-mix(in oklab, #0d0d0d 14%, transparent);--ast-divider: color-mix(in oklab, #0d0d0d 4%, transparent);--ast-surface: #f4f4f4;--ast-canvas: #ffffff;--ast-panel: #ffffff;--ast-navy: #061a2d;--ast-navy-deep: #04121f;--ast-sky: #f0eee9;--ast-sky-soft: #f7f7f7;--ast-sky-mid: #e8e8e8;--ast-positive: oklch(.52 .14 145);--ast-warning: oklch(.68 .14 75);--ast-info: #075eb8;--ast-danger: oklch(.577 .245 27.325);--ast-runtime-ink: #dcecff;--ast-runtime-line: rgb(255 255 255 / .08);--ast-runtime-hover: #0b2a47;--ast-band-foreground: #ffffff;--ast-band-line: rgb(255 255 255 / .25);--ast-shadow-float: 0 18px 48px rgb(6 26 45 / .14);--ast-shadow-runtime: 0 28px 80px rgb(6 26 45 / .16);--ast-shadow-panel: 0 1px 2px rgb(16 24 40 / .05), 0 2px 5px rgb(16 24 40 / .04);--ast-shadow-composer: 0 0 0 1px rgb(13 13 13 / .07), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08);--ast-composer-surface: rgb(255 255 255 / .86);--ast-chart-claude: #eb6834;--ast-chart-codex: #2a78d6;--ast-chart-hermes: #1baf7a;--ast-chart-pi: #8b5cf6;--ast-chart-cost-lo: #86b6ef;--ast-chart-cost-mid: #2a78d6;--ast-chart-cost-hi: #104281;--ast-chart-time: #4a3aa7;--color-border-subtle: color-mix(in oklab, var(--ast-ink) 8%, transparent);--color-surface-subtle: color-mix(in oklab, var(--ast-ink) 3%, transparent);--color-accent-muted: var(--ast-sky-soft);--color-destructive-muted: color-mix(in oklab, var(--destructive) 12%, transparent);--color-diff-add: oklch(.72 .17 145);--color-diff-del: oklch(.6 .22 27);--bubble-user: var(--ast-surface);--bubble-user-foreground: var(--ast-ink);--bubble-assistant: color-mix(in oklab, var(--muted) 80%, transparent);--composer-surface: color-mix(in oklab, var(--card) 90%, transparent);--composer-border: transparent;--composer-border-focus: transparent;--composer-shadow: var(--ast-shadow-composer);--composer-shadow-focus: 0 0 0 1px color-mix(in oklab, var(--foreground) 14%, transparent), 0 2px 6px -2px rgb(0 0 0 / .05), 0 8px 24px -12px rgb(0 0 0 / .08)}@media(prefers-color-scheme:dark){:root{--primary: var(--ast-ink);--primary-foreground: var(--ast-canvas);--secondary: rgb(255 255 255 / 8%);--muted: rgb(255 255 255 / 8%);--accent: rgb(255 255 255 / 8%);--shadow-control: 0 0 0 1px oklch(1 0 0 / .06);--shadow-row: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel: 0 0 0 1px oklch(1 0 0 / .06);--shadow-panel-hover: 0 0 0 1px oklch(1 0 0 / .12);--shadow-overlay: 0 20px 56px -16px oklch(0 0 0 / .72), 0 0 0 1px oklch(1 0 0 / .08);--app-rail-muted: #a1a1aa;--app-rail-hover: rgb(255 255 255 / 8%);--app-rail-active: color-mix(in srgb, #ffffff 10%, transparent);--app-rail-active-ink: var(--ast-ink);--app-rail-edge-shadow: inset -8px 0 12px -8px rgb(0 0 0 / 40%);--app-nav-rail-bg: #000000;--app-workspace-bg: #131313;--app-session-rail-bg: #131313;--ast-ink: #ececec;--ast-secondary-ink: color-mix(in oklab, #ffffff 74%, transparent);--ast-muted-ink: color-mix(in oklab, #ffffff 62%, transparent);--ast-faint: color-mix(in oklab, #ffffff 56%, transparent);--ast-placeholder: #9a9a9a;--ast-brand-hover: #f2f0ec;--ast-brand-deep: #bdbdbd;--ast-brand-ink: #a3a3a3;--ast-brand-ink-hover: #b0b0b0;--ast-action: #a3a3a3;--ast-action-hover: #d8d6cf;--ast-line: color-mix(in oklab, #ffffff 8%, transparent);--ast-line-strong: color-mix(in oklab, #ffffff 14%, transparent);--ast-line-hover: oklch(1 0 0 / 18%);--ast-divider: color-mix(in oklab, #ffffff 4%, transparent);--ast-surface: #303030;--ast-canvas: #181818;--ast-panel: #212121;--ast-navy: #020e19;--ast-navy-deep: #010810;--ast-sky-soft: #1f1f1f;--ast-sky-mid: #313131;--ast-positive: oklch(.62 .15 145);--ast-warning: oklch(.7 .16 85);--ast-info: #8ed1ff;--ast-danger: oklch(.704 .191 22.216);--ast-band-foreground: #020e19;--ast-band-line: rgb(2 14 25 / .25);--ast-shadow-float: 0 18px 48px rgb(0 0 0 / .34);--ast-shadow-runtime: 0 28px 80px rgb(0 0 0 / .38);--ast-shadow-panel: 0 1px 2px rgb(0 0 0 / .4), 0 2px 6px rgb(0 0 0 / .32);--ast-shadow-composer: 0 0 0 1px rgb(255 255 255 / .12), 0 4px 12px rgb(0 0 0 / .4);--ast-composer-surface: rgb(26 27 30 / .82);--ast-chart-claude: #d95926;--ast-chart-codex: #3987e5;--ast-chart-hermes: #199e70;--ast-chart-pi: #a78bfa;--ast-chart-cost-lo: #6da7ec;--ast-chart-cost-mid: #3987e5;--ast-chart-cost-hi: #184f95;--ast-chart-time: #9085e9;--color-border-subtle: color-mix(in oklab, #ffffff 8%, transparent);--color-surface-subtle: color-mix(in oklab, #ffffff 4%, transparent);--color-accent-muted: color-mix(in oklab, var(--ast-sky-soft) 20%, transparent);--color-diff-add: oklch(.62 .17 145);--color-diff-del: oklch(.52 .22 27);--bubble-user: rgb(255 255 255 / 6%);--bubble-user-foreground: var(--foreground);--bubble-assistant: color-mix(in oklab, var(--ast-surface) 60%, transparent);--composer-border: rgba(255, 255, 255, .16);--composer-border-focus: rgba(255, 255, 255, .24);--composer-shadow: none;--composer-shadow-focus: none}}:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #0d4372;--ast-brand-deep: #0c3b65;--ast-brand-ink: #0f4c81;--ast-brand-ink-hover: #0e4474;--ast-brand-foreground: #ffffff;--ast-action: #0e4474;--ast-sky: #0f4c81;--ast-sky-soft: #f4f8fc;--ast-sky-mid: #dce8f3;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #54427a;--ast-brand-deep: #442f6d;--ast-brand-ink: #5f4b8b;--ast-brand-ink-hover: #513d7c;--ast-brand-foreground: #ffffff;--ast-action: #513d7c;--ast-sky: #5f4b8b;--ast-sky-soft: #f7f5fe;--ast-sky-mid: #e8e2fc;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #a52140;--ast-brand-deep: #930231;--ast-brand-ink: #bb2649;--ast-brand-ink-hover: #a90b3b;--ast-brand-foreground: #ffffff;--ast-action: #a90b3b;--ast-sky: #bb2649;--ast-sky-soft: #fff4f4;--ast-sky-mid: #ffdddf;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #e0a786;--ast-brand-deep: #7e3b03;--ast-brand-ink: #a85416;--ast-brand-ink-hover: #964702;--ast-brand-foreground: #1a1c1f;--ast-action: #964702;--ast-sky: #ffbe98;--ast-sky-soft: #fef5f0;--ast-sky-mid: #fedfce;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #906a58;--ast-brand-deep: #6d4533;--ast-brand-ink: #8c614e;--ast-brand-ink-hover: #7c5340;--ast-brand-foreground: #000000;--ast-action: #7c5340;--ast-sky: #a47864;--ast-sky-soft: #fef5f1;--ast-sky-mid: #f4e2da;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #789b42;--ast-brand-deep: #3c5702;--ast-brand-ink: #527603;--ast-brand-ink-hover: #476601;--ast-brand-foreground: #1a1c1f;--ast-action: #476601;--ast-sky: #88b04b;--ast-sky-soft: #f3faeb;--ast-sky-mid: #ddedcb;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #008265;--ast-brand-deep: #03553f;--ast-brand-ink: #047a5f;--ast-brand-ink-hover: #036d54;--ast-brand-foreground: #000000;--ast-action: #036d54;--ast-sky: #009473;--ast-sky-soft: #eafbf5;--ast-sky-mid: #ccf0e2;--ring: var(--ast-brand-deep)}@media(prefers-color-scheme:dark){:root[data-accent=blue]{--ast-brand: #0f4c81;--ast-brand-hover: #2c6190;--ast-brand-deep: #b3d1ef;--ast-brand-ink: #7fb0e0;--ast-brand-ink-hover: #93bde6;--ast-brand-foreground: #ffffff;--ast-action: #7fb0e0;--ast-sky: #0f4c81;--ast-sky-soft: #121c26;--ast-sky-mid: #1d3044;--ring: var(--ast-brand-deep)}:root[data-accent=ultraviolet]{--ast-brand: #5f4b8b;--ast-brand-hover: #726199;--ast-brand-deep: #c0adf5;--ast-brand-ink: #a591d8;--ast-brand-ink-hover: #b29ee5;--ast-brand-foreground: #ffffff;--ast-action: #a591d8;--ast-sky: #5f4b8b;--ast-sky-soft: #201a2d;--ast-sky-mid: #332b47;--ring: var(--ast-brand-deep)}:root[data-accent=vivamagenta]{--ast-brand: #bb2649;--ast-brand-hover: #c3405f;--ast-brand-deep: #fe9ca6;--ast-brand-ink: #ff6c82;--ast-brand-ink-hover: #fe8492;--ast-brand-foreground: #ffffff;--ast-action: #ff6c82;--ast-sky: #bb2649;--ast-sky-soft: #301418;--ast-sky-mid: #4e1f26;--ring: var(--ast-brand-deep)}:root[data-accent=peachfuzz]{--ast-brand: #ffbe98;--ast-brand-hover: #ffc6a4;--ast-brand-deep: #fda26a;--ast-brand-ink: #df864e;--ast-brand-ink-hover: #ed935b;--ast-brand-foreground: #1a1c1f;--ast-action: #df864e;--ast-sky: #ffbe98;--ast-sky-soft: #2f1708;--ast-sky-mid: #4a250d;--ring: var(--ast-brand-deep)}:root[data-accent=mochamousse]{--ast-brand: #a47864;--ast-brand-hover: #af8877;--ast-brand-deep: #ddae98;--ast-brand-ink: #c0927d;--ast-brand-ink-hover: #cd9f8a;--ast-brand-foreground: #000000;--ast-action: #c0927d;--ast-sky: #a47864;--ast-sky-soft: #271b15;--ast-sky-mid: #3e2b23;--ring: var(--ast-brand-deep)}:root[data-accent=greenery]{--ast-brand: #88b04b;--ast-brand-hover: #96b961;--ast-brand-deep: #9cc560;--ast-brand-ink: #81a943;--ast-brand-ink-hover: #8db651;--ast-brand-foreground: #1a1c1f;--ast-action: #81a943;--ast-sky: #88b04b;--ast-sky-soft: #182209;--ast-sky-mid: #26360b;--ring: var(--ast-brand-deep)}:root[data-accent=emerald]{--ast-brand: #009473;--ast-brand-hover: #1fa184;--ast-brand-deep: #58cba7;--ast-brand-ink: #36af8c;--ast-brand-ink-hover: #47bc99;--ast-brand-foreground: #000000;--ast-action: #36af8c;--ast-sky: #009473;--ast-sky-soft: #05241b;--ast-sky-mid: #043a2c;--ring: var(--ast-brand-deep)}}.type-overline{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--ast-faint)}.type-meta{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-meta--letter-spacing)}.type-label{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-medium);letter-spacing:var(--text-ui--letter-spacing)}.type-caption{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-body{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-body-sm{font-size:var(--text-ui);line-height:var(--text-ui--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-ui--letter-spacing)}.type-prose{font-size:var(--text-prose);line-height:var(--text-prose--line-height);font-weight:var(--font-weight-normal);letter-spacing:var(--text-prose--letter-spacing)}.type-title-sm{font-size:var(--text-subhead);line-height:var(--text-subhead--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-subhead--letter-spacing)}.type-title{font-size:var(--text-title);line-height:var(--text-title--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-title--letter-spacing)}.type-metric{font-size:var(--text-display);line-height:var(--text-display--line-height);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-display--letter-spacing)}.app-section-label{font-size:var(--text-meta);line-height:var(--text-meta--line-height);font-weight:var(--font-weight-medium);letter-spacing:.04em;color:var(--ast-faint)}:root{color-scheme:light dark;--canvas: var(--ast-canvas);--panel: var(--ast-panel);--surface: var(--ast-surface);--ink: var(--ast-ink);--secondary-ink: var(--ast-secondary-ink);--muted-ink: var(--ast-muted-ink);--faint: var(--ast-faint);--placeholder: var(--ast-placeholder);--line: var(--ast-line);--line-strong: var(--ast-line-strong);--line-hover: var(--ast-line-hover);--brand: var(--ast-brand-deep);--brand-sky: var(--app-rail-active);--action: var(--ast-action);--primary-ink: var(--primary-foreground);--danger: var(--ast-danger);--success: var(--ast-positive);--rail-bg: var(--canvas);--rail-ink: var(--app-rail-ink);--rail-muted: var(--app-rail-muted);--rail-hover: var(--app-rail-hover);--rail-active: color-mix(in srgb, var(--ink) 8%, transparent);--rail-active-ink: var(--ink);--rail-row-height: var(--app-rail-row-height);--rail-row-radius: var(--app-rail-row-radius);--rail-label-size: var(--app-rail-label-size);--rail-section-gap: var(--app-rail-section-gap);--rail-header-height: var(--app-rail-header-height);--sidebar-width: var(--app-rail-width);--reading: var(--container-reading)}:root[data-accent]{--rail-active: var(--app-rail-active);--rail-active-ink: var(--app-rail-active-ink)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:400 var(--text-ui) / var(--text-ui--line-height) var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;cursor:default}button,input,select,textarea{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body{margin:0;background:var(--panel);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-ui)}main{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid var(--line-strong)}.dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--danger)}main[data-state=paused] .dot{background:var(--muted-ink)}main[data-state=ended] .dot{background:var(--faint)}p{flex:1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}button{height:26px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}button.stop{border-color:var(--danger);color:var(--danger)}#tabs{display:flex;align-items:center;height:36px;gap:4px;padding:0 12px;overflow-x:auto}#tabs button{flex-shrink:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#tabs button[aria-pressed=true]{background:var(--line-strong)}html,body{height:100%;overflow:hidden}main{height:100%;border:1px solid var(--danger);border-radius:var(--radius-control)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentsky/desktop-ui",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.110",
|
|
4
4
|
"description": "The AgentSky for Mac interface, prebuilt: the pages the app's windows show, served by the app's shell from this package's dist/.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"private": false,
|