@bitkyc08/opencodex 2.66.0-preview.20260925 → 2.67.0-preview.20260926
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/bin/ocx.mjs +24 -11
- package/gui/dist/assets/{App-BVjA0T6O.js → App-B3VRRYSj.js} +15 -15
- package/gui/dist/assets/{App-gkoJIEOV.css → App-BJsT8Icc.css} +1 -1
- package/gui/dist/assets/{Tray-BCFtiWwD.js → Tray-TYAA0EQY.js} +1 -1
- package/gui/dist/assets/index-9Ju7nHsu.js +86 -0
- package/gui/dist/assets/index-DtNmX7hW.css +1 -0
- package/gui/dist/assets/{tray-data-C4FiNaxk.js → tray-data-xKfS2gSG.js} +1 -1
- package/gui/dist/index.html +2 -2
- package/package.json +1 -1
- package/src/chat/inbound.ts +82 -3
- package/src/chat/outbound.ts +5 -3
- package/src/claude/desktop-first-party.ts +12 -3
- package/src/claude/first-party-settings.ts +97 -0
- package/src/claude/intercept/client-class.ts +18 -0
- package/src/claude/intercept/listener.ts +5 -0
- package/src/claude/intercept/runtime.ts +6 -0
- package/src/cli/capabilities.ts +12 -0
- package/src/cli/claude-desktop.ts +11 -6
- package/src/cli/claude.ts +25 -1
- package/src/cli/ensure-desired-integrations.ts +14 -1
- package/src/cli/integrations.ts +9 -1
- package/src/cli/uninstall-client-state.ts +6 -0
- package/src/cli/uninstall-integrations.ts +115 -0
- package/src/codex/history-job.ts +2 -1
- package/src/codex/main-account-hard-lock.ts +36 -19
- package/src/codex/quota.ts +11 -1
- package/src/combos/resolve.ts +11 -3
- package/src/config/load-degrade.ts +4 -0
- package/src/generated/compatibility-version.json +67 -43
- package/src/generated/worker-bundles.gen.ts +4 -0
- package/src/images/loop.ts +10 -3
- package/src/integrations/aside-profile-context.ts +17 -0
- package/src/lab/fabric/executor.ts +25 -3
- package/src/lab/fabric/producer-isolate.ts +199 -32
- package/src/lab/fabric/scratch.ts +9 -2
- package/src/lib/shadow-call.ts +11 -4
- package/src/lib/worker-embed.ts +33 -0
- package/src/oauth/generic-account-failover.ts +5 -3
- package/src/oauth/index.ts +19 -29
- package/src/oauth/store.ts +106 -34
- package/src/remote-control/workspace-rpc.ts +114 -19
- package/src/router.ts +7 -1
- package/src/server/chat-completions.ts +2 -1
- package/src/server/index/claude-intercept-lifecycle.ts +13 -0
- package/src/server/management/agent-settings-routes.ts +123 -5
- package/src/server/management/context.ts +4 -0
- package/src/server/management/native-integration-routes.ts +19 -8
- package/src/server/responses/core-normalize.ts +13 -1
- package/src/server/responses/request-prepare.ts +5 -3
- package/src/server/responses/sidecar-execution.ts +9 -2
- package/src/server/search.ts +28 -7
- package/src/storage/policy-job.ts +2 -1
- package/src/storage/restore-job.ts +2 -1
- package/src/types/config.ts +11 -5
- package/src/update/transactional-install.mjs +5 -1
- package/src/web-search/alpha-search.ts +71 -0
- package/src/web-search/devin-executor.ts +192 -0
- package/src/web-search/loop.ts +10 -3
- package/gui/dist/assets/index-ComVsdSk.css +0 -1
- package/gui/dist/assets/index-vO4dgfiU.js +0 -86
|
@@ -1 +1 @@
|
|
|
1
|
-
.codex-account-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.codex-account-auto-switch{flex:none;align-items:center;gap:7px;min-width:0;display:flex}.codex-account-auto-switch-label{font-size:var(--text-label);color:var(--muted);font-weight:var(--weight-medium);white-space:nowrap}.codex-account-auto-switch-input-wrap{align-items:stretch;display:inline-flex;position:relative}.codex-account-auto-switch-input{width:76px;height:30px;font-size:var(--text-label);text-align:right;padding:4px 38px 4px 8px}.codex-account-auto-switch-unit{color:var(--muted);font-size:var(--text-label);pointer-events:none;position:absolute;top:50%;right:25px;transform:translateY(-50%)}.codex-account-auto-switch-input-wrap .ocx-stepper{width:22px}.codex-account-auto-switch-toggle{transform-origin:50%;margin-inline:-3px;transform:scale(.8)}.remote-link-page{gap:var(--space-4);display:grid}.remote-link-page .page-head{align-items:flex-start}.remote-link-page .page-sub{max-width:var(--prose-measure);margin:0}.remote-link-panel{gap:var(--space-4);display:grid}.remote-link-off-preview{min-height:260px;position:relative;overflow:hidden}.remote-link-off-preview:after{content:"";pointer-events:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:color-mix(in srgb, var(--bg) 24%, transparent);position:absolute;inset:0}.remote-link-preview-content{gap:var(--space-3);filter:grayscale();opacity:.64;-webkit-user-select:none;user-select:none;display:grid}.remote-link-preview-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);display:flex}.remote-link-preview-lines{gap:var(--space-2);width:min(55%,300px);display:grid}.remote-link-preview-lines span{border-radius:var(--radius-pill);background:var(--border);height:8px;display:block}.remote-link-switch-row{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:relative}.remote-link-switch{width:var(--control-touch);height:var(--control-md);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--toggle-off-bg);cursor:pointer;padding:3px}.remote-link-switch:after{content:"";background:var(--toggle-dot-color);width:24px;height:24px;transition:transform var(--motion-fast) ease;border-radius:50%;display:block}.remote-link-switch[aria-checked=true]{background:var(--toggle-on-bg)}.remote-link-switch[aria-checked=true]:after{transform:translate(16px)}.remote-link-switch:focus-visible,.remote-link-role-card:focus-visible,.remote-link-sheet button:focus-visible,.remote-link-row button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.remote-link-role-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.remote-link-role-card{min-height:132px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);text-align:left;cursor:pointer}.remote-link-role-card:hover{background:var(--raised-hover)}.remote-link-role-card[aria-disabled=true]{color:var(--muted);cursor:not-allowed;opacity:.72}.remote-link-role-card[aria-disabled=true]:hover{background:var(--raised)}.remote-link-role-card[aria-checked=true]{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.remote-link-role-card strong,.remote-link-role-card span{display:block}.remote-link-role-card span{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-label)}.remote-link-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.remote-link-status{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-label);display:inline-flex}.remote-link-status:before{content:"";background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.remote-link-status[data-state=connected]:before{background:var(--green)}.remote-link-status[data-state=reconnecting]:before{background:var(--amber)}.remote-link-status[data-state=failed]:before{background:var(--red)}.remote-link-status[data-state=connecting]:before{background:var(--amber)}.remote-link-children{gap:var(--space-2);display:grid}.remote-link-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.remote-link-row-main{gap:var(--space-2);min-width:0;display:grid}.remote-link-row-meta{gap:var(--space-3);color:var(--muted);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.remote-link-row .btn{min-height:var(--control-touch)}.remote-link-error{color:var(--red)}.remote-link-info{color:var(--muted);font-size:var(--text-label)}.remote-link-restart{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);display:grid}.remote-link-restart p{color:var(--muted);margin:0}.remote-link-fingerprint{padding:var(--space-3);overflow-wrap:anywhere;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);font-family:var(--font-code);font-size:var(--text-label);margin:0}.remote-link-workspace-card{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.remote-link-workspace-card p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-label)}.remote-link-sheet{width:min(620px, calc(100vw - var(--space-4)));max-height:min(760px, calc(100dvh - var(--space-4)));padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:var(--text);box-shadow:var(--shadow);margin:auto;overflow:auto}.remote-link-sheet::backdrop{background:color-mix(in srgb, var(--text) 24%, transparent)}.remote-link-sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.remote-link-sheet-head h3{font-size:var(--text-title);margin:0}.remote-link-sheet-body{gap:var(--space-4);margin-top:var(--space-5);display:grid}.remote-link-candidates{gap:var(--space-2);display:grid}.remote-link-candidate{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control-touch);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);cursor:pointer;text-align:left;display:flex}.remote-link-candidate:hover{background:var(--raised-hover)}.remote-link-form{gap:var(--space-2);display:grid}.remote-link-form .field-label{margin-bottom:0}.remote-link-sheet-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.remote-link-confirm-dialog{width:min(460px, calc(100vw - var(--space-4)));padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);box-shadow:var(--shadow);margin:auto}.remote-link-confirm-dialog::backdrop{background:color-mix(in srgb, var(--text) 24%, transparent)}.remote-link-confirm-dialog h3{font-size:var(--text-subtitle);margin:0}.remote-link-confirm-dialog p{color:var(--muted)}@media (width<=620px){.remote-link-role-grid{grid-template-columns:1fr}.remote-link-workspace-card,.remote-link-switch-row{flex-direction:column;align-items:stretch}.remote-link-switch{align-self:flex-start}.remote-link-sheet{width:calc(100vw - var(--space-2));border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:88dvh;margin:auto auto 0}}@media (prefers-reduced-motion:reduce){.remote-link-page *,.remote-link-page :before,.remote-link-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.quota-summary-bar{z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:var(--bg);min-height:34px;font-size:var(--text-label);align-items:center;gap:12px;padding:4px 16px;display:flex;position:sticky;top:0}.quota-summary-list{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.quota-summary-item{position:relative}.quota-summary-chip{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.quota-summary-chip:hover,.quota-summary-chip[aria-expanded=true]{border-color:var(--border)}.quota-summary-chip:focus-visible{outline:2px solid var(--text);outline-offset:1px}.quota-summary-name{color:var(--muted)}.quota-summary-pct{font-variant-numeric:tabular-nums;font-weight:600}.quota-summary-flag{width:14px;height:14px;color:var(--bg);font-size:var(--text-micro);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.quota-summary-item--warn .quota-summary-chip{background:var(--amber-soft)}.quota-summary-item--warn .quota-summary-pct{color:var(--amber)}.quota-summary-item--warn .quota-summary-flag{background:var(--amber)}.quota-summary-item--critical .quota-summary-chip{border-color:var(--red);background:var(--red-soft)}.quota-summary-item--critical .quota-summary-pct{color:var(--red)}.quota-summary-item--critical .quota-summary-flag{background:var(--red)}.quota-summary-popover{z-index:var(--z-popover);border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:260px;padding:10px 12px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000024}.quota-summary-popover-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.quota-summary-badge{font-size:var(--text-caption);border-radius:999px;padding:1px 6px}.quota-summary-badge--warn{color:var(--amber);background:var(--amber-soft)}.quota-summary-badge--critical{color:var(--red);background:var(--red-soft)}.quota-summary-table{border-collapse:collapse;width:100%}.quota-summary-table th,.quota-summary-table td{text-align:left;white-space:nowrap;padding:3px 0;font-weight:400}.quota-summary-table td.quota-summary-row-pct{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding:3px 12px;font-weight:600}.quota-summary-row-reset{color:var(--muted);white-space:nowrap}.quota-summary-table th[scope=row]{white-space:normal;overflow-wrap:anywhere}.quota-summary-row--warn .quota-summary-row-pct{color:var(--amber)}.quota-summary-row--critical .quota-summary-row-pct{color:var(--red)}.quota-summary-popover-foot{color:var(--muted);font-size:var(--text-caption);margin-top:6px}.quota-summary-updated{color:var(--muted);font-size:var(--text-caption);white-space:nowrap;flex-shrink:0}.quota-summary-updated--stale{color:var(--amber)}.main:has(>.quota-summary-bar):has(>.main-inner--combos .combos-workspace-shell){flex-direction:column;height:100dvh;display:flex}.main:has(>.quota-summary-bar)>.main-inner.main-inner--combos:has(.combos-workspace-shell){flex:auto;height:auto;min-height:0}@media (width<=760px){.quota-summary-bar{padding:4px 10px;position:static}.quota-summary-popover{min-width:0;margin-top:4px;position:fixed;top:auto;left:8px;right:8px}.main:has(>.quota-summary-bar):has(>.main-inner--combos .combos-workspace-shell){height:100%;min-height:0}}
|
|
1
|
+
.codex-account-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.codex-account-auto-switch{flex:none;align-items:center;gap:7px;min-width:0;display:flex}.codex-account-auto-switch-label{font-size:var(--text-label);color:var(--muted);font-weight:var(--weight-medium);white-space:nowrap}.codex-account-auto-switch-input-wrap{align-items:stretch;display:inline-flex;position:relative}.codex-account-auto-switch-input{width:76px;height:30px;font-size:var(--text-label);text-align:right;padding:4px 38px 4px 8px}.codex-account-auto-switch-unit{color:var(--muted);font-size:var(--text-label);pointer-events:none;position:absolute;top:50%;right:25px;transform:translateY(-50%)}.codex-account-auto-switch-input-wrap .ocx-stepper{width:22px}.codex-account-auto-switch-toggle{transform-origin:50%;margin-inline:-3px;transform:scale(.8)}.remote-link-page{gap:var(--space-4);display:grid}.remote-link-page .page-head{align-items:flex-start}.remote-link-page .page-sub{max-width:var(--prose-measure);margin:0}.remote-link-panel{gap:var(--space-4);display:grid}.remote-link-off-preview{min-height:260px;position:relative;overflow:hidden}.remote-link-off-preview:after{content:"";pointer-events:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:color-mix(in srgb, var(--bg) 24%, transparent);position:absolute;inset:0}.remote-link-preview-content{gap:var(--space-3);filter:grayscale();opacity:.64;-webkit-user-select:none;user-select:none;display:grid}.remote-link-preview-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);display:flex}.remote-link-preview-lines{gap:var(--space-2);width:min(55%,300px);display:grid}.remote-link-preview-lines span{border-radius:var(--radius-pill);background:var(--border);height:8px;display:block}.remote-link-switch-row{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:relative}.remote-link-switch{width:var(--control-touch);height:var(--control-md);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--toggle-off-bg);cursor:pointer;padding:3px}.remote-link-switch:after{content:"";background:var(--toggle-dot-color);width:24px;height:24px;transition:transform var(--motion-fast) ease;border-radius:50%;display:block}.remote-link-switch[aria-checked=true]{background:var(--toggle-on-bg)}.remote-link-switch[aria-checked=true]:after{transform:translate(16px)}.remote-link-switch:focus-visible,.remote-link-role-card:focus-visible,.remote-link-sheet button:focus-visible,.remote-link-row button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.remote-link-role-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.remote-link-role-card{min-height:132px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);text-align:left;cursor:pointer}.remote-link-role-card:hover{background:var(--raised-hover)}.remote-link-role-card[aria-disabled=true]{color:var(--muted);cursor:not-allowed;opacity:.72}.remote-link-role-card[aria-disabled=true]:hover{background:var(--raised)}.remote-link-role-card[aria-checked=true]{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.remote-link-role-card strong,.remote-link-role-card span{display:block}.remote-link-role-card span{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-label)}.remote-link-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.remote-link-status{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-label);display:inline-flex}.remote-link-status:before{content:"";background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.remote-link-status[data-state=connected]:before{background:var(--green)}.remote-link-status[data-state=reconnecting]:before{background:var(--amber)}.remote-link-status[data-state=failed]:before{background:var(--red)}.remote-link-status[data-state=connecting]:before{background:var(--amber)}.remote-link-children{gap:var(--space-2);display:grid}.remote-link-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.remote-link-row-main{gap:var(--space-2);min-width:0;display:grid}.remote-link-row-meta{gap:var(--space-3);color:var(--muted);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.remote-link-row .btn{min-height:var(--control-touch)}.remote-link-error{color:var(--red)}.remote-link-info{color:var(--muted);font-size:var(--text-label)}.remote-link-restart{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);display:grid}.remote-link-restart p{color:var(--muted);margin:0}.remote-link-fingerprint{padding:var(--space-3);overflow-wrap:anywhere;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);font-family:var(--font-code);font-size:var(--text-label);margin:0}.remote-link-workspace-card{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.remote-link-workspace-card p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-label)}.remote-link-sheet{width:min(620px, calc(100vw - var(--space-4)));max-height:min(760px, calc(100dvh - var(--space-4)));padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:var(--text);box-shadow:var(--shadow);margin:auto;overflow:auto}.remote-link-sheet::backdrop{background:color-mix(in srgb, var(--text) 24%, transparent)}.remote-link-sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.remote-link-sheet-head h3{font-size:var(--text-title);margin:0}.remote-link-sheet-body{gap:var(--space-4);margin-top:var(--space-5);display:grid}.remote-link-candidates{gap:var(--space-2);display:grid}.remote-link-candidate{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control-touch);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);cursor:pointer;text-align:left;display:flex}.remote-link-candidate:hover{background:var(--raised-hover)}.remote-link-form{gap:var(--space-2);display:grid}.remote-link-form .field-label{margin-bottom:0}.remote-link-sheet-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.remote-link-confirm-dialog{width:min(460px, calc(100vw - var(--space-4)));padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);box-shadow:var(--shadow);margin:auto}.remote-link-confirm-dialog::backdrop{background:color-mix(in srgb, var(--text) 24%, transparent)}.remote-link-confirm-dialog h3{font-size:var(--text-subtitle);margin:0}.remote-link-confirm-dialog p{color:var(--muted)}@media (width<=620px){.remote-link-role-grid{grid-template-columns:1fr}.remote-link-workspace-card,.remote-link-switch-row{flex-direction:column;align-items:stretch}.remote-link-switch{align-self:flex-start}.remote-link-sheet{width:calc(100vw - var(--space-2));border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:88dvh;margin:auto auto 0}}@media (prefers-reduced-motion:reduce){.remote-link-page *,.remote-link-page :before,.remote-link-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.quota-summary-bar{z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:var(--bg);min-height:34px;font-size:var(--text-label);align-items:center;gap:12px;padding:4px 16px;display:flex;position:sticky;top:0}.quota-summary-scroller{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.quota-summary-list{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;flex:auto;align-items:center;gap:4px;min-width:0;margin:0;padding:3px;list-style:none;display:flex;overflow:auto hidden}.quota-summary-list::-webkit-scrollbar{display:none}.quota-summary-item{flex:none}.quota-summary-scroll{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;place-items:center;padding:0;font-weight:600;line-height:1;display:inline-grid}.quota-summary-scroll:hover:not([aria-disabled=true]){background:var(--bg)}.quota-summary-scroll[aria-disabled=true]{color:var(--muted);opacity:.45;cursor:default}.quota-summary-scroll:focus-visible{outline:2px solid var(--text);outline-offset:1px}.quota-summary-chip{color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;text-decoration:none;display:inline-flex}.quota-summary-chip:hover,.quota-summary-chip--open{border-color:var(--border)}.quota-summary-chip:focus-visible{outline:2px solid var(--text);outline-offset:1px}.quota-summary-name{color:var(--muted)}.quota-summary-pct{font-variant-numeric:tabular-nums;font-weight:600}.quota-summary-flag{width:14px;height:14px;color:var(--bg);font-size:var(--text-micro);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.quota-summary-item--warn .quota-summary-chip{background:var(--amber-soft)}.quota-summary-item--warn .quota-summary-pct{color:var(--amber)}.quota-summary-item--warn .quota-summary-flag{background:var(--amber)}.quota-summary-item--critical .quota-summary-chip{border-color:var(--red);background:var(--red-soft)}.quota-summary-item--critical .quota-summary-pct{color:var(--red)}.quota-summary-item--critical .quota-summary-flag{background:var(--red)}.quota-summary-popover{top:calc(var(--qs-pop-top,0) * 1px);left:calc(var(--qs-pop-left,0) * 1px);z-index:var(--z-popover);border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:260px;max-width:calc(100% - 16px);padding:10px 12px;position:fixed;box-shadow:0 8px 24px #00000024}.quota-summary-popover-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.quota-summary-badge{font-size:var(--text-caption);border-radius:999px;padding:1px 6px}.quota-summary-badge--warn{color:var(--amber);background:var(--amber-soft)}.quota-summary-badge--critical{color:var(--red);background:var(--red-soft)}.quota-summary-table{border-collapse:collapse;width:100%}.quota-summary-table th,.quota-summary-table td{text-align:left;white-space:nowrap;padding:3px 0;font-weight:400}.quota-summary-table td.quota-summary-row-pct{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding:3px 12px;font-weight:600}.quota-summary-row-reset{color:var(--muted);white-space:nowrap}.quota-summary-table th[scope=row]{white-space:normal;overflow-wrap:anywhere}.quota-summary-row--warn .quota-summary-row-pct{color:var(--amber)}.quota-summary-row--critical .quota-summary-row-pct{color:var(--red)}.quota-summary-popover-foot{color:var(--muted);font-size:var(--text-caption);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:6px;display:flex}.quota-summary-updated{color:var(--muted);font-size:var(--text-caption);white-space:nowrap;flex-shrink:0}.quota-summary-updated--stale{color:var(--amber)}.main:has(>.quota-summary-bar):has(>.main-inner--combos .combos-workspace-shell){flex-direction:column;height:100dvh;display:flex}.main:has(>.quota-summary-bar)>.main-inner.main-inner--combos:has(.combos-workspace-shell){flex:auto;height:auto;min-height:0}@media (width<=760px){.quota-summary-bar{padding:4px 10px;position:static}.quota-summary-popover{top:calc(var(--qs-pop-top,0) * 1px);min-width:0;left:8px;right:8px}.main:has(>.quota-summary-bar):has(>.main-inner--combos .combos-workspace-shell){height:100%;min-height:0}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,T as t,n,v as r}from"./index-
|
|
1
|
+
import{E as e,T as t,n,v as r}from"./index-9Ju7nHsu.js";import{S as i,a,c as o,d as s,h as c,i as l,l as u,m as d,n as f,o as p,r as m,s as h,t as g,w as _}from"./tray-data-xKfS2gSG.js";var v=e(t(),1),y=n(),b=e=>e?.usageIncomplete||e?.historyTruncated||e?.entriesTruncated;function x(){let{t:e,locale:t}=r(),[n,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(!1),[w,T]=(0,v.useState)([null,null]),[E,D]=(0,v.useState)(!1),[O,k]=(0,v.useState)([]),[A,j]=(0,v.useState)(!1),[M,N]=(0,v.useState)(null),[P,F]=(0,v.useState)(!1),[I,L]=(0,v.useState)(null),[R,z]=(0,v.useState)(!1),[B,V]=(0,v.useState)(0),H=()=>V(e=>e+1);(0,v.useEffect)(()=>{document.documentElement.classList.add(`tray-document`);let e=null,t=!1,n=!0,r=!1,i=()=>!document.hidden&&(window.__OPENCODEX_TRAY_VISIBLE__??n),o=async()=>{if(!i()||t)return;t=!0,z(!0);let n=!1,s=new AbortController;e=s;let l=e=>g(e,s.signal),u=()=>!r&&!s.signal.aborted;try{let e=(async()=>{try{let e=h(await l(`/api/config`)),t=await Promise.all(e.map(async e=>{if(!e.path)return{name:e.name,accounts:[]};try{let t=await l(e.path);if(e.name===`openai`)try{t.activeCodexAccountId=(await l(`/api/codex-auth/active`)).activeCodexAccountId??`__main__`}catch{}return{name:e.name,accounts:a(t)}}catch{return{name:e.name,accounts:[],unavailable:!0}}}));u()&&(k(t),j(!1),n=!0)}catch{u()&&(k([]),j(!0))}})(),t=(async()=>{let e;try{if(e=(await l(`/api/companion/settings`)).settings,!e||!Array.isArray(e.hiddenProviders)||!(e.models===null||Array.isArray(e.models)))throw Error(`Invalid settings`);u()&&(x(e),C(!1))}catch{u()&&C(!0);return}let t=Promise.allSettled([`/api/usage?range=today`,`/api/usage?range=30d`].map(async t=>{let n=p(await l(t));return f(n,e)})).then(e=>{u()&&(n||=e.some(e=>e.status===`fulfilled`),T(e.map(e=>e.status===`fulfilled`?e.value:null)),D(e.some(e=>e.status===`rejected`)))}),r=(async()=>{if(!e.showChart)return;let t=c(e);try{let n=await l(`/api/usage/timeline?${t}`);u()&&(N(d(n,e)),F(!1))}catch{u()&&(N(null),F(!0))}})();await Promise.allSettled([t,r])})();await Promise.allSettled([e,t])}finally{t=!1,u()&&(z(!1),n&&L(Date.now())),!r&&s.signal.aborted&&i()&&o()}},s=()=>{i()?o():e?.abort()},l=()=>{n=!1,s()},u=()=>{n=!0,s()},m=e=>{let t=e.detail;typeof t==`boolean`&&(window.__OPENCODEX_TRAY_VISIBLE__=t),s()};o();let _=setInterval(()=>void o(),6e4);return document.addEventListener(`visibilitychange`,s),window.addEventListener(`blur`,l),window.addEventListener(`focus`,u),window.addEventListener(`opencodex:tray-visibility`,m),()=>{r=!0,e?.abort(),clearInterval(_),document.documentElement.classList.remove(`tray-document`),document.removeEventListener(`visibilitychange`,s),window.removeEventListener(`blur`,l),window.removeEventListener(`focus`,u),window.removeEventListener(`opencodex:tray-visibility`,m)}},[B]);let U=e=>m(e)?i(e,t):`—`,W=r=>{let i=r?l(r):void 0,a=i?.cacheReadInputTokens??i?.cachedInputTokens,o=m(a)&&m(i?.inputTokens)&&i.inputTokens>0?`${Math.round(a/i.inputTokens*100)}%`:`—`;return(0,y.jsxs)(`dl`,{children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`dt`,{children:e(`usage.card.totalTokens`)}),(0,y.jsx)(`dd`,{children:U(i?.totalTokens)})]}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`dt`,{children:e(`tray.input`)}),(0,y.jsxs)(`dd`,{children:[U(i?.inputTokens),` `,(0,y.jsx)(`small`,{title:e(`usage.card.cachedTokens`),children:e(`tray.cached`,{percent:o})})]})]}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`dt`,{children:e(`tray.output`)}),(0,y.jsx)(`dd`,{children:U(i?.outputTokens)})]}),n?.showCost&&(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`dt`,{title:e(`logs.metric.estimatedCostTitle`),children:e(`tray.cost`)}),(0,y.jsx)(`dd`,{title:m(i?.requests)&&m(i?.pricedRequests)&&i.pricedRequests<i.requests?e(`usage.cost.unpricedNote`,{count:i.requests-i.pricedRequests}):e(`logs.metric.estimatedCostTitle`),children:m(i?.estimatedCostUsd)?new Intl.NumberFormat(t,{style:`currency`,currency:`USD`,maximumFractionDigits:2}).format(i.estimatedCostUsd)+(m(i.pricedRequests)&&m(i.requests)&&i.pricedRequests<i.requests?`*`:``):`—`})]}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`dt`,{children:e(`usage.card.requests`)}),(0,y.jsx)(`dd`,{children:U(i?.requests)})]}),m(i?.requests)&&i.requests>0&&m(i.measuredRequests)&&i.measuredRequests<i.requests&&(0,y.jsxs)(`div`,{className:`tray-coverage`,title:e(`usage.coverage.note`),children:[(0,y.jsx)(`dt`,{children:e(`usage.card.coverage`)}),(0,y.jsxs)(`dd`,{children:[Math.round(i.measuredRequests/i.requests*100),`%`]})]})]})},G=new Set(n?.hiddenProviders??[]);return(0,y.jsxs)(`main`,{className:`tray-page`,children:[(0,y.jsxs)(`header`,{children:[(0,y.jsx)(`strong`,{children:`OpenCodex`}),(0,y.jsx)(`a`,{href:`/?desktop=open#/usage`,"aria-label":e(`sub.settings`),title:e(`sub.settings`),children:`⚙`})]}),S&&(0,y.jsxs)(`p`,{role:`alert`,className:`tray-error`,children:[e(`usage.companion.settingsUnavailable`),` `,(0,y.jsx)(`button`,{onClick:H,children:e(`common.retry`)})]}),!n&&!S&&(0,y.jsx)(`p`,{role:`status`,children:e(`common.loading`)}),n&&(0,y.jsxs)(`section`,{className:`tray-totals`,children:[n.showToday&&(0,y.jsxs)(`div`,{children:[(0,y.jsxs)(`h2`,{children:[e(`tray.today`),b(w[0])&&(0,y.jsx)(`span`,{title:e(`usage.incomplete`),"aria-label":e(`usage.incomplete`),children:` *`})]}),W(w[0]?.summary)]}),(0,y.jsxs)(`div`,{children:[(0,y.jsxs)(`h2`,{children:[e(`usage.range.30d`),b(w[1])&&(0,y.jsx)(`span`,{title:e(`usage.incomplete`),"aria-label":e(`usage.incomplete`),children:` *`})]}),W(w[1]?.summary)]})]}),E&&(0,y.jsxs)(`p`,{role:`alert`,className:`tray-error`,children:[e(`usage.loadError`),` `,(0,y.jsx)(`button`,{onClick:H,children:e(`common.retry`)})]}),n?.showChart&&(0,y.jsx)(`section`,{className:`tray-chart`,children:(0,y.jsx)(s,{timeline:M,chartStyle:n.chartStyle,hours:n.chartHours,loading:!M&&!P,error:P?e(`usage.companion.timelineUnavailable`):null,onRetry:H,locale:t,t:e})}),n?.showModels&&!!w[0]?.models.length&&(0,y.jsx)(`section`,{className:`tray-models`,"aria-label":e(`usage.section.models`),children:w[0].models.map(t=>(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`span`,{title:`${t.provider}/${t.model}`,children:t.model}),(0,y.jsxs)(`span`,{className:`tray-model-metrics`,children:[(0,y.jsx)(`span`,{title:e(`usage.card.requests`),children:e(`pws.dashboard.requests`,{count:U(t.requests)})}),(0,y.jsx)(`span`,{title:e(`usage.card.totalTokens`),children:U(l(t).totalTokens)})]})]},`${t.provider}/${t.model}`))}),(n?.showAccounts??!0)&&(0,y.jsxs)(`section`,{className:`tray-providers`,"aria-label":e(`usage.section.providers`),children:[A&&(0,y.jsxs)(`p`,{role:`alert`,className:`tray-error`,children:[e(`startup.tray.unavailable`),` `,(0,y.jsx)(`button`,{onClick:H,children:e(`common.retry`)})]}),O.filter(e=>!G.has(e.name)).map(n=>(0,y.jsxs)(`div`,{className:`tray-provider`,children:[(0,y.jsx)(`h2`,{children:_(n.name,e)}),!n.accounts.length&&(0,y.jsx)(`div`,{className:`tray-missing`,children:e(n.unavailable?`startup.tray.unavailable`:`pws.dashboard.noQuota`)}),n.accounts.map(n=>(0,y.jsxs)(`div`,{className:`tray-account`,children:[(0,y.jsxs)(`div`,{className:`tray-account-name`,title:n.label,children:[n.label,(0,y.jsxs)(`span`,{className:`tray-account-meta`,children:[n.plan,n.active&&(0,y.jsx)(`span`,{title:e(`prov.activeBadge`),"aria-label":e(`prov.activeBadge`),children:` ●`})]})]}),n.email&&n.email!==n.label&&(0,y.jsx)(`div`,{className:`tray-account-email`,children:n.email}),!o(n.quota).length&&(0,y.jsx)(`div`,{className:`tray-missing`,children:e(n.unavailable?`startup.tray.unavailable`:`pws.dashboard.noQuota`)}),o(n.quota).map(n=>{let r=`key`in n?e(n.key):n.label,i=u(n.reset,t),a=m(n.percent)?Math.min(100,n.percent):null;return(0,y.jsxs)(`div`,{className:`tray-quota`,children:[(0,y.jsx)(`span`,{title:r,children:r}),(0,y.jsx)(`span`,{children:a===null?`—`:`${Math.round(a)}%`}),(0,y.jsx)(`span`,{className:`tray-bar`,role:a===null?`img`:`meter`,"aria-label":a===null?`${r}: ${e(`pws.dashboard.noQuota`)}`:r,"aria-valuemin":a===null?void 0:0,"aria-valuemax":a===null?void 0:100,"aria-valuenow":a??void 0,"aria-valuetext":a===null?void 0:`${Math.round(a)}%`,children:(0,y.jsx)(`i`,{style:{width:a===null?`0%`:`${a}%`}})}),(0,y.jsx)(`time`,{title:i.exact,children:i.text})]},n.id)})]},n.id))]},n.name))]}),(0,y.jsxs)(`div`,{className:`tray-refresh`,children:[(0,y.jsx)(`button`,{type:`button`,onClick:H,disabled:R,children:e(`startup.refresh`)}),(0,y.jsx)(`span`,{role:`status`,children:e(`tray.updated`,{time:I===null?`—`:new Date(I).toLocaleTimeString(t,{hour:`2-digit`,minute:`2-digit`})})})]}),(0,y.jsx)(`footer`,{children:(0,y.jsxs)(`a`,{href:`/?desktop=open#/usage`,children:[e(`nav.dashboard`),` `,(0,y.jsx)(`span`,{"aria-hidden":`true`,children:`↗`})]})})]})}export{x as default};
|