@vantagesec/socc 0.1.9 → 0.1.11
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/dist/cli.mjs +45 -26
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -51883,11 +51883,21 @@ var init_env = __esm(() => {
|
|
|
51883
51883
|
init_fsOperations();
|
|
51884
51884
|
init_which();
|
|
51885
51885
|
getGlobalClaudeFile = memoize_default(() => {
|
|
51886
|
-
|
|
51887
|
-
|
|
51886
|
+
const configHome = getClaudeConfigHomeDir();
|
|
51887
|
+
const suffix = fileSuffixForOauthConfig();
|
|
51888
|
+
const primaryConfig = join19(configHome, suffix ? `.config${suffix}.json` : ".config.json");
|
|
51889
|
+
if (getFsImplementation().existsSync(primaryConfig)) {
|
|
51890
|
+
return primaryConfig;
|
|
51888
51891
|
}
|
|
51889
|
-
|
|
51890
|
-
|
|
51892
|
+
if (configHome === join19(homedir9(), ".socc")) {
|
|
51893
|
+
return primaryConfig;
|
|
51894
|
+
}
|
|
51895
|
+
const legacyFilename = `.claude${suffix}.json`;
|
|
51896
|
+
const legacyConfig = join19(process.env.CLAUDE_CONFIG_DIR || homedir9(), legacyFilename);
|
|
51897
|
+
if (getFsImplementation().existsSync(legacyConfig)) {
|
|
51898
|
+
return legacyConfig;
|
|
51899
|
+
}
|
|
51900
|
+
return primaryConfig;
|
|
51891
51901
|
});
|
|
51892
51902
|
hasInternetAccess = memoize_default(async () => {
|
|
51893
51903
|
try {
|
|
@@ -110008,6 +110018,10 @@ function getContextWindowForModel(model, betas) {
|
|
|
110008
110018
|
if (openaiWindow !== undefined) {
|
|
110009
110019
|
return openaiWindow;
|
|
110010
110020
|
}
|
|
110021
|
+
if (isLocalProviderUrl(process.env.OPENAI_BASE_URL)) {
|
|
110022
|
+
console.warn(`[context] Warning: local OpenAI-compatible model "${model}" not in context window table — using 128k fallback. ` + "Add it to src/utils/model/openaiContextWindows.ts for more accurate compaction.");
|
|
110023
|
+
return 128000;
|
|
110024
|
+
}
|
|
110011
110025
|
console.error(`[context] Warning: model "${model}" not in context window table — using conservative 8k default. ` + "Add it to src/utils/model/openaiContextWindows.ts for accurate compaction.");
|
|
110012
110026
|
return 8000;
|
|
110013
110027
|
}
|
|
@@ -110072,6 +110086,9 @@ function getModelMaxOutputTokens(model) {
|
|
|
110072
110086
|
if (openaiMax !== undefined) {
|
|
110073
110087
|
return { default: openaiMax, upperLimit: openaiMax };
|
|
110074
110088
|
}
|
|
110089
|
+
if (isLocalProviderUrl(process.env.OPENAI_BASE_URL)) {
|
|
110090
|
+
return { default: 8192, upperLimit: 8192 };
|
|
110091
|
+
}
|
|
110075
110092
|
}
|
|
110076
110093
|
const m = getCanonicalName(model);
|
|
110077
110094
|
if (m.includes("opus-4-6")) {
|
|
@@ -110118,6 +110135,7 @@ function getMaxThinkingTokensForModel(model) {
|
|
|
110118
110135
|
var MODEL_CONTEXT_WINDOW_DEFAULT = 200000, COMPACT_MAX_OUTPUT_TOKENS = 20000, MAX_OUTPUT_TOKENS_DEFAULT = 32000, MAX_OUTPUT_TOKENS_UPPER_LIMIT = 64000, CAPPED_DEFAULT_MAX_TOKENS = 8000, ESCALATED_MAX_TOKENS = 64000;
|
|
110119
110136
|
var init_context = __esm(() => {
|
|
110120
110137
|
init_betas();
|
|
110138
|
+
init_providerConfig();
|
|
110121
110139
|
init_config();
|
|
110122
110140
|
init_envUtils();
|
|
110123
110141
|
init_model();
|
|
@@ -112870,7 +112888,7 @@ function printStartupScreen() {
|
|
|
112870
112888
|
const sLen = ` ● ${sL} Ready — type /help to begin`.length;
|
|
112871
112889
|
out.push(boxRow(sRow, W2, sLen));
|
|
112872
112890
|
out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
|
|
112873
|
-
out.push(` ${DIM}${rgb(...DIMCOL)}socc ${RESET}${rgb(...ACCENT)}v${"0.1.
|
|
112891
|
+
out.push(` ${DIM}${rgb(...DIMCOL)}socc ${RESET}${rgb(...ACCENT)}v${"0.1.11"}${RESET}`);
|
|
112874
112892
|
out.push("");
|
|
112875
112893
|
process.stdout.write(out.join(`
|
|
112876
112894
|
`) + `
|
|
@@ -112895,12 +112913,12 @@ var init_StartupScreen = __esm(() => {
|
|
|
112895
112913
|
DIMCOL = [96, 118, 154];
|
|
112896
112914
|
BORDER = [59, 89, 138];
|
|
112897
112915
|
LOGO_SOCC = [
|
|
112898
|
-
|
|
112899
|
-
|
|
112900
|
-
|
|
112901
|
-
|
|
112902
|
-
|
|
112903
|
-
|
|
112916
|
+
" ███████╗ ██████═╗ ███████╗ ███████╗",
|
|
112917
|
+
"██ ╔════╝ ██╔═══██║ ██╔═════╝ ██╔═════╝",
|
|
112918
|
+
" ██████═╗ ██║ ██║ ██║ ██║ ",
|
|
112919
|
+
" ╚════██║ ██║ ██║ ██║ ██║ ",
|
|
112920
|
+
"███████ ║ ██████ ║ ███████╗ ███████╗",
|
|
112921
|
+
" ╚══════╝ ╚══════╝ ╚══════╝ ╚══════╝"
|
|
112904
112922
|
];
|
|
112905
112923
|
});
|
|
112906
112924
|
|
|
@@ -373635,7 +373653,7 @@ function getAnthropicEnvMetadata() {
|
|
|
373635
373653
|
function getBuildAgeMinutes() {
|
|
373636
373654
|
if (false)
|
|
373637
373655
|
;
|
|
373638
|
-
const buildTime = new Date("2026-04-
|
|
373656
|
+
const buildTime = new Date("2026-04-12T14:37:46.133Z").getTime();
|
|
373639
373657
|
if (isNaN(buildTime))
|
|
373640
373658
|
return;
|
|
373641
373659
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -376080,8 +376098,8 @@ var init_sessionMemoryCompact = __esm(() => {
|
|
|
376080
376098
|
|
|
376081
376099
|
// src/services/compact/autoCompact.ts
|
|
376082
376100
|
function getEffectiveContextWindowSize(model) {
|
|
376083
|
-
const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY);
|
|
376084
376101
|
let contextWindow = getContextWindowForModel(model, getSdkBetas());
|
|
376102
|
+
const maxOutputTokens = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY);
|
|
376085
376103
|
const autoCompactWindow = process.env.CLAUDE_CODE_AUTO_COMPACT_WINDOW;
|
|
376086
376104
|
if (autoCompactWindow) {
|
|
376087
376105
|
const parsed = parseInt(autoCompactWindow, 10);
|
|
@@ -376089,7 +376107,8 @@ function getEffectiveContextWindowSize(model) {
|
|
|
376089
376107
|
contextWindow = Math.min(contextWindow, parsed);
|
|
376090
376108
|
}
|
|
376091
376109
|
}
|
|
376092
|
-
|
|
376110
|
+
const reservedTokensForSummary = Math.min(maxOutputTokens, Math.max(1024, Math.floor(contextWindow * 0.25)));
|
|
376111
|
+
return Math.max(1024, contextWindow - reservedTokensForSummary);
|
|
376093
376112
|
}
|
|
376094
376113
|
function getAutoCompactThreshold(model) {
|
|
376095
376114
|
const effectiveContextWindow = getEffectiveContextWindowSize(model);
|
|
@@ -400550,7 +400569,7 @@ function buildPrimarySection() {
|
|
|
400550
400569
|
}, undefined, false, undefined, this);
|
|
400551
400570
|
return [{
|
|
400552
400571
|
label: "Version",
|
|
400553
|
-
value: "0.1.
|
|
400572
|
+
value: "0.1.11"
|
|
400554
400573
|
}, {
|
|
400555
400574
|
label: "Session name",
|
|
400556
400575
|
value: nameValue
|
|
@@ -466820,7 +466839,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
466820
466839
|
var call59 = async () => {
|
|
466821
466840
|
return {
|
|
466822
466841
|
type: "text",
|
|
466823
|
-
value: `${"99.0.0"} (built ${"2026-04-
|
|
466842
|
+
value: `${"99.0.0"} (built ${"2026-04-12T14:37:46.133Z"})`
|
|
466824
466843
|
};
|
|
466825
466844
|
}, version2, version_default;
|
|
466826
466845
|
var init_version = __esm(() => {
|
|
@@ -541084,7 +541103,7 @@ function WelcomeV2() {
|
|
|
541084
541103
|
" ",
|
|
541085
541104
|
/* @__PURE__ */ jsx_dev_runtime469.jsxDEV(ThemedText, {
|
|
541086
541105
|
dimColor: true,
|
|
541087
|
-
children: `v${"0.1.
|
|
541106
|
+
children: `v${"0.1.11"}`
|
|
541088
541107
|
}, undefined, false, undefined, this)
|
|
541089
541108
|
]
|
|
541090
541109
|
}, undefined, true, undefined, this),
|
|
@@ -541111,12 +541130,12 @@ var init_WelcomeV2 = __esm(() => {
|
|
|
541111
541130
|
init_ink2();
|
|
541112
541131
|
jsx_dev_runtime469 = __toESM(require_jsx_dev_runtime(), 1);
|
|
541113
541132
|
WORDMARK_LINES = [
|
|
541114
|
-
"
|
|
541115
|
-
"
|
|
541116
|
-
"██║
|
|
541117
|
-
"██║
|
|
541118
|
-
"
|
|
541119
|
-
"
|
|
541133
|
+
"╔███████╗ ██████═╗ ╔███████╗ ╔███████╗",
|
|
541134
|
+
"██╔═════╝ ██╔═══██║ ██╔═════╝ ██╔═════╝",
|
|
541135
|
+
"║██████═╗ ██║ ██║ ██║ ██║ ",
|
|
541136
|
+
"╚════╗██║ ██║ ██║ ██║ ██║ ",
|
|
541137
|
+
"███████ ║ ║██████ ║ ║███████╗ ║███████╗",
|
|
541138
|
+
"╚═══════╝ ╚═══════╝ ╚═══════╝ ╚═══════╝"
|
|
541120
541139
|
];
|
|
541121
541140
|
});
|
|
541122
541141
|
|
|
@@ -560751,7 +560770,7 @@ Usage: socc --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
560751
560770
|
pendingHookMessages
|
|
560752
560771
|
}, renderAndRun);
|
|
560753
560772
|
}
|
|
560754
|
-
}).version("0.1.
|
|
560773
|
+
}).version("0.1.11 (SOCC)", "-v, --version", "Output the version number");
|
|
560755
560774
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
560756
560775
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
560757
560776
|
if (canUserConfigureAdvisor()) {
|
|
@@ -561388,7 +561407,7 @@ if (false) {}
|
|
|
561388
561407
|
async function main2() {
|
|
561389
561408
|
const args = process.argv.slice(2);
|
|
561390
561409
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
561391
|
-
console.log(`${"0.1.
|
|
561410
|
+
console.log(`${"0.1.11"} (SOCC)`);
|
|
561392
561411
|
return;
|
|
561393
561412
|
}
|
|
561394
561413
|
if (args.includes("--provider")) {
|
|
@@ -561512,4 +561531,4 @@ async function main2() {
|
|
|
561512
561531
|
}
|
|
561513
561532
|
main2();
|
|
561514
561533
|
|
|
561515
|
-
//# debugId=
|
|
561534
|
+
//# debugId=262F18555880631064756E2164756E21
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vantagesec/socc",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "Security operations copiloto for threat intelligence, incident response, and agentic investigation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -168,4 +168,4 @@
|
|
|
168
168
|
"overrides": {
|
|
169
169
|
"lodash-es": "4.18.1"
|
|
170
170
|
}
|
|
171
|
-
}
|
|
171
|
+
}
|