@pensar/apex 1.7.0 → 1.8.0-canary.2f3da4a2
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.
- package/build/{agent-beywhvf3.js → agent-5mbtsdes.js} +7 -7
- package/build/agent-scb9w0fv.js +19 -0
- package/build/{auth-wvh553ea.js → auth-0afhfypr.js} +4 -4
- package/build/{authentication-ec7trwb4.js → authentication-4eqmx3z4.js} +7 -7
- package/build/{blackboxAgent-ng2t2p2x.js → blackboxAgent-nb0v0ptg.js} +8 -8
- package/build/{blackboxPentest-rwyjy4kq.js → blackboxPentest-n9m7hbn8.js} +12 -12
- package/build/{cli-5m0347h3.js → cli-114rvgvj.js} +1 -1
- package/build/{cli-x3k26g1t.js → cli-230tpm4a.js} +146 -123
- package/build/{cli-06zt0g1a.js → cli-26tcc4x1.js} +2 -2
- package/build/{cli-nqx9y9ds.js → cli-629hvmba.js} +1 -1
- package/build/{cli-xtqm11qt.js → cli-91tyknkx.js} +1 -1
- package/build/{cli-r879p2yz.js → cli-etxprvkj.js} +1 -1
- package/build/{cli-vvyq7ace.js → cli-g90c7ajw.js} +1 -1
- package/build/{cli-zr7sg2m2.js → cli-jswt85hp.js} +2 -2
- package/build/{cli-40ef01tb.js → cli-kc8akm2b.js} +1 -1
- package/build/{cli-09prdch1.js → cli-ndp0xr8m.js} +6 -6
- package/build/{cli-836bfgxg.js → cli-nhb9w2dk.js} +1 -1
- package/build/{cli-gr3zncst.js → cli-nqynaq47.js} +1 -1
- package/build/{cli-rc7hyq7e.js → cli-rzrxttza.js} +55 -6
- package/build/{cli-q2dty8g4.js → cli-xf5qehnx.js} +1 -1
- package/build/cli.js +31 -27
- package/build/{fixes-1z283wdz.js → fixes-c8fa4er8.js} +4 -4
- package/build/{index-a4ydz3dd.js → index-5035hx9j.js} +7 -7
- package/build/{index-py7gtxez.js → index-6bsbwhyw.js} +2 -2
- package/build/{index-5a173a2k.js → index-eata65cj.js} +6 -6
- package/build/{index-1p5bg26t.js → index-k41ryzgs.js} +4 -4
- package/build/{index-j3hw6d4w.js → index-vhcxarqs.js} +58 -48
- package/build/{issues-trbzy8n0.js → issues-hgvycr7p.js} +4 -4
- package/build/{logs-c88md0h3.js → logs-0560s383.js} +4 -4
- package/build/{offesecAgent-ahcz5hcx.js → offesecAgent-vvrhkr8r.js} +7 -7
- package/build/{pentest-4932ke3a.js → pentest-kpn26j7f.js} +12 -12
- package/build/{pentests-re8dzxt9.js → pentests-s5x17s2j.js} +4 -4
- package/build/{projects-dqp4m0ws.js → projects-0qkjmzbw.js} +4 -4
- package/build/{targetedPentest-de8a67va.js → targetedPentest-4bj9654f.js} +8 -8
- package/build/{threatModel-waz866yk.js → threatModel-pe3svbnc.js} +8 -8
- package/build/{uninstall-0bwz7jdn.js → uninstall-tv9t0pgc.js} +1 -1
- package/package.json +1 -1
- package/build/agent-63cc9rpx.js +0 -19
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
buildThreatModelPrompt,
|
|
4
4
|
createSkillsRegistry,
|
|
5
5
|
runOffensiveSecurityAgent
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-nhb9w2dk.js";
|
|
7
7
|
import {
|
|
8
8
|
REPORT_FILENAME_MD,
|
|
9
9
|
convertModelMessagesToUI,
|
|
10
10
|
loadSubagents,
|
|
11
11
|
readExecutionMetrics,
|
|
12
12
|
writeExecutionMetrics
|
|
13
|
-
} from "./cli-
|
|
13
|
+
} from "./cli-nqynaq47.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-
|
|
41
|
+
} from "./cli-230tpm4a.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-
|
|
48
|
+
} from "./cli-629hvmba.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-
|
|
60
|
+
} from "./cli-rzrxttza.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-
|
|
72
|
+
} from "./cli-91tyknkx.js";
|
|
73
73
|
import {
|
|
74
74
|
config,
|
|
75
75
|
getPensarApiUrl,
|
|
76
76
|
getPensarConsoleUrl
|
|
77
|
-
} from "./cli-
|
|
77
|
+
} from "./cli-xf5qehnx.js";
|
|
78
78
|
import"./cli-gpnb45ck.js";
|
|
79
79
|
import {
|
|
80
80
|
update
|
|
81
|
-
} from "./cli-
|
|
81
|
+
} from "./cli-kc8akm2b.js";
|
|
82
82
|
import {
|
|
83
83
|
checkForUpdate
|
|
84
|
-
} from "./cli-
|
|
84
|
+
} from "./cli-etxprvkj.js";
|
|
85
85
|
import {
|
|
86
86
|
AVAILABLE_MODELS,
|
|
87
87
|
init_models
|
|
@@ -49343,7 +49343,7 @@ var require_lib = __commonJS((exports, module) => {
|
|
|
49343
49343
|
|
|
49344
49344
|
// src/tui/index.tsx
|
|
49345
49345
|
import { createRoot } from "@opentui/react";
|
|
49346
|
-
import { useState as useState40, useEffect as
|
|
49346
|
+
import { useState as useState40, useEffect as useEffect28 } from "react";
|
|
49347
49347
|
|
|
49348
49348
|
// src/tui/components/footer.tsx
|
|
49349
49349
|
import os2 from "os";
|
|
@@ -53534,7 +53534,12 @@ function ApprovalInputArea({
|
|
|
53534
53534
|
lastDeclineNote
|
|
53535
53535
|
}) {
|
|
53536
53536
|
const { colors: colors2 } = useTheme();
|
|
53537
|
+
const { setExternalDialogOpen } = useDialog();
|
|
53537
53538
|
const [focusedElement, setFocusedElement] = useState15(0);
|
|
53539
|
+
useEffect7(() => {
|
|
53540
|
+
setExternalDialogOpen(focusedElement === 2);
|
|
53541
|
+
return () => setExternalDialogOpen(false);
|
|
53542
|
+
}, [focusedElement, setExternalDialogOpen]);
|
|
53538
53543
|
useKeyboard5((key) => {
|
|
53539
53544
|
if (key.name === "up") {
|
|
53540
53545
|
setFocusedElement((prev) => Math.max(0, prev - 1));
|
|
@@ -53558,6 +53563,11 @@ function ApprovalInputArea({
|
|
|
53558
53563
|
}
|
|
53559
53564
|
return;
|
|
53560
53565
|
}
|
|
53566
|
+
if (focusedElement === 2) {
|
|
53567
|
+
if (key.name === "y" || key.raw === "Y" || key.name === "a" || key.raw === "A") {
|
|
53568
|
+
return;
|
|
53569
|
+
}
|
|
53570
|
+
}
|
|
53561
53571
|
});
|
|
53562
53572
|
return /* @__PURE__ */ jsxDEV21("box", {
|
|
53563
53573
|
flexDirection: "column",
|
|
@@ -58716,7 +58726,7 @@ function KeybindingProvider({
|
|
|
58716
58726
|
// src/tui/components/operator-dashboard/index.tsx
|
|
58717
58727
|
import {
|
|
58718
58728
|
useState as useState37,
|
|
58719
|
-
useEffect as
|
|
58729
|
+
useEffect as useEffect24,
|
|
58720
58730
|
useRef as useRef18,
|
|
58721
58731
|
useCallback as useCallback18,
|
|
58722
58732
|
useMemo as useMemo23,
|
|
@@ -61960,7 +61970,7 @@ var MessageRenderer = memo3(function MessageRenderer2({
|
|
|
61960
61970
|
}, undefined, false, undefined, this);
|
|
61961
61971
|
});
|
|
61962
61972
|
// src/tui/components/shared/approval-prompt.tsx
|
|
61963
|
-
import { useState as useState32 } from "react";
|
|
61973
|
+
import { useState as useState32, useEffect as useEffect20 } from "react";
|
|
61964
61974
|
import { useKeyboard as useKeyboard21 } from "@opentui/react";
|
|
61965
61975
|
import { jsxDEV as jsxDEV49 } from "@opentui/react/jsx-dev-runtime";
|
|
61966
61976
|
// src/tui/components/shared/message-reducer.ts
|
|
@@ -62039,7 +62049,7 @@ function InlineApprovalPrompt2({ approval }) {
|
|
|
62039
62049
|
}
|
|
62040
62050
|
|
|
62041
62051
|
// src/tui/components/chat/loading-indicator.tsx
|
|
62042
|
-
import { useState as useState33, useEffect as
|
|
62052
|
+
import { useState as useState33, useEffect as useEffect21 } from "react";
|
|
62043
62053
|
import { jsxDEV as jsxDEV51 } from "@opentui/react/jsx-dev-runtime";
|
|
62044
62054
|
var SPINNER_FRAMES2 = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
62045
62055
|
var SPINNER_INTERVAL2 = 80;
|
|
@@ -62053,13 +62063,13 @@ function LoadingIndicator({
|
|
|
62053
62063
|
const { colors: colors2 } = useTheme();
|
|
62054
62064
|
const [spinnerFrame, setSpinnerFrame] = useState33(0);
|
|
62055
62065
|
const [dotsFrame, setDotsFrame] = useState33(0);
|
|
62056
|
-
|
|
62066
|
+
useEffect21(() => {
|
|
62057
62067
|
const interval2 = setInterval(() => {
|
|
62058
62068
|
setSpinnerFrame((f) => (f + 1) % SPINNER_FRAMES2.length);
|
|
62059
62069
|
}, SPINNER_INTERVAL2);
|
|
62060
62070
|
return () => clearInterval(interval2);
|
|
62061
62071
|
}, []);
|
|
62062
|
-
|
|
62072
|
+
useEffect21(() => {
|
|
62063
62073
|
const interval2 = setInterval(() => {
|
|
62064
62074
|
setDotsFrame((f) => (f + 1) % DOTS_FRAMES.length);
|
|
62065
62075
|
}, DOTS_INTERVAL);
|
|
@@ -63593,7 +63603,7 @@ var SubagentStatusBar = memo4(function SubagentStatusBar2({
|
|
|
63593
63603
|
// src/tui/components/operator-dashboard/subagent-dialog.tsx
|
|
63594
63604
|
import {
|
|
63595
63605
|
useState as useState36,
|
|
63596
|
-
useEffect as
|
|
63606
|
+
useEffect as useEffect23,
|
|
63597
63607
|
useMemo as useMemo22,
|
|
63598
63608
|
useRef as useRef17,
|
|
63599
63609
|
useSyncExternalStore
|
|
@@ -63601,7 +63611,7 @@ import {
|
|
|
63601
63611
|
import { useKeyboard as useKeyboard25 } from "@opentui/react";
|
|
63602
63612
|
|
|
63603
63613
|
// src/tui/components/operator-dashboard/subagent-hub.tsx
|
|
63604
|
-
import { useState as useState35, useEffect as
|
|
63614
|
+
import { useState as useState35, useEffect as useEffect22, useRef as useRef16, memo as memo5 } from "react";
|
|
63605
63615
|
import { useKeyboard as useKeyboard23 } from "@opentui/react";
|
|
63606
63616
|
import { jsxDEV as jsxDEV56 } from "@opentui/react/jsx-dev-runtime";
|
|
63607
63617
|
function sortSessions(sessions2) {
|
|
@@ -63740,14 +63750,14 @@ var SubagentHub = memo5(function SubagentHub2({
|
|
|
63740
63750
|
const scrollboxRef = useRef16(null);
|
|
63741
63751
|
const sortedRef = useRef16(sorted);
|
|
63742
63752
|
sortedRef.current = sorted;
|
|
63743
|
-
|
|
63753
|
+
useEffect22(() => {
|
|
63744
63754
|
if (sorted.length === 0) {
|
|
63745
63755
|
setFocusedIndex(0);
|
|
63746
63756
|
} else if (focusedIndex >= sorted.length) {
|
|
63747
63757
|
setFocusedIndex(sorted.length - 1);
|
|
63748
63758
|
}
|
|
63749
63759
|
}, [sorted.length, focusedIndex]);
|
|
63750
|
-
|
|
63760
|
+
useEffect22(() => {
|
|
63751
63761
|
scrollToIndex(scrollboxRef.current, focusedIndex, sortedRef.current, (s) => s.id);
|
|
63752
63762
|
}, [focusedIndex]);
|
|
63753
63763
|
useKeyboard23((key) => {
|
|
@@ -63876,7 +63886,7 @@ function SubagentDialog({ store }) {
|
|
|
63876
63886
|
const viewRef = useRef17(view);
|
|
63877
63887
|
viewRef.current = view;
|
|
63878
63888
|
const sessions2 = useSyncExternalStore(store.subscribe, store.getSnapshot);
|
|
63879
|
-
|
|
63889
|
+
useEffect23(() => {
|
|
63880
63890
|
setSize(view.type === "detail" ? "xlarge" : "large");
|
|
63881
63891
|
}, [view.type, setSize]);
|
|
63882
63892
|
const sorted = useMemo22(() => sortSessions(Array.from(sessions2.values())), [sessions2]);
|
|
@@ -64049,7 +64059,7 @@ function OperatorDashboard({
|
|
|
64049
64059
|
const subagentHelpers = useMemo23(() => createSubagentSessionHelpers(subagentStore.setState), [subagentStore]);
|
|
64050
64060
|
const messageCountAtSubagentDoneRef = useRef18(null);
|
|
64051
64061
|
const hasRunningSubagent = useMemo23(() => Array.from(subagentSessions.values()).some((s) => s.status === "running"), [subagentSessions]);
|
|
64052
|
-
|
|
64062
|
+
useEffect24(() => {
|
|
64053
64063
|
if (subagentSessions.size > 0 && !hasRunningSubagent) {
|
|
64054
64064
|
if (messageCountAtSubagentDoneRef.current === null) {
|
|
64055
64065
|
messageCountAtSubagentDoneRef.current = displayMessagesRef.current.length;
|
|
@@ -64075,7 +64085,7 @@ function OperatorDashboard({
|
|
|
64075
64085
|
const [queuedMessages, setQueuedMessages] = useState37([]);
|
|
64076
64086
|
const [selectedQueueIndex, setSelectedQueueIndex] = useState37(-1);
|
|
64077
64087
|
const queuedMessagesRef = useRef18([]);
|
|
64078
|
-
|
|
64088
|
+
useEffect24(() => {
|
|
64079
64089
|
queuedMessagesRef.current = queuedMessages;
|
|
64080
64090
|
if (queuedMessages.length === 0) {
|
|
64081
64091
|
setSelectedQueueIndex(-1);
|
|
@@ -64102,18 +64112,18 @@ function OperatorDashboard({
|
|
|
64102
64112
|
const [pendingQuestions, setPendingQuestions] = useState37(null);
|
|
64103
64113
|
const pendingToolCallIdRef = useRef18(null);
|
|
64104
64114
|
const operatorModeRef = useRef18(operatorMode);
|
|
64105
|
-
|
|
64115
|
+
useEffect24(() => {
|
|
64106
64116
|
operatorModeRef.current = operatorMode;
|
|
64107
64117
|
}, [operatorMode]);
|
|
64108
64118
|
const approvedPlanRef = useRef18(approvedPlanContent);
|
|
64109
|
-
|
|
64119
|
+
useEffect24(() => {
|
|
64110
64120
|
approvedPlanRef.current = approvedPlanContent;
|
|
64111
64121
|
}, [approvedPlanContent]);
|
|
64112
64122
|
const tokenUsageRef = useRef18(tokenUsage);
|
|
64113
|
-
|
|
64123
|
+
useEffect24(() => {
|
|
64114
64124
|
tokenUsageRef.current = tokenUsage;
|
|
64115
64125
|
}, [tokenUsage]);
|
|
64116
|
-
|
|
64126
|
+
useEffect24(() => {
|
|
64117
64127
|
const gate = approvalGateRef.current;
|
|
64118
64128
|
const onApprovalNeeded = () => {
|
|
64119
64129
|
setPendingApprovals(gate.getPendingApprovals());
|
|
@@ -64135,7 +64145,7 @@ function OperatorDashboard({
|
|
|
64135
64145
|
gate.off("approval-resolved", onApprovalResolved);
|
|
64136
64146
|
};
|
|
64137
64147
|
}, []);
|
|
64138
|
-
|
|
64148
|
+
useEffect24(() => {
|
|
64139
64149
|
async function loadSession() {
|
|
64140
64150
|
try {
|
|
64141
64151
|
if (sessionId) {
|
|
@@ -64210,15 +64220,15 @@ function OperatorDashboard({
|
|
|
64210
64220
|
}
|
|
64211
64221
|
loadSession();
|
|
64212
64222
|
}, [sessionId]);
|
|
64213
|
-
|
|
64223
|
+
useEffect24(() => {
|
|
64214
64224
|
return () => setSessionCwd(null);
|
|
64215
64225
|
}, [setSessionCwd]);
|
|
64216
|
-
|
|
64226
|
+
useEffect24(() => {
|
|
64217
64227
|
if (!loading) {
|
|
64218
64228
|
refocusPrompt();
|
|
64219
64229
|
}
|
|
64220
64230
|
}, [loading, refocusPrompt]);
|
|
64221
|
-
|
|
64231
|
+
useEffect24(() => {
|
|
64222
64232
|
if (!session || !sessionId)
|
|
64223
64233
|
return;
|
|
64224
64234
|
resetTokenUsage();
|
|
@@ -64385,7 +64395,7 @@ function OperatorDashboard({
|
|
|
64385
64395
|
}, 150);
|
|
64386
64396
|
}
|
|
64387
64397
|
}, [flushCommandOutput]);
|
|
64388
|
-
|
|
64398
|
+
useEffect24(() => {
|
|
64389
64399
|
return () => {
|
|
64390
64400
|
if (cmdFlushTimerRef.current) {
|
|
64391
64401
|
clearInterval(cmdFlushTimerRef.current);
|
|
@@ -64914,14 +64924,14 @@ Error: ${errMsg}
|
|
|
64914
64924
|
const initialMessageSentRef = useRef18(false);
|
|
64915
64925
|
const runAgentRef = useRef18(runAgent);
|
|
64916
64926
|
runAgentRef.current = runAgent;
|
|
64917
|
-
|
|
64927
|
+
useEffect24(() => {
|
|
64918
64928
|
if (!loading && initialMessage && !initialMessageSentRef.current) {
|
|
64919
64929
|
initialMessageSentRef.current = true;
|
|
64920
64930
|
runAgentRef.current(initialMessage);
|
|
64921
64931
|
}
|
|
64922
64932
|
}, [loading, initialMessage]);
|
|
64923
64933
|
const initialSkillSentRef = useRef18(false);
|
|
64924
|
-
|
|
64934
|
+
useEffect24(() => {
|
|
64925
64935
|
if (loading || initialSkillSentRef.current)
|
|
64926
64936
|
return;
|
|
64927
64937
|
const routeData = route.data;
|
|
@@ -65009,7 +65019,7 @@ ${content}
|
|
|
65009
65019
|
}
|
|
65010
65020
|
})();
|
|
65011
65021
|
}, [loading, route.data, skillsRegistry]);
|
|
65012
|
-
|
|
65022
|
+
useEffect24(() => {
|
|
65013
65023
|
if (status !== "idle")
|
|
65014
65024
|
return;
|
|
65015
65025
|
const queue = queuedMessagesRef.current;
|
|
@@ -65020,7 +65030,7 @@ ${content}
|
|
|
65020
65030
|
setSelectedQueueIndex(-1);
|
|
65021
65031
|
runAgentRef.current(next);
|
|
65022
65032
|
}, [status]);
|
|
65023
|
-
|
|
65033
|
+
useEffect24(() => {
|
|
65024
65034
|
if (!planApprovedPendingRunRef.current)
|
|
65025
65035
|
return;
|
|
65026
65036
|
if (operatorMode === "plan")
|
|
@@ -65436,7 +65446,7 @@ ${planContent}` : "No plan exists yet. Switch to plan mode (Shift+Tab) to create
|
|
|
65436
65446
|
}
|
|
65437
65447
|
});
|
|
65438
65448
|
const planReviewInjectedRef = useRef18(false);
|
|
65439
|
-
|
|
65449
|
+
useEffect24(() => {
|
|
65440
65450
|
if (!showPlanReview) {
|
|
65441
65451
|
planReviewInjectedRef.current = false;
|
|
65442
65452
|
return;
|
|
@@ -65744,7 +65754,7 @@ function ThemePicker({ onClose }) {
|
|
|
65744
65754
|
}
|
|
65745
65755
|
|
|
65746
65756
|
// src/tui/components/commands/skills-dialog.tsx
|
|
65747
|
-
import { useState as useState39, useMemo as useMemo24, useEffect as
|
|
65757
|
+
import { useState as useState39, useMemo as useMemo24, useEffect as useEffect25, useRef as useRef20 } from "react";
|
|
65748
65758
|
import { useKeyboard as useKeyboard28 } from "@opentui/react";
|
|
65749
65759
|
import { jsxDEV as jsxDEV61 } from "@opentui/react/jsx-dev-runtime";
|
|
65750
65760
|
function estimateTokens(text) {
|
|
@@ -65773,7 +65783,7 @@ function SkillsDialog({
|
|
|
65773
65783
|
return null;
|
|
65774
65784
|
});
|
|
65775
65785
|
const [detailInstructions, setDetailInstructions] = useState39(null);
|
|
65776
|
-
|
|
65786
|
+
useEffect25(() => {
|
|
65777
65787
|
if (!detailSkill) {
|
|
65778
65788
|
setDetailInstructions(null);
|
|
65779
65789
|
return;
|
|
@@ -65844,7 +65854,7 @@ function SkillsDialog({
|
|
|
65844
65854
|
}
|
|
65845
65855
|
});
|
|
65846
65856
|
const safeIndex = Math.max(0, Math.min(selectedIndex, flatList.length - 1));
|
|
65847
|
-
|
|
65857
|
+
useEffect25(() => {
|
|
65848
65858
|
scrollToIndex(scrollboxRef.current, safeIndex, flatList, (skill) => skill.slug);
|
|
65849
65859
|
}, [safeIndex, flatList]);
|
|
65850
65860
|
const syntaxStyle = useMarkdownSyntaxStyle();
|
|
@@ -69083,7 +69093,7 @@ async function detectTerminalMode(timeoutMs = 1000) {
|
|
|
69083
69093
|
}
|
|
69084
69094
|
|
|
69085
69095
|
// src/tui/console-theme.ts
|
|
69086
|
-
import { useEffect as
|
|
69096
|
+
import { useEffect as useEffect26 } from "react";
|
|
69087
69097
|
import { useRenderer as useRenderer4 } from "@opentui/react";
|
|
69088
69098
|
import { RGBA as RGBA25 } from "@opentui/core";
|
|
69089
69099
|
var withAlpha2 = (rgba, a) => RGBA25.fromValues(rgba.r, rgba.g, rgba.b, a);
|
|
@@ -69108,7 +69118,7 @@ function buildConsoleOptions(themeColors) {
|
|
|
69108
69118
|
function ConsoleThemeSync() {
|
|
69109
69119
|
const { colors: colors2 } = useTheme();
|
|
69110
69120
|
const renderer = useRenderer4();
|
|
69111
|
-
|
|
69121
|
+
useEffect26(() => {
|
|
69112
69122
|
overlayThemeRef.current = colors2;
|
|
69113
69123
|
const c = renderer.console;
|
|
69114
69124
|
c.backgroundColor = withAlpha2(colors2.backgroundPanel, 0.85);
|
|
@@ -69195,12 +69205,12 @@ function setupAutoCopy(renderer, copyToClipboard) {
|
|
|
69195
69205
|
}
|
|
69196
69206
|
|
|
69197
69207
|
// src/tui/components/terminal-focus-handler.tsx
|
|
69198
|
-
import { useEffect as
|
|
69208
|
+
import { useEffect as useEffect27 } from "react";
|
|
69199
69209
|
import { useRenderer as useRenderer5 } from "@opentui/react";
|
|
69200
69210
|
function TerminalFocusHandler() {
|
|
69201
69211
|
const { refocusPrompt } = useFocus();
|
|
69202
69212
|
const renderer = useRenderer5();
|
|
69203
|
-
|
|
69213
|
+
useEffect27(() => {
|
|
69204
69214
|
const cleanup = setupTerminalFocusHandling(renderer, {
|
|
69205
69215
|
onTerminalFocus: refocusPrompt,
|
|
69206
69216
|
debug: false
|
|
@@ -69353,21 +69363,21 @@ function AppContent({
|
|
|
69353
69363
|
const { refocusPrompt } = useFocus();
|
|
69354
69364
|
const { setExternalDialogOpen } = useDialog();
|
|
69355
69365
|
const [returnToCredits, setReturnToCredits] = useState40(false);
|
|
69356
|
-
|
|
69366
|
+
useEffect28(() => {
|
|
69357
69367
|
checkForUpdate().then(({ updateAvailable, currentVersion, latestVersion }) => {
|
|
69358
69368
|
if (!updateAvailable)
|
|
69359
69369
|
return;
|
|
69360
69370
|
toast(`Update available: v${currentVersion} → v${latestVersion}. Run: pensar upgrade`, "warn", 8000);
|
|
69361
69371
|
});
|
|
69362
69372
|
const checkAuthToken = async () => {
|
|
69363
|
-
const { isTokenExpired, isConnected: isConnected2 } = await import("./index-
|
|
69373
|
+
const { isTokenExpired, isConnected: isConnected2 } = await import("./index-k41ryzgs.js");
|
|
69364
69374
|
if (isConnected2(config2.data) && config2.data.accessToken && isTokenExpired(config2.data.accessToken, 60) && !config2.data.refreshToken && !config2.data.pensarAPIKey) {
|
|
69365
69375
|
toast("Your Pensar Console session has expired. Run /login to refresh.", "warn", 8000);
|
|
69366
69376
|
}
|
|
69367
69377
|
};
|
|
69368
69378
|
checkAuthToken();
|
|
69369
69379
|
}, []);
|
|
69370
|
-
|
|
69380
|
+
useEffect28(() => {
|
|
69371
69381
|
if (route.data.type !== "base")
|
|
69372
69382
|
return;
|
|
69373
69383
|
if (!config2.data.responsibleUseAccepted && route.data.path !== "disclosure") {
|
|
@@ -69377,7 +69387,7 @@ function AppContent({
|
|
|
69377
69387
|
}
|
|
69378
69388
|
}, [config2.data.responsibleUseAccepted, route.data]);
|
|
69379
69389
|
const anyExternalDialog = showThemeDialog || showModelDialog || showProvidersDialog || showCreditsDialog || showHelpDialog || showAuthDialog || showPentestDialog || showSkillsDialog;
|
|
69380
|
-
|
|
69390
|
+
useEffect28(() => {
|
|
69381
69391
|
if (anyExternalDialog) {
|
|
69382
69392
|
setExternalDialogOpen(true);
|
|
69383
69393
|
} else {
|
|
@@ -69385,7 +69395,7 @@ function AppContent({
|
|
|
69385
69395
|
return () => clearTimeout(timer);
|
|
69386
69396
|
}
|
|
69387
69397
|
}, [anyExternalDialog]);
|
|
69388
|
-
|
|
69398
|
+
useEffect28(() => {
|
|
69389
69399
|
if (showExitWarning) {
|
|
69390
69400
|
const timer = setTimeout(() => {
|
|
69391
69401
|
setShowExitWarning(false);
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
getIssue,
|
|
4
4
|
listIssues,
|
|
5
5
|
updateIssue
|
|
6
|
-
} from "./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
9
|
-
import"./cli-
|
|
6
|
+
} from "./cli-g90c7ajw.js";
|
|
7
|
+
import"./cli-xf5qehnx.js";
|
|
8
|
+
import"./cli-kc8akm2b.js";
|
|
9
|
+
import"./cli-etxprvkj.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-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
5
|
+
} from "./cli-g90c7ajw.js";
|
|
6
|
+
import"./cli-xf5qehnx.js";
|
|
7
|
+
import"./cli-kc8akm2b.js";
|
|
8
|
+
import"./cli-etxprvkj.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-
|
|
3
|
+
} from "./cli-230tpm4a.js";
|
|
4
4
|
import"./cli-tp1tqn3k.js";
|
|
5
|
-
import"./cli-
|
|
5
|
+
import"./cli-629hvmba.js";
|
|
6
6
|
import"./cli-3y0dgy56.js";
|
|
7
|
-
import"./cli-
|
|
7
|
+
import"./cli-rzrxttza.js";
|
|
8
8
|
import"./cli-0ghkg3w6.js";
|
|
9
|
-
import"./cli-
|
|
10
|
-
import"./cli-
|
|
9
|
+
import"./cli-91tyknkx.js";
|
|
10
|
+
import"./cli-xf5qehnx.js";
|
|
11
11
|
import"./cli-gpnb45ck.js";
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-
|
|
12
|
+
import"./cli-kc8akm2b.js";
|
|
13
|
+
import"./cli-etxprvkj.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-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
5
|
+
} from "./cli-ndp0xr8m.js";
|
|
6
|
+
import"./cli-nqynaq47.js";
|
|
7
|
+
import"./cli-114rvgvj.js";
|
|
8
8
|
import"./cli-0fy9j5dw.js";
|
|
9
|
-
import"./cli-
|
|
9
|
+
import"./cli-26tcc4x1.js";
|
|
10
10
|
import"./cli-fw5r7pfj.js";
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
11
|
+
import"./cli-jswt85hp.js";
|
|
12
|
+
import"./cli-230tpm4a.js";
|
|
13
13
|
import"./cli-tp1tqn3k.js";
|
|
14
|
-
import"./cli-
|
|
14
|
+
import"./cli-629hvmba.js";
|
|
15
15
|
import"./cli-3y0dgy56.js";
|
|
16
|
-
import"./cli-
|
|
16
|
+
import"./cli-rzrxttza.js";
|
|
17
17
|
import"./cli-0ghkg3w6.js";
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
18
|
+
import"./cli-91tyknkx.js";
|
|
19
|
+
import"./cli-xf5qehnx.js";
|
|
20
20
|
import"./cli-gpnb45ck.js";
|
|
21
|
-
import"./cli-
|
|
22
|
-
import"./cli-
|
|
21
|
+
import"./cli-kc8akm2b.js";
|
|
22
|
+
import"./cli-etxprvkj.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-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
9
|
-
import"./cli-
|
|
6
|
+
} from "./cli-g90c7ajw.js";
|
|
7
|
+
import"./cli-xf5qehnx.js";
|
|
8
|
+
import"./cli-kc8akm2b.js";
|
|
9
|
+
import"./cli-etxprvkj.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-
|
|
5
|
-
import"./cli-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
4
|
+
} from "./cli-g90c7ajw.js";
|
|
5
|
+
import"./cli-xf5qehnx.js";
|
|
6
|
+
import"./cli-kc8akm2b.js";
|
|
7
|
+
import"./cli-etxprvkj.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-
|
|
4
|
-
import"./cli-
|
|
3
|
+
} from "./cli-114rvgvj.js";
|
|
4
|
+
import"./cli-230tpm4a.js";
|
|
5
5
|
import"./cli-tp1tqn3k.js";
|
|
6
|
-
import"./cli-
|
|
6
|
+
import"./cli-629hvmba.js";
|
|
7
7
|
import"./cli-3y0dgy56.js";
|
|
8
|
-
import"./cli-
|
|
8
|
+
import"./cli-rzrxttza.js";
|
|
9
9
|
import"./cli-0ghkg3w6.js";
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
10
|
+
import"./cli-91tyknkx.js";
|
|
11
|
+
import"./cli-xf5qehnx.js";
|
|
12
12
|
import"./cli-gpnb45ck.js";
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
13
|
+
import"./cli-kc8akm2b.js";
|
|
14
|
+
import"./cli-etxprvkj.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-
|
|
5
|
+
} from "./cli-nhb9w2dk.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-
|
|
12
|
+
} from "./cli-230tpm4a.js";
|
|
13
13
|
import"./cli-tp1tqn3k.js";
|
|
14
|
-
import"./cli-
|
|
14
|
+
import"./cli-629hvmba.js";
|
|
15
15
|
import"./cli-3y0dgy56.js";
|
|
16
16
|
import {
|
|
17
17
|
stepCountIs
|
|
18
|
-
} from "./cli-
|
|
18
|
+
} from "./cli-rzrxttza.js";
|
|
19
19
|
import"./cli-0ghkg3w6.js";
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
20
|
+
import"./cli-91tyknkx.js";
|
|
21
|
+
import"./cli-xf5qehnx.js";
|
|
22
22
|
import"./cli-gpnb45ck.js";
|
|
23
|
-
import"./cli-
|
|
24
|
-
import"./cli-
|
|
23
|
+
import"./cli-kc8akm2b.js";
|
|
24
|
+
import"./cli-etxprvkj.js";
|
|
25
25
|
import"./cli-03z6pswp.js";
|
|
26
26
|
import"./cli-8rxa073f.js";
|
|
27
27
|
|
package/package.json
CHANGED
package/build/agent-63cc9rpx.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CodeAgent
|
|
3
|
-
} from "./cli-zr7sg2m2.js";
|
|
4
|
-
import"./cli-x3k26g1t.js";
|
|
5
|
-
import"./cli-tp1tqn3k.js";
|
|
6
|
-
import"./cli-nqx9y9ds.js";
|
|
7
|
-
import"./cli-3y0dgy56.js";
|
|
8
|
-
import"./cli-rc7hyq7e.js";
|
|
9
|
-
import"./cli-0ghkg3w6.js";
|
|
10
|
-
import"./cli-xtqm11qt.js";
|
|
11
|
-
import"./cli-q2dty8g4.js";
|
|
12
|
-
import"./cli-gpnb45ck.js";
|
|
13
|
-
import"./cli-40ef01tb.js";
|
|
14
|
-
import"./cli-r879p2yz.js";
|
|
15
|
-
import"./cli-03z6pswp.js";
|
|
16
|
-
import"./cli-8rxa073f.js";
|
|
17
|
-
export {
|
|
18
|
-
CodeAgent
|
|
19
|
-
};
|