@mduan/paseo-cli 0.11.0-fork.25 → 0.11.0-fork.26
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/node_modules/@getpaseo/client/package.json +3 -3
- package/node_modules/@getpaseo/highlight/package.json +1 -1
- package/node_modules/@getpaseo/plugin/package.json +3 -3
- package/node_modules/@getpaseo/protocol/package.json +1 -1
- package/node_modules/@getpaseo/relay/package.json +1 -1
- package/node_modules/@getpaseo/server/dist/server/builtin-plugins/package.json +1 -1
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{index-bad395507d396add277fbea7486eee2c.js → index-e40f9469d927082127392a99cdf31e38.js} +2 -2
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{index-bad395507d396add277fbea7486eee2c.js.br → index-e40f9469d927082127392a99cdf31e38.js.br} +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{index-bad395507d396add277fbea7486eee2c.js.gz → index-e40f9469d927082127392a99cdf31e38.js.gz} +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/index.html +1 -1
- package/node_modules/@getpaseo/server/dist/server/web-ui/index.html.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/index.html.gz +0 -0
- package/node_modules/@getpaseo/server/package.json +6 -6
- package/package.json +7 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/client",
|
|
3
|
-
"version": "0.11.0-fork.
|
|
3
|
+
"version": "0.11.0-fork.26",
|
|
4
4
|
"description": "Paseo client SDK package",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"vitest": "^4.1.6"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@getpaseo/protocol": "0.11.0-fork.
|
|
48
|
-
"@getpaseo/relay": "0.11.0-fork.
|
|
47
|
+
"@getpaseo/protocol": "0.11.0-fork.26",
|
|
48
|
+
"@getpaseo/relay": "0.11.0-fork.26"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/plugin",
|
|
3
|
-
"version": "0.11.0-fork.
|
|
3
|
+
"version": "0.11.0-fork.26",
|
|
4
4
|
"description": "Paseo plugin SDK package",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
"test": "vitest run"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@getpaseo/client": "0.11.0-fork.
|
|
70
|
-
"@getpaseo/protocol": "0.11.0-fork.
|
|
69
|
+
"@getpaseo/client": "0.11.0-fork.26",
|
|
70
|
+
"@getpaseo/protocol": "0.11.0-fork.26",
|
|
71
71
|
"@types/node": "^20.9.0",
|
|
72
72
|
"@types/react": "~19.2.0",
|
|
73
73
|
"react": "19.1.0",
|
|
@@ -15169,7 +15169,7 @@ __d(function(g,r,i,_a,m,e,d){'use strict';const t=r(d[0]);m.exports=(s,c,n)=>t(s
|
|
|
15169
15169
|
__d(function(g,r,i,_a,m,e,d){'use strict';const t=r(d[0]);m.exports=(s,c,n)=>t(s,c,n)<=0},3524,[2992]);
|
|
15170
15170
|
__d(function(g,r,i,a,m,e,d){'use strict';const t=r(d[0]);m.exports=(n,c,s)=>{try{c=new t(c,s)}catch(t){return!1}return c.test(n)}},3525,[3516]);
|
|
15171
15171
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.resolveAppVersion=function(){const e=u(t.default?.version);if(e)return e;const o=u(n.default.expoConfig?.version);if(o)return o;const f=u(n.default.manifest?.version);if(f)return f;return null};var n=e(r(d[0])),t=e(r(d[1]));function u(e){if("string"!=typeof e)return null;const n=e.trim();return 0===n.length?null:n}},3526,[702,3527]);
|
|
15172
|
-
__d(function(e,t,r,o,i,a,n){i.exports={name:"@getpaseo/app",version:"0.11.0-fork.
|
|
15172
|
+
__d(function(e,t,r,o,i,a,n){i.exports={name:"@getpaseo/app",version:"0.11.0-fork.26",private:!0,main:"index.ts",scripts:{start:"npm run start:expo","start:expo":"cross-env APP_VARIANT=development expo start","reset-project":"node ./scripts/reset-project.js","eas-build-post-install":"npm --prefix ../.. run build:app-deps && npm run build:terminal-webview",android:"npm run android:development","android:development":"npm --prefix ../.. run build:client && cross-env APP_VARIANT=development expo prebuild --platform android --clean --non-interactive && cross-env APP_VARIANT=development expo run:android --variant=debug","android:production":"npm --prefix ../.. run build:client && cross-env APP_VARIANT=production expo prebuild --platform android --clean --non-interactive && cross-env APP_VARIANT=production expo run:android --variant=release","android:release":"npm run android:production","android:clear":"node -e \"require('node:fs').rmSync('android', { recursive: true, force: true })\"",ios:"npm --prefix ../.. run build:client && expo run:ios","ios:release":"npm --prefix ../.. run build:client && expo run:ios --configuration Release",web:"npm --prefix ../.. run build:client && concurrently --kill-others --names protocol,client,expo --prefix-colors yellow,blue,magenta \"npm --prefix ../.. run watch:protocol\" \"npm --prefix ../.. run watch:client\" \"npm run web:expo\"","web:expo":"expo start --web",lint:"expo lint",typecheck:"tsgo --noEmit",test:"vitest run","test:browser":"vitest run --project browser","test:e2e":"playwright test --project=browser","test:e2e:diff-performance":"cross-env PASEO_DIFF_PERF_E2E=1 playwright test --project=browser e2e/browser/diff-performance.spec.ts","test:e2e:stream-smoothness":"cross-env PASEO_AGENT_STREAM_PERF_E2E=1 playwright test --project=browser e2e/browser/agent-stream-smoothness.spec.ts","test:e2e:real":"cross-env E2E_FORK_PASEO_HOME_FROM=../../.dev/paseo-home playwright test --project=real-provider","test:e2e:relay-deployment":"npm --prefix ../.. run build:server && npm --prefix ../.. run build:daemon-web-ui && cross-env E2E_FORK_PASEO_HOME_FROM=../../.dev/paseo-home playwright test --project=relay-deployment e2e/browser/relay-deployment-reconnect.real.spec.ts","test:e2e:ui":"playwright test --ui",build:"npm run build:web","build:web":"npm --prefix ../.. run build:app-deps && expo export --platform web","profile:composer-typing":"node ./scripts/profile-composer-typing.mjs","profile:explorer-toggle":"node ./scripts/profile-explorer-toggle.mjs","profile:side-pane":"playwright test --config playwright.profile.config.ts side-pane-performance.spec.ts","profile:workspace-switching":"node ./scripts/profile-workspace-switching.mjs","profile:workspace-tabs":"node ./scripts/profile-workspace-tabs.mjs","deploy:web":"npm run build:web && wrangler pages deploy dist --project-name paseo-app --branch main","build:terminal-webview":"node ./scripts/build-terminal-webview-html.mjs","build:mermaid-runtime":"node ./src/components/markdown/fence/mermaid/build-runtime.mjs"},dependencies:{"@codemirror/commands":"6.10.4","@codemirror/language":"6.12.4","@codemirror/search":"6.7.1","@codemirror/state":"6.7.1","@codemirror/view":"6.43.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@floating-ui/react-native":"^0.10.7","@getpaseo/client":"*","@getpaseo/expo-two-way-audio":"*","@getpaseo/highlight":"*","@getpaseo/plugin":"*","@getpaseo/protocol":"*","@gorhom/bottom-sheet":"^5.2.14","@gorhom/portal":"^1.0.14","@marijn/find-cluster-break":"^1.0.2","@mattermost/react-native-paste-input":"2.0.1","@react-native-async-storage/async-storage":"2.2.0","@react-native-masked-view/masked-view":"^0.3.2","@react-native/normalize-colors":"^0.81.5","@react-navigation/native":"^7.1.8","@replit/codemirror-vim":"6.3.0","@shopify/react-native-skia":"2.2.12","@tanstack/react-query":"^5.90.11","@tanstack/react-virtual":"^3.13.21","@xterm/addon-clipboard":"^0.3.0-beta.213","@xterm/addon-fit":"^0.12.0-beta.213","@xterm/addon-image":"^0.10.0-beta.213","@xterm/addon-ligatures":"^0.11.0-beta.213","@xterm/addon-search":"^0.17.0-beta.213","@xterm/addon-unicode11":"^0.10.0-beta.213","@xterm/addon-web-links":"^0.13.0-beta.213","@xterm/addon-webgl":"^0.20.0-beta.212","@xterm/xterm":"^6.1.0-beta.213",buffer:"^6.0.3",expo:"^54.0.18","expo-asset":"~12.0.12","expo-audio":"~1.0.13","expo-build-properties":"^1.0.9","expo-camera":"~17.0.10","expo-clipboard":"~8.0.7","expo-constants":"~18.0.9","expo-crypto":"^15.0.8","expo-dev-client":"^6.0.15","expo-document-picker":"~14.0.8","expo-file-system":"~19.0.17","expo-haptics":"~15.0.7","expo-image":"~3.0.10","expo-image-manipulator":"~14.0.8","expo-image-picker":"^17.0.8","expo-keep-awake":"^15.0.7","expo-linking":"~8.0.8","expo-localization":"~17.0.9","expo-notifications":"^0.32.16","expo-router":"~6.0.13","expo-sharing":"^14.0.8","expo-splash-screen":"~31.0.10","expo-sqlite":"~16.0.10","expo-system-ui":"~6.0.7","fast-deep-equal":"^3.1.3",htmlparser2:"^12.0.0",i18next:"^26.3.0","lucide-react-native":"^0.546.0","markdown-it":"^10.0.0",mermaid:"^11.16.0","mnemonic-id":"^3.2.7",qrcode:"^1.5.4",react:"19.1.0","react-dom":"19.1.0","react-freeze":"1.0.4","react-i18next":"^17.0.8","react-native":"0.81.5","react-native-draggable-flatlist":"^4.0.3","react-native-edge-to-edge":"^1.7.0","react-native-gesture-handler":"~2.28.0","react-native-keyboard-controller":"1.21.12","react-native-markdown-display":"^7.0.2","react-native-nitro-modules":"0.35.5","react-native-reanimated":"~4.3.1","react-native-safe-area-context":"~5.6.0","react-native-screens":"~4.16.0","react-native-svg":"^15.14.0","react-native-uitextview":"^2.2.0","react-native-unistyles":"^3.2.4","react-native-web":"~0.21.0","react-native-webview":"^13.16.0","react-native-worklets":"~0.8.3","tiny-invariant":"^1.3.3",turndown:"^7.2.4","turndown-plugin-gfm":"^1.0.2","use-sync-external-store":"^1.6.0",yaml:"^2.8.4",zod:"^4.4.3",zustand:"^5.0.9"},devDependencies:{"@playwright/test":"^1.56.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@types/markdown-it":"^14.1.2","@types/node":"~22.19.0","@types/qrcode":"^1.5.6","@types/react":"~19.2.0","@types/turndown":"^5.0.6","@types/ws":"^8.18.1","@vitest/browser":"^4.1.7","@vitest/browser-playwright":"^4.1.7","@xterm/headless":"^6.1.0-beta.213",dotenv:"^17.2.3","eas-cli":"^16.24.1",esbuild:"0.28.1",eslint:"^9.25.0","eslint-config-expo":"~10.0.0","expo-gradle-jvmargs":"^1.1.2","fake-indexeddb":"^6.2.5",jsdom:"^20.0.3","material-icon-theme":"^5.32.0",playwright:"^1.56.1","serve-sim":"^0.1.40",typescript:"~5.9.2",vitest:"^4.1.6",wrangler:"^4.105.0",ws:"^8.20.0"},reanimated:{staticFeatureFlags:{FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS:!1}}}},3527,[]);
|
|
15173
15173
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createPluginClientRuntime=function(p){const I=(0,l.createPluginClientStateSource)(p.serverId),P=(0,o.createPluginCapabilities)(p,(0,s.createPluginNavigation)({serverId:p.serverId,workspaceId:null}));return Object.assign({},P,{hosts:(0,n.createPluginHosts)((0,t.getHostRuntimeStore)(),p.lifetime.signal),addComposerPill:t=>u.pluginButtonStore.addComposerPill(p,t),addHeaderButton:t=>u.pluginButtonStore.addHeaderButton(p,t),openPanel(t,n){c({installation:p,state:I,panelId:t,options:n})}})};var t=r(d[0]),n=r(d[1]),o=r(d[2]),l=r(d[3]),s=r(d[4]),u=r(d[5]);function c(t){const{installation:n,state:l,panelId:u,options:c}=t,p=c.workspaceId.trim(),I=c.agentId?.trim(),P=(0,s.createPluginNavigation)({serverId:n.serverId,workspaceId:p}),v=I?(0,o.createPluginAgentActionContext)({plugin:n,navigation:P,state:l,workspaceId:p,agentId:I}):(0,o.createPluginWorkspaceActionContext)({plugin:n,navigation:P,state:l,workspaceId:p});if(!v)throw new Error("Plugin panel context is unavailable");v.openPanel(u,{location:c.location})}},3528,[3529,3652,3653,3664,3669,3680]);
|
|
15174
15174
|
__d(function(g,r,i,a,m,_e,d){"use strict";const e=["password"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.isHostRuntimeConnected=te,_e.isHostRuntimeDirectoryLoading=ne,Object.defineProperty(_e,"HostRuntimeController",{enumerable:!0,get:function(){return ye}}),_e.readInitialDaemonConnectionHint=be,_e.hasConfiguredLocalDaemonOverride=function(){return null!==we()},Object.defineProperty(_e,"HostRuntimeStore",{enumerable:!0,get:function(){return De}}),_e.getHostRuntimeStore=Pe,_e.getHostRuntimeConnectionStatusSince=function(e){return Pe().getConnectionStatusSince(e)},_e.useHostRuntimeSnapshot=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>o.getSnapshot(e),u=()=>o.getSnapshot(e),t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHostRuntimeClient=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>o.getSnapshot(e)?.client??null,u=()=>o.getSnapshot(e)?.client??null,t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHostRuntimeIsConnected=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>te(o.getSnapshot(e)),u=()=>te(o.getSnapshot(e)),t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHostRuntimeConnectionStatus=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>o.getSnapshot(e)?.connectionStatus??"connecting",u=()=>o.getSnapshot(e)?.connectionStatus??"connecting",t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHostRuntimeConnectionStatuses=function(e){const t=(0,s.c)(7);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c;t[1]!==e?(c=()=>e.map(e=>o.getSnapshot(e)?.connectionStatus??"connecting").join("\n"),t[1]=e,t[2]=c):c=t[2];const h=c;let u;t[3]===Symbol.for("react.memo_cache_sentinel")?(u=e=>o.subscribeAll(e),t[3]=u):u=t[3];const p=(0,l.useSyncExternalStore)(u,h,h);let y;if(t[4]!==e||t[5]!==p){const n=p.split("\n");y=new Map(e.map((e,t)=>[e,n[t]])),t[4]=e,t[5]=p,t[6]=y}else y=t[6];return y},_e.useHostRuntimeLastError=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>o.getSnapshot(e)?.lastError??null,u=()=>o.getSnapshot(e)?.lastError??null,t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHostRuntimeAgentDirectoryStatus=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>o.getSnapshot(e)?.agentDirectoryStatus??"idle",u=()=>o.getSnapshot(e)?.agentDirectoryStatus??"idle",t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHostRuntimeIsDirectoryLoading=function(e){const t=(0,s.c)(5);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=Pe(),t[0]=n):n=t[0];const o=n;let c,h,u;t[1]!==e?(c=t=>o.subscribe(e,t),h=()=>ne(o.getSnapshot(e)),u=()=>ne(o.getSnapshot(e)),t[1]=e,t[2]=c,t[3]=h,t[4]=u):(c=t[2],h=t[3],u=t[4]);return(0,l.useSyncExternalStore)(c,h,u)},_e.useHosts=function(){const e=(0,s.c)(4);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Pe(),e[0]=t):t=e[0];const n=t;let o,c,h;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=e=>n.subscribeHostList(e),c=()=>n.getHosts(),h=()=>n.getHosts(),e[1]=o,e[2]=c,e[3]=h):(o=e[1],c=e[2],h=e[3]);return(0,l.useSyncExternalStore)(o,c,h)},_e.useHostRegistryStatus=function(){const e=(0,s.c)(4);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Pe(),e[0]=t):t=e[0];const n=t;let o,c,h;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=e=>n.subscribeHostList(e),c=()=>n.getHostRegistryStatus(),h=()=>n.getHostRegistryStatus(),e[1]=o,e[2]=c,e[3]=h):(o=e[1],c=e[2],h=e[3]);return(0,l.useSyncExternalStore)(o,c,h)},_e.useHostRegistryLoaded=function(){const e=(0,s.c)(4);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Pe(),e[0]=t):t=e[0];const n=t;let o,c,h;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=e=>n.subscribeHostList(e),c=()=>n.isHostRegistryLoaded(),h=()=>n.isHostRegistryLoaded(),e[1]=o,e[2]=c,e[3]=h):(o=e[1],c=e[2],h=e[3]);return(0,l.useSyncExternalStore)(o,c,h)},_e.useHostConfirmation=function(){const e=(0,s.c)(9);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Pe(),e[0]=t):t=e[0];const n=t;let o,c,h;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=e=>n.subscribeHostConfirmation(e),c=()=>n.getPendingHostConfirmation(),h=()=>n.getPendingHostConfirmation(),e[1]=o,e[2]=c,e[3]=h):(o=e[1],c=e[2],h=e[3]);const u=(0,l.useSyncExternalStore)(o,c,h);let p,y;e[4]!==u?(p=e=>{u&&n.answerHostConfirmation(u.id,e)},e[4]=u,e[5]=p):p=e[5];e[6]!==u||e[7]!==p?(y={pending:u,answer:p},e[6]=u,e[7]=p,e[8]=y):y=e[8];return y},_e.useHostMutations=function(){const e=(0,s.c)(2);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Pe(),e[0]=t):t=e[0];const n=t;let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o={upsertDirectConnection:e=>n.upsertDirectConnection(e),probeAndUpsertDirectConnection:e=>n.probeAndUpsertDirectConnection(e),probeAndUpsertRemoteSshConnection:e=>n.probeAndUpsertRemoteSshConnection(e),beginLinkPairing:()=>n.beginLinkPairing(),renameHost:(e,t)=>n.renameHost(e,t),setHostColor:(e,t)=>n.setHostColor(e,t),setHostBadgeDisplay:(e,t)=>n.setHostBadgeDisplay(e,t),removeHost:e=>n.removeHost(e),removeConnection:(e,t)=>n.removeConnection(e,t)},e[1]=o):o=e[1];return o};var n=t(r(d[0])),s=r(d[1]),o=r(d[2]),c=r(d[3]),l=r(d[4]),h=t(r(d[5])),u=t(r(d[6])),p=r(d[7]),y=r(d[8]),S=r(d[9]),f=r(d[10]),C=r(d[11]),v=r(d[12]),b=r(d[13]),w=r(d[14]),I=r(d[15]),A=r(d[16]),H=r(d[17]),R=r(d[18]),D=r(d[19]),E=r(d[20]),L=r(d[21]),P=r(d[22]),O=r(d[23]),_=r(d[24]),M=r(d[25]),k=r(d[26]),T=r(d[27]),B=r(d[28]),F=r(d[29]),j=r(d[30]),q=r(d[31]),x=r(d[32]),U=r(d[33]),V=r(d[34]),W=r(d[35]),N=r(d[36]),$=r(d[37]),G=r(d[38]),z=r(d[39]),K=r(d[40]),Q=r(d[41]),J=r(d[42]),X=r(d[43]),Y=r(d[44]),Z=r(d[45]);function ee(e,t,n){e[t]=n}function te(e){return"online"===e?.connectionStatus}function ne(e){return!e||("initial_loading"===e.agentDirectoryStatus||"revalidating"===e.agentDirectoryStatus||!e.hasEverLoadedAgentDirectory&&("connecting"===e.connectionStatus||"online"===e.connectionStatus))}function se(e){return e instanceof Error?e.message:String(e)}function ie(e){let t=0;for(let n=0;n<e.length;n+=1)t=31*t+e.charCodeAt(n)|0;return`h_${Math.abs(t).toString(16)}`}function oe(e){return"directSocket"===e.type?{type:"directSocket",endpoint:e.path,display:"socket"}:"directPipe"===e.type?{type:"directPipe",endpoint:e.path,display:"pipe"}:"remoteSsh"===e.type?{type:"remoteSsh",endpoint:e.host,display:e.host}:"directTcp"===e.type?{type:"directTcp",endpoint:e.endpoint,display:e.endpoint}:{type:"relay",endpoint:e.relayEndpoint,display:"relay"}}function re(e){return"connecting"===e.tag||"online"===e.tag||"offline"===e.tag||"error"===e.tag?{id:e.activeConnectionId,connection:e.activeConnection}:{id:null,connection:null}}function ce(e,t,n){const s=n.state.status;return"connected"===s?{tag:"online",activeConnectionId:e,activeConnection:t,lastOnlineAt:(new Date).toISOString()}:"connecting"===s||"idle"===s?{tag:"connecting",activeConnectionId:e,activeConnection:t}:"disposed"===s?{tag:"offline",activeConnectionId:e,activeConnection:t}:null}function ae(e,t,n){const s=ce(e,t,n);if(s)return s;const o=("disconnected"===n.state.status?n.state.reason??null:null)??n.lastError??null;return o&&"client_closed"!==o?{tag:"error",activeConnectionId:e,activeConnection:t,message:o}:{tag:"offline",activeConnectionId:e,activeConnection:t}}function le(e){const{state:t,event:n}=e;if("select_connection"===n.type)return{tag:"connecting",activeConnectionId:n.connectionId,activeConnection:n.connection};if("connect_failed"===n.type){const e=re(t);return{tag:"error",activeConnectionId:e.id,activeConnection:e.connection,message:n.message}}if("no_connections"===n.type||"stopped"===n.type)return{tag:"offline",activeConnectionId:null,activeConnection:null};const s=re(t);return s.id&&s.connection?ae(s.id,s.connection,n):"booting"===t.tag?t:{tag:"offline",activeConnectionId:null,activeConnection:null}}function he(e,t){return"booting"===e.tag?{activeConnectionId:null,activeConnection:null,connectionStatus:"connecting",lastError:null,lastOnlineAt:null,connectionEpoch:t}:"connecting"===e.tag?{activeConnectionId:e.activeConnectionId,activeConnection:e.activeConnection,connectionStatus:"connecting",lastError:null,lastOnlineAt:null,connectionEpoch:t}:"online"===e.tag?{activeConnectionId:e.activeConnectionId,activeConnection:e.activeConnection,connectionStatus:"online",lastError:null,lastOnlineAt:e.lastOnlineAt,connectionEpoch:t}:"offline"===e.tag?{activeConnectionId:e.activeConnectionId,activeConnection:e.activeConnection,connectionStatus:"offline",lastError:null,lastOnlineAt:null,connectionEpoch:t}:{activeConnectionId:e.activeConnectionId,activeConnection:e.activeConnection,connectionStatus:"error",lastError:e.message,lastOnlineAt:null,connectionEpoch:t}}function de(e){return e.connections.map(e=>({connectionId:e.id,connection:e}))}function ue(e,t){return t?e.connections.find(e=>e.id===t)??null:null}function pe(e,t,n,s){if(t)return 1e4;if(n)return 12e4;const o=s-e;return o<1e4?2e3:o<3e4?5e3:o<6e4?1e4:3e4}function ge(){const e="function"==typeof(0,P.getDesktopHost)()?.browser?.executeAutomationCommand?{[_.CLIENT_CAPS.browserHost]:{supportedCommands:[...M.BROWSER_AUTOMATION_COMMAND_NAMES],hostKind:"desktop app"}}:void 0,t=Object.assign({},e);return{createClient:({host:e,connection:n,clientId:s,runtimeGeneration:l})=>{const h=(0,L.createDesktopDaemonTransportFactory)(),u={webSocketFactory:(0,Z.createAppWebSocketFactory)()},y=Object.assign({suppressSendErrors:!0,clientId:s,clientType:"mobile",appVersion:(0,C.resolveAppVersion)()??void 0,deviceLabel:o.getAppDeviceLabel,deviceKind:(0,o.getAppDeviceKind)(),connectionTransport:"remoteSsh"===n.type?c.ConnectionTransport.SshTunnel:void 0,runtimeGeneration:l,capabilities:t,trace:X.nativePerformanceTrace,providerSnapshots:"wire"},e.password?{password:e.password}:{},{localCredential:()=>(0,O.readDesktopManagedLocalCredential)(n)});if("directSocket"===n.type||"directPipe"===n.type)return new p.DaemonClient(Object.assign({},y,h?{transportFactory:h}:{},{url:(0,L.buildDesktopDaemonTransportUrl)({transportType:"directSocket"===n.type?"socket":"pipe",transportPath:n.path})}));if("remoteSsh"===n.type){if(!h)throw new Error("Remote SSH is only available in the desktop app.");return new p.DaemonClient(Object.assign({},y,{transportFactory:h,url:(0,L.buildDesktopDaemonTransportUrl)(Object.assign({transportType:"ssh",host:n.host},void 0!==n.sshPort?{sshPort:n.sshPort}:{},void 0!==n.daemonPort?{daemonPort:n.daemonPort}:{}))}))}return"directTcp"===n.type?new p.DaemonClient(Object.assign({},y,u,{url:(0,f.buildDaemonWebSocketUrl)(n.endpoint,{useTls:n.useTls??!1})})):new p.DaemonClient(Object.assign({},y,u,{url:(0,f.buildRelayWebSocketUrl)({endpoint:n.relayEndpoint,useTls:n.useTls??(0,f.shouldUseTlsForDefaultHostedRelay)(n.relayEndpoint),serverId:e.serverId}),e2ee:{enabled:!0,daemonPublicKeyB64:n.daemonPublicKeyB64}}))},connectToDaemon:({host:e,connection:n,timeoutMs:s})=>(0,A.connectToDaemon)(n,Object.assign({},e.serverId?{serverId:e.serverId}:{},e.password?{password:e.password}:{},{localCredential:()=>(0,O.readDesktopManagedLocalCredential)(n)},void 0!==s?{timeoutMs:s}:{},{capabilities:t,trace:X.nativePerformanceTrace})),getClientId:()=>(0,H.getOrCreateClientId)(),mountClientHandlers:({client:t,host:n})=>{const s=(0,j.mountServerDataPushRouter)({client:t,queryClient:F.queryClient,serverId:n.serverId});if(!e)return s;const o=(0,q.mountBrowserAutomationDaemonClientHandler)(t,{serverId:n.serverId});return()=>{o(),s()}}}}class ye{connectionEpoch=0;listeners=new Set;activeClient=null;unsubscribeClientStatus=null;unsubscribeClientHandlers=null;probeIntervalHandle=null;started=!1;connectionFirstSeenAt=new Map;connectionLastProbedAt=new Map;switchCandidateConnectionId=null;switchCandidateHitCount=0;clientIdPromise=null;clientIdHash=null;switchRequestVersion=0;probeRequestVersion=0;probeCycleInFlight=null;authRejectedConnectionIds=new Set;constructor(e){this.host=e.host,this.deps=e.deps??ge(),this.onReconcileServerId=e.onReconcileServerId??null,this.connectionMachineState={tag:"booting"},this.snapshot=Object.assign({serverId:this.host.serverId},he(this.connectionMachineState,this.connectionEpoch),{client:null,agentDirectoryStatus:"idle",agentDirectoryError:null,hasEverLoadedAgentDirectory:!1,probeByConnectionId:new Map,clientGeneration:0})}getSnapshot(){return this.snapshot}getClient(){return this.snapshot.client}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async start(e){this.started||(this.started=!0,this.trackConnectionFirstSeen(),e?.initialConnection&&(await this.switchToConnection({connectionId:e.initialConnection.connectionId,existingClient:e.initialConnection.existingClient}),!this.started)||(await this.runProbeCycleNow(),this.started&&!1!==e?.autoProbe&&(this.probeIntervalHandle=setInterval(()=>{this.runProbeCycleNow()},2e3))))}async stop(){if(this.switchRequestVersion+=1,this.probeRequestVersion+=1,this.started=!1,this.probeIntervalHandle&&(clearInterval(this.probeIntervalHandle),this.probeIntervalHandle=null),this.unsubscribeClientStatus&&(this.unsubscribeClientStatus(),this.unsubscribeClientStatus=null),this.unsubscribeClientHandlers&&(this.unsubscribeClientHandlers(),this.unsubscribeClientHandlers=null),this.activeClient){const e=this.activeClient;this.activeClient=null,await e.close().catch(()=>{})}this.applyConnectionEvent({type:"stopped"}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch),{client:null}))}async updateHost(e){const t=this.host.password!==e.password;t&&(this.probeRequestVersion+=1,this.authRejectedConnectionIds.clear(),this.updateSnapshot({authFailureReason:null}));const n=this.snapshot.activeConnectionId,s=ue(this.host,n);this.host=e,this.trackConnectionFirstSeen();const o=ue(this.host,n);n&&s&&o&&(!(0,u.default)(s,o)||t)&&(this.connectionLastProbedAt.delete(n),await this.switchToConnection({connectionId:n})),t&&this.connectionLastProbedAt.clear(),t&&await this.probeCycleInFlight,await this.runProbeCycleNow()}ensureConnected(e){this.activeClient?.ensureConnected(e)}markAgentDirectorySyncLoading(){const e=this.snapshot.hasEverLoadedAgentDirectory?"revalidating":"initial_loading";this.updateSnapshot({agentDirectoryStatus:e,agentDirectoryError:null})}markAgentDirectorySyncReady(){this.updateSnapshot({agentDirectoryStatus:"ready",agentDirectoryError:null,hasEverLoadedAgentDirectory:!0})}markAgentDirectorySyncError(e){const t=this.snapshot.hasEverLoadedAgentDirectory;this.updateSnapshot({agentDirectoryStatus:t?"error_after_ready":"error_before_first_success",agentDirectoryError:e,hasEverLoadedAgentDirectory:t})}markAgentDirectorySyncIdle(){this.updateSnapshot({agentDirectoryStatus:this.snapshot.hasEverLoadedAgentDirectory?"ready":"idle",agentDirectoryError:null})}markStartupError(e){this.applyConnectionEvent({type:"connect_failed",message:e}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch)))}async activateConnection(e){await this.switchToConnection(e)}async runProbeCycleNow(){if(this.probeCycleInFlight)return this.probeCycleInFlight;const e=this.runProbeCycle().finally(()=>{this.probeCycleInFlight===e&&(this.probeCycleInFlight=null)});return this.probeCycleInFlight=e,e}async runProbeCycle(){const e=++this.probeRequestVersion;if(0===this.host.connections.length){if(!this.isCurrentProbeRequest(e))return;return this.applyConnectionEvent({type:"no_connections"}),void this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch),{probeByConnectionId:new Map}))}const t=performance.now(),n="online"===this.snapshot.connectionStatus,s=this.snapshot.activeConnectionId,o=n&&null!==s,c=this.host.connections.filter(e=>{if(this.authRejectedConnectionIds.has(e.id))return!1;const c=this.connectionLastProbedAt.get(e.id);if(null==c)return!0;const l=pe(this.connectionFirstSeenAt.get(e.id)??t,n&&e.id===s,o,t);return t-c>=l});if(0===c.length)return;const l=new Map(this.snapshot.probeByConnectionId);for(const e of c){this.connectionLastProbedAt.set(e.id,performance.now());const t=l.get(e.id);n&&e.id===s&&"available"===t?.status||l.set(e.id,{status:"pending",latencyMs:null})}this.updateSnapshot({probeByConnectionId:new Map(l)});let h=c.length,u=null,y=null;const S=()=>{this.isCurrentProbeRequest(e)&&this.updateSnapshot({probeByConnectionId:new Map(l)})},f=async(t,n)=>{for(;!this.snapshot.activeConnectionId;){if(!y)return y=this.switchToConnection({connectionId:t,expectedProbeVersion:e,existingClient:n}).finally(()=>{y=null}),await y,this.snapshot.activeConnectionId===t;await y}return!1},C=async()=>{if(h>0||!this.isCurrentProbeRequest(e))return;const t=this.snapshot.activeConnectionId,n=t?l.get(t):null;if(!t||!ue(this.host,t)){const t=(0,E.selectBestConnection)({candidates:de(this.host),probeByConnectionId:l});if(t)await this.switchToConnection({connectionId:t,expectedProbeVersion:e});else if(u){const e=new p.DaemonAuthenticationError(u).message;this.applyConnectionEvent({type:"connect_failed",message:e}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch),{authFailureReason:u}))}return}if(this.isConnectionUnavailable(t,n)){const n=(0,E.selectBestConnection)({candidates:de(this.host),probeByConnectionId:l});return n&&n!==t&&await this.switchToConnection({connectionId:n,expectedProbeVersion:e}),this.switchCandidateConnectionId=null,void(this.switchCandidateHitCount=0)}if(!n||"available"!==n.status)return;const s=Array.from(l.entries()).filter(e=>"available"===e[1].status).map(([e,t])=>({connectionId:e,latencyMs:t.latencyMs})).sort((e,t)=>e.latencyMs-t.latencyMs)[0]??null;if(!s||s.connectionId===t)return this.switchCandidateConnectionId=null,void(this.switchCandidateHitCount=0);if(n.latencyMs-s.latencyMs<40)return this.switchCandidateConnectionId=null,void(this.switchCandidateHitCount=0);this.switchCandidateConnectionId===s.connectionId?this.switchCandidateHitCount+=1:(this.switchCandidateConnectionId=s.connectionId,this.switchCandidateHitCount=1),this.switchCandidateHitCount>=3&&(this.switchCandidateConnectionId=null,this.switchCandidateHitCount=0,await this.switchToConnection({connectionId:s.connectionId,expectedProbeVersion:e}))};await new Promise(t=>{for(const n of c)(async()=>{let s=null,o=!1;try{const t=this.snapshot.activeConnectionId===n.id?this.snapshot.client:null;if(t)s=t;else{const{client:e,serverId:t}=await this.deps.connectToDaemon({host:this.host,connection:n});if(t!==this.host.serverId){if(!Ae(this.host.serverId)||!this.onReconcileServerId)throw await e.close().catch(()=>{}),new Error(`Connection resolved to ${t}, expected ${this.host.serverId}.`);this.onReconcileServerId(this.host.serverId,t)}s=e,o=!0}if(!this.isCurrentProbeRequest(e))return;const c=await f(n.id,s);if(o=o&&!c,t){const s=t.getLastLivenessRttMs();if(!this.isCurrentProbeRequest(e))return;return void(null!==s&&(l.set(n.id,{status:"available",latencyMs:s}),S()))}const h=await s.measureLatency({timeoutMs:5e3});if(!this.isCurrentProbeRequest(e))return;l.set(n.id,{status:"available",latencyMs:h}),S()}catch(t){if(this.isCurrentProbeRequest(e)){const e=(0,A.getConnectionAuthFailureReason)(t);e&&(this.authRejectedConnectionIds.add(n.id),u=e),l.set(n.id,{status:"unavailable",latencyMs:null}),S()}}finally{s&&o&&await s.close().catch(()=>{}),h-=1,C().finally(()=>{0===h&&t()})}})()})}isConnectionUnavailable(e,t){return"unavailable"===t?.status||this.authRejectedConnectionIds.has(e)}updateSnapshot(e){const t=Object.assign({},e);let n=this.host.serverId!==this.snapshot.serverId;for(const s of Object.keys(e)){const o=e[s];(0,u.default)(this.snapshot[s],o)?ee(t,s,this.snapshot[s]):n=!0}if(n){this.snapshot=Object.assign({},this.snapshot,t,{serverId:this.host.serverId});for(const e of this.listeners)e()}}applyConnectionEvent(e){const t=this.connectionMachineState,n=le({state:t,event:e});"online"!==t.tag&&"online"===n.tag&&(this.connectionEpoch+=1),this.connectionMachineState=n,this.logConnectionTransition({from:t.tag,to:n.tag,event:e})}logConnectionTransition(e){}trackConnectionFirstSeen(){const e=performance.now(),t=new Set(this.host.connections.map(e=>e.id));for(const e of this.connectionFirstSeenAt.keys())t.has(e)||(this.connectionFirstSeenAt.delete(e),this.connectionLastProbedAt.delete(e));for(const t of this.host.connections)this.connectionFirstSeenAt.has(t.id)||this.connectionFirstSeenAt.set(t.id,e)}isCurrentSwitchRequest(e){return e===this.switchRequestVersion}isCurrentProbeRequest(e){return e===this.probeRequestVersion}canProceedForProbe(e){return void 0===e||this.isCurrentProbeRequest(e)}async abortSwitchWithClient(e){e&&await e.close().catch(()=>{})}isSwitchStillValid(e,t){return this.isCurrentSwitchRequest(e)&&this.canProceedForProbe(t)}async resolveClientIdForSwitch(e){try{return await this.resolveClientId()}catch(t){if(await this.abortSwitchWithClient(e.existingClient),!this.isCurrentSwitchRequest(e.requestVersion))return null;const n=se(t);return this.applyConnectionEvent({type:"connect_failed",message:`Failed to resolve client id: ${n}`}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch))),null}}async disposePreviousActiveClient(){if(this.unsubscribeClientStatus&&(this.unsubscribeClientStatus(),this.unsubscribeClientStatus=null),this.unsubscribeClientHandlers&&(this.unsubscribeClientHandlers(),this.unsubscribeClientHandlers=null),this.activeClient){const e=this.activeClient;this.activeClient=null,await e.close().catch(()=>{})}}buildAgentDirectoryStatusPatch(){if(this.snapshot.hasEverLoadedAgentDirectory)return{};const e=this.connectionMachineState.tag;return"connecting"===e||"online"===e?{agentDirectoryStatus:"initial_loading",agentDirectoryError:null}:"error"===e?{agentDirectoryStatus:"error_before_first_success",agentDirectoryError:this.connectionMachineState.message}:{agentDirectoryStatus:"idle",agentDirectoryError:null}}async switchToConnection(e){const{connectionId:t,expectedProbeVersion:n,existingClient:s}=e;if(!this.canProceedForProbe(n))return void await this.abortSwitchWithClient(s);const o=ue(this.host,t);if(!o)return void await this.abortSwitchWithClient(s);const c=++this.switchRequestVersion,l=await this.resolveClientIdForSwitch({existingClient:s,requestVersion:c});if(null===l)return;if(!this.isSwitchStillValid(c,n))return void await this.abortSwitchWithClient(s);if(await this.disposePreviousActiveClient(),!this.isSwitchStillValid(c,n))return void await this.abortSwitchWithClient(s);const h=this.snapshot.clientGeneration+1,u=s??this.deps.createClient({host:this.host,connection:o,clientId:l,runtimeGeneration:h});if(u.setReconnectEnabled(!0),!this.isSwitchStillValid(c,n))return void await u.close().catch(()=>{});this.activeClient=u,this.applyConnectionEvent({type:"select_connection",connectionId:o.id,connection:oe(o)}),this.snapshot=Object.assign({},this.snapshot,{clientGeneration:h}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch),{client:null}));const y=async e=>{if(!this.isCurrentSwitchRequest(c)||this.activeClient!==u)return;const t=(0,A.getConnectionAuthFailureReason)(e);if(t&&this.authRejectedConnectionIds.add(o.id),this.unsubscribeClientStatus?.(),this.unsubscribeClientStatus=null,this.unsubscribeClientHandlers?.(),this.unsubscribeClientHandlers=null,u.setReconnectEnabled(!1),this.applyConnectionEvent({type:"connect_failed",message:se(e)}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch),{client:null,authFailureReason:t})),t){const e=new Map(this.snapshot.probeByConnectionId);e.set(o.id,{status:"unavailable",latencyMs:null}),this.updateSnapshot({probeByConnectionId:e});for(const e of this.host.connections)this.authRejectedConnectionIds.has(e.id)||this.connectionLastProbedAt.delete(e.id)}try{await u.close()}catch{}t&&this.host.connections.some(e=>!this.authRejectedConnectionIds.has(e.id))&&this.runProbeCycleNow()};try{if(s||await u.connect(),!this.isCurrentSwitchRequest(c)||this.activeClient!==u)return;this.unsubscribeClientHandlers=this.deps.mountClientHandlers?.({client:u,host:this.host,connection:o})??null,this.unsubscribeClientStatus=u.subscribeConnectionStatus(e=>{this.isCurrentSwitchRequest(c)&&this.activeClient===u&&(u.authFailureReason?y(new p.DaemonAuthenticationError(u.authFailureReason)):(this.applyConnectionEvent({type:"client_state",state:e,lastError:u.lastError}),this.updateSnapshot(Object.assign({},he(this.connectionMachineState,this.connectionEpoch),this.buildAgentDirectoryStatusPatch(),{client:u,authFailureReason:null}))))})}catch(e){await y(e)}}adoptReconciledServerId(e){this.host=Object.assign({},this.host,{serverId:e}),this.snapshot=Object.assign({},this.snapshot,{serverId:e});for(const e of this.listeners)e()}resolveClientId(){return this.clientIdPromise||(this.clientIdPromise=this.deps.getClientId().then(e=>(this.clientIdHash=ie(e),e))),this.clientIdPromise}}const Se="@paseo:daemon-registry",fe="localhost:6767",Ce=2500,ve="__PASEO_INITIAL_DAEMON_CONNECTION__",me=R.z.object({listen:R.z.string().trim().min(1),useTls:R.z.boolean().optional().default(!1)});function be(e){if(!(e?.isWebRuntime??I.isWeb)||"undefined"==typeof globalThis)return null;const t=me.safeParse(Reflect.get(globalThis,ve));return t.success?t.data:null}function we(){return null}function Ie(e){if(e.trim().startsWith("relay://")||e.includes("#connect="))return(0,f.parseRelayConnectionUri)(e);const t="#offer=",n=e.indexOf(t);if(-1===n)throw new Error("Missing #offer= fragment");const s=e.slice(n+7).trim();if(!s)throw new Error("Offer payload is empty");const o=(0,f.decodeOfferFragmentPayload)(s);return{offer:v.ConnectionOfferSchema.parse(o)}}function Ae(e){return e.startsWith("local:")}function He(e){return new Promise(t=>setTimeout(t,e))}function Re(e,t,n){const s=e.get(t);void 0!==s&&(e.delete(t),e.set(n,s))}class De{controllers=new Map;serverListeners=new Map;globalListeners=new Set;hostListListeners=new Set;version=0;hostListVersion=0;hostRegistryLoaded=!1;hosts=[];hostAppearanceMutationTail=Promise.resolve();hostRegistryStatus="loading";lastConnectionStatusByServer=new Map;connectionStatusStartedAtByServer=new Map;queuedAgentDrainInFlight=new Set;directorySyncByServer=new Map;nextCancellationRequestId=0;timelineReplicaByServer=new Map;configuredOverrideBootstrapInFlight=null;bootPromise=null;registryLoad=null;hostConfirmations=new b.HostConfirmations;constructor(e){this.deps=e?.deps??ge(),this.storage=e?.storage??h.default,this.replicaCache=new z.ReplicaCache(e?.replicaRowStore??(0,K.createReplicaRowStore)()),this.revokePushNotifications=e?.revokePushNotifications??Y.revokePushNotifications}getHosts(){return this.hosts}getHostRegistryStatus(){return this.hostRegistryStatus}subscribeHostList(e){return this.hostListListeners.add(e),()=>{this.hostListListeners.delete(e)}}getHostListVersion(){return this.hostListVersion}isHostRegistryLoaded(){return this.hostRegistryLoaded}boot(){return this.bootPromise||(this.bootPromise=this.runBoot()),this.bootPromise}async runBoot(){await this.loadRegistry();let e=null;try{e=await(0,D.readValidatedString)(this.storage,"@paseo:e2e",R.z.string().min(1))}catch{return}if(e)return;if((0,w.shouldUseDesktopDaemon)())return;const t=this.deps.readInitialConnectionHint?this.deps.readInitialConnectionHint():be();if(t){if(await this.bootstrapInitialConnectionHint(t))return}await this.bootstrapDefaultLocalhost()}loadRegistry(){return this.registryLoad||(this.registryLoad=this.loadFromStorage().then(()=>this.markHostRegistryLoaded())),this.registryLoad}async loadFromStorage(){let e=!1,t=[];try{const n=await(0,D.readValidatedJson)(this.storage,Se,y.StoredHostRegistrySchema);if(n){const s=[];for(const t of n){const n=(0,y.normalizeStoredHostProfile)(t);if(!n){await this.storage.removeItem(Se),s.length=0;break}t.connections.some(e=>"directTcp"===e.type&&e.password)&&(e=!0),s.push(n)}t=s.filter(e=>!Ae(e.serverId)),t.length!==s.length&&(e=!0)}this.hosts=t,this.replicaCache.setHosts(t.map(e=>e.serverId)),J.projectIconCache.setHosts(t.map(e=>e.serverId)),await J.projectIconCache.restore(),this.syncHosts(t);for(const e of t)this.directorySyncByServer.get(e.serverId)?.restoreCachedDirectory().catch(()=>{})}catch(e){console.error("[HostRuntime] Failed to load host registry from storage",e)}finally{this.hostRegistryStatus="ready",this.emitHostList(),e&&this.persistHosts().catch(e=>console.error("[HostRuntime] Failed to persist host registry",e))}}markHostRegistryLoaded(){this.hostRegistryLoaded||(this.hostRegistryLoaded=!0,this.emitHostList())}async bootstrapDefaultLocalhost(){const e=(0,y.connectionFromListen)(fe);if(e&&!(0,y.registryHasConnection)(this.hosts,e))try{await this.probeAndUpsertConnection({connection:e,timeoutMs:Ce})}catch(e){console.warn("[HostRuntime] bootstrap probe failed",{endpoint:fe,error:e})}}bootstrapConfiguredOverride(e){const t=(0,y.connectionFromListen)(e);if(!t)return;if((0,y.registryHasConnection)(this.hosts,t))return;if(this.configuredOverrideBootstrapInFlight)return;const n=this.runConfiguredOverrideBootstrap(e,t).finally(()=>{this.configuredOverrideBootstrapInFlight===n&&(this.configuredOverrideBootstrapInFlight=null)});this.configuredOverrideBootstrapInFlight=n}async runConfiguredOverrideBootstrap(e,t){let n=0;for(;!(0,y.registryHasConnection)(this.hosts,t);){n+=1;try{return void await this.probeAndUpsertConnection({connection:t,timeoutMs:Ce})}catch(t){1!==n&&n%10!=0||console.warn("[HostRuntime] configured bootstrap probe failed",{endpoint:e,attempt:n,error:t}),await He(1e3)}}}async bootstrapInitialConnectionHint(e){const t=(0,y.connectionFromListen)(e.listen);if(!t)return!1;const n="directTcp"===t.type?Object.assign({},t,{useTls:e.useTls??t.useTls??!1}):t;if((0,y.registryHasConnection)(this.hosts,n))return!0;try{return await this.probeAndUpsertConnection({connection:n,timeoutMs:Ce}),!0}catch(t){return console.warn("[HostRuntime] initial connection hint probe failed",{listen:e.listen,useTls:e.useTls,error:t}),!1}}reconcileServerId(e,t){if(e===t)return;const n=this.controllers.get(e);if(!n)return;if(this.controllers.has(t))return;Re(this.controllers,e,t),Re(this.lastConnectionStatusByServer,e,t),Re(this.connectionStatusStartedAtByServer,e,t),this.replicaCache.reconcileServerId(e,t),J.projectIconCache.reconcileServerId(e,t),this.directorySyncByServer.get(e)?.dispose(),this.directorySyncByServer.delete(e),this.timelineReplicaByServer.delete(e);const s=new G.DirectorySync(t,{onAgentStoppedRunning:e=>this.drainQueuedAgentMessage(t,e),markAgentLoading:()=>n.markAgentDirectorySyncLoading(),markAgentReady:()=>n.markAgentDirectorySyncReady(),markAgentError:e=>n.markAgentDirectorySyncError(e)},this.replicaCache);this.directorySyncByServer.set(t,s),this.timelineReplicaByServer.set(t,(0,Q.createTimelineReplica)({serverId:t,storage:this.replicaCache,prepareAgent:e=>s.prepareAgentRoute(e)})),n.adoptReconciledServerId(t);const o=n.getSnapshot();this.clearHostReplica(e),this.syncSessionReplica(t,o),s.connectionChanged({client:o.client,status:"online"===o.connectionStatus?"online":"offline",source:{clientGeneration:o.clientGeneration,connectionEpoch:o.connectionEpoch}});const c=this.serverListeners.get(e);if(c){this.serverListeners.delete(e);const n=this.serverListeners.get(t)??new Set;for(const e of c)n.add(e);this.serverListeners.set(t,n)}this.hosts=this.hosts.map(n=>n.serverId===e?Object.assign({},n,{serverId:t,updatedAt:(new Date).toISOString()}):n),this.emitHostList(),this.emit(t),this.persistHosts().catch(e=>console.error("[HostRuntime] Failed to persist host registry",e))}async upsertDirectConnection(e){const t=(0,f.normalizeHostPort)(e.endpoint),n=e.password?.trim();return this.upsertHostConnection({serverId:e.serverId,label:e.label,password:n,connection:{id:`direct:${t}`,type:"directTcp",endpoint:t,useTls:e.useTls??!1},existingClient:e.existingClient})}async probeAndUpsertConnection(e){if("relay"===e.connection.type)throw new Error("Cannot probe a relay connection without a server id.");const t=Object.assign({serverId:""},e.password?{password:e.password}:{},{label:e.label??e.connection.id,appearance:(0,S.defaultHostAppearance)(),lifecycle:{},connections:[e.connection],preferredConnectionId:e.connection.id,createdAt:new Date(0).toISOString(),updatedAt:new Date(0).toISOString()}),{client:n,serverId:s,hostname:o}=await this.deps.connectToDaemon(Object.assign({host:t,connection:e.connection},void 0!==e.timeoutMs?{timeoutMs:e.timeoutMs}:{}));return{profile:await this.upsertHostConnection({serverId:s,label:e.label??o??void 0,password:e.password,connection:e.connection,existingClient:n}),serverId:s,hostname:o}}async probeAndUpsertDirectConnection(e){const t=(0,f.normalizeHostPort)(e.endpoint),n=e.password?.trim();return this.probeAndUpsertConnection({label:e.label,password:n,connection:{id:`direct:${t}`,type:"directTcp",endpoint:t,useTls:e.useTls??!1}})}async probeAndUpsertRemoteSshConnection(e){return this.probeAndUpsertConnection({label:e.label,connection:(0,y.createRemoteSshHostConnection)(e)})}async upsertRelayConnection(e){const t=(0,f.normalizeHostPort)(e.relayEndpoint),n=e.useTls??!1,s=e.daemonPublicKeyB64.trim();if(!s)throw new Error("daemonPublicKeyB64 is required");const o=void 0!==e.useTls,c=await this.upsertHostConnection({serverId:e.serverId,label:e.label,connection:Object.assign({id:n?`relay:wss:${t}`:`relay:${t}`,type:"relay",relayEndpoint:t},o?{useTls:n}:{},{daemonPublicKeyB64:s})});return e.password?(await this.setHostPassword(c.serverId,e.password),this.hosts.find(e=>e.serverId===c.serverId)??c):c}async confirmLink(e){return await this.loadRegistry(),this.hostConfirmations.confirmLink(e,this.hosts)}getPendingHostConfirmation(){return this.hostConfirmations.getPending()}subscribeHostConfirmation(e){return this.hostConfirmations.subscribe(e)}answerHostConfirmation(e,t){this.hostConfirmations.answer(e,t)}beginLinkPairing(){let e=null;return{submit:async(t,n)=>{const{offer:s,password:o}=Ie(t);if(!e||(l=s,(c=e).serverId!==l.serverId||!(0,u.default)((0,y.relayConnectionFromOffer)(c),(0,y.relayConnectionFromOffer)(l)))){if(!await this.confirmLink(s))return{status:"cancelled"};e=s}var c,l;const h=await this.probeAndUpsertOffer(s,n??o);return Object.assign({status:"connected"},h)}}}async importConnectionLink(e,t){if("openProject"===t){const{offer:t,password:n}=Ie(e);if(!await this.confirmLink(t))return{status:"cancelled"};return{status:"connected",serverId:(await this.upsertConnectionFromOffer(t,void 0,n)).serverId}}const n=this.beginLinkPairing();try{const t=await n.submit(e);return"cancelled"===t.status?t:{status:"connected",serverId:t.serverId}}catch(t){if(!(0,A.getConnectionAuthFailureReason)(t))throw t;return{status:"password_required",link:e,pairing:n}}}async upsertConnectionFromOffer(e,t,n){const s=(0,y.relayConnectionFromOffer)(e);return this.upsertRelayConnection({serverId:e.serverId,relayEndpoint:s.relayEndpoint,useTls:s.useTls,daemonPublicKeyB64:s.daemonPublicKeyB64,label:t,password:n})}async probeAndUpsertOffer(e,t){const n=(0,y.relayConnectionFromOffer)(e),s=Object.assign({serverId:e.serverId},t?{password:t}:{},{label:e.serverId,appearance:(0,S.defaultHostAppearance)(),lifecycle:{},connections:[n],preferredConnectionId:n.id,createdAt:new Date(0).toISOString(),updatedAt:new Date(0).toISOString()}),{client:o,hostname:c}=await this.deps.connectToDaemon({host:s,connection:n});await o.close().catch(()=>{});return{profile:await this.upsertConnectionFromOffer(e,c??void 0,t),serverId:e.serverId,hostname:c}}async upsertConnectionFromListen(e){const t=e.listenAddress.trim(),n=e.serverId.trim(),s=(0,y.connectionFromListen)(t);if(!s)throw new Error(`Unsupported listen address: ${e.listenAddress}`);if(!n)throw new Error("Desktop daemon did not return a server id.");return this.upsertHostConnection({serverId:n,label:e.hostname??void 0,connection:s})}async updateHost(e,t){const n=(new Date).toISOString(),s=this.hosts.map(s=>s.serverId===e?Object.assign({},t(s),{updatedAt:n}):s);this.setHostsAndSync(s),await this.persistHosts()}async renameHost(e,t){await this.updateHost(e,e=>Object.assign({},e,{label:t}))}async setHostPassword(t,s){await this.updateHost(t,t=>{const o=(0,n.default)(t,e);return s?Object.assign({},o,{password:s}):o})}async setHostColor(e,t){await this.updateHostAppearance(e,e=>Object.assign({},e,{appearance:Object.assign({},e.appearance,{color:t})}))}async setHostBadgeDisplay(e,t){await this.updateHostAppearance(e,e=>Object.assign({},e,{appearance:Object.assign({},e.appearance,{badgeDisplay:t})}))}updateHostAppearance(e,t){const n=this.hostAppearanceMutationTail.then(()=>this.applyHostAppearance(e,t));return this.hostAppearanceMutationTail=n.catch(()=>{}),n}async applyHostAppearance(e,t){const n=(new Date).toISOString(),s=this.hosts.map(s=>s.serverId===e?Object.assign({},t(s),{updatedAt:n}):s);await this.persistHosts(s),this.setHostsAndSync(s)}async removeHost(e){await this.revokePushNotifications({client:this.getClient(e),serverId:e});const t=this.hosts.filter(t=>t.serverId!==e);this.setHostsAndSync(t),await this.persistHosts()}async removeConnection(e,t){const n=this.hosts.find(t=>t.serverId===e);if(1===n?.connections.length&&n.connections[0]?.id===t)return void await this.removeHost(e);const s=(new Date).toISOString(),o=this.hosts.map(n=>{if(n.serverId!==e)return n;const o=n.connections.filter(e=>e.id!==t);if(0===o.length)return null;const c=n.preferredConnectionId===t?o[0]?.id??null:n.preferredConnectionId;return Object.assign({},n,{connections:o,preferredConnectionId:c,updatedAt:s})}).filter(e=>null!==e);this.setHostsAndSync(o),await this.persistHosts()}async upsertHostConnection(e){const t=(new Date).toISOString(),n=(0,y.upsertHostConnectionInProfiles)({profiles:this.hosts,serverId:e.serverId,label:e.label,connection:e.connection,password:e.password,now:t});this.setHostsAndSync(n,{initialConnectionByServerId:e.existingClient?new Map([[e.serverId,{connectionId:e.connection.id,existingClient:e.existingClient}]]):void 0}),this.persistHosts().catch(e=>console.error("[HostRuntime] Failed to persist host registry",e));const s=n.find(t=>t.serverId===e.serverId);if(!s)throw new Error(`Host ${e.serverId} was not inserted`);return s}setHostsAndSync(e,t){this.hosts=e,this.syncHosts(e,t),this.emitHostList()}async persistHosts(e=this.hosts){await this.storage.setItem(Se,JSON.stringify(e))}emitHostList(){this.hostListVersion+=1;for(const e of this.hostListListeners)e()}syncHosts(e,t){this.replicaCache.setHosts(e.map(e=>e.serverId)),J.projectIconCache.setHosts(e.map(e=>e.serverId));const n=new Set(e.map(e=>e.serverId));for(const[e,t]of this.controllers)n.has(e)||(this.controllers.delete(e),this.lastConnectionStatusByServer.delete(e),this.connectionStatusStartedAtByServer.delete(e),this.directorySyncByServer.get(e)?.dispose(),this.directorySyncByServer.delete(e),this.timelineReplicaByServer.delete(e),this.clearHostReplica(e),t.stop(),this.emit(e));for(const n of e){const e=t?.initialConnectionByServerId?.get(n.serverId),s=this.controllers.get(n.serverId);if(s){s.updateHost(n),e&&s.activateConnection(e).catch(()=>{e.existingClient.close().catch(()=>{})});continue}const o=new ye({host:n,deps:this.deps,onReconcileServerId:(e,t)=>this.reconcileServerId(e,t)});this.controllers.set(n.serverId,o),k.useSessionStore.getState().initializeSession(n.serverId,null);const c=new G.DirectorySync(n.serverId,{onAgentStoppedRunning:e=>this.drainQueuedAgentMessage(n.serverId,e),markAgentLoading:()=>o.markAgentDirectorySyncLoading(),markAgentReady:()=>o.markAgentDirectorySyncReady(),markAgentError:e=>o.markAgentDirectorySyncError(e)},this.replicaCache);this.directorySyncByServer.set(n.serverId,c),this.timelineReplicaByServer.set(n.serverId,(0,Q.createTimelineReplica)({serverId:n.serverId,storage:this.replicaCache,prepareAgent:e=>c.prepareAgentRoute(e)}));const l=o.getSnapshot();this.lastConnectionStatusByServer.set(n.serverId,l.connectionStatus),this.connectionStatusStartedAtByServer.set(n.serverId,Date.now()),o.subscribe(()=>{const e=o.getSnapshot();this.syncSessionReplica(e.serverId,e),this.syncDirectoryConnection(e.serverId),this.emit(e.serverId)}),o.start(e?{initialConnection:e}:{}).catch(e=>{const t=e instanceof Error?e.message:String(e);o.markStartupError(t)}),this.emit(n.serverId)}}syncSessionReplica(e,t){if(!t.client)return;const n=k.useSessionStore.getState();n.initializeSession(e,t.client,t.clientGeneration),n.updateSessionClient(e,t.client,t.clientGeneration);const s=t.client.getLastServerInfoMessage();s&&n.updateSessionServerInfo(e,(0,k.toDaemonServerInfo)(s))}clearHostReplica(e){k.useSessionStore.getState().clearSession(e),T.useWorkspaceSetupStore.getState().clearServer(e)}syncDirectoryConnection(e){const t=this.controllers.get(e);if(!t)return this.lastConnectionStatusByServer.delete(e),void this.connectionStatusStartedAtByServer.delete(e);const n=t.getSnapshot(),s=this.directorySyncByServer.get(e);s?.connectionChanged({client:n.client,status:"online"===n.connectionStatus?"online":"offline",source:{clientGeneration:n.clientGeneration,connectionEpoch:n.connectionEpoch}});const o=this.lastConnectionStatusByServer.get(e),c=o!==n.connectionStatus,l="online"!==n.connectionStatus&&"idle"!==n.connectionStatus;!c||void 0!==o&&"online"!==o&&"idle"!==o&&l||this.connectionStatusStartedAtByServer.set(e,Date.now()),this.lastConnectionStatusByServer.set(e,n.connectionStatus);"online"===n.connectionStatus&&"online"!==o&&(k.useSessionStore.getState().bumpHistorySyncGeneration(e),(0,B.invalidateCheckoutGitQueriesForServer)(F.queryClient,e),(0,j.invalidateServerDataQueriesAfterReconnect)({queryClient:F.queryClient,serverId:e}),F.queryClient.invalidateQueries({queryKey:x.schedulesQueryBaseKey}))}drainQueuedAgentMessage(e,t){const n=`${e}:${t}`;if(this.queuedAgentDrainInFlight.has(n))return;const s=k.useSessionStore.getState().sessions[e],o=s?.queuedMessages.get(t),c=s?.client;if(!c||!o?.length||!0===s.initializingAgents.get(t))return;if((0,W.getActiveMessageSubmissions)(s.messageSubmissions.get(t)).length>0)return;this.queuedAgentDrainInFlight.add(n);const l=o[0];(0,U.sendQueuedComposerMessageNow)({agentId:t,messageId:l.id,queue:{read:t=>k.useSessionStore.getState().sessions[e]?.queuedMessages.get(t)??[],write:t=>k.useSessionStore.getState().setQueuedMessages(e,t)},submitMessage:async({text:n,attachments:s})=>{const o=!0===k.useSessionStore.getState().sessions[e]?.serverInfo?.features?.forgeSearch;await(0,U.dispatchComposerAgentMessage)({client:c,agentId:t,text:n,attachments:s,attachmentSubmitFormat:(0,N.resolveComposerAttachmentSubmitFormat)({supportsForgeAttachments:o}),encodeImages:$.encodeImages,submission:(0,V.createMessageSubmissionWriter)(e)})}}).then(n=>("failed"===n.status&&console.error("[HostRuntime] failed to drain queued agent message",{serverId:e,agentId:t,error:n.errorMessage}),n)).finally(()=>{this.queuedAgentDrainInFlight.delete(n)})}applyAgentTurnLiveness(e,t,n){this.directorySyncByServer.get(e)?.applyAgentTurnLiveness(t,n)}beginAgentCancellation(e,t){const n=++this.nextCancellationRequestId;return this.applyAgentTurnLiveness(e,t,{type:"cancellation_started",requestId:n}),n}settleAgentCancellation(e,t,n){this.applyAgentTurnLiveness(e,t,{type:"cancellation_settled",requestId:n})}acceptAgentSnapshot(e,t){return this.requireDirectory(e).acceptAgent(t)}archiveAgentSnapshot(e,t,n){this.requireDirectory(e).archiveAgent(t,n)}restoreAgentSnapshot(e,t,n){const s=this.requireDirectory(e);n?s.acceptAgent(n):s.removeAgent(t)}acceptWorkspaceSnapshots(e,t){this.requireDirectory(e).acceptWorkspaces(t)}acceptProjectSnapshot(e,t){this.requireDirectory(e).acceptProject(t)}removeWorkspaceSnapshot(e,t){this.requireDirectory(e).removeWorkspace(t)}requireDirectory(e){const t=this.directorySyncByServer.get(e);if(!t)throw new Error(`Unknown host runtime for serverId ${e}`);return t}getSnapshot(e){return this.controllers.get(e)?.getSnapshot()??null}getConnectionStatusSince(e){return this.connectionStatusStartedAtByServer.get(e)??null}getVersion(){return this.version}getClient(e){return this.controllers.get(e)?.getClient()??null}subscribe(e,t){const n=this.serverListeners.get(e)??new Set;return n.add(t),this.serverListeners.set(e,n),()=>{const n=this.serverListeners.get(e);n&&(n.delete(t),0===n.size&&this.serverListeners.delete(e))}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}getEarliestOnlineHostServerId(){let e=null,t=null;for(const n of this.hosts){const s=this.getSnapshot(n.serverId);te(s)&&s?.lastOnlineAt&&((!t||s.lastOnlineAt<t)&&(t=s.lastOnlineAt,e=n.serverId))}return e}ensureConnectedAll(e){for(const t of this.controllers.values())t.ensureConnected(e)}setAppVisible(e){e?this.ensureConnectedAll({verify:!0}):this.replicaCache.flush()}runProbeCycleNow(e){return e?this.controllers.get(e)?.runProbeCycleNow()??Promise.resolve():Promise.all(Array.from(this.controllers.values(),e=>e.runProbeCycleNow())).then(()=>{})}async refreshAgentDirectory(e){const t=this.directorySyncByServer.get(e.serverId);if(!t)throw new Error(`Unknown host runtime for serverId ${e.serverId}`);return t.refreshAgents(e)}async refreshWorkspaceDirectory(e){const t=this.directorySyncByServer.get(e.serverId);if(!t)throw new Error(`Unknown host runtime for serverId ${e.serverId}`);await t.refreshWorkspaces({subscribe:e.subscribe})}async refreshDirectories(e){const t=this.directorySyncByServer.get(e);if(!t)throw new Error(`Unknown host runtime for serverId ${e}`);await t.refreshDemand()}acquireDirectoryDemand(e){const t=this.directorySyncByServer.get(e);if(!t)return()=>{};const n={};return t.setDemand(n,!0),()=>t.setDemand(n,!1)}async prepareAgentRoute(e,t){const n=this.directorySyncByServer.get(e);if(!n)throw new Error(`Unknown host runtime for serverId ${e}`);await n.prepareAgentRoute(t)}async prepareWorkspaceRoute(e,t){const n=this.directorySyncByServer.get(e);if(!n)throw new Error(`Unknown host runtime for serverId ${e}`);await n.prepareWorkspaceRoute(t)}async prepareAgentTimeline(e,t){const n=this.timelineReplicaByServer.get(e);if(!n)throw new Error(`Unknown host runtime for serverId ${e}`);await n.prepare(t)}async fetchAgentTimeline(e,t,n){const s=this.directorySyncByServer.get(e);if(!s)throw new Error(`Unknown host runtime for serverId ${e}`);const o=k.useSessionStore.getState().sessions[e]?.viewedTimelineSync,c=await s.fetchTimeline(t,n);return o&&k.useSessionStore.getState().sessions[e]?.viewedTimelineSync===o&&(o.flushStreamAgent(t),o.applyTimelineResponse(c)),c}createViewedTimelineOwner(e,t){const n=this.directorySyncByServer.get(e);if(!n)throw new Error(`Unknown host runtime for serverId ${e}`);const s=this.timelineReplicaByServer.get(e);if(!s)throw new Error(`Unknown host runtime for serverId ${e}`);return(0,Q.createViewedTimelineOwner)({serverId:e,replica:s,replaceDemandedAgentIds:e=>n.setAgentRouteDemand(e),drainQueuedAgentMessage:t=>this.drainQueuedAgentMessage(e,t),ports:t})}emit(e){this.version+=1;const t=this.serverListeners.get(e);if(t){for(const e of t)e();for(const e of this.globalListeners)e()}else for(const e of this.globalListeners)e()}}let Ee=null;const Le="__paseoHostRuntimeStore";function Pe(){if(Ee)return Ee;const e=Reflect.get(globalThis,Le);return e instanceof De?(Ee=e,e):(Ee=new De,Reflect.set(globalThis,Le,Ee),Ee)}},3529,[36,454,3530,2982,37,885,3531,3482,3532,3535,3537,3526,3538,3539,3540,881,3542,3543,2898,3018,3546,3544,882,3547,2994,3007,3459,3548,3555,849,3557,3567,3585,3587,3600,3467,3591,3601,3607,3637,3641,3642,3646,3648,3650,3651]);
|
|
15175
15175
|
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getAppDeviceKind=function(){return(0,n.getIsElectron)()?o.DeviceKind.Desktop:n.isWeb?o.DeviceKind.Browser:o.DeviceKind.Mobile},_e.getAppDeviceLabel=async function(){if((0,n.getIsElectron)()){const e=await((0,s.getDesktopHost)()?.invoke?.("desktop_get_computer_name").catch(()=>{}));return"string"==typeof e?`Paseo Desktop \xb7 ${e}`:"Paseo Desktop"}if(n.isWeb){let e="Web";return/Safari\//.test(navigator.userAgent)&&(e="Safari"),/Chrome\//.test(navigator.userAgent)&&(e="Chrome"),/Firefox\//.test(navigator.userAgent)&&(e="Firefox"),/Edg\//.test(navigator.userAgent)&&(e="Edge"),`Browser \xb7 ${e}`}return"Android"};var e,t=r(d[0]),o=((e=t)&&e.__esModule,r(d[1])),n=r(d[2]),s=r(d[3])},3530,[26,2982,881,882]);
|
|
@@ -16774,7 +16774,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
|
|
|
16774
16774
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.prepareWorkspaceTab=function(t){(0,o.prepareWorkspaceTab)(t,n())};var t=r(d[0]),o=r(d[1]);function n(){const o=t.useWorkspaceLayoutStore.getState();return{openTab:t=>o.openTab(t)}}},5015,[3572,3677]);
|
|
16775
16775
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return v}});var t=r(d[0]);r(d[1]);var s=r(d[2]),o=r(d[3]),n=r(d[4]),u=r(d[5]),c=r(d[6]),l=r(d[7]),p=r(d[8]),k=r(d[9]),S=r(d[10]);const h=(0,k.shouldUseDesktopDaemon)();function v(){const k=(0,t.c)(15),v=(0,s.usePathname)(),H=(0,n.useHostRuntimeBootstrapState)(),f=(0,n.useEarliestOnlineHostServerId)(),W=(0,c.useHosts)(),y=(0,c.useHostRegistryStatus)(),x=(0,p.useLastWorkspaceSelection)(),B=(0,p.useIsLastWorkspaceSelectionHydrated)(),I=x?.serverId??null,R=x?.workspaceId??null,U=(0,l.useHasHydratedWorkspaces)(I),b=(0,l.useWorkspaceExists)(I,R);let j;k[0]!==f||k[1]!==H.hasGivenUpWaitingForHost||k[2]!==H.startupBlocker||k[3]!==U||k[4]!==y||k[5]!==W||k[6]!==B||k[7]!==v||k[8]!==x||k[9]!==b?(j=(0,u.resolveStartupRoute)({route:{kind:"index",pathname:v},startupBlocker:H.startupBlocker,hostRegistryStatus:y,hosts:W,anyOnlineHostServerId:f,workspaceSelection:x,workspaceSelectionStatus:(0,u.resolveWorkspaceSelectionStatus)({hasHydratedWorkspaces:U,workspaceExists:b}),isWorkspaceSelectionLoaded:B,hasGivenUpWaitingForHost:H.hasGivenUpWaitingForHost}),k[0]=f,k[1]=H.hasGivenUpWaitingForHost,k[2]=H.startupBlocker,k[3]=U,k[4]=y,k[5]=W,k[6]=B,k[7]=v,k[8]=x,k[9]=b,k[10]=j):j=k[10];const w=j;if("redirect"===w.kind){let t;return k[11]!==w.href?(t=(0,S.jsx)(s.Redirect,{href:w.href}),k[11]=w.href,k[12]=t):t=k[12],t}const F=h?H:void 0;let G;return k[13]!==F?(G=(0,S.jsx)(o.StartupSplashScreen,{bootstrapState:F}),k[13]=F,k[14]=G):G=k[14],G}},5016,[454,37,456,4952,3033,4918,3529,3800,3671,3540,280]);
|
|
16776
16776
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return u}});var t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]),c=r(d[4]);function u(){const u=(0,t.c)(13),l=(0,o.useLocalSearchParams)(),f="string"==typeof l.serverId?l.serverId:"",p="string"==typeof l.dir?l.dir:void 0,y="string"==typeof l.name?l.name:void 0,v="string"==typeof l.projectId?l.projectId:void 0,I="string"==typeof l.draftId?l.draftId:void 0;let j;u[0]!==y||u[1]!==I||u[2]!==v||u[3]!==f||u[4]!==p?(j=JSON.stringify([f,p??null,y??null,v??null,I??null]),u[0]=y,u[1]=I,u[2]=v,u[3]=f,u[4]=p,u[5]=j):j=u[5];const _=j;let b;return u[6]!==y||u[7]!==I||u[8]!==v||u[9]!==_||u[10]!==f||u[11]!==p?(b=(0,c.jsx)(n.HostRouteBootstrapBoundary,{children:(0,c.jsx)(s.NewWorkspaceScreen,{serverId:f,sourceDirectory:p,displayName:y,projectId:v,draftId:I},_)}),u[6]=y,u[7]=I,u[8]=v,u[9]=_,u[10]=f,u[11]=p,u[12]=b):b=u[12],b}},5017,[454,456,4951,5018,280]);
|
|
16777
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.NewWorkspaceScreen=function({serverId:n,sourceDirectory:s,projectId:c,displayName:I,draftId:v}){const j=(0,S.useQueryClient)(),{theme:x}=(0,h.useUnistyles)(),{t:C}=(0,f.useTranslation)(),P=(0,B.useIsCompactFormFactor)(),D=(0,L.useToast)(),T=(0,u.useCallback)((t,o)=>{(0,p.getHostRuntimeStore)().acceptWorkspaceSnapshots(t,Array.from(o))},[]),{allHosts:W,selectedServerId:O,hostPickerOpen:M,handleSelectHost:q,handleHostPickerOpenChange:J,openHostPicker:Y,projects:X,routeProject:re,routeProjectContextViewKey:oe,lastActiveProject:ne}=wt({serverId:n,sourceDirectory:s,projectId:c,displayName:I}),se=(0,G.useHostFeature)(O,"workspaceMultiplicity"),ce=(0,G.useHostFeature)(O,"forgeSearch"),[de]=(0,u.useState)(()=>({draftId:v??(0,ee.generateDraftId)(),worktreeSlug:(0,k.createNameId)()})),[me,ge]=(0,u.useState)(null),[he,ve]=(0,u.useState)({workspace:null}),[je,Pe]=(0,u.useState)(null),[Oe,Me]=(0,u.useState)(!1),[Re,Ve]=(0,u.useState)(!1),ze=(0,te.useOpenAddProject)(),[He,Ke]=(0,u.useState)(!1),[Ne,qe]=(0,u.useState)(""),[Ue,Qe]=(0,u.useState)(""),Ge=(0,u.useRef)(null),Ye=(0,u.useRef)(null),Xe=(0,u.useRef)(null),et=(0,u.useRef)(null),tt=Ae({draftId:v,selectedServerId:O}),rt=(0,De.useNewWorkspaceScreenPresence)(),{preferences:nt,updatePreferences:dt}=(0,ie.useFormPreferences)(),{config:pt}=(0,E.useDaemonConfig)(O),ut=(0,u.useMemo)(()=>(0,N.resolveTerminalProfiles)(pt?.terminalProfiles),[pt?.terminalProfiles]),[mt,gt]=(0,u.useState)(null),kt=(0,u.useMemo)(()=>(0,U.resolveLaunchTarget)(mt??nt.launchTarget,ut),[mt,nt.launchTarget,ut]),[bt,vt]=(0,u.useState)(""),{isTerminalLaunch:yt,selectedTerminalProfile:jt,terminalTakesPrompt:Pt,terminalComposerValue:Wt,terminalPlaceholder:Ot,terminalSubmitLabel:Mt,launchFocusKey:At}=(0,Q.useTerminalComposerState)({launchTarget:kt,terminalProfiles:ut,terminalPromptText:bt}),Ft=(0,u.useMemo)(()=>({getSnapshot:()=>Wt,subscribe:t=>()=>{}}),[Wt]),Rt=(0,u.useMemo)(()=>({key:At,text:Wt}),[At,Wt]);(0,u.useEffect)(()=>{const t=Ne.trim(),o=setTimeout(()=>Qe(t),180);return()=>clearTimeout(o)},[Ne]);const{workspace:Bt}=he,Lt=(0,p.useHostRuntimeClient)(O),_t=(0,p.useHostRuntimeIsConnected)(O),{selectedProject:Vt,selectedSourceDirectory:zt,projectPickerOptions:Ht,projectByOptionId:Kt,selectedProjectOptionId:Et,projectTriggerLabel:Nt,handleSelectProjectOption:qt}=(0,we.useNewWorkspaceProjectPicker)({selectedServerId:O,projects:X,routeProject:re,routeProjectContextViewKey:oe,lastActiveProject:ne,allowAllProjects:se}),Ut=(0,u.useMemo)(()=>(0,ye.buildNewWorkspaceProjectIconTargets)(X,O),[X,O]),Qt=(0,ue.useProjectIcons)({projects:Ut}),$t=(0,ee.buildNewWorkspaceDraftKey)(v),Gt=It(v),Zt=(0,fe.useDraftWorkspaceAttachmentScopeKey)(v),Jt=(0,u.useMemo)(()=>Fe({isDraftHandoffActive:tt,draftContextScopeKey:Zt}),[Zt,tt]),Yt=(0,_.useAgentInputDraft)({draftKey:$t,composer:St({serverId:O,workspaceDirectory:Bt?.workspaceDirectory??null,sourceDirectory:zt,initialSetup:Gt?.setup})}),Xt=Yt.composerState;(0,u.useEffect)(()=>{if(v||!Vt||!zt||!rt())return;const t=(0,pe.getHostProjectId)(Vt,O);t&&V.useDraftStore.getState().setNewWorkspaceProject({viewKey:Vt.viewKey,serverId:O,projectId:t,sourceDirectory:zt,displayName:Vt.projectName})},[v,Vt,O,zt,rt]);const[er,tr]=(0,u.useReducer)(be.reducePickerSelection,be.initialPickerSelectionState),rr=er.selectedItem,or=(0,u.useCallback)(()=>{tr({type:"pr-detected"})},[]),nr=(0,u.useCallback)(t=>{tr({type:"pr-added",item:{kind:"github-pr",item:t}})},[]),sr=(0,u.useCallback)(()=>{const t=(0,p.getHostRuntimeStore)().getClient(O);if(!t?.isConnected)throw new Error(C("newWorkspace.errors.hostDisconnected"));return t},[O,C]),ar=_t&&Boolean(Lt),ir=null!==zt,cr=Oe&&ar&&ir,{status:lr}=(0,H.useCheckoutStatusQuery)({serverId:O,cwd:zt??""}),dr=Vt?(0,pe.getWorktreeSupportForHostProject)({project:Vt,serverId:O}):"unsupported",pr=(Hr={pendingAction:je,isDraftHandoffActive:tt},null!==Hr.pendingAction||Hr.isDraftHandoffActive),{effectiveIsolation:ur,setIsolation:mr,canCreateWorktree:fr,showRefPicker:gr}=ot({project:Vt,supportsMultiplicity:se,worktreeSupport:dr}),{createsWorktree:hr,worktreeCreation:kr}=ft({serverId:O,project:Vt,supportsWorkspaceMultiplicity:se,effectiveIsolation:ur,worktreeSlug:de.worktreeSlug}),{isLocalCheckout:Sr,refSelection:Ir,defaultRefPickerItem:br,prSearchEnabled:vr}=it({supportsMultiplicity:se,effectiveIsolation:ur,selectedItem:rr,pickerQueryEnabled:cr}),yr=(0,S.useQuery)({queryKey:["branch-suggestions",O,zt,Ue],queryFn:async()=>{if(!zt)throw new Error("Choose a project");return sr().getBranchSuggestions({cwd:zt,query:Ue||void 0,limit:20})},enabled:cr,staleTime:15e3}),wr=(0,z.useForgeSearchQuery)({client:Lt,serverId:O,cwd:zt??"",query:Ue,kinds:["change_request"],supportsForgeSearch:ce,enabled:vr}),jr=(0,u.useMemo)(()=>ct(yr.data),[yr.data]),xr=!wr.data||"authenticated"===wr.data.authState,Cr=(0,u.useMemo)(()=>Sr||!xr?[]:wr.data?.items??[],[xr,wr.data?.items,Sr]),Pr=(0,u.useMemo)(()=>Ir??(lr?br(lr):null),[lr,br,Ir]),{options:Dr,itemById:Tr,selectedOptionId:Wr}=(0,u.useMemo)(()=>(0,Ie.buildPickerOptionData)({branchDetails:jr,prItems:Cr,baseItem:Pr,currentItem:lr?(0,Ie.currentBranchPickerItem)(lr):null}),[Pr,jr,lr,Cr]),Or=(0,u.useMemo)(()=>{const t=Tr.get(Wr);if(t){const o=st(C,t);return"branch"===t.kind&&t.current?C("newWorkspace.refPicker.currentSuffix",{name:o}):o}return C(Sr?"newWorkspace.refPicker.currentCheckout":"newWorkspace.refPicker.defaultBranch")},[Sr,Tr,Wr,C]),Mr=(0,u.useCallback)(t=>{const o=(0,be.syncPickerPrAttachment)({attachments:Yt.attachments,item:t});tr({type:"picker-selected",item:t}),Yt.setAttachments(o),Me(!1)},[Yt]),Ar=(0,u.useCallback)(t=>{const o=Tr.get(t);o&&Mr(o)},[Tr,Mr]),Fr=(0,u.useCallback)((t,o)=>{const n=(0,be.clearPickerPrAttachmentForTargetChange)({attachments:Yt.attachments,currentTargetId:t,nextTargetId:o});n!==Yt.attachments&&(Yt.setAttachments(n),tr({type:"target-changed"}))},[Yt]),Rr=(0,u.useCallback)(t=>{qt(t),Ve(!1),Fr(Et,t)},[Fr,qt,Et]),Br=(0,u.useCallback)(t=>{q(t),Fr(O,t)},[Fr,q,O]),Lr=(0,u.useCallback)(()=>{Ve(!1),ze(O)},[ze,O]),_r=(0,u.useCallback)(()=>{Me(!0)},[]),Vr=(0,u.useCallback)(()=>{Ve(!0)},[]),zr=(0,u.useCallback)(()=>(Vr(),!0),[Vr]);var Hr;(0,ae.useKeyboardActionHandler)({handlerId:"new-workspace-project-pick",actions:Ee,enabled:Ht.length>0,priority:0,handle:zr});const Kr=(0,u.useCallback)(()=>{Ke(!0)},[]),Er=(0,u.useCallback)(t=>{Ke(t)},[]),Nr=(0,u.useMemo)(()=>{const t={id:"local",label:at(C,"local")};return fr?[t,{id:"worktree",label:at(C,"worktree")}]:[t]},[fr,C]),qr=(0,u.useCallback)(t=>{mr("worktree"===t?"worktree":"local"),Ke(!1)},[mr]),Ur=(0,u.useCallback)(({option:t,selected:o,active:n,onPress:s})=>(0,We.jsx)($e,{optionId:t.id,label:t.label,selected:o,active:n,disabled:pr,onPress:s,iconColor:x.colors.foregroundMuted,iconSize:x.iconSize.sm}),[pr,x.colors.foregroundMuted,x.iconSize.sm]),Qr=(0,u.useCallback)(()=>{},[]),$r=(0,u.useCallback)(t=>{Me(t),t||qe("")},[]),Gr=(0,u.useCallback)(t=>{Ve(t)},[]),Zr=(0,u.useCallback)(async t=>{if(he.workspace)return he;if(!Vt)throw new Error("Choose a project");if(!zt)throw new Error("Choose a host for this project");const o=sr(),n=hr?await(0,Ie.resolveWorktreeCheckoutRequest)({selectedItem:rr,loadCheckoutStatus:()=>(0,K.ensureCheckoutStatus)({queryClient:j,client:o,serverId:O,cwd:zt})}):void 0;if(!hr&&"branch"===Ir?.kind&&!Ir.detached){const t=await o.checkoutSwitchBranch(zt,Ir.refName);if(t.error)throw new Error(t.error.message)}const s=await lt({idempotencyKey:de.draftId,worktreeSlug:de.worktreeSlug,client:o,isolation:hr?"worktree":"local",project:Vt,sourceDirectory:zt,checkoutRequest:n,withInitialAgent:t.withInitialAgent,prompt:t.prompt,attachments:t.attachments,agent:t.agent,onEvent:t.onEvent,mergeWorkspaces:T,serverId:O,createFailedMessage:C("newWorkspace.errors.createWorktreeFailed")});return ve(s),s},[hr,de,he,T,j,Ir,rr,Vt,O,zt,C,sr]),Jr=Yt.clear,Yr=(0,u.useCallback)(async t=>{try{ge(null),await(Xt?.persistFormPreferences()),await dt({launchTarget:kt});const o=Gt?.nativeFork;if(Gt&&o)return Pe("chat"),void await(0,Se.runCreateNativeFork)({payload:t,forkSetup:Object.assign({},Gt,{nativeFork:o}),ensureWorkspace:async t=>(await Zr(t)).workspace,client:sr(),serverId:O,navigate:({serverId:t,workspaceId:o,agentId:n})=>{Jr("sent"),(0,Z.navigateToWorkspace)({serverId:t,workspaceId:o,target:{kind:"agent",agentId:n}})}});if((0,ke.isEmptyWorkspaceSubmission)(t)){Pe("empty");let o="background";const n=kr&&(0,Te.createWorktreeCreationTracker)(Object.assign({},kr,{serverId:O,promptPreview:"",isStillOnCreateScreen:rt})),s=(0,ke.runCreateEmptyWorkspace)({payload:t,ensureWorkspace:async t=>(await Zr(t)).workspace,onEvent:n?.observe,serverId:O,navigate:(t,s)=>{n?.navigatedEarly()?o="navigated":rt()&&(o="navigated",(0,Z.navigateToWorkspace)({serverId:t,workspaceId:s}))}});return await(n?n.track(s):s),void("background"===o&&Pe(null))}Pe("chat");"background"===await ht({payload:t,composerState:Xt,forkDraftSetup:Gt,ensureWorkspace:Zr,serverId:O,clearDraft:Jr,draftKey:$t,draftId:de.draftId,draftContextScopeKey:Zt,supportsForgeSearch:ce,resolveClient:sr,isStillOnCreateScreen:rt,worktreeCreation:kr,labels:{composerStateRequired:C("newWorkspace.errors.composerStateRequired"),selectModel:C("newWorkspace.errors.selectModel")}})&&Pe(null)}catch(t){const o=(0,le.toErrorMessage)(t);Pe(null),ge(o),D.error(o)}},[Xt,Zt,de,Jr,$t,Zr,Gt,rt,kt,O,ce,C,D,dt,sr,kr]),Xr=(0,u.useCallback)(async()=>{try{ge(null),await dt({launchTarget:kt}),Pe("terminal");let t="background";await(0,$.runCreateTerminalWorkspace)({cwd:zt??"",prompt:bt,profile:jt,profileName:jt?.name,ensureWorkspace:async t=>(await Zr(t)).workspace,createTerminal:async t=>{const o=sr(),n=await o.createTerminal(t.workspaceDirectory,t.name,void 0,{command:t.command,args:t.args,workspaceId:t.workspaceId,colors:(0,l.getTerminalQueryColors)()}),s=n.terminal;if(!s)throw new Error(n.error??C("newWorkspace.errors.createWorktreeFailed"));return j.setQueryData((0,Ce.buildTerminalsQueryKey)(O,t.workspaceDirectory,t.workspaceId),o=>(0,Ce.upsertCreatedTerminalPayload)({current:o,terminal:s,workspaceDirectory:t.workspaceDirectory})),{terminalId:s.id}},sendTerminalInput:(t,o)=>{sr().sendTerminalInput(t,{type:"input",data:o})},serverId:O,navigate:(o,n,s)=>{rt()&&(t="navigated",(0,Z.navigateToWorkspace)({serverId:o,workspaceId:n,target:s}))}}),"background"===t&&Pe(null)}catch(t){const o=(0,le.toErrorMessage)(t);Pe(null),ge(o),D.error(o)}},[Zr,rt,kt,j,O,zt,jt,C,bt,D,dt,sr]),eo=(0,u.useCallback)(t=>(0,We.jsx)(Ze,Object.assign({},t,{itemById:Tr,isPending:pr})),[pr,Tr]),to=(0,u.useCallback)(t=>(0,We.jsx)(Je,Object.assign({},t,{projectByOptionId:Kt,projectIconDataByProjectViewKey:Qt,selectedServerId:O,isPending:pr,supportsWorkspaceMultiplicity:se})),[pr,Kt,Qt,O,se]),ro=(0,u.useMemo)(()=>Xt?Object.assign({},Xt.agentControls,{disabled:pr}):void 0,[Xt,pr]),oo=yr.isFetching||wr.isFetching?C("newWorkspace.refPicker.searching"):C("newWorkspace.refPicker.noMatchingRefs"),no=xt({isCompact:P,isPending:pr,project:{anchorRef:Ye,open:Vr,options:Ht,triggerLabel:Nt,selectedProject:Vt,iconDataByProjectViewKey:Qt,selectedOptionId:Et,onSelect:Rr,onAddProject:Lr,openState:Re,onOpenChange:Gr,renderOption:to},host:{allHosts:W,selectedServerId:O,onSelect:Br,openState:M,onOpenChange:J,anchorRef:et,open:Y},isolation:{anchorRef:Xe,open:Kr,effectiveIsolation:ur,options:Nr,onSelect:qr,openState:He,onOpenChange:Er,renderOption:Ur,canCreateWorktree:fr},base:{anchorRef:Ge,open:_r,selectedSourceDirectory:zt,selectedItem:Ir,triggerLabel:Or,options:Dr,selectedOptionId:Wr,onSelect:Ar,openState:Oe,onOpenChange:$r,setSearchQuery:qe,emptyText:oo,renderOption:eo,showRefPicker:gr},launch:{serverId:O,target:kt,onChange:gt,profiles:ut,disabled:pr}}),so=(0,u.useMemo)(()=>(0,We.jsx)(F.SidebarMenuToggle,{}),[]),ao=(0,xe.useImportSession)({serverId:O}),io=yt?(0,We.jsx)(b.Composer,{inputMode:y.ComposerInputMode.Terminal,readOnly:!Pt,placeholder:Ot,submitLabel:Mt,agentId:$t,serverId:O,isPaneFocused:!0,onSubmitMessage:Xr,allowEmptySubmit:!0,submitButtonAccessibilityLabel:C("newWorkspace.launch.submit"),submitButtonTestID:"new-workspace-launch-submit",isSubmitLoading:pr,submitBehavior:"preserve-and-lock",blurOnSubmit:!0,textSource:Ft,onChangeText:vt,textReplacement:Rt,attachments:Be,onChangeAttachments:Le,cwd:zt??"",clearDraft:_e,autoFocus:Pt,autoFocusKey:At},"terminal"):(0,We.jsx)(b.Composer,{agentId:$t,serverId:O,isPaneFocused:!0,onSubmitMessage:Yr,allowEmptySubmit:!0,submitButtonAccessibilityLabel:C("newWorkspace.create"),submitButtonTestID:"workspace-create-submit",submitIcon:"return",isSubmitLoading:pr,waitForForgeAutoAttachOnSubmit:!0,submitBehavior:"preserve-and-lock",blurOnSubmit:!0,textSource:Yt.textSource,onChangeText:Yt.editText,textReplacement:Yt.textReplacement,attachments:Yt.attachments,attachmentScopeKeys:Jt,onChangeAttachments:Yt.setAttachments,onForgeChangeRequestDetected:or,onForgeChangeRequestAutoAttach:nr,cwd:zt??"",clearDraft:Qr,autoFocus:!0,autoFocusKey:At,commandDraft:Xt?.commandDraft,agentControls:ro},"chat");return(0,We.jsxs)(w.FileDropZone,{style:Tt.container,children:[(0,We.jsx)(R.ScreenHeader,{left:so,borderless:!0}),(0,We.jsxs)(t.View,{style:Tt.content,children:[(0,We.jsx)(A.TitlebarDragRegion,{}),(0,We.jsxs)(Dt,{isCompact:P,title:C("newWorkspace.title"),formStack:no,onImportSession:ao.open,children:[(0,We.jsx)(Ct,{serverId:n,forkDraftSetup:Gt,attachmentScopeKey:Zt}),io,me?(0,We.jsx)(o.Text,{style:Tt.errorText,children:me}):null]})]}),ao.sheet]})};var t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]),c=r(d[4]),l=r(d[5]),p=r(d[6]),u=r(d[7]),f=r(d[8]);r(d[9]),r(d[10]),r(d[11]);var h=r(d[12]),k=r(d[13]),S=r(d[14]),I=r(d[15]),b=r(d[16]),v=r(d[17]),y=r(d[18]),w=r(d[19]),j=r(d[20]),x=r(d[21]),C=r(d[22]),P=r(d[23]),D=r(d[24]),T=r(d[25]),W=r(d[26]),O=r(d[27]),M=r(d[28]),A=r(d[29]),F=r(d[30]),R=r(d[31]),B=r(d[32]),L=r(d[33]),_=r(d[34]),V=r(d[35]),z=r(d[36]),H=r(d[37]),K=r(d[38]),E=r(d[39]),N=r(d[40]),q=r(d[41]),U=r(d[42]),Q=r(d[43]),$=r(d[44]),G=r(d[45]),Z=r(d[46]),J=r(d[47]),Y=r(d[48]),X=r(d[49]),ee=r(d[50]),te=r(d[51]),re=r(d[52]),oe=r(d[53]),ne=r(d[54]),se=r(d[55]),ae=r(d[56]),ie=r(d[57]),ce=r(d[58]),le=r(d[59]),de=r(d[60]),pe=r(d[61]),ue=r(d[62]),me=r(d[63]),fe=r(d[64]),ge=r(d[65]),he=r(d[66]),ke=r(d[67]),Se=r(d[68]),Ie=r(d[69]),be=r(d[70]),ve=r(d[71]),ye=r(d[72]),we=r(d[73]),je=r(d[74]),xe=r(d[75]),Ce=r(d[76]),Pe=r(d[77]),De=r(d[78]),Te=r(d[79]),We=r(d[80]);const Oe=(0,h.withUnistyles)(I.FolderPlus),Me=(0,We.jsx)(Oe,{size:me.ICON_SIZE.sm,uniProps:t=>({color:t.colors.foregroundMuted})});function Ae(t){const o=(0,s.c)(5);let n;o[0]!==t.draftId?(n=t.draftId?.trim()??"",o[0]=t.draftId,o[1]=n):n=o[1];const c=n;let l;return o[2]!==t.selectedServerId||o[3]!==c?(l=o=>(0,re.isActiveCreateFlowForDraft)({draftId:c,serverId:t.selectedServerId,pending:c?o.pendingByDraftId[c]:null}),o[2]=t.selectedServerId,o[3]=c,o[4]=l):l=o[4],(0,re.useCreateFlowStore)(l)}function Fe(t){return t.isDraftHandoffActive||!t.draftContextScopeKey?[]:[t.draftContextScopeKey]}function Re(t){const o=t.prompt.trim();if(o||0!==t.attachments.length)return Object.assign({},o?{prompt:o}:{},{attachments:t.attachments})}const Be=[];function Le(){}function _e(){}const Ve=(0,h.withUnistyles)(I.ChevronDown),ze=t=>({color:t.colors.foregroundExtraMuted});function He(){const o=(0,s.c)(1);let n;return o[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,We.jsx)(t.View,{style:Tt.chevronContainer,children:(0,We.jsx)(Ve,{size:me.ICON_SIZE.sm,uniProps:ze})}),o[0]=n):n=o[0],n}const Ke=(0,We.jsx)(He,{}),Ee=["workspace.project.pick"];function Ne(n){const c=(0,s.c)(9),{selectedItem:l,triggerLabel:p,iconColor:u,iconSize:f}=n;let h,k,S;return c[0]!==u||c[1]!==f||c[2]!==l?.kind?(h=(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:"github-pr"===l?.kind?(0,We.jsx)(I.GitPullRequest,{size:f,color:u}):(0,We.jsx)(I.GitBranch,{size:f,color:u})}),c[0]=u,c[1]=f,c[2]=l?.kind,c[3]=h):h=c[3],c[4]!==p?(k=(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:p}),c[4]=p,c[5]=k):k=c[5],c[6]!==h||c[7]!==k?(S=(0,We.jsxs)(We.Fragment,{children:[h,k]}),c[6]=h,c[7]=k,c[8]=S):S=c[8],S}function qe(t){const n=(0,s.c)(17),{pickerAnchorRef:c,onPress:l,disabled:p,badgePressableStyle:u,selectedItem:f,triggerLabel:h,accessibilityLabel:k,tooltipLabel:S,iconColor:I,iconSize:b}=t;let v,y,w,j;return n[0]!==I||n[1]!==b||n[2]!==f||n[3]!==h?(v=(0,We.jsx)(Ne,{selectedItem:f,triggerLabel:h,iconColor:I,iconSize:b}),n[0]=I,n[1]=b,n[2]=f,n[3]=h,n[4]=v):v=n[4],n[5]!==k||n[6]!==u||n[7]!==p||n[8]!==l||n[9]!==c||n[10]!==v?(y=(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsx)(W.ComboboxTrigger,{chevron:Ke,ref:c,testID:"new-workspace-ref-picker-trigger",onPress:l,disabled:p,style:u,accessibilityRole:"button",accessibilityLabel:k,children:v})}),n[5]=k,n[6]=u,n[7]=p,n[8]=l,n[9]=c,n[10]=v,n[11]=y):y=n[11],n[12]!==S?(w=(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:S})}),n[12]=S,n[13]=w):w=n[13],n[14]!==y||n[15]!==w?(j=(0,We.jsxs)(M.Tooltip,{children:[y,w]}),n[14]=y,n[15]=w,n[16]=j):j=n[16],j}function Ue(n){const c=(0,s.c)(22),{pickerAnchorRef:l,onPress:p,disabled:u,badgePressableStyle:f,label:h,tooltipLabel:k,projectViewKey:S,iconDataUri:b,iconColor:v,iconSize:y}=n;let w;if(c[0]!==h){w=(0,de.projectIconPlaceholderLabelFromDisplayName)(h).charAt(0).toUpperCase()||"?",c[0]=h,c[1]=w}else w=c[1];const j=w;let x,C,D,T,O;return c[2]!==v||c[3]!==b||c[4]!==y||c[5]!==j||c[6]!==S?(x=(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:S?(0,We.jsx)(P.ProjectIconView,{iconDataUri:b,initial:j,projectViewKey:S,size:me.ICON_SIZE.md,textStyle:Tt.projectIconFallbackText}):(0,We.jsx)(I.Folder,{size:y,color:v})}),c[2]=v,c[3]=b,c[4]=y,c[5]=j,c[6]=S,c[7]=x):x=c[7],c[8]!==h?(C=(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:h}),c[8]=h,c[9]=C):C=c[9],c[10]!==f||c[11]!==u||c[12]!==p||c[13]!==l||c[14]!==x||c[15]!==C?(D=(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsxs)(W.ComboboxTrigger,{chevron:Ke,ref:l,testID:"new-workspace-project-picker-trigger",onPress:p,disabled:u,style:f,accessibilityRole:"button",accessibilityLabel:"Workspace project",children:[x,C]})}),c[10]=f,c[11]=u,c[12]=p,c[13]=l,c[14]=x,c[15]=C,c[16]=D):D=c[16],c[17]!==k?(T=(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:k})}),c[17]=k,c[18]=T):T=c[18],c[19]!==D||c[20]!==T?(O=(0,We.jsxs)(M.Tooltip,{children:[D,T]}),c[19]=D,c[20]=T,c[21]=O):O=c[21],O}function Qe(n){const c=(0,s.c)(29),{testID:l,label:p,description:u,selected:h,active:k,disabled:S,onPress:b,isBranch:v,metaLabel:y,current:w,inSync:j,accessibilityLabel:x,iconColor:C,iconSize:P}=n;let W;c[0]!==C||c[1]!==P||c[2]!==v?(W=(0,We.jsx)(t.View,{style:Tt.rowIconBox,children:v?(0,We.jsx)(I.GitBranch,{size:P,color:C}):(0,We.jsx)(I.GitPullRequest,{size:P,color:C})}),c[0]=C,c[1]=P,c[2]=v,c[3]=W):W=c[3];const O=W,{t:M}=(0,f.useTranslation)();let A;e:{if(!y&&!j&&!w){A=void 0;break e}let t,n,s,l;c[4]!==y?(t=y?(0,We.jsx)(o.Text,{style:Tt.refMetaLabel,children:y}):null,c[4]=y,c[5]=t):t=c[5],c[6]!==C||c[7]!==P||c[8]!==j||c[9]!==y?(n=!y&&j?(0,We.jsx)(I.Link,{size:P,color:C}):null,c[6]=C,c[7]=P,c[8]=j,c[9]=y,c[10]=n):n=c[10],c[11]!==w||c[12]!==M?(s=w?(0,We.jsx)(T.StatusBadge,{label:M("newWorkspace.refPicker.current"),size:"xs"}):null,c[11]=w,c[12]=M,c[13]=s):s=c[13],c[14]!==t||c[15]!==n||c[16]!==s?(l=(0,We.jsxs)(We.Fragment,{children:[t,n,s]}),c[14]=t,c[15]=n,c[16]=s,c[17]=l):l=c[17],A=l}const F=A;let R;return c[18]!==x||c[19]!==k||c[20]!==u||c[21]!==S||c[22]!==p||c[23]!==F||c[24]!==O||c[25]!==b||c[26]!==h||c[27]!==l?(R=(0,We.jsx)(D.ComboboxItem,{testID:l,label:p,description:u,selected:h,active:k,disabled:S,onPress:b,leadingSlot:O,labelAccessory:F,accessibilityLabel:x}),c[18]=x,c[19]=k,c[20]=u,c[21]=S,c[22]=p,c[23]=F,c[24]=O,c[25]=b,c[26]=h,c[27]=l,c[28]=R):R=c[28],R}function $e(o){const n=(0,s.c)(12),{optionId:c,label:l,selected:p,active:u,disabled:f,onPress:h,iconColor:k,iconSize:S}=o;let b;n[0]!==k||n[1]!==S||n[2]!==c?(b=(0,We.jsx)(t.View,{style:Tt.rowIconBox,children:"worktree"===c?(0,We.jsx)(I.GitBranch,{size:S,color:k}):(0,We.jsx)(I.Folder,{size:S,color:k})}),n[0]=k,n[1]=S,n[2]=c,n[3]=b):b=n[3];const v=b,y=`workspace-create-isolation-${c}`;let w;return n[4]!==u||n[5]!==f||n[6]!==l||n[7]!==v||n[8]!==h||n[9]!==p||n[10]!==y?(w=(0,We.jsx)(D.ComboboxItem,{testID:y,label:l,selected:p,active:u,disabled:f,onPress:h,leadingSlot:v}),n[4]=u,n[5]=f,n[6]=l,n[7]=v,n[8]=h,n[9]=p,n[10]=y,n[11]=w):w=n[11],w}function Ge(o){const n=(0,s.c)(15),{testID:c,projectViewKey:l,iconDataUri:p,label:u,description:f,selected:h,active:k,disabled:S,onPress:I}=o;let b;if(n[0]!==u){b=(0,de.projectIconPlaceholderLabelFromDisplayName)(u).charAt(0).toUpperCase()||"?",n[0]=u,n[1]=b}else b=n[1];const v=b;let y;n[2]!==p||n[3]!==v||n[4]!==l?(y=(0,We.jsx)(t.View,{style:Tt.rowIconBox,children:(0,We.jsx)(P.ProjectIconView,{iconDataUri:p,initial:v,projectViewKey:l,size:me.ICON_SIZE.md,textStyle:Tt.projectIconFallbackText})}),n[2]=p,n[3]=v,n[4]=l,n[5]=y):y=n[5];const w=y;let j;return n[6]!==k||n[7]!==f||n[8]!==S||n[9]!==u||n[10]!==w||n[11]!==I||n[12]!==h||n[13]!==c?(j=(0,We.jsx)(D.ComboboxItem,{testID:c,label:u,description:f,selected:h,active:k,disabled:S,onPress:I,leadingSlot:w}),n[6]=k,n[7]=f,n[8]=S,n[9]=u,n[10]=w,n[11]=I,n[12]=h,n[13]=c,n[14]=j):j=n[14],j}function Ze(o){const n=(0,s.c)(38),{option:c,selected:l,active:p,onPress:u,itemById:k,isPending:S}=o,{theme:I}=(0,h.useUnistyles)(),{t:b}=(0,f.useTranslation)();let v,y,w,j,x,C,P,D,T,W,O,M,A;if(n[0]!==p||n[1]!==S||n[2]!==k||n[3]!==u||n[4]!==c.id||n[5]!==l||n[6]!==b){x=Symbol.for("react.early_return_sentinel");e:{if(w=k.get(c.id),!w){let o;n[20]!==c.id?(o=(0,We.jsx)(t.View,{},c.id),n[20]=c.id,n[21]=o):o=n[21],x=o;break e}y="branch"===w.kind;const o=y?`new-workspace-ref-picker-branch-${w.name}`:`new-workspace-ref-picker-pr-${w.item.number}`,s=!y&&w.item.baseRefName?b("newWorkspace.refPicker.intoBase",{baseRef:w.item.baseRefName}):void 0;v=Qe,j=o,C=st(b,w),P=s,D=l,T=p,W=S,O=u,M=y,A=nt(w)}n[0]=p,n[1]=S,n[2]=k,n[3]=u,n[4]=c.id,n[5]=l,n[6]=b,n[7]=v,n[8]=y,n[9]=w,n[10]=j,n[11]=x,n[12]=C,n[13]=P,n[14]=D,n[15]=T,n[16]=W,n[17]=O,n[18]=M,n[19]=A}else v=n[7],y=n[8],w=n[9],j=n[10],x=n[11],C=n[12],P=n[13],D=n[14],T=n[15],W=n[16],O=n[17],M=n[18],A=n[19];if(x!==Symbol.for("react.early_return_sentinel"))return x;const F=y?w.current:void 0,R=y?w.inSync:void 0,B=y?w.accessibilityLabel:void 0;let L;return n[22]!==v||n[23]!==j||n[24]!==F||n[25]!==R||n[26]!==B||n[27]!==C||n[28]!==P||n[29]!==D||n[30]!==T||n[31]!==W||n[32]!==O||n[33]!==M||n[34]!==A||n[35]!==I.colors.foregroundMuted||n[36]!==I.iconSize.sm?(L=(0,We.jsx)(v,{testID:j,label:C,description:P,selected:D,active:T,disabled:W,onPress:O,isBranch:M,metaLabel:A,current:F,inSync:R,accessibilityLabel:B,iconColor:I.colors.foregroundMuted,iconSize:I.iconSize.sm}),n[22]=v,n[23]=j,n[24]=F,n[25]=R,n[26]=B,n[27]=C,n[28]=P,n[29]=D,n[30]=T,n[31]=W,n[32]=O,n[33]=M,n[34]=A,n[35]=I.colors.foregroundMuted,n[36]=I.iconSize.sm,n[37]=L):L=n[37],L}function Je(o){const n=(0,s.c)(31),{option:c,selected:l,active:p,onPress:u,projectByOptionId:f,projectIconDataByProjectViewKey:h,selectedServerId:k,isPending:S,supportsWorkspaceMultiplicity:I}=o;let b,v,y,w,j,x,C,P,D,T,W;if(n[0]!==p||n[1]!==S||n[2]!==c.id||n[3]!==f||n[4]!==h||n[5]!==l||n[6]!==k||n[7]!==I){T=Symbol.for("react.early_return_sentinel");e:{const o=f.get(c.id);if(!o){let o;n[18]!==c.id?(o=(0,We.jsx)(t.View,{},c.id),n[18]=c.id,n[19]=o):o=n[19],T=o;break e}const s=(0,pe.getHostProjectSourceDirectory)(o,k)??o.iconWorkingDir;b=Ge,v=`new-workspace-project-picker-option-${o.viewKey}`,y=o.viewKey,w=h.get(o.viewKey)??null,j=o.projectName,x=s,C=l,P=p,D=S||!I&&!o.hosts.some(Ye)}n[0]=p,n[1]=S,n[2]=c.id,n[3]=f,n[4]=h,n[5]=l,n[6]=k,n[7]=I,n[8]=b,n[9]=v,n[10]=y,n[11]=w,n[12]=j,n[13]=x,n[14]=C,n[15]=P,n[16]=D,n[17]=T}else b=n[8],v=n[9],y=n[10],w=n[11],j=n[12],x=n[13],C=n[14],P=n[15],D=n[16],T=n[17];return T!==Symbol.for("react.early_return_sentinel")?T:(n[20]!==b||n[21]!==u||n[22]!==v||n[23]!==y||n[24]!==w||n[25]!==j||n[26]!==x||n[27]!==C||n[28]!==P||n[29]!==D?(W=(0,We.jsx)(b,{testID:v,projectViewKey:y,iconDataUri:w,label:j,description:x,selected:C,active:P,disabled:D,onPress:u}),n[20]=b,n[21]=u,n[22]=v,n[23]=y,n[24]=w,n[25]=j,n[26]=x,n[27]=C,n[28]=P,n[29]=D,n[30]=W):W=n[30],W)}function Ye(t){return"unsupported"!==t.worktreeSupport}function Xe(t){const o=(0,s.c)(8),{onPress:n}=t,{t:c}=(0,f.useTranslation)(),l=(0,ce.useShortcutKeys)("new-agent");let p;o[0]!==l?(p=l?(0,We.jsx)(O.Shortcut,{chord:l}):null,o[0]=l,o[1]=p):p=o[1];const u=p;let h,k;return o[2]!==c?(h=c("sidebar.actions.addProject"),o[2]=c,o[3]=h):h=o[3],o[4]!==n||o[5]!==u||o[6]!==h?(k=(0,We.jsx)(D.ComboboxItem,{testID:"new-workspace-project-picker-add-project",label:h,onPress:n,leadingSlot:Me,trailingSlot:u}),o[4]=n,o[5]=u,o[6]=h,o[7]=k):k=o[7],k}function et(t){return`new-workspace-host-picker-option-${t}`}function tt(n){const c=(0,s.c)(18),{pickerAnchorRef:l,onPress:p,disabled:u,badgePressableStyle:f,isolation:h,label:k,tooltipLabel:S,iconColor:b,iconSize:v}=n;let y,w,j,x,C;return c[0]!==b||c[1]!==v||c[2]!==h?(y=(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:"worktree"===h?(0,We.jsx)(I.GitBranch,{size:v,color:b}):(0,We.jsx)(I.Folder,{size:v,color:b})}),c[0]=b,c[1]=v,c[2]=h,c[3]=y):y=c[3],c[4]!==k?(w=(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:k}),c[4]=k,c[5]=w):w=c[5],c[6]!==f||c[7]!==u||c[8]!==p||c[9]!==l||c[10]!==y||c[11]!==w?(j=(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsxs)(W.ComboboxTrigger,{chevron:Ke,ref:l,testID:"workspace-create-isolation-trigger",onPress:p,disabled:u,style:f,accessibilityRole:"button",accessibilityLabel:"Workspace isolation",children:[y,w]})}),c[6]=f,c[7]=u,c[8]=p,c[9]=l,c[10]=y,c[11]=w,c[12]=j):j=c[12],c[13]!==S?(x=(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:S})}),c[13]=S,c[14]=x):x=c[14],c[15]!==j||c[16]!==x?(C=(0,We.jsxs)(M.Tooltip,{children:[j,x]}),c[15]=j,c[16]=x,c[17]=C):C=c[17],C}function rt(o){const n=(0,s.c)(2),{children:c}=o;let l;return n[0]!==c?(l=(0,We.jsx)(t.View,{style:Tt.row,pointerEvents:"box-none",children:c}),n[0]=c,n[1]=l):l=n[1],l}function ot(t){const o=(0,s.c)(10),{project:n,supportsMultiplicity:c,worktreeSupport:l}=t,p=n?.viewKey,{preferences:f,updatePreferences:h}=(0,ie.useFormPreferences)();let k;o[0]===Symbol.for("react.memo_cache_sentinel")?(k={},o[0]=k):k=o[0];const[S,I]=(0,u.useState)(k),b=p?S[p]??f.isolationByProject?.[p]??"local":"local",v=c&&"unsupported"!==l,y="worktree"===b&&v;let w;o[1]!==p||o[2]!==h?(w=t=>{p&&(I(o=>Object.assign({},o,{[p]:t})),h(o=>Object.assign({},o,{isolationByProject:Object.assign({},o.isolationByProject,{[p]:t})})))},o[1]=p,o[2]=h,o[3]=w):w=o[3];const j=w,x=y?"worktree":"local",C=!c||v;let P;return o[4]!==v||o[5]!==b||o[6]!==j||o[7]!==x||o[8]!==C?(P={isolation:b,setIsolation:j,effectiveIsolation:x,canCreateWorktree:v,showRefPicker:C},o[4]=v,o[5]=b,o[6]=j,o[7]=x,o[8]=C,o[9]=P):P=o[9],P}function nt(t){if("branch"===t.kind)return t.detached?t.name:t.divergenceLabel}function st(t,o){return"branch"===o.kind&&o.detached?t("newWorkspace.refPicker.detachedHead"):(0,Ie.pickerItemLabel)(o)}function at(t,o){return t("worktree"===o?"newWorkspace.isolation.worktree":"newWorkspace.isolation.local")}function it(t){const o=t.supportsMultiplicity&&"local"===t.effectiveIsolation;return o?{isLocalCheckout:o,refSelection:"github-pr"===t.selectedItem?.kind?null:t.selectedItem,defaultRefPickerItem:Ie.currentBranchPickerItem,prSearchEnabled:!1}:{isLocalCheckout:o,refSelection:t.selectedItem,defaultRefPickerItem:Ie.defaultBasePickerItem,prSearchEnabled:t.pickerQueryEnabled}}function ct(t){const o=t?.branchDetails;if(o&&o.length>0)return o;return(t?.branches??[]).map(t=>({name:t,committerDate:0}))}async function lt(t){const o=(0,pe.getHostProjectId)(t.project,t.serverId);if(!o)throw new Error("Project is not available on the selected host");const n="worktree"===t.isolation,s=Re({prompt:t.prompt,attachments:t.attachments}),c=await t.client.createWorkspace(Object.assign({idempotencyKey:t.idempotencyKey,agent:t.agent,onEvent:t.onEvent,source:n?Object.assign({kind:"worktree",cwd:t.sourceDirectory,projectId:o,worktreeSlug:t.worktreeSlug},t.checkoutRequest):{kind:"directory",path:t.sourceDirectory,projectId:o}},s?{firstAgentContext:s}:{}));if(c.error||!c.workspace)throw new Error(c.error??t.createFailedMessage);const l=(0,Y.normalizeWorkspaceDescriptor)(c.workspace),p=t.withInitialAgent?Object.assign({},l,{status:"running",statusEnteredAt:new Date}):l;return t.mergeWorkspaces(t.serverId,[p]),{workspace:l,agent:c.agent}}function dt(t){return{provider:t.provider,cwd:t.cwd,modeId:t.composerState.selectedMode||null,model:t.composerState.effectiveModelId||null,thinkingOptionId:t.composerState.effectiveThinkingOptionId||null,featureValues:t.composerState.featureValues??{}}}function pt(t){if(t.forkDraftSetup)return dt({cwd:(0,Se.remapDraftCwdToWorkspace)({cwd:t.forkDraftSetup.setup.cwd,sourceDirectory:t.forkDraftSetup.sourceDirectory,workspaceDirectory:t.workspaceDirectory}),provider:t.provider,composerState:t.composerState})}function ut(t){if(t.initialSetup)return{provider:t.initialSetup.provider,modeId:t.initialSetup.modeId,model:t.initialSetup.model,thinkingOptionId:t.initialSetup.thinkingOptionId}}const mt={navigateToWorkspace:Z.navigateToWorkspace,prepareWorkspaceTab:J.prepareWorkspaceTab,getActiveWorkspaceSelection:Z.getForegroundWorkspaceSelection};function ft(t){const o=(0,s.c)(14),{serverId:n,project:c,supportsWorkspaceMultiplicity:l,effectiveIsolation:p,worktreeSlug:u}=t,{t:h}=(0,f.useTranslation)(),k=(0,G.useHostFeature)(n,"creationLifecycle"),S=!l||"worktree"===p;let I;o[0]!==c||o[1]!==n?(I=c?(0,pe.getHostProjectId)(c,n):null,o[0]=c,o[1]=n,o[2]=I):I=o[2];const b=I;let v;o[3]!==h?(v=h("newWorkspace.errors.createWorktreeFailed"),o[3]=h,o[4]=v):v=o[4];const y=v;let w;o[5]!==S||o[6]!==y||o[7]!==b||o[8]!==k||o[9]!==u?(w=(0,Te.resolveWorktreeCreationContext)({createsWorktree:S,supportsCreationLifecycle:k,projectId:b,title:u,fallbackError:y,ports:mt}),o[5]=S,o[6]=y,o[7]=b,o[8]=k,o[9]=u,o[10]=w):w=o[10];const j=w;let x;return o[11]!==S||o[12]!==j?(x={createsWorktree:S,worktreeCreation:j},o[11]=S,o[12]=j,o[13]=x):x=o[13],x}const gt=new Map;function ht(t){const o=JSON.stringify([t.serverId,t.draftId]),n=gt.get(o);if(n)return n;const s=Promise.resolve().then(()=>kt(t));return gt.set(o,s),s.finally(()=>gt.delete(o)).catch(()=>{}),s}async function kt(t){const{payload:o,composerState:n,ensureWorkspace:s,serverId:l,clearDraft:u}=t,f=(0,Pe.captureWorkspaceDraftCleanup)(t),{text:h,attachments:k,cwd:S}=o;if(!n)throw new Error(t.labels.composerStateRequired);const I=n.selectedProvider;if(!I)throw new Error(t.labels.selectModel);const b=(0,j.resolveComposerAttachmentSubmitFormat)({supportsForgeAttachments:t.supportsForgeSearch}),v=(0,j.splitComposerAttachmentsForSubmit)(k,{format:b}),y=(0,Se.getWorkspaceNamingAttachments)(v.attachments),w=await(0,c.encodeImages)(v.images),x=t.worktreeCreation&&(0,Te.createWorktreeCreationTracker)(Object.assign({},t.worktreeCreation,{serverId:l,promptPreview:h.trim(),isStillOnCreateScreen:t.isStillOnCreateScreen,clearConsumedDraft:f,imageAttachmentIds:v.images.map(t=>t.id)})),C=x?x.clearDraft:f;let P=!1,D="background";const T=({workspaceId:t,target:o})=>x?x.openWorkspace({workspaceId:t,target:o})?"navigated":"background":((0,Z.navigateToWorkspace)({serverId:l,workspaceId:t,target:o}),"navigated"),W={config:{provider:I,cwd:S,modeId:n.selectedMode||void 0,model:n.effectiveModelId||void 0,thinkingOptionId:n.effectiveThinkingOptionId||void 0,featureValues:n.featureValues},initialPrompt:h,clientMessageId:`${t.draftId}:initial-message`,images:w?.length?w:void 0,attachments:v.attachments?.length?v.attachments:void 0},O=async(o=W)=>{const c=s({cwd:S,prompt:h,attachments:y,withInitialAgent:!0,agent:o,onEvent:o=>{if(x?.observe(o),!o.workspace||P)return;if(P=!0,!x&&!t.isStillOnCreateScreen())return;const s=(0,Y.normalizeWorkspaceDescriptor)(o.workspace);(0,p.getHostRuntimeStore)().acceptWorkspaceSnapshots(l,[Object.assign({},s,{status:"running"})]);const c=pt({forkDraftSetup:t.forkDraftSetup,workspaceDirectory:s.workspaceDirectory,provider:I,composerState:n});D=vt({clearConsumedDraft:f,draftKey:t.draftKey,draftContextScopeKey:t.draftContextScopeKey,resolveClient:t.resolveClient,isStillOnCreateScreen:t.isStillOnCreateScreen,openWorkspace:T,serverId:l,clearDraft:x?x.clearDraft:u,draftId:t.draftId,initialSetup:c,workspaceId:s.id,workspaceDirectory:s.workspaceDirectory,text:h,attachments:k,provider:I,composerState:n,supportsForgeSearch:t.supportsForgeSearch,agentCreation:M})}}),{agent:b}=await(x?x.track(c):c);if(!b)throw new Error("Workspace creation returned no agent");return b},M={result:Promise.resolve().then(()=>O()),retry:t=>O(Object.assign({},W,{config:Object.assign({},t.config,{cwd:S}),initialPrompt:t.initialPrompt??"",clientMessageId:W.clientMessageId,images:t.images,attachments:t.attachments}))},A=await M.result,F=se.useWorkspaceDraftSubmissionStore.getState(),R=F.pendingByDraftId[t.draftId];if(R?.serverId===l){F.consumePending(R);const o=(0,ne.buildWorkspaceTabPersistenceKey)(R),n=oe.useWorkspaceLayoutStore.getState();if(o){const s=n.getWorkspaceTabs(o).find(o=>"draft"===o.target.kind&&o.target.draftId===t.draftId);s&&n.replaceTab(o,s.tabId,{kind:"agent",agentId:A.id})}const s=re.useCreateFlowStore.getState();s.updateAgentId({draftId:t.draftId,agentId:A.id}),s.markLifecycle({draftId:t.draftId,lifecycle:"sent"}),F.clearDraftSetup({draftId:t.draftId})}return"background"===D&&C(),D}function St(t){const{serverId:o,workspaceDirectory:n,sourceDirectory:s,initialSetup:c}=t,l=n||s||void 0;return{initialServerId:o||null,initialValues:ut({initialSetup:c}),initialFeatureValues:c?.featureValues,isVisible:!0,lockedWorkingDir:l}}function It(t){const o=(0,s.c)(4);let n;o[0]!==t?(n=t?.trim()??"",o[0]=t,o[1]=n):n=o[1];const c=n;let l;return o[2]!==c?(l=t=>c?t.setupByDraftId[c]??null:null,o[2]=c,o[3]=l):l=o[3],(0,se.useWorkspaceDraftSubmissionStore)(l)}function bt(t){const{draftId:o,workspaceDirectory:n,provider:s,composerState:c,initialSetup:l}=t;return l?{cwd:l.cwd,provider:l.provider,modeId:l.modeId,model:l.model,thinkingOptionId:l.thinkingOptionId,featureValues:l.featureValues,target:{kind:"draft",draftId:o,setup:l}}:{cwd:n,provider:s,modeId:c.selectedMode||null,model:c.effectiveModelId||null,thinkingOptionId:c.effectiveThinkingOptionId||null,featureValues:c.featureValues,target:{kind:"draft",draftId:o}}}function vt(t){const{serverId:o,clearDraft:n,draftId:s,workspaceId:c,workspaceDirectory:l,text:p,attachments:u,provider:f,composerState:h,initialSetup:k}=t,S=s?.trim()||(0,ee.generateDraftId)(),I=`${S}:initial-message`,b=Date.now(),v=(0,j.splitComposerAttachmentsForSubmit)(u,{format:(0,j.resolveComposerAttachmentSubmitFormat)({supportsForgeAttachments:t.supportsForgeSearch})}),y=bt({draftId:S,workspaceDirectory:l,provider:f,composerState:h,initialSetup:k});return re.useCreateFlowStore.getState().trySetPending(Object.assign({serverId:o,draftId:S,workspaceId:c,agentId:null,clientMessageId:I,text:p.trim(),timestamp:b},v.images.length>0?{images:v.images}:{},v.attachments.length>0?{attachments:v.attachments}:{}))?(se.useWorkspaceDraftSubmissionStore.getState().setPending(Object.assign({serverId:o,workspaceId:c,draftId:S,text:p.trim(),attachments:u,cwd:y.cwd,provider:y.provider,clientMessageId:I,timestamp:b},y.modeId?{modeId:y.modeId}:{},y.model?{model:y.model}:{},y.thinkingOptionId?{thinkingOptionId:y.thinkingOptionId}:{},y.featureValues?{featureValues:y.featureValues}:{},{allowEmptyText:!0,agentCreation:t.agentCreation})),n("sent"),t.openWorkspace({workspaceId:c,target:y.target})):"navigated"}function yt(t){const o=(0,s.c)(41);let n;o[0]!==t.initialServerId?(n=t.initialServerId.trim(),o[0]=t.initialServerId,o[1]=n):n=o[1];const c=n;let l;o[2]!==t.allServerIds||o[3]!==t.hostConnectionStatusByServerId||o[4]!==t.initialServerId||o[5]!==t.lastActiveProject||o[6]!==t.projects||o[7]!==t.workspaceMultiplicityByServerId?(l=(0,ve.resolveNewWorkspaceInitialServerId)({allServerIds:t.allServerIds,routeServerId:t.initialServerId,lastActiveProject:t.lastActiveProject,projects:t.projects,hostConnectionStatusByServerId:t.hostConnectionStatusByServerId,workspaceMultiplicityByServerId:t.workspaceMultiplicityByServerId}),o[2]=t.allServerIds,o[3]=t.hostConnectionStatusByServerId,o[4]=t.initialServerId,o[5]=t.lastActiveProject,o[6]=t.projects,o[7]=t.workspaceMultiplicityByServerId,o[8]=l):l=o[8];const p=l;let f;o[9]!==p||o[10]!==c?(f=()=>({routeServerId:c,serverId:p}),o[9]=p,o[10]=c,o[11]=f):f=o[11];const[h,k]=(0,u.useState)(f),[S,I]=(0,u.useState)(null),[b,v]=(0,u.useState)(!1);let y,w,j;o[12]!==p||o[13]!==t.allServerIds||o[14]!==t.hostConnectionStatusByServerId||o[15]!==t.initialServerId||o[16]!==t.lastActiveProject||o[17]!==t.projects||o[18]!==t.workspaceMultiplicityByServerId||o[19]!==c?(y=()=>{k(o=>{const n=o.routeServerId===c?(0,ve.resolveNewWorkspaceAutomaticServerId)({allServerIds:t.allServerIds,routeServerId:t.initialServerId,lastActiveProject:t.lastActiveProject,projects:t.projects,hostConnectionStatusByServerId:t.hostConnectionStatusByServerId,workspaceMultiplicityByServerId:t.workspaceMultiplicityByServerId,currentServerId:o.serverId,nextServerId:p}):p;return o.routeServerId===c&&o.serverId===n?o:{routeServerId:c,serverId:n}})},w=[p,t.allServerIds,t.hostConnectionStatusByServerId,t.initialServerId,t.lastActiveProject,t.projects,t.workspaceMultiplicityByServerId,c],o[12]=p,o[13]=t.allServerIds,o[14]=t.hostConnectionStatusByServerId,o[15]=t.initialServerId,o[16]=t.lastActiveProject,o[17]=t.projects,o[18]=t.workspaceMultiplicityByServerId,o[19]=c,o[20]=y,o[21]=w):(y=o[20],w=o[21]),(0,u.useEffect)(y,w),o[22]!==h.routeServerId||o[23]!==h.serverId||o[24]!==p||o[25]!==t.allServerIds||o[26]!==c?(j=h.routeServerId===c&&t.allServerIds.includes(h.serverId)?h.serverId:p,o[22]=h.routeServerId,o[23]=h.serverId,o[24]=p,o[25]=t.allServerIds,o[26]=c,o[27]=j):j=o[27];const x=j;let C;o[28]!==x||o[29]!==t.allServerIds||o[30]!==S||o[31]!==c?(C=S?.routeServerId===c&&t.allServerIds.includes(S.serverId)?S.serverId:x,o[28]=x,o[29]=t.allServerIds,o[30]=S,o[31]=c,o[32]=C):C=o[32];const P=C;let D;o[33]!==c?(D=t=>{I({routeServerId:c,serverId:t}),v(!1)},o[33]=c,o[34]=D):D=o[34];const T=D;let W;o[35]===Symbol.for("react.memo_cache_sentinel")?(W=t=>{v(t)},o[35]=W):W=o[35];const O=W;let M;o[36]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{v(!0)},o[36]=M):M=o[36];const A=M;let F;return o[37]!==T||o[38]!==b||o[39]!==P?(F={selectedServerId:P,hostPickerOpen:b,handleSelectHost:T,handleHostPickerOpenChange:O,openHostPicker:A},o[37]=T,o[38]=b,o[39]=P,o[40]=F):F=o[40],F}function wt(t){const o=(0,s.c)(37),{serverId:n,sourceDirectory:c,projectId:l,displayName:u}=t,f=(0,p.useHosts)();let h;o[0]!==f?(h=f.map(jt),o[0]=f,o[1]=h):h=o[1];const k=h,S=(0,pe.useHostProjects)(k);let I;o[2]!==u?(I=u?.trim()??"",o[2]=u,o[3]=I):I=o[3];const b=I;let v;o[4]!==l||o[5]!==b||o[6]!==n||o[7]!==c?(v=(0,pe.hostProjectFromRoute)({serverId:n,projectId:l,displayName:b,sourceDirectory:c}),o[4]=l,o[5]=b,o[6]=n,o[7]=c,o[8]=v):v=o[8];const y=v;let w;e:{if(!y){w=null;break e}let t;o[9]!==S||o[10]!==y||o[11]!==n?(t=(0,pe.resolveHostProjectCandidate)({candidate:y,projects:S,serverId:n})??y,o[9]=S,o[10]=y,o[11]=n,o[12]=t):t=o[12],w=t}const j=w,x=(0,Z.useLastWorkspaceSelection)();let C;o[13]!==k||o[14]!==x?(C=x&&k.includes(x.serverId)?x.serverId:null,o[13]=k,o[14]=x,o[15]=C):C=o[15];const P=C,D=P?x.workspaceId:null,T=(0,X.useWorkspace)(P,D);let W;o[16]!==T||o[17]!==P?(W=P?(0,pe.hostProjectFromWorkspace)({serverId:P,workspace:T}):null,o[16]=T,o[17]=P,o[18]=W):W=o[18];const O=W,M=(0,p.useHostRuntimeConnectionStatuses)(k),A=(0,G.useHostFeatureMap)(k,"workspaceMultiplicity");let F;o[19]!==k||o[20]!==M||o[21]!==O||o[22]!==S||o[23]!==n||o[24]!==A?(F={initialServerId:n,allServerIds:k,projects:S,lastActiveProject:O,hostConnectionStatusByServerId:M,workspaceMultiplicityByServerId:A},o[19]=k,o[20]=M,o[21]=O,o[22]=S,o[23]=n,o[24]=A,o[25]=F):F=o[25];const{selectedServerId:R,hostPickerOpen:B,handleSelectHost:L,handleHostPickerOpenChange:_,openHostPicker:V}=yt(F),z=y?.viewKey??null;let H;return o[26]!==f||o[27]!==_||o[28]!==L||o[29]!==B||o[30]!==O||o[31]!==V||o[32]!==S||o[33]!==j||o[34]!==R||o[35]!==z?(H={allHosts:f,selectedServerId:R,hostPickerOpen:B,handleSelectHost:L,handleHostPickerOpenChange:_,openHostPicker:V,projects:S,routeProject:j,routeProjectContextViewKey:z,lastActiveProject:O},o[26]=f,o[27]=_,o[28]=L,o[29]=B,o[30]=O,o[31]=V,o[32]=S,o[33]=j,o[34]=R,o[35]=z,o[36]=H):H=o[36],H}function jt(t){return t.serverId}function xt(s){const{theme:c}=(0,h.useUnistyles)(),{t:l}=(0,f.useTranslation)(),{isCompact:p,isPending:k,project:S,host:I,isolation:b,base:v,launch:y}=s,w=I.allHosts.find(t=>t.serverId===I.selectedServerId)?.label??"Host",j=I.allHosts.length>1,P=at(l,b.effectiveIsolation),T=(0,u.useMemo)(()=>(0,We.jsx)(Xe,{onPress:S.onAddProject}),[S.onAddProject]),W=(0,u.useCallback)(({pressed:t,hovered:o})=>[Tt.badge,Boolean(o)&&!k&&Tt.badgeHovered,t&&!k&&Tt.badgePressed,k&&Tt.badgeDisabled],[k]),O=p?void 0:Tt.desktopControl,A=(0,We.jsxs)(t.View,{style:O,children:[(0,We.jsx)(Ue,{pickerAnchorRef:S.anchorRef,onPress:S.open,disabled:k,badgePressableStyle:W,label:S.triggerLabel,tooltipLabel:l("newWorkspace.tooltips.project"),projectViewKey:S.selectedProject?.viewKey??null,iconDataUri:S.selectedProject?S.iconDataByProjectViewKey.get(S.selectedProject.viewKey)??null:null,iconColor:c.colors.foregroundMuted,iconSize:c.iconSize.sm}),(0,We.jsx)(D.Combobox,{options:S.options,value:S.selectedOptionId,onSelect:S.onSelect,searchable:!0,searchPlaceholder:"Search projects",title:"Project",open:S.openState,onOpenChange:S.onOpenChange,desktopPlacement:"bottom-start",desktopMinWidth:360,anchorRef:S.anchorRef,emptyText:"No projects available.",renderOption:S.renderOption,footer:T})]}),F=j?(0,We.jsx)(t.View,{style:O,children:(0,We.jsx)(C.HostPicker,{hosts:I.allHosts,value:I.selectedServerId,onSelect:I.onSelect,open:I.openState,onOpenChange:I.onOpenChange,anchorRef:I.anchorRef,searchable:!1,title:"Host",desktopPlacement:"bottom-start",desktopMinWidth:200,hostOptionTestID:et,children:(0,We.jsxs)(M.Tooltip,{children:[(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsxs)(n.Pressable,{ref:I.anchorRef,accessibilityRole:"button",accessibilityLabel:"Host",onPress:I.open,disabled:k||0===I.allHosts.length,style:W,testID:"host-picker-trigger",children:[(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:(0,We.jsx)(x.HostStatusDot,{serverId:I.selectedServerId})}),(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:w}),Ke]})}),(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:l("newWorkspace.tooltips.host")})})]})})}):null,R=b.canCreateWorktree?(0,We.jsxs)(t.View,{style:O,children:[(0,We.jsx)(tt,{pickerAnchorRef:b.anchorRef,onPress:b.open,disabled:k,badgePressableStyle:W,isolation:b.effectiveIsolation,label:P,tooltipLabel:l("newWorkspace.tooltips.isolation"),iconColor:c.colors.foregroundMuted,iconSize:c.iconSize.sm}),(0,We.jsx)(D.Combobox,{options:b.options,value:b.effectiveIsolation,onSelect:b.onSelect,title:l("newWorkspace.isolation.label"),open:b.openState,onOpenChange:b.onOpenChange,desktopPlacement:"bottom-start",anchorRef:b.anchorRef,renderOption:b.renderOption})]}):null,B=v.showRefPicker?(0,We.jsxs)(t.View,{style:O,children:[(0,We.jsx)(qe,{pickerAnchorRef:v.anchorRef,onPress:v.open,disabled:k||!v.selectedSourceDirectory,badgePressableStyle:W,selectedItem:v.selectedItem,triggerLabel:v.triggerLabel,accessibilityLabel:l("newWorkspace.refPicker.startingRef"),tooltipLabel:l("newWorkspace.tooltips.startingRef"),iconColor:c.colors.foregroundMuted,iconSize:c.iconSize.sm}),(0,We.jsx)(D.Combobox,{options:v.options,value:v.selectedOptionId,onSelect:v.onSelect,searchable:!0,searchPlaceholder:l("newWorkspace.refPicker.searchPlaceholder"),title:l("newWorkspace.refPicker.title"),open:v.openState,onOpenChange:v.onOpenChange,onSearchQueryChange:v.setSearchQuery,desktopPlacement:"bottom-start",anchorRef:v.anchorRef,emptyText:v.emptyText,renderOption:v.renderOption})]}):null,L=(0,We.jsx)(q.LaunchControl,{serverId:y.serverId,target:y.target,onChange:y.onChange,profiles:y.profiles,disabled:y.disabled,badgePressableStyle:W});return p?(0,We.jsxs)(t.View,{testID:"new-workspace-ref-picker-row",style:Tt.formStack,pointerEvents:"box-none",children:[(0,We.jsx)(rt,{children:A}),F?(0,We.jsx)(rt,{children:F}):null,R?(0,We.jsx)(rt,{children:R}):null,B?(0,We.jsx)(rt,{children:B}):null,(0,We.jsx)(rt,{children:L}),R?null:(0,We.jsx)(t.View,{style:Tt.baseSpacer,pointerEvents:"none"}),B?null:(0,We.jsx)(t.View,{style:Tt.baseSpacer,pointerEvents:"none"})]}):(0,We.jsxs)(t.View,{testID:"new-workspace-ref-picker-row",style:Tt.formStackDesktop,pointerEvents:"box-none",children:[A,F,R,B,(0,We.jsx)(t.View,{style:Tt.launchSpacer,pointerEvents:"none"}),L]})}function Ct(t){const o=(0,s.c)(6),{serverId:n,forkDraftSetup:c,attachmentScopeKey:l}=t,p=c?.nativeFork?.sourceAgentId;let u;o[0]!==l?(u=t=>t.attachmentsByScope[l]?.find(Pt)?.source.agentId,o[0]=l,o[1]=u):u=o[1];const f=(0,fe.useWorkspaceAttachmentsStore)(u),h=p??f;if(!h)return null;const k=p?he.AgentForkMode.Full:he.AgentForkMode.Summary;let S;return o[2]!==n||o[3]!==h||o[4]!==k?(S=(0,We.jsx)(ge.ForkMarker,{serverId:n,sourceAgentId:h,mode:k}),o[2]=n,o[3]=h,o[4]=k,o[5]=S):S=o[5],S}function Pt(t){return"chat_history"===t.kind}function Dt(n){const c=(0,s.c)(19),{isCompact:l,title:p,formStack:u,onImportSession:f,children:h}=n;let k;c[0]!==l||c[1]!==f?(k=(0,We.jsx)(je.ImportSessionButton,{compact:l,onPress:f}),c[0]=l,c[1]=f,c[2]=k):k=c[2];const S=k;let I,b,y;c[3]!==S||c[4]!==l?(I=l?(0,We.jsx)(t.View,{style:Tt.compactTopActions,children:S}):null,c[3]=S,c[4]=l,c[5]=I):I=c[5],c[6]!==p?(b=(0,We.jsx)(t.View,{style:Tt.composerTitleContainer,pointerEvents:"none",children:(0,We.jsx)(o.Text,{style:Tt.composerTitle,children:p})}),c[6]=p,c[7]=b):b=c[7],c[8]!==u||c[9]!==I||c[10]!==b?(y=(0,We.jsxs)(We.Fragment,{children:[I,b,u]}),c[8]=u,c[9]=I,c[10]=b,c[11]=y):y=c[11];const w=y,j=!l,x=l?null:S;let C,P;return c[12]!==h||c[13]!==x?(C=(0,We.jsxs)(We.Fragment,{children:[h,x]}),c[12]=h,c[13]=x,c[14]=C):C=c[14],c[15]!==w||c[16]!==j||c[17]!==C?(P=(0,We.jsxs)(v.ComposerDock,{centered:j,children:[w,C]}),c[15]=w,c[16]=j,c[17]=C,c[18]=P):P=c[18],P}const Tt=h.StyleSheet.create(t=>({container:{flex:1,backgroundColor:t.colors.surface0,userSelect:"none",uni__dependencies:[0]},content:{position:"relative",flex:1},compactTopActions:{flex:1,paddingHorizontal:t.spacing[3],uni__dependencies:[0]},composerTitleContainer:{marginBottom:t.spacing[8],paddingLeft:t.spacing[6],paddingRight:t.spacing[4],uni__dependencies:[0]},composerTitle:{fontSize:t.fontSize["2xl"],fontWeight:t.fontWeight.normal,color:t.colors.foreground,uni__dependencies:[0]},errorText:{fontSize:t.fontSize.base,color:t.colors.destructive,lineHeight:20,uni__dependencies:[0]},formStack:{marginBottom:t.spacing[8],gap:t.spacing[2],uni__dependencies:[0]},formStackDesktop:{flexDirection:"row",alignItems:"center",marginBottom:t.spacing[4],paddingLeft:t.spacing[4],paddingRight:t.spacing[4],gap:t.spacing[2],uni__dependencies:[0]},desktopControl:{minWidth:0,flexShrink:1},row:{flexDirection:"row",alignItems:"center",paddingLeft:t.spacing[4],gap:t.spacing[1],uni__dependencies:[0]},baseSpacer:{height:28},launchSpacer:{flex:1},badge:{flexDirection:"row",alignItems:"center",height:28,maxWidth:240,overflow:"hidden",paddingHorizontal:t.spacing[2],borderRadius:t.borderRadius["2xl"],gap:t.spacing[1],uni__dependencies:[0]},badgeHovered:{backgroundColor:t.colors.surface2,uni__dependencies:[0]},badgePressed:{backgroundColor:t.colors.surface0,uni__dependencies:[0]},badgeDisabled:{opacity:.6},badgeText:{minWidth:0,fontSize:t.fontSize.base,color:t.colors.foregroundMuted,flexShrink:1,uni__dependencies:[0]},tooltipText:{fontSize:t.fontSize.base,color:t.colors.popoverForeground,uni__dependencies:[0]},refMetaLabel:{fontSize:t.fontSize.sm,color:t.colors.foregroundMuted,fontVariant:["tabular-nums"],uni__dependencies:[0]},chevronContainer:{flexShrink:0,transform:[{translateY:1}]},badgeIconBox:{width:t.iconSize.md,height:t.iconSize.md,alignItems:"center",justifyContent:"center",flexShrink:0,uni__dependencies:[0]},projectIconFallbackText:{fontSize:10,fontWeight:"600"},rowIconBox:{width:t.iconSize.md,height:t.iconSize.md,alignItems:"center",justifyContent:"center",uni__dependencies:[0]},hostStatusDot:{width:8,height:8,borderRadius:4}}))},5018,[896,897,898,454,3601,4774,3529,37,854,426,235,147,57,3549,800,1218,4341,4114,4439,4336,3591,3840,3839,4135,3812,4099,4356,3731,3711,4111,4112,4113,1217,894,4545,3620,4469,3868,3869,4372,4824,5019,5020,5021,5022,3455,3671,5015,3459,3800,3553,3808,3621,3572,3554,4527,4389,4376,4143,3586,3667,3835,4138,306,3622,4528,3000,5023,5024,5025,5026,5027,5028,5029,5031,3810,4796,5032,5033,5034,280]);
|
|
16777
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.NewWorkspaceScreen=function({serverId:n,sourceDirectory:s,projectId:c,displayName:I,draftId:v}){const j=(0,S.useQueryClient)(),{theme:x}=(0,h.useUnistyles)(),{t:C}=(0,f.useTranslation)(),P=(0,B.useIsCompactFormFactor)(),D=(0,L.useToast)(),T=(0,u.useCallback)((t,o)=>{(0,p.getHostRuntimeStore)().acceptWorkspaceSnapshots(t,Array.from(o))},[]),{allHosts:W,selectedServerId:O,hostPickerOpen:M,handleSelectHost:q,handleHostPickerOpenChange:J,openHostPicker:Y,projects:X,routeProject:re,routeProjectContextViewKey:oe,lastActiveProject:ne}=wt({serverId:n,sourceDirectory:s,projectId:c,displayName:I}),se=(0,G.useHostFeature)(O,"workspaceMultiplicity"),ce=(0,G.useHostFeature)(O,"forgeSearch"),[de]=(0,u.useState)(()=>({draftId:v??(0,ee.generateDraftId)(),worktreeSlug:(0,k.createNameId)()})),[me,ge]=(0,u.useState)(null),[he,ve]=(0,u.useState)({workspace:null}),[je,Pe]=(0,u.useState)(null),[Oe,Me]=(0,u.useState)(!1),[Re,Ve]=(0,u.useState)(!1),ze=(0,te.useOpenAddProject)(),[He,Ke]=(0,u.useState)(!1),[Ne,qe]=(0,u.useState)(""),[Ue,Qe]=(0,u.useState)(""),Ge=(0,u.useRef)(null),Ye=(0,u.useRef)(null),Xe=(0,u.useRef)(null),et=(0,u.useRef)(null),tt=Ae({draftId:v,selectedServerId:O}),rt=(0,De.useNewWorkspaceScreenPresence)(),{preferences:nt,updatePreferences:dt}=(0,ie.useFormPreferences)(),{config:pt}=(0,E.useDaemonConfig)(O),ut=(0,u.useMemo)(()=>(0,N.resolveTerminalProfiles)(pt?.terminalProfiles),[pt?.terminalProfiles]),[mt,gt]=(0,u.useState)(null),kt=(0,u.useMemo)(()=>(0,U.resolveLaunchTarget)(mt??nt.launchTarget,ut),[mt,nt.launchTarget,ut]),[bt,vt]=(0,u.useState)(""),{isTerminalLaunch:yt,selectedTerminalProfile:jt,terminalTakesPrompt:Pt,terminalComposerValue:Wt,terminalPlaceholder:Ot,terminalSubmitLabel:Mt,launchFocusKey:At}=(0,Q.useTerminalComposerState)({launchTarget:kt,terminalProfiles:ut,terminalPromptText:bt}),Ft=(0,u.useMemo)(()=>({getSnapshot:()=>Wt,subscribe:t=>()=>{}}),[Wt]),Rt=(0,u.useMemo)(()=>({key:At,text:Wt}),[At,Wt]);(0,u.useEffect)(()=>{const t=Ne.trim(),o=setTimeout(()=>Qe(t),180);return()=>clearTimeout(o)},[Ne]);const{workspace:Bt}=he,Lt=(0,p.useHostRuntimeClient)(O),_t=(0,p.useHostRuntimeIsConnected)(O),{selectedProject:Vt,selectedSourceDirectory:zt,projectPickerOptions:Ht,projectByOptionId:Kt,selectedProjectOptionId:Et,projectTriggerLabel:Nt,handleSelectProjectOption:qt}=(0,we.useNewWorkspaceProjectPicker)({selectedServerId:O,projects:X,routeProject:re,routeProjectContextViewKey:oe,lastActiveProject:ne,allowAllProjects:se}),Ut=(0,u.useMemo)(()=>(0,ye.buildNewWorkspaceProjectIconTargets)(X,O),[X,O]),Qt=(0,ue.useProjectIcons)({projects:Ut}),$t=(0,ee.buildNewWorkspaceDraftKey)(v),Gt=It(v),Zt=(0,fe.useDraftWorkspaceAttachmentScopeKey)(v),Jt=(0,u.useMemo)(()=>Fe({isDraftHandoffActive:tt,draftContextScopeKey:Zt}),[Zt,tt]),Yt=(0,_.useAgentInputDraft)({draftKey:$t,composer:St({serverId:O,workspaceDirectory:Bt?.workspaceDirectory??null,sourceDirectory:zt,initialSetup:Gt?.setup})}),Xt=Yt.composerState;(0,u.useEffect)(()=>{if(v||!Vt||!zt||!rt())return;const t=(0,pe.getHostProjectId)(Vt,O);t&&V.useDraftStore.getState().setNewWorkspaceProject({viewKey:Vt.viewKey,serverId:O,projectId:t,sourceDirectory:zt,displayName:Vt.projectName})},[v,Vt,O,zt,rt]);const[er,tr]=(0,u.useReducer)(be.reducePickerSelection,be.initialPickerSelectionState),rr=er.selectedItem,or=(0,u.useCallback)(()=>{tr({type:"pr-detected"})},[]),nr=(0,u.useCallback)(t=>{tr({type:"pr-added",item:{kind:"github-pr",item:t}})},[]),sr=(0,u.useCallback)(()=>{const t=(0,p.getHostRuntimeStore)().getClient(O);if(!t?.isConnected)throw new Error(C("newWorkspace.errors.hostDisconnected"));return t},[O,C]),ar=_t&&Boolean(Lt),ir=null!==zt,cr=Oe&&ar&&ir,{status:lr}=(0,H.useCheckoutStatusQuery)({serverId:O,cwd:zt??""}),dr=Vt?(0,pe.getWorktreeSupportForHostProject)({project:Vt,serverId:O}):"unsupported",pr=(Hr={pendingAction:je,isDraftHandoffActive:tt},null!==Hr.pendingAction||Hr.isDraftHandoffActive),{effectiveIsolation:ur,setIsolation:mr,canCreateWorktree:fr,showRefPicker:gr}=ot({project:Vt,supportsMultiplicity:se,worktreeSupport:dr}),{createsWorktree:hr,worktreeCreation:kr}=ft({serverId:O,project:Vt,supportsWorkspaceMultiplicity:se,effectiveIsolation:ur,worktreeSlug:de.worktreeSlug}),{isLocalCheckout:Sr,refSelection:Ir,defaultRefPickerItem:br,prSearchEnabled:vr}=it({supportsMultiplicity:se,effectiveIsolation:ur,selectedItem:rr,pickerQueryEnabled:cr}),yr=(0,S.useQuery)({queryKey:["branch-suggestions",O,zt,Ue],queryFn:async()=>{if(!zt)throw new Error("Choose a project");return sr().getBranchSuggestions({cwd:zt,query:Ue||void 0,limit:20})},enabled:cr,staleTime:15e3}),wr=(0,z.useForgeSearchQuery)({client:Lt,serverId:O,cwd:zt??"",query:Ue,kinds:["change_request"],supportsForgeSearch:ce,enabled:vr}),jr=(0,u.useMemo)(()=>ct(yr.data),[yr.data]),xr=!wr.data||"authenticated"===wr.data.authState,Cr=(0,u.useMemo)(()=>Sr||!xr?[]:wr.data?.items??[],[xr,wr.data?.items,Sr]),Pr=(0,u.useMemo)(()=>Ir??(lr?br(lr):null),[lr,br,Ir]),{options:Dr,itemById:Tr,selectedOptionId:Wr}=(0,u.useMemo)(()=>(0,Ie.buildPickerOptionData)({branchDetails:jr,prItems:Cr,baseItem:Pr,currentItem:lr?(0,Ie.currentBranchPickerItem)(lr):null}),[Pr,jr,lr,Cr]),Or=(0,u.useMemo)(()=>{const t=Tr.get(Wr);if(t){const o=st(C,t);return"branch"===t.kind&&t.current?C("newWorkspace.refPicker.currentSuffix",{name:o}):o}return C(Sr?"newWorkspace.refPicker.currentCheckout":"newWorkspace.refPicker.defaultBranch")},[Sr,Tr,Wr,C]),Mr=(0,u.useCallback)(t=>{const o=(0,be.syncPickerPrAttachment)({attachments:Yt.attachments,item:t});tr({type:"picker-selected",item:t}),Yt.setAttachments(o),Me(!1)},[Yt]),Ar=(0,u.useCallback)(t=>{const o=Tr.get(t);o&&Mr(o)},[Tr,Mr]),Fr=(0,u.useCallback)((t,o)=>{const n=(0,be.clearPickerPrAttachmentForTargetChange)({attachments:Yt.attachments,currentTargetId:t,nextTargetId:o});n!==Yt.attachments&&(Yt.setAttachments(n),tr({type:"target-changed"}))},[Yt]),Rr=(0,u.useCallback)(t=>{qt(t),Ve(!1),Fr(Et,t)},[Fr,qt,Et]),Br=(0,u.useCallback)(t=>{q(t),Fr(O,t)},[Fr,q,O]),Lr=(0,u.useCallback)(()=>{Ve(!1),ze(O)},[ze,O]),_r=(0,u.useCallback)(()=>{Me(!0)},[]),Vr=(0,u.useCallback)(()=>{Ve(!0)},[]),zr=(0,u.useCallback)(()=>(Vr(),!0),[Vr]);var Hr;(0,ae.useKeyboardActionHandler)({handlerId:"new-workspace-project-pick",actions:Ee,enabled:Ht.length>0,priority:0,handle:zr});const Kr=(0,u.useCallback)(()=>{Ke(!0)},[]),Er=(0,u.useCallback)(t=>{Ke(t)},[]),Nr=(0,u.useMemo)(()=>{const t={id:"local",label:at(C,"local")};return fr?[t,{id:"worktree",label:at(C,"worktree")}]:[t]},[fr,C]),qr=(0,u.useCallback)(t=>{mr("worktree"===t?"worktree":"local"),Ke(!1)},[mr]),Ur=(0,u.useCallback)(({option:t,selected:o,active:n,onPress:s})=>(0,We.jsx)($e,{optionId:t.id,label:t.label,selected:o,active:n,disabled:pr,onPress:s,iconColor:x.colors.foregroundMuted,iconSize:x.iconSize.sm}),[pr,x.colors.foregroundMuted,x.iconSize.sm]),Qr=(0,u.useCallback)(()=>{},[]),$r=(0,u.useCallback)(t=>{Me(t),t||qe("")},[]),Gr=(0,u.useCallback)(t=>{Ve(t)},[]),Zr=(0,u.useCallback)(async t=>{if(he.workspace)return he;if(!Vt)throw new Error("Choose a project");if(!zt)throw new Error("Choose a host for this project");const o=sr(),n=hr?await(0,Ie.resolveWorktreeCheckoutRequest)({selectedItem:rr,loadCheckoutStatus:()=>(0,K.ensureCheckoutStatus)({queryClient:j,client:o,serverId:O,cwd:zt})}):void 0;if(!hr&&"branch"===Ir?.kind&&!Ir.detached){const t=await o.checkoutSwitchBranch(zt,Ir.refName);if(t.error)throw new Error(t.error.message)}const s=await lt({idempotencyKey:de.draftId,worktreeSlug:de.worktreeSlug,client:o,isolation:hr?"worktree":"local",project:Vt,sourceDirectory:zt,checkoutRequest:n,withInitialAgent:t.withInitialAgent,prompt:t.prompt,attachments:t.attachments,agent:t.agent,onEvent:t.onEvent,mergeWorkspaces:T,serverId:O,createFailedMessage:C("newWorkspace.errors.createWorktreeFailed")});return ve(s),s},[hr,de,he,T,j,Ir,rr,Vt,O,zt,C,sr]),Jr=Yt.clear,Yr=(0,u.useCallback)(async t=>{try{ge(null),await(Xt?.persistFormPreferences()),await dt({launchTarget:kt});const o=Gt?.nativeFork;if(Gt&&o)return Pe("chat"),void await(0,Se.runCreateNativeFork)({payload:t,forkSetup:Object.assign({},Gt,{nativeFork:o}),ensureWorkspace:async t=>(await Zr(t)).workspace,client:sr(),serverId:O,navigate:({serverId:t,workspaceId:o,agentId:n})=>{Jr("sent"),(0,Z.navigateToWorkspace)({serverId:t,workspaceId:o,target:{kind:"agent",agentId:n}})}});if((0,ke.isEmptyWorkspaceSubmission)(t)){Pe("empty");let o="background";const n=kr&&(0,Te.createWorktreeCreationTracker)(Object.assign({},kr,{serverId:O,promptPreview:"",isStillOnCreateScreen:rt})),s=(0,ke.runCreateEmptyWorkspace)({payload:t,ensureWorkspace:async t=>(await Zr(t)).workspace,onEvent:n?.observe,serverId:O,navigate:(t,s)=>{n?.navigatedEarly()?o="navigated":rt()&&(o="navigated",(0,Z.navigateToWorkspace)({serverId:t,workspaceId:s}))}});return await(n?n.track(s):s),void("background"===o&&Pe(null))}Pe("chat");"background"===await ht({payload:t,composerState:Xt,forkDraftSetup:Gt,ensureWorkspace:Zr,serverId:O,clearDraft:Jr,draftKey:$t,draftId:de.draftId,draftContextScopeKey:Zt,supportsForgeSearch:ce,resolveClient:sr,isStillOnCreateScreen:rt,worktreeCreation:kr,labels:{composerStateRequired:C("newWorkspace.errors.composerStateRequired"),selectModel:C("newWorkspace.errors.selectModel")}})&&Pe(null)}catch(t){const o=(0,le.toErrorMessage)(t);Pe(null),ge(o),D.error(o)}},[Xt,Zt,de,Jr,$t,Zr,Gt,rt,kt,O,ce,C,D,dt,sr,kr]),Xr=(0,u.useCallback)(async()=>{try{ge(null),await dt({launchTarget:kt}),Pe("terminal");let t="background";await(0,$.runCreateTerminalWorkspace)({cwd:zt??"",prompt:bt,profile:jt,profileName:jt?.name,ensureWorkspace:async t=>(await Zr(t)).workspace,createTerminal:async t=>{const o=sr(),n=await o.createTerminal(t.workspaceDirectory,t.name,void 0,{command:t.command,args:t.args,workspaceId:t.workspaceId,colors:(0,l.getTerminalQueryColors)()}),s=n.terminal;if(!s)throw new Error(n.error??C("newWorkspace.errors.createWorktreeFailed"));return j.setQueryData((0,Ce.buildTerminalsQueryKey)(O,t.workspaceDirectory,t.workspaceId),o=>(0,Ce.upsertCreatedTerminalPayload)({current:o,terminal:s,workspaceDirectory:t.workspaceDirectory})),{terminalId:s.id}},sendTerminalInput:(t,o)=>{sr().sendTerminalInput(t,{type:"input",data:o})},serverId:O,navigate:(o,n,s)=>{rt()&&(t="navigated",(0,Z.navigateToWorkspace)({serverId:o,workspaceId:n,target:s}))}}),"background"===t&&Pe(null)}catch(t){const o=(0,le.toErrorMessage)(t);Pe(null),ge(o),D.error(o)}},[Zr,rt,kt,j,O,zt,jt,C,bt,D,dt,sr]),eo=(0,u.useCallback)(t=>(0,We.jsx)(Ze,Object.assign({},t,{itemById:Tr,isPending:pr})),[pr,Tr]),to=(0,u.useCallback)(t=>(0,We.jsx)(Je,Object.assign({},t,{projectByOptionId:Kt,projectIconDataByProjectViewKey:Qt,selectedServerId:O,isPending:pr,supportsWorkspaceMultiplicity:se})),[pr,Kt,Qt,O,se]),ro=(0,u.useMemo)(()=>Xt?Object.assign({},Xt.agentControls,{disabled:pr}):void 0,[Xt,pr]),oo=yr.isFetching||wr.isFetching?C("newWorkspace.refPicker.searching"):C("newWorkspace.refPicker.noMatchingRefs"),no=xt({isCompact:P,isPending:pr,project:{anchorRef:Ye,open:Vr,options:Ht,triggerLabel:Nt,selectedProject:Vt,iconDataByProjectViewKey:Qt,selectedOptionId:Et,onSelect:Rr,onAddProject:Lr,openState:Re,onOpenChange:Gr,renderOption:to},host:{allHosts:W,selectedServerId:O,onSelect:Br,openState:M,onOpenChange:J,anchorRef:et,open:Y},isolation:{anchorRef:Xe,open:Kr,effectiveIsolation:ur,options:Nr,onSelect:qr,openState:He,onOpenChange:Er,renderOption:Ur,canCreateWorktree:fr},base:{anchorRef:Ge,open:_r,selectedSourceDirectory:zt,selectedItem:Ir,triggerLabel:Or,options:Dr,selectedOptionId:Wr,onSelect:Ar,openState:Oe,onOpenChange:$r,setSearchQuery:qe,emptyText:oo,renderOption:eo,showRefPicker:gr},launch:{serverId:O,target:kt,onChange:gt,profiles:ut,disabled:pr}}),so=(0,u.useMemo)(()=>(0,We.jsx)(F.SidebarMenuToggle,{}),[]),ao=(0,xe.useImportSession)({serverId:O}),io=yt?(0,We.jsx)(b.Composer,{inputMode:y.ComposerInputMode.Terminal,readOnly:!Pt,placeholder:Ot,submitLabel:Mt,agentId:$t,serverId:O,isPaneFocused:!0,onSubmitMessage:Xr,allowEmptySubmit:!0,submitButtonAccessibilityLabel:C("newWorkspace.launch.submit"),submitButtonTestID:"new-workspace-launch-submit",isSubmitLoading:pr,submitBehavior:"preserve-and-lock",blurOnSubmit:!0,textSource:Ft,onChangeText:vt,textReplacement:Rt,attachments:Be,onChangeAttachments:Le,cwd:zt??"",clearDraft:_e,autoFocus:Pt,autoFocusKey:At},"terminal"):(0,We.jsx)(b.Composer,{agentId:$t,serverId:O,isPaneFocused:!0,onSubmitMessage:Yr,allowEmptySubmit:!0,submitButtonAccessibilityLabel:C("newWorkspace.create"),submitButtonTestID:"workspace-create-submit",submitIcon:"return",isSubmitLoading:pr,waitForForgeAutoAttachOnSubmit:!0,submitBehavior:"preserve-and-lock",blurOnSubmit:!0,textSource:Yt.textSource,onChangeText:Yt.editText,textReplacement:Yt.textReplacement,attachments:Yt.attachments,attachmentScopeKeys:Jt,onChangeAttachments:Yt.setAttachments,onForgeChangeRequestDetected:or,onForgeChangeRequestAutoAttach:nr,cwd:zt??"",clearDraft:Qr,autoFocus:!0,autoFocusKey:At,commandDraft:Xt?.commandDraft,agentControls:ro},"chat");return(0,We.jsxs)(w.FileDropZone,{style:Tt.container,children:[(0,We.jsx)(R.ScreenHeader,{left:so,borderless:!0}),(0,We.jsxs)(t.View,{style:Tt.content,children:[(0,We.jsx)(A.TitlebarDragRegion,{}),(0,We.jsxs)(Dt,{isCompact:P,title:C("newWorkspace.title"),formStack:no,onImportSession:ao.open,children:[(0,We.jsx)(Ct,{serverId:n,forkDraftSetup:Gt,attachmentScopeKey:Zt}),io,me?(0,We.jsx)(o.Text,{style:Tt.errorText,children:me}):null]})]}),ao.sheet]})};var t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]),c=r(d[4]),l=r(d[5]),p=r(d[6]),u=r(d[7]),f=r(d[8]);r(d[9]),r(d[10]),r(d[11]);var h=r(d[12]),k=r(d[13]),S=r(d[14]),I=r(d[15]),b=r(d[16]),v=r(d[17]),y=r(d[18]),w=r(d[19]),j=r(d[20]),x=r(d[21]),C=r(d[22]),P=r(d[23]),D=r(d[24]),T=r(d[25]),W=r(d[26]),O=r(d[27]),M=r(d[28]),A=r(d[29]),F=r(d[30]),R=r(d[31]),B=r(d[32]),L=r(d[33]),_=r(d[34]),V=r(d[35]),z=r(d[36]),H=r(d[37]),K=r(d[38]),E=r(d[39]),N=r(d[40]),q=r(d[41]),U=r(d[42]),Q=r(d[43]),$=r(d[44]),G=r(d[45]),Z=r(d[46]),J=r(d[47]),Y=r(d[48]),X=r(d[49]),ee=r(d[50]),te=r(d[51]),re=r(d[52]),oe=r(d[53]),ne=r(d[54]),se=r(d[55]),ae=r(d[56]),ie=r(d[57]),ce=r(d[58]),le=r(d[59]),de=r(d[60]),pe=r(d[61]),ue=r(d[62]),me=r(d[63]),fe=r(d[64]),ge=r(d[65]),he=r(d[66]),ke=r(d[67]),Se=r(d[68]),Ie=r(d[69]),be=r(d[70]),ve=r(d[71]),ye=r(d[72]),we=r(d[73]),je=r(d[74]),xe=r(d[75]),Ce=r(d[76]),Pe=r(d[77]),De=r(d[78]),Te=r(d[79]),We=r(d[80]);const Oe=(0,h.withUnistyles)(I.FolderPlus),Me=(0,We.jsx)(Oe,{size:me.ICON_SIZE.sm,uniProps:t=>({color:t.colors.foregroundMuted})});function Ae(t){const o=(0,s.c)(5);let n;o[0]!==t.draftId?(n=t.draftId?.trim()??"",o[0]=t.draftId,o[1]=n):n=o[1];const c=n;let l;return o[2]!==t.selectedServerId||o[3]!==c?(l=o=>(0,re.isActiveCreateFlowForDraft)({draftId:c,serverId:t.selectedServerId,pending:c?o.pendingByDraftId[c]:null}),o[2]=t.selectedServerId,o[3]=c,o[4]=l):l=o[4],(0,re.useCreateFlowStore)(l)}function Fe(t){return t.isDraftHandoffActive||!t.draftContextScopeKey?[]:[t.draftContextScopeKey]}function Re(t){const o=t.prompt.trim();if(o||0!==t.attachments.length)return Object.assign({},o?{prompt:o}:{},{attachments:t.attachments})}const Be=[];function Le(){}function _e(){}const Ve=(0,h.withUnistyles)(I.ChevronDown),ze=t=>({color:t.colors.foregroundExtraMuted});function He(){const o=(0,s.c)(1);let n;return o[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,We.jsx)(t.View,{style:Tt.chevronContainer,children:(0,We.jsx)(Ve,{size:me.ICON_SIZE.sm,uniProps:ze})}),o[0]=n):n=o[0],n}const Ke=(0,We.jsx)(He,{}),Ee=["workspace.project.pick"];function Ne(n){const c=(0,s.c)(9),{selectedItem:l,triggerLabel:p,iconColor:u,iconSize:f}=n;let h,k,S;return c[0]!==u||c[1]!==f||c[2]!==l?.kind?(h=(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:"github-pr"===l?.kind?(0,We.jsx)(I.GitPullRequest,{size:f,color:u}):(0,We.jsx)(I.GitBranch,{size:f,color:u})}),c[0]=u,c[1]=f,c[2]=l?.kind,c[3]=h):h=c[3],c[4]!==p?(k=(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:p}),c[4]=p,c[5]=k):k=c[5],c[6]!==h||c[7]!==k?(S=(0,We.jsxs)(We.Fragment,{children:[h,k]}),c[6]=h,c[7]=k,c[8]=S):S=c[8],S}function qe(t){const n=(0,s.c)(17),{pickerAnchorRef:c,onPress:l,disabled:p,badgePressableStyle:u,selectedItem:f,triggerLabel:h,accessibilityLabel:k,tooltipLabel:S,iconColor:I,iconSize:b}=t;let v,y,w,j;return n[0]!==I||n[1]!==b||n[2]!==f||n[3]!==h?(v=(0,We.jsx)(Ne,{selectedItem:f,triggerLabel:h,iconColor:I,iconSize:b}),n[0]=I,n[1]=b,n[2]=f,n[3]=h,n[4]=v):v=n[4],n[5]!==k||n[6]!==u||n[7]!==p||n[8]!==l||n[9]!==c||n[10]!==v?(y=(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsx)(W.ComboboxTrigger,{chevron:Ke,ref:c,testID:"new-workspace-ref-picker-trigger",onPress:l,disabled:p,style:u,accessibilityRole:"button",accessibilityLabel:k,children:v})}),n[5]=k,n[6]=u,n[7]=p,n[8]=l,n[9]=c,n[10]=v,n[11]=y):y=n[11],n[12]!==S?(w=(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:S})}),n[12]=S,n[13]=w):w=n[13],n[14]!==y||n[15]!==w?(j=(0,We.jsxs)(M.Tooltip,{children:[y,w]}),n[14]=y,n[15]=w,n[16]=j):j=n[16],j}function Ue(n){const c=(0,s.c)(22),{pickerAnchorRef:l,onPress:p,disabled:u,badgePressableStyle:f,label:h,tooltipLabel:k,projectViewKey:S,iconDataUri:b,iconColor:v,iconSize:y}=n;let w;if(c[0]!==h){w=(0,de.projectIconPlaceholderLabelFromDisplayName)(h).charAt(0).toUpperCase()||"?",c[0]=h,c[1]=w}else w=c[1];const j=w;let x,C,D,T,O;return c[2]!==v||c[3]!==b||c[4]!==y||c[5]!==j||c[6]!==S?(x=(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:S?(0,We.jsx)(P.ProjectIconView,{iconDataUri:b,initial:j,projectViewKey:S,size:me.ICON_SIZE.md,textStyle:Tt.projectIconFallbackText}):(0,We.jsx)(I.Folder,{size:y,color:v})}),c[2]=v,c[3]=b,c[4]=y,c[5]=j,c[6]=S,c[7]=x):x=c[7],c[8]!==h?(C=(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:h}),c[8]=h,c[9]=C):C=c[9],c[10]!==f||c[11]!==u||c[12]!==p||c[13]!==l||c[14]!==x||c[15]!==C?(D=(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsxs)(W.ComboboxTrigger,{chevron:Ke,ref:l,testID:"new-workspace-project-picker-trigger",onPress:p,disabled:u,style:f,accessibilityRole:"button",accessibilityLabel:"Workspace project",children:[x,C]})}),c[10]=f,c[11]=u,c[12]=p,c[13]=l,c[14]=x,c[15]=C,c[16]=D):D=c[16],c[17]!==k?(T=(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:k})}),c[17]=k,c[18]=T):T=c[18],c[19]!==D||c[20]!==T?(O=(0,We.jsxs)(M.Tooltip,{children:[D,T]}),c[19]=D,c[20]=T,c[21]=O):O=c[21],O}function Qe(n){const c=(0,s.c)(29),{testID:l,label:p,description:u,selected:h,active:k,disabled:S,onPress:b,isBranch:v,metaLabel:y,current:w,inSync:j,accessibilityLabel:x,iconColor:C,iconSize:P}=n;let W;c[0]!==C||c[1]!==P||c[2]!==v?(W=(0,We.jsx)(t.View,{style:Tt.rowIconBox,children:v?(0,We.jsx)(I.GitBranch,{size:P,color:C}):(0,We.jsx)(I.GitPullRequest,{size:P,color:C})}),c[0]=C,c[1]=P,c[2]=v,c[3]=W):W=c[3];const O=W,{t:M}=(0,f.useTranslation)();let A;e:{if(!y&&!j&&!w){A=void 0;break e}let t,n,s,l;c[4]!==y?(t=y?(0,We.jsx)(o.Text,{style:Tt.refMetaLabel,children:y}):null,c[4]=y,c[5]=t):t=c[5],c[6]!==C||c[7]!==P||c[8]!==j||c[9]!==y?(n=!y&&j?(0,We.jsx)(I.Link,{size:P,color:C}):null,c[6]=C,c[7]=P,c[8]=j,c[9]=y,c[10]=n):n=c[10],c[11]!==w||c[12]!==M?(s=w?(0,We.jsx)(T.StatusBadge,{label:M("newWorkspace.refPicker.current"),size:"xs"}):null,c[11]=w,c[12]=M,c[13]=s):s=c[13],c[14]!==t||c[15]!==n||c[16]!==s?(l=(0,We.jsxs)(We.Fragment,{children:[t,n,s]}),c[14]=t,c[15]=n,c[16]=s,c[17]=l):l=c[17],A=l}const F=A;let R;return c[18]!==x||c[19]!==k||c[20]!==u||c[21]!==S||c[22]!==p||c[23]!==F||c[24]!==O||c[25]!==b||c[26]!==h||c[27]!==l?(R=(0,We.jsx)(D.ComboboxItem,{testID:l,label:p,description:u,selected:h,active:k,disabled:S,onPress:b,leadingSlot:O,labelAccessory:F,accessibilityLabel:x}),c[18]=x,c[19]=k,c[20]=u,c[21]=S,c[22]=p,c[23]=F,c[24]=O,c[25]=b,c[26]=h,c[27]=l,c[28]=R):R=c[28],R}function $e(o){const n=(0,s.c)(12),{optionId:c,label:l,selected:p,active:u,disabled:f,onPress:h,iconColor:k,iconSize:S}=o;let b;n[0]!==k||n[1]!==S||n[2]!==c?(b=(0,We.jsx)(t.View,{style:Tt.rowIconBox,children:"worktree"===c?(0,We.jsx)(I.GitBranch,{size:S,color:k}):(0,We.jsx)(I.Folder,{size:S,color:k})}),n[0]=k,n[1]=S,n[2]=c,n[3]=b):b=n[3];const v=b,y=`workspace-create-isolation-${c}`;let w;return n[4]!==u||n[5]!==f||n[6]!==l||n[7]!==v||n[8]!==h||n[9]!==p||n[10]!==y?(w=(0,We.jsx)(D.ComboboxItem,{testID:y,label:l,selected:p,active:u,disabled:f,onPress:h,leadingSlot:v}),n[4]=u,n[5]=f,n[6]=l,n[7]=v,n[8]=h,n[9]=p,n[10]=y,n[11]=w):w=n[11],w}function Ge(o){const n=(0,s.c)(15),{testID:c,projectViewKey:l,iconDataUri:p,label:u,description:f,selected:h,active:k,disabled:S,onPress:I}=o;let b;if(n[0]!==u){b=(0,de.projectIconPlaceholderLabelFromDisplayName)(u).charAt(0).toUpperCase()||"?",n[0]=u,n[1]=b}else b=n[1];const v=b;let y;n[2]!==p||n[3]!==v||n[4]!==l?(y=(0,We.jsx)(t.View,{style:Tt.rowIconBox,children:(0,We.jsx)(P.ProjectIconView,{iconDataUri:p,initial:v,projectViewKey:l,size:me.ICON_SIZE.md,textStyle:Tt.projectIconFallbackText})}),n[2]=p,n[3]=v,n[4]=l,n[5]=y):y=n[5];const w=y;let j;return n[6]!==k||n[7]!==f||n[8]!==S||n[9]!==u||n[10]!==w||n[11]!==I||n[12]!==h||n[13]!==c?(j=(0,We.jsx)(D.ComboboxItem,{testID:c,label:u,description:f,selected:h,active:k,disabled:S,onPress:I,leadingSlot:w}),n[6]=k,n[7]=f,n[8]=S,n[9]=u,n[10]=w,n[11]=I,n[12]=h,n[13]=c,n[14]=j):j=n[14],j}function Ze(o){const n=(0,s.c)(38),{option:c,selected:l,active:p,onPress:u,itemById:k,isPending:S}=o,{theme:I}=(0,h.useUnistyles)(),{t:b}=(0,f.useTranslation)();let v,y,w,j,x,C,P,D,T,W,O,M,A;if(n[0]!==p||n[1]!==S||n[2]!==k||n[3]!==u||n[4]!==c.id||n[5]!==l||n[6]!==b){x=Symbol.for("react.early_return_sentinel");e:{if(w=k.get(c.id),!w){let o;n[20]!==c.id?(o=(0,We.jsx)(t.View,{},c.id),n[20]=c.id,n[21]=o):o=n[21],x=o;break e}y="branch"===w.kind;const o=y?`new-workspace-ref-picker-branch-${w.name}`:`new-workspace-ref-picker-pr-${w.item.number}`,s=!y&&w.item.baseRefName?b("newWorkspace.refPicker.intoBase",{baseRef:w.item.baseRefName}):void 0;v=Qe,j=o,C=st(b,w),P=s,D=l,T=p,W=S,O=u,M=y,A=nt(w)}n[0]=p,n[1]=S,n[2]=k,n[3]=u,n[4]=c.id,n[5]=l,n[6]=b,n[7]=v,n[8]=y,n[9]=w,n[10]=j,n[11]=x,n[12]=C,n[13]=P,n[14]=D,n[15]=T,n[16]=W,n[17]=O,n[18]=M,n[19]=A}else v=n[7],y=n[8],w=n[9],j=n[10],x=n[11],C=n[12],P=n[13],D=n[14],T=n[15],W=n[16],O=n[17],M=n[18],A=n[19];if(x!==Symbol.for("react.early_return_sentinel"))return x;const F=y?w.current:void 0,R=y?w.inSync:void 0,B=y?w.accessibilityLabel:void 0;let L;return n[22]!==v||n[23]!==j||n[24]!==F||n[25]!==R||n[26]!==B||n[27]!==C||n[28]!==P||n[29]!==D||n[30]!==T||n[31]!==W||n[32]!==O||n[33]!==M||n[34]!==A||n[35]!==I.colors.foregroundMuted||n[36]!==I.iconSize.sm?(L=(0,We.jsx)(v,{testID:j,label:C,description:P,selected:D,active:T,disabled:W,onPress:O,isBranch:M,metaLabel:A,current:F,inSync:R,accessibilityLabel:B,iconColor:I.colors.foregroundMuted,iconSize:I.iconSize.sm}),n[22]=v,n[23]=j,n[24]=F,n[25]=R,n[26]=B,n[27]=C,n[28]=P,n[29]=D,n[30]=T,n[31]=W,n[32]=O,n[33]=M,n[34]=A,n[35]=I.colors.foregroundMuted,n[36]=I.iconSize.sm,n[37]=L):L=n[37],L}function Je(o){const n=(0,s.c)(31),{option:c,selected:l,active:p,onPress:u,projectByOptionId:f,projectIconDataByProjectViewKey:h,selectedServerId:k,isPending:S,supportsWorkspaceMultiplicity:I}=o;let b,v,y,w,j,x,C,P,D,T,W;if(n[0]!==p||n[1]!==S||n[2]!==c.id||n[3]!==f||n[4]!==h||n[5]!==l||n[6]!==k||n[7]!==I){T=Symbol.for("react.early_return_sentinel");e:{const o=f.get(c.id);if(!o){let o;n[18]!==c.id?(o=(0,We.jsx)(t.View,{},c.id),n[18]=c.id,n[19]=o):o=n[19],T=o;break e}const s=(0,pe.getHostProjectSourceDirectory)(o,k)??o.iconWorkingDir;b=Ge,v=`new-workspace-project-picker-option-${o.viewKey}`,y=o.viewKey,w=h.get(o.viewKey)??null,j=o.projectName,x=s,C=l,P=p,D=S||!I&&!o.hosts.some(Ye)}n[0]=p,n[1]=S,n[2]=c.id,n[3]=f,n[4]=h,n[5]=l,n[6]=k,n[7]=I,n[8]=b,n[9]=v,n[10]=y,n[11]=w,n[12]=j,n[13]=x,n[14]=C,n[15]=P,n[16]=D,n[17]=T}else b=n[8],v=n[9],y=n[10],w=n[11],j=n[12],x=n[13],C=n[14],P=n[15],D=n[16],T=n[17];return T!==Symbol.for("react.early_return_sentinel")?T:(n[20]!==b||n[21]!==u||n[22]!==v||n[23]!==y||n[24]!==w||n[25]!==j||n[26]!==x||n[27]!==C||n[28]!==P||n[29]!==D?(W=(0,We.jsx)(b,{testID:v,projectViewKey:y,iconDataUri:w,label:j,description:x,selected:C,active:P,disabled:D,onPress:u}),n[20]=b,n[21]=u,n[22]=v,n[23]=y,n[24]=w,n[25]=j,n[26]=x,n[27]=C,n[28]=P,n[29]=D,n[30]=W):W=n[30],W)}function Ye(t){return"unsupported"!==t.worktreeSupport}function Xe(t){const o=(0,s.c)(8),{onPress:n}=t,{t:c}=(0,f.useTranslation)(),l=(0,ce.useShortcutKeys)("new-agent");let p;o[0]!==l?(p=l?(0,We.jsx)(O.Shortcut,{chord:l}):null,o[0]=l,o[1]=p):p=o[1];const u=p;let h,k;return o[2]!==c?(h=c("sidebar.actions.addProject"),o[2]=c,o[3]=h):h=o[3],o[4]!==n||o[5]!==u||o[6]!==h?(k=(0,We.jsx)(D.ComboboxItem,{testID:"new-workspace-project-picker-add-project",label:h,onPress:n,leadingSlot:Me,trailingSlot:u}),o[4]=n,o[5]=u,o[6]=h,o[7]=k):k=o[7],k}function et(t){return`new-workspace-host-picker-option-${t}`}function tt(n){const c=(0,s.c)(18),{pickerAnchorRef:l,onPress:p,disabled:u,badgePressableStyle:f,isolation:h,label:k,tooltipLabel:S,iconColor:b,iconSize:v}=n;let y,w,j,x,C;return c[0]!==b||c[1]!==v||c[2]!==h?(y=(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:"worktree"===h?(0,We.jsx)(I.GitBranch,{size:v,color:b}):(0,We.jsx)(I.Folder,{size:v,color:b})}),c[0]=b,c[1]=v,c[2]=h,c[3]=y):y=c[3],c[4]!==k?(w=(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:k}),c[4]=k,c[5]=w):w=c[5],c[6]!==f||c[7]!==u||c[8]!==p||c[9]!==l||c[10]!==y||c[11]!==w?(j=(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsxs)(W.ComboboxTrigger,{chevron:Ke,ref:l,testID:"workspace-create-isolation-trigger",onPress:p,disabled:u,style:f,accessibilityRole:"button",accessibilityLabel:"Workspace isolation",children:[y,w]})}),c[6]=f,c[7]=u,c[8]=p,c[9]=l,c[10]=y,c[11]=w,c[12]=j):j=c[12],c[13]!==S?(x=(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:S})}),c[13]=S,c[14]=x):x=c[14],c[15]!==j||c[16]!==x?(C=(0,We.jsxs)(M.Tooltip,{children:[j,x]}),c[15]=j,c[16]=x,c[17]=C):C=c[17],C}function rt(o){const n=(0,s.c)(2),{children:c}=o;let l;return n[0]!==c?(l=(0,We.jsx)(t.View,{style:Tt.row,pointerEvents:"box-none",children:c}),n[0]=c,n[1]=l):l=n[1],l}function ot(t){const o=(0,s.c)(10),{project:n,supportsMultiplicity:c,worktreeSupport:l}=t,p=n?.viewKey,{preferences:f,updatePreferences:h}=(0,ie.useFormPreferences)();let k;o[0]===Symbol.for("react.memo_cache_sentinel")?(k={},o[0]=k):k=o[0];const[S,I]=(0,u.useState)(k),b=p?S[p]??f.isolationByProject?.[p]??"local":"local",v=c&&"unsupported"!==l,y="worktree"===b&&v;let w;o[1]!==p||o[2]!==h?(w=t=>{p&&(I(o=>Object.assign({},o,{[p]:t})),h(o=>Object.assign({},o,{isolationByProject:Object.assign({},o.isolationByProject,{[p]:t})})))},o[1]=p,o[2]=h,o[3]=w):w=o[3];const j=w,x=y?"worktree":"local",C=!c||v;let P;return o[4]!==v||o[5]!==b||o[6]!==j||o[7]!==x||o[8]!==C?(P={isolation:b,setIsolation:j,effectiveIsolation:x,canCreateWorktree:v,showRefPicker:C},o[4]=v,o[5]=b,o[6]=j,o[7]=x,o[8]=C,o[9]=P):P=o[9],P}function nt(t){if("branch"===t.kind)return t.detached?t.name:t.divergenceLabel}function st(t,o){return"branch"===o.kind&&o.detached?t("newWorkspace.refPicker.detachedHead"):(0,Ie.pickerItemLabel)(o)}function at(t,o){return t("worktree"===o?"newWorkspace.isolation.worktree":"newWorkspace.isolation.local")}function it(t){const o=t.supportsMultiplicity&&"local"===t.effectiveIsolation;return o?{isLocalCheckout:o,refSelection:"github-pr"===t.selectedItem?.kind?null:t.selectedItem,defaultRefPickerItem:Ie.currentBranchPickerItem,prSearchEnabled:!1}:{isLocalCheckout:o,refSelection:t.selectedItem,defaultRefPickerItem:Ie.defaultBasePickerItem,prSearchEnabled:t.pickerQueryEnabled}}function ct(t){const o=t?.branchDetails;if(o&&o.length>0)return o;return(t?.branches??[]).map(t=>({name:t,committerDate:0}))}async function lt(t){const o=(0,pe.getHostProjectId)(t.project,t.serverId);if(!o)throw new Error("Project is not available on the selected host");const n="worktree"===t.isolation,s=Re({prompt:t.prompt,attachments:t.attachments}),c=await t.client.createWorkspace(Object.assign({idempotencyKey:t.idempotencyKey,agent:t.agent,onEvent:t.onEvent,source:n?Object.assign({kind:"worktree",cwd:t.sourceDirectory,projectId:o,worktreeSlug:t.worktreeSlug},t.checkoutRequest):{kind:"directory",path:t.sourceDirectory,projectId:o}},s?{firstAgentContext:s}:{}));if(c.error||!c.workspace)throw new Error(c.error??t.createFailedMessage);const l=(0,Y.normalizeWorkspaceDescriptor)(c.workspace),p=t.withInitialAgent?Object.assign({},l,{status:"running",statusEnteredAt:new Date}):l;return t.mergeWorkspaces(t.serverId,[p]),{workspace:l,agent:c.agent}}function dt(t){return{provider:t.provider,cwd:t.cwd,modeId:t.composerState.selectedMode||null,model:t.composerState.effectiveModelId||null,thinkingOptionId:t.composerState.effectiveThinkingOptionId||null,featureValues:t.composerState.featureValues??{}}}function pt(t){if(t.forkDraftSetup)return dt({cwd:(0,Se.remapDraftCwdToWorkspace)({cwd:t.forkDraftSetup.setup.cwd,sourceDirectory:t.forkDraftSetup.sourceDirectory,workspaceDirectory:t.workspaceDirectory}),provider:t.provider,composerState:t.composerState})}function ut(t){if(t.initialSetup)return{provider:t.initialSetup.provider,modeId:t.initialSetup.modeId,model:t.initialSetup.model,thinkingOptionId:t.initialSetup.thinkingOptionId}}const mt={navigateToWorkspace:Z.navigateToWorkspace,prepareWorkspaceTab:J.prepareWorkspaceTab,getActiveWorkspaceSelection:Z.getForegroundWorkspaceSelection};function ft(t){const o=(0,s.c)(14),{serverId:n,project:c,supportsWorkspaceMultiplicity:l,effectiveIsolation:p,worktreeSlug:u}=t,{t:h}=(0,f.useTranslation)(),k=(0,G.useHostFeature)(n,"creationLifecycle"),S=!l||"worktree"===p;let I;o[0]!==c||o[1]!==n?(I=c?(0,pe.getHostProjectId)(c,n):null,o[0]=c,o[1]=n,o[2]=I):I=o[2];const b=I;let v;o[3]!==h?(v=h("newWorkspace.errors.createWorktreeFailed"),o[3]=h,o[4]=v):v=o[4];const y=v;let w;o[5]!==S||o[6]!==y||o[7]!==b||o[8]!==k||o[9]!==u?(w=(0,Te.resolveWorktreeCreationContext)({createsWorktree:S,supportsCreationLifecycle:k,projectId:b,title:u,fallbackError:y,ports:mt}),o[5]=S,o[6]=y,o[7]=b,o[8]=k,o[9]=u,o[10]=w):w=o[10];const j=w;let x;return o[11]!==S||o[12]!==j?(x={createsWorktree:S,worktreeCreation:j},o[11]=S,o[12]=j,o[13]=x):x=o[13],x}const gt=new Map;function ht(t){const o=JSON.stringify([t.serverId,t.draftId]),n=gt.get(o);if(n)return n;const s=Promise.resolve().then(()=>kt(t));return gt.set(o,s),s.finally(()=>gt.delete(o)).catch(()=>{}),s}async function kt(t){const{payload:o,composerState:n,ensureWorkspace:s,serverId:l,clearDraft:u}=t,f=(0,Pe.captureWorkspaceDraftCleanup)(t),{text:h,attachments:k,cwd:S}=o;if(!n)throw new Error(t.labels.composerStateRequired);const I=n.selectedProvider;if(!I)throw new Error(t.labels.selectModel);const b=(0,j.resolveComposerAttachmentSubmitFormat)({supportsForgeAttachments:t.supportsForgeSearch}),v=(0,j.splitComposerAttachmentsForSubmit)(k,{format:b}),y=(0,Se.getWorkspaceNamingAttachments)(v.attachments),w=await(0,c.encodeImages)(v.images),x=t.worktreeCreation&&(0,Te.createWorktreeCreationTracker)(Object.assign({},t.worktreeCreation,{serverId:l,promptPreview:h.trim(),isStillOnCreateScreen:t.isStillOnCreateScreen,clearConsumedDraft:f,imageAttachmentIds:v.images.map(t=>t.id)})),C=x?x.clearDraft:f;let P=!1,D="background";const T=({workspaceId:t,target:o})=>x?x.openWorkspace({workspaceId:t,target:o})?"navigated":"background":((0,Z.navigateToWorkspace)({serverId:l,workspaceId:t,target:o}),"navigated"),W={config:{provider:I,cwd:S,modeId:n.selectedMode||void 0,model:n.effectiveModelId||void 0,thinkingOptionId:n.effectiveThinkingOptionId||void 0,featureValues:n.featureValues},initialPrompt:h,clientMessageId:`${t.draftId}:initial-message`,images:w?.length?w:void 0,attachments:v.attachments?.length?v.attachments:void 0},O=async(o=W)=>{const c=s({cwd:S,prompt:h,attachments:y,withInitialAgent:!0,agent:o,onEvent:o=>{if(x?.observe(o),!o.workspace||P)return;if(P=!0,!x&&!t.isStillOnCreateScreen())return;const s=(0,Y.normalizeWorkspaceDescriptor)(o.workspace);(0,p.getHostRuntimeStore)().acceptWorkspaceSnapshots(l,[Object.assign({},s,{status:"running"})]);const c=pt({forkDraftSetup:t.forkDraftSetup,workspaceDirectory:s.workspaceDirectory,provider:I,composerState:n});D=vt({clearConsumedDraft:f,draftKey:t.draftKey,draftContextScopeKey:t.draftContextScopeKey,resolveClient:t.resolveClient,isStillOnCreateScreen:t.isStillOnCreateScreen,openWorkspace:T,serverId:l,clearDraft:x?x.clearDraft:u,draftId:t.draftId,initialSetup:c,workspaceId:s.id,workspaceDirectory:s.workspaceDirectory,text:h,attachments:k,provider:I,composerState:n,supportsForgeSearch:t.supportsForgeSearch,agentCreation:M})}}),{agent:b}=await(x?x.track(c):c);if(!b)throw new Error("Workspace creation returned no agent");return b},M={result:Promise.resolve().then(()=>O()),retry:t=>O(Object.assign({},W,{config:Object.assign({},t.config,{cwd:S}),initialPrompt:t.initialPrompt??"",clientMessageId:W.clientMessageId,images:t.images,attachments:t.attachments}))},A=await M.result,F=se.useWorkspaceDraftSubmissionStore.getState(),R=F.pendingByDraftId[t.draftId];if(R?.serverId===l){F.consumePending(R);const o=(0,ne.buildWorkspaceTabPersistenceKey)(R),n=oe.useWorkspaceLayoutStore.getState();if(o){const s=n.getWorkspaceTabs(o).find(o=>"draft"===o.target.kind&&o.target.draftId===t.draftId);s&&n.replaceTab(o,s.tabId,{kind:"agent",agentId:A.id})}const s=re.useCreateFlowStore.getState();s.updateAgentId({draftId:t.draftId,agentId:A.id}),s.markLifecycle({draftId:t.draftId,lifecycle:"sent"}),F.clearDraftSetup({draftId:t.draftId})}return"background"===D&&C(),D}function St(t){const{serverId:o,workspaceDirectory:n,sourceDirectory:s,initialSetup:c}=t,l=n||s||void 0;return{initialServerId:o||null,initialValues:ut({initialSetup:c}),initialFeatureValues:c?.featureValues,isVisible:!0,lockedWorkingDir:l}}function It(t){const o=(0,s.c)(4);let n;o[0]!==t?(n=t?.trim()??"",o[0]=t,o[1]=n):n=o[1];const c=n;let l;return o[2]!==c?(l=t=>c?t.setupByDraftId[c]??null:null,o[2]=c,o[3]=l):l=o[3],(0,se.useWorkspaceDraftSubmissionStore)(l)}function bt(t){const{draftId:o,workspaceDirectory:n,provider:s,composerState:c,initialSetup:l}=t;return l?{cwd:l.cwd,provider:l.provider,modeId:l.modeId,model:l.model,thinkingOptionId:l.thinkingOptionId,featureValues:l.featureValues,target:{kind:"draft",draftId:o,setup:l}}:{cwd:n,provider:s,modeId:c.selectedMode||null,model:c.effectiveModelId||null,thinkingOptionId:c.effectiveThinkingOptionId||null,featureValues:c.featureValues,target:{kind:"draft",draftId:o}}}function vt(t){const{serverId:o,clearDraft:n,draftId:s,workspaceId:c,workspaceDirectory:l,text:p,attachments:u,provider:f,composerState:h,initialSetup:k}=t,S=s?.trim()||(0,ee.generateDraftId)(),I=`${S}:initial-message`,b=Date.now(),v=(0,j.splitComposerAttachmentsForSubmit)(u,{format:(0,j.resolveComposerAttachmentSubmitFormat)({supportsForgeAttachments:t.supportsForgeSearch})}),y=bt({draftId:S,workspaceDirectory:l,provider:f,composerState:h,initialSetup:k});return re.useCreateFlowStore.getState().trySetPending(Object.assign({serverId:o,draftId:S,workspaceId:c,agentId:null,clientMessageId:I,text:p.trim(),timestamp:b},v.images.length>0?{images:v.images}:{},v.attachments.length>0?{attachments:v.attachments}:{}))?(se.useWorkspaceDraftSubmissionStore.getState().setPending(Object.assign({serverId:o,workspaceId:c,draftId:S,text:p.trim(),attachments:u,cwd:y.cwd,provider:y.provider,clientMessageId:I,timestamp:b},y.modeId?{modeId:y.modeId}:{},y.model?{model:y.model}:{},y.thinkingOptionId?{thinkingOptionId:y.thinkingOptionId}:{},y.featureValues?{featureValues:y.featureValues}:{},{allowEmptyText:!0,agentCreation:t.agentCreation})),n("sent"),t.openWorkspace({workspaceId:c,target:y.target})):"navigated"}function yt(t){const o=(0,s.c)(41);let n;o[0]!==t.initialServerId?(n=t.initialServerId.trim(),o[0]=t.initialServerId,o[1]=n):n=o[1];const c=n;let l;o[2]!==t.allServerIds||o[3]!==t.hostConnectionStatusByServerId||o[4]!==t.initialServerId||o[5]!==t.lastActiveProject||o[6]!==t.projects||o[7]!==t.workspaceMultiplicityByServerId?(l=(0,ve.resolveNewWorkspaceInitialServerId)({allServerIds:t.allServerIds,routeServerId:t.initialServerId,lastActiveProject:t.lastActiveProject,projects:t.projects,hostConnectionStatusByServerId:t.hostConnectionStatusByServerId,workspaceMultiplicityByServerId:t.workspaceMultiplicityByServerId}),o[2]=t.allServerIds,o[3]=t.hostConnectionStatusByServerId,o[4]=t.initialServerId,o[5]=t.lastActiveProject,o[6]=t.projects,o[7]=t.workspaceMultiplicityByServerId,o[8]=l):l=o[8];const p=l;let f;o[9]!==p||o[10]!==c?(f=()=>({routeServerId:c,serverId:p}),o[9]=p,o[10]=c,o[11]=f):f=o[11];const[h,k]=(0,u.useState)(f),[S,I]=(0,u.useState)(null),[b,v]=(0,u.useState)(!1);let y,w,j;o[12]!==p||o[13]!==t.allServerIds||o[14]!==t.hostConnectionStatusByServerId||o[15]!==t.initialServerId||o[16]!==t.lastActiveProject||o[17]!==t.projects||o[18]!==t.workspaceMultiplicityByServerId||o[19]!==c?(y=()=>{k(o=>{const n=o.routeServerId===c?(0,ve.resolveNewWorkspaceAutomaticServerId)({allServerIds:t.allServerIds,routeServerId:t.initialServerId,lastActiveProject:t.lastActiveProject,projects:t.projects,hostConnectionStatusByServerId:t.hostConnectionStatusByServerId,workspaceMultiplicityByServerId:t.workspaceMultiplicityByServerId,currentServerId:o.serverId,nextServerId:p}):p;return o.routeServerId===c&&o.serverId===n?o:{routeServerId:c,serverId:n}})},w=[p,t.allServerIds,t.hostConnectionStatusByServerId,t.initialServerId,t.lastActiveProject,t.projects,t.workspaceMultiplicityByServerId,c],o[12]=p,o[13]=t.allServerIds,o[14]=t.hostConnectionStatusByServerId,o[15]=t.initialServerId,o[16]=t.lastActiveProject,o[17]=t.projects,o[18]=t.workspaceMultiplicityByServerId,o[19]=c,o[20]=y,o[21]=w):(y=o[20],w=o[21]),(0,u.useEffect)(y,w),o[22]!==h.routeServerId||o[23]!==h.serverId||o[24]!==p||o[25]!==t.allServerIds||o[26]!==c?(j=h.routeServerId===c&&t.allServerIds.includes(h.serverId)?h.serverId:p,o[22]=h.routeServerId,o[23]=h.serverId,o[24]=p,o[25]=t.allServerIds,o[26]=c,o[27]=j):j=o[27];const x=j;let C;o[28]!==x||o[29]!==t.allServerIds||o[30]!==S||o[31]!==c?(C=S?.routeServerId===c&&t.allServerIds.includes(S.serverId)?S.serverId:x,o[28]=x,o[29]=t.allServerIds,o[30]=S,o[31]=c,o[32]=C):C=o[32];const P=C;let D;o[33]!==c?(D=t=>{I({routeServerId:c,serverId:t}),v(!1)},o[33]=c,o[34]=D):D=o[34];const T=D;let W;o[35]===Symbol.for("react.memo_cache_sentinel")?(W=t=>{v(t)},o[35]=W):W=o[35];const O=W;let M;o[36]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{v(!0)},o[36]=M):M=o[36];const A=M;let F;return o[37]!==T||o[38]!==b||o[39]!==P?(F={selectedServerId:P,hostPickerOpen:b,handleSelectHost:T,handleHostPickerOpenChange:O,openHostPicker:A},o[37]=T,o[38]=b,o[39]=P,o[40]=F):F=o[40],F}function wt(t){const o=(0,s.c)(37),{serverId:n,sourceDirectory:c,projectId:l,displayName:u}=t,f=(0,p.useHosts)();let h;o[0]!==f?(h=f.map(jt),o[0]=f,o[1]=h):h=o[1];const k=h,S=(0,pe.useHostProjects)(k);let I;o[2]!==u?(I=u?.trim()??"",o[2]=u,o[3]=I):I=o[3];const b=I;let v;o[4]!==l||o[5]!==b||o[6]!==n||o[7]!==c?(v=(0,pe.hostProjectFromRoute)({serverId:n,projectId:l,displayName:b,sourceDirectory:c}),o[4]=l,o[5]=b,o[6]=n,o[7]=c,o[8]=v):v=o[8];const y=v;let w;e:{if(!y){w=null;break e}let t;o[9]!==S||o[10]!==y||o[11]!==n?(t=(0,pe.resolveHostProjectCandidate)({candidate:y,projects:S,serverId:n})??y,o[9]=S,o[10]=y,o[11]=n,o[12]=t):t=o[12],w=t}const j=w,x=(0,Z.useLastWorkspaceSelection)();let C;o[13]!==k||o[14]!==x?(C=x&&k.includes(x.serverId)?x.serverId:null,o[13]=k,o[14]=x,o[15]=C):C=o[15];const P=C,D=P?x.workspaceId:null,T=(0,X.useWorkspace)(P,D);let W;o[16]!==T||o[17]!==P?(W=P?(0,pe.hostProjectFromWorkspace)({serverId:P,workspace:T}):null,o[16]=T,o[17]=P,o[18]=W):W=o[18];const O=W,M=(0,p.useHostRuntimeConnectionStatuses)(k),A=(0,G.useHostFeatureMap)(k,"workspaceMultiplicity");let F;o[19]!==k||o[20]!==M||o[21]!==O||o[22]!==S||o[23]!==n||o[24]!==A?(F={initialServerId:n,allServerIds:k,projects:S,lastActiveProject:O,hostConnectionStatusByServerId:M,workspaceMultiplicityByServerId:A},o[19]=k,o[20]=M,o[21]=O,o[22]=S,o[23]=n,o[24]=A,o[25]=F):F=o[25];const{selectedServerId:R,hostPickerOpen:B,handleSelectHost:L,handleHostPickerOpenChange:_,openHostPicker:V}=yt(F),z=y?.viewKey??null;let H;return o[26]!==f||o[27]!==_||o[28]!==L||o[29]!==B||o[30]!==O||o[31]!==V||o[32]!==S||o[33]!==j||o[34]!==R||o[35]!==z?(H={allHosts:f,selectedServerId:R,hostPickerOpen:B,handleSelectHost:L,handleHostPickerOpenChange:_,openHostPicker:V,projects:S,routeProject:j,routeProjectContextViewKey:z,lastActiveProject:O},o[26]=f,o[27]=_,o[28]=L,o[29]=B,o[30]=O,o[31]=V,o[32]=S,o[33]=j,o[34]=R,o[35]=z,o[36]=H):H=o[36],H}function jt(t){return t.serverId}function xt(s){const{theme:c}=(0,h.useUnistyles)(),{t:l}=(0,f.useTranslation)(),{isCompact:p,isPending:k,project:S,host:I,isolation:b,base:v,launch:y}=s,w=I.allHosts.find(t=>t.serverId===I.selectedServerId)?.label??"Host",j=I.allHosts.length>1,P=at(l,b.effectiveIsolation),T=(0,u.useMemo)(()=>(0,We.jsx)(Xe,{onPress:S.onAddProject}),[S.onAddProject]),W=(0,u.useCallback)(({pressed:t,hovered:o})=>[Tt.badge,Boolean(o)&&!k&&Tt.badgeHovered,t&&!k&&Tt.badgePressed,k&&Tt.badgeDisabled],[k]),O=p?void 0:Tt.desktopControl,A=(0,We.jsxs)(t.View,{style:O,children:[(0,We.jsx)(Ue,{pickerAnchorRef:S.anchorRef,onPress:S.open,disabled:k,badgePressableStyle:W,label:S.triggerLabel,tooltipLabel:l("newWorkspace.tooltips.project"),projectViewKey:S.selectedProject?.viewKey??null,iconDataUri:S.selectedProject?S.iconDataByProjectViewKey.get(S.selectedProject.viewKey)??null:null,iconColor:c.colors.foregroundMuted,iconSize:c.iconSize.sm}),(0,We.jsx)(D.Combobox,{options:S.options,value:S.selectedOptionId,onSelect:S.onSelect,searchable:!0,searchPlaceholder:"Search projects",title:"Project",open:S.openState,onOpenChange:S.onOpenChange,desktopPlacement:"bottom-start",desktopMinWidth:360,anchorRef:S.anchorRef,emptyText:"No projects available.",renderOption:S.renderOption,footer:T})]}),F=j?(0,We.jsx)(t.View,{style:O,children:(0,We.jsx)(C.HostPicker,{hosts:I.allHosts,value:I.selectedServerId,onSelect:I.onSelect,open:I.openState,onOpenChange:I.onOpenChange,anchorRef:I.anchorRef,searchable:!1,title:"Host",desktopPlacement:"bottom-start",desktopMinWidth:200,hostOptionTestID:et,children:(0,We.jsxs)(M.Tooltip,{children:[(0,We.jsx)(M.TooltipTrigger,{asChild:!0,triggerRefProp:"ref",children:(0,We.jsxs)(n.Pressable,{ref:I.anchorRef,accessibilityRole:"button",accessibilityLabel:"Host",onPress:I.open,disabled:k||0===I.allHosts.length,style:W,testID:"host-picker-trigger",children:[(0,We.jsx)(t.View,{style:Tt.badgeIconBox,children:(0,We.jsx)(x.HostStatusDot,{serverId:I.selectedServerId})}),(0,We.jsx)(o.Text,{style:Tt.badgeText,numberOfLines:1,children:w}),Ke]})}),(0,We.jsx)(M.TooltipContent,{side:"top",align:"center",offset:8,children:(0,We.jsx)(o.Text,{style:Tt.tooltipText,children:l("newWorkspace.tooltips.host")})})]})})}):null,R=b.canCreateWorktree?(0,We.jsxs)(t.View,{style:O,children:[(0,We.jsx)(tt,{pickerAnchorRef:b.anchorRef,onPress:b.open,disabled:k,badgePressableStyle:W,isolation:b.effectiveIsolation,label:P,tooltipLabel:l("newWorkspace.tooltips.isolation"),iconColor:c.colors.foregroundMuted,iconSize:c.iconSize.sm}),(0,We.jsx)(D.Combobox,{options:b.options,value:b.effectiveIsolation,onSelect:b.onSelect,title:l("newWorkspace.isolation.label"),open:b.openState,onOpenChange:b.onOpenChange,desktopPlacement:"bottom-start",anchorRef:b.anchorRef,renderOption:b.renderOption})]}):null,B=v.showRefPicker?(0,We.jsxs)(t.View,{style:O,children:[(0,We.jsx)(qe,{pickerAnchorRef:v.anchorRef,onPress:v.open,disabled:k||!v.selectedSourceDirectory,badgePressableStyle:W,selectedItem:v.selectedItem,triggerLabel:v.triggerLabel,accessibilityLabel:l("newWorkspace.refPicker.startingRef"),tooltipLabel:l("newWorkspace.tooltips.startingRef"),iconColor:c.colors.foregroundMuted,iconSize:c.iconSize.sm}),(0,We.jsx)(D.Combobox,{options:v.options,value:v.selectedOptionId,onSelect:v.onSelect,searchable:!0,searchPlaceholder:l("newWorkspace.refPicker.searchPlaceholder"),title:l("newWorkspace.refPicker.title"),open:v.openState,onOpenChange:v.onOpenChange,onSearchQueryChange:v.setSearchQuery,desktopPlacement:"bottom-start",anchorRef:v.anchorRef,emptyText:v.emptyText,renderOption:v.renderOption})]}):null,L=(0,We.jsx)(q.LaunchControl,{serverId:y.serverId,target:y.target,onChange:y.onChange,profiles:y.profiles,disabled:y.disabled,badgePressableStyle:W});return p?(0,We.jsxs)(t.View,{testID:"new-workspace-ref-picker-row",style:Tt.formStack,pointerEvents:"box-none",children:[F?(0,We.jsx)(rt,{children:F}):null,(0,We.jsx)(rt,{children:A}),R?(0,We.jsx)(rt,{children:R}):null,B?(0,We.jsx)(rt,{children:B}):null,(0,We.jsx)(rt,{children:L}),R?null:(0,We.jsx)(t.View,{style:Tt.baseSpacer,pointerEvents:"none"}),B?null:(0,We.jsx)(t.View,{style:Tt.baseSpacer,pointerEvents:"none"})]}):(0,We.jsxs)(t.View,{testID:"new-workspace-ref-picker-row",style:Tt.formStackDesktop,pointerEvents:"box-none",children:[F,A,R,B,(0,We.jsx)(t.View,{style:Tt.launchSpacer,pointerEvents:"none"}),L]})}function Ct(t){const o=(0,s.c)(6),{serverId:n,forkDraftSetup:c,attachmentScopeKey:l}=t,p=c?.nativeFork?.sourceAgentId;let u;o[0]!==l?(u=t=>t.attachmentsByScope[l]?.find(Pt)?.source.agentId,o[0]=l,o[1]=u):u=o[1];const f=(0,fe.useWorkspaceAttachmentsStore)(u),h=p??f;if(!h)return null;const k=p?he.AgentForkMode.Full:he.AgentForkMode.Summary;let S;return o[2]!==n||o[3]!==h||o[4]!==k?(S=(0,We.jsx)(ge.ForkMarker,{serverId:n,sourceAgentId:h,mode:k}),o[2]=n,o[3]=h,o[4]=k,o[5]=S):S=o[5],S}function Pt(t){return"chat_history"===t.kind}function Dt(n){const c=(0,s.c)(19),{isCompact:l,title:p,formStack:u,onImportSession:f,children:h}=n;let k;c[0]!==l||c[1]!==f?(k=(0,We.jsx)(je.ImportSessionButton,{compact:l,onPress:f}),c[0]=l,c[1]=f,c[2]=k):k=c[2];const S=k;let I,b,y;c[3]!==S||c[4]!==l?(I=l?(0,We.jsx)(t.View,{style:Tt.compactTopActions,children:S}):null,c[3]=S,c[4]=l,c[5]=I):I=c[5],c[6]!==p?(b=(0,We.jsx)(t.View,{style:Tt.composerTitleContainer,pointerEvents:"none",children:(0,We.jsx)(o.Text,{style:Tt.composerTitle,children:p})}),c[6]=p,c[7]=b):b=c[7],c[8]!==u||c[9]!==I||c[10]!==b?(y=(0,We.jsxs)(We.Fragment,{children:[I,b,u]}),c[8]=u,c[9]=I,c[10]=b,c[11]=y):y=c[11];const w=y,j=!l,x=l?null:S;let C,P;return c[12]!==h||c[13]!==x?(C=(0,We.jsxs)(We.Fragment,{children:[h,x]}),c[12]=h,c[13]=x,c[14]=C):C=c[14],c[15]!==w||c[16]!==j||c[17]!==C?(P=(0,We.jsxs)(v.ComposerDock,{centered:j,children:[w,C]}),c[15]=w,c[16]=j,c[17]=C,c[18]=P):P=c[18],P}const Tt=h.StyleSheet.create(t=>({container:{flex:1,backgroundColor:t.colors.surface0,userSelect:"none",uni__dependencies:[0]},content:{position:"relative",flex:1},compactTopActions:{flex:1,paddingHorizontal:t.spacing[3],uni__dependencies:[0]},composerTitleContainer:{marginBottom:t.spacing[8],paddingLeft:t.spacing[6],paddingRight:t.spacing[4],uni__dependencies:[0]},composerTitle:{fontSize:t.fontSize["2xl"],fontWeight:t.fontWeight.normal,color:t.colors.foreground,uni__dependencies:[0]},errorText:{fontSize:t.fontSize.base,color:t.colors.destructive,lineHeight:20,uni__dependencies:[0]},formStack:{marginBottom:t.spacing[8],gap:t.spacing[2],uni__dependencies:[0]},formStackDesktop:{flexDirection:"row",alignItems:"center",marginBottom:t.spacing[4],paddingLeft:t.spacing[4],paddingRight:t.spacing[4],gap:t.spacing[2],uni__dependencies:[0]},desktopControl:{minWidth:0,flexShrink:1},row:{flexDirection:"row",alignItems:"center",paddingLeft:t.spacing[4],gap:t.spacing[1],uni__dependencies:[0]},baseSpacer:{height:28},launchSpacer:{flex:1},badge:{flexDirection:"row",alignItems:"center",height:28,maxWidth:240,overflow:"hidden",paddingHorizontal:t.spacing[2],borderRadius:t.borderRadius["2xl"],gap:t.spacing[1],uni__dependencies:[0]},badgeHovered:{backgroundColor:t.colors.surface2,uni__dependencies:[0]},badgePressed:{backgroundColor:t.colors.surface0,uni__dependencies:[0]},badgeDisabled:{opacity:.6},badgeText:{minWidth:0,fontSize:t.fontSize.base,color:t.colors.foregroundMuted,flexShrink:1,uni__dependencies:[0]},tooltipText:{fontSize:t.fontSize.base,color:t.colors.popoverForeground,uni__dependencies:[0]},refMetaLabel:{fontSize:t.fontSize.sm,color:t.colors.foregroundMuted,fontVariant:["tabular-nums"],uni__dependencies:[0]},chevronContainer:{flexShrink:0,transform:[{translateY:1}]},badgeIconBox:{width:t.iconSize.md,height:t.iconSize.md,alignItems:"center",justifyContent:"center",flexShrink:0,uni__dependencies:[0]},projectIconFallbackText:{fontSize:10,fontWeight:"600"},rowIconBox:{width:t.iconSize.md,height:t.iconSize.md,alignItems:"center",justifyContent:"center",uni__dependencies:[0]},hostStatusDot:{width:8,height:8,borderRadius:4}}))},5018,[896,897,898,454,3601,4774,3529,37,854,426,235,147,57,3549,800,1218,4341,4114,4439,4336,3591,3840,3839,4135,3812,4099,4356,3731,3711,4111,4112,4113,1217,894,4545,3620,4469,3868,3869,4372,4824,5019,5020,5021,5022,3455,3671,5015,3459,3800,3553,3808,3621,3572,3554,4527,4389,4376,4143,3586,3667,3835,4138,306,3622,4528,3000,5023,5024,5025,5026,5027,5028,5029,5031,3810,4796,5032,5033,5034,280]);
|
|
16778
16778
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.LaunchControl=function(u){const h=(0,t.c)(84),{serverId:f,target:S,onChange:T,profiles:k,disabled:y,badgePressableStyle:E}=u,N=void 0!==y&&y,{t:O}=(0,l.useTranslation)(),W=(0,c.useRouter)(),[v,R]=(0,s.useState)(!1);let A;h[0]!==k||h[1]!==S?(A=(0,j.resolveLaunchProfile)(S,k),h[0]=k,h[1]=S,h[2]=A):A=h[2];const Z=A;let B;h[3]!==O||h[4]!==S.kind?(B="chat"===S.kind?O("newWorkspace.launch.chat"):O("newWorkspace.launch.terminal"),h[3]=O,h[4]=S.kind,h[5]=B):B=h[5];const F=B;let U;h[6]!==T?(U=()=>T(j.CHAT_LAUNCH_TARGET),h[6]=T,h[7]=U):U=h[7];const H=U;let K;h[8]!==T?(K=()=>T((0,j.terminalLaunchTarget)(j.BLANK_TERMINAL_PROFILE_ID)),h[8]=T,h[9]=K):K=h[9];const V=K;let q;h[10]!==T?(q=n=>T((0,j.terminalLaunchTarget)(n)),h[10]=T,h[11]=q):q=h[11];const G=q;let $;h[12]!==W||h[13]!==f?($=()=>{W.push((0,_.buildSettingsHostSectionRoute)(f,"terminals"))},h[12]=W,h[13]=f,h[14]=$):$=h[14];const J=$,Q=!v;let X,Y,ee,ne,oe,te,ie,se,le,re;h[15]!==O?(X=O("newWorkspace.tooltips.launch"),h[15]=O,h[16]=X):X=h[16];h[17]!==Z||h[18]!==S?(Y=(0,I.jsx)(n.View,{style:L.iconBox,children:(0,I.jsx)(P,{target:S,profile:Z})}),h[17]=Z,h[18]=S,h[19]=Y):Y=h[19];h[20]!==Z?(ee=Z?(0,I.jsxs)(o.Text,{style:L.profileName,children:[" ",Z.name]}):null,h[20]=Z,h[21]=ee):ee=h[21];h[22]!==ee||h[23]!==F?(ne=(0,I.jsxs)(o.Text,{style:L.label,numberOfLines:1,children:[F,ee]}),h[22]=ee,h[23]=F,h[24]=ne):ne=h[24];h[25]===Symbol.for("react.memo_cache_sentinel")?(oe=(0,I.jsx)(b,{size:w.ICON_SIZE.sm,uniProps:D}),h[25]=oe):oe=h[25];h[26]!==E||h[27]!==N||h[28]!==Y||h[29]!==ne||h[30]!==X?(te=(0,I.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,I.jsx)(n.View,{children:(0,I.jsxs)(p.DropdownMenuTrigger,{testID:"new-workspace-launch-trigger",disabled:N,style:E,accessibilityRole:"button",accessibilityLabel:X,children:[Y,ne,oe]})})}),h[26]=E,h[27]=N,h[28]=Y,h[29]=ne,h[30]=X,h[31]=te):te=h[31];h[32]!==O?(ie=O("newWorkspace.tooltips.launch"),h[32]=O,h[33]=ie):ie=h[33];h[34]!==ie?(se=(0,I.jsx)(x.TooltipContent,{side:"top",align:"center",offset:8,children:(0,I.jsx)(o.Text,{style:L.tooltipText,children:ie})}),h[34]=ie,h[35]=se):se=h[35];h[36]!==te||h[37]!==se||h[38]!==Q?(le=(0,I.jsxs)(x.Tooltip,{delayDuration:300,enabledOnDesktop:Q,children:[te,se]}),h[36]=te,h[37]=se,h[38]=Q,h[39]=le):le=h[39];h[40]!==O?(re=O("newWorkspace.launch.title"),h[40]=O,h[41]=re):re=h[41];const ce="chat"===S.kind;let ae,de,ue,he,pe,me,fe,xe,we,Se,ge,_e,je;h[42]!==O?(ae=O("newWorkspace.launch.chat"),h[42]=O,h[43]=ae):ae=h[43];h[44]!==H||h[45]!==ce||h[46]!==ae?(de=(0,I.jsx)(p.DropdownMenuItem,{testID:"new-workspace-launch-option-chat",onSelect:H,selected:ce,leading:M,children:ae}),h[44]=H,h[45]=ce,h[46]=ae,h[47]=de):de=h[47];h[48]!==O?(ue=O("newWorkspace.launch.terminal"),h[48]=O,h[49]=ue):ue=h[49];h[50]!==ue?(he=(0,I.jsx)(p.DropdownMenuLabel,{children:ue}),h[50]=ue,h[51]=he):he=h[51];h[52]!==S?(pe=(0,j.isBlankTerminalTarget)(S),h[52]=S,h[53]=pe):pe=h[53];h[54]!==O?(me=O("newWorkspace.launch.terminal"),h[54]=O,h[55]=me):me=h[55];h[56]!==V||h[57]!==pe||h[58]!==me?(fe=(0,I.jsx)(p.DropdownMenuItem,{testID:"new-workspace-launch-option-blank",onSelect:V,selected:pe,leading:C,children:me}),h[56]=V,h[57]=pe,h[58]=me,h[59]=fe):fe=h[59];if(h[60]!==k||h[61]!==G||h[62]!==Z?.id){let n;h[64]!==G||h[65]!==Z?.id?(n=n=>(0,I.jsx)(z,{profile:n,selected:Z?.id===n.id,onSelect:G},n.id),h[64]=G,h[65]=Z?.id,h[66]=n):n=h[66],xe=k.map(n),h[60]=k,h[61]=G,h[62]=Z?.id,h[63]=xe}else xe=h[63];h[67]===Symbol.for("react.memo_cache_sentinel")?(we=(0,I.jsx)(p.DropdownMenuSeparator,{}),h[67]=we):we=h[67];h[68]!==O?(Se=O("newWorkspace.launch.manageProfiles"),h[68]=O,h[69]=Se):Se=h[69];h[70]!==J||h[71]!==Se?(ge=(0,I.jsx)(p.DropdownMenuItem,{testID:"new-workspace-launch-manage-profiles",onSelect:J,muted:!0,children:Se}),h[70]=J,h[71]=Se,h[72]=ge):ge=h[72];h[73]!==re||h[74]!==de||h[75]!==he||h[76]!==fe||h[77]!==xe||h[78]!==ge?(_e=(0,I.jsxs)(p.DropdownMenuContent,{align:"end",offset:8,width:260,sheetTitle:re,testID:"new-workspace-launch-menu",children:[de,he,fe,xe,we,ge]}),h[73]=re,h[74]=de,h[75]=he,h[76]=fe,h[77]=xe,h[78]=ge,h[79]=_e):_e=h[79];h[80]!==v||h[81]!==le||h[82]!==_e?(je=(0,I.jsxs)(p.DropdownMenu,{open:v,onOpenChange:R,compactMode:"sheet",children:[le,_e]}),h[80]=v,h[81]=le,h[82]=_e,h[83]=je):je=h[83];return je};var n=r(d[0]),o=r(d[1]),t=r(d[2]),s=r(d[3]);r(d[4]),r(d[5]);var l=r(d[6]),c=r(d[7]),u=r(d[8]),h=r(d[9]),p=r(d[10]),f=r(d[11]),x=r(d[12]),w=r(d[13]),S=r(d[14]),_=r(d[15]),j=r(d[16]),I=r(d[17]);const T=(0,h.withUnistyles)(u.MessageCircle),k=(0,h.withUnistyles)(u.SquareTerminal),b=(0,h.withUnistyles)(u.ChevronDown),y=n=>({color:n.colors.foregroundMuted}),D=n=>({color:n.colors.foregroundExtraMuted}),M=(0,I.jsx)(T,{size:w.ICON_SIZE.sm,uniProps:y}),C=(0,I.jsx)(k,{size:w.ICON_SIZE.sm,uniProps:y});function z(n){const s=(0,t.c)(18),{profile:l,selected:c,onSelect:u}=n;let h;s[0]!==u||s[1]!==l.id?(h=()=>u(l.id),s[0]=u,s[1]=l.id,s[2]=h):h=s[2];const x=h;let w,_;s[3]!==l?(w=(0,S.getTerminalProfileIcon)(l),s[3]=l,s[4]=w):w=s[4],s[5]!==w?(_=(0,I.jsx)(f.TerminalProfileIcon,{iconKey:w}),s[5]=w,s[6]=_):_=s[6];const j=_;let T;s[7]!==l?(T=(0,S.formatResolvedCommand)((0,S.substitutePrompt)(l,"")),s[7]=l,s[8]=T):T=s[8];const k=T,b=`new-workspace-launch-option-${l.id}`;let y,D;return s[9]!==k?(y=(0,I.jsx)(o.Text,{style:L.command,children:k}),s[9]=k,s[10]=y):y=s[10],s[11]!==x||s[12]!==j||s[13]!==l.name||s[14]!==c||s[15]!==b||s[16]!==y?(D=(0,I.jsxs)(p.DropdownMenuItem,{testID:b,onSelect:x,selected:c,leading:j,children:[l.name," ",y]}),s[11]=x,s[12]=j,s[13]=l.name,s[14]=c,s[15]=b,s[16]=y,s[17]=D):D=s[17],D}function P(n){const o=(0,t.c)(6),{target:s,profile:l}=n;if("chat"===s.kind){let n;return o[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,I.jsx)(T,{size:w.ICON_SIZE.sm,uniProps:y}),o[0]=n):n=o[0],n}if(l){let n,t;return o[1]!==l?(n=(0,S.getTerminalProfileIcon)(l),o[1]=l,o[2]=n):n=o[2],o[3]!==n?(t=(0,I.jsx)(f.TerminalProfileIcon,{iconKey:n}),o[3]=n,o[4]=t):t=o[4],t}let c;return o[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,I.jsx)(k,{size:w.ICON_SIZE.sm,uniProps:y}),o[5]=c):c=o[5],c}const L=h.StyleSheet.create(n=>({iconBox:{width:n.iconSize.md,height:n.iconSize.md,alignItems:"center",justifyContent:"center",flexShrink:0,uni__dependencies:[0]},label:{minWidth:0,fontSize:n.fontSize.base,color:n.colors.foregroundMuted,flexShrink:1,uni__dependencies:[0]},tooltipText:{fontSize:n.fontSize.base,color:n.colors.popoverForeground,uni__dependencies:[0]},profileName:{fontSize:n.fontSize.base,color:n.colors.foregroundExtraMuted,uni__dependencies:[0]},command:{fontFamily:n.fontFamily.mono,fontSize:n.fontSize.sm,color:n.colors.foregroundMuted,uni__dependencies:[0]}}))},5019,[896,897,454,37,235,147,854,456,1218,57,3702,4822,3711,306,4824,3675,5020,280]);
|
|
16779
16779
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"BLANK_TERMINAL_PROFILE_ID",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"CHAT_LAUNCH_TARGET",{enumerable:!0,get:function(){return t}}),e.isBlankTerminalTarget=u,e.terminalLaunchTarget=function(n){return{kind:"terminal",profileId:n}},e.resolveLaunchProfile=l,e.resolveLaunchTarget=function(n,o){if(!n||"chat"===n.kind)return t;if(u(n))return n;return l(n,o)?n:t};const n="blank",t={kind:"chat"};function u(t){return"terminal"===t.kind&&t.profileId===n}function l(n,t){return"terminal"!==n.kind||u(n)?null:t.find(t=>t.id===n.profileId)??null}},5020,[]);
|
|
16780
16780
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveTerminalComposerState=s,e.useTerminalComposerState=function(n){const o=(0,l.c)(7),{t:c}=(0,t.useTranslation)(),{launchTarget:u,terminalProfiles:p,terminalPromptText:P}=n;let h;if(o[0]!==u||o[1]!==c||o[2]!==p||o[3]!==P){let l;o[5]!==c?(l=l=>c("newWorkspace.launch.promptPlaceholder",{name:l}),o[5]=c,o[6]=l):l=o[6],h=s({launchTarget:u,terminalProfiles:p,terminalPromptText:P,commandPlaceholder:c("newWorkspace.launch.commandPlaceholder"),promptPlaceholder:l,submitLabel:c("newWorkspace.launch.submit")}),o[0]=u,o[1]=c,o[2]=p,o[3]=P,o[4]=h}else h=o[4];return h};var l=r(d[0]);r(d[1]);var t=r(d[2]),n=r(d[3]),o=r(d[4]);function c(l){return"chat"===l.kind?"chat":`terminal:${l.profileId}`}function s(l){const{launchTarget:t,terminalProfiles:s,terminalPromptText:u}=l,p=(0,o.resolveLaunchProfile)(t,s),P="terminal"===t.kind;if(!p)return{isTerminalLaunch:P,selectedTerminalProfile:null,terminalTakesPrompt:!0,terminalComposerValue:u,terminalPlaceholder:l.commandPlaceholder,terminalSubmitLabel:void 0,launchFocusKey:c(t)};const h=(0,n.profileTakesPrompt)(p);return{isTerminalLaunch:P,selectedTerminalProfile:p,terminalTakesPrompt:h,terminalComposerValue:h?u:(0,n.formatResolvedCommand)((0,n.substitutePrompt)(p,u)),terminalPlaceholder:h?l.promptPlaceholder(p.name):"",terminalSubmitLabel:h?void 0:l.submitLabel,launchFocusKey:c(t)}}},5021,[454,37,854,4824,5020]);
|
|
Binary file
|
|
Binary file
|
|
@@ -92,6 +92,6 @@
|
|
|
92
92
|
<body>
|
|
93
93
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
94
94
|
<div id="root"></div>
|
|
95
|
-
<script src="/_expo/static/js/web/index-
|
|
95
|
+
<script src="/_expo/static/js/web/index-e40f9469d927082127392a99cdf31e38.js" defer></script>
|
|
96
96
|
</body>
|
|
97
97
|
</html>
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/server",
|
|
3
|
-
"version": "0.11.0-fork.
|
|
3
|
+
"version": "0.11.0-fork.26",
|
|
4
4
|
"description": "Paseo backend server",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/server",
|
|
@@ -125,10 +125,10 @@
|
|
|
125
125
|
"lightningcss": "1.30.1"
|
|
126
126
|
},
|
|
127
127
|
"dependencies": {
|
|
128
|
-
"@getpaseo/client": "0.11.0-fork.
|
|
129
|
-
"@getpaseo/highlight": "0.11.0-fork.
|
|
130
|
-
"@getpaseo/plugin": "0.11.0-fork.
|
|
131
|
-
"@getpaseo/protocol": "0.11.0-fork.
|
|
132
|
-
"@getpaseo/relay": "0.11.0-fork.
|
|
128
|
+
"@getpaseo/client": "0.11.0-fork.26",
|
|
129
|
+
"@getpaseo/highlight": "0.11.0-fork.26",
|
|
130
|
+
"@getpaseo/plugin": "0.11.0-fork.26",
|
|
131
|
+
"@getpaseo/protocol": "0.11.0-fork.26",
|
|
132
|
+
"@getpaseo/relay": "0.11.0-fork.26"
|
|
133
133
|
}
|
|
134
134
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mduan/paseo-cli",
|
|
3
|
-
"version": "0.11.0-fork.
|
|
3
|
+
"version": "0.11.0-fork.26",
|
|
4
4
|
"description": "Paseo CLI - control your AI coding agents from the command line (mduan fork)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"paseo": "bin/paseo"
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"@clack/prompts": "^1.0.0",
|
|
22
22
|
"@codemirror/language": "6.12.4",
|
|
23
23
|
"@codemirror/legacy-modes": "^6.5.3",
|
|
24
|
-
"@getpaseo/client": "0.11.0-fork.
|
|
25
|
-
"@getpaseo/highlight": "0.11.0-fork.
|
|
26
|
-
"@getpaseo/plugin": "0.11.0-fork.
|
|
27
|
-
"@getpaseo/protocol": "0.11.0-fork.
|
|
28
|
-
"@getpaseo/relay": "0.11.0-fork.
|
|
29
|
-
"@getpaseo/server": "0.11.0-fork.
|
|
24
|
+
"@getpaseo/client": "0.11.0-fork.26",
|
|
25
|
+
"@getpaseo/highlight": "0.11.0-fork.26",
|
|
26
|
+
"@getpaseo/plugin": "0.11.0-fork.26",
|
|
27
|
+
"@getpaseo/protocol": "0.11.0-fork.26",
|
|
28
|
+
"@getpaseo/relay": "0.11.0-fork.26",
|
|
29
|
+
"@getpaseo/server": "0.11.0-fork.26",
|
|
30
30
|
"@isaacs/ttlcache": "^2.1.4",
|
|
31
31
|
"@lezer/common": "^1.5.0",
|
|
32
32
|
"@lezer/cpp": "^1.1.5",
|