wormclaude 1.0.41 → 1.0.43

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/cli.js CHANGED
@@ -797,6 +797,8 @@ function App() {
797
797
  flushTelemetry(config.baseUrl, config.apiKey);
798
798
  }
799
799
  async function onSubmit(value) {
800
+ if (busy)
801
+ return; // cevap üretilirken Enter işlemez — yazılan metin durur (type-ahead)
800
802
  let v = value.trim();
801
803
  setInput('');
802
804
  setCmdSel(0);
@@ -1002,7 +1004,7 @@ function App() {
1002
1004
  // Alt-screen + satır-pencere pager: tüm öğeleri satıra çevir, pencere göster.
1003
1005
  // (Kopyalama /kopyala komutuyla; resize'da kaskad olmaz.)
1004
1006
  const all = buildLines(items, cols);
1005
- const reserve = busy ? 4 : 6;
1007
+ const reserve = busy ? 8 : 6; // busy'de artık spinner + giriş kutusu birlikte görünür
1006
1008
  const avail = Math.max(4, rows - reserve - (streaming ? 3 : 0) - 2);
1007
1009
  const maxScroll = Math.max(0, all.length - avail);
1008
1010
  const off = Math.min(scroll, maxScroll);
@@ -1060,10 +1062,10 @@ function App() {
1060
1062
  : React.createElement(WormSpinner, { label: phase })) : null,
1061
1063
  taskPill ? (React.createElement(Box, { paddingX: 1 },
1062
1064
  React.createElement(Text, { color: theme.greyDim }, taskPill))) : null,
1063
- !busy ? (React.createElement(Box, { flexDirection: "column" },
1064
- React.createElement(Box, { borderStyle: "round", borderColor: theme.red, paddingX: 1 },
1065
+ (React.createElement(Box, { flexDirection: "column" },
1066
+ React.createElement(Box, { borderStyle: "round", borderColor: busy ? theme.greyDim : theme.red, paddingX: 1 },
1065
1067
  React.createElement(Text, { color: theme.redBright, bold: true }, "\u276F "),
1066
- React.createElement(TextInput, { value: input, onChange: (val) => { setInput(val); setCmdSel(0); }, onSubmit: onSubmit, placeholder: t('input.placeholder') })),
1068
+ React.createElement(TextInput, { value: input, onChange: (val) => { setInput(val); setCmdSel(0); }, onSubmit: onSubmit, placeholder: busy ? 'cevap üretilirken yazabilirsin…' : t('input.placeholder') })),
1067
1069
  input.startsWith('/') ? (() => {
1068
1070
  const filtered = cmdFilter(input);
1069
1071
  if (!filtered.length)
@@ -1097,7 +1099,7 @@ function App() {
1097
1099
  })() : (React.createElement(Text, { color: theme.greyDim },
1098
1100
  " \uD83D\uDCA1 ",
1099
1101
  tipText(tipId))),
1100
- React.createElement(StatusLine, { model: config.model, ctxTokens: ctxTokens, trust: trustLevel }))) : null));
1102
+ React.createElement(StatusLine, { model: config.model, ctxTokens: ctxTokens, trust: trustLevel })))));
1101
1103
  }
1102
1104
  if (_TUI) {
1103
1105
  import('./tui.js').then((m) => m.runTui()).catch((e) => { console.error(e); process.exit(1); });
package/dist/theme.js CHANGED
@@ -16,4 +16,4 @@ export const theme = {
16
16
  synType: '#a78bfa', // tip/sınıf adları, sabitler
17
17
  synProp: '#e0e0e0', // özellik/anahtar adları
18
18
  };
19
- export const VERSION = '1.0.41';
19
+ export const VERSION = '1.0.43';
package/dist/tui.js CHANGED
@@ -131,10 +131,11 @@ export async function runTui() {
131
131
  let answer = '';
132
132
  let toolCalls = [];
133
133
  for await (const ev of streamChat(history, allToolSchemas(), config)) {
134
+ // NOT: token başına drawFooter ÇAĞIRMA (uzun cevapta binlerce çizim → titreme/kaybolma).
135
+ // streamChars güncellenir; footer'ı 120ms'lik spinTimer çizer; yazma anında keypress çizer.
134
136
  if (ev.type === 'text') {
135
137
  answer += ev.text;
136
138
  streamChars = answer.length;
137
- drawFooter();
138
139
  }
139
140
  else if (ev.type === 'done')
140
141
  toolCalls = ev.toolCalls || [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wormclaude",
3
- "version": "1.0.41",
3
+ "version": "1.0.43",
4
4
  "description": "WormClaude CLI - uncensored security+code assistant (ink TUI, Claude-style)",
5
5
  "type": "module",
6
6
  "bin": {