@pensar/apex 1.6.0 → 1.7.0-canary.fc156bd3

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 (38) hide show
  1. package/build/{agent-nnj9t74r.js → agent-059z1wta.js} +7 -7
  2. package/build/agent-3j42hsvn.js +19 -0
  3. package/build/{auth-hhzeb7wq.js → auth-15hfam2s.js} +4 -4
  4. package/build/{authentication-696jn3en.js → authentication-d1qs1g9m.js} +7 -7
  5. package/build/{blackboxAgent-nxvgqsw3.js → blackboxAgent-qf9gtdz3.js} +8 -8
  6. package/build/{blackboxPentest-x1eynyy6.js → blackboxPentest-skcta0kn.js} +12 -12
  7. package/build/{cli-x1g2s9n9.js → cli-5htwcgkj.js} +2 -2
  8. package/build/{cli-2aj6efy7.js → cli-7ay2tay9.js} +1 -1
  9. package/build/{cli-6w784800.js → cli-7sfmck9y.js} +2 -2
  10. package/build/{cli-m69x66eh.js → cli-agnn8r68.js} +1 -1
  11. package/build/{cli-3462esbc.js → cli-b24ad6fn.js} +1 -1
  12. package/build/{cli-2gz62eh7.js → cli-dask2vk7.js} +2 -2
  13. package/build/{cli-e06s4dbt.js → cli-eppqn21m.js} +60 -14
  14. package/build/{cli-j54wb0q5.js → cli-gddjk082.js} +3 -2
  15. package/build/{cli-4bvafx3k.js → cli-k98mffkk.js} +1 -1
  16. package/build/{cli-ww2x78tc.js → cli-m1368s8r.js} +1 -1
  17. package/build/{cli-ys0ahwpb.js → cli-m446pz53.js} +1 -1
  18. package/build/{cli-nhqvhgdk.js → cli-pcwh8avj.js} +6 -6
  19. package/build/{cli-fhm4gfky.js → cli-q4k54esg.js} +1 -1
  20. package/build/{cli-m45bmsc5.js → cli-s0szpfg0.js} +1 -1
  21. package/build/cli.js +31 -27
  22. package/build/{fixes-d38fdj5s.js → fixes-5sk3s2ss.js} +4 -4
  23. package/build/{index-g60tmaw4.js → index-07t9k8kz.js} +6 -6
  24. package/build/{index-0je5jws9.js → index-3jzgn22s.js} +4 -4
  25. package/build/{index-rm3jf64j.js → index-gt67cyzx.js} +2 -2
  26. package/build/{index-hcxak3dc.js → index-kbrnaz9a.js} +10 -10
  27. package/build/{index-wr87h0sz.js → index-r2r7pe6x.js} +7 -7
  28. package/build/{issues-mrcf758f.js → issues-4w6bj06d.js} +4 -4
  29. package/build/{logs-pece65p3.js → logs-4b4ybecs.js} +4 -4
  30. package/build/{offesecAgent-e8t65rte.js → offesecAgent-epxgzhrt.js} +7 -7
  31. package/build/{pentest-gtn28jcf.js → pentest-r9k07h8z.js} +12 -12
  32. package/build/{pentests-3zp7z952.js → pentests-j8k5gzk9.js} +4 -4
  33. package/build/{projects-w5yxp27m.js → projects-w09vs70m.js} +4 -4
  34. package/build/{targetedPentest-ydr77zs4.js → targetedPentest-ey7qf86y.js} +8 -8
  35. package/build/{threatModel-vkn59yef.js → threatModel-hk9513tc.js} +8 -8
  36. package/build/{uninstall-b3kzz704.js → uninstall-dgfcyn2t.js} +1 -1
  37. package/package.json +1 -1
  38. package/build/agent-xyps79pq.js +0 -19
@@ -3,21 +3,21 @@ import {
3
3
  } from "./cli-0fy9j5dw.js";
4
4
  import {
5
5
  OffensiveSecurityAgent
6
- } from "./cli-e06s4dbt.js";
6
+ } from "./cli-eppqn21m.js";
7
7
  import"./cli-tp1tqn3k.js";
8
- import"./cli-fhm4gfky.js";
8
+ import"./cli-q4k54esg.js";
9
9
  import"./cli-3y0dgy56.js";
10
10
  import {
11
11
  hasToolCall
12
- } from "./cli-2gz62eh7.js";
12
+ } from "./cli-dask2vk7.js";
13
13
  import {
14
14
  tool
15
15
  } from "./cli-0ghkg3w6.js";
16
- import"./cli-3462esbc.js";
17
- import"./cli-m45bmsc5.js";
16
+ import"./cli-b24ad6fn.js";
17
+ import"./cli-s0szpfg0.js";
18
18
  import"./cli-gpnb45ck.js";
19
- import"./cli-j54wb0q5.js";
20
- import"./cli-4bvafx3k.js";
19
+ import"./cli-gddjk082.js";
20
+ import"./cli-k98mffkk.js";
21
21
  import"./cli-03z6pswp.js";
22
22
  import"./cli-8rxa073f.js";
23
23
 
@@ -0,0 +1,19 @@
1
+ import {
2
+ CodeAgent
3
+ } from "./cli-7sfmck9y.js";
4
+ import"./cli-eppqn21m.js";
5
+ import"./cli-tp1tqn3k.js";
6
+ import"./cli-q4k54esg.js";
7
+ import"./cli-3y0dgy56.js";
8
+ import"./cli-dask2vk7.js";
9
+ import"./cli-0ghkg3w6.js";
10
+ import"./cli-b24ad6fn.js";
11
+ import"./cli-s0szpfg0.js";
12
+ import"./cli-gpnb45ck.js";
13
+ import"./cli-gddjk082.js";
14
+ import"./cli-k98mffkk.js";
15
+ import"./cli-03z6pswp.js";
16
+ import"./cli-8rxa073f.js";
17
+ export {
18
+ CodeAgent
19
+ };
@@ -8,14 +8,14 @@ import {
8
8
  pollWorkOSToken,
9
9
  selectWorkspace,
10
10
  startDeviceFlow
11
- } from "./cli-3462esbc.js";
11
+ } from "./cli-b24ad6fn.js";
12
12
  import {
13
13
  config,
14
14
  getPensarApiUrl,
15
15
  getPensarConsoleUrl
16
- } from "./cli-m45bmsc5.js";
17
- import"./cli-j54wb0q5.js";
18
- import"./cli-4bvafx3k.js";
16
+ } from "./cli-s0szpfg0.js";
17
+ import"./cli-gddjk082.js";
18
+ import"./cli-k98mffkk.js";
19
19
  import {
20
20
  __require
21
21
  } from "./cli-8rxa073f.js";
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-e06s4dbt.js";
3
+ } from "./cli-eppqn21m.js";
4
4
  import {
5
5
  detectOSAndEnhancePrompt
6
6
  } from "./cli-tp1tqn3k.js";
7
- import"./cli-fhm4gfky.js";
7
+ import"./cli-q4k54esg.js";
8
8
  import"./cli-3y0dgy56.js";
9
9
  import {
10
10
  hasToolCall
11
- } from "./cli-2gz62eh7.js";
11
+ } from "./cli-dask2vk7.js";
12
12
  import"./cli-0ghkg3w6.js";
13
- import"./cli-3462esbc.js";
14
- import"./cli-m45bmsc5.js";
13
+ import"./cli-b24ad6fn.js";
14
+ import"./cli-s0szpfg0.js";
15
15
  import"./cli-gpnb45ck.js";
16
- import"./cli-j54wb0q5.js";
17
- import"./cli-4bvafx3k.js";
16
+ import"./cli-gddjk082.js";
17
+ import"./cli-k98mffkk.js";
18
18
  import"./cli-03z6pswp.js";
19
19
  import"./cli-8rxa073f.js";
20
20
 
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  BlackboxAttackSurfaceAgent
3
- } from "./cli-x1g2s9n9.js";
4
- import"./cli-e06s4dbt.js";
3
+ } from "./cli-5htwcgkj.js";
4
+ import"./cli-eppqn21m.js";
5
5
  import"./cli-tp1tqn3k.js";
6
- import"./cli-fhm4gfky.js";
6
+ import"./cli-q4k54esg.js";
7
7
  import"./cli-3y0dgy56.js";
8
- import"./cli-2gz62eh7.js";
8
+ import"./cli-dask2vk7.js";
9
9
  import"./cli-0ghkg3w6.js";
10
- import"./cli-3462esbc.js";
11
- import"./cli-m45bmsc5.js";
10
+ import"./cli-b24ad6fn.js";
11
+ import"./cli-s0szpfg0.js";
12
12
  import"./cli-gpnb45ck.js";
13
- import"./cli-j54wb0q5.js";
14
- import"./cli-4bvafx3k.js";
13
+ import"./cli-gddjk082.js";
14
+ import"./cli-k98mffkk.js";
15
15
  import"./cli-03z6pswp.js";
16
16
  import"./cli-8rxa073f.js";
17
17
  export {
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  runPentestWorkflow
3
- } from "./cli-nhqvhgdk.js";
4
- import"./cli-ww2x78tc.js";
5
- import"./cli-m69x66eh.js";
3
+ } from "./cli-pcwh8avj.js";
4
+ import"./cli-m1368s8r.js";
5
+ import"./cli-agnn8r68.js";
6
6
  import"./cli-0fy9j5dw.js";
7
- import"./cli-x1g2s9n9.js";
7
+ import"./cli-5htwcgkj.js";
8
8
  import"./cli-fw5r7pfj.js";
9
- import"./cli-6w784800.js";
10
- import"./cli-e06s4dbt.js";
9
+ import"./cli-7sfmck9y.js";
10
+ import"./cli-eppqn21m.js";
11
11
  import"./cli-tp1tqn3k.js";
12
- import"./cli-fhm4gfky.js";
12
+ import"./cli-q4k54esg.js";
13
13
  import"./cli-3y0dgy56.js";
14
- import"./cli-2gz62eh7.js";
14
+ import"./cli-dask2vk7.js";
15
15
  import"./cli-0ghkg3w6.js";
16
- import"./cli-3462esbc.js";
17
- import"./cli-m45bmsc5.js";
16
+ import"./cli-b24ad6fn.js";
17
+ import"./cli-s0szpfg0.js";
18
18
  import"./cli-gpnb45ck.js";
19
- import"./cli-j54wb0q5.js";
20
- import"./cli-4bvafx3k.js";
19
+ import"./cli-gddjk082.js";
20
+ import"./cli-k98mffkk.js";
21
21
  import"./cli-03z6pswp.js";
22
22
  import"./cli-8rxa073f.js";
23
23
 
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-e06s4dbt.js";
3
+ } from "./cli-eppqn21m.js";
4
4
  import {
5
5
  detectOSAndEnhancePrompt
6
6
  } from "./cli-tp1tqn3k.js";
7
7
  import {
8
8
  hasToolCall,
9
9
  stepCountIs
10
- } from "./cli-2gz62eh7.js";
10
+ } from "./cli-dask2vk7.js";
11
11
 
12
12
  // src/core/agents/specialized/attackSurface/blackboxAgent.ts
13
13
  import { join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-e06s4dbt.js";
3
+ } from "./cli-eppqn21m.js";
4
4
  import {
5
5
  __commonJS,
6
6
  __require
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-e06s4dbt.js";
3
+ } from "./cli-eppqn21m.js";
4
4
  import {
5
5
  stepCountIs
6
- } from "./cli-2gz62eh7.js";
6
+ } from "./cli-dask2vk7.js";
7
7
 
8
8
  // src/core/agents/specialized/codeAgent/prompts.ts
9
9
  var CODE_AGENT_SYSTEM_PROMPT = `You are an expert coding agent with direct filesystem access. You will be given a specific objective — focus exclusively on completing it.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  OffensiveSecurityAgent,
3
3
  readPlan
4
- } from "./cli-e06s4dbt.js";
4
+ } from "./cli-eppqn21m.js";
5
5
  import {
6
6
  exports_external1 as exports_external,
7
7
  init_zod
@@ -3,7 +3,7 @@ import {
3
3
  ensureValidToken,
4
4
  getPensarApiUrl,
5
5
  getPensarGatewayUrl
6
- } from "./cli-m45bmsc5.js";
6
+ } from "./cli-s0szpfg0.js";
7
7
 
8
8
  // src/core/auth/signing.ts
9
9
  import { createHmac, createHash, randomUUID } from "crypto";
@@ -71,12 +71,12 @@ import {
71
71
  } from "./cli-0ghkg3w6.js";
72
72
  import {
73
73
  signGatewayRequest
74
- } from "./cli-3462esbc.js";
74
+ } from "./cli-b24ad6fn.js";
75
75
  import {
76
76
  config,
77
77
  ensureValidToken,
78
78
  getPensarGatewayUrl
79
- } from "./cli-m45bmsc5.js";
79
+ } from "./cli-s0szpfg0.js";
80
80
  import {
81
81
  getModelInfo,
82
82
  init_models
@@ -16,7 +16,7 @@ import {
16
16
  update,
17
17
  write,
18
18
  writeRaw
19
- } from "./cli-fhm4gfky.js";
19
+ } from "./cli-q4k54esg.js";
20
20
  import {
21
21
  parseTargetUrl
22
22
  } from "./cli-3y0dgy56.js";
@@ -29,7 +29,7 @@ import {
29
29
  require_tslib,
30
30
  streamResponse,
31
31
  toggleTool
32
- } from "./cli-2gz62eh7.js";
32
+ } from "./cli-dask2vk7.js";
33
33
  import {
34
34
  _enum,
35
35
  _null,
@@ -57,15 +57,15 @@ import {
57
57
  } from "./cli-0ghkg3w6.js";
58
58
  import {
59
59
  signGatewayRequest
60
- } from "./cli-3462esbc.js";
60
+ } from "./cli-b24ad6fn.js";
61
61
  import {
62
62
  config,
63
63
  ensureValidToken,
64
64
  getPensarApiUrl
65
- } from "./cli-m45bmsc5.js";
65
+ } from "./cli-s0szpfg0.js";
66
66
  import {
67
67
  getCurrentVersion
68
- } from "./cli-4bvafx3k.js";
68
+ } from "./cli-k98mffkk.js";
69
69
  import {
70
70
  __commonJS,
71
71
  __require,
@@ -119360,7 +119360,7 @@ async function generateThreatModelForEndpoint(ctx, input) {
119360
119360
  return threatModelLimiter(async () => {
119361
119361
  if (ctx.abortSignal?.aborted)
119362
119362
  return null;
119363
- const { CodeAgent } = await import("./agent-xyps79pq.js");
119363
+ const { CodeAgent } = await import("./agent-3j42hsvn.js");
119364
119364
  const subagentId = `threat-model-${sanitize(input.appName)}-${sanitize(input.routePath)}`;
119365
119365
  ctx.eventBus?.emit("subagent-spawn", {
119366
119366
  subagentId,
@@ -120049,7 +120049,7 @@ When to use delegate_to_auth_subagent vs authenticate_session:
120049
120049
  if (credentials) {
120050
120050
  ctx.session.credentialManager.addFromAuthCredentials(credentials);
120051
120051
  }
120052
- const { runAuthenticationAgent } = await import("./authentication-696jn3en.js");
120052
+ const { runAuthenticationAgent } = await import("./authentication-d1qs1g9m.js");
120053
120053
  const localBus = new AgentEventBus;
120054
120054
  AgentEventBus.attachChild(localBus, ctx.eventBus, subagentId);
120055
120055
  const result = await runAuthenticationAgent({
@@ -120962,7 +120962,7 @@ should be passed directly to spawn_pentest_swarm for deep testing.`,
120962
120962
  });
120963
120963
  if (cwd) {
120964
120964
  try {
120965
- const { WhiteboxAttackSurfaceAgent } = await import("./agent-nnj9t74r.js");
120965
+ const { WhiteboxAttackSurfaceAgent } = await import("./agent-059z1wta.js");
120966
120966
  const localBus = new AgentEventBus;
120967
120967
  AgentEventBus.attachChild(localBus, ctx.eventBus, subagentId);
120968
120968
  const agent = new WhiteboxAttackSurfaceAgent({
@@ -121011,7 +121011,7 @@ should be passed directly to spawn_pentest_swarm for deep testing.`,
121011
121011
  }
121012
121012
  }
121013
121013
  try {
121014
- const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-nxvgqsw3.js");
121014
+ const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-qf9gtdz3.js");
121015
121015
  const localBus = new AgentEventBus;
121016
121016
  AgentEventBus.attachChild(localBus, ctx.eventBus, subagentId);
121017
121017
  const agent = new BlackboxAttackSurfaceAgent({
@@ -121087,7 +121087,7 @@ Pass every target you want tested — the swarm handles concurrency automaticall
121087
121087
  toolCallDescription: exports_external.string().describe("A concise, human-readable description of what this tool call is doing")
121088
121088
  }),
121089
121089
  execute: async ({ targets }) => {
121090
- const { runPentestSwarm, DEFAULT_CONCURRENCY } = await import("./pentest-gtn28jcf.js");
121090
+ const { runPentestSwarm, DEFAULT_CONCURRENCY } = await import("./pentest-r9k07h8z.js");
121091
121091
  if (!ctx.model) {
121092
121092
  return {
121093
121093
  success: false,
@@ -121215,7 +121215,7 @@ Returns an array of results with the text output from each agent.`,
121215
121215
  });
121216
121216
  }
121217
121217
  async function runSingleCodingAgent(ctx, codebasePath, objective, agentIndex, name) {
121218
- const { CodeAgent } = await import("./agent-xyps79pq.js");
121218
+ const { CodeAgent } = await import("./agent-3j42hsvn.js");
121219
121219
  const subagentId = `coding-agent-${agentIndex}`;
121220
121220
  ctx.eventBus?.emit("subagent-spawn", {
121221
121221
  subagentId,
@@ -121276,7 +121276,7 @@ Omit \`cwd\` for blackbox mode (live target probing only).`,
121276
121276
  toolCallDescription: exports_external.string().describe("A concise, human-readable description of what this tool call is doing")
121277
121277
  }),
121278
121278
  execute: async ({ target, cwd }) => {
121279
- const { runPentestWorkflow: workflow } = await import("./pentest-gtn28jcf.js");
121279
+ const { runPentestWorkflow: workflow } = await import("./pentest-r9k07h8z.js");
121280
121280
  if (!ctx.model) {
121281
121281
  return {
121282
121282
  success: false,
@@ -124811,6 +124811,49 @@ var webSearchInputSchema = exports_external.object({
124811
124811
  query: exports_external.string().describe("The search query to look up. Be specific and include relevant keywords for better results."),
124812
124812
  toolCallDescription: exports_external.string().describe("A concise, human-readable description of what this tool call is doing (e.g., 'Searching for CVE-2024-1234 details')")
124813
124813
  });
124814
+ var BRAVE_SEARCH_URL = "https://api.search.brave.com/res/v1/web/search";
124815
+ async function braveSearch(query, apiKey) {
124816
+ const url = new URL(BRAVE_SEARCH_URL);
124817
+ url.searchParams.set("q", query);
124818
+ url.searchParams.set("count", "10");
124819
+ const response = await fetch(url.toString(), {
124820
+ method: "GET",
124821
+ headers: {
124822
+ Accept: "application/json",
124823
+ "Accept-Encoding": "gzip",
124824
+ "X-Subscription-Token": apiKey
124825
+ }
124826
+ });
124827
+ if (!response.ok) {
124828
+ if (response.status === 401 || response.status === 403) {
124829
+ return {
124830
+ success: false,
124831
+ results: [],
124832
+ error: "Brave API authentication failed. Check that your brave_api_key is valid."
124833
+ };
124834
+ }
124835
+ if (response.status === 429) {
124836
+ return {
124837
+ success: false,
124838
+ results: [],
124839
+ error: "Brave API rate limit exceeded. Please wait a moment before searching again."
124840
+ };
124841
+ }
124842
+ const errorText = await response.text().catch(() => "Unknown error");
124843
+ return {
124844
+ success: false,
124845
+ results: [],
124846
+ error: `Brave search failed: ${response.status} ${response.statusText}. ${errorText}`
124847
+ };
124848
+ }
124849
+ const data = await response.json();
124850
+ const results = data.web?.results?.map((r) => ({
124851
+ title: r.title ?? "",
124852
+ url: r.url ?? "",
124853
+ snippet: r.description ?? ""
124854
+ })) ?? [];
124855
+ return { success: true, results };
124856
+ }
124814
124857
  function webSearch(_ctx) {
124815
124858
  return tool({
124816
124859
  description: `Search the web for real-time information about any topic. Returns summarized information from search results.
@@ -124822,7 +124865,7 @@ USAGE GUIDANCE:
124822
124865
  - Find documentation for tools, APIs, and security testing techniques
124823
124866
  - Look up default credentials, common misconfigurations, and hardening guides
124824
124867
 
124825
- IMPORTANT: This tool requires a Pensar account. If you're not signed in, you'll receive an error message with instructions to sign in.
124868
+ IMPORTANT: This tool requires either a Pensar account or a Brave API key. If neither is configured, you'll receive an error message with instructions.
124826
124869
 
124827
124870
  COMMON SEARCH PATTERNS:
124828
124871
  - "CVE-2024-XXXX exploit" — Find details about specific CVEs
@@ -124834,6 +124877,9 @@ COMMON SEARCH PATTERNS:
124834
124877
  execute: async ({ query }) => {
124835
124878
  try {
124836
124879
  const cfg = await config.get();
124880
+ if (cfg.braveAPIKey) {
124881
+ return braveSearch(query, cfg.braveAPIKey);
124882
+ }
124837
124883
  const apiUrl = getPensarApiUrl();
124838
124884
  const body = JSON.stringify({ query });
124839
124885
  if (cfg.pensarAPIKey && !cfg.accessToken) {
@@ -124856,7 +124902,7 @@ COMMON SEARCH PATTERNS:
124856
124902
  return {
124857
124903
  success: false,
124858
124904
  results: [],
124859
- error: "Web search requires a Pensar account. Please sign in to your Pensar account to use this feature. You can sign in via the TUI settings or by running 'pensar login'."
124905
+ error: "Web search requires a Pensar account or a Brave API key. Please sign in to your Pensar account or configure a Brave API key (set BRAVE_API_KEY or brave_api_key in config)."
124860
124906
  };
124861
124907
  }
124862
124908
  if (!cfg.workspaceId) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getCurrentVersion
3
- } from "./cli-4bvafx3k.js";
3
+ } from "./cli-k98mffkk.js";
4
4
 
5
5
  // src/core/config/config.ts
6
6
  import os from "os";
@@ -38,7 +38,8 @@ function applyEnvFallbacks(parsedConfig) {
38
38
  pensarAPIKey: parsedConfig.pensarAPIKey ?? process.env.PENSAR_API_KEY,
39
39
  daytonaAPIKey: parsedConfig.daytonaAPIKey ?? process.env.DAYTONA_API_KEY,
40
40
  daytonaOrgId: parsedConfig.daytonaOrgId ?? process.env.DAYTONA_ORG_ID,
41
- runloopAPIKey: parsedConfig.runloopAPIKey ?? process.env.RUNLOOP_API_KEY
41
+ runloopAPIKey: parsedConfig.runloopAPIKey ?? process.env.RUNLOOP_API_KEY,
42
+ braveAPIKey: parsedConfig.braveAPIKey ?? process.env.BRAVE_API_KEY
42
43
  };
43
44
  }
44
45
  async function get() {
@@ -3,7 +3,7 @@ import { spawnSync } from "child_process";
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@pensar/apex",
6
- version: "1.6.0",
6
+ version: "1.7.0-canary.fc156bd3",
7
7
  description: "AI-powered penetration testing CLI tool with terminal UI",
8
8
  module: "src/tui/index.tsx",
9
9
  main: "build/cli.js",
@@ -2,7 +2,7 @@ import {
2
2
  CweEntrySchema,
3
3
  ValidatedCweEntrySchema,
4
4
  hasCanonicalName
5
- } from "./cli-e06s4dbt.js";
5
+ } from "./cli-eppqn21m.js";
6
6
  import {
7
7
  exports_external1 as exports_external,
8
8
  init_zod
@@ -2,7 +2,7 @@ import {
2
2
  config,
3
3
  ensureValidToken,
4
4
  getPensarApiUrl
5
- } from "./cli-m45bmsc5.js";
5
+ } from "./cli-s0szpfg0.js";
6
6
 
7
7
  // src/core/api/issues.ts
8
8
  async function getAuthHeaders() {
@@ -14,31 +14,31 @@ import {
14
14
  updateManifestEntryStatus,
15
15
  writeAgentManifest,
16
16
  writeExecutionMetrics
17
- } from "./cli-ww2x78tc.js";
17
+ } from "./cli-m1368s8r.js";
18
18
  import {
19
19
  TargetedPentestAgent,
20
20
  buildPentestSystemPrompt
21
- } from "./cli-m69x66eh.js";
21
+ } from "./cli-agnn8r68.js";
22
22
  import {
23
23
  EndpointSchema
24
24
  } from "./cli-0fy9j5dw.js";
25
25
  import {
26
26
  BlackboxAttackSurfaceAgent
27
- } from "./cli-x1g2s9n9.js";
27
+ } from "./cli-5htwcgkj.js";
28
28
  import {
29
29
  createThreatModelPrompt
30
30
  } from "./cli-fw5r7pfj.js";
31
31
  import {
32
32
  CodeAgent
33
- } from "./cli-6w784800.js";
33
+ } from "./cli-7sfmck9y.js";
34
34
  import {
35
35
  FindingsRegistry,
36
36
  OffensiveSecurityAgent,
37
37
  PLAN_MODE_TOOL_NAMES
38
- } from "./cli-e06s4dbt.js";
38
+ } from "./cli-eppqn21m.js";
39
39
  import {
40
40
  hasToolCall
41
- } from "./cli-2gz62eh7.js";
41
+ } from "./cli-dask2vk7.js";
42
42
  import {
43
43
  exports_external1 as exports_external,
44
44
  init_zod
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateObjectResponse
3
- } from "./cli-2gz62eh7.js";
3
+ } from "./cli-dask2vk7.js";
4
4
  import {
5
5
  exports_external1 as exports_external,
6
6
  init_zod,
@@ -2,7 +2,7 @@ import {
2
2
  get,
3
3
  init,
4
4
  update
5
- } from "./cli-j54wb0q5.js";
5
+ } from "./cli-gddjk082.js";
6
6
 
7
7
  // src/core/api/constants.ts
8
8
  var PENSAR_API_BASE_URL = "https://api.pensar.dev";
package/build/cli.js CHANGED
@@ -6,15 +6,15 @@ import {
6
6
  import"./cli-3y0dgy56.js";
7
7
  import {
8
8
  init_toolset
9
- } from "./cli-2gz62eh7.js";
9
+ } from "./cli-dask2vk7.js";
10
10
  import"./cli-0ghkg3w6.js";
11
- import"./cli-3462esbc.js";
12
- import"./cli-m45bmsc5.js";
11
+ import"./cli-b24ad6fn.js";
12
+ import"./cli-s0szpfg0.js";
13
13
  import"./cli-gpnb45ck.js";
14
- import"./cli-j54wb0q5.js";
14
+ import"./cli-gddjk082.js";
15
15
  import {
16
16
  package_default
17
- } from "./cli-4bvafx3k.js";
17
+ } from "./cli-k98mffkk.js";
18
18
  import {
19
19
  init_models
20
20
  } from "./cli-03z6pswp.js";
@@ -25,7 +25,7 @@ import {
25
25
  // package.json
26
26
  var package_default2 = {
27
27
  name: "@pensar/apex",
28
- version: "1.6.0",
28
+ version: "1.7.0-canary.fc156bd3",
29
29
  description: "AI-powered penetration testing CLI tool with terminal UI",
30
30
  module: "src/tui/index.tsx",
31
31
  main: "build/cli.js",
@@ -500,7 +500,7 @@ async function resolveCliModel() {
500
500
  const explicit = getArg("--model");
501
501
  if (explicit)
502
502
  return explicit;
503
- const { config: appConfig } = await import("./index-rm3jf64j.js");
503
+ const { config: appConfig } = await import("./index-gt67cyzx.js");
504
504
  const { getDefaultModelForConfig } = await import("./utils-jf52rmrb.js");
505
505
  const pensarConfig = await appConfig.get();
506
506
  const defaultModel = getDefaultModelForConfig(pensarConfig);
@@ -539,6 +539,7 @@ Usage:
539
539
 
540
540
  operator options (-p):
541
541
  -p, --prompt <text|@file> (required) Prompt for the operator agent
542
+ -s, --system <text|@file> Override the default system prompt
542
543
  --target <url> Target URL / domain / IP
543
544
  --model <model> AI model (default: auto-selected from configured provider)
544
545
 
@@ -572,9 +573,9 @@ Global options:
572
573
  async function runPentest() {
573
574
  const { config: config2 } = await import("./main-3d7dfdvs.js").then((m)=>__toESM(m.default,1));
574
575
  config2();
575
- const { runPentestAgent } = await import("./blackboxPentest-x1eynyy6.js");
576
- const { sessions } = await import("./index-g60tmaw4.js");
577
- const { config: appConfig } = await import("./index-rm3jf64j.js");
576
+ const { runPentestAgent } = await import("./blackboxPentest-skcta0kn.js");
577
+ const { sessions } = await import("./index-07t9k8kz.js");
578
+ const { config: appConfig } = await import("./index-gt67cyzx.js");
578
579
  const target = getArgRequired("--target");
579
580
  const cwd = getArg("--cwd");
580
581
  const mode = getArg("--mode");
@@ -638,9 +639,9 @@ Report: ${reportPath}` : ""}`);
638
639
  async function runTargetedPentest() {
639
640
  const { config: config2 } = await import("./main-3d7dfdvs.js").then((m)=>__toESM(m.default,1));
640
641
  config2();
641
- const { runTargetedPentestAgent } = await import("./targetedPentest-ydr77zs4.js");
642
- const { sessions } = await import("./index-g60tmaw4.js");
643
- const { config: appConfig } = await import("./index-rm3jf64j.js");
642
+ const { runTargetedPentestAgent } = await import("./targetedPentest-ey7qf86y.js");
643
+ const { sessions } = await import("./index-07t9k8kz.js");
644
+ const { config: appConfig } = await import("./index-gt67cyzx.js");
644
645
  const target = getArgRequired("--target");
645
646
  const objectives = getAllArgs("--objective");
646
647
  const pensarConfig = await appConfig.get();
@@ -688,8 +689,8 @@ POCs: ${pocsPath}`);
688
689
  async function runThreatModel() {
689
690
  const { config: config2 } = await import("./main-3d7dfdvs.js").then((m)=>__toESM(m.default,1));
690
691
  config2();
691
- const { runThreatModelWorkflow } = await import("./threatModel-vkn59yef.js");
692
- const { config: appConfig } = await import("./index-rm3jf64j.js");
692
+ const { runThreatModelWorkflow } = await import("./threatModel-hk9513tc.js");
693
+ const { config: appConfig } = await import("./index-gt67cyzx.js");
693
694
  const path = await import("path");
694
695
  const pensarConfig = await appConfig.get();
695
696
  const model = await resolveCliModel();
@@ -725,10 +726,10 @@ Threat model written to: ${resolvedPath}`);
725
726
  async function runOperator() {
726
727
  const { config: config2 } = await import("./main-3d7dfdvs.js").then((m)=>__toESM(m.default,1));
727
728
  config2();
728
- const { runOffensiveSecurityAgent } = await import("./offesecAgent-e8t65rte.js");
729
- const { sessions, normalizeMessages, getResumeMessages } = await import("./index-g60tmaw4.js");
730
- const { ALL_TOOL_NAMES, SKILL_TOOL_NAMES } = await import("./index-wr87h0sz.js");
731
- const { config: appConfig } = await import("./index-rm3jf64j.js");
729
+ const { runOffensiveSecurityAgent } = await import("./offesecAgent-epxgzhrt.js");
730
+ const { sessions, normalizeMessages, getResumeMessages } = await import("./index-07t9k8kz.js");
731
+ const { ALL_TOOL_NAMES, SKILL_TOOL_NAMES } = await import("./index-r2r7pe6x.js");
732
+ const { config: appConfig } = await import("./index-gt67cyzx.js");
732
733
  const { createInterface } = await import("readline");
733
734
  const { readFileSync: readFileSync2, existsSync } = await import("fs");
734
735
  const path = await import("path");
@@ -739,6 +740,8 @@ async function runOperator() {
739
740
  process.exit(1);
740
741
  }
741
742
  const prompt = resolveFlagValue(promptRaw);
743
+ const systemRaw = getArg("-s") ?? getArg("--system");
744
+ const systemPrompt = systemRaw ? resolveFlagValue(systemRaw) : undefined;
742
745
  const target = getArg("--target");
743
746
  const pensarConfig = await appConfig.get();
744
747
  const model = await resolveCliModel();
@@ -783,6 +786,7 @@ ${sep}
783
786
  for (;; ) {
784
787
  await runOffensiveSecurityAgent({
785
788
  prompt: currentPrompt,
789
+ ...systemPrompt ? { system: systemPrompt } : {},
786
790
  model,
787
791
  target,
788
792
  activeTools: [...ALL_TOOL_NAMES, ...SKILL_TOOL_NAMES],
@@ -837,25 +841,25 @@ if (hasFlag("-p") || command === "--prompt") {
837
841
  await runTargetedPentest();
838
842
  } else if (command === "login" || command === "auth") {
839
843
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
840
- await import("./auth-hhzeb7wq.js");
844
+ await import("./auth-15hfam2s.js");
841
845
  } else if (command === "uninstall") {
842
846
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
843
- await import("./uninstall-b3kzz704.js");
847
+ await import("./uninstall-dgfcyn2t.js");
844
848
  } else if (command === "projects") {
845
849
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
846
- await import("./projects-w5yxp27m.js");
850
+ await import("./projects-w09vs70m.js");
847
851
  } else if (command === "pentests") {
848
852
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
849
- await import("./pentests-3zp7z952.js");
853
+ await import("./pentests-j8k5gzk9.js");
850
854
  } else if (command === "issues") {
851
855
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
852
- await import("./issues-mrcf758f.js");
856
+ await import("./issues-4w6bj06d.js");
853
857
  } else if (command === "fixes") {
854
858
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
855
- await import("./fixes-d38fdj5s.js");
859
+ await import("./fixes-5sk3s2ss.js");
856
860
  } else if (command === "logs") {
857
861
  process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
858
- await import("./logs-pece65p3.js");
862
+ await import("./logs-4b4ybecs.js");
859
863
  } else if (command === "threat-model") {
860
864
  await runThreatModel();
861
865
  } else if (command === "doctor") {
@@ -867,7 +871,7 @@ if (hasFlag("-p") || command === "--prompt") {
867
871
  console.error("All other commands work with Node \u2014 run 'pensar --help'.");
868
872
  process.exit(1);
869
873
  }
870
- await import("./index-hcxak3dc.js");
874
+ await import("./index-kbrnaz9a.js");
871
875
  } else {
872
876
  console.error(`Error: Unknown command '${command}'`);
873
877
  console.error();
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  getFix,
4
4
  listFixes
5
- } from "./cli-ys0ahwpb.js";
6
- import"./cli-m45bmsc5.js";
7
- import"./cli-j54wb0q5.js";
8
- import"./cli-4bvafx3k.js";
5
+ } from "./cli-m446pz53.js";
6
+ import"./cli-s0szpfg0.js";
7
+ import"./cli-gddjk082.js";
8
+ import"./cli-k98mffkk.js";
9
9
  import"./cli-8rxa073f.js";
10
10
 
11
11
  // src/cli/fixes.ts
@@ -13,24 +13,24 @@ import {
13
13
  update,
14
14
  write,
15
15
  writeRaw
16
- } from "./cli-fhm4gfky.js";
16
+ } from "./cli-q4k54esg.js";
17
17
  import {
18
18
  ToolsetStateSchema,
19
19
  exports_toolset,
20
20
  init_toolset,
21
21
  toggleTool
22
- } from "./cli-2gz62eh7.js";
22
+ } from "./cli-dask2vk7.js";
23
23
  import {
24
24
  init_zod,
25
25
  zod_default
26
26
  } from "./cli-0ghkg3w6.js";
27
- import"./cli-3462esbc.js";
28
- import"./cli-m45bmsc5.js";
27
+ import"./cli-b24ad6fn.js";
28
+ import"./cli-s0szpfg0.js";
29
29
  import"./cli-gpnb45ck.js";
30
- import"./cli-j54wb0q5.js";
30
+ import"./cli-gddjk082.js";
31
31
  import {
32
32
  getCurrentVersion
33
- } from "./cli-4bvafx3k.js";
33
+ } from "./cli-k98mffkk.js";
34
34
  import"./cli-03z6pswp.js";
35
35
  import {
36
36
  __require,
@@ -9,15 +9,15 @@ import {
9
9
  signGatewayRequest,
10
10
  startDeviceFlow,
11
11
  validateGateway
12
- } from "./cli-3462esbc.js";
12
+ } from "./cli-b24ad6fn.js";
13
13
  import {
14
14
  ensureValidToken,
15
15
  fetchWorkOSClientId,
16
16
  isTokenExpired,
17
17
  refreshAccessToken
18
- } from "./cli-m45bmsc5.js";
19
- import"./cli-j54wb0q5.js";
20
- import"./cli-4bvafx3k.js";
18
+ } from "./cli-s0szpfg0.js";
19
+ import"./cli-gddjk082.js";
20
+ import"./cli-k98mffkk.js";
21
21
  import"./cli-8rxa073f.js";
22
22
  export {
23
23
  validateGateway,
@@ -2,8 +2,8 @@ import {
2
2
  get,
3
3
  init,
4
4
  update
5
- } from "./cli-j54wb0q5.js";
6
- import"./cli-4bvafx3k.js";
5
+ } from "./cli-gddjk082.js";
6
+ import"./cli-k98mffkk.js";
7
7
  import"./cli-8rxa073f.js";
8
8
 
9
9
  // src/core/config/index.ts
@@ -3,14 +3,14 @@ import {
3
3
  buildThreatModelPrompt,
4
4
  createSkillsRegistry,
5
5
  runOffensiveSecurityAgent
6
- } from "./cli-2aj6efy7.js";
6
+ } from "./cli-7ay2tay9.js";
7
7
  import {
8
8
  REPORT_FILENAME_MD,
9
9
  convertModelMessagesToUI,
10
10
  loadSubagents,
11
11
  readExecutionMetrics,
12
12
  writeExecutionMetrics
13
- } from "./cli-ww2x78tc.js";
13
+ } from "./cli-m1368s8r.js";
14
14
  import {
15
15
  createThreatModelPrompt
16
16
  } from "./cli-fw5r7pfj.js";
@@ -38,14 +38,14 @@ import {
38
38
  planFilePath,
39
39
  readPlan,
40
40
  sessions
41
- } from "./cli-e06s4dbt.js";
41
+ } from "./cli-eppqn21m.js";
42
42
  import {
43
43
  detectOSAndEnhancePrompt
44
44
  } from "./cli-tp1tqn3k.js";
45
45
  import {
46
46
  read,
47
47
  write
48
- } from "./cli-fhm4gfky.js";
48
+ } from "./cli-q4k54esg.js";
49
49
  import {
50
50
  getAutoPopulatedHosts,
51
51
  getAutoPopulatedPorts,
@@ -57,7 +57,7 @@ import {
57
57
  init_toolset,
58
58
  modelSupportsThinking,
59
59
  stepCountIs
60
- } from "./cli-2gz62eh7.js";
60
+ } from "./cli-dask2vk7.js";
61
61
  import"./cli-0ghkg3w6.js";
62
62
  import {
63
63
  disconnect,
@@ -69,19 +69,19 @@ import {
69
69
  selectWorkspace,
70
70
  startDeviceFlow,
71
71
  validateGateway
72
- } from "./cli-3462esbc.js";
72
+ } from "./cli-b24ad6fn.js";
73
73
  import {
74
74
  config,
75
75
  getPensarApiUrl,
76
76
  getPensarConsoleUrl
77
- } from "./cli-m45bmsc5.js";
77
+ } from "./cli-s0szpfg0.js";
78
78
  import"./cli-gpnb45ck.js";
79
79
  import {
80
80
  update
81
- } from "./cli-j54wb0q5.js";
81
+ } from "./cli-gddjk082.js";
82
82
  import {
83
83
  checkForUpdate
84
- } from "./cli-4bvafx3k.js";
84
+ } from "./cli-k98mffkk.js";
85
85
  import {
86
86
  AVAILABLE_MODELS,
87
87
  init_models
@@ -69360,7 +69360,7 @@ function AppContent({
69360
69360
  toast(`Update available: v${currentVersion} → v${latestVersion}. Run: pensar upgrade`, "warn", 8000);
69361
69361
  });
69362
69362
  const checkAuthToken = async () => {
69363
- const { isTokenExpired, isConnected: isConnected2 } = await import("./index-0je5jws9.js");
69363
+ const { isTokenExpired, isConnected: isConnected2 } = await import("./index-3jzgn22s.js");
69364
69364
  if (isConnected2(config2.data) && config2.data.accessToken && isTokenExpired(config2.data.accessToken, 60) && !config2.data.refreshToken && !config2.data.pensarAPIKey) {
69365
69365
  toast("Your Pensar Console session has expired. Run /login to refresh.", "warn", 8000);
69366
69366
  }
@@ -7,17 +7,17 @@ import {
7
7
  SKILL_TOOL_NAMES,
8
8
  StepTraceWriter,
9
9
  createAllTools
10
- } from "./cli-e06s4dbt.js";
10
+ } from "./cli-eppqn21m.js";
11
11
  import"./cli-tp1tqn3k.js";
12
- import"./cli-fhm4gfky.js";
12
+ import"./cli-q4k54esg.js";
13
13
  import"./cli-3y0dgy56.js";
14
- import"./cli-2gz62eh7.js";
14
+ import"./cli-dask2vk7.js";
15
15
  import"./cli-0ghkg3w6.js";
16
- import"./cli-3462esbc.js";
17
- import"./cli-m45bmsc5.js";
16
+ import"./cli-b24ad6fn.js";
17
+ import"./cli-s0szpfg0.js";
18
18
  import"./cli-gpnb45ck.js";
19
- import"./cli-j54wb0q5.js";
20
- import"./cli-4bvafx3k.js";
19
+ import"./cli-gddjk082.js";
20
+ import"./cli-k98mffkk.js";
21
21
  import"./cli-03z6pswp.js";
22
22
  import"./cli-8rxa073f.js";
23
23
  export {
@@ -3,10 +3,10 @@ import {
3
3
  getIssue,
4
4
  listIssues,
5
5
  updateIssue
6
- } from "./cli-ys0ahwpb.js";
7
- import"./cli-m45bmsc5.js";
8
- import"./cli-j54wb0q5.js";
9
- import"./cli-4bvafx3k.js";
6
+ } from "./cli-m446pz53.js";
7
+ import"./cli-s0szpfg0.js";
8
+ import"./cli-gddjk082.js";
9
+ import"./cli-k98mffkk.js";
10
10
  import"./cli-8rxa073f.js";
11
11
 
12
12
  // src/cli/issues.ts
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  listAgentLogs,
4
4
  searchAgentLogs
5
- } from "./cli-ys0ahwpb.js";
6
- import"./cli-m45bmsc5.js";
7
- import"./cli-j54wb0q5.js";
8
- import"./cli-4bvafx3k.js";
5
+ } from "./cli-m446pz53.js";
6
+ import"./cli-s0szpfg0.js";
7
+ import"./cli-gddjk082.js";
8
+ import"./cli-k98mffkk.js";
9
9
  import"./cli-8rxa073f.js";
10
10
 
11
11
  // src/cli/logs.ts
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-e06s4dbt.js";
3
+ } from "./cli-eppqn21m.js";
4
4
  import"./cli-tp1tqn3k.js";
5
- import"./cli-fhm4gfky.js";
5
+ import"./cli-q4k54esg.js";
6
6
  import"./cli-3y0dgy56.js";
7
- import"./cli-2gz62eh7.js";
7
+ import"./cli-dask2vk7.js";
8
8
  import"./cli-0ghkg3w6.js";
9
- import"./cli-3462esbc.js";
10
- import"./cli-m45bmsc5.js";
9
+ import"./cli-b24ad6fn.js";
10
+ import"./cli-s0szpfg0.js";
11
11
  import"./cli-gpnb45ck.js";
12
- import"./cli-j54wb0q5.js";
13
- import"./cli-4bvafx3k.js";
12
+ import"./cli-gddjk082.js";
13
+ import"./cli-k98mffkk.js";
14
14
  import"./cli-03z6pswp.js";
15
15
  import"./cli-8rxa073f.js";
16
16
 
@@ -2,24 +2,24 @@ import {
2
2
  DEFAULT_CONCURRENCY,
3
3
  runPentestSwarm,
4
4
  runPentestWorkflow
5
- } from "./cli-nhqvhgdk.js";
6
- import"./cli-ww2x78tc.js";
7
- import"./cli-m69x66eh.js";
5
+ } from "./cli-pcwh8avj.js";
6
+ import"./cli-m1368s8r.js";
7
+ import"./cli-agnn8r68.js";
8
8
  import"./cli-0fy9j5dw.js";
9
- import"./cli-x1g2s9n9.js";
9
+ import"./cli-5htwcgkj.js";
10
10
  import"./cli-fw5r7pfj.js";
11
- import"./cli-6w784800.js";
12
- import"./cli-e06s4dbt.js";
11
+ import"./cli-7sfmck9y.js";
12
+ import"./cli-eppqn21m.js";
13
13
  import"./cli-tp1tqn3k.js";
14
- import"./cli-fhm4gfky.js";
14
+ import"./cli-q4k54esg.js";
15
15
  import"./cli-3y0dgy56.js";
16
- import"./cli-2gz62eh7.js";
16
+ import"./cli-dask2vk7.js";
17
17
  import"./cli-0ghkg3w6.js";
18
- import"./cli-3462esbc.js";
19
- import"./cli-m45bmsc5.js";
18
+ import"./cli-b24ad6fn.js";
19
+ import"./cli-s0szpfg0.js";
20
20
  import"./cli-gpnb45ck.js";
21
- import"./cli-j54wb0q5.js";
22
- import"./cli-4bvafx3k.js";
21
+ import"./cli-gddjk082.js";
22
+ import"./cli-k98mffkk.js";
23
23
  import"./cli-03z6pswp.js";
24
24
  import"./cli-8rxa073f.js";
25
25
  export {
@@ -3,10 +3,10 @@ import {
3
3
  dispatchPentest,
4
4
  getScan,
5
5
  listScans
6
- } from "./cli-ys0ahwpb.js";
7
- import"./cli-m45bmsc5.js";
8
- import"./cli-j54wb0q5.js";
9
- import"./cli-4bvafx3k.js";
6
+ } from "./cli-m446pz53.js";
7
+ import"./cli-s0szpfg0.js";
8
+ import"./cli-gddjk082.js";
9
+ import"./cli-k98mffkk.js";
10
10
  import"./cli-8rxa073f.js";
11
11
 
12
12
  // src/cli/pentests.ts
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
3
  listProjects
4
- } from "./cli-ys0ahwpb.js";
5
- import"./cli-m45bmsc5.js";
6
- import"./cli-j54wb0q5.js";
7
- import"./cli-4bvafx3k.js";
4
+ } from "./cli-m446pz53.js";
5
+ import"./cli-s0szpfg0.js";
6
+ import"./cli-gddjk082.js";
7
+ import"./cli-k98mffkk.js";
8
8
  import"./cli-8rxa073f.js";
9
9
 
10
10
  // src/cli/projects.ts
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  TargetedPentestAgent
3
- } from "./cli-m69x66eh.js";
4
- import"./cli-e06s4dbt.js";
3
+ } from "./cli-agnn8r68.js";
4
+ import"./cli-eppqn21m.js";
5
5
  import"./cli-tp1tqn3k.js";
6
- import"./cli-fhm4gfky.js";
6
+ import"./cli-q4k54esg.js";
7
7
  import"./cli-3y0dgy56.js";
8
- import"./cli-2gz62eh7.js";
8
+ import"./cli-dask2vk7.js";
9
9
  import"./cli-0ghkg3w6.js";
10
- import"./cli-3462esbc.js";
11
- import"./cli-m45bmsc5.js";
10
+ import"./cli-b24ad6fn.js";
11
+ import"./cli-s0szpfg0.js";
12
12
  import"./cli-gpnb45ck.js";
13
- import"./cli-j54wb0q5.js";
14
- import"./cli-4bvafx3k.js";
13
+ import"./cli-gddjk082.js";
14
+ import"./cli-k98mffkk.js";
15
15
  import"./cli-03z6pswp.js";
16
16
  import"./cli-8rxa073f.js";
17
17
 
@@ -2,26 +2,26 @@ import {
2
2
  buildThreatModelPrompt,
3
3
  createSkillsRegistry,
4
4
  runOffensiveSecurityAgent
5
- } from "./cli-2aj6efy7.js";
5
+ } from "./cli-7ay2tay9.js";
6
6
  import {
7
7
  ALL_TOOL_NAMES,
8
8
  ASK_USER_QUESTIONS_TOOL_NAME,
9
9
  SKILL_TOOL_NAMES,
10
10
  buildBaseSystemPrompt,
11
11
  sessions
12
- } from "./cli-e06s4dbt.js";
12
+ } from "./cli-eppqn21m.js";
13
13
  import"./cli-tp1tqn3k.js";
14
- import"./cli-fhm4gfky.js";
14
+ import"./cli-q4k54esg.js";
15
15
  import"./cli-3y0dgy56.js";
16
16
  import {
17
17
  stepCountIs
18
- } from "./cli-2gz62eh7.js";
18
+ } from "./cli-dask2vk7.js";
19
19
  import"./cli-0ghkg3w6.js";
20
- import"./cli-3462esbc.js";
21
- import"./cli-m45bmsc5.js";
20
+ import"./cli-b24ad6fn.js";
21
+ import"./cli-s0szpfg0.js";
22
22
  import"./cli-gpnb45ck.js";
23
- import"./cli-j54wb0q5.js";
24
- import"./cli-4bvafx3k.js";
23
+ import"./cli-gddjk082.js";
24
+ import"./cli-k98mffkk.js";
25
25
  import"./cli-03z6pswp.js";
26
26
  import"./cli-8rxa073f.js";
27
27
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
3
  detectInstallMethod
4
- } from "./cli-4bvafx3k.js";
4
+ } from "./cli-k98mffkk.js";
5
5
  import {
6
6
  __require
7
7
  } from "./cli-8rxa073f.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pensar/apex",
3
- "version": "1.6.0",
3
+ "version": "1.7.0-canary.fc156bd3",
4
4
  "description": "AI-powered penetration testing CLI tool with terminal UI",
5
5
  "module": "src/tui/index.tsx",
6
6
  "main": "build/cli.js",
@@ -1,19 +0,0 @@
1
- import {
2
- CodeAgent
3
- } from "./cli-6w784800.js";
4
- import"./cli-e06s4dbt.js";
5
- import"./cli-tp1tqn3k.js";
6
- import"./cli-fhm4gfky.js";
7
- import"./cli-3y0dgy56.js";
8
- import"./cli-2gz62eh7.js";
9
- import"./cli-0ghkg3w6.js";
10
- import"./cli-3462esbc.js";
11
- import"./cli-m45bmsc5.js";
12
- import"./cli-gpnb45ck.js";
13
- import"./cli-j54wb0q5.js";
14
- import"./cli-4bvafx3k.js";
15
- import"./cli-03z6pswp.js";
16
- import"./cli-8rxa073f.js";
17
- export {
18
- CodeAgent
19
- };