wormclaude 1.0.109 → 1.0.110

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
@@ -688,6 +688,7 @@ function App() {
688
688
  let lastAnswer = ''; // modelin son (sentez) cevabı
689
689
  let lastToolSig = '';
690
690
  let sameToolCount = 0;
691
+ let consecFailTurns = 0; // üst üste TÜM araçların başarısız olduğu tur sayısı (devre-kesici)
691
692
  let taskIn = 0, taskOut = 0, taskCache = 0; // bu görevin GERÇEK token toplamı (tüm turlar; API usage'dan)
692
693
  while (iter < MAX_TURNS) {
693
694
  if (ac.signal.aborted) {
@@ -854,6 +855,21 @@ function App() {
854
855
  if (sum)
855
856
  push({ kind: 'note', text: `⎿ ${sum}` });
856
857
  }
858
+ // Devre-kesici: bu turda TÜM araçlar başarısız olduysa say. Üst üste 2 tur olursa
859
+ // modele "DUR ve özetle" dedir — yoksa model olmayan araç/Unix sözdizimini (grep, hydra)
860
+ // deneyip döngüye girip token yakıyor ve hiç bitirmiyor.
861
+ const _allFailed = results.length > 0 && results.every((r) => !r.ok);
862
+ consecFailTurns = _allFailed ? consecFailTurns + 1 : 0;
863
+ if (consecFailTurns >= 2) {
864
+ historyRef.current = [...historyRef.current, {
865
+ role: 'user',
866
+ content: getLang() === 'en'
867
+ ? 'Multiple commands failed — the required tool/syntax is not available in this environment. STOP running commands and give a SHORT summary of what you found so far, in the user\'s language. Do not call any more tools.'
868
+ : 'Komutlar üst üste başarısız oldu — bu ortamda gerekli araç/sözdizimi yok. Komut çalıştırmayı BIRAK ve şu ana kadarki bulguları KISA bir özetle ver. Başka araç çağırma.',
869
+ }];
870
+ push({ kind: 'note', text: getLang() === 'en' ? 'Commands kept failing — wrapping up with a summary.' : 'Komutlar başarısız oldu — özetle bitiriliyor.' });
871
+ consecFailTurns = 0;
872
+ }
857
873
  }
858
874
  if (!done)
859
875
  push({ kind: 'note', text: t('note.maxTurns', MAX_TURNS) });
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.109';
19
+ export const VERSION = '1.0.110';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wormclaude",
3
- "version": "1.0.109",
3
+ "version": "1.0.110",
4
4
  "description": "WormClaude CLI - uncensored security+code assistant (ink TUI, Claude-style)",
5
5
  "type": "module",
6
6
  "bin": {