@pensar/apex 2.2.0-canary.9a2febe4 → 2.2.0-canary.a22f76de

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 (54) hide show
  1. package/build/{agent-k45ne7sv.js → agent-0xx3yj8f.js} +9 -9
  2. package/build/{agent-jgjybz1n.js → agent-nt1gaxs0.js} +7 -7
  3. package/build/agent-s551dn9w.js +19 -0
  4. package/build/{apps-g798rjfk.js → apps-6dfsp8hj.js} +16 -16
  5. package/build/{auth-5f8vv91e.js → auth-bs2vzwsn.js} +32 -39
  6. package/build/authentication-2qtekfz4.js +19 -0
  7. package/build/blackboxAgent-zvvbea75.js +19 -0
  8. package/build/{blackboxPentest-d855jz1c.js → blackboxPentest-kjgfhv3p.js} +14 -14
  9. package/build/{cli-ngraq4cd.js → cli-0h6kq8ne.js} +2 -2
  10. package/build/{cli-pjrh9qaw.js → cli-1mc79bn9.js} +1 -1
  11. package/build/{cli-qm4w7r2x.js → cli-36p7dcds.js} +4 -2
  12. package/build/{cli-9r34w599.js → cli-39mzrzxa.js} +2 -2
  13. package/build/{cli-sjs324ah.js → cli-94zfkk4a.js} +1 -1
  14. package/build/{cli-f1467gv6.js → cli-c3njdv5t.js} +1 -1
  15. package/build/{cli-dc9hkjxy.js → cli-eca3jmva.js} +1 -1
  16. package/build/{cli-v2fgyeby.js → cli-hbp2jw8x.js} +2 -2
  17. package/build/{cli-agxy98cy.js → cli-jzt9py6j.js} +8 -8
  18. package/build/{cli-r040hsff.js → cli-m6db1s7m.js} +51 -2
  19. package/build/{cli-zkfskzs2.js → cli-mc5gw06k.js} +3 -3
  20. package/build/{cli-9czjkypb.js → cli-pw576mmk.js} +1 -1
  21. package/build/{cli-n3b2j6ny.js → cli-qeye81qv.js} +13 -13
  22. package/build/{cli-ecryj1ac.js → cli-sg2b7w5j.js} +11 -6
  23. package/build/{cli-vxvwqnsz.js → cli-tf4gwejg.js} +2 -2
  24. package/build/{cli-8gv5fr2e.js → cli-v5z684jq.js} +11 -5
  25. package/build/{cli-mkwj11fx.js → cli-zf28yx2d.js} +3 -3
  26. package/build/cli.js +33 -33
  27. package/build/{config-bjkaeps2.js → config-g0j0bcjv.js} +3 -3
  28. package/build/{doctor-ka53crep.js → doctor-d9rd4n85.js} +6 -6
  29. package/build/{fastStrike-9y8vcm4e.js → fastStrike-edc7xxg6.js} +9 -9
  30. package/build/{fixes-4zbphchd.js → fixes-42dv2d14.js} +16 -16
  31. package/build/{index-g6f4qa7x.js → index-55hvttxe.js} +2 -2
  32. package/build/{index-8vecxw29.js → index-6th2zgp8.js} +8 -8
  33. package/build/{index-1ezyeq2e.js → index-gnnx8182.js} +9 -5
  34. package/build/{index-nwk6q6s7.js → index-jh2fr7v6.js} +13 -8
  35. package/build/{index-12cvbsdg.js → index-kq80afff.js} +3 -3
  36. package/build/{index-cwbk0edn.js → index-pbd25jwe.js} +1075 -898
  37. package/build/{index-z6nwmwjp.js → index-vbtzwzxj.js} +9 -9
  38. package/build/{issues-hpt8dcqk.js → issues-rbgh2epa.js} +44 -16
  39. package/build/{logs-7sbzraj6.js → logs-8qkv2ckx.js} +16 -16
  40. package/build/{offesecAgent-zh7gt11q.js → offesecAgent-xkzmf9y8.js} +8 -8
  41. package/build/pentest-m503zwz5.js +29 -0
  42. package/build/{pentests-qvy26e74.js → pentests-jrcsnva8.js} +16 -16
  43. package/build/{targetedPentest-e9282gzp.js → targetedPentest-6g73s2e7.js} +9 -9
  44. package/build/{targets-6wctny3k.js → targets-xdpqb2xj.js} +16 -16
  45. package/build/threatModel-jfhxyhm3.js +27 -0
  46. package/build/{uninstall-gsjm07fz.js → uninstall-natj25yw.js} +1 -1
  47. package/build/{upload-a6s9qd5c.js → upload-adt133yj.js} +6 -6
  48. package/build/{utils-d470qka4.js → utils-q5jngpc6.js} +5 -5
  49. package/package.json +1 -1
  50. package/build/agent-xgc74kbv.js +0 -19
  51. package/build/authentication-x59g8700.js +0 -19
  52. package/build/blackboxAgent-shd4qagm.js +0 -19
  53. package/build/pentest-gqn794ny.js +0 -29
  54. package/build/threatModel-7qwdhyg6.js +0 -27
@@ -4,19 +4,19 @@ import {
4
4
  buildPentestActiveTools,
5
5
  buildPentestPrompt,
6
6
  buildPentestSystemPrompt
7
- } from "./cli-ngraq4cd.js";
7
+ } from "./cli-0h6kq8ne.js";
8
8
  import"./cli-9fsre5pt.js";
9
- import"./cli-dc9hkjxy.js";
10
- import"./cli-n3b2j6ny.js";
11
- import"./cli-9czjkypb.js";
9
+ import"./cli-eca3jmva.js";
10
+ import"./cli-qeye81qv.js";
11
+ import"./cli-pw576mmk.js";
12
12
  import"./cli-c8131c4q.js";
13
- import"./cli-ecryj1ac.js";
14
- import"./cli-r040hsff.js";
13
+ import"./cli-sg2b7w5j.js";
14
+ import"./cli-m6db1s7m.js";
15
15
  import"./cli-3k1x5rn3.js";
16
16
  import"./cli-gpnb45ck.js";
17
- import"./cli-pjrh9qaw.js";
18
- import"./cli-qm4w7r2x.js";
19
- import"./cli-sjs324ah.js";
17
+ import"./cli-1mc79bn9.js";
18
+ import"./cli-36p7dcds.js";
19
+ import"./cli-94zfkk4a.js";
20
20
  import"./cli-8rxa073f.js";
21
21
  export {
22
22
  buildPentestSystemPrompt,
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-n3b2j6ny.js";
3
+ } from "./cli-qeye81qv.js";
4
4
  import {
5
5
  detectOSAndEnhancePrompt
6
- } from "./cli-9czjkypb.js";
6
+ } from "./cli-pw576mmk.js";
7
7
  import"./cli-c8131c4q.js";
8
8
  import {
9
9
  init_dist,
10
10
  stepCountIs
11
- } from "./cli-ecryj1ac.js";
12
- import"./cli-r040hsff.js";
11
+ } from "./cli-sg2b7w5j.js";
12
+ import"./cli-m6db1s7m.js";
13
13
  import {
14
14
  exports_external,
15
15
  init_zod
16
16
  } from "./cli-3k1x5rn3.js";
17
17
  import"./cli-gpnb45ck.js";
18
- import"./cli-pjrh9qaw.js";
19
- import"./cli-qm4w7r2x.js";
20
- import"./cli-sjs324ah.js";
18
+ import"./cli-1mc79bn9.js";
19
+ import"./cli-36p7dcds.js";
20
+ import"./cli-94zfkk4a.js";
21
21
  import"./cli-8rxa073f.js";
22
22
 
23
23
  // src/core/agents/specialized/findingJudge/agent.ts
@@ -0,0 +1,19 @@
1
+ import {
2
+ CodeAgent
3
+ } from "./cli-hbp2jw8x.js";
4
+ import"./cli-9fsre5pt.js";
5
+ import"./cli-eca3jmva.js";
6
+ import"./cli-qeye81qv.js";
7
+ import"./cli-pw576mmk.js";
8
+ import"./cli-c8131c4q.js";
9
+ import"./cli-sg2b7w5j.js";
10
+ import"./cli-m6db1s7m.js";
11
+ import"./cli-3k1x5rn3.js";
12
+ import"./cli-gpnb45ck.js";
13
+ import"./cli-1mc79bn9.js";
14
+ import"./cli-36p7dcds.js";
15
+ import"./cli-94zfkk4a.js";
16
+ import"./cli-8rxa073f.js";
17
+ export {
18
+ CodeAgent
19
+ };
@@ -12,27 +12,27 @@ import {
12
12
  searchEndpoints,
13
13
  updateApp,
14
14
  updateEndpoint
15
- } from "./cli-8gv5fr2e.js";
16
- import"./cli-agxy98cy.js";
17
- import"./cli-mkwj11fx.js";
18
- import"./cli-9r34w599.js";
19
- import"./cli-ngraq4cd.js";
20
- import"./cli-zkfskzs2.js";
21
- import"./cli-v2fgyeby.js";
22
- import"./cli-vxvwqnsz.js";
15
+ } from "./cli-v5z684jq.js";
16
+ import"./cli-jzt9py6j.js";
17
+ import"./cli-zf28yx2d.js";
18
+ import"./cli-39mzrzxa.js";
19
+ import"./cli-0h6kq8ne.js";
20
+ import"./cli-mc5gw06k.js";
21
+ import"./cli-hbp2jw8x.js";
22
+ import"./cli-tf4gwejg.js";
23
23
  import"./cli-9fsre5pt.js";
24
- import"./cli-dc9hkjxy.js";
25
- import"./cli-n3b2j6ny.js";
26
- import"./cli-9czjkypb.js";
24
+ import"./cli-eca3jmva.js";
25
+ import"./cli-qeye81qv.js";
26
+ import"./cli-pw576mmk.js";
27
27
  import"./cli-fw5r7pfj.js";
28
28
  import"./cli-c8131c4q.js";
29
- import"./cli-ecryj1ac.js";
30
- import"./cli-r040hsff.js";
29
+ import"./cli-sg2b7w5j.js";
30
+ import"./cli-m6db1s7m.js";
31
31
  import"./cli-3k1x5rn3.js";
32
32
  import"./cli-gpnb45ck.js";
33
- import"./cli-pjrh9qaw.js";
34
- import"./cli-qm4w7r2x.js";
35
- import"./cli-sjs324ah.js";
33
+ import"./cli-1mc79bn9.js";
34
+ import"./cli-36p7dcds.js";
35
+ import"./cli-94zfkk4a.js";
36
36
  import"./cli-8rxa073f.js";
37
37
 
38
38
  // src/cli/apps.ts
@@ -1,20 +1,21 @@
1
1
  #!/usr/bin/env bun
2
- import"./cli-8gv5fr2e.js";
3
- import"./cli-agxy98cy.js";
4
- import"./cli-mkwj11fx.js";
5
- import"./cli-9r34w599.js";
6
- import"./cli-ngraq4cd.js";
7
- import"./cli-zkfskzs2.js";
8
- import"./cli-v2fgyeby.js";
9
- import"./cli-vxvwqnsz.js";
2
+ import"./cli-v5z684jq.js";
3
+ import"./cli-jzt9py6j.js";
4
+ import"./cli-zf28yx2d.js";
5
+ import"./cli-39mzrzxa.js";
6
+ import"./cli-0h6kq8ne.js";
7
+ import"./cli-mc5gw06k.js";
8
+ import"./cli-hbp2jw8x.js";
9
+ import"./cli-tf4gwejg.js";
10
10
  import"./cli-9fsre5pt.js";
11
- import"./cli-dc9hkjxy.js";
12
- import"./cli-n3b2j6ny.js";
13
- import"./cli-9czjkypb.js";
11
+ import"./cli-eca3jmva.js";
12
+ import"./cli-qeye81qv.js";
13
+ import"./cli-pw576mmk.js";
14
14
  import"./cli-fw5r7pfj.js";
15
15
  import"./cli-c8131c4q.js";
16
- import"./cli-ecryj1ac.js";
16
+ import"./cli-sg2b7w5j.js";
17
17
  import {
18
+ createWorkspaceSelection,
18
19
  disconnect,
19
20
  fetchWorkspaces,
20
21
  getPensarApiUrl,
@@ -24,17 +25,18 @@ import {
24
25
  pollForWorkspaceCreation,
25
26
  pollLegacyToken,
26
27
  pollWorkOSToken,
28
+ pollWorkspaceSelection,
27
29
  selectWorkspace,
28
30
  startDeviceFlow
29
- } from "./cli-r040hsff.js";
31
+ } from "./cli-m6db1s7m.js";
30
32
  import"./cli-3k1x5rn3.js";
31
33
  import"./cli-gpnb45ck.js";
32
34
  import {
33
35
  config,
34
36
  init_config
35
- } from "./cli-pjrh9qaw.js";
36
- import"./cli-qm4w7r2x.js";
37
- import"./cli-sjs324ah.js";
37
+ } from "./cli-1mc79bn9.js";
38
+ import"./cli-36p7dcds.js";
39
+ import"./cli-94zfkk4a.js";
38
40
  import {
39
41
  __require
40
42
  } from "./cli-8rxa073f.js";
@@ -70,26 +72,16 @@ function prompt(question) {
70
72
  });
71
73
  });
72
74
  }
73
- async function promptWorkspaceSelection(workspaces) {
75
+ async function selectWorkspaceInBrowser(apiUrl, accessToken) {
76
+ const selection = await createWorkspaceSelection(apiUrl, accessToken);
77
+ openUrl(selection.selectionUrl);
74
78
  console.log(`
75
- Select a workspace:
76
- `);
77
- workspaces.forEach((ws, i) => {
78
- console.log(` ${i + 1}. ${ws.name} (${ws.slug}) — $${ws.balance.toFixed(2)}`);
79
- });
80
- const answer = await prompt(`
81
- Enter number (1-${workspaces.length}): `);
82
- const index = parseInt(answer, 10) - 1;
83
- if (Number.isNaN(index) || index < 0 || index >= workspaces.length) {
84
- console.error("Invalid selection.");
85
- process.exit(1);
86
- }
87
- const workspace = workspaces[index];
88
- if (!workspace) {
89
- console.error("Invalid selection.");
90
- process.exit(1);
91
- }
92
- return workspace;
79
+ You have multiple workspaces. Choose one in your browser to continue.
80
+ If the browser didn't open, visit:
81
+ ${selection.selectionUrl}
82
+
83
+ Waiting for workspace selection...`);
84
+ return pollWorkspaceSelection(apiUrl, accessToken, selection.selectionId);
93
85
  }
94
86
  async function login() {
95
87
  const appConfig = await config.get();
@@ -187,17 +179,18 @@ If the browser didn't open, visit: ${consoleUrl}/create-workspace?redirect=/cred
187
179
  console.log("Waiting for workspace creation...");
188
180
  workspaces = await pollForWorkspaceCreation(apiUrl, accessToken);
189
181
  }
190
- let workspace;
182
+ let workspaceId;
191
183
  if (workspaces.length === 1) {
192
184
  const onlyWorkspace = workspaces[0];
193
185
  if (!onlyWorkspace) {
194
186
  throw new Error("No workspace available after workspace lookup");
195
187
  }
196
- workspace = onlyWorkspace;
188
+ workspaceId = onlyWorkspace.id;
197
189
  } else {
198
- workspace = await promptWorkspaceSelection(workspaces);
190
+ workspaceId = await selectWorkspaceInBrowser(apiUrl, accessToken);
199
191
  }
200
- const result = await selectWorkspace(apiUrl, accessToken, workspace.id);
192
+ const result = await selectWorkspace(apiUrl, accessToken, workspaceId);
193
+ const workspace = result.workspace;
201
194
  await config.update({
202
195
  workspaceId: workspace.id,
203
196
  workspaceSlug: workspace.slug,
@@ -0,0 +1,19 @@
1
+ import {
2
+ runAuthenticationAgent
3
+ } from "./cli-mc5gw06k.js";
4
+ import"./cli-9fsre5pt.js";
5
+ import"./cli-eca3jmva.js";
6
+ import"./cli-qeye81qv.js";
7
+ import"./cli-pw576mmk.js";
8
+ import"./cli-c8131c4q.js";
9
+ import"./cli-sg2b7w5j.js";
10
+ import"./cli-m6db1s7m.js";
11
+ import"./cli-3k1x5rn3.js";
12
+ import"./cli-gpnb45ck.js";
13
+ import"./cli-1mc79bn9.js";
14
+ import"./cli-36p7dcds.js";
15
+ import"./cli-94zfkk4a.js";
16
+ import"./cli-8rxa073f.js";
17
+ export {
18
+ runAuthenticationAgent
19
+ };
@@ -0,0 +1,19 @@
1
+ import {
2
+ BlackboxAttackSurfaceAgent
3
+ } from "./cli-zf28yx2d.js";
4
+ import"./cli-9fsre5pt.js";
5
+ import"./cli-eca3jmva.js";
6
+ import"./cli-qeye81qv.js";
7
+ import"./cli-pw576mmk.js";
8
+ import"./cli-c8131c4q.js";
9
+ import"./cli-sg2b7w5j.js";
10
+ import"./cli-m6db1s7m.js";
11
+ import"./cli-3k1x5rn3.js";
12
+ import"./cli-gpnb45ck.js";
13
+ import"./cli-1mc79bn9.js";
14
+ import"./cli-36p7dcds.js";
15
+ import"./cli-94zfkk4a.js";
16
+ import"./cli-8rxa073f.js";
17
+ export {
18
+ BlackboxAttackSurfaceAgent
19
+ };
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  runPentestWorkflow
3
- } from "./cli-agxy98cy.js";
4
- import"./cli-mkwj11fx.js";
5
- import"./cli-9r34w599.js";
6
- import"./cli-ngraq4cd.js";
7
- import"./cli-v2fgyeby.js";
8
- import"./cli-vxvwqnsz.js";
3
+ } from "./cli-jzt9py6j.js";
4
+ import"./cli-zf28yx2d.js";
5
+ import"./cli-39mzrzxa.js";
6
+ import"./cli-0h6kq8ne.js";
7
+ import"./cli-hbp2jw8x.js";
8
+ import"./cli-tf4gwejg.js";
9
9
  import"./cli-9fsre5pt.js";
10
- import"./cli-dc9hkjxy.js";
11
- import"./cli-n3b2j6ny.js";
12
- import"./cli-9czjkypb.js";
10
+ import"./cli-eca3jmva.js";
11
+ import"./cli-qeye81qv.js";
12
+ import"./cli-pw576mmk.js";
13
13
  import"./cli-fw5r7pfj.js";
14
14
  import"./cli-c8131c4q.js";
15
- import"./cli-ecryj1ac.js";
16
- import"./cli-r040hsff.js";
15
+ import"./cli-sg2b7w5j.js";
16
+ import"./cli-m6db1s7m.js";
17
17
  import"./cli-3k1x5rn3.js";
18
18
  import"./cli-gpnb45ck.js";
19
- import"./cli-pjrh9qaw.js";
20
- import"./cli-qm4w7r2x.js";
21
- import"./cli-sjs324ah.js";
19
+ import"./cli-1mc79bn9.js";
20
+ import"./cli-36p7dcds.js";
21
+ import"./cli-94zfkk4a.js";
22
22
  import"./cli-8rxa073f.js";
23
23
 
24
24
  // src/core/api/blackboxPentest.ts
@@ -5,7 +5,7 @@ import {
5
5
  createReportErrorTool,
6
6
  isMemoryEnabled,
7
7
  readPlan
8
- } from "./cli-n3b2j6ny.js";
8
+ } from "./cli-qeye81qv.js";
9
9
  import {
10
10
  createLogger,
11
11
  hasToolCall,
@@ -13,7 +13,7 @@ import {
13
13
  init_lazyLogger,
14
14
  init_structured,
15
15
  scopedLogger
16
- } from "./cli-ecryj1ac.js";
16
+ } from "./cli-sg2b7w5j.js";
17
17
  import {
18
18
  exports_external,
19
19
  init_zod
@@ -3,7 +3,7 @@ import {
3
3
  init,
4
4
  init_config,
5
5
  update
6
- } from "./cli-qm4w7r2x.js";
6
+ } from "./cli-36p7dcds.js";
7
7
  import {
8
8
  __esm
9
9
  } from "./cli-8rxa073f.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentVersion,
3
3
  init_installation
4
- } from "./cli-sjs324ah.js";
4
+ } from "./cli-94zfkk4a.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-8rxa073f.js";
@@ -38,6 +38,7 @@ function applyEnvFallbacks(parsedConfig) {
38
38
  ...parsedConfig,
39
39
  responsibleUseAccepted: parsedConfig.responsibleUseAccepted ?? false,
40
40
  defaultHeaders: parsedConfig.defaultHeaders ?? DEFAULT_CONFIG.defaultHeaders,
41
+ strikeMode: parsedConfig.strikeMode ?? DEFAULT_CONFIG.strikeMode,
41
42
  surfaceIntegrationEnabled: parsedConfig.surfaceIntegrationEnabled ?? parseBoolEnv(process.env.PENSAR_SURFACE_INTEGRATION),
42
43
  version,
43
44
  openAiAPIKey: parsedConfig.openAiAPIKey ?? process.env.OPENAI_API_KEY,
@@ -78,7 +79,8 @@ var init_config = __esm(() => {
78
79
  init_installation();
79
80
  DEFAULT_CONFIG = {
80
81
  responsibleUseAccepted: false,
81
- defaultHeaders: { "User-Agent": "pensar-apex" }
82
+ defaultHeaders: { "User-Agent": "pensar-apex" },
83
+ strikeMode: false
82
84
  };
83
85
  });
84
86
 
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  EvidenceFileEntrySchema
3
- } from "./cli-dc9hkjxy.js";
3
+ } from "./cli-eca3jmva.js";
4
4
  import {
5
5
  CweEntrySchema,
6
6
  ValidatedCweEntrySchema,
7
7
  hasCanonicalName
8
- } from "./cli-n3b2j6ny.js";
8
+ } from "./cli-qeye81qv.js";
9
9
  import {
10
10
  exports_external,
11
11
  init_zod
@@ -120,7 +120,7 @@ var init_package = __esm(() => {
120
120
  tsc: "tsc --noEmit"
121
121
  },
122
122
  type: "module",
123
- version: "2.2.0-canary.9a2febe4"
123
+ version: "2.2.0-canary.a22f76de"
124
124
  };
125
125
  });
126
126
 
@@ -3,7 +3,7 @@ import {
3
3
  init_lazyLogger,
4
4
  init_structured,
5
5
  scopedLogger
6
- } from "./cli-ecryj1ac.js";
6
+ } from "./cli-sg2b7w5j.js";
7
7
 
8
8
  // src/core/integrations/wandb/client.ts
9
9
  init_structured();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CweEntrySchema,
3
3
  ValidatedCweEntrySchema
4
- } from "./cli-n3b2j6ny.js";
4
+ } from "./cli-qeye81qv.js";
5
5
  import {
6
6
  exports_external,
7
7
  init_zod
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-n3b2j6ny.js";
3
+ } from "./cli-qeye81qv.js";
4
4
  import {
5
5
  init_dist,
6
6
  stepCountIs
7
- } from "./cli-ecryj1ac.js";
7
+ } from "./cli-sg2b7w5j.js";
8
8
 
9
9
  // src/core/agents/specialized/codeAgent/agent.ts
10
10
  init_dist();
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  BlackboxAttackSurfaceAgent
3
- } from "./cli-mkwj11fx.js";
3
+ } from "./cli-zf28yx2d.js";
4
4
  import {
5
5
  REPORT_FILENAME_JSON,
6
6
  REPORT_FILENAME_MD,
7
7
  buildPentestReport,
8
8
  renderJson,
9
9
  renderMarkdown
10
- } from "./cli-9r34w599.js";
10
+ } from "./cli-39mzrzxa.js";
11
11
  import {
12
12
  TargetedPentestAgent,
13
13
  buildPentestSystemPrompt
14
- } from "./cli-ngraq4cd.js";
14
+ } from "./cli-0h6kq8ne.js";
15
15
  import {
16
16
  CodeAgent
17
- } from "./cli-v2fgyeby.js";
17
+ } from "./cli-hbp2jw8x.js";
18
18
  import {
19
19
  AppsDiscoveryResultSchema,
20
20
  DiscoverySummarySchema,
@@ -22,7 +22,7 @@ import {
22
22
  WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT,
23
23
  WHITEBOX_DISCOVERY_SYSTEM_PROMPT,
24
24
  WHITEBOX_ENDPOINT_DOCUMENTATION_SYSTEM_PROMPT
25
- } from "./cli-vxvwqnsz.js";
25
+ } from "./cli-tf4gwejg.js";
26
26
  import {
27
27
  FindingsRegistry,
28
28
  OffensiveSecurityAgent,
@@ -31,7 +31,7 @@ import {
31
31
  pLimit,
32
32
  runWithBoundedConcurrency,
33
33
  toGrpcPentestContext
34
- } from "./cli-n3b2j6ny.js";
34
+ } from "./cli-qeye81qv.js";
35
35
  import {
36
36
  createThreatModelPrompt
37
37
  } from "./cli-fw5r7pfj.js";
@@ -45,7 +45,7 @@ import {
45
45
  init_structured,
46
46
  newSessionId,
47
47
  scopedLogger
48
- } from "./cli-ecryj1ac.js";
48
+ } from "./cli-sg2b7w5j.js";
49
49
  import {
50
50
  __require
51
51
  } from "./cli-8rxa073f.js";
@@ -7786,7 +7786,7 @@ async function runPentestSwarm(input) {
7786
7786
  }
7787
7787
  async function runPentestWorkflow(input) {
7788
7788
  if (input.fastStrike) {
7789
- const { runFastStrike } = await import("./fastStrike-9y8vcm4e.js");
7789
+ const { runFastStrike } = await import("./fastStrike-edc7xxg6.js");
7790
7790
  return runFastStrike(input);
7791
7791
  }
7792
7792
  const {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  config,
3
3
  init_config
4
- } from "./cli-pjrh9qaw.js";
4
+ } from "./cli-1mc79bn9.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-8rxa073f.js";
@@ -350,6 +350,55 @@ async function selectWorkspace(apiUrl, accessToken, workspaceId) {
350
350
  }
351
351
  return await response.json();
352
352
  }
353
+ async function createWorkspaceSelection(apiUrl, accessToken) {
354
+ const response = await fetch(`${apiUrl}/api/cli/workspace-selection`, {
355
+ method: "POST",
356
+ headers: {
357
+ "Content-Type": "application/json",
358
+ Authorization: `Bearer ${accessToken}`
359
+ }
360
+ });
361
+ if (!response.ok) {
362
+ throw new Error("Failed to start workspace selection");
363
+ }
364
+ return await response.json();
365
+ }
366
+ async function pollWorkspaceSelection(apiUrl, accessToken, selectionId, signal) {
367
+ const POLL_INTERVAL = 3000;
368
+ const TIMEOUT = 10 * 60 * 1000;
369
+ const deadline = Date.now() + TIMEOUT;
370
+ while (Date.now() < deadline) {
371
+ if (signal?.aborted)
372
+ throw new Error("Cancelled");
373
+ await sleep2(POLL_INTERVAL);
374
+ if (signal?.aborted)
375
+ throw new Error("Cancelled");
376
+ try {
377
+ const response = await fetch(`${apiUrl}/api/cli/workspace-selection?id=${encodeURIComponent(selectionId)}`, {
378
+ headers: { Authorization: `Bearer ${accessToken}` }
379
+ });
380
+ if (!response.ok)
381
+ continue;
382
+ const data = await response.json();
383
+ if (data.status === "complete" && data.workspaceId) {
384
+ return data.workspaceId;
385
+ }
386
+ if (data.status === "expired") {
387
+ throw new Error("Workspace selection expired. Please run `pensar login` again.");
388
+ }
389
+ } catch (err) {
390
+ if (signal?.aborted)
391
+ throw new Error("Cancelled");
392
+ if (err instanceof Error && err.message.includes("Please try again")) {
393
+ throw err;
394
+ }
395
+ if (err instanceof Error && err.message.includes("expired")) {
396
+ throw err;
397
+ }
398
+ }
399
+ }
400
+ throw new Error("Workspace selection timed out. Please try again.");
401
+ }
353
402
  var init_workspaces = () => {};
354
403
 
355
404
  // src/core/auth/index.ts
@@ -362,4 +411,4 @@ var init_auth = __esm(() => {
362
411
  init_workspaces();
363
412
  });
364
413
 
365
- export { getPensarApiUrl, getPensarGatewayUrl, getPensarConsoleUrl, init_constants, isConnected, disconnect, startDeviceFlow, pollWorkOSToken, pollLegacyToken, isTokenExpired, ensureValidToken, validateGateway, signGatewayRequest, fetchWorkspaces, pollForWorkspaceCreation, selectWorkspace, init_auth };
414
+ export { getPensarApiUrl, getPensarGatewayUrl, getPensarConsoleUrl, init_constants, isConnected, disconnect, startDeviceFlow, pollWorkOSToken, pollLegacyToken, isTokenExpired, ensureValidToken, validateGateway, signGatewayRequest, fetchWorkspaces, pollForWorkspaceCreation, selectWorkspace, createWorkspaceSelection, pollWorkspaceSelection, init_auth };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-n3b2j6ny.js";
3
+ } from "./cli-qeye81qv.js";
4
4
  import {
5
5
  detectOSAndEnhancePrompt
6
- } from "./cli-9czjkypb.js";
6
+ } from "./cli-pw576mmk.js";
7
7
  import {
8
8
  createLogger,
9
9
  hasToolCall,
@@ -11,7 +11,7 @@ import {
11
11
  init_lazyLogger,
12
12
  init_structured,
13
13
  scopedLogger
14
- } from "./cli-ecryj1ac.js";
14
+ } from "./cli-sg2b7w5j.js";
15
15
 
16
16
  // src/core/agents/specialized/authenticationAgent/agent.ts
17
17
  init_dist();
@@ -3,7 +3,7 @@ import {
3
3
  init_lazyLogger,
4
4
  init_structured,
5
5
  scopedLogger
6
- } from "./cli-ecryj1ac.js";
6
+ } from "./cli-sg2b7w5j.js";
7
7
 
8
8
  // src/core/agents/specialized/utils.ts
9
9
  import { execSync } from "node:child_process";