@pensar/apex 2.4.0 → 2.5.0-canary.c20fe7ed

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 (68) hide show
  1. package/build/{agent-nhs1w5w0.js → agent-1e2wj9z8.js} +11 -10
  2. package/build/agent-45hqpjke.js +20 -0
  3. package/build/{agent-5ejt5vpz.js → agent-6z92j5sh.js} +9 -8
  4. package/build/{apps-17wvz1d7.js → apps-ndg4qp8t.js} +72 -31
  5. package/build/{auth-z3h9859n.js → auth-z6emgx61.js} +25 -20
  6. package/build/authentication-gqmrgkqt.js +20 -0
  7. package/build/blackboxAgent-sg4gt9t9.js +20 -0
  8. package/build/blackboxPentest-0nr9742k.js +70 -0
  9. package/build/{cli-xshasbwe.js → cli-1hkxhyef.js} +30 -4
  10. package/build/{cli-tznv8pf1.js → cli-1q3vervd.js} +1 -1
  11. package/build/{cli-5k33webc.js → cli-3a5hy1r3.js} +45 -43
  12. package/build/{cli-0n4r54hq.js → cli-3b3teb1m.js} +1 -1
  13. package/build/{cli-qqt4gj1w.js → cli-3x1y9yk0.js} +5 -3
  14. package/build/{cli-b1adytsy.js → cli-4zm8sx6f.js} +28 -5
  15. package/build/cli-53rm0rrz.js +15 -0
  16. package/build/{cli-vnynf0js.js → cli-5ynht461.js} +10 -4
  17. package/build/cli-68260ckj.js +12136 -0
  18. package/build/{cli-repbyhkk.js → cli-6grv9k35.js} +1141 -525
  19. package/build/cli-7q3ae3ft.js +6 -0
  20. package/build/cli-9pbk8m32.js +32 -0
  21. package/build/{cli-swpbx60z.js → cli-avmhkjtv.js} +1 -1481
  22. package/build/{cli-tkc598ey.js → cli-bxhaqp8w.js} +388 -275
  23. package/build/{cli-mavved45.js → cli-cg3s2en9.js} +46 -25
  24. package/build/{cli-2cbwdk78.js → cli-d6r1rfde.js} +1 -1
  25. package/build/{cli-32z0017y.js → cli-jgd1gxnf.js} +2 -2
  26. package/build/{cli-9rhzhgx2.js → cli-jq2yh557.js} +1 -1
  27. package/build/cli-knd276ed.js +1485 -0
  28. package/build/{cli-gq40s5b3.js → cli-whyqn949.js} +5 -3
  29. package/build/{cli-72cvcqhg.js → cli-y9mjgfsd.js} +1 -1
  30. package/build/{cli-k8kc47pq.js → cli-ygm0ygzg.js} +3 -3
  31. package/build/{cli-vq52kp7j.js → cli-zgda61x2.js} +23 -5
  32. package/build/cli.js +641 -95
  33. package/build/{config-f1mj4nhd.js → config-rqdae6vq.js} +18 -15
  34. package/build/{doctor-ekneewa3.js → doctor-kqe55h5e.js} +8 -7
  35. package/build/{fastStrike-8zka43xs.js → fastStrike-0e8b4ghw.js} +13 -10
  36. package/build/{fixes-b89s5haw.js → fixes-x4f12cf3.js} +25 -20
  37. package/build/getMachineId-bsd-xj3bn2fv.js +36 -0
  38. package/build/getMachineId-darwin-07jzjcx6.js +36 -0
  39. package/build/getMachineId-linux-ahngynxd.js +29 -0
  40. package/build/getMachineId-unsupported-vy43b44z.js +19 -0
  41. package/build/getMachineId-win-8x66cynz.js +38 -0
  42. package/build/{index-ghwf5z3v.js → index-208mcw9a.js} +3 -3
  43. package/build/{index-mtq7kmxz.js → index-5wh7gq37.js} +4 -2
  44. package/build/{index-4ad3sdwk.js → index-8cr4w2bp.js} +4 -4
  45. package/build/{index-y5w6n3tb.js → index-e3x6d0hy.js} +2 -2
  46. package/build/{index-rbzhk712.js → index-qh7c3nbg.js} +11 -10
  47. package/build/{index-sf16jm0m.js → index-rvb8b0hh.js} +9 -7
  48. package/build/{index-6d22pyxt.js → index-tb06da9e.js} +1756 -1213
  49. package/build/{index-hqjdg6fg.js → index-xb71f7d3.js} +17 -9
  50. package/build/{issues-xx5bs4md.js → issues-jj265r5t.js} +82 -26
  51. package/build/{logs-qtxe51w2.js → logs-sbb23gj9.js} +25 -20
  52. package/build/{offesecAgent-b9e2xm6v.js → offesecAgent-vzbv0qbm.js} +10 -9
  53. package/build/pentest-3qtct2r2.js +30 -0
  54. package/build/{pentests-6ks3szc4.js → pentests-411n0vfk.js} +26 -21
  55. package/build/{targetedPentest-s1ptvq8e.js → targetedPentest-t1rw5cdc.js} +11 -10
  56. package/build/{targets-sxygyj87.js → targets-d8d0z2f8.js} +27 -22
  57. package/build/threatModel-qwmbj242.js +29 -0
  58. package/build/{uninstall-tvsh81v8.js → uninstall-65bc2d02.js} +6 -3
  59. package/build/{upload-7wdyyqmr.js → upload-52x1r3py.js} +8 -7
  60. package/build/{utils-7fwdkqk6.js → utils-cye50fn6.js} +7 -6
  61. package/package.json +8 -2
  62. package/build/agent-mvpgvgks.js +0 -19
  63. package/build/authentication-3s97cpk4.js +0 -19
  64. package/build/blackboxAgent-gw0a1ca4.js +0 -19
  65. package/build/blackboxPentest-44333zss.js +0 -37
  66. package/build/main-mmjp338j.js +0 -324
  67. package/build/pentest-xtc1sjdw.js +0 -29
  68. package/build/threatModel-xsm6fwk5.js +0 -27
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ApexFindingObject
3
- } from "./cli-qqt4gj1w.js";
3
+ } from "./cli-3x1y9yk0.js";
4
4
  import {
5
5
  ALL_TOOL_NAMES,
6
6
  ASK_USER_QUESTIONS_TOOL_NAME,
@@ -20,6 +20,8 @@ import {
20
20
  ReportErrorReasonSchema,
21
21
  SEND_EMAIL_TOOL_NAME,
22
22
  SKILL_TOOL_NAMES,
23
+ SMS_LIST_MESSAGES_TOOL_NAME,
24
+ SMS_TOOL_NAMES,
23
25
  ScopeViolationError,
24
26
  StepTraceWriter,
25
27
  addMemory,
@@ -79,6 +81,7 @@ import {
79
81
  readTempfileCapped,
80
82
  runAttackSurface,
81
83
  runPentestWorkflow,
84
+ sessionHasSmsPasswordless,
82
85
  setHeadlessMode,
83
86
  setUserAgent,
84
87
  setViewportSize,
@@ -95,16 +98,17 @@ import {
95
98
  validateDiscovery,
96
99
  webSearch,
97
100
  writePlan
98
- } from "./cli-repbyhkk.js";
99
- import"./cli-tznv8pf1.js";
101
+ } from "./cli-6grv9k35.js";
102
+ import"./cli-1q3vervd.js";
100
103
  import"./cli-c8131c4q.js";
101
- import"./cli-tkc598ey.js";
102
- import"./cli-0n4r54hq.js";
103
- import"./cli-swpbx60z.js";
104
+ import"./cli-bxhaqp8w.js";
105
+ import"./cli-3b3teb1m.js";
106
+ import"./cli-avmhkjtv.js";
104
107
  import"./cli-j54qa6tm.js";
105
- import"./cli-72cvcqhg.js";
106
- import"./cli-9rhzhgx2.js";
107
- import"./cli-vnynf0js.js";
108
+ import"./cli-y9mjgfsd.js";
109
+ import"./cli-jq2yh557.js";
110
+ import"./cli-5ynht461.js";
111
+ import"./cli-knd276ed.js";
108
112
  import"./cli-bc05qbss.js";
109
113
  export {
110
114
  ALL_TOOL_NAMES,
@@ -127,6 +131,9 @@ export {
127
131
  ReportErrorReasonSchema,
128
132
  SEND_EMAIL_TOOL_NAME,
129
133
  SKILL_TOOL_NAMES,
134
+ SMS_LIST_MESSAGES_TOOL_NAME,
135
+ SMS_TOOL_NAMES,
136
+ SMS_TOOL_NAMES as SMS_TOOL_NAMES_ACTIVE,
130
137
  ScopeViolationError,
131
138
  StepTraceWriter,
132
139
  addMemory,
@@ -186,6 +193,7 @@ export {
186
193
  readTempfileCapped,
187
194
  runAttackSurface,
188
195
  runPentestWorkflow,
196
+ sessionHasSmsPasswordless,
189
197
  setHeadlessMode,
190
198
  setUserAgent,
191
199
  setViewportSize,
@@ -1,32 +1,40 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
+ markCommandFailed
4
+ } from "./cli-7q3ae3ft.js";
5
+ import {
6
+ CLOSED_DISPOSITIONS,
7
+ createIssueComment,
3
8
  getIssue,
4
9
  linkPullRequest,
10
+ listIssueComments,
5
11
  listIssuePullRequests,
6
12
  listIssues,
7
13
  retestIssue,
8
14
  updateIssue
9
- } from "./cli-vq52kp7j.js";
10
- import"./cli-5k33webc.js";
11
- import"./cli-gq40s5b3.js";
12
- import"./cli-b1adytsy.js";
13
- import"./cli-mavved45.js";
14
- import"./cli-xshasbwe.js";
15
- import"./cli-32z0017y.js";
16
- import"./cli-k8kc47pq.js";
15
+ } from "./cli-zgda61x2.js";
16
+ import"./cli-9pbk8m32.js";
17
+ import"./cli-3a5hy1r3.js";
18
+ import"./cli-ygm0ygzg.js";
19
+ import"./cli-whyqn949.js";
20
+ import"./cli-cg3s2en9.js";
21
+ import"./cli-4zm8sx6f.js";
22
+ import"./cli-1hkxhyef.js";
23
+ import"./cli-jgd1gxnf.js";
17
24
  import"./cli-9fsre5pt.js";
18
- import"./cli-qqt4gj1w.js";
19
- import"./cli-repbyhkk.js";
20
- import"./cli-tznv8pf1.js";
25
+ import"./cli-3x1y9yk0.js";
26
+ import"./cli-6grv9k35.js";
27
+ import"./cli-1q3vervd.js";
21
28
  import"./cli-fw5r7pfj.js";
22
29
  import"./cli-c8131c4q.js";
23
- import"./cli-tkc598ey.js";
24
- import"./cli-0n4r54hq.js";
25
- import"./cli-swpbx60z.js";
30
+ import"./cli-bxhaqp8w.js";
31
+ import"./cli-3b3teb1m.js";
32
+ import"./cli-avmhkjtv.js";
26
33
  import"./cli-j54qa6tm.js";
27
- import"./cli-72cvcqhg.js";
28
- import"./cli-9rhzhgx2.js";
29
- import"./cli-vnynf0js.js";
34
+ import"./cli-y9mjgfsd.js";
35
+ import"./cli-jq2yh557.js";
36
+ import"./cli-5ynht461.js";
37
+ import"./cli-knd276ed.js";
30
38
  import"./cli-bc05qbss.js";
31
39
 
32
40
  // src/cli/issues.ts
@@ -46,9 +54,14 @@ Usage:
46
54
  pensar issues retest <issueId> Retest an issue
47
55
  pensar issues link-pr <issueId> --url <url> Link a pull request to an issue
48
56
  pensar issues prs <issueId> List pull requests linked to an issue
57
+ pensar issues comments <issueId> List review comments on an issue
58
+ pensar issues comment <issueId> --body <text> Post a comment on an issue
49
59
 
50
60
  <issueId> accepts the issue UUID or its label (e.g. VULN-000123).
51
61
 
62
+ Issue responses include "issueLabel" (e.g. VULN-000123, null for issues created
63
+ before labels existed) and "url", a deep link to the issue in the Console.
64
+
52
65
  List filters:
53
66
  --status <status> Filter: open, closed, false-positive, in-review
54
67
  --severity <sev> Filter: critical, high, medium, low
@@ -59,19 +72,31 @@ Update options:
59
72
  --status <status> New status
60
73
  --closed-reason <reason> Reason for closing
61
74
  --closed-comments <text> Additional comments
75
+ --disposition <value> Why it is closed: resolved, wont-fix, out-of-scope,
76
+ risk-accepted
62
77
  --false-positive Flag as false positive
63
78
  --fp-reason <reason> Reason for false positive flag
64
79
 
65
80
  Link-pr options:
66
81
  --url <url> URL of the pull request to link (required)
67
82
 
83
+ Comments options:
84
+ --page <n> Page number (default 1)
85
+ --page-size <n> Comments per page (default 50, max 200)
86
+
87
+ Comment options:
88
+ --body <text> Comment text (required)
89
+
90
+ Comments are returned oldest first. Posting requires a user login; a workspace
91
+ API key has no author to attribute a comment to.
92
+
68
93
  Options:
69
94
  -h, --help Show this help message`);
70
95
  }
71
96
  async function main() {
72
97
  const args = process.argv.slice(2);
73
98
  const sub = args[0];
74
- if (sub === "--help" || sub === "-h" || sub === "help") {
99
+ if (sub === "help" || args.includes("--help") || args.includes("-h")) {
75
100
  showHelp();
76
101
  return;
77
102
  }
@@ -81,7 +106,7 @@ async function main() {
81
106
  if (!issueId) {
82
107
  console.error("Error: issue ID is required");
83
108
  console.error("Usage: pensar issues get <issueId>");
84
- process.exit(1);
109
+ return markCommandFailed();
85
110
  }
86
111
  const issue = await getIssue(issueId);
87
112
  console.log(JSON.stringify(issue, null, 2));
@@ -90,17 +115,24 @@ async function main() {
90
115
  if (!issueId) {
91
116
  console.error("Error: issue ID is required");
92
117
  console.error("Usage: pensar issues update <issueId> [--status <status>] ...");
93
- process.exit(1);
118
+ return markCommandFailed();
94
119
  }
95
120
  const status = getFlag("--status", args);
96
121
  const closedReason = getFlag("--closed-reason", args);
97
122
  const closedComments = getFlag("--closed-comments", args);
123
+ const dispositionFlag = getFlag("--disposition", args);
124
+ if (dispositionFlag !== undefined && !CLOSED_DISPOSITIONS.includes(dispositionFlag)) {
125
+ console.error(`Error: invalid --disposition "${dispositionFlag}". Accepted: ${CLOSED_DISPOSITIONS.join(", ")}`);
126
+ return markCommandFailed();
127
+ }
128
+ const closedDisposition = dispositionFlag;
98
129
  const userFlaggedFalsePositive = args.includes("--false-positive") ? true : undefined;
99
130
  const userFlaggedFalsePositiveReason = getFlag("--fp-reason", args);
100
131
  const result = await updateIssue(issueId, {
101
132
  status,
102
133
  closedReason,
103
134
  closedComments,
135
+ closedDisposition,
104
136
  userFlaggedFalsePositive,
105
137
  userFlaggedFalsePositiveReason
106
138
  });
@@ -110,7 +142,7 @@ async function main() {
110
142
  if (!issueId) {
111
143
  console.error("Error: issue ID is required");
112
144
  console.error("Usage: pensar issues retest <issueId>");
113
- process.exit(1);
145
+ return markCommandFailed();
114
146
  }
115
147
  const result = await retestIssue(issueId);
116
148
  console.log(JSON.stringify(result, null, 2));
@@ -120,16 +152,40 @@ async function main() {
120
152
  if (!issueId || issueId.startsWith("--") || !url) {
121
153
  console.error("Error: issue ID and --url are required");
122
154
  console.error("Usage: pensar issues link-pr <issueId> --url <prUrl>");
123
- process.exit(1);
155
+ return markCommandFailed();
124
156
  }
125
157
  const result = await linkPullRequest(issueId, url);
126
158
  console.log(JSON.stringify(result, null, 2));
159
+ } else if (sub === "comments") {
160
+ const issueId = args[1];
161
+ if (!issueId || issueId.startsWith("--")) {
162
+ console.error("Error: issue ID is required");
163
+ console.error("Usage: pensar issues comments <issueId>");
164
+ return markCommandFailed();
165
+ }
166
+ const page = getFlag("--page", args);
167
+ const pageSize = getFlag("--page-size", args);
168
+ const result = await listIssueComments(issueId, {
169
+ page: page ? Number(page) : undefined,
170
+ pageSize: pageSize ? Number(pageSize) : undefined
171
+ });
172
+ console.log(JSON.stringify(result, null, 2));
173
+ } else if (sub === "comment") {
174
+ const issueId = args[1];
175
+ const body = getFlag("--body", args);
176
+ if (!issueId || issueId.startsWith("--") || !body) {
177
+ console.error("Error: issue ID and --body are required");
178
+ console.error('Usage: pensar issues comment <issueId> --body "<text>"');
179
+ return markCommandFailed();
180
+ }
181
+ const result = await createIssueComment(issueId, body);
182
+ console.log(JSON.stringify(result, null, 2));
127
183
  } else if (sub === "prs") {
128
184
  const issueId = args[1];
129
185
  if (!issueId) {
130
186
  console.error("Error: issue ID is required");
131
187
  console.error("Usage: pensar issues prs <issueId>");
132
- process.exit(1);
188
+ return markCommandFailed();
133
189
  }
134
190
  const result = await listIssuePullRequests(issueId);
135
191
  console.log(JSON.stringify(result, null, 2));
@@ -144,12 +200,12 @@ async function main() {
144
200
  } else {
145
201
  console.error(`Error: Unknown subcommand "${sub}"`);
146
202
  showHelp();
147
- process.exit(1);
203
+ return markCommandFailed();
148
204
  }
149
205
  } catch (err) {
150
206
  console.error(`
151
207
  Error: ${err instanceof Error ? err.message : String(err)}`);
152
- process.exit(1);
208
+ return markCommandFailed();
153
209
  }
154
210
  }
155
- main();
211
+ await main();
@@ -1,28 +1,33 @@
1
1
  #!/usr/bin/env bun
2
+ import {
3
+ markCommandFailed
4
+ } from "./cli-7q3ae3ft.js";
2
5
  import {
3
6
  listAgentLogs,
4
7
  searchAgentLogs
5
- } from "./cli-vq52kp7j.js";
6
- import"./cli-5k33webc.js";
7
- import"./cli-gq40s5b3.js";
8
- import"./cli-b1adytsy.js";
9
- import"./cli-mavved45.js";
10
- import"./cli-xshasbwe.js";
11
- import"./cli-32z0017y.js";
12
- import"./cli-k8kc47pq.js";
8
+ } from "./cli-zgda61x2.js";
9
+ import"./cli-9pbk8m32.js";
10
+ import"./cli-3a5hy1r3.js";
11
+ import"./cli-ygm0ygzg.js";
12
+ import"./cli-whyqn949.js";
13
+ import"./cli-cg3s2en9.js";
14
+ import"./cli-4zm8sx6f.js";
15
+ import"./cli-1hkxhyef.js";
16
+ import"./cli-jgd1gxnf.js";
13
17
  import"./cli-9fsre5pt.js";
14
- import"./cli-qqt4gj1w.js";
15
- import"./cli-repbyhkk.js";
16
- import"./cli-tznv8pf1.js";
18
+ import"./cli-3x1y9yk0.js";
19
+ import"./cli-6grv9k35.js";
20
+ import"./cli-1q3vervd.js";
17
21
  import"./cli-fw5r7pfj.js";
18
22
  import"./cli-c8131c4q.js";
19
- import"./cli-tkc598ey.js";
20
- import"./cli-0n4r54hq.js";
21
- import"./cli-swpbx60z.js";
23
+ import"./cli-bxhaqp8w.js";
24
+ import"./cli-3b3teb1m.js";
25
+ import"./cli-avmhkjtv.js";
22
26
  import"./cli-j54qa6tm.js";
23
- import"./cli-72cvcqhg.js";
24
- import"./cli-9rhzhgx2.js";
25
- import"./cli-vnynf0js.js";
27
+ import"./cli-y9mjgfsd.js";
28
+ import"./cli-jq2yh557.js";
29
+ import"./cli-5ynht461.js";
30
+ import"./cli-knd276ed.js";
26
31
  import"./cli-bc05qbss.js";
27
32
 
28
33
  // src/cli/logs.ts
@@ -64,7 +69,7 @@ async function main() {
64
69
  if (!issueId || !query) {
65
70
  console.error("Error: issue ID and query are required");
66
71
  console.error("Usage: pensar logs search <issueId> <query> [--level <level>] [--role <role>] [--context <n>]");
67
- process.exit(1);
72
+ return markCommandFailed();
68
73
  }
69
74
  const level = getFlag("--level", args);
70
75
  const role = getFlag("--role", args);
@@ -88,7 +93,7 @@ async function main() {
88
93
  } catch (err) {
89
94
  console.error(`
90
95
  Error: ${err instanceof Error ? err.message : String(err)}`);
91
- process.exit(1);
96
+ return markCommandFailed();
92
97
  }
93
98
  }
94
- main();
99
+ await main();
@@ -1,17 +1,18 @@
1
1
  import"./cli-9fsre5pt.js";
2
- import"./cli-qqt4gj1w.js";
2
+ import"./cli-3x1y9yk0.js";
3
3
  import {
4
4
  OffensiveSecurityAgent
5
- } from "./cli-repbyhkk.js";
6
- import"./cli-tznv8pf1.js";
5
+ } from "./cli-6grv9k35.js";
6
+ import"./cli-1q3vervd.js";
7
7
  import"./cli-c8131c4q.js";
8
- import"./cli-tkc598ey.js";
9
- import"./cli-0n4r54hq.js";
10
- import"./cli-swpbx60z.js";
8
+ import"./cli-bxhaqp8w.js";
9
+ import"./cli-3b3teb1m.js";
10
+ import"./cli-avmhkjtv.js";
11
11
  import"./cli-j54qa6tm.js";
12
- import"./cli-72cvcqhg.js";
13
- import"./cli-9rhzhgx2.js";
14
- import"./cli-vnynf0js.js";
12
+ import"./cli-y9mjgfsd.js";
13
+ import"./cli-jq2yh557.js";
14
+ import"./cli-5ynht461.js";
15
+ import"./cli-knd276ed.js";
15
16
  import"./cli-bc05qbss.js";
16
17
 
17
18
  // src/core/api/offesecAgent.ts
@@ -0,0 +1,30 @@
1
+ import {
2
+ DEFAULT_CONCURRENCY,
3
+ runPentestSwarm,
4
+ runPentestWorkflow
5
+ } from "./cli-3a5hy1r3.js";
6
+ import"./cli-ygm0ygzg.js";
7
+ import"./cli-whyqn949.js";
8
+ import"./cli-cg3s2en9.js";
9
+ import"./cli-4zm8sx6f.js";
10
+ import"./cli-jgd1gxnf.js";
11
+ import"./cli-9fsre5pt.js";
12
+ import"./cli-3x1y9yk0.js";
13
+ import"./cli-6grv9k35.js";
14
+ import"./cli-1q3vervd.js";
15
+ import"./cli-fw5r7pfj.js";
16
+ import"./cli-c8131c4q.js";
17
+ import"./cli-bxhaqp8w.js";
18
+ import"./cli-3b3teb1m.js";
19
+ import"./cli-avmhkjtv.js";
20
+ import"./cli-j54qa6tm.js";
21
+ import"./cli-y9mjgfsd.js";
22
+ import"./cli-jq2yh557.js";
23
+ import"./cli-5ynht461.js";
24
+ import"./cli-knd276ed.js";
25
+ import"./cli-bc05qbss.js";
26
+ export {
27
+ DEFAULT_CONCURRENCY,
28
+ runPentestSwarm,
29
+ runPentestWorkflow
30
+ };
@@ -1,29 +1,34 @@
1
1
  #!/usr/bin/env bun
2
+ import {
3
+ markCommandFailed
4
+ } from "./cli-7q3ae3ft.js";
2
5
  import {
3
6
  dispatchPentest,
4
7
  getScan,
5
8
  listScans
6
- } from "./cli-vq52kp7j.js";
7
- import"./cli-5k33webc.js";
8
- import"./cli-gq40s5b3.js";
9
- import"./cli-b1adytsy.js";
10
- import"./cli-mavved45.js";
11
- import"./cli-xshasbwe.js";
12
- import"./cli-32z0017y.js";
13
- import"./cli-k8kc47pq.js";
9
+ } from "./cli-zgda61x2.js";
10
+ import"./cli-9pbk8m32.js";
11
+ import"./cli-3a5hy1r3.js";
12
+ import"./cli-ygm0ygzg.js";
13
+ import"./cli-whyqn949.js";
14
+ import"./cli-cg3s2en9.js";
15
+ import"./cli-4zm8sx6f.js";
16
+ import"./cli-1hkxhyef.js";
17
+ import"./cli-jgd1gxnf.js";
14
18
  import"./cli-9fsre5pt.js";
15
- import"./cli-qqt4gj1w.js";
16
- import"./cli-repbyhkk.js";
17
- import"./cli-tznv8pf1.js";
19
+ import"./cli-3x1y9yk0.js";
20
+ import"./cli-6grv9k35.js";
21
+ import"./cli-1q3vervd.js";
18
22
  import"./cli-fw5r7pfj.js";
19
23
  import"./cli-c8131c4q.js";
20
- import"./cli-tkc598ey.js";
21
- import"./cli-0n4r54hq.js";
22
- import"./cli-swpbx60z.js";
24
+ import"./cli-bxhaqp8w.js";
25
+ import"./cli-3b3teb1m.js";
26
+ import"./cli-avmhkjtv.js";
23
27
  import"./cli-j54qa6tm.js";
24
- import"./cli-72cvcqhg.js";
25
- import"./cli-9rhzhgx2.js";
26
- import"./cli-vnynf0js.js";
28
+ import"./cli-y9mjgfsd.js";
29
+ import"./cli-jq2yh557.js";
30
+ import"./cli-5ynht461.js";
31
+ import"./cli-knd276ed.js";
27
32
  import"./cli-bc05qbss.js";
28
33
 
29
34
  // src/cli/pentests.ts
@@ -61,7 +66,7 @@ async function main() {
61
66
  if (!pentestId) {
62
67
  console.error("Error: pentest ID is required");
63
68
  console.error("Usage: pensar pentests get <pentestId>");
64
- process.exit(1);
69
+ return markCommandFailed();
65
70
  }
66
71
  const scan = await getScan(pentestId);
67
72
  console.log(JSON.stringify(scan, null, 2));
@@ -76,12 +81,12 @@ async function main() {
76
81
  } else {
77
82
  console.error(`Error: Unknown subcommand "${sub}"`);
78
83
  showHelp();
79
- process.exit(1);
84
+ return markCommandFailed();
80
85
  }
81
86
  } catch (err) {
82
87
  console.error(`
83
88
  Error: ${err instanceof Error ? err.message : String(err)}`);
84
- process.exit(1);
89
+ return markCommandFailed();
85
90
  }
86
91
  }
87
- main();
92
+ await main();
@@ -1,18 +1,19 @@
1
1
  import {
2
2
  TargetedPentestAgent
3
- } from "./cli-mavved45.js";
3
+ } from "./cli-cg3s2en9.js";
4
4
  import"./cli-9fsre5pt.js";
5
- import"./cli-qqt4gj1w.js";
6
- import"./cli-repbyhkk.js";
7
- import"./cli-tznv8pf1.js";
5
+ import"./cli-3x1y9yk0.js";
6
+ import"./cli-6grv9k35.js";
7
+ import"./cli-1q3vervd.js";
8
8
  import"./cli-c8131c4q.js";
9
- import"./cli-tkc598ey.js";
10
- import"./cli-0n4r54hq.js";
11
- import"./cli-swpbx60z.js";
9
+ import"./cli-bxhaqp8w.js";
10
+ import"./cli-3b3teb1m.js";
11
+ import"./cli-avmhkjtv.js";
12
12
  import"./cli-j54qa6tm.js";
13
- import"./cli-72cvcqhg.js";
14
- import"./cli-9rhzhgx2.js";
15
- import"./cli-vnynf0js.js";
13
+ import"./cli-y9mjgfsd.js";
14
+ import"./cli-jq2yh557.js";
15
+ import"./cli-5ynht461.js";
16
+ import"./cli-knd276ed.js";
16
17
  import"./cli-bc05qbss.js";
17
18
 
18
19
  // src/core/api/targetedPentest.ts
@@ -1,29 +1,34 @@
1
1
  #!/usr/bin/env bun
2
+ import {
3
+ markCommandFailed
4
+ } from "./cli-7q3ae3ft.js";
2
5
  import {
3
6
  listPentestTargets,
4
7
  listTargetLogs,
5
8
  searchTargetLogs
6
- } from "./cli-vq52kp7j.js";
7
- import"./cli-5k33webc.js";
8
- import"./cli-gq40s5b3.js";
9
- import"./cli-b1adytsy.js";
10
- import"./cli-mavved45.js";
11
- import"./cli-xshasbwe.js";
12
- import"./cli-32z0017y.js";
13
- import"./cli-k8kc47pq.js";
9
+ } from "./cli-zgda61x2.js";
10
+ import"./cli-9pbk8m32.js";
11
+ import"./cli-3a5hy1r3.js";
12
+ import"./cli-ygm0ygzg.js";
13
+ import"./cli-whyqn949.js";
14
+ import"./cli-cg3s2en9.js";
15
+ import"./cli-4zm8sx6f.js";
16
+ import"./cli-1hkxhyef.js";
17
+ import"./cli-jgd1gxnf.js";
14
18
  import"./cli-9fsre5pt.js";
15
- import"./cli-qqt4gj1w.js";
16
- import"./cli-repbyhkk.js";
17
- import"./cli-tznv8pf1.js";
19
+ import"./cli-3x1y9yk0.js";
20
+ import"./cli-6grv9k35.js";
21
+ import"./cli-1q3vervd.js";
18
22
  import"./cli-fw5r7pfj.js";
19
23
  import"./cli-c8131c4q.js";
20
- import"./cli-tkc598ey.js";
21
- import"./cli-0n4r54hq.js";
22
- import"./cli-swpbx60z.js";
24
+ import"./cli-bxhaqp8w.js";
25
+ import"./cli-3b3teb1m.js";
26
+ import"./cli-avmhkjtv.js";
23
27
  import"./cli-j54qa6tm.js";
24
- import"./cli-72cvcqhg.js";
25
- import"./cli-9rhzhgx2.js";
26
- import"./cli-vnynf0js.js";
28
+ import"./cli-y9mjgfsd.js";
29
+ import"./cli-jq2yh557.js";
30
+ import"./cli-5ynht461.js";
31
+ import"./cli-knd276ed.js";
27
32
  import"./cli-bc05qbss.js";
28
33
 
29
34
  // src/cli/targets.ts
@@ -70,7 +75,7 @@ async function main() {
70
75
  if (!targetId) {
71
76
  console.error("Error: target ID is required");
72
77
  console.error("Usage: pensar targets logs <targetId> [--level <level>] [--role <role>] [--limit <n>]");
73
- process.exit(1);
78
+ return markCommandFailed();
74
79
  }
75
80
  const level = getFlag("--level", args);
76
81
  const role = getFlag("--role", args);
@@ -84,7 +89,7 @@ async function main() {
84
89
  if (!targetId || !query) {
85
90
  console.error("Error: target ID and query are required");
86
91
  console.error("Usage: pensar targets search <targetId> <query> [--level <level>] [--role <role>] [--context <n>]");
87
- process.exit(1);
92
+ return markCommandFailed();
88
93
  }
89
94
  const level = getFlag("--level", args);
90
95
  const role = getFlag("--role", args);
@@ -99,7 +104,7 @@ async function main() {
99
104
  } else if (sub.startsWith("--")) {
100
105
  console.error("Error: pentest ID is required");
101
106
  console.error("Usage: pensar targets <pentestId>");
102
- process.exit(1);
107
+ return markCommandFailed();
103
108
  } else {
104
109
  const pentestId = sub;
105
110
  const targets = await listPentestTargets(pentestId);
@@ -108,7 +113,7 @@ async function main() {
108
113
  } catch (err) {
109
114
  console.error(`
110
115
  Error: ${err instanceof Error ? err.message : String(err)}`);
111
- process.exit(1);
116
+ return markCommandFailed();
112
117
  }
113
118
  }
114
- main();
119
+ await main();
@@ -0,0 +1,29 @@
1
+ import {
2
+ runThreatModelWorkflow
3
+ } from "./cli-zgda61x2.js";
4
+ import"./cli-9pbk8m32.js";
5
+ import"./cli-3a5hy1r3.js";
6
+ import"./cli-ygm0ygzg.js";
7
+ import"./cli-whyqn949.js";
8
+ import"./cli-cg3s2en9.js";
9
+ import"./cli-4zm8sx6f.js";
10
+ import"./cli-1hkxhyef.js";
11
+ import"./cli-jgd1gxnf.js";
12
+ import"./cli-9fsre5pt.js";
13
+ import"./cli-3x1y9yk0.js";
14
+ import"./cli-6grv9k35.js";
15
+ import"./cli-1q3vervd.js";
16
+ import"./cli-fw5r7pfj.js";
17
+ import"./cli-c8131c4q.js";
18
+ import"./cli-bxhaqp8w.js";
19
+ import"./cli-3b3teb1m.js";
20
+ import"./cli-avmhkjtv.js";
21
+ import"./cli-j54qa6tm.js";
22
+ import"./cli-y9mjgfsd.js";
23
+ import"./cli-jq2yh557.js";
24
+ import"./cli-5ynht461.js";
25
+ import"./cli-knd276ed.js";
26
+ import"./cli-bc05qbss.js";
27
+ export {
28
+ runThreatModelWorkflow
29
+ };
@@ -1,8 +1,11 @@
1
1
  #!/usr/bin/env bun
2
+ import {
3
+ markCommandFailed
4
+ } from "./cli-7q3ae3ft.js";
2
5
  import {
3
6
  detectInstallMethod,
4
7
  init_installation
5
- } from "./cli-vnynf0js.js";
8
+ } from "./cli-5ynht461.js";
6
9
  import {
7
10
  __require
8
11
  } from "./cli-bc05qbss.js";
@@ -227,7 +230,7 @@ async function main() {
227
230
  } catch (err) {
228
231
  console.error(`
229
232
  Error: ${err instanceof Error ? err.message : String(err)}`);
230
- process.exit(1);
233
+ return markCommandFailed();
231
234
  }
232
235
  }
233
- main();
236
+ await main();