@cats-inc/cats-platform 0.2.8 → 0.3.4
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 +17 -0
- package/build/desktop/bootstrapPage.d.ts.map +1 -1
- package/build/desktop/bootstrapPage.js +26 -129
- package/build/desktop/bootstrapPage.js.map +1 -1
- package/build/desktop/cliInventoryProbe.d.ts +6 -0
- package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
- package/build/desktop/cliInventoryProbe.js +6 -3
- package/build/desktop/cliInventoryProbe.js.map +1 -1
- package/build/desktop/contracts.d.ts +2 -0
- package/build/desktop/contracts.d.ts.map +1 -1
- package/build/desktop/contracts.js.map +1 -1
- package/build/desktop/main.js +95 -41
- package/build/desktop/main.js.map +1 -1
- package/build/desktop/preload.cjs +8 -6
- package/build/desktop/preload.cjs.map +1 -1
- package/build/desktop/providerManager.d.ts +46 -0
- package/build/desktop/providerManager.d.ts.map +1 -0
- package/build/desktop/providerManager.js +220 -0
- package/build/desktop/providerManager.js.map +1 -0
- package/build/desktop/providerSelection.d.ts +1 -0
- package/build/desktop/providerSelection.d.ts.map +1 -1
- package/build/desktop/providerSelection.js +7 -1
- package/build/desktop/providerSelection.js.map +1 -1
- package/build/desktop/setupAssets.d.ts.map +1 -1
- package/build/desktop/setupAssets.js +12 -0
- package/build/desktop/setupAssets.js.map +1 -1
- package/build/desktop/setupAudit.d.ts +3 -1
- package/build/desktop/setupAudit.d.ts.map +1 -1
- package/build/desktop/setupAudit.js +12 -8
- package/build/desktop/setupAudit.js.map +1 -1
- package/build/desktop/setupBridge.js +1 -1
- package/build/desktop/setupBridge.js.map +1 -1
- package/build/desktop/setupPrerequisites.d.ts +11 -0
- package/build/desktop/setupPrerequisites.d.ts.map +1 -0
- package/build/desktop/setupPrerequisites.js +47 -0
- package/build/desktop/setupPrerequisites.js.map +1 -0
- package/build/renderer/assets/ActiveSessionPermissionChip-B49WcZBJ.js +1 -0
- package/build/renderer/assets/{App-BZA23O2J.js → App-BpxZB5ym.js} +1 -1
- package/build/renderer/assets/{App-rGw9J8PZ.js → App-DYTUfAl6.js} +1 -1
- package/build/renderer/assets/{App-YqprEL2n.js → App-boB4WrmU.js} +1 -1
- package/build/renderer/assets/{WorkspaceAppRoutes-BCHCikmJ.js → WorkspaceAppRoutes-CPqz85iw.js} +1 -1
- package/build/renderer/assets/app-C52wwCGz.js +85 -0
- package/build/renderer/assets/app-CqnsY5ed.css +1 -0
- package/build/renderer/assets/{client-BdGHAUoK.js → client-DREGSZqQ.js} +1 -1
- package/build/renderer/assets/conversationSidebarRecentEntries-DK0iWS73.js +6 -0
- package/build/renderer/assets/{screenshotOverlay-DfBcolX-.js → screenshotOverlay-EF07cXvw.js} +1 -1
- package/build/renderer/assets/{useDraftSessionChips-D9BX6X92.js → useDraftSessionChips-BdZ_B1gy.js} +1 -1
- package/build/renderer/desktop/overlay/index.html +2 -2
- package/build/renderer/index.html +3 -3
- package/build/server/app/renderer/auth/api.d.ts.map +1 -1
- package/build/server/app/renderer/auth/api.js +4 -1
- package/build/server/app/renderer/auth/api.js.map +1 -1
- package/build/server/app/renderer/providerCatalogClient.d.ts.map +1 -1
- package/build/server/app/renderer/providerCatalogClient.js +19 -6
- package/build/server/app/renderer/providerCatalogClient.js.map +1 -1
- package/build/server/app/renderer/providerClientInvalidation.d.ts +6 -0
- package/build/server/app/renderer/providerClientInvalidation.d.ts.map +1 -0
- package/build/server/app/renderer/providerClientInvalidation.js +12 -0
- package/build/server/app/renderer/providerClientInvalidation.js.map +1 -0
- package/build/server/app/renderer/providerReadLoop.d.ts +5 -0
- package/build/server/app/renderer/providerReadLoop.d.ts.map +1 -0
- package/build/server/app/renderer/providerReadLoop.js +52 -0
- package/build/server/app/renderer/providerReadLoop.js.map +1 -0
- package/build/server/app/renderer/providerRegistryClient.d.ts +2 -1
- package/build/server/app/renderer/providerRegistryClient.d.ts.map +1 -1
- package/build/server/app/renderer/providerRegistryClient.js +33 -17
- package/build/server/app/renderer/providerRegistryClient.js.map +1 -1
- package/build/server/app/server/authGatePolicy.js +7 -0
- package/build/server/app/server/authGatePolicy.js.map +1 -1
- package/build/server/app/server/subscribeRoutes.d.ts.map +1 -1
- package/build/server/app/server/subscribeRoutes.js +5 -3
- package/build/server/app/server/subscribeRoutes.js.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.d.ts +2 -21
- package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.js +32 -36
- package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
- package/build/server/design/components/useProviderCatalogState.d.ts +1 -2
- package/build/server/design/components/useProviderCatalogState.d.ts.map +1 -1
- package/build/server/design/components/useProviderCatalogState.js +71 -152
- package/build/server/design/components/useProviderCatalogState.js.map +1 -1
- package/build/server/design/components/useProviderModelFieldActions.js +2 -2
- package/build/server/design/components/useProviderModelFieldActions.js.map +1 -1
- package/build/server/design/components/useProviderRegistryState.d.ts +1 -7
- package/build/server/design/components/useProviderRegistryState.d.ts.map +1 -1
- package/build/server/design/components/useProviderRegistryState.js +41 -91
- package/build/server/design/components/useProviderRegistryState.js.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.d.ts +1 -0
- package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.js +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts +2 -1
- package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/channel.js +3 -18
- package/build/server/platform/orchestration/entitySubscriptions/channel.js.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/index.d.ts +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/index.d.ts.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/index.js.map +1 -1
- package/build/server/products/chat/api/routeSupport.d.ts +9 -1
- package/build/server/products/chat/api/routeSupport.d.ts.map +1 -1
- package/build/server/products/chat/api/routeSupport.js +22 -0
- package/build/server/products/chat/api/routeSupport.js.map +1 -1
- package/build/server/products/chat/state/model/readModels.d.ts +1 -0
- package/build/server/products/chat/state/model/readModels.d.ts.map +1 -1
- package/build/server/products/chat/state/model/readModels.js +2 -1
- package/build/server/products/chat/state/model/readModels.js.map +1 -1
- package/build/server/products/shared/renderer/api/appShell.d.ts +1 -0
- package/build/server/products/shared/renderer/api/appShell.d.ts.map +1 -1
- package/build/server/products/shared/renderer/api/appShell.js +9 -0
- package/build/server/products/shared/renderer/api/appShell.js.map +1 -1
- package/build/server/runtime/client.d.ts.map +1 -1
- package/build/server/runtime/client.js +5 -1
- package/build/server/runtime/client.js.map +1 -1
- package/build/server/runtime/setup.d.ts +4 -0
- package/build/server/runtime/setup.d.ts.map +1 -1
- package/build/server/runtime/setup.js +3 -1
- package/build/server/runtime/setup.js.map +1 -1
- package/build/server/server/routes/providers.d.ts.map +1 -1
- package/build/server/server/routes/providers.js +21 -50
- package/build/server/server/routes/providers.js.map +1 -1
- package/build/server/shared/desktopRecoveryBridge.d.ts +2 -1
- package/build/server/shared/desktopRecoveryBridge.d.ts.map +1 -1
- package/build/server/shared/desktopRecoveryBridge.js.map +1 -1
- package/build/server/shared/providerCatalogData.d.ts +128 -57
- package/build/server/shared/providerCatalogData.d.ts.map +1 -1
- package/build/server/shared/providerCatalogData.js +51 -26
- package/build/server/shared/providerCatalogData.js.map +1 -1
- package/build/server/shared/providerRegistryWarnings.d.ts +4 -0
- package/build/server/shared/providerRegistryWarnings.d.ts.map +1 -1
- package/build/server/shared/providerRegistryWarnings.js +7 -0
- package/build/server/shared/providerRegistryWarnings.js.map +1 -1
- package/package.json +12 -5
- package/packages/provider-setup/manager.d.ts +79 -0
- package/packages/provider-setup/manager.js +441 -0
- package/scripts/README.md +23 -0
- package/scripts/build-desktop-installer.mjs +124 -16
- package/scripts/linux/install-github-cli.sh +5 -0
- package/scripts/linux/install-node.sh +9 -3
- package/scripts/linux/node-cli-common.sh +87 -48
- package/scripts/linux/provider-cli-common.sh +80 -105
- package/scripts/linux/provider-version-common.sh +247 -0
- package/scripts/linux/test-linux-package-smoke.sh +2 -0
- package/scripts/linux/verified-npm-update.sh +20 -0
- package/scripts/macos/install-github-cli.sh +5 -0
- package/scripts/macos/install-node.sh +9 -3
- package/scripts/macos/node-cli-common.sh +87 -48
- package/scripts/macos/provider-cli-common.sh +80 -105
- package/scripts/macos/provider-version-common.sh +247 -0
- package/scripts/macos/test-macos-package-smoke.sh +2 -0
- package/scripts/macos/verified-npm-update.sh +20 -0
- package/scripts/testing/conversation-navigation-smoke-electron.cjs +134 -0
- package/scripts/testing/conversation-navigation-smoke-renderer.tsx +102 -0
- package/scripts/testing/conversation-navigation-smoke.mjs +67 -0
- package/scripts/validate-release-assets.mjs +4 -1
- package/scripts/windows/Install-Antigravity.ps1 +26 -3
- package/scripts/windows/Install-ClaudeCode.ps1 +25 -7
- package/scripts/windows/Install-CursorAgent.ps1 +45 -30
- package/scripts/windows/Install-Devin.ps1 +16 -47
- package/scripts/windows/Install-GitHubCli.ps1 +4 -0
- package/scripts/windows/Install-Goose.ps1 +18 -1
- package/scripts/windows/Install-Grok.ps1 +14 -1
- package/scripts/windows/Install-Junie.ps1 +32 -11
- package/scripts/windows/Install-KiroCli.ps1 +37 -13
- package/scripts/windows/Install-MetaCli.ps1 +8 -1
- package/scripts/windows/Install-Node.ps1 +6 -1
- package/scripts/windows/Setup-NodeGlobalPrefix.ps1 +10 -0
- package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +2 -0
- package/scripts/windows/_HiddenProcess.ps1 +14 -3
- package/scripts/windows/_NativeInstallerSupport.ps1 +308 -0
- package/scripts/windows/_NpmCliInstaller.ps1 +35 -14
- package/scripts/windows/_PackagedUninstall.ps1 +9 -1
- package/scripts/windows/_VerifiedNpmUpdate.ps1 +25 -0
- package/build/renderer/assets/ActiveSessionPermissionChip-CAgN-tXv.js +0 -1
- package/build/renderer/assets/app-BV3UAQkR.css +0 -1
- package/build/renderer/assets/app-CVPqqfZo.js +0 -45
- package/build/renderer/assets/conversationSidebarRecentEntries-iqaLqA1n.js +0 -6
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts +0 -48
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts.map +0 -1
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js +0 -535
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js.map +0 -1
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts +0 -13
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts.map +0 -1
- package/build/server/design/components/useProviderRegistryAutoRecheck.js +0 -70
- package/build/server/design/components/useProviderRegistryAutoRecheck.js.map +0 -1
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts +0 -19
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts.map +0 -1
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js +0 -53
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js.map +0 -1
- package/build/server/products/shared/renderer/api/providers.d.ts +0 -17
- package/build/server/products/shared/renderer/api/providers.d.ts.map +0 -1
- package/build/server/products/shared/renderer/api/providers.js +0 -50
- package/build/server/products/shared/renderer/api/providers.js.map +0 -1
package/build/renderer/assets/{screenshotOverlay-DfBcolX-.js → screenshotOverlay-EF07cXvw.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{R as F,j as h,b as j,r as a}from"./client-DREGSZqQ.js";const N=8;function m(e,n,r){return Math.min(r,Math.max(n,e))}function P(e,n,r){return e>0&&n>0?n/e:r>0?r:1}function z(e,n){const r=Math.min(e.x,n.x),l=Math.min(e.y,n.y);return{x:r,y:l,width:Math.abs(n.x-e.x),height:Math.abs(n.y-e.y)}}function C(e,n){const r=m(e.x-n.bounds.x,0,n.bounds.width),l=m(e.y-n.bounds.y,0,n.bounds.height),o=m(e.x+e.width-n.bounds.x,0,n.bounds.width),d=m(e.y+e.height-n.bounds.y,0,n.bounds.height),s=P(n.bounds.width,n.imageSize.width,n.scaleFactor),f=P(n.bounds.height,n.imageSize.height,n.scaleFactor),i=Math.round(Math.min(r,o)*s),u=Math.round(Math.min(l,d)*f),v=Math.round(Math.max(r,o)*s),t=Math.round(Math.max(l,d)*f);return{x:i,y:u,width:Math.max(0,v-i),height:Math.max(0,t-u)}}function T(e,n=N){return e.width>=n&&e.height>=n}function S(){return{phase:"idle"}}function y(e){return{phase:"dragging",anchor:e,current:e}}function _(e,n){return e.phase!=="dragging"?e:{...e,current:n}}function g(e){return{phase:"cancelled",reason:e}}function k(e,n,r){if(e.phase!=="dragging")return g("no_drag");const l=z(e.anchor,n),o=C(l,r);return T(o)?{phase:"selected",cssRect:l,cropRect:o}:g("too_small")}function p(e,n){return{x:n.bounds.x+e.clientX,y:n.bounds.y+e.clientY}}function x(e){return{clientX:e.clientX,clientY:e.clientY}}function b(e,n){return{x:n.bounds.x+e.clientX,y:n.bounds.y+e.clientY}}function L(e,n){if(e.phase==="dragging"){const r=z(e.anchor,e.current);return{cssRect:r,cropRect:C(r,{bounds:n.bounds,imageSize:n.imageSize,scaleFactor:n.scaleFactor})}}return e.phase==="selected"?{cssRect:e.cssRect,cropRect:e.cropRect}:null}function X(e,n){return{left:e.x-n.bounds.x,top:e.y-n.bounds.y,width:e.width,height:e.height}}function I(e,n){return _(y(b(e.anchor,n)),b(e.current,n))}function D(e,n,r){return k(y(b(e.anchor,r)),b(n,r),{bounds:r.bounds,imageSize:r.imageSize,scaleFactor:r.scaleFactor})}function w(e,n,r){if(r.phase==="selected"){e?.completeSelection({displayId:n.displayId,cssRect:r.cssRect,cropRect:r.cropRect});return}r.phase==="cancelled"&&e?.cancel(r.reason)}function O(e){return e.phase==="cancelled"&&e.reason==="too_small"}function Y(){const[e,n]=a.useState(null),[r,l]=a.useState(S()),o=a.useRef(null),d=a.useRef(r),s=window.catsScreenshotOverlay,f=a.useMemo(()=>{const t=new URLSearchParams(window.location.search).get("displayId"),c=Number.parseInt(t??"",10);return Number.isFinite(c)?c:null},[]),i=t=>{d.current=t,l(t)};a.useEffect(()=>{let t=!1;return f===null?()=>{t=!0}:(s?.getSnapshot(f).then(c=>{t||n(c)}),()=>{t=!0})},[s,f]),a.useEffect(()=>{const t=c=>{c.key==="Escape"&&(o.current=null,i(g("escape")),s?.cancel("escape"))};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}},[s]),a.useEffect(()=>{if(!e)return;const t=o.current;if(t){if(t.released){o.current=null;const c=D(t,t.released,e);if(O(c)){i(S());return}i(c),w(s,e,c);return}o.current=null,i(I(t,e))}},[s,e]);const u=a.useMemo(()=>e?L(r,e):null,[e,r]),v=a.useMemo(()=>{if(e)return{backgroundImage:`url("${e.imageDataUrl}")`,backgroundSize:`${e.bounds.width}px ${e.bounds.height}px`}},[e]);return h.jsx("div",{className:"screenshotOverlay",style:v,onContextMenu:t=>{t.preventDefault(),o.current=null,e&&i(g("right_click")),s?.cancel("right_click")},onPointerDown:t=>{if(t.button!==0){o.current=null,e&&i(g("right_click")),s?.cancel("right_click");return}if(t.currentTarget.setPointerCapture(t.pointerId),!e){const c=x(t.nativeEvent);o.current={anchor:c,current:{...c},released:null};return}o.current=null,i(y(p(t.nativeEvent,e)))},onPointerMove:t=>{const c=o.current;if(c){c.current=x(t.nativeEvent),e&&i(I(c,e));return}e&&i(_(d.current,p(t.nativeEvent,e)))},onPointerUp:t=>{const c=o.current;if(c){const E=x(t.nativeEvent);if(c.released=E,!e)return;o.current=null;const R=D(c,E,e);if(O(R)){i(S());return}i(R),w(s,e,R);return}if(!e)return;const M=k(d.current,p(t.nativeEvent,e),{bounds:e.bounds,imageSize:e.imageSize,scaleFactor:e.scaleFactor});i(M),w(s,e,M)},onPointerCancel:()=>{o.current=null,i(S())},children:e&&u?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"screenshotSelectionRect",style:X(u.cssRect,e)}),h.jsx("div",{className:"screenshotSelectionSize",style:{left:u.cssRect.x-e.bounds.x+u.cssRect.width,top:u.cssRect.y-e.bounds.y+u.cssRect.height},children:`${u.cropRect.width}x${u.cropRect.height}`})]}):null})}F.createRoot(document.getElementById("root")).render(h.jsx(j.StrictMode,{children:h.jsx(Y,{})}));
|
package/build/renderer/assets/{useDraftSessionChips-D9BX6X92.js → useDraftSessionChips-BdZ_B1gy.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as M,j as s}from"./client-
|
|
1
|
+
import{r as M,j as s}from"./client-DREGSZqQ.js";import{u as j,g as v,l as K,W as S,P as D}from"./conversationSidebarRecentEntries-DK0iWS73.js";import{ar as b,ao as A,ak as g,b as F,ap as d,as as l,aq as B}from"./app-C52wwCGz.js";function O(m){const{draftCwd:o,busy:u,draftRuntimeSessionPolicy:h,onDraftRuntimeSessionPolicyChange:r}=m,{isRepo:k,repoRoot:f,branch:w}=j(o),x=b(),e=A({repoPath:o,policy:h??x}),a=o?g(e.workspaceKind):v,R=F(e.workspaceAccess),t=K(u),y=w??"detached",n=!!(k&&f),c=l({hasCwd:!!o,isRepo:n,workspaceMode:a});M.useEffect(()=>{r&&e.workspaceKind!==c&&r(d({workspaceKind:c,workspaceAccess:e.workspaceAccess,permissionMode:e.permissionMode}))},[e.permissionMode,e.workspaceAccess,e.workspaceKind,r,c]);function p(i){r&&r(d({workspaceKind:e.workspaceKind,workspaceAccess:e.workspaceAccess,permissionMode:e.permissionMode,...i}))}const P=o?s.jsx(D,{value:R,onChange:i=>{p(B(i))},disabled:t}):null,C=o&&n?s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"composerBranchChip",children:[s.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("circle",{cx:"4",cy:"4",r:"1.6"}),s.jsx("circle",{cx:"12",cy:"4",r:"1.6"}),s.jsx("circle",{cx:"4",cy:"12",r:"1.6"}),s.jsx("path",{d:"M4 5.6v4.8"}),s.jsx("path",{d:"M12 5.6v2.4a2 2 0 0 1-2 2H6"})]}),s.jsx("span",{children:y})]}),s.jsx(S,{value:a,onChange:i=>{p({workspaceKind:l({hasCwd:!!o,isRepo:!!n,workspaceMode:i})})},disabled:t})]}):null;return{permissionChip:P,whereExtras:C}}export{O as u};
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Cats Screenshot Overlay</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/screenshotOverlay-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/assets/client-
|
|
7
|
+
<script type="module" crossorigin src="/assets/screenshotOverlay-EF07cXvw.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/assets/client-DREGSZqQ.js">
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/screenshotOverlay-BS2PwStm.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" href="/favicon.ico" />
|
|
7
7
|
<title>Cats</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/app-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/client-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/app-
|
|
8
|
+
<script type="module" crossorigin src="/assets/app-C52wwCGz.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/client-DREGSZqQ.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/app-CqnsY5ed.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div id="root"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/app/renderer/auth/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/app/renderer/auth/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { seedCsrfToken } from '../csrfFetch.js';
|
|
2
|
+
import { invalidateProviderClientSession } from '../providerClientInvalidation.js';
|
|
2
3
|
export class PlatformAuthApiError extends Error {
|
|
3
4
|
status;
|
|
4
5
|
code;
|
|
@@ -140,7 +141,9 @@ export async function logoutPlatformSession(csrfToken, options) {
|
|
|
140
141
|
body: JSON.stringify({}),
|
|
141
142
|
signal: options.signal,
|
|
142
143
|
});
|
|
143
|
-
|
|
144
|
+
const status = await readPlatformAuthJsonResponse(response, options);
|
|
145
|
+
invalidateProviderClientSession();
|
|
146
|
+
return status;
|
|
144
147
|
}
|
|
145
148
|
export async function runPlatformAuthCsrfMutation(mutation, options) {
|
|
146
149
|
const firstStatus = await fetchPlatformAuthStatus(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/app/renderer/auth/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/app/renderer/auth/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCatalogClient.d.ts","sourceRoot":"","sources":["../../../../src/app/renderer/providerCatalogClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"providerCatalogClient.d.ts","sourceRoot":"","sources":["../../../../src/app/renderer/providerCatalogClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAKzC,eAAO,MAAM,oCAAoC,QAAS,CAAC;AAC3D,eAAO,MAAM,0CAA0C,uCACjB,CAAC;AACvC,eAAO,MAAM,yCAAyC,+CACR,CAAC;AAC/C,eAAO,MAAM,6CAA6C,0CACjB,CAAC;AAC1C,eAAO,MAAM,4CAA4C,kDACR,CAAC;AAElD,KAAK,oBAAoB,GAAG,OAAO,KAAK,CAAC;AAgIzC,wBAAgB,+BAA+B,IAAI,IAAI,CAKtD;AAqBD,wBAAgB,uCAAuC,CAAC,OAAO,EAAE;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,oBAAoB,GAAG,IAAI,CAM9B;AAED,wBAAgB,0CAA0C,CAAC,OAAO,EAAE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,4BAA4B,GAAG,IAAI,CAMtC;AAED,wBAAsB,wCAAwC,CAAC,OAAO,EAAE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqChC;AAED,wBAAsB,2CAA2C,CAAC,OAAO,EAAE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAmCxC;AAED,wBAAgB,0CAA0C,CAAC,OAAO,EAAE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhB;AAED,wBAAgB,kDAAkD,CAChE,QAAQ,EAAE,gCAAgC,EAC1C,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAC7B,GACL,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { normalizeProviderAdvancedModelCatalog, normalizeProviderModelCatalog, } from '../../shared/providerCatalog.js';
|
|
2
2
|
import { recordLiveProviderModelLabels } from '../../shared/providerModelLabelRegistry.js';
|
|
3
3
|
import { resolveSelectedProviderInstance } from '../../shared/providerSelection.js';
|
|
4
|
+
import { invalidateProviderClientSession, onProviderClientInvalidation, ProviderClientAuthError } from './providerClientInvalidation.js';
|
|
4
5
|
export const PROVIDER_CATALOG_CLIENT_CACHE_TTL_MS = 15_000;
|
|
5
6
|
export const PROVIDER_MODEL_CATALOG_LOAD_FAILED_WARNING = 'provider_catalog.model.load_failed';
|
|
6
7
|
export const PROVIDER_MODEL_CATALOG_INCOMPLETE_WARNING = 'provider_catalog.model.incomplete_response';
|
|
@@ -78,6 +79,12 @@ async function fetchProviderCatalogFromClientCache(input) {
|
|
|
78
79
|
freshUntilMs: Date.now() + PROVIDER_CATALOG_CLIENT_CACHE_TTL_MS,
|
|
79
80
|
});
|
|
80
81
|
return value;
|
|
82
|
+
})
|
|
83
|
+
.catch((error) => {
|
|
84
|
+
if (error instanceof ProviderClientAuthError && input.cache.inflight.get(input.cacheKey) === request) {
|
|
85
|
+
invalidateProviderClientSession();
|
|
86
|
+
}
|
|
87
|
+
throw error;
|
|
81
88
|
})
|
|
82
89
|
.finally(() => {
|
|
83
90
|
if (input.cache.inflight.get(input.cacheKey) === request)
|
|
@@ -92,16 +99,16 @@ export function clearProviderCatalogClientCache() {
|
|
|
92
99
|
providerAdvancedCatalogClientCache.entries.clear();
|
|
93
100
|
providerAdvancedCatalogClientCache.inflight.clear();
|
|
94
101
|
}
|
|
102
|
+
onProviderClientInvalidation(clearProviderCatalogClientCache);
|
|
95
103
|
function peekProviderCatalogClientCache(cache, provider, instance) {
|
|
96
104
|
const normalizedProvider = provider.trim();
|
|
97
105
|
if (!normalizedProvider)
|
|
98
106
|
return null;
|
|
99
107
|
const cacheKey = buildProviderCatalogCacheKey(normalizedProvider, normalizeCatalogInstance(instance));
|
|
100
108
|
const cached = cache.entries.get(cacheKey);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return null;
|
|
109
|
+
// TTL schedules refresh. Only selection/connection invalidation removes
|
|
110
|
+
// the last successful catalog from the display cache.
|
|
111
|
+
return cached?.value ?? null;
|
|
105
112
|
}
|
|
106
113
|
export function peekProviderModelCatalogFromClientCache(options) {
|
|
107
114
|
return peekProviderCatalogClientCache(providerModelCatalogClientCache, options.provider, options.instance);
|
|
@@ -119,8 +126,11 @@ export async function fetchProviderModelCatalogFromClientCache(options) {
|
|
|
119
126
|
force: options.force,
|
|
120
127
|
accepted: (catalog) => recordLiveProviderModelLabels(provider, catalog.models),
|
|
121
128
|
load: async () => {
|
|
122
|
-
const response = await (options.fetchImpl ?? fetch)(buildProviderCatalogRequestPath({ provider, instance }));
|
|
129
|
+
const response = await (options.fetchImpl ?? fetch)(buildProviderCatalogRequestPath({ provider, instance }), { signal: AbortSignal.timeout(30_000) });
|
|
123
130
|
if (!response.ok) {
|
|
131
|
+
if (response.status === 401 || response.status === 403) {
|
|
132
|
+
throw new ProviderClientAuthError('Provider session is unavailable.');
|
|
133
|
+
}
|
|
124
134
|
throw new Error(await readProviderCatalogErrorMessage(response, PROVIDER_MODEL_CATALOG_LOAD_FAILED_WARNING));
|
|
125
135
|
}
|
|
126
136
|
const catalog = normalizeProviderModelCatalog(await readProviderCatalogJson(response, PROVIDER_MODEL_CATALOG_INCOMPLETE_WARNING), provider);
|
|
@@ -140,8 +150,11 @@ export async function fetchProviderAdvancedCatalogFromClientCache(options) {
|
|
|
140
150
|
cacheKey,
|
|
141
151
|
force: options.force,
|
|
142
152
|
load: async () => {
|
|
143
|
-
const response = await (options.fetchImpl ?? fetch)(buildProviderCatalogRequestPath({ provider, instance, advanced: true }));
|
|
153
|
+
const response = await (options.fetchImpl ?? fetch)(buildProviderCatalogRequestPath({ provider, instance, advanced: true }), { signal: AbortSignal.timeout(30_000) });
|
|
144
154
|
if (!response.ok) {
|
|
155
|
+
if (response.status === 401 || response.status === 403) {
|
|
156
|
+
throw new ProviderClientAuthError('Provider session is unavailable.');
|
|
157
|
+
}
|
|
145
158
|
throw new Error(await readProviderCatalogErrorMessage(response, PROVIDER_ADVANCED_CATALOG_LOAD_FAILED_WARNING));
|
|
146
159
|
}
|
|
147
160
|
return normalizeProviderAdvancedModelCatalog(await readProviderCatalogJson(response, PROVIDER_ADVANCED_CATALOG_INCOMPLETE_WARNING), provider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCatalogClient.js","sourceRoot":"","sources":["../../../../src/app/renderer/providerCatalogClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,EACrC,6BAA6B,GAI9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"providerCatalogClient.js","sourceRoot":"","sources":["../../../../src/app/renderer/providerCatalogClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare class ProviderClientAuthError extends Error {
|
|
2
|
+
}
|
|
3
|
+
/** Module caches subscribe once; an auth/connection reset also cancels inflight writes. */
|
|
4
|
+
export declare function onProviderClientInvalidation(listener: () => void): void;
|
|
5
|
+
export declare function invalidateProviderClientSession(): void;
|
|
6
|
+
//# sourceMappingURL=providerClientInvalidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerClientInvalidation.d.ts","sourceRoot":"","sources":["../../../../src/app/renderer/providerClientInvalidation.ts"],"names":[],"mappings":"AAEA,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAErD,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAEvE;AAED,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const listeners = new Set();
|
|
2
|
+
export class ProviderClientAuthError extends Error {
|
|
3
|
+
}
|
|
4
|
+
/** Module caches subscribe once; an auth/connection reset also cancels inflight writes. */
|
|
5
|
+
export function onProviderClientInvalidation(listener) {
|
|
6
|
+
listeners.add(listener);
|
|
7
|
+
}
|
|
8
|
+
export function invalidateProviderClientSession() {
|
|
9
|
+
for (const listener of listeners)
|
|
10
|
+
listener();
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=providerClientInvalidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerClientInvalidation.js","sourceRoot":"","sources":["../../../../src/app/renderer/providerClientInvalidation.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,MAAM,OAAO,uBAAwB,SAAQ,KAAK;CAAG;AAErD,2FAA2F;AAC3F,MAAM,UAAU,4BAA4B,CAAC,QAAoB;IAC/D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS;QAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PROVIDER_READ_RETRY_MS = 2000;
|
|
2
|
+
export declare const PROVIDER_READ_MAX_RETRY_MS = 30000;
|
|
3
|
+
/** One read at a time, with bounded recovery and no background-tab polling. */
|
|
4
|
+
export declare function startProviderReadLoop(read: () => Promise<boolean>, refreshMs?: number): () => void;
|
|
5
|
+
//# sourceMappingURL=providerReadLoop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerReadLoop.d.ts","sourceRoot":"","sources":["../../../../src/app/renderer/providerReadLoop.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAC5C,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,+EAA+E;AAC/E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC5B,SAAS,SAAS,GACjB,MAAM,IAAI,CAkDZ"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export const PROVIDER_READ_RETRY_MS = 2_000;
|
|
2
|
+
export const PROVIDER_READ_MAX_RETRY_MS = 30_000;
|
|
3
|
+
/** One read at a time, with bounded recovery and no background-tab polling. */
|
|
4
|
+
export function startProviderReadLoop(read, refreshMs = 30_000) {
|
|
5
|
+
let stopped = false;
|
|
6
|
+
let pending = false;
|
|
7
|
+
let failures = 0;
|
|
8
|
+
let nextReadAt = 0;
|
|
9
|
+
let timer;
|
|
10
|
+
const activeWindow = typeof window === 'undefined' ? undefined : window;
|
|
11
|
+
const activeDocument = typeof document === 'undefined' ? undefined : document;
|
|
12
|
+
const visible = () => activeDocument?.visibilityState !== 'hidden';
|
|
13
|
+
function schedule() {
|
|
14
|
+
clearTimeout(timer);
|
|
15
|
+
timer = undefined;
|
|
16
|
+
if (stopped || pending || !visible())
|
|
17
|
+
return;
|
|
18
|
+
timer = setTimeout(() => { void run(); }, Math.max(0, nextReadAt - Date.now()));
|
|
19
|
+
}
|
|
20
|
+
async function run(initial = false) {
|
|
21
|
+
if (stopped || pending || (!initial && !visible()))
|
|
22
|
+
return;
|
|
23
|
+
clearTimeout(timer);
|
|
24
|
+
pending = true;
|
|
25
|
+
let succeeded = false;
|
|
26
|
+
try {
|
|
27
|
+
succeeded = await read();
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Recovery never requires UI input; errors remain at the read boundary.
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
pending = false;
|
|
34
|
+
failures = succeeded ? 0 : failures + 1;
|
|
35
|
+
const delay = succeeded ? refreshMs : Math.min(PROVIDER_READ_MAX_RETRY_MS, PROVIDER_READ_RETRY_MS * 2 ** Math.min(failures - 1, 4));
|
|
36
|
+
nextReadAt = Date.now() + delay;
|
|
37
|
+
schedule();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
activeWindow?.addEventListener('focus', schedule);
|
|
41
|
+
activeWindow?.addEventListener('online', schedule);
|
|
42
|
+
activeDocument?.addEventListener('visibilitychange', schedule);
|
|
43
|
+
void run(true);
|
|
44
|
+
return () => {
|
|
45
|
+
stopped = true;
|
|
46
|
+
clearTimeout(timer);
|
|
47
|
+
activeWindow?.removeEventListener('focus', schedule);
|
|
48
|
+
activeWindow?.removeEventListener('online', schedule);
|
|
49
|
+
activeDocument?.removeEventListener('visibilitychange', schedule);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=providerReadLoop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerReadLoop.js","sourceRoot":"","sources":["../../../../src/app/renderer/providerReadLoop.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CACnC,IAA4B,EAC5B,SAAS,GAAG,MAAM;IAElB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAgD,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,cAAc,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9E,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,cAAc,EAAE,eAAe,KAAK,QAAQ,CAAC;IAE5E,SAAS,QAAQ;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,SAAS,CAAC;QAClB,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,UAAU,GAAG,CAAC,OAAO,GAAG,KAAK;QAChC,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO;QAC3D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAC;YAChB,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAC5C,0BAA0B,EAC1B,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CACxD,CAAC;YACF,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAChC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,cAAc,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC/D,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IAEf,OAAO,GAAG,EAAE;QACV,OAAO,GAAG,IAAI,CAAC;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,YAAY,EAAE,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,cAAc,EAAE,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ProductProviderRegistryReadModel } from '../../shared/providerCatalog.js';
|
|
2
|
-
export declare const PROVIDER_REGISTRY_CLIENT_CACHE_TTL_MS = 15000;
|
|
3
2
|
type ProviderRegistryFetch = typeof fetch;
|
|
4
3
|
export declare function subscribeProviderRegistry(listener: (value: ProductProviderRegistryReadModel) => void): () => void;
|
|
4
|
+
/** A missing revision during an outage is not an authoritative deselection. */
|
|
5
|
+
export declare function retainProviderRegistryOnFailure(previous: ProductProviderRegistryReadModel | null, value: ProductProviderRegistryReadModel): ProductProviderRegistryReadModel;
|
|
5
6
|
export declare function clearProviderRegistryClientCache(): void;
|
|
6
7
|
export declare function peekProviderRegistryClientCache(): ProductProviderRegistryReadModel | null;
|
|
7
8
|
export declare function fetchProviderRegistryFromClientCache(options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerRegistryClient.d.ts","sourceRoot":"","sources":["../../../../src/app/renderer/providerRegistryClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAEjC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"providerRegistryClient.d.ts","sourceRoot":"","sources":["../../../../src/app/renderer/providerRegistryClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAEjC,MAAM,iCAAiC,CAAC;AAQzC,KAAK,qBAAqB,GAAG,OAAO,KAAK,CAAC;AAc1C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,GAAG,MAAM,IAAI,CAGjH;AAyED,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,gCAAgC,GAAG,IAAI,EACjD,KAAK,EAAE,gCAAgC,GACtC,gCAAgC,CAMlC;AA4BD,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAQD,wBAAgB,+BAA+B,IAAI,gCAAgC,GAAG,IAAI,CAGzF;AAED,wBAAsB,oCAAoC,CAAC,OAAO,GAAE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,qBAAqB,CAAC;CAC9B,GAAG,OAAO,CAAC,gCAAgC,CAAC,CA0BjD;AAED,wBAAgB,uCAAuC,CAAC,OAAO,GAAE;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,qBAAqB,CAAC;CAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,CAErB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { normalizeProductProviderEventCapabilities } from '../../shared/providerCatalog.js';
|
|
2
2
|
import { PROVIDER_LOAD_FAILED_WARNING, } from '../../shared/providerRegistryWarnings.js';
|
|
3
3
|
import { clearProviderCatalogClientCache } from './providerCatalogClient.js';
|
|
4
|
-
|
|
4
|
+
import { invalidateProviderClientSession, onProviderClientInvalidation, ProviderClientAuthError } from './providerClientInvalidation.js';
|
|
5
5
|
const providerRegistryClientCache = {
|
|
6
6
|
value: null,
|
|
7
|
-
freshUntilMs: 0,
|
|
8
7
|
inflight: null,
|
|
9
8
|
};
|
|
10
9
|
const listeners = new Set();
|
|
@@ -62,44 +61,56 @@ function createRuntimeUnreachableRegistry(message) {
|
|
|
62
61
|
};
|
|
63
62
|
}
|
|
64
63
|
function writeProviderRegistryClientCache(value) {
|
|
65
|
-
const
|
|
66
|
-
if (
|
|
64
|
+
const previous = providerRegistryClientCache.value;
|
|
65
|
+
if ((value.revision !== undefined || value.state !== 'runtime_unreachable')
|
|
66
|
+
&& previous?.revision !== value.revision) {
|
|
67
67
|
clearProviderCatalogClientCache();
|
|
68
68
|
}
|
|
69
|
+
value = retainProviderRegistryOnFailure(previous, value);
|
|
69
70
|
providerRegistryClientCache.value = value;
|
|
70
|
-
providerRegistryClientCache.freshUntilMs = now + PROVIDER_REGISTRY_CLIENT_CACHE_TTL_MS;
|
|
71
71
|
for (const listener of listeners)
|
|
72
72
|
listener(value);
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
/** A missing revision during an outage is not an authoritative deselection. */
|
|
76
|
+
export function retainProviderRegistryOnFailure(previous, value) {
|
|
77
|
+
if (value.state === 'runtime_unreachable' && previous
|
|
78
|
+
&& (value.revision === undefined || value.revision === previous.revision)) {
|
|
79
|
+
return { ...value, revision: previous.revision, providers: previous.providers };
|
|
80
|
+
}
|
|
81
|
+
return value;
|
|
73
82
|
}
|
|
74
83
|
async function loadProviderRegistry(fetchImpl, options = {}) {
|
|
75
84
|
try {
|
|
76
85
|
const url = options.force ? '/api/providers?force=1' : '/api/providers';
|
|
77
|
-
const response = await fetchImpl(url);
|
|
86
|
+
const response = await fetchImpl(url, { signal: AbortSignal.timeout(30_000) });
|
|
78
87
|
if (!response.ok) {
|
|
88
|
+
if (response.status === 401 || response.status === 403) {
|
|
89
|
+
throw new ProviderClientAuthError('Provider session is unavailable.');
|
|
90
|
+
}
|
|
79
91
|
return createRuntimeUnreachableRegistry(await readProviderRegistryErrorMessage(response, PROVIDER_LOAD_FAILED_WARNING));
|
|
80
92
|
}
|
|
81
93
|
const payload = (await response.json());
|
|
82
94
|
return normalizeProviderRegistryPayload(payload);
|
|
83
95
|
}
|
|
84
96
|
catch (error) {
|
|
97
|
+
if (error instanceof ProviderClientAuthError)
|
|
98
|
+
throw error;
|
|
85
99
|
return createRuntimeUnreachableRegistry(error instanceof Error ? error.message : PROVIDER_LOAD_FAILED_WARNING);
|
|
86
100
|
}
|
|
87
101
|
}
|
|
88
102
|
export function clearProviderRegistryClientCache() {
|
|
103
|
+
invalidateProviderClientSession();
|
|
104
|
+
}
|
|
105
|
+
onProviderClientInvalidation(() => {
|
|
89
106
|
providerRegistryClientCache.value = null;
|
|
90
|
-
providerRegistryClientCache.freshUntilMs = 0;
|
|
91
107
|
providerRegistryClientCache.inflight = null;
|
|
92
|
-
clearProviderCatalogClientCache();
|
|
93
108
|
for (const listener of listeners)
|
|
94
109
|
listener(createRuntimeUnreachableRegistry(PROVIDER_LOAD_FAILED_WARNING));
|
|
95
|
-
}
|
|
110
|
+
});
|
|
96
111
|
export function peekProviderRegistryClientCache() {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
&& providerRegistryClientCache.freshUntilMs > now) {
|
|
100
|
-
return providerRegistryClientCache.value;
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
112
|
+
// Reopen immediately from observed data; the mounted picker revalidates it.
|
|
113
|
+
return providerRegistryClientCache.value;
|
|
103
114
|
}
|
|
104
115
|
export async function fetchProviderRegistryFromClientCache(options = {}) {
|
|
105
116
|
// Every opened picker verifies current intent. The server can reuse its
|
|
@@ -112,8 +123,13 @@ export async function fetchProviderRegistryFromClientCache(options = {}) {
|
|
|
112
123
|
if (providerRegistryClientCache.inflight !== request) {
|
|
113
124
|
throw new Error('Provider selection request was superseded.');
|
|
114
125
|
}
|
|
115
|
-
writeProviderRegistryClientCache(value);
|
|
116
|
-
|
|
126
|
+
return writeProviderRegistryClientCache(value);
|
|
127
|
+
})
|
|
128
|
+
.catch((error) => {
|
|
129
|
+
if (error instanceof ProviderClientAuthError && providerRegistryClientCache.inflight === request) {
|
|
130
|
+
invalidateProviderClientSession();
|
|
131
|
+
}
|
|
132
|
+
throw error;
|
|
117
133
|
})
|
|
118
134
|
.finally(() => {
|
|
119
135
|
if (providerRegistryClientCache.inflight === request)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerRegistryClient.js","sourceRoot":"","sources":["../../../../src/app/renderer/providerRegistryClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yCAAyC,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EACL,4BAA4B,GAC7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"providerRegistryClient.js","sourceRoot":"","sources":["../../../../src/app/renderer/providerRegistryClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,13 @@ function isPublicAuthRoute(pathname, method) {
|
|
|
69
69
|
return (pathname === '/api/auth/status' && method === 'GET') || (pathname === '/api/auth/browser-handoff/exchange' && ['GET', 'POST'].includes(method)) || (pathname === '/api/auth/login' && method === 'POST') || (pathname === '/api/auth/google/login' && method === 'POST') || (pathname === '/api/auth/repair/first-admin' && method === 'POST') || (pathname === '/api/auth/throttle/clear' && method === 'POST') || (pathname === '/api/auth/logout' && method === 'POST');
|
|
70
70
|
}
|
|
71
71
|
function isPublicPreSetupRoute(pathname, method) {
|
|
72
|
+
// Catlas is selected before setup completion creates the first Admin/session.
|
|
73
|
+
// Expose only the picker's catalog reads; the Runtime selection still scopes
|
|
74
|
+
// their results, and post-setup/repair requests remain authenticated.
|
|
75
|
+
if (method === 'GET' && (pathname === '/api/providers'
|
|
76
|
+
|| /^\/api\/providers\/[^/]+\/models(?:\/advanced)?$/u.test(pathname))) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
72
79
|
if ((pathname === '/api/platform/ingress' && method === 'GET')
|
|
73
80
|
|| (pathname === '/api/platform/bootstrap-diagnostics' && method === 'GET')
|
|
74
81
|
|| (pathname === '/api/platform/bootstrap-diagnostics/opened' && method === 'POST')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authGatePolicy.js","sourceRoot":"","sources":["../../../../src/app/server/authGatePolicy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authGatePolicy.js","sourceRoot":"","sources":["../../../../src/app/server/authGatePolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribeRoutes.d.ts","sourceRoot":"","sources":["../../../../src/app/server/subscribeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"subscribeRoutes.d.ts","sourceRoot":"","sources":["../../../../src/app/server/subscribeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAuBnF,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,mBAAmB,GAAG;QAClC,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAqO3D,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,OAAO,CAAC,CA6BlB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sendJson, sendMethodNotAllowed } from '../../shared/http.js';
|
|
2
2
|
import { ARTIFACT_ENTITY_SUBSCRIPTION_VERSION, buildArtifactSubscriptionPatches, buildArtifactSubscriptionState, buildArtifactSubscriptionStateFromCore, } from '../../platform/orchestration/entitySubscriptions/artifact.js';
|
|
3
|
-
import { buildChannelSubscriptionPatches, buildChannelSubscriptionState, CHANNEL_ENTITY_SUBSCRIPTION_VERSION, } from '../../platform/orchestration/entitySubscriptions/channel.js';
|
|
3
|
+
import { buildChannelSubscriptionPatches, buildChannelSubscriptionState, CHANNEL_ENTITY_SUBSCRIPTION_VERSION, ChannelSubscriptionNotFoundError, } from '../../platform/orchestration/entitySubscriptions/channel.js';
|
|
4
4
|
import { SUPPORTED_ENTITY_SUBSCRIPTION_KINDS, writeEntitySubscriptionHeaders, writeEntitySubscriptionSseEvent, } from '../../platform/orchestration/entitySubscriptions/index.js';
|
|
5
5
|
export const ARTIFACT_ENTITY_SUBSCRIPTION_REFRESH_MS = 500;
|
|
6
6
|
const ENTITY_SUBSCRIPTION_KIND_LABEL = SUPPORTED_ENTITY_SUBSCRIPTION_KINDS.join('|');
|
|
@@ -30,9 +30,10 @@ async function routeChannelSubscription(context, id) {
|
|
|
30
30
|
latestState = await buildChannelSubscriptionState(context.dependencies, id);
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
33
|
-
|
|
33
|
+
const missing = error instanceof ChannelSubscriptionNotFoundError;
|
|
34
|
+
sendJson(context.response, missing ? 404 : 503, {
|
|
34
35
|
error: {
|
|
35
|
-
code: 'subscription_entity_not_found',
|
|
36
|
+
code: missing ? 'subscription_entity_not_found' : 'subscription_temporarily_unavailable',
|
|
36
37
|
message: error instanceof Error ? error.message : `Channel not found: ${id}`,
|
|
37
38
|
},
|
|
38
39
|
});
|
|
@@ -82,6 +83,7 @@ async function routeChannelSubscription(context, id) {
|
|
|
82
83
|
event: 'close',
|
|
83
84
|
data: {
|
|
84
85
|
reason: error instanceof Error ? error.message : 'Subscription refresh failed',
|
|
86
|
+
retryable: !(error instanceof ChannelSubscriptionNotFoundError),
|
|
85
87
|
},
|
|
86
88
|
});
|
|
87
89
|
context.response.end();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribeRoutes.js","sourceRoot":"","sources":["../../../../src/app/server/subscribeRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAItE,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,8BAA8B,EAC9B,sCAAsC,GAEvC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,mCAAmC,
|
|
1
|
+
{"version":3,"file":"subscribeRoutes.js","sourceRoot":"","sources":["../../../../src/app/server/subscribeRoutes.ts"],"names":[],"mappings":"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"}
|