zelari-code 0.7.8 → 0.7.9
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 +27 -1
- package/bin/zelari-code.js +1 -1
- package/dist/agents/councilApi.js +7 -7
- package/dist/agents/councilApi.js.map +1 -1
- package/dist/agents/councilDirectives.js +3 -3
- package/dist/agents/promoteMember.js +2 -2
- package/dist/agents/roles.js +50 -32
- package/dist/agents/roles.js.map +1 -1
- package/dist/agents/skills/builtin/debugging.js +4 -4
- package/dist/agents/skills/builtin/debugging.js.map +1 -1
- package/dist/agents/skills/builtin/docs.js +23 -13
- package/dist/agents/skills/builtin/docs.js.map +1 -1
- package/dist/agents/skills/builtin/git-ops.js +3 -3
- package/dist/agents/skills/builtin/git-ops.js.map +1 -1
- package/dist/agents/skills/builtin/planning.js +4 -4
- package/dist/agents/skills/builtin/planning.js.map +1 -1
- package/dist/agents/skills/builtin/refactoring.js +3 -3
- package/dist/agents/skills/builtin/refactoring.js.map +1 -1
- package/dist/agents/skills/builtin/review.js +9 -9
- package/dist/agents/skills/builtin/review.js.map +1 -1
- package/dist/agents/skills/builtin/testing.js +3 -3
- package/dist/agents/skills/builtin/testing.js.map +1 -1
- package/dist/agents/tools.js +2 -9
- package/dist/agents/tools.js.map +1 -1
- package/dist/cli/app.js +48 -17
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/components/CollapsibleToolOutput.js +8 -26
- package/dist/cli/components/CollapsibleToolOutput.js.map +1 -1
- package/dist/cli/components/Header.js +6 -18
- package/dist/cli/components/Header.js.map +1 -1
- package/dist/cli/components/Sidebar.js +86 -37
- package/dist/cli/components/Sidebar.js.map +1 -1
- package/dist/cli/components/SplashScreen.js +117 -71
- package/dist/cli/components/SplashScreen.js.map +1 -1
- package/dist/cli/components/StatusBar.js +22 -18
- package/dist/cli/components/StatusBar.js.map +1 -1
- package/dist/cli/councilConfig.js +38 -0
- package/dist/cli/councilConfig.js.map +1 -0
- package/dist/cli/councilDispatcher.js +35 -49
- package/dist/cli/councilDispatcher.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +80 -61
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/hooks/useExecutionTimer.js +25 -0
- package/dist/cli/hooks/useExecutionTimer.js.map +1 -0
- package/dist/cli/hooks/useGitChanges.js +142 -0
- package/dist/cli/hooks/useGitChanges.js.map +1 -0
- package/dist/cli/hooks/useSlashDispatch.js +9 -2
- package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
- package/dist/cli/main.bundled.js +1668 -1151
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +1 -1
- package/dist/cli/mcp/mcpClient.js +14 -6
- package/dist/cli/mcp/mcpClient.js.map +1 -1
- package/dist/cli/updater.js +8 -5
- package/dist/cli/updater.js.map +1 -1
- package/dist/cli/utils/cmdline.js +26 -0
- package/dist/cli/utils/cmdline.js.map +1 -0
- package/dist/cli/utils/paths.js +20 -0
- package/dist/cli/utils/paths.js.map +1 -0
- package/dist/cli/workspace/planDetect.js +17 -0
- package/dist/cli/workspace/planDetect.js.map +1 -0
- package/dist/cli/workspace/postCouncilHook.js +39 -28
- package/dist/cli/workspace/postCouncilHook.js.map +1 -1
- package/dist/cli/workspace/stubs.js +241 -196
- package/dist/cli/workspace/stubs.js.map +1 -1
- package/dist/main/core/AgentHarness.js +36 -7
- package/dist/main/core/AgentHarness.js.map +1 -1
- package/dist/main/core/tools/builtin/listFiles.js +43 -5
- package/dist/main/core/tools/builtin/listFiles.js.map +1 -1
- package/dist/main/core/tools/builtin/search.js +28 -120
- package/dist/main/core/tools/builtin/search.js.map +1 -1
- package/package.json +71 -71
- package/dist/cli/oauthCallbackServer.js +0 -207
- package/dist/cli/oauthCallbackServer.js.map +0 -1
- package/dist/main/core/tools/builtin/_walk.js +0 -129
- package/dist/main/core/tools/builtin/_walk.js.map +0 -1
- package/dist/main/core/tools/builtin/diff.js +0 -477
- package/dist/main/core/tools/builtin/diff.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/planning.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;kFAamD,CAAC;AAEnF,MAAM,gBAAgB,GAA0B;IAC9C,EAAE,EAAE,mBAAmB;IACvB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,uIAAuI;IACpJ,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const extractReusable = {
|
|
|
19
19
|
name: 'Extract Reusable Module',
|
|
20
20
|
description: 'Find duplication across files via semantic search. Identify shared logic, propose a new reusable module with a clean API, plan the migration of all call sites.',
|
|
21
21
|
category: 'refactor',
|
|
22
|
-
requiredRoles: ['
|
|
22
|
+
requiredRoles: ['atlas', 'oracle'],
|
|
23
23
|
requiredTools: ['searchRAG'],
|
|
24
24
|
estimatedCost: 'medium',
|
|
25
25
|
enabledByDefault: true,
|
|
@@ -103,7 +103,7 @@ const simplifyConditionals = {
|
|
|
103
103
|
name: 'Simplify Conditionals',
|
|
104
104
|
description: 'Reduce cyclomatic complexity of boolean/conditional code. Extract guard clauses, replace nested if-else with lookup tables, simplify boolean expressions using De Morgan\'s laws.',
|
|
105
105
|
category: 'refactor',
|
|
106
|
-
requiredRoles: ['
|
|
106
|
+
requiredRoles: ['atlas'],
|
|
107
107
|
requiredTools: [],
|
|
108
108
|
estimatedCost: 'low',
|
|
109
109
|
enabledByDefault: true,
|
|
@@ -179,7 +179,7 @@ const refactorMonolith = {
|
|
|
179
179
|
name: 'Refactor Monolith',
|
|
180
180
|
description: 'Multi-perspective decomposition of large files (>1000 LOC) into focused modules. Identifies natural responsibility boundaries, proposes a module map with line numbers, validates no circular deps, generates a per-phase migration plan.',
|
|
181
181
|
category: 'refactor',
|
|
182
|
-
requiredRoles: ['
|
|
182
|
+
requiredRoles: ['hephaestus', 'atlas', 'oracle'],
|
|
183
183
|
requiredTools: ['searchRAG', 'createTask'],
|
|
184
184
|
estimatedCost: 'high',
|
|
185
185
|
enabledByDefault: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactoring.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/refactoring.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;kFAamD,CAAC;AAEnF,MAAM,eAAe,GAA0B;IAC7C,EAAE,EAAE,kBAAkB;IACtB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,iKAAiK;IAC9K,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"refactoring.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/refactoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const securityAudit = {
|
|
|
19
19
|
name: 'Security Audit',
|
|
20
20
|
description: 'OWASP Top 10 + CVE check on dependencies + secrets scan. Identifies injection vectors, auth flaws, unsafe deserialization, hardcoded credentials.',
|
|
21
21
|
category: 'review',
|
|
22
|
-
requiredRoles: ['
|
|
22
|
+
requiredRoles: ['oracle'],
|
|
23
23
|
requiredTools: ['grep_content', 'read_file'],
|
|
24
24
|
estimatedCost: 'medium',
|
|
25
25
|
enabledByDefault: true,
|
|
@@ -96,7 +96,7 @@ const performanceReview = {
|
|
|
96
96
|
name: 'Performance Review',
|
|
97
97
|
description: 'Identify algorithmic complexity issues (O(n²), O(n³)), N+1 queries, unnecessary allocations, missing caching opportunities, I/O blocking patterns.',
|
|
98
98
|
category: 'review',
|
|
99
|
-
requiredRoles: ['
|
|
99
|
+
requiredRoles: ['atlas'],
|
|
100
100
|
requiredTools: ['read_file', 'grep_content'],
|
|
101
101
|
estimatedCost: 'medium',
|
|
102
102
|
enabledByDefault: true,
|
|
@@ -161,7 +161,7 @@ const testCoverageAnalysis = {
|
|
|
161
161
|
name: 'Test Coverage Analysis',
|
|
162
162
|
description: 'Identify untested code branches. Suggest specific test cases that would close the coverage gap, prioritizing edge cases and error paths.',
|
|
163
163
|
category: 'review',
|
|
164
|
-
requiredRoles: ['
|
|
164
|
+
requiredRoles: ['oracle', 'atlas'],
|
|
165
165
|
requiredTools: ['read_file'],
|
|
166
166
|
estimatedCost: 'medium',
|
|
167
167
|
enabledByDefault: true,
|
|
@@ -226,9 +226,9 @@ const codeReview = {
|
|
|
226
226
|
id: 'code-review',
|
|
227
227
|
version: '1.0.0',
|
|
228
228
|
name: 'Code Review',
|
|
229
|
-
description: 'Multi-role review covering correctness, style, performance, security, and accessibility. Each role emits findings with severity (CRITICAL/HIGH/MEDIUM/LOW).
|
|
229
|
+
description: 'Multi-role review covering correctness, style, performance, security, and accessibility. Each role emits findings with severity (CRITICAL/HIGH/MEDIUM/LOW). Chairman synthesizes consensus.',
|
|
230
230
|
category: 'review',
|
|
231
|
-
requiredRoles: ['
|
|
231
|
+
requiredRoles: ['oracle', 'atlas', 'chairman'],
|
|
232
232
|
requiredTools: ['read_file', 'grep_content', 'searchRAG'],
|
|
233
233
|
estimatedCost: 'high',
|
|
234
234
|
enabledByDefault: true,
|
|
@@ -254,10 +254,10 @@ const codeReview = {
|
|
|
254
254
|
input: 'Review src/components/AuthForm.tsx (180 LOC) — adds passwordless email login',
|
|
255
255
|
output: {
|
|
256
256
|
findings: [
|
|
257
|
-
{ role: '
|
|
258
|
-
{ role: '
|
|
259
|
-
{ role: '
|
|
260
|
-
{ role: '
|
|
257
|
+
{ role: 'oracle', severity: 'CRITICAL', line: 67, issue: 'No CSRF token on the form submit', file: 'src/components/AuthForm.tsx' },
|
|
258
|
+
{ role: 'atlas', severity: 'HIGH', line: 23, issue: 'N+1 query: user lookup fires on every keystroke instead of debounced', file: 'src/components/AuthForm.tsx' },
|
|
259
|
+
{ role: 'oracle', severity: 'MEDIUM', line: 102, issue: 'Error message leaks server response body (XSS risk)', file: 'src/components/AuthForm.tsx' },
|
|
260
|
+
{ role: 'chairman', severity: 'LOW', line: 45, issue: 'Variable name `usrEml` should be `userEmail` (style)', file: 'src/components/AuthForm.tsx' },
|
|
261
261
|
],
|
|
262
262
|
consensus: '2 CRITICAL/HIGH blockers must be fixed before merge. CSRF is the most critical. After CSRF fix, N+1 query, then error message.',
|
|
263
263
|
mergeVerdict: 'BLOCK',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/review.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;kFAamD,CAAC;AAEnF,MAAM,aAAa,GAA0B;IAC3C,EAAE,EAAE,gBAAgB;IACpB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,mJAAmJ;IAChK,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const writeUnitTests = {
|
|
|
19
19
|
name: 'Write Unit Tests',
|
|
20
20
|
description: 'TDD-style test generation for a function or module. Output: 5-10 focused unit tests covering happy paths, edge cases (empty/null/boundary), error paths. Each test has one assertion. Uses Vitest patterns (the project standard).',
|
|
21
21
|
category: 'test',
|
|
22
|
-
requiredRoles: ['
|
|
22
|
+
requiredRoles: ['oracle', 'atlas'],
|
|
23
23
|
requiredTools: ['read_file'],
|
|
24
24
|
estimatedCost: 'medium',
|
|
25
25
|
enabledByDefault: true,
|
|
@@ -90,7 +90,7 @@ const writeIntegrationTests = {
|
|
|
90
90
|
name: 'Write Integration Tests',
|
|
91
91
|
description: 'Generate end-to-end scenario tests that span multiple components. Tests verify the integration boundary, not individual units. Uses real subsystems (or close mocks) to catch contract mismatches.',
|
|
92
92
|
category: 'test',
|
|
93
|
-
requiredRoles: ['
|
|
93
|
+
requiredRoles: ['oracle', 'hephaestus'],
|
|
94
94
|
requiredTools: ['read_file', 'grep_content'],
|
|
95
95
|
estimatedCost: 'medium',
|
|
96
96
|
enabledByDefault: true,
|
|
@@ -156,7 +156,7 @@ const regressionTest = {
|
|
|
156
156
|
name: 'Regression Test',
|
|
157
157
|
description: 'Convert a bug report into a permanent regression test. The test must fail on the BUGGY code (pre-fix), pass on the FIXED code (post-fix), and stay in the suite forever to prevent the bug from coming back.',
|
|
158
158
|
category: 'test',
|
|
159
|
-
requiredRoles: ['
|
|
159
|
+
requiredRoles: ['oracle'],
|
|
160
160
|
requiredTools: ['write_file'],
|
|
161
161
|
estimatedCost: 'low',
|
|
162
162
|
enabledByDefault: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;kFAamD,CAAC;AAEnF,MAAM,cAAc,GAA0B;IAC5C,EAAE,EAAE,kBAAkB;IACtB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oOAAoO;IACjP,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/testing.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/tools.js
CHANGED
|
@@ -133,20 +133,13 @@ function buildBuiltinRegistry() {
|
|
|
133
133
|
let _allTools = buildBuiltinRegistry();
|
|
134
134
|
let _toolByName = new Map(_allTools.map((t) => [t.name, t]));
|
|
135
135
|
let _validToolNames = new Set(_toolByName.keys());
|
|
136
|
-
/** Workspace stubs registered by the CLI (Phase 4 wiring). */
|
|
137
|
-
let _workspaceStubs = [];
|
|
138
136
|
function rebuildIndex() {
|
|
139
|
-
_toolByName = new Map(
|
|
137
|
+
_toolByName = new Map(_allTools.map((t) => [t.name, t]));
|
|
140
138
|
_validToolNames = new Set(_toolByName.keys());
|
|
141
139
|
}
|
|
142
|
-
/** Register workspace stubs (CLI-only). Replaces any previous set. */
|
|
143
|
-
export function setWorkspaceStubs(stubs) {
|
|
144
|
-
_workspaceStubs = stubs;
|
|
145
|
-
rebuildIndex();
|
|
146
|
-
}
|
|
147
140
|
/** Read-only snapshot of the current registry (always a fresh array). */
|
|
148
141
|
export function getAllTools() {
|
|
149
|
-
return [..._allTools
|
|
142
|
+
return [..._allTools];
|
|
150
143
|
}
|
|
151
144
|
/** Register a custom tool (user-defined or MCP-discovered). If a tool with
|
|
152
145
|
* the same name already exists, it is replaced. */
|
package/dist/agents/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/agents/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/agents/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/app.js
CHANGED
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
// hook signatures and remove this annotation. The split is documented in
|
|
4
4
|
// `docs/plans/2026-07-01-app-split.md`.
|
|
5
5
|
import React, { useState, useMemo, useCallback } from 'react';
|
|
6
|
-
import { Box, Static } from 'ink';
|
|
6
|
+
import { Box, Static, useInput, useStdin } from 'ink';
|
|
7
7
|
import { InputBar } from './components/InputBar.js';
|
|
8
8
|
import { LiveRegion } from './components/LiveRegion.js';
|
|
9
9
|
import { StatusBar } from './components/StatusBar.js';
|
|
10
|
+
import { Sidebar, shouldShowSidebar } from './components/Sidebar.js';
|
|
10
11
|
import { renderMessage } from './components/ChatStream.js';
|
|
11
|
-
import { formatSkillList } from './slashCommands.js';
|
|
12
12
|
import { listCodingSkills } from '@zelari/core/skills';
|
|
13
|
+
import { useGitChanges } from './hooks/useGitChanges.js';
|
|
14
|
+
import { useExecutionTimer } from './hooks/useExecutionTimer.js';
|
|
15
|
+
import { shortenCwd } from './utils/paths.js';
|
|
13
16
|
import '@zelari/core/skills/builtin/debugging';
|
|
14
17
|
import '@zelari/core/skills/builtin/docs';
|
|
15
18
|
import '@zelari/core/skills/builtin/git-ops';
|
|
@@ -61,10 +64,26 @@ export function App() {
|
|
|
61
64
|
// printed" index so the ANSI-cleared scrollback stays in sync). Also bumped
|
|
62
65
|
// implicitly by a sessionId change (/new).
|
|
63
66
|
const [clearEpoch, setClearEpoch] = useState(0);
|
|
67
|
+
// v0.7.9: dispatch mode for free-form prompts — 'agent' (single harness
|
|
68
|
+
// turn) or 'council' (6-member pipeline). Toggled with shift+tab.
|
|
69
|
+
const [mode, setMode] = useState('agent');
|
|
64
70
|
const activeProviderSpec = getActiveProviderSpec();
|
|
65
71
|
const activeModel = providerConfig.modelByProvider[activeProviderSpec.id];
|
|
66
72
|
const session = useSession();
|
|
67
73
|
const size = useTerminalSize();
|
|
74
|
+
const gitChanges = useGitChanges();
|
|
75
|
+
const cwd = useMemo(() => shortenCwd(process.cwd(), 32), []);
|
|
76
|
+
// v0.7.9: execution timer — elapsed time of the in-flight turn (shown in
|
|
77
|
+
// the StatusBar as `⏱ 12s`, then frozen as `last 34s` when the run ends).
|
|
78
|
+
const timer = useExecutionTimer(busy);
|
|
79
|
+
// shift+tab → toggle agent/council. ink-text-input ignores tab keys, so
|
|
80
|
+
// this never fights the InputBar. Guarded: useInput needs raw mode.
|
|
81
|
+
const { isRawModeSupported } = useStdin();
|
|
82
|
+
useInput((_input, key) => {
|
|
83
|
+
if (key.tab && key.shift) {
|
|
84
|
+
setMode((m) => (m === 'agent' ? 'council' : 'agent'));
|
|
85
|
+
}
|
|
86
|
+
}, { isActive: isRawModeSupported === true });
|
|
68
87
|
// Throttle layer for the `live` region — coalesces per-token streaming
|
|
69
88
|
// updates (~50-200/sec) into ≤60 renders/sec. The finalized array uses the
|
|
70
89
|
// raw setter (its appends are rare and user-facing).
|
|
@@ -115,38 +134,50 @@ export function App() {
|
|
|
115
134
|
setQueueCount: chatTurn.setQueueCount,
|
|
116
135
|
dispatchPrompt: chatTurn.dispatchPrompt,
|
|
117
136
|
dispatchCouncilPrompt: chatTurn.dispatchCouncilPrompt,
|
|
137
|
+
mode,
|
|
118
138
|
onNewSession,
|
|
119
139
|
onExit,
|
|
120
140
|
onClear,
|
|
121
141
|
});
|
|
122
|
-
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
// what's available without the 40-col Sidebar (which can't coexist with
|
|
126
|
-
// native scrollback — a fixed right column would be printed into every
|
|
127
|
-
// scrollback line).
|
|
142
|
+
// The one-shot banner: printed once as the first Static item. v0.7.9: the
|
|
143
|
+
// skill list is gone (it doubled the banner height and duplicated /help);
|
|
144
|
+
// the banner is now just the wordmark line + cwd + a hint.
|
|
128
145
|
const banner = useMemo(() => {
|
|
129
|
-
const skillList = formatSkillList(skills);
|
|
130
146
|
return {
|
|
131
147
|
id: 'banner-once',
|
|
132
148
|
role: 'system',
|
|
133
149
|
ts: 0,
|
|
134
150
|
content: `zelari-code v${VERSION} — ${activeProviderSpec.id}/${activeModel}\n` +
|
|
135
|
-
|
|
136
|
-
|
|
151
|
+
`cwd: ${cwd}\n` +
|
|
152
|
+
`/help for commands · /skill <name> · shift+tab toggles agent/council`,
|
|
137
153
|
};
|
|
138
|
-
}, [
|
|
154
|
+
}, [activeProviderSpec.id, activeModel, cwd]);
|
|
139
155
|
// The Static feed: banner first, then finalized messages. `key` lets /clear
|
|
140
156
|
// remount Static so its internal "already printed" index resets. clearEpoch
|
|
141
157
|
// is composed in so /clear forces a remount even within the same session.
|
|
158
|
+
//
|
|
159
|
+
// v0.7.9 duplicate-banner fix: before the session bootstraps, sessionId is
|
|
160
|
+
// '' — the first Static mount would print the banner, then the bootstrap
|
|
161
|
+
// sessionId change would remount Static (new key) and print it AGAIN into
|
|
162
|
+
// scrollback. Feed Static nothing until the session id exists, so the
|
|
163
|
+
// banner prints exactly once, after bootstrap.
|
|
142
164
|
const staticKey = `${session.sessionId || 'pre-bootstrap'}-${clearEpoch}`;
|
|
143
|
-
const staticItems =
|
|
165
|
+
const staticItems = session.sessionId
|
|
166
|
+
? [banner, ...session.messages]
|
|
167
|
+
: [];
|
|
168
|
+
// v0.7.9: right Sidebar (logo + git changes). It lives in the dynamic
|
|
169
|
+
// region — a full-height column can't coexist with the native-scrollback
|
|
170
|
+
// <Static> model — so it docks beside the live/status/input block. Hidden
|
|
171
|
+
// on narrow/short terminals to keep the dynamic region under one screen.
|
|
172
|
+
const showSidebar = shouldShowSidebar(size.columns, size.rows);
|
|
144
173
|
return (React.createElement(React.Fragment, null,
|
|
145
174
|
React.createElement(Static, { key: staticKey, items: staticItems }, (item) => renderMessage(item)),
|
|
146
|
-
React.createElement(Box, { flexDirection: "
|
|
147
|
-
React.createElement(
|
|
148
|
-
|
|
149
|
-
|
|
175
|
+
React.createElement(Box, { flexDirection: "row" },
|
|
176
|
+
React.createElement(Box, { flexDirection: "column", flexGrow: 1, paddingX: 1 },
|
|
177
|
+
React.createElement(LiveRegion, { live: session.live, busy: busy }),
|
|
178
|
+
React.createElement(InputBar, { value: input, onChange: setInput, onSubmit: handleSubmit, disabled: busy }),
|
|
179
|
+
React.createElement(StatusBar, { model: activeModel, provider: activeProviderSpec.id, sessionId: session.sessionId ? session.sessionId.slice(0, 8) : '...', sessionActive: session.sessionActive, queueCount: chatTurn.queueCount, busy: busy, mode: mode, cwd: cwd, elapsedMs: timer.elapsedMs, lastMs: timer.lastMs })),
|
|
180
|
+
showSidebar && (React.createElement(Sidebar, { version: VERSION, changes: gitChanges, rows: size.rows })))));
|
|
150
181
|
}
|
|
151
182
|
// Re-export so legacy imports keep working (Task v0.4.2 audit split).
|
|
152
183
|
// New code should import directly from src/cli/hooks/* instead.
|
package/dist/cli/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AACzE,wCAAwC;AACxC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAU,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,GAAG,EAAQ,MAAM,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
function borderColor(toolName, ok) {
|
|
4
4
|
if (ok === false)
|
|
@@ -12,26 +12,13 @@ function borderColor(toolName, ok) {
|
|
|
12
12
|
return 'red';
|
|
13
13
|
return 'cyan';
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
export function CollapsibleToolOutput(props) {
|
|
16
16
|
const { toolName, summary, body, durationMs, ok, defaultExpanded = false } = props;
|
|
17
17
|
const isControlled = typeof props.expanded === 'boolean';
|
|
18
18
|
const [localExpanded, setLocalExpanded] = useState(defaultExpanded);
|
|
19
|
-
// Sync uncontrolled state when the controlled prop is undefined and
|
|
20
|
-
// defaultExpanded changes post-mount (rare but possible on session
|
|
21
|
-
// resume, where the restored message carries defaultExpanded=true).
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
if (!isControlled)
|
|
24
|
-
setLocalExpanded(defaultExpanded);
|
|
25
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
|
-
}, [defaultExpanded, isControlled]);
|
|
27
19
|
const expanded = isControlled ? props.expanded : localExpanded;
|
|
28
20
|
const color = borderColor(toolName, ok);
|
|
29
|
-
// Status glyph: pending (no verdict yet) / ok / error. Check `ok` first
|
|
30
|
-
// so undefined-with-defined-duration (rare but possible) shows ⋯ not ✓.
|
|
31
|
-
// v0.6.2 audit LOW-4.
|
|
32
|
-
const status = ok === true ? '✓' : ok === false ? '✗' : '⋯';
|
|
33
21
|
const summaryLine = [
|
|
34
|
-
status,
|
|
35
22
|
`[${toolName}]`,
|
|
36
23
|
summary,
|
|
37
24
|
durationMs !== undefined ? `(${durationMs}ms)` : '',
|
|
@@ -40,18 +27,13 @@ function CollapsibleToolOutputImpl(props) {
|
|
|
40
27
|
return (React.createElement(Box, { flexDirection: "column", marginLeft: 2 },
|
|
41
28
|
React.createElement(Box, null,
|
|
42
29
|
React.createElement(Text, { color: color }, summaryLine)),
|
|
43
|
-
expanded && (React.createElement(Box, { flexDirection: "column", marginLeft: 2, borderStyle: "single", borderColor: color, paddingX: 1 },
|
|
44
|
-
|
|
30
|
+
expanded && (React.createElement(Box, { flexDirection: "column", marginLeft: 2, borderStyle: "single", borderColor: color, paddingX: 1 }, body.split('\n').map((line, idx) => (
|
|
31
|
+
// B12 fix — index keys caused "Encountered two children with the
|
|
32
|
+
// same key" warnings when adjacent lines were identical (e.g.
|
|
33
|
+
// empty separators in multi-line tool output). Use line content
|
|
34
|
+
// with an idx fallback for empty lines.
|
|
35
|
+
React.createElement(Text, { key: line || `__blank-${idx}`, dimColor: ok === false }, line)))))));
|
|
45
36
|
}
|
|
46
|
-
export const CollapsibleToolOutput = React.memo(CollapsibleToolOutputImpl, (prev, next) => {
|
|
47
|
-
return (prev.toolName === next.toolName &&
|
|
48
|
-
prev.summary === next.summary &&
|
|
49
|
-
prev.body === next.body &&
|
|
50
|
-
prev.durationMs === next.durationMs &&
|
|
51
|
-
prev.ok === next.ok &&
|
|
52
|
-
prev.expanded === next.expanded &&
|
|
53
|
-
prev.defaultExpanded === next.defaultExpanded);
|
|
54
|
-
});
|
|
55
37
|
/**
|
|
56
38
|
* Pure helper: classify tool color (exported for unit tests).
|
|
57
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleToolOutput.js","sourceRoot":"","sources":["../../../src/cli/components/CollapsibleToolOutput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"CollapsibleToolOutput.js","sourceRoot":"","sources":["../../../src/cli/components/CollapsibleToolOutput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAqChC,SAAS,WAAW,CAAC,QAAgB,EAAE,EAAY;IACjD,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IACpH,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvE,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACnF,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;IACzD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAE,KAAK,CAAC,QAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG;QAClB,IAAI,QAAQ,GAAG;QACf,OAAO;QACP,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC,CAAC,EAAE;QACnD,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KACrB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC;QACvC,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,WAAW,CAAQ,CACpC;QACL,QAAQ,IAAI,CACX,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,EAAE,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAC5F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACnC,iEAAiE;QACjE,8DAA8D;QAC9D,gEAAgE;QAChE,wCAAwC;QACxC,oBAAC,IAAI,IAAC,GAAG,EAAE,IAAI,IAAI,WAAW,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,KAAK,IAAG,IAAI,CAAQ,CAC3E,CAAC,CACE,CACP,CACG,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,EAAY;IAC9D,OAAO,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { formatCost, formatTokens } from '../modelPricing.js';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* re-renders only when one of its primitive props actually changes. This is
|
|
9
|
-
* critical because the parent App re-renders on EVERY streaming token delta
|
|
10
|
-
* (≈20-50/sec during LLM response); without memo the Header would redraw its
|
|
11
|
-
* border 50×/sec, causing visible flicker on the top edge of the terminal.
|
|
5
|
+
* B11 fix — wrapped in React.memo so the header doesn't re-render on every
|
|
6
|
+
* input keystroke or streaming delta. It only re-renders when its props
|
|
7
|
+
* (model, provider, cost, token count, etc.) actually change.
|
|
12
8
|
*/
|
|
13
9
|
function HeaderImpl({ model, provider, skillCount, sessionActive, sessionId, totalTokens, totalCostUsd }) {
|
|
14
10
|
const hasCost = typeof totalCostUsd === 'number' && totalCostUsd > 0;
|
|
@@ -37,14 +33,6 @@ function HeaderImpl({ model, provider, skillCount, sessionActive, sessionId, tot
|
|
|
37
33
|
tokStr,
|
|
38
34
|
" tok")));
|
|
39
35
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return (prev.model === next.model &&
|
|
43
|
-
prev.provider === next.provider &&
|
|
44
|
-
prev.skillCount === next.skillCount &&
|
|
45
|
-
prev.sessionActive === next.sessionActive &&
|
|
46
|
-
prev.sessionId === next.sessionId &&
|
|
47
|
-
prev.totalTokens === next.totalTokens &&
|
|
48
|
-
prev.totalCostUsd === next.totalCostUsd);
|
|
49
|
-
});
|
|
36
|
+
/** B11 — memoized export. Shallow equality suffices (all props are primitives). */
|
|
37
|
+
export const Header = memo(HeaderImpl);
|
|
50
38
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/cli/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/cli/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAc9D;;;;GAIG;AACH,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAe;IACnH,MAAM,OAAO,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,GAAG,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC9C,OAAO,CACL,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK;QAC1E,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,kBAAmB;QAC1C,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI,QAAE,KAAK,CAAQ;QACpB,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI,QAAE,QAAQ,CAAQ;QACvB,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI;YAAE,UAAU;sBAAe;QAChC,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAC1C,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CACjC;QACP,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI,IAAC,QAAQ;;YAAU,SAAS,CAAQ;QACzC,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAG,OAAO,CAAQ;QAC1D,oBAAC,IAAI,IAAC,QAAQ,qBAAW;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;YAAE,MAAM;mBAAY,CAClC,CACP,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC"}
|