@pensar/apex 2.1.3-canary.fff17bfd → 2.2.0

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 (58) hide show
  1. package/build/agent-3cdfwxcd.js +19 -0
  2. package/build/agent-q5hwjdtb.js +27 -0
  3. package/build/{agent-c06jb5zv.js → agent-yayy5x2a.js} +10 -8
  4. package/build/{apps-mxhfapvz.js → apps-0es69e2s.js} +17 -16
  5. package/build/{auth-9ysskv2q.js → auth-q73k9bh9.js} +17 -16
  6. package/build/authentication-tqx2brcv.js +19 -0
  7. package/build/blackboxAgent-d0smgqt7.js +19 -0
  8. package/build/{blackboxPentest-pfs3d1nx.js → blackboxPentest-h28nykk5.js} +15 -14
  9. package/build/{cli-90dw3gm4.js → cli-1cf5vy5m.js} +9 -6
  10. package/build/{cli-f8tgnegf.js → cli-1f636vzd.js} +2 -2
  11. package/build/{cli-tg7mcs43.js → cli-1re2kv5v.js} +5 -3
  12. package/build/cli-2jn8104w.js +195 -0
  13. package/build/{cli-29yqhrjq.js → cli-3k1x5rn3.js} +1 -1
  14. package/build/{cli-k941a7ft.js → cli-4tc6888c.js} +1 -1
  15. package/build/{cli-qb3eddc7.js → cli-51dkmt5p.js} +1 -1
  16. package/build/{cli-v34r5t8t.js → cli-6kx46ck0.js} +6186 -513
  17. package/build/{cli-a1acedxf.js → cli-7e5ad5js.js} +15 -6
  18. package/build/{cli-8qb62k90.js → cli-7n43wz82.js} +1 -1
  19. package/build/{cli-fj04wady.js → cli-knqx15w6.js} +5 -2
  20. package/build/{cli-9wd7jy2s.js → cli-n114n8mk.js} +102 -21
  21. package/build/{cli-9h847y2w.js → cli-ptzy9ak5.js} +2 -2
  22. package/build/{cli-g6cjpbr9.js → cli-s43t5ay0.js} +1 -1
  23. package/build/{cli-nth9zebw.js → cli-tz9yg4ew.js} +1147 -336
  24. package/build/{cli-2cvp6x4p.js → cli-vgg6h2ax.js} +1 -1
  25. package/build/{cli-akhax3yn.js → cli-xbdn034b.js} +671 -105
  26. package/build/{cli-wkpsqyjc.js → cli-xpn9tsw0.js} +27 -5
  27. package/build/cli.js +48 -39
  28. package/build/{config-ky5za80x.js → config-xcf7rc6x.js} +3 -3
  29. package/build/{doctor-t94dqmcs.js → doctor-98zperf9.js} +7 -7
  30. package/build/fastStrike-9tm6bedh.js +156 -0
  31. package/build/{fixes-fv2zmk0m.js → fixes-1dry8j61.js} +17 -16
  32. package/build/{index-s2jr2ve2.js → index-0j880wqc.js} +70 -44
  33. package/build/{index-8mgv8hke.js → index-31rwrakh.js} +2 -2
  34. package/build/{index-b7zrdy9b.js → index-34h2nb6x.js} +3 -3
  35. package/build/{index-pmsx73c3.js → index-4hqbyzf5.js} +11 -9
  36. package/build/{index-qshyncep.js → index-6dbym5jy.js} +8 -7
  37. package/build/{index-pycryjc3.js → index-f6ttv7np.js} +4 -4
  38. package/build/{index-n1yh9e86.js → index-gq9h8j5j.js} +1 -1
  39. package/build/{index-rxskwf3k.js → index-pxwwcefn.js} +10 -10
  40. package/build/{issues-bwdnb233.js → issues-wjakj8yy.js} +28 -16
  41. package/build/{logs-2g3rsh9f.js → logs-ewyzcspy.js} +17 -16
  42. package/build/{offesecAgent-4ykghkvs.js → offesecAgent-7m9smy0t.js} +9 -9
  43. package/build/pentest-1cb5t0dt.js +29 -0
  44. package/build/{pentests-d9dt495f.js → pentests-1hcqjyk2.js} +17 -16
  45. package/build/targetedPentest-3x13kqvc.js +56 -0
  46. package/build/{targets-3n7wsm3g.js → targets-nqz8w37e.js} +17 -16
  47. package/build/threatModel-7f02av7y.js +27 -0
  48. package/build/{uninstall-jvjv6d2n.js → uninstall-p1q5pkx2.js} +1 -1
  49. package/build/{upload-x2b8s1xb.js → upload-x7etpfp4.js} +7 -7
  50. package/build/{utils-kx8jqmv0.js → utils-kw6yh5yn.js} +7 -7
  51. package/package.json +2 -2
  52. package/build/agent-7ab546zf.js +0 -19
  53. package/build/agent-dsqssedb.js +0 -25
  54. package/build/authentication-h1zxd74t.js +0 -19
  55. package/build/blackboxAgent-32zwxt6w.js +0 -19
  56. package/build/pentest-91bygv3h.js +0 -28
  57. package/build/targetedPentest-eavq5h7v.js +0 -43
  58. package/build/threatModel-2re9tykx.js +0 -26
@@ -7,21 +7,23 @@ import {
7
7
  buildThreatModelPrompt,
8
8
  createSkillsRegistry,
9
9
  runOffensiveSecurityAgent
10
- } from "./cli-90dw3gm4.js";
10
+ } from "./cli-1cf5vy5m.js";
11
11
  import {
12
- REPORT_FILENAME_MD,
13
12
  convertModelMessagesToUI,
14
13
  loadSubagents,
15
14
  readExecutionMetrics,
16
15
  writeExecutionMetrics
17
- } from "./cli-nth9zebw.js";
18
- import"./cli-tg7mcs43.js";
19
- import"./cli-9wd7jy2s.js";
20
- import"./cli-wkpsqyjc.js";
21
- import"./cli-fj04wady.js";
22
- import"./cli-a1acedxf.js";
16
+ } from "./cli-tz9yg4ew.js";
17
+ import"./cli-1re2kv5v.js";
18
+ import {
19
+ REPORT_FILENAME_MD
20
+ } from "./cli-2jn8104w.js";
21
+ import"./cli-n114n8mk.js";
22
+ import"./cli-xpn9tsw0.js";
23
+ import"./cli-knqx15w6.js";
24
+ import"./cli-7e5ad5js.js";
23
25
  import"./cli-9fsre5pt.js";
24
- import"./cli-9h847y2w.js";
26
+ import"./cli-ptzy9ak5.js";
25
27
  import {
26
28
  ALL_TOOL_NAMES,
27
29
  ASK_USER_QUESTIONS_TOOL_NAME,
@@ -37,10 +39,10 @@ import {
37
39
  hasPlan,
38
40
  planFilePath,
39
41
  readPlan
40
- } from "./cli-akhax3yn.js";
42
+ } from "./cli-xbdn034b.js";
41
43
  import {
42
44
  detectOSAndEnhancePrompt
43
- } from "./cli-g6cjpbr9.js";
45
+ } from "./cli-s43t5ay0.js";
44
46
  import {
45
47
  formatParseError,
46
48
  parseHeaderLine
@@ -56,7 +58,7 @@ import {
56
58
  import {
57
59
  createWeaveTracer,
58
60
  resolveConfig
59
- } from "./cli-2cvp6x4p.js";
61
+ } from "./cli-vgg6h2ax.js";
60
62
  import {
61
63
  AVAILABLE_PROVIDERS,
62
64
  init_types
@@ -78,11 +80,12 @@ import {
78
80
  modelSupportsThinking,
79
81
  normalizeMessages,
80
82
  read,
83
+ routeLogsToErrorFile,
81
84
  sessions,
82
85
  stepCountIs,
83
86
  write,
84
87
  writeErrorLog
85
- } from "./cli-v34r5t8t.js";
88
+ } from "./cli-6kx46ck0.js";
86
89
  import {
87
90
  disconnect,
88
91
  fetchWorkspaces,
@@ -96,21 +99,21 @@ import {
96
99
  selectWorkspace,
97
100
  startDeviceFlow,
98
101
  validateGateway
99
- } from "./cli-k941a7ft.js";
100
- import"./cli-29yqhrjq.js";
102
+ } from "./cli-4tc6888c.js";
103
+ import"./cli-3k1x5rn3.js";
101
104
  import"./cli-gpnb45ck.js";
102
105
  import {
103
106
  config,
104
107
  init_config as init_config2
105
- } from "./cli-qb3eddc7.js";
108
+ } from "./cli-51dkmt5p.js";
106
109
  import {
107
110
  init_config,
108
111
  update
109
- } from "./cli-8qb62k90.js";
112
+ } from "./cli-7n43wz82.js";
110
113
  import {
111
114
  checkForUpdate,
112
115
  init_installation
113
- } from "./cli-f8tgnegf.js";
116
+ } from "./cli-1f636vzd.js";
114
117
  import {
115
118
  __commonJS,
116
119
  __esm,
@@ -215,7 +218,7 @@ var init_utils = __esm(() => {
215
218
  PREFERRED_MODEL_BY_PROVIDER = {
216
219
  pensar: "pensar:anthropic.claude-opus-4-6-v1",
217
220
  anthropic: "claude-opus-4-6",
218
- openai: "gpt-5.5",
221
+ openai: "gpt-5.6-sol",
219
222
  google: "gemini-3.1-pro-preview",
220
223
  openrouter: "anthropic/claude-opus-4.6",
221
224
  bedrock: "anthropic.claude-opus-4-6-v1"
@@ -52745,7 +52748,7 @@ function createClipboardManager(renderer) {
52745
52748
  const copyToClipboard = (text) => {
52746
52749
  renderer.copyToClipboardOSC52(text);
52747
52750
  try {
52748
- const proc = Bun.spawn(process.platform === "darwin" ? ["pbcopy"] : ["xclip", "-selection", "clipboard"], { stdin: "pipe" });
52751
+ const proc = Bun.spawn(process.platform === "darwin" ? ["pbcopy"] : ["xclip", "-selection", "clipboard"], { stdin: "pipe", stdout: "ignore", stderr: "ignore" });
52749
52752
  proc.stdin.write(text);
52750
52753
  proc.stdin.end();
52751
52754
  } catch {}
@@ -53630,8 +53633,9 @@ function ModelPicker({
53630
53633
  children: /* @__PURE__ */ jsxDEV4("text", {
53631
53634
  fg: isOpenAIReasoningFocused ? colors2.primary : colors2.text,
53632
53635
  children: [
53633
- "Reasoning Effort: ",
53634
- openAIReasoningEffort
53636
+ "Reasoning Effort:",
53637
+ " ",
53638
+ openAIReasoningEffort === "xhigh" ? "extra high" : openAIReasoningEffort
53635
53639
  ]
53636
53640
  }, undefined, true, undefined, this)
53637
53641
  }, undefined, false, undefined, this)
@@ -60856,6 +60860,38 @@ import { useCallback as useCallback13, useEffect as useEffect13, useRef as useRe
60856
60860
  init_auth();
60857
60861
  init_config2();
60858
60862
 
60863
+ // src/tui/utils/open-url.ts
60864
+ var OPEN_FAILED_MSG = "Couldn't open browser — visit the URL shown instead";
60865
+ async function openUrlInBrowser(url) {
60866
+ try {
60867
+ const platform = process.platform;
60868
+ let proc;
60869
+ if (platform === "darwin") {
60870
+ proc = Bun.spawn(["open", url], {
60871
+ stdout: "ignore",
60872
+ stderr: "ignore"
60873
+ });
60874
+ } else if (platform === "win32") {
60875
+ proc = Bun.spawn(["cmd", "/c", "start", "", url], {
60876
+ stdout: "ignore",
60877
+ stderr: "ignore"
60878
+ });
60879
+ } else {
60880
+ proc = Bun.spawn(["xdg-open", url], {
60881
+ stdout: "ignore",
60882
+ stderr: "ignore"
60883
+ });
60884
+ }
60885
+ const exitCode = await proc.exited;
60886
+ if (exitCode !== 0) {
60887
+ return OPEN_FAILED_MSG;
60888
+ }
60889
+ return "";
60890
+ } catch {
60891
+ return OPEN_FAILED_MSG;
60892
+ }
60893
+ }
60894
+
60859
60895
  // src/tui/components/dialog-layout.tsx
60860
60896
  import { jsxDEV as jsxDEV27 } from "@opentui/react/jsx-dev-runtime";
60861
60897
  function DialogLayout({
@@ -60923,6 +60959,7 @@ import { jsxDEV as jsxDEV28 } from "@opentui/react/jsx-dev-runtime";
60923
60959
  function AuthFlow({ onClose, hideEsc }) {
60924
60960
  const { colors: colors2 } = useTheme();
60925
60961
  const appConfig = useConfig();
60962
+ const { toast } = useToast();
60926
60963
  const alreadyConnected = isConnected(appConfig.data);
60927
60964
  const hasWorkspace = !!appConfig.data.workspaceId;
60928
60965
  const needsWorkspace = alreadyConnected && !hasWorkspace && !!appConfig.data.accessToken;
@@ -60951,16 +60988,10 @@ function AuthFlow({ onClose, hideEsc }) {
60951
60988
  return cleanup;
60952
60989
  }, [cleanup]);
60953
60990
  const openUrl = (url) => {
60954
- try {
60955
- const platform = process.platform;
60956
- if (platform === "darwin") {
60957
- Bun.spawn(["open", url]);
60958
- } else if (platform === "win32") {
60959
- Bun.spawn(["cmd", "/c", "start", url]);
60960
- } else {
60961
- Bun.spawn(["xdg-open", url]);
60962
- }
60963
- } catch {}
60991
+ openUrlInBrowser(url).then((err) => {
60992
+ if (err)
60993
+ toast(err, "warn");
60994
+ });
60964
60995
  };
60965
60996
  const consoleUrlRef = useRef11(getPensarConsoleUrl());
60966
60997
  const startFlow = async () => {
@@ -61496,6 +61527,7 @@ function CreditsFlow({
61496
61527
  }) {
61497
61528
  const route = useRoute();
61498
61529
  const { colors: colors2 } = useTheme();
61530
+ const { toast } = useToast();
61499
61531
  const [step, setStep] = useState21("loading");
61500
61532
  const [credits, setCredits] = useState21(null);
61501
61533
  const [error, setError] = useState21(null);
@@ -61508,17 +61540,10 @@ function CreditsFlow({
61508
61540
  }
61509
61541
  };
61510
61542
  const openBrowser = () => {
61511
- const url = creditsUrl;
61512
- try {
61513
- const platform = process.platform;
61514
- if (platform === "darwin") {
61515
- Bun.spawn(["open", url]);
61516
- } else if (platform === "win32") {
61517
- Bun.spawn(["cmd", "/c", "start", url]);
61518
- } else {
61519
- Bun.spawn(["xdg-open", url]);
61520
- }
61521
- } catch {}
61543
+ openUrlInBrowser(creditsUrl).then((err) => {
61544
+ if (err)
61545
+ toast(err, "warn");
61546
+ });
61522
61547
  setStep("browser-opened");
61523
61548
  };
61524
61549
  const fetchBalance = useCallback14(async () => {
@@ -69722,7 +69747,7 @@ function AppContent({
69722
69747
  toast(`Update available: v${currentVersion} → v${latestVersion}. Run: pensar upgrade`, "warn", 8000);
69723
69748
  });
69724
69749
  const checkAuthToken = async () => {
69725
- const { isTokenExpired, isConnected: isConnected2 } = await import("./index-pycryjc3.js");
69750
+ const { isTokenExpired, isConnected: isConnected2 } = await import("./index-f6ttv7np.js");
69726
69751
  if (isConnected2(config2.data) && config2.data.accessToken && isTokenExpired(config2.data.accessToken, 60) && !config2.data.refreshToken && !config2.data.pensarAPIKey) {
69727
69752
  toast("Your Pensar Console session has expired. Run /login to refresh.", "warn", 8000);
69728
69753
  }
@@ -70035,6 +70060,7 @@ function CommandDisplay({
70035
70060
  return null;
70036
70061
  }
70037
70062
  async function main() {
70063
+ routeLogsToErrorFile();
70038
70064
  const appConfig = await config.get();
70039
70065
  registerBuiltinThemes();
70040
70066
  const themeName = appConfig.theme ?? "apex";
@@ -3,8 +3,8 @@ import {
3
3
  init,
4
4
  init_config,
5
5
  update
6
- } from "./cli-8qb62k90.js";
7
- import"./cli-f8tgnegf.js";
6
+ } from "./cli-7n43wz82.js";
7
+ import"./cli-1f636vzd.js";
8
8
  import"./cli-8rxa073f.js";
9
9
 
10
10
  // src/core/config/index.ts
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  config,
3
3
  init_config
4
- } from "./cli-qb3eddc7.js";
5
- import"./cli-8qb62k90.js";
6
- import"./cli-f8tgnegf.js";
4
+ } from "./cli-51dkmt5p.js";
5
+ import"./cli-7n43wz82.js";
6
+ import"./cli-1f636vzd.js";
7
7
  import"./cli-8rxa073f.js";
8
8
  init_config();
9
9
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ApexFindingObject
3
- } from "./cli-9h847y2w.js";
3
+ } from "./cli-ptzy9ak5.js";
4
4
  import {
5
5
  ALL_TOOL_NAMES,
6
6
  ASK_USER_QUESTIONS_TOOL_NAME,
@@ -9,6 +9,7 @@ import {
9
9
  BASE_SYSTEM_PROMPT,
10
10
  BROWSER_TOOL_NAMES,
11
11
  EMAIL_TOOL_NAMES,
12
+ FAST_STRIKE_EXCLUDED_TOOL_NAMES,
12
13
  OffensiveSecurityAgent,
13
14
  PLAN_MODE_TOOL_NAMES,
14
15
  PentestReportedError,
@@ -86,16 +87,16 @@ import {
86
87
  validateDiscovery,
87
88
  webSearch,
88
89
  writePlan
89
- } from "./cli-akhax3yn.js";
90
- import"./cli-g6cjpbr9.js";
90
+ } from "./cli-xbdn034b.js";
91
+ import"./cli-s43t5ay0.js";
91
92
  import"./cli-c8131c4q.js";
92
- import"./cli-v34r5t8t.js";
93
- import"./cli-k941a7ft.js";
94
- import"./cli-29yqhrjq.js";
93
+ import"./cli-6kx46ck0.js";
94
+ import"./cli-4tc6888c.js";
95
+ import"./cli-3k1x5rn3.js";
95
96
  import"./cli-gpnb45ck.js";
96
- import"./cli-qb3eddc7.js";
97
- import"./cli-8qb62k90.js";
98
- import"./cli-f8tgnegf.js";
97
+ import"./cli-51dkmt5p.js";
98
+ import"./cli-7n43wz82.js";
99
+ import"./cli-1f636vzd.js";
99
100
  import"./cli-8rxa073f.js";
100
101
  export {
101
102
  writePlan,
@@ -175,6 +176,7 @@ export {
175
176
  PentestReportedError,
176
177
  PLAN_MODE_TOOL_NAMES,
177
178
  OffensiveSecurityAgent,
179
+ FAST_STRIKE_EXCLUDED_TOOL_NAMES,
178
180
  EMAIL_TOOL_NAMES as EMAIL_TOOL_NAMES_ACTIVE,
179
181
  EMAIL_TOOL_NAMES,
180
182
  BROWSER_TOOL_NAMES,
@@ -17,19 +17,19 @@ import {
17
17
  update,
18
18
  write,
19
19
  writeRaw
20
- } from "./cli-v34r5t8t.js";
21
- import"./cli-k941a7ft.js";
20
+ } from "./cli-6kx46ck0.js";
21
+ import"./cli-4tc6888c.js";
22
22
  import {
23
23
  init_zod,
24
24
  zod_default
25
- } from "./cli-29yqhrjq.js";
25
+ } from "./cli-3k1x5rn3.js";
26
26
  import"./cli-gpnb45ck.js";
27
- import"./cli-qb3eddc7.js";
28
- import"./cli-8qb62k90.js";
27
+ import"./cli-51dkmt5p.js";
28
+ import"./cli-7n43wz82.js";
29
29
  import {
30
30
  getCurrentVersion,
31
31
  init_installation
32
- } from "./cli-f8tgnegf.js";
32
+ } from "./cli-1f636vzd.js";
33
33
  import {
34
34
  __require
35
35
  } from "./cli-8rxa073f.js";
@@ -168,6 +168,7 @@ var SessionConfigObject = zod_default.object({
168
168
  authCredentials: zod_default.union([AuthCredentialsObject, zod_default.array(AuthCredentialsObject)]).optional(),
169
169
  authenticationInstructions: zod_default.string().optional(),
170
170
  requestsPerSecond: zod_default.number().optional(),
171
+ allowDestructiveActions: zod_default.boolean().optional(),
171
172
  operatorSettings: OperatorSettingsObject.optional(),
172
173
  toolsetState: ToolsetStateSchema.optional(),
173
174
  enumerateSubdomains: zod_default.boolean().optional(),
@@ -303,7 +304,7 @@ async function create(input) {
303
304
  if (normalizedConfig?.headers !== undefined) {
304
305
  snapshotHeaders = { ...normalizedConfig.headers };
305
306
  } else {
306
- const { config: appConfig } = await import("./index-b7zrdy9b.js");
307
+ const { config: appConfig } = await import("./index-34h2nb6x.js");
307
308
  const cfg = await appConfig.get();
308
309
  snapshotHeaders = cfg.defaultHeaders ? { ...cfg.defaultHeaders } : { ...DEFAULT_HEADER_RECORD };
309
310
  }
@@ -12,10 +12,10 @@ import {
12
12
  signGatewayRequest,
13
13
  startDeviceFlow,
14
14
  validateGateway
15
- } from "./cli-k941a7ft.js";
16
- import"./cli-qb3eddc7.js";
17
- import"./cli-8qb62k90.js";
18
- import"./cli-f8tgnegf.js";
15
+ } from "./cli-4tc6888c.js";
16
+ import"./cli-51dkmt5p.js";
17
+ import"./cli-7n43wz82.js";
18
+ import"./cli-1f636vzd.js";
19
19
  import"./cli-8rxa073f.js";
20
20
  init_auth();
21
21
 
@@ -56,7 +56,7 @@ import {
56
56
  validateTypes,
57
57
  withUserAgentSuffix,
58
58
  zodSchema
59
- } from "./cli-29yqhrjq.js";
59
+ } from "./cli-3k1x5rn3.js";
60
60
  import"./cli-gpnb45ck.js";
61
61
  import {
62
62
  __toESM
@@ -7,19 +7,19 @@ import {
7
7
  WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT,
8
8
  WHITEBOX_DISCOVERY_SYSTEM_PROMPT,
9
9
  WhiteboxAttackSurfaceAgent
10
- } from "./cli-a1acedxf.js";
10
+ } from "./cli-7e5ad5js.js";
11
11
  import"./cli-9fsre5pt.js";
12
- import"./cli-9h847y2w.js";
13
- import"./cli-akhax3yn.js";
14
- import"./cli-g6cjpbr9.js";
12
+ import"./cli-ptzy9ak5.js";
13
+ import"./cli-xbdn034b.js";
14
+ import"./cli-s43t5ay0.js";
15
15
  import"./cli-c8131c4q.js";
16
- import"./cli-v34r5t8t.js";
17
- import"./cli-k941a7ft.js";
18
- import"./cli-29yqhrjq.js";
16
+ import"./cli-6kx46ck0.js";
17
+ import"./cli-4tc6888c.js";
18
+ import"./cli-3k1x5rn3.js";
19
19
  import"./cli-gpnb45ck.js";
20
- import"./cli-qb3eddc7.js";
21
- import"./cli-8qb62k90.js";
22
- import"./cli-f8tgnegf.js";
20
+ import"./cli-51dkmt5p.js";
21
+ import"./cli-7n43wz82.js";
22
+ import"./cli-1f636vzd.js";
23
23
  import"./cli-8rxa073f.js";
24
24
  export {
25
25
  WhiteboxAttackSurfaceAgent,
@@ -2,27 +2,29 @@
2
2
  import {
3
3
  getIssue,
4
4
  listIssues,
5
+ retestIssue,
5
6
  updateIssue
6
- } from "./cli-90dw3gm4.js";
7
- import"./cli-nth9zebw.js";
8
- import"./cli-tg7mcs43.js";
9
- import"./cli-9wd7jy2s.js";
10
- import"./cli-wkpsqyjc.js";
11
- import"./cli-fj04wady.js";
12
- import"./cli-a1acedxf.js";
7
+ } from "./cli-1cf5vy5m.js";
8
+ import"./cli-tz9yg4ew.js";
9
+ import"./cli-1re2kv5v.js";
10
+ import"./cli-2jn8104w.js";
11
+ import"./cli-n114n8mk.js";
12
+ import"./cli-xpn9tsw0.js";
13
+ import"./cli-knqx15w6.js";
14
+ import"./cli-7e5ad5js.js";
13
15
  import"./cli-9fsre5pt.js";
14
- import"./cli-9h847y2w.js";
15
- import"./cli-akhax3yn.js";
16
- import"./cli-g6cjpbr9.js";
16
+ import"./cli-ptzy9ak5.js";
17
+ import"./cli-xbdn034b.js";
18
+ import"./cli-s43t5ay0.js";
17
19
  import"./cli-fw5r7pfj.js";
18
20
  import"./cli-c8131c4q.js";
19
- import"./cli-v34r5t8t.js";
20
- import"./cli-k941a7ft.js";
21
- import"./cli-29yqhrjq.js";
21
+ import"./cli-6kx46ck0.js";
22
+ import"./cli-4tc6888c.js";
23
+ import"./cli-3k1x5rn3.js";
22
24
  import"./cli-gpnb45ck.js";
23
- import"./cli-qb3eddc7.js";
24
- import"./cli-8qb62k90.js";
25
- import"./cli-f8tgnegf.js";
25
+ import"./cli-51dkmt5p.js";
26
+ import"./cli-7n43wz82.js";
27
+ import"./cli-1f636vzd.js";
26
28
  import"./cli-8rxa073f.js";
27
29
 
28
30
  // src/cli/issues.ts
@@ -39,6 +41,7 @@ Usage:
39
41
  pensar issues [filters] List issues in the workspace
40
42
  pensar issues get <issueId> Get issue details
41
43
  pensar issues update <issueId> [options] Update an issue
44
+ pensar issues retest <issueId> Retest an issue
42
45
 
43
46
  List filters:
44
47
  --status <status> Filter: open, closed, false-positive, in-review
@@ -93,6 +96,15 @@ async function main() {
93
96
  userFlaggedFalsePositiveReason
94
97
  });
95
98
  console.log(JSON.stringify(result, null, 2));
99
+ } else if (sub === "retest") {
100
+ const issueId = args[1];
101
+ if (!issueId) {
102
+ console.error("Error: issue ID is required");
103
+ console.error("Usage: pensar issues retest <issueId>");
104
+ process.exit(1);
105
+ }
106
+ const result = await retestIssue(issueId);
107
+ console.log(JSON.stringify(result, null, 2));
96
108
  } else if (!sub || sub === "list" || sub.startsWith("--")) {
97
109
  const issues = await listIssues({
98
110
  scanId: getFlag("--scan", args),
@@ -2,26 +2,27 @@
2
2
  import {
3
3
  listAgentLogs,
4
4
  searchAgentLogs
5
- } from "./cli-90dw3gm4.js";
6
- import"./cli-nth9zebw.js";
7
- import"./cli-tg7mcs43.js";
8
- import"./cli-9wd7jy2s.js";
9
- import"./cli-wkpsqyjc.js";
10
- import"./cli-fj04wady.js";
11
- import"./cli-a1acedxf.js";
5
+ } from "./cli-1cf5vy5m.js";
6
+ import"./cli-tz9yg4ew.js";
7
+ import"./cli-1re2kv5v.js";
8
+ import"./cli-2jn8104w.js";
9
+ import"./cli-n114n8mk.js";
10
+ import"./cli-xpn9tsw0.js";
11
+ import"./cli-knqx15w6.js";
12
+ import"./cli-7e5ad5js.js";
12
13
  import"./cli-9fsre5pt.js";
13
- import"./cli-9h847y2w.js";
14
- import"./cli-akhax3yn.js";
15
- import"./cli-g6cjpbr9.js";
14
+ import"./cli-ptzy9ak5.js";
15
+ import"./cli-xbdn034b.js";
16
+ import"./cli-s43t5ay0.js";
16
17
  import"./cli-fw5r7pfj.js";
17
18
  import"./cli-c8131c4q.js";
18
- import"./cli-v34r5t8t.js";
19
- import"./cli-k941a7ft.js";
20
- import"./cli-29yqhrjq.js";
19
+ import"./cli-6kx46ck0.js";
20
+ import"./cli-4tc6888c.js";
21
+ import"./cli-3k1x5rn3.js";
21
22
  import"./cli-gpnb45ck.js";
22
- import"./cli-qb3eddc7.js";
23
- import"./cli-8qb62k90.js";
24
- import"./cli-f8tgnegf.js";
23
+ import"./cli-51dkmt5p.js";
24
+ import"./cli-7n43wz82.js";
25
+ import"./cli-1f636vzd.js";
25
26
  import"./cli-8rxa073f.js";
26
27
 
27
28
  // src/cli/logs.ts
@@ -1,17 +1,17 @@
1
1
  import"./cli-9fsre5pt.js";
2
- import"./cli-9h847y2w.js";
2
+ import"./cli-ptzy9ak5.js";
3
3
  import {
4
4
  OffensiveSecurityAgent
5
- } from "./cli-akhax3yn.js";
6
- import"./cli-g6cjpbr9.js";
5
+ } from "./cli-xbdn034b.js";
6
+ import"./cli-s43t5ay0.js";
7
7
  import"./cli-c8131c4q.js";
8
- import"./cli-v34r5t8t.js";
9
- import"./cli-k941a7ft.js";
10
- import"./cli-29yqhrjq.js";
8
+ import"./cli-6kx46ck0.js";
9
+ import"./cli-4tc6888c.js";
10
+ import"./cli-3k1x5rn3.js";
11
11
  import"./cli-gpnb45ck.js";
12
- import"./cli-qb3eddc7.js";
13
- import"./cli-8qb62k90.js";
14
- import"./cli-f8tgnegf.js";
12
+ import"./cli-51dkmt5p.js";
13
+ import"./cli-7n43wz82.js";
14
+ import"./cli-1f636vzd.js";
15
15
  import"./cli-8rxa073f.js";
16
16
 
17
17
  // src/core/api/offesecAgent.ts
@@ -0,0 +1,29 @@
1
+ import {
2
+ DEFAULT_CONCURRENCY,
3
+ runPentestSwarm,
4
+ runPentestWorkflow
5
+ } from "./cli-tz9yg4ew.js";
6
+ import"./cli-1re2kv5v.js";
7
+ import"./cli-2jn8104w.js";
8
+ import"./cli-n114n8mk.js";
9
+ import"./cli-knqx15w6.js";
10
+ import"./cli-7e5ad5js.js";
11
+ import"./cli-9fsre5pt.js";
12
+ import"./cli-ptzy9ak5.js";
13
+ import"./cli-xbdn034b.js";
14
+ import"./cli-s43t5ay0.js";
15
+ import"./cli-fw5r7pfj.js";
16
+ import"./cli-c8131c4q.js";
17
+ import"./cli-6kx46ck0.js";
18
+ import"./cli-4tc6888c.js";
19
+ import"./cli-3k1x5rn3.js";
20
+ import"./cli-gpnb45ck.js";
21
+ import"./cli-51dkmt5p.js";
22
+ import"./cli-7n43wz82.js";
23
+ import"./cli-1f636vzd.js";
24
+ import"./cli-8rxa073f.js";
25
+ export {
26
+ runPentestWorkflow,
27
+ runPentestSwarm,
28
+ DEFAULT_CONCURRENCY
29
+ };
@@ -3,26 +3,27 @@ import {
3
3
  dispatchPentest,
4
4
  getScan,
5
5
  listScans
6
- } from "./cli-90dw3gm4.js";
7
- import"./cli-nth9zebw.js";
8
- import"./cli-tg7mcs43.js";
9
- import"./cli-9wd7jy2s.js";
10
- import"./cli-wkpsqyjc.js";
11
- import"./cli-fj04wady.js";
12
- import"./cli-a1acedxf.js";
6
+ } from "./cli-1cf5vy5m.js";
7
+ import"./cli-tz9yg4ew.js";
8
+ import"./cli-1re2kv5v.js";
9
+ import"./cli-2jn8104w.js";
10
+ import"./cli-n114n8mk.js";
11
+ import"./cli-xpn9tsw0.js";
12
+ import"./cli-knqx15w6.js";
13
+ import"./cli-7e5ad5js.js";
13
14
  import"./cli-9fsre5pt.js";
14
- import"./cli-9h847y2w.js";
15
- import"./cli-akhax3yn.js";
16
- import"./cli-g6cjpbr9.js";
15
+ import"./cli-ptzy9ak5.js";
16
+ import"./cli-xbdn034b.js";
17
+ import"./cli-s43t5ay0.js";
17
18
  import"./cli-fw5r7pfj.js";
18
19
  import"./cli-c8131c4q.js";
19
- import"./cli-v34r5t8t.js";
20
- import"./cli-k941a7ft.js";
21
- import"./cli-29yqhrjq.js";
20
+ import"./cli-6kx46ck0.js";
21
+ import"./cli-4tc6888c.js";
22
+ import"./cli-3k1x5rn3.js";
22
23
  import"./cli-gpnb45ck.js";
23
- import"./cli-qb3eddc7.js";
24
- import"./cli-8qb62k90.js";
25
- import"./cli-f8tgnegf.js";
24
+ import"./cli-51dkmt5p.js";
25
+ import"./cli-7n43wz82.js";
26
+ import"./cli-1f636vzd.js";
26
27
  import"./cli-8rxa073f.js";
27
28
 
28
29
  // src/cli/pentests.ts