@robota-sdk/agent-command 3.0.0-beta.64
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/LICENSE +21 -0
- package/dist/node/index.cjs +30 -0
- package/dist/node/index.d.ts +293 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +31 -0
- package/dist/node/index.js.map +1 -0
- package/package.json +48 -0
- package/src/agent/__tests__/agent-command.test.ts +504 -0
- package/src/agent/agent-command-module.ts +82 -0
- package/src/agent/agent-command-parser.ts +180 -0
- package/src/agent/agent-command.ts +235 -0
- package/src/agent/index.ts +7 -0
- package/src/background/__tests__/background-command-module.test.ts +255 -0
- package/src/background/background-command-module.ts +53 -0
- package/src/background/background-command.ts +63 -0
- package/src/background/index.ts +6 -0
- package/src/compact/__tests__/compact-command-module.test.ts +162 -0
- package/src/compact/compact-command-module.ts +51 -0
- package/src/compact/compact-command.ts +21 -0
- package/src/compact/index.ts +6 -0
- package/src/context/__tests__/context-command-module.test.ts +294 -0
- package/src/context/context-command-module.ts +54 -0
- package/src/context/context-command.ts +298 -0
- package/src/context/index.ts +6 -0
- package/src/exit/__tests__/exit-command-module.test.ts +35 -0
- package/src/exit/exit-command-module.ts +48 -0
- package/src/exit/exit-command.ts +10 -0
- package/src/exit/index.ts +6 -0
- package/src/help/__tests__/help-command-module.test.ts +106 -0
- package/src/help/help-command-module.ts +48 -0
- package/src/help/help-command.ts +9 -0
- package/src/help/index.ts +6 -0
- package/src/index.ts +20 -0
- package/src/language/__tests__/language-command-module.test.ts +105 -0
- package/src/language/index.ts +6 -0
- package/src/language/language-command-module.ts +56 -0
- package/src/language/language-command.ts +22 -0
- package/src/memory/__tests__/memory-command-module.test.ts +272 -0
- package/src/memory/index.ts +6 -0
- package/src/memory/memory-command-module.ts +57 -0
- package/src/memory/memory-command.ts +234 -0
- package/src/mode/__tests__/mode-command-module.test.ts +143 -0
- package/src/mode/index.ts +6 -0
- package/src/mode/mode-command-module.ts +56 -0
- package/src/mode/mode-command.ts +34 -0
- package/src/model/__tests__/model-command-module.test.ts +273 -0
- package/src/model/index.ts +6 -0
- package/src/model/model-command-module.ts +68 -0
- package/src/model/model-command.ts +40 -0
- package/src/permissions/__tests__/permissions-command-module.test.ts +164 -0
- package/src/permissions/index.ts +6 -0
- package/src/permissions/permissions-command-module.ts +56 -0
- package/src/permissions/permissions-command.ts +45 -0
- package/src/plugin/__tests__/plugin-command-module.test.ts +214 -0
- package/src/plugin/index.ts +7 -0
- package/src/plugin/plugin-command-module.ts +81 -0
- package/src/plugin/plugin-command.ts +230 -0
- package/src/provider/__tests__/provider-command-module.test.ts +488 -0
- package/src/provider/__tests__/provider-setup-flow.test.ts +43 -0
- package/src/provider/index.ts +30 -0
- package/src/provider/provider-command-execution.ts +150 -0
- package/src/provider/provider-command-module.ts +65 -0
- package/src/provider/provider-command-profile-lifecycle.ts +211 -0
- package/src/provider/provider-command-profile-operations.ts +198 -0
- package/src/provider/provider-command-profile.ts +109 -0
- package/src/provider/provider-command-setup.ts +104 -0
- package/src/provider/provider-setup-flow.ts +309 -0
- package/src/reset/__tests__/reset-command-module.test.ts +63 -0
- package/src/reset/index.ts +2 -0
- package/src/reset/reset-command-module.ts +49 -0
- package/src/reset/reset-command.ts +10 -0
- package/src/rewind/__tests__/rewind-command-module.test.ts +215 -0
- package/src/rewind/index.ts +2 -0
- package/src/rewind/rewind-command-module.ts +57 -0
- package/src/rewind/rewind-command.ts +184 -0
- package/src/session/__tests__/session-command-module.test.ts +339 -0
- package/src/session/index.ts +17 -0
- package/src/session/session-command-module.ts +168 -0
- package/src/session/session-command.ts +74 -0
- package/src/settings/index.ts +7 -0
- package/src/settings/settings-command-module.ts +50 -0
- package/src/skills/__tests__/skills-command-module.test.ts +157 -0
- package/src/skills/index.ts +6 -0
- package/src/skills/skills-command-module.ts +62 -0
- package/src/skills/skills-command.ts +110 -0
- package/src/statusline/__tests__/statusline-command-module.test.ts +95 -0
- package/src/statusline/index.ts +6 -0
- package/src/statusline/statusline-command-module.ts +56 -0
- package/src/statusline/statusline-command.ts +79 -0
- package/src/user-local/__tests__/user-local-command.test.ts +145 -0
- package/src/user-local/index.ts +13 -0
- package/src/user-local/user-local-command-constants.ts +5 -0
- package/src/user-local/user-local-command-module.ts +67 -0
- package/src/user-local/user-local-command.ts +205 -0
- package/src/user-local/user-local-memory-command.ts +147 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import{BACKGROUND_COMMAND_DESCRIPTION as e,BACKGROUND_COMMAND_USAGE as t,CLEAR_COMMAND_DESCRIPTION as n,COST_COMMAND_DESCRIPTION as r,DEFAULT_AUTO_COMPACT_THRESHOLD as i,DEFAULT_STATUS_LINE_COMMAND_SETTINGS as a,EXIT_COMMAND_DESCRIPTION as o,HELP_COMMAND_DESCRIPTION as s,LANGUAGE_COMMAND_ARGUMENT_HINT as ee,LANGUAGE_COMMAND_DESCRIPTION as te,MEMORY_COMMAND_ARGUMENT_HINT as ne,MEMORY_COMMAND_DESCRIPTION as re,MEMORY_COMMAND_USAGE as ie,MODEL_COMMAND_ARGUMENT_HINT as ae,MODEL_COMMAND_DESCRIPTION as oe,PERMISSIONS_COMMAND_DESCRIPTION as se,PERMISSION_MODE_ARGUMENT_HINT as ce,PERMISSION_MODE_COMMAND_DESCRIPTION as le,PLUGIN_COMMAND_ARGUMENT_HINT as ue,PLUGIN_COMMAND_DESCRIPTION as de,RELOAD_PLUGINS_COMMAND_DESCRIPTION as fe,RENAME_COMMAND_DESCRIPTION as pe,RENAME_COMMAND_USAGE as me,RESUME_COMMAND_DESCRIPTION as he,REWIND_COMMAND_ARGUMENT_HINT as ge,REWIND_COMMAND_DESCRIPTION as _e,STATUSLINE_COMMAND_ARGUMENT_HINT as ve,STATUSLINE_COMMAND_DESCRIPTION as ye,SkillCommandSource as be,VALIDATE_SESSION_COMMAND_DESCRIPTION as xe,addCommandContextReference as Se,buildBackgroundCommandSubcommands as Ce,buildLanguageCommandSubcommands as we,buildMemoryCommandSubcommands as Te,buildModelCommandSubcommands as Ee,buildPermissionModeSubcommands as De,buildPluginCommandSubcommands as Oe,buildProviderSetupPatch as ke,buildRewindCommandSubcommands as Ae,buildStatusLineCommandSubcommands as je,cancelCommandBackgroundTask as Me,clearCommandContextReferences as Ne,clearConversationHistory as Pe,closeCommandBackgroundTask as Fe,compactCommandContext as Ie,createCommandMemoryStores as Le,createPluginRegistryReloadRequestedEffect as Re,createPluginTuiRequestedEffect as ze,createSessionExitRequestedEffect as Be,createSessionPickerRequestedEffect as Ve,createSessionRenamedEffect as He,deleteProviderProfile as Ue,deleteUserLocalMemoryItem as We,disableUserLocalMemoryItem as Ge,formatCommandBackgroundTaskList as Ke,formatCommandHelpMessage as qe,formatCommandPermissionsMessage as Je,formatCommandSessionReplayValidationReport as Ye,formatInvalidPermissionModeMessage as Xe,formatLanguageUsageMessage as Ze,formatModelCommandUsageMessageAsync as Qe,hasSensitiveCommandMemoryContent as $e,inspectCommandEditCheckpoint as et,inspectUserLocalMemoryItem as tt,inspectUserLocalStorage as nt,isCommandMemoryType as rt,isPermissionMode as it,listCommandBackgroundTasks as at,listCommandContextReferences as c,listCommandEditCheckpoints as ot,listCommandUsedMemoryReferences as st,listUserLocalMemoryItems as ct,mergeProviderPatch as lt,parseCommandBackgroundLogCursor as ut,parseLanguageArgument as dt,parsePermissionModeArgument as ft,parseSessionNameArgument as pt,readAutoCompactThreshold as mt,readAutoCompactThresholdSource as ht,readCommandBackgroundTaskLog as gt,readCommandContextState as _t,readCommandPermissionMode as vt,readCommandPermissionsState as yt,readCommandSessionInfo as bt,recordCommandMemoryEvent as xt,removeCommandContextReference as St,resetAutoCompactThresholdSetting as Ct,resolvePluginCommandAdapter as wt,restoreCommandEditCheckpoint as Tt,rollbackCommandEditCheckpoint as Et,sanitizeProviderProfileName as Dt,setCommandAutoCompactThreshold as Ot,setCurrentProvider as kt,setUserLocalMemoryItem as At,suggestProviderProfileName as jt,summarizeBackgroundJobGroup as Mt,testProviderProfileCommand as Nt,upsertProviderProfile as Pt,validateCommandSessionReplayLog as Ft,writeAutoCompactThresholdSetting as It,writeCommandPermissionMode as Lt}from"@robota-sdk/agent-framework";import{findProviderDefinition as l,formatSupportedProviderTypes as u}from"@robota-sdk/agent-core";function Rt(e){let t=[],n=``,r,i=!1;for(let a of e){if(i){n+=a,i=!1;continue}if(r&&a===`\\`){i=!0;continue}if(r){a===r?r=void 0:n+=a;continue}if(a===`"`||a===`'`){r=a;continue}if(/\s/.test(a)){n.length>0&&(t.push(n),n=``);continue}n+=a}return n.length>0&&t.push(n),t}function zt(e){let t=[],n,r,i;for(let a=0;a<e.length;a+=1){let o=e[a];if(o!==`--background`){if(o===`--agent`||o===`--type`||o===`-a`){n=e[a+1],a+=1;continue}if(o===`--model`){r=e[a+1],a+=1;continue}if(o===`--isolation`){let t=e[a+1];(t===`none`||t===`worktree`)&&(i=t),a+=1;continue}o!==void 0&&t.push(o)}}return{positional:t,...n?{agentType:n}:{},...r?{model:r}:{},...i?{isolation:i}:{}}}function d(e,t,n,r){return{agentType:t,label:n,mode:`background`,prompt:r,...e.model?{model:e.model}:{},...e.isolation?{isolation:e.isolation}:{}}}function Bt(e,t){let n=zt(e),[r,...i]=n.positional,a=n.agentType??`general-purpose`,o=n.positional;!n.agentType&&r&&t.has(r)&&(a=r,o=i);let s=o.join(` `).trim();if(s)return d(n,a,a,s)}function Vt(e,t){let n=zt(e);return n.positional.map(e=>Ht(e,n,t)).filter(e=>e!==void 0)}function Ht(e,t,n){let r=e.indexOf(`=`);if(r>0)return Ut(e.slice(0,r),e.slice(r+1),t,n);let i=e.indexOf(`:`);if(i<=0||i===e.length-1)return;let a=e.slice(0,i),o=e.slice(i+1);return d(t,t.agentType??(n.has(a)?a:`general-purpose`),a,o)}function Ut(e,t,n,r){let i=t.indexOf(`:`);if(i===-1)return d(n,n.agentType??(r.has(e)?e:`general-purpose`),e,t);if(!(i===0||i===t.length-1))return d(n,t.slice(0,i),e,t.slice(i+1))}function f(e){return e instanceof Error?e.message:String(e)}function Wt(e){return new Set(e.listAgentDefinitions().map(e=>e.name))}function Gt(e,t){let n=e.listAgentDefinitions();if(!n.some(e=>e.name===t))return{message:`Unknown agent type: ${t}\nAvailable agents: ${n.map(e=>e.name).join(`, `)}`,success:!1}}async function Kt(e,t){let n=Gt(e,t.agentType);if(n)return n;try{return{state:await e.spawnAgentJob(t)}}catch(e){return{message:f(e),success:!1}}}function qt(){return{message:``,effects:[{type:`agent-switcher-requested`}],success:!0}}async function Jt(e){let t=e.listAgentDefinitions(),n=e.listAgentJobs();return{message:[`Available agents:`,...t.map(e=>` ${e.name} - ${e.description}`),``,n.length===0?`No active agent jobs.`:`Agent jobs:`,...n.map(e=>` ${Yt(e)}`)].join(`
|
|
2
|
+
`),success:!0,data:{agents:t.length,jobs:n.length}}}function Yt(e){let t=[e.worktreePath?`worktree=${e.worktreePath}`:void 0,e.branchName?`branch=${e.branchName}`:void 0].filter(e=>e!==void 0),n=t.length>0?` ${t.join(` `)}`:``;return`${e.id} [${e.status}${n}] ${e.label} - ${e.promptPreview}`}async function Xt(e,t){let n=Bt(t,Wt(e));if(!n)return{message:`Usage: agent run [AGENT_NAME] [--agent AGENT_NAME] PROMPT`,success:!1};let r=await Kt(e,n);if(`success`in r)return r;let{state:i}=r;return{message:`Started agent job: ${i.id}`,success:!0,data:{agentId:i.id,status:i.status}}}async function Zt(e,t){let n=t.includes(`--wait`)||!t.includes(`--detach`),r=Vt(t.filter(e=>e!==`--wait`&&e!==`--detach`),Wt(e));if(r.length===0)return{message:`Usage: agent parallel [--wait|--detach] LABEL:"PROMPT" [LABEL=AGENT_NAME:"PROMPT"]`,success:!1};let i=r.map(t=>Gt(e,t.agentType)).find(e=>e!==void 0);if(i)return i;let a;try{a=await Promise.all(r.map(t=>e.spawnAgentJob(t)))}catch(e){return{message:f(e),success:!1}}let o=e.createBackgroundJobGroup({waitPolicy:`wait_all`,taskIds:a.map(e=>e.id),label:`agent parallel`});if(n){let t=Mt(await e.waitBackgroundJobGroup(o.id));return{message:an(t),success:!0,data:{agentIds:a.map(e=>e.id),groupId:o.id,summary:t}}}return{message:[`Started agent jobs:`,...a.map(e=>`${e.label}: ${e.id}`)].join(`
|
|
3
|
+
`),success:!0,data:{agentIds:a.map(e=>e.id),groupId:o.id}}}async function Qt(e,t){let[n]=t;if(!n)return{message:`Usage: agent wait GROUP_ID`,success:!1};let r=Mt(await e.waitBackgroundJobGroup(n));return{message:an(r),success:!0,data:{groupId:n,summary:r}}}async function $t(e,t){let[n,r]=t;if(!n)return{message:`Usage: agent read AGENT_ID [OFFSET]`,success:!1};let i=r?{offset:Number.parseInt(r,10)}:void 0,a=await e.readBackgroundTaskLog(n,i),o=a.nextCursor?`\nNext offset: ${a.nextCursor.offset}`:``;return{message:a.lines.length>0?`${a.lines.join(`
|
|
4
|
+
`)}${o}`:`No log lines: ${n}`,success:!0,data:{agentId:n,nextOffset:a.nextCursor?.offset}}}async function en(e,t){let[n,...r]=t,i=r.join(` `).trim();return!n||!i?{message:`Usage: agent send AGENT_ID PROMPT`,success:!1}:(await e.sendAgentJob(n,i),{message:`Sent input to agent job: ${n}`,success:!0,data:{agentId:n}})}async function tn(e,t){let[n,...r]=t;return n?(await e.cancelAgentJob(n,r.join(` `)||void 0),{message:`Agent job stopped: ${n}`,success:!0,data:{agentId:n}}):{message:`Usage: agent stop AGENT_ID [REASON]`,success:!1}}async function nn(e,t){let[n]=t;return n?(await e.closeAgentJob(n),{message:`Agent job closed: ${n}`,success:!0,data:{agentId:n}}):{message:`Usage: agent close AGENT_ID`,success:!1}}async function rn(e,t){try{if(t.trim()===``)return qt();let[n=`list`,...r]=Rt(t);return n===`list`&&r.length===0?Jt(e):n===`run`?Xt(e,r):n===`parallel`?Zt(e,r):n===`wait`?Qt(e,r):n===`read`||n===`open`?$t(e,r):n===`send`?en(e,r):n===`stop`||n===`cancel`?tn(e,r):n===`close`?nn(e,r):Xt(e,[n,...r])}catch(e){return{message:f(e),success:!1}}}function an(e){return[`Background job group ${e.groupId}: ${e.status} (${e.completed}/${e.total} completed, ${e.failed} failed, ${e.cancelled} cancelled, ${e.pending} pending)`,...e.lines].join(`
|
|
5
|
+
`)}function on(e){let t=e.getAgentJobCapability?.();if(!t)throw Error(`Agent job capability is not available in this context.`);return t}function sn(){return[{name:`list`,description:`List available agents and active jobs`,source:`agent`},{name:`run`,description:`Start one background agent job`,source:`agent`},{name:`parallel`,description:`Run multiple agents in parallel`,source:`agent`},{name:`wait`,description:`Wait for a background agent group summary`,source:`agent`},{name:`read`,description:`Read an agent job log page`,source:`agent`},{name:`send`,description:`Send follow-up input to an agent job`,source:`agent`},{name:`stop`,description:`Cancel a running agent job`,source:`agent`},{name:`close`,description:`Dismiss a terminal agent job`,source:`agent`},{name:`open`,description:`Focus an agent job detail view when supported`,source:`agent`}]}function p(){return{name:`agent`,description:[`Subagent jobs command.`,`Natural-language arguments start one background agent job.`,`When the user explicitly asks to create, run, spawn, delegate to, or use agents/subagents, start the requested agent command immediately and do not ask a follow-up question unless execution is impossible or unsafe.`,`If the target item is unspecified, include target selection inside the agent prompt instead of delaying execution.`,`The parallel form starts multiple background agent jobs as a wait_all group and returns a consolidated group summary unless --detach is present.`,`list, wait, read, send, stop, close, and open manage existing agent jobs.`].join(` `),source:`agent`,modelInvocable:!0,argumentHint:`PROMPT | AGENT_NAME PROMPT | list | parallel [--wait|--detach] LABEL:"PROMPT" [LABEL=AGENT_NAME:"PROMPT"] | wait GROUP_ID | read AGENT_ID [OFFSET] | send AGENT_ID PROMPT | stop AGENT_ID | close AGENT_ID`,safety:`background-agent`,subcommands:sn()}}function cn(){let e=p();return{name:e.name,description:e.description,execute:(e,t)=>rn(on(e),t),...e.modelInvocable===void 0?{}:{modelInvocable:e.modelInvocable},...e.userInvocable===void 0?{}:{userInvocable:e.userInvocable},...e.argumentHint===void 0?{}:{argumentHint:e.argumentHint},...e.safety===void 0?{}:{safety:e.safety}}}var ln=class{name=`agent`;getCommands(){return[p()]}};function un(){return{name:`agent-command-agent`,commandSources:[new ln],systemCommands:[cn()],sessionRequirements:[`agent-runtime`]}}function dn(e){return e.trim().split(/\s+/).filter(Boolean)}async function fn(e,n){let[r=`list`,i,...a]=dn(n);if(r===`list`){let t=at(e);return{message:Ke(t),success:!0,data:{count:t.length}}}if(!i)return{message:t,success:!1};if(r===`read`||r===`log`||r===`open`){let t=await gt(e,i,ut(a[0])),n=t.nextCursor?`\nNext offset: ${t.nextCursor.offset}`:``;return{message:t.lines.length>0?`${t.lines.join(`
|
|
6
|
+
`)}${n}`:`No log lines: ${i}`,success:!0,data:{taskId:i,nextOffset:t.nextCursor?.offset}}}return r===`cancel`||r===`stop`?(await Me(e,i,a.join(` `)||void 0),{message:`Background task cancelled: ${i}`,success:!0,data:{taskId:i}}):r===`close`||r===`dismiss`?(await Fe(e,i),{message:`Background task closed: ${i}`,success:!0,data:{taskId:i}}):{message:`Unknown background action: ${r}`,success:!1}}function m(){return{name:`background`,description:e,source:`background`,modelInvocable:!1,subcommands:Ce()}}function pn(){let e=m();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,subcommands:e.subcommands,execute:fn}}var mn=class{name=`background`;getCommands(){return[m()]}};function hn(){return{name:`agent-command-background`,commandSources:[new mn],systemCommands:[pn()]}}function gn(e){let t=e.trim();return t.length>0?t:void 0}async function _n(e,t){let n=await Ie(e,gn(t)),r=n.before.usedPercentage,i=n.after.usedPercentage;return{message:`Context compacted: ${Math.round(r)}% -> ${Math.round(i)}%`,success:!0,data:{before:r,after:i}}}function h(){return{name:`compact`,description:`Compress context window`,source:`compact`,modelInvocable:!0,argumentHint:`[instructions]`,safety:`write`}}function vn(){let e=h();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:e.modelInvocable,argumentHint:e.argumentHint,safety:e.safety,lifecycle:`blocking`,execute:_n}}var yn=class{name=`compact`;getCommands(){return[h()]}};function bn(){return{name:`agent-command-compact`,commandSources:[new yn],systemCommands:[vn()]}}const g=[`Usage: /context [list] | add <path> | remove <path> | clear | auto on | off | <percent> | reset`,`Examples: /context list, /context add AGENTS.md, /context remove AGENTS.md, /context auto 85%`].join(`
|
|
7
|
+
`);function _(e){return e===!1?`disabled`:`${Math.round(e*100)}%`}function xn(e,t){return e===!1?`Auto compact: disabled (${t})`:`Auto compact: ${_(e)} (${t})`}function Sn(e){return e?`settings`:`current session only`}async function Cn(e,t){let n=t.trim().split(/\s+/).filter(e=>e.length>0);if(n.length>0)return wn(e,n);let r=_t(e),i=mt(e),a=ht(e);return{message:[`Context: ${r.usedTokens.toLocaleString()} / ${r.maxTokens.toLocaleString()} tokens (${Math.round(r.usedPercentage)}%)`,xn(i,a),An(c(e))].join(`
|
|
8
|
+
`),success:!0,data:{usedTokens:r.usedTokens,maxTokens:r.maxTokens,percentage:r.usedPercentage,autoCompactThreshold:i,autoCompactThresholdSource:a,references:c(e)}}}async function wn(e,t){let[n,...r]=t;if(n===`list`)return r.length>0?{success:!1,message:g}:jn(c(e));if(n===`add`)return En(e,r);if(n===`remove`)return Dn(e,r);if(n===`clear`){if(r.length>0)return{success:!1,message:g};let t=Ne(e);return{success:!0,message:`Context references cleared: ${t.removed.length} removed.`,data:{removed:t.removed}}}return n===`auto`?Tn(e,r):{success:!1,message:g}}function Tn(e,t){let[n,r]=t;if(r!==void 0)return{success:!1,message:g};if(n===void 0){let t=mt(e),n=ht(e);return{success:!0,message:[xn(t,n),g].join(`
|
|
9
|
+
`),data:{autoCompactThreshold:t,autoCompactThresholdSource:n}}}if(n===`on`)return v(e,i,`enabled`);if(n===`off`)return v(e,!1,`disabled`);if(n===`reset`){let t=Ct(e);return Ot(e,i,`default`),{success:!0,message:`Auto compact reset to default: ${_(i)} (${Sn(t)}).`,data:{autoCompactThreshold:i,autoCompactThresholdSource:`default`,persisted:t}}}let a=kn(n);return a.success?v(e,a.threshold,`threshold set`):{success:!1,message:`${a.message}\n${g}`}}async function En(e,t){let n=t.join(` `).trim();if(!n)return{success:!1,message:g};let r=await Se(e,n);return r.reference?{success:!0,message:[`Context reference added: ${y(r.reference)}.`,...r.evicted.length>0?[`Evicted ${r.evicted.length} older context reference(s).`]:[]].join(`
|
|
10
|
+
`),data:{reference:r.reference,evicted:r.evicted}}:{success:!1,message:r.diagnostics.join(`
|
|
11
|
+
`)||`Context reference not found: ${n}`,data:{diagnostics:r.diagnostics}}}function Dn(e,t){let n=t.join(` `).trim();if(!n)return{success:!1,message:g};let r=St(e,n);return r.removed?{success:!0,message:`Context reference removed: ${y(r.removed)}.`,data:{removed:r.removed}}:{success:!1,message:`Context reference not found: ${n}`}}function v(e,t,n){let r=It(e,t),i=r?`settings`:`session`;return Ot(e,t,i),{success:!0,message:On(n,t,r),data:{autoCompactThreshold:t,autoCompactThresholdSource:i,persisted:r}}}function On(e,t,n){let r=Sn(n);return e===`disabled`?`Auto compact disabled (${r}).`:e===`enabled`?`Auto compact enabled at ${_(t)} (${r}).`:`Auto compact threshold set to ${_(t)} (${r}).`}function kn(e){if(e.endsWith(`%`)){let t=Number(e.slice(0,-1));return!Number.isFinite(t)||t<=0||t>100?{success:!1,message:`Auto compact percentage must be greater than 0% and at most 100%.`}:{success:!0,threshold:t/100}}if(e.includes(`.`)){let t=Number(e);return!Number.isFinite(t)||t<=0||t>1?{success:!1,message:`Auto compact fraction must be greater than 0 and at most 1.`}:{success:!0,threshold:t}}return{success:!1,message:`Use a percentage such as 85% or a fraction such as 0.85.`}}function An(e){return`References: ${e.filter(e=>e.status===`active`).length} active, ${e.filter(e=>e.status===`observed`).length} observed`}function jn(e){return e.length===0?{success:!0,message:`No context references.`,data:{references:e}}:{success:!0,message:[`Context references:`,...e.map(y)].join(`
|
|
12
|
+
`),data:{references:e}}}function y(e){return[e.relativePath,`[${e.loadType}, ${e.status}]`,`${e.byteLength.toLocaleString()} B`].join(` `)}function b(){return{name:`context`,description:`Context window info, reference inventory, and auto-compact controls`,source:`context`,modelInvocable:!1,argumentHint:`list | add <path> | remove <path> | clear | auto ...`,subcommands:[{name:`list`,description:`List loaded context references`,source:`context`},{name:`add`,description:`Add a file to active context references`,source:`context`},{name:`remove`,description:`Remove a context reference`,source:`context`},{name:`clear`,description:`Clear context references`,source:`context`},{name:`auto`,description:`Inspect or change auto-compact policy`,source:`context`}]}}function Mn(){let e=b();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,execute:Cn}}var Nn=class{name=`context`;getCommands(){return[b()]}};function Pn(){return{name:`agent-command-context`,commandSources:[new Nn],systemCommands:[Mn()]}}function Fn(e,t){return{success:!0,message:`Exit requested.`,effects:[Be()]}}function In(){return{name:`exit`,description:o,source:`exit`,modelInvocable:!1}}function Ln(){let e=In();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Fn}}var Rn=class{name=`exit`;getCommands(){return[In()]}};function zn(){return{name:`agent-command-exit`,commandSources:[new Rn],systemCommands:[Ln()]}}function Bn(e,t){return{success:!0,message:qe(e)}}function Vn(){return{name:`help`,description:s,source:`help`,modelInvocable:!1}}function Hn(){let e=Vn();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Bn}}var Un=class{name=`help`;getCommands(){return[Vn()]}};function Wn(){return{name:`agent-command-help`,commandSources:[new Un],systemCommands:[Hn()]}}function Gn(e,t){let n=dt(t);return n===void 0?{message:Ze(),success:!1}:{message:`Language set to "${n}".`,success:!0,data:{language:n},effects:[{type:`language-change-requested`,language:n}]}}function x(){return{name:`language`,description:te,source:`language`,argumentHint:ee,subcommands:we(`language`),modelInvocable:!1}}function Kn(){let e=x();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:Gn}}var qn=class{name=`language`;getCommands(){return[x()]}};function Jn(){return{name:`agent-command-language`,commandSources:[new qn],systemCommands:[Kn()]}}function S(){return{message:ie,success:!1}}function Yn(e){return{message:e instanceof Error?e.message:String(e),success:!1}}function Xn(e){let t=e.list(),n=t.topics.length>0?t.topics.map(e=>`- ${e.name}: ${e.path}`).join(`
|
|
13
|
+
`):`(none)`;return{message:[`Memory index: ${t.indexPath}`,`Topics directory: ${t.topicsPath}`,`Topics:`,n].join(`
|
|
14
|
+
`),success:!0,data:{indexPath:t.indexPath,topicsPath:t.topicsPath,topicCount:t.topics.length}}}function Zn(e,t){if(!t||t===`index`){let t=e.loadStartupMemory();return{message:t.content||`(empty memory index)`,success:!0,data:{path:t.path,lineCount:t.lineCount,truncated:t.truncated}}}return{message:e.readTopic(t)||`(empty memory topic: ${t})`,success:!0,data:{topic:t}}}function Qn(e){let t=e[1],n=e[2],r=e.slice(3).join(` `).trim();if(!(!t||!rt(t)||!n||r.length===0))return{type:t,topic:n,text:r}}function $n(e){let t=e.list(`pending`);return{message:[`Pending memory candidates:`,...t.length>0?t.map(e=>`- ${e.id} ${e.type}/${e.topic} confidence=${e.confidence}: ${e.text}`):[`(no pending memory candidates)`]].join(`
|
|
15
|
+
`),success:!0,data:{count:t.length}}}function C(e,t){xt(e,t)}function er(e,t,n,r){if(!r)return S();try{let i=t.mark(r,`approved`,`approved-by-user`),a=n.append(i),o=t.mark(r,`saved`,`approved-and-saved`);return C(e,{type:`memory_candidate_approved`,candidateId:o.id,topic:o.topic,reason:`approved-by-user`}),C(e,{type:`memory_candidate_saved`,candidateId:o.id,topic:o.topic,reason:a.deduplicated?`deduplicated`:`approved-and-saved`}),{message:a.deduplicated?`Saved memory candidate ${r} was already present in ${a.topicPath}`:`Saved memory candidate ${r} to ${a.topicPath}`,success:!0,data:{id:r,status:o.status,topic:a.topic,topicPath:a.topicPath,deduplicated:a.deduplicated}}}catch(e){return Yn(e instanceof Error?e:String(e))}}function tr(e,t,n){if(!n)return S();try{let r=t.mark(n,`rejected`,`rejected-by-user`);return C(e,{type:`memory_candidate_rejected`,candidateId:r.id,topic:r.topic,reason:`rejected-by-user`}),{message:`Rejected memory candidate ${n}`,success:!0,data:{id:n,status:r.status}}}catch(e){return Yn(e instanceof Error?e:String(e))}}function nr(e){let t=st(e);return{message:[`Used memory references:`,...t.length>0?t.map(e=>{let t=e.truncated?` truncated=true`:``;return`- ${e.topic} score=${e.score}${t}: ${e.path}`}):[`(no memory used in current turn)`]].join(`
|
|
16
|
+
`),success:!0,data:{count:t.length,references:[...t]}}}function rr(e,t){let n=t.trim().split(/\s+/).filter(Boolean),r=n[0]??`list`,i=Le(e);if(r===`list`)return Xn(i.project);if(r===`show`)return Zn(i.project,n[1]);if(r===`pending`)return $n(i.pending);if(r===`approve`)return er(e,i.pending,i.project,n[1]);if(r===`reject`)return tr(e,i.pending,n[1]);if(r===`used`)return nr(e);if(r===`add`){let e=Qn(n);if(!e)return S();if($e(e.text))return{message:`Refusing to save sensitive memory content.`,success:!1};let t=i.project.append(e);return{message:t.deduplicated?`${e.type} memory already exists in ${t.topicPath}`:`Saved ${e.type} memory to ${t.topicPath}`,success:!0,data:{indexPath:t.indexPath,topicPath:t.topicPath,topic:t.topic,deduplicated:t.deduplicated}}}return S()}function w(){return{name:`memory`,description:re,source:`memory`,argumentHint:ne,modelInvocable:!0,safety:`write`,subcommands:Te()}}function ir(){let e=w();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!0,argumentHint:e.argumentHint,safety:e.safety,subcommands:e.subcommands,execute:rr}}var ar=class{name=`memory`;getCommands(){return[w()]}};function or(){return{name:`agent-command-memory`,commandSources:[new ar],systemCommands:[ir()]}}function sr(e,t){let n=ft(t);if(n===void 0){let t=vt(e);return{message:`Current mode: ${t}`,success:!0,data:{mode:t}}}return it(n)?(Lt(e,n),{message:`Permission mode set to: ${n}`,success:!0,data:{mode:n}}):{message:Xe(),success:!1}}function T(){return{name:`mode`,description:le,source:`mode`,argumentHint:ce,subcommands:De(`mode`),modelInvocable:!1}}function cr(){let e=T();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:sr}}var lr=class{name=`mode`;getCommands(){return[T()]}};function ur(){return{name:`agent-command-mode`,commandSources:[new lr],systemCommands:[cr()]}}function dr(e){let t=e.trim().split(/\s+/)[0];return t!==void 0&&t.length>0?t:void 0}async function fr(e,t,n){let r=dr(t);return r===void 0?{message:await Qe({...n?.settings===void 0?{}:{settings:n.settings.readMergedSettings()},...n?.providerDefinitions===void 0?{}:{providerDefinitions:n.providerDefinitions},refresh:!0}),success:!1}:{message:`Model change requested: ${r}`,success:!0,data:{modelId:r},effects:[{type:`model-change-requested`,modelId:r}]}}function E(e){return{name:`model`,description:oe,source:`model`,argumentHint:ae,subcommands:gr(e)}}function pr(e){let t=E(e);return{name:t.name,description:t.description,userInvocable:!0,argumentHint:t.argumentHint,subcommands:t.subcommands,lifecycle:`inline`,execute:(t,n)=>fr(t,n,e)}}var mr=class{options;name=`model`;constructor(e){this.options=e}getCommands(){return[E(this.options)]}};function hr(e){return{name:`agent-command-model`,commandSources:[new mr(e)],systemCommands:[pr(e)]}}function gr(e){return Ee(e===void 0?`model`:{source:`model`,providerDefinitions:e.providerDefinitions,settings:e.settings.readMergedSettings()})}function _r(e,t){let n=ft(t);if(n!==void 0){if(!it(n))return{message:Xe(),success:!1};Lt(e,n);let t=yt(e);return{message:`Permission mode set to: ${n}\n${Je(t)}`,success:!0,data:{mode:t.mode,sessionAllowed:t.sessionAllowed}}}let r=yt(e);return{message:Je(r),success:!0,data:{mode:r.mode,sessionAllowed:r.sessionAllowed}}}function D(){return{name:`permissions`,description:se,source:`permissions`,argumentHint:ce,subcommands:De(`permissions`),modelInvocable:!1}}function vr(){let e=D();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:_r}}var yr=class{name=`permissions`;getCommands(){return[D()]}};function br(){return{name:`agent-command-permissions`,commandSources:[new yr],systemCommands:[vr()]}}function xr(e){let t=e.trim().split(/\s+/).filter(e=>e.length>0);return{subcommand:t[0]??``,subArgs:t.slice(1).join(` `).trim()}}function O(e){return{success:!1,message:e}}function Sr(e){return wt(e)}async function k(e,t){let n=Sr(e);if(n===void 0)return{success:!1,message:`Plugin management is not available.`};try{return{success:!0,message:await t(n)}}catch(e){return{success:!1,message:`Plugin error: ${e instanceof Error?e.message:String(e)}`}}}async function Cr(e,t){let{subcommand:n,subArgs:r}=xr(t);return n===`add`&&r.length>0?k(e,async e=>{let t=await e.marketplaceAdd(r);return`Added marketplace: "${t}" (from ${r})\nInstall plugins with: /plugin install <name>@${t}`}):n===`remove`&&r.length>0?k(e,async e=>(await e.marketplaceRemove(r),`Removed marketplace "${r}" and uninstalled its plugins.`)):n===`update`&&r.length>0?k(e,async e=>(await e.marketplaceUpdate(r),`Updated marketplace "${r}".`)):n===`list`?k(e,async e=>{let t=await e.marketplaceList();return t.length===0?`No marketplace sources configured.`:`Marketplace sources:\n${t.map(e=>` ${e.name} (${e.type})`).join(`
|
|
17
|
+
`)}`}):O(`Usage: /plugin marketplace add <source> | remove <name> | update <name> | list`)}function A(e,t,n,r){return t.length===0?Promise.resolve(O(n)):k(e,e=>Promise.resolve(r(e,t)))}function wr(){return{success:!0,message:`Opening plugin manager...`,effects:[ze()]}}function Tr(e,t){return A(e,t,`Usage: /plugin install <name>@<marketplace>`,async(e,t)=>(await e.install(t),`Installed plugin: ${t}`))}function Er(e,t){return A(e,t,`Usage: /plugin uninstall <name>@<marketplace>`,async(e,t)=>(await e.uninstall(t),`Uninstalled plugin: ${t}`))}function Dr(e,t){return A(e,t,`Usage: /plugin enable <name>@<marketplace>`,async(e,t)=>(await e.enable(t),`Enabled plugin: ${t}`))}function Or(e,t){return A(e,t,`Usage: /plugin disable <name>@<marketplace>`,async(e,t)=>(await e.disable(t),`Disabled plugin: ${t}`))}async function kr(e,t){let{subcommand:n,subArgs:r}=xr(t);switch(n){case``:case`manage`:return wr();case`install`:return Tr(e,r);case`uninstall`:return Er(e,r);case`enable`:return Dr(e,r);case`disable`:return Or(e,r);case`marketplace`:return Cr(e,r);default:return O(`Unknown plugin subcommand: ${n}`)}}async function Ar(e,t){return k(e,async e=>{let t=await e.reloadPlugins();return`Reloaded ${t.loadedPluginCount===1?`1 plugin resource`:`${t.loadedPluginCount} plugin resources`}.`}).then(e=>e.success?{...e,effects:[Re()]}:e)}function j(){return{name:`plugin`,description:de,source:`plugin-manager`,modelInvocable:!1,argumentHint:ue,subcommands:Oe()}}function M(){return{name:`reload-plugins`,description:fe,source:`plugin-manager`,modelInvocable:!1}}function jr(){let e=j();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,lifecycle:`inline`,subcommands:e.subcommands,execute:kr}}function Mr(){let e=M();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Ar}}var Nr=class{name=`plugin-manager`;getCommands(){return[j(),M()]}};function Pr(){return{name:`agent-command-plugin`,commandSources:[new Nr],systemCommands:[jr(),Mr()]}}function N(e,t,n={}){let r=Vr(e,t);return{type:e,steps:Wr(Hr(r),n.initialValues),setupHelpLinks:r.setupHelpLinks??[],stepIndex:0,values:{},existingProfileNames:n.existingProfileNames??[],...n.profileName===void 0?{}:{profileName:n.profileName},...n.setCurrent===void 0?{}:{setCurrent:n.setCurrent}}}function Fr(e){return e.length===0?` No providers are available.`:[` Select provider:`,...e.map((e,t)=>` ${t+1}. ${I(e)}`),` Provider [1-${e.length}] (default: 1): `].join(`
|
|
18
|
+
`)}function Ir(e,t){let n=e.trim(),r=n.length>0?n:`1`,i=Br(r);if(i!==void 0){let e=t[i];if(e!==void 0)return e.type;throw Error(`Provider selection ${r} is out of range. Currently supported: ${u(t)}`)}let a=l(t,r);if(a===void 0)throw Error(`Unknown provider: ${r}. Currently supported: ${u(t)}`);return a.type}function P(e){let t=e.steps[e.stepIndex];if(t===void 0)throw Error(`Provider setup step ${e.stepIndex} is out of range`);return t}function F(e,t){let n=P(e),r=t.trim()||n.defaultValue||``,i=L(n,r);if(i!==void 0)return{status:`error`,state:e,message:i};let a={...e,stepIndex:e.stepIndex+1,values:{...e.values,[n.key]:r}};return a.stepIndex<e.steps.length?{status:`next`,state:a}:{status:`complete`,input:Gr(a)}}async function Lr(e,t,n,r={}){let i=N(e,n,r),a=i.steps.length;for(;i.stepIndex<a;){let e=P(i),n=await t(Rr(e,i.setupHelpLinks),e.masked===!0),r=F(i,n);if(r.status===`complete`)return r.input;if(r.status===`error`)throw Error(r.message);i=r.state}throw Error(`Provider setup flow ended without completion`)}function Rr(e,t=[]){let n=e.defaultValue===void 0?``:` (default: ${e.defaultValue})`,r=zr(t);return`${r.length>0?`${r}\n`:``} ${e.title}${n}: `}function I(e){let t=e.displayName===void 0?e.type:`${e.displayName} (${e.type})`;return e.description===void 0?t:`${t} - ${e.description}`}function zr(e=[]){return e.length===0?``:e.map(e=>` Setup help: ${Ur(e.kind)}: ${e.label} - ${e.url}`).join(`
|
|
19
|
+
`)}function Br(e){if(/^\d+$/.test(e))return Number(e)-1}function L(e,t){if(e.required===!0&&t.length===0)return`Required`}function Vr(e,t){let n=l(t,e);if(n===void 0)throw Error(`Unknown provider: ${e}. Currently supported: ${u(t)}`);return n}function Hr(e){if(e.setupSteps!==void 0)return[...e.setupSteps];let t=[{key:`model`,title:`${e.type} model`,defaultValue:e.defaults?.model,required:e.defaults?.model===void 0}];return e.defaults?.baseURL!==void 0&&t.unshift({key:`baseURL`,title:`${e.type} base URL`,defaultValue:e.defaults.baseURL}),e.requiresApiKey===!0&&t.push({key:`apiKey`,title:`${e.type} API key`,defaultValue:e.defaults?.apiKey,required:e.defaults?.apiKey===void 0,masked:!0}),t}function Ur(e){return e===`api-key`?`API key`:e===`console`?`Console`:`Official`}function Wr(e,t){return t===void 0?[...e]:e.map(e=>{let n=t[e.key];return n===void 0?e:{...e,defaultValue:n,required:!1}})}function Gr(e){let t=e.profileName??jt({type:e.type},{existingProfileNames:e.existingProfileNames}),n=e.values.apiKey;return{profile:t,type:e.type,model:e.values.model,...n!==void 0&&n.length>0&&{apiKey:n},...e.values.baseURL!==void 0&&{baseURL:e.values.baseURL},setCurrent:e.setCurrent??!0}}const Kr={type:`session-restart-requested`,reason:`other`};function qr(e,t){return N(e,t.providerDefinitions,{existingProfileNames:Object.keys(t.settings.readMergedSettings().providers??{})})}function R(e,t){return{prompt:Jr(e),submit:n=>Xr(e,n,t),cancel:()=>({message:`Provider setup cancelled.`,success:!0})}}function Jr(e){let t=P(e),n=t.masked===!0&&t.defaultValue!==void 0?`(unchanged)`:t.defaultValue;return{kind:`text`,title:t.title,...Yr(e),...n===void 0?{}:{placeholder:n},...t.defaultValue===void 0?{}:{allowEmpty:!0},...t.masked===void 0?{}:{masked:t.masked},validate:e=>L(t,e)}}function Yr(e){let t=zr(e.setupHelpLinks);return t.length>0?{description:t}:{}}function Xr(e,t,n){let r=F(e,t);return r.status===`error`?{message:r.message,success:!1,interaction:R(e,n)}:r.status===`complete`?Zr(r.input,n):{message:``,success:!0,interaction:R(r.state,n)}}function Zr(e,t){let n=t.settings.readTargetSettings(),r=ke(e,{providerDefinitions:t.providerDefinitions});return t.settings.writeTargetSettings(lt(n,r)),{message:`Provider ${e.profile} configured. Restarting...`,success:!0,effects:[{...Kr,message:`Provider setup restart`}]}}const Qr={type:`session-restart-requested`,reason:`other`};function $r(e,t,n){return`${e===n?`* `:``}${e}: ${t.type??`unknown`} ${t.model??`(no model)`}`}function ei(e,t,n){return t?e?.[t]?n.settings.readMergedSettings().currentProvider===t?{message:`Provider profile "${t}" is already current.`,success:!0}:{message:`Provider change requested: ${t}`,success:!0,interaction:ti(t,n)}:{message:`Provider profile "${t}" was not found.`,success:!1}:{message:`Usage: provider use <profile>`,success:!1}}function ti(e,t){return{prompt:{kind:`choice`,title:`Change provider to ${e}? This will restart the session.`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]},submit:n=>{if(n!==`yes`)return{message:`Provider change cancelled.`,success:!0};let r=t.settings.readMergedSettings(),i=t.settings.readTargetSettings(),a=i.providers?.[e]!==void 0||r.providers?.[e]!==void 0?{...i,currentProvider:e}:kt(i,e);return t.settings.writeTargetSettings(a),{message:`Provider changed to ${e}. Restarting...`,success:!0,effects:[{...Qr,message:`Provider change restart`}]}},cancel:()=>({message:`Provider change cancelled.`,success:!0})}}function ni(e,t){let n=t.settings.readMergedSettings().providers?.[e];if(!n)return{message:`Provider profile "${e}" was not found.`,success:!1};if(!n.type)return{message:`Provider profile "${e}" is missing type.`,success:!1};try{let r=N(n.type,t.providerDefinitions,{profileName:e,setCurrent:!1,initialValues:ri(n)});return{message:`Provider edit requested: ${e}`,success:!0,interaction:z(r,e,t)}}catch(e){return{message:e instanceof Error?e.message:String(e),success:!1}}}function ri(e){return{...typeof e.model==`string`?{model:e.model}:{},...typeof e.apiKey==`string`?{apiKey:e.apiKey}:{},...typeof e.baseURL==`string`?{baseURL:e.baseURL}:{}}}function z(e,t,n){return{prompt:Jr(e),submit:r=>ii(e,t,r,n),cancel:()=>({message:`Provider edit cancelled.`,success:!0})}}function ii(e,t,n,r){let i=F(e,n);return i.status===`error`?{message:i.message,success:!1,interaction:z(e,t,r)}:i.status===`complete`?ai(i.input,t,r):{message:``,success:!0,interaction:z(i.state,t,r)}}function ai(e,t,n){let r=n.settings.readMergedSettings(),i=r.providers?.[t];if(!i)return{message:`Provider profile "${t}" was not found.`,success:!1};let a=n.settings.readTargetSettings(),o=ke(e,{providerDefinitions:n.providerDefinitions}).providers[t];if(!o)return{message:`Provider profile "${t}" was not updated.`,success:!1};n.settings.writeTargetSettings(Pt(a,t,{...i,...o}));let s=r.currentProvider===t;return{message:s?`Provider ${t} updated. Restarting...`:`Provider ${t} updated.`,success:!0,...s?{effects:[{...Qr,message:`Provider edit restart`}]}:{}}}const oi={type:`session-restart-requested`,reason:`other`};function si(e,t){let n=t.settings.readMergedSettings();if(!n.providers?.[e])return{message:`Provider profile "${e}" was not found.`,success:!1};let r=hi(e,Object.keys(n.providers));return{message:`Provider duplicate requested: ${e}`,success:!0,interaction:ci(e,r,t)}}function ci(e,t,n){return{prompt:{kind:`text`,title:`Duplicate ${e} as`,placeholder:t,allowEmpty:!0,validate:e=>li(e,t,n)},submit:r=>ui(e,r,t,n),cancel:()=>({message:`Provider duplicate cancelled.`,success:!0})}}function li(e,t,n){let r=gi(e,t);if(r.length===0)return`Required`;if(n.settings.readMergedSettings().providers?.[r]!==void 0)return`Provider profile "${r}" already exists`}function ui(e,t,n,r){let i=r.settings.readMergedSettings().providers?.[e];if(!i)return{message:`Provider profile "${e}" was not found.`,success:!1};let a=gi(t,n),o=li(a,n,r);return o===void 0?(r.settings.writeTargetSettings(Pt(r.settings.readTargetSettings(),a,{...i})),{message:`Provider profile duplicated: ${e} -> ${a}.`,success:!0}):{message:o,success:!1}}function di(e,t){let n=t.settings.readMergedSettings().providers??{};return n[e]?Object.keys(n).length<=1?{message:`Cannot delete the only provider profile.`,success:!1}:t.settings.readTargetSettings().providers?.[e]===void 0?{message:`Provider profile "${e}" is not stored in the active write target; edit its source settings file or override it before deleting.`,success:!1}:{message:`Provider delete requested: ${e}`,success:!0,interaction:fi(e,t)}:{message:`Provider profile "${e}" was not found.`,success:!1}}function fi(e,t){return{prompt:{kind:`choice`,title:`Delete provider profile ${e}?`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]},submit:n=>n===`yes`?pi(e,t):{message:`Provider delete cancelled.`,success:!0},cancel:()=>({message:`Provider delete cancelled.`,success:!0})}}function pi(e,t){let n=t.settings.readMergedSettings();if(n.currentProvider!==e)return t.settings.writeTargetSettings(Ue(t.settings.readTargetSettings(),e)),{message:`Provider profile deleted: ${e}.`,success:!0};let r=Object.entries(n.providers??{}).filter(([t])=>t!==e).map(([e,t])=>({value:e,label:$r(e,t,n.currentProvider)}));return{message:`Select a replacement provider before deleting ${e}.`,success:!0,interaction:{prompt:{kind:`choice`,title:`Replacement provider for ${e}`,options:r,maxVisible:8},submit:n=>mi(e,n,t),cancel:()=>({message:`Provider delete cancelled.`,success:!0})}}}function mi(e,t,n){if(n.settings.readMergedSettings().providers?.[t]===void 0||t===e)return{message:`Provider profile "${t}" was not found.`,success:!1};let r=Ue(n.settings.readTargetSettings(),e);return n.settings.writeTargetSettings({...r,currentProvider:t}),{message:`Provider profile deleted: ${e}. Restarting with ${t}...`,success:!0,effects:[{...oi,message:`Provider delete restart`}]}}function hi(e,t){let n=Dt(`${e}-copy`)??`provider-copy`;if(!t.includes(n))return n;for(let e=2;e<1e3;e+=1){let r=`${n}-${e}`;if(!t.includes(r))return r}return`${n}-${Date.now()}`}function gi(e,t){return Dt(e.trim()||t)??``}const _i=`switch`,vi=`edit`,yi=`test`,bi=`duplicate`,xi=`delete`,Si=`cancel`;function Ci(e,t,n){return{prompt:{kind:`choice`,title:`Select provider profile`,options:Object.entries(t??{}).map(([t,n])=>({value:t,label:$r(t,n,e)})),maxVisible:8},submit:e=>wi(e,n),cancel:()=>({message:`Provider profile selection cancelled.`,success:!0})}}function wi(e,t){return t.settings.readMergedSettings().providers?.[e]?{message:`Provider profile selected: ${e}`,success:!0,interaction:Ti(e,t)}:{message:`Provider profile "${e}" was not found.`,success:!1}}function Ti(e,t){return{prompt:{kind:`choice`,title:`Provider profile: ${e}`,options:[{value:_i,label:`Switch`},{value:vi,label:`Edit`},{value:yi,label:`Test`},{value:bi,label:`Duplicate`},{value:xi,label:`Delete`},{value:Si,label:`Cancel`}]},submit:n=>Ei(e,n,t),cancel:()=>({message:`Provider profile action cancelled.`,success:!0})}}async function Ei(e,t,n){let r=n.settings.readMergedSettings();switch(t){case _i:return ei(r.providers,e,n);case vi:return ni(e,n);case yi:return await Nt(r.currentProvider,r.providers,e,n);case bi:return si(e,n);case xi:return di(e,n);case Si:return{message:`Provider profile action cancelled.`,success:!0};default:return{message:`Unknown provider profile action "${t}".`,success:!1}}}async function Di(e,t){let n=t.settings.readMergedSettings(),r=e.trim();if(r.length===0)return Oi(n.currentProvider,n.providers,t);let[i=`current`,a]=r.split(/\s+/);return i===`list`?Oi(n.currentProvider,n.providers,t):i===`current`||i===``?{message:Ai(n.currentProvider,n.providers),success:!0}:i===`use`?ei(n.providers,a,t):i===`test`?await Nt(n.currentProvider,n.providers,a,t):i===`add`?ji(a,t):{message:`Usage: provider [current|list|use <profile>|add <type>|test [profile]]`,success:!1}}function Oi(e,t,n){let r=ki(e,t);return Object.keys(t??{}).length===0?{message:r,success:!0}:{message:r,success:!0,interaction:Ci(e,t,n)}}function ki(e,t){let n=Object.entries(t??{});return n.length===0?`No provider profiles configured.`:n.map(([t,n])=>`${t===e?`*`:`-`} ${t}: ${n.type??`unknown`} ${n.model??`(no model)`}`).join(`
|
|
20
|
+
`)}function Ai(e,t){if(!e)return`No current provider configured.`;let n=t?.[e];return n?[`Current provider: ${e}`,`Type: ${n.type??`unknown`}`,`Model: ${n.model??`(no model)`}`,...n.baseURL?[`Base URL: ${n.baseURL}`]:[]].join(`
|
|
21
|
+
`):`Current provider "${e}" was not found in providers.`}function ji(e,t){return e===void 0||e.length===0?{message:`Provider setup requested. Select a provider to continue.`,success:!0,interaction:Mi(t)}:l(t.providerDefinitions,e)===void 0?{message:`Usage: provider add <type>. Supported: ${u(t.providerDefinitions)}`,success:!1}:{message:`Provider setup requested: ${e}`,success:!0,interaction:R(qr(e,t),t)}}function Mi(e){return{prompt:{kind:`choice`,title:`Select provider`,options:e.providerDefinitions.map(e=>({value:e.type,label:I(e)})),maxVisible:6},submit:t=>{let n=qr(t,e);return{message:`Provider setup requested: ${t}`,success:!0,interaction:R(n,e)}},cancel:()=>({message:`Provider setup cancelled.`,success:!0})}}function Ni(){return[{name:`current`,description:`Show current provider`,source:`provider`},{name:`list`,description:`List provider profiles`,source:`provider`},{name:`use`,description:`Switch provider profile`,source:`provider`},{name:`add`,description:`Configure a provider profile`,source:`provider`},{name:`test`,description:`Test provider profile`,source:`provider`}]}function B(){return{name:`provider`,description:`Manage provider profiles`,source:`provider`,modelInvocable:!1,argumentHint:`current | list | use <profile> | add [type] | test [profile]`,subcommands:Ni()}}var Pi=class{name=`provider`;getCommands(){return[B()]}};function Fi(e){let t=B();return{name:t.name,description:t.description,userInvocable:!0,modelInvocable:!1,argumentHint:t.argumentHint,subcommands:t.subcommands,execute:async(t,n)=>Di(n,e)}}function Ii(e){return{name:`agent-command-provider`,commandSources:[new Pi],systemCommands:[Fi(e)]}}function Li(e,t){return{success:!0,message:`Reset requested.`,data:{resetRequested:!0},effects:[{type:`settings-reset-requested`}]}}function V(){return{name:`reset`,description:`Delete settings`,source:`reset`,modelInvocable:!1}}function Ri(){let e=V();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Li}}var zi=class{name=`reset`;getCommands(){return[V()]}};function Bi(){return{name:`agent-command-reset`,commandSources:[new zi],systemCommands:[Ri()]}}function H(){return{message:`Usage: rewind [list] | rewind inspect <checkpoint-id> | rewind restore <checkpoint-id> | rewind code <checkpoint-id> | rewind rollback <checkpoint-id>`,success:!1}}function Vi(e){let t=e.replace(/\s+/g,` `).trim();return t.length<=120?t:`${t.slice(0,117)}...`}function Hi(e){return{message:[`Edit checkpoints:`,...e.length>0?e.map(e=>`- ${e.id} files=${e.fileCount} ${e.createdAt} ${Vi(e.prompt)}`):[`(no edit checkpoints)`]].join(`
|
|
22
|
+
`),success:!0,data:{count:e.length,checkpoints:[...e]}}}function Ui(e){return e.length>0?e.join(`, `):`(none)`}function Wi(e){let t=e.capturedFiles.length>0?e.capturedFiles.map(e=>{let t=e.snapshotSizeBytes===void 0?``:` size=${e.snapshotSizeBytes}B`;return`- ${e.relativePath} action=${e.restoreAction} snapshot=${String(e.snapshotAvailable)}${t}`}):[`(no files captured)`];return{message:[`Checkpoint ${e.target.id}`,`Prompt: ${Vi(e.target.prompt)}`,`Captured files:`,...t,`Restore later checkpoints: files=${e.restoreToCheckpoint.fileCount} checkpoints=${Ui(e.restoreToCheckpoint.checkpointIds)}`,`Rollback through checkpoint: files=${e.rollbackThroughCheckpoint.fileCount} checkpoints=${Ui(e.rollbackThroughCheckpoint.checkpointIds)}`].join(`
|
|
23
|
+
`),success:!0,data:{inspection:e}}}function Gi(e){return{message:[`Restored code to ${e.target.id}.`,`Restored files: ${e.restoredFileCount}`,`Rolled back checkpoints: ${e.restoredCheckpointCount}`].join(`
|
|
24
|
+
`),success:!0,data:{target:e.target,restoredCheckpointCount:e.restoredCheckpointCount,restoredFileCount:e.restoredFileCount,removedCheckpointCount:e.removedCheckpointCount}}}function Ki(e){return{message:[`Rolled back code through ${e.target.id}.`,`Restored files: ${e.restoredFileCount}`,`Removed checkpoints: ${e.removedCheckpointCount}`].join(`
|
|
25
|
+
`),success:!0,data:{target:e.target,restoredCheckpointCount:e.restoredCheckpointCount,restoredFileCount:e.restoredFileCount,removedCheckpointCount:e.removedCheckpointCount}}}function U(e){return{message:e instanceof Error?e.message:String(e),success:!1}}function qi(e,t){if(!t)return H();try{return Wi(et(e,t))}catch(e){return U(e instanceof Error?e:String(e))}}async function Ji(e,t){if(!t)return H();try{return Gi(await Tt(e,t))}catch(e){return U(e instanceof Error?e:String(e))}}async function Yi(e,t){if(!t)return H();try{return Ki(await Et(e,t))}catch(e){return U(e instanceof Error?e:String(e))}}async function Xi(e,t){let n=t.trim().split(/\s+/).filter(Boolean),r=n[0]??`list`;return r===`list`?Hi(ot(e)):r===`inspect`?qi(e,n[1]):r===`restore`||r===`code`?Ji(e,n[1]):r===`rollback`?Yi(e,n[1]):H()}function Zi(){return{name:`rewind`,description:_e,source:`rewind`,argumentHint:ge,modelInvocable:!1,safety:`write`,subcommands:Ae()}}function Qi(){let e=Zi();return{name:e.name,description:e.description,argumentHint:e.argumentHint,userInvocable:!0,modelInvocable:!1,safety:`write`,subcommands:e.subcommands,execute:Xi}}var $i=class{name=`rewind`;getCommands(){return[Zi()]}};function ea(){return{name:`agent-command-rewind`,commandSources:[new $i],systemCommands:[Qi()]}}const ta=`Conversation cleared.`;function na(e,t){return Pe(e),{success:!0,message:ta,effects:[{type:`conversation-history-cleared`}]}}function ra(e,t){let n=pt(t);return n===void 0?{success:!1,message:me}:{success:!0,message:`Session renamed to "${n}".`,data:{name:n},effects:[He(n)]}}function ia(e,t){return{success:!0,message:`Opening session picker...`,data:{triggerResumePicker:!0},effects:[Ve()]}}function aa(e,t){let n=bt(e);return{success:!0,message:`Session: ${n.sessionId}\nMessages: ${n.messageCount}`,data:{sessionId:n.sessionId,messageCount:n.messageCount}}}function oa(e,t){let n=Ft(e);return{success:n.validation.ok,message:Ye(n),data:{logFile:n.logFile,entryCount:n.entryCount,issueCount:n.validation.issues.length,ok:n.validation.ok}}}function W(){return{name:`clear`,description:n,source:`session`,modelInvocable:!1}}function G(){return{name:`rename`,description:pe,source:`session`,modelInvocable:!1}}function K(){return{name:`resume`,description:he,source:`session`,modelInvocable:!1}}function q(){return{name:`cost`,description:r,source:`session`,modelInvocable:!1}}function J(){return{name:`validate-session`,description:xe,source:`session`,modelInvocable:!1}}function sa(){let e=W();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:na}}function ca(){let e=G();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:ra}}function la(){let e=K();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:ia}}function ua(){let e=q();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:aa}}function da(){let e=J();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:oa}}var fa=class{name=`session`;getCommands(){return[W(),G(),K(),q(),J()]}};function pa(){return{name:`agent-command-session`,commandSources:[new fa],systemCommands:[sa(),ca(),la(),ua(),da()]}}function Y(){return{name:`settings`,description:`Open transport settings — enable/disable transports and configure options`,source:`settings`,modelInvocable:!1}}function ma(){let e=Y();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:async()=>({success:!0,message:`Opening settings...`,effects:[{type:`settings-tui-requested`}]})}}var ha=class{name=`settings`;getCommands(){return[Y()]}};function ga(){return{name:`agent-command-settings`,commandSources:[new ha],systemCommands:[ma()]}}const _a=`Skill command. Before following a matching registered skill from the system prompt Skills section, invoke the projected skills command tool with args "<skill-name> [args]". Without arguments, list registered skills. With a skill name, activate that skill. Slash syntax is a UI input/display concern; the SDK command identity is "skills".`;function va(e){let t=[];return e.modelInvocable||t.push(`model-disabled`),e.userInvocable||t.push(`model-only`),e.context&&t.push(`context:${e.context}`),e.agent&&t.push(`agent:${e.agent}`),t.length>0?` [${t.join(`, `)}]`:``}function ya(e){let t=e.argumentHint?` ${e.argumentHint}`:``;return`- ${e.name}${t}: ${e.description}${va(e)}`}function ba(e){return e.length===0?[`No skills are registered for this session.`,``,`Skills are metadata until activated. Do not invent or imitate a skill workflow when no matching registered skill exists.`].join(`
|
|
26
|
+
`):[`Registered skills:`,...e.map(ya),``,`Activation contract:`,`- Use /skills <skill-name> [args] to activate a matching skill.`,`- Treat /<skill-name> as a virtual alias for /skills <skill-name>.`,`- The system prompt Skills section is skill selection metadata.`,`- Treat descriptions as selection metadata only, not as loaded SKILL.md content.`,`- Do not answer by merely naming, recommending, or imitating a matching skill.`,`- If no listed skill matches the task, continue without claiming a skill was activated.`].join(`
|
|
27
|
+
`)}function xa(e){let t=e.trim();if(t.length===0||t===`list`)return{action:`list`,skillArgs:``};let[n=``,...r]=t.split(/\s+/);return n.length===0?{action:`list`,skillArgs:``}:{action:`activate`,skillName:n,skillArgs:r.join(` `)}}async function Sa(e,t=``){let n=xa(t);if(n.action===`activate`&&n.skillName!==void 0){if(!e.executeSkillCommandByName)return{success:!1,message:`Skill activation is not available in this session.`};let t=`/${n.skillName}${n.skillArgs?` ${n.skillArgs}`:``}`;return await e.executeSkillCommandByName(n.skillName,n.skillArgs,{invocationSource:e.getCommandInvocationSource?.()??`user`,displayInput:t,rawInput:t})??{success:!1,message:`Unknown skill: ${n.skillName}`}}let r=e.listSkills?.()??[];return{success:!0,message:ba(r),data:{skills:r,activationContract:{activateWith:`/skills <skill-name> [args]`,activationRequiredBeforeWorkflow:!0,metadataIsNotSkillContent:!0}}}}function X(){return{name:`skills`,description:_a,source:`skills`,modelInvocable:!0,userInvocable:!0,argumentHint:`[list | <skill-name> [args]]`,safety:`read-only`}}function Ca(){let e=X();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!0,argumentHint:e.argumentHint,safety:e.safety,lifecycle:`inline`,execute:Sa}}var wa=class{name=`skills`;getCommands(){return[X()]}};function Ta(e={}){let t=[new wa];return t.push(new be(e.cwd??process.cwd())),{name:`agent-command-skills`,commandSources:t,systemCommands:[Ca()]}}const Ea=[`Usage: /statusline on | off | reset | git on | git off`,`Fields: model, context, permission mode, message count, session name, thinking state, git branch.`].join(`
|
|
28
|
+
`);function Da(e){let t=e.trim().toLowerCase().split(/\s+/).filter(e=>e.length>0),[n,r]=t;return n===`on`&&r===void 0?{success:!0,message:`Status line enabled.`,patch:{enabled:!0}}:n===`off`&&r===void 0?{success:!0,message:`Status line disabled.`,patch:{enabled:!1}}:n===`reset`&&r===void 0?{success:!0,message:`Status line settings reset.`,patch:{...a}}:n===`git`&&r===`on`&&t.length===2?{success:!0,message:`Status line git branch shown.`,patch:{gitBranch:!0}}:n===`git`&&r===`off`&&t.length===2?{success:!0,message:`Status line git branch hidden.`,patch:{gitBranch:!1}}:{success:!1,message:Ea}}function Oa(e,t){let n=Da(t);return n.success?{success:!0,message:n.message,effects:[{type:`statusline-settings-patch`,patch:n.patch}]}:{success:!1,message:n.message}}function Z(){return{name:`statusline`,description:ye,source:`statusline`,argumentHint:ve,subcommands:je(`statusline`),modelInvocable:!1}}function ka(){let e=Z();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:Oa}}var Aa=class{name=`statusline`;getCommands(){return[Z()]}};function ja(){return{name:`agent-command-statusline`,commandSources:[new Aa],systemCommands:[ka()]}}const Ma=`Inspect Robota user-local storage and memory state.`,Na=`storage list [--format json] | memory set/list/inspect/disable/delete`,Q=`Usage: user-local storage list [--format json] | user-local memory set <category> <key> <value> --summary <summary> --source <source> | user-local memory list [--format json] | user-local memory inspect <category> <key> [--format json] | user-local memory disable <category> <key> | user-local memory delete <category> <key>`;function Pa(e){return e.length===0?`No user-local memory items.`:e.map(e=>`- ${e.category}/${e.key} (${e.enabled?`enabled`:`disabled`})`).join(`
|
|
29
|
+
`)}function $(e){if(e===void 0)throw Error(`User-local memory category is required.`);return e}async function Fa(e,t){let n=await ct({activeRepositoryRoot:e});return{message:t.format===`json`?JSON.stringify(n,null,2):Pa(n.items),success:!0,data:{list:n}}}async function Ia(e,t){let[n,r,i]=t.positional,a=await At({activeRepositoryRoot:e,category:$(n),key:r??``,value:i??``,summary:t.summary??``,source:t.source??``});return{message:`Stored user-local memory item ${a.category}/${a.key} at ${a.storageLocation}`,success:!0,data:{item:a}}}async function La(e,t){let[n,r]=t.positional,i=await tt({activeRepositoryRoot:e,category:$(n),key:r??``});return{message:t.format===`json`?JSON.stringify(i,null,2):`${i.category}/${i.key}: ${i.summary}`,success:!0,data:{item:i}}}async function Ra(e,t){let[n,r]=t.positional,i=await Ge({activeRepositoryRoot:e,category:$(n),key:r??``});return{message:`Disabled user-local memory item ${i.category}/${i.key}`,success:!0,data:{item:i}}}async function za(e,t){let[n,r]=t.positional,i=await We({activeRepositoryRoot:e,category:$(n),key:r??``});return{message:`Deleted user-local memory item ${i.category}/${i.key}`,success:!0,data:{result:i}}}async function Ba(e,t){return(t.action??`list`)===`list`?Fa(e,t):t.action===`set`?Ia(e,t):t.action===`inspect`?La(e,t):t.action===`disable`?Ra(e,t):t.action===`delete`?za(e,t):{message:Q,success:!1}}function Va(e){if(e===void 0||e===`text`)return`text`;if(e===`json`)return`json`;throw Error(`Unsupported user-local output format: ${e}`)}function Ha(e,t,n){return e===`--format`?{format:t[n+1],nextIndex:n+1}:e.startsWith(`--format=`)?{format:e.slice(9),nextIndex:n}:e===`--summary`?{summary:t[n+1],nextIndex:n+1}:e.startsWith(`--summary=`)?{summary:e.slice(10),nextIndex:n}:e===`--source`?{source:t[n+1],nextIndex:n+1}:e.startsWith(`--source=`)?{source:e.slice(9),nextIndex:n}:null}function Ua(e,t={}){let n=t.format,r=t.summary,i=t.source,a=[];for(let t=0;t<e.length;t+=1){let o=e[t],s=Ha(o,e,t);if(s!==null){n=s.format??n,r=s.summary??r,i=s.source??i,t=s.nextIndex;continue}a.push(o)}return{target:a[0],action:a[1],positional:a.slice(2),format:Va(n),summary:r,source:i}}function Wa(e){return e.trim().split(/\s+/).filter(Boolean)}function Ga(e,t){let n=t.map(e=>`- ${e.category}`);return[`User-local storage root: ${e}`,`Categories:`,...n].join(`
|
|
30
|
+
`)}async function Ka(e,t){if((t.action??`list`)!==`list`)return{message:Q,success:!1};let n=await nt({activeRepositoryRoot:e});return{message:t.format===`json`?JSON.stringify(n,null,2):Ga(n.root,n.categories),success:!0,data:{root:n.root,categories:n.categories,inspection:n}}}async function qa(e,t){return t.target===`storage`?Ka(e,t):t.target===`memory`?Ba(e,t):{message:Q,success:!1}}function Ja(e){return e.includes(`ENOENT`)?`User-local memory item not found.`:e}async function Ya(e){try{return await qa(e.cwd,Ua(e.argv,{format:e.format,summary:e.summary,source:e.source}))}catch(e){return{message:Ja(e instanceof Error?e.message:String(e)),success:!1}}}async function Xa(e,t){try{return await qa(e.getCwd(),Ua(Wa(t)))}catch(e){return{message:Ja(e instanceof Error?e.message:String(e)),success:!1}}}function Za(){return{name:`user-local`,description:Ma,source:`user-local`,argumentHint:Na,modelInvocable:!1,safety:`read-only`,subcommands:[{name:`storage`,description:`Inspect user-local storage categories`,source:`user-local`},{name:`memory`,description:`Inspect and manage user-local memory items`,source:`user-local`}]}}function Qa(){let e=Za();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,safety:e.safety,subcommands:e.subcommands,execute:Xa}}var $a=class{name=`user-local`;getCommands(){return[Za()]}};function eo(){return{name:`agent-command-user-local`,commandSources:[new $a],systemCommands:[Qa()]}}export{ln as AgentCommandSource,mn as BackgroundCommandSource,ta as CLEAR_COMMAND_MESSAGE,yn as CompactCommandSource,Nn as ContextCommandSource,Rn as ExitCommandSource,Un as HelpCommandSource,qn as LanguageCommandSource,ar as MemoryCommandSource,lr as ModeCommandSource,mr as ModelCommandSource,yr as PermissionsCommandSource,Nr as PluginManagerCommandSource,Pi as ProviderCommandSource,$i as RewindCommandSource,_a as SKILLS_COMMAND_DESCRIPTION,Ea as STATUSLINE_USAGE,fa as SessionCommandSource,ha as SettingsCommandSource,wa as SkillsCommandSource,Aa as StatusLineCommandSource,Na as USER_LOCAL_COMMAND_ARGUMENT_HINT,Ma as USER_LOCAL_COMMAND_DESCRIPTION,Q as USER_LOCAL_COMMAND_USAGE,$a as UserLocalCommandSource,p as createAgentCommandEntry,un as createAgentCommandModule,cn as createAgentSystemCommand,m as createBackgroundCommandEntry,hn as createBackgroundCommandModule,W as createClearCommandEntry,h as createCompactCommandEntry,bn as createCompactCommandModule,b as createContextCommandEntry,Pn as createContextCommandModule,q as createCostCommandEntry,In as createExitCommandEntry,zn as createExitCommandModule,Vn as createHelpCommandEntry,Wn as createHelpCommandModule,x as createLanguageCommandEntry,Jn as createLanguageCommandModule,w as createMemoryCommandEntry,or as createMemoryCommandModule,T as createModeCommandEntry,ur as createModeCommandModule,E as createModelCommandEntry,hr as createModelCommandModule,D as createPermissionsCommandEntry,br as createPermissionsCommandModule,j as createPluginCommandEntry,Pr as createPluginCommandModule,B as createProviderCommandEntry,Ii as createProviderCommandModule,N as createProviderSetupFlow,M as createReloadPluginsCommandEntry,G as createRenameCommandEntry,V as createResetCommandEntry,Bi as createResetCommandModule,K as createResumeCommandEntry,ea as createRewindCommandModule,pa as createSessionCommandModule,Y as createSettingsCommandEntry,ga as createSettingsCommandModule,X as createSkillsCommandEntry,Ta as createSkillsCommandModule,Z as createStatusLineCommandEntry,ja as createStatusLineCommandModule,Za as createUserLocalCommandEntry,eo as createUserLocalCommandModule,J as createValidateSessionCommandEntry,rn as executeAgentCommand,fn as executeBackgroundCommand,na as executeClearCommand,_n as executeCompactCommand,Cn as executeContextCommand,aa as executeCostCommand,Fn as executeExitCommand,Bn as executeHelpCommand,Gn as executeLanguageCommand,rr as executeMemoryCommand,sr as executeModeCommand,fr as executeModelCommand,_r as executePermissionsCommand,kr as executePluginCommand,Di as executeProviderCommand,Ar as executeReloadPluginsCommand,ra as executeRenameCommand,Li as executeResetCommand,ia as executeResumeCommand,Xi as executeRewindCommand,Sa as executeSkillsCommand,Oa as executeStatusLineCommand,Xa as executeUserLocalCommand,Ya as executeUserLocalDirectCommand,oa as executeValidateSessionCommand,I as formatProviderSetupChoiceLabel,zr as formatProviderSetupHelpLinks,Rr as formatProviderSetupPromptLabel,Fr as formatProviderSetupSelectionPrompt,P as getProviderSetupStep,Ir as resolveProviderSetupSelection,Lr as runProviderSetupPromptFlow,F as submitProviderSetupValue,L as validateProviderSetupValue};
|
|
31
|
+
//# sourceMappingURL=index.js.map
|