@vetala/vetala 0.2.3-dev → 0.3.0-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@ This is the first build and not a stable v1 release, so some bugs are expected.
10
10
 
11
11
  Vetala is designed for code-focused terminal work:
12
12
 
13
- - interactive CLI built with Ink
13
+ - interactive CLI built with Go and Bubble Tea
14
14
  - multi-turn sessions with persisted state
15
15
  - local file, shell, git, and web-capable tool execution
16
16
  - approval-aware operations for safer workspace access
@@ -27,35 +27,13 @@ Current provider support includes Sarvam AI and OpenRouter.
27
27
 
28
28
  ## Patch Notes
29
29
 
30
- ### v0.2.3-dev
30
+ ### v0.3.0-dev
31
31
 
32
- - fixed the startup update notifier by properly triggering the update check on app mount
32
+ - **Total UI Re-architecture**: Switched from React Ink to a high-performance Go + Bubble Tea TUI.
33
+ - **Improved Tool Formatting**: Redesigned tool executions to extract and highlight key parameters (e.g., `file_path`, `command`), avoiding large raw JSON blobs.
34
+ - **IPC Backend**: Node.js agent now runs in headless mode, commanded purely via IPC from the Go frontend.
35
+ - **Improved Terminal Emulation**: Switched to `node-pty` for more robust shell tool execution.
33
36
 
34
- ### v0.2.2-dev
35
-
36
- - improved `write_file` and patching tool output to concisely summarize line changes instead of printing full file contents
37
- - fixed infinite looping of agents on repeated tool calls by properly clearing loop-prevention caches after mutating actions
38
- - fixed agent loop-prevention strictness for stringified JSON comparisons
39
- - fixed "Allow for Session" API keys accidentally dropping when the CLI config was hot-reloaded
40
- - added a custom braille animated terminal spinner for a smoother visual experience
41
- - increased the agent tool execution limit from 8 to 20 turns to support more complex reasoning workflows
42
-
43
- ### v0.2.1-dev
44
-
45
- - switched the startup updater to `update-notifier` while keeping Vetala's own in-app `update now` or `update later` prompt
46
- - added cached foreground update checks plus snooze handling so a fresh npm release can surface cleanly in the TUI
47
-
48
- ### v0.2.0-dev
49
-
50
- - added provider-aware `/model` setup with Sarvam model selection and manual OpenRouter model-id entry
51
- - added OpenRouter as the second supported provider
52
- - added HTML web search with DuckDuckGo by default plus Stack Overflow, Brave, and Bing provider options
53
- - added prompt guidance so Vetala searches instead of guessing when it is unsure about factual or current information
54
- - added diff previews before file changes and `/undo` for the last tracked edit
55
- - improved streaming performance and approval handling so long replies are less likely to stall the TUI
56
- - added runtime environment detection for host OS, shell, terminal type, and viewport so the UI and agent can adapt to the current machine
57
- - added `sleep` plus longer shell timeouts so the agent can wait for slower builds, tests, or generated output
58
- - added an interactive next-prompt popup so you can queue a message or stop the current turn and send the next one immediately
59
37
 
60
38
  ## Compatibility
61
39
 
package/dist/src/agent.js CHANGED
@@ -39,7 +39,8 @@ export class Agent {
39
39
  return;
40
40
  }
41
41
  const seenToolCalls = new Set();
42
- for (let turnIndex = 0; turnIndex < 20; turnIndex += 1) {
42
+ const maxLoops = 100;
43
+ for (let turnIndex = 0; turnIndex < maxLoops; turnIndex += 1) {
43
44
  this.throwIfStopped();
44
45
  const conversation = compactConversation(this.options.session.messages, this.options.session.referencedFiles);
45
46
  this.options.ui.activity(conversation.compactedCount > 0
@@ -212,7 +213,7 @@ export class Agent {
212
213
  const skillInventory = await this.options.skills.inventoryPrompt();
213
214
  const pinnedSkillContext = await this.options.skills.pinnedPrompt();
214
215
  const lines = [
215
- "You are Vetala, a concise coding CLI assistant operating inside a developer terminal.",
216
+ "You are Vetala, an expert software engineer and AI coding assistant operating directly inside the user's terminal.",
216
217
  "When greeting or introducing yourself, explicitly call yourself Vetala.",
217
218
  "When referring to yourself in any response, use the name Vetala.",
218
219
  `Host platform: ${this.options.runtimeProfile.platform}`,
@@ -230,23 +231,25 @@ export class Agent {
230
231
  compactedCount > 0
231
232
  ? `Only the most recent messages are attached verbatim. ${compactedCount} earlier messages were compacted into working memory.`
232
233
  : "The full conversation is attached because the session is still short.",
233
- "Use tools whenever you need file contents, shell output, git state, or web data.",
234
- "If you are unsure about a current or factual claim, use web_search or stack_overflow_search instead of guessing.",
235
- "For programming questions on the web, prefer stack_overflow_search before broader search when appropriate.",
236
- "Only call declared tools by their exact names.",
237
- "Preferred repo workflow: search_repo, then read_file/read_file_chunk/read_symbol, then apply_patch or write_file.",
238
- "If a command or background process needs time before the next check, use sleep instead of guessing.",
239
- "If a build, test, or install command may take longer than usual, set run_shell.timeout_ms explicitly.",
240
- "Do not edit an existing file until you have read it in this session.",
241
- "Use the skill tool whenever a task may match a local skill or when you need a skill-specific file.",
242
- "When reading files inside the local skill catalog, prefer the skill tool over read_file.",
243
- "The skill tool supports list, load, read, pin, unpin, and clear.",
244
- "Do not repeat identical tool calls within the same turn. Reuse earlier tool results instead.",
245
- "Treat follow-up requests as continuing the current task unless the user clearly changes direction.",
246
- "Never claim to have inspected or changed files unless you actually used a tool.",
247
- "Prefer read-only tools before mutating tools or shell commands.",
248
- "If a tool is denied or errors, do not pretend it succeeded; adapt to the result.",
249
- "Keep responses short and focused on what changed, what you found, or what blocks progress.",
234
+ "",
235
+ "# CORE REASONING & TOOL PROTOCOL (CRITICAL)",
236
+ "1. PLAN BEFORE ACTING: Always explicitly formulate a plan. For complex tasks, break them down. Use tools systematically to explore the environment.",
237
+ "2. EMPIRICAL VERIFICATION (NO HALLUCINATIONS): Never assume the contents of a file, the structure of a project, or the existence of a command. ALWAYS use tools to verify your assumptions before editing code.",
238
+ "3. VALIDATE YOUR WORK: After making changes (via write_file, apply_patch, or run_shell), use search, read, or test commands to strictly confirm the changes were applied correctly and the code compiles/runs.",
239
+ "4. PREFER SPECIFIC TOOLS: If a specialized tool exists (e.g., search_repo, read_file), use it instead of running generic shell commands (e.g., 'grep' or 'cat' via run_shell).",
240
+ "5. INCREMENTAL PROGRESS: Take small, verified steps. If a tool call fails, analyze the error, adjust your approach, and try again. Do not silently ignore errors or pretend they succeeded.",
241
+ "6. CONCISE COMMUNICATION: Keep your text responses incredibly concise. Do not mechanically narrate your tool usage. Focus on the technical outcome, strategy, or blocking issues.",
242
+ "",
243
+ "# WORKFLOW GUIDELINES",
244
+ "- Exploration: Start with `search_repo` or directory listing to map the codebase context.",
245
+ "- Comprehension: Use `read_file` to understand exact context before proposing modifications.",
246
+ "- Modification: Use `apply_patch` for surgical edits or `write_file` for new files. Follow up by running tests/linters via `run_shell` if applicable.",
247
+ "- Wait/Delay: If a command needs time before the next check, use `sleep`.",
248
+ "- Long Commands: Set `timeout_ms` explicitly for slow builds or test runs in `run_shell`.",
249
+ "- Web Research: If unsure about APIs, dependency versions, or obscure errors, use `web_search` or `stack_overflow_search` instead of guessing.",
250
+ "- Skills: Use the `skill` tool whenever a task aligns with a local skill. It supports list, load, read, pin, unpin.",
251
+ "",
252
+ "Do not repeat identical tool calls in the same turn. Treat follow-up requests as continuing the current task.",
250
253
  "",
251
254
  skillInventory
252
255
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA4B5D,MAAM,OAAO,KAAK;IAKa;IAJZ,MAAM,CAAqB;IACpC,uBAAuB,GAA2B,IAAI,CAAC;IACvD,aAAa,GAAG,KAAK,CAAC;IAE9B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAChD,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAkB;QACjD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEjF,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,+BAA+B,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEhF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,kBAAkB,GACtB,QAAQ,CAAC,UAAU,KAAK,aAAa;gBACnC,CAAC,CAAC,2CAA2C,kBAAkB,CAAC,KAAK,uGAAuG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACzN,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAE9H,MAAM,IAAI,CAAC,+BAA+B,CACxC,kBAAkB,EAClB,KAAK,CACN,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CACrC,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CACtB,YAAY,CAAC,cAAc,GAAG,CAAC;gBAC7B,CAAC,CAAC,gCAAgC,YAAY,CAAC,cAAc,8BAA8B;gBAC3F,CAAC,CAAC,sCAAsC,CAC3C,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;YAC/F,MAAM,eAAe,GAAG,iBAAiB,CACvC,YAAY,EACZ,YAAY,CAAC,cAAc,CAC5B,CAAC;YACF,IAAI,IAAI,CAAC;YAET,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;oBAClE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;oBACnC,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,IAAI,CAAC,+BAA+B,CACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,IAAI,CACL,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC7C,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;gBAC7B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAEtF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC;gBAEX,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC;oBAC9E,MAAM,GAAG;wBACP,OAAO,EAAE,+BAA+B;wBACxC,OAAO,EAAE,8GAA8G;wBACvH,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpE,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAElD,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAExE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,UAAU,EAAE,CAAC;wBACtB,aAAa,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,IAAI,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,QAAQ,CAAC,EAAE;iBAC1B,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAuB,EAAE,SAAkB;QACpE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3H,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;gBAEpF,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC1B;gBACE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;aAC9D,EACD,cAAc,CACf,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAClB,0DAA0D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnH,CAAC;YAEF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,QAAuB;QACzC,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;YACjC,WAAW,EAAE,GAAG;YAChB,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,uBAAuB;gBAC5F,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;gBACrC,CAAC,CAAC,IAAI;YACR,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;YACzC,WAAW,EAAE,MAAe;SAC7B,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YACjD,SAAS,EAAE;gBACT,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC7E,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC;gBACrE,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACvF,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE;aAChE;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC5E,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;aACzG;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;aACvF;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;gBAClE,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;gBAChF,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;gBAChF,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;aAC3D;YACD,cAAc,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAC7E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,OAAe,EAAE,OAAgB;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,IAAI,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,OAA4C;QACnE,OAAO;YACL,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAqB,EAAE,cAAsB;QACtE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACnE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG;YACZ,uFAAuF;YACvF,yEAAyE;YACzE,kEAAkE;YAClE,kBAAkB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;YACxD,sBAAsB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;YACxD,iBAAiB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,oBAAoB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;YAC3D,mBAAmB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE;YACtD,sBAAsB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACjH,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YAC5L,yFAAyF;YACzF,mBAAmB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;YACvD,oBAAoB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAClE,iBAAiB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;YAC7C,4BAA4B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/E,cAAc,GAAG,CAAC;gBAChB,CAAC,CAAC,wDAAwD,cAAc,uDAAuD;gBAC/H,CAAC,CAAC,uEAAuE;YAC3E,kFAAkF;YAClF,kHAAkH;YAClH,4GAA4G;YAC5G,gDAAgD;YAChD,mHAAmH;YACnH,qGAAqG;YACrG,uGAAuG;YACvG,sEAAsE;YACtE,oGAAoG;YACpG,0FAA0F;YAC1F,kEAAkE;YAClE,8FAA8F;YAC9F,oGAAoG;YACpG,iFAAiF;YACjF,iEAAiE;YACjE,kFAAkF;YAClF,4FAA4F;YAC5F,EAAE;YACF,cAAc;SACf,CAAC;QAEF,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,uBAAuB,GAAG,UAAU,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAEO,UAAU,CAAC,OAA+B;QAChD,IAAI,IAAI,CAAC,uBAAuB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,KAAK,YAAY,qBAAqB,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAoD;IAC7E,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1E,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,OAA2B;IACjD,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA4B5D,MAAM,OAAO,KAAK;IAKa;IAJZ,MAAM,CAAqB;IACpC,uBAAuB,GAA2B,IAAI,CAAC;IACvD,aAAa,GAAG,KAAK,CAAC;IAE9B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAChD,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAkB;QACjD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEjF,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,+BAA+B,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEhF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,kBAAkB,GACtB,QAAQ,CAAC,UAAU,KAAK,aAAa;gBACnC,CAAC,CAAC,2CAA2C,kBAAkB,CAAC,KAAK,uGAAuG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACzN,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAE9H,MAAM,IAAI,CAAC,+BAA+B,CACxC,kBAAkB,EAClB,KAAK,CACN,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC;QAErB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CACrC,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CACtB,YAAY,CAAC,cAAc,GAAG,CAAC;gBAC7B,CAAC,CAAC,gCAAgC,YAAY,CAAC,cAAc,8BAA8B;gBAC3F,CAAC,CAAC,sCAAsC,CAC3C,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;YAC/F,MAAM,eAAe,GAAG,iBAAiB,CACvC,YAAY,EACZ,YAAY,CAAC,cAAc,CAC5B,CAAC;YACF,IAAI,IAAI,CAAC;YAET,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;oBAClE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;oBACnC,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,IAAI,CAAC,+BAA+B,CACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,IAAI,CACL,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC7C,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;gBAC7B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAEtF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC;gBAEX,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC;oBAC9E,MAAM,GAAG;wBACP,OAAO,EAAE,+BAA+B;wBACxC,OAAO,EAAE,8GAA8G;wBACvH,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpE,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAElD,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAExE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,UAAU,EAAE,CAAC;wBACtB,aAAa,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,IAAI,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,QAAQ,CAAC,EAAE;iBAC1B,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAuB,EAAE,SAAkB;QACpE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3H,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;gBAEpF,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC1B;gBACE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;aAC9D,EACD,cAAc,CACf,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAClB,0DAA0D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnH,CAAC;YAEF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,QAAuB;QACzC,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;YACjC,WAAW,EAAE,GAAG;YAChB,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,uBAAuB;gBAC5F,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;gBACrC,CAAC,CAAC,IAAI;YACR,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;YACzC,WAAW,EAAE,MAAe;SAC7B,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YACjD,SAAS,EAAE;gBACT,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC7E,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC;gBACrE,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACvF,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE;aAChE;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC5E,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;aACzG;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;aACvF;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;gBAClE,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;gBAChF,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;gBAChF,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;aAC3D;YACD,cAAc,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAC7E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,OAAe,EAAE,OAAgB;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,IAAI,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,OAA4C;QACnE,OAAO;YACL,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAqB,EAAE,cAAsB;QACtE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACnE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG;YACZ,oHAAoH;YACpH,yEAAyE;YACzE,kEAAkE;YAClE,kBAAkB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;YACxD,sBAAsB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;YACxD,iBAAiB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,oBAAoB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;YAC3D,mBAAmB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE;YACtD,sBAAsB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACjH,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YAC5L,yFAAyF;YACzF,mBAAmB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;YACvD,oBAAoB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAClE,iBAAiB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;YAC7C,4BAA4B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/E,cAAc,GAAG,CAAC;gBAChB,CAAC,CAAC,wDAAwD,cAAc,uDAAuD;gBAC/H,CAAC,CAAC,uEAAuE;YAC3E,EAAE;YACF,6CAA6C;YAC7C,qJAAqJ;YACrJ,iNAAiN;YACjN,gNAAgN;YAChN,gLAAgL;YAChL,6LAA6L;YAC7L,mLAAmL;YACnL,EAAE;YACF,uBAAuB;YACvB,2FAA2F;YAC3F,8FAA8F;YAC9F,uJAAuJ;YACvJ,2EAA2E;YAC3E,2FAA2F;YAC3F,gJAAgJ;YAChJ,qHAAqH;YACrH,EAAE;YACF,+GAA+G;YAC/G,EAAE;YACF,cAAc;SACf,CAAC;QAEF,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,uBAAuB,GAAG,UAAU,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAEO,UAAU,CAAC,OAA+B;QAChD,IAAI,IAAI,CAAC,uBAAuB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,KAAK,YAAY,qBAAqB,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAoD;IAC7E,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1E,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,OAA2B;IACjD,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export declare const APP_NAME = "Vetala";
2
- export declare const APP_VERSION = "0.2.3-dev";
2
+ export declare const APP_VERSION = "0.3.0-dev";
3
3
  export declare const APP_TAGLINE = "multi-provider coding cli";
@@ -1,4 +1,4 @@
1
1
  export const APP_NAME = "Vetala";
2
- export const APP_VERSION = "0.2.3-dev";
2
+ export const APP_VERSION = "0.3.0-dev";
3
3
  export const APP_TAGLINE = "multi-provider coding cli";
4
4
  //# sourceMappingURL=app-meta.js.map
package/dist/src/cli.js CHANGED
@@ -55,8 +55,23 @@ program
55
55
  await runOneShot(options.prompt, session, config, store, ui, runtimeProfile);
56
56
  return;
57
57
  }
58
- const { startRepl } = await import("./repl.js");
59
- await startRepl(session, { ui, store, runtimeProfile });
58
+ const { spawn } = await import("node:child_process");
59
+ const { join } = await import("node:path");
60
+ const { fileURLToPath } = await import("node:url");
61
+ // The TUI binary is built in the tui/ subdirectory relative to the project root
62
+ // cli.ts is in src/ (or dist/src/), so we traverse up
63
+ const __dirname = fileURLToPath(new URL(".", import.meta.url));
64
+ const isDist = __dirname.includes("dist");
65
+ // If in dist/src, project root is ../../
66
+ // If in src, project root is ../
67
+ const projectRoot = join(__dirname, isDist ? "../../" : "../");
68
+ const tuiBin = join(projectRoot, "tui", "vetala");
69
+ const tuiProcess = spawn(tuiBin, ["--workspace", session.workspaceRoot], {
70
+ stdio: "inherit"
71
+ });
72
+ tuiProcess.on("close", (code) => {
73
+ process.exit(code ?? 0);
74
+ });
60
75
  });
61
76
  await program.parseAsync(process.argv);
62
77
  async function resolveSession(store, workspaceRoot, defaultProvider, defaultModel, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,431 @@
1
+ import * as readline from "node:readline";
2
+ import { loadConfig } from "./config.js";
3
+ import { Agent, isAgentInterruptedError } from "./agent.js";
4
+ import { ApprovalManager } from "./approvals.js";
5
+ import { IpcTerminalUI } from "./ipc-ui.js";
6
+ import { PathPolicy } from "./path-policy.js";
7
+ import { SessionStore } from "./session-store.js";
8
+ import { SkillRuntime } from "./skills/runtime.js";
9
+ import { createToolRegistry } from "./tools/index.js";
10
+ import { detectRuntimeHostProfile } from "./runtime-profile.js";
11
+ async function main() {
12
+ // Parse workspace from args
13
+ const args = process.argv.slice(2);
14
+ let workspace = process.cwd();
15
+ for (let i = 0; i < args.length; i++) {
16
+ if (args[i] === "--workspace" && i + 1 < args.length) {
17
+ workspace = args[i + 1];
18
+ }
19
+ }
20
+ let config = await loadConfig();
21
+ const store = new SessionStore();
22
+ const runtimeProfile = detectRuntimeHostProfile();
23
+ const ui = new IpcTerminalUI(runtimeProfile);
24
+ // Load or create a session
25
+ let session;
26
+ try {
27
+ const sessions = await store.listSessions();
28
+ const matching = sessions.find((s) => s.workspaceRoot === workspace);
29
+ if (matching) {
30
+ session = await store.loadSession(matching.id);
31
+ }
32
+ else {
33
+ session = await store.createSession(workspace, config.defaultProvider, config.defaultModel);
34
+ }
35
+ }
36
+ catch {
37
+ session = await store.createSession(workspace, config.defaultProvider, config.defaultModel);
38
+ }
39
+ // Send the initial ready message with dashboard data
40
+ ui.sendReady(session);
41
+ ui.sendStatus("Ready");
42
+ const skills = new SkillRuntime({
43
+ getSession: () => session,
44
+ sessionStore: store
45
+ });
46
+ // Set up stdin reader for IPC commands from the Haskell TUI
47
+ const rl = readline.createInterface({
48
+ input: process.stdin,
49
+ terminal: false
50
+ });
51
+ let activeAgent = null;
52
+ // Pending approval resolution
53
+ let pendingApprovalResolve = null;
54
+ const pendingSelects = new Map();
55
+ const pendingInputs = new Map();
56
+ const requestApprovalDecision = (request) => {
57
+ return new Promise((resolve) => {
58
+ pendingApprovalResolve = resolve;
59
+ ui.sendApprovalPrompt(request.label);
60
+ });
61
+ };
62
+ const requestSelect = (title, options) => {
63
+ return new Promise((resolve) => {
64
+ const id = Math.random().toString();
65
+ pendingSelects.set(id, resolve);
66
+ ui.sendPromptSelect(id, title, options);
67
+ });
68
+ };
69
+ const requestTextInput = (title, placeholder) => {
70
+ return new Promise((resolve) => {
71
+ const id = Math.random().toString();
72
+ pendingInputs.set(id, resolve);
73
+ ui.sendPromptInput(id, title, placeholder);
74
+ });
75
+ };
76
+ const createTools = () => createToolRegistry({
77
+ includeWebSearch: config.searchProviderName !== "disabled",
78
+ skillRuntime: skills
79
+ });
80
+ let queuedNextPrompt = null;
81
+ const runPrompt = async (prompt, forceRun = false) => {
82
+ const trimmed = prompt.trim();
83
+ if (!trimmed)
84
+ return;
85
+ // Busy guard: if agent is running, ask user what to do
86
+ if (activeAgent && !forceRun) {
87
+ const choice = await requestSelect(`Current turn is still running. What to do with: "${trimmed.slice(0, 60)}"?`, ["Send now (stop current turn)", "Send after current turn", "Cancel"]);
88
+ if (choice === 0) {
89
+ // Force: interrupt current, then queue to run it
90
+ queuedNextPrompt = trimmed;
91
+ ui.info("Stopping the current turn and sending next prompt.");
92
+ ui.sendStatus("Stopping current turn");
93
+ activeAgent.requestStop();
94
+ }
95
+ else if (choice === 1) {
96
+ // Queue
97
+ queuedNextPrompt = trimmed;
98
+ ui.info(`Queued next prompt: ${trimmed.slice(0, 80)}`);
99
+ ui.sendStatus("Queued next prompt");
100
+ }
101
+ // else cancel: do nothing
102
+ return;
103
+ }
104
+ // If it's a slash command, handle simply
105
+ if (trimmed.startsWith("/")) {
106
+ await handleCommand(trimmed);
107
+ return;
108
+ }
109
+ ui.sendStatus("Running agent");
110
+ const approvals = new ApprovalManager(session, store, null, requestApprovalDecision);
111
+ const agent = new Agent({
112
+ config,
113
+ session,
114
+ sessionStore: store,
115
+ approvals,
116
+ pathPolicy: new PathPolicy(session.workspaceRoot, approvals),
117
+ runtimeProfile,
118
+ skills,
119
+ tools: createTools(),
120
+ ui
121
+ });
122
+ activeAgent = agent;
123
+ try {
124
+ await agent.runTurn(trimmed, true);
125
+ ui.sendStatus(queuedNextPrompt ? "Running queued prompt" : "Ready");
126
+ }
127
+ catch (error) {
128
+ if (isAgentInterruptedError(error)) {
129
+ ui.sendStatus(queuedNextPrompt ? "Running queued prompt" : "Interrupted");
130
+ }
131
+ else {
132
+ ui.error(error instanceof Error ? error.message : String(error));
133
+ ui.sendStatus("Failed");
134
+ }
135
+ }
136
+ finally {
137
+ activeAgent = null;
138
+ const next = queuedNextPrompt;
139
+ if (next) {
140
+ queuedNextPrompt = null;
141
+ void runPrompt(next, true);
142
+ }
143
+ }
144
+ };
145
+ const applyModelSelection = async (provider, model, reasoningEffort) => {
146
+ const { getProviderDefinition } = await import("./providers/index.js");
147
+ const { saveProviderDefaults, saveProviderPersistentAuth, withProviderStoredAuth, withProviderSessionAuth, loadConfig: reloadConfig, providerConfigFor } = await import("./config.js");
148
+ const def = getProviderDefinition(provider);
149
+ await store.updateModel(session, provider, model);
150
+ await saveProviderDefaults(provider, model, def.supportsReasoningEffort ? { reasoningEffort } : {});
151
+ session.provider = provider;
152
+ session.model = model;
153
+ const nextConfig = await reloadConfig();
154
+ const nextProfile = providerConfigFor(nextConfig, session.provider);
155
+ if (nextProfile.authSource === "missing" || nextProfile.authSource === "stored_hash") {
156
+ const authLabel = def.auth.inputLabel;
157
+ const keyVal = await requestTextInput(`Enter ${authLabel} for ${def.label} / ${model}`, "");
158
+ if (!keyVal.trim()) {
159
+ ui.warn(`Credential entry cancelled. Model settings saved, but no usable ${def.label} credential is active.`);
160
+ ui.sendReady(session);
161
+ ui.sendStatus("Ready");
162
+ return;
163
+ }
164
+ const retIdx = await requestSelect("Keep credential:", [
165
+ "Keep for all sessions until /logout",
166
+ "This session only",
167
+ "Cancel"
168
+ ]);
169
+ if (retIdx === 0) {
170
+ await saveProviderPersistentAuth(session.provider, def.auth.defaultMode, keyVal.trim());
171
+ config = withProviderStoredAuth(nextConfig, session.provider, def.auth.defaultMode, keyVal.trim());
172
+ }
173
+ else if (retIdx === 1) {
174
+ config = withProviderSessionAuth(nextConfig, session.provider, def.auth.defaultMode, keyVal.trim());
175
+ }
176
+ else {
177
+ ui.warn("API key setup cancelled.");
178
+ ui.sendReady(session);
179
+ ui.sendStatus("Ready");
180
+ return;
181
+ }
182
+ }
183
+ else {
184
+ config = nextConfig;
185
+ }
186
+ ui.info(`Provider set to ${def.label} / ${model}`);
187
+ ui.sendReady(session);
188
+ ui.sendStatus("Ready");
189
+ };
190
+ const handleCommand = async (commandLine) => {
191
+ const [command, ...args] = commandLine.slice(1).split(/\s+/);
192
+ switch (command) {
193
+ case "help":
194
+ ui.info([
195
+ "/help", "/model", "/undo", "/skill", "/tools",
196
+ "/history", "/resume <session-id>", "/new",
197
+ "/approve", "/config", "/logout", "/clear", "/exit"
198
+ ].join("\n"));
199
+ break;
200
+ case "clear":
201
+ ui.sendClear();
202
+ ui.sendStatus("Ready");
203
+ break;
204
+ case "history":
205
+ ui.info(session.messages
206
+ .slice(-20)
207
+ .map((msg) => {
208
+ const label = msg.role.padEnd(9, " ");
209
+ const content = (msg.content ?? "[tool call]").replace(/\s+/g, " ").slice(0, 140);
210
+ return `${label} ${content}`;
211
+ })
212
+ .join("\n") || "(empty session)");
213
+ break;
214
+ case "tools":
215
+ ui.info(createTools()
216
+ .list()
217
+ .map((tool) => `${tool.readOnly ? "ro" : "rw"} ${tool.name} - ${tool.description}`)
218
+ .join("\n"));
219
+ break;
220
+ case "config":
221
+ ui.printConfig(config);
222
+ break;
223
+ case "undo": {
224
+ const { undoLastEdit } = await import("./edit-history.js");
225
+ const approvals = new ApprovalManager(session, store, null, requestApprovalDecision);
226
+ const result = await undoLastEdit(session, store, (req) => approvals.requestApproval(req));
227
+ ui.info(result.content);
228
+ ui.sendStatus(result.isError ? "Undo blocked" : "Ready");
229
+ break;
230
+ }
231
+ case "skill":
232
+ case "skills": {
233
+ if (args.length === 0) {
234
+ const available = await skills.listSkills();
235
+ const pinned = new Set((await skills.pinnedSkills()).map((s) => s.name));
236
+ ui.info(available.length > 0
237
+ ? available.map((s) => `${pinned.has(s.name) ? "*" : "-"} ${s.name} - ${s.description}`).join("\n")
238
+ : "(no skills available)");
239
+ break;
240
+ }
241
+ const [sub, ...rest] = args;
242
+ if (sub === "use" || sub === "pin") {
243
+ if (!rest[0]) {
244
+ ui.warn("Usage: /skill use <name>");
245
+ break;
246
+ }
247
+ const skill = await skills.pinSkill(rest[0]);
248
+ ui.info(`Pinned skill: ${skill.name}`);
249
+ }
250
+ else if (sub === "drop" || sub === "unpin") {
251
+ if (!rest[0]) {
252
+ ui.warn("Usage: /skill drop <name>");
253
+ break;
254
+ }
255
+ const skill = await skills.unpinSkill(rest[0]);
256
+ ui.info(`Unpinned skill: ${skill.name}`);
257
+ }
258
+ else if (sub === "clear") {
259
+ const cleared = await skills.clearPinnedSkills();
260
+ ui.info(`Cleared ${cleared} pinned skills.`);
261
+ }
262
+ break;
263
+ }
264
+ case "resume": {
265
+ if (!args[0]) {
266
+ const sessions = await store.listSessions();
267
+ if (sessions.length === 0) {
268
+ ui.info("(no sessions)");
269
+ break;
270
+ }
271
+ const items = sessions.slice(0, 10).map(s => `${s.id.slice(0, 8)} ${s.provider}/${s.model} ${s.workspaceRoot}`);
272
+ const idx = await requestSelect("Select session to resume", [...items, "Cancel"]);
273
+ if (idx < sessions.length) {
274
+ const s = sessions[idx];
275
+ if (s) {
276
+ session = await store.loadSession(s.id);
277
+ activeAgent = null;
278
+ ui.sendClear();
279
+ ui.sendStatus(`Resumed ${session.id.slice(0, 8)}`);
280
+ ui.sendReady(session);
281
+ }
282
+ }
283
+ else {
284
+ ui.sendStatus("Ready");
285
+ }
286
+ break;
287
+ }
288
+ session = await store.loadSession(args[0]);
289
+ ui.sendClear();
290
+ ui.sendStatus(`Resumed ${session.id.slice(0, 8)}`);
291
+ ui.sendReady(session);
292
+ break;
293
+ }
294
+ case "new": {
295
+ session = await store.createSession(session.workspaceRoot, config.defaultProvider, config.defaultModel);
296
+ ui.sendClear();
297
+ ui.sendStatus(`Created ${session.id.slice(0, 8)}`);
298
+ ui.sendReady(session);
299
+ break;
300
+ }
301
+ case "approve":
302
+ ui.info([
303
+ `web access: ${session.approvals.webAccess ? "granted" : "not granted"}`,
304
+ `path grants: ${session.approvals.outOfTreeRoots.join(", ") || "(none)"}`,
305
+ `session grants: ${session.approvals.sessionActionKeys.join(", ") || "(none)"}`
306
+ ].join("\n"));
307
+ break;
308
+ case "logout": {
309
+ const { clearProviderSavedAuth } = await import("./config.js");
310
+ await clearProviderSavedAuth(session.provider);
311
+ ui.info(`Cleared saved credential for ${session.provider}.`);
312
+ ui.sendStatus("Logged out");
313
+ break;
314
+ }
315
+ case "model": {
316
+ const { listProviders, getProviderDefinition } = await import("./providers/index.js");
317
+ const providers = listProviders();
318
+ const items = [...providers.map((p) => p.name === session.provider ? `${p.label} (current)` : p.label), "Cancel"];
319
+ const pIdx = await requestSelect("Select provider", items);
320
+ if (pIdx >= providers.length || pIdx < 0) {
321
+ ui.sendStatus("Ready");
322
+ break;
323
+ }
324
+ const nextProvider = providers[pIdx].name;
325
+ const def = getProviderDefinition(nextProvider);
326
+ let nextModel = nextProvider === session.provider ? session.model : def.defaultModel;
327
+ if (nextProvider === "sarvam") {
328
+ const smodels = [...def.suggestedModels, "Cancel"];
329
+ const mIdx = await requestSelect("Select Sarvam model", smodels);
330
+ if (mIdx >= def.suggestedModels.length) {
331
+ ui.sendStatus("Ready");
332
+ break;
333
+ }
334
+ nextModel = def.suggestedModels[mIdx];
335
+ }
336
+ else if (nextProvider === "openrouter") {
337
+ const mName = await requestTextInput("Enter OpenRouter model id", nextModel);
338
+ if (!mName.trim()) {
339
+ ui.sendStatus("Ready");
340
+ break;
341
+ }
342
+ nextModel = mName.trim();
343
+ }
344
+ else {
345
+ const mName = await requestTextInput(`Enter model for ${def.label}`, nextModel);
346
+ if (!mName.trim()) {
347
+ ui.sendStatus("Ready");
348
+ break;
349
+ }
350
+ nextModel = mName.trim();
351
+ }
352
+ let nextReasoning = null;
353
+ if (def.supportsReasoningEffort) {
354
+ const rItems = ["None", "Low", "Medium", "High", "Cancel"];
355
+ const vals = [null, "low", "medium", "high", null];
356
+ const rIdx = await requestSelect("Select reasoning effort", rItems);
357
+ if (rIdx >= 4) {
358
+ ui.sendStatus("Ready");
359
+ break;
360
+ }
361
+ nextReasoning = vals[rIdx];
362
+ }
363
+ await applyModelSelection(nextProvider, nextModel, nextReasoning);
364
+ break;
365
+ }
366
+ default:
367
+ ui.warn(`Unknown command: /${command}`);
368
+ }
369
+ };
370
+ // Listen for JSON commands from the Haskell TUI
371
+ rl.on("line", async (line) => {
372
+ let cmd;
373
+ try {
374
+ cmd = JSON.parse(line);
375
+ }
376
+ catch {
377
+ return; // Skip malformed lines
378
+ }
379
+ switch (cmd.tag) {
380
+ case "input":
381
+ if (cmd.data?.text && typeof cmd.data.text === "string") {
382
+ await runPrompt(cmd.data.text);
383
+ }
384
+ break;
385
+ case "trust":
386
+ // Trust acknowledged, nothing to do on backend side
387
+ break;
388
+ case "approval":
389
+ if (pendingApprovalResolve && cmd.data?.scope) {
390
+ const scope = cmd.data.scope;
391
+ const resolve = pendingApprovalResolve;
392
+ pendingApprovalResolve = null;
393
+ resolve(scope);
394
+ }
395
+ break;
396
+ case "submitSelect":
397
+ if (cmd.data?.id && typeof cmd.data.index === "number") {
398
+ const id = cmd.data.id;
399
+ const resolve = pendingSelects.get(id);
400
+ if (resolve) {
401
+ pendingSelects.delete(id);
402
+ resolve(cmd.data.index);
403
+ }
404
+ }
405
+ break;
406
+ case "submitInput":
407
+ if (cmd.data?.id && typeof cmd.data.value === "string") {
408
+ const id = cmd.data.id;
409
+ const resolve = pendingInputs.get(id);
410
+ if (resolve) {
411
+ pendingInputs.delete(id);
412
+ resolve(cmd.data.value);
413
+ }
414
+ }
415
+ break;
416
+ case "interrupt":
417
+ activeAgent?.requestStop();
418
+ break;
419
+ case "exit":
420
+ process.exit(0);
421
+ }
422
+ });
423
+ rl.on("close", () => {
424
+ process.exit(0);
425
+ });
426
+ }
427
+ main().catch((error) => {
428
+ process.stderr.write(`IPC backend error: ${error}\n`);
429
+ process.exit(1);
430
+ });
431
+ //# sourceMappingURL=ipc-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-backend.js","sourceRoot":"","sources":["../../src/ipc-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { TerminalUI } from "./terminal-ui.js";
2
+ import type { EffectiveConfig, RuntimeHostProfile, SessionState, ToolCall } from "./types.js";
3
+ import type { Ora } from "ora";
4
+ export declare class IpcTerminalUI extends TerminalUI {
5
+ constructor(runtimeProfile: RuntimeHostProfile);
6
+ /** Send the initial dashboard / ready message */
7
+ sendReady(session: SessionState): void;
8
+ printBanner(): void;
9
+ printStartup(_session: SessionState): void;
10
+ printTrustPrompt(workspaceRoot: string): void;
11
+ promptLabel(): string;
12
+ info(message: string): void;
13
+ activity(message: string): void;
14
+ warn(message: string): void;
15
+ error(message: string): void;
16
+ startSpinner(label: string): Ora;
17
+ appendAssistantText(text: string): void;
18
+ printAssistantMessage(message: string): void;
19
+ endAssistantTurn(): void;
20
+ printToolCall(toolCall: ToolCall): void;
21
+ printToolResult(summary: string, isError: boolean): void;
22
+ printConfig(config: EffectiveConfig): void;
23
+ sendApprovalPrompt(label: string): void;
24
+ sendPromptSelect(id: string, title: string, options: string[]): void;
25
+ sendPromptInput(id: string, title: string, placeholder: string): void;
26
+ sendStatus(text: string): void;
27
+ sendClear(): void;
28
+ }
@@ -0,0 +1,125 @@
1
+ import { TerminalUI } from "./terminal-ui.js";
2
+ import { formatRuntimeHostSummary, formatRuntimeTerminalSummary } from "./runtime-profile.js";
3
+ function sendIPC(tag, data = {}) {
4
+ const msg = JSON.stringify({ tag, data });
5
+ process.stdout.write(msg + "\n");
6
+ }
7
+ export class IpcTerminalUI extends TerminalUI {
8
+ constructor(runtimeProfile) {
9
+ super(runtimeProfile);
10
+ }
11
+ /** Send the initial dashboard / ready message */
12
+ sendReady(session) {
13
+ sendIPC("ready", {
14
+ provider: session.provider,
15
+ model: session.model,
16
+ workspace: session.workspaceRoot,
17
+ sessionId: session.id,
18
+ updatedAt: session.updatedAt
19
+ });
20
+ }
21
+ printBanner() { }
22
+ printStartup(_session) { }
23
+ printTrustPrompt(workspaceRoot) {
24
+ sendIPC("prompt", { promptType: "trust", workspace: workspaceRoot });
25
+ }
26
+ promptLabel() {
27
+ return "";
28
+ }
29
+ info(message) {
30
+ sendIPC("entry", { kind: "info", text: message });
31
+ }
32
+ activity(message) {
33
+ sendIPC("activity", { label: message });
34
+ }
35
+ warn(message) {
36
+ sendIPC("entry", { kind: "warn", text: message });
37
+ }
38
+ error(message) {
39
+ sendIPC("entry", { kind: "error", text: message });
40
+ }
41
+ startSpinner(label) {
42
+ sendIPC("spinner", { label, active: true });
43
+ let spinning = true;
44
+ const fakeSpinner = {
45
+ get isSpinning() {
46
+ return spinning;
47
+ },
48
+ stop() {
49
+ spinning = false;
50
+ sendIPC("spinner", { label: null, active: false });
51
+ return fakeSpinner;
52
+ }
53
+ };
54
+ return fakeSpinner;
55
+ }
56
+ appendAssistantText(text) {
57
+ sendIPC("chunk", { text });
58
+ }
59
+ printAssistantMessage(message) {
60
+ // Flush any streaming buffer first, then push a complete entry
61
+ sendIPC("flush", {});
62
+ sendIPC("entry", { kind: "assistant", text: message });
63
+ }
64
+ endAssistantTurn() {
65
+ sendIPC("flush", {});
66
+ }
67
+ printToolCall(toolCall) {
68
+ let renderedArgs = "{}";
69
+ try {
70
+ const parsed = JSON.parse(toolCall.function.arguments);
71
+ if (Object.keys(parsed).length > 0) {
72
+ renderedArgs = JSON.stringify(parsed, null, 2);
73
+ }
74
+ }
75
+ catch {
76
+ renderedArgs = toolCall.function.arguments.trim() || "{}";
77
+ }
78
+ sendIPC("flush", {});
79
+ sendIPC("entry", {
80
+ kind: "tool",
81
+ text: `⬢ ${toolCall.function.name}\n${renderedArgs}`
82
+ });
83
+ }
84
+ printToolResult(summary, isError) {
85
+ sendIPC("flush", {});
86
+ sendIPC("entry", {
87
+ kind: isError ? "error" : "tool",
88
+ text: `↳ ${summary}`
89
+ });
90
+ }
91
+ printConfig(config) {
92
+ sendIPC("entry", {
93
+ kind: "info",
94
+ text: [
95
+ `config: ${config.configPath}`,
96
+ `data: ${config.dataPath}`,
97
+ `provider: ${config.defaultProvider}`,
98
+ `auth: ${config.authMode} (${config.authSource})`,
99
+ `sha256: ${config.authFingerprint?.slice(0, 12) ?? "(none)"}`,
100
+ `model: ${config.defaultModel}`,
101
+ `reason: ${config.reasoningEffort ?? "(none)"}`,
102
+ `search: ${config.searchProviderName}`,
103
+ `base: ${config.baseUrl}`,
104
+ `host: ${formatRuntimeHostSummary(this.runtimeProfile)}`,
105
+ `term: ${formatRuntimeTerminalSummary(this.runtimeProfile)}`
106
+ ].join("\n")
107
+ });
108
+ }
109
+ sendApprovalPrompt(label) {
110
+ sendIPC("prompt", { promptType: "approval", label });
111
+ }
112
+ sendPromptSelect(id, title, options) {
113
+ sendIPC("prompt", { promptType: "select", id, title, options });
114
+ }
115
+ sendPromptInput(id, title, placeholder) {
116
+ sendIPC("prompt", { promptType: "input", id, title, placeholder });
117
+ }
118
+ sendStatus(text) {
119
+ sendIPC("status", { text });
120
+ }
121
+ sendClear() {
122
+ sendIPC("clear", {});
123
+ }
124
+ }
125
+ //# sourceMappingURL=ipc-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-ui.js","sourceRoot":"","sources":["../../src/ipc-ui.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,87 @@
1
1
  import { spawn } from "node:child_process";
2
+ import stripAnsi from "strip-ansi";
2
3
  const DEFAULT_TIMEOUT_MS = 30_000;
3
4
  const MAX_CAPTURED_BYTES = 256_000;
5
+ let pty;
6
+ let Terminal;
7
+ let ptyLoaded = false;
8
+ async function loadPty() {
9
+ if (ptyLoaded)
10
+ return;
11
+ ptyLoaded = true;
12
+ try {
13
+ // @ts-ignore: node-pty typings are not correctly exported for NodeNext
14
+ const ptyMod = await import("@lydell/node-pty");
15
+ pty = ptyMod.default || ptyMod;
16
+ const xtermPkg = await import("@xterm/headless");
17
+ Terminal = xtermPkg.default ? xtermPkg.default.Terminal : xtermPkg.Terminal;
18
+ }
19
+ catch (e) {
20
+ // Ignore missing PTY dependencies
21
+ }
22
+ }
4
23
  export async function runExecFile(file, args, options) {
24
+ await loadPty();
25
+ if (pty && Terminal && !process.env.DISABLE_PTY) {
26
+ return new Promise((resolve, reject) => {
27
+ let timedOut = false;
28
+ const ptyProcess = pty.spawn(file, args, {
29
+ cwd: options.cwd,
30
+ env: process.env,
31
+ cols: 120,
32
+ rows: 40,
33
+ name: 'xterm-256color'
34
+ });
35
+ const timeout = setTimeout(() => {
36
+ timedOut = true;
37
+ ptyProcess.kill("SIGTERM");
38
+ }, options.timeoutMs ?? DEFAULT_TIMEOUT_MS);
39
+ let stdoutRaw = "";
40
+ ptyProcess.onData((data) => {
41
+ stdoutRaw = collect(stdoutRaw, data);
42
+ });
43
+ ptyProcess.onExit(({ exitCode, signal }) => {
44
+ clearTimeout(timeout);
45
+ try {
46
+ const terminal = new Terminal({ cols: 120, rows: 40, allowProposedApi: true });
47
+ terminal.write(stdoutRaw, () => {
48
+ const buffer = terminal.buffer.active;
49
+ const lines = [];
50
+ for (let i = 0; i <= buffer.cursorY; i++) {
51
+ const line = buffer.getLine(i);
52
+ if (line) {
53
+ lines.push(line.translateToString(true).trimEnd());
54
+ }
55
+ }
56
+ let parsedStdout = lines.join("\n").replace(/\n+$/, "");
57
+ parsedStdout = stripAnsi(parsedStdout);
58
+ resolve({
59
+ stdout: parsedStdout,
60
+ stderr: "",
61
+ exitCode,
62
+ signal: signal || null,
63
+ timedOut
64
+ });
65
+ });
66
+ }
67
+ catch (e) {
68
+ resolve({
69
+ stdout: stripAnsi(stdoutRaw),
70
+ stderr: "",
71
+ exitCode,
72
+ signal: signal || null,
73
+ timedOut
74
+ });
75
+ }
76
+ });
77
+ });
78
+ }
5
79
  return new Promise((resolve, reject) => {
6
80
  let timedOut = false;
7
81
  const child = spawn(file, args, {
8
82
  cwd: options.cwd,
9
- stdio: ["ignore", "pipe", "pipe"]
83
+ stdio: ["ignore", "pipe", "pipe"],
84
+ env: process.env
10
85
  });
11
86
  const timeout = setTimeout(() => {
12
87
  timedOut = true;
@@ -26,7 +101,13 @@ export async function runExecFile(file, args, options) {
26
101
  });
27
102
  child.on("close", (exitCode, signal) => {
28
103
  clearTimeout(timeout);
29
- resolve({ stdout, stderr, exitCode, signal, timedOut });
104
+ resolve({
105
+ stdout: stripAnsi(stdout),
106
+ stderr: stripAnsi(stderr),
107
+ exitCode,
108
+ signal,
109
+ timedOut
110
+ });
30
111
  });
31
112
  });
32
113
  }
@@ -41,7 +122,7 @@ function resolveShell() {
41
122
  args: ["/d", "/s", "/c"]
42
123
  };
43
124
  }
44
- const fallbackShell = process.platform === "darwin" ? "/bin/zsh" : "/bin/sh";
125
+ const fallbackShell = process.platform === "darwin" ? "/bin/zsh" : "/bin/bash";
45
126
  return {
46
127
  file: process.env.SHELL?.trim() || fallbackShell,
47
128
  args: ["-c"]
@@ -1 +1 @@
1
- {"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../src/process-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../src/process-utils.ts"],"names":[],"mappings":"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"}
@@ -246,7 +246,7 @@ const readSymbolTool = {
246
246
  };
247
247
  const writeFileTool = {
248
248
  name: "write_file",
249
- description: "Write or create a UTF-8 file after approval. Existing files must be read first.",
249
+ description: "Write or create a UTF-8 file. Existing files MUST be read first. Provide the complete file content. DO NOT USE PLACEHOLDERS like '...rest of code...'.",
250
250
  jsonSchema: {
251
251
  type: "object",
252
252
  properties: {
@@ -256,7 +256,7 @@ const writeFileTool = {
256
256
  },
257
257
  content: {
258
258
  type: "string",
259
- description: "Full file contents to write."
259
+ description: "Full, complete file contents to write. Do not truncate."
260
260
  }
261
261
  },
262
262
  required: ["path", "content"],
@@ -298,7 +298,7 @@ const writeFileTool = {
298
298
  };
299
299
  const applyPatchTool = {
300
300
  name: "apply_patch",
301
- description: "Apply one or more search-and-replace patch hunks to an existing UTF-8 file after it has been read.",
301
+ description: "Apply search-and-replace patch hunks to an existing file. The file MUST be read first. Your 'search' text must EXACTLY MATCH the target file, including all whitespace and indentation.",
302
302
  jsonSchema: {
303
303
  type: "object",
304
304
  properties: {
@@ -314,11 +314,11 @@ const applyPatchTool = {
314
314
  properties: {
315
315
  search: {
316
316
  type: "string",
317
- description: "Text to find."
317
+ description: "EXACT text to find, including leading spaces. Provide enough context lines to ensure uniqueness."
318
318
  },
319
319
  replace: {
320
320
  type: "string",
321
- description: "Replacement text."
321
+ description: "Replacement text to insert."
322
322
  },
323
323
  all: {
324
324
  type: "boolean",
@@ -369,7 +369,7 @@ const applyPatchTool = {
369
369
  };
370
370
  const replaceInFileTool = {
371
371
  name: "replace_in_file",
372
- description: "Replace text inside an existing UTF-8 file after approval. The file must be read first.",
372
+ description: "Replace text inside an existing file. The file MUST be read first. The 'search' string must EXACTLY match the current file contents, including indentation.",
373
373
  jsonSchema: {
374
374
  type: "object",
375
375
  properties: {
@@ -379,7 +379,7 @@ const replaceInFileTool = {
379
379
  },
380
380
  search: {
381
381
  type: "string",
382
- description: "Text to find."
382
+ description: "EXACT text to find. Provide enough lines of context to ensure a unique match."
383
383
  },
384
384
  replace: {
385
385
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/tools/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/tools/filesystem.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vetala/vetala",
3
- "version": "0.2.3-dev",
3
+ "version": "0.3.0-dev",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "description": "Terminal-first AI coding CLI with tools, memory, and local skills.",
@@ -48,20 +48,18 @@
48
48
  "test": "node --test --import tsx test/**/*.ts"
49
49
  },
50
50
  "dependencies": {
51
+ "@lydell/node-pty": "^1.2.0-beta.3",
52
+ "@xterm/headless": "^6.0.0",
51
53
  "chalk": "^5.4.1",
52
54
  "commander": "^14.0.0",
53
55
  "gradient-string": "^3.0.0",
54
- "ink": "^6.8.0",
55
- "ink-select-input": "^6.2.0",
56
- "ink-text-input": "^6.0.0",
57
56
  "ora": "^9.3.0",
58
- "react": "^19.0.0",
57
+ "strip-ansi": "^7.2.0",
59
58
  "update-notifier": "^7.3.1"
60
59
  },
61
60
  "devDependencies": {
62
61
  "@types/node": "^24.0.0",
63
- "@types/react": "^19.0.12",
64
62
  "tsx": "^4.20.5",
65
63
  "typescript": "^5.8.2"
66
64
  }
67
- }
65
+ }