osagent-cli 0.1.38 → 0.1.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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osagent-cli",
3
- "version": "0.1.38",
3
+ "version": "0.1.39",
4
4
  "description": "OSAgent - AI Coding Assistant powered by Ollama",
5
5
  "repository": {
6
6
  "type": "git",
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 OSAgent OC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "14879cd";
7
- export declare const CLI_VERSION = "0.1.38";
6
+ export declare const GIT_COMMIT_INFO = "d8c8718";
7
+ export declare const CLI_VERSION = "0.1.39";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = '14879cd';
9
- export const CLI_VERSION = '0.1.38';
8
+ export const GIT_COMMIT_INFO = 'd8c8718';
9
+ export const CLI_VERSION = '0.1.39';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -9,7 +9,7 @@ interface ConsultationQuestion {
9
9
  question: string;
10
10
  context?: string;
11
11
  priority: 'high' | 'medium' | 'low';
12
- category: 'architecture' | 'requirements' | 'clarification' | 'preference';
12
+ category: 'architecture' | 'requirements' | 'clarification' | 'preference' | 'scope';
13
13
  }
14
14
  interface ConsultationDisplayProps {
15
15
  isStreamingActive?: boolean;
@@ -17,6 +17,7 @@ export const ConsultationDisplay = ({ isStreamingActive = false, currentQuestion
17
17
  requirements: '[req]',
18
18
  clarification: '[?]',
19
19
  preference: '[pref]',
20
+ scope: '[scope]',
20
21
  };
21
22
  return (_jsxs(Box, { flexDirection: "column", marginTop: 1, paddingX: 1, children: [_jsxs(Box, { marginBottom: 0, children: [_jsx(Text, { color: theme.text.accent, bold: true, children: isBlocking ? '! ' : '? ' }), _jsxs(Text, { color: theme.text.secondary, children: [t('Consultation'), queueCount > 0 && ` (+${queueCount} more)`] }), isBlocking && (_jsxs(Text, { color: theme.status.warning, children: [" ", t('[Waiting for answer]')] }))] }), _jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: isBlocking ? theme.status.warning : theme.border.default, paddingX: 1, marginTop: 0, children: [_jsxs(Box, { children: [_jsx(Text, { color: priorityColors[currentQuestion.priority], children: categoryIcons[currentQuestion.category] }), _jsx(Text, { color: theme.text.secondary, children: " " }), _jsx(Text, { color: theme.text.primary, wrap: "wrap", children: currentQuestion.question })] }), currentQuestion.context && (_jsx(Box, { marginTop: 0, children: _jsx(Text, { color: theme.text.secondary, dimColor: true, wrap: "wrap", children: currentQuestion.context }) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.text.secondary, children: [t('Reply with your answer in the input below'), isStreamingActive && t(' (agent continues in background)')] }) })] }), _jsx(Box, { marginTop: 0, children: _jsxs(Text, { color: theme.text.secondary, dimColor: true, children: [t('Mode: {{mode}}', { mode: consultationMode }), consultationMode === 'blocking' && currentQuestion.priority === 'high'
22
23
  ? t(' - High priority questions block agent')
@@ -1 +1 @@
1
- {"version":3,"file":"ConsultationDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/ConsultationDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConsultationDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/ConsultationDisplay.tsx"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const CATEGORY_LABELS = {
13
13
  requirements: '📋',
14
14
  clarification: '❓',
15
15
  preference: '⚙️',
16
+ scope: '🎯',
16
17
  };
17
18
  /**
18
19
  * A panel that shows pending consultation questions.
@@ -1 +1 @@
1
- {"version":3,"file":"ConsultationPanel.js","sourceRoot":"","sources":["../../../../src/ui/components/ConsultationPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConsultationPanel.js","sourceRoot":"","sources":["../../../../src/ui/components/ConsultationPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 OSAgent OC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type React from 'react';
7
+ interface QueueStatusBarProps {
8
+ compact?: boolean;
9
+ }
10
+ /**
11
+ * Displays the current queue status showing:
12
+ * - Number of queued prompts
13
+ * - Active agents working
14
+ * - Current processing status
15
+ */
16
+ export declare function QueueStatusBar({ compact }: QueueStatusBarProps): React.JSX.Element | null;
17
+ export {};
@@ -0,0 +1,25 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ import { useOrchestration } from '../contexts/OrchestrationContext.js';
5
+ /**
6
+ * Displays the current queue status showing:
7
+ * - Number of queued prompts
8
+ * - Active agents working
9
+ * - Current processing status
10
+ */
11
+ export function QueueStatusBar({ compact = false }) {
12
+ const { state, getQueueStats } = useOrchestration();
13
+ const queueStats = getQueueStats();
14
+ const isProcessing = state.status === 'processing' || state.status === 'delegating';
15
+ const currentAgent = state.currentAgent;
16
+ // Don't show if nothing is happening
17
+ if (!isProcessing && queueStats.queueSize === 0 && !currentAgent) {
18
+ return null;
19
+ }
20
+ if (compact) {
21
+ return (_jsx(Box, { children: _jsxs(Text, { color: Colors.Gray, children: [queueStats.pending > 0 && `📋 ${queueStats.pending} queued `, queueStats.processing > 0 && `⚡ ${queueStats.processing} processing `, currentAgent && `🤖 ${currentAgent.displayName || currentAgent.id}`] }) }));
22
+ }
23
+ return (_jsxs(Box, { borderStyle: "single", borderColor: Colors.Gray, paddingX: 1, flexDirection: "column", children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: Colors.AccentCyan, children: "Queue Status" }) }), queueStats.pending > 0 && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: Colors.AccentYellow, children: ["\uD83D\uDCCB ", queueStats.pending, " prompt", queueStats.pending !== 1 ? 's' : '', " queued"] }) })), queueStats.processing > 0 && (_jsx(Box, { children: _jsxs(Text, { color: Colors.AccentGreen, children: ["\u26A1 ", queueStats.processing, " processing"] }) })), currentAgent && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: Colors.AccentBlue, children: "Active Agent:" }), _jsx(Box, { marginLeft: 2, children: _jsxs(Text, { color: Colors.Gray, children: ["\u2022 ", currentAgent.displayName || currentAgent.id, " (", currentAgent.tier, ")"] }) })] })), state.detectedSkills.length > 0 && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: Colors.AccentPurple, children: "Detected Skills:" }), state.detectedSkills.slice(0, 3).map((skill, i) => (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { color: Colors.Gray, children: ["\u2022 ", skill.skillName, " (", Math.round(skill.confidence * 100), "%)"] }) }, skill.skillName || i)))] })), queueStats.averageProcessingTime > 0 && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: Colors.Gray, dimColor: true, children: ["Avg time: ", Math.round(queueStats.averageProcessingTime / 1000), "s | Success: ", Math.round(queueStats.successRate * 100), "%"] }) }))] }));
24
+ }
25
+ //# sourceMappingURL=QueueStatusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueueStatusBar.js","sourceRoot":"","sources":["../../../../src/ui/components/QueueStatusBar.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAMvE;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,EAAuB;IACrE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC;IACpF,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAExC,qCAAqC;IACrC,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,aACrB,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,UAAU,EAC5D,UAAU,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,cAAc,EACrE,YAAY,IAAI,MAAM,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,EAAE,EAAE,IAC/D,GACH,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,aAEtB,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,UAAU,6BAAqB,GACpD,EAEL,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,CACzB,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,8BAC1B,UAAU,CAAC,OAAO,aAAS,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAC7D,GACH,CACP,EAEA,UAAU,CAAC,UAAU,GAAG,CAAC,IAAI,CAC5B,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,wBAC1B,UAAU,CAAC,UAAU,mBACnB,GACH,CACP,EAEA,YAAY,IAAI,CACf,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,8BAAsB,EACpD,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBACnB,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,EAAE,QAAI,YAAY,CAAC,IAAI,SAC9D,GACH,IACF,CACP,EAEA,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAClC,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,iCAAyB,EACxD,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAClD,KAAC,GAAG,IAA4B,UAAU,EAAE,CAAC,YAC3C,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBACnB,KAAK,CAAC,SAAS,QAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,UACnD,IAHC,KAAK,CAAC,SAAS,IAAI,CAAC,CAIxB,CACP,CAAC,IACE,CACP,EAEA,UAAU,CAAC,qBAAqB,GAAG,CAAC,IAAI,CACvC,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,iCACrB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBACpD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,SAC7C,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -38,7 +38,8 @@ export const TaskMasterPanel = ({ compact = false, }) => {
38
38
  const { stats } = useSessionStats();
39
39
  const streamingState = useStreamingContext();
40
40
  const { questionQueue, currentQuestion, isActive: consultationActive } = useConsultation();
41
- const { state: orchestrationState } = useOrchestration();
41
+ const { state: orchestrationState, getQueueStats } = useOrchestration();
42
+ const queueStats = getQueueStats();
42
43
  const [elapsedMs, setElapsedMs] = useState(0);
43
44
  const [subagentComments, setSubagentComments] = useState([]);
44
45
  const [stuckWarning, setStuckWarning] = useState(false);
@@ -112,7 +113,7 @@ export const TaskMasterPanel = ({ compact = false, }) => {
112
113
  if (todos.length === 0 && !isResponding && subagentComments.length === 0) {
113
114
  return null;
114
115
  }
115
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [orchestrationState.isActive && orchestrationState.currentAgent && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: Colors.AccentPurple, paddingX: 1, marginBottom: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { color: Colors.AccentPurple, bold: true, children: ["\uD83E\uDD16 ", orchestrationState.currentAgent.displayName] }), _jsxs(Text, { color: theme.text.secondary, children: [orchestrationState.status, orchestrationState.confidence > 0 && ` • ${(orchestrationState.confidence * 100).toFixed(0)}%`] })] }), orchestrationState.detectedSkills.length > 0 && (_jsxs(Text, { color: theme.text.secondary, children: ["Skills: ", orchestrationState.detectedSkills.slice(0, 3).map(s => s.skillName).join(', ')] }))] })), isResponding && subagentComments.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: theme.border.default, paddingX: 1, marginBottom: 1, children: [_jsx(Text, { color: theme.text.secondary, dimColor: true, children: "\uD83D\uDCE1 Agent Activity" }), subagentComments.slice(-3).map((comment) => (_jsx(Box, { children: _jsxs(Text, { color: getCommentColor(comment.type), children: ["[", comment.agent, "] ", comment.message] }) }, comment.id)))] })), _jsxs(Box, { borderStyle: "round", borderColor: isResponding ? Colors.AccentCyan : theme.border.default, paddingX: 1, flexDirection: "column", children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Box, { children: [isResponding ? (_jsxs(Text, { color: Colors.AccentCyan, children: [_jsx(Spinner, { type: "dots" }), ' '] })) : activeTodo ? (_jsxs(Text, { color: theme.status.success, children: [_jsx(Spinner, { type: "dots" }), ' '] })) : (_jsx(Text, { color: theme.text.secondary, children: "\u25CF " })), _jsx(Text, { color: isResponding ? Colors.AccentCyan : theme.text.primary, bold: true, children: "Taskmaster" }), totalCount > 0 && (_jsxs(Text, { color: theme.text.secondary, children: [' ', "(", completedCount, "/", totalCount, ")"] }))] }), _jsxs(Box, { gap: 2, children: [_jsxs(Text, { color: theme.text.secondary, children: [_jsx(Text, { color: Colors.AccentPurple, children: "\u2191" }), ' ', formatTokenCount(totalInputTokens)] }), _jsxs(Text, { color: theme.text.secondary, children: [_jsx(Text, { color: Colors.AccentGreen, children: "\u2193" }), ' ', formatTokenCount(totalOutputTokens)] }), _jsx(Text, { color: theme.text.secondary, children: formatDuration(elapsedMs) })] })] }), activeTodo && (_jsx(Box, { marginTop: 0, children: _jsx(Text, { color: Colors.AccentCyan, children: activeTodo.activeForm || activeTodo.content }) })), totalCount > 0 && !compact && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.status.success, children: '█'.repeat(Math.round((progressPercent / 100) * 20)) }), _jsx(Text, { color: theme.text.secondary, children: '░'.repeat(20 - Math.round((progressPercent / 100) * 20)) }), _jsxs(Text, { color: theme.text.secondary, children: [" ", progressPercent, "%"] })] })), todos.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, paddingLeft: 1, children: [todos.slice(0, compact ? 5 : 10).map((todo, idx) => {
116
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [(orchestrationState.isActive || queueStats.queueSize > 0) && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: Colors.AccentPurple, paddingX: 1, marginBottom: 1, children: [orchestrationState.currentAgent && (_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { color: Colors.AccentPurple, bold: true, children: ["\uD83E\uDD16 ", orchestrationState.currentAgent.displayName] }), _jsxs(Text, { color: theme.text.secondary, children: [orchestrationState.status, orchestrationState.confidence > 0 && ` • ${(orchestrationState.confidence * 100).toFixed(0)}%`] })] })), queueStats.queueSize > 0 && (_jsxs(Box, { gap: 2, children: [_jsxs(Text, { color: Colors.AccentYellow, children: ["\uD83D\uDCCB ", queueStats.pending, " queued"] }), queueStats.processing > 0 && (_jsxs(Text, { color: Colors.AccentGreen, children: ["\u26A1 ", queueStats.processing, " processing"] })), queueStats.averageProcessingTime > 0 && (_jsxs(Text, { color: theme.text.secondary, children: ["avg: ", Math.round(queueStats.averageProcessingTime / 1000), "s"] }))] })), orchestrationState.detectedSkills.length > 0 && (_jsxs(Text, { color: theme.text.secondary, children: ["Skills: ", orchestrationState.detectedSkills.slice(0, 3).map(s => s.skillName).join(', ')] }))] })), isResponding && subagentComments.length > 0 && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: theme.border.default, paddingX: 1, marginBottom: 1, children: [_jsx(Text, { color: theme.text.secondary, dimColor: true, children: "\uD83D\uDCE1 Agent Activity" }), subagentComments.slice(-3).map((comment) => (_jsx(Box, { children: _jsxs(Text, { color: getCommentColor(comment.type), children: ["[", comment.agent, "] ", comment.message] }) }, comment.id)))] })), _jsxs(Box, { borderStyle: "round", borderColor: isResponding ? Colors.AccentCyan : theme.border.default, paddingX: 1, flexDirection: "column", children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Box, { children: [isResponding ? (_jsxs(Text, { color: Colors.AccentCyan, children: [_jsx(Spinner, { type: "dots" }), ' '] })) : activeTodo ? (_jsxs(Text, { color: theme.status.success, children: [_jsx(Spinner, { type: "dots" }), ' '] })) : (_jsx(Text, { color: theme.text.secondary, children: "\u25CF " })), _jsx(Text, { color: isResponding ? Colors.AccentCyan : theme.text.primary, bold: true, children: "Taskmaster" }), totalCount > 0 && (_jsxs(Text, { color: theme.text.secondary, children: [' ', "(", completedCount, "/", totalCount, ")"] }))] }), _jsxs(Box, { gap: 2, children: [_jsxs(Text, { color: theme.text.secondary, children: [_jsx(Text, { color: Colors.AccentPurple, children: "\u2191" }), ' ', formatTokenCount(totalInputTokens)] }), _jsxs(Text, { color: theme.text.secondary, children: [_jsx(Text, { color: Colors.AccentGreen, children: "\u2193" }), ' ', formatTokenCount(totalOutputTokens)] }), _jsx(Text, { color: theme.text.secondary, children: formatDuration(elapsedMs) })] })] }), activeTodo && (_jsx(Box, { marginTop: 0, children: _jsx(Text, { color: Colors.AccentCyan, children: activeTodo.activeForm || activeTodo.content }) })), totalCount > 0 && !compact && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.status.success, children: '█'.repeat(Math.round((progressPercent / 100) * 20)) }), _jsx(Text, { color: theme.text.secondary, children: '░'.repeat(20 - Math.round((progressPercent / 100) * 20)) }), _jsxs(Text, { color: theme.text.secondary, children: [" ", progressPercent, "%"] })] })), todos.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, paddingLeft: 1, children: [todos.slice(0, compact ? 5 : 10).map((todo, idx) => {
116
117
  const isCompleted = todo.status === 'completed';
117
118
  const isInProgress = todo.status === 'in_progress';
118
119
  const isLast = idx === Math.min(todos.length, compact ? 5 : 10) - 1;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskMasterPanel.js","sourceRoot":"","sources":["../../../../src/ui/components/TaskMasterPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskMasterPanel.js","sourceRoot":"","sources":["../../../../src/ui/components/TaskMasterPanel.tsx"],"names":[],"mappings":"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"}
@@ -6,5 +6,7 @@
6
6
  import type { CompressionProps } from '../../types.js';
7
7
  export interface CompressionDisplayProps {
8
8
  compression: CompressionProps;
9
+ /** If true, shows a compact single-line notification style */
10
+ compact?: boolean;
9
11
  }
10
- export declare function CompressionMessage({ compression, }: CompressionDisplayProps): React.JSX.Element;
12
+ export declare function CompressionMessage({ compression, compact, }: CompressionDisplayProps): React.JSX.Element;
@@ -14,7 +14,7 @@ import { t } from '../../../i18n/index.js';
14
14
  * Compression messages appear when the /compress command is run, and show a loading spinner
15
15
  * while compression is in progress, followed up by some compression stats.
16
16
  */
17
- export function CompressionMessage({ compression, }) {
17
+ export function CompressionMessage({ compression, compact = false, }) {
18
18
  const { isPending, originalTokenCount, newTokenCount, compressionStatus } = compression;
19
19
  const originalTokens = originalTokenCount ?? 0;
20
20
  const newTokens = newTokenCount ?? 0;
@@ -24,6 +24,14 @@ export function CompressionMessage({ compression, }) {
24
24
  }
25
25
  switch (compressionStatus) {
26
26
  case CompressionStatus.COMPRESSED:
27
+ if (compact) {
28
+ // Clean single-line format like in screenshot
29
+ const savings = originalTokens - newTokens;
30
+ const percentSaved = Math.round((savings / originalTokens) * 100);
31
+ return t('Conversation compacted ({{percent}}% saved)', {
32
+ percent: String(percentSaved),
33
+ });
34
+ }
27
35
  return t('Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.', {
28
36
  originalTokens: String(originalTokens),
29
37
  newTokens: String(newTokens),
@@ -39,12 +47,16 @@ export function CompressionMessage({ compression, }) {
39
47
  case CompressionStatus.COMPRESSION_FAILED_TOKEN_COUNT_ERROR:
40
48
  return t('Could not compress chat history due to a token counting error.');
41
49
  case CompressionStatus.NOOP:
42
- return 'Nothing to compress.';
50
+ return t('Nothing to compress.');
43
51
  default:
44
52
  return '';
45
53
  }
46
54
  };
47
55
  const text = getCompressionText();
56
+ // Compact notification style (centered, single line with keyboard shortcut)
57
+ if (compact && compressionStatus === CompressionStatus.COMPRESSED) {
58
+ return (_jsx(Box, { justifyContent: "center", width: "100%", children: _jsxs(Text, { color: theme.text.secondary, children: [text, _jsx(Text, { dimColor: true, children: " \u00B7 ctrl+o for history" })] }) }));
59
+ }
48
60
  return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { marginRight: 1, children: isPending ? (_jsx(Spinner, { type: "dots" })) : (_jsx(Text, { color: theme.text.accent, children: "\u2726" })) }), _jsx(Box, { children: _jsx(Text, { color: compression.isPending ? theme.text.accent : theme.status.success, "aria-label": SCREEN_READER_MODEL_PREFIX, children: text }) })] }));
49
61
  }
50
62
  //# sourceMappingURL=CompressionMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompressionMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/CompressionMessage.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAM3C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,WAAW,GACa;IACxB,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GACvE,WAAW,CAAC;IAEd,MAAM,cAAc,GAAG,kBAAkB,IAAI,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,IAAI,CAAC,CAAC;IAErC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACvC,CAAC;QAED,QAAQ,iBAAiB,EAAE,CAAC;YAC1B,KAAK,iBAAiB,CAAC,UAAU;gBAC/B,OAAO,CAAC,CACN,0EAA0E,EAC1E;oBACE,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC;oBACtC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;iBAC7B,CACF,CAAC;YACJ,KAAK,iBAAiB,CAAC,uCAAuC;gBAC5D,qFAAqF;gBACrF,IAAI,cAAc,GAAG,KAAK,EAAE,CAAC;oBAC3B,OAAO,CAAC,CAAC,uDAAuD,CAAC,CAAC;gBACpE,CAAC;gBACD,iEAAiE;gBACjE,6DAA6D;gBAC7D,OAAO,CAAC,CACN,qGAAqG,CACtG,CAAC;YACJ,KAAK,iBAAiB,CAAC,oCAAoC;gBACzD,OAAO,CAAC,CACN,gEAAgE,CACjE,CAAC;YACJ,KAAK,iBAAiB,CAAC,IAAI;gBACzB,OAAO,sBAAsB,CAAC;YAChC;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAElC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YAChB,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,CACxB,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,uBAAU,CACzC,GACG,EACN,KAAC,GAAG,cACF,KAAC,IAAI,IACH,KAAK,EACH,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,gBAEtD,0BAA0B,YAErC,IAAI,GACA,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CompressionMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/CompressionMessage.tsx"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export interface ConsultationQuestion {
10
10
  question: string;
11
11
  context?: string;
12
12
  priority: 'high' | 'medium' | 'low';
13
- category: 'architecture' | 'requirements' | 'clarification' | 'preference';
13
+ category: 'architecture' | 'requirements' | 'clarification' | 'preference' | 'scope';
14
14
  timestamp: number;
15
15
  answered: boolean;
16
16
  answer?: string;
@@ -37,128 +37,171 @@ export function useConsultationGenerator({ streamingState, currentPrompt, }) {
37
37
  }
38
38
  }, [streamingState, currentPrompt, isActive, consultationMode, addQuestion, clearContext]);
39
39
  }
40
+ const QUESTION_PATTERNS = [
41
+ // API/Backend patterns
42
+ {
43
+ patterns: [/\b(api|endpoint|route|rest|graphql|server)\b/i],
44
+ questions: [
45
+ { question: 'Should this API be public or internal-only?', priority: 'high', category: 'scope' },
46
+ { question: 'What error handling approach should be used?', priority: 'medium', category: 'requirements' },
47
+ { question: 'Should rate limiting be implemented?', priority: 'low', category: 'requirements' },
48
+ ],
49
+ },
50
+ // Authentication/Security patterns
51
+ {
52
+ patterns: [/\b(auth|login|session|token|jwt|oauth|password|credential)\b/i],
53
+ questions: [
54
+ { question: 'What should happen on authentication failure?', priority: 'high', category: 'requirements' },
55
+ { question: 'Should there be password strength requirements?', priority: 'medium', category: 'requirements' },
56
+ { question: 'How long should sessions last?', priority: 'low', category: 'preference' },
57
+ ],
58
+ },
59
+ // Database/Storage patterns
60
+ {
61
+ patterns: [/\b(database|db|sql|mongo|redis|cache|storage|persist)\b/i],
62
+ questions: [
63
+ { question: 'Should data be indexed for specific queries?', priority: 'medium', category: 'architecture' },
64
+ { question: 'What happens when storage limits are reached?', priority: 'low', category: 'requirements' },
65
+ ],
66
+ },
67
+ // UI/Component patterns
68
+ {
69
+ patterns: [/\b(component|button|form|modal|dialog|input|ui|widget)\b/i],
70
+ antiPatterns: [/\b(fix|bug|error)\b/i], // Don't ask UI questions for bug fixes
71
+ questions: [
72
+ { question: 'Should this be accessible (ARIA labels, keyboard nav)?', priority: 'high', category: 'requirements' },
73
+ { question: 'Should loading and error states be shown?', priority: 'medium', category: 'requirements' },
74
+ { question: 'Should animations/transitions be used?', priority: 'low', category: 'preference' },
75
+ ],
76
+ },
77
+ // Bug fix patterns
78
+ {
79
+ patterns: [/\b(fix|bug|broken|crash|fail|error|not working|doesn't work)\b/i],
80
+ questions: [
81
+ { question: 'Can you reproduce this consistently?', priority: 'high', category: 'clarification' },
82
+ { question: 'When did this start happening?', priority: 'medium', category: 'clarification' },
83
+ { question: 'Does this affect all users or specific cases?', priority: 'medium', category: 'scope' },
84
+ ],
85
+ },
86
+ // Performance patterns
87
+ {
88
+ patterns: [/\b(slow|performance|optimize|fast|speed|latency|lag)\b/i],
89
+ questions: [
90
+ { question: 'What is the target performance metric?', priority: 'high', category: 'requirements' },
91
+ { question: 'Should this trade off memory for speed?', priority: 'medium', category: 'architecture' },
92
+ { question: 'Are there specific operations that are slow?', priority: 'medium', category: 'clarification' },
93
+ ],
94
+ },
95
+ // Refactoring patterns
96
+ {
97
+ patterns: [/\b(refactor|clean|reorganize|restructure|rewrite)\b/i],
98
+ questions: [
99
+ { question: 'Can existing tests verify the refactor works?', priority: 'high', category: 'requirements' },
100
+ { question: 'Should the external API remain unchanged?', priority: 'high', category: 'requirements' },
101
+ ],
102
+ },
103
+ // Testing patterns
104
+ {
105
+ patterns: [/\b(test|spec|coverage|mock|stub|unit|integration)\b/i],
106
+ questions: [
107
+ { question: 'Should edge cases and error scenarios be tested?', priority: 'medium', category: 'requirements' },
108
+ { question: 'Should mocks be used for external dependencies?', priority: 'medium', category: 'architecture' },
109
+ ],
110
+ },
111
+ // Migration/Update patterns
112
+ {
113
+ patterns: [/\b(migrate|upgrade|update|version|deprecate|breaking)\b/i],
114
+ questions: [
115
+ { question: 'Is backward compatibility required?', priority: 'high', category: 'requirements' },
116
+ { question: 'Should a migration script be provided?', priority: 'medium', category: 'requirements' },
117
+ ],
118
+ },
119
+ // File/Data processing patterns
120
+ {
121
+ patterns: [/\b(file|upload|download|import|export|csv|json|xml|parse)\b/i],
122
+ questions: [
123
+ { question: 'What is the maximum file size expected?', priority: 'medium', category: 'requirements' },
124
+ { question: 'How should malformed data be handled?', priority: 'medium', category: 'requirements' },
125
+ ],
126
+ },
127
+ // Queue/Async patterns
128
+ {
129
+ patterns: [/\b(queue|async|background|job|worker|cron|schedule)\b/i],
130
+ questions: [
131
+ { question: 'What should happen if a job fails?', priority: 'high', category: 'requirements' },
132
+ { question: 'Should failed jobs be retried automatically?', priority: 'medium', category: 'requirements' },
133
+ ],
134
+ },
135
+ // Email/Notification patterns
136
+ {
137
+ patterns: [/\b(email|notification|alert|message|sms|push)\b/i],
138
+ questions: [
139
+ { question: 'Should users be able to opt out?', priority: 'medium', category: 'requirements' },
140
+ { question: 'What templates or formatting should be used?', priority: 'low', category: 'preference' },
141
+ ],
142
+ },
143
+ ];
40
144
  /**
41
145
  * Analyzes the user's prompt and generates relevant consultation questions.
42
- * In a production system, this would use NLP or the AI to generate questions.
146
+ * Uses pattern matching to detect context and generate appropriate questions.
43
147
  */
44
148
  function analyzePromptForQuestions(prompt) {
45
149
  const questions = [];
46
- const lowerPrompt = prompt.toLowerCase();
47
- // Detect different types of requests and generate appropriate questions
48
- // Code creation/feature requests
49
- if (lowerPrompt.includes('create') ||
50
- lowerPrompt.includes('build') ||
51
- lowerPrompt.includes('implement') ||
52
- lowerPrompt.includes('add')) {
53
- // Check for specific patterns
54
- if (lowerPrompt.includes('api') || lowerPrompt.includes('endpoint')) {
55
- questions.push({
56
- question: 'Should the API follow REST conventions or use GraphQL?',
57
- priority: 'high',
58
- category: 'architecture',
59
- });
60
- questions.push({
61
- question: 'What authentication method should be used?',
62
- context: 'JWT, API keys, OAuth, or none',
63
- priority: 'medium',
64
- category: 'requirements',
65
- });
150
+ const matchedCategories = new Set();
151
+ // Extract file paths mentioned in the prompt
152
+ const filePathMatch = prompt.match(/[\/\\][\w\-\/\\]+\.\w+/g);
153
+ const hasFilePaths = filePathMatch && filePathMatch.length > 0;
154
+ // Check each pattern
155
+ for (const matcher of QUESTION_PATTERNS) {
156
+ // Check anti-patterns first
157
+ if (matcher.antiPatterns?.some(p => p.test(prompt))) {
158
+ continue;
66
159
  }
67
- if (lowerPrompt.includes('component') || lowerPrompt.includes('ui')) {
160
+ // Check if any pattern matches
161
+ if (matcher.patterns.some(p => p.test(prompt))) {
162
+ for (const q of matcher.questions) {
163
+ // Avoid duplicate categories for variety
164
+ if (!matchedCategories.has(q.category) || questions.length < 2) {
165
+ questions.push(q);
166
+ matchedCategories.add(q.category);
167
+ }
168
+ if (questions.length >= 4)
169
+ break;
170
+ }
171
+ }
172
+ if (questions.length >= 4)
173
+ break;
174
+ }
175
+ // Add contextual questions based on prompt characteristics
176
+ if (questions.length < 2) {
177
+ // Multi-file operation detected
178
+ if (hasFilePaths && filePathMatch.length > 1) {
68
179
  questions.push({
69
- question: 'Should this component be reusable/generic?',
180
+ question: 'Should changes be atomic (all or nothing)?',
70
181
  priority: 'medium',
71
- category: 'architecture',
182
+ category: 'requirements',
72
183
  });
73
184
  }
74
- if (lowerPrompt.includes('database') || lowerPrompt.includes('data')) {
185
+ // Long prompt suggests complex request
186
+ if (prompt.length > 200) {
75
187
  questions.push({
76
- question: 'What database or storage solution should be used?',
77
- priority: 'high',
78
- category: 'architecture',
188
+ question: 'Should I break this into smaller steps?',
189
+ priority: 'low',
190
+ category: 'scope',
79
191
  });
80
192
  }
81
- // Generic creation questions
82
- if (questions.length === 0) {
193
+ // Question marks in prompt suggest uncertainty
194
+ if (prompt.includes('?')) {
83
195
  questions.push({
84
- question: 'Are there existing patterns in this project I should follow?',
85
- priority: 'medium',
86
- category: 'architecture',
196
+ question: 'Would you like me to explain my approach first?',
197
+ priority: 'low',
198
+ category: 'clarification',
87
199
  });
88
200
  }
89
201
  }
90
- // Bug fix requests
91
- if (lowerPrompt.includes('fix') ||
92
- lowerPrompt.includes('bug') ||
93
- lowerPrompt.includes('error') ||
94
- lowerPrompt.includes('issue')) {
95
- questions.push({
96
- question: 'Can you describe the expected behavior vs actual behavior?',
97
- priority: 'high',
98
- category: 'clarification',
99
- });
100
- questions.push({
101
- question: 'Are there any error messages or logs available?',
102
- priority: 'medium',
103
- category: 'clarification',
104
- });
105
- }
106
- // Refactoring requests
107
- if (lowerPrompt.includes('refactor') ||
108
- lowerPrompt.includes('improve') ||
109
- lowerPrompt.includes('optimize')) {
110
- questions.push({
111
- question: 'What specific aspects need improvement?',
112
- context: 'Performance, readability, maintainability',
113
- priority: 'high',
114
- category: 'requirements',
115
- });
116
- questions.push({
117
- question: 'Should backward compatibility be maintained?',
118
- priority: 'medium',
119
- category: 'requirements',
120
- });
121
- }
122
- // Testing requests
123
- if (lowerPrompt.includes('test') ||
124
- lowerPrompt.includes('testing')) {
125
- questions.push({
126
- question: 'What testing framework should be used?',
127
- priority: 'medium',
128
- category: 'preference',
129
- });
130
- questions.push({
131
- question: 'Should tests include edge cases and error scenarios?',
132
- priority: 'low',
133
- category: 'requirements',
134
- });
135
- }
136
- // Design/style requests
137
- if (lowerPrompt.includes('style') ||
138
- lowerPrompt.includes('design') ||
139
- lowerPrompt.includes('beautiful') ||
140
- lowerPrompt.includes('sexy') ||
141
- lowerPrompt.includes('ui') ||
142
- lowerPrompt.includes('ux')) {
143
- questions.push({
144
- question: 'Are there brand guidelines or color schemes to follow?',
145
- priority: 'medium',
146
- category: 'preference',
147
- });
148
- questions.push({
149
- question: 'Should the design be mobile-responsive?',
150
- priority: 'medium',
151
- category: 'requirements',
152
- });
153
- }
154
- // If no specific questions, add generic ones for longer prompts
155
- if (questions.length === 0 && prompt.length > 50) {
156
- questions.push({
157
- question: 'Are there any constraints or preferences I should know about?',
158
- priority: 'low',
159
- category: 'clarification',
160
- });
161
- }
202
+ // Sort by priority and limit
203
+ const priorityOrder = { high: 0, medium: 1, low: 2 };
204
+ questions.sort((a, b) => priorityOrder[a.priority] - priorityOrder[b.priority]);
162
205
  return questions.slice(0, 3); // Max 3 questions
163
206
  }
164
207
  //# sourceMappingURL=useConsultationGenerator.js.map