koneck 2.128.11 → 2.128.13
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/ink-chat.d.ts.map +1 -1
- package/dist/ink-chat.js +23 -45
- package/dist/ink-chat.js.map +1 -1
- package/package.json +1 -1
package/dist/ink-chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink-chat.d.ts","sourceRoot":"","sources":["../src/ink-chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AA2B3D,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ink-chat.d.ts","sourceRoot":"","sources":["../src/ink-chat.tsx"],"names":[],"mappings":"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"}
|
package/dist/ink-chat.js
CHANGED
|
@@ -20,7 +20,6 @@ import { policyFrom, FAILOVER_OFF } from './failover.js';
|
|
|
20
20
|
import { listCheckpoints, revertCheckpoint, previewCheckpoint, snapshotTree, filesTouchedBy, createWorkspaceCheckpoint, checkpointScope } from './checkpoint.js';
|
|
21
21
|
import { fileDiff, diffSummary } from './diff-view.js';
|
|
22
22
|
import { tokenizeLine, spanLangFor } from './highlight-spans.js';
|
|
23
|
-
import { untrackedPatches } from './git-diff.js';
|
|
24
23
|
import { setTerminalTitle } from './terminal-title.js';
|
|
25
24
|
import { listWorkspaceEntries, activeReference } from './workspace-files.js';
|
|
26
25
|
import { attachReferences, linesIn } from './mention-resolve.js';
|
|
@@ -477,7 +476,7 @@ const COMMANDS = [
|
|
|
477
476
|
{ cmd: '/model', desc: 'Show or set the model by name' },
|
|
478
477
|
{ cmd: '/provider', desc: 'Show or switch provider' },
|
|
479
478
|
{ cmd: '/status', desc: 'Provider, model, mode, tokens, cost, workspace' },
|
|
480
|
-
{ cmd: '/diff', desc: '
|
|
479
|
+
{ cmd: '/diff', desc: 'Open the live diff panel; /diff off closes it' },
|
|
481
480
|
{ cmd: '/permissions', desc: 'Show or set approval posture: on or off' },
|
|
482
481
|
{ cmd: '/worktree', desc: 'Show or set isolated-worktree default for future CLI tasks' },
|
|
483
482
|
{ cmd: '/goal', desc: 'Set, inspect, or clear the session’s persistent outcome' },
|
|
@@ -517,7 +516,6 @@ const COMMANDS = [
|
|
|
517
516
|
{ cmd: '/name', desc: 'Name this session, so /resume can find it by name' },
|
|
518
517
|
{ cmd: '/fork', desc: 'Copy this session and continue on the copy' },
|
|
519
518
|
{ cmd: '/archive', desc: 'Keep a session but hide it from /resume' },
|
|
520
|
-
{ cmd: '/diff [on|off]', desc: 'Show changes, or control the live diff panel' },
|
|
521
519
|
{ cmd: '/changes', desc: 'Summarize staged, unstaged, and untracked changes' },
|
|
522
520
|
{ cmd: '/quality', desc: 'Run the detected lint and test checks' },
|
|
523
521
|
{ cmd: '/preflight', desc: 'Run the deterministic ready-to-review gate' },
|
|
@@ -1109,7 +1107,7 @@ Slash commands:
|
|
|
1109
1107
|
/tokens Show token usage breakdown
|
|
1110
1108
|
/cost Show session cost
|
|
1111
1109
|
/memory Show .koneck/MEMORY.md
|
|
1112
|
-
/diff
|
|
1110
|
+
/diff [off] Open the persistent live diff panel; /diff off closes it
|
|
1113
1111
|
/changes Summarize staged, unstaged, and untracked changes
|
|
1114
1112
|
/quality Run the detected lint and test checks
|
|
1115
1113
|
/preflight Check patch integrity and detected quality gates before review/commit
|
|
@@ -1729,8 +1727,8 @@ export function App({ config: initialConfig, clearFrame, synchronizedFrames = fa
|
|
|
1729
1727
|
* Whether the live diff panel is open.
|
|
1730
1728
|
*
|
|
1731
1729
|
* Off until there is something to show, then it opens itself on the first change of a session and
|
|
1732
|
-
* stays as the person leaves it
|
|
1733
|
-
*
|
|
1730
|
+
* stays as the person leaves it. `/diff` opens it and `/diff off` closes it; `diffPanel: false`
|
|
1731
|
+
* in config keeps it shut.
|
|
1734
1732
|
*/
|
|
1735
1733
|
const [showDiffPanel, setShowDiffPanel] = useState(cfg.diffPanel !== false);
|
|
1736
1734
|
const diffPanelTouchedRef = useRef(false);
|
|
@@ -3992,47 +3990,25 @@ export function App({ config: initialConfig, clearFrame, synchronizedFrames = fa
|
|
|
3992
3990
|
}
|
|
3993
3991
|
case '/diff': {
|
|
3994
3992
|
const panel = arg.trim().toLowerCase();
|
|
3995
|
-
if (panel
|
|
3996
|
-
|
|
3997
|
-
setShowDiffPanel(want);
|
|
3998
|
-
diffPanelTouchedRef.current = true;
|
|
3999
|
-
if (want && !altScreen)
|
|
4000
|
-
setAltScreen(true);
|
|
4001
|
-
if (!want && !(cfg.altScreen ?? false)
|
|
4002
|
-
&& !defaultAltScreen(process.stdout, process.env, syncedFramesRef.current)) {
|
|
4003
|
-
setAltScreen(false);
|
|
4004
|
-
}
|
|
4005
|
-
const saved = { ...(await loadKoneckConfig()), diffPanel: want };
|
|
4006
|
-
await saveKoneckConfig(saved);
|
|
4007
|
-
setStored(saved);
|
|
4008
|
-
addSystem(want
|
|
4009
|
-
? 'Live diff panel on. It will appear beside the conversation with the first edit.'
|
|
4010
|
-
: 'Live diff panel hidden.');
|
|
3993
|
+
if (panel !== '' && panel !== 'on' && panel !== 'off') {
|
|
3994
|
+
addSystem('Usage: `/diff` opens the live panel; `/diff off` closes it.');
|
|
4011
3995
|
return;
|
|
4012
3996
|
}
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
return;
|
|
4022
|
-
}
|
|
4023
|
-
const sections = [
|
|
4024
|
-
(staged.all ?? '').trim() ? `**Staged**\n\n${(staged.all ?? '').trim()}` : '',
|
|
4025
|
-
(unstaged.all ?? '').trim() ? `**Unstaged**\n\n${(unstaged.all ?? '').trim()}` : '',
|
|
4026
|
-
untracked.patches.length ? `**Untracked**\n\n${untracked.patches.join('\n\n')}` : '',
|
|
4027
|
-
].filter(Boolean);
|
|
4028
|
-
const omissions = untracked.omitted.length
|
|
4029
|
-
? `\n\nUntracked files not rendered: ${untracked.omitted.join(', ')}`
|
|
4030
|
-
: '';
|
|
4031
|
-
addSystem(sections.length ? sections.join('\n\n') + omissions : 'No staged, unstaged, or renderable untracked changes. `/changes` shows the complete file list.' + omissions);
|
|
4032
|
-
}
|
|
4033
|
-
catch {
|
|
4034
|
-
addSystem(`Could not inspect Git at \`${cfg.cwd}\`. Start KONECK from the project folder and make sure Git is available.`);
|
|
3997
|
+
const want = panel !== 'off';
|
|
3998
|
+
setShowDiffPanel(want);
|
|
3999
|
+
diffPanelTouchedRef.current = true;
|
|
4000
|
+
if (want && !altScreen)
|
|
4001
|
+
setAltScreen(true);
|
|
4002
|
+
if (!want && !(cfg.altScreen ?? false)
|
|
4003
|
+
&& !defaultAltScreen(process.stdout, process.env, syncedFramesRef.current)) {
|
|
4004
|
+
setAltScreen(false);
|
|
4035
4005
|
}
|
|
4006
|
+
const saved = { ...(await loadKoneckConfig()), diffPanel: want };
|
|
4007
|
+
await saveKoneckConfig(saved);
|
|
4008
|
+
setStored(saved);
|
|
4009
|
+
addSystem(want
|
|
4010
|
+
? 'Live diff panel open and pinned beside the conversation. It stays visible until `/diff off`.'
|
|
4011
|
+
: 'Live diff panel hidden.');
|
|
4036
4012
|
return;
|
|
4037
4013
|
}
|
|
4038
4014
|
case '/changes': {
|
|
@@ -5618,7 +5594,9 @@ export function App({ config: initialConfig, clearFrame, synchronizedFrames = fa
|
|
|
5618
5594
|
// fixed alternate-screen frame where Ink can update it in place.
|
|
5619
5595
|
const activityPanelOpen = busy && altScreen && uiWidth >= 100 && termRows >= 24
|
|
5620
5596
|
&& (diffPanelTouchedRef.current ? showDiffPanel : cfg.diffPanel !== false);
|
|
5621
|
-
|
|
5597
|
+
// The panel is a persistent workspace view, not a transient per-edit popup. Its empty state
|
|
5598
|
+
// confirms that it is open and leaves a stable place for the next edit to land.
|
|
5599
|
+
const diffPanelOpen = showDiffPanel && altScreen;
|
|
5622
5600
|
const sidePanelOpen = activityPanelOpen || diffPanelOpen;
|
|
5623
5601
|
// Read by renderStep, which is defined above this line, so it goes through a ref rather than
|
|
5624
5602
|
// depending on declaration order.
|