@ariso-ai/ivan 1.0.37 → 1.0.39

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.
@@ -2,7 +2,9 @@ import { spawn } from 'child_process';
2
2
  import chalk from 'chalk';
3
3
  import { ConfigManager } from '../config.js';
4
4
  import path from 'path';
5
+ import fs from 'fs';
5
6
  import { execSync } from 'child_process';
7
+ import { InterjectionManager, appendInterjections, interjectionMessage } from './interjection-manager.js';
6
8
  export class ClaudeCliExecutor {
7
9
  quietMode = false;
8
10
  configManager;
@@ -38,15 +40,15 @@ export class ClaudeCliExecutor {
38
40
  // Check if we're in a worktree by looking for .git file (not directory)
39
41
  try {
40
42
  const gitPath = path.join(workingDir, '.git');
41
- const gitInfo = execSync(`cat "${gitPath}"`, {
42
- encoding: 'utf8'
43
- }).trim();
44
- if (gitInfo.startsWith('gitdir:')) {
45
- // We're in a worktree, extract the main repo path
46
- const gitDirPath = gitInfo.replace('gitdir:', '').trim();
47
- // Go up from .git/worktrees/<name> to get the main repo
48
- if (gitDirPath.includes('/worktrees/')) {
49
- originalRepoPath = path.resolve(gitDirPath, '../../..');
43
+ if (fs.statSync(gitPath).isFile()) {
44
+ const gitInfo = fs.readFileSync(gitPath, 'utf8').trim();
45
+ if (gitInfo.startsWith('gitdir:')) {
46
+ // We're in a worktree, extract the main repo path
47
+ const gitDirPath = gitInfo.replace('gitdir:', '').trim();
48
+ // Go up from .git/worktrees/<name> to get the main repo
49
+ if (gitDirPath.includes('/worktrees/')) {
50
+ originalRepoPath = path.resolve(gitDirPath, '../../..');
51
+ }
50
52
  }
51
53
  }
52
54
  }
@@ -109,13 +111,11 @@ export class ClaudeCliExecutor {
109
111
  console.log(chalk.gray(`Allowed tools: ${allowedTools.join(', ')}`));
110
112
  }
111
113
  console.log(chalk.yellow('⏳ Starting Claude Code CLI execution...'));
112
- let lastMessage = '';
113
114
  const currentSessionId = sessionId || '';
114
- // Build Claude CLI arguments - pass prompt as value of -p so it can't be
115
- // consumed by greedy multi-value flags like --disallowed-tools
116
- const args = [
117
- '-p',
118
- taskDescription,
115
+ // Per-turn flags shared by the initial run and any interjection
116
+ // follow-up runs. The prompt is always passed as the value of -p so it
117
+ // can't be consumed by greedy multi-value flags like --disallowed-tools.
118
+ const baseArgs = [
119
119
  '--model',
120
120
  model,
121
121
  '--permission-mode',
@@ -123,86 +123,53 @@ export class ClaudeCliExecutor {
123
123
  ];
124
124
  // Add an architect/reviewer persona or other per-turn system prompt
125
125
  if (systemPrompt) {
126
- args.push('--append-system-prompt', systemPrompt);
126
+ baseArgs.push('--append-system-prompt', systemPrompt);
127
127
  }
128
128
  // Add allowed tools if specified
129
129
  if (allowedTools &&
130
130
  allowedTools.length > 0 &&
131
131
  !allowedTools.includes('*')) {
132
- args.push('--allowed-tools', ...allowedTools);
132
+ baseArgs.push('--allowed-tools', ...allowedTools);
133
133
  }
134
134
  // Add disallowed tools to explicitly block them
135
135
  if (allBlockedTools.length > 0) {
136
- args.push('--disallowed-tools', ...allBlockedTools);
136
+ baseArgs.push('--disallowed-tools', ...allBlockedTools);
137
137
  }
138
- // Add resume flag if we have a session ID
139
- if (sessionId) {
140
- args.push('--resume', sessionId);
138
+ // Let the user interject with additional context while the task runs.
139
+ // `claude -p` is non-interactive, so context typed during the run is
140
+ // applied in an automatic follow-up turn on the same conversation.
141
+ const interjections = InterjectionManager.getInstance();
142
+ interjections.start(this.quietMode);
143
+ try {
144
+ const prompt = appendInterjections(taskDescription, interjections.drainPending());
145
+ const args = ['-p', prompt, ...baseArgs];
146
+ // Add resume flag if we have a session ID
147
+ if (sessionId) {
148
+ args.push('--resume', sessionId);
149
+ }
150
+ const first = await this.runCliProcess(args, workingDir);
151
+ let fullLog = first.output;
152
+ let lastMessage = first.lastMessage;
153
+ while (interjections.hasPending()) {
154
+ console.log(chalk.cyan('↪ Applying the context you added during the run...'));
155
+ // --continue resumes the most recent conversation in this working
156
+ // directory (the run that just finished) — the CLI executor never
157
+ // learns new session ids from -p output, so --resume can't be used.
158
+ const followUpArgs = [
159
+ '-p',
160
+ interjectionMessage(interjections.drainPending()),
161
+ ...baseArgs,
162
+ '--continue'
163
+ ];
164
+ const followUp = await this.runCliProcess(followUpArgs, workingDir);
165
+ fullLog += '\n' + followUp.output;
166
+ lastMessage = followUp.lastMessage;
167
+ }
168
+ return { log: fullLog, lastMessage, sessionId: currentSessionId };
169
+ }
170
+ finally {
171
+ interjections.stop();
141
172
  }
142
- return new Promise((resolve, reject) => {
143
- // Spawn the Claude CLI process with inherited stdio for real-time output
144
- const claudeProcess = spawn('claude', args, {
145
- cwd: workingDir,
146
- stdio: ['ignore', 'pipe', 'pipe']
147
- });
148
- let fullOutput = '';
149
- let stderr = '';
150
- // Handle stdout - stream output in real-time
151
- claudeProcess.stdout.on('data', (data) => {
152
- const output = data.toString();
153
- fullOutput += output;
154
- // Stream output directly to console in real-time
155
- process.stdout.write(output);
156
- // Track the last non-empty line as lastMessage
157
- const lines = output
158
- .split('\n')
159
- .filter((line) => line.trim());
160
- if (lines.length > 0) {
161
- lastMessage = lines[lines.length - 1].trim();
162
- }
163
- });
164
- // Handle stderr - stream in real-time as well
165
- claudeProcess.stderr.on('data', (data) => {
166
- const output = data.toString();
167
- stderr += output;
168
- // Stream stderr to console (it may contain useful status info)
169
- process.stderr.write(chalk.gray(output));
170
- });
171
- // Handle process exit
172
- claudeProcess.on('close', (code) => {
173
- if (code === 0) {
174
- console.log(chalk.green('✅ Claude Code CLI execution completed'));
175
- resolve({
176
- log: fullOutput,
177
- lastMessage,
178
- sessionId: currentSessionId
179
- });
180
- }
181
- else {
182
- console.error(chalk.red('❌ Claude Code CLI execution failed'));
183
- if (stderr) {
184
- console.error(chalk.red('Error output:'), stderr);
185
- }
186
- reject(new Error(`Claude CLI exited with code ${code}: ${stderr}`));
187
- }
188
- });
189
- // Handle process errors
190
- claudeProcess.on('error', (error) => {
191
- console.error(chalk.red('❌ Failed to start Claude CLI'));
192
- reject(new Error(`Failed to start Claude CLI: ${error.message}`));
193
- });
194
- // Handle Ctrl+C
195
- const handleInterrupt = () => {
196
- claudeProcess.kill('SIGINT');
197
- console.log(chalk.yellow('\n⚠️ Task cancelled by user (Ctrl+C)'));
198
- reject(new Error('Task execution cancelled by user'));
199
- };
200
- process.on('SIGINT', handleInterrupt);
201
- // Clean up handler when process exits
202
- claudeProcess.on('close', () => {
203
- process.removeListener('SIGINT', handleInterrupt);
204
- });
205
- });
206
173
  }
207
174
  catch (error) {
208
175
  const err = error;
@@ -213,6 +180,67 @@ export class ClaudeCliExecutor {
213
180
  throw new Error(`Claude Code CLI execution failed: ${err.message}`);
214
181
  }
215
182
  }
183
+ /** Spawns one `claude` CLI run, streaming its output in real time. */
184
+ runCliProcess(args, workingDir) {
185
+ return new Promise((resolve, reject) => {
186
+ const claudeProcess = spawn('claude', args, {
187
+ cwd: workingDir,
188
+ stdio: ['ignore', 'pipe', 'pipe']
189
+ });
190
+ let fullOutput = '';
191
+ let stderr = '';
192
+ let lastMessage = '';
193
+ // Handle stdout - stream output in real-time
194
+ claudeProcess.stdout.on('data', (data) => {
195
+ const output = data.toString();
196
+ fullOutput += output;
197
+ // Stream output directly to console in real-time
198
+ process.stdout.write(output);
199
+ // Track the last non-empty line as lastMessage
200
+ const lines = output.split('\n').filter((line) => line.trim());
201
+ if (lines.length > 0) {
202
+ lastMessage = lines[lines.length - 1].trim();
203
+ }
204
+ });
205
+ // Handle stderr - stream in real-time as well
206
+ claudeProcess.stderr.on('data', (data) => {
207
+ const output = data.toString();
208
+ stderr += output;
209
+ // Stream stderr to console (it may contain useful status info)
210
+ process.stderr.write(chalk.gray(output));
211
+ });
212
+ // Handle process exit
213
+ claudeProcess.on('close', (code) => {
214
+ if (code === 0) {
215
+ console.log(chalk.green('✅ Claude Code CLI execution completed'));
216
+ resolve({ output: fullOutput, lastMessage });
217
+ }
218
+ else {
219
+ console.error(chalk.red('❌ Claude Code CLI execution failed'));
220
+ if (stderr) {
221
+ console.error(chalk.red('Error output:'), stderr);
222
+ }
223
+ reject(new Error(`Claude CLI exited with code ${code}: ${stderr}`));
224
+ }
225
+ });
226
+ // Handle process errors
227
+ claudeProcess.on('error', (error) => {
228
+ console.error(chalk.red('❌ Failed to start Claude CLI'));
229
+ reject(new Error(`Failed to start Claude CLI: ${error.message}`));
230
+ });
231
+ // Handle Ctrl+C
232
+ const handleInterrupt = () => {
233
+ claudeProcess.kill('SIGINT');
234
+ console.log(chalk.yellow('\n⚠️ Task cancelled by user (Ctrl+C)'));
235
+ reject(new Error('Task execution cancelled by user'));
236
+ };
237
+ process.on('SIGINT', handleInterrupt);
238
+ // Clean up handler when process exits
239
+ claudeProcess.on('close', () => {
240
+ process.removeListener('SIGINT', handleInterrupt);
241
+ });
242
+ });
243
+ }
216
244
  async generateTaskBreakdown(jobDescription, workingDir) {
217
245
  // Check if Claude CLI is installed
218
246
  if (!this.checkClaudeCliInstalled()) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli-executor.js","sourceRoot":"","sources":["../../src/services/claude-cli-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-cli-executor.js","sourceRoot":"","sources":["../../src/services/claude-cli-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-executor.d.ts","sourceRoot":"","sources":["../../src/services/claude-executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACX,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,cAAe,YAAW,eAAe;IAC7C,SAAS,EAAE,OAAO,CAAS;IAClC,OAAO,CAAC,aAAa,CAAgB;;YAMvB,SAAS;IAgBjB,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC;IAOhB,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAmQhB,qBAAqB,CACzB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAoHd,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;CAItD"}
1
+ {"version":3,"file":"claude-executor.d.ts","sourceRoot":"","sources":["../../src/services/claude-executor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACX,MAAM,uBAAuB,CAAC;AAO/B,qBAAa,cAAe,YAAW,eAAe;IAC7C,SAAS,EAAE,OAAO,CAAS;IAClC,OAAO,CAAC,aAAa,CAAgB;;YAMvB,SAAS;IAgBjB,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC;IAOhB,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IA6VhB,qBAAqB,CACzB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAoHd,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;CAItD"}
@@ -2,7 +2,8 @@ import { query } from '@anthropic-ai/claude-agent-sdk';
2
2
  import chalk from 'chalk';
3
3
  import { ConfigManager } from '../config.js';
4
4
  import path from 'path';
5
- import { execSync } from 'child_process';
5
+ import fs from 'fs';
6
+ import { InterjectionManager, appendInterjections, interjectionMessage } from './interjection-manager.js';
6
7
  export class ClaudeExecutor {
7
8
  quietMode = false;
8
9
  configManager;
@@ -41,15 +42,15 @@ export class ClaudeExecutor {
41
42
  // Check if we're in a worktree by looking for .git file (not directory)
42
43
  try {
43
44
  const gitPath = path.join(workingDir, '.git');
44
- const gitInfo = execSync(`cat "${gitPath}"`, {
45
- encoding: 'utf8'
46
- }).trim();
47
- if (gitInfo.startsWith('gitdir:')) {
48
- // We're in a worktree, extract the main repo path
49
- const gitDirPath = gitInfo.replace('gitdir:', '').trim();
50
- // Go up from .git/worktrees/<name> to get the main repo
51
- if (gitDirPath.includes('/worktrees/')) {
52
- originalRepoPath = path.resolve(gitDirPath, '../../..');
45
+ if (fs.statSync(gitPath).isFile()) {
46
+ const gitInfo = fs.readFileSync(gitPath, 'utf8').trim();
47
+ if (gitInfo.startsWith('gitdir:')) {
48
+ // We're in a worktree, extract the main repo path
49
+ const gitDirPath = gitInfo.replace('gitdir:', '').trim();
50
+ // Go up from .git/worktrees/<name> to get the main repo
51
+ if (gitDirPath.includes('/worktrees/')) {
52
+ originalRepoPath = path.resolve(gitDirPath, '../../..');
53
+ }
53
54
  }
54
55
  }
55
56
  }
@@ -127,13 +128,62 @@ export class ClaudeExecutor {
127
128
  console.log(chalk.yellow('\n⚠️ Task cancelled by user (Ctrl+C)'));
128
129
  };
129
130
  process.on('SIGINT', handleInterrupt);
131
+ // Let the user interject with additional context while the task runs
132
+ // (like an interactive Claude Code session). Interjections are streamed
133
+ // into the live session mid-turn via streaming input mode.
134
+ const interjections = InterjectionManager.getInstance();
135
+ interjections.start(this.quietMode);
136
+ const streamingInput = interjections.isAvailable();
137
+ let inputDone = false;
138
+ let wake = null;
139
+ const wakeUp = () => {
140
+ const w = wake;
141
+ wake = null;
142
+ w?.();
143
+ };
144
+ const liveQueue = [];
145
+ // Interjections streamed to the SDK mid-turn may be absorbed into the
146
+ // running turn (one result covers both) or queued as the next turn
147
+ // (their own result follows). Count what we streamed so the result
148
+ // handler knows it can't just break on the first result it sees.
149
+ let unansweredInterjections = 0;
150
+ const releaseLive = interjections.setLiveListener((text) => {
151
+ liveQueue.push(text);
152
+ wakeUp();
153
+ });
154
+ // Include anything the user typed before this turn started listening.
155
+ const initialPrompt = appendInterjections(taskDescription, interjections.drainPending());
156
+ const makeUserMessage = (text) => ({
157
+ type: 'user',
158
+ message: { role: 'user', content: text },
159
+ parent_tool_use_id: null,
160
+ session_id: currentSessionId || ''
161
+ });
162
+ // Streaming-input mode: yield the task, then forward interjections into
163
+ // the live session as they arrive. Ends once the turn completes with no
164
+ // queued input (inputDone is set by the consuming loop below).
165
+ async function* promptStream() {
166
+ yield makeUserMessage(initialPrompt);
167
+ for (;;) {
168
+ if (liveQueue.length > 0) {
169
+ unansweredInterjections++;
170
+ yield makeUserMessage(interjectionMessage(liveQueue.splice(0)));
171
+ continue;
172
+ }
173
+ if (inputDone)
174
+ return;
175
+ await new Promise((resolve) => {
176
+ wake = resolve;
177
+ });
178
+ }
179
+ }
130
180
  try {
131
181
  // Change to working directory
132
182
  const originalDir = process.cwd();
133
183
  process.chdir(workingDir);
134
184
  // Execute the task using the SDK
135
185
  for await (const message of query({
136
- prompt: taskDescription,
186
+ prompt: streamingInput ? promptStream() : initialPrompt,
137
187
  options: {
138
188
  abortController: abortController,
139
189
  // 1) Point Claude at the exact worktree it should edit:
@@ -184,11 +234,15 @@ export class ClaudeExecutor {
184
234
  }
185
235
  }
186
236
  else if (message.type === 'stream_event') {
187
- // Stream events may contain tool results
188
- if ('event' in message && message.event?.type === 'tool_result') {
189
- const toolResult = `[Tool Result]\n${typeof message.event.result === 'object'
190
- ? JSON.stringify(message.event.result, null, 2)
191
- : String(message.event.result)}\n`;
237
+ // Stream events may contain tool results. The SDK's typed event
238
+ // union doesn't include 'tool_result', so widen for this check.
239
+ const streamEvent = 'event' in message
240
+ ? message.event
241
+ : undefined;
242
+ if (streamEvent?.type === 'tool_result') {
243
+ const toolResult = `[Tool Result]\n${typeof streamEvent.result === 'object'
244
+ ? JSON.stringify(streamEvent.result, null, 2)
245
+ : String(streamEvent.result)}\n`;
192
246
  currentResponse += toolResult;
193
247
  // Add separation after tool result for next Claude response
194
248
  if (currentResponse.trim()) {
@@ -205,6 +259,31 @@ export class ClaudeExecutor {
205
259
  currentResponse += message.result + '\n';
206
260
  lastMessage = message.result; // Capture the last message
207
261
  }
262
+ // In streaming-input mode the query stays open for more input
263
+ // after each completed turn. Decide how to end it:
264
+ if (streamingInput) {
265
+ if (liveQueue.length > 0) {
266
+ // An interjection is queued but not yet delivered — it will
267
+ // start the next turn, so keep the query open.
268
+ }
269
+ else if (unansweredInterjections > 0) {
270
+ // Interjections were streamed into the turn that just
271
+ // finished. The CLI either absorbed them into that turn (no
272
+ // further result is coming) or queued them as a follow-up
273
+ // turn (another result will arrive) — we can't tell which.
274
+ // End our input and drain instead of breaking: stdin EOF
275
+ // makes the CLI finish any queued turn and exit, which ends
276
+ // this loop either way.
277
+ unansweredInterjections = 0;
278
+ inputDone = true;
279
+ wakeUp();
280
+ }
281
+ else {
282
+ inputDone = true;
283
+ wakeUp();
284
+ break;
285
+ }
286
+ }
208
287
  }
209
288
  else if (message.type === 'system') {
210
289
  // System messages for initialization
@@ -233,6 +312,13 @@ export class ClaudeExecutor {
233
312
  process.chdir(originalDir);
234
313
  }
235
314
  finally {
315
+ inputDone = true;
316
+ wakeUp();
317
+ releaseLive();
318
+ // Keep anything typed too late to stream for the next turn instead
319
+ // of dropping it.
320
+ interjections.requeue(liveQueue.splice(0));
321
+ interjections.stop();
236
322
  process.removeListener('SIGINT', handleInterrupt);
237
323
  }
238
324
  if (!this.quietMode)
@@ -1 +1 @@
1
- {"version":3,"file":"claude-executor.js","sourceRoot":"","sources":["../../src/services/claude-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-executor.js","sourceRoot":"","sources":["../../src/services/claude-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import type { Ora } from 'ora';
2
+ /**
3
+ * Captures additional context the user types while an Ivan command is running,
4
+ * similar to interjecting in an interactive Claude Code session.
5
+ *
6
+ * Input is read in raw mode with the echo rendered by this class on its own
7
+ * input line — a spinner redrawing its line would otherwise wipe the
8
+ * terminal's native echo, making typing invisible. While the user is
9
+ * composing, the active spinner (registered via claudeSpinner) is paused, and
10
+ * resumed when the input is submitted or cancelled.
11
+ *
12
+ * Each submitted line is either delivered immediately to a live listener (the
13
+ * SDK executor streams it into the running session mid-turn) or buffered until
14
+ * the next turn starts (the CLI executor applies it in an automatic follow-up
15
+ * turn).
16
+ */
17
+ export declare class InterjectionManager {
18
+ private static instance;
19
+ static getInstance(): InterjectionManager;
20
+ private refCount;
21
+ private listening;
22
+ private keypressAttached;
23
+ private rawModeSet;
24
+ private buffer;
25
+ private pending;
26
+ private liveListener;
27
+ private hintShown;
28
+ private activeSpinner;
29
+ private pausedSpinner;
30
+ private keypressHandler;
31
+ private selfWrite;
32
+ private inputLineVisible;
33
+ private externalMidLine;
34
+ private unhookStreams;
35
+ /** Interjections require an interactive terminal. */
36
+ isAvailable(): boolean;
37
+ /**
38
+ * Begin capturing keystrokes. Ref-counted so overlapping turns can
39
+ * start/stop freely; the listener is only torn down when the outermost
40
+ * stop() is reached.
41
+ */
42
+ start(quiet?: boolean): void;
43
+ /** Stop capturing keystrokes once all active turns have finished. */
44
+ stop(): void;
45
+ /**
46
+ * While the user is composing, the `💬 > ` echo owns the cursor row with no
47
+ * trailing newline — anything the executors print (tool-usage lines,
48
+ * streamed CLI output) would land right after the typed text and shove the
49
+ * echo onto a new line. Intercept stdout/stderr so external output clears
50
+ * the echo, prints on its own line, and the echo is redrawn beneath it.
51
+ */
52
+ private hookOutputStreams;
53
+ /**
54
+ * Registers the spinner currently rendering so it can be paused while the
55
+ * user types (its line redraws would erase the input echo otherwise).
56
+ */
57
+ attachSpinner(spinner: Ora): void;
58
+ detachSpinner(spinner: Ora): void;
59
+ /**
60
+ * Register a handler that receives interjections the moment they are typed
61
+ * (used by the SDK executor to stream them into the running session).
62
+ * Returns a release function; after release, new input buffers again.
63
+ */
64
+ setLiveListener(listener: (text: string) => void): () => void;
65
+ /** Returns and clears any buffered interjections. */
66
+ drainPending(): string[];
67
+ /**
68
+ * Puts interjections back at the front of the buffer — used when a turn
69
+ * ends before delivering input it had already accepted.
70
+ */
71
+ requeue(texts: string[]): void;
72
+ hasPending(): boolean;
73
+ private handleKeypress;
74
+ private submit;
75
+ /**
76
+ * Redraws the input line. The spinner is paused while composing, so this
77
+ * line owns the cursor row; hooked stdout/stderr writes clear and redraw it
78
+ * around any external output so the echo always sits on the bottom line.
79
+ */
80
+ private render;
81
+ private clearInputLine;
82
+ private pauseSpinner;
83
+ private resumeSpinner;
84
+ }
85
+ /**
86
+ * Creates a spinner for phases where a Claude turn runs and interjections are
87
+ * being captured: stdin stays readable (no discardStdin) and the spinner is
88
+ * registered with the InterjectionManager so it pauses while the user types.
89
+ * Finishing the spinner (succeed/fail/warn/info/stopAndPersist) detaches it;
90
+ * plain stop() is left unwrapped because the manager itself uses it to pause.
91
+ */
92
+ export declare function claudeSpinner(text: string): Ora;
93
+ /**
94
+ * Appends buffered interjections to the initial prompt of the next turn.
95
+ */
96
+ export declare function appendInterjections(prompt: string, texts: string[]): string;
97
+ /**
98
+ * Formats interjections delivered as their own message — either streamed into
99
+ * a running SDK session or sent as a CLI follow-up turn.
100
+ */
101
+ export declare function interjectionMessage(texts: string[]): string;
102
+ //# sourceMappingURL=interjection-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interjection-manager.d.ts","sourceRoot":"","sources":["../../src/services/interjection-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAU/B;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoC;IAE3D,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,eAAe,CACS;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAA6B;IAElD,qDAAqD;IACrD,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,KAAK,CAAC,KAAK,UAAQ,GAAG,IAAI;IA0B1B,qEAAqE;IACrE,IAAI,IAAI,IAAI;IAwBZ;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAgDzB;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAIjC,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAKjC;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAO7D,qDAAqD;IACrD,YAAY,IAAI,MAAM,EAAE;IAIxB;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9B,UAAU,IAAI,OAAO;IAIrB,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,MAAM;IAwBd;;;;OAIG;IACH,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;CAStB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAgB/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAK3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAM3D"}