pentesting 0.8.17 → 0.8.19
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/index.js +32 -29
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6624,6 +6624,18 @@ var ASCII_BANNER = `
|
|
|
6624
6624
|
\u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D
|
|
6625
6625
|
\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D
|
|
6626
6626
|
`;
|
|
6627
|
+
var THOUGHT_LABELS = {
|
|
6628
|
+
thinking: "[think]",
|
|
6629
|
+
reasoning: "[reason]",
|
|
6630
|
+
planning: "[plan]",
|
|
6631
|
+
observation: "[observe]",
|
|
6632
|
+
hypothesis: "[hypothesis]",
|
|
6633
|
+
reflection: "[reflect]",
|
|
6634
|
+
action: "[action]",
|
|
6635
|
+
result: "[result]",
|
|
6636
|
+
stuck: "[stuck]",
|
|
6637
|
+
breakthrough: "[!]"
|
|
6638
|
+
};
|
|
6627
6639
|
|
|
6628
6640
|
// src/cli/components/rich-display.tsx
|
|
6629
6641
|
import { Box, Text } from "ink";
|
|
@@ -7016,7 +7028,7 @@ var App = ({ autoApprove = false, target }) => {
|
|
|
7016
7028
|
setIsProcessing(false);
|
|
7017
7029
|
setCurrentStatus("");
|
|
7018
7030
|
setWasInterrupted(true);
|
|
7019
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7031
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "|| Interrupted by ESC - Ready for input");
|
|
7020
7032
|
const buffered = listener.consumePreInputBuffer();
|
|
7021
7033
|
if (buffered) {
|
|
7022
7034
|
setInput(buffered);
|
|
@@ -7080,18 +7092,9 @@ var App = ({ autoApprove = false, target }) => {
|
|
|
7080
7092
|
});
|
|
7081
7093
|
agent.on(AGENT_EVENT.THOUGHT, (thought) => {
|
|
7082
7094
|
setCurrentStatus(thought.content.slice(0, 60));
|
|
7083
|
-
const
|
|
7084
|
-
|
|
7085
|
-
|
|
7086
|
-
planning: "\u{1F4CB}",
|
|
7087
|
-
observation: "\u{1F441}\uFE0F",
|
|
7088
|
-
hypothesis: "\u{1F4A1}",
|
|
7089
|
-
reflection: "\u{1F50D}",
|
|
7090
|
-
action: "\u26A1"
|
|
7091
|
-
};
|
|
7092
|
-
const icon = icons[thought.type] || "\u2022";
|
|
7093
|
-
const preview = thought.content.slice(0, 150);
|
|
7094
|
-
addMessage(MESSAGE_TYPE.SYSTEM, `${icon} ${preview}`);
|
|
7095
|
+
const label = THOUGHT_LABELS[thought.type] || "";
|
|
7096
|
+
const preview = thought.content.slice(0, 200);
|
|
7097
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `${label} ${preview}`);
|
|
7095
7098
|
wireLoggerRef.current?.contentPart(thought.content, thought.type === "thinking");
|
|
7096
7099
|
});
|
|
7097
7100
|
agent.on(AGENT_EVENT.TOOL_CALL, (data) => {
|
|
@@ -7126,14 +7129,14 @@ var App = ({ autoApprove = false, target }) => {
|
|
|
7126
7129
|
forceUpdate((n) => n + 1);
|
|
7127
7130
|
});
|
|
7128
7131
|
agent.on(AGENT_EVENT.LLM_START, () => {
|
|
7129
|
-
setCurrentStatus("
|
|
7130
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7132
|
+
setCurrentStatus("Thinking...");
|
|
7133
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "> AI is analyzing...");
|
|
7131
7134
|
});
|
|
7132
7135
|
agent.on(AGENT_EVENT.LLM_END, () => {
|
|
7133
7136
|
setCurrentStatus("Processing response...");
|
|
7134
7137
|
});
|
|
7135
7138
|
agent.on(AGENT_EVENT.CONTEXT_COMPACTED, () => {
|
|
7136
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7139
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "[compact] Context compacted to save tokens");
|
|
7137
7140
|
wireLoggerRef.current?.statusUpdate({ event: "context_compacted" });
|
|
7138
7141
|
});
|
|
7139
7142
|
agent.on(AGENT_EVENT.TOKEN_USAGE, (usage) => {
|
|
@@ -7156,7 +7159,7 @@ var App = ({ autoApprove = false, target }) => {
|
|
|
7156
7159
|
addMessage(MESSAGE_TYPE.SYSTEM, " /y = approve, /n = deny, /ya = always approve");
|
|
7157
7160
|
});
|
|
7158
7161
|
agent.on(AGENT_EVENT.AGENT_SWITCH, (data) => {
|
|
7159
|
-
addMessage(MESSAGE_TYPE.SYSTEM,
|
|
7162
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `> Agent: ${data.name}`);
|
|
7160
7163
|
setCurrentStatus(`Agent: ${data.name}`);
|
|
7161
7164
|
});
|
|
7162
7165
|
agent.on(AGENT_EVENT.RESPONSE, (text) => {
|
|
@@ -7165,14 +7168,14 @@ var App = ({ autoApprove = false, target }) => {
|
|
|
7165
7168
|
}
|
|
7166
7169
|
});
|
|
7167
7170
|
agent.on(AGENT_EVENT.COMPROMISED, (host) => {
|
|
7168
|
-
addMessage(MESSAGE_TYPE.SYSTEM,
|
|
7171
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `[!] PWNED: ${host}`);
|
|
7169
7172
|
});
|
|
7170
7173
|
agent.on(AGENT_EVENT.PAUSED, () => {
|
|
7171
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7174
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "|| Paused");
|
|
7172
7175
|
setIsProcessing(false);
|
|
7173
7176
|
});
|
|
7174
7177
|
agent.on(AGENT_EVENT.RESUMED, () => {
|
|
7175
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7178
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "|> Resumed");
|
|
7176
7179
|
setIsProcessing(true);
|
|
7177
7180
|
});
|
|
7178
7181
|
agent.on(AGENT_EVENT.COMPLETE, () => {
|
|
@@ -7375,7 +7378,7 @@ ${list}`);
|
|
|
7375
7378
|
for (let i = 0; i < allTargets.length; i++) {
|
|
7376
7379
|
const currentTarget = allTargets[i];
|
|
7377
7380
|
if (agent.shouldStop()) {
|
|
7378
|
-
addMessage(MESSAGE_TYPE.SYSTEM,
|
|
7381
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `|| Stopped at target ${i + 1}/${allTargets.length}`);
|
|
7379
7382
|
break;
|
|
7380
7383
|
}
|
|
7381
7384
|
agent.setTarget(currentTarget);
|
|
@@ -7540,7 +7543,7 @@ ${list}`);
|
|
|
7540
7543
|
if (success) {
|
|
7541
7544
|
setCheckpointCount((prev) => Math.max(0, prev - 1));
|
|
7542
7545
|
wireLoggerRef.current?.statusUpdate({ action: "undo" });
|
|
7543
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7546
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "<< Undone to previous checkpoint");
|
|
7544
7547
|
} else {
|
|
7545
7548
|
addMessage(MESSAGE_TYPE.ERROR, "No checkpoint to undo");
|
|
7546
7549
|
}
|
|
@@ -7565,7 +7568,7 @@ ${list}`);
|
|
|
7565
7568
|
const summary = "Previous conversation summarized for context efficiency.";
|
|
7566
7569
|
await contextManagerRef.current.compact(summary, 3);
|
|
7567
7570
|
wireLoggerRef.current?.statusUpdate({ action: "compact" });
|
|
7568
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7571
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "[compact] Context compacted (keeping last 3 messages)");
|
|
7569
7572
|
} else {
|
|
7570
7573
|
addMessage(MESSAGE_TYPE.ERROR, "Context manager not initialized");
|
|
7571
7574
|
}
|
|
@@ -7596,7 +7599,7 @@ ${list}`);
|
|
|
7596
7599
|
const text = readClipboardText();
|
|
7597
7600
|
if (text) {
|
|
7598
7601
|
const preview = text.length > 100 ? text.slice(0, 100) + "..." : text;
|
|
7599
|
-
addMessage(MESSAGE_TYPE.SYSTEM,
|
|
7602
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `[clipboard] ${preview}`);
|
|
7600
7603
|
setInput(text);
|
|
7601
7604
|
} else {
|
|
7602
7605
|
addMessage(MESSAGE_TYPE.ERROR, "Clipboard is empty");
|
|
@@ -7616,7 +7619,7 @@ ${list}`);
|
|
|
7616
7619
|
const success = await contextManagerRef.current.revertTo(cpId);
|
|
7617
7620
|
if (success) {
|
|
7618
7621
|
wireLoggerRef.current?.statusUpdate({ action: "revert", checkpointId: cpId });
|
|
7619
|
-
addMessage(MESSAGE_TYPE.SYSTEM,
|
|
7622
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `<< Reverted to checkpoint #${cpId}`);
|
|
7620
7623
|
} else {
|
|
7621
7624
|
addMessage(MESSAGE_TYPE.ERROR, `Checkpoint #${cpId} not found`);
|
|
7622
7625
|
}
|
|
@@ -7657,9 +7660,9 @@ ${list}`);
|
|
|
7657
7660
|
if (skills.length === 0) {
|
|
7658
7661
|
addMessage(MESSAGE_TYPE.SYSTEM, "No skills found. Add SKILL.md files to ~/.pentest/skills/");
|
|
7659
7662
|
} else {
|
|
7660
|
-
addMessage(MESSAGE_TYPE.SYSTEM,
|
|
7663
|
+
addMessage(MESSAGE_TYPE.SYSTEM, `[skills] ${skills.length} Skills:`);
|
|
7661
7664
|
skills.forEach((s) => {
|
|
7662
|
-
addMessage(MESSAGE_TYPE.SYSTEM, ` ${s.type === "flow" ? "
|
|
7665
|
+
addMessage(MESSAGE_TYPE.SYSTEM, ` ${s.type === "flow" ? "[flow]" : "[skill]"} ${s.name}: ${s.description}`);
|
|
7663
7666
|
});
|
|
7664
7667
|
}
|
|
7665
7668
|
} catch (e) {
|
|
@@ -7693,7 +7696,7 @@ ${list}`);
|
|
|
7693
7696
|
const notification = formatUpdateNotification(result);
|
|
7694
7697
|
if (notification) addMessage(MESSAGE_TYPE.SYSTEM, notification);
|
|
7695
7698
|
if (args[0] === "now") {
|
|
7696
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7699
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "> Updating...");
|
|
7697
7700
|
const updateResult = doUpdate();
|
|
7698
7701
|
addMessage(updateResult.success ? MESSAGE_TYPE.SYSTEM : MESSAGE_TYPE.ERROR, updateResult.message);
|
|
7699
7702
|
} else {
|
|
@@ -7707,7 +7710,7 @@ ${list}`);
|
|
|
7707
7710
|
}
|
|
7708
7711
|
return;
|
|
7709
7712
|
case "think":
|
|
7710
|
-
addMessage(MESSAGE_TYPE.SYSTEM, "
|
|
7713
|
+
addMessage(MESSAGE_TYPE.SYSTEM, "[think] Extended reasoning enabled");
|
|
7711
7714
|
return;
|
|
7712
7715
|
default:
|
|
7713
7716
|
const slashRegistry = getSlashCommandRegistry();
|