@pensar/apex 2.6.1-canary.e936ec17 → 2.6.1

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 (120) hide show
  1. package/build/agent-6w7egcf1.js +13 -0
  2. package/build/agent-9zx75feh.js +13 -0
  3. package/build/{agent-t2g0e5v1.js → agent-ayreaj6z.js} +5 -5
  4. package/build/{agent-runs-mw4bp0n5.js → agent-runs-g37vkrjr.js} +16 -16
  5. package/build/{agent-x8wxd9ma.js → agent-yby11zaq.js} +6 -6
  6. package/build/{apps-b2x50tm7.js → apps-xn6km9yn.js} +13 -13
  7. package/build/{auth-0rfqyw3s.js → auth-d105wc64.js} +13 -13
  8. package/build/{blackboxAgent-7bapanbv.js → blackboxAgent-s56sgx9b.js} +6 -6
  9. package/build/{blackboxPentest-ngs99vv8.js → blackboxPentest-ps78v3w7.js} +11 -11
  10. package/build/{cli-tt7d70n9.js → cli-1ve18npr.js} +1 -1
  11. package/build/{cli-en2trtdx.js → cli-3sp6nd8d.js} +2 -2
  12. package/build/{cli-k594kwq8.js → cli-65g6rcat.js} +1 -1
  13. package/build/{cli-w9d2bnf3.js → cli-709rvekb.js} +1 -1
  14. package/build/{cli-rwnm0p5r.js → cli-7eea4e2y.js} +39 -7
  15. package/build/{cli-1b0pw0wp.js → cli-ae8jqxqr.js} +2 -2
  16. package/build/{cli-raavtvwt.js → cli-az3xq70v.js} +1 -1
  17. package/build/{cli-c2nb79ce.js → cli-c05y640n.js} +1 -1
  18. package/build/{cli-9d8m1qw2.js → cli-d37a42dc.js} +8 -8
  19. package/build/{cli-jpa3w5b4.js → cli-dpsw2fe6.js} +5 -5
  20. package/build/{cli-9a7b3x56.js → cli-fy6vh2a7.js} +1 -1
  21. package/build/{cli-72aenzba.js → cli-gx71jcke.js} +1 -1
  22. package/build/{cli-84qrqxjc.js → cli-k2nwxta0.js} +2 -2
  23. package/build/{cli-ay461rtr.js → cli-kb21qhvm.js} +2 -2
  24. package/build/{cli-sf6x1vjx.js → cli-n2en7j5b.js} +1 -1
  25. package/build/{cli-zahhskff.js → cli-ngq9dr8n.js} +3 -3
  26. package/build/{cli-8q41y2ss.js → cli-qgz1q9g5.js} +12 -12
  27. package/build/{cli-h68jfmth.js → cli-xtc2t6me.js} +3 -3
  28. package/build/cli.js +40 -36
  29. package/build/{config-8eg7v57g.js → config-zpqkd5cz.js} +1 -1
  30. package/build/{fastStrike-6pejawnd.js → fastStrike-mcjdvwez.js} +5 -5
  31. package/build/{fixes-94pbkpy6.js → fixes-kytx5dmj.js} +13 -13
  32. package/build/{index-xavch1zh.js → index-4vqdgb42.js} +19 -19
  33. package/build/{index-k3vaa38r.js → index-dr3tg1w3.js} +1 -1
  34. package/build/{index-g8z6kn6v.js → index-fv64eb32.js} +2 -2
  35. package/build/{index-bsdq9wd9.js → index-je6hcsqr.js} +1 -1
  36. package/build/{index-c6szs0vn.js → index-n65z6v7b.js} +6 -6
  37. package/build/{index-jvpmhhqm.js → index-ns4m4s01.js} +4 -4
  38. package/build/{index-9hnznpdk.js → index-qv4cc65p.js} +28 -14
  39. package/build/{index-2sc33n6h.js → index-r9yjkfrv.js} +4 -4
  40. package/build/{index-yt0n80v2.js → index-wqetp6gq.js} +5 -5
  41. package/build/{issues-hxcq3q0g.js → issues-eb3q9d3a.js} +13 -13
  42. package/build/knowledge-fqsvtx0f.js +139 -0
  43. package/build/lib/{chunk-nv32cpyc.js → chunk-1azdancq.js} +1 -1
  44. package/build/lib/{chunk-9yjz0ynw.js → chunk-1fy8azee.js} +1 -1
  45. package/build/lib/{chunk-zfp495pt.js → chunk-1jvwqnem.js} +3 -3
  46. package/build/lib/{chunk-dj3q3fxw.js → chunk-1yct6cra.js} +1 -1
  47. package/build/lib/{chunk-gt5gf7ps.js → chunk-2qsq76xq.js} +3 -3
  48. package/build/lib/{chunk-tjch07p0.js → chunk-3c00n0cy.js} +3 -3
  49. package/build/lib/{chunk-86z9yr32.js → chunk-4hwzqthr.js} +1 -1
  50. package/build/lib/{chunk-9jfybqs2.js → chunk-7pwa92rn.js} +1 -1
  51. package/build/lib/{chunk-pcpzbdnn.js → chunk-9tt2021m.js} +9 -9
  52. package/build/lib/{chunk-xqygd85b.js → chunk-9yksqgzr.js} +52 -13
  53. package/build/lib/{chunk-xw3w0xzz.js → chunk-acgbyf5h.js} +1 -1
  54. package/build/lib/{chunk-5wt0sejb.js → chunk-ba41jh41.js} +1 -1
  55. package/build/lib/{chunk-r18sc80z.js → chunk-bb0ekhkw.js} +8 -8
  56. package/build/lib/{chunk-shtrgm3j.js → chunk-e8yy2k73.js} +1 -1
  57. package/build/lib/{chunk-0z4r4r0x.js → chunk-mg03jdmt.js} +1 -1
  58. package/build/lib/{chunk-nhnhhnk1.js → chunk-nhfax4gb.js} +1 -1
  59. package/build/lib/{chunk-521eq8kw.js → chunk-r2dkp4tb.js} +1 -1
  60. package/build/lib/{chunk-mqftsw7s.js → chunk-r4j8ybn9.js} +3 -3
  61. package/build/lib/{chunk-v8p7j8br.js → chunk-v3dk9j7k.js} +11 -11
  62. package/build/lib/{chunk-afc4wybp.js → chunk-w66ce82a.js} +1 -1
  63. package/build/lib/{chunk-ydgsc09t.js → chunk-xhdpgpkm.js} +2 -2
  64. package/build/lib/{chunk-837ga30c.js → chunk-yrnrbjes.js} +1 -1
  65. package/build/lib/{chunk-m9anmxyq.js → chunk-z137x08b.js} +5 -5
  66. package/build/lib/{chunk-pnnj2k0n.js → chunk-z96pbjhd.js} +1 -1
  67. package/build/lib/core/agents/offSecAgent/index.js +7 -7
  68. package/build/lib/core/agents/offSecAgent/subagentSpawner.js +5 -5
  69. package/build/lib/core/agents/offSecAgent/tools/index.js +4 -4
  70. package/build/lib/core/agents/specialized/attackSurface/blackboxAgent.js +9 -9
  71. package/build/lib/core/agents/specialized/attackSurface/schemas.js +9 -9
  72. package/build/lib/core/agents/specialized/authenticationAgent/index.js +10 -10
  73. package/build/lib/core/agents/specialized/codeAgent/agent.js +9 -9
  74. package/build/lib/core/agents/specialized/findingJudge/agent.js +8 -8
  75. package/build/lib/core/agents/specialized/findingJudge/index.js +3 -3
  76. package/build/lib/core/agents/specialized/patching/index.js +10 -10
  77. package/build/lib/core/agents/specialized/pentest/agent.js +9 -9
  78. package/build/lib/core/agents/specialized/whiteboxAttackSurface/index.js +9 -9
  79. package/build/lib/core/ai/ai.js +2 -2
  80. package/build/lib/core/ai/index.js +2 -2
  81. package/build/lib/core/ai/utils.js +2 -2
  82. package/build/lib/core/api/index.d.ts +2 -0
  83. package/build/lib/core/api/index.js +34 -20
  84. package/build/lib/core/api/issues.d.ts +1 -0
  85. package/build/lib/core/api/knowledge.d.ts +33 -0
  86. package/build/lib/core/api/targetedPentest.js +10 -10
  87. package/build/lib/core/config/index.js +1 -1
  88. package/build/lib/core/findings/registry.js +3 -3
  89. package/build/lib/core/session/index.js +2 -2
  90. package/build/lib/core/session/persistence.js +3 -3
  91. package/build/lib/core/workflows/pentest.js +15 -15
  92. package/build/lib/core/workflows/seams.js +4 -4
  93. package/build/lib/core/workflows/whiteboxAttackSurface.js +11 -11
  94. package/build/lib/index.js +22 -22
  95. package/build/{logs-szgf3e9j.js → logs-x62b7hk1.js} +13 -13
  96. package/build/{native-rollout-evidence-zep91dya.js → native-rollout-evidence-c9yhfqcs.js} +3 -3
  97. package/build/{offesecAgent-g9a7jvmb.js → offesecAgent-5whnpeta.js} +4 -4
  98. package/build/pentest-e61hc38s.js +22 -0
  99. package/build/{pentests-pk66smvx.js → pentests-e0f32aqx.js} +21 -14
  100. package/build/recordedRunClient-dp032c32.js +11 -0
  101. package/build/{targetedPentest-t7f2vdpk.js → targetedPentest-rcbs4nvp.js} +6 -6
  102. package/build/{targets-5dp972y7.js → targets-xj9g3q0z.js} +13 -13
  103. package/build/threatModel-jkxfa40s.js +21 -0
  104. package/build/{uninstall-qshcasbp.js → uninstall-7s784q4a.js} +1 -1
  105. package/build/{upload-jy6hp68b.js → upload-4gvhwmvr.js} +4 -4
  106. package/build/{utils-6z5t7vq1.js → utils-cjrz64pc.js} +3 -3
  107. package/package.json +1 -1
  108. package/src/cli/knowledge.test.ts +140 -0
  109. package/src/cli/knowledge.ts +146 -0
  110. package/src/cli/pentests.test.ts +15 -0
  111. package/src/cli/pentests.ts +15 -1
  112. package/src/cli.ts +4 -0
  113. package/src/core/api/index.ts +15 -0
  114. package/src/core/api/issues.ts +1 -0
  115. package/src/core/api/knowledge.ts +70 -0
  116. package/build/agent-6pyd6vmv.js +0 -13
  117. package/build/agent-9wqvzg28.js +0 -13
  118. package/build/pentest-wx108ypq.js +0 -22
  119. package/build/recordedRunClient-4yx9czwe.js +0 -11
  120. package/build/threatModel-cxkg9kd3.js +0 -21
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  config2,
3
3
  init_config
4
- } from "./cli-9a7b3x56.js";
4
+ } from "./cli-fy6vh2a7.js";
5
5
  import {
6
6
  getPensarApiUrl2,
7
7
  init_constants,
8
8
  ensureValidToken2,
9
9
  signGatewayRequest2,
10
10
  init_auth
11
- } from "./cli-c2nb79ce.js";
11
+ } from "./cli-c05y640n.js";
12
12
  import {
13
13
  parseTargetUrl
14
14
  } from "./cli-0wsh8j2t.js";
@@ -42,7 +42,7 @@ import {
42
42
  normalizeStepUsage,
43
43
  streamResponse,
44
44
  generateObjectResponse
45
- } from "./cli-jpa3w5b4.js";
45
+ } from "./cli-dpsw2fe6.js";
46
46
  import {
47
47
  init_v4,
48
48
  tool
@@ -82,7 +82,7 @@ import {
82
82
  import {
83
83
  getCurrentVersion,
84
84
  init_installation
85
- } from "./cli-k594kwq8.js";
85
+ } from "./cli-65g6rcat.js";
86
86
  import {
87
87
  require_src6
88
88
  } from "./cli-bb02pjt0.js";
@@ -112618,7 +112618,7 @@ function resolveItemHooks(hooks, seams, item, index) {
112618
112618
 
112619
112619
  // src/core/agents/offSecAgent/subagentSpawner.ts
112620
112620
  async function runSpawnedPentestWorker(spec, input) {
112621
- const { TargetedPentestAgent } = await import("./agent-x8wxd9ma.js");
112621
+ const { TargetedPentestAgent } = await import("./agent-yby11zaq.js");
112622
112622
  const hooks = resolveItemHooks(input.hooks, input.seams, spec, 0);
112623
112623
  const agent = new TargetedPentestAgent({
112624
112624
  target: spec.target,
@@ -112695,7 +112695,7 @@ var runPentestChild = async (spec, ctx) => {
112695
112695
  };
112696
112696
  };
112697
112697
  var runCodeChild = async (spec, ctx) => {
112698
- const { CodeAgent } = await import("./agent-9wqvzg28.js");
112698
+ const { CodeAgent } = await import("./agent-9zx75feh.js");
112699
112699
  const agent = new CodeAgent({
112700
112700
  codebasePath: spec.codebasePath,
112701
112701
  objective: spec.objective,
@@ -112727,7 +112727,7 @@ var runCodeChild = async (spec, ctx) => {
112727
112727
  return { run: () => agent.consume(), drained: () => agent.drained };
112728
112728
  };
112729
112729
  var runWhiteboxChild = async (spec, ctx) => {
112730
- const { WhiteboxAttackSurfaceAgent } = await import("./index-c6szs0vn.js");
112730
+ const { WhiteboxAttackSurfaceAgent } = await import("./index-n65z6v7b.js");
112731
112731
  const agent = new WhiteboxAttackSurfaceAgent({
112732
112732
  codebasePath: spec.codebasePath,
112733
112733
  attackSurfaceRegistry: spec.attackSurfaceRegistry,
@@ -112747,7 +112747,7 @@ var runWhiteboxChild = async (spec, ctx) => {
112747
112747
  return { run: () => agent.consume(), drained: () => agent.drained };
112748
112748
  };
112749
112749
  var runBlackboxChild = async (spec, ctx) => {
112750
- const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-7bapanbv.js");
112750
+ const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-s56sgx9b.js");
112751
112751
  const agent = new BlackboxAttackSurfaceAgent({
112752
112752
  target: spec.target,
112753
112753
  attackSurfaceRegistry: spec.attackSurfaceRegistry,
@@ -112766,7 +112766,7 @@ var runBlackboxChild = async (spec, ctx) => {
112766
112766
  return { run: () => agent.consume(), drained: () => agent.drained };
112767
112767
  };
112768
112768
  var runAuthChild = async (spec, ctx) => {
112769
- const { runAuthenticationAgent } = await import("./agent-6pyd6vmv.js");
112769
+ const { runAuthenticationAgent } = await import("./agent-6w7egcf1.js");
112770
112770
  return {
112771
112771
  run: () => runAuthenticationAgent({
112772
112772
  target: spec.target,
@@ -112788,7 +112788,7 @@ var runAuthChild = async (spec, ctx) => {
112788
112788
  };
112789
112789
  };
112790
112790
  var runJudgeChild = async (spec, ctx) => {
112791
- const { judgeFinding } = await import("./index-jvpmhhqm.js");
112791
+ const { judgeFinding } = await import("./index-ns4m4s01.js");
112792
112792
  return {
112793
112793
  run: () => judgeFinding(spec.judgeInput, {
112794
112794
  model: ctx.model,
@@ -125868,7 +125868,7 @@ Omit \`cwd\` for blackbox mode (live target probing only).`,
125868
125868
  toolCallDescription: string().describe("A concise, human-readable description of what this tool call is doing")
125869
125869
  }),
125870
125870
  execute: async ({ target, cwd }) => {
125871
- const { runPentestWorkflow: workflow } = await import("./pentest-wx108ypq.js");
125871
+ const { runPentestWorkflow: workflow } = await import("./pentest-e61hc38s.js");
125872
125872
  if (!ctx.model) {
125873
125873
  return {
125874
125874
  success: false,
@@ -126453,7 +126453,7 @@ Pass every target you want tested — the swarm handles concurrency automaticall
126453
126453
  toolCallDescription: string().describe("A concise, human-readable description of what this tool call is doing")
126454
126454
  }),
126455
126455
  execute: async ({ targets }) => {
126456
- const { runPentestSwarm, DEFAULT_CONCURRENCY } = await import("./pentest-wx108ypq.js");
126456
+ const { runPentestSwarm, DEFAULT_CONCURRENCY } = await import("./pentest-e61hc38s.js");
126457
126457
  if (!ctx.model) {
126458
126458
  return {
126459
126459
  success: false,
@@ -7,7 +7,7 @@ import {
7
7
  REPORT_ERROR_TOOL_NAME,
8
8
  createReportErrorTool,
9
9
  PentestReportedError
10
- } from "./cli-8q41y2ss.js";
10
+ } from "./cli-qgz1q9g5.js";
11
11
  import {
12
12
  GOOGLE_SIGNIN_PROMPT_GUIDANCE,
13
13
  browserEngineForGoogleSignIn
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  AgentRuntime,
20
20
  defineAgent
21
- } from "./cli-tt7d70n9.js";
21
+ } from "./cli-1ve18npr.js";
22
22
  import {
23
23
  hasToolCall,
24
24
  init_dist,
@@ -26,7 +26,7 @@ import {
26
26
  init_lazyLogger,
27
27
  createLogger,
28
28
  init_structured
29
- } from "./cli-jpa3w5b4.js";
29
+ } from "./cli-dpsw2fe6.js";
30
30
  import {
31
31
  init_zod
32
32
  } from "./cli-3qznjsnr.js";
package/build/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- import"./cli-9a7b3x56.js";
4
- import"./cli-c2nb79ce.js";
3
+ import"./cli-fy6vh2a7.js";
4
+ import"./cli-c05y640n.js";
5
5
  import {
6
6
  require_src,
7
7
  require_src2,
@@ -27,7 +27,7 @@ import {
27
27
  logger,
28
28
  init_structured,
29
29
  init_ai2
30
- } from "./cli-jpa3w5b4.js";
30
+ } from "./cli-dpsw2fe6.js";
31
31
  import {
32
32
  init_inference_attempt,
33
33
  init_native_rollout_evidence
@@ -40,13 +40,13 @@ import {
40
40
  init_customProviders,
41
41
  resolveHoonifyModel,
42
42
  init_hoonify
43
- } from "./cli-w9d2bnf3.js";
43
+ } from "./cli-709rvekb.js";
44
44
  import {
45
45
  init_package,
46
46
  version,
47
47
  package_default,
48
48
  init_installation
49
- } from "./cli-k594kwq8.js";
49
+ } from "./cli-65g6rcat.js";
50
50
  import {
51
51
  require_src6
52
52
  } from "./cli-bb02pjt0.js";
@@ -725,7 +725,7 @@ var package_default2 = {
725
725
  tsc: "tsc --noEmit"
726
726
  },
727
727
  type: "module",
728
- version: "2.6.1-canary.e936ec17"
728
+ version: "2.6.1"
729
729
  };
730
730
 
731
731
  // src/core/ai/index.ts
@@ -1584,7 +1584,7 @@ async function createInstrumentedBus(session, model) {
1584
1584
  reportHerdrState("working");
1585
1585
  const bus = new AgentEventBus;
1586
1586
  attachCliAgentStreamListeners(bus);
1587
- const { attachWandbToEventBus } = await import("./upload-jy6hp68b.js");
1587
+ const { attachWandbToEventBus } = await import("./upload-4gvhwmvr.js");
1588
1588
  const wandbCleanup = await attachWandbToEventBus(session, bus).catch((e) => {
1589
1589
  console.warn("[wandb] Tracing disabled:", e.message);
1590
1590
  return null;
@@ -1604,7 +1604,7 @@ async function resolveCliHeaders() {
1604
1604
  const { parseHeaderLine, parseHeadersFromFile, formatParseError } = await import("./parse-cqecqrc5.js");
1605
1605
  const merged = {};
1606
1606
  if (!noGlobal) {
1607
- const { config: appConfig } = await import("./index-bsdq9wd9.js");
1607
+ const { config: appConfig } = await import("./index-je6hcsqr.js");
1608
1608
  const cfg = await appConfig.get();
1609
1609
  if (cfg.defaultHeaders) {
1610
1610
  Object.assign(merged, cfg.defaultHeaders);
@@ -1635,8 +1635,8 @@ ${formatParseError(parsed.error)}`);
1635
1635
  return merged;
1636
1636
  }
1637
1637
  async function resolveCliModel() {
1638
- const { config: appConfig } = await import("./index-bsdq9wd9.js");
1639
- const { getDefaultModelForConfig } = await import("./utils-6z5t7vq1.js");
1638
+ const { config: appConfig } = await import("./index-je6hcsqr.js");
1639
+ const { getDefaultModelForConfig } = await import("./utils-cjrz64pc.js");
1640
1640
  const pensarConfig = await appConfig.get();
1641
1641
  const explicit = resolveExplicitCliModel({
1642
1642
  model: getArg("--model"),
@@ -1689,6 +1689,7 @@ Usage:
1689
1689
  pensar targets List pentest targets and view their agent logs
1690
1690
  pensar issues List and manage security issues
1691
1691
  pensar fixes View security fixes
1692
+ pensar knowledge Read and edit the workspace knowledge base
1692
1693
  pensar logs View agent execution logs
1693
1694
  pensar config headers Manage global default HTTP headers
1694
1695
  pensar export-trajectory Convert saved rollout evidence to ATIF
@@ -1768,9 +1769,9 @@ Custom inference:
1768
1769
  `);
1769
1770
  }
1770
1771
  async function runPentest() {
1771
- const { runPentestAgent } = await import("./blackboxPentest-ngs99vv8.js");
1772
- const { sessions } = await import("./index-yt0n80v2.js");
1773
- const { config: appConfig } = await import("./index-bsdq9wd9.js");
1772
+ const { runPentestAgent } = await import("./blackboxPentest-ps78v3w7.js");
1773
+ const { sessions } = await import("./index-wqetp6gq.js");
1774
+ const { config: appConfig } = await import("./index-je6hcsqr.js");
1774
1775
  const target = getArgRequired("--target");
1775
1776
  const cwd = getArg("--cwd");
1776
1777
  const mode = getArg("--mode");
@@ -1819,7 +1820,7 @@ Headers: ${Object.keys(headers).length} configured` : ""}
1819
1820
  }
1820
1821
  });
1821
1822
  console.log(`PENSAR_SESSION_PATH:${session.rootPath}`);
1822
- const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-zep91dya.js");
1823
+ const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-c9yhfqcs.js");
1823
1824
  const evidence = await runWithCliNativeRolloutEvidence({
1824
1825
  session,
1825
1826
  outputDirectory: evidenceOutput,
@@ -1855,9 +1856,9 @@ Report: ${reportPath}` : ""}`);
1855
1856
  }
1856
1857
  }
1857
1858
  async function runTargetedPentest() {
1858
- const { runTargetedPentestAgent } = await import("./targetedPentest-t7f2vdpk.js");
1859
- const { sessions } = await import("./index-yt0n80v2.js");
1860
- const { config: appConfig } = await import("./index-bsdq9wd9.js");
1859
+ const { runTargetedPentestAgent } = await import("./targetedPentest-rcbs4nvp.js");
1860
+ const { sessions } = await import("./index-wqetp6gq.js");
1861
+ const { config: appConfig } = await import("./index-je6hcsqr.js");
1861
1862
  const target = getArgRequired("--target");
1862
1863
  const objectives = getAllArgs("--objective");
1863
1864
  const evidenceOutput = nativeRolloutEvidenceOutput();
@@ -1890,7 +1891,7 @@ ${objectivesList}
1890
1891
  } : {}
1891
1892
  });
1892
1893
  console.log(`PENSAR_SESSION_PATH:${session.rootPath}`);
1893
- const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-zep91dya.js");
1894
+ const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-c9yhfqcs.js");
1894
1895
  const evidence = await runWithCliNativeRolloutEvidence({
1895
1896
  session,
1896
1897
  outputDirectory: evidenceOutput,
@@ -1922,8 +1923,8 @@ POCs: ${pocsPath}`);
1922
1923
  }
1923
1924
  }
1924
1925
  async function runThreatModel() {
1925
- const { runThreatModelWorkflow } = await import("./threatModel-cxkg9kd3.js");
1926
- const { config: appConfig } = await import("./index-bsdq9wd9.js");
1926
+ const { runThreatModelWorkflow } = await import("./threatModel-jkxfa40s.js");
1927
+ const { config: appConfig } = await import("./index-je6hcsqr.js");
1927
1928
  const path = await import("path");
1928
1929
  const pensarConfig = await appConfig.get();
1929
1930
  const model = await resolveCliModel();
@@ -1958,10 +1959,10 @@ ${sep}
1958
1959
  Threat model written to: ${resolvedPath}`);
1959
1960
  }
1960
1961
  async function runOperator() {
1961
- const { runOffensiveSecurityAgent } = await import("./offesecAgent-g9a7jvmb.js");
1962
- const { sessions, normalizeMessages, getResumeMessages } = await import("./index-yt0n80v2.js");
1963
- const { ALL_TOOL_NAMES, SKILL_TOOL_NAMES } = await import("./index-2sc33n6h.js");
1964
- const { config: appConfig } = await import("./index-bsdq9wd9.js");
1962
+ const { runOffensiveSecurityAgent } = await import("./offesecAgent-5whnpeta.js");
1963
+ const { sessions, normalizeMessages, getResumeMessages } = await import("./index-wqetp6gq.js");
1964
+ const { ALL_TOOL_NAMES, SKILL_TOOL_NAMES } = await import("./index-r9yjkfrv.js");
1965
+ const { config: appConfig } = await import("./index-je6hcsqr.js");
1965
1966
  const { createInterface } = await import("readline");
1966
1967
  const { readFileSync, existsSync } = await import("fs");
1967
1968
  const path = await import("path");
@@ -2002,7 +2003,7 @@ ${sep}
2002
2003
  ...evidenceOutput ? { nativeRolloutEvidence: { outputDirectory: evidenceOutput } } : {}
2003
2004
  }
2004
2005
  });
2005
- const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-zep91dya.js");
2006
+ const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-c9yhfqcs.js");
2006
2007
  const evidence = await runWithCliNativeRolloutEvidence({
2007
2008
  session,
2008
2009
  outputDirectory: evidenceOutput,
@@ -2104,7 +2105,7 @@ try {
2104
2105
  await standaloneRuntime?.shutdown();
2105
2106
  process.exitCode = 1;
2106
2107
  } else {
2107
- const { startTui } = await import("./index-xavch1zh.js");
2108
+ const { startTui } = await import("./index-4vqdgb42.js");
2108
2109
  await startTui(options);
2109
2110
  }
2110
2111
  } else if (hasFlag("-p") || command === "--prompt") {
@@ -2124,34 +2125,37 @@ try {
2124
2125
  await runTargetedPentest();
2125
2126
  } else if (command === "login" || command === "auth") {
2126
2127
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2127
- await import("./auth-0rfqyw3s.js");
2128
+ await import("./auth-d105wc64.js");
2128
2129
  } else if (command === "uninstall") {
2129
2130
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2130
- await import("./uninstall-qshcasbp.js");
2131
+ await import("./uninstall-7s784q4a.js");
2131
2132
  } else if (command === "apps") {
2132
2133
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2133
- await import("./apps-b2x50tm7.js");
2134
+ await import("./apps-xn6km9yn.js");
2134
2135
  } else if (command === "pentests") {
2135
2136
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2136
- await import("./pentests-pk66smvx.js");
2137
+ await import("./pentests-e0f32aqx.js");
2137
2138
  } else if (command === "agent-runs") {
2138
- const { runAgentRunsCommand } = await import("./agent-runs-mw4bp0n5.js");
2139
+ const { runAgentRunsCommand } = await import("./agent-runs-g37vkrjr.js");
2139
2140
  await runAgentRunsCommand(args.slice(1));
2140
2141
  } else if (command === "targets") {
2141
2142
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2142
- await import("./targets-5dp972y7.js");
2143
+ await import("./targets-xj9g3q0z.js");
2143
2144
  } else if (command === "issues") {
2144
2145
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2145
- await import("./issues-hxcq3q0g.js");
2146
+ await import("./issues-eb3q9d3a.js");
2147
+ } else if (command === "knowledge") {
2148
+ process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2149
+ await import("./knowledge-fqsvtx0f.js");
2146
2150
  } else if (command === "fixes") {
2147
2151
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2148
- await import("./fixes-94pbkpy6.js");
2152
+ await import("./fixes-kytx5dmj.js");
2149
2153
  } else if (command === "logs") {
2150
2154
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2151
- await import("./logs-szgf3e9j.js");
2155
+ await import("./logs-x62b7hk1.js");
2152
2156
  } else if (command === "config") {
2153
2157
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
2154
- await import("./config-8eg7v57g.js");
2158
+ await import("./config-zpqkd5cz.js");
2155
2159
  } else if (command === "threat-model") {
2156
2160
  await runThreatModel();
2157
2161
  } else if (command === "doctor") {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  config2,
4
4
  init_config
5
- } from "./cli-9a7b3x56.js";
5
+ } from "./cli-fy6vh2a7.js";
6
6
  import {
7
7
  isSensitiveHeaderName,
8
8
  renderHeaderValue
@@ -5,21 +5,21 @@ import {
5
5
  assertDepth,
6
6
  inProcessSeams,
7
7
  OffensiveSecurityAgent
8
- } from "./cli-8q41y2ss.js";
9
- import"./cli-9a7b3x56.js";
10
- import"./cli-c2nb79ce.js";
8
+ } from "./cli-qgz1q9g5.js";
9
+ import"./cli-fy6vh2a7.js";
10
+ import"./cli-c05y640n.js";
11
11
  import {
12
12
  buildPentestReport,
13
13
  renderJson,
14
14
  renderMarkdown,
15
15
  REPORT_FILENAME_MD,
16
16
  REPORT_FILENAME_JSON
17
- } from "./cli-sf6x1vjx.js";
17
+ } from "./cli-n2en7j5b.js";
18
18
  import"./cli-qba2x69h.js";
19
19
  import {
20
20
  createThreatModelPrompt
21
21
  } from "./cli-q126f6ef.js";
22
- import"./cli-jpa3w5b4.js";
22
+ import"./cli-dpsw2fe6.js";
23
23
  import"./cli-c2k4xxaw.js";
24
24
  import {
25
25
  init_zod
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env bun
2
- import"./cli-9a7b3x56.js";
3
- import"./cli-c2nb79ce.js";
2
+ import"./cli-fy6vh2a7.js";
3
+ import"./cli-c05y640n.js";
4
4
  import {
5
5
  listFixes2,
6
6
  getFix2
7
- } from "./cli-rwnm0p5r.js";
8
- import"./cli-8q41y2ss.js";
9
- import"./cli-84qrqxjc.js";
10
- import"./cli-ay461rtr.js";
11
- import"./cli-zahhskff.js";
12
- import"./cli-9d8m1qw2.js";
13
- import"./cli-en2trtdx.js";
14
- import"./cli-h68jfmth.js";
15
- import"./cli-sf6x1vjx.js";
7
+ } from "./cli-7eea4e2y.js";
8
+ import"./cli-qgz1q9g5.js";
9
+ import"./cli-k2nwxta0.js";
10
+ import"./cli-kb21qhvm.js";
11
+ import"./cli-ngq9dr8n.js";
12
+ import"./cli-d37a42dc.js";
13
+ import"./cli-3sp6nd8d.js";
14
+ import"./cli-xtc2t6me.js";
15
+ import"./cli-n2en7j5b.js";
16
16
  import"./cli-xcy2vxj2.js";
17
17
  import {
18
18
  markCommandFailed
19
19
  } from "./cli-z82n3qk1.js";
20
- import"./cli-tt7d70n9.js";
20
+ import"./cli-1ve18npr.js";
21
21
  import"./cli-qba2x69h.js";
22
- import"./cli-jpa3w5b4.js";
22
+ import"./cli-dpsw2fe6.js";
23
23
  import"./cli-c2k4xxaw.js";
24
24
 
25
25
  // src/cli/fixes.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  config2,
3
3
  init_config
4
- } from "./cli-9a7b3x56.js";
4
+ } from "./cli-fy6vh2a7.js";
5
5
  import {
6
6
  getPensarApiUrl2,
7
7
  getPensarConsoleUrl2,
@@ -16,7 +16,7 @@ import {
16
16
  pollForWorkspaceCreation2,
17
17
  selectWorkspace2,
18
18
  init_auth
19
- } from "./cli-c2nb79ce.js";
19
+ } from "./cli-c05y640n.js";
20
20
  import {
21
21
  require_src,
22
22
  require_src2,
@@ -33,10 +33,10 @@ import {
33
33
  buildPentestPrompt,
34
34
  buildThreatModelPrompt,
35
35
  createSkillsRegistry
36
- } from "./cli-rwnm0p5r.js";
36
+ } from "./cli-7eea4e2y.js";
37
37
  import {
38
38
  openRecordedRunClient2
39
- } from "./cli-1b0pw0wp.js";
39
+ } from "./cli-ae8jqxqr.js";
40
40
  import {
41
41
  AgentEventBus,
42
42
  INTERNAL_ID_PATTERN,
@@ -52,33 +52,33 @@ import {
52
52
  ALL_TOOL_NAMES2,
53
53
  PLAN_MODE_TOOL_NAMES,
54
54
  SKILL_TOOL_NAMES2
55
- } from "./cli-8q41y2ss.js";
56
- import"./cli-84qrqxjc.js";
57
- import"./cli-ay461rtr.js";
58
- import"./cli-zahhskff.js";
55
+ } from "./cli-qgz1q9g5.js";
56
+ import"./cli-k2nwxta0.js";
57
+ import"./cli-kb21qhvm.js";
58
+ import"./cli-ngq9dr8n.js";
59
59
  import {
60
60
  readExecutionMetrics,
61
61
  writeExecutionMetrics,
62
62
  convertModelMessagesToUI,
63
63
  loadSubagents
64
- } from "./cli-9d8m1qw2.js";
65
- import"./cli-en2trtdx.js";
66
- import"./cli-h68jfmth.js";
64
+ } from "./cli-d37a42dc.js";
65
+ import"./cli-3sp6nd8d.js";
66
+ import"./cli-xtc2t6me.js";
67
67
  import {
68
68
  REPORT_FILENAME_MD
69
- } from "./cli-sf6x1vjx.js";
69
+ } from "./cli-n2en7j5b.js";
70
70
  import"./cli-xcy2vxj2.js";
71
71
  import {
72
72
  resolveConfig,
73
73
  createWeaveTracer
74
- } from "./cli-raavtvwt.js";
74
+ } from "./cli-az3xq70v.js";
75
75
  import {
76
76
  isSensitiveHeaderName,
77
77
  renderHeaderValue
78
78
  } from "./cli-b3dvxjgk.js";
79
79
  import {
80
80
  resolveWorkerExecutable
81
- } from "./cli-72aenzba.js";
81
+ } from "./cli-gx71jcke.js";
82
82
  import {
83
83
  EMPTY_SESSION_TOKEN_USAGE,
84
84
  accumulateSessionTokens,
@@ -88,7 +88,7 @@ import {
88
88
  AVAILABLE_PROVIDERS,
89
89
  init_types
90
90
  } from "./cli-3gt761d2.js";
91
- import"./cli-tt7d70n9.js";
91
+ import"./cli-1ve18npr.js";
92
92
  import"./cli-qba2x69h.js";
93
93
  import {
94
94
  parseHeaderLine2,
@@ -134,18 +134,18 @@ import {
134
134
  modelSupportsThinking,
135
135
  modelSupportsOpenAIReasoning,
136
136
  getOpenAIReasoningEfforts
137
- } from "./cli-jpa3w5b4.js";
137
+ } from "./cli-dpsw2fe6.js";
138
138
  import"./cli-c2k4xxaw.js";
139
139
  import {
140
140
  loadHoonifyModels,
141
141
  init_hoonify
142
- } from "./cli-w9d2bnf3.js";
142
+ } from "./cli-709rvekb.js";
143
143
  import {
144
144
  init_package,
145
145
  version,
146
146
  checkForUpdate,
147
147
  init_installation
148
- } from "./cli-k594kwq8.js";
148
+ } from "./cli-65g6rcat.js";
149
149
  import {
150
150
  require_src6
151
151
  } from "./cli-bb02pjt0.js";
@@ -71751,7 +71751,7 @@ function AppContent({
71751
71751
  toast(`Update available: v${currentVersion} → v${latestVersion}. Run: pensar upgrade`, "warn", 8000);
71752
71752
  });
71753
71753
  const checkAuthToken = async () => {
71754
- const { isTokenExpired, isConnected } = await import("./index-g8z6kn6v.js");
71754
+ const { isTokenExpired, isConnected } = await import("./index-fv64eb32.js");
71755
71755
  if (isConnected(config.data) && config.data.accessToken && isTokenExpired(config.data.accessToken, 60) && !config.data.refreshToken && !config.data.pensarAPIKey) {
71756
71756
  toast("Your Pensar Console session has expired. Run /login to refresh.", "warn", 8000);
71757
71757
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  config2,
3
3
  init_config
4
- } from "./cli-9a7b3x56.js";
4
+ } from "./cli-fy6vh2a7.js";
5
5
  init_config();
6
6
 
7
7
  export {
@@ -14,8 +14,8 @@ import {
14
14
  createWorkspaceSelection2,
15
15
  pollWorkspaceSelection2,
16
16
  init_auth
17
- } from "./cli-c2nb79ce.js";
18
- import"./cli-9a7b3x56.js";
17
+ } from "./cli-c05y640n.js";
18
+ import"./cli-fy6vh2a7.js";
19
19
  init_auth();
20
20
 
21
21
  export {
@@ -3,7 +3,7 @@ import {
3
3
  get2,
4
4
  update2,
5
5
  init_config2
6
- } from "./cli-w9d2bnf3.js";
6
+ } from "./cli-709rvekb.js";
7
7
 
8
8
  // src/core/config/index.ts
9
9
  init_config2();
@@ -6,14 +6,14 @@ import {
6
6
  AppsDiscoveryResultSchema2,
7
7
  DiscoverySummarySchema2,
8
8
  WhiteboxAttackSurfaceAgent2
9
- } from "./cli-zahhskff.js";
10
- import"./cli-tt7d70n9.js";
9
+ } from "./cli-ngq9dr8n.js";
10
+ import"./cli-1ve18npr.js";
11
11
  import"./cli-qba2x69h.js";
12
- import"./cli-8q41y2ss.js";
13
- import"./cli-jpa3w5b4.js";
14
- import"./cli-c2nb79ce.js";
12
+ import"./cli-qgz1q9g5.js";
13
+ import"./cli-dpsw2fe6.js";
14
+ import"./cli-c05y640n.js";
15
15
  import"./cli-c2k4xxaw.js";
16
- import"./cli-9a7b3x56.js";
16
+ import"./cli-fy6vh2a7.js";
17
17
  export {
18
18
  AppInfoSchema2 as AppInfoSchema,
19
19
  AppsDiscoveryResultSchema2 as AppsDiscoveryResultSchema,
@@ -1,11 +1,11 @@
1
- import"./cli-9a7b3x56.js";
2
- import"./cli-c2nb79ce.js";
1
+ import"./cli-fy6vh2a7.js";
2
+ import"./cli-c05y640n.js";
3
3
  import {
4
4
  scopedLogger,
5
5
  init_lazyLogger,
6
6
  createLogger,
7
7
  init_structured
8
- } from "./cli-jpa3w5b4.js";
8
+ } from "./cli-dpsw2fe6.js";
9
9
  import"./cli-c2k4xxaw.js";
10
10
 
11
11
  // src/core/agents/specialized/findingJudge/index.ts
@@ -14,7 +14,7 @@ init_lazyLogger();
14
14
  var log = scopedLogger(() => createLogger("FindingJudge"));
15
15
  async function judgeFinding(input, ctx) {
16
16
  try {
17
- const { FindingJudgeAgent } = await import("./agent-t2g0e5v1.js");
17
+ const { FindingJudgeAgent } = await import("./agent-ayreaj6z.js");
18
18
  const agent = new FindingJudgeAgent({
19
19
  finding: input,
20
20
  model: ctx.model,