stratagem-x7 0.3.74 → 0.3.76

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 +136 -28
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -295799,6 +295799,85 @@ function getKnownModelsForBaseUrl(baseUrl) {
295799
295799
  "grok-2"
295800
295800
  ];
295801
295801
  }
295802
+ if (lower.includes("githubcopilot.com")) {
295803
+ return [
295804
+ "gpt-5.4",
295805
+ "gpt-5.4-mini",
295806
+ "gpt-5.3-codex",
295807
+ "gpt-5.2",
295808
+ "gpt-5.2-codex",
295809
+ "gpt-5-mini",
295810
+ "gpt-4.1",
295811
+ "claude-sonnet-4.6",
295812
+ "claude-sonnet-4.5",
295813
+ "claude-sonnet-4",
295814
+ "claude-opus-4.7",
295815
+ "claude-opus-4.6",
295816
+ "claude-opus-4.5",
295817
+ "claude-haiku-4.5"
295818
+ ];
295819
+ }
295820
+ if (lower.includes("kilocode.ai")) {
295821
+ return [
295822
+ "kilo-auto/balanced",
295823
+ "kilo-auto/coder",
295824
+ "kilo-auto/free",
295825
+ "anthropic/claude-sonnet-4.6",
295826
+ "anthropic/claude-opus-4.7",
295827
+ "anthropic/claude-opus-4.6",
295828
+ "anthropic/claude-haiku-4.5",
295829
+ "openai/gpt-5.4",
295830
+ "openai/gpt-5.3-codex",
295831
+ "google/gemini-3.1-pro-preview",
295832
+ "google/gemini-2.5-pro",
295833
+ "google/gemini-2.5-flash",
295834
+ "qwen/qwen3-coder",
295835
+ "deepseek/deepseek-chat",
295836
+ "z-ai/glm-5",
295837
+ "moonshotai/kimi-k2.6",
295838
+ "x-ai/grok-code-fast-1"
295839
+ ];
295840
+ }
295841
+ if (lower.includes("cline.bot")) {
295842
+ return [
295843
+ "moonshotai/kimi-k2.6",
295844
+ "moonshotai/kimi-k2",
295845
+ "kwaipilot/kat-coder-pro",
295846
+ "minimax/minimax-m2.7",
295847
+ "minimax/minimax-m2.5",
295848
+ "arcee-ai/trinity-large-preview:free",
295849
+ "z-ai/glm-5",
295850
+ "z-ai/glm-4.6:exacto",
295851
+ "anthropic/claude-sonnet-4.6",
295852
+ "anthropic/claude-opus-4.7",
295853
+ "anthropic/claude-opus-4.6",
295854
+ "openai/gpt-5.4",
295855
+ "openai/gpt-5.3-codex",
295856
+ "google/gemini-3.1-pro-preview",
295857
+ "google/gemini-3.1-flash-lite-preview",
295858
+ "qwen/qwen3-coder",
295859
+ "qwen/qwen3-coder:exacto",
295860
+ "deepseek/deepseek-chat",
295861
+ "x-ai/grok-code-fast-1"
295862
+ ];
295863
+ }
295864
+ if (lower.includes("cursor.sh") || lower.includes("cursor.com")) {
295865
+ return [
295866
+ "auto",
295867
+ "gpt-5.4",
295868
+ "gpt-5.3-codex",
295869
+ "claude-sonnet-4.6",
295870
+ "claude-opus-4.7",
295871
+ "gemini-3.1-pro-preview"
295872
+ ];
295873
+ }
295874
+ if (lower.includes("codewhisperer") || lower.includes("kiro")) {
295875
+ return [
295876
+ "claude-sonnet-4",
295877
+ "claude-sonnet-4.5",
295878
+ "claude-haiku-4.5"
295879
+ ];
295880
+ }
295802
295881
  return null;
295803
295882
  }
295804
295883
  function getGithubCredentialSourceFromEnv(processEnv = process.env) {
@@ -353791,7 +353870,7 @@ function getAnthropicEnvMetadata() {
353791
353870
  function getBuildAgeMinutes() {
353792
353871
  if (false)
353793
353872
  ;
353794
- const buildTime = new Date("2026-05-09T12:48:59.346Z").getTime();
353873
+ const buildTime = new Date("2026-05-09T13:14:45.269Z").getTime();
353795
353874
  if (isNaN(buildTime))
353796
353875
  return;
353797
353876
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -421604,7 +421683,7 @@ function buildPrimarySection() {
421604
421683
  }, undefined, false, undefined, this);
421605
421684
  return [{
421606
421685
  label: "Version",
421607
- value: "0.3.74"
421686
+ value: "0.3.76"
421608
421687
  }, {
421609
421688
  label: "Session name",
421610
421689
  value: nameValue
@@ -461514,53 +461593,82 @@ function boxRow(content, width, rawLen) {
461514
461593
  }
461515
461594
  function getStartupLines(termWidth) {
461516
461595
  const p = detectProvider();
461517
- const W2 = 84;
461518
- const tw = termWidth ?? process.stdout.columns ?? W2;
461596
+ const tw = termWidth ?? process.stdout.columns ?? 84;
461597
+ const W2 = Math.max(30, Math.min(84, tw - 2));
461519
461598
  const out = [];
461520
461599
  out.push("");
461521
461600
  out.push("");
461522
- const allLogo = LOGO_STX7;
461523
- const total = allLogo.length;
461524
- for (let i3 = 0;i3 < total; i3++) {
461525
- const t = total > 1 ? i3 / (total - 1) : 0;
461526
- if (allLogo[i3] === "") {
461527
- out.push("");
461528
- } else {
461529
- out.push(centerAnsiLine(paintLine(allLogo[i3], SUNSET_GRAD, t), tw));
461601
+ const useBlockLogo = tw >= 84;
461602
+ if (useBlockLogo) {
461603
+ const allLogo = LOGO_STX7;
461604
+ const total = allLogo.length;
461605
+ for (let i3 = 0;i3 < total; i3++) {
461606
+ const t = total > 1 ? i3 / (total - 1) : 0;
461607
+ if (allLogo[i3] === "") {
461608
+ out.push("");
461609
+ } else {
461610
+ out.push(centerAnsiLine(paintLine(allLogo[i3], SUNSET_GRAD, t), tw));
461611
+ }
461530
461612
  }
461613
+ } else {
461614
+ out.push("");
461615
+ out.push(centerAnsiLine(paintLine(LOGO_TINY, SUNSET_GRAD, 0.5), tw));
461616
+ out.push("");
461531
461617
  }
461532
461618
  out.push("");
461533
- out.push(centerAnsiLine(`${DIM2}${rgb3(...DIMCOL)}${"─".repeat(14)}${RESET2} ${rgb3(...ACCENT)}NET//TECH${RESET2} ${DIM2}${rgb3(...DIMCOL)}${"─".repeat(14)}${RESET2}`, tw));
461534
- out.push(centerAnsiLine(`${rgb3(...ACCENT)}◢${RESET2} ${rgb3(...CREAM)}STRATAGEM X7 // breach shell // protocol online.${RESET2} ${rgb3(...CYAN)}◣${RESET2}`, tw));
461619
+ const taglineDashes = Math.max(2, Math.min(14, Math.floor((tw - 12) / 2)));
461620
+ out.push(centerAnsiLine(`${DIM2}${rgb3(...DIMCOL)}${"─".repeat(taglineDashes)}${RESET2} ${rgb3(...ACCENT)}NET//TECH${RESET2} ${DIM2}${rgb3(...DIMCOL)}${"─".repeat(taglineDashes)}${RESET2}`, tw));
461621
+ if (tw >= 60) {
461622
+ out.push(centerAnsiLine(`${rgb3(...ACCENT)}◢${RESET2} ${rgb3(...CREAM)}STRATAGEM X7 // breach shell // protocol online.${RESET2} ${rgb3(...CYAN)}◣${RESET2}`, tw));
461623
+ } else if (tw >= 40) {
461624
+ out.push(centerAnsiLine(`${rgb3(...ACCENT)}◢${RESET2} ${rgb3(...CREAM)}breach shell // online${RESET2} ${rgb3(...CYAN)}◣${RESET2}`, tw));
461625
+ }
461535
461626
  out.push("");
461536
461627
  out.push("");
461537
- const title = " BREACH PROTOCOL INTERFACE ";
461628
+ const fullTitle = " BREACH PROTOCOL INTERFACE ";
461629
+ const shortTitle = " BREACH INTERFACE ";
461630
+ const title = W2 >= fullTitle.length ? fullTitle : shortTitle;
461538
461631
  out.push(centerAnsiLine(`${bg(...BORDER)}${rgb3(...PANEL_BG)}${title}${" ".repeat(Math.max(0, W2 - title.length))}${RESET2}`, tw));
461539
461632
  out.push(centerAnsiLine(`${rgb3(...BORDER)}┌${"─".repeat(W2 - 2)}┐${RESET2}`, tw));
461540
461633
  const lbl = (k, v, c6 = CREAM) => {
461541
461634
  const padK = k.padEnd(9);
461542
461635
  return [` ${DIM2}${rgb3(...DIMCOL)}${padK}${RESET2} ${rgb3(...c6)}${v}${RESET2}`, ` ${padK} ${v}`.length];
461543
461636
  };
461637
+ const maxVal = Math.max(8, W2 - 14);
461638
+ const truncate4 = (s) => s.length > maxVal ? s.slice(0, Math.max(3, maxVal - 3)) + "..." : s;
461544
461639
  const provC = p.isLocal ? [160, 255, 214] : CYAN;
461545
- let [r, l] = lbl("Provider", p.name, provC);
461640
+ let [r, l] = lbl("Provider", truncate4(p.name), provC);
461546
461641
  out.push(centerAnsiLine(boxRow(r, W2, l), tw));
461547
- [r, l] = lbl("Model", p.model);
461642
+ [r, l] = lbl("Model", truncate4(p.model));
461548
461643
  out.push(centerAnsiLine(boxRow(r, W2, l), tw));
461549
- const ep = p.baseUrl.length > 46 ? p.baseUrl.slice(0, 43) + "..." : p.baseUrl;
461550
- [r, l] = lbl("Uplink", ep);
461644
+ [r, l] = lbl("Uplink", truncate4(p.baseUrl));
461551
461645
  out.push(centerAnsiLine(boxRow(r, W2, l), tw));
461552
461646
  out.push(centerAnsiLine(`${rgb3(...BORDER)}├${"─".repeat(W2 - 2)}┤${RESET2}`, tw));
461553
461647
  const sC = p.isLocal ? [160, 255, 214] : CYAN;
461554
461648
  const sL = p.isLocal ? "local" : "cloud";
461555
- const sRow = ` ${rgb3(...sC)}●${RESET2} ${DIM2}${rgb3(...DIMCOL)}${sL}${RESET2} ${rgb3(...ACCENT)}buffer ready${RESET2} ${DIM2}${rgb3(...DIMCOL)}— /help for breach controls${RESET2}`;
461556
- const sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
461649
+ let sRow;
461650
+ let sLen;
461651
+ if (W2 >= 60) {
461652
+ sRow = ` ${rgb3(...sC)}●${RESET2} ${DIM2}${rgb3(...DIMCOL)}${sL}${RESET2} ${rgb3(...ACCENT)}buffer ready${RESET2} ${DIM2}${rgb3(...DIMCOL)}— /help for breach controls${RESET2}`;
461653
+ sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
461654
+ } else if (W2 >= 40) {
461655
+ sRow = ` ${rgb3(...sC)}●${RESET2} ${DIM2}${rgb3(...DIMCOL)}${sL}${RESET2} ${rgb3(...ACCENT)}buffer ready${RESET2}`;
461656
+ sLen = ` ● ${sL} buffer ready`.length;
461657
+ } else {
461658
+ sRow = ` ${rgb3(...sC)}●${RESET2} ${rgb3(...ACCENT)}buffer ready${RESET2}`;
461659
+ sLen = ` ● buffer ready`.length;
461660
+ }
461557
461661
  out.push(centerAnsiLine(boxRow(sRow, W2, sLen), tw));
461558
461662
  out.push(centerAnsiLine(`${rgb3(...BORDER)}└${"─".repeat(W2 - 2)}┘${RESET2}`, tw));
461559
- out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.74"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
461663
+ if (tw >= 50) {
461664
+ out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.76"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
461665
+ } else {
461666
+ out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STX7${RESET2} ${rgb3(...ACCENT)}v${"0.3.76"}${RESET2}`, tw));
461667
+ }
461560
461668
  out.push("");
461561
461669
  return out;
461562
461670
  }
461563
- var ESC3 = "\x1B[", RESET2, DIM2, rgb3 = (r, g, b) => `${ESC3}38;2;${r};${g};${b}m`, bg = (r, g, b) => `${ESC3}48;2;${r};${g};${b}m`, ANSI_PATTERN, SUNSET_GRAD, ACCENT, CYAN, CREAM, DIMCOL, BORDER, PANEL_BG, LOGO_STX7;
461671
+ var ESC3 = "\x1B[", RESET2, DIM2, rgb3 = (r, g, b) => `${ESC3}38;2;${r};${g};${b}m`, bg = (r, g, b) => `${ESC3}48;2;${r};${g};${b}m`, ANSI_PATTERN, SUNSET_GRAD, ACCENT, CYAN, CREAM, DIMCOL, BORDER, PANEL_BG, LOGO_STX7, LOGO_TINY = `◢ STRATAGEM X7 ◣`;
461564
461672
  var init_StartupScreen = __esm(() => {
461565
461673
  init_providerConfig();
461566
461674
  init_providerDiscovery();
@@ -490362,7 +490470,7 @@ var init_bridge_kick = __esm(() => {
490362
490470
  var call61 = async () => {
490363
490471
  return {
490364
490472
  type: "text",
490365
- value: `${"99.0.0"} (built ${"2026-05-09T12:48:59.346Z"})`
490473
+ value: `${"99.0.0"} (built ${"2026-05-09T13:14:45.269Z"})`
490366
490474
  };
490367
490475
  }, version2, version_default;
490368
490476
  var init_version = __esm(() => {
@@ -559278,7 +559386,7 @@ function WelcomeV2() {
559278
559386
  dimColor: true,
559279
559387
  children: [
559280
559388
  "v",
559281
- "0.3.74",
559389
+ "0.3.76",
559282
559390
  " "
559283
559391
  ]
559284
559392
  }, undefined, true, undefined, this)
@@ -578736,7 +578844,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
578736
578844
  pendingHookMessages
578737
578845
  }, renderAndRun);
578738
578846
  }
578739
- }).version("0.3.74 (STRATAGEM X7)", "-v, --version", "Output the version number");
578847
+ }).version("0.3.76 (STRATAGEM X7)", "-v, --version", "Output the version number");
578740
578848
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
578741
578849
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
578742
578850
  if (canUserConfigureAdvisor()) {
@@ -579197,7 +579305,7 @@ if (false) {}
579197
579305
  async function main2() {
579198
579306
  const args = process.argv.slice(2);
579199
579307
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
579200
- console.log(`${"0.3.74"} (STRATAGEM X7)`);
579308
+ console.log(`${"0.3.76"} (STRATAGEM X7)`);
579201
579309
  return;
579202
579310
  }
579203
579311
  if (args.includes("--provider")) {
@@ -579319,4 +579427,4 @@ async function main2() {
579319
579427
  }
579320
579428
  main2();
579321
579429
 
579322
- //# debugId=6FFAB1937EC64D9664756E2164756E21
579430
+ //# debugId=05BCEED68E09DCD764756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratagem-x7",
3
- "version": "0.3.74",
3
+ "version": "0.3.76",
4
4
  "description": "STRATAGEM X7 is a cyberpunk coding-agent CLI for cloud and local model providers",
5
5
  "type": "module",
6
6
  "bin": {