@sma1lboy/kobe 0.8.57 → 0.8.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +2 -2
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -301,7 +301,7 @@ data: ${JSON.stringify(L)}
|
|
|
301
301
|
`)){let U=H.trim();if(!U)continue;if(!HZ(U))continue;let K;try{K=JSON.parse(U)}catch{continue}if(!JR(K)||typeof K.type!=="string")continue;let F=typeof K.timestamp==="string"?K.timestamp:new Date().toISOString(),L=JR(K.data)?K.data:{};if(K.type==="session.start"){let M=typeof L.sessionId==="string"?L.sessionId:void 0;if(M)G=M;continue}if(K.type==="user.message"){let M=typeof L.content==="string"?L.content:"";if(!M)continue;if(!W)W=Buffer.from(M.slice(0,BJ0),"utf8").toString("utf8");Z.push({role:"user",blocks:[{type:"text",text:M}],timestamp:F,sessionId:G});continue}if(K.type==="assistant.message"){let M=[],_=typeof L.content==="string"?L.content:"";if(_)M.push({type:"text",text:_});let T=Array.isArray(L.toolRequests)?L.toolRequests:[];for(let A of T){if(!JR(A))continue;let C=typeof A.id==="string"?A.id:typeof A.toolCallId==="string"?A.toolCallId:"tool",y=typeof A.name==="string"?A.name:typeof A.toolName==="string"?A.toolName:"tool";M.push({type:"tool_call",callId:C,name:y,input:A.arguments??{}})}if(M.length>0)Z.push({role:"assistant",blocks:M,timestamp:F,sessionId:G});continue}if(K.type==="tool.execution_start"){let M=typeof L.toolCallId==="string"?L.toolCallId:void 0,_=typeof L.toolName==="string"?L.toolName:"tool";if(M)J.set(M,_);continue}if(K.type==="tool.execution_complete"){let M=typeof L.toolCallId==="string"?L.toolCallId:void 0;if(!M)continue;let _=J.get(M)??(typeof L.toolName==="string"?L.toolName:"tool"),T=L.result??(L.success===!1?{success:!1}:void 0);Z.push({role:"assistant",blocks:[{type:"tool_result",callId:M,output:T,isError:L.success===!1}],timestamp:F,sessionId:G});continue}if(K.type==="session.shutdown")Y=Ov(L)}return{messages:Z,toolNameById:J,sessionId:G,usageMetrics:Y,firstUserMessage:W}}function JR($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var cz,qJ0,BJ0=200;var Vv=o(()=>{vz();qL();cz={copilotDir(){let $=process.env.COPILOT_HOME?.trim();if($)return $;return tJ.join(zJ0(),".copilot")},async readdir($){try{return await ZJ0($)}catch{return[]}},async readFile($){return await QH($)},stat:QJ0,async rm($){await JJ0($,{recursive:!0,force:!0})}};qJ0=HH({initial:HJ0,parseChunk:($,X)=>UJ0($,X)})});var jL,Cv,Av;var _L=o(()=>{jL=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Cv=["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"],Av=[...Cv,...[...Cv].reverse()]});import{readFile as Dv}from"fs/promises";class VL{supportsCompletionMarkers(){return!0}async latestCompletion($){return(await this.latestActivity($)).marker}}function Pv($){return u4($).createTurnDetector()}function FJ0($,X="claude",Z=0){let J=null,G=0;for(let Y of $.split(`
|
|
302
302
|
`)){G++;let W=Rv(Y);if(!W)continue;let H=WR(W.message)?W.message:W;if(H.role!=="assistant")continue;if(!("content"in H))continue;let U=Tv(W,Z),K={id:`claude:${X}:${U}:${G}`,timestampMs:U,source:"claude"};if(!J||K.timestampMs>=J.timestampMs)J=K}return J}function LJ0($){if($.type==="turn.completed")return!0;if($.type!=="event_msg")return!1;let X=WR($.payload)?$.payload:void 0;return typeof X?.type==="string"&&OJ0.has(X.type)}function jJ0($,X="codex"){let Z=null,J=0;for(let G of $.split(`
|
|
303
303
|
`)){J++;let Y=Rv(G);if(!Y||!LJ0(Y))continue;let W=Tv(Y,0),H={id:`codex:${X}:${W}:${J}`,timestampMs:W,source:"codex"};if(!Z||H.timestampMs>=Z.timestampMs)Z=H}return Z}function Rv($){let X=$.trim();if(!X)return null;try{let Z=JSON.parse(X);return WR(Z)?Z:null}catch{return null}}function Tv($,X){let Z=typeof $.timestamp==="string"?Date.parse($.timestamp):Number.NaN;return Number.isFinite(Z)?Z:X}function WR($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var NJ0,GR,MJ0,YR,NK,OJ0;var HR=o(()=>{hP();FL();M2();NJ0={listSessionFiles:($)=>qH($),readFile:($)=>Dv($,"utf8")};GR=class GR extends VL{deps;vendor="claude";cache=new Map;constructor($=NJ0){super();this.deps=$}async latestActivity($){let X=await this.deps.listSessionFiles($),Z=X[0]?.mtimeMs??0,J=null,G=new Map;for(let Y of X.slice(0,4)){let W=this.cache.get(Y.path),H;if(W&&Y.mtimeMs>0&&W.mtimeMs===Y.mtimeMs)H=W.marker;else{let U=await this.deps.readFile(Y.path).catch(()=>"");H=FJ0(U,Y.path,Y.mtimeMs)}if(G.set(Y.path,{mtimeMs:Y.mtimeMs,marker:H}),H&&(!J||H.timestampMs>J.timestampMs))J=H}return this.cache=G,{marker:J,mtimeMs:Z}}};MJ0={findLatestRollout:($)=>XR($),readFile:($)=>Dv($,"utf8")};YR=class YR extends VL{deps;vendor="codex";cache=null;constructor($=MJ0){super();this.deps=$}async latestActivity($){if(!$)return{marker:null,mtimeMs:0};let X=await this.deps.findLatestRollout($);if(!X)return{marker:null,mtimeMs:0};if(this.cache&&this.cache.path===X.path&&X.mtimeMs>0&&this.cache.mtimeMs===X.mtimeMs)return{marker:this.cache.marker,mtimeMs:X.mtimeMs};let Z=await this.deps.readFile(X.path).catch(()=>"");if(!Z)return{marker:null,mtimeMs:X.mtimeMs};let J=jJ0(Z,X.path);return this.cache={path:X.path,mtimeMs:X.mtimeMs,marker:J},{marker:J,mtimeMs:X.mtimeMs}}};NK=class NK extends VL{vendor;constructor($){super();this.vendor=$}supportsCompletionMarkers(){return!1}async latestActivity(){return{marker:null,mtimeMs:0}}};OJ0=new Set(["task_complete","turn_complete","turn_aborted"])});function AJ0($){return{vendor:$,builtin:!1,displayName:$,defaultCommand:[$],history:qR,detectAccount:async()=>({binary:{found:!1,error:"custom engine: kobe has no account detector for it"},account:{kind:"none"}}),createHookAdapter:()=>new MK($),createTurnDetector:()=>new NK($)}}function u4($){return I7($)?Iv[$]:AJ0($)}function Sv($){return u4($).history!==qR}function Ev(){return Object.values(Iv).filter(($)=>$.quotaUsage).map(($)=>$.vendor)}var qR,_J0,VJ0,CJ0,Iv;var M2=o(()=>{S7();qZ();Rk();hP();uk();ik();rk();FL();Kv();Fv();Vv();UR();_L();HR();qR={async listSessionIdsForWorktree(){return[]},async readHistory(){return[]},async transcriptPath(){return null},async latestTranscriptMtimeForWorktree(){return 0}},_J0={async listSessionIdsForWorktree($){return[...await qH($)].sort((Z,J)=>Z.mtimeMs-J.mtimeMs).map((Z)=>Z.sessionId)},readHistory:($)=>bk($),async transcriptPath($,X){return(await qH(X)).find((J)=>J.sessionId===$)?.path??null},latestTranscriptMtimeForWorktree:($)=>fk($)},VJ0={listSessionIdsForWorktree:($)=>Wv($),readHistory:($)=>qv($),transcriptPath:async($)=>await $R($)??null,latestTranscriptMtimeForWorktree:($)=>Hv($)},CJ0={listSessionIdsForWorktree:($)=>Lv($),readHistory:($)=>_v($),transcriptPath:async()=>null,latestTranscriptMtimeForWorktree:($)=>jv($)},Iv={claude:{vendor:"claude",builtin:!0,displayName:"Claude",defaultCommand:["claude"],history:_J0,detectAccount:($)=>zH($),createHookAdapter:()=>new dP,createTurnDetector:()=>new GR,capabilities:Dk,identity:Pk,spinnerFrames:Av,terminalTitle:{ownsStatus:!0},quotaUsage:()=>nk()},codex:{vendor:"codex",builtin:!0,displayName:"Codex",defaultCommand:["codex"],effortLevels:["none","low","medium","high","xhigh"],history:VJ0,detectAccount:($)=>GH($),createHookAdapter:()=>new ZR,createTurnDetector:()=>new YR,capabilities:ok,identity:ak,terminalTitle:{ownsStatus:!0,launchArgs:["-c",'tui.terminal_title=["activity","thread-title"]']},quotaUsage:()=>Mv()},copilot:{vendor:"copilot",builtin:!0,displayName:"Copilot",defaultCommand:["copilot"],history:CJ0,detectAccount:($)=>YH($),createHookAdapter:()=>new MK("copilot"),createTurnDetector:()=>new NK("copilot")},kimi:{vendor:"kimi",builtin:!0,displayName:"Kimi",defaultCommand:["kimi"],history:qR,detectAccount:($)=>WL($),createHookAdapter:()=>new MK("kimi"),createTurnDetector:()=>new NK("kimi")}}});function BR($){return u4($).createHookAdapter()}class MK{vendor;constructor($){this.vendor=$}supportsHooks(){return!1}globalSettingsPath(){return""}activityDetailFromPayload(){return}sessionFromPayload(){return}async installActivityHooks(){}async removeActivityHooks(){}supportsWorktreeSync(){return!1}async removeWorktreeSyncHook(){}async installWorktreeWatchHook(){}async removeWorktreeWatchHook(){}}var UR=o(()=>{M2()});function CL($){return DJ0.includes($)}function wv($){return PJ0.includes($)}var DJ0,PJ0;var KR=o(()=>{DJ0=["session-start","turn-start","turn-complete","turn-failed","turn-interrupted","awaiting-input","session-end","tool-pre","tool-post","tool-failed","pre-compact","post-compact","subagent-start","subagent-stop"];PJ0=["session-start","turn-start","turn-complete","turn-failed","turn-interrupted","awaiting-input","session-end"]});var cv={};y4(cv,{runHookSubcommand:()=>xJ0,readTextWithTimeout:()=>bv,parseWorktreeRemovePath:()=>vv,parseWorktreeAddPath:()=>kv,ensureGlobalKobeHooks:()=>FR});import{readFileSync as RJ0}from"fs";import{homedir as TJ0}from"os";import{join as MR,resolve as NR}from"path";async function bv($,X=IJ0){let Z;try{return await Promise.race([$(),new Promise((J)=>{Z=setTimeout(()=>J(""),X)})])}finally{if(Z!==void 0)clearTimeout(Z)}}async function gv(){try{let $=await bv(()=>Bun.stdin.text());if(!$.trim())return{};let X=JSON.parse($);return X&&typeof X==="object"&&!Array.isArray(X)?X:{}}catch{return{}}}function xv($,X){for(let Z=0;Z<$.length;Z++){if($[Z]===X)return $[Z+1];if($[Z].startsWith(`${X}=`))return $[Z].slice(X.length+1)}return}function EJ0($){return!!$&&typeof $==="object"&&!Array.isArray($)}function yv($){let X=[],Z=/"([^"]*)"|'([^']*)'|(\S+)/g,J;while((J=Z.exec($))!==null)X.push(J[1]??J[2]??J[3]??"");return X}function kv($){let X=yv($),Z=new Set(["-b","-B","--reason"]);for(let J=0;J+1<X.length;J++){if(X[J]!=="worktree"||X[J+1]!=="add")continue;let G=J+2;while(G<X.length){let Y=X[G];if(Y==="&&"||Y==="||"||Y===";"||Y==="|"||Y===">"||Y===">>")break;if(Y.startsWith("-")){G+=Z.has(Y)?2:1;continue}return Y}}return}function vv($){let X=yv($);for(let Z=0;Z+1<X.length;Z++){if(X[Z]!=="worktree"||X[Z+1]!=="remove")continue;let J=Z+2;while(J<X.length){let G=X[J];if(G==="&&"||G==="||"||G===";"||G==="|"||G===">"||G===">>")break;if(G.startsWith("-")){J+=1;continue}return G}}return}async function wJ0(){let $=await gv(),X=EJ0($.tool_input)?$.tool_input:{},Z=typeof X.command==="string"?X.command:"";if(!Z.includes("worktree"))return;let J=typeof $.cwd==="string"&&$.cwd?$.cwd:process.cwd(),G=kv(Z),Y=G?void 0:vv(Z);if(!G&&!Y)return;let W=await lJ();if(!W)return;try{if(G)await W.request("worktree.reconcile",{cwd:J,worktreePath:NR(J,G)});else if(Y)await W.request("worktree.archiveRemoved",{worktreePath:NR(J,Y)})}finally{W.close()}}async function xJ0($){let[X,...Z]=$;if(X==="setup"){await yJ0(Z);return}if(X===SJ0){try{await wJ0()}catch{}return}try{if(!X||!CL(X))return;let J=await gv(),G=xv(Z,"--task-id"),Y=typeof J.cwd==="string"&&J.cwd?J.cwd:process.cwd(),W=process.env.KOBE_TASK_ID,H=process.env.KOBE_TAB_ID,U=xv(Z,"--engine"),K=mv().filter((_)=>!U||_.vendor===U),F;for(let _ of K)if(F=_.activityDetailFromPayload(X,J),F)break;let L;for(let _ of K)if(L=_.sessionFromPayload(J),L)break;let M=await lJ();if(!M)return;try{let _=G??W;await M.request("engine.reportEvent",{..._?{taskId:_}:{cwd:Y},kind:X,...U?{engine:U}:{},...H?{tabId:H}:{},...F?{detail:F}:{},...L?{sessionId:L.sessionId}:{},...L?.transcriptPath?{transcriptPath:L.transcriptPath}:{}})}finally{M.close()}}catch(J){if(process.env.KOBE_HOOK_DEBUG)console.error(`[kobe hook] ${X} failed:`,J instanceof Error?J.message:String(J))}}function fJ0(){return O8.map(($)=>BR($)).filter(($)=>$.supportsWorktreeSync())}function mv(){return O8.map(($)=>BR($)).filter(($)=>$.supportsHooks())}function hv(){return MR(TJ0(),".claude","settings.json")}function bJ0($){if(!$||$==="off")return;if($==="global")return hv();if($.startsWith("repo:"))return MR(NR($.slice(5)),".claude","settings.json");return $}async function FR(){try{let $=gJ0();for(let X of mv()){let Z=X.globalSettingsPath();if(!Z)continue;await X.installActivityHooks(Z,{toolEvents:$}),await X.installWorktreeWatchHook(Z)}await uv()}catch{}}function gJ0(){try{for(let $ of M$().plugins){if(!$.enabled)continue;try{let X=RJ0(MR($.root,B2),"utf8");if(m2(X).manifest.events.some((Z)=>Z.on.startsWith("tool.")))return!0}catch{}}}catch{}return!1}async function uv(){let $=fJ0();if($.length===0)return;let X=E7(fv),Z=new Set([hv()]),J=bJ0(X);if(J)Z.add(J);for(let G of $)for(let Y of Z)await G.removeWorktreeSyncHook(Y);if(X!=="off")x3(fv,"off")}async function yJ0($){await uv(),process.stdout.write(["kobe hook setup is deprecated and now a no-op (cleanup only).","","The old external-worktree sync used a global WorktreeCreate hook, which is","a VCS provider hook \u2014 its presence broke `claude --worktree` / EnterWorktree","in every repo. Any hook kobe previously installed has been removed.","","Sync is now automatic: a `claude --worktree` (or any session) started in a","worktree under a repo kobe already tracks is adopted as a task on launch.","To adopt existing worktrees on demand, use the New Task dialog or `kobe adopt`.",""].join(`
|
|
304
|
-
`))}var IJ0=500,SJ0="worktree-created",fv="externalWorktreeSync";var OR=o(()=>{k2();cJ();$Z();UR();KR();v5();S7()});var AL;var dv=o(()=>{AL={$schema:"https://json.schemastore.org/package.json",name:"@sma1lboy/kobe",version:"0.8.
|
|
304
|
+
`))}var IJ0=500,SJ0="worktree-created",fv="externalWorktreeSync";var OR=o(()=>{k2();cJ();$Z();UR();KR();v5();S7()});var AL;var dv=o(()=>{AL={$schema:"https://json.schemastore.org/package.json",name:"@sma1lboy/kobe",version:"0.8.58",description:"TUI orchestrator for Claude Code (codename)",type:"module",packageManager:"bun@1.3.13",bin:{kobe:"dist/cli/index.js"},files:["dist/cli","dist/web-ui","dist/skills","dist/*.wav","README.md","LICENSE"],publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/Sma1lboy/kobe.git"},homepage:"https://github.com/Sma1lboy/kobe#readme",bugs:{url:"https://github.com/Sma1lboy/kobe/issues"},engines:{bun:">=1.3.11"},scripts:{dev:"KOBE_DEV=1 bun --conditions=browser ./src/cli/index.ts","dev:mock":"KOBE_DEV=1 bun ./src/tui-react/mock/host.tsx","dev:mock-react":"KOBE_DEV=1 bun ./src/tui-react/mock/host.tsx","dev:mock-react-task-dialogs":"KOBE_DEV=1 bun ./src/tui-react/component/mock-dialogs-host.tsx","dev:mock-react-filetree":"KOBE_DEV=1 bun ./src/tui-react/panes/filetree/mock-host.tsx","dev:mock-react-sidebar":"KOBE_DEV=1 bun ./src/tui-react/panes/sidebar/mock-host.tsx","dev:mock-react-terminal":"KOBE_DEV=1 bun ./src/tui-react/panes/terminal/mock-host.tsx","dev:mock-react-dialogs":"KOBE_DEV=1 bun ./src/tui-react/mock/dialogs-host.tsx","dev:mock-react-workspace":"KOBE_DEV=1 bun ./src/tui-react/workspace/mock-host.tsx","dev:sandbox":"bun run scripts/dev-sandbox.ts run","dev:sandbox:reset":"bun run scripts/dev-sandbox.ts reset",build:"bun run scripts/build.ts","build:with-web":"bun run build",compile:"bun run scripts/compile.ts",typecheck:"tsc --noEmit","check-i18n":"bun run scripts/check-i18n.ts",test:"bun run test:fast && bun run test:socket","perf:golden":"bun scripts/perf-golden.ts","pty:soak":"bun scripts/pty-soak.ts","test:fast":"vitest run --passWithNoTests --minWorkers=1 --maxWorkers=8","test:socket":"KOBE_INCLUDE_SOCKET=1 vitest run test/daemon --pool forks --minWorkers=1 --maxWorkers=4 --passWithNoTests","test:socket:coverage":"KOBE_INCLUDE_SOCKET=1 KOBE_COVERAGE_DAEMON=1 vitest run test/daemon --coverage --pool forks --minWorkers=1 --maxWorkers=4 --passWithNoTests","test:behavior":"KOBE_INCLUDE_BEHAVIOR=1 vitest run test/behavior --pool forks --minWorkers=1 --maxWorkers=1 --passWithNoTests","test:render":"bun test test/render --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage-render",coverage:"vitest run --coverage --passWithNoTests",bench:"vitest bench --run",lint:"biome check .",knip:"knip-bun",postinstall:"bun run scripts/check-preview-deps.ts || true",prepublishOnly:"bun run typecheck && bun run build"},"//":"biome.json + bunfig.toml live at the monorepo root since they apply repo-wide; bun.lock also lives at root (workspace-shared).",dependencies:{"@ansi-tools/parser":"^1.0.15","@opentui/core":"0.4.3","@opentui/react":"0.4.3","@xterm/addon-serialize":"^0.14.0","@xterm/addon-unicode11":"^0.9.0","@xterm/headless":"^6.0.0","node-pty":"^1.1.0",react:"^19.2.8",ws:"^8.18.0"},devDependencies:{"@biomejs/biome":"1.9.4","@sma1lboy/kobe-daemon":"0.7.12","@tsconfig/bun":"1.0.10","@types/bun":"1.3.14","@types/node":"25.6.2","@types/react":"^19.2.0","@vitest/coverage-v8":"2.1.9",knip:"^6.14.2","kobe-web":"workspace:*","react-devtools-core":"^7.0.1",typescript:"5.8.2",vitest:"2.1.9"},trustedDependencies:[]}});var pv={};y4(pv,{repoSlug:()=>dz,releasePageUrl:()=>AR,recommendedGlobalInstallCommand:()=>_R,isNewerSemver:()=>LR,fetchReleaseSummaries:()=>OK,fetchReleaseNotesRange:()=>CR,fetchReleaseNotes:()=>VR,compareSemver:()=>e8,checkLatestVersion:()=>lz,breakingVersionsCrossed:()=>FK,UPDATE_SCRIPT_URL:()=>DL,UPDATE_COMMAND:()=>l9,PACKAGE_NAME:()=>jR,CURRENT_VERSION:()=>V4,BREAKING_VERSIONS:()=>BZ});function dz(){let $=AL.repository?.url;if(!$)return null;let X=$.match(/github\.com[:/]([^/]+)\/([^/.]+)/);if(!X||!X[1]||!X[2])return null;return`${X[1]}/${X[2]}`}function _R(){return`npm install -g ${jR}@latest`}function FK($,X,Z=BZ){let[J,G]=e8($,X)<=0?[$,X]:[X,$];return Z.filter((Y)=>e8(Y,J)>0&&e8(Y,G)<=0)}async function vJ0($){let X=new AbortController,Z=setTimeout(()=>X.abort(),PL);try{let J=$.replace("/","%2F"),G=await fetch(`https://registry.npmjs.org/${J}/latest`,{signal:X.signal,headers:{accept:"application/json"}});if(!G.ok)return null;let Y=await G.json();if(typeof Y.version!=="string")return null;return Y.version}catch{return null}finally{clearTimeout(Z)}}function LR($,X){return e8($,X)>0}function e8($,X){let Z=(Y)=>Y.split("-")[0]??Y,J=Z($).split(".").map((Y)=>Number.parseInt(Y,10)),G=Z(X).split(".").map((Y)=>Number.parseInt(Y,10));for(let Y=0;Y<3;Y++){let W=J[Y]??0,H=G[Y]??0;if(Number.isNaN(W)||Number.isNaN(H))return 0;if(W>H)return 1;if(W<H)return-1}return 0}async function lz($={}){let X=process.env.KOBE_FAKE_UPDATE;if(X)return{current:V4,latest:X,hasUpdate:LR(X,V4)};if(wW()&&!$.force)return null;let Z=await vJ0(jR);if(!Z)return null;return{current:V4,latest:Z,hasUpdate:LR(Z,V4)}}function lv($){if(typeof $!=="string")return null;return $.match(/^v(\d+\.\d+\.\d+)$/)?.[1]??null}async function VR($){let X=dz();if(!X)return null;let Z=`v${$}`,J=new AbortController,G=setTimeout(()=>J.abort(),PL);try{let Y=await fetch(`https://api.github.com/repos/${X}/releases/tags/${Z}`,{signal:J.signal,headers:{accept:"application/vnd.github+json","x-github-api-version":"2022-11-28"}});if(!Y.ok)return null;let W=await Y.json();if(typeof W.body!=="string"||typeof W.html_url!=="string")return null;return{body:W.body,url:W.html_url,version:$}}catch{return null}finally{clearTimeout(G)}}async function CR($){let X=dz();if(!X)return[];let Z=$.limit??100,J=new AbortController,G=setTimeout(()=>J.abort(),PL);try{let Y=await fetch(`https://api.github.com/repos/${X}/releases?per_page=${Z}`,{signal:J.signal,headers:{accept:"application/vnd.github+json","x-github-api-version":"2022-11-28"}});if(!Y.ok)return[];let W=await Y.json();if(!Array.isArray(W))return[];return W.map((H)=>{let U=lv(H.tag_name);if(!U||typeof H.html_url!=="string"||typeof H.body!=="string")return null;if(e8(U,$.current)<=0)return null;if(e8(U,$.latest)>0)return null;return{version:U,url:H.html_url,body:H.body}}).filter((H)=>H!==null)}catch{return[]}finally{clearTimeout(G)}}async function OK($=12){let X=dz();if(!X)return[];let Z=new AbortController,J=setTimeout(()=>Z.abort(),PL);try{let G=await fetch(`https://api.github.com/repos/${X}/releases?per_page=${$}`,{signal:Z.signal,headers:{accept:"application/vnd.github+json","x-github-api-version":"2022-11-28"}});if(!G.ok)return[];let Y=await G.json();if(!Array.isArray(Y))return[];return Y.map((W)=>{let H=lv(W.tag_name);if(!H||typeof W.html_url!=="string")return null;return{version:H,url:W.html_url}}).filter((W)=>W!==null)}catch{return[]}finally{clearTimeout(J)}}function AR($){let X=dz();if(!X)return null;return`https://github.com/${X}/releases/tag/v${$}`}var V4,jR,DL="https://raw.githubusercontent.com/Sma1lboy/kobe/main/scripts/update.sh",l9,BZ,PL=3000;var C8=o(()=>{dv();R$();V4=AL.version,jR=AL.name;l9=`curl -fsSL ${DL} | sh`;BZ=[]});var iv={};y4(iv,{stampResetGate:()=>RL,resetGateBlockers:()=>nv,enforceResetGate:()=>PR,LAST_RUN_VERSION_KEY:()=>DR});function nv($,X=V4,Z=BZ){if(typeof $!=="string"||$.length===0)return[];let[J,G]=e8($,X)<=0?[$,X]:[X,$];return Z.filter((Y)=>e8(Y,J)>0&&e8(Y,G)<=0)}function PR(){let $=T5()[DR],X=nv($);if(X.length>0){let Z=typeof $==="string"?$:"unknown";console.error([`kobe ${V4}: cannot start \u2014 version ${X.join(", ")} introduced breaking changes`,`(last run: ${Z}). Your daemon/session state may be incompatible.`,"","Run:"," kobe reset # stop daemon + PTY host + sessions (tasks kept)"," kobe reset --hard # additionally wipe the task index + UI state","","Then relaunch kobe. Worktrees are never touched."].join(`
|
|
305
305
|
`)),process.exit(1)}if($!==V4)RL()}function RL(){try{h2({[DR]:V4})}catch{}}var DR="app.lastRunVersion";var TL=o(()=>{K2();C8()});import{existsSync as av,readFileSync as mJ0}from"fs";import{homedir as hJ0}from"os";import{join as rv,resolve as ov}from"path";import{fileURLToPath as uJ0}from"url";function IR(){let $=uJ0(import.meta.url);return[ov($,"../../../../../.agents/skills/kobe"),ov($,"../../skills/kobe")].find((Z)=>av(rv(Z,"SKILL.md")))??null}function IL($={}){let X=$.source!==void 0?$.source:IR(),Z=$.agent===void 0?[]:typeof $.agent==="string"?[$.agent]:$.agent;return["skills","add",X??dJ0,"--skill","kobe",...Z.flatMap((J)=>["--agent",J])]}function pz($={}){return`npx ${IL($).join(" ")}`}async function SR($){return await Bun.spawn(["npx",...IL($===void 0?{}:{agent:$})],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited}function ER($={}){let X=$.home??hJ0(),Z=$.cwd??process.cwd();return[X,Z].flatMap((J)=>cJ0.map((G)=>rv(J,G)))}function lJ0($){let X=$.match(/kobe-skill-version:\s*(\d+)/);return X?Number.parseInt(X[1],10):null}function LK($){let X=ER($).find((G)=>av(G));if(!X)return{installed:!1,installedVersion:null,currentVersion:RR,stale:!1};let Z=null;try{Z=lJ0(mJ0(X,"utf8"))}catch{Z=null}let J=Z===null||Z<RR;return{installed:!0,installedVersion:Z,currentVersion:RR,stale:J}}function pJ0(){return new Promise(($)=>{process.stdin.resume(),process.stdin.once("data",(X)=>{process.stdin.pause(),$(String(X))})})}async function sv($={}){let X=LK();if(!X.installed){if(E7(TR)==="1")return;x3(TR,"1"),process.stderr.write(`
|
|
306
306
|
kobe: the kobe agent skill isn't installed \u2014 install it so your coding agent can drive kobe via \`kobe api\`:
|
|
307
307
|
${BH}
|
|
@@ -713,7 +713,7 @@ mutation($repositoryId: ID!, $categoryId: ID!, $title: String!, $body: String!)
|
|
|
713
713
|
`)}catch{}let Y={...X},W=[];for(let H of G){let K=H.match(/^([A-Za-z_][A-Za-z0-9_]*)=/)?.[1];if(K&&K in Y){let F=Y[K];if(delete Y[K],F!=="")W.push(`${K}=${F}`);continue}W.push(H)}for(let[H,U]of Object.entries(Y))if(U!=="")W.push(`${H}=${U}`);while(W.length>0&&W[W.length-1]==="")W.pop();cY0(a8($,Z),{recursive:!0}),dY0(J,W.length>0?`${W.join(`
|
|
714
714
|
`)}
|
|
715
715
|
`:"")}function Mp($,X){for(let Z of M$(X).plugins){if(!Z.enabled)continue;let J;try{J=m2(gI(Up(Z.root,B2),"utf8")).manifest}catch{continue}for(let G of J.fileHandlers)try{if(new RegExp(G.pattern,"i").test($))return{qualifiedAction:BO(Z.id,G.action)}}catch{}}return null}var yI=o(()=>{cJ();b9();$Z()});import{closeSync as lY0,openSync as pY0,readFileSync as nY0,readSync as iY0,statSync as oY0}from"fs";import{join as aY0}from"path";function rY0($){if(!$)return null;let X=$.trimEnd().split(`
|
|
716
|
-
`);for(let Z=X.length-1;Z>=0;Z--){let J=X[Z]?.trim();if(!J)continue;let G;try{G=JSON.parse(J)}catch{continue}if(typeof G.at!=="number")continue;let Y=typeof G.exitCode==="number"?G.exitCode:null,W=typeof G.spawnError==="string"?G.spawnError:void 0;return{at:G.at,label:typeof G.label==="string"?G.label:typeof G.kind==="string"?G.kind:"run",exitCode:Y,ok:W===void 0&&Y===0,...W?{spawnError:W}:{}}}return null}function sY0($,X,Z,J,G={}){let Y=null,W=[];if(Z!==null)try{let{manifest:H}=m2(Z);Y={actions:H.actions.length,events:H.events.length,panes:H.panes.length},W=zp(H.settings,G)}catch{Y=null}return{id:X.id,version:X.version,enabled:X.enabled,linked:X.source.kind==="link",source:X.source.kind==="link"?X.root:X.source.spec,declares:Y,lastRun:rY0(J),settings:W,updateAvailable:$.has(X.id)}}function Fp($){let X=Math.max(0,Math.floor($/1000));if(X<60)return`${X}s`;if(X<3600)return`${Math.floor(X/60)}m`;if(X<86400)return`${Math.floor(X/3600)}h`;return`${Math.floor(X/86400)}d`}function eY0($){let X;try{let Z=oY0($).size,J=Math.min(Z,tY0),G=Buffer.alloc(J);return X=pY0($,"r"),iY0(X,G,0,J,Z-J),G.toString("utf8")}catch{return null}finally{if(X!==void 0)lY0(X)}}function $W0($){try{return nY0($,"utf8")}catch{return null}}function kj($){let X=new Set(qp($));return M$($).plugins.map((Z)=>sY0(X,Z,$W0(aY0(Z.root,B2)),eY0(kW(Z.id,$)),Kp(Z.id,$)))}function Op($,X,Z,J){Np($,{[X]:Z},J)}function Lp($,X,Z){let J=M$(Z);k9({plugins:J.plugins.map((G)=>G.id===$?{...G,enabled:X}:G)},Z)}var tY0=65536;var kI=o(()=>{cJ();bI();b9();$Z();yI()});import{TextAttributes as jp}from"@opentui/core";function XW0($){let X=[],Z=0;for(let J of $)X.push(Z),Z+=1+J.settings.length;return X}function ZW0($){let{theme:X}=n0(),Z=Z1(),{setting:J}=$,G=J.type==="boolean"?yj(J.value)?Z("settings.general.on"):Z("settings.general.off"):J.value||Z("settings.plugins.settingUnset");return I.jsxDEV("box",{flexDirection:"row",gap:1,paddingLeft:5,paddingRight:1,backgroundColor:$.cursor?X.primary:void 0,onMouseUp:$.onActivate,children:[I.jsxDEV("text",{fg:$.cursor?X.selectedListItemText:X.text,wrapMode:"none",children:J.label},void 0,!1,void 0,this),I.jsxDEV("text",{fg:$.cursor?X.selectedListItemText:J.defaulted?X.textMuted:X.accent,wrapMode:"none",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _p($){let{theme:X}=n0(),Z=Z1(),J=Date.now(),G=(W)=>$.level==="body"&&$.bodyRow===W,Y=XW0($.plugins);return I.jsxDEV("box",{flexDirection:"column",gap:1,children:[I.jsxDEV("text",{fg:X.text,attributes:jp.BOLD,children:Z("settings.plugins.title")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:X.textMuted,wrapMode:"word",children:Z("settings.plugins.hint")},void 0,!1,void 0,this),$.plugins.length===0?I.jsxDEV("text",{fg:X.textMuted,wrapMode:"word",children:Z("settings.plugins.empty")},void 0,!1,void 0,this):I.jsxDEV("box",{flexDirection:"column",gap:0,children:$.plugins.map((W,H)=>{let U=Y[H]??0,K=G(U);return I.jsxDEV("box",{flexDirection:"column",gap:0,children:[I.jsxDEV("box",{flexDirection:"row",gap:1,paddingLeft:1,paddingRight:1,backgroundColor:K?X.primary:void 0,onMouseUp:()=>{$.setLevel("body"),$.setBodyRow(U),$.toggle(W.id)},children:[I.jsxDEV("text",{fg:K?X.selectedListItemText:W.enabled?X.accent:X.textMuted,attributes:jp.BOLD,wrapMode:"none",children:`${W.enabled?"[x]":"[ ]"} ${W.id}`},void 0,!1,void 0,this),I.jsxDEV("text",{fg:K?X.selectedListItemText:X.textMuted,wrapMode:"none",children:`v${W.version} ${W.linked?Z("settings.plugins.sourceLink",{path:W.source}):Z("settings.plugins.sourceGithub",{spec:W.source})}`},void 0,!1,void 0,this),W.updateAvailable?I.jsxDEV("text",{fg:X.warning,wrapMode:"none",children:Z("settings.plugins.updateAvailable")},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),I.jsxDEV("box",{flexDirection:"row",gap:1,paddingLeft:5,paddingRight:1,children:[I.jsxDEV("text",{fg:W.declares?X.textMuted:X.warning,wrapMode:"none",children:W.declares?Z("settings.plugins.declares",{actions:String(W.declares.actions),events:String(W.declares.events),panes:String(W.declares.panes)}):Z("settings.plugins.manifestUnreadable")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:W.lastRun?.ok===!1?X.error:X.textMuted,wrapMode:"none",children:W.lastRun?Z("settings.plugins.lastRun",{label:W.lastRun.label,status:W.lastRun.ok?Z("settings.plugins.runOk"):W.lastRun.spawnError?Z("settings.plugins.runFailed"):Z("settings.plugins.runExit",{code:String(W.lastRun.exitCode)}),ago:Fp(J-W.lastRun.at)}):Z("settings.plugins.neverRun")},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.settings.map((F,L)=>I.jsxDEV(ZW0,{setting:F,cursor:G(U+1+L),onActivate:()=>{$.setLevel("body"),$.setBodyRow(U+1+L),$.editSetting(W.id,F.key)}},F.key,!1,void 0,this))]},W.id,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var Vp=o(async()=>{Z4();kI();a0();await e1()});import{TextAttributes as JW0}from"@opentui/core";function QW0($){let X=l4(),{theme:Z}=n0(),J=Z1(),[G,Y]=Cp.useState($.currentTitle);function W(){let H=G.trim();if(lK(H)&&!$.allowEmpty)return;$.onSubmit(H),X.clear()}return I.jsxDEV("box",{paddingLeft:2,paddingRight:2,gap:1,children:[I.jsxDEV("box",{flexDirection:"row",justifyContent:"space-between",children:[I.jsxDEV("text",{attributes:JW0.BOLD,fg:Z.text,children:$.dialogTitle??J("common.rename.defaultTitle")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:Z.textMuted,onMouseUp:()=>$.onCancel(),children:"esc"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{gap:0,children:[I.jsxDEV("text",{fg:Z.accent,children:$.fieldLabel??J("common.rename.defaultFieldLabel")},void 0,!1,void 0,this),I.jsxDEV("input",{value:G,placeholder:$.placeholder??$.currentTitle,focused:!0,onInput:(H)=>Y(m$(H)),onSubmit:()=>W()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{paddingBottom:1,children:I.jsxDEV("text",{fg:Z.textMuted,children:J("common.rename.footerHint",{submitLabel:$.submitLabel??J("common.rename.defaultSubmitLabel")})},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function zW0($,X,Z={}){return _2($,(J)=>I.jsxDEV(QW0,{currentTitle:X,dialogTitle:Z.dialogTitle,fieldLabel:Z.fieldLabel,submitLabel:Z.submitLabel,placeholder:Z.placeholder,allowEmpty:Z.allowEmpty,onSubmit:(G)=>J(G),onCancel:()=>J(void 0)},void 0,!1,void 0,this))}var Cp,h$;var DZ=o(async()=>{D8();Z4();a0();await X4([e1(),T$()]);Cp=W1(q1(),1);h$={show:zW0}});function Dp($,X,Z){function J(){let S=$.get("customEngineIds",[]);return Array.isArray(S)?S.filter((R)=>typeof R==="string"&&R.trim().length>0):[]}function G(){return[...O8,...J()]}function Y(S){let R=$.get(h6(S),"");return typeof R==="string"?R.trim():""}function W(S){return Y(S)||dK(S).join(" ")}function H(S){return I7(S)&&Y(S).length===0&&!K(S)}function U(S){let R=$.get(u6(S),"");return typeof R==="string"?R.trim():""}function K(S){return U(S).length>0}function F(S){return U(S)||LI[S]||S}let[L,M]=Ap.useState(()=>rO()??R5);function _(S){jP(S),$.set("defaultVendor",S),M(S)}async function T(S){let R=await h$.show(X,W(S),{dialogTitle:`${F(S)} launch command`,fieldLabel:"command",submitLabel:"save",allowEmpty:!0});if(R===void 0)return;$.set(h6(S),R.trim())}async function A(S){let R=await h$.show(X,F(S),{dialogTitle:`${F(S)} display name (blank = default)`,fieldLabel:"name",submitLabel:"save",allowEmpty:!0});if(R===void 0)return;$.set(u6(S),R.trim())}function C(S){if($.set(h6(S),""),$.set(u6(S),""),!I7(S))$.set("customEngineIds",J().filter((R)=>R!==S)),Z(G().length)}async function y(){let S=await h$.show(X,"",{dialogTitle:"Add engine",fieldLabel:"id",submitLabel:"next",placeholder:"lowercase slug, e.g. aider"});if(S===void 0)return;let R=S.trim().toLowerCase();if(!R||I7(R)||J().includes(R))return;let D=await h$.show(X,"",{dialogTitle:`Add engine \xB7 ${R}`,fieldLabel:"command",submitLabel:"next",placeholder:"e.g. aider --model sonnet"});if(D===void 0)return;let x=await h$.show(X,R,{dialogTitle:`Add engine \xB7 ${R}`,fieldLabel:"name",submitLabel:"add",allowEmpty:!0});if($.set("customEngineIds",[...J(),R]),D.trim())$.set(h6(R),D.trim());let b=x?.trim()??"";$.set(u6(R),b&&b!==R?b:id(R))}return{engineList:G,engineName:F,engineCommandText:W,engineIsDefault:H,defaultEngine:L,setEngineDefault:_,editEngine:T,renameEngine:A,resetEngine:C,addEngineFlow:y}}var Ap;var Pp=o(async()=>{$7();WZ();yK();o7();S7();await DZ();Ap=W1(q1(),1)});function Rp($){let[X,Z]=l6.useState(null),[J,G]=l6.useState(null),[Y,W]=l6.useState(null),[H,U]=l6.useState(null),K=l6.useRef(!1);return l6.useEffect(()=>{if($!=="accounts"||K.current)return;K.current=!0,zH().then(Z),GH().then(G),YH().then(W),WL().then(U)},[$]),{claude:X,codex:J,copilot:Y,kimi:H}}function Tp($,X){let[Z,J]=l6.useState([]),G=Z1();l6.useEffect(()=>{if($!=="plugins")return;J(kj())},[$]);function Y(W,H,U){try{Op(W,H,U)}catch{}J(kj())}return{rows:Z,toggle:(W)=>{let H=Z.find((U)=>U.id===W);if(!H)return;try{Lp(W,!H.enabled)}catch{}J(kj())},editSetting:async(W,H)=>{let U=Z.find((L)=>L.id===W)?.settings.find((L)=>L.key===H);if(!U)return;if(U.type==="enum"){Y(W,H,Gp(U.options,U.value));return}if(U.type==="boolean"){Y(W,H,Yp(U));return}let K=await h$.show(X,U.value,{dialogTitle:U.label,fieldLabel:H,submitLabel:"save",allowEmpty:!0,placeholder:U.defaultValue});if(K===void 0)return;if(U.type!=="number"){Y(W,H,K.trim());return}let F=Wp(K);if(F===null){await K5.show(X,G("settings.plugins.settingInvalidTitle"),G("settings.plugins.settingInvalidBody",{label:U.label}),"cancel");return}Y(W,H,F)}}}var l6;var Ip=o(async()=>{qZ();Z4();kI();await X4([r9(),DZ()]);l6=W1(q1(),1)});var vI="experimental.archivedHistoryPreview";var Sp=o(()=>{K2()});function mj($,X){if(typeof $==="string"&&iK.includes($))return $;if(X===!0)return"multipleOnly";if(X===!1)return"always";return"never"}function Ep($,X){if($==="never")return!1;if($==="multipleOnly")return X>=2;return!0}var nK="chat.tabStrip.mode",iK,vj="chat.tabStrip.hideSingle";var mI=o(()=>{iK=["always","multipleOnly","never"]});var hI="zen.keepTasks",mH="zen.active";var uI=o(()=>{K2()});function hH($){return NG.includes($)?$:"auto"}var NG,wp,PZ="editor.kind",HQ="editor.customCommand",hj="auto";var uj=o(()=>{NG=["auto","vim","nvim","nano","emacs","custom"],wp=["nvim","vim","emacs","nano"]});import{accessSync as GW0,constants as YW0,mkdirSync as WW0}from"fs";function xp($,X){let Z=Z1();function J(){return $.get("notifications.toast.enabled",!0)!==!1}function G(){return $.get("notifications.sound.enabled",!0)!==!1}function Y(){$.set("notifications.toast.enabled",!J())}function W(){$.set("notifications.sound.enabled",!G())}function H(){return $.get("notifications.crossTask.enabled",!0)!==!1}function U(){$.set("notifications.crossTask.enabled",!H())}function K(){return Bj($.get(bK))}function F(h){$.set(bK,h)}function L(){return $.get(mH,!1)===!0}function M(){$.set(mH,!L())}function _(){return $.get(hI,!0)!==!1}function T(){$.set(hI,!_())}function A(){return mj($.get(nK,void 0),$.get(vj,void 0))}function C(){let h=iK[(iK.indexOf(A())+1)%iK.length];$.set(nK,h)}function y(){return $.get("experimental.remoteProjects",!1)===!0}function S(){$.set("experimental.remoteProjects",!y())}function R(){return $.get(WG,!1)===!0}function D(){$.set(WG,!R())}function x(){return $.get(HG,!1)===!0}function b(){$.set(HG,!x())}function i(){return $.get(vI,!1)===!0}function l(){$.set(vI,!i())}function t(){return hH($.get(PZ,hj))}function n(){let h=NG.indexOf(t()),Y0=NG[(h+1)%NG.length];if(Y0)$.set(PZ,Y0)}function Z0(){let h=$.get(HQ,"");return typeof h==="string"?h:""}async function r(){let h=await h$.show(X,Z0(),{dialogTitle:"Custom editor command (use {file} for the path)",fieldLabel:"command",submitLabel:"save",allowEmpty:!0});if(h===void 0)return;let Y0=h.trim();if($.set(HQ,Y0),Y0)$.set(PZ,"custom")}function q0(){return sL($.get(aL,rL))}async function N0(){let h=await h$.show(X,String(q0()),{dialogTitle:Z("settings.general.scrollbackTitle"),fieldLabel:Z("settings.general.scrollbackField"),submitLabel:"save",placeholder:String(rL)});if(h===void 0)return;let Y0=Number.parseInt(h.trim(),10);if(!Number.isFinite(Y0)){await K5.show(X,Z("settings.general.scrollbackInvalidTitle"),Z("settings.general.scrollbackInvalidBody"),"cancel");return}$.set(aL,sL(Y0))}function M0(){let h=$.get(nJ,"");return typeof h==="string"?h:""}let K0=()=>Oy(M0());function W0(){let h=K0();if(h==="default")return Z("settings.general.worktreeKindDefault");if(h==="nextToProject")return Z("settings.general.worktreeKindNext");return Z("settings.general.worktreeKindCustom")}function k(){let h=$.get(nO,"");return(typeof h==="string"?h.trim():"")||(K0()==="custom"?M0().trim():"")}function m(){let h=K0();if(h==="default")$.set(nJ,YP);else if(h==="nextToProject")$.set(nJ,k());else $.set(nO,M0().trim()),$.set(nJ,"")}async function v(){let h=await h$.show(X,k(),{dialogTitle:Z("settings.general.worktreeBaseTitle"),fieldLabel:Z("settings.general.worktreeBaseField"),submitLabel:"save",placeholder:`${zZ}/../worktrees`,allowEmpty:!0});if(h===void 0)return;let Y0=h.trim();if(Y0.includes(zZ)){if(!WP(Y0)){await K5.show(X,"Can't use that worktree location",`${zZ} only expands as the leading path segment (e.g. ${zZ}/../kobe-worktrees). Keeping the previous setting.`,"cancel");return}}else if(Y0){let e=HP(Y0)??Y0;try{WW0(e,{recursive:!0}),GW0(e,YW0.W_OK)}catch(a){await K5.show(X,"Can't use that worktree location",`${e} isn't usable (${F1(a)}). Keeping the previous setting \u2014 pick a writable directory.`,"cancel");return}}if($.set(nO,Y0),Y0)$.set(nJ,Y0);else if(K0()==="custom")$.set(nJ,"")}return{toastEnabled:J,toggleToast:Y,soundEnabled:G,toggleSound:W,crossTaskEnabled:H,toggleCrossTask:U,splitStyle:K,selectSplitStyle:F,zenDefaultOn:L,toggleZenDefaultOn:M,zenKeepsTasks:_,toggleZenKeepsTasks:T,remoteProjectsEnabled:y,toggleRemoteProjects:S,autoStatusOn:R,toggleAutoStatus:D,dispatcherOn:x,toggleDispatcher:b,archivedHistoryOn:i,toggleArchivedHistory:l,editorKind:t,cycleEditorKind:n,editorCustomCommand:Z0,editEditorCustom:r,scrollbackRows:q0,editScrollbackRows:N0,tabStripMode:A,cycleTabStripMode:C,worktreeKind:K0,worktreeKindLabel:W0,worktreeCustomPath:k,cycleWorktreeBase:m,editWorktreeCustom:v}}var fp=o(async()=>{Sp();cK();Tj();jT();gK();mI();qP();uI();uj();Z4();await X4([r9(),DZ()])});import{TextAttributes as HW0}from"@opentui/core";function cj($){let X=l4(),Z=n0(),J=I5(),{theme:G}=Z,Y=Z1(),[W,H]=P8.useState("sidebar"),[U,K]=P8.useState("general"),[F,L]=P8.useState(0),[M,_]=P8.useState(0),[T,A]=P8.useState(""),[C,y]=P8.useState(""),[S,R]=P8.useState(""),D=P8.useMemo(()=>Z.all().slice().sort(),[Z]),x=hK($.orchestrator),b=xp($.kv,X),i=Dp($.kv,X,(j0)=>_((b0)=>Math.max(0,Math.min(b0,j0)))),l=$.orchestrator instanceof NZ?$.orchestrator:null,t=Y5(l?l.usageSnapshotSignal():qW0),n=Rp(U),Z0=Tp(U,X);function r(){return nd(U,{themeNames:D,focusAccentSlots:JQ,engineList:i.engineList(),plugins:Z0.rows.map((j0)=>({id:j0.id,settingKeys:j0.settings.map((b0)=>b0.key)})),hasDaemon:x})}function q0(){return r().length}function N0(j0){if(Z.selected===j0)return;if(!Z.set(j0))return;$.kv.set("activeTheme",j0),$.onVisualPrefsChange?.()}function M0(j0){if(qj()===j0)return;xH(j0),$.kv.set(Lj,j0),$.onVisualPrefsChange?.()}function K0(){let j0=!Z.transparentBackground;Z.setTransparentBackground(j0),$.kv.set("transparentBackground",j0),$.onVisualPrefsChange?.()}function W0(j0){if(Z.focusAccent===j0)return;Z.setFocusAccent(j0),$.kv.set("focusAccent",j0),$.onVisualPrefsChange?.()}function k(){if(U!=="engines"||W!=="body")return null;let j0=WI(r(),M);return j0?.kind==="engine"?j0.vendor:null}async function m(){R("submitting...");try{let j0=fH({title:T,body:C});R(`sent: ${j0.url}`),A(""),y(""),_(0)}catch(j0){R(`error: ${F1(j0)}`)}}let v=U==="feedback"&&W==="body";function h(j0){let b0=M+j0;if(b0<0||b0>2){H("sidebar");return}_(b0)}function Y0(){if(W!=="sidebar"||q0()===0)return;H("body"),_(0)}function e(j0){if(W==="sidebar"){let s0=(F+j0+GG.length)%GG.length;L(s0);let G1=GG[s0];if(G1)K(G1.id),_(0);return}let b0=q0();if(b0===0)return;_((M+j0+b0)%b0)}function a(j0){K(j0),L(GG.findIndex((b0)=>b0.id===j0)),_(0),H("sidebar")}let J0={theme:(j0)=>N0(j0.name),language:(j0)=>M0(j0.locale),transparent:()=>K0(),focusAccent:(j0)=>W0(j0.slot),toast:()=>b.toggleToast(),sound:()=>b.toggleSound(),crossTask:()=>b.toggleCrossTask(),keyHints:()=>Oj($.kv),splitStyle:(j0)=>b.selectSplitStyle(j0.style),zenDefaultOn:()=>b.toggleZenDefaultOn(),zenKeepTasks:()=>b.toggleZenKeepsTasks(),editorKind:()=>b.cycleEditorKind(),editorCustom:()=>void b.editEditorCustom(),worktreeBase:()=>b.cycleWorktreeBase(),worktreeCustom:()=>void b.editWorktreeCustom(),scrollbackRows:()=>void b.editScrollbackRows(),tabStripHideSingle:()=>b.cycleTabStripMode(),engine:(j0)=>void i.editEngine(j0.vendor),engineAdd:()=>void i.addEngineFlow(),pluginToggle:(j0)=>Z0.toggle(j0.pluginId),pluginSetting:(j0)=>void Z0.editSetting(j0.pluginId,j0.key),feedbackTitle:()=>_(0),feedbackBody:()=>_(1),feedbackSend:()=>void m(),devReset:()=>void MI(X,$.kv,J),devRestartDaemon:()=>void FI(X,$.orchestrator,J),devRemoteProjects:()=>b.toggleRemoteProjects(),devAutoStatus:()=>b.toggleAutoStatus(),devDispatcher:()=>b.toggleDispatcher(),devArchivedHistory:()=>b.toggleArchivedHistory()};function C0(){let j0=WI(r(),M);if(!j0)return;J0[j0.kind](j0)}w1(()=>({enabled:(!$.standalone||X.stack.length===0)&&!v,bindings:[{key:"down",cmd:()=>e(1)},{key:"up",cmd:()=>e(-1)},{key:"j",cmd:()=>e(1)},{key:"k",cmd:()=>e(-1)},{key:"tab",cmd:()=>e(1)},{key:"right",cmd:Y0},{key:"l",cmd:Y0},{key:"left",cmd:()=>H("sidebar")},{key:"h",cmd:()=>H("sidebar")},{key:"return",cmd:()=>{if(W==="sidebar"){Y0();return}C0()}},{key:"t",cmd:K0},{key:"r",cmd:()=>{let j0=k();if(j0)i.renameEngine(j0)}},{key:"x",cmd:()=>{let j0=k();if(j0)i.resetEngine(j0)}},{key:"d",cmd:()=>{let j0=k();if(j0)i.setEngineDefault(j0)}}]})),w1(()=>({enabled:v,bindings:[{key:"tab",cmd:()=>h(1)},{key:"shift+tab",cmd:()=>h(-1)}]})),w1(()=>({enabled:v&&M===2,bindings:[{key:"return",cmd:()=>void m()}]}));let z0=P8.useRef(null),x0=P8.useCallback((j0)=>{let b0=z0.current;if(!b0||!j0||b0.viewport.height<=0)return;b0.scrollChildIntoView(j0.id)},[]),m0={level:W,bodyRow:M,setLevel:H,setBodyRow:_},P0=I.jsxDEV("box",{paddingLeft:2,paddingRight:2,paddingBottom:1,gap:1,children:[I.jsxDEV("box",{flexDirection:"row",justifyContent:"space-between",children:[I.jsxDEV("text",{attributes:HW0.BOLD,fg:G.text,children:Y("settings.title")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:G.textMuted,onMouseUp:()=>$.onClose(),children:Y("settings.esc")},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{flexDirection:"row",gap:2,children:[I.jsxDEV(El,{level:W,cursor:F,switchSection:a},void 0,!1,void 0,this),I.jsxDEV("box",{flexGrow:1,flexShrink:1,flexDirection:"column",gap:1,children:[U==="general"?I.jsxDEV(wl,{...m0,prefs:b,themeNames:D,selectTheme:N0,currentLocale:qj(),selectLanguage:M0,toggleTransparent:K0,selectFocusAccent:W0,usage:t},void 0,!1,void 0,this):null,U==="engines"?I.jsxDEV(Nl,{...m0,vendors:i.engineList(),isCustom:(j0)=>!I7(j0),displayName:i.engineName,commandText:i.engineCommandText,isDefault:i.engineIsDefault,isDefaultEngine:(j0)=>i.defaultEngine===j0,editEngine:(j0)=>void i.editEngine(j0),onAddEngine:()=>void i.addEngineFlow()},void 0,!1,void 0,this):null,U==="accounts"?I.jsxDEV(Ml,{claudeStatus:n.claude,codexStatus:n.codex,copilotStatus:n.copilot,kimiStatus:n.kimi},void 0,!1,void 0,this):null,U==="plugins"?I.jsxDEV(_p,{...m0,plugins:Z0.rows,toggle:Z0.toggle,editSetting:(j0,b0)=>void Z0.editSetting(j0,b0)},void 0,!1,void 0,this):null,U==="keys"?I.jsxDEV(Jp,{},void 0,!1,void 0,this):null,U==="feedback"?I.jsxDEV(Xp,{...m0,title:T,setTitle:(j0)=>{A(j0),R("")},body:C,setBody:(j0)=>{y(j0),R("")},status:S,onTitleSubmit:()=>_(1),submit:()=>void m()},void 0,!1,void 0,this):null,U==="dev"?I.jsxDEV(Zp,{...m0,prefs:b,hasDaemon:x,confirmReset:()=>void MI(X,$.kv,J),confirmRestartDaemon:()=>void FI(X,$.orchestrator,J)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{paddingTop:0,children:I.jsxDEV("text",{fg:G.textMuted,children:v?Y("settings.nav.feedback"):Y("settings.nav.default")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(!$.standalone)return I.jsxDEV(Aj.Provider,{value:x0,children:P0},void 0,!1,void 0,this);return I.jsxDEV(Aj.Provider,{value:x0,children:I.jsxDEV("scrollbox",{ref:(j0)=>{z0.current=j0},flexGrow:1,verticalScrollbarOptions:{trackOptions:{foregroundColor:"transparent"}},children:P0},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var P8,qW0;var bp=o(async()=>{PK();c9();fK();yK();mK();HI();S7();Z4();o9();a0();await X4([O$(),e1(),O5(),T$(),Bl(),Dj(),Fl(),xl(),Qp(),Vp(),Pp(),Ip(),fp()]);P8=W1(q1(),1),qW0=X5(null);cj.show=($,X,Z)=>{let J=!1;return new Promise((G)=>{$.replace(()=>I.jsxDEV(cj,{kv:X,orchestrator:Z,onVisualPrefsChange:()=>{J=!0},onClose:()=>G({visualPrefsChanged:J})},void 0,!1,void 0,this),()=>G({visualPrefsChanged:J}))})}});function yp($,X){return`${$}:${X}`}function kp($,X){let Z=yp(X.taskId,X.tabId),J=$.get(Z);if(J==="needs_input"||J==="error")return $;let G=new Map($);return G.set(Z,X.kind),G}function vp($,X,Z){let J=yp(X,Z);if(!$.has(J))return $;let G=new Map($);return G.delete(J),G}function mp($,X){return $==="error"||X}function hp($){if($==="permission_needed")return"needs_input";if($==="error"||$==="rate_limited")return"error";if($==="turn_complete")return"done";return null}function up($){if($==="done")return"done";if($==="error")return"error";if($==="needs_input")return"needs_input";return null}function dj($,X,Z,J){if($===null)return[];let G=[];for(let[Y,W]of X){if(Y===Z)continue;if($.get(Y)===W)continue;let H=J(W);if(H)G.push({key:Y,kind:H})}return G}function UW0($){let X="",Z=0;for(let J=0;J<$.length;J++){let G=$.charCodeAt(J);if(G>31&&(G<127||G>159))continue;X+=`${$.slice(Z,J)} `,Z=J+1}return Z===0?$:X+$.slice(Z)}function cp($){return`\x1B]9;${UW0($)}\x07`}var gp=4500;var lj="../pulse-n3cq1btw.wav";var dp=()=>{};import{existsSync as KW0,mkdirSync as NW0}from"fs";import{tmpdir as MW0}from"os";import{basename as FW0,delimiter as OW0,isAbsolute as LW0,join as cI,resolve as jW0}from"path";function VW0($,X,Z){if($==="ffplay")return[$,"-autoexit","-nodisp","-af",`volume=${Z}`,X];if($==="mpv")return[$,"--no-video","--audio-display=no","--volume",String(Math.round(Z*100)),X];if($==="mpg123"||$==="mpg321")return[$,"-g",String(Math.round(Z*100)),X];if($==="mplayer")return[$,"-vo","null","-volume",String(Math.round(Z*100)),X];if($==="afplay"||$==="omxplayer"||$==="aplay"||$==="cmdmp3")return[$,X];if($==="play")return[$,"-v",String(Z),X];if($==="cvlc")return[$,`--gain=${Z}`,"--play-and-exit",X];return[$,"-c",`(New-Object Media.SoundPlayer '${X.replace(/'/g,"''")}').PlaySync()`]}function CW0($,X=OW0){return $.split(X).filter(Boolean)}function AW0(){if(pj!==void 0)return pj;let $=CW0(process.env.PATH??"");return pj=_W0.find((X)=>$.some((Z)=>KW0(cI(Z,X))))??null,pj}async function DW0(){return np??=(async()=>{NW0(pp,{recursive:!0});let $=cI(pp,FW0(lp)),X=Bun.file($);if(await X.exists())return $;return await Bun.write(X,Bun.file(lp)),$})(),np}function ip($=0.4){let X=AW0();if(!X)return;DW0().then((Z)=>{try{Bun.spawn(VW0(X,Z,$),{stdin:"ignore",stdout:"ignore",stderr:"ignore"}).unref?.()}catch{}}).catch(()=>{return})}var lp,pp,_W0,pj,np;var op=o(()=>{dp();lp=LW0(lj)?lj:jW0(import.meta.dir,lj),pp=cI(MW0(),"kobe-sfx"),_W0=["ffplay","mpv","mpg123","mpg321","mplayer","afplay","play","omxplayer","aplay","cmdmp3","cvlc","powershell.exe"]});function rp($){let[X,Z]=B7.useState([]),[J,G]=B7.useState(new Map),Y=B7.useMemo(()=>T5(),[]),W=B7.useRef(0),H=B7.useRef(new Set);B7.useEffect(()=>()=>{for(let M of H.current)clearTimeout(M);H.current.clear()},[]);let U=B7.useCallback((M)=>{Z((_)=>_.filter((T)=>T.id!==M))},[]),K=B7.useCallback((M)=>{if(G((T)=>kp(T,M)),Y["notifications.sound.enabled"]!==!1){try{process.stdout.write(`\x07${cp(`kobe \u2014 ${M.title}`)}`)}catch{}ip()}let _=Y["notifications.toast.enabled"]!==!1;if(mp(M.kind,_)){let T=++W.current;Z((C)=>[...C,{id:T,...M}]);let A=setTimeout(()=>{H.current.delete(A),U(T)},gp);H.current.add(A)}},[Y,U]),F=B7.useCallback((M,_)=>{G((T)=>vp(T,M,_))},[]),L=B7.useMemo(()=>({toasts:X,unread:J,notify:K,dismiss:U,markRead:F}),[X,J,K,U,F]);return I.jsxDEV(ap.Provider,{value:L,children:$.children},void 0,!1,void 0,this)}function qQ(){let $=B7.useContext(ap);if(!$)throw Error("useNotifications must be used within a NotificationsProvider");return $}var B7,ap;var uH=o(()=>{K2();op();a0();B7=W1(q1(),1),ap=B7.createContext(null)});import{TextAttributes as sp}from"@opentui/core";function IW0($){return($.body?2:1)+1}function ep(){let{theme:$}=n0(),X=F2(),Z=qQ();if(Z.toasts.length===0)return null;let J=Z.toasts.slice(-PW0),G=J.reduce((H,U)=>H+IW0(U),0),Y=Math.max(0,X.width-tp-RW0),W=Math.max(0,X.height-TW0-G);return I.jsxDEV("box",{position:"absolute",zIndex:2500,left:Y,top:W,width:tp,flexDirection:"column",gap:1,children:J.map((H)=>{let U=H.kind==="needs_input"?$.warning:H.kind==="error"?$.error:$.success,K=H.kind==="needs_input"?"?":H.kind==="error"?"\u2715":"\u2713";return I.jsxDEV("box",{flexDirection:"row",backgroundColor:$.backgroundElement,onMouseUp:()=>Z.dismiss(H.id),children:[I.jsxDEV("box",{flexDirection:"column",flexShrink:0,children:[I.jsxDEV("text",{fg:U,wrapMode:"none",children:"\u258C"},void 0,!1,void 0,this),H.body?I.jsxDEV("text",{fg:U,wrapMode:"none",children:"\u258C"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),I.jsxDEV("box",{flexDirection:"column",flexBasis:0,flexGrow:1,flexShrink:1,paddingLeft:1,paddingRight:1,children:[I.jsxDEV("box",{flexDirection:"row",children:[I.jsxDEV("text",{fg:U,attributes:sp.BOLD,wrapMode:"none",flexShrink:0,children:`${K} `},void 0,!1,void 0,this),I.jsxDEV("text",{fg:$.text,attributes:sp.BOLD,wrapMode:"none",flexBasis:0,flexGrow:1,flexShrink:1,children:H.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H.body?I.jsxDEV("box",{flexDirection:"row",paddingLeft:2,children:I.jsxDEV("text",{fg:$.textMuted,wrapMode:"none",flexBasis:0,flexGrow:1,flexShrink:1,children:H.body},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},H.id,!0,void 0,this)})},void 0,!1,void 0,this)}var PW0=3,tp=44,RW0=2,TW0=2;var $n=o(async()=>{uH();a0();await X4([O$(),e1()])});function Xn($){let[X,Z]=m3.useState($.initial??"sidebar"),J=I5(),G=y1(X),Y=m3.useCallback((U)=>{if(G.current===U)return;let K=J?.currentFocusedRenderable;if(K&&!K.isDestroyed)try{K.blur()}catch{}Z(U)},[J]),W=m3.useCallback((U)=>{let F=(nj.indexOf(G.current)+U+nj.length)%nj.length;Y(nj[F])},[Y]),H=m3.useMemo(()=>({focused:X,is:(U)=>X===U,setFocused:Y,cycle:W}),[X,Y,W]);return I.jsxDEV(dI.Provider,{value:H,children:$.children},void 0,!1,void 0,this)}function Zn(){let $=m3.useContext(dI);if(!$)throw Error("useFocus: must be called inside <FocusProvider>. See src/tui-react/context/focus.tsx.");return $}function Jn(){return m3.useContext(dI)}var m3,nj,dI;var ij=o(async()=>{t7();a0();await O$();m3=W1(q1(),1),nj=["sidebar","workspace","files","terminal"],dI=m3.createContext(null)});async function Qn($={}){let X=$.logTag??"orch-connect",Z=$.connect??lJ,J=null;try{let G=await Z();if(!G)return rX(X,"no daemon running \u2014 caller degrades"),null;return J=new NZ(G,{...$.orchestratorOptions,channels:$.channels}),await J.init(),J}catch(G){return P5(X,G),J?.dispose(),null}}var zn=o(()=>{sX();k2();PK()});function oj($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function aj($){if(!oj($))return{ok:!1,reason:"theme must be a JSON object at the top level"};let X=$;if(!("theme"in X))return{ok:!1,reason:"missing required key `theme`"};let Z=X.theme;if(!oj(Z))return{ok:!1,reason:"`theme` must be an object map"};if("defs"in X&&X.defs!==void 0){if(!oj(X.defs))return{ok:!1,reason:"`defs` must be an object map"};for(let[J,G]of Object.entries(X.defs))if(typeof G!=="string")return{ok:!1,reason:`defs.${J} must be a string (hex like "#abc" or a ref name)`}}for(let[J,G]of Object.entries(Z)){if(typeof G==="string")continue;if(!oj(G))return{ok:!1,reason:`theme.${J} must be a string or a { dark, light } object (got ${G===null?"null":Array.isArray(G)?"array":typeof G})`};let Y=G;if(typeof Y.dark!=="string")return{ok:!1,reason:`theme.${J}.dark must be a string`};if(typeof Y.light!=="string")return{ok:!1,reason:`theme.${J}.light must be a string`}}if("$schema"in X&&X.$schema!==void 0&&typeof X.$schema!=="string")return{ok:!1,reason:"`$schema` must be a string when present"};return{ok:!0,theme:X}}var lI=()=>{};import{readFileSync as SW0,readdirSync as EW0}from"fs";import{join as Gn}from"path";function cH(){return Gn(T7(),"themes")}function pI(){let $=cH(),X;try{X=EW0($)}catch{return[]}let Z=[];for(let J of X){if(!J.endsWith(".json"))continue;let G=Gn($,J),Y;try{let U=SW0(G,"utf8");Y=JSON.parse(U)}catch(U){let K=F1(U);console.warn(`[kobe] skipping user theme ${G}: invalid JSON \u2014 ${K}`);continue}let W=aj(Y);if(!W.ok){console.warn(`[kobe] skipping user theme ${G}: ${W.reason}`);continue}let H=J.slice(0,-5);Z.push({name:H,theme:W.theme})}return Z}var nI=o(()=>{R$();lI()});function iI($,X){if(typeof X.theme==="string"&&X.theme.length>0&&X.theme!==$.selectedTheme()){if(!$.hasTheme(X.theme))$.reloadUserThemes();if($.hasTheme(X.theme))$.setTheme(X.theme)}if(typeof X.transparentBackground==="boolean"&&X.transparentBackground!==$.transparentBackground())$.setTransparentBackground(X.transparentBackground);if(X.focusAccent===null||typeof X.focusAccent==="string"){let Z=xW0(X.focusAccent);if(Z&&Z!==$.focusAccent())$.setFocusAccent(Z)}}function xW0($){if($===null)return"primary";return wW0.includes($)?$:null}var wW0;var Yn=o(()=>{wW0=["primary","success","info"]});function bW0($,X,Z=Wn,J=fW0){let G=$-Z;if(G<J)return null;let Y=(W)=>Math.round(W/1048576);return`event loop stalled ~${G}ms \u2014 rss=${Y(X.rss)}MB heapUsed=${Y(X.heapUsed)}MB`}function Hn(){let $=Date.now(),X=setInterval(()=>{let Z=Date.now(),J=Z-$;$=Z;let G=bW0(J,process.memoryUsage());if(G)rX("stall",G)},Wn);return X.unref?.(),()=>clearInterval(X)}var Wn=1000,fW0=2000;var qn=o(()=>{sX()});function Un($){let X={backgroundColor:"transparent",externalOutputMode:"passthrough",exitOnCtrlC:!1,screenMode:"alternate-screen",useKittyKeyboard:{}};return $?{...X,onDestroy:$}:X}function Bn($,X){let Z={backgroundColor:"transparent",exitOnCtrlC:!1,screenMode:"split-footer",footerHeight:$,useKittyKeyboard:{}};return X?{...Z,onDestroy:X}:Z}function Kn($){process.on("exit",()=>$.destroy())}function Nn(){let $=!1,X=()=>{if($)return;$=!0,setTimeout(()=>process.exit(0),5000)};for(let Z of["SIGHUP","SIGTERM","SIGINT"])process.on(Z,X)}function Mn($=5000){let X=setInterval(()=>{if(process.ppid===1)process.exit(0)},$);return X.unref?.(),()=>clearInterval(X)}class On{owner=null;anchor=null;claim($,X){this.owner=$,this.anchor={x:Math.max(0,Math.trunc(X.x)),y:Math.max(0,Math.trunc(X.y))}}release($){if(this.owner!==$)return!1;return this.owner=null,this.anchor=null,!0}current(){return this.anchor}}class Ln{controller;pending=Buffer.alloc(0);frame=Buffer.alloc(0);constructor($){this.controller=$}push($){let X=this.pending.length>0?Buffer.concat([this.pending,$]):$;this.pending=Buffer.alloc(0);let Z=[],J=0;while(J<X.length){if(this.frame.length===0){let K=X.indexOf(UQ,J);if(K<0){let F=X.subarray(J),L=Fn(F,[UQ]),M=F.length-L;if(M>0)Z.push(F.subarray(0,M));if(L>0)this.pending=Buffer.from(F.subarray(M));break}if(K>J)Z.push(X.subarray(J,K));this.frame=Buffer.from(UQ),J=K+UQ.length;continue}let G=X.indexOf(rj,J),Y=X.indexOf(UQ,J);if(Y>=0&&(G<0||Y<G)){this.frame=Buffer.from(UQ),J=Y+UQ.length;continue}if(G>=0){if(G>J)this.frame=Buffer.concat([this.frame,X.subarray(J,G)]);Z.push(this.frame);let K=this.controller.current();if(K)Z.push(Buffer.from(`\x1B[${K.y+1};${K.x+1}H\x1B[?25l`));Z.push(rj),this.frame=Buffer.alloc(0),J=G+rj.length;continue}let W=X.subarray(J),H=Fn(W,[UQ,rj]),U=W.length-H;if(U>0)this.frame=Buffer.concat([this.frame,W.subarray(0,U)]);if(H>0)this.pending=Buffer.from(W.subarray(U));break}return Z.length>0?Buffer.concat(Z):Buffer.alloc(0)}flush(){if(this.frame.length>0)return this.frame=Buffer.alloc(0),this.pending=Buffer.alloc(0),Buffer.alloc(0);let $=this.pending;return this.pending=Buffer.alloc(0),$}}function Fn($,X){let Z=Math.min($.length,Math.max(...X.map((J)=>J.length-1)));for(let J=Z;J>0;J-=1){let G=$.subarray($.length-J);if(X.some((Y)=>J<Y.length&&G.equals(Y.subarray(0,J))))return J}return 0}function gW0($,X){if(typeof $!=="string")return Buffer.from($);let Z=typeof X==="string"?X:void 0;return Buffer.from($,Z)}function yW0($,X){return typeof $==="function"?$:X}function kW0($,X=dH){let Z=new Ln(X),G=(W,H,U)=>{let K=Z.push(gW0(W,H)),F=yW0(H,U);if(K.length===0){if(F)queueMicrotask(()=>F(null));return!0}return F?$.write(K,F):$.write(K)};return{stdout:new Proxy($,{get(W,H){if(H==="write")return G;let U=Reflect.get(W,H,W);return typeof U==="function"?U.bind(W):U},set(W,H,U){if(H==="write")return G=U,!0;return Reflect.set(W,H,U,W)}}),flush(){let W=Z.flush();if(W.length>0)$.write(W)}}}function jn($){if($.platform!=="darwin"||!$.fullscreen)return{active:!1,rendererOptions:{},attach:()=>()=>{},flush:()=>{}};let X=kW0($.stdout,$.controller);return{active:!0,rendererOptions:{stdout:X.stdout,remote:!1},attach:(Z)=>vW0(Z,$.stdout),flush:()=>X.flush()}}function vW0($,X,Z=process){let J=()=>{let{columns:G,rows:Y}=X;if(!G||!Y)return;$.resize(G,Y)};return Z.on("SIGWINCH",J),()=>Z.removeListener("SIGWINCH",J)}var UQ,rj,dH;var oI=o(()=>{UQ=Buffer.from("\x1B[?2026h"),rj=Buffer.from("\x1B[?2026l");dH=new On});import{createCliRenderer as mW0}from"@opentui/core";function uW0(){return oK.useEffect(()=>{let $=!1,X=null,Z=[];return(async()=>{let J=await Qn({logTag:"ui-prefs",channels:["ui-prefs","keybindings"]});if(!J)return;if($){J.dispose();return}X=J;let G=(U)=>{if(!U)return;if(iI(_n,U),wH(U.locale))xH(U.locale)},Y=J.uiPrefsStore();G(Y.get()),Z.push(Y.subscribe(()=>G(Y.get())));let W=J.keybindingsRevStore(),H=W.get();Z.push(W.subscribe(()=>{let U=W.get();if(U==null||U===H)return;let K=H===null;if(H=U,!K)el()}))})(),()=>{$=!0;for(let J of Z)J();X?.dispose()}},[]),null}function cW0($){let{theme:X}=n0();return oK.useEffect(()=>{P5("pane-crash",$.error)},[$.error]),I.jsxDEV("box",{flexDirection:"column",flexGrow:1,backgroundColor:X.background,paddingLeft:1,paddingTop:1,gap:1,children:[I.jsxDEV("text",{fg:X.error,children:P4("common.paneCrash.title")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:X.textMuted,children:P4("common.paneCrash.hint")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}async function MG($){if($.logContext)Ax($.logContext);Rx(),fj();for(let{name:A,theme:C}of pI())eT(A,C);let X=ed(hW0,SH);iI(_n,{theme:X.theme,transparentBackground:X.transparent,focusAccent:X.focusAccent}),xH(X.locale);let Z=$.providers?.kv??!1,J=$.providers?.focus??!0,G=$.providers?.notifications??!1,Y=await $.setup(X),W=jn({platform:process.platform,fullscreen:$.inlineRows===void 0,stdout:process.stdout}),H=()=>{},U=()=>{H(),W.flush(),Y.onDestroy?.()},K=await mW0({...$.inlineRows!==void 0?Bn($.inlineRows,U):Un(U),...W.rendererOptions});H=W.attach(K);let F=I.jsxDEV(I.Fragment,{children:[I.jsxDEV(uW0,{},void 0,!1,void 0,this),I.jsxDEV(Vn,{children:Y.root()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M=I.jsxDEV(Yl,{children:G?I.jsxDEV(rp,{children:F},void 0,!1,void 0,this):F},void 0,!1,void 0,this),_=J?I.jsxDEV(Xn,{initial:"sidebar",children:M},void 0,!1,void 0,this):M,T=Z?I.jsxDEV(Al,{children:_},void 0,!1,void 0,this):_;nR(K).render(I.jsxDEV(xc,{mode:"dark",theme:X.theme,children:T},void 0,!1,void 0,this)),Kn(K),Nn(),Mn(),Hn()}var oK,hW0="claude",_n,Vn;var aK=o(async()=>{sX();k2();zn();bj();nI();Yn();qn();oI();HI();k3();uH();Z4();a0();await X4([O$(),ij(),e1(),e1(),T$()]);oK=W1(q1(),1),_n={selectedTheme:Pc,hasTheme:SH,setTheme:Rc,reloadUserThemes:()=>{for(let{name:$,theme:X}of pI())eT($,X)},transparentBackground:Tc,setTransparentBackground:Ic,focusAccent:Sc,setFocusAccent:Ec};Vn=class Vn extends oK.Component{state={error:null};static getDerivedStateFromError($){return{error:$}}render(){if(this.state.error!==null)return I.jsxDEV(cW0,{error:this.state.error},void 0,!1,void 0,this);return this.props.children}}});import*as Cn from"fs";import*as sj from"os";function tj($){return $.slice($.lastIndexOf("/")+1)}function t9($){if($==="~")return sj.homedir();if($.startsWith("~/"))return sj.homedir()+$.slice(1);return $}function An($){if(!$)return{base:"",filter:""};let Z=t9($==="~"?"~/":$);if(Z.endsWith("/"))return{base:Z,filter:""};let J=Z.lastIndexOf("/");if(J===-1)return{base:"",filter:Z};return{base:Z.slice(0,J+1),filter:Z.slice(J+1)}}function Dn($){if(!$)return[];try{let X=Cn.readdirSync($,{withFileTypes:!0}),Z=[];for(let J of X)if(J.isDirectory())Z.push(J.name);return Z.sort((J,G)=>J.localeCompare(G))}catch{return[]}}function Pn($,X){let Z=X.toLowerCase(),G=Z.startsWith(".")?$:$.filter((Y)=>!Y.startsWith("."));if(!Z)return G;return G.filter((Y)=>Y.toLowerCase().startsWith(Z))}function lH($,X,Z){let J=X+Z;if($.startsWith("~")){let G=sj.homedir();if(J===G)return"~";if(J.startsWith(`${G}/`))return`~${J.slice(G.length)}`}return J}var FG=()=>{};function Rn($){return $.kind==="leaf"?0:1+Math.max(...$.children.map(Rn))}function ej($){return{root:{kind:"leaf",id:"leaf-1",content:$},activeLeafId:"leaf-1",nextOrdinal:2}}function C2($){return $.kind==="leaf"?[$]:$.children.flatMap(C2)}function rK($,X,Z){let J={kind:"leaf",id:`leaf-${$.nextOrdinal}`,content:Z},G=(W)=>{if(W.kind==="leaf"){if(W.id!==$.activeLeafId)return W;return{kind:"group",orientation:X,children:[W,J]}}if(W.orientation===X){let H=W.children.findIndex((U)=>U.kind==="leaf"&&U.id===$.activeLeafId);if(H>=0){let U=[...W.children.slice(0,H+1),J,...W.children.slice(H+1)];return{...W,children:U}}}return{...W,children:W.children.map(G)}},Y=G($.root);if(Rn(Y)>4)return $;return{root:Y,activeLeafId:J.id,nextOrdinal:$.nextOrdinal+1}}function Tn($,X){let Z=C2($.root);if(Z.length<=1)return null;let J=(K)=>{if(K.kind==="leaf")return K.id===X?null:K;let F=K.children.map(J).filter((L)=>L!==null);if(F.length===0)return null;if(F.length===1)return F[0];return{...K,children:F}},G=J($.root);if(G===null)return null;if(C2(G).length===Z.length)return $;let Y=Z.map((K)=>K.id),W=Y.indexOf(X),H=Y[W>0?W-1:W+1],U=$.activeLeafId===X?H:$.activeLeafId;return{...$,root:G,activeLeafId:U}}function $_($,X,Z){let J=Z.trim(),G=J.length>0?J:null,Y=(W)=>W.kind==="leaf"?W.id===X?{...W,title:G}:W:{...W,children:W.children.map(Y)};if(!C2($.root).some((W)=>W.id===X))return $;return{...$,root:Y($.root)}}function In($,X){let Z=C2($.root).map((Y)=>Y.id);if(Z.length<=1)return $;let J=Z.indexOf($.activeLeafId),G=Z[(J+X+Z.length)%Z.length];return{...$,activeLeafId:G}}function aI($){return!$||C2($.root).some((X)=>X.id==="leaf-1")}function tK($){return $?C2($.root).length>1:!1}function X_($){let X=C2($.root);return X.length===1&&X[0]?.id==="leaf-1"?null:$}function BQ($,X){return X==="leaf-1"?$:`${$}::${X}`}function rI($,X,Z,J){let G=(H)=>{let U=(H??X)[0]??"",K=tj(U);return K.length>0?K:"?"},Y=new Map,W=new Map;for(let H of $){if(H.title){W.set(H.id,H.title);continue}let U=H.content===null?Z||J?.get(H.id)||G(H.content):J?.get(H.id)||sK,K=(Y.get(U)??0)+1;Y.set(U,K),W.set(H.id,K===1?U:`${U} ${K}`)}return W}function dW0($){let X=($??"").trim();if(X.length<3)return null;if(/^[\d\s\p{P}\p{S}]+$/u.test(X))return null;return X}function sI($,X,Z){if(Z===null&&$.kind==="engine")return Z3({...$,kind:"command",lastTitle:null},X);let J=Z??($.kind==="engine"?$.vendor??X:void 0);if(!J||u4(J).terminalTitle?.ownsStatus!==!0)return Z3($,X);return Z3($.kind==="engine"?{...$,lastTitle:null,vendor:J}:{...$,lastTitle:null},X)}function Z3($,X,Z){if($.title)return $.title;let J=$.splitTree?C2($.splitTree.root):[];if(J.length>1)return P4("terminal.tab.groupTitle",{n:$.ordinal});let G=J.length===1?J[0]:void 0;if(G&&G.id!=="leaf-1")return G.title??`${Z??sK} ${$.ordinal}`;if(Z)return`${Z} ${$.ordinal}`;if($.lastTitle)return`${$.lastTitle} ${$.ordinal}`;let Y=dW0($.autoTitle);if(Y)return Y;return`${$.kind==="engine"?u4($.vendor??X).defaultCommand[0]??sK:sK} ${$.ordinal}`}function tI($,X,Z,J){if(!Z||!J)return!1;if(u4(Z).terminalTitle?.ownsStatus!==!0)return!1;return Z3($,X,J)===`${J} ${$.ordinal}`}var sK="shell";var eI=o(()=>{M2();zG();FG()});import{readFileSync as lW0,realpathSync as pW0}from"fs";import{join as nW0}from"path";function oW0(){return nW0(T7(),"notes.json")}function Sn($){try{return pW0($)}catch{return $}}function En($,X=oW0()){if(!$)return[];let Z;try{Z=JSON.parse(lW0(X,"utf8"))}catch{return[]}let J=Z?.repos;if(!J||typeof J!=="object")return[];let G=Sn($);for(let Y of Object.values(J)){if(!Y||typeof Y!=="object")continue;let W=Y;if(typeof W.repoRoot!=="string"||Sn(W.repoRoot)!==G)continue;if(!Array.isArray(W.notes))return[];return W.notes.filter((H)=>!!H&&typeof H==="object"&&typeof H.text==="string").slice(0,iW0)}return[]}var iW0=15;var wn=o(()=>{R$()});import{existsSync as xn,readFileSync as aW0}from"fs";import{join as Z_}from"path";function tW0($){return xn(Z_($,rW0))?"sh .kobe/init.sh":void 0}function eW0($){let X=Z_($,sW0);if(!xn(X))return;try{let Z=aW0(X,"utf8");return Z.trim().length>0?Z:void 0}catch{return}}function $H0($,X){let Z=$?aD($):{},J=tW0(X)??Z.initScript,G=eW0(X)??Z.initPrompt;return{initScript:J&&J.trim().length>0?J:void 0,initPrompt:G&&G.trim().length>0?G:void 0}}function XH0($,X){if($.kind==="none")return;if($.kind==="explicit")return{source:"explicit",text:$.prompt};let Z=X.initPrompt?.trim();return Z?{source:"repo-init",text:Z}:void 0}function fn($,X,Z={kind:"repo-init"}){let J=$H0($,X);return{initScript:J.initScript,firstMessage:XH0(Z,J)}}var rW0,sW0;var bn=o(()=>{v5();rW0=Z_(".kobe","init.sh"),sW0=Z_(".kobe","init-prompt.md")});function ZH0($){return`${$}; __rc=$?; [ "$__rc" -ne 0 ] && printf '${"\\n \u26A0 Engine exited (code %s). Check Settings \u2192 Engines and fix the launch command.\\n\\n"}' "$__rc"; exec "\${SHELL:-/bin/sh}"`}function GH0($){let X=typeof $==="number"?$:$==null?Number.NaN:Number.parseInt($,10);if(!Number.isFinite(X))return JH0;return Math.max(QH0,Math.min(zH0,Math.round(X)))}function YH0($,X){let Z=String(X),J="\\n \u26A0 Repo init (.kobe/init.sh) timed out after %ss and was killed; continuing to the engine.\\n\\n",G="\\n \u26A0 Repo init (.kobe/init.sh) failed (code %s); continuing to the engine.\\n\\n";return['__kobe_init_env="${TMPDIR:-/tmp}/kobe-init-env.$$"','__kobe_init_to="${TMPDIR:-/tmp}/kobe-init-timeout.$$"','rm -f "$__kobe_init_env" "$__kobe_init_to" 2>/dev/null',"(",$,"__kobe_init_ec=$?",'export -p > "$__kobe_init_env" 2>/dev/null',"exit $__kobe_init_ec",") </dev/null &","__kobe_init_pid=$!",`( sleep ${Z}; : > "$__kobe_init_to"; kill -TERM "$__kobe_init_pid" 2>/dev/null; sleep 2; kill -KILL "$__kobe_init_pid" 2>/dev/null ) &`,"__kobe_init_wd=$!",'wait "$__kobe_init_pid" 2>/dev/null; __kobe_init_rc=$?','kill "$__kobe_init_wd" 2>/dev/null; wait "$__kobe_init_wd" 2>/dev/null',`if [ -f "$__kobe_init_to" ]; then __kobe_init_rc=124; printf '${"\\n \u26A0 Repo init (.kobe/init.sh) timed out after %ss and was killed; continuing to the engine.\\n\\n"}' '${Z}';`,'elif [ "$__kobe_init_rc" -eq 0 ]; then [ -f "$__kobe_init_env" ] && . "$__kobe_init_env" 2>/dev/null;',`else printf '${"\\n \u26A0 Repo init (.kobe/init.sh) failed (code %s); continuing to the engine.\\n\\n"}' "$__kobe_init_rc"; fi`,'rm -f "$__kobe_init_env" "$__kobe_init_to" 2>/dev/null'].join(`
|
|
716
|
+
`);for(let Z=X.length-1;Z>=0;Z--){let J=X[Z]?.trim();if(!J)continue;let G;try{G=JSON.parse(J)}catch{continue}if(typeof G.at!=="number")continue;let Y=typeof G.exitCode==="number"?G.exitCode:null,W=typeof G.spawnError==="string"?G.spawnError:void 0;return{at:G.at,label:typeof G.label==="string"?G.label:typeof G.kind==="string"?G.kind:"run",exitCode:Y,ok:W===void 0&&Y===0,...W?{spawnError:W}:{}}}return null}function sY0($,X,Z,J,G={}){let Y=null,W=[];if(Z!==null)try{let{manifest:H}=m2(Z);Y={actions:H.actions.length,events:H.events.length,panes:H.panes.length},W=zp(H.settings,G)}catch{Y=null}return{id:X.id,version:X.version,enabled:X.enabled,linked:X.source.kind==="link",source:X.source.kind==="link"?X.root:X.source.spec,declares:Y,lastRun:rY0(J),settings:W,updateAvailable:$.has(X.id)}}function Fp($){let X=Math.max(0,Math.floor($/1000));if(X<60)return`${X}s`;if(X<3600)return`${Math.floor(X/60)}m`;if(X<86400)return`${Math.floor(X/3600)}h`;return`${Math.floor(X/86400)}d`}function eY0($){let X;try{let Z=oY0($).size,J=Math.min(Z,tY0),G=Buffer.alloc(J);return X=pY0($,"r"),iY0(X,G,0,J,Z-J),G.toString("utf8")}catch{return null}finally{if(X!==void 0)lY0(X)}}function $W0($){try{return nY0($,"utf8")}catch{return null}}function kj($){let X=new Set(qp($));return M$($).plugins.map((Z)=>sY0(X,Z,$W0(aY0(Z.root,B2)),eY0(kW(Z.id,$)),Kp(Z.id,$)))}function Op($,X,Z,J){Np($,{[X]:Z},J)}function Lp($,X,Z){let J=M$(Z);k9({plugins:J.plugins.map((G)=>G.id===$?{...G,enabled:X}:G)},Z)}var tY0=65536;var kI=o(()=>{cJ();bI();b9();$Z();yI()});import{TextAttributes as jp}from"@opentui/core";function XW0($){let X=[],Z=0;for(let J of $)X.push(Z),Z+=1+J.settings.length;return X}function ZW0($){let{theme:X}=n0(),Z=Z1(),{setting:J}=$,G=J.type==="boolean"?yj(J.value)?Z("settings.general.on"):Z("settings.general.off"):J.value||Z("settings.plugins.settingUnset");return I.jsxDEV("box",{flexDirection:"row",gap:1,paddingLeft:5,paddingRight:1,backgroundColor:$.cursor?X.primary:void 0,onMouseUp:$.onActivate,children:[I.jsxDEV("text",{fg:$.cursor?X.selectedListItemText:X.text,wrapMode:"none",children:J.label},void 0,!1,void 0,this),I.jsxDEV("text",{fg:$.cursor?X.selectedListItemText:J.defaulted?X.textMuted:X.accent,wrapMode:"none",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _p($){let{theme:X}=n0(),Z=Z1(),J=Date.now(),G=(W)=>$.level==="body"&&$.bodyRow===W,Y=XW0($.plugins);return I.jsxDEV("box",{flexDirection:"column",gap:1,children:[I.jsxDEV("text",{fg:X.text,attributes:jp.BOLD,children:Z("settings.plugins.title")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:X.textMuted,wrapMode:"word",children:Z("settings.plugins.hint")},void 0,!1,void 0,this),$.plugins.length===0?I.jsxDEV("text",{fg:X.textMuted,wrapMode:"word",children:Z("settings.plugins.empty")},void 0,!1,void 0,this):I.jsxDEV("box",{flexDirection:"column",gap:0,children:$.plugins.map((W,H)=>{let U=Y[H]??0,K=G(U);return I.jsxDEV("box",{flexDirection:"column",gap:0,children:[I.jsxDEV("box",{flexDirection:"row",gap:1,paddingLeft:1,paddingRight:1,backgroundColor:K?X.primary:void 0,onMouseUp:()=>{$.setLevel("body"),$.setBodyRow(U),$.toggle(W.id)},children:[I.jsxDEV("text",{fg:K?X.selectedListItemText:W.enabled?X.accent:X.textMuted,attributes:jp.BOLD,wrapMode:"none",children:`${W.enabled?"[x]":"[ ]"} ${W.id}`},void 0,!1,void 0,this),I.jsxDEV("text",{fg:K?X.selectedListItemText:X.textMuted,wrapMode:"none",children:`v${W.version} ${W.linked?Z("settings.plugins.sourceLink",{path:W.source}):Z("settings.plugins.sourceGithub",{spec:W.source})}`},void 0,!1,void 0,this),W.updateAvailable?I.jsxDEV("text",{fg:X.warning,wrapMode:"none",children:Z("settings.plugins.updateAvailable")},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),I.jsxDEV("box",{flexDirection:"row",gap:1,paddingLeft:5,paddingRight:1,children:[I.jsxDEV("text",{fg:W.declares?X.textMuted:X.warning,wrapMode:"none",children:W.declares?Z("settings.plugins.declares",{actions:String(W.declares.actions),events:String(W.declares.events),panes:String(W.declares.panes)}):Z("settings.plugins.manifestUnreadable")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:W.lastRun?.ok===!1?X.error:X.textMuted,wrapMode:"none",children:W.lastRun?Z("settings.plugins.lastRun",{label:W.lastRun.label,status:W.lastRun.ok?Z("settings.plugins.runOk"):W.lastRun.spawnError?Z("settings.plugins.runFailed"):Z("settings.plugins.runExit",{code:String(W.lastRun.exitCode)}),ago:Fp(J-W.lastRun.at)}):Z("settings.plugins.neverRun")},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.settings.map((F,L)=>I.jsxDEV(ZW0,{setting:F,cursor:G(U+1+L),onActivate:()=>{$.setLevel("body"),$.setBodyRow(U+1+L),$.editSetting(W.id,F.key)}},F.key,!1,void 0,this))]},W.id,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var Vp=o(async()=>{Z4();kI();a0();await e1()});import{TextAttributes as JW0}from"@opentui/core";function QW0($){let X=l4(),{theme:Z}=n0(),J=Z1(),[G,Y]=Cp.useState($.currentTitle);function W(){let H=G.trim();if(lK(H)&&!$.allowEmpty)return;$.onSubmit(H),X.clear()}return I.jsxDEV("box",{paddingLeft:2,paddingRight:2,gap:1,children:[I.jsxDEV("box",{flexDirection:"row",justifyContent:"space-between",children:[I.jsxDEV("text",{attributes:JW0.BOLD,fg:Z.text,children:$.dialogTitle??J("common.rename.defaultTitle")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:Z.textMuted,onMouseUp:()=>$.onCancel(),children:"esc"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{gap:0,children:[I.jsxDEV("text",{fg:Z.accent,children:$.fieldLabel??J("common.rename.defaultFieldLabel")},void 0,!1,void 0,this),I.jsxDEV("input",{value:G,placeholder:$.placeholder??$.currentTitle,focused:!0,onInput:(H)=>Y(m$(H)),onSubmit:()=>W()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{paddingBottom:1,children:I.jsxDEV("text",{fg:Z.textMuted,children:J("common.rename.footerHint",{submitLabel:$.submitLabel??J("common.rename.defaultSubmitLabel")})},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function zW0($,X,Z={}){return _2($,(J)=>I.jsxDEV(QW0,{currentTitle:X,dialogTitle:Z.dialogTitle,fieldLabel:Z.fieldLabel,submitLabel:Z.submitLabel,placeholder:Z.placeholder,allowEmpty:Z.allowEmpty,onSubmit:(G)=>J(G),onCancel:()=>J(void 0)},void 0,!1,void 0,this))}var Cp,h$;var DZ=o(async()=>{D8();Z4();a0();await X4([e1(),T$()]);Cp=W1(q1(),1);h$={show:zW0}});function Dp($,X,Z){function J(){let S=$.get("customEngineIds",[]);return Array.isArray(S)?S.filter((R)=>typeof R==="string"&&R.trim().length>0):[]}function G(){return[...O8,...J()]}function Y(S){let R=$.get(h6(S),"");return typeof R==="string"?R.trim():""}function W(S){return Y(S)||dK(S).join(" ")}function H(S){return I7(S)&&Y(S).length===0&&!K(S)}function U(S){let R=$.get(u6(S),"");return typeof R==="string"?R.trim():""}function K(S){return U(S).length>0}function F(S){return U(S)||LI[S]||S}let[L,M]=Ap.useState(()=>rO()??R5);function _(S){jP(S),$.set("defaultVendor",S),M(S)}async function T(S){let R=await h$.show(X,W(S),{dialogTitle:`${F(S)} launch command`,fieldLabel:"command",submitLabel:"save",allowEmpty:!0});if(R===void 0)return;$.set(h6(S),R.trim())}async function A(S){let R=await h$.show(X,F(S),{dialogTitle:`${F(S)} display name (blank = default)`,fieldLabel:"name",submitLabel:"save",allowEmpty:!0});if(R===void 0)return;$.set(u6(S),R.trim())}function C(S){if($.set(h6(S),""),$.set(u6(S),""),!I7(S))$.set("customEngineIds",J().filter((R)=>R!==S)),Z(G().length)}async function y(){let S=await h$.show(X,"",{dialogTitle:"Add engine",fieldLabel:"id",submitLabel:"next",placeholder:"lowercase slug, e.g. aider"});if(S===void 0)return;let R=S.trim().toLowerCase();if(!R||I7(R)||J().includes(R))return;let D=await h$.show(X,"",{dialogTitle:`Add engine \xB7 ${R}`,fieldLabel:"command",submitLabel:"next",placeholder:"e.g. aider --model sonnet"});if(D===void 0)return;let x=await h$.show(X,R,{dialogTitle:`Add engine \xB7 ${R}`,fieldLabel:"name",submitLabel:"add",allowEmpty:!0});if($.set("customEngineIds",[...J(),R]),D.trim())$.set(h6(R),D.trim());let b=x?.trim()??"";$.set(u6(R),b&&b!==R?b:id(R))}return{engineList:G,engineName:F,engineCommandText:W,engineIsDefault:H,defaultEngine:L,setEngineDefault:_,editEngine:T,renameEngine:A,resetEngine:C,addEngineFlow:y}}var Ap;var Pp=o(async()=>{$7();WZ();yK();o7();S7();await DZ();Ap=W1(q1(),1)});function Rp($){let[X,Z]=l6.useState(null),[J,G]=l6.useState(null),[Y,W]=l6.useState(null),[H,U]=l6.useState(null),K=l6.useRef(!1);return l6.useEffect(()=>{if($!=="accounts"||K.current)return;K.current=!0,zH().then(Z),GH().then(G),YH().then(W),WL().then(U)},[$]),{claude:X,codex:J,copilot:Y,kimi:H}}function Tp($,X){let[Z,J]=l6.useState([]),G=Z1();l6.useEffect(()=>{if($!=="plugins")return;J(kj())},[$]);function Y(W,H,U){try{Op(W,H,U)}catch{}J(kj())}return{rows:Z,toggle:(W)=>{let H=Z.find((U)=>U.id===W);if(!H)return;try{Lp(W,!H.enabled)}catch{}J(kj())},editSetting:async(W,H)=>{let U=Z.find((L)=>L.id===W)?.settings.find((L)=>L.key===H);if(!U)return;if(U.type==="enum"){Y(W,H,Gp(U.options,U.value));return}if(U.type==="boolean"){Y(W,H,Yp(U));return}let K=await h$.show(X,U.value,{dialogTitle:U.label,fieldLabel:H,submitLabel:"save",allowEmpty:!0,placeholder:U.defaultValue});if(K===void 0)return;if(U.type!=="number"){Y(W,H,K.trim());return}let F=Wp(K);if(F===null){await K5.show(X,G("settings.plugins.settingInvalidTitle"),G("settings.plugins.settingInvalidBody",{label:U.label}),"cancel");return}Y(W,H,F)}}}var l6;var Ip=o(async()=>{qZ();Z4();kI();await X4([r9(),DZ()]);l6=W1(q1(),1)});var vI="experimental.archivedHistoryPreview";var Sp=o(()=>{K2()});function mj($,X){if(typeof $==="string"&&iK.includes($))return $;if(X===!0)return"multipleOnly";if(X===!1)return"always";return"never"}function Ep($,X){if($==="never")return!1;if($==="multipleOnly")return X>=2;return!0}var nK="chat.tabStrip.mode",iK,vj="chat.tabStrip.hideSingle";var mI=o(()=>{iK=["always","multipleOnly","never"]});var hI="zen.keepTasks",mH="zen.active";var uI=o(()=>{K2()});function hH($){return NG.includes($)?$:"auto"}var NG,wp,PZ="editor.kind",HQ="editor.customCommand",hj="auto";var uj=o(()=>{NG=["auto","vim","nvim","nano","emacs","custom"],wp=["nvim","vim","emacs","nano"]});import{accessSync as GW0,constants as YW0,mkdirSync as WW0}from"fs";function xp($,X){let Z=Z1();function J(){return $.get("notifications.toast.enabled",!0)!==!1}function G(){return $.get("notifications.sound.enabled",!0)!==!1}function Y(){$.set("notifications.toast.enabled",!J())}function W(){$.set("notifications.sound.enabled",!G())}function H(){return $.get("notifications.crossTask.enabled",!0)!==!1}function U(){$.set("notifications.crossTask.enabled",!H())}function K(){return Bj($.get(bK))}function F(h){$.set(bK,h)}function L(){return $.get(mH,!1)===!0}function M(){$.set(mH,!L())}function _(){return $.get(hI,!0)!==!1}function T(){$.set(hI,!_())}function A(){return mj($.get(nK,void 0),$.get(vj,void 0))}function C(){let h=iK[(iK.indexOf(A())+1)%iK.length];$.set(nK,h)}function y(){return $.get("experimental.remoteProjects",!1)===!0}function S(){$.set("experimental.remoteProjects",!y())}function R(){return $.get(WG,!1)===!0}function D(){$.set(WG,!R())}function x(){return $.get(HG,!1)===!0}function b(){$.set(HG,!x())}function i(){return $.get(vI,!1)===!0}function l(){$.set(vI,!i())}function t(){return hH($.get(PZ,hj))}function n(){let h=NG.indexOf(t()),Y0=NG[(h+1)%NG.length];if(Y0)$.set(PZ,Y0)}function Z0(){let h=$.get(HQ,"");return typeof h==="string"?h:""}async function r(){let h=await h$.show(X,Z0(),{dialogTitle:"Custom editor command (use {file} for the path)",fieldLabel:"command",submitLabel:"save",allowEmpty:!0});if(h===void 0)return;let Y0=h.trim();if($.set(HQ,Y0),Y0)$.set(PZ,"custom")}function q0(){return sL($.get(aL,rL))}async function N0(){let h=await h$.show(X,String(q0()),{dialogTitle:Z("settings.general.scrollbackTitle"),fieldLabel:Z("settings.general.scrollbackField"),submitLabel:"save",placeholder:String(rL)});if(h===void 0)return;let Y0=Number.parseInt(h.trim(),10);if(!Number.isFinite(Y0)){await K5.show(X,Z("settings.general.scrollbackInvalidTitle"),Z("settings.general.scrollbackInvalidBody"),"cancel");return}$.set(aL,sL(Y0))}function M0(){let h=$.get(nJ,"");return typeof h==="string"?h:""}let K0=()=>Oy(M0());function W0(){let h=K0();if(h==="default")return Z("settings.general.worktreeKindDefault");if(h==="nextToProject")return Z("settings.general.worktreeKindNext");return Z("settings.general.worktreeKindCustom")}function k(){let h=$.get(nO,"");return(typeof h==="string"?h.trim():"")||(K0()==="custom"?M0().trim():"")}function m(){let h=K0();if(h==="default")$.set(nJ,YP);else if(h==="nextToProject")$.set(nJ,k());else $.set(nO,M0().trim()),$.set(nJ,"")}async function v(){let h=await h$.show(X,k(),{dialogTitle:Z("settings.general.worktreeBaseTitle"),fieldLabel:Z("settings.general.worktreeBaseField"),submitLabel:"save",placeholder:`${zZ}/../worktrees`,allowEmpty:!0});if(h===void 0)return;let Y0=h.trim();if(Y0.includes(zZ)){if(!WP(Y0)){await K5.show(X,"Can't use that worktree location",`${zZ} only expands as the leading path segment (e.g. ${zZ}/../kobe-worktrees). Keeping the previous setting.`,"cancel");return}}else if(Y0){let e=HP(Y0)??Y0;try{WW0(e,{recursive:!0}),GW0(e,YW0.W_OK)}catch(a){await K5.show(X,"Can't use that worktree location",`${e} isn't usable (${F1(a)}). Keeping the previous setting \u2014 pick a writable directory.`,"cancel");return}}if($.set(nO,Y0),Y0)$.set(nJ,Y0);else if(K0()==="custom")$.set(nJ,"")}return{toastEnabled:J,toggleToast:Y,soundEnabled:G,toggleSound:W,crossTaskEnabled:H,toggleCrossTask:U,splitStyle:K,selectSplitStyle:F,zenDefaultOn:L,toggleZenDefaultOn:M,zenKeepsTasks:_,toggleZenKeepsTasks:T,remoteProjectsEnabled:y,toggleRemoteProjects:S,autoStatusOn:R,toggleAutoStatus:D,dispatcherOn:x,toggleDispatcher:b,archivedHistoryOn:i,toggleArchivedHistory:l,editorKind:t,cycleEditorKind:n,editorCustomCommand:Z0,editEditorCustom:r,scrollbackRows:q0,editScrollbackRows:N0,tabStripMode:A,cycleTabStripMode:C,worktreeKind:K0,worktreeKindLabel:W0,worktreeCustomPath:k,cycleWorktreeBase:m,editWorktreeCustom:v}}var fp=o(async()=>{Sp();cK();Tj();jT();gK();mI();qP();uI();uj();Z4();await X4([r9(),DZ()])});import{TextAttributes as HW0}from"@opentui/core";function cj($){let X=l4(),Z=n0(),J=I5(),{theme:G}=Z,Y=Z1(),[W,H]=P8.useState("sidebar"),[U,K]=P8.useState("general"),[F,L]=P8.useState(0),[M,_]=P8.useState(0),[T,A]=P8.useState(""),[C,y]=P8.useState(""),[S,R]=P8.useState(""),D=P8.useMemo(()=>Z.all().slice().sort(),[Z]),x=hK($.orchestrator),b=xp($.kv,X),i=Dp($.kv,X,(j0)=>_((b0)=>Math.max(0,Math.min(b0,j0)))),l=$.orchestrator instanceof NZ?$.orchestrator:null,t=Y5(l?l.usageSnapshotSignal():qW0),n=Rp(U),Z0=Tp(U,X);function r(){return nd(U,{themeNames:D,focusAccentSlots:JQ,engineList:i.engineList(),plugins:Z0.rows.map((j0)=>({id:j0.id,settingKeys:j0.settings.map((b0)=>b0.key)})),hasDaemon:x})}function q0(){return r().length}function N0(j0){if(Z.selected===j0)return;if(!Z.set(j0))return;$.kv.set("activeTheme",j0),$.onVisualPrefsChange?.()}function M0(j0){if(qj()===j0)return;xH(j0),$.kv.set(Lj,j0),$.onVisualPrefsChange?.()}function K0(){let j0=!Z.transparentBackground;Z.setTransparentBackground(j0),$.kv.set("transparentBackground",j0),$.onVisualPrefsChange?.()}function W0(j0){if(Z.focusAccent===j0)return;Z.setFocusAccent(j0),$.kv.set("focusAccent",j0),$.onVisualPrefsChange?.()}function k(){if(U!=="engines"||W!=="body")return null;let j0=WI(r(),M);return j0?.kind==="engine"?j0.vendor:null}async function m(){R("submitting...");try{let j0=fH({title:T,body:C});R(`sent: ${j0.url}`),A(""),y(""),_(0)}catch(j0){R(`error: ${F1(j0)}`)}}let v=U==="feedback"&&W==="body";function h(j0){let b0=M+j0;if(b0<0||b0>2){H("sidebar");return}_(b0)}function Y0(){if(W!=="sidebar"||q0()===0)return;H("body"),_(0)}function e(j0){if(W==="sidebar"){let s0=(F+j0+GG.length)%GG.length;L(s0);let G1=GG[s0];if(G1)K(G1.id),_(0);return}let b0=q0();if(b0===0)return;_((M+j0+b0)%b0)}function a(j0){K(j0),L(GG.findIndex((b0)=>b0.id===j0)),_(0),H("sidebar")}let J0={theme:(j0)=>N0(j0.name),language:(j0)=>M0(j0.locale),transparent:()=>K0(),focusAccent:(j0)=>W0(j0.slot),toast:()=>b.toggleToast(),sound:()=>b.toggleSound(),crossTask:()=>b.toggleCrossTask(),keyHints:()=>Oj($.kv),splitStyle:(j0)=>b.selectSplitStyle(j0.style),zenDefaultOn:()=>b.toggleZenDefaultOn(),zenKeepTasks:()=>b.toggleZenKeepsTasks(),editorKind:()=>b.cycleEditorKind(),editorCustom:()=>void b.editEditorCustom(),worktreeBase:()=>b.cycleWorktreeBase(),worktreeCustom:()=>void b.editWorktreeCustom(),scrollbackRows:()=>void b.editScrollbackRows(),tabStripHideSingle:()=>b.cycleTabStripMode(),engine:(j0)=>void i.editEngine(j0.vendor),engineAdd:()=>void i.addEngineFlow(),pluginToggle:(j0)=>Z0.toggle(j0.pluginId),pluginSetting:(j0)=>void Z0.editSetting(j0.pluginId,j0.key),feedbackTitle:()=>_(0),feedbackBody:()=>_(1),feedbackSend:()=>void m(),devReset:()=>void MI(X,$.kv,J),devRestartDaemon:()=>void FI(X,$.orchestrator,J),devRemoteProjects:()=>b.toggleRemoteProjects(),devAutoStatus:()=>b.toggleAutoStatus(),devDispatcher:()=>b.toggleDispatcher(),devArchivedHistory:()=>b.toggleArchivedHistory()};function C0(){let j0=WI(r(),M);if(!j0)return;J0[j0.kind](j0)}w1(()=>({enabled:(!$.standalone||X.stack.length===0)&&!v,bindings:[{key:"down",cmd:()=>e(1)},{key:"up",cmd:()=>e(-1)},{key:"j",cmd:()=>e(1)},{key:"k",cmd:()=>e(-1)},{key:"tab",cmd:()=>e(1)},{key:"right",cmd:Y0},{key:"l",cmd:Y0},{key:"left",cmd:()=>H("sidebar")},{key:"h",cmd:()=>H("sidebar")},{key:"return",cmd:()=>{if(W==="sidebar"){Y0();return}C0()}},{key:"t",cmd:K0},{key:"r",cmd:()=>{let j0=k();if(j0)i.renameEngine(j0)}},{key:"x",cmd:()=>{let j0=k();if(j0)i.resetEngine(j0)}},{key:"d",cmd:()=>{let j0=k();if(j0)i.setEngineDefault(j0)}}]})),w1(()=>({enabled:v,bindings:[{key:"tab",cmd:()=>h(1)},{key:"shift+tab",cmd:()=>h(-1)}]})),w1(()=>({enabled:v&&M===2,bindings:[{key:"return",cmd:()=>void m()}]}));let z0=P8.useRef(null),x0=P8.useCallback((j0)=>{let b0=z0.current;if(!b0||!j0||b0.viewport.height<=0)return;b0.scrollChildIntoView(j0.id)},[]),m0={level:W,bodyRow:M,setLevel:H,setBodyRow:_},P0=I.jsxDEV("box",{paddingLeft:2,paddingRight:2,paddingBottom:1,gap:1,children:[I.jsxDEV("box",{flexDirection:"row",justifyContent:"space-between",children:[I.jsxDEV("text",{attributes:HW0.BOLD,fg:G.text,children:Y("settings.title")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:G.textMuted,onMouseUp:()=>$.onClose(),children:Y("settings.esc")},void 0,!1,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{flexDirection:"row",gap:2,children:[I.jsxDEV(El,{level:W,cursor:F,switchSection:a},void 0,!1,void 0,this),I.jsxDEV("box",{flexGrow:1,flexShrink:1,flexDirection:"column",gap:1,children:[U==="general"?I.jsxDEV(wl,{...m0,prefs:b,themeNames:D,selectTheme:N0,currentLocale:qj(),selectLanguage:M0,toggleTransparent:K0,selectFocusAccent:W0,usage:t},void 0,!1,void 0,this):null,U==="engines"?I.jsxDEV(Nl,{...m0,vendors:i.engineList(),isCustom:(j0)=>!I7(j0),displayName:i.engineName,commandText:i.engineCommandText,isDefault:i.engineIsDefault,isDefaultEngine:(j0)=>i.defaultEngine===j0,editEngine:(j0)=>void i.editEngine(j0),onAddEngine:()=>void i.addEngineFlow()},void 0,!1,void 0,this):null,U==="accounts"?I.jsxDEV(Ml,{claudeStatus:n.claude,codexStatus:n.codex,copilotStatus:n.copilot,kimiStatus:n.kimi},void 0,!1,void 0,this):null,U==="plugins"?I.jsxDEV(_p,{...m0,plugins:Z0.rows,toggle:Z0.toggle,editSetting:(j0,b0)=>void Z0.editSetting(j0,b0)},void 0,!1,void 0,this):null,U==="keys"?I.jsxDEV(Jp,{},void 0,!1,void 0,this):null,U==="feedback"?I.jsxDEV(Xp,{...m0,title:T,setTitle:(j0)=>{A(j0),R("")},body:C,setBody:(j0)=>{y(j0),R("")},status:S,onTitleSubmit:()=>_(1),submit:()=>void m()},void 0,!1,void 0,this):null,U==="dev"?I.jsxDEV(Zp,{...m0,prefs:b,hasDaemon:x,confirmReset:()=>void MI(X,$.kv,J),confirmRestartDaemon:()=>void FI(X,$.orchestrator,J)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),I.jsxDEV("box",{paddingTop:0,children:I.jsxDEV("text",{fg:G.textMuted,children:v?Y("settings.nav.feedback"):Y("settings.nav.default")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(!$.standalone)return I.jsxDEV(Aj.Provider,{value:x0,children:P0},void 0,!1,void 0,this);return I.jsxDEV(Aj.Provider,{value:x0,children:I.jsxDEV("scrollbox",{ref:(j0)=>{z0.current=j0},flexGrow:1,verticalScrollbarOptions:{trackOptions:{foregroundColor:"transparent"}},children:P0},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var P8,qW0;var bp=o(async()=>{PK();c9();fK();yK();mK();HI();S7();Z4();o9();a0();await X4([O$(),e1(),O5(),T$(),Bl(),Dj(),Fl(),xl(),Qp(),Vp(),Pp(),Ip(),fp()]);P8=W1(q1(),1),qW0=X5(null);cj.show=($,X,Z)=>{let J=!1;return new Promise((G)=>{$.replace(()=>I.jsxDEV(cj,{kv:X,orchestrator:Z,onVisualPrefsChange:()=>{J=!0},onClose:()=>G({visualPrefsChanged:J})},void 0,!1,void 0,this),()=>G({visualPrefsChanged:J}))})}});function yp($,X){return`${$}:${X}`}function kp($,X){let Z=yp(X.taskId,X.tabId),J=$.get(Z);if(J==="needs_input"||J==="error")return $;let G=new Map($);return G.set(Z,X.kind),G}function vp($,X,Z){let J=yp(X,Z);if(!$.has(J))return $;let G=new Map($);return G.delete(J),G}function mp($,X){return $==="error"||X}function hp($){if($==="permission_needed")return"needs_input";if($==="error"||$==="rate_limited")return"error";if($==="turn_complete")return"done";return null}function up($){if($==="done")return"done";if($==="error")return"error";if($==="needs_input")return"needs_input";return null}function dj($,X,Z,J){if($===null)return[];let G=[];for(let[Y,W]of X){if(Y===Z)continue;if($.get(Y)===W)continue;let H=J(W);if(H)G.push({key:Y,kind:H})}return G}function UW0($){let X="",Z=0;for(let J=0;J<$.length;J++){let G=$.charCodeAt(J);if(G>31&&(G<127||G>159))continue;X+=`${$.slice(Z,J)} `,Z=J+1}return Z===0?$:X+$.slice(Z)}function cp($){return`\x1B]9;${UW0($)}\x07`}var gp=4500;var lj="../pulse-n3cq1btw.wav";var dp=()=>{};import{existsSync as KW0,mkdirSync as NW0}from"fs";import{tmpdir as MW0}from"os";import{basename as FW0,delimiter as OW0,isAbsolute as LW0,join as cI,resolve as jW0}from"path";function VW0($,X,Z){if($==="ffplay")return[$,"-autoexit","-nodisp","-af",`volume=${Z}`,X];if($==="mpv")return[$,"--no-video","--audio-display=no","--volume",String(Math.round(Z*100)),X];if($==="mpg123"||$==="mpg321")return[$,"-g",String(Math.round(Z*100)),X];if($==="mplayer")return[$,"-vo","null","-volume",String(Math.round(Z*100)),X];if($==="afplay"||$==="omxplayer"||$==="aplay"||$==="cmdmp3")return[$,X];if($==="play")return[$,"-v",String(Z),X];if($==="cvlc")return[$,`--gain=${Z}`,"--play-and-exit",X];return[$,"-c",`(New-Object Media.SoundPlayer '${X.replace(/'/g,"''")}').PlaySync()`]}function CW0($,X=OW0){return $.split(X).filter(Boolean)}function AW0(){if(pj!==void 0)return pj;let $=CW0(process.env.PATH??"");return pj=_W0.find((X)=>$.some((Z)=>KW0(cI(Z,X))))??null,pj}async function DW0(){return np??=(async()=>{NW0(pp,{recursive:!0});let $=cI(pp,FW0(lp)),X=Bun.file($);if(await X.exists())return $;return await Bun.write(X,Bun.file(lp)),$})(),np}function ip($=0.4){let X=AW0();if(!X)return;DW0().then((Z)=>{try{Bun.spawn(VW0(X,Z,$),{stdin:"ignore",stdout:"ignore",stderr:"ignore"}).unref?.()}catch{}}).catch(()=>{return})}var lp,pp,_W0,pj,np;var op=o(()=>{dp();lp=LW0(lj)?lj:jW0(import.meta.dir,lj),pp=cI(MW0(),"kobe-sfx"),_W0=["ffplay","mpv","mpg123","mpg321","mplayer","afplay","play","omxplayer","aplay","cmdmp3","cvlc","powershell.exe"]});function rp($){let[X,Z]=B7.useState([]),[J,G]=B7.useState(new Map),Y=B7.useMemo(()=>T5(),[]),W=B7.useRef(0),H=B7.useRef(new Set);B7.useEffect(()=>()=>{for(let M of H.current)clearTimeout(M);H.current.clear()},[]);let U=B7.useCallback((M)=>{Z((_)=>_.filter((T)=>T.id!==M))},[]),K=B7.useCallback((M)=>{if(G((T)=>kp(T,M)),Y["notifications.sound.enabled"]!==!1){try{process.stdout.write(`\x07${cp(`kobe \u2014 ${M.title}`)}`)}catch{}ip()}let _=Y["notifications.toast.enabled"]!==!1;if(mp(M.kind,_)){let T=++W.current;Z((C)=>[...C,{id:T,...M}]);let A=setTimeout(()=>{H.current.delete(A),U(T)},gp);H.current.add(A)}},[Y,U]),F=B7.useCallback((M,_)=>{G((T)=>vp(T,M,_))},[]),L=B7.useMemo(()=>({toasts:X,unread:J,notify:K,dismiss:U,markRead:F}),[X,J,K,U,F]);return I.jsxDEV(ap.Provider,{value:L,children:$.children},void 0,!1,void 0,this)}function qQ(){let $=B7.useContext(ap);if(!$)throw Error("useNotifications must be used within a NotificationsProvider");return $}var B7,ap;var uH=o(()=>{K2();op();a0();B7=W1(q1(),1),ap=B7.createContext(null)});import{TextAttributes as sp}from"@opentui/core";function IW0($){return($.body?2:1)+1}function ep(){let{theme:$}=n0(),X=F2(),Z=qQ();if(Z.toasts.length===0)return null;let J=Z.toasts.slice(-PW0),G=J.reduce((H,U)=>H+IW0(U),0),Y=Math.max(0,X.width-tp-RW0),W=Math.max(0,X.height-TW0-G);return I.jsxDEV("box",{position:"absolute",zIndex:2500,left:Y,top:W,width:tp,flexDirection:"column",gap:1,children:J.map((H)=>{let U=H.kind==="needs_input"?$.warning:H.kind==="error"?$.error:$.success,K=H.kind==="needs_input"?"?":H.kind==="error"?"\u2715":"\u2713";return I.jsxDEV("box",{flexDirection:"row",backgroundColor:$.backgroundElement,onMouseUp:()=>Z.dismiss(H.id),children:[I.jsxDEV("box",{flexDirection:"column",flexShrink:0,children:[I.jsxDEV("text",{fg:U,wrapMode:"none",children:"\u258C"},void 0,!1,void 0,this),H.body?I.jsxDEV("text",{fg:U,wrapMode:"none",children:"\u258C"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),I.jsxDEV("box",{flexDirection:"column",flexBasis:0,flexGrow:1,flexShrink:1,paddingLeft:1,paddingRight:1,children:[I.jsxDEV("box",{flexDirection:"row",children:[I.jsxDEV("text",{fg:U,attributes:sp.BOLD,wrapMode:"none",flexShrink:0,children:`${K} `},void 0,!1,void 0,this),I.jsxDEV("text",{fg:$.text,attributes:sp.BOLD,wrapMode:"none",flexBasis:0,flexGrow:1,flexShrink:1,children:H.title},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H.body?I.jsxDEV("box",{flexDirection:"row",paddingLeft:2,children:I.jsxDEV("text",{fg:$.textMuted,wrapMode:"none",flexBasis:0,flexGrow:1,flexShrink:1,children:H.body},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},H.id,!0,void 0,this)})},void 0,!1,void 0,this)}var PW0=3,tp=44,RW0=2,TW0=2;var $n=o(async()=>{uH();a0();await X4([O$(),e1()])});function Xn($){let[X,Z]=m3.useState($.initial??"sidebar"),J=I5(),G=y1(X),Y=m3.useCallback((U)=>{if(G.current===U)return;let K=J?.currentFocusedRenderable;if(K&&!K.isDestroyed)try{K.blur()}catch{}Z(U)},[J]),W=m3.useCallback((U)=>{let F=(nj.indexOf(G.current)+U+nj.length)%nj.length;Y(nj[F])},[Y]),H=m3.useMemo(()=>({focused:X,is:(U)=>X===U,setFocused:Y,cycle:W}),[X,Y,W]);return I.jsxDEV(dI.Provider,{value:H,children:$.children},void 0,!1,void 0,this)}function Zn(){let $=m3.useContext(dI);if(!$)throw Error("useFocus: must be called inside <FocusProvider>. See src/tui-react/context/focus.tsx.");return $}function Jn(){return m3.useContext(dI)}var m3,nj,dI;var ij=o(async()=>{t7();a0();await O$();m3=W1(q1(),1),nj=["sidebar","workspace","files","terminal"],dI=m3.createContext(null)});async function Qn($={}){let X=$.logTag??"orch-connect",Z=$.connect??lJ,J=null;try{let G=await Z();if(!G)return rX(X,"no daemon running \u2014 caller degrades"),null;return J=new NZ(G,{...$.orchestratorOptions,channels:$.channels}),await J.init(),J}catch(G){return P5(X,G),J?.dispose(),null}}var zn=o(()=>{sX();k2();PK()});function oj($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function aj($){if(!oj($))return{ok:!1,reason:"theme must be a JSON object at the top level"};let X=$;if(!("theme"in X))return{ok:!1,reason:"missing required key `theme`"};let Z=X.theme;if(!oj(Z))return{ok:!1,reason:"`theme` must be an object map"};if("defs"in X&&X.defs!==void 0){if(!oj(X.defs))return{ok:!1,reason:"`defs` must be an object map"};for(let[J,G]of Object.entries(X.defs))if(typeof G!=="string")return{ok:!1,reason:`defs.${J} must be a string (hex like "#abc" or a ref name)`}}for(let[J,G]of Object.entries(Z)){if(typeof G==="string")continue;if(!oj(G))return{ok:!1,reason:`theme.${J} must be a string or a { dark, light } object (got ${G===null?"null":Array.isArray(G)?"array":typeof G})`};let Y=G;if(typeof Y.dark!=="string")return{ok:!1,reason:`theme.${J}.dark must be a string`};if(typeof Y.light!=="string")return{ok:!1,reason:`theme.${J}.light must be a string`}}if("$schema"in X&&X.$schema!==void 0&&typeof X.$schema!=="string")return{ok:!1,reason:"`$schema` must be a string when present"};return{ok:!0,theme:X}}var lI=()=>{};import{readFileSync as SW0,readdirSync as EW0}from"fs";import{join as Gn}from"path";function cH(){return Gn(T7(),"themes")}function pI(){let $=cH(),X;try{X=EW0($)}catch{return[]}let Z=[];for(let J of X){if(!J.endsWith(".json"))continue;let G=Gn($,J),Y;try{let U=SW0(G,"utf8");Y=JSON.parse(U)}catch(U){let K=F1(U);console.warn(`[kobe] skipping user theme ${G}: invalid JSON \u2014 ${K}`);continue}let W=aj(Y);if(!W.ok){console.warn(`[kobe] skipping user theme ${G}: ${W.reason}`);continue}let H=J.slice(0,-5);Z.push({name:H,theme:W.theme})}return Z}var nI=o(()=>{R$();lI()});function iI($,X){if(typeof X.theme==="string"&&X.theme.length>0&&X.theme!==$.selectedTheme()){if(!$.hasTheme(X.theme))$.reloadUserThemes();if($.hasTheme(X.theme))$.setTheme(X.theme)}if(typeof X.transparentBackground==="boolean"&&X.transparentBackground!==$.transparentBackground())$.setTransparentBackground(X.transparentBackground);if(X.focusAccent===null||typeof X.focusAccent==="string"){let Z=xW0(X.focusAccent);if(Z&&Z!==$.focusAccent())$.setFocusAccent(Z)}}function xW0($){if($===null)return"primary";return wW0.includes($)?$:null}var wW0;var Yn=o(()=>{wW0=["primary","success","info"]});function bW0($,X,Z=Wn,J=fW0){let G=$-Z;if(G<J)return null;let Y=(W)=>Math.round(W/1048576);return`event loop stalled ~${G}ms \u2014 rss=${Y(X.rss)}MB heapUsed=${Y(X.heapUsed)}MB`}function Hn(){let $=Date.now(),X=setInterval(()=>{let Z=Date.now(),J=Z-$;$=Z;let G=bW0(J,process.memoryUsage());if(G)rX("stall",G)},Wn);return X.unref?.(),()=>clearInterval(X)}var Wn=1000,fW0=2000;var qn=o(()=>{sX()});function Un($){let X={backgroundColor:"transparent",externalOutputMode:"passthrough",exitOnCtrlC:!1,screenMode:"alternate-screen",useKittyKeyboard:{}};return $?{...X,onDestroy:$}:X}function Bn($,X){let Z={backgroundColor:"transparent",exitOnCtrlC:!1,screenMode:"split-footer",footerHeight:$,useKittyKeyboard:{}};return X?{...Z,onDestroy:X}:Z}function Kn($){process.on("exit",()=>$.destroy())}function Nn(){let $=!1,X=()=>{if($)return;$=!0,setTimeout(()=>process.exit(0),5000)};for(let Z of["SIGHUP","SIGTERM","SIGINT"])process.on(Z,X)}function Mn($=5000){let X=setInterval(()=>{if(process.ppid===1)process.exit(0)},$);return X.unref?.(),()=>clearInterval(X)}class On{owner=null;anchor=null;claim($,X){this.owner=$,this.anchor={x:Math.max(0,Math.trunc(X.x)),y:Math.max(0,Math.trunc(X.y))}}release($){if(this.owner!==$)return!1;return this.owner=null,this.anchor=null,!0}current(){return this.anchor}}class Ln{controller;pending=Buffer.alloc(0);frame=Buffer.alloc(0);constructor($){this.controller=$}push($){let X=this.pending.length>0?Buffer.concat([this.pending,$]):$;this.pending=Buffer.alloc(0);let Z=[],J=0;while(J<X.length){if(this.frame.length===0){let K=X.indexOf(UQ,J);if(K<0){let F=X.subarray(J),L=Fn(F,[UQ]),M=F.length-L;if(M>0)Z.push(F.subarray(0,M));if(L>0)this.pending=Buffer.from(F.subarray(M));break}if(K>J)Z.push(X.subarray(J,K));this.frame=Buffer.from(UQ),J=K+UQ.length;continue}let G=X.indexOf(rj,J),Y=X.indexOf(UQ,J);if(Y>=0&&(G<0||Y<G)){this.frame=Buffer.from(UQ),J=Y+UQ.length;continue}if(G>=0){if(G>J)this.frame=Buffer.concat([this.frame,X.subarray(J,G)]);Z.push(this.frame);let K=this.controller.current();if(K)Z.push(Buffer.from(`\x1B[${K.y+1};${K.x+1}H\x1B[?25l`));Z.push(rj),this.frame=Buffer.alloc(0),J=G+rj.length;continue}let W=X.subarray(J),H=Fn(W,[UQ,rj]),U=W.length-H;if(U>0)this.frame=Buffer.concat([this.frame,W.subarray(0,U)]);if(H>0)this.pending=Buffer.from(W.subarray(U));break}return Z.length>0?Buffer.concat(Z):Buffer.alloc(0)}flush(){if(this.frame.length>0)return this.frame=Buffer.alloc(0),this.pending=Buffer.alloc(0),Buffer.alloc(0);let $=this.pending;return this.pending=Buffer.alloc(0),$}}function Fn($,X){let Z=Math.min($.length,Math.max(...X.map((J)=>J.length-1)));for(let J=Z;J>0;J-=1){let G=$.subarray($.length-J);if(X.some((Y)=>J<Y.length&&G.equals(Y.subarray(0,J))))return J}return 0}function gW0($,X){if(typeof $!=="string")return Buffer.from($);let Z=typeof X==="string"?X:void 0;return Buffer.from($,Z)}function yW0($,X){return typeof $==="function"?$:X}function kW0($,X=dH){let Z=new Ln(X),G=(W,H,U)=>{let K=Z.push(gW0(W,H)),F=yW0(H,U);if(K.length===0){if(F)queueMicrotask(()=>F(null));return!0}return F?$.write(K,F):$.write(K)};return{stdout:new Proxy($,{get(W,H){if(H==="write")return G;let U=Reflect.get(W,H,W);return typeof U==="function"?U.bind(W):U},set(W,H,U){if(H==="write")return G=U,!0;return Reflect.set(W,H,U,W)}}),flush(){let W=Z.flush();if(W.length>0)$.write(W)}}}function jn($){if($.platform!=="darwin"||!$.fullscreen)return{active:!1,rendererOptions:{},attach:()=>()=>{},flush:()=>{}};let X=kW0($.stdout,$.controller);return{active:!0,rendererOptions:{stdout:X.stdout,remote:!1},attach:(Z)=>vW0(Z,$.stdout),flush:()=>X.flush()}}function vW0($,X,Z=process){let J=()=>{let{columns:G,rows:Y}=X;if(!G||!Y)return;$.resize(G,Y)};return Z.on("SIGWINCH",J),()=>Z.removeListener("SIGWINCH",J)}var UQ,rj,dH;var oI=o(()=>{UQ=Buffer.from("\x1B[?2026h"),rj=Buffer.from("\x1B[?2026l");dH=new On});import{createCliRenderer as mW0}from"@opentui/core";function uW0(){return oK.useEffect(()=>{let $=!1,X=null,Z=[];return(async()=>{let J=await Qn({logTag:"ui-prefs",channels:["ui-prefs","keybindings"]});if(!J)return;if($){J.dispose();return}X=J;let G=(U)=>{if(!U)return;if(iI(_n,U),wH(U.locale))xH(U.locale)},Y=J.uiPrefsStore();G(Y.get()),Z.push(Y.subscribe(()=>G(Y.get())));let W=J.keybindingsRevStore(),H=W.get();Z.push(W.subscribe(()=>{let U=W.get();if(U==null||U===H)return;let K=H===null;if(H=U,!K)el()}))})(),()=>{$=!0;for(let J of Z)J();X?.dispose()}},[]),null}function cW0($){let{theme:X}=n0();return oK.useEffect(()=>{P5("pane-crash",$.error)},[$.error]),I.jsxDEV("box",{flexDirection:"column",flexGrow:1,backgroundColor:X.background,paddingLeft:1,paddingTop:1,gap:1,children:[I.jsxDEV("text",{fg:X.error,children:P4("common.paneCrash.title")},void 0,!1,void 0,this),I.jsxDEV("text",{fg:X.textMuted,children:P4("common.paneCrash.hint")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}async function MG($){if($.logContext)Ax($.logContext);Rx(),fj();for(let{name:A,theme:C}of pI())eT(A,C);let X=ed(hW0,SH);iI(_n,{theme:X.theme,transparentBackground:X.transparent,focusAccent:X.focusAccent}),xH(X.locale);let Z=$.providers?.kv??!1,J=$.providers?.focus??!0,G=$.providers?.notifications??!1,Y=await $.setup(X),W=jn({platform:process.platform,fullscreen:$.inlineRows===void 0,stdout:process.stdout}),H=()=>{},U=()=>{H(),W.flush(),Y.onDestroy?.()},K=await mW0({...$.inlineRows!==void 0?Bn($.inlineRows,U):Un(U),...W.rendererOptions});H=W.attach(K);let F=I.jsxDEV(I.Fragment,{children:[I.jsxDEV(uW0,{},void 0,!1,void 0,this),I.jsxDEV(Vn,{children:Y.root()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M=I.jsxDEV(Yl,{children:G?I.jsxDEV(rp,{children:F},void 0,!1,void 0,this):F},void 0,!1,void 0,this),_=J?I.jsxDEV(Xn,{initial:"sidebar",children:M},void 0,!1,void 0,this):M,T=Z?I.jsxDEV(Al,{children:_},void 0,!1,void 0,this):_;nR(K).render(I.jsxDEV(xc,{mode:"dark",theme:X.theme,children:T},void 0,!1,void 0,this)),Kn(K),Nn(),Mn(),Hn()}var oK,hW0="claude",_n,Vn;var aK=o(async()=>{sX();k2();zn();bj();nI();Yn();qn();oI();HI();k3();uH();Z4();a0();await X4([O$(),ij(),e1(),e1(),T$()]);oK=W1(q1(),1),_n={selectedTheme:Pc,hasTheme:SH,setTheme:Rc,reloadUserThemes:()=>{for(let{name:$,theme:X}of pI())eT($,X)},transparentBackground:Tc,setTransparentBackground:Ic,focusAccent:Sc,setFocusAccent:Ec};Vn=class Vn extends oK.Component{state={error:null};static getDerivedStateFromError($){return{error:$}}render(){if(this.state.error!==null)return I.jsxDEV(cW0,{error:this.state.error},void 0,!1,void 0,this);return this.props.children}}});import*as Cn from"fs";import*as sj from"os";function tj($){return $.slice($.lastIndexOf("/")+1)}function t9($){if($==="~")return sj.homedir();if($.startsWith("~/"))return sj.homedir()+$.slice(1);return $}function An($){if(!$)return{base:"",filter:""};let Z=t9($==="~"?"~/":$);if(Z.endsWith("/"))return{base:Z,filter:""};let J=Z.lastIndexOf("/");if(J===-1)return{base:"",filter:Z};return{base:Z.slice(0,J+1),filter:Z.slice(J+1)}}function Dn($){if(!$)return[];try{let X=Cn.readdirSync($,{withFileTypes:!0}),Z=[];for(let J of X)if(J.isDirectory())Z.push(J.name);return Z.sort((J,G)=>J.localeCompare(G))}catch{return[]}}function Pn($,X){let Z=X.toLowerCase(),G=Z.startsWith(".")?$:$.filter((Y)=>!Y.startsWith("."));if(!Z)return G;return G.filter((Y)=>Y.toLowerCase().startsWith(Z))}function lH($,X,Z){let J=X+Z;if($.startsWith("~")){let G=sj.homedir();if(J===G)return"~";if(J.startsWith(`${G}/`))return`~${J.slice(G.length)}`}return J}var FG=()=>{};function Rn($){return $.kind==="leaf"?0:1+Math.max(...$.children.map(Rn))}function ej($){return{root:{kind:"leaf",id:"leaf-1",content:$},activeLeafId:"leaf-1",nextOrdinal:2}}function C2($){return $.kind==="leaf"?[$]:$.children.flatMap(C2)}function rK($,X,Z){let J={kind:"leaf",id:`leaf-${$.nextOrdinal}`,content:Z},G=(W)=>{if(W.kind==="leaf"){if(W.id!==$.activeLeafId)return W;return{kind:"group",orientation:X,children:[W,J]}}if(W.orientation===X){let H=W.children.findIndex((U)=>U.kind==="leaf"&&U.id===$.activeLeafId);if(H>=0){let U=[...W.children.slice(0,H+1),J,...W.children.slice(H+1)];return{...W,children:U}}}return{...W,children:W.children.map(G)}},Y=G($.root);if(Rn(Y)>4)return $;return{root:Y,activeLeafId:J.id,nextOrdinal:$.nextOrdinal+1}}function Tn($,X){let Z=C2($.root);if(Z.length<=1)return null;let J=(K)=>{if(K.kind==="leaf")return K.id===X?null:K;let F=K.children.map(J).filter((L)=>L!==null);if(F.length===0)return null;if(F.length===1)return F[0];return{...K,children:F}},G=J($.root);if(G===null)return null;if(C2(G).length===Z.length)return $;let Y=Z.map((K)=>K.id),W=Y.indexOf(X),H=Y[W>0?W-1:W+1],U=$.activeLeafId===X?H:$.activeLeafId;return{...$,root:G,activeLeafId:U}}function $_($,X,Z){let J=Z.trim(),G=J.length>0?J:null,Y=(W)=>W.kind==="leaf"?W.id===X?{...W,title:G}:W:{...W,children:W.children.map(Y)};if(!C2($.root).some((W)=>W.id===X))return $;return{...$,root:Y($.root)}}function In($,X){let Z=C2($.root).map((Y)=>Y.id);if(Z.length<=1)return $;let J=Z.indexOf($.activeLeafId),G=Z[(J+X+Z.length)%Z.length];return{...$,activeLeafId:G}}function aI($){return!$||C2($.root).some((X)=>X.id==="leaf-1")}function tK($){return $?C2($.root).length>1:!1}function X_($){let X=C2($.root);return X.length===1&&X[0]?.id==="leaf-1"?null:$}function BQ($,X){return X==="leaf-1"?$:`${$}::${X}`}function rI($,X,Z,J){let G=(H)=>{let U=(H??X)[0]??"",K=tj(U);return K.length>0?K:"?"},Y=new Map,W=new Map;for(let H of $){if(H.title){W.set(H.id,H.title);continue}let U=H.content===null?Z||J?.get(H.id)||G(H.content):J?.get(H.id)||sK,K=(Y.get(U)??0)+1;Y.set(U,K),W.set(H.id,K===1?U:`${U} ${K}`)}return W}function dW0($){let X=($??"").trim();if(X.length<3)return null;if(/^[\d\s\p{P}\p{S}]+$/u.test(X))return null;return X}function sI($,X,Z){if(Z===null&&$.kind==="engine")return Z3({...$,kind:"command",lastTitle:null},X);let J=Z??($.kind==="engine"?$.vendor??X:void 0);if(!J||u4(J).terminalTitle?.ownsStatus!==!0)return Z3($,X);return Z3({...$,kind:"engine",vendor:J,lastTitle:null},X)}function Z3($,X,Z){if($.title)return $.title;let J=$.splitTree?C2($.splitTree.root):[];if(J.length>1)return P4("terminal.tab.groupTitle",{n:$.ordinal});let G=J.length===1?J[0]:void 0;if(G&&G.id!=="leaf-1")return G.title??`${Z??sK} ${$.ordinal}`;if(Z)return`${Z} ${$.ordinal}`;if($.lastTitle)return`${$.lastTitle} ${$.ordinal}`;let Y=dW0($.autoTitle);if(Y)return Y;return`${$.kind==="engine"?u4($.vendor??X).defaultCommand[0]??sK:sK} ${$.ordinal}`}function tI($,X,Z,J){if(!Z||!J)return!1;if(u4(Z).terminalTitle?.ownsStatus!==!0)return!1;return Z3($,X,J)===`${J} ${$.ordinal}`}var sK="shell";var eI=o(()=>{M2();zG();FG()});import{readFileSync as lW0,realpathSync as pW0}from"fs";import{join as nW0}from"path";function oW0(){return nW0(T7(),"notes.json")}function Sn($){try{return pW0($)}catch{return $}}function En($,X=oW0()){if(!$)return[];let Z;try{Z=JSON.parse(lW0(X,"utf8"))}catch{return[]}let J=Z?.repos;if(!J||typeof J!=="object")return[];let G=Sn($);for(let Y of Object.values(J)){if(!Y||typeof Y!=="object")continue;let W=Y;if(typeof W.repoRoot!=="string"||Sn(W.repoRoot)!==G)continue;if(!Array.isArray(W.notes))return[];return W.notes.filter((H)=>!!H&&typeof H==="object"&&typeof H.text==="string").slice(0,iW0)}return[]}var iW0=15;var wn=o(()=>{R$()});import{existsSync as xn,readFileSync as aW0}from"fs";import{join as Z_}from"path";function tW0($){return xn(Z_($,rW0))?"sh .kobe/init.sh":void 0}function eW0($){let X=Z_($,sW0);if(!xn(X))return;try{let Z=aW0(X,"utf8");return Z.trim().length>0?Z:void 0}catch{return}}function $H0($,X){let Z=$?aD($):{},J=tW0(X)??Z.initScript,G=eW0(X)??Z.initPrompt;return{initScript:J&&J.trim().length>0?J:void 0,initPrompt:G&&G.trim().length>0?G:void 0}}function XH0($,X){if($.kind==="none")return;if($.kind==="explicit")return{source:"explicit",text:$.prompt};let Z=X.initPrompt?.trim();return Z?{source:"repo-init",text:Z}:void 0}function fn($,X,Z={kind:"repo-init"}){let J=$H0($,X);return{initScript:J.initScript,firstMessage:XH0(Z,J)}}var rW0,sW0;var bn=o(()=>{v5();rW0=Z_(".kobe","init.sh"),sW0=Z_(".kobe","init-prompt.md")});function ZH0($){return`${$}; __rc=$?; [ "$__rc" -ne 0 ] && printf '${"\\n \u26A0 Engine exited (code %s). Check Settings \u2192 Engines and fix the launch command.\\n\\n"}' "$__rc"; exec "\${SHELL:-/bin/sh}"`}function GH0($){let X=typeof $==="number"?$:$==null?Number.NaN:Number.parseInt($,10);if(!Number.isFinite(X))return JH0;return Math.max(QH0,Math.min(zH0,Math.round(X)))}function YH0($,X){let Z=String(X),J="\\n \u26A0 Repo init (.kobe/init.sh) timed out after %ss and was killed; continuing to the engine.\\n\\n",G="\\n \u26A0 Repo init (.kobe/init.sh) failed (code %s); continuing to the engine.\\n\\n";return['__kobe_init_env="${TMPDIR:-/tmp}/kobe-init-env.$$"','__kobe_init_to="${TMPDIR:-/tmp}/kobe-init-timeout.$$"','rm -f "$__kobe_init_env" "$__kobe_init_to" 2>/dev/null',"(",$,"__kobe_init_ec=$?",'export -p > "$__kobe_init_env" 2>/dev/null',"exit $__kobe_init_ec",") </dev/null &","__kobe_init_pid=$!",`( sleep ${Z}; : > "$__kobe_init_to"; kill -TERM "$__kobe_init_pid" 2>/dev/null; sleep 2; kill -KILL "$__kobe_init_pid" 2>/dev/null ) &`,"__kobe_init_wd=$!",'wait "$__kobe_init_pid" 2>/dev/null; __kobe_init_rc=$?','kill "$__kobe_init_wd" 2>/dev/null; wait "$__kobe_init_wd" 2>/dev/null',`if [ -f "$__kobe_init_to" ]; then __kobe_init_rc=124; printf '${"\\n \u26A0 Repo init (.kobe/init.sh) timed out after %ss and was killed; continuing to the engine.\\n\\n"}' '${Z}';`,'elif [ "$__kobe_init_rc" -eq 0 ]; then [ -f "$__kobe_init_env" ] && . "$__kobe_init_env" 2>/dev/null;',`else printf '${"\\n \u26A0 Repo init (.kobe/init.sh) failed (code %s); continuing to the engine.\\n\\n"}' "$__kobe_init_rc"; fi`,'rm -f "$__kobe_init_env" "$__kobe_init_to" 2>/dev/null'].join(`
|
|
717
717
|
`)}function WH0($){let X=$.lastIndexOf("/");return X<=0?".":$.slice(0,X)}function HH0($,X){let Z=ZH0($),J=X?.initScript?.trim();if(!J)return Z;let G=YH0(J,GH0(X?.timeoutSeconds)),Y=X?.markerPath&&Of(X.markerPath,X.platform);if(!Y)return gn+[G,Z].join(`
|
|
718
718
|
`);let W=N2(Y),H=N2(WH0(Y));return gn+[`if [ ! -f ${W} ]; then`,G,`if [ "$__kobe_init_rc" -eq 0 ]; then mkdir -p ${H} && : > ${W}; fi`,"fi",Z].join(`
|
|
719
719
|
`)}function qH0($,X="tab-1"){return`${$}::${X}`}function pH($){let X=$.task.kind==="main"?void 0:$.task.id,Z=$.task.kind==="main"?$.task.id:void 0,J=$.protocolGates,G=fn($.task.repo??"",$.worktreePath,$.promptIntent),Y=X?($.readNotes??En)($.task.repo??""):[],W=_l(jl($.argv,$.task.vendor,X,{status:J?.status,notes:J?.notes},Y),$.task.vendor,Z,J?.dispatcher);if(G.firstMessage)W=[...W,G.firstMessage.text];let H=HH0(pJ(W,{bareSafe:!0}),{initScript:G.initScript,markerPath:G.initScript?Ux($.worktreePath):void 0,timeoutSeconds:$.initTimeoutSeconds}),U=`export KOBE_TASK_ID=${N2($.task.id)} KOBE_TAB_ID=${N2($.tabId??"tab-1")}
|
package/package.json
CHANGED