wormclaude 1.0.179 → 1.0.180
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 +7 -0
- package/dist/theme.js +1 -1
- package/dist/tools.js +12 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -916,6 +916,7 @@ function App() {
|
|
|
916
916
|
setThinking(false);
|
|
917
917
|
setPhase(toolCalls.length > 1 ? t('phase.toolsMulti', toolCalls.length) : t('phase.toolRun', toolCalls[0].name));
|
|
918
918
|
const results = await executeToolCalls(toolCalls, {
|
|
919
|
+
signal: ac.signal, // Esc → çalışan aracı (tarama) durdur
|
|
919
920
|
onResult: (c, _i, res) => {
|
|
920
921
|
if ((c.name === 'WebSearch' || c.name === 'WebFetch') && res.ok)
|
|
921
922
|
usedWeb = true;
|
|
@@ -951,6 +952,12 @@ function App() {
|
|
|
951
952
|
role: 'tool', tool_call_id: toolCalls[i].id, content: _capOut(toolCalls[i].name, results[i].output),
|
|
952
953
|
}];
|
|
953
954
|
}
|
|
955
|
+
// Esc ile durdurulduysa: turu burada bitir (sonraki LLM çağrısına gitme).
|
|
956
|
+
if (ac.signal.aborted) {
|
|
957
|
+
push({ kind: 'note', text: t('note.interrupted') });
|
|
958
|
+
done = true;
|
|
959
|
+
break;
|
|
960
|
+
}
|
|
954
961
|
// Araç-grubu özeti (2+ araçta tek satır etiket)
|
|
955
962
|
if (toolCalls.length >= 2) {
|
|
956
963
|
const sum = await summarizeTools(toolCalls.map((t, i) => ({ name: t.name, args: results[i].args })), config);
|
package/dist/theme.js
CHANGED
package/dist/tools.js
CHANGED
|
@@ -750,6 +750,10 @@ async function execOne(call, hooks) {
|
|
|
750
750
|
const all = [];
|
|
751
751
|
let rpt = `Tam kapsamlı tarama — ${target}\n`;
|
|
752
752
|
for (const _t of ['recon', 'xss', 'sqli']) {
|
|
753
|
+
if (hooks?.signal?.aborted) {
|
|
754
|
+
rpt += `\n[STOPPED] kullanıcı durdurdu (Esc) — kalan taramalar atlandı.`;
|
|
755
|
+
break;
|
|
756
|
+
}
|
|
753
757
|
try {
|
|
754
758
|
const o = await runPentest(cfg(), _t, target, true, () => { });
|
|
755
759
|
if (o?.ok) {
|
|
@@ -860,6 +864,10 @@ export async function executeToolCalls(calls, hooks) {
|
|
|
860
864
|
const worker = async () => {
|
|
861
865
|
while (p < b.items.length) {
|
|
862
866
|
const { c, i } = b.items[p++];
|
|
867
|
+
if (hooks?.signal?.aborted) {
|
|
868
|
+
results[i] = { ok: false, output: '[STOPPED] kullanıcı durdurdu (Esc).', args: {} };
|
|
869
|
+
continue;
|
|
870
|
+
}
|
|
863
871
|
hooks?.onStart?.(c, i);
|
|
864
872
|
const _t = Date.now();
|
|
865
873
|
results[i] = await execOne(c, hooks);
|
|
@@ -871,6 +879,10 @@ export async function executeToolCalls(calls, hooks) {
|
|
|
871
879
|
}
|
|
872
880
|
else {
|
|
873
881
|
for (const { c, i } of b.items) {
|
|
882
|
+
if (hooks?.signal?.aborted) {
|
|
883
|
+
results[i] = { ok: false, output: '[STOPPED] kullanıcı durdurdu (Esc).', args: {} };
|
|
884
|
+
continue;
|
|
885
|
+
}
|
|
874
886
|
hooks?.onStart?.(c, i);
|
|
875
887
|
const _t = Date.now();
|
|
876
888
|
results[i] = await execOne(c, hooks);
|