stratagem-x7 0.3.5 → 0.3.6

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 +67 -38
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -218909,6 +218909,9 @@ function convertMessages(messages, system) {
218909
218909
  return typeof c6 === "string" ? c6 : Array.isArray(c6) ? c6.map((p) => p.text ?? "").join("") : "";
218910
218910
  })()
218911
218911
  };
218912
+ if (thinkingBlock && thinkingBlock.thinking) {
218913
+ assistantMsg.reasoning_content = thinkingBlock.thinking;
218914
+ }
218912
218915
  if (toolUses.length > 0) {
218913
218916
  assistantMsg.tool_calls = toolUses.map((tu, index) => {
218914
218917
  const toolCall = {
@@ -292456,7 +292459,7 @@ function AssistantTextMessage(t0) {
292456
292459
  let t6;
292457
292460
  if ($2[27] !== t4 || $2[28] !== t5) {
292458
292461
  t6 = /* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedBox_default, {
292459
- flexDirection: "row",
292462
+ flexDirection: "column",
292460
292463
  borderStyle: "single",
292461
292464
  borderColor: "claude",
292462
292465
  borderLeft: true,
@@ -292465,8 +292468,21 @@ function AssistantTextMessage(t0) {
292465
292468
  borderBottom: false,
292466
292469
  paddingLeft: 1,
292467
292470
  children: [
292468
- t4,
292469
- t5
292471
+ /* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedBox_default, {
292472
+ marginBottom: 1,
292473
+ children: /* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedText, {
292474
+ color: "claude",
292475
+ italic: true,
292476
+ children: "STRATAGEM"
292477
+ }, undefined, false, undefined, this)
292478
+ }, undefined, false, undefined, this),
292479
+ /* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedBox_default, {
292480
+ flexDirection: "row",
292481
+ children: [
292482
+ t4,
292483
+ t5
292484
+ ]
292485
+ }, undefined, true, undefined, this)
292470
292486
  ]
292471
292487
  }, undefined, true, undefined, this);
292472
292488
  $2[27] = t4;
@@ -292546,7 +292562,7 @@ function AssistantThinkingMessage(t0) {
292546
292562
  let t52;
292547
292563
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
292548
292564
  t52 = /* @__PURE__ */ jsx_dev_runtime78.jsxDEV(ThemedText, {
292549
- color: "promptBorder",
292565
+ dimColor: true,
292550
292566
  italic: true,
292551
292567
  children: [
292552
292568
  "TRACE // COGNITION",
@@ -292563,7 +292579,7 @@ function AssistantThinkingMessage(t0) {
292563
292579
  t62 = /* @__PURE__ */ jsx_dev_runtime78.jsxDEV(ThemedBox_default, {
292564
292580
  marginTop: t42,
292565
292581
  borderStyle: "single",
292566
- borderColor: "promptBorder",
292582
+ borderColor: "dim",
292567
292583
  borderLeft: true,
292568
292584
  borderTop: false,
292569
292585
  borderRight: false,
@@ -292582,7 +292598,7 @@ function AssistantThinkingMessage(t0) {
292582
292598
  let t5;
292583
292599
  if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
292584
292600
  t5 = /* @__PURE__ */ jsx_dev_runtime78.jsxDEV(ThemedText, {
292585
- color: "promptBorder",
292601
+ dimColor: true,
292586
292602
  italic: true,
292587
292603
  children: [
292588
292604
  "TRACE // COGNITION",
@@ -292615,7 +292631,7 @@ function AssistantThinkingMessage(t0) {
292615
292631
  marginTop: t4,
292616
292632
  width: "100%",
292617
292633
  borderStyle: "single",
292618
- borderColor: "promptBorder",
292634
+ borderColor: "dim",
292619
292635
  borderLeft: true,
292620
292636
  borderTop: false,
292621
292637
  borderRight: false,
@@ -294749,12 +294765,22 @@ ${tail}`;
294749
294765
  borderTop: false,
294750
294766
  borderRight: false,
294751
294767
  borderBottom: false,
294752
- children: /* @__PURE__ */ jsx_dev_runtime92.jsxDEV(HighlightedThinkingText, {
294753
- text: displayText,
294754
- useBriefLayout,
294755
- timestamp: useBriefLayout ? timestamp : undefined
294756
- }, undefined, false, undefined, this)
294757
- }, undefined, false, undefined, this);
294768
+ children: [
294769
+ !useBriefLayout && /* @__PURE__ */ jsx_dev_runtime92.jsxDEV(ThemedBox_default, {
294770
+ marginBottom: 1,
294771
+ children: /* @__PURE__ */ jsx_dev_runtime92.jsxDEV(ThemedText, {
294772
+ color: "promptBorder",
294773
+ italic: true,
294774
+ children: "USER"
294775
+ }, undefined, false, undefined, this)
294776
+ }, undefined, false, undefined, this),
294777
+ /* @__PURE__ */ jsx_dev_runtime92.jsxDEV(HighlightedThinkingText, {
294778
+ text: displayText,
294779
+ useBriefLayout,
294780
+ timestamp: useBriefLayout ? timestamp : undefined
294781
+ }, undefined, false, undefined, this)
294782
+ ]
294783
+ }, undefined, true, undefined, this);
294758
294784
  }
294759
294785
  var import_react70, jsx_dev_runtime92, MAX_DISPLAY_CHARS = 1e4, TRUNCATE_HEAD_CHARS = 2500, TRUNCATE_TAIL_CHARS = 2500;
294760
294786
  var init_UserPromptMessage = __esm(() => {
@@ -373529,11 +373555,11 @@ function collapseReadSearchGroups(messages, tools) {
373529
373555
  if (currentGroup.messages.length === 0) {
373530
373556
  return;
373531
373557
  }
373532
- result.push(createCollapsedGroup(currentGroup));
373533
373558
  for (const deferred of deferredSkippable) {
373534
373559
  result.push(deferred);
373535
373560
  }
373536
373561
  deferredSkippable = [];
373562
+ result.push(createCollapsedGroup(currentGroup));
373537
373563
  currentGroup = createEmptyGroup();
373538
373564
  }
373539
373565
  for (const msg of messages) {
@@ -373621,7 +373647,11 @@ function collapseReadSearchGroups(messages, tools) {
373621
373647
  currentGroup.relevantMemories ??= [];
373622
373648
  currentGroup.relevantMemories.push(...msg.attachment.memories);
373623
373649
  } else if (shouldSkipMessage(msg)) {
373624
- if (currentGroup.messages.length > 0 && !(msg.type === "attachment" && msg.attachment.type === "nested_memory")) {
373650
+ const isThinking = msg.type === "assistant" && (msg.message.content[0]?.type === "thinking" || msg.message.content[0]?.type === "redacted_thinking");
373651
+ if (isThinking && currentGroup.messages.length > 0) {
373652
+ flushGroup();
373653
+ result.push(msg);
373654
+ } else if (currentGroup.messages.length > 0 && !(msg.type === "attachment" && msg.attachment.type === "nested_memory")) {
373625
373655
  deferredSkippable.push(msg);
373626
373656
  } else {
373627
373657
  result.push(msg);
@@ -382788,7 +382818,7 @@ function getAnthropicEnvMetadata() {
382788
382818
  function getBuildAgeMinutes() {
382789
382819
  if (false)
382790
382820
  ;
382791
- const buildTime = new Date("2026-04-24T10:50:02.487Z").getTime();
382821
+ const buildTime = new Date("2026-04-24T13:00:51.720Z").getTime();
382792
382822
  if (isNaN(buildTime))
382793
382823
  return;
382794
382824
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -407057,7 +407087,7 @@ var init_feedback2 = __esm(() => {
407057
407087
  aliases: ["bug"],
407058
407088
  type: "local-jsx",
407059
407089
  name: "feedback",
407060
- description: `Submit feedback about Claude Code`,
407090
+ description: `Submit feedback about Stratagem`,
407061
407091
  argumentHint: "[report]",
407062
407092
  isEnabled: () => !(isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || isEnvTruthy(process.env.DISABLE_FEEDBACK_COMMAND) || isEnvTruthy(process.env.DISABLE_BUG_COMMAND) || isEssentialTrafficOnly() || process.env.USER_TYPE === "ant" || !isPolicyAllowed("allow_product_feedback")),
407063
407093
  load: () => Promise.resolve().then(() => (init_feedback(), exports_feedback))
@@ -409967,7 +409997,7 @@ function buildPrimarySection() {
409967
409997
  }, undefined, false, undefined, this);
409968
409998
  return [{
409969
409999
  label: "Version",
409970
- value: "0.3.5"
410000
+ value: "0.3.6"
409971
410001
  }, {
409972
410002
  label: "Session name",
409973
410003
  value: nameValue
@@ -421564,7 +421594,7 @@ var init_doctor2 = __esm(() => {
421564
421594
  init_envUtils();
421565
421595
  doctor = {
421566
421596
  name: "doctor",
421567
- description: "Diagnose and verify your Claude Code installation and settings",
421597
+ description: "Diagnose and verify your Stratagem installation and settings",
421568
421598
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_DOCTOR_COMMAND),
421569
421599
  type: "local-jsx",
421570
421600
  load: () => Promise.resolve().then(() => (init_doctor(), exports_doctor))
@@ -421918,7 +421948,7 @@ var init_memoryFileSelectorPaths = __esm(() => {
421918
421948
 
421919
421949
  // src/components/memory/MemoryFileSelector.tsx
421920
421950
  import { mkdir as mkdir29 } from "fs/promises";
421921
- import { basename as basename36, join as join112 } from "path";
421951
+ import { basename as basename36 } from "path";
421922
421952
  function MemoryFileSelector(t0) {
421923
421953
  const $2 = import_react_compiler_runtime156.c(58);
421924
421954
  const {
@@ -421927,7 +421957,7 @@ function MemoryFileSelector(t0) {
421927
421957
  } = t0;
421928
421958
  const existingMemoryFiles = import_react121.use(getMemoryFiles());
421929
421959
  const originalCwd = getOriginalCwd();
421930
- const userMemoryPath = join112(getClaudeConfigHomeDir(), "CLAUDE.md");
421960
+ const userMemoryPath = getAutoMemEntrypoint();
421931
421961
  const projectMemoryPath = getProjectMemoryPathForSelector(existingMemoryFiles, originalCwd);
421932
421962
  const projectMemoryFileName = basename36(projectMemoryPath);
421933
421963
  const hasUserMemory = existingMemoryFiles.some((f) => f.path === userMemoryPath);
@@ -421967,7 +421997,7 @@ function MemoryFileSelector(t0) {
421967
421997
  let description;
421968
421998
  const isGit = projectIsInGitRepo(originalCwd);
421969
421999
  if (file2.type === "User" && !file2.isNested) {
421970
- description = "Saved in ~/.claude/CLAUDE.md";
422000
+ description = `Saved in ${getDisplayPath(userMemoryPath)}`;
421971
422001
  } else {
421972
422002
  if (file2.type === "Project" && !file2.isNested && file2.path === projectMemoryPath) {
421973
422003
  description = `${isGit ? "Checked in at" : "Saved in"} ./${projectMemoryFileName}`;
@@ -422379,7 +422409,6 @@ var init_MemoryFileSelector = __esm(() => {
422379
422409
  init_agentMemory();
422380
422410
  init_browser();
422381
422411
  init_claudemd();
422382
- init_envUtils();
422383
422412
  init_file();
422384
422413
  init_format2();
422385
422414
  init_versions3();
@@ -422714,7 +422743,7 @@ ${editorHint}`, {
422714
422743
  children: [
422715
422744
  "Learn more: ",
422716
422745
  /* @__PURE__ */ jsx_dev_runtime207.jsxDEV(Link, {
422717
- url: "https://code.claude.com/docs/en/memory"
422746
+ url: "https://github.com/EstarinAzx/STRATAGEM"
422718
422747
  }, undefined, false, undefined, this)
422719
422748
  ]
422720
422749
  }, undefined, true, undefined, this)
@@ -422750,7 +422779,7 @@ var init_memory2 = __esm(() => {
422750
422779
  memory = {
422751
422780
  type: "local-jsx",
422752
422781
  name: "memory",
422753
- description: "Edit Claude memory files",
422782
+ description: "Edit memory files",
422754
422783
  load: () => Promise.resolve().then(() => (init_memory(), exports_memory))
422755
422784
  };
422756
422785
  memory_default = memory;
@@ -448150,7 +448179,7 @@ var init_mobile2 = __esm(() => {
448150
448179
  type: "local-jsx",
448151
448180
  name: "mobile",
448152
448181
  aliases: ["ios", "android"],
448153
- description: "Show QR code to download the Claude mobile app",
448182
+ description: "Show QR code to download the mobile app",
448154
448183
  load: () => Promise.resolve().then(() => (init_mobile(), exports_mobile))
448155
448184
  };
448156
448185
  mobile_default = mobile;
@@ -449595,7 +449624,7 @@ function getStartupLines(termWidth) {
449595
449624
  const sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
449596
449625
  out.push(centerAnsiLine(boxRow(sRow, W2, sLen), tw));
449597
449626
  out.push(centerAnsiLine(`${rgb3(...BORDER)}└${"─".repeat(W2 - 2)}┘${RESET2}`, tw));
449598
- out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.5"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
449627
+ out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.6"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
449599
449628
  out.push("");
449600
449629
  return out;
449601
449630
  }
@@ -457030,7 +457059,7 @@ var init_status3 = __esm(() => {
457030
457059
  status = {
457031
457060
  type: "local-jsx",
457032
457061
  name: "status",
457033
- description: "Show Claude Code status including version, model, account, API connectivity, and tool statuses",
457062
+ description: "Show Stratagem status including version, model, account, API connectivity, and tool statuses",
457034
457063
  immediate: true,
457035
457064
  load: () => Promise.resolve().then(() => (init_status2(), exports_status))
457036
457065
  };
@@ -477235,7 +477264,7 @@ var init_plugin2 = __esm(() => {
477235
477264
  type: "local-jsx",
477236
477265
  name: "plugin",
477237
477266
  aliases: ["plugins", "marketplace"],
477238
- description: "Manage Claude Code plugins",
477267
+ description: "Manage Stratagem plugins",
477239
477268
  immediate: true,
477240
477269
  load: () => Promise.resolve().then(() => (init_plugin(), exports_plugin))
477241
477270
  };
@@ -478144,7 +478173,7 @@ var init_bridge_kick = __esm(() => {
478144
478173
  var call60 = async () => {
478145
478174
  return {
478146
478175
  type: "text",
478147
- value: `${"99.0.0"} (built ${"2026-04-24T10:50:02.487Z"})`
478176
+ value: `${"99.0.0"} (built ${"2026-04-24T13:00:51.720Z"})`
478148
478177
  };
478149
478178
  }, version2, version_default;
478150
478179
  var init_version = __esm(() => {
@@ -480624,7 +480653,7 @@ var init_stickers2 = __esm(() => {
480624
480653
  stickers = {
480625
480654
  type: "local",
480626
480655
  name: "stickers",
480627
- description: "Order Claude Code stickers",
480656
+ description: "Order Stratagem stickers",
480628
480657
  supportsNonInteractive: false,
480629
480658
  load: () => Promise.resolve().then(() => (init_stickers(), exports_stickers))
480630
480659
  };
@@ -482143,7 +482172,7 @@ var init_model3 = __esm(() => {
482143
482172
  type: "local-jsx",
482144
482173
  name: "model",
482145
482174
  get description() {
482146
- return `Set the AI model for Claude Code (currently ${renderModelName(getMainLoopModel())})`;
482175
+ return `Set the AI model for Stratagem (currently ${renderModelName(getMainLoopModel())})`;
482147
482176
  },
482148
482177
  argumentHint: "[model]",
482149
482178
  get immediate() {
@@ -486499,7 +486528,7 @@ var init_stats3 = __esm(() => {
486499
486528
  stats = {
486500
486529
  type: "local-jsx",
486501
486530
  name: "stats",
486502
- description: "Show your Claude Code usage statistics and activity",
486531
+ description: "Show your Stratagem usage statistics and activity",
486503
486532
  load: () => Promise.resolve().then(() => (init_stats2(), exports_stats))
486504
486533
  };
486505
486534
  stats_default = stats;
@@ -553535,7 +553564,7 @@ function WelcomeV2() {
553535
553564
  dimColor: true,
553536
553565
  children: [
553537
553566
  "v",
553538
- "0.3.5",
553567
+ "0.3.6",
553539
553568
  " "
553540
553569
  ]
553541
553570
  }, undefined, true, undefined, this)
@@ -557620,7 +557649,7 @@ function generateSettingsSchema() {
557620
557649
  function registerUpdateConfigSkill() {
557621
557650
  registerBundledSkill({
557622
557651
  name: "update-config",
557623
- description: 'Use this skill to configure the Claude Code harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not Claude, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, use Config tool.',
557652
+ description: 'Use this skill to configure the Stratagem harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not the agent, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, use Config tool.',
557624
557653
  allowedTools: ["Read"],
557625
557654
  userInvocable: true,
557626
557655
  async getPromptForCommand(args) {
@@ -573553,7 +573582,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
573553
573582
  pendingHookMessages
573554
573583
  }, renderAndRun);
573555
573584
  }
573556
- }).version("0.3.5 (STRATAGEM X7)", "-v, --version", "Output the version number");
573585
+ }).version("0.3.6 (STRATAGEM X7)", "-v, --version", "Output the version number");
573557
573586
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
573558
573587
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
573559
573588
  if (canUserConfigureAdvisor()) {
@@ -574082,7 +574111,7 @@ if (false) {}
574082
574111
  async function main2() {
574083
574112
  const args = process.argv.slice(2);
574084
574113
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
574085
- console.log(`${"0.3.5"} (STRATAGEM X7)`);
574114
+ console.log(`${"0.3.6"} (STRATAGEM X7)`);
574086
574115
  return;
574087
574116
  }
574088
574117
  if (args.includes("--provider")) {
@@ -574204,4 +574233,4 @@ async function main2() {
574204
574233
  }
574205
574234
  main2();
574206
574235
 
574207
- //# debugId=652CAA3C920DAF9864756E2164756E21
574236
+ //# debugId=213DA9419217F0CA64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratagem-x7",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "STRATAGEM X7 is a cyberpunk coding-agent CLI for cloud and local model providers",
5
5
  "type": "module",
6
6
  "bin": {