@sma1lboy/rove 0.9.177 → 0.9.178
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/{chunk-ge7bva0a.js → chunk-1mrjn8dj.js} +1 -1
- package/dist/cli/{chunk-8p120gdr.js → chunk-1nta5wc3.js} +1 -1
- package/dist/cli/{chunk-w2d429hk.js → chunk-2ze11xhe.js} +1 -1
- package/dist/cli/{chunk-r0hekyyy.js → chunk-3dexjt11.js} +1 -1
- package/dist/cli/{chunk-d9y4wvpj.js → chunk-5rztnh8g.js} +1 -1
- package/dist/cli/{chunk-d608mvsf.js → chunk-6btgvytm.js} +1 -1
- package/dist/cli/{chunk-chfbbmf9.js → chunk-6p1qv979.js} +1 -1
- package/dist/cli/{chunk-ksfqd3sm.js → chunk-753gvvhj.js} +1 -1
- package/dist/cli/{chunk-fg75vvv7.js → chunk-95f55p39.js} +1 -1
- package/dist/cli/{chunk-8mn798a6.js → chunk-9vgmrf5t.js} +1 -1
- package/dist/cli/{chunk-77m8h1x8.js → chunk-a66g3dea.js} +1 -1
- package/dist/cli/{chunk-n3b6yr9e.js → chunk-ax8t5m5s.js} +1 -1
- package/dist/cli/{chunk-0c3pff95.js → chunk-b8wqsg37.js} +1 -1
- package/dist/cli/{chunk-94eb11hz.js → chunk-br6dggaa.js} +1 -1
- package/dist/cli/{chunk-bdgwqx8f.js → chunk-by1wyk0p.js} +1 -1
- package/dist/cli/{chunk-5rta19wp.js → chunk-cr5vmwmj.js} +1 -1
- package/dist/cli/{chunk-71g9dn38.js → chunk-earr7hwp.js} +1 -1
- package/dist/cli/{chunk-mwzmw8q4.js → chunk-fne9vb02.js} +1 -1
- package/dist/cli/{chunk-1ajvv66w.js → chunk-fx0gh17g.js} +1 -1
- package/dist/cli/{chunk-d7fk35g9.js → chunk-gkdy1skt.js} +1 -1
- package/dist/cli/{chunk-rmn9d90r.js → chunk-hkzx3t2h.js} +1 -1
- package/dist/cli/chunk-hses07jj.js +8 -0
- package/dist/cli/{chunk-eg8ns7p3.js → chunk-hsggj5yh.js} +2 -2
- package/dist/cli/{chunk-6xwg11k1.js → chunk-hxgkx142.js} +1 -1
- package/dist/cli/{chunk-gs4nhjah.js → chunk-kxarx5r4.js} +2 -2
- package/dist/cli/{chunk-7w2vcjst.js → chunk-n2r1ngzj.js} +1 -1
- package/dist/cli/{chunk-b3xxh6v9.js → chunk-p6rbbgct.js} +2 -2
- package/dist/cli/{chunk-wvb1f6pt.js → chunk-pbrpzt04.js} +1 -1
- package/dist/cli/{chunk-r2qn2k6r.js → chunk-pn96m962.js} +1 -1
- package/dist/cli/{chunk-364q4ak8.js → chunk-q797ryhf.js} +1 -1
- package/dist/cli/{chunk-y8dn3rez.js → chunk-q8h41zg7.js} +1 -1
- package/dist/cli/{chunk-67jyf8x5.js → chunk-qcb0mkzz.js} +1 -1
- package/dist/cli/{chunk-ndvccptj.js → chunk-rwsh6m4e.js} +3 -3
- package/dist/cli/{chunk-9gezfdvn.js → chunk-tzy85y5k.js} +1 -1
- package/dist/cli/{chunk-s9h4m4k2.js → chunk-wdzhfbye.js} +1 -1
- package/dist/cli/{chunk-dj5qqh6n.js → chunk-wqyq6481.js} +1 -1
- package/dist/cli/{chunk-7r17j4te.js → chunk-xr30vfgt.js} +1 -1
- package/dist/cli/{chunk-pz5y8f3r.js → chunk-z5x3cd7j.js} +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/kobe.js +1 -1
- package/dist/cli/rove.js +1 -1
- package/package.json +1 -1
- package/dist/cli/chunk-qqxw72nh.js +0 -8
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{deriveTitleFromPrompt}from"./chunk-xb9b93ts.js";import{TaskDeletingError}from"./chunk-g7baby60.js";import{awaitEngineProcess,buildEngineSessionLaunch,deliverToHostedKey,ensureHostedEngine,ensureHostedSessionHost,findHostedEngineKey,hostedSessionFailureLine,hostedTaskKeys,killHostedSessions,listHostedSessions,openHostedSessionHost,pastePromptWhenEngineUp,sessionHasEngine,trustEngineWorktree}from"./chunk-
|
|
2
|
+
import{deriveTitleFromPrompt}from"./chunk-xb9b93ts.js";import{TaskDeletingError}from"./chunk-g7baby60.js";import{awaitEngineProcess,buildEngineSessionLaunch,deliverToHostedKey,ensureHostedEngine,ensureHostedSessionHost,findHostedEngineKey,hostedSessionFailureLine,hostedTaskKeys,killHostedSessions,listHostedSessions,openHostedSessionHost,pastePromptWhenEngineUp,sessionHasEngine,trustEngineWorktree}from"./chunk-q797ryhf.js";import{engineLaunchArgv,protocolEntry}from"./chunk-xr30vfgt.js";import{resolveLoginShell}from"./chunk-b99tf0jr.js";import{DEFAULT_TASK_VENDOR}from"./chunk-xy8be792.js";var MAX_SESSIONS_SCANNED=8;function titleFromMessages(messages){let firstUser=messages.find((m)=>m.role==="user");if(!firstUser)return"";let text=firstUser.blocks.filter((b)=>b.type==="text").map((b)=>b.text).join(" "),title=deriveTitleFromPrompt(text);return title.length>0?Buffer.from(title,"utf8").toString("utf8"):title}async function deriveTitleFromSession(worktree,vendor=DEFAULT_TASK_VENDOR){if(!worktree)return"";let{history}=protocolEntry(vendor),ids=await history.listSessionIdsForWorktree(worktree);for(let sessionId of ids.slice(0,MAX_SESSIONS_SCANNED)){let title=titleFromMessages(await history.readHistory(sessionId));if(title)return title}return""}async function deriveTitleFromSessionId(vendor,sessionId){if(!sessionId)return"";try{return titleFromMessages(await protocolEntry(vendor).history.readHistory(sessionId))}catch{return""}}async function getTask(link,taskId){let{task}=await link.request("task.get",{taskId});return task}async function ensureTaskWorktree(link,taskId){let task=await getTask(link,taskId);if(task.deletion)throw new TaskDeletingError(taskId);if(task.worktreePath)return{task,worktreePath:task.worktreePath};let{worktreePath}=await link.request("task.ensureWorktree",{taskId});if(!worktreePath)throw Error(`task ${taskId} has no worktree`);return{task,worktreePath}}async function ensureTaskSessionAdapter(link,taskId){let{task,worktreePath}=await ensureTaskWorktree(link,taskId),launch=taskEngineLaunch(task,worktreePath,{kind:"repo-init"}),host=await ensureHostedSessionHost();try{if(!(await ensureHostedEngine(host.rpc,worktreePath,launch)).alive)throw Error(`failed to start hosted engine session for ${taskId}`);if(launch.firstMessage){let engineBin=engineLaunchArgv({command:task.command,vendor:task.vendor,effort:task.modelEffort})[0];await pastePromptWhenEngineUp(host.rpc,launch.key,engineBin,launch.firstMessage,{initMarkerPath:launch.initMarkerPath,initTimeoutMs:launch.initTimeoutMs}).catch(()=>!1)}}finally{host.close()}return{session:launch.key,worktreePath}}async function startTaskSessionWithPromptAdapter(link,taskId,prompt){let{task,worktreePath}=await ensureTaskWorktree(link,taskId);await link.request("task.observeLanguage",{taskId,text:prompt}).catch(()=>{});let launch=taskEngineLaunch(task,worktreePath,{kind:"new-task",prompt}),host=await ensureHostedSessionHost();try{if(!(await ensureHostedEngine(host.rpc,worktreePath,launch)).alive)return{started:!1,error:"hosted session did not open"};let engineBin=engineLaunchArgv({command:task.command,vendor:task.vendor,effort:task.modelEffort})[0],wait={initMarkerPath:launch.initMarkerPath,initTimeoutMs:launch.initTimeoutMs};if(launch.firstMessage){if(await pastePromptWhenEngineUp(host.rpc,launch.key,engineBin,launch.firstMessage,wait)!==null)return{started:!0};return{started:!1,error:await startFailureReason(host.rpc,launch.key)}}if(await awaitEngineProcess(host.rpc,launch.key,engineBin,wait)!==null)return{started:!0};return{started:!1,error:await startFailureReason(host.rpc,launch.key)}}finally{host.close()}}async function startFailureReason(rpc,key){let tail=await hostedSessionFailureLine(rpc,key),base="engine process never started";return tail?`engine process never started; last session output: ${tail}`:"engine process never started"}function taskEngineLaunch(task,worktreePath,promptIntent){return trustEngineWorktree(task.vendor,worktreePath),buildEngineSessionLaunch({task:{id:task.id,kind:task.kind,vendor:task.vendor,repo:task.repo},worktreePath,shell:resolveLoginShell({fallback:"/bin/zsh"}),argv:engineLaunchArgv({command:task.command,vendor:task.vendor,effort:task.modelEffort}),promptIntent})}async function deliverPromptToLiveEngineAdapter(task,prompt){let host=await openHostedSessionHost();if(!host)return!1;try{let sessions=await listHostedSessions(host.rpc),engineArgv=engineLaunchArgv({command:task.command,vendor:task.vendor}),key=findHostedEngineKey(sessions,task.id,engineArgv[0]);if(!key)return!1;if(!await sessionHasEngine(sessions.find((s)=>s.key===key)?.pid,engineArgv))return!1;return await deliverToHostedKey(host.rpc,key,prompt)!==null}catch{return!1}finally{host.close()}}function tabIdFromHostedKey(key){return key.split("::")[1]??"tab-1"}async function deliverPromptToLiveEngineDetailedAdapter(task,prompt){let host=await openHostedSessionHost();if(!host)return{outcome:"no-session"};try{let sessions=await listHostedSessions(host.rpc),engineArgv=engineLaunchArgv({command:task.command,vendor:task.vendor}),key=findHostedEngineKey(sessions,task.id,engineArgv[0]);if(!key)return{outcome:"no-session"};if(!await sessionHasEngine(sessions.find((s)=>s.key===key)?.pid,engineArgv))return{outcome:"no-engine",tabId:tabIdFromHostedKey(key)};return await deliverToHostedKey(host.rpc,key,prompt)===null?{outcome:"no-session"}:{outcome:"delivered",tabId:tabIdFromHostedKey(key)}}catch{return{outcome:"no-session"}}finally{host.close()}}async function deliverPromptToLiveEngineTabDetailedAdapter(target,prompt){let host=await openHostedSessionHost();if(!host)return{outcome:"no-session"};try{let key=`${target.id}::${target.tabId}`,sessions;try{sessions=await listHostedSessions(host.rpc)}catch{return{outcome:"no-session"}}let session=sessions.find((candidate)=>candidate.alive&&candidate.key===key);if(!session)return{outcome:"no-session"};let engineArgv=engineLaunchArgv({command:target.command,vendor:target.vendor});if(!await sessionHasEngine(session.pid,engineArgv))return{outcome:"no-engine",tabId:target.tabId};return await deliverToHostedKey(host.rpc,key,prompt)===null?{outcome:"no-session"}:{outcome:"delivered",tabId:target.tabId}}finally{host.close()}}async function tearDownTaskSessionAdapter(taskId){let host=await openHostedSessionHost();if(!host)return;try{await killHostedSessions(host.rpc,hostedTaskKeys(await listHostedSessions(host.rpc),taskId))}catch{}finally{host.close()}}
|
|
3
3
|
export{deriveTitleFromSession,deriveTitleFromSessionId,ensureTaskSessionAdapter,startTaskSessionWithPromptAdapter,deliverPromptToLiveEngineAdapter,deliverPromptToLiveEngineDetailedAdapter,deliverPromptToLiveEngineTabDetailedAdapter,tearDownTaskSessionAdapter};
|