orquesta-cli 0.2.50 → 0.2.51

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.
@@ -290,14 +290,23 @@ export const PlanExecuteApp = ({ llmClient: initialLlmClient, modelInfo, resumeL
290
290
  };
291
291
  }, [addLog]);
292
292
  useEffect(() => {
293
- if (llmClient) {
294
- llmClient.onStreamingContent = (token) => {
295
- setStreamingText(prev => prev + token);
296
- };
297
- }
293
+ if (!llmClient)
294
+ return;
295
+ let buffer = '';
296
+ let rafId = null;
297
+ llmClient.onStreamingContent = (token) => {
298
+ buffer += token;
299
+ if (!rafId) {
300
+ rafId = setTimeout(() => {
301
+ setStreamingText(buffer);
302
+ rafId = null;
303
+ }, 80);
304
+ }
305
+ };
298
306
  return () => {
299
- if (llmClient)
300
- llmClient.onStreamingContent = null;
307
+ if (rafId)
308
+ clearTimeout(rafId);
309
+ llmClient.onStreamingContent = null;
301
310
  };
302
311
  }, [llmClient]);
303
312
  useEffect(() => {
@@ -1329,12 +1338,13 @@ export const PlanExecuteApp = ({ llmClient: initialLlmClient, modelInfo, resumeL
1329
1338
  filePath = JSON.parse(entry.details || '{}').file || '';
1330
1339
  }
1331
1340
  catch { }
1341
+ const diffLines = entry.diff.length > 10 ? [...entry.diff.slice(0, 10), `... +${entry.diff.length - 10} more lines`] : entry.diff;
1332
1342
  const header = filePath ? `┌─ ${filePath} ─` : '┌─';
1333
1343
  return (React.createElement(Box, { key: entry.id, flexDirection: "column", marginLeft: 2 },
1334
1344
  React.createElement(Text, { color: "gray" },
1335
1345
  header,
1336
1346
  '─'.repeat(Math.max(0, 32 - header.length))),
1337
- entry.diff.map((line, i) => (React.createElement(Text, { key: i, color: line.startsWith('+') ? 'green' : line.startsWith('-') ? 'red' : 'gray' },
1347
+ diffLines.map((line, i) => (React.createElement(Text, { key: i, color: line.startsWith('+') ? 'green' : line.startsWith('-') ? 'red' : 'gray' },
1338
1348
  '│ ',
1339
1349
  line))),
1340
1350
  React.createElement(Text, { color: "gray" }, '└' + '─'.repeat(32))));
@@ -1439,7 +1449,7 @@ export const PlanExecuteApp = ({ llmClient: initialLlmClient, modelInfo, resumeL
1439
1449
  isProcessing && (planExecutionState.executionPhase === 'planning' || planExecutionState.todos.length === 0) && !pendingToolApproval && !isDocsSearching && (React.createElement(Box, { marginY: 1, flexDirection: "column" },
1440
1450
  React.createElement(ActivityIndicator, { activity: getCurrentActivityType(), startTime: activityStartTime, detail: activityDetail, subActivities: subActivities, modelName: currentModelInfo.model }),
1441
1451
  streamingText && (React.createElement(Box, { marginTop: 1, paddingX: 1 },
1442
- React.createElement(Text, { wrap: "wrap" }, streamingText))))),
1452
+ React.createElement(Text, { wrap: "wrap" }, streamingText.split('\n').slice(-15).join('\n')))))),
1443
1453
  isDocsSearching && (React.createElement(DocsSearchProgress, { logs: docsSearchLogs, isSearching: isDocsSearching })),
1444
1454
  planExecutionState.todos.length > 0 && (React.createElement(Box, { marginTop: 2, marginBottom: 1 },
1445
1455
  React.createElement(TodoPanel, { todos: planExecutionState.todos, currentTodoId: planExecutionState.currentTodoId, isProcessing: isProcessing }))),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orquesta-cli",
3
- "version": "0.2.50",
3
+ "version": "0.2.51",
4
4
  "description": "Orquesta CLI - AI-powered coding assistant with team collaboration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",