@pensar/apex 2.1.2 → 2.1.3-canary.00ba2e1a

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 (59) hide show
  1. package/build/agent-3emvpc9t.js +27 -0
  2. package/build/agent-46nes8ye.js +19 -0
  3. package/build/{agent-737mxp3v.js → agent-j2jb0h1y.js} +9 -8
  4. package/build/{apps-j0bwey0w.js → apps-1se8rhkp.js} +17 -16
  5. package/build/{auth-5stxpmga.js → auth-4069pjj8.js} +17 -16
  6. package/build/authentication-dv0s47nj.js +19 -0
  7. package/build/blackboxAgent-k13z3ctn.js +19 -0
  8. package/build/{blackboxPentest-2edr9rj3.js → blackboxPentest-rjtrc1s9.js} +15 -14
  9. package/build/{cli-gbkj2has.js → cli-1svb0r8t.js} +5 -3
  10. package/build/{cli-jd0c0b91.js → cli-2jmzka72.js} +1 -1
  11. package/build/{cli-f7d23ded.js → cli-3k1x5rn3.js} +936 -1775
  12. package/build/{cli-xnnkeg5p.js → cli-5ptphzvg.js} +1 -1
  13. package/build/{cli-yjbkaqvy.js → cli-6abnvkea.js} +79 -23
  14. package/build/cli-7bgsh6sd.js +195 -0
  15. package/build/{cli-tw3fe8bj.js → cli-91gb6pzq.js} +2 -2
  16. package/build/{cli-whtdyc0e.js → cli-ck490gej.js} +6 -4
  17. package/build/{cli-6vs0mtsb.js → cli-cyd5hb1t.js} +4 -2
  18. package/build/{cli-6wwpk9d9.js → cli-dvgf3h1w.js} +1 -1
  19. package/build/{cli-hj3t87r2.js → cli-f22qgya7.js} +1 -1
  20. package/build/{cli-0gk2x2sc.js → cli-ha4xts0m.js} +18 -18
  21. package/build/{cli-dqkdnd3c.js → cli-k855rfjy.js} +88 -49
  22. package/build/{cli-v1aqbv58.js → cli-nhhyvhb8.js} +29267 -25585
  23. package/build/{cli-9vzc18m5.js → cli-p16xmetx.js} +53 -204
  24. package/build/{cli-ks60cc3h.js → cli-qc5a4cq4.js} +30 -30
  25. package/build/{cli-9z6vwf30.js → cli-xaf3mx2a.js} +1 -1
  26. package/build/{cli-35czfv00.js → cli-z6s0jf9r.js} +70892 -79387
  27. package/build/cli.js +120 -90
  28. package/build/{config-s5ryv5ez.js → config-mayxj2yq.js} +3 -3
  29. package/build/{doctor-f08gegwc.js → doctor-q9y50qba.js} +7 -7
  30. package/build/fastStrike-x529knb0.js +156 -0
  31. package/build/{fixes-qf4s92z2.js → fixes-5rm7c8d4.js} +17 -16
  32. package/build/{index-gakk2t5q.js → index-3px1kvs7.js} +66 -41
  33. package/build/{index-exvkbve0.js → index-58va5r84.js} +4 -4
  34. package/build/{index-x4xefngs.js → index-5hmj6wrp.js} +3 -3
  35. package/build/{index-s8gw83d6.js → index-5t0wdym2.js} +19 -11
  36. package/build/{index-5h1hjhzw.js → index-9vzkq82c.js} +10 -10
  37. package/build/{index-mgng15va.js → index-gq9h8j5j.js} +909 -456
  38. package/build/{index-sqjve2bm.js → index-wpmrzk4s.js} +2 -2
  39. package/build/{index-c6qz0gve.js → index-y5zqnk2f.js} +7 -7
  40. package/build/{issues-5anqrh2j.js → issues-fmnznnqe.js} +17 -16
  41. package/build/{logs-q6ankt6m.js → logs-jz0cfn5e.js} +17 -16
  42. package/build/{main-3zneyg7p.js → main-3d7dfdvs.js} +17 -93
  43. package/build/{offesecAgent-hsej0pfc.js → offesecAgent-ds675gxq.js} +9 -9
  44. package/build/pentest-p2wn60ar.js +29 -0
  45. package/build/{pentests-hyx3c3qa.js → pentests-b0bhsbpw.js} +17 -16
  46. package/build/targetedPentest-1v69px88.js +44 -0
  47. package/build/{targets-9cqrshet.js → targets-vxk2kh7p.js} +17 -16
  48. package/build/threatModel-b5faeat1.js +27 -0
  49. package/build/{uninstall-1j469qj7.js → uninstall-qyqnyg25.js} +1 -1
  50. package/build/{upload-ymvhkyq5.js → upload-my97hbjg.js} +7 -7
  51. package/build/{utils-d1ed6jzf.js → utils-mr34kxph.js} +6 -6
  52. package/package.json +30 -30
  53. package/build/agent-8w9h3tnw.js +0 -19
  54. package/build/agent-vdrtakz4.js +0 -25
  55. package/build/authentication-qswvctj4.js +0 -19
  56. package/build/blackboxAgent-vwm9t3h4.js +0 -19
  57. package/build/pentest-1e30q7rs.js +0 -28
  58. package/build/targetedPentest-ws0a7frk.js +0 -36
  59. package/build/threatModel-z9b213x8.js +0 -26
@@ -7,21 +7,23 @@ import {
7
7
  buildThreatModelPrompt,
8
8
  createSkillsRegistry,
9
9
  runOffensiveSecurityAgent
10
- } from "./cli-dqkdnd3c.js";
10
+ } from "./cli-k855rfjy.js";
11
11
  import {
12
- REPORT_FILENAME_MD,
13
12
  convertModelMessagesToUI,
14
13
  loadSubagents,
15
14
  readExecutionMetrics,
16
15
  writeExecutionMetrics
17
- } from "./cli-9vzc18m5.js";
18
- import"./cli-whtdyc0e.js";
19
- import"./cli-yjbkaqvy.js";
20
- import"./cli-0gk2x2sc.js";
21
- import"./cli-6vs0mtsb.js";
22
- import"./cli-gbkj2has.js";
16
+ } from "./cli-p16xmetx.js";
17
+ import"./cli-ck490gej.js";
18
+ import {
19
+ REPORT_FILENAME_MD
20
+ } from "./cli-7bgsh6sd.js";
21
+ import"./cli-6abnvkea.js";
22
+ import"./cli-ha4xts0m.js";
23
+ import"./cli-cyd5hb1t.js";
24
+ import"./cli-1svb0r8t.js";
23
25
  import"./cli-9fsre5pt.js";
24
- import"./cli-tw3fe8bj.js";
26
+ import"./cli-91gb6pzq.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-35czfv00.js";
42
+ } from "./cli-z6s0jf9r.js";
41
43
  import {
42
44
  detectOSAndEnhancePrompt
43
- } from "./cli-6wwpk9d9.js";
45
+ } from "./cli-dvgf3h1w.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-jd0c0b91.js";
61
+ } from "./cli-2jmzka72.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-v1aqbv58.js";
88
+ } from "./cli-nhhyvhb8.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-hj3t87r2.js";
100
- import"./cli-f7d23ded.js";
102
+ } from "./cli-f22qgya7.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-9z6vwf30.js";
108
+ } from "./cli-xaf3mx2a.js";
106
109
  import {
107
110
  init_config,
108
111
  update
109
- } from "./cli-xnnkeg5p.js";
112
+ } from "./cli-5ptphzvg.js";
110
113
  import {
111
114
  checkForUpdate,
112
115
  init_installation
113
- } from "./cli-ks60cc3h.js";
116
+ } from "./cli-qc5a4cq4.js";
114
117
  import {
115
118
  __commonJS,
116
119
  __esm,
@@ -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 {}
@@ -60856,6 +60859,38 @@ import { useCallback as useCallback13, useEffect as useEffect13, useRef as useRe
60856
60859
  init_auth();
60857
60860
  init_config2();
60858
60861
 
60862
+ // src/tui/utils/open-url.ts
60863
+ var OPEN_FAILED_MSG = "Couldn't open browser — visit the URL shown instead";
60864
+ async function openUrlInBrowser(url) {
60865
+ try {
60866
+ const platform = process.platform;
60867
+ let proc;
60868
+ if (platform === "darwin") {
60869
+ proc = Bun.spawn(["open", url], {
60870
+ stdout: "ignore",
60871
+ stderr: "ignore"
60872
+ });
60873
+ } else if (platform === "win32") {
60874
+ proc = Bun.spawn(["cmd", "/c", "start", "", url], {
60875
+ stdout: "ignore",
60876
+ stderr: "ignore"
60877
+ });
60878
+ } else {
60879
+ proc = Bun.spawn(["xdg-open", url], {
60880
+ stdout: "ignore",
60881
+ stderr: "ignore"
60882
+ });
60883
+ }
60884
+ const exitCode = await proc.exited;
60885
+ if (exitCode !== 0) {
60886
+ return OPEN_FAILED_MSG;
60887
+ }
60888
+ return "";
60889
+ } catch {
60890
+ return OPEN_FAILED_MSG;
60891
+ }
60892
+ }
60893
+
60859
60894
  // src/tui/components/dialog-layout.tsx
60860
60895
  import { jsxDEV as jsxDEV27 } from "@opentui/react/jsx-dev-runtime";
60861
60896
  function DialogLayout({
@@ -60923,6 +60958,7 @@ import { jsxDEV as jsxDEV28 } from "@opentui/react/jsx-dev-runtime";
60923
60958
  function AuthFlow({ onClose, hideEsc }) {
60924
60959
  const { colors: colors2 } = useTheme();
60925
60960
  const appConfig = useConfig();
60961
+ const { toast } = useToast();
60926
60962
  const alreadyConnected = isConnected(appConfig.data);
60927
60963
  const hasWorkspace = !!appConfig.data.workspaceId;
60928
60964
  const needsWorkspace = alreadyConnected && !hasWorkspace && !!appConfig.data.accessToken;
@@ -60951,16 +60987,10 @@ function AuthFlow({ onClose, hideEsc }) {
60951
60987
  return cleanup;
60952
60988
  }, [cleanup]);
60953
60989
  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 {}
60990
+ openUrlInBrowser(url).then((err) => {
60991
+ if (err)
60992
+ toast(err, "warn");
60993
+ });
60964
60994
  };
60965
60995
  const consoleUrlRef = useRef11(getPensarConsoleUrl());
60966
60996
  const startFlow = async () => {
@@ -61496,6 +61526,7 @@ function CreditsFlow({
61496
61526
  }) {
61497
61527
  const route = useRoute();
61498
61528
  const { colors: colors2 } = useTheme();
61529
+ const { toast } = useToast();
61499
61530
  const [step, setStep] = useState21("loading");
61500
61531
  const [credits, setCredits] = useState21(null);
61501
61532
  const [error, setError] = useState21(null);
@@ -61508,17 +61539,10 @@ function CreditsFlow({
61508
61539
  }
61509
61540
  };
61510
61541
  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 {}
61542
+ openUrlInBrowser(creditsUrl).then((err) => {
61543
+ if (err)
61544
+ toast(err, "warn");
61545
+ });
61522
61546
  setStep("browser-opened");
61523
61547
  };
61524
61548
  const fetchBalance = useCallback14(async () => {
@@ -69722,7 +69746,7 @@ function AppContent({
69722
69746
  toast(`Update available: v${currentVersion} → v${latestVersion}. Run: pensar upgrade`, "warn", 8000);
69723
69747
  });
69724
69748
  const checkAuthToken = async () => {
69725
- const { isTokenExpired, isConnected: isConnected2 } = await import("./index-exvkbve0.js");
69749
+ const { isTokenExpired, isConnected: isConnected2 } = await import("./index-58va5r84.js");
69726
69750
  if (isConnected2(config2.data) && config2.data.accessToken && isTokenExpired(config2.data.accessToken, 60) && !config2.data.refreshToken && !config2.data.pensarAPIKey) {
69727
69751
  toast("Your Pensar Console session has expired. Run /login to refresh.", "warn", 8000);
69728
69752
  }
@@ -70035,6 +70059,7 @@ function CommandDisplay({
70035
70059
  return null;
70036
70060
  }
70037
70061
  async function main() {
70062
+ routeLogsToErrorFile();
70038
70063
  const appConfig = await config.get();
70039
70064
  registerBuiltinThemes();
70040
70065
  const themeName = appConfig.theme ?? "apex";
@@ -12,10 +12,10 @@ import {
12
12
  signGatewayRequest,
13
13
  startDeviceFlow,
14
14
  validateGateway
15
- } from "./cli-hj3t87r2.js";
16
- import"./cli-9z6vwf30.js";
17
- import"./cli-xnnkeg5p.js";
18
- import"./cli-ks60cc3h.js";
15
+ } from "./cli-f22qgya7.js";
16
+ import"./cli-xaf3mx2a.js";
17
+ import"./cli-5ptphzvg.js";
18
+ import"./cli-qc5a4cq4.js";
19
19
  import"./cli-8rxa073f.js";
20
20
  init_auth();
21
21
 
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  config,
3
3
  init_config
4
- } from "./cli-9z6vwf30.js";
5
- import"./cli-xnnkeg5p.js";
6
- import"./cli-ks60cc3h.js";
4
+ } from "./cli-xaf3mx2a.js";
5
+ import"./cli-5ptphzvg.js";
6
+ import"./cli-qc5a4cq4.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-tw3fe8bj.js";
3
+ } from "./cli-91gb6pzq.js";
4
4
  import {
5
5
  ALL_TOOL_NAMES,
6
6
  ASK_USER_QUESTIONS_TOOL_NAME,
@@ -9,11 +9,15 @@ 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,
15
+ PentestReportedError,
14
16
  PersistentShell,
15
17
  PlaywrightMcpSession,
18
+ REPORT_ERROR_TOOL_NAME,
16
19
  RESPONSE_TOOL_NAME,
20
+ ReportErrorReasonSchema,
17
21
  SEND_EMAIL_TOOL_NAME,
18
22
  SKILL_TOOL_NAMES,
19
23
  ScopeViolationError,
@@ -21,7 +25,6 @@ import {
21
25
  addMemory,
22
26
  assertCommandInScope,
23
27
  assertUrlInScope,
24
- authenticateSession,
25
28
  buildBaseSystemPrompt,
26
29
  buildProvidedFilesSection,
27
30
  buildSessionWorkspaceSection,
@@ -35,6 +38,7 @@ import {
35
38
  createBrowserToolset,
36
39
  createEmailToolset,
37
40
  createFile,
41
+ createReportErrorTool,
38
42
  createResponseTool,
39
43
  createSandboxBrowserTools,
40
44
  createTask,
@@ -83,16 +87,16 @@ import {
83
87
  validateDiscovery,
84
88
  webSearch,
85
89
  writePlan
86
- } from "./cli-35czfv00.js";
87
- import"./cli-6wwpk9d9.js";
90
+ } from "./cli-z6s0jf9r.js";
91
+ import"./cli-dvgf3h1w.js";
88
92
  import"./cli-c8131c4q.js";
89
- import"./cli-v1aqbv58.js";
90
- import"./cli-hj3t87r2.js";
91
- import"./cli-f7d23ded.js";
93
+ import"./cli-nhhyvhb8.js";
94
+ import"./cli-f22qgya7.js";
95
+ import"./cli-3k1x5rn3.js";
92
96
  import"./cli-gpnb45ck.js";
93
- import"./cli-9z6vwf30.js";
94
- import"./cli-xnnkeg5p.js";
95
- import"./cli-ks60cc3h.js";
97
+ import"./cli-xaf3mx2a.js";
98
+ import"./cli-5ptphzvg.js";
99
+ import"./cli-qc5a4cq4.js";
96
100
  import"./cli-8rxa073f.js";
97
101
  export {
98
102
  writePlan,
@@ -143,6 +147,7 @@ export {
143
147
  createTask,
144
148
  createSandboxBrowserTools,
145
149
  createResponseTool,
150
+ createReportErrorTool,
146
151
  createFile,
147
152
  createEmailToolset,
148
153
  createBrowserToolset,
@@ -156,7 +161,6 @@ export {
156
161
  buildSessionWorkspaceSection,
157
162
  buildProvidedFilesSection,
158
163
  buildBaseSystemPrompt,
159
- authenticateSession,
160
164
  assertUrlInScope,
161
165
  assertCommandInScope,
162
166
  addMemory,
@@ -164,11 +168,15 @@ export {
164
168
  ScopeViolationError,
165
169
  SKILL_TOOL_NAMES,
166
170
  SEND_EMAIL_TOOL_NAME,
171
+ ReportErrorReasonSchema,
167
172
  RESPONSE_TOOL_NAME,
173
+ REPORT_ERROR_TOOL_NAME,
168
174
  PlaywrightMcpSession,
169
175
  PersistentShell,
176
+ PentestReportedError,
170
177
  PLAN_MODE_TOOL_NAMES,
171
178
  OffensiveSecurityAgent,
179
+ FAST_STRIKE_EXCLUDED_TOOL_NAMES,
172
180
  EMAIL_TOOL_NAMES as EMAIL_TOOL_NAMES_ACTIVE,
173
181
  EMAIL_TOOL_NAMES,
174
182
  BROWSER_TOOL_NAMES,
@@ -7,19 +7,19 @@ import {
7
7
  WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT,
8
8
  WHITEBOX_DISCOVERY_SYSTEM_PROMPT,
9
9
  WhiteboxAttackSurfaceAgent
10
- } from "./cli-gbkj2has.js";
10
+ } from "./cli-1svb0r8t.js";
11
11
  import"./cli-9fsre5pt.js";
12
- import"./cli-tw3fe8bj.js";
13
- import"./cli-35czfv00.js";
14
- import"./cli-6wwpk9d9.js";
12
+ import"./cli-91gb6pzq.js";
13
+ import"./cli-z6s0jf9r.js";
14
+ import"./cli-dvgf3h1w.js";
15
15
  import"./cli-c8131c4q.js";
16
- import"./cli-v1aqbv58.js";
17
- import"./cli-hj3t87r2.js";
18
- import"./cli-f7d23ded.js";
16
+ import"./cli-nhhyvhb8.js";
17
+ import"./cli-f22qgya7.js";
18
+ import"./cli-3k1x5rn3.js";
19
19
  import"./cli-gpnb45ck.js";
20
- import"./cli-9z6vwf30.js";
21
- import"./cli-xnnkeg5p.js";
22
- import"./cli-ks60cc3h.js";
20
+ import"./cli-xaf3mx2a.js";
21
+ import"./cli-5ptphzvg.js";
22
+ import"./cli-qc5a4cq4.js";
23
23
  import"./cli-8rxa073f.js";
24
24
  export {
25
25
  WhiteboxAttackSurfaceAgent,