@robota-sdk/agent-command 3.0.0-beta.65 → 3.0.0-beta.66

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.
Files changed (57) hide show
  1. package/README.md +74 -0
  2. package/dist/node/index.cjs +28 -28
  3. package/dist/node/index.d.ts +35 -5
  4. package/dist/node/index.d.ts.map +1 -1
  5. package/dist/node/index.js +28 -28
  6. package/dist/node/index.js.map +1 -1
  7. package/package.json +5 -3
  8. package/src/agent/agent-command-module.ts +2 -1
  9. package/src/agent/agent-command.ts +4 -2
  10. package/src/background/background-command-module.ts +7 -5
  11. package/src/background/background-command.ts +2 -1
  12. package/src/compact/compact-command-module.ts +2 -1
  13. package/src/compact/compact-command.ts +2 -1
  14. package/src/context/context-command-module.ts +2 -1
  15. package/src/context/context-command.ts +7 -6
  16. package/src/default/default-command-modules.ts +64 -0
  17. package/src/default/index.ts +2 -0
  18. package/src/exit/exit-command-module.ts +4 -2
  19. package/src/exit/exit-command.ts +2 -1
  20. package/src/help/help-command-module.ts +4 -2
  21. package/src/help/help-command.ts +2 -1
  22. package/src/index.ts +3 -0
  23. package/src/language/language-command-module.ts +8 -6
  24. package/src/language/language-command.ts +2 -1
  25. package/src/memory/memory-command-module.ts +8 -6
  26. package/src/memory/memory-command.ts +9 -8
  27. package/src/mode/mode-command-module.ts +8 -6
  28. package/src/mode/mode-command.ts +2 -1
  29. package/src/model/model-command-module.ts +8 -6
  30. package/src/model/model-command.ts +2 -1
  31. package/src/permissions/permissions-command-module.ts +8 -6
  32. package/src/permissions/permissions-command.ts +2 -1
  33. package/src/plugin/plugin-command-module.ts +8 -6
  34. package/src/plugin/plugin-command.ts +6 -5
  35. package/src/plugins/default-plugin-command-adapter.ts +164 -0
  36. package/src/plugins/default-plugin-command-source-loader.ts +31 -0
  37. package/src/provider/__tests__/provider-setup-flow.test.ts +204 -3
  38. package/src/provider/index.ts +2 -0
  39. package/src/provider/provider-command-execution.ts +11 -6
  40. package/src/provider/provider-command-module.ts +2 -1
  41. package/src/provider/provider-command-profile-lifecycle.ts +11 -6
  42. package/src/provider/provider-command-profile-operations.ts +11 -9
  43. package/src/provider/provider-command-profile.ts +12 -10
  44. package/src/provider/provider-command-setup.ts +10 -8
  45. package/src/provider/provider-setup-flow.ts +3 -2
  46. package/src/provider/provider-startup.ts +117 -0
  47. package/src/reset/reset-command-module.ts +2 -1
  48. package/src/rewind/rewind-command-module.ts +8 -6
  49. package/src/rewind/rewind-command.ts +7 -6
  50. package/src/session/session-command-module.ts +8 -6
  51. package/src/session/session-command.ts +2 -1
  52. package/src/skills/skills-command-module.ts +7 -7
  53. package/src/statusline/statusline-command-module.ts +8 -6
  54. package/src/statusline/statusline-command.ts +2 -1
  55. package/src/user-local/user-local-command-module.ts +6 -5
  56. package/src/user-local/user-local-command.ts +4 -2
  57. package/src/user-local/user-local-memory-command.ts +3 -1
package/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # Agent Command
2
+
3
+ Consolidated command module for the Robota CLI. Provides all slash-command (`/cmd`) implementations as a single importable package.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @robota-sdk/agent-command
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```typescript
14
+ import {
15
+ createAgentCommandModule,
16
+ createModeCommandModule,
17
+ createProviderCommandModule,
18
+ } from '@robota-sdk/agent-command';
19
+
20
+ // Register commands with a CommandRegistry (owned by agent-framework)
21
+ const modules = [
22
+ createAgentCommandModule(hostAdapters),
23
+ createModeCommandModule(hostAdapters),
24
+ createProviderCommandModule(hostAdapters),
25
+ ];
26
+ ```
27
+
28
+ ## Available Commands
29
+
30
+ | Command | Description |
31
+ | -------------- | ---------------------------------------------- |
32
+ | `/agent` | Agent creation and management |
33
+ | `/background` | Background task execution |
34
+ | `/compact` | Conversation compaction |
35
+ | `/context` | Context window management |
36
+ | `/exit` | Session exit / quit |
37
+ | `/help` | Help display |
38
+ | `/language` | Language switching |
39
+ | `/memory` | Memory read/write |
40
+ | `/mode` | Interaction mode switching |
41
+ | `/model` | AI model selection |
42
+ | `/permissions` | Permission management |
43
+ | `/plugin` | Plugin enable/disable |
44
+ | `/provider` | AI provider configuration |
45
+ | `/reset` | Session reset |
46
+ | `/rewind` | Conversation history rewind |
47
+ | `/session` | Session lifecycle (rename, resume, fork, list) |
48
+ | `/settings` | Settings management |
49
+ | `/skills` | Skills management |
50
+ | `/statusline` | Status bar configuration |
51
+ | `/user-local` | User-local command storage |
52
+
53
+ ## API
54
+
55
+ Each command is exposed via a factory function that returns an `ICommandModule`:
56
+
57
+ ```typescript
58
+ import { createExitCommandModule, createHelpCommandModule } from '@robota-sdk/agent-command';
59
+
60
+ const exitCmd = createExitCommandModule(hostAdapters);
61
+ const helpCmd = createHelpCommandModule(hostAdapters);
62
+ ```
63
+
64
+ All 20 factory functions are re-exported from the root entry point.
65
+
66
+ ## Dependencies
67
+
68
+ - `@robota-sdk/agent-core` — core types and interfaces
69
+ - `@robota-sdk/agent-framework` — `ICommandHostContext`, command registration
70
+
71
+ ## Links
72
+
73
+ - [npm](https://www.npmjs.com/package/@robota-sdk/agent-command)
74
+ - [GitHub](https://github.com/woojubb/robota)
@@ -1,30 +1,30 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@robota-sdk/agent-framework`),t=require(`@robota-sdk/agent-core`);function n(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 r(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 i(e,t,n,r){return{agentType:t,label:n,mode:`background`,prompt:r,...e.model?{model:e.model}:{},...e.isolation?{isolation:e.isolation}:{}}}function a(e,t){let n=r(e),[a,...o]=n.positional,s=n.agentType??`general-purpose`,c=n.positional;!n.agentType&&a&&t.has(a)&&(s=a,c=o);let l=c.join(` `).trim();if(l)return i(n,s,s,l)}function o(e,t){let n=r(e);return n.positional.map(e=>s(e,n,t)).filter(e=>e!==void 0)}function s(e,t,n){let r=e.indexOf(`=`);if(r>0)return c(e.slice(0,r),e.slice(r+1),t,n);let a=e.indexOf(`:`);if(a<=0||a===e.length-1)return;let o=e.slice(0,a),s=e.slice(a+1);return i(t,t.agentType??(n.has(o)?o:`general-purpose`),o,s)}function c(e,t,n,r){let a=t.indexOf(`:`);if(a===-1)return i(n,n.agentType??(r.has(e)?e:`general-purpose`),e,t);if(!(a===0||a===t.length-1))return i(n,t.slice(0,a),e,t.slice(a+1))}function l(e){return e instanceof Error?e.message:String(e)}function ee(e){return new Set(e.listAgentDefinitions().map(e=>e.name))}function te(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 ne(e,t){let n=te(e,t.agentType);if(n)return n;try{return{state:await e.spawnAgentJob(t)}}catch(e){return{message:l(e),success:!1}}}function re(){return{message:``,effects:[{type:`agent-switcher-requested`}],success:!0}}async function ie(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=>` ${ae(e)}`)].join(`
2
- `),success:!0,data:{agents:t.length,jobs:n.length}}}function ae(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 oe(e,t){let n=a(t,ee(e));if(!n)return{message:`Usage: agent run [AGENT_NAME] [--agent AGENT_NAME] PROMPT`,success:!1};let r=await ne(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 se(t,n){let r=n.includes(`--wait`)||!n.includes(`--detach`),i=o(n.filter(e=>e!==`--wait`&&e!==`--detach`),ee(t));if(i.length===0)return{message:`Usage: agent parallel [--wait|--detach] LABEL:"PROMPT" [LABEL=AGENT_NAME:"PROMPT"]`,success:!1};let a=i.map(e=>te(t,e.agentType)).find(e=>e!==void 0);if(a)return a;let s;try{s=await Promise.all(i.map(e=>t.spawnAgentJob(e)))}catch(e){return{message:l(e),success:!1}}let c=t.createBackgroundJobGroup({waitPolicy:`wait_all`,taskIds:s.map(e=>e.id),label:`agent parallel`});if(r){let n=(0,e.summarizeBackgroundJobGroup)(await t.waitBackgroundJobGroup(c.id));return{message:me(n),success:!0,data:{agentIds:s.map(e=>e.id),groupId:c.id,summary:n}}}return{message:[`Started agent jobs:`,...s.map(e=>`${e.label}: ${e.id}`)].join(`
3
- `),success:!0,data:{agentIds:s.map(e=>e.id),groupId:c.id}}}async function ce(t,n){let[r]=n;if(!r)return{message:`Usage: agent wait GROUP_ID`,success:!1};let i=(0,e.summarizeBackgroundJobGroup)(await t.waitBackgroundJobGroup(r));return{message:me(i),success:!0,data:{groupId:r,summary:i}}}async function le(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 ue(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 de(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 fe(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 pe(e,t){try{if(t.trim()===``)return re();let[r=`list`,...i]=n(t);return r===`list`&&i.length===0?ie(e):r===`run`?oe(e,i):r===`parallel`?se(e,i):r===`wait`?ce(e,i):r===`read`||r===`open`?le(e,i):r===`send`?ue(e,i):r===`stop`||r===`cancel`?de(e,i):r===`close`?fe(e,i):oe(e,[r,...i])}catch(e){return{message:l(e),success:!1}}}function me(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 he(e){let t=e.getAgentJobCapability?.();if(!t)throw Error(`Agent job capability is not available in this context.`);return t}function ge(){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 u(){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:ge()}}function _e(){let e=u();return{name:e.name,description:e.description,execute:(e,t)=>pe(he(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 ve=class{name=`agent`;getCommands(){return[u()]}};function ye(){return{name:`agent-command-agent`,commandSources:[new ve],systemCommands:[_e()],sessionRequirements:[`agent-runtime`]}}function be(e){return e.trim().split(/\s+/).filter(Boolean)}async function xe(t,n){let[r=`list`,i,...a]=be(n);if(r===`list`){let n=(0,e.listCommandBackgroundTasks)(t);return{message:(0,e.formatCommandBackgroundTaskList)(n),success:!0,data:{count:n.length}}}if(!i)return{message:e.BACKGROUND_COMMAND_USAGE,success:!1};if(r===`read`||r===`log`||r===`open`){let n=await(0,e.readCommandBackgroundTaskLog)(t,i,(0,e.parseCommandBackgroundLogCursor)(a[0])),r=n.nextCursor?`\nNext offset: ${n.nextCursor.offset}`:``;return{message:n.lines.length>0?`${n.lines.join(`
6
- `)}${r}`:`No log lines: ${i}`,success:!0,data:{taskId:i,nextOffset:n.nextCursor?.offset}}}return r===`cancel`||r===`stop`?(await(0,e.cancelCommandBackgroundTask)(t,i,a.join(` `)||void 0),{message:`Background task cancelled: ${i}`,success:!0,data:{taskId:i}}):r===`close`||r===`dismiss`?(await(0,e.closeCommandBackgroundTask)(t,i),{message:`Background task closed: ${i}`,success:!0,data:{taskId:i}}):{message:`Unknown background action: ${r}`,success:!1}}function d(){return{name:`background`,description:e.BACKGROUND_COMMAND_DESCRIPTION,source:`background`,modelInvocable:!1,subcommands:(0,e.buildBackgroundCommandSubcommands)()}}function Se(){let e=d();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,subcommands:e.subcommands,execute:xe}}var Ce=class{name=`background`;getCommands(){return[d()]}};function we(){return{name:`agent-command-background`,commandSources:[new Ce],systemCommands:[Se()]}}function Te(e){let t=e.trim();return t.length>0?t:void 0}async function Ee(t,n){let r=await(0,e.compactCommandContext)(t,Te(n)),i=r.before.usedPercentage,a=r.after.usedPercentage;return{message:`Context compacted: ${Math.round(i)}% -> ${Math.round(a)}%`,success:!0,data:{before:i,after:a}}}function f(){return{name:`compact`,description:`Compress context window`,source:`compact`,modelInvocable:!0,argumentHint:`[instructions]`,safety:`write`}}function De(){let e=f();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:e.modelInvocable,argumentHint:e.argumentHint,safety:e.safety,lifecycle:`blocking`,execute:Ee}}var Oe=class{name=`compact`;getCommands(){return[f()]}};function ke(){return{name:`agent-command-compact`,commandSources:[new Oe],systemCommands:[De()]}}const p=[`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 m(e){return e===!1?`disabled`:`${Math.round(e*100)}%`}function Ae(e,t){return e===!1?`Auto compact: disabled (${t})`:`Auto compact: ${m(e)} (${t})`}function je(e){return e?`settings`:`current session only`}async function Me(t,n){let r=n.trim().split(/\s+/).filter(e=>e.length>0);if(r.length>0)return Ne(t,r);let i=(0,e.readCommandContextState)(t),a=(0,e.readAutoCompactThreshold)(t),o=(0,e.readAutoCompactThresholdSource)(t);return{message:[`Context: ${i.usedTokens.toLocaleString()} / ${i.maxTokens.toLocaleString()} tokens (${Math.round(i.usedPercentage)}%)`,Ae(a,o),ze((0,e.listCommandContextReferences)(t))].join(`
8
- `),success:!0,data:{usedTokens:i.usedTokens,maxTokens:i.maxTokens,percentage:i.usedPercentage,autoCompactThreshold:a,autoCompactThresholdSource:o,references:(0,e.listCommandContextReferences)(t)}}}async function Ne(t,n){let[r,...i]=n;if(r===`list`)return i.length>0?{success:!1,message:p}:Be((0,e.listCommandContextReferences)(t));if(r===`add`)return Fe(t,i);if(r===`remove`)return Ie(t,i);if(r===`clear`){if(i.length>0)return{success:!1,message:p};let n=(0,e.clearCommandContextReferences)(t);return{success:!0,message:`Context references cleared: ${n.removed.length} removed.`,data:{removed:n.removed}}}return r===`auto`?Pe(t,i):{success:!1,message:p}}function Pe(t,n){let[r,i]=n;if(i!==void 0)return{success:!1,message:p};if(r===void 0){let n=(0,e.readAutoCompactThreshold)(t),r=(0,e.readAutoCompactThresholdSource)(t);return{success:!0,message:[Ae(n,r),p].join(`
9
- `),data:{autoCompactThreshold:n,autoCompactThresholdSource:r}}}if(r===`on`)return h(t,e.DEFAULT_AUTO_COMPACT_THRESHOLD,`enabled`);if(r===`off`)return h(t,!1,`disabled`);if(r===`reset`){let n=(0,e.resetAutoCompactThresholdSetting)(t);return(0,e.setCommandAutoCompactThreshold)(t,e.DEFAULT_AUTO_COMPACT_THRESHOLD,`default`),{success:!0,message:`Auto compact reset to default: ${m(e.DEFAULT_AUTO_COMPACT_THRESHOLD)} (${je(n)}).`,data:{autoCompactThreshold:e.DEFAULT_AUTO_COMPACT_THRESHOLD,autoCompactThresholdSource:`default`,persisted:n}}}let a=Re(r);return a.success?h(t,a.threshold,`threshold set`):{success:!1,message:`${a.message}\n${p}`}}async function Fe(t,n){let r=n.join(` `).trim();if(!r)return{success:!1,message:p};let i=await(0,e.addCommandContextReference)(t,r);return i.reference?{success:!0,message:[`Context reference added: ${g(i.reference)}.`,...i.evicted.length>0?[`Evicted ${i.evicted.length} older context reference(s).`]:[]].join(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@robota-sdk/agent-framework`),t=require(`@robota-sdk/agent-core`),n=require(`node:path`),r=require(`node:child_process`),i=require(`node:os`);function a(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 o(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 s(e,t,n,r){return{agentType:t,label:n,mode:`background`,prompt:r,...e.model?{model:e.model}:{},...e.isolation?{isolation:e.isolation}:{}}}function c(e,t){let n=o(e),[r,...i]=n.positional,a=n.agentType??`general-purpose`,c=n.positional;!n.agentType&&r&&t.has(r)&&(a=r,c=i);let l=c.join(` `).trim();if(l)return s(n,a,a,l)}function l(e,t){let n=o(e);return n.positional.map(e=>u(e,n,t)).filter(e=>e!==void 0)}function u(e,t,n){let r=e.indexOf(`=`);if(r>0)return ee(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 s(t,t.agentType??(n.has(a)?a:`general-purpose`),a,o)}function ee(e,t,n,r){let i=t.indexOf(`:`);if(i===-1)return s(n,n.agentType??(r.has(e)?e:`general-purpose`),e,t);if(!(i===0||i===t.length-1))return s(n,t.slice(0,i),e,t.slice(i+1))}function d(e){return e instanceof Error?e.message:String(e)}function te(e){return new Set(e.listAgentDefinitions().map(e=>e.name))}function ne(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 re(e,t){let n=ne(e,t.agentType);if(n)return n;try{return{state:await e.spawnAgentJob(t)}}catch(e){return{message:d(e),success:!1}}}function ie(){return{message:``,effects:[{type:`agent-switcher-requested`}],success:!0}}async function ae(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=>` ${oe(e)}`)].join(`
2
+ `),success:!0,data:{agents:t.length,jobs:n.length}}}function oe(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 se(e,t){let n=c(t,te(e));if(!n)return{message:`Usage: agent run [AGENT_NAME] [--agent AGENT_NAME] PROMPT`,success:!1};let r=await re(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 ce(t,n){let r=n.includes(`--wait`)||!n.includes(`--detach`),i=l(n.filter(e=>e!==`--wait`&&e!==`--detach`),te(t));if(i.length===0)return{message:`Usage: agent parallel [--wait|--detach] LABEL:"PROMPT" [LABEL=AGENT_NAME:"PROMPT"]`,success:!1};let a=i.map(e=>ne(t,e.agentType)).find(e=>e!==void 0);if(a)return a;let o;try{o=await Promise.all(i.map(e=>t.spawnAgentJob(e)))}catch(e){return{message:d(e),success:!1}}let s=t.createBackgroundJobGroup({waitPolicy:`wait_all`,taskIds:o.map(e=>e.id),label:`agent parallel`});if(r){let n=(0,e.summarizeBackgroundJobGroup)(await t.waitBackgroundJobGroup(s.id));return{message:he(n),success:!0,data:{agentIds:o.map(e=>e.id),groupId:s.id,summary:n}}}return{message:[`Started agent jobs:`,...o.map(e=>`${e.label}: ${e.id}`)].join(`
3
+ `),success:!0,data:{agentIds:o.map(e=>e.id),groupId:s.id}}}async function le(t,n){let[r]=n;if(!r)return{message:`Usage: agent wait GROUP_ID`,success:!1};let i=(0,e.summarizeBackgroundJobGroup)(await t.waitBackgroundJobGroup(r));return{message:he(i),success:!0,data:{groupId:r,summary:i}}}async function ue(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 de(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 fe(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 pe(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 me(e,t){try{if(t.trim()===``)return ie();let[n=`list`,...r]=a(t);return n===`list`&&r.length===0?ae(e):n===`run`?se(e,r):n===`parallel`?ce(e,r):n===`wait`?le(e,r):n===`read`||n===`open`?ue(e,r):n===`send`?de(e,r):n===`stop`||n===`cancel`?fe(e,r):n===`close`?pe(e,r):se(e,[n,...r])}catch(e){return{message:d(e),success:!1}}}function he(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 ge(e){let t=e.getAgentJobCapability?.();if(!t)throw Error(`Agent job capability is not available in this context.`);return t}function _e(){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 ve(){return{name:`agent`,displayName:`Agent Jobs`,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:_e()}}function ye(){let e=ve();return{name:e.name,...e.displayName===void 0?{}:{displayName:e.displayName},description:e.description,requiresPermission:!1,execute:(e,t)=>me(ge(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 be=class{name=`agent`;getCommands(){return[ve()]}};function xe(){return{name:`agent-command-agent`,commandSources:[new be],systemCommands:[ye()],sessionRequirements:[`agent-runtime`]}}function Se(e){return e.trim().split(/\s+/).filter(Boolean)}async function Ce(t,n){let[r=`list`,i,...a]=Se(n);if(r===`list`){let n=(0,e.listCommandBackgroundTasks)(t);return{message:(0,e.formatCommandBackgroundTaskList)(n),success:!0,data:{count:n.length}}}if(!i)return{message:e.BACKGROUND_COMMAND_USAGE,success:!1};if(r===`read`||r===`log`||r===`open`){let n=await(0,e.readCommandBackgroundTaskLog)(t,i,(0,e.parseCommandBackgroundLogCursor)(a[0])),r=n.nextCursor?`\nNext offset: ${n.nextCursor.offset}`:``;return{message:n.lines.length>0?`${n.lines.join(`
6
+ `)}${r}`:`No log lines: ${i}`,success:!0,data:{taskId:i,nextOffset:n.nextCursor?.offset}}}return r===`cancel`||r===`stop`?(await(0,e.cancelCommandBackgroundTask)(t,i,a.join(` `)||void 0),{message:`Background task cancelled: ${i}`,success:!0,data:{taskId:i}}):r===`close`||r===`dismiss`?(await(0,e.closeCommandBackgroundTask)(t,i),{message:`Background task closed: ${i}`,success:!0,data:{taskId:i}}):{message:`Unknown background action: ${r}`,success:!1}}function f(){return{name:`background`,displayName:`Background Tasks`,description:e.BACKGROUND_COMMAND_DESCRIPTION,source:`background`,modelInvocable:!1,subcommands:(0,e.buildBackgroundCommandSubcommands)()}}function we(){let e=f();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,subcommands:e.subcommands,execute:Ce}}var Te=class{name=`background`;getCommands(){return[f()]}};function Ee(){return{name:`agent-command-background`,commandSources:[new Te],systemCommands:[we()]}}function De(e){let t=e.trim();return t.length>0?t:void 0}async function Oe(t,n){let r=await(0,e.compactCommandContext)(t,De(n)),i=r.before.usedPercentage,a=r.after.usedPercentage;return{message:`Context compacted: ${Math.round(i)}% -> ${Math.round(a)}%`,success:!0,data:{before:i,after:a}}}function p(){return{name:`compact`,displayName:`Compact Context`,description:`Compress context window`,source:`compact`,modelInvocable:!0,argumentHint:`[instructions]`,safety:`write`}}function ke(){let e=p();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:e.modelInvocable,argumentHint:e.argumentHint,safety:e.safety,lifecycle:`blocking`,execute:Oe}}var Ae=class{name=`compact`;getCommands(){return[p()]}};function je(){return{name:`agent-command-compact`,commandSources:[new Ae],systemCommands:[ke()]}}const m=[`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 h(e){return e===!1?`disabled`:`${Math.round(e*100)}%`}function Me(e,t){return e===!1?`Auto compact: disabled (${t})`:`Auto compact: ${h(e)} (${t})`}function Ne(e){return e?`settings`:`current session only`}async function Pe(t,n){let r=n.trim().split(/\s+/).filter(e=>e.length>0);if(r.length>0)return Fe(t,r);let i=(0,e.readCommandContextState)(t),a=(0,e.readAutoCompactThreshold)(t),o=(0,e.readAutoCompactThresholdSource)(t);return{message:[`Context: ${i.usedTokens.toLocaleString()} / ${i.maxTokens.toLocaleString()} tokens (${Math.round(i.usedPercentage)}%)`,Me(a,o),Ve((0,e.listCommandContextReferences)(t))].join(`
8
+ `),success:!0,data:{usedTokens:i.usedTokens,maxTokens:i.maxTokens,percentage:i.usedPercentage,autoCompactThreshold:a,autoCompactThresholdSource:o,references:(0,e.listCommandContextReferences)(t)}}}async function Fe(t,n){let[r,...i]=n;if(r===`list`)return i.length>0?{success:!1,message:m}:He((0,e.listCommandContextReferences)(t));if(r===`add`)return Le(t,i);if(r===`remove`)return Re(t,i);if(r===`clear`){if(i.length>0)return{success:!1,message:m};let n=(0,e.clearCommandContextReferences)(t);return{success:!0,message:`Context references cleared: ${n.removed.length} removed.`,data:{removed:n.removed}}}return r===`auto`?Ie(t,i):{success:!1,message:m}}function Ie(t,n){let[r,i]=n;if(i!==void 0)return{success:!1,message:m};if(r===void 0){let n=(0,e.readAutoCompactThreshold)(t),r=(0,e.readAutoCompactThresholdSource)(t);return{success:!0,message:[Me(n,r),m].join(`
9
+ `),data:{autoCompactThreshold:n,autoCompactThresholdSource:r}}}if(r===`on`)return g(t,e.DEFAULT_AUTO_COMPACT_THRESHOLD,`enabled`);if(r===`off`)return g(t,!1,`disabled`);if(r===`reset`){let n=(0,e.resetAutoCompactThresholdSetting)(t);return(0,e.setCommandAutoCompactThreshold)(t,e.DEFAULT_AUTO_COMPACT_THRESHOLD,`default`),{success:!0,message:`Auto compact reset to default: ${h(e.DEFAULT_AUTO_COMPACT_THRESHOLD)} (${Ne(n)}).`,data:{autoCompactThreshold:e.DEFAULT_AUTO_COMPACT_THRESHOLD,autoCompactThresholdSource:`default`,persisted:n}}}let a=Be(r);return a.success?g(t,a.threshold,`threshold set`):{success:!1,message:`${a.message}\n${m}`}}async function Le(t,n){let r=n.join(` `).trim();if(!r)return{success:!1,message:m};let i=await(0,e.addCommandContextReference)(t,r);return i.reference?{success:!0,message:[`Context reference added: ${_(i.reference)}.`,...i.evicted.length>0?[`Evicted ${i.evicted.length} older context reference(s).`]:[]].join(`
10
10
  `),data:{reference:i.reference,evicted:i.evicted}}:{success:!1,message:i.diagnostics.join(`
11
- `)||`Context reference not found: ${r}`,data:{diagnostics:i.diagnostics}}}function Ie(t,n){let r=n.join(` `).trim();if(!r)return{success:!1,message:p};let i=(0,e.removeCommandContextReference)(t,r);return i.removed?{success:!0,message:`Context reference removed: ${g(i.removed)}.`,data:{removed:i.removed}}:{success:!1,message:`Context reference not found: ${r}`}}function h(t,n,r){let i=(0,e.writeAutoCompactThresholdSetting)(t,n),a=i?`settings`:`session`;return(0,e.setCommandAutoCompactThreshold)(t,n,a),{success:!0,message:Le(r,n,i),data:{autoCompactThreshold:n,autoCompactThresholdSource:a,persisted:i}}}function Le(e,t,n){let r=je(n);return e===`disabled`?`Auto compact disabled (${r}).`:e===`enabled`?`Auto compact enabled at ${m(t)} (${r}).`:`Auto compact threshold set to ${m(t)} (${r}).`}function Re(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 ze(e){return`References: ${e.filter(e=>e.status===`active`).length} active, ${e.filter(e=>e.status===`observed`).length} observed`}function Be(e){return e.length===0?{success:!0,message:`No context references.`,data:{references:e}}:{success:!0,message:[`Context references:`,...e.map(g)].join(`
12
- `),data:{references:e}}}function g(e){return[e.relativePath,`[${e.loadType}, ${e.status}]`,`${e.byteLength.toLocaleString()} B`].join(` `)}function _(){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 Ve(){let e=_();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,execute:Me}}var He=class{name=`context`;getCommands(){return[_()]}};function Ue(){return{name:`agent-command-context`,commandSources:[new He],systemCommands:[Ve()]}}function We(t,n){return{success:!0,message:`Exit requested.`,effects:[(0,e.createSessionExitRequestedEffect)()]}}function v(){return{name:`exit`,description:e.EXIT_COMMAND_DESCRIPTION,source:`exit`,modelInvocable:!1}}function Ge(){let e=v();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:We}}var Ke=class{name=`exit`;getCommands(){return[v()]}};function qe(){return{name:`agent-command-exit`,commandSources:[new Ke],systemCommands:[Ge()]}}function Je(t,n){return{success:!0,message:(0,e.formatCommandHelpMessage)(t)}}function y(){return{name:`help`,description:e.HELP_COMMAND_DESCRIPTION,source:`help`,modelInvocable:!1}}function Ye(){let e=y();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Je}}var Xe=class{name=`help`;getCommands(){return[y()]}};function Ze(){return{name:`agent-command-help`,commandSources:[new Xe],systemCommands:[Ye()]}}function Qe(t,n){let r=(0,e.parseLanguageArgument)(n);return r===void 0?{message:(0,e.formatLanguageUsageMessage)(),success:!1}:{message:`Language set to "${r}".`,success:!0,data:{language:r},effects:[{type:`language-change-requested`,language:r}]}}function b(){return{name:`language`,description:e.LANGUAGE_COMMAND_DESCRIPTION,source:`language`,argumentHint:e.LANGUAGE_COMMAND_ARGUMENT_HINT,subcommands:(0,e.buildLanguageCommandSubcommands)(`language`),modelInvocable:!1}}function $e(){let e=b();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:Qe}}var et=class{name=`language`;getCommands(){return[b()]}};function tt(){return{name:`agent-command-language`,commandSources:[new et],systemCommands:[$e()]}}function x(){return{message:e.MEMORY_COMMAND_USAGE,success:!1}}function nt(e){return{message:e instanceof Error?e.message:String(e),success:!1}}function rt(e){let t=e.list(),n=t.topics.length>0?t.topics.map(e=>`- ${e.name}: ${e.path}`).join(`
11
+ `)||`Context reference not found: ${r}`,data:{diagnostics:i.diagnostics}}}function Re(t,n){let r=n.join(` `).trim();if(!r)return{success:!1,message:m};let i=(0,e.removeCommandContextReference)(t,r);return i.removed?{success:!0,message:`Context reference removed: ${_(i.removed)}.`,data:{removed:i.removed}}:{success:!1,message:`Context reference not found: ${r}`}}function g(t,n,r){let i=(0,e.writeAutoCompactThresholdSetting)(t,n),a=i?`settings`:`session`;return(0,e.setCommandAutoCompactThreshold)(t,n,a),{success:!0,message:ze(r,n,i),data:{autoCompactThreshold:n,autoCompactThresholdSource:a,persisted:i}}}function ze(e,t,n){let r=Ne(n);return e===`disabled`?`Auto compact disabled (${r}).`:e===`enabled`?`Auto compact enabled at ${h(t)} (${r}).`:`Auto compact threshold set to ${h(t)} (${r}).`}function Be(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 Ve(e){return`References: ${e.filter(e=>e.status===`active`).length} active, ${e.filter(e=>e.status===`observed`).length} observed`}function He(e){return e.length===0?{success:!0,message:`No context references.`,data:{references:e}}:{success:!0,message:[`Context references:`,...e.map(_)].join(`
12
+ `),data:{references:e}}}function _(e){return[e.relativePath,`[${e.loadType}, ${e.status}]`,`${e.byteLength.toLocaleString()} B`].join(` `)}function v(){return{name:`context`,displayName:`Context References`,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 Ue(){let e=v();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,execute:Pe}}var We=class{name=`context`;getCommands(){return[v()]}};function Ge(){return{name:`agent-command-context`,commandSources:[new We],systemCommands:[Ue()]}}function Ke(t,n){return{success:!0,message:`Exit requested.`,effects:[(0,e.createSessionExitRequestedEffect)()]}}function y(){return{name:`exit`,displayName:`Exit Session`,description:e.EXIT_COMMAND_DESCRIPTION,source:`exit`,modelInvocable:!1}}function qe(){let e=y();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!0,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Ke}}var Je=class{name=`exit`;getCommands(){return[y()]}};function Ye(){return{name:`agent-command-exit`,commandSources:[new Je],systemCommands:[qe()]}}function Xe(t,n){return{success:!0,message:(0,e.formatCommandHelpMessage)(t)}}function b(){return{name:`help`,displayName:`Help`,description:e.HELP_COMMAND_DESCRIPTION,source:`help`,modelInvocable:!1}}function Ze(){let e=b();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Xe}}var Qe=class{name=`help`;getCommands(){return[b()]}};function $e(){return{name:`agent-command-help`,commandSources:[new Qe],systemCommands:[Ze()]}}function et(t,n){let r=(0,e.parseLanguageArgument)(n);return r===void 0?{message:(0,e.formatLanguageUsageMessage)(),success:!1}:{message:`Language set to "${r}".`,success:!0,data:{language:r},effects:[{type:`language-change-requested`,language:r}]}}function x(){return{name:`language`,displayName:`Language`,description:e.LANGUAGE_COMMAND_DESCRIPTION,source:`language`,argumentHint:e.LANGUAGE_COMMAND_ARGUMENT_HINT,subcommands:(0,e.buildLanguageCommandSubcommands)(`language`),modelInvocable:!1}}function tt(){let e=x();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:et}}var nt=class{name=`language`;getCommands(){return[x()]}};function rt(){return{name:`agent-command-language`,commandSources:[new nt],systemCommands:[tt()]}}function S(){return{message:e.MEMORY_COMMAND_USAGE,success:!1}}function it(e){return{message:e instanceof Error?e.message:String(e),success:!1}}function at(e){let t=e.list(),n=t.topics.length>0?t.topics.map(e=>`- ${e.name}: ${e.path}`).join(`
13
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 it(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 at(t){let n=t[1],r=t[2],i=t.slice(3).join(` `).trim();if(!(!n||!(0,e.isCommandMemoryType)(n)||!r||i.length===0))return{type:n,topic:r,text:i}}function ot(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 S(t,n){(0,e.recordCommandMemoryEvent)(t,n)}function st(e,t,n,r){if(!r)return x();try{let i=t.mark(r,`approved`,`approved-by-user`),a=n.append(i),o=t.mark(r,`saved`,`approved-and-saved`);return S(e,{type:`memory_candidate_approved`,candidateId:o.id,topic:o.topic,reason:`approved-by-user`}),S(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 nt(e instanceof Error?e:String(e))}}function ct(e,t,n){if(!n)return x();try{let r=t.mark(n,`rejected`,`rejected-by-user`);return S(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 nt(e instanceof Error?e:String(e))}}function lt(t){let n=(0,e.listCommandUsedMemoryReferences)(t);return{message:[`Used memory references:`,...n.length>0?n.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:n.length,references:[...n]}}}function ut(t,n){let r=n.trim().split(/\s+/).filter(Boolean),i=r[0]??`list`,a=(0,e.createCommandMemoryStores)(t);if(i===`list`)return rt(a.project);if(i===`show`)return it(a.project,r[1]);if(i===`pending`)return ot(a.pending);if(i===`approve`)return st(t,a.pending,a.project,r[1]);if(i===`reject`)return ct(t,a.pending,r[1]);if(i===`used`)return lt(t);if(i===`add`){let t=at(r);if(!t)return x();if((0,e.hasSensitiveCommandMemoryContent)(t.text))return{message:`Refusing to save sensitive memory content.`,success:!1};let n=a.project.append(t);return{message:n.deduplicated?`${t.type} memory already exists in ${n.topicPath}`:`Saved ${t.type} memory to ${n.topicPath}`,success:!0,data:{indexPath:n.indexPath,topicPath:n.topicPath,topic:n.topic,deduplicated:n.deduplicated}}}return x()}function C(){return{name:`memory`,description:e.MEMORY_COMMAND_DESCRIPTION,source:`memory`,argumentHint:e.MEMORY_COMMAND_ARGUMENT_HINT,modelInvocable:!0,safety:`write`,subcommands:(0,e.buildMemoryCommandSubcommands)()}}function dt(){let e=C();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!0,argumentHint:e.argumentHint,safety:e.safety,subcommands:e.subcommands,execute:ut}}var ft=class{name=`memory`;getCommands(){return[C()]}};function pt(){return{name:`agent-command-memory`,commandSources:[new ft],systemCommands:[dt()]}}function mt(t,n){let r=(0,e.parsePermissionModeArgument)(n);if(r===void 0){let n=(0,e.readCommandPermissionMode)(t);return{message:`Current mode: ${n}`,success:!0,data:{mode:n}}}return(0,e.isPermissionMode)(r)?((0,e.writeCommandPermissionMode)(t,r),{message:`Permission mode set to: ${r}`,success:!0,data:{mode:r}}):{message:(0,e.formatInvalidPermissionModeMessage)(),success:!1}}function w(){return{name:`mode`,description:e.PERMISSION_MODE_COMMAND_DESCRIPTION,source:`mode`,argumentHint:e.PERMISSION_MODE_ARGUMENT_HINT,subcommands:(0,e.buildPermissionModeSubcommands)(`mode`),modelInvocable:!1}}function ht(){let e=w();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:mt}}var gt=class{name=`mode`;getCommands(){return[w()]}};function _t(){return{name:`agent-command-mode`,commandSources:[new gt],systemCommands:[ht()]}}function vt(e){let t=e.trim().split(/\s+/)[0];return t!==void 0&&t.length>0?t:void 0}async function yt(t,n,r){let i=vt(n);return i===void 0?{message:await(0,e.formatModelCommandUsageMessageAsync)({...r?.settings===void 0?{}:{settings:r.settings.readMergedSettings()},...r?.providerDefinitions===void 0?{}:{providerDefinitions:r.providerDefinitions},refresh:!0}),success:!1}:{message:`Model change requested: ${i}`,success:!0,data:{modelId:i},effects:[{type:`model-change-requested`,modelId:i}]}}function T(t){return{name:`model`,description:e.MODEL_COMMAND_DESCRIPTION,source:`model`,argumentHint:e.MODEL_COMMAND_ARGUMENT_HINT,subcommands:Ct(t)}}function bt(e){let t=T(e);return{name:t.name,description:t.description,userInvocable:!0,argumentHint:t.argumentHint,subcommands:t.subcommands,lifecycle:`inline`,execute:(t,n)=>yt(t,n,e)}}var xt=class{options;name=`model`;constructor(e){this.options=e}getCommands(){return[T(this.options)]}};function St(e){return{name:`agent-command-model`,commandSources:[new xt(e)],systemCommands:[bt(e)]}}function Ct(t){return t===void 0?(0,e.buildModelCommandSubcommands)(`model`):(0,e.buildModelCommandSubcommands)({source:`model`,providerDefinitions:t.providerDefinitions,settings:t.settings.readMergedSettings()})}function wt(t,n){let r=(0,e.parsePermissionModeArgument)(n);if(r!==void 0){if(!(0,e.isPermissionMode)(r))return{message:(0,e.formatInvalidPermissionModeMessage)(),success:!1};(0,e.writeCommandPermissionMode)(t,r);let n=(0,e.readCommandPermissionsState)(t);return{message:`Permission mode set to: ${r}\n${(0,e.formatCommandPermissionsMessage)(n)}`,success:!0,data:{mode:n.mode,sessionAllowed:n.sessionAllowed}}}let i=(0,e.readCommandPermissionsState)(t);return{message:(0,e.formatCommandPermissionsMessage)(i),success:!0,data:{mode:i.mode,sessionAllowed:i.sessionAllowed}}}function E(){return{name:`permissions`,description:e.PERMISSIONS_COMMAND_DESCRIPTION,source:`permissions`,argumentHint:e.PERMISSION_MODE_ARGUMENT_HINT,subcommands:(0,e.buildPermissionModeSubcommands)(`permissions`),modelInvocable:!1}}function Tt(){let e=E();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:wt}}var Et=class{name=`permissions`;getCommands(){return[E()]}};function Dt(){return{name:`agent-command-permissions`,commandSources:[new Et],systemCommands:[Tt()]}}function Ot(e){let t=e.trim().split(/\s+/).filter(e=>e.length>0);return{subcommand:t[0]??``,subArgs:t.slice(1).join(` `).trim()}}function D(e){return{success:!1,message:e}}function kt(t){return(0,e.resolvePluginCommandAdapter)(t)}async function O(e,t){let n=kt(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 At(e,t){let{subcommand:n,subArgs:r}=Ot(t);return n===`add`&&r.length>0?O(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?O(e,async e=>(await e.marketplaceRemove(r),`Removed marketplace "${r}" and uninstalled its plugins.`)):n===`update`&&r.length>0?O(e,async e=>(await e.marketplaceUpdate(r),`Updated marketplace "${r}".`)):n===`list`?O(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
- `)}`}):D(`Usage: /plugin marketplace add <source> | remove <name> | update <name> | list`)}function k(e,t,n,r){return t.length===0?Promise.resolve(D(n)):O(e,e=>Promise.resolve(r(e,t)))}function jt(){return{success:!0,message:`Opening plugin manager...`,effects:[(0,e.createPluginTuiRequestedEffect)()]}}function Mt(e,t){return k(e,t,`Usage: /plugin install <name>@<marketplace>`,async(e,t)=>(await e.install(t),`Installed plugin: ${t}`))}function Nt(e,t){return k(e,t,`Usage: /plugin uninstall <name>@<marketplace>`,async(e,t)=>(await e.uninstall(t),`Uninstalled plugin: ${t}`))}function Pt(e,t){return k(e,t,`Usage: /plugin enable <name>@<marketplace>`,async(e,t)=>(await e.enable(t),`Enabled plugin: ${t}`))}function Ft(e,t){return k(e,t,`Usage: /plugin disable <name>@<marketplace>`,async(e,t)=>(await e.disable(t),`Disabled plugin: ${t}`))}async function It(e,t){let{subcommand:n,subArgs:r}=Ot(t);switch(n){case``:case`manage`:return jt();case`install`:return Mt(e,r);case`uninstall`:return Nt(e,r);case`enable`:return Pt(e,r);case`disable`:return Ft(e,r);case`marketplace`:return At(e,r);default:return D(`Unknown plugin subcommand: ${n}`)}}async function Lt(t,n){return O(t,async e=>{let t=await e.reloadPlugins();return`Reloaded ${t.loadedPluginCount===1?`1 plugin resource`:`${t.loadedPluginCount} plugin resources`}.`}).then(t=>t.success?{...t,effects:[(0,e.createPluginRegistryReloadRequestedEffect)()]}:t)}function A(){return{name:`plugin`,description:e.PLUGIN_COMMAND_DESCRIPTION,source:`plugin-manager`,modelInvocable:!1,argumentHint:e.PLUGIN_COMMAND_ARGUMENT_HINT,subcommands:(0,e.buildPluginCommandSubcommands)()}}function j(){return{name:`reload-plugins`,description:e.RELOAD_PLUGINS_COMMAND_DESCRIPTION,source:`plugin-manager`,modelInvocable:!1}}function Rt(){let e=A();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,lifecycle:`inline`,subcommands:e.subcommands,execute:It}}function zt(){let e=j();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Lt}}var Bt=class{name=`plugin-manager`;getCommands(){return[A(),j()]}};function Vt(){return{name:`agent-command-plugin`,commandSources:[new Bt],systemCommands:[Rt(),zt()]}}function M(e,t,n={}){let r=qt(e,t);return{type:e,steps:Xt(Jt(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 Ht(e){return e.length===0?` No providers are available.`:[` Select provider:`,...e.map((e,t)=>` ${t+1}. ${F(e)}`),` Provider [1-${e.length}] (default: 1): `].join(`
18
- `)}function Ut(e,n){let r=e.trim(),i=r.length>0?r:`1`,a=Kt(i);if(a!==void 0){let e=n[a];if(e!==void 0)return e.type;throw Error(`Provider selection ${i} is out of range. Currently supported: ${(0,t.formatSupportedProviderTypes)(n)}`)}let o=(0,t.findProviderDefinition)(n,i);if(o===void 0)throw Error(`Unknown provider: ${i}. Currently supported: ${(0,t.formatSupportedProviderTypes)(n)}`);return o.type}function N(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 P(e,t){let n=N(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:Zt(a)}}async function Wt(e,t,n,r={}){let i=M(e,n,r),a=i.steps.length;for(;i.stepIndex<a;){let e=N(i),n=await t(Gt(e,i.setupHelpLinks),e.masked===!0),r=P(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 Gt(e,t=[]){let n=e.defaultValue===void 0?``:` (default: ${e.defaultValue})`,r=I(t);return`${r.length>0?`${r}\n`:``} ${e.title}${n}: `}function F(e){let t=e.displayName===void 0?e.type:`${e.displayName} (${e.type})`;return e.description===void 0?t:`${t} - ${e.description}`}function I(e=[]){return e.length===0?``:e.map(e=>` Setup help: ${Yt(e.kind)}: ${e.label} - ${e.url}`).join(`
19
- `)}function Kt(e){if(/^\d+$/.test(e))return Number(e)-1}function L(e,t){if(e.required===!0&&t.length===0)return`Required`}function qt(e,n){let r=(0,t.findProviderDefinition)(n,e);if(r===void 0)throw Error(`Unknown provider: ${e}. Currently supported: ${(0,t.formatSupportedProviderTypes)(n)}`);return r}function Jt(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 Yt(e){return e===`api-key`?`API key`:e===`console`?`Console`:`Official`}function Xt(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 Zt(t){let n=t.profileName??(0,e.suggestProviderProfileName)({type:t.type},{existingProfileNames:t.existingProfileNames}),r=t.values.apiKey;return{profile:n,type:t.type,model:t.values.model,...r!==void 0&&r.length>0&&{apiKey:r},...t.values.baseURL!==void 0&&{baseURL:t.values.baseURL},setCurrent:t.setCurrent??!0}}const Qt={type:`session-restart-requested`,reason:`other`};function $t(e,t){return M(e,t.providerDefinitions,{existingProfileNames:Object.keys(t.settings.readMergedSettings().providers??{})})}function R(e,t){return{prompt:en(e),submit:n=>nn(e,n,t),cancel:()=>({message:`Provider setup cancelled.`,success:!0})}}function en(e){let t=N(e),n=t.masked===!0&&t.defaultValue!==void 0?`(unchanged)`:t.defaultValue;return{kind:`text`,title:t.title,...tn(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 tn(e){let t=I(e.setupHelpLinks);return t.length>0?{description:t}:{}}function nn(e,t,n){let r=P(e,t);return r.status===`error`?{message:r.message,success:!1,interaction:R(e,n)}:r.status===`complete`?rn(r.input,n):{message:``,success:!0,interaction:R(r.state,n)}}function rn(t,n){let r=n.settings.readTargetSettings(),i=(0,e.buildProviderSetupPatch)(t,{providerDefinitions:n.providerDefinitions});return n.settings.writeTargetSettings((0,e.mergeProviderPatch)(r,i)),{message:`Provider ${t.profile} configured. Restarting...`,success:!0,effects:[{...Qt,message:`Provider setup restart`}]}}const an={type:`session-restart-requested`,reason:`other`};function on(e,t,n){return`${e===n?`* `:``}${e}: ${t.type??`unknown`} ${t.model??`(no model)`}`}function sn(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:cn(t,n)}:{message:`Provider profile "${t}" was not found.`,success:!1}:{message:`Usage: provider use <profile>`,success:!1}}function cn(t,n){return{prompt:{kind:`choice`,title:`Change provider to ${t}? This will restart the session.`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]},submit:r=>{if(r!==`yes`)return{message:`Provider change cancelled.`,success:!0};let i=n.settings.readMergedSettings(),a=n.settings.readTargetSettings(),o=a.providers?.[t]!==void 0||i.providers?.[t]!==void 0?{...a,currentProvider:t}:(0,e.setCurrentProvider)(a,t);return n.settings.writeTargetSettings(o),{message:`Provider changed to ${t}. Restarting...`,success:!0,effects:[{...an,message:`Provider change restart`}]}},cancel:()=>({message:`Provider change cancelled.`,success:!0})}}function ln(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=M(n.type,t.providerDefinitions,{profileName:e,setCurrent:!1,initialValues:un(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 un(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:en(e),submit:r=>dn(e,t,r,n),cancel:()=>({message:`Provider edit cancelled.`,success:!0})}}function dn(e,t,n,r){let i=P(e,n);return i.status===`error`?{message:i.message,success:!1,interaction:z(e,t,r)}:i.status===`complete`?fn(i.input,t,r):{message:``,success:!0,interaction:z(i.state,t,r)}}function fn(t,n,r){let i=r.settings.readMergedSettings(),a=i.providers?.[n];if(!a)return{message:`Provider profile "${n}" was not found.`,success:!1};let o=r.settings.readTargetSettings(),s=(0,e.buildProviderSetupPatch)(t,{providerDefinitions:r.providerDefinitions}).providers[n];if(!s)return{message:`Provider profile "${n}" was not updated.`,success:!1};r.settings.writeTargetSettings((0,e.upsertProviderProfile)(o,n,{...a,...s}));let c=i.currentProvider===n;return{message:c?`Provider ${n} updated. Restarting...`:`Provider ${n} updated.`,success:!0,...c?{effects:[{...an,message:`Provider edit restart`}]}:{}}}const pn={type:`session-restart-requested`,reason:`other`};function mn(e,t){let n=t.settings.readMergedSettings();if(!n.providers?.[e])return{message:`Provider profile "${e}" was not found.`,success:!1};let r=Sn(e,Object.keys(n.providers));return{message:`Provider duplicate requested: ${e}`,success:!0,interaction:hn(e,r,t)}}function hn(e,t,n){return{prompt:{kind:`text`,title:`Duplicate ${e} as`,placeholder:t,allowEmpty:!0,validate:e=>gn(e,t,n)},submit:r=>_n(e,r,t,n),cancel:()=>({message:`Provider duplicate cancelled.`,success:!0})}}function gn(e,t,n){let r=Cn(e,t);if(r.length===0)return`Required`;if(n.settings.readMergedSettings().providers?.[r]!==void 0)return`Provider profile "${r}" already exists`}function _n(t,n,r,i){let a=i.settings.readMergedSettings().providers?.[t];if(!a)return{message:`Provider profile "${t}" was not found.`,success:!1};let o=Cn(n,r),s=gn(o,r,i);return s===void 0?(i.settings.writeTargetSettings((0,e.upsertProviderProfile)(i.settings.readTargetSettings(),o,{...a})),{message:`Provider profile duplicated: ${t} -> ${o}.`,success:!0}):{message:s,success:!1}}function vn(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:yn(e,t)}:{message:`Provider profile "${e}" was not found.`,success:!1}}function yn(e,t){return{prompt:{kind:`choice`,title:`Delete provider profile ${e}?`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]},submit:n=>n===`yes`?bn(e,t):{message:`Provider delete cancelled.`,success:!0},cancel:()=>({message:`Provider delete cancelled.`,success:!0})}}function bn(t,n){let r=n.settings.readMergedSettings();if(r.currentProvider!==t)return n.settings.writeTargetSettings((0,e.deleteProviderProfile)(n.settings.readTargetSettings(),t)),{message:`Provider profile deleted: ${t}.`,success:!0};let i=Object.entries(r.providers??{}).filter(([e])=>e!==t).map(([e,t])=>({value:e,label:on(e,t,r.currentProvider)}));return{message:`Select a replacement provider before deleting ${t}.`,success:!0,interaction:{prompt:{kind:`choice`,title:`Replacement provider for ${t}`,options:i,maxVisible:8},submit:e=>xn(t,e,n),cancel:()=>({message:`Provider delete cancelled.`,success:!0})}}}function xn(t,n,r){if(r.settings.readMergedSettings().providers?.[n]===void 0||n===t)return{message:`Provider profile "${n}" was not found.`,success:!1};let i=(0,e.deleteProviderProfile)(r.settings.readTargetSettings(),t);return r.settings.writeTargetSettings({...i,currentProvider:n}),{message:`Provider profile deleted: ${t}. Restarting with ${n}...`,success:!0,effects:[{...pn,message:`Provider delete restart`}]}}function Sn(t,n){let r=(0,e.sanitizeProviderProfileName)(`${t}-copy`)??`provider-copy`;if(!n.includes(r))return r;for(let e=2;e<1e3;e+=1){let t=`${r}-${e}`;if(!n.includes(t))return t}return`${r}-${Date.now()}`}function Cn(t,n){return(0,e.sanitizeProviderProfileName)(t.trim()||n)??``}const wn=`switch`,Tn=`edit`,En=`test`,Dn=`duplicate`,On=`delete`,kn=`cancel`;function An(e,t,n){return{prompt:{kind:`choice`,title:`Select provider profile`,options:Object.entries(t??{}).map(([t,n])=>({value:t,label:on(t,n,e)})),maxVisible:8},submit:e=>jn(e,n),cancel:()=>({message:`Provider profile selection cancelled.`,success:!0})}}function jn(e,t){return t.settings.readMergedSettings().providers?.[e]?{message:`Provider profile selected: ${e}`,success:!0,interaction:Mn(e,t)}:{message:`Provider profile "${e}" was not found.`,success:!1}}function Mn(e,t){return{prompt:{kind:`choice`,title:`Provider profile: ${e}`,options:[{value:wn,label:`Switch`},{value:Tn,label:`Edit`},{value:En,label:`Test`},{value:Dn,label:`Duplicate`},{value:On,label:`Delete`},{value:kn,label:`Cancel`}]},submit:n=>Nn(e,n,t),cancel:()=>({message:`Provider profile action cancelled.`,success:!0})}}async function Nn(t,n,r){let i=r.settings.readMergedSettings();switch(n){case wn:return sn(i.providers,t,r);case Tn:return ln(t,r);case En:return await(0,e.testProviderProfileCommand)(i.currentProvider,i.providers,t,r);case Dn:return mn(t,r);case On:return vn(t,r);case kn:return{message:`Provider profile action cancelled.`,success:!0};default:return{message:`Unknown provider profile action "${n}".`,success:!1}}}async function Pn(t,n){let r=n.settings.readMergedSettings(),i=t.trim();if(i.length===0)return Fn(r.currentProvider,r.providers,n);let[a=`current`,o]=i.split(/\s+/);return a===`list`?Fn(r.currentProvider,r.providers,n):a===`current`||a===``?{message:Ln(r.currentProvider,r.providers),success:!0}:a===`use`?sn(r.providers,o,n):a===`test`?await(0,e.testProviderProfileCommand)(r.currentProvider,r.providers,o,n):a===`add`?Rn(o,n):{message:`Usage: provider [current|list|use <profile>|add <type>|test [profile]]`,success:!1}}function Fn(e,t,n){let r=In(e,t);return Object.keys(t??{}).length===0?{message:r,success:!0}:{message:r,success:!0,interaction:An(e,t,n)}}function In(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 Ln(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 Rn(e,n){return e===void 0||e.length===0?{message:`Provider setup requested. Select a provider to continue.`,success:!0,interaction:zn(n)}:(0,t.findProviderDefinition)(n.providerDefinitions,e)===void 0?{message:`Usage: provider add <type>. Supported: ${(0,t.formatSupportedProviderTypes)(n.providerDefinitions)}`,success:!1}:{message:`Provider setup requested: ${e}`,success:!0,interaction:R($t(e,n),n)}}function zn(e){return{prompt:{kind:`choice`,title:`Select provider`,options:e.providerDefinitions.map(e=>({value:e.type,label:F(e)})),maxVisible:6},submit:t=>{let n=$t(t,e);return{message:`Provider setup requested: ${t}`,success:!0,interaction:R(n,e)}},cancel:()=>({message:`Provider setup cancelled.`,success:!0})}}function Bn(){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:Bn()}}var Vn=class{name=`provider`;getCommands(){return[B()]}};function Hn(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)=>Pn(n,e)}}function Un(e){return{name:`agent-command-provider`,commandSources:[new Vn],systemCommands:[Hn(e)]}}function Wn(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 Gn(){let e=V();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Wn}}var Kn=class{name=`reset`;getCommands(){return[V()]}};function qn(){return{name:`agent-command-reset`,commandSources:[new Kn],systemCommands:[Gn()]}}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 Jn(e){let t=e.replace(/\s+/g,` `).trim();return t.length<=120?t:`${t.slice(0,117)}...`}function Yn(e){return{message:[`Edit checkpoints:`,...e.length>0?e.map(e=>`- ${e.id} files=${e.fileCount} ${e.createdAt} ${Jn(e.prompt)}`):[`(no edit checkpoints)`]].join(`
22
- `),success:!0,data:{count:e.length,checkpoints:[...e]}}}function Xn(e){return e.length>0?e.join(`, `):`(none)`}function Zn(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: ${Jn(e.target.prompt)}`,`Captured files:`,...t,`Restore later checkpoints: files=${e.restoreToCheckpoint.fileCount} checkpoints=${Xn(e.restoreToCheckpoint.checkpointIds)}`,`Rollback through checkpoint: files=${e.rollbackThroughCheckpoint.fileCount} checkpoints=${Xn(e.rollbackThroughCheckpoint.checkpointIds)}`].join(`
23
- `),success:!0,data:{inspection:e}}}function Qn(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 $n(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 er(t,n){if(!n)return H();try{return Zn((0,e.inspectCommandEditCheckpoint)(t,n))}catch(e){return U(e instanceof Error?e:String(e))}}async function tr(t,n){if(!n)return H();try{return Qn(await(0,e.restoreCommandEditCheckpoint)(t,n))}catch(e){return U(e instanceof Error?e:String(e))}}async function nr(t,n){if(!n)return H();try{return $n(await(0,e.rollbackCommandEditCheckpoint)(t,n))}catch(e){return U(e instanceof Error?e:String(e))}}async function rr(t,n){let r=n.trim().split(/\s+/).filter(Boolean),i=r[0]??`list`;return i===`list`?Yn((0,e.listCommandEditCheckpoints)(t)):i===`inspect`?er(t,r[1]):i===`restore`||i===`code`?tr(t,r[1]):i===`rollback`?nr(t,r[1]):H()}function ir(){return{name:`rewind`,description:e.REWIND_COMMAND_DESCRIPTION,source:`rewind`,argumentHint:e.REWIND_COMMAND_ARGUMENT_HINT,modelInvocable:!1,safety:`write`,subcommands:(0,e.buildRewindCommandSubcommands)()}}function ar(){let e=ir();return{name:e.name,description:e.description,argumentHint:e.argumentHint,userInvocable:!0,modelInvocable:!1,safety:`write`,subcommands:e.subcommands,execute:rr}}var or=class{name=`rewind`;getCommands(){return[ir()]}};function sr(){return{name:`agent-command-rewind`,commandSources:[new or],systemCommands:[ar()]}}const cr=`Conversation cleared.`;function lr(t,n){return(0,e.clearConversationHistory)(t),{success:!0,message:cr,effects:[{type:`conversation-history-cleared`}]}}function ur(t,n){let r=(0,e.parseSessionNameArgument)(n);return r===void 0?{success:!1,message:e.RENAME_COMMAND_USAGE}:{success:!0,message:`Session renamed to "${r}".`,data:{name:r},effects:[(0,e.createSessionRenamedEffect)(r)]}}function dr(t,n){return{success:!0,message:`Opening session picker...`,data:{triggerResumePicker:!0},effects:[(0,e.createSessionPickerRequestedEffect)()]}}function fr(t,n){let r=(0,e.readCommandSessionInfo)(t);return{success:!0,message:`Session: ${r.sessionId}\nMessages: ${r.messageCount}`,data:{sessionId:r.sessionId,messageCount:r.messageCount}}}function pr(t,n){let r=(0,e.validateCommandSessionReplayLog)(t);return{success:r.validation.ok,message:(0,e.formatCommandSessionReplayValidationReport)(r),data:{logFile:r.logFile,entryCount:r.entryCount,issueCount:r.validation.issues.length,ok:r.validation.ok}}}function W(){return{name:`clear`,description:e.CLEAR_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function G(){return{name:`rename`,description:e.RENAME_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function K(){return{name:`resume`,description:e.RESUME_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function q(){return{name:`cost`,description:e.COST_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function J(){return{name:`validate-session`,description:e.VALIDATE_SESSION_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function mr(){let e=W();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:lr}}function hr(){let e=G();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:ur}}function gr(){let e=K();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:dr}}function _r(){let e=q();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:fr}}function vr(){let e=J();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:pr}}var yr=class{name=`session`;getCommands(){return[W(),G(),K(),q(),J()]}};function br(){return{name:`agent-command-session`,commandSources:[new yr],systemCommands:[mr(),hr(),gr(),_r(),vr()]}}function Y(){return{name:`settings`,description:`Open transport settings — enable/disable transports and configure options`,source:`settings`,modelInvocable:!1}}function xr(){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 Sr=class{name=`settings`;getCommands(){return[Y()]}};function Cr(){return{name:`agent-command-settings`,commandSources:[new Sr],systemCommands:[xr()]}}const wr=`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 Tr(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 Er(e){let t=e.argumentHint?` ${e.argumentHint}`:``;return`- ${e.name}${t}: ${e.description}${Tr(e)}`}function Dr(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(Er),``,`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 Or(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 kr(e,t=``){let n=Or(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:Dr(r),data:{skills:r,activationContract:{activateWith:`/skills <skill-name> [args]`,activationRequiredBeforeWorkflow:!0,metadataIsNotSkillContent:!0}}}}function X(){return{name:`skills`,description:wr,source:`skills`,modelInvocable:!0,userInvocable:!0,argumentHint:`[list | <skill-name> [args]]`,safety:`read-only`}}function Ar(){let e=X();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!0,argumentHint:e.argumentHint,safety:e.safety,lifecycle:`inline`,execute:kr}}var jr=class{name=`skills`;getCommands(){return[X()]}};function Mr(t={}){let n=[new jr];return n.push(new e.SkillCommandSource(t.cwd??process.cwd())),{name:`agent-command-skills`,commandSources:n,systemCommands:[Ar()]}}const Nr=[`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 Pr(t){let n=t.trim().toLowerCase().split(/\s+/).filter(e=>e.length>0),[r,i]=n;return r===`on`&&i===void 0?{success:!0,message:`Status line enabled.`,patch:{enabled:!0}}:r===`off`&&i===void 0?{success:!0,message:`Status line disabled.`,patch:{enabled:!1}}:r===`reset`&&i===void 0?{success:!0,message:`Status line settings reset.`,patch:{...e.DEFAULT_STATUS_LINE_COMMAND_SETTINGS}}:r===`git`&&i===`on`&&n.length===2?{success:!0,message:`Status line git branch shown.`,patch:{gitBranch:!0}}:r===`git`&&i===`off`&&n.length===2?{success:!0,message:`Status line git branch hidden.`,patch:{gitBranch:!1}}:{success:!1,message:Nr}}function Fr(e,t){let n=Pr(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:e.STATUSLINE_COMMAND_DESCRIPTION,source:`statusline`,argumentHint:e.STATUSLINE_COMMAND_ARGUMENT_HINT,subcommands:(0,e.buildStatusLineCommandSubcommands)(`statusline`),modelInvocable:!1}}function Ir(){let e=Z();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:Fr}}var Lr=class{name=`statusline`;getCommands(){return[Z()]}};function Rr(){return{name:`agent-command-statusline`,commandSources:[new Lr],systemCommands:[Ir()]}}const zr=`Inspect Robota user-local storage and memory state.`,Br=`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 Vr(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 Hr(t,n){let r=await(0,e.listUserLocalMemoryItems)({activeRepositoryRoot:t});return{message:n.format===`json`?JSON.stringify(r,null,2):Vr(r.items),success:!0,data:{list:r}}}async function Ur(t,n){let[r,i,a]=n.positional,o=await(0,e.setUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``,value:a??``,summary:n.summary??``,source:n.source??``});return{message:`Stored user-local memory item ${o.category}/${o.key} at ${o.storageLocation}`,success:!0,data:{item:o}}}async function Wr(t,n){let[r,i]=n.positional,a=await(0,e.inspectUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``});return{message:n.format===`json`?JSON.stringify(a,null,2):`${a.category}/${a.key}: ${a.summary}`,success:!0,data:{item:a}}}async function Gr(t,n){let[r,i]=n.positional,a=await(0,e.disableUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``});return{message:`Disabled user-local memory item ${a.category}/${a.key}`,success:!0,data:{item:a}}}async function Kr(t,n){let[r,i]=n.positional,a=await(0,e.deleteUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``});return{message:`Deleted user-local memory item ${a.category}/${a.key}`,success:!0,data:{result:a}}}async function qr(e,t){return(t.action??`list`)===`list`?Hr(e,t):t.action===`set`?Ur(e,t):t.action===`inspect`?Wr(e,t):t.action===`disable`?Gr(e,t):t.action===`delete`?Kr(e,t):{message:Q,success:!1}}function Jr(e){if(e===void 0||e===`text`)return`text`;if(e===`json`)return`json`;throw Error(`Unsupported user-local output format: ${e}`)}function Yr(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 Xr(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=Yr(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:Jr(n),summary:r,source:i}}function Zr(e){return e.trim().split(/\s+/).filter(Boolean)}function Qr(e,t){let n=t.map(e=>`- ${e.category}`);return[`User-local storage root: ${e}`,`Categories:`,...n].join(`
30
- `)}async function $r(t,n){if((n.action??`list`)!==`list`)return{message:Q,success:!1};let r=await(0,e.inspectUserLocalStorage)({activeRepositoryRoot:t});return{message:n.format===`json`?JSON.stringify(r,null,2):Qr(r.root,r.categories),success:!0,data:{root:r.root,categories:r.categories,inspection:r}}}async function ei(e,t){return t.target===`storage`?$r(e,t):t.target===`memory`?qr(e,t):{message:Q,success:!1}}function ti(e){return e.includes(`ENOENT`)?`User-local memory item not found.`:e}async function ni(e){try{return await ei(e.cwd,Xr(e.argv,{format:e.format,summary:e.summary,source:e.source}))}catch(e){return{message:ti(e instanceof Error?e.message:String(e)),success:!1}}}async function ri(e,t){try{return await ei(e.getCwd(),Xr(Zr(t)))}catch(e){return{message:ti(e instanceof Error?e.message:String(e)),success:!1}}}function ii(){return{name:`user-local`,description:zr,source:`user-local`,argumentHint:Br,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 ai(){let e=ii();return{name:e.name,description:e.description,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,safety:e.safety,subcommands:e.subcommands,execute:ri}}var oi=class{name=`user-local`;getCommands(){return[ii()]}};function si(){return{name:`agent-command-user-local`,commandSources:[new oi],systemCommands:[ai()]}}exports.AgentCommandSource=ve,exports.BackgroundCommandSource=Ce,exports.CLEAR_COMMAND_MESSAGE=cr,exports.CompactCommandSource=Oe,exports.ContextCommandSource=He,exports.ExitCommandSource=Ke,exports.HelpCommandSource=Xe,exports.LanguageCommandSource=et,exports.MemoryCommandSource=ft,exports.ModeCommandSource=gt,exports.ModelCommandSource=xt,exports.PermissionsCommandSource=Et,exports.PluginManagerCommandSource=Bt,exports.ProviderCommandSource=Vn,exports.RewindCommandSource=or,exports.SKILLS_COMMAND_DESCRIPTION=wr,exports.STATUSLINE_USAGE=Nr,exports.SessionCommandSource=yr,exports.SettingsCommandSource=Sr,exports.SkillsCommandSource=jr,exports.StatusLineCommandSource=Lr,exports.USER_LOCAL_COMMAND_ARGUMENT_HINT=Br,exports.USER_LOCAL_COMMAND_DESCRIPTION=zr,exports.USER_LOCAL_COMMAND_USAGE=Q,exports.UserLocalCommandSource=oi,exports.createAgentCommandEntry=u,exports.createAgentCommandModule=ye,exports.createAgentSystemCommand=_e,exports.createBackgroundCommandEntry=d,exports.createBackgroundCommandModule=we,exports.createClearCommandEntry=W,exports.createCompactCommandEntry=f,exports.createCompactCommandModule=ke,exports.createContextCommandEntry=_,exports.createContextCommandModule=Ue,exports.createCostCommandEntry=q,exports.createExitCommandEntry=v,exports.createExitCommandModule=qe,exports.createHelpCommandEntry=y,exports.createHelpCommandModule=Ze,exports.createLanguageCommandEntry=b,exports.createLanguageCommandModule=tt,exports.createMemoryCommandEntry=C,exports.createMemoryCommandModule=pt,exports.createModeCommandEntry=w,exports.createModeCommandModule=_t,exports.createModelCommandEntry=T,exports.createModelCommandModule=St,exports.createPermissionsCommandEntry=E,exports.createPermissionsCommandModule=Dt,exports.createPluginCommandEntry=A,exports.createPluginCommandModule=Vt,exports.createProviderCommandEntry=B,exports.createProviderCommandModule=Un,exports.createProviderSetupFlow=M,exports.createReloadPluginsCommandEntry=j,exports.createRenameCommandEntry=G,exports.createResetCommandEntry=V,exports.createResetCommandModule=qn,exports.createResumeCommandEntry=K,exports.createRewindCommandModule=sr,exports.createSessionCommandModule=br,exports.createSettingsCommandEntry=Y,exports.createSettingsCommandModule=Cr,exports.createSkillsCommandEntry=X,exports.createSkillsCommandModule=Mr,exports.createStatusLineCommandEntry=Z,exports.createStatusLineCommandModule=Rr,exports.createUserLocalCommandEntry=ii,exports.createUserLocalCommandModule=si,exports.createValidateSessionCommandEntry=J,exports.executeAgentCommand=pe,exports.executeBackgroundCommand=xe,exports.executeClearCommand=lr,exports.executeCompactCommand=Ee,exports.executeContextCommand=Me,exports.executeCostCommand=fr,exports.executeExitCommand=We,exports.executeHelpCommand=Je,exports.executeLanguageCommand=Qe,exports.executeMemoryCommand=ut,exports.executeModeCommand=mt,exports.executeModelCommand=yt,exports.executePermissionsCommand=wt,exports.executePluginCommand=It,exports.executeProviderCommand=Pn,exports.executeReloadPluginsCommand=Lt,exports.executeRenameCommand=ur,exports.executeResetCommand=Wn,exports.executeResumeCommand=dr,exports.executeRewindCommand=rr,exports.executeSkillsCommand=kr,exports.executeStatusLineCommand=Fr,exports.executeUserLocalCommand=ri,exports.executeUserLocalDirectCommand=ni,exports.executeValidateSessionCommand=pr,exports.formatProviderSetupChoiceLabel=F,exports.formatProviderSetupHelpLinks=I,exports.formatProviderSetupPromptLabel=Gt,exports.formatProviderSetupSelectionPrompt=Ht,exports.getProviderSetupStep=N,exports.resolveProviderSetupSelection=Ut,exports.runProviderSetupPromptFlow=Wt,exports.submitProviderSetupValue=P,exports.validateProviderSetupValue=L;
14
+ `),success:!0,data:{indexPath:t.indexPath,topicsPath:t.topicsPath,topicCount:t.topics.length}}}function ot(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 st(t){let n=t[1],r=t[2],i=t.slice(3).join(` `).trim();if(!(!n||!(0,e.isCommandMemoryType)(n)||!r||i.length===0))return{type:n,topic:r,text:i}}function ct(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(t,n){(0,e.recordCommandMemoryEvent)(t,n)}function lt(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 it(e instanceof Error?e:String(e))}}function ut(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 it(e instanceof Error?e:String(e))}}function dt(t){let n=(0,e.listCommandUsedMemoryReferences)(t);return{message:[`Used memory references:`,...n.length>0?n.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:n.length,references:[...n]}}}function ft(t,n){let r=n.trim().split(/\s+/).filter(Boolean),i=r[0]??`list`,a=(0,e.createCommandMemoryStores)(t);if(i===`list`)return at(a.project);if(i===`show`)return ot(a.project,r[1]);if(i===`pending`)return ct(a.pending);if(i===`approve`)return lt(t,a.pending,a.project,r[1]);if(i===`reject`)return ut(t,a.pending,r[1]);if(i===`used`)return dt(t);if(i===`add`){let t=st(r);if(!t)return S();if((0,e.hasSensitiveCommandMemoryContent)(t.text))return{message:`Refusing to save sensitive memory content.`,success:!1};let n=a.project.append(t);return{message:n.deduplicated?`${t.type} memory already exists in ${n.topicPath}`:`Saved ${t.type} memory to ${n.topicPath}`,success:!0,data:{indexPath:n.indexPath,topicPath:n.topicPath,topic:n.topic,deduplicated:n.deduplicated}}}return S()}function w(){return{name:`memory`,displayName:`Memory`,description:e.MEMORY_COMMAND_DESCRIPTION,source:`memory`,argumentHint:e.MEMORY_COMMAND_ARGUMENT_HINT,modelInvocable:!0,safety:`write`,subcommands:(0,e.buildMemoryCommandSubcommands)()}}function pt(){let e=w();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!0,argumentHint:e.argumentHint,safety:e.safety,subcommands:e.subcommands,execute:ft}}var mt=class{name=`memory`;getCommands(){return[w()]}};function ht(){return{name:`agent-command-memory`,commandSources:[new mt],systemCommands:[pt()]}}function gt(t,n){let r=(0,e.parsePermissionModeArgument)(n);if(r===void 0){let n=(0,e.readCommandPermissionMode)(t);return{message:`Current mode: ${n}`,success:!0,data:{mode:n}}}return(0,e.isPermissionMode)(r)?((0,e.writeCommandPermissionMode)(t,r),{message:`Permission mode set to: ${r}`,success:!0,data:{mode:r}}):{message:(0,e.formatInvalidPermissionModeMessage)(),success:!1}}function T(){return{name:`mode`,displayName:`Interaction Mode`,description:e.PERMISSION_MODE_COMMAND_DESCRIPTION,source:`mode`,argumentHint:e.PERMISSION_MODE_ARGUMENT_HINT,subcommands:(0,e.buildPermissionModeSubcommands)(`mode`),modelInvocable:!1}}function _t(){let e=T();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:gt}}var vt=class{name=`mode`;getCommands(){return[T()]}};function yt(){return{name:`agent-command-mode`,commandSources:[new vt],systemCommands:[_t()]}}function bt(e){let t=e.trim().split(/\s+/)[0];return t!==void 0&&t.length>0?t:void 0}async function xt(t,n,r){let i=bt(n);return i===void 0?{message:await(0,e.formatModelCommandUsageMessageAsync)({...r?.settings===void 0?{}:{settings:r.settings.readMergedSettings()},...r?.providerDefinitions===void 0?{}:{providerDefinitions:r.providerDefinitions},refresh:!0}),success:!1}:{message:`Model change requested: ${i}`,success:!0,data:{modelId:i},effects:[{type:`model-change-requested`,modelId:i}]}}function E(t){return{name:`model`,displayName:`Change Model`,description:e.MODEL_COMMAND_DESCRIPTION,source:`model`,argumentHint:e.MODEL_COMMAND_ARGUMENT_HINT,subcommands:Tt(t)}}function St(e){let t=E(e);return{name:t.name,displayName:t.displayName,description:t.description,requiresPermission:!0,userInvocable:!0,argumentHint:t.argumentHint,subcommands:t.subcommands,lifecycle:`inline`,execute:(t,n)=>xt(t,n,e)}}var Ct=class{options;name=`model`;constructor(e){this.options=e}getCommands(){return[E(this.options)]}};function wt(e){return{name:`agent-command-model`,commandSources:[new Ct(e)],systemCommands:[St(e)]}}function Tt(t){return t===void 0?(0,e.buildModelCommandSubcommands)(`model`):(0,e.buildModelCommandSubcommands)({source:`model`,providerDefinitions:t.providerDefinitions,settings:t.settings.readMergedSettings()})}function Et(t,n){let r=(0,e.parsePermissionModeArgument)(n);if(r!==void 0){if(!(0,e.isPermissionMode)(r))return{message:(0,e.formatInvalidPermissionModeMessage)(),success:!1};(0,e.writeCommandPermissionMode)(t,r);let n=(0,e.readCommandPermissionsState)(t);return{message:`Permission mode set to: ${r}\n${(0,e.formatCommandPermissionsMessage)(n)}`,success:!0,data:{mode:n.mode,sessionAllowed:n.sessionAllowed}}}let i=(0,e.readCommandPermissionsState)(t);return{message:(0,e.formatCommandPermissionsMessage)(i),success:!0,data:{mode:i.mode,sessionAllowed:i.sessionAllowed}}}function D(){return{name:`permissions`,displayName:`Permissions`,description:e.PERMISSIONS_COMMAND_DESCRIPTION,source:`permissions`,argumentHint:e.PERMISSION_MODE_ARGUMENT_HINT,subcommands:(0,e.buildPermissionModeSubcommands)(`permissions`),modelInvocable:!1}}function Dt(){let e=D();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!0,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:Et}}var Ot=class{name=`permissions`;getCommands(){return[D()]}};function kt(){return{name:`agent-command-permissions`,commandSources:[new Ot],systemCommands:[Dt()]}}function At(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 jt(t){return(0,e.resolvePluginCommandAdapter)(t)}async function k(e,t){let n=jt(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 Mt(e,t){let{subcommand:n,subArgs:r}=At(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 Nt(){return{success:!0,message:`Opening plugin manager...`,effects:[(0,e.createPluginTuiRequestedEffect)()]}}function Pt(e,t){return A(e,t,`Usage: /plugin install <name>@<marketplace>`,async(e,t)=>(await e.install(t),`Installed plugin: ${t}`))}function Ft(e,t){return A(e,t,`Usage: /plugin uninstall <name>@<marketplace>`,async(e,t)=>(await e.uninstall(t),`Uninstalled plugin: ${t}`))}function It(e,t){return A(e,t,`Usage: /plugin enable <name>@<marketplace>`,async(e,t)=>(await e.enable(t),`Enabled plugin: ${t}`))}function Lt(e,t){return A(e,t,`Usage: /plugin disable <name>@<marketplace>`,async(e,t)=>(await e.disable(t),`Disabled plugin: ${t}`))}async function Rt(e,t){let{subcommand:n,subArgs:r}=At(t);switch(n){case``:case`manage`:return Nt();case`install`:return Pt(e,r);case`uninstall`:return Ft(e,r);case`enable`:return It(e,r);case`disable`:return Lt(e,r);case`marketplace`:return Mt(e,r);default:return O(`Unknown plugin subcommand: ${n}`)}}async function zt(t,n){return k(t,async e=>{let t=await e.reloadPlugins();return`Reloaded ${t.loadedPluginCount===1?`1 plugin resource`:`${t.loadedPluginCount} plugin resources`}.`}).then(t=>t.success?{...t,effects:[(0,e.createPluginRegistryReloadRequestedEffect)()]}:t)}function j(){return{name:`plugin`,displayName:`Plugins`,description:e.PLUGIN_COMMAND_DESCRIPTION,source:`plugin-manager`,modelInvocable:!1,argumentHint:e.PLUGIN_COMMAND_ARGUMENT_HINT,subcommands:(0,e.buildPluginCommandSubcommands)()}}function M(){return{name:`reload-plugins`,displayName:`Reload Plugins`,description:e.RELOAD_PLUGINS_COMMAND_DESCRIPTION,source:`plugin-manager`,modelInvocable:!1}}function Bt(){let e=j();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,lifecycle:`inline`,subcommands:e.subcommands,execute:Rt}}function Vt(){let e=M();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:zt}}var Ht=class{name=`plugin-manager`;getCommands(){return[j(),M()]}};function Ut(){return{name:`agent-command-plugin`,commandSources:[new Ht],systemCommands:[Bt(),Vt()]}}function N(e,t,n={}){let r=Yt(e,t);return{type:e,steps:Qt(Xt(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 Wt(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 Gt(e,n){let r=e.trim(),i=r.length>0?r:`1`,a=Jt(i);if(a!==void 0){let e=n[a];if(e!==void 0)return e.type;throw Error(`Provider selection ${i} is out of range. Currently supported: ${(0,t.formatSupportedProviderTypes)(n)}`)}let o=(0,t.findProviderDefinition)(n,i);if(o===void 0)throw Error(`Unknown provider: ${i}. Currently supported: ${(0,t.formatSupportedProviderTypes)(n)}`);return o.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=R(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:$t(a)}}async function Kt(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(qt(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 qt(e,t=[]){let n=e.defaultValue===void 0?``:` (default: ${e.defaultValue})`,r=L(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 L(e=[]){return e.length===0?``:e.map(e=>` Setup help: ${Zt(e.kind)}: ${e.label} - ${e.url}`).join(`
19
+ `)}function Jt(e){if(/^\d+$/.test(e))return Number(e)-1}function R(e,t){if(e.required===!0&&t.length===0)return`Required`}function Yt(e,n){let r=(0,t.findProviderDefinition)(n,e);if(r===void 0)throw Error(`Unknown provider: ${e}. Currently supported: ${(0,t.formatSupportedProviderTypes)(n)}`);return r}function Xt(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 Zt(e){return e===`api-key`?`API key`:e===`console`?`Console`:`Official`}function Qt(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 $t(t){let n=t.profileName??(0,e.suggestProviderProfileName)({type:t.type},{existingProfileNames:t.existingProfileNames}),r=t.values.apiKey;return{profile:n,type:t.type,model:t.values.model,...r!==void 0&&r.length>0&&{apiKey:r},...t.values.baseURL!==void 0&&{baseURL:t.values.baseURL},setCurrent:t.setCurrent??!0}}const en={type:`session-restart-requested`,reason:`other`};function tn(e,t){return N(e,t.providerDefinitions,{existingProfileNames:Object.keys(t.settings.readMergedSettings().providers??{})})}function z(e,t){return{prompt:nn(e),submit:n=>an(e,n,t),cancel:()=>({message:`Provider setup cancelled.`,success:!0})}}function nn(e){let t=P(e),n=t.masked===!0&&t.defaultValue!==void 0?`(unchanged)`:t.defaultValue;return{kind:`text`,title:t.title,...rn(e),...n===void 0?{}:{placeholder:n},...t.defaultValue===void 0?{}:{allowEmpty:!0},...t.masked===void 0?{}:{masked:t.masked},validate:e=>R(t,e)}}function rn(e){let t=L(e.setupHelpLinks);return t.length>0?{description:t}:{}}function an(e,t,n){let r=F(e,t);return r.status===`error`?{message:r.message,success:!1,interaction:z(e,n)}:r.status===`complete`?on(r.input,n):{message:``,success:!0,interaction:z(r.state,n)}}function on(t,n){let r=n.settings.readTargetSettings(),i=(0,e.buildProviderSetupPatch)(t,{providerDefinitions:n.providerDefinitions});return n.settings.writeTargetSettings((0,e.mergeProviderPatch)(r,i)),{message:`Provider ${t.profile} configured. Restarting...`,success:!0,effects:[{...en,message:`Provider setup restart`}]}}const sn={type:`session-restart-requested`,reason:`other`};function cn(e,t,n){return`${e===n?`* `:``}${e}: ${t.type??`unknown`} ${t.model??`(no model)`}`}function ln(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:un(t,n)}:{message:`Provider profile "${t}" was not found.`,success:!1}:{message:`Usage: provider use <profile>`,success:!1}}function un(t,n){return{prompt:{kind:`choice`,title:`Change provider to ${t}? This will restart the session.`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]},submit:r=>{if(r!==`yes`)return{message:`Provider change cancelled.`,success:!0};let i=n.settings.readMergedSettings(),a=n.settings.readTargetSettings(),o=a.providers?.[t]!==void 0||i.providers?.[t]!==void 0?{...a,currentProvider:t}:(0,e.setCurrentProvider)(a,t);return n.settings.writeTargetSettings(o),{message:`Provider changed to ${t}. Restarting...`,success:!0,effects:[{...sn,message:`Provider change restart`}]}},cancel:()=>({message:`Provider change cancelled.`,success:!0})}}function dn(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:fn(n)});return{message:`Provider edit requested: ${e}`,success:!0,interaction:pn(r,e,t)}}catch(e){return{message:e instanceof Error?e.message:String(e),success:!1}}}function fn(e){return{...typeof e.model==`string`?{model:e.model}:{},...typeof e.apiKey==`string`?{apiKey:e.apiKey}:{},...typeof e.baseURL==`string`?{baseURL:e.baseURL}:{}}}function pn(e,t,n){return{prompt:nn(e),submit:r=>mn(e,t,r,n),cancel:()=>({message:`Provider edit cancelled.`,success:!0})}}function mn(e,t,n,r){let i=F(e,n);return i.status===`error`?{message:i.message,success:!1,interaction:pn(e,t,r)}:i.status===`complete`?hn(i.input,t,r):{message:``,success:!0,interaction:pn(i.state,t,r)}}function hn(t,n,r){let i=r.settings.readMergedSettings(),a=i.providers?.[n];if(!a)return{message:`Provider profile "${n}" was not found.`,success:!1};let o=r.settings.readTargetSettings(),s=(0,e.buildProviderSetupPatch)(t,{providerDefinitions:r.providerDefinitions}).providers[n];if(!s)return{message:`Provider profile "${n}" was not updated.`,success:!1};r.settings.writeTargetSettings((0,e.upsertProviderProfile)(o,n,{...a,...s}));let c=i.currentProvider===n;return{message:c?`Provider ${n} updated. Restarting...`:`Provider ${n} updated.`,success:!0,...c?{effects:[{...sn,message:`Provider edit restart`}]}:{}}}const gn={type:`session-restart-requested`,reason:`other`};function _n(e,t){let n=t.settings.readMergedSettings();if(!n.providers?.[e])return{message:`Provider profile "${e}" was not found.`,success:!1};let r=Tn(e,Object.keys(n.providers));return{message:`Provider duplicate requested: ${e}`,success:!0,interaction:vn(e,r,t)}}function vn(e,t,n){return{prompt:{kind:`text`,title:`Duplicate ${e} as`,placeholder:t,allowEmpty:!0,validate:e=>yn(e,t,n)},submit:r=>bn(e,r,t,n),cancel:()=>({message:`Provider duplicate cancelled.`,success:!0})}}function yn(e,t,n){let r=En(e,t);if(r.length===0)return`Required`;if(n.settings.readMergedSettings().providers?.[r]!==void 0)return`Provider profile "${r}" already exists`}function bn(t,n,r,i){let a=i.settings.readMergedSettings().providers?.[t];if(!a)return{message:`Provider profile "${t}" was not found.`,success:!1};let o=En(n,r),s=yn(o,r,i);return s===void 0?(i.settings.writeTargetSettings((0,e.upsertProviderProfile)(i.settings.readTargetSettings(),o,{...a})),{message:`Provider profile duplicated: ${t} -> ${o}.`,success:!0}):{message:s,success:!1}}function xn(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:Sn(e,t)}:{message:`Provider profile "${e}" was not found.`,success:!1}}function Sn(e,t){return{prompt:{kind:`choice`,title:`Delete provider profile ${e}?`,options:[{value:`yes`,label:`Yes`},{value:`no`,label:`No`}]},submit:n=>n===`yes`?Cn(e,t):{message:`Provider delete cancelled.`,success:!0},cancel:()=>({message:`Provider delete cancelled.`,success:!0})}}function Cn(t,n){let r=n.settings.readMergedSettings();if(r.currentProvider!==t)return n.settings.writeTargetSettings((0,e.deleteProviderProfile)(n.settings.readTargetSettings(),t)),{message:`Provider profile deleted: ${t}.`,success:!0};let i=Object.entries(r.providers??{}).filter(([e])=>e!==t).map(([e,t])=>({value:e,label:cn(e,t,r.currentProvider)}));return{message:`Select a replacement provider before deleting ${t}.`,success:!0,interaction:{prompt:{kind:`choice`,title:`Replacement provider for ${t}`,options:i,maxVisible:8},submit:e=>wn(t,e,n),cancel:()=>({message:`Provider delete cancelled.`,success:!0})}}}function wn(t,n,r){if(r.settings.readMergedSettings().providers?.[n]===void 0||n===t)return{message:`Provider profile "${n}" was not found.`,success:!1};let i=(0,e.deleteProviderProfile)(r.settings.readTargetSettings(),t);return r.settings.writeTargetSettings({...i,currentProvider:n}),{message:`Provider profile deleted: ${t}. Restarting with ${n}...`,success:!0,effects:[{...gn,message:`Provider delete restart`}]}}function Tn(t,n){let r=(0,e.sanitizeProviderProfileName)(`${t}-copy`)??`provider-copy`;if(!n.includes(r))return r;for(let e=2;e<1e3;e+=1){let t=`${r}-${e}`;if(!n.includes(t))return t}return`${r}-${Date.now()}`}function En(t,n){return(0,e.sanitizeProviderProfileName)(t.trim()||n)??``}const Dn=`switch`,On=`edit`,kn=`test`,An=`duplicate`,jn=`delete`,Mn=`cancel`;function Nn(e,t,n){return{prompt:{kind:`choice`,title:`Select provider profile`,options:Object.entries(t??{}).map(([t,n])=>({value:t,label:cn(t,n,e)})),maxVisible:8},submit:e=>Pn(e,n),cancel:()=>({message:`Provider profile selection cancelled.`,success:!0})}}function Pn(e,t){return t.settings.readMergedSettings().providers?.[e]?{message:`Provider profile selected: ${e}`,success:!0,interaction:Fn(e,t)}:{message:`Provider profile "${e}" was not found.`,success:!1}}function Fn(e,t){return{prompt:{kind:`choice`,title:`Provider profile: ${e}`,options:[{value:Dn,label:`Switch`},{value:On,label:`Edit`},{value:kn,label:`Test`},{value:An,label:`Duplicate`},{value:jn,label:`Delete`},{value:Mn,label:`Cancel`}]},submit:n=>In(e,n,t),cancel:()=>({message:`Provider profile action cancelled.`,success:!0})}}async function In(t,n,r){let i=r.settings.readMergedSettings();switch(n){case Dn:return ln(i.providers,t,r);case On:return dn(t,r);case kn:return await(0,e.testProviderProfileCommand)(i.currentProvider,i.providers,t,r);case An:return _n(t,r);case jn:return xn(t,r);case Mn:return{message:`Provider profile action cancelled.`,success:!0};default:return{message:`Unknown provider profile action "${n}".`,success:!1}}}async function Ln(t,n){let r=n.settings.readMergedSettings(),i=t.trim();if(i.length===0)return Rn(r.currentProvider,r.providers,n);let[a=`current`,o]=i.split(/\s+/);return a===`list`?Rn(r.currentProvider,r.providers,n):a===`current`||a===``?{message:Bn(r.currentProvider,r.providers),success:!0}:a===`use`?ln(r.providers,o,n):a===`test`?await(0,e.testProviderProfileCommand)(r.currentProvider,r.providers,o,n):a===`add`?Vn(o,n):{message:`Usage: provider [current|list|use <profile>|add <type>|test [profile]]`,success:!1}}function Rn(e,t,n){let r=zn(e,t);return Object.keys(t??{}).length===0?{message:r,success:!0}:{message:r,success:!0,interaction:Nn(e,t,n)}}function zn(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 Bn(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 Vn(e,n){return e===void 0||e.length===0?{message:`Provider setup requested. Select a provider to continue.`,success:!0,interaction:Hn(n)}:(0,t.findProviderDefinition)(n.providerDefinitions,e)===void 0?{message:`Usage: provider add <type>. Supported: ${(0,t.formatSupportedProviderTypes)(n.providerDefinitions)}`,success:!1}:{message:`Provider setup requested: ${e}`,success:!0,interaction:z(tn(e,n),n)}}function Hn(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=tn(t,e);return{message:`Provider setup requested: ${t}`,success:!0,interaction:z(n,e)}},cancel:()=>({message:`Provider setup cancelled.`,success:!0})}}function Un(){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`,displayName:`Provider Setup`,description:`Manage provider profiles`,source:`provider`,modelInvocable:!1,argumentHint:`current | list | use <profile> | add [type] | test [profile]`,subcommands:Un()}}var Wn=class{name=`provider`;getCommands(){return[B()]}};function Gn(e){let t=B();return{name:t.name,displayName:t.displayName,description:t.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,argumentHint:t.argumentHint,subcommands:t.subcommands,execute:async(t,n)=>Ln(n,e)}}function Kn(e){return{name:`agent-command-provider`,commandSources:[new Wn],systemCommands:[Gn(e)]}}async function qn(t,n,r,i,a){let o=Gt(await r(Wt(a)),a),s=(0,e.resolveSettingsPathForScope)(t,n.settingsScope);(0,e.applyProviderConfiguration)(s,await Kt(o,r,a,{existingProfileNames:Object.keys((0,e.readMergedProviderSettings)(t).providers??{})}),{providerDefinitions:a});let c=await r(` Response language (ko/en/ja/zh, default: en): `);if(c){let t=(0,e.readSettings)(s);t.language=c,(0,e.writeSettings)(s,t)}i.writeLine(`\n Config saved to ${s}\n`)}async function Jn(t,n,r,i,a,o){let s=(0,e.readMergedProviderSettings)(t);if((0,e.checkSettingsDocument)(n.provider===void 0?s:{...s,currentProvider:n.provider},a)===`valid`)return;if(!(o.isInteractive??(()=>!1))())throw Error(o.formatError(a));await qn(t,Yn(t,n),r,i,a);let c=(0,e.readMergedProviderSettings)(t);if((0,e.checkSettingsDocument)(n.provider===void 0?c:{...c,currentProvider:n.provider},a)!==`valid`)throw Error(o.formatError(a))}function Yn(t,r){if(r.settingsScope!==void 0||r.provider!==void 0)return r;let i=Xn((0,e.getProviderSettingsPaths)(t));if(i===void 0)return r;let a=(0,n.join)(t,`.robota`,`settings.json`),o=(0,n.join)(t,`.robota`,`settings.local.json`);return i===a||i===o?{...r,settingsScope:`project-local`}:r}function Xn(t){for(let n=t.length-1;n>=0;--n){let r=t[n];if(r!==void 0&&typeof(0,e.readSettings)(r).currentProvider==`string`)return r}}function Zn(e,t){return{success:!0,message:`Reset requested.`,data:{resetRequested:!0},effects:[{type:`settings-reset-requested`}]}}function V(){return{name:`reset`,displayName:`Reset Settings`,description:`Delete settings`,source:`reset`,modelInvocable:!1}}function Qn(){let e=V();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!0,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:Zn}}var $n=class{name=`reset`;getCommands(){return[V()]}};function er(){return{name:`agent-command-reset`,commandSources:[new $n],systemCommands:[Qn()]}}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 tr(e){let t=e.replace(/\s+/g,` `).trim();return t.length<=120?t:`${t.slice(0,117)}...`}function nr(e){return{message:[`Edit checkpoints:`,...e.length>0?e.map(e=>`- ${e.id} files=${e.fileCount} ${e.createdAt} ${tr(e.prompt)}`):[`(no edit checkpoints)`]].join(`
22
+ `),success:!0,data:{count:e.length,checkpoints:[...e]}}}function rr(e){return e.length>0?e.join(`, `):`(none)`}function ir(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: ${tr(e.target.prompt)}`,`Captured files:`,...t,`Restore later checkpoints: files=${e.restoreToCheckpoint.fileCount} checkpoints=${rr(e.restoreToCheckpoint.checkpointIds)}`,`Rollback through checkpoint: files=${e.rollbackThroughCheckpoint.fileCount} checkpoints=${rr(e.rollbackThroughCheckpoint.checkpointIds)}`].join(`
23
+ `),success:!0,data:{inspection:e}}}function ar(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 or(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 sr(t,n){if(!n)return H();try{return ir((0,e.inspectCommandEditCheckpoint)(t,n))}catch(e){return U(e instanceof Error?e:String(e))}}async function cr(t,n){if(!n)return H();try{return ar(await(0,e.restoreCommandEditCheckpoint)(t,n))}catch(e){return U(e instanceof Error?e:String(e))}}async function lr(t,n){if(!n)return H();try{return or(await(0,e.rollbackCommandEditCheckpoint)(t,n))}catch(e){return U(e instanceof Error?e:String(e))}}async function ur(t,n){let r=n.trim().split(/\s+/).filter(Boolean),i=r[0]??`list`;return i===`list`?nr((0,e.listCommandEditCheckpoints)(t)):i===`inspect`?sr(t,r[1]):i===`restore`||i===`code`?cr(t,r[1]):i===`rollback`?lr(t,r[1]):H()}function dr(){return{name:`rewind`,displayName:`Rewind History`,description:e.REWIND_COMMAND_DESCRIPTION,source:`rewind`,argumentHint:e.REWIND_COMMAND_ARGUMENT_HINT,modelInvocable:!1,safety:`write`,subcommands:(0,e.buildRewindCommandSubcommands)()}}function fr(){let e=dr();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,argumentHint:e.argumentHint,userInvocable:!0,modelInvocable:!1,safety:`write`,subcommands:e.subcommands,execute:ur}}var pr=class{name=`rewind`;getCommands(){return[dr()]}};function mr(){return{name:`agent-command-rewind`,commandSources:[new pr],systemCommands:[fr()]}}const hr=`Conversation cleared.`;function gr(t,n){return(0,e.clearConversationHistory)(t),{success:!0,message:hr,effects:[{type:`conversation-history-cleared`}]}}function _r(t,n){let r=(0,e.parseSessionNameArgument)(n);return r===void 0?{success:!1,message:e.RENAME_COMMAND_USAGE}:{success:!0,message:`Session renamed to "${r}".`,data:{name:r},effects:[(0,e.createSessionRenamedEffect)(r)]}}function vr(t,n){return{success:!0,message:`Opening session picker...`,data:{triggerResumePicker:!0},effects:[(0,e.createSessionPickerRequestedEffect)()]}}function yr(t,n){let r=(0,e.readCommandSessionInfo)(t);return{success:!0,message:`Session: ${r.sessionId}\nMessages: ${r.messageCount}`,data:{sessionId:r.sessionId,messageCount:r.messageCount}}}function br(t,n){let r=(0,e.validateCommandSessionReplayLog)(t);return{success:r.validation.ok,message:(0,e.formatCommandSessionReplayValidationReport)(r),data:{logFile:r.logFile,entryCount:r.entryCount,issueCount:r.validation.issues.length,ok:r.validation.ok}}}function W(){return{name:`clear`,displayName:`Clear History`,description:e.CLEAR_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function G(){return{name:`rename`,displayName:`Rename Session`,description:e.RENAME_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function K(){return{name:`resume`,displayName:`Resume Session`,description:e.RESUME_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function q(){return{name:`cost`,displayName:`Session Cost`,description:e.COST_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function J(){return{name:`validate-session`,displayName:`Validate Session`,description:e.VALIDATE_SESSION_COMMAND_DESCRIPTION,source:`session`,modelInvocable:!1}}function xr(){let e=W();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:gr}}function Sr(){let e=G();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:_r}}function Cr(){let e=K();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:vr}}function wr(){let e=q();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:yr}}function Tr(){let e=J();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:br}}var Er=class{name=`session`;getCommands(){return[W(),G(),K(),q(),J()]}};function Dr(){return{name:`agent-command-session`,commandSources:[new Er],systemCommands:[xr(),Sr(),Cr(),wr(),Tr()]}}function Y(){return{name:`settings`,displayName:`Settings`,description:`Open transport settings — enable/disable transports and configure options`,source:`settings`,modelInvocable:!1}}function Or(){let e=Y();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,lifecycle:`inline`,execute:async()=>({success:!0,message:`Opening settings...`,effects:[{type:`settings-tui-requested`}]})}}var kr=class{name=`settings`;getCommands(){return[Y()]}};function Ar(){return{name:`agent-command-settings`,commandSources:[new kr],systemCommands:[Or()]}}const jr=`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 Mr(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 Nr(e){let t=e.argumentHint?` ${e.argumentHint}`:``;return`- ${e.name}${t}: ${e.description}${Mr(e)}`}function Pr(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(Nr),``,`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 Fr(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 Ir(e,t=``){let n=Fr(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:Pr(r),data:{skills:r,activationContract:{activateWith:`/skills <skill-name> [args]`,activationRequiredBeforeWorkflow:!0,metadataIsNotSkillContent:!0}}}}function X(){return{name:`skills`,displayName:`Skills`,description:jr,source:`skills`,modelInvocable:!0,userInvocable:!0,argumentHint:`[list | <skill-name> [args]]`,safety:`read-only`}}function Lr(){let e=X();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!0,argumentHint:e.argumentHint,safety:e.safety,lifecycle:`inline`,execute:Ir}}var Rr=class{name=`skills`;getCommands(){return[X()]}};function zr(t){let n=[new Rr];return n.push(new e.SkillCommandSource(t.cwd)),{name:`agent-command-skills`,commandSources:n,systemCommands:[Lr()]}}const Br=[`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 Vr(t){let n=t.trim().toLowerCase().split(/\s+/).filter(e=>e.length>0),[r,i]=n;return r===`on`&&i===void 0?{success:!0,message:`Status line enabled.`,patch:{enabled:!0}}:r===`off`&&i===void 0?{success:!0,message:`Status line disabled.`,patch:{enabled:!1}}:r===`reset`&&i===void 0?{success:!0,message:`Status line settings reset.`,patch:{...e.DEFAULT_STATUS_LINE_COMMAND_SETTINGS}}:r===`git`&&i===`on`&&n.length===2?{success:!0,message:`Status line git branch shown.`,patch:{gitBranch:!0}}:r===`git`&&i===`off`&&n.length===2?{success:!0,message:`Status line git branch hidden.`,patch:{gitBranch:!1}}:{success:!1,message:Br}}function Hr(e,t){let n=Vr(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`,displayName:`Status Line`,description:e.STATUSLINE_COMMAND_DESCRIPTION,source:`statusline`,argumentHint:e.STATUSLINE_COMMAND_ARGUMENT_HINT,subcommands:(0,e.buildStatusLineCommandSubcommands)(`statusline`),modelInvocable:!1}}function Ur(){let e=Z();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,subcommands:e.subcommands,lifecycle:`inline`,execute:Hr}}var Wr=class{name=`statusline`;getCommands(){return[Z()]}};function Gr(){return{name:`agent-command-statusline`,commandSources:[new Wr],systemCommands:[Ur()]}}const Kr=`Inspect Robota user-local storage and memory state.`,qr=`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 Jr(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 Yr(t,n){let r=await(0,e.listUserLocalMemoryItems)({activeRepositoryRoot:t});return{message:n.format===`json`?JSON.stringify(r,null,2):Jr(r.items),success:!0,data:{list:r}}}async function Xr(t,n){let[r,i,a]=n.positional,o=await(0,e.setUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``,value:a??``,summary:n.summary??``,source:n.source??``});return{message:`Stored user-local memory item ${o.category}/${o.key} at ${o.storageLocation}`,success:!0,data:{item:o}}}async function Zr(t,n){let[r,i]=n.positional,a=await(0,e.inspectUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``});return{message:n.format===`json`?JSON.stringify(a,null,2):`${a.category}/${a.key}: ${a.summary}`,success:!0,data:{item:a}}}async function Qr(t,n){let[r,i]=n.positional,a=await(0,e.disableUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``});return{message:`Disabled user-local memory item ${a.category}/${a.key}`,success:!0,data:{item:a}}}async function $r(t,n){let[r,i]=n.positional,a=await(0,e.deleteUserLocalMemoryItem)({activeRepositoryRoot:t,category:$(r),key:i??``});return{message:`Deleted user-local memory item ${a.category}/${a.key}`,success:!0,data:{result:a}}}async function ei(e,t){return(t.action??`list`)===`list`?Yr(e,t):t.action===`set`?Xr(e,t):t.action===`inspect`?Zr(e,t):t.action===`disable`?Qr(e,t):t.action===`delete`?$r(e,t):{message:Q,success:!1}}function ti(e){if(e===void 0||e===`text`)return`text`;if(e===`json`)return`json`;throw Error(`Unsupported user-local output format: ${e}`)}function ni(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 ri(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=ni(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:ti(n),summary:r,source:i}}function ii(e){return e.trim().split(/\s+/).filter(Boolean)}function ai(e,t){let n=t.map(e=>`- ${e.category}`);return[`User-local storage root: ${e}`,`Categories:`,...n].join(`
30
+ `)}async function oi(t,n){if((n.action??`list`)!==`list`)return{message:Q,success:!1};let r=await(0,e.inspectUserLocalStorage)({activeRepositoryRoot:t});return{message:n.format===`json`?JSON.stringify(r,null,2):ai(r.root,r.categories),success:!0,data:{root:r.root,categories:r.categories,inspection:r}}}async function si(e,t){return t.target===`storage`?oi(e,t):t.target===`memory`?ei(e,t):{message:Q,success:!1}}function ci(e){return e.includes(`ENOENT`)?`User-local memory item not found.`:e}async function li(e){try{return await si(e.cwd,ri(e.argv,{format:e.format,summary:e.summary,source:e.source}))}catch(e){return{message:ci(e instanceof Error?e.message:String(e)),success:!1}}}async function ui(e,t){try{return await si(e.getCwd(),ri(ii(t)))}catch(e){return{message:ci(e instanceof Error?e.message:String(e)),success:!1}}}function di(){return{name:`user-local`,displayName:`User Config`,description:Kr,source:`user-local`,argumentHint:qr,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 fi(){let e=di();return{name:e.name,displayName:e.displayName,description:e.description,requiresPermission:!1,userInvocable:!0,modelInvocable:!1,argumentHint:e.argumentHint,safety:e.safety,subcommands:e.subcommands,execute:ui}}var pi=class{name=`user-local`;getCommands(){return[di()]}};function mi(){return{name:`agent-command-user-local`,commandSources:[new pi],systemCommands:[fi()]}}function hi({cwd:e,providerDefinitions:t,providerSettingsAdapter:n}){return[zr({cwd:e}),$e(),xe(),wt({providerDefinitions:t,settings:{readMergedSettings:()=>n.readMergedSettings()}}),kt(),yt(),rt(),Ee(),ht(),mi(),je(),Ge(),Ye(),Dr(),er(),mr(),Gr(),Ut(),Ar(),Kn({providerDefinitions:t,settings:n})]}function gi(t){let a=(0,i.homedir)(),o=(0,n.join)(a,`.robota`,`plugins`),s=(0,n.join)(a,`.robota`,`settings.json`),c=(e,t)=>(0,r.execSync)(e,{timeout:t.timeout,stdio:t.stdio??`pipe`}),l=new e.PluginSettingsStore(s),u=new e.MarketplaceClient({pluginsDir:o,exec:c});return{cwd:t,marketplace:u,installer:new e.BundlePluginInstaller({pluginsDir:o,settingsStore:l,marketplaceClient:u,exec:c}),loader:new e.BundlePluginLoader(o),settingsStore:l}}async function _i(e){let t=await e.loader.loadAll(),n=e.settingsStore.getEnabledPlugins();return t.map(e=>{let t=e.pluginDir.split(`/`),r=t.indexOf(`cache`),i=r>=0?t[r+1]??``:``,a=i?`${e.manifest.name}@${i}`:e.manifest.name;return{name:a,description:e.manifest.description,enabled:n[a]!==!1&&n[e.manifest.name]!==!1}})}async function vi(e,t){let n;try{n=e.marketplace.fetchManifest(t)}catch{return[]}let r=e.installer.getInstalledPlugins(),i=new Set(Object.values(r).map(e=>e.pluginName));return n.plugins.map(e=>({name:e.name,description:e.description,installed:i.has(e.name)}))}async function yi(t,i,a){let[o,s]=i.split(`@`);if(!o||!s)throw Error(`Plugin ID must be in format: name@marketplace`);if(a===`project`){let i=(0,n.join)(t.cwd,`.robota`,`plugins`);await new e.BundlePluginInstaller({pluginsDir:i,settingsStore:t.settingsStore,marketplaceClient:t.marketplace,exec:(e,t)=>(0,r.execSync)(e,{timeout:t.timeout,stdio:t.stdio??`pipe`})}).install(o,s);return}await t.installer.install(o,s)}async function bi(e,t){let n=e.installer.getPluginsByMarketplace(t);for(let t of n)await e.installer.uninstall(`${t.pluginName}@${t.marketplace}`);e.marketplace.removeMarketplace(t)}function xi(e){return e.marketplace.listMarketplaces().map(e=>({name:e.name,type:e.source.type}))}function Si(e){let t=gi(e);return{listInstalled:()=>_i(t),listAvailablePlugins:e=>vi(t,e),install:(e,n)=>yi(t,e,n),uninstall:async e=>t.installer.uninstall(e),enable:async e=>t.installer.enable(e),disable:async e=>t.installer.disable(e),marketplaceAdd:async e=>e.includes(`/`)&&!e.includes(`:`)?t.marketplace.addMarketplace({type:`github`,repo:e}):t.marketplace.addMarketplace({type:`git`,url:e}),marketplaceRemove:e=>bi(t,e),marketplaceUpdate:async e=>t.marketplace.updateMarketplace(e),marketplaceList:async()=>xi(t),reloadPlugins:async()=>({loadedPluginCount:(await t.loader.loadAll()).length})}}const Ci=`plugin`;function wi(){return process.env.HOME??(0,i.homedir)()}function Ti(t){let r=new e.BundlePluginLoader((0,n.join)(wi(),`.robota`,`plugins`));try{let n=r.loadPluginsSync();return n.length===0?(t.replaceSource(Ci),0):(t.replaceSource(Ci,new e.PluginCommandSource(n)),n.length)}catch{return t.replaceSource(Ci),0}}exports.AgentCommandSource=be,exports.BackgroundCommandSource=Te,exports.CLEAR_COMMAND_MESSAGE=hr,exports.CompactCommandSource=Ae,exports.ContextCommandSource=We,exports.ExitCommandSource=Je,exports.HelpCommandSource=Qe,exports.LanguageCommandSource=nt,exports.MemoryCommandSource=mt,exports.ModeCommandSource=vt,exports.ModelCommandSource=Ct,exports.PermissionsCommandSource=Ot,exports.PluginManagerCommandSource=Ht,exports.ProviderCommandSource=Wn,exports.RewindCommandSource=pr,exports.SKILLS_COMMAND_DESCRIPTION=jr,exports.STATUSLINE_USAGE=Br,exports.SessionCommandSource=Er,exports.SettingsCommandSource=kr,exports.SkillsCommandSource=Rr,exports.StatusLineCommandSource=Wr,exports.USER_LOCAL_COMMAND_ARGUMENT_HINT=qr,exports.USER_LOCAL_COMMAND_DESCRIPTION=Kr,exports.USER_LOCAL_COMMAND_USAGE=Q,exports.UserLocalCommandSource=pi,exports.createAgentCommandEntry=ve,exports.createAgentCommandModule=xe,exports.createAgentSystemCommand=ye,exports.createBackgroundCommandEntry=f,exports.createBackgroundCommandModule=Ee,exports.createClearCommandEntry=W,exports.createCompactCommandEntry=p,exports.createCompactCommandModule=je,exports.createContextCommandEntry=v,exports.createContextCommandModule=Ge,exports.createCostCommandEntry=q,exports.createDefaultCommandModules=hi,exports.createDefaultPluginCommandAdapter=Si,exports.createExitCommandEntry=y,exports.createExitCommandModule=Ye,exports.createHelpCommandEntry=b,exports.createHelpCommandModule=$e,exports.createLanguageCommandEntry=x,exports.createLanguageCommandModule=rt,exports.createMemoryCommandEntry=w,exports.createMemoryCommandModule=ht,exports.createModeCommandEntry=T,exports.createModeCommandModule=yt,exports.createModelCommandEntry=E,exports.createModelCommandModule=wt,exports.createPermissionsCommandEntry=D,exports.createPermissionsCommandModule=kt,exports.createPluginCommandEntry=j,exports.createPluginCommandModule=Ut,exports.createProviderCommandEntry=B,exports.createProviderCommandModule=Kn,exports.createProviderSetupFlow=N,exports.createReloadPluginsCommandEntry=M,exports.createRenameCommandEntry=G,exports.createResetCommandEntry=V,exports.createResetCommandModule=er,exports.createResumeCommandEntry=K,exports.createRewindCommandModule=mr,exports.createSessionCommandModule=Dr,exports.createSettingsCommandEntry=Y,exports.createSettingsCommandModule=Ar,exports.createSkillsCommandEntry=X,exports.createSkillsCommandModule=zr,exports.createStatusLineCommandEntry=Z,exports.createStatusLineCommandModule=Gr,exports.createUserLocalCommandEntry=di,exports.createUserLocalCommandModule=mi,exports.createValidateSessionCommandEntry=J,exports.ensureProviderConfig=Jn,exports.executeAgentCommand=me,exports.executeBackgroundCommand=Ce,exports.executeClearCommand=gr,exports.executeCompactCommand=Oe,exports.executeContextCommand=Pe,exports.executeCostCommand=yr,exports.executeExitCommand=Ke,exports.executeHelpCommand=Xe,exports.executeLanguageCommand=et,exports.executeMemoryCommand=ft,exports.executeModeCommand=gt,exports.executeModelCommand=xt,exports.executePermissionsCommand=Et,exports.executePluginCommand=Rt,exports.executeProviderCommand=Ln,exports.executeReloadPluginsCommand=zt,exports.executeRenameCommand=_r,exports.executeResetCommand=Zn,exports.executeResumeCommand=vr,exports.executeRewindCommand=ur,exports.executeSkillsCommand=Ir,exports.executeStatusLineCommand=Hr,exports.executeUserLocalCommand=ui,exports.executeUserLocalDirectCommand=li,exports.executeValidateSessionCommand=br,exports.formatProviderSetupChoiceLabel=I,exports.formatProviderSetupHelpLinks=L,exports.formatProviderSetupPromptLabel=qt,exports.formatProviderSetupSelectionPrompt=Wt,exports.getProviderSetupStep=P,exports.reloadPluginCommandSource=Ti,exports.resolveProviderSetupSelection=Gt,exports.runProviderSetupPromptFlow=Kt,exports.runProviderStartupSetup=qn,exports.submitProviderSetupValue=F,exports.validateProviderSetupValue=R;
@@ -1,5 +1,5 @@
1
- import { IAgentJobHostContext, ICommand, ICommandHostContext, ICommandModule, ICommandResult, ICommandSource, IModelCommandModuleOptions, IProviderCommandModuleOptions, IProviderCommandModuleOptions as IProviderCommandModuleOptions$1, IProviderCommandModuleOptions as IProviderCommandModuleOptions$2, IProviderCommandSettingsAdapter, IProviderSetupInput, ISystemCommand } from "@robota-sdk/agent-framework";
2
- import { IProviderDefinition, IProviderSetupHelpLink, IProviderSetupStepDefinition, TProviderSetupField } from "@robota-sdk/agent-core";
1
+ import { CommandRegistry, IAgentJobHostContext, ICommand, ICommandHostContext, ICommandModule, ICommandPluginAdapter, ICommandResult, ICommandSource, IModelCommandModuleOptions, IProviderCommandModuleOptions, IProviderCommandModuleOptions as IProviderCommandModuleOptions$1, IProviderCommandModuleOptions as IProviderCommandModuleOptions$2, IProviderCommandSettingsAdapter, IProviderCommandSettingsAdapter as IProviderCommandSettingsAdapter$1, IProviderSetupInput, ISystemCommand, TSettingsScope } from "@robota-sdk/agent-framework";
2
+ import { IProviderDefinition, IProviderSetupHelpLink, IProviderSetupStepDefinition, ITerminalOutput, TProviderSetupField } from "@robota-sdk/agent-core";
3
3
 
4
4
  //#region src/agent/agent-command-module.d.ts
5
5
  declare function createAgentCommandEntry(): ICommand;
@@ -13,6 +13,18 @@ declare function createAgentCommandModule(): ICommandModule;
13
13
  //#region src/agent/agent-command.d.ts
14
14
  declare function executeAgentCommand(session: IAgentJobHostContext, args: string): Promise<ICommandResult>;
15
15
  //#endregion
16
+ //#region src/default/default-command-modules.d.ts
17
+ interface IDefaultCommandModulesOptions {
18
+ cwd: string;
19
+ providerDefinitions: readonly IProviderDefinition[];
20
+ providerSettingsAdapter: IProviderCommandSettingsAdapter$1;
21
+ }
22
+ declare function createDefaultCommandModules({
23
+ cwd,
24
+ providerDefinitions,
25
+ providerSettingsAdapter
26
+ }: IDefaultCommandModulesOptions): readonly ICommandModule[];
27
+ //#endregion
16
28
  //#region src/background/background-command-module.d.ts
17
29
  declare function createBackgroundCommandEntry(): ICommand;
18
30
  declare class BackgroundCommandSource implements ICommandSource {
@@ -193,6 +205,18 @@ declare function formatProviderSetupChoiceLabel(definition: IProviderDefinition)
193
205
  declare function formatProviderSetupHelpLinks(setupHelpLinks?: readonly IProviderSetupHelpLink[]): string;
194
206
  declare function validateProviderSetupValue(step: IProviderSetupPromptStep, value: string): string | undefined;
195
207
  //#endregion
208
+ //#region src/provider/provider-startup.d.ts
209
+ interface IProviderStartupContext {
210
+ provider?: string;
211
+ settingsScope?: TSettingsScope;
212
+ }
213
+ interface IEnsureProviderConfigOptions {
214
+ formatError: (defs: readonly IProviderDefinition[]) => string;
215
+ isInteractive?: () => boolean;
216
+ }
217
+ declare function runProviderStartupSetup(cwd: string, ctx: IProviderStartupContext, promptInput: TPromptInput, terminal: ITerminalOutput, providerDefinitions: readonly IProviderDefinition[]): Promise<void>;
218
+ declare function ensureProviderConfig(cwd: string, ctx: IProviderStartupContext, promptInput: TPromptInput, terminal: ITerminalOutput, providerDefinitions: readonly IProviderDefinition[], options: IEnsureProviderConfigOptions): Promise<void>;
219
+ //#endregion
196
220
  //#region src/reset/reset-command-module.d.ts
197
221
  declare function createResetCommandEntry(): ICommand;
198
222
  declare function createResetCommandModule(): ICommandModule;
@@ -240,14 +264,14 @@ declare function createSettingsCommandModule(): ICommandModule;
240
264
  //#endregion
241
265
  //#region src/skills/skills-command-module.d.ts
242
266
  interface ISkillsCommandModuleOptions {
243
- readonly cwd?: string;
267
+ readonly cwd: string;
244
268
  }
245
269
  declare function createSkillsCommandEntry(): ICommand;
246
270
  declare class SkillsCommandSource implements ICommandSource {
247
271
  readonly name = "skills";
248
272
  getCommands(): ICommand[];
249
273
  }
250
- declare function createSkillsCommandModule(options?: ISkillsCommandModuleOptions): ICommandModule;
274
+ declare function createSkillsCommandModule(options: ISkillsCommandModuleOptions): ICommandModule;
251
275
  //#endregion
252
276
  //#region src/skills/skills-command.d.ts
253
277
  declare const SKILLS_COMMAND_DESCRIPTION = "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\".";
@@ -289,5 +313,11 @@ interface IUserLocalDirectCommandOptions {
289
313
  declare function executeUserLocalDirectCommand(options: IUserLocalDirectCommandOptions): Promise<ICommandResult>;
290
314
  declare function executeUserLocalCommand(context: ICommandHostContext, rawArgs: string): Promise<ICommandResult>;
291
315
  //#endregion
292
- export { AgentCommandSource, BackgroundCommandSource, CLEAR_COMMAND_MESSAGE, CompactCommandSource, ContextCommandSource, ExitCommandSource, HelpCommandSource, type IProviderCommandModuleOptions, type IProviderCommandSettingsAdapter, type IProviderSetupFlowOptions, type IProviderSetupFlowState, type IProviderSetupPromptStep, type IUserLocalDirectCommandOptions, LanguageCommandSource, MemoryCommandSource, ModeCommandSource, ModelCommandSource, PermissionsCommandSource, PluginManagerCommandSource, ProviderCommandSource, RewindCommandSource, SKILLS_COMMAND_DESCRIPTION, STATUSLINE_USAGE, SessionCommandSource, SettingsCommandSource, SkillsCommandSource, StatusLineCommandSource, type TPromptInput, type TProviderSetupFlowSubmitResult, type TProviderSetupType, USER_LOCAL_COMMAND_ARGUMENT_HINT, USER_LOCAL_COMMAND_DESCRIPTION, USER_LOCAL_COMMAND_USAGE, UserLocalCommandSource, createAgentCommandEntry, createAgentCommandModule, createAgentSystemCommand, createBackgroundCommandEntry, createBackgroundCommandModule, createClearCommandEntry, createCompactCommandEntry, createCompactCommandModule, createContextCommandEntry, createContextCommandModule, createCostCommandEntry, createExitCommandEntry, createExitCommandModule, createHelpCommandEntry, createHelpCommandModule, createLanguageCommandEntry, createLanguageCommandModule, createMemoryCommandEntry, createMemoryCommandModule, createModeCommandEntry, createModeCommandModule, createModelCommandEntry, createModelCommandModule, createPermissionsCommandEntry, createPermissionsCommandModule, createPluginCommandEntry, createPluginCommandModule, createProviderCommandEntry, createProviderCommandModule, createProviderSetupFlow, createReloadPluginsCommandEntry, createRenameCommandEntry, createResetCommandEntry, createResetCommandModule, createResumeCommandEntry, createRewindCommandModule, createSessionCommandModule, createSettingsCommandEntry, createSettingsCommandModule, createSkillsCommandEntry, createSkillsCommandModule, createStatusLineCommandEntry, createStatusLineCommandModule, createUserLocalCommandEntry, createUserLocalCommandModule, createValidateSessionCommandEntry, executeAgentCommand, executeBackgroundCommand, executeClearCommand, executeCompactCommand, executeContextCommand, executeCostCommand, executeExitCommand, executeHelpCommand, executeLanguageCommand, executeMemoryCommand, executeModeCommand, executeModelCommand, executePermissionsCommand, executePluginCommand, executeProviderCommand, executeReloadPluginsCommand, executeRenameCommand, executeResetCommand, executeResumeCommand, executeRewindCommand, executeSkillsCommand, executeStatusLineCommand, executeUserLocalCommand, executeUserLocalDirectCommand, executeValidateSessionCommand, formatProviderSetupChoiceLabel, formatProviderSetupHelpLinks, formatProviderSetupPromptLabel, formatProviderSetupSelectionPrompt, getProviderSetupStep, resolveProviderSetupSelection, runProviderSetupPromptFlow, submitProviderSetupValue, validateProviderSetupValue };
316
+ //#region src/plugins/default-plugin-command-adapter.d.ts
317
+ declare function createDefaultPluginCommandAdapter(cwd: string): ICommandPluginAdapter;
318
+ //#endregion
319
+ //#region src/plugins/default-plugin-command-source-loader.d.ts
320
+ declare function reloadPluginCommandSource(registry: CommandRegistry): number;
321
+ //#endregion
322
+ export { AgentCommandSource, BackgroundCommandSource, CLEAR_COMMAND_MESSAGE, CompactCommandSource, ContextCommandSource, ExitCommandSource, HelpCommandSource, type IDefaultCommandModulesOptions, type IEnsureProviderConfigOptions, type IProviderCommandModuleOptions, type IProviderCommandSettingsAdapter, type IProviderSetupFlowOptions, type IProviderSetupFlowState, type IProviderSetupPromptStep, type IProviderStartupContext, type IUserLocalDirectCommandOptions, LanguageCommandSource, MemoryCommandSource, ModeCommandSource, ModelCommandSource, PermissionsCommandSource, PluginManagerCommandSource, ProviderCommandSource, RewindCommandSource, SKILLS_COMMAND_DESCRIPTION, STATUSLINE_USAGE, SessionCommandSource, SettingsCommandSource, SkillsCommandSource, StatusLineCommandSource, type TPromptInput, type TProviderSetupFlowSubmitResult, type TProviderSetupType, USER_LOCAL_COMMAND_ARGUMENT_HINT, USER_LOCAL_COMMAND_DESCRIPTION, USER_LOCAL_COMMAND_USAGE, UserLocalCommandSource, createAgentCommandEntry, createAgentCommandModule, createAgentSystemCommand, createBackgroundCommandEntry, createBackgroundCommandModule, createClearCommandEntry, createCompactCommandEntry, createCompactCommandModule, createContextCommandEntry, createContextCommandModule, createCostCommandEntry, createDefaultCommandModules, createDefaultPluginCommandAdapter, createExitCommandEntry, createExitCommandModule, createHelpCommandEntry, createHelpCommandModule, createLanguageCommandEntry, createLanguageCommandModule, createMemoryCommandEntry, createMemoryCommandModule, createModeCommandEntry, createModeCommandModule, createModelCommandEntry, createModelCommandModule, createPermissionsCommandEntry, createPermissionsCommandModule, createPluginCommandEntry, createPluginCommandModule, createProviderCommandEntry, createProviderCommandModule, createProviderSetupFlow, createReloadPluginsCommandEntry, createRenameCommandEntry, createResetCommandEntry, createResetCommandModule, createResumeCommandEntry, createRewindCommandModule, createSessionCommandModule, createSettingsCommandEntry, createSettingsCommandModule, createSkillsCommandEntry, createSkillsCommandModule, createStatusLineCommandEntry, createStatusLineCommandModule, createUserLocalCommandEntry, createUserLocalCommandModule, createValidateSessionCommandEntry, ensureProviderConfig, executeAgentCommand, executeBackgroundCommand, executeClearCommand, executeCompactCommand, executeContextCommand, executeCostCommand, executeExitCommand, executeHelpCommand, executeLanguageCommand, executeMemoryCommand, executeModeCommand, executeModelCommand, executePermissionsCommand, executePluginCommand, executeProviderCommand, executeReloadPluginsCommand, executeRenameCommand, executeResetCommand, executeResumeCommand, executeRewindCommand, executeSkillsCommand, executeStatusLineCommand, executeUserLocalCommand, executeUserLocalDirectCommand, executeValidateSessionCommand, formatProviderSetupChoiceLabel, formatProviderSetupHelpLinks, formatProviderSetupPromptLabel, formatProviderSetupSelectionPrompt, getProviderSetupStep, reloadPluginCommandSource, resolveProviderSetupSelection, runProviderSetupPromptFlow, runProviderStartupSetup, submitProviderSetupValue, validateProviderSetupValue };
293
323
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/agent/agent-command-module.ts","../../src/agent/agent-command.ts","../../src/background/background-command-module.ts","../../src/background/background-command.ts","../../src/compact/compact-command-module.ts","../../src/compact/compact-command.ts","../../src/context/context-command-module.ts","../../src/context/context-command.ts","../../src/exit/exit-command-module.ts","../../src/exit/exit-command.ts","../../src/help/help-command-module.ts","../../src/help/help-command.ts","../../src/language/language-command-module.ts","../../src/language/language-command.ts","../../src/memory/memory-command-module.ts","../../src/memory/memory-command.ts","../../src/mode/mode-command-module.ts","../../src/mode/mode-command.ts","../../src/model/model-command-module.ts","../../src/model/model-command.ts","../../src/permissions/permissions-command-module.ts","../../src/permissions/permissions-command.ts","../../src/plugin/plugin-command-module.ts","../../src/plugin/plugin-command.ts","../../src/provider/provider-command-module.ts","../../src/provider/provider-command-execution.ts","../../src/provider/provider-setup-flow.ts","../../src/reset/reset-command-module.ts","../../src/reset/reset-command.ts","../../src/rewind/rewind-command-module.ts","../../src/rewind/rewind-command.ts","../../src/session/session-command.ts","../../src/session/session-command-module.ts","../../src/settings/settings-command-module.ts","../../src/skills/skills-command-module.ts","../../src/skills/skills-command.ts","../../src/statusline/statusline-command-module.ts","../../src/statusline/statusline-command.ts","../../src/user-local/user-local-command-module.ts","../../src/user-local/user-local-command-constants.ts","../../src/user-local/user-local-command.ts"],"mappings":";;;;iBA8BgB,uBAAA,CAAA,GAA2B,QAAQ;AAAA,iBAoBnC,wBAAA,CAAA,GAA4B,cAAc;AAAA,cAa7C,kBAAA,YAA8B,cAAc;EAAA,SAC9C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,wBAAA,CAAA,GAA4B,cAAc;;;iBC2IpC,mBAAA,CACpB,OAAA,EAAS,oBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBCzMK,4BAAA,CAAA,GAAgC,QAAQ;AAAA,cAuB3C,uBAAA,YAAmC,cAAc;EAAA,SACnD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,6BAAA,CAAA,GAAiC,cAAc;;;iBC5BzC,wBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBCVK,yBAAA,CAAA,GAA6B,QAAQ;AAAA,cAyBxC,oBAAA,YAAgC,cAAc;EAAA,SAChD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,0BAAA,CAAA,GAA8B,cAAc;;;iBCjCtC,qBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBCHK,yBAAA,CAAA,GAA6B,QAAQ;AAAA,cA4BxC,oBAAA,YAAgC,cAAc;EAAA,SAChD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,0BAAA,CAAA,GAA8B,cAAc;;;iBCItC,qBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBC1CK,sBAAA,CAAA,GAA0B,QAAQ;AAAA,cAqBrC,iBAAA,YAA6B,cAAc;EAAA,SAC7C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,uBAAA,CAAA,GAA2B,cAAc;;;iBCnCzC,kBAAA,CAAmB,QAAA,EAAU,mBAAA,EAAqB,KAAA,WAAgB,cAAc;;;iBCMhF,sBAAA,CAAA,GAA0B,QAAQ;AAAA,cAqBrC,iBAAA,YAA6B,cAAc;EAAA,SAC7C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,uBAAA,CAAA,GAA2B,cAAc;;;iBCnCzC,kBAAA,CAAmB,OAAA,EAAS,mBAAA,EAAqB,KAAA,WAAgB,cAAc;;;iBCU/E,0BAAA,CAAA,GAA8B,QAAQ;AAAA,cAyBzC,qBAAA,YAAiC,cAAc;EAAA,SACjD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,2BAAA,CAAA,GAA+B,cAAc;;;iBC3C7C,sBAAA,CACd,QAAA,EAAU,mBAAA,EACV,IAAA,WACC,cAAc;;;iBCOD,wBAAA,CAAA,GAA4B,QAAQ;AAAA,cA0BvC,mBAAA,YAA+B,cAAc;EAAA,SAC/C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAAA,GAA6B,cAAc;;;iBCkJ3C,oBAAA,CACd,OAAA,EAAS,mBAAA,EACT,OAAA,WACC,cAAc;;;iBCvLD,sBAAA,CAAA,GAA0B,QAAQ;AAAA,cAyBrC,iBAAA,YAA6B,cAAc;EAAA,SAC7C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,uBAAA,CAAA,GAA2B,cAAc;;;iBCrCzC,kBAAA,CAAmB,OAAA,EAAS,mBAAA,EAAqB,IAAA,WAAe,cAAc;;;iBCK9E,uBAAA,CAAwB,OAAA,GAAU,0BAAA,GAA6B,QAAQ;AAAA,cAuB1E,kBAAA,YAA8B,cAAA;EAAA,iBAGZ,OAAA;EAAA,SAFpB,IAAA;cAEoB,OAAA,GAAU,0BAAA;EAEvC,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,wBAAA,CAAyB,OAAA,GAAU,0BAAA,GAA6B,cAAc;;;iBCnCxE,mBAAA,CACpB,QAAA,EAAU,mBAAA,EACV,IAAA,UACA,OAAA,GAAU,0BAAA,GACT,OAAA,CAAQ,cAAA;;;iBCHK,6BAAA,CAAA,GAAiC,QAAQ;AAAA,cAyB5C,wBAAA,YAAoC,cAAc;EAAA,SACpD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,8BAAA,CAAA,GAAkC,cAAc;;;iBCpChD,yBAAA,CACd,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,cAAc;;;iBCCD,wBAAA,CAAA,GAA4B,QAAQ;AAAA,iBAWpC,+BAAA,CAAA,GAAmC,QAAQ;AAAA,cAmC9C,0BAAA,YAAsC,cAAc;EAAA,SACtD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAAA,GAA6B,cAAc;;;iBCuHrC,oBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;AAAA,iBAqBW,2BAAA,CACpB,OAAA,EAAS,mBAAA,EACT,KAAA,WACC,OAAA,CAAQ,cAAA;;;iBCjMK,0BAAA,CAAA,GAA8B,QAAQ;AAAA,cAWzC,qBAAA,YAAiC,cAAc;EAAA,SACjD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAkBD,2BAAA,CACd,OAAA,EAAS,+BAAA,GACR,cAAc;;;iBC3CK,sBAAA,CACpB,IAAA,UACA,OAAA,EAAS,+BAAA,GACR,OAAA,CAAQ,cAAA;;;KCLC,kBAAA;AAAA,KACA,YAAA,IAAgB,KAAA,UAAe,MAAA,eAAqB,OAAO;AAAA,UAEtD,wBAAA,SAAiC,4BAA4B;EAC5E,GAAA,EAAK,mBAAA;AAAA;AAAA,UAGU,uBAAA;EACf,IAAA,EAAM,kBAAA;EACN,KAAA,WAAgB,wBAAA;EAChB,cAAA,WAAyB,sBAAA;EACzB,SAAA;EACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,CAAO,mBAAA;EACvB,oBAAA;EACA,WAAA;EACA,UAAA;AAAA;AAAA,UAGe,yBAAA;EACf,oBAAA;EACA,aAAA,GAAgB,OAAA,CAAQ,MAAA,CAAO,mBAAA;EAC/B,WAAA;EACA,UAAA;AAAA;AAAA,KAGU,8BAAA;EAEN,MAAA;EACA,KAAA,EAAO,uBAAA;AAAA;EAGP,MAAA;EACA,KAAA,EAAO,mBAAA;AAAA;EAGP,MAAA;EACA,KAAA,EAAO,uBAAA;EACP,OAAA;AAAA;AAAA,iBAGU,uBAAA,CACd,IAAA,EAAM,kBAAA,EACN,mBAAA,WAA8B,mBAAA,IAC9B,OAAA,GAAS,yBAAA,GACR,uBAAA;AAAA,iBAiBa,kCAAA,CACd,mBAAmD,WAArB,mBAAmB;AAAA,iBAenC,6BAAA,CACd,QAAA,UACA,mBAAA,WAA8B,mBAAA,KAC7B,kBAAkB;AAAA,iBAsBL,oBAAA,CAAqB,KAAA,EAAO,uBAAA,GAA0B,wBAAwB;AAAA,iBAQ9E,wBAAA,CACd,KAAA,EAAO,uBAAA,EACP,QAAA,WACC,8BAA8B;AAAA,iBAmBX,0BAAA,CACpB,IAAA,EAAM,kBAAA,EACN,WAAA,EAAa,YAAA,EACb,mBAAA,WAA8B,mBAAA,IAC9B,OAAA,GAAS,yBAAA,GACR,OAAA,CAAQ,mBAAA;AAAA,iBAqBK,8BAAA,CACd,IAAA,EAAM,wBAAA,EACN,cAAA,YAAyB,sBAAsB;AAAA,iBAQjC,8BAAA,CAA+B,UAA+B,EAAnB,mBAAmB;AAAA,iBAQ9D,4BAAA,CACd,cAAsD,YAA7B,sBAAsB;AAAA,iBAoBjC,0BAAA,CACd,IAAA,EAAM,wBAAwB,EAC9B,KAAA;;;iBCvMc,uBAAA,CAAA,GAA2B,QAAQ;AAAA,iBA6BnC,wBAAA,CAAA,GAA4B,cAAc;;;iBCrC1C,mBAAA,CAAoB,QAAA,EAAU,mBAAA,EAAqB,KAAA,WAAgB,cAAc;;;cCqCpF,mBAAA,YAA+B,cAAc;EAAA,SAC/C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAAA,GAA6B,cAAc;;;iBCgHrC,oBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,OAAA,WACC,OAAA,CAAQ,cAAA;;;cCtJE,qBAAA;AAAA,iBAEG,mBAAA,CAAoB,OAAA,EAAS,mBAAA,EAAqB,KAAA,WAAgB,cAAc;AAAA,iBAShF,oBAAA,CAAqB,QAAA,EAAU,mBAAA,EAAqB,IAAA,WAAe,cAAc;AAAA,iBAcjF,oBAAA,CAAqB,QAAA,EAAU,mBAAA,EAAqB,KAAA,WAAgB,cAAc;AAAA,iBASlF,kBAAA,CAAmB,OAAA,EAAS,mBAAA,EAAqB,KAAA,WAAgB,cAAc;AAAA,iBAY/E,6BAAA,CACd,OAAA,EAAS,mBAAA,EACT,KAAA,WACC,cAAc;;;iBCxCD,uBAAA,CAAA,GAA2B,QAAQ;AAAA,iBASnC,wBAAA,CAAA,GAA4B,QAAQ;AAAA,iBASpC,wBAAA,CAAA,GAA4B,QAAQ;AAAA,iBASpC,sBAAA,CAAA,GAA0B,QAAQ;AAAA,iBASlC,iCAAA,CAAA,GAAqC,QAAQ;AAAA,cAqEhD,oBAAA,YAAgC,cAAc;EAAA,SAChD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAWD,0BAAA,CAAA,GAA8B,cAAc;;;iBCrI5C,0BAAA,CAAA,GAA8B,QAAQ;AAAA,cAyBzC,qBAAA,YAAiC,cAAc;EAAA,SACjD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,2BAAA,CAAA,GAA+B,cAAc;;;UC/B5C,2BAAA;EAAA,SACN,GAAG;AAAA;AAAA,iBAGE,wBAAA,CAAA,GAA4B,QAAQ;AAAA,cA0BvC,mBAAA,YAA+B,cAAc;EAAA,SAC/C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CACd,OAAA,GAAS,2BAAA,GACR,cAAc;;;cC3CJ,0BAAA;AAAA,iBAgES,oBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,YACC,OAAA,CAAQ,cAAA;;;iBC5DK,4BAAA,CAAA,GAAgC,QAAQ;AAAA,cAyB3C,uBAAA,YAAmC,cAAc;EAAA,SACnD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,6BAAA,CAAA,GAAiC,cAAc;;;cC1BlD,gBAAA;AAAA,iBA4CG,wBAAA,CACd,QAAA,EAAU,mBAAA,EACV,IAAA,WACC,cAAc;;;iBCvDD,2BAAA,CAAA,GAA+B,QAAQ;AAAA,cAqC1C,sBAAA,YAAkC,cAAc;EAAA,SAClD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,4BAAA,CAAA,GAAgC,cAAc;;;cCzDjD,8BAAA;AAAA,cACA,gCAAA;AAAA,cAEA,wBAAA;;;UCSI,8BAAA;EAAA,SACN,GAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,MAAA;AAAA;AAAA,iBAwJW,6BAAA,CACpB,OAAA,EAAS,8BAAA,GACR,OAAA,CAAQ,cAAA;AAAA,iBAkBW,uBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,OAAA,WACC,OAAA,CAAQ,cAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/agent/agent-command-module.ts","../../src/agent/agent-command.ts","../../src/default/default-command-modules.ts","../../src/background/background-command-module.ts","../../src/background/background-command.ts","../../src/compact/compact-command-module.ts","../../src/compact/compact-command.ts","../../src/context/context-command-module.ts","../../src/context/context-command.ts","../../src/exit/exit-command-module.ts","../../src/exit/exit-command.ts","../../src/help/help-command-module.ts","../../src/help/help-command.ts","../../src/language/language-command-module.ts","../../src/language/language-command.ts","../../src/memory/memory-command-module.ts","../../src/memory/memory-command.ts","../../src/mode/mode-command-module.ts","../../src/mode/mode-command.ts","../../src/model/model-command-module.ts","../../src/model/model-command.ts","../../src/permissions/permissions-command-module.ts","../../src/permissions/permissions-command.ts","../../src/plugin/plugin-command-module.ts","../../src/plugin/plugin-command.ts","../../src/provider/provider-command-module.ts","../../src/provider/provider-command-execution.ts","../../src/provider/provider-setup-flow.ts","../../src/provider/provider-startup.ts","../../src/reset/reset-command-module.ts","../../src/reset/reset-command.ts","../../src/rewind/rewind-command-module.ts","../../src/rewind/rewind-command.ts","../../src/session/session-command.ts","../../src/session/session-command-module.ts","../../src/settings/settings-command-module.ts","../../src/skills/skills-command-module.ts","../../src/skills/skills-command.ts","../../src/statusline/statusline-command-module.ts","../../src/statusline/statusline-command.ts","../../src/user-local/user-local-command-module.ts","../../src/user-local/user-local-command-constants.ts","../../src/user-local/user-local-command.ts","../../src/plugins/default-plugin-command-adapter.ts","../../src/plugins/default-plugin-command-source-loader.ts"],"mappings":";;;;iBA+BgB,uBAAA,CAAA,GAA2B,QAAQ;AAAA,iBAqBnC,wBAAA,CAAA,GAA4B,cAAc;AAAA,cAe7C,kBAAA,YAA8B,cAAc;EAAA,SAC9C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,wBAAA,CAAA,GAA4B,cAAc;;;iBCyIpC,mBAAA,CACpB,OAAA,EAAS,oBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;UC/LM,6BAAA;EACf,GAAA;EACA,mBAAA,WAA8B,mBAAA;EAC9B,uBAAA,EAAyB,iCAA+B;AAAA;AAAA,iBAG1C,2BAAA,CAAA;EACd,GAAA;EACA,mBAAA;EACA;AAAA,GACC,6BAAA,YAAyC,cAAA;;;iBCpB5B,4BAAA,CAAA,GAAgC,QAAQ;AAAA,cA0B3C,uBAAA,YAAmC,cAAc;EAAA,SACnD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,6BAAA,CAAA,GAAiC,cAAc;;;iBChCzC,wBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBCVK,yBAAA,CAAA,GAA6B,QAAQ;AAAA,cA4BxC,oBAAA,YAAgC,cAAc;EAAA,SAChD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,0BAAA,CAAA,GAA8B,cAAc;;;iBCpCtC,qBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBCHK,yBAAA,CAAA,GAA6B,QAAQ;AAAA,cA+BxC,oBAAA,YAAgC,cAAc;EAAA,SAChD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,0BAAA,CAAA,GAA8B,cAAc;;;iBCCtC,qBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;;;iBCzCK,sBAAA,CAAA,GAA0B,QAAQ;AAAA,cAwBrC,iBAAA,YAA6B,cAAc;EAAA,SAC7C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,uBAAA,CAAA,GAA2B,cAAc;;;iBCvCzC,kBAAA,CAAmB,QAAA,EAAU,mBAAA,EAAqB,KAAA,WAAgB,cAAc;;;iBCOhF,sBAAA,CAAA,GAA0B,QAAQ;AAAA,cAwBrC,iBAAA,YAA6B,cAAc;EAAA,SAC7C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,uBAAA,CAAA,GAA2B,cAAc;;;iBCvCzC,kBAAA,CAAmB,OAAA,EAAS,mBAAA,EAAqB,KAAA,WAAgB,cAAc;;;iBCW/E,0BAAA,CAAA,GAA8B,QAAQ;AAAA,cA4BzC,qBAAA,YAAiC,cAAc;EAAA,SACjD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,2BAAA,CAAA,GAA+B,cAAc;;;iBC/C7C,sBAAA,CACd,QAAA,EAAU,mBAAA,EACV,IAAA,WACC,cAAc;;;iBCQD,wBAAA,CAAA,GAA4B,QAAQ;AAAA,cA6BvC,mBAAA,YAA+B,cAAc;EAAA,SAC/C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAAA,GAA6B,cAAc;;;iBC8I3C,oBAAA,CACd,OAAA,EAAS,mBAAA,EACT,OAAA,WACC,cAAc;;;iBCtLD,sBAAA,CAAA,GAA0B,QAAQ;AAAA,cA4BrC,iBAAA,YAA6B,cAAc;EAAA,SAC7C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,uBAAA,CAAA,GAA2B,cAAc;;;iBCzCzC,kBAAA,CAAmB,OAAA,EAAS,mBAAA,EAAqB,IAAA,WAAe,cAAc;;;iBCM9E,uBAAA,CAAwB,OAAA,GAAU,0BAAA,GAA6B,QAAQ;AAAA,cA0B1E,kBAAA,YAA8B,cAAA;EAAA,iBAGZ,OAAA;EAAA,SAFpB,IAAA;cAEoB,OAAA,GAAU,0BAAA;EAEvC,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,wBAAA,CAAyB,OAAA,GAAU,0BAAA,GAA6B,cAAc;;;iBCvCxE,mBAAA,CACpB,QAAA,EAAU,mBAAA,EACV,IAAA,UACA,OAAA,GAAU,0BAAA,GACT,OAAA,CAAQ,cAAA;;;iBCFK,6BAAA,CAAA,GAAiC,QAAQ;AAAA,cA4B5C,wBAAA,YAAoC,cAAc;EAAA,SACpD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,8BAAA,CAAA,GAAkC,cAAc;;;iBCxChD,yBAAA,CACd,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,cAAc;;;iBCED,wBAAA,CAAA,GAA4B,QAAQ;AAAA,iBAYpC,+BAAA,CAAA,GAAmC,QAAQ;AAAA,cAwC9C,0BAAA,YAAsC,cAAc;EAAA,SACtD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAAA,GAA6B,cAAc;;;iBCgHrC,oBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,WACC,OAAA,CAAQ,cAAA;AAAA,iBAqBW,2BAAA,CACpB,OAAA,EAAS,mBAAA,EACT,KAAA,WACC,OAAA,CAAQ,cAAA;;;iBCjMK,0BAAA,CAAA,GAA8B,QAAQ;AAAA,cAYzC,qBAAA,YAAiC,cAAc;EAAA,SACjD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAoBD,2BAAA,CACd,OAAA,EAAS,+BAAA,GACR,cAAc;;;iBC5CK,sBAAA,CACpB,IAAA,UACA,OAAA,EAAS,+BAAA,GACR,OAAA,CAAQ,cAAA;;;KCPC,kBAAA;AAAA,KACA,YAAA,IAAgB,KAAA,UAAe,MAAA,eAAqB,OAAO;AAAA,UAEtD,wBAAA,SAAiC,4BAA4B;EAC5E,GAAA,EAAK,mBAAA;AAAA;AAAA,UAGU,uBAAA;EACf,IAAA,EAAM,kBAAA;EACN,KAAA,WAAgB,wBAAA;EAChB,cAAA,WAAyB,sBAAA;EACzB,SAAA;EACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,CAAO,mBAAA;EACvB,oBAAA;EACA,WAAA;EACA,UAAA;AAAA;AAAA,UAGe,yBAAA;EACf,oBAAA;EACA,aAAA,GAAgB,OAAA,CAAQ,MAAA,CAAO,mBAAA;EAC/B,WAAA;EACA,UAAA;AAAA;AAAA,KAGU,8BAAA;EAEN,MAAA;EACA,KAAA,EAAO,uBAAA;AAAA;EAGP,MAAA;EACA,KAAA,EAAO,mBAAA;AAAA;EAGP,MAAA;EACA,KAAA,EAAO,uBAAA;EACP,OAAA;AAAA;AAAA,iBAGU,uBAAA,CACd,IAAA,EAAM,kBAAA,EACN,mBAAA,WAA8B,mBAAA,IAC9B,OAAA,GAAS,yBAAA,GACR,uBAAA;AAAA,iBAiBa,kCAAA,CACd,mBAAmD,WAArB,mBAAmB;AAAA,iBAenC,6BAAA,CACd,QAAA,UACA,mBAAA,WAA8B,mBAAA,KAC7B,kBAAkB;AAAA,iBAsBL,oBAAA,CAAqB,KAAA,EAAO,uBAAA,GAA0B,wBAAwB;AAAA,iBAQ9E,wBAAA,CACd,KAAA,EAAO,uBAAA,EACP,QAAA,WACC,8BAA8B;AAAA,iBAmBX,0BAAA,CACpB,IAAA,EAAM,kBAAA,EACN,WAAA,EAAa,YAAA,EACb,mBAAA,WAA8B,mBAAA,IAC9B,OAAA,GAAS,yBAAA,GACR,OAAA,CAAQ,mBAAA;AAAA,iBAqBK,8BAAA,CACd,IAAA,EAAM,wBAAA,EACN,cAAA,YAAyB,sBAAsB;AAAA,iBAQjC,8BAAA,CAA+B,UAA+B,EAAnB,mBAAmB;AAAA,iBAQ9D,4BAAA,CACd,cAAsD,YAA7B,sBAAsB;AAAA,iBAoBjC,0BAAA,CACd,IAAA,EAAM,wBAAwB,EAC9B,KAAA;;;UC3Le,uBAAA;EACf,QAAA;EACA,aAAA,GAAgB,cAAc;AAAA;AAAA,UAGf,4BAAA;EACf,WAAA,GAAc,IAAA,WAAe,mBAAmB;EAChD,aAAA;AAAA;AAAA,iBAGoB,uBAAA,CACpB,GAAA,UACA,GAAA,EAAK,uBAAA,EACL,WAAA,EAAa,YAAA,EACb,QAAA,EAAU,eAAA,EACV,mBAAA,WAA8B,mBAAA,KAC7B,OAAA;AAAA,iBAiBmB,oBAAA,CACpB,GAAA,UACA,GAAA,EAAK,uBAAA,EACL,WAAA,EAAa,YAAA,EACb,QAAA,EAAU,eAAA,EACV,mBAAA,WAA8B,mBAAA,IAC9B,OAAA,EAAS,4BAAA,GACR,OAAA;;;iBCpDa,uBAAA,CAAA,GAA2B,QAAQ;AAAA,iBAgCnC,wBAAA,CAAA,GAA4B,cAAc;;;iBCzC1C,mBAAA,CAAoB,QAAA,EAAU,mBAAA,EAAqB,KAAA,WAAgB,cAAc;;;cC0CpF,mBAAA,YAA+B,cAAc;EAAA,SAC/C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAAA,GAA6B,cAAc;;;iBC4GrC,oBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,OAAA,WACC,OAAA,CAAQ,cAAA;;;cCtJE,qBAAA;AAAA,iBAEG,mBAAA,CAAoB,OAAA,EAAS,mBAAA,EAAqB,KAAA,WAAgB,cAAc;AAAA,iBAShF,oBAAA,CAAqB,QAAA,EAAU,mBAAA,EAAqB,IAAA,WAAe,cAAc;AAAA,iBAcjF,oBAAA,CAAqB,QAAA,EAAU,mBAAA,EAAqB,KAAA,WAAgB,cAAc;AAAA,iBASlF,kBAAA,CAAmB,OAAA,EAAS,mBAAA,EAAqB,KAAA,WAAgB,cAAc;AAAA,iBAY/E,6BAAA,CACd,OAAA,EAAS,mBAAA,EACT,KAAA,WACC,cAAc;;;iBCvCD,uBAAA,CAAA,GAA2B,QAAQ;AAAA,iBAUnC,wBAAA,CAAA,GAA4B,QAAQ;AAAA,iBAUpC,wBAAA,CAAA,GAA4B,QAAQ;AAAA,iBAUpC,sBAAA,CAAA,GAA0B,QAAQ;AAAA,iBAUlC,iCAAA,CAAA,GAAqC,QAAQ;AAAA,cAgFhD,oBAAA,YAAgC,cAAc;EAAA,SAChD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAWD,0BAAA,CAAA,GAA8B,cAAc;;;iBCtJ5C,0BAAA,CAAA,GAA8B,QAAQ;AAAA,cA4BzC,qBAAA,YAAiC,cAAc;EAAA,SACjD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,2BAAA,CAAA,GAA+B,cAAc;;;UChC5C,2BAAA;EAAA,SACN,GAAG;AAAA;AAAA,iBAGE,wBAAA,CAAA,GAA4B,QAAQ;AAAA,cA6BvC,mBAAA,YAA+B,cAAc;EAAA,SAC/C,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,yBAAA,CAA0B,OAAA,EAAS,2BAAA,GAA8B,cAAc;;;cC9ClF,0BAAA;AAAA,iBAgES,oBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,IAAA,YACC,OAAA,CAAQ,cAAA;;;iBC1DK,4BAAA,CAAA,GAAgC,QAAQ;AAAA,cA4B3C,uBAAA,YAAmC,cAAc;EAAA,SACnD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,6BAAA,CAAA,GAAiC,cAAc;;;cC9BlD,gBAAA;AAAA,iBA4CG,wBAAA,CACd,QAAA,EAAU,mBAAA,EACV,IAAA,WACC,cAAc;;;iBCvDD,2BAAA,CAAA,GAA+B,QAAQ;AAAA,cAwC1C,sBAAA,YAAkC,cAAc;EAAA,SAClD,IAAA;EAET,WAAA,CAAA,GAAe,QAAA;AAAA;AAAA,iBAKD,4BAAA,CAAA,GAAgC,cAAc;;;cC7DjD,8BAAA;AAAA,cACA,gCAAA;AAAA,cAEA,wBAAA;;;UCWI,8BAAA;EAAA,SACN,GAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,MAAA;AAAA;AAAA,iBAwJW,6BAAA,CACpB,OAAA,EAAS,8BAAA,GACR,OAAA,CAAQ,cAAA;AAAA,iBAkBW,uBAAA,CACpB,OAAA,EAAS,mBAAA,EACT,OAAA,WACC,OAAA,CAAQ,cAAA;;;iBCrDK,iCAAA,CAAkC,GAAA,WAAc,qBAAqB;;;iBChIrE,yBAAA,CAA0B,QAAyB,EAAf,eAAe"}