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.
Files changed (2) hide show
  1. package/dist/index.js +32 -29
  2. 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, "\u23F8 Interrupted by ESC - Ready for input");
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 icons = {
7084
- thinking: "\u{1F9E0}",
7085
- reasoning: "\u{1F4AD}",
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("\u{1F9E0} Thinking...");
7130
- addMessage(MESSAGE_TYPE.SYSTEM, "\u{1F9E0} AI is analyzing...");
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, "\u{1F4BE} Context compacted to save tokens");
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, `\u{1F504} Agent: ${data.name}`);
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, `\u{1F3AF} PWNED: ${host}`);
7171
+ addMessage(MESSAGE_TYPE.SYSTEM, `[!] PWNED: ${host}`);
7169
7172
  });
7170
7173
  agent.on(AGENT_EVENT.PAUSED, () => {
7171
- addMessage(MESSAGE_TYPE.SYSTEM, "\u23F8\uFE0F Agent paused");
7174
+ addMessage(MESSAGE_TYPE.SYSTEM, "|| Paused");
7172
7175
  setIsProcessing(false);
7173
7176
  });
7174
7177
  agent.on(AGENT_EVENT.RESUMED, () => {
7175
- addMessage(MESSAGE_TYPE.SYSTEM, "\u25B6\uFE0F Agent resumed");
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, `\u23F8 Stopped at target ${i + 1}/${allTargets.length}`);
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, "\u21A9\uFE0F Undone to previous checkpoint");
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, "\u{1F5DC}\uFE0F Context compacted (keeping last 3 messages)");
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, `\u{1F4CB} Clipboard: ${preview}`);
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, `\u21A9\uFE0F Reverted to checkpoint #${cpId}`);
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, `\u{1F4DA} ${skills.length} Skills:`);
7663
+ addMessage(MESSAGE_TYPE.SYSTEM, `[skills] ${skills.length} Skills:`);
7661
7664
  skills.forEach((s) => {
7662
- addMessage(MESSAGE_TYPE.SYSTEM, ` ${s.type === "flow" ? "\u{1F504}" : "\u{1F4DD}"} ${s.name}: ${s.description}`);
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, "\u{1F504} Updating...");
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, "\u{1F9E0} Thinking mode: Extended reasoning enabled");
7713
+ addMessage(MESSAGE_TYPE.SYSTEM, "[think] Extended reasoning enabled");
7711
7714
  return;
7712
7715
  default:
7713
7716
  const slashRegistry = getSlashCommandRegistry();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pentesting",
3
- "version": "0.8.17",
3
+ "version": "0.8.19",
4
4
  "description": "Autonomous Penetration Testing AI Agent",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",