@bitkyc08/opencodex 2.64.0-preview.20260923 → 2.65.0-preview.20260925
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/README.md +28 -25
- package/bin/ocx.mjs +16 -2
- package/gui/dist/assets/App-8NMiZxT0.css +1 -0
- package/gui/dist/assets/App-CsYvvpr3.js +50 -0
- package/gui/dist/assets/Tray-DUvc_Wul.js +1 -0
- package/gui/dist/assets/{index-DiBRuK-d.css → index--EWgGQvZ.css} +1 -1
- package/gui/dist/assets/{index-BEq4OCOz.js → index-BB0iHG8-.js} +12 -12
- package/gui/dist/assets/tray-data-f0lTZ4sF.js +1 -0
- package/gui/dist/index.html +2 -2
- package/package.json +1 -4
- package/src/adapters/anthropic.ts +30 -1
- package/src/adapters/claude-cli/adapter.ts +218 -0
- package/src/adapters/claude-cli/profiles.ts +38 -0
- package/src/adapters/codebuddy/profiles.ts +2 -0
- package/src/adapters/coding-agent/profile.ts +12 -4
- package/src/adapters/coding-agent/turn.ts +16 -6
- package/src/adapters/command-code-tool-text.ts +133 -23
- package/src/adapters/cursor/catalog.ts +4 -8
- package/src/adapters/cursor/discovery.ts +10 -5
- package/src/adapters/cursor/effort-map.ts +2 -6
- package/src/adapters/cursor/envelope-echo.ts +10 -5
- package/src/adapters/cursor/request-builder.ts +9 -4
- package/src/adapters/cursor/thread-continuity.ts +53 -0
- package/src/adapters/cursor.ts +29 -13
- package/src/adapters/devin/cloud-direct/chat.ts +3 -1
- package/src/adapters/google-tool-schema.ts +26 -3
- package/src/adapters/identity.ts +214 -2
- package/src/adapters/openai-chat/passthrough.ts +1 -0
- package/src/adapters/openai-chat/serialized-tool-call-content.ts +569 -0
- package/src/adapters/openai-chat.ts +43 -15
- package/src/adapters/openai-responses/canonical-forward.ts +17 -10
- package/src/adapters/openai-responses/passthrough.ts +19 -4
- package/src/adapters/openai-responses/request-strips.ts +25 -0
- package/src/adapters/openai-responses/web-search.ts +22 -4
- package/src/adapters/qoder/profiles.ts +2 -0
- package/src/adapters/registry.ts +8 -0
- package/src/adapters/run-turn-queue.ts +7 -0
- package/src/bridge/response-json.ts +6 -4
- package/src/bridge/sse.ts +7 -5
- package/src/claude/alias.ts +73 -26
- package/src/claude/context-windows.ts +15 -6
- package/src/claude/desktop-3p-library.ts +3 -2
- package/src/claude/desktop-3p.ts +1 -1
- package/src/claude/desktop-first-party.ts +63 -22
- package/src/claude/desktop-picker-profile.ts +302 -0
- package/src/claude/desktop-picker.ts +365 -0
- package/src/claude/desktop-risk.ts +20 -0
- package/src/claude/gateway-cache.ts +13 -4
- package/src/claude/inbound.ts +5 -2
- package/src/claude/intercept/connect-proxy.ts +106 -29
- package/src/claude/intercept/local-ca.ts +76 -18
- package/src/claude/intercept/model-bindings.ts +145 -0
- package/src/claude/intercept/picker-bootstrap.ts +141 -0
- package/src/claude/intercept/picker-ca.ts +126 -0
- package/src/claude/intercept/picker-listener.ts +213 -0
- package/src/claude/intercept/picker-models.ts +101 -0
- package/src/claude/intercept/picker-runtime.ts +330 -0
- package/src/claude/intercept/picker-trust.ts +125 -0
- package/src/claude/intercept/runtime.ts +149 -2
- package/src/claude/model-info.ts +18 -4
- package/src/cli/agent.ts +16 -2
- package/src/cli/capabilities.ts +71 -2
- package/src/cli/claude-desktop.ts +319 -33
- package/src/cli/claude.ts +15 -7
- package/src/cli/codex-shim-autorestore.ts +1 -0
- package/src/cli/dispatch.ts +29 -23
- package/src/cli/effort.ts +16 -6
- package/src/cli/ensure-desired-integrations.ts +29 -4
- package/src/cli/ready.ts +1 -1
- package/src/cli/registry.ts +8 -0
- package/src/cli/restart-scope.ts +9 -1
- package/src/cli/runtime-api.ts +17 -0
- package/src/cli/system-command.ts +11 -12
- package/src/client/connect.ts +12 -2
- package/src/client/state.ts +39 -1
- package/src/clients/config-export.ts +57 -9
- package/src/codex/auth-context.ts +51 -11
- package/src/codex/catalog/derive-entry.ts +5 -5
- package/src/codex/catalog/gather-capture.ts +25 -6
- package/src/codex/catalog/metadata.ts +3 -3
- package/src/codex/catalog/parsing.ts +39 -1
- package/src/codex/catalog/provider-models.ts +8 -6
- package/src/codex/catalog/retained-sync.ts +17 -7
- package/src/codex/catalog/sync.ts +2 -2
- package/src/codex/desktop-app-restart.ts +8 -0
- package/src/codex/desktop-switches.ts +9 -1
- package/src/codex/home.ts +43 -4
- package/src/codex/inject/config-toml.ts +137 -0
- package/src/codex/inject/plan.ts +23 -0
- package/src/codex/inject/remove.ts +21 -1
- package/src/codex/inject.ts +63 -8
- package/src/codex/journal.ts +36 -0
- package/src/codex/main-account-hard-lock.ts +14 -1
- package/src/codex/main-account-policy-wait.ts +109 -0
- package/src/codex/native-profile-startup.ts +24 -6
- package/src/codex/native-residue.ts +28 -10
- package/src/codex/quota-types.ts +8 -1
- package/src/codex/quota.ts +49 -7
- package/src/codex/runtime.ts +31 -10
- package/src/combos/failover.ts +7 -6
- package/src/combos/resolve.ts +91 -14
- package/src/combos/types.ts +18 -1
- package/src/config/load-degrade.ts +2 -0
- package/src/config/schema/config-schema.ts +21 -2
- package/src/config/schema/leaf-validators.ts +6 -3
- package/src/config/subagent-models.ts +3 -1
- package/src/generated/compatibility-version.json +275 -163
- package/src/images/artifacts.ts +14 -0
- package/src/integrations/owned-refresh.ts +1 -1
- package/src/integrations/ownership-policy.ts +32 -1
- package/src/integrations/state.ts +3 -1
- package/src/integrations/writer.ts +9 -0
- package/src/lib/config-ownership.ts +3 -0
- package/src/lib/errors.ts +87 -0
- package/src/lib/package-tree-integrity.ts +1 -1
- package/src/lib/request-execution-budget.ts +42 -14
- package/src/lib/request-resend-gate.ts +4 -3
- package/src/lib/retry-delay.ts +7 -1
- package/src/lib/tool-envelope-echo-filter.ts +236 -0
- package/src/lib/upstream-retry.ts +20 -12
- package/src/oauth/index.ts +1 -0
- package/src/oauth/kiro-credentials.ts +14 -1
- package/src/oauth/login-cli.ts +1 -0
- package/src/providers/derive.ts +4 -0
- package/src/providers/fast-opt-in.ts +31 -0
- package/src/providers/model-rename-fields.ts +2 -0
- package/src/providers/provider-id-rewrite.ts +2 -0
- package/src/providers/quota/vendor-probes-key.ts +8 -2
- package/src/providers/registry/entries-core.ts +45 -2
- package/src/providers/registry/entries-extended.ts +99 -12
- package/src/providers/registry/model-ids.ts +2 -0
- package/src/providers/registry/types.ts +7 -1
- package/src/providers/resolved-model-policy.ts +11 -4
- package/src/providers/service-tier.ts +10 -3
- package/src/responses/code-mode-helper-compat.ts +3 -0
- package/src/responses/parser.ts +45 -3
- package/src/router.ts +6 -0
- package/src/server/auth-cors.ts +8 -0
- package/src/server/chat-completions.ts +3 -1
- package/src/server/claude-messages.ts +69 -14
- package/src/server/grok-upstream-envelope-echo.ts +120 -0
- package/src/server/index/claude-intercept-lifecycle.ts +24 -0
- package/src/server/index/serve-options.ts +2 -2
- package/src/server/index.ts +7 -0
- package/src/server/management/agent-settings-routes.ts +204 -112
- package/src/server/management/claude-desktop-picker-routes.ts +128 -0
- package/src/server/management/combo-routes.ts +59 -2
- package/src/server/management/config-routes.ts +81 -39
- package/src/server/management/context.ts +3 -0
- package/src/server/management/native-integration-routes.ts +169 -93
- package/src/server/management/provider-routes.ts +46 -4
- package/src/server/management/route-registry.ts +10 -0
- package/src/server/management/routing-profile-routes.ts +9 -0
- package/src/server/management/sidebar-routes.ts +52 -0
- package/src/server/management-api.ts +2 -0
- package/src/server/proxy-liveness.ts +38 -3
- package/src/server/request-log-account-rotation.ts +53 -0
- package/src/server/request-log.ts +3 -16
- package/src/server/responses/adapter-dispatch.ts +17 -1
- package/src/server/responses/agent-task-recovery.ts +49 -26
- package/src/server/responses/codex-ws-exchange.ts +18 -7
- package/src/server/responses/codex-ws-wire.ts +27 -4
- package/src/server/responses/core-combo.ts +21 -3
- package/src/server/responses/core-normalize.ts +7 -0
- package/src/server/responses/core-opaque-recovery.ts +3 -2
- package/src/server/responses/encrypted-payload.ts +15 -14
- package/src/server/responses/fetch-helpers.ts +1 -1
- package/src/server/responses/input-admission.ts +10 -6
- package/src/server/responses/native-response-control.ts +2 -2
- package/src/server/responses/passthrough-delivery.ts +182 -12
- package/src/server/responses/passthrough-dispatch.ts +102 -44
- package/src/server/responses/policy-fallback.ts +3 -0
- package/src/server/responses/policy-refusal.ts +67 -0
- package/src/server/responses/request-send-budget.ts +4 -0
- package/src/server/responses/run-turn-execution.ts +42 -11
- package/src/server/responses/ws-upstream.ts +2 -1
- package/src/server/system-env-shell.ts +0 -1
- package/src/server/system-env.ts +25 -4
- package/src/service/cli.ts +34 -3
- package/src/tray/assets/opencodex-tray-offline-update.ico +0 -0
- package/src/tray/assets/opencodex-tray-online-update.ico +0 -0
- package/src/tray/assets/opencodex-tray-warning-update.ico +0 -0
- package/src/tray/windows-tray.ps1 +188 -7
- package/src/tray/windows.ts +23 -2
- package/src/types/config.ts +52 -12
- package/src/types/provider.ts +22 -5
- package/src/types/tools.ts +11 -5
- package/src/types.ts +1 -0
- package/src/update/async-check.ts +109 -0
- package/src/update/badge.ts +11 -17
- package/src/update/check-types.ts +9 -0
- package/src/update/desktop-badge.ts +102 -0
- package/src/update/index.ts +48 -8
- package/src/update/install-detection.d.mts +29 -2
- package/src/update/install-detection.mjs +213 -7
- package/src/update/job.ts +17 -12
- package/src/update/notify.ts +16 -11
- package/src/update/pnpm-owner-worker.ts +12 -0
- package/src/update/refresh-scheduler.ts +141 -0
- package/src/usage/cost.ts +31 -4
- package/src/usage/expected-prices.ts +57 -0
- package/assets/download-linux.svg +0 -10
- package/assets/download-macos.svg +0 -10
- package/assets/download-windows.svg +0 -10
- package/gui/dist/assets/App-D5eN1TID.js +0 -50
- package/gui/dist/assets/App-I5AnaSLh.css +0 -1
- package/gui/dist/assets/Tray-Bh_ErQDh.js +0 -1
- package/gui/dist/assets/usage-companion-chart-DBG_37kQ.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as e,_ as t,n,w as r}from"./index-BB0iHG8-.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-f0lTZ4sF.js";var v=e(r(),1),y=n(),b=e=>e?.usageIncomplete||e?.historyTruncated||e?.entriesTruncated;function x(){let{t:e,locale:n}=t(),[r,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,n):`—`,W=t=>{let i=t?l(t):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)})]}),r?.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(n,{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(r?.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`)})]}),!r&&!S&&(0,y.jsx)(`p`,{role:`status`,children:e(`common.loading`)}),r&&(0,y.jsxs)(`section`,{className:`tray-totals`,children:[r.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`)})]}),r?.showChart&&(0,y.jsx)(`section`,{className:`tray-chart`,children:(0,y.jsx)(s,{timeline:M,chartStyle:r.chartStyle,hours:r.chartHours,loading:!M&&!P,error:P?e(`usage.companion.timelineUnavailable`):null,onRetry:H,locale:n,t:e})}),r?.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}`))}),(r?.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(t=>(0,y.jsxs)(`div`,{className:`tray-provider`,children:[(0,y.jsx)(`h2`,{children:_(t.name,e)}),!t.accounts.length&&(0,y.jsx)(`div`,{className:`tray-missing`,children:e(t.unavailable?`startup.tray.unavailable`:`pws.dashboard.noQuota`)}),t.accounts.map(t=>(0,y.jsxs)(`div`,{className:`tray-account`,children:[(0,y.jsxs)(`div`,{className:`tray-account-name`,title:t.label,children:[t.label,(0,y.jsxs)(`span`,{className:`tray-account-meta`,children:[t.plan,t.active&&(0,y.jsx)(`span`,{title:e(`prov.activeBadge`),"aria-label":e(`prov.activeBadge`),children:` ●`})]})]}),t.email&&t.email!==t.label&&(0,y.jsx)(`div`,{className:`tray-account-email`,children:t.email}),!o(t.quota).length&&(0,y.jsx)(`div`,{className:`tray-missing`,children:e(t.unavailable?`startup.tray.unavailable`:`pws.dashboard.noQuota`)}),o(t.quota).map(t=>{let r=`key`in t?e(t.key):t.label,i=u(t.reset,n),a=m(t.percent)?Math.min(100,t.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})]},t.id)})]},t.id))]},t.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(n,{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};
|