@pensar/apex 2.6.1 → 2.7.0-canary.6d9d1e0d
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-davhjnxc.js +13 -0
- package/build/{agent-yby11zaq.js → agent-gk4vmr2h.js} +6 -6
- package/build/agent-mqqd38dq.js +13 -0
- package/build/{agent-runs-g37vkrjr.js → agent-runs-12pmj6vc.js} +16 -16
- package/build/{agent-ayreaj6z.js → agent-xtn1masf.js} +5 -5
- package/build/{apps-xn6km9yn.js → apps-yjyvn8vk.js} +13 -13
- package/build/{auth-d105wc64.js → auth-xzp4f1bh.js} +13 -13
- package/build/{blackboxAgent-s56sgx9b.js → blackboxAgent-ettjqj45.js} +6 -6
- package/build/{blackboxPentest-ps78v3w7.js → blackboxPentest-kf0pbhp5.js} +11 -11
- package/build/{cli-c05y640n.js → cli-0cwdrrq7.js} +1 -1
- package/build/{cli-fy6vh2a7.js → cli-0ry9v2cb.js} +1 -1
- package/build/{cli-7eea4e2y.js → cli-4mar7kvr.js} +6 -6
- package/build/{cli-k2nwxta0.js → cli-5gaxk6hd.js} +2 -2
- package/build/{cli-d37a42dc.js → cli-8hxrn15h.js} +8 -8
- package/build/{cli-az3xq70v.js → cli-arxx5hbs.js} +1 -1
- package/build/{cli-n2en7j5b.js → cli-ge8q6nxr.js} +1 -1
- package/build/{cli-1ve18npr.js → cli-gr4az5sf.js} +1 -1
- package/build/{cli-709rvekb.js → cli-h5wkaqwe.js} +1 -1
- package/build/{cli-65g6rcat.js → cli-hprqe9j2.js} +1 -1
- package/build/{cli-kb21qhvm.js → cli-m5ryqeav.js} +2 -2
- package/build/{cli-xtc2t6me.js → cli-metec8r8.js} +3 -3
- package/build/{cli-dpsw2fe6.js → cli-nj73990n.js} +353 -185
- package/build/{cli-ae8jqxqr.js → cli-pchzt5f7.js} +2 -2
- package/build/{cli-3sp6nd8d.js → cli-t3m0e9t2.js} +2 -2
- package/build/{cli-qgz1q9g5.js → cli-tfaqp0ty.js} +105 -36
- package/build/{cli-gx71jcke.js → cli-xpspbhqs.js} +1 -1
- package/build/{cli-ngq9dr8n.js → cli-zmeb85er.js} +3 -3
- package/build/cli.js +37 -37
- package/build/{config-zpqkd5cz.js → config-n03g5jad.js} +1 -1
- package/build/{fastStrike-mcjdvwez.js → fastStrike-9mys4r1b.js} +5 -5
- package/build/{fixes-kytx5dmj.js → fixes-tcd29w2t.js} +13 -13
- package/build/{index-je6hcsqr.js → index-3n19dh6s.js} +1 -1
- package/build/{index-wqetp6gq.js → index-42dnvkns.js} +5 -5
- package/build/{index-fv64eb32.js → index-6ptkm3fe.js} +2 -2
- package/build/{index-qv4cc65p.js → index-93br69mn.js} +13 -13
- package/build/{index-4vqdgb42.js → index-hh9bqe4y.js} +1236 -1195
- package/build/{index-dr3tg1w3.js → index-k1pvqjaq.js} +1 -1
- package/build/{index-r9yjkfrv.js → index-mmmx59w3.js} +4 -4
- package/build/{index-n65z6v7b.js → index-msb8ht2s.js} +6 -6
- package/build/{index-ns4m4s01.js → index-qtpprc5a.js} +4 -4
- package/build/{issues-eb3q9d3a.js → issues-d0e1tzda.js} +13 -13
- package/build/{knowledge-fqsvtx0f.js → knowledge-vgvrzey3.js} +13 -13
- package/build/lib/{chunk-1azdancq.js → chunk-0ec46jyd.js} +1 -1
- package/build/lib/{chunk-9yksqgzr.js → chunk-29bvrw6m.js} +11 -11
- package/build/lib/{chunk-z137x08b.js → chunk-3ac8kcj9.js} +5 -5
- package/build/lib/{chunk-bb0ekhkw.js → chunk-3g3ksmsv.js} +8 -8
- package/build/lib/{chunk-9tt2021m.js → chunk-45nvxhrc.js} +9 -9
- package/build/lib/{chunk-w66ce82a.js → chunk-66t5k77r.js} +1 -1
- package/build/lib/{chunk-r4j8ybn9.js → chunk-74ddy2e7.js} +37 -20
- package/build/lib/{chunk-4hwzqthr.js → chunk-851r7zp8.js} +1 -1
- package/build/lib/{chunk-1fy8azee.js → chunk-8m15nv6s.js} +1 -1
- package/build/lib/{chunk-7pwa92rn.js → chunk-9etzp9n2.js} +1 -1
- package/build/lib/{chunk-xhdpgpkm.js → chunk-acfewabw.js} +2 -2
- package/build/lib/{chunk-ba41jh41.js → chunk-bdbd8d8q.js} +297 -127
- package/build/lib/{chunk-z96pbjhd.js → chunk-c6gj39ew.js} +1 -1
- package/build/lib/{chunk-yrnrbjes.js → chunk-fytt5jz7.js} +1 -1
- package/build/lib/{chunk-3c00n0cy.js → chunk-gv1p302b.js} +3 -3
- package/build/lib/{chunk-1yct6cra.js → chunk-j1ftnbgr.js} +1 -1
- package/build/lib/{chunk-nhfax4gb.js → chunk-mepzy07f.js} +1 -1
- package/build/lib/{chunk-e8yy2k73.js → chunk-mqcwxrnh.js} +1 -1
- package/build/lib/{chunk-v3dk9j7k.js → chunk-n3kr09mb.js} +11 -11
- package/build/lib/{chunk-acgbyf5h.js → chunk-pd487tpr.js} +1 -1
- package/build/lib/{chunk-1jvwqnem.js → chunk-rchnq1ez.js} +3 -3
- package/build/lib/{chunk-2qsq76xq.js → chunk-wa0q3smh.js} +62 -10
- package/build/lib/{chunk-mg03jdmt.js → chunk-xw8d7pv7.js} +1 -1
- package/build/lib/{chunk-r2dkp4tb.js → chunk-y9m8yw7k.js} +1 -1
- package/build/lib/core/agents/offSecAgent/index.js +7 -7
- package/build/lib/core/agents/offSecAgent/subagentSpawner.js +5 -5
- package/build/lib/core/agents/offSecAgent/tools/index.js +4 -4
- package/build/lib/core/agents/offSecAgent/tools/listMemories.d.ts +11 -1
- package/build/lib/core/agents/specialized/attackSurface/blackboxAgent.js +9 -9
- package/build/lib/core/agents/specialized/attackSurface/schemas.js +9 -9
- package/build/lib/core/agents/specialized/authenticationAgent/index.js +10 -10
- package/build/lib/core/agents/specialized/codeAgent/agent.js +9 -9
- package/build/lib/core/agents/specialized/findingJudge/agent.js +8 -8
- package/build/lib/core/agents/specialized/findingJudge/index.js +3 -3
- package/build/lib/core/agents/specialized/patching/index.js +10 -10
- package/build/lib/core/agents/specialized/pentest/agent.js +9 -9
- package/build/lib/core/agents/specialized/whiteboxAttackSurface/index.js +9 -9
- package/build/lib/core/ai/ai.d.ts +23 -6
- package/build/lib/core/ai/ai.js +2 -2
- package/build/lib/core/ai/index.js +2 -2
- package/build/lib/core/ai/models/claude-capabilities.d.ts +3 -2
- package/build/lib/core/ai/models/index.d.ts +1 -1
- package/build/lib/core/ai/utils.d.ts +2 -0
- package/build/lib/core/ai/utils.js +4 -2
- package/build/lib/core/api/index.js +19 -19
- package/build/lib/core/api/targetedPentest.js +10 -10
- package/build/lib/core/config/index.js +1 -1
- package/build/lib/core/findings/registry.js +3 -3
- package/build/lib/core/session/index.js +2 -2
- package/build/lib/core/session/persistence.js +3 -3
- package/build/lib/core/workflows/pentest.js +15 -15
- package/build/lib/core/workflows/seams.js +4 -4
- package/build/lib/core/workflows/whiteboxAttackSurface.js +11 -11
- package/build/lib/index.js +22 -22
- package/build/{logs-x62b7hk1.js → logs-mvrvrkfa.js} +13 -13
- package/build/{native-rollout-evidence-c9yhfqcs.js → native-rollout-evidence-h2za8fyf.js} +3 -3
- package/build/{offesecAgent-5whnpeta.js → offesecAgent-r4hz607z.js} +4 -4
- package/build/pentest-52s2dn28.js +22 -0
- package/build/{pentests-e0f32aqx.js → pentests-yvt9wvxd.js} +13 -13
- package/build/recordedRunClient-6z78az3b.js +11 -0
- package/build/{targetedPentest-rcbs4nvp.js → targetedPentest-6aeg3nxd.js} +6 -6
- package/build/{targets-xj9g3q0z.js → targets-a38xnsgm.js} +13 -13
- package/build/threatModel-1gsb7ytk.js +21 -0
- package/build/{uninstall-7s784q4a.js → uninstall-kt485ay4.js} +1 -1
- package/build/{upload-4gvhwmvr.js → upload-ahw3are7.js} +4 -4
- package/build/{utils-cjrz64pc.js → utils-yqdepzr3.js} +3 -3
- package/package.json +1 -1
- package/src/core/agents/offSecAgent/offensiveSecurityAgent.test.ts +92 -5
- package/src/core/agents/offSecAgent/offensiveSecurityAgent.ts +49 -28
- package/src/core/agents/offSecAgent/tools/listMemories.test.ts +230 -0
- package/src/core/agents/offSecAgent/tools/listMemories.ts +73 -6
- package/src/core/ai/ai.operator-context.bench.test.ts +1408 -0
- package/src/core/ai/ai.recorded-context.test.ts +74 -0
- package/src/core/ai/ai.test.ts +54 -0
- package/src/core/ai/ai.ts +299 -80
- package/src/core/ai/compactionTelemetry.test.ts +2 -2
- package/src/core/ai/models/anthropic.ts +6 -0
- package/src/core/ai/models/bedrock.ts +18 -0
- package/src/core/ai/models/claude-capabilities.ts +29 -8
- package/src/core/ai/models/index.ts +4 -1
- package/src/core/ai/models/models.test.ts +23 -0
- package/src/core/ai/models/openrouter.ts +6 -0
- package/src/core/ai/providers/anthropic-models.test.ts +60 -1
- package/src/core/ai/providers/bedrock-models.test.ts +81 -0
- package/src/core/ai/providers/gateway-models.test.ts +16 -6
- package/src/core/ai/utils.native-rollout-evidence.test.ts +1 -0
- package/src/core/ai/utils.ts +189 -143
- package/src/core/observability/telemetry.test.ts +2 -3
- package/src/tui/components/chat/loading-indicator.tsx +20 -4
- package/src/tui/components/chat/message-list.tsx +1 -0
- package/src/tui/components/operator-dashboard/run-events.test.ts +3 -1
- package/src/tui/components/shared/__tests__/tool-renderer-lifecycle.tsx +18 -0
- package/src/tui/components/shared/action-label.test.ts +9 -0
- package/src/tui/components/shared/compacting-icon.tsx +18 -0
- package/src/tui/components/shared/index.ts +1 -0
- package/src/tui/components/shared/tool-registry.ts +1 -0
- package/src/tui/components/shared/tool-renderer.tsx +21 -7
- package/build/agent-6w7egcf1.js +0 -13
- package/build/agent-9zx75feh.js +0 -13
- package/build/pentest-e61hc38s.js +0 -22
- package/build/recordedRunClient-dp032c32.js +0 -11
- package/build/threatModel-jkxfa40s.js +0 -21
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
openSqliteRunStore,
|
|
5
5
|
resolveWorkerEndpoint,
|
|
6
6
|
workerRequest
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-4mar7kvr.js";
|
|
8
8
|
import {
|
|
9
9
|
launchLocalWorker
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-xpspbhqs.js";
|
|
11
11
|
|
|
12
12
|
// src/core/runtime/recordedRunClient.ts
|
|
13
13
|
import { setTimeout as delay } from "node:timers/promises";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
AgentRuntime,
|
|
10
10
|
defineAgent
|
|
11
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-gr4az5sf.js";
|
|
12
12
|
import {
|
|
13
13
|
hasToolCall,
|
|
14
14
|
init_dist,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
init_lazyLogger,
|
|
17
17
|
createLogger,
|
|
18
18
|
init_structured
|
|
19
|
-
} from "./cli-
|
|
19
|
+
} from "./cli-nj73990n.js";
|
|
20
20
|
|
|
21
21
|
// src/core/agents/specialized/authenticationAgent/agent.ts
|
|
22
22
|
init_dist();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
config2,
|
|
3
3
|
init_config
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-0ry9v2cb.js";
|
|
5
5
|
import {
|
|
6
6
|
getPensarApiUrl2,
|
|
7
7
|
init_constants,
|
|
8
8
|
ensureValidToken2,
|
|
9
9
|
signGatewayRequest2,
|
|
10
10
|
init_auth
|
|
11
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-0cwdrrq7.js";
|
|
12
12
|
import {
|
|
13
13
|
parseTargetUrl
|
|
14
14
|
} from "./cli-0wsh8j2t.js";
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
normalizeStepUsage,
|
|
43
43
|
streamResponse,
|
|
44
44
|
generateObjectResponse
|
|
45
|
-
} from "./cli-
|
|
45
|
+
} from "./cli-nj73990n.js";
|
|
46
46
|
import {
|
|
47
47
|
init_v4,
|
|
48
48
|
tool
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
import {
|
|
83
83
|
getCurrentVersion,
|
|
84
84
|
init_installation
|
|
85
|
-
} from "./cli-
|
|
85
|
+
} from "./cli-hprqe9j2.js";
|
|
86
86
|
import {
|
|
87
87
|
require_src6
|
|
88
88
|
} from "./cli-bb02pjt0.js";
|
|
@@ -112618,7 +112618,7 @@ function resolveItemHooks(hooks, seams, item, index) {
|
|
|
112618
112618
|
|
|
112619
112619
|
// src/core/agents/offSecAgent/subagentSpawner.ts
|
|
112620
112620
|
async function runSpawnedPentestWorker(spec, input) {
|
|
112621
|
-
const { TargetedPentestAgent } = await import("./agent-
|
|
112621
|
+
const { TargetedPentestAgent } = await import("./agent-gk4vmr2h.js");
|
|
112622
112622
|
const hooks = resolveItemHooks(input.hooks, input.seams, spec, 0);
|
|
112623
112623
|
const agent = new TargetedPentestAgent({
|
|
112624
112624
|
target: spec.target,
|
|
@@ -112695,7 +112695,7 @@ var runPentestChild = async (spec, ctx) => {
|
|
|
112695
112695
|
};
|
|
112696
112696
|
};
|
|
112697
112697
|
var runCodeChild = async (spec, ctx) => {
|
|
112698
|
-
const { CodeAgent } = await import("./agent-
|
|
112698
|
+
const { CodeAgent } = await import("./agent-mqqd38dq.js");
|
|
112699
112699
|
const agent = new CodeAgent({
|
|
112700
112700
|
codebasePath: spec.codebasePath,
|
|
112701
112701
|
objective: spec.objective,
|
|
@@ -112727,7 +112727,7 @@ var runCodeChild = async (spec, ctx) => {
|
|
|
112727
112727
|
return { run: () => agent.consume(), drained: () => agent.drained };
|
|
112728
112728
|
};
|
|
112729
112729
|
var runWhiteboxChild = async (spec, ctx) => {
|
|
112730
|
-
const { WhiteboxAttackSurfaceAgent } = await import("./index-
|
|
112730
|
+
const { WhiteboxAttackSurfaceAgent } = await import("./index-msb8ht2s.js");
|
|
112731
112731
|
const agent = new WhiteboxAttackSurfaceAgent({
|
|
112732
112732
|
codebasePath: spec.codebasePath,
|
|
112733
112733
|
attackSurfaceRegistry: spec.attackSurfaceRegistry,
|
|
@@ -112747,7 +112747,7 @@ var runWhiteboxChild = async (spec, ctx) => {
|
|
|
112747
112747
|
return { run: () => agent.consume(), drained: () => agent.drained };
|
|
112748
112748
|
};
|
|
112749
112749
|
var runBlackboxChild = async (spec, ctx) => {
|
|
112750
|
-
const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-
|
|
112750
|
+
const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-ettjqj45.js");
|
|
112751
112751
|
const agent = new BlackboxAttackSurfaceAgent({
|
|
112752
112752
|
target: spec.target,
|
|
112753
112753
|
attackSurfaceRegistry: spec.attackSurfaceRegistry,
|
|
@@ -112766,7 +112766,7 @@ var runBlackboxChild = async (spec, ctx) => {
|
|
|
112766
112766
|
return { run: () => agent.consume(), drained: () => agent.drained };
|
|
112767
112767
|
};
|
|
112768
112768
|
var runAuthChild = async (spec, ctx) => {
|
|
112769
|
-
const { runAuthenticationAgent } = await import("./agent-
|
|
112769
|
+
const { runAuthenticationAgent } = await import("./agent-davhjnxc.js");
|
|
112770
112770
|
return {
|
|
112771
112771
|
run: () => runAuthenticationAgent({
|
|
112772
112772
|
target: spec.target,
|
|
@@ -112788,7 +112788,7 @@ var runAuthChild = async (spec, ctx) => {
|
|
|
112788
112788
|
};
|
|
112789
112789
|
};
|
|
112790
112790
|
var runJudgeChild = async (spec, ctx) => {
|
|
112791
|
-
const { judgeFinding } = await import("./index-
|
|
112791
|
+
const { judgeFinding } = await import("./index-qtpprc5a.js");
|
|
112792
112792
|
return {
|
|
112793
112793
|
run: () => judgeFinding(spec.judgeInput, {
|
|
112794
112794
|
model: ctx.model,
|
|
@@ -124836,34 +124836,86 @@ Each directory entry is suffixed with "/" for easy identification.`,
|
|
|
124836
124836
|
// src/core/agents/offSecAgent/tools/listMemories.ts
|
|
124837
124837
|
init_dist();
|
|
124838
124838
|
init_zod();
|
|
124839
|
+
var PAGE_SIZE = 20;
|
|
124840
|
+
var PAGE_CHAR_BUDGET = 12000;
|
|
124839
124841
|
var listMemoriesInputSchema = object({
|
|
124840
124842
|
category: _enum(MEMORY_CATEGORIES).optional().describe('Filter by category: "app", "framework", or "general". ' + "Omit to list memories across all categories."),
|
|
124841
124843
|
tag: string().optional().describe("Optional tag to filter memories by (exact match)"),
|
|
124844
|
+
cursor: object({
|
|
124845
|
+
createdAt: string(),
|
|
124846
|
+
category: _enum(MEMORY_CATEGORIES),
|
|
124847
|
+
id: string()
|
|
124848
|
+
}).optional().describe("Pass the previous nextCursor to continue a listing"),
|
|
124842
124849
|
toolCallDescription: string().describe("A concise, human-readable description of what this tool call is doing (e.g., 'Listing stored recon notes')")
|
|
124843
124850
|
});
|
|
124851
|
+
function compareMemories(a, b) {
|
|
124852
|
+
const byCreatedAt = Date.parse(b.createdAt) - Date.parse(a.createdAt);
|
|
124853
|
+
if (byCreatedAt > 0 || byCreatedAt < 0)
|
|
124854
|
+
return byCreatedAt;
|
|
124855
|
+
return a.category.localeCompare(b.category) || a.id.localeCompare(b.id);
|
|
124856
|
+
}
|
|
124857
|
+
function previewSummary(memory) {
|
|
124858
|
+
const title = memory.title.slice(0, 160);
|
|
124859
|
+
const tags = memory.tags.slice(0, 8).map((tag) => tag.slice(0, 48));
|
|
124860
|
+
const truncated = title.length < memory.title.length || tags.length < memory.tags.length || tags.some((tag, index) => tag.length < (memory.tags[index]?.length ?? tag.length));
|
|
124861
|
+
return {
|
|
124862
|
+
id: memory.id,
|
|
124863
|
+
category: memory.category,
|
|
124864
|
+
title,
|
|
124865
|
+
tags,
|
|
124866
|
+
createdAt: memory.createdAt,
|
|
124867
|
+
...truncated ? { truncated: true } : {}
|
|
124868
|
+
};
|
|
124869
|
+
}
|
|
124844
124870
|
function listMemories2(ctx) {
|
|
124845
124871
|
return tool({
|
|
124846
124872
|
description: `List saved memories, optionally filtered by category and/or tag.
|
|
124847
124873
|
|
|
124848
|
-
Returns lightweight summaries (id, category, title, tags, createdAt)
|
|
124849
|
-
most recent first. Use
|
|
124850
|
-
|
|
124874
|
+
Returns up to 20 lightweight summaries (id, category, title, tags, createdAt)
|
|
124875
|
+
sorted by most recent first. Use nextCursor to continue until it is null;
|
|
124876
|
+
count is the current total matching memories. A fresh listing includes newer
|
|
124877
|
+
memories added ahead of a cursor. Titles and tags may be abbreviated in the
|
|
124878
|
+
listing. Use category + id with get_memory to retrieve full content.`,
|
|
124851
124879
|
inputSchema: listMemoriesInputSchema,
|
|
124852
|
-
execute: async ({ category, tag }, { toolCallId }) => {
|
|
124880
|
+
execute: async ({ category, tag, cursor }, { toolCallId }) => {
|
|
124853
124881
|
try {
|
|
124854
124882
|
const memories = await listMemories({ category, tag }, { sessionId: ctx.session.id, toolCallId });
|
|
124883
|
+
const ordered = [...memories].sort(compareMemories);
|
|
124884
|
+
let start = 0;
|
|
124885
|
+
if (cursor) {
|
|
124886
|
+
start = ordered.findIndex((memory) => compareMemories(memory, cursor) > 0);
|
|
124887
|
+
if (start < 0)
|
|
124888
|
+
start = ordered.length;
|
|
124889
|
+
}
|
|
124890
|
+
const page = [];
|
|
124891
|
+
let pageChars = 0;
|
|
124892
|
+
for (const memory of ordered.slice(start, start + PAGE_SIZE)) {
|
|
124893
|
+
const summary = previewSummary(memory);
|
|
124894
|
+
const chars = JSON.stringify(summary).length + 1;
|
|
124895
|
+
if (page.length > 0 && pageChars + chars > PAGE_CHAR_BUDGET)
|
|
124896
|
+
break;
|
|
124897
|
+
page.push(summary);
|
|
124898
|
+
pageChars += chars;
|
|
124899
|
+
}
|
|
124900
|
+
const last = page.at(-1);
|
|
124855
124901
|
return {
|
|
124856
124902
|
success: true,
|
|
124857
124903
|
error: "",
|
|
124858
|
-
memories,
|
|
124859
|
-
count: memories.length
|
|
124904
|
+
memories: page,
|
|
124905
|
+
count: memories.length,
|
|
124906
|
+
nextCursor: start + page.length < ordered.length && last ? {
|
|
124907
|
+
createdAt: last.createdAt,
|
|
124908
|
+
category: last.category,
|
|
124909
|
+
id: last.id
|
|
124910
|
+
} : null
|
|
124860
124911
|
};
|
|
124861
124912
|
} catch (err) {
|
|
124862
124913
|
return {
|
|
124863
124914
|
success: false,
|
|
124864
124915
|
error: err instanceof Error ? err.message : String(err),
|
|
124865
124916
|
memories: [],
|
|
124866
|
-
count: 0
|
|
124917
|
+
count: 0,
|
|
124918
|
+
nextCursor: null
|
|
124867
124919
|
};
|
|
124868
124920
|
}
|
|
124869
124921
|
}
|
|
@@ -125868,7 +125920,7 @@ Omit \`cwd\` for blackbox mode (live target probing only).`,
|
|
|
125868
125920
|
toolCallDescription: string().describe("A concise, human-readable description of what this tool call is doing")
|
|
125869
125921
|
}),
|
|
125870
125922
|
execute: async ({ target, cwd }) => {
|
|
125871
|
-
const { runPentestWorkflow: workflow } = await import("./pentest-
|
|
125923
|
+
const { runPentestWorkflow: workflow } = await import("./pentest-52s2dn28.js");
|
|
125872
125924
|
if (!ctx.model) {
|
|
125873
125925
|
return {
|
|
125874
125926
|
success: false,
|
|
@@ -126453,7 +126505,7 @@ Pass every target you want tested — the swarm handles concurrency automaticall
|
|
|
126453
126505
|
toolCallDescription: string().describe("A concise, human-readable description of what this tool call is doing")
|
|
126454
126506
|
}),
|
|
126455
126507
|
execute: async ({ targets }) => {
|
|
126456
|
-
const { runPentestSwarm, DEFAULT_CONCURRENCY } = await import("./pentest-
|
|
126508
|
+
const { runPentestSwarm, DEFAULT_CONCURRENCY } = await import("./pentest-52s2dn28.js");
|
|
126457
126509
|
if (!ctx.model) {
|
|
126458
126510
|
return {
|
|
126459
126511
|
success: false,
|
|
@@ -128803,13 +128855,27 @@ class OffensiveSecurityAgent {
|
|
|
128803
128855
|
mkdirSync10(messagesDir, { recursive: true });
|
|
128804
128856
|
}
|
|
128805
128857
|
this.messagesPath = join28(messagesDir, "messages.json");
|
|
128806
|
-
const
|
|
128807
|
-
current:
|
|
128808
|
-
|
|
128809
|
-
|
|
128810
|
-
|
|
128811
|
-
|
|
128812
|
-
|
|
128858
|
+
const preparedContextRef = {
|
|
128859
|
+
current: {
|
|
128860
|
+
messages: input.messages ? [...input.messages] : [
|
|
128861
|
+
{
|
|
128862
|
+
role: "user",
|
|
128863
|
+
content: [{ type: "text", text: input.prompt }]
|
|
128864
|
+
}
|
|
128865
|
+
],
|
|
128866
|
+
responseMessageOffset: 0
|
|
128867
|
+
}
|
|
128868
|
+
};
|
|
128869
|
+
const legacyMessages = (responseMessages) => [
|
|
128870
|
+
...preparedContextRef.current.messages,
|
|
128871
|
+
...responseMessages.slice(preparedContextRef.current.responseMessageOffset)
|
|
128872
|
+
];
|
|
128873
|
+
const persistedMessages = (messages) => {
|
|
128874
|
+
let first = 0;
|
|
128875
|
+
while (messages[first]?.role === "system" && messages[first]?.providerOptions) {
|
|
128876
|
+
first++;
|
|
128877
|
+
}
|
|
128878
|
+
return first === 0 ? messages : messages.slice(first);
|
|
128813
128879
|
};
|
|
128814
128880
|
this.writer = new AgentMessageWriter({ messagesPath: this.messagesPath });
|
|
128815
128881
|
this.finalizeInterruptedStep = createInterruptedStepFinalizer({
|
|
@@ -128863,6 +128929,12 @@ class OffensiveSecurityAgent {
|
|
|
128863
128929
|
usageRecorder: input.usageRecorder,
|
|
128864
128930
|
contextRecorder: input.contextRecorder,
|
|
128865
128931
|
inferenceRecorder: input.inferenceRecorder,
|
|
128932
|
+
onContextPrepared: (context) => {
|
|
128933
|
+
preparedContextRef.current = {
|
|
128934
|
+
messages: [...context.messages],
|
|
128935
|
+
responseMessageOffset: context.responseMessageOffset
|
|
128936
|
+
};
|
|
128937
|
+
},
|
|
128866
128938
|
sessionPath: messagesDir,
|
|
128867
128939
|
sessionId: this.busSessionId,
|
|
128868
128940
|
onStepFinish: async (event) => {
|
|
@@ -128873,11 +128945,8 @@ class OffensiveSecurityAgent {
|
|
|
128873
128945
|
await input.onStepFinish?.(event);
|
|
128874
128946
|
return;
|
|
128875
128947
|
}
|
|
128876
|
-
const canonical = input.contextRecorder?.latest() ??
|
|
128877
|
-
|
|
128878
|
-
...event.response.messages
|
|
128879
|
-
];
|
|
128880
|
-
this.writer.setLatest(canonical);
|
|
128948
|
+
const canonical = input.contextRecorder?.latest() ?? legacyMessages(event.response.messages);
|
|
128949
|
+
this.writer.setLatest(persistedMessages(canonical));
|
|
128881
128950
|
schedulePersist();
|
|
128882
128951
|
traceWriter.recordStep(event.response.messages, stepUsage);
|
|
128883
128952
|
this.eventBus.emit("step-finish", {
|
|
@@ -128890,16 +128959,16 @@ class OffensiveSecurityAgent {
|
|
|
128890
128959
|
await input.onStepFinish?.(event);
|
|
128891
128960
|
},
|
|
128892
128961
|
onSummarized: () => {
|
|
128893
|
-
|
|
128962
|
+
preparedContextRef.current = {
|
|
128963
|
+
messages: [],
|
|
128964
|
+
responseMessageOffset: 0
|
|
128965
|
+
};
|
|
128894
128966
|
traceWriter.markSummarized();
|
|
128895
128967
|
},
|
|
128896
128968
|
onFinish: async (event) => {
|
|
128897
128969
|
this.writer.cancelTimer();
|
|
128898
128970
|
if (!this.writer.syntheticsPersisted) {
|
|
128899
|
-
const finalMessages = input.contextRecorder?.latest() ?? this.writer.latest ??
|
|
128900
|
-
...initialMessagesRef.current,
|
|
128901
|
-
...event.response.messages
|
|
128902
|
-
];
|
|
128971
|
+
const finalMessages = persistedMessages(input.contextRecorder?.latest() ?? this.writer.latest ?? legacyMessages(event.response.messages));
|
|
128903
128972
|
this.writer.setLatest(finalMessages);
|
|
128904
128973
|
await this.writer.enqueueWrite(finalMessages).catch(() => {});
|
|
128905
128974
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EndpointTransportEnum,
|
|
3
3
|
GrpcEndpointMetadataSchema
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-tfaqp0ty.js";
|
|
5
5
|
import {
|
|
6
6
|
AgentRuntime,
|
|
7
7
|
defineAgent
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-gr4az5sf.js";
|
|
9
9
|
import {
|
|
10
10
|
stepCountIs2,
|
|
11
11
|
init_dist
|
|
12
|
-
} from "./cli-
|
|
12
|
+
} from "./cli-nj73990n.js";
|
|
13
13
|
import {
|
|
14
14
|
tool
|
|
15
15
|
} from "./cli-pwm29ks7.js";
|
package/build/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
import"./cli-
|
|
4
|
-
import"./cli-
|
|
3
|
+
import"./cli-0ry9v2cb.js";
|
|
4
|
+
import"./cli-0cwdrrq7.js";
|
|
5
5
|
import {
|
|
6
6
|
require_src,
|
|
7
7
|
require_src2,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
logger,
|
|
28
28
|
init_structured,
|
|
29
29
|
init_ai2
|
|
30
|
-
} from "./cli-
|
|
30
|
+
} from "./cli-nj73990n.js";
|
|
31
31
|
import {
|
|
32
32
|
init_inference_attempt,
|
|
33
33
|
init_native_rollout_evidence
|
|
@@ -40,13 +40,13 @@ import {
|
|
|
40
40
|
init_customProviders,
|
|
41
41
|
resolveHoonifyModel,
|
|
42
42
|
init_hoonify
|
|
43
|
-
} from "./cli-
|
|
43
|
+
} from "./cli-h5wkaqwe.js";
|
|
44
44
|
import {
|
|
45
45
|
init_package,
|
|
46
46
|
version,
|
|
47
47
|
package_default,
|
|
48
48
|
init_installation
|
|
49
|
-
} from "./cli-
|
|
49
|
+
} from "./cli-hprqe9j2.js";
|
|
50
50
|
import {
|
|
51
51
|
require_src6
|
|
52
52
|
} from "./cli-bb02pjt0.js";
|
|
@@ -725,7 +725,7 @@ var package_default2 = {
|
|
|
725
725
|
tsc: "tsc --noEmit"
|
|
726
726
|
},
|
|
727
727
|
type: "module",
|
|
728
|
-
version: "2.
|
|
728
|
+
version: "2.7.0-canary.6d9d1e0d"
|
|
729
729
|
};
|
|
730
730
|
|
|
731
731
|
// src/core/ai/index.ts
|
|
@@ -1584,7 +1584,7 @@ async function createInstrumentedBus(session, model) {
|
|
|
1584
1584
|
reportHerdrState("working");
|
|
1585
1585
|
const bus = new AgentEventBus;
|
|
1586
1586
|
attachCliAgentStreamListeners(bus);
|
|
1587
|
-
const { attachWandbToEventBus } = await import("./upload-
|
|
1587
|
+
const { attachWandbToEventBus } = await import("./upload-ahw3are7.js");
|
|
1588
1588
|
const wandbCleanup = await attachWandbToEventBus(session, bus).catch((e) => {
|
|
1589
1589
|
console.warn("[wandb] Tracing disabled:", e.message);
|
|
1590
1590
|
return null;
|
|
@@ -1604,7 +1604,7 @@ async function resolveCliHeaders() {
|
|
|
1604
1604
|
const { parseHeaderLine, parseHeadersFromFile, formatParseError } = await import("./parse-cqecqrc5.js");
|
|
1605
1605
|
const merged = {};
|
|
1606
1606
|
if (!noGlobal) {
|
|
1607
|
-
const { config: appConfig } = await import("./index-
|
|
1607
|
+
const { config: appConfig } = await import("./index-3n19dh6s.js");
|
|
1608
1608
|
const cfg = await appConfig.get();
|
|
1609
1609
|
if (cfg.defaultHeaders) {
|
|
1610
1610
|
Object.assign(merged, cfg.defaultHeaders);
|
|
@@ -1635,8 +1635,8 @@ ${formatParseError(parsed.error)}`);
|
|
|
1635
1635
|
return merged;
|
|
1636
1636
|
}
|
|
1637
1637
|
async function resolveCliModel() {
|
|
1638
|
-
const { config: appConfig } = await import("./index-
|
|
1639
|
-
const { getDefaultModelForConfig } = await import("./utils-
|
|
1638
|
+
const { config: appConfig } = await import("./index-3n19dh6s.js");
|
|
1639
|
+
const { getDefaultModelForConfig } = await import("./utils-yqdepzr3.js");
|
|
1640
1640
|
const pensarConfig = await appConfig.get();
|
|
1641
1641
|
const explicit = resolveExplicitCliModel({
|
|
1642
1642
|
model: getArg("--model"),
|
|
@@ -1769,9 +1769,9 @@ Custom inference:
|
|
|
1769
1769
|
`);
|
|
1770
1770
|
}
|
|
1771
1771
|
async function runPentest() {
|
|
1772
|
-
const { runPentestAgent } = await import("./blackboxPentest-
|
|
1773
|
-
const { sessions } = await import("./index-
|
|
1774
|
-
const { config: appConfig } = await import("./index-
|
|
1772
|
+
const { runPentestAgent } = await import("./blackboxPentest-kf0pbhp5.js");
|
|
1773
|
+
const { sessions } = await import("./index-42dnvkns.js");
|
|
1774
|
+
const { config: appConfig } = await import("./index-3n19dh6s.js");
|
|
1775
1775
|
const target = getArgRequired("--target");
|
|
1776
1776
|
const cwd = getArg("--cwd");
|
|
1777
1777
|
const mode = getArg("--mode");
|
|
@@ -1820,7 +1820,7 @@ Headers: ${Object.keys(headers).length} configured` : ""}
|
|
|
1820
1820
|
}
|
|
1821
1821
|
});
|
|
1822
1822
|
console.log(`PENSAR_SESSION_PATH:${session.rootPath}`);
|
|
1823
|
-
const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-
|
|
1823
|
+
const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-h2za8fyf.js");
|
|
1824
1824
|
const evidence = await runWithCliNativeRolloutEvidence({
|
|
1825
1825
|
session,
|
|
1826
1826
|
outputDirectory: evidenceOutput,
|
|
@@ -1856,9 +1856,9 @@ Report: ${reportPath}` : ""}`);
|
|
|
1856
1856
|
}
|
|
1857
1857
|
}
|
|
1858
1858
|
async function runTargetedPentest() {
|
|
1859
|
-
const { runTargetedPentestAgent } = await import("./targetedPentest-
|
|
1860
|
-
const { sessions } = await import("./index-
|
|
1861
|
-
const { config: appConfig } = await import("./index-
|
|
1859
|
+
const { runTargetedPentestAgent } = await import("./targetedPentest-6aeg3nxd.js");
|
|
1860
|
+
const { sessions } = await import("./index-42dnvkns.js");
|
|
1861
|
+
const { config: appConfig } = await import("./index-3n19dh6s.js");
|
|
1862
1862
|
const target = getArgRequired("--target");
|
|
1863
1863
|
const objectives = getAllArgs("--objective");
|
|
1864
1864
|
const evidenceOutput = nativeRolloutEvidenceOutput();
|
|
@@ -1891,7 +1891,7 @@ ${objectivesList}
|
|
|
1891
1891
|
} : {}
|
|
1892
1892
|
});
|
|
1893
1893
|
console.log(`PENSAR_SESSION_PATH:${session.rootPath}`);
|
|
1894
|
-
const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-
|
|
1894
|
+
const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-h2za8fyf.js");
|
|
1895
1895
|
const evidence = await runWithCliNativeRolloutEvidence({
|
|
1896
1896
|
session,
|
|
1897
1897
|
outputDirectory: evidenceOutput,
|
|
@@ -1923,8 +1923,8 @@ POCs: ${pocsPath}`);
|
|
|
1923
1923
|
}
|
|
1924
1924
|
}
|
|
1925
1925
|
async function runThreatModel() {
|
|
1926
|
-
const { runThreatModelWorkflow } = await import("./threatModel-
|
|
1927
|
-
const { config: appConfig } = await import("./index-
|
|
1926
|
+
const { runThreatModelWorkflow } = await import("./threatModel-1gsb7ytk.js");
|
|
1927
|
+
const { config: appConfig } = await import("./index-3n19dh6s.js");
|
|
1928
1928
|
const path = await import("path");
|
|
1929
1929
|
const pensarConfig = await appConfig.get();
|
|
1930
1930
|
const model = await resolveCliModel();
|
|
@@ -1959,10 +1959,10 @@ ${sep}
|
|
|
1959
1959
|
Threat model written to: ${resolvedPath}`);
|
|
1960
1960
|
}
|
|
1961
1961
|
async function runOperator() {
|
|
1962
|
-
const { runOffensiveSecurityAgent } = await import("./offesecAgent-
|
|
1963
|
-
const { sessions, normalizeMessages, getResumeMessages } = await import("./index-
|
|
1964
|
-
const { ALL_TOOL_NAMES, SKILL_TOOL_NAMES } = await import("./index-
|
|
1965
|
-
const { config: appConfig } = await import("./index-
|
|
1962
|
+
const { runOffensiveSecurityAgent } = await import("./offesecAgent-r4hz607z.js");
|
|
1963
|
+
const { sessions, normalizeMessages, getResumeMessages } = await import("./index-42dnvkns.js");
|
|
1964
|
+
const { ALL_TOOL_NAMES, SKILL_TOOL_NAMES } = await import("./index-mmmx59w3.js");
|
|
1965
|
+
const { config: appConfig } = await import("./index-3n19dh6s.js");
|
|
1966
1966
|
const { createInterface } = await import("readline");
|
|
1967
1967
|
const { readFileSync, existsSync } = await import("fs");
|
|
1968
1968
|
const path = await import("path");
|
|
@@ -2003,7 +2003,7 @@ ${sep}
|
|
|
2003
2003
|
...evidenceOutput ? { nativeRolloutEvidence: { outputDirectory: evidenceOutput } } : {}
|
|
2004
2004
|
}
|
|
2005
2005
|
});
|
|
2006
|
-
const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-
|
|
2006
|
+
const { runWithCliNativeRolloutEvidence } = await import("./native-rollout-evidence-h2za8fyf.js");
|
|
2007
2007
|
const evidence = await runWithCliNativeRolloutEvidence({
|
|
2008
2008
|
session,
|
|
2009
2009
|
outputDirectory: evidenceOutput,
|
|
@@ -2105,7 +2105,7 @@ try {
|
|
|
2105
2105
|
await standaloneRuntime?.shutdown();
|
|
2106
2106
|
process.exitCode = 1;
|
|
2107
2107
|
} else {
|
|
2108
|
-
const { startTui } = await import("./index-
|
|
2108
|
+
const { startTui } = await import("./index-hh9bqe4y.js");
|
|
2109
2109
|
await startTui(options);
|
|
2110
2110
|
}
|
|
2111
2111
|
} else if (hasFlag("-p") || command === "--prompt") {
|
|
@@ -2125,37 +2125,37 @@ try {
|
|
|
2125
2125
|
await runTargetedPentest();
|
|
2126
2126
|
} else if (command === "login" || command === "auth") {
|
|
2127
2127
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2128
|
-
await import("./auth-
|
|
2128
|
+
await import("./auth-xzp4f1bh.js");
|
|
2129
2129
|
} else if (command === "uninstall") {
|
|
2130
2130
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2131
|
-
await import("./uninstall-
|
|
2131
|
+
await import("./uninstall-kt485ay4.js");
|
|
2132
2132
|
} else if (command === "apps") {
|
|
2133
2133
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2134
|
-
await import("./apps-
|
|
2134
|
+
await import("./apps-yjyvn8vk.js");
|
|
2135
2135
|
} else if (command === "pentests") {
|
|
2136
2136
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2137
|
-
await import("./pentests-
|
|
2137
|
+
await import("./pentests-yvt9wvxd.js");
|
|
2138
2138
|
} else if (command === "agent-runs") {
|
|
2139
|
-
const { runAgentRunsCommand } = await import("./agent-runs-
|
|
2139
|
+
const { runAgentRunsCommand } = await import("./agent-runs-12pmj6vc.js");
|
|
2140
2140
|
await runAgentRunsCommand(args.slice(1));
|
|
2141
2141
|
} else if (command === "targets") {
|
|
2142
2142
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2143
|
-
await import("./targets-
|
|
2143
|
+
await import("./targets-a38xnsgm.js");
|
|
2144
2144
|
} else if (command === "issues") {
|
|
2145
2145
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2146
|
-
await import("./issues-
|
|
2146
|
+
await import("./issues-d0e1tzda.js");
|
|
2147
2147
|
} else if (command === "knowledge") {
|
|
2148
2148
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2149
|
-
await import("./knowledge-
|
|
2149
|
+
await import("./knowledge-vgvrzey3.js");
|
|
2150
2150
|
} else if (command === "fixes") {
|
|
2151
2151
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2152
|
-
await import("./fixes-
|
|
2152
|
+
await import("./fixes-tcd29w2t.js");
|
|
2153
2153
|
} else if (command === "logs") {
|
|
2154
2154
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2155
|
-
await import("./logs-
|
|
2155
|
+
await import("./logs-mvrvrkfa.js");
|
|
2156
2156
|
} else if (command === "config") {
|
|
2157
2157
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
2158
|
-
await import("./config-
|
|
2158
|
+
await import("./config-n03g5jad.js");
|
|
2159
2159
|
} else if (command === "threat-model") {
|
|
2160
2160
|
await runThreatModel();
|
|
2161
2161
|
} else if (command === "doctor") {
|
|
@@ -5,21 +5,21 @@ import {
|
|
|
5
5
|
assertDepth,
|
|
6
6
|
inProcessSeams,
|
|
7
7
|
OffensiveSecurityAgent
|
|
8
|
-
} from "./cli-
|
|
9
|
-
import"./cli-
|
|
10
|
-
import"./cli-
|
|
8
|
+
} from "./cli-tfaqp0ty.js";
|
|
9
|
+
import"./cli-0ry9v2cb.js";
|
|
10
|
+
import"./cli-0cwdrrq7.js";
|
|
11
11
|
import {
|
|
12
12
|
buildPentestReport,
|
|
13
13
|
renderJson,
|
|
14
14
|
renderMarkdown,
|
|
15
15
|
REPORT_FILENAME_MD,
|
|
16
16
|
REPORT_FILENAME_JSON
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-ge8q6nxr.js";
|
|
18
18
|
import"./cli-qba2x69h.js";
|
|
19
19
|
import {
|
|
20
20
|
createThreatModelPrompt
|
|
21
21
|
} from "./cli-q126f6ef.js";
|
|
22
|
-
import"./cli-
|
|
22
|
+
import"./cli-nj73990n.js";
|
|
23
23
|
import"./cli-c2k4xxaw.js";
|
|
24
24
|
import {
|
|
25
25
|
init_zod
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import"./cli-
|
|
3
|
-
import"./cli-
|
|
2
|
+
import"./cli-0ry9v2cb.js";
|
|
3
|
+
import"./cli-0cwdrrq7.js";
|
|
4
4
|
import {
|
|
5
5
|
listFixes2,
|
|
6
6
|
getFix2
|
|
7
|
-
} from "./cli-
|
|
8
|
-
import"./cli-
|
|
9
|
-
import"./cli-
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
15
|
-
import"./cli-
|
|
7
|
+
} from "./cli-4mar7kvr.js";
|
|
8
|
+
import"./cli-tfaqp0ty.js";
|
|
9
|
+
import"./cli-5gaxk6hd.js";
|
|
10
|
+
import"./cli-m5ryqeav.js";
|
|
11
|
+
import"./cli-zmeb85er.js";
|
|
12
|
+
import"./cli-8hxrn15h.js";
|
|
13
|
+
import"./cli-t3m0e9t2.js";
|
|
14
|
+
import"./cli-metec8r8.js";
|
|
15
|
+
import"./cli-ge8q6nxr.js";
|
|
16
16
|
import"./cli-xcy2vxj2.js";
|
|
17
17
|
import {
|
|
18
18
|
markCommandFailed
|
|
19
19
|
} from "./cli-z82n3qk1.js";
|
|
20
|
-
import"./cli-
|
|
20
|
+
import"./cli-gr4az5sf.js";
|
|
21
21
|
import"./cli-qba2x69h.js";
|
|
22
|
-
import"./cli-
|
|
22
|
+
import"./cli-nj73990n.js";
|
|
23
23
|
import"./cli-c2k4xxaw.js";
|
|
24
24
|
|
|
25
25
|
// src/cli/fixes.ts
|