wormclaude 1.0.218 → 1.0.220

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
@@ -213,6 +213,13 @@ const _initHistory = () => {
213
213
  // /kopyala komutu (OSC52 ile panoya) sağlanır. ?1049h alt-screen · ?1007h alternate-scroll.
214
214
  // VARSAYILAN: özel renderer (TUI). Eski ink sürümüne dönmek için WORMCLAUDE_INK=1.
215
215
  const _TUI = process.env.WORMCLAUDE_INK ? false : true;
216
+ // Pencere/sekme başlığı → "WormClaude" (cmd/Windows Terminal'de "C:\WINDOWS\system32\cmd.exe"
217
+ // yerine). OSC 0 = ikon-adı + başlık. Renderer dalı ÖNCESİ → hem TUI hem ink'te geçerli.
218
+ try {
219
+ if (process.stdout.isTTY)
220
+ process.stdout.write('\x1b]0;WormClaude\x07');
221
+ }
222
+ catch { }
216
223
  if (!_TUI) {
217
224
  try {
218
225
  process.stdout.write('\x1b[?1049h\x1b[?1007h\x1b[2J\x1b[H');
package/dist/memory.js CHANGED
@@ -16,6 +16,18 @@ const SCAN_THROTTLE_MS = 10 * 60 * 1000;
16
16
  const LOCK_STALE_MS = 60 * 60 * 1000;
17
17
  const MEM_DIR = path.join(process.cwd(), '.wormclaude');
18
18
  const MEM_FILE = path.join(MEM_DIR, 'memory.md');
19
+ // Hafıza KİRLENMESİNİ önle: ham tool_call XML + kod blokları + dosya dökümleri context'i bozar
20
+ // (model klon projesini "hatırlayıp" alakasız davranır). Yazmadan önce temizle + uzunluğu sınırla.
21
+ function sanitizeMemory(s) {
22
+ return (s || '')
23
+ .replace(/<\/?tool_call>/gi, '')
24
+ .replace(/<\/?function[^>\n]*>?/gi, '')
25
+ .replace(/<\/?parameter[^>\n]*>?/gi, '')
26
+ .replace(/```[\s\S]*?```/g, '[kod çıkarıldı]') // kod bloğu = hafıza değil
27
+ .replace(/\n{3,}/g, '\n\n')
28
+ .trim()
29
+ .slice(0, 6000);
30
+ }
19
31
  const LOCK_FILE = path.join(MEM_DIR, '.consolidate-lock');
20
32
  let initialized = false;
21
33
  let inProgress = false;
@@ -76,12 +88,13 @@ export function triggerMemory(history, config) {
76
88
  role: 'user',
77
89
  content: 'NOT: Bu mesaj konuşmanın parçası değil. Yukarıdaki konuşmadan kalıcı, faydalı bilgileri ' +
78
90
  '(kullanıcı tercihleri, kararlar, proje durumu, önemli dosyalar) çıkar ve aşağıdaki mevcut ' +
79
- 'hafızaya MERGE et — kopya yazma, çelişeni güncelle. TÜM güncel hafızayı markdown madde imleriyle ' +
80
- 'döndür. Göreli tarihleri mutlak yap.\n\nMEVCUT HAFIZA:\n' + (prev || '(boş)'),
91
+ 'hafızaya MERGE et — kopya yazma, çelişeni güncelle. SADECE kısa GERÇEKLER yaz (markdown madde imleri). ' +
92
+ 'ASLA kod bloğu (```), dosya içeriği/dökümü, ya da araç (tool_call/function/parameter) sözdizimi YAZMA — ' +
93
+ 'sadece bir-iki cümlelik özet bilgiler. Göreli tarihleri mutlak yap.\n\nMEVCUT HAFIZA:\n' + (prev || '(boş)'),
81
94
  },
82
95
  ], config);
83
96
  fs.mkdirSync(MEM_DIR, { recursive: true });
84
- fs.writeFileSync(MEM_FILE, out);
97
+ fs.writeFileSync(MEM_FILE, sanitizeMemory(out));
85
98
  tasks.append(task.id, `\nhafıza güncellendi: ${MEM_FILE} (${out.length} karakter)`);
86
99
  tasks.finish(task.id, 'done');
87
100
  }
@@ -142,7 +155,8 @@ const MEMORY_HEADER = '## Eklenen Hatıralar';
142
155
  * scope: 'project' → cwd/.wormclaude/memory.md (varsayılan), 'global' → ~/.wormclaude/memory.md.
143
156
  */
144
157
  export function saveMemoryFact(fact, scope = 'project') {
145
- const clean = String(fact || '').trim().replace(/^(-+\s*)+/, '').trim();
158
+ // Sanitize (tool-sözdizimi/kod çıkar) + tek satıra indir — bir "hatıra" kısa bir gerçektir, döküm değil.
159
+ const clean = sanitizeMemory(String(fact || '')).replace(/^(-+\s*)+/, '').replace(/\s*\n\s*/g, ' ').trim();
146
160
  if (!clean)
147
161
  throw new Error('boş hatıra');
148
162
  const dir = scope === 'global'
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.218';
19
+ export const VERSION = '1.0.220';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wormclaude",
3
- "version": "1.0.218",
3
+ "version": "1.0.220",
4
4
  "description": "WormClaude CLI - uncensored security+code assistant (ink TUI, Claude-style)",
5
5
  "type": "module",
6
6
  "bin": {