@vantagesec/socc 0.1.14 → 0.1.15

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 (2) hide show
  1. package/dist/cli.mjs +42 -18
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -112869,7 +112869,7 @@ function printStartupScreen() {
112869
112869
  const sLen = ` ● ${sL} Ready — type /help to begin`.length;
112870
112870
  out.push(boxRow(sRow, W2, sLen));
112871
112871
  out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
112872
- out.push(` ${DIM}${rgb(...DIMCOL)}socc ${RESET}${rgb(...ACCENT)}v${"0.1.14"}${RESET}`);
112872
+ out.push(` ${DIM}${rgb(...DIMCOL)}socc ${RESET}${rgb(...ACCENT)}v${"0.1.15"}${RESET}`);
112873
112873
  out.push("");
112874
112874
  process.stdout.write(out.join(`
112875
112875
  `) + `
@@ -161388,7 +161388,7 @@ How to use the statusLine command:
161388
161388
  "vim": { // Optional, only present when vim mode is enabled
161389
161389
  "mode": "INSERT" | "NORMAL" // Current vim editor mode
161390
161390
  },
161391
- "agent": { // Optional, only present when Claude is started with --agent flag
161391
+ "agent": { // Optional, only present when SOCC is started with --agent flag
161392
161392
  "name": "string", // Agent name (e.g., "code-architect", "test-runner")
161393
161393
  "type": "string" // Optional: Agent type identifier
161394
161394
  },
@@ -161396,7 +161396,7 @@ How to use the statusLine command:
161396
161396
  "name": "string", // Worktree name/slug (e.g., "my-feature")
161397
161397
  "path": "string", // Full path to the worktree directory
161398
161398
  "branch": "string", // Optional: Git branch name for the worktree
161399
- "original_cwd": "string", // The directory Claude was in before entering the worktree
161399
+ "original_cwd": "string", // The directory SOCC was in before entering the worktree
161400
161400
  "original_branch": "string" // Optional: Branch that was checked out before entering the worktree
161401
161401
  }
161402
161402
  }
@@ -373638,7 +373638,7 @@ function getAnthropicEnvMetadata() {
373638
373638
  function getBuildAgeMinutes() {
373639
373639
  if (false)
373640
373640
  ;
373641
- const buildTime = new Date("2026-04-13T16:09:37.715Z").getTime();
373641
+ const buildTime = new Date("2026-04-13T17:17:55.615Z").getTime();
373642
373642
  if (isNaN(buildTime))
373643
373643
  return;
373644
373644
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -379428,6 +379428,7 @@ async function getAttachments(input, toolUseContext, ideSelection, queuedCommand
379428
379428
  const isMainThread = !toolUseContext.agentId;
379429
379429
  const userInputAttachments = input ? [
379430
379430
  maybe("at_mentioned_files", () => processAtMentionedFiles(input, context5)),
379431
+ maybe("local_path_files", () => processStandaloneFilePaths(input, context5)),
379431
379432
  maybe("mcp_resources", () => processMcpResourceAttachments(input, context5)),
379432
379433
  maybe("agent_mentions", () => Promise.resolve(processAgentMentions(input, toolUseContext.options.agentDefinitions.activeAgents))),
379433
379434
  ...[]
@@ -379893,7 +379894,12 @@ async function getOpenedFileFromIDE(ideSelection, toolUseContext) {
379893
379894
  ];
379894
379895
  }
379895
379896
  async function processAtMentionedFiles(input, toolUseContext) {
379896
- const files = extractAtMentionedFiles(input);
379897
+ return processReferencedFiles(extractAtMentionedFiles(input), toolUseContext, "tengu_at_mention_extracting_directory_success", "tengu_at_mention_extracting_filename_success", "tengu_at_mention_extracting_filename_error");
379898
+ }
379899
+ async function processStandaloneFilePaths(input, toolUseContext) {
379900
+ return processReferencedFiles(extractStandaloneFilePaths(input), toolUseContext, "tengu_local_path_extracting_directory_success", "tengu_local_path_extracting_filename_success", "tengu_local_path_extracting_filename_error");
379901
+ }
379902
+ async function processReferencedFiles(files, toolUseContext, directorySuccessEventName, fileSuccessEventName, fileErrorEventName) {
379897
379903
  if (files.length === 0)
379898
379904
  return [];
379899
379905
  const appState = toolUseContext.getAppState();
@@ -379919,7 +379925,7 @@ async function processAtMentionedFiles(input, toolUseContext) {
379919
379925
  }
379920
379926
  const stdout = names.join(`
379921
379927
  `);
379922
- logEvent("tengu_at_mention_extracting_directory_success", {});
379928
+ logEvent(directorySuccessEventName, {});
379923
379929
  return {
379924
379930
  type: "directory",
379925
379931
  path: absoluteFilename,
@@ -379931,12 +379937,12 @@ async function processAtMentionedFiles(input, toolUseContext) {
379931
379937
  }
379932
379938
  }
379933
379939
  } catch {}
379934
- return await generateFileAttachment(absoluteFilename, toolUseContext, "tengu_at_mention_extracting_filename_success", "tengu_at_mention_extracting_filename_error", "at-mention", {
379940
+ return await generateFileAttachment(absoluteFilename, toolUseContext, fileSuccessEventName, fileErrorEventName, "at-mention", {
379935
379941
  offset: lineStart,
379936
379942
  limit: lineEnd && lineStart ? lineEnd - lineStart + 1 : undefined
379937
379943
  });
379938
379944
  } catch {
379939
- logEvent("tengu_at_mention_extracting_filename_error", {});
379945
+ logEvent(fileErrorEventName, {});
379940
379946
  }
379941
379947
  }));
379942
379948
  return results.filter(Boolean);
@@ -380348,6 +380354,24 @@ function extractAtMentionedFiles(content) {
380348
380354
  });
380349
380355
  return uniq([...quotedMatches, ...regularMatches]);
380350
380356
  }
380357
+ function extractStandaloneFilePaths(content) {
380358
+ const quotedAbsolutePathRegex = /(^|[\s(])["']((?:[A-Za-z]:[\\/]|\/)[^"'\r\n]+)["']/g;
380359
+ const unquotedAbsolutePathRegex = /(^|[\s(])((?:[A-Za-z]:[\\/]|\/)[^\s'")\]}>,;|&]+)/g;
380360
+ const results = [];
380361
+ let match;
380362
+ while ((match = quotedAbsolutePathRegex.exec(content)) !== null) {
380363
+ if (match[2]) {
380364
+ results.push(match[2]);
380365
+ }
380366
+ }
380367
+ while ((match = unquotedAbsolutePathRegex.exec(content)) !== null) {
380368
+ if (match[2]) {
380369
+ results.push(match[2].replace(/[!?]+$/, ""));
380370
+ }
380371
+ }
380372
+ const atMentioned = new Set(extractAtMentionedFiles(content));
380373
+ return uniq(results).filter((path17) => !atMentioned.has(path17));
380374
+ }
380351
380375
  function extractMcpResourceMentions(content) {
380352
380376
  const atMentionRegex = /(^|\s)@(?!")([^\s"]+:[^\s"]+)\b/g;
380353
380377
  const matches = content.match(atMentionRegex) || [];
@@ -400058,7 +400082,7 @@ function buildPrimarySection() {
400058
400082
  }, undefined, false, undefined, this);
400059
400083
  return [{
400060
400084
  label: "Version",
400061
- value: "0.1.14"
400085
+ value: "0.1.15"
400062
400086
  }, {
400063
400087
  label: "Session name",
400064
400088
  value: nameValue
@@ -466405,7 +466429,7 @@ var init_bridge_kick = __esm(() => {
466405
466429
  var call58 = async () => {
466406
466430
  return {
466407
466431
  type: "text",
466408
- value: `${"99.0.0"} (built ${"2026-04-13T16:09:37.715Z"})`
466432
+ value: `${"99.0.0"} (built ${"2026-04-13T17:17:55.615Z"})`
466409
466433
  };
466410
466434
  }, version2, version_default;
466411
466435
  var init_version = __esm(() => {
@@ -482555,7 +482579,7 @@ async function execPromptHook(hook, hookName, hookEvent, jsonInput, signal, tool
482555
482579
  const response = await queryModelWithoutStreaming({
482556
482580
  messages: messagesToQuery,
482557
482581
  systemPrompt: asSystemPrompt([
482558
- `You are evaluating a hook in Claude Code.
482582
+ `You are evaluating a hook in SOCC.
482559
482583
 
482560
482584
  Your response must be a JSON object matching one of the following schemas:
482561
482585
  1. If the condition is met, return: {"ok": true}
@@ -541013,7 +541037,7 @@ function WelcomeV2() {
541013
541037
  " ",
541014
541038
  /* @__PURE__ */ jsx_dev_runtime468.jsxDEV(ThemedText, {
541015
541039
  dimColor: true,
541016
- children: `v${"0.1.14"}`
541040
+ children: `v${"0.1.15"}`
541017
541041
  }, undefined, false, undefined, this)
541018
541042
  ]
541019
541043
  }, undefined, true, undefined, this),
@@ -541250,13 +541274,13 @@ function Onboarding({
541250
541274
  /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(OrderedList.Item, {
541251
541275
  children: [
541252
541276
  /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(ThemedText, {
541253
- children: "SOCC can make mistakes"
541277
+ children: "Models can make mistakes"
541254
541278
  }, undefined, false, undefined, this),
541255
541279
  /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(ThemedText, {
541256
541280
  dimColor: true,
541257
541281
  wrap: "wrap",
541258
541282
  children: [
541259
- "You should always review SOCC's responses, especially when",
541283
+ "You should always review models' responses, especially when",
541260
541284
  /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(Newline, {}, undefined, false, undefined, this),
541261
541285
  "running code.",
541262
541286
  /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(Newline, {}, undefined, false, undefined, this)
@@ -541840,7 +541864,7 @@ function TrustDialog(t0) {
541840
541864
  }, undefined, true, undefined, this);
541841
541865
  t18 = /* @__PURE__ */ jsx_dev_runtime472.jsxDEV(ThemedText, {
541842
541866
  children: [
541843
- "SOCC",
541867
+ "Models",
541844
541868
  "'",
541845
541869
  "ll be able to read, edit, and execute files here."
541846
541870
  ]
@@ -560679,7 +560703,7 @@ Usage: socc --remote "your task description"`, () => gracefulShutdown(1));
560679
560703
  pendingHookMessages
560680
560704
  }, renderAndRun);
560681
560705
  }
560682
- }).version("0.1.14 (SOCC)", "-v, --version", "Output the version number");
560706
+ }).version("0.1.15 (SOCC)", "-v, --version", "Output the version number");
560683
560707
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
560684
560708
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
560685
560709
  if (canUserConfigureAdvisor()) {
@@ -561310,7 +561334,7 @@ if (false) {}
561310
561334
  async function main2() {
561311
561335
  const args = process.argv.slice(2);
561312
561336
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
561313
- console.log(`${"0.1.14"} (SOCC)`);
561337
+ console.log(`${"0.1.15"} (SOCC)`);
561314
561338
  return;
561315
561339
  }
561316
561340
  if (args.includes("--provider")) {
@@ -561434,4 +561458,4 @@ async function main2() {
561434
561458
  }
561435
561459
  main2();
561436
561460
 
561437
- //# debugId=77AECB783C744A4764756E2164756E21
561461
+ //# debugId=DE38E61A6917C2A564756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vantagesec/socc",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "description": "Security operations copiloto for threat intelligence, incident response, and agentic investigation",
5
5
  "type": "module",
6
6
  "bin": {