stratagem-x7 0.3.67 → 0.3.69

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 +279 -178
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -134021,7 +134021,8 @@ var init_event_handlers = __esm(() => {
134021
134021
  blur: { bubble: "onBlur", capture: "onBlurCapture" },
134022
134022
  paste: { bubble: "onPaste", capture: "onPasteCapture" },
134023
134023
  resize: { bubble: "onResize" },
134024
- click: { bubble: "onClick" }
134024
+ click: { bubble: "onClick" },
134025
+ press: { bubble: "onPress" }
134025
134026
  };
134026
134027
  EVENT_HANDLER_PROPS = new Set([
134027
134028
  "onKeyDown",
@@ -134034,6 +134035,7 @@ var init_event_handlers = __esm(() => {
134034
134035
  "onPasteCapture",
134035
134036
  "onResize",
134036
134037
  "onClick",
134038
+ "onPress",
134037
134039
  "onMouseEnter",
134038
134040
  "onMouseLeave"
134039
134041
  ]);
@@ -138888,7 +138890,7 @@ var init_CursorDeclarationContext = __esm(() => {
138888
138890
  });
138889
138891
  // src/ink/components/Box.tsx
138890
138892
  function BoxInner(t0, ref) {
138891
- const $2 = import_react_compiler_runtime4.c(42);
138893
+ const $2 = import_react_compiler_runtime4.c(44);
138892
138894
  let autoFocus;
138893
138895
  let children;
138894
138896
  let flexDirection;
@@ -138898,6 +138900,7 @@ function BoxInner(t0, ref) {
138898
138900
  let onBlur;
138899
138901
  let onBlurCapture;
138900
138902
  let onClick;
138903
+ let onPress;
138901
138904
  let onFocus;
138902
138905
  let onFocusCapture;
138903
138906
  let onKeyDown;
@@ -138916,6 +138919,7 @@ function BoxInner(t0, ref) {
138916
138919
  tabIndex: t6,
138917
138920
  autoFocus: t7,
138918
138921
  onClick: t8,
138922
+ onPress: t8b,
138919
138923
  onFocus: t9,
138920
138924
  onFocusCapture: t10,
138921
138925
  onBlur: t11,
@@ -138930,6 +138934,7 @@ function BoxInner(t0, ref) {
138930
138934
  tabIndex = t6;
138931
138935
  autoFocus = t7;
138932
138936
  onClick = t8;
138937
+ onPress = t8b;
138933
138938
  onFocus = t9;
138934
138939
  onFocusCapture = t10;
138935
138940
  onBlur = t11;
@@ -138978,6 +138983,7 @@ function BoxInner(t0, ref) {
138978
138983
  $2[15] = onMouseLeave;
138979
138984
  $2[16] = style;
138980
138985
  $2[17] = tabIndex;
138986
+ $2[42] = onPress;
138981
138987
  } else {
138982
138988
  autoFocus = $2[1];
138983
138989
  children = $2[2];
@@ -138996,6 +139002,7 @@ function BoxInner(t0, ref) {
138996
139002
  onMouseLeave = $2[15];
138997
139003
  style = $2[16];
138998
139004
  tabIndex = $2[17];
139005
+ onPress = $2[42];
138999
139006
  }
139000
139007
  const t1 = style.overflowX ?? style.overflow ?? "visible";
139001
139008
  const t2 = style.overflowY ?? style.overflow ?? "visible";
@@ -139022,12 +139029,13 @@ function BoxInner(t0, ref) {
139022
139029
  t3 = $2[26];
139023
139030
  }
139024
139031
  let t4;
139025
- if ($2[27] !== autoFocus || $2[28] !== children || $2[29] !== onBlur || $2[30] !== onBlurCapture || $2[31] !== onClick || $2[32] !== onFocus || $2[33] !== onFocusCapture || $2[34] !== onKeyDown || $2[35] !== onKeyDownCapture || $2[36] !== onMouseEnter || $2[37] !== onMouseLeave || $2[38] !== ref || $2[39] !== t3 || $2[40] !== tabIndex) {
139032
+ if ($2[27] !== autoFocus || $2[28] !== children || $2[29] !== onBlur || $2[30] !== onBlurCapture || $2[31] !== onClick || $2[32] !== onFocus || $2[33] !== onFocusCapture || $2[34] !== onKeyDown || $2[35] !== onKeyDownCapture || $2[36] !== onMouseEnter || $2[37] !== onMouseLeave || $2[38] !== ref || $2[39] !== t3 || $2[40] !== tabIndex || $2[43] !== onPress) {
139026
139033
  t4 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV("ink-box", {
139027
139034
  ref,
139028
139035
  tabIndex,
139029
139036
  autoFocus,
139030
139037
  onClick,
139038
+ onPress,
139031
139039
  onFocus,
139032
139040
  onFocusCapture,
139033
139041
  onBlur,
@@ -139054,6 +139062,7 @@ function BoxInner(t0, ref) {
139054
139062
  $2[39] = t3;
139055
139063
  $2[40] = tabIndex;
139056
139064
  $2[41] = t4;
139065
+ $2[43] = onPress;
139057
139066
  } else {
139058
139067
  t4 = $2[41];
139059
139068
  }
@@ -139391,9 +139400,17 @@ function handleMouseEvent(app, m) {
139391
139400
  }
139392
139401
  if (baseButton !== 0) {
139393
139402
  app.clickCount = 0;
139403
+ if (app.activeDrag) {
139404
+ app.activeDrag.onEnd?.(col, row);
139405
+ app.activeDrag = null;
139406
+ }
139394
139407
  return;
139395
139408
  }
139396
139409
  if ((m.button & 32) !== 0) {
139410
+ if (app.activeDrag) {
139411
+ app.activeDrag.onMove?.(col, row);
139412
+ return;
139413
+ }
139397
139414
  app.props.onSelectionDrag(col, row);
139398
139415
  return;
139399
139416
  }
@@ -139416,11 +139433,21 @@ function handleMouseEvent(app, m) {
139416
139433
  app.props.onMultiClick(col, row, count3);
139417
139434
  return;
139418
139435
  }
139436
+ const dragHandler = app.props.onPressAt(col, row);
139437
+ if (dragHandler) {
139438
+ app.activeDrag = dragHandler;
139439
+ return;
139440
+ }
139419
139441
  startSelection(sel, col, row);
139420
139442
  sel.lastPressHadAlt = (m.button & 8) !== 0;
139421
139443
  app.props.onSelectionChange();
139422
139444
  return;
139423
139445
  }
139446
+ if (app.activeDrag) {
139447
+ app.activeDrag.onEnd?.(col, row);
139448
+ app.activeDrag = null;
139449
+ return;
139450
+ }
139424
139451
  if (baseButton !== 0) {
139425
139452
  if (!sel.isDragging)
139426
139453
  return;
@@ -139498,6 +139525,7 @@ var init_App = __esm(() => {
139498
139525
  pendingHyperlinkTimer = null;
139499
139526
  lastHoverCol = -1;
139500
139527
  lastHoverRow = -1;
139528
+ activeDrag = null;
139501
139529
  lastStdinTime = Date.now();
139502
139530
  isRawModeSupported() {
139503
139531
  return this.props.stdin.isTTY;
@@ -139797,6 +139825,29 @@ var init_click_event = __esm(() => {
139797
139825
  };
139798
139826
  });
139799
139827
 
139828
+ // src/ink/events/press-event.ts
139829
+ var PressEvent;
139830
+ var init_press_event = __esm(() => {
139831
+ PressEvent = class PressEvent extends Event2 {
139832
+ col;
139833
+ row;
139834
+ localCol = 0;
139835
+ localRow = 0;
139836
+ dragHandler = null;
139837
+ constructor(col, row) {
139838
+ super();
139839
+ this.col = col;
139840
+ this.row = row;
139841
+ }
139842
+ beginDrag(handler) {
139843
+ this.dragHandler = handler;
139844
+ }
139845
+ _getDragHandler() {
139846
+ return this.dragHandler;
139847
+ }
139848
+ };
139849
+ });
139850
+
139800
139851
  // src/ink/hit-test.ts
139801
139852
  function hitTest(node, col, row) {
139802
139853
  const rect = nodeCache.get(node);
@@ -139848,6 +139899,27 @@ function dispatchClick(root2, col, row, cellIsBlank = false) {
139848
139899
  }
139849
139900
  return handled;
139850
139901
  }
139902
+ function dispatchPress(root2, col, row) {
139903
+ let target = hitTest(root2, col, row) ?? undefined;
139904
+ if (!target)
139905
+ return null;
139906
+ const event = new PressEvent(col, row);
139907
+ while (target) {
139908
+ const handler = target._eventHandlers?.onPress;
139909
+ if (handler) {
139910
+ const rect = nodeCache.get(target);
139911
+ if (rect) {
139912
+ event.localCol = col - rect.x;
139913
+ event.localRow = row - rect.y;
139914
+ }
139915
+ handler(event);
139916
+ if (event.didStopImmediatePropagation())
139917
+ break;
139918
+ }
139919
+ target = target.parentNode;
139920
+ }
139921
+ return event._getDragHandler();
139922
+ }
139851
139923
  function dispatchHover(root2, col, row, hovered) {
139852
139924
  const next = new Set;
139853
139925
  let node = hitTest(root2, col, row) ?? undefined;
@@ -139874,6 +139946,7 @@ function dispatchHover(root2, col, row, hovered) {
139874
139946
  }
139875
139947
  var init_hit_test = __esm(() => {
139876
139948
  init_click_event();
139949
+ init_press_event();
139877
139950
  init_node_cache();
139878
139951
  });
139879
139952
 
@@ -143519,6 +143592,11 @@ class Ink {
143519
143592
  const blank = isEmptyCellAt(this.frontFrame.screen, col, row);
143520
143593
  return dispatchClick(this.rootNode, col, row, blank);
143521
143594
  }
143595
+ dispatchPress(col, row) {
143596
+ if (!this.altScreenActive)
143597
+ return null;
143598
+ return dispatchPress(this.rootNode, col, row);
143599
+ }
143522
143600
  dispatchHover(col, row) {
143523
143601
  if (!this.altScreenActive)
143524
143602
  return;
@@ -143646,6 +143724,7 @@ class Ink {
143646
143724
  selection: this.selection,
143647
143725
  onSelectionChange: this.notifySelectionChange,
143648
143726
  onClickAt: this.dispatchClick,
143727
+ onPressAt: this.dispatchPress,
143649
143728
  onHoverAt: this.dispatchHover,
143650
143729
  getHyperlinkAt: this.getHyperlinkAt,
143651
143730
  onOpenHyperlink: this.openHyperlink,
@@ -226995,7 +227074,7 @@ var init_Pane = __esm(() => {
226995
227074
 
226996
227075
  // src/components/design-system/Dialog.tsx
226997
227076
  function Dialog(t0) {
226998
- const $2 = import_react_compiler_runtime31.c(27);
227077
+ const $2 = import_react_compiler_runtime31.c(28);
226999
227078
  const {
227000
227079
  title,
227001
227080
  subtitle,
@@ -227052,22 +227131,6 @@ function Dialog(t0) {
227052
227131
  t4 = $2[4];
227053
227132
  }
227054
227133
  const defaultInputGuide = t4;
227055
- let t5;
227056
- if ($2[5] !== color2 || $2[6] !== title) {
227057
- t5 = /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedText, {
227058
- bold: true,
227059
- color: color2,
227060
- children: [
227061
- "BREACH // ",
227062
- title
227063
- ]
227064
- }, undefined, true, undefined, this);
227065
- $2[5] = color2;
227066
- $2[6] = title;
227067
- $2[7] = t5;
227068
- } else {
227069
- t5 = $2[7];
227070
- }
227071
227134
  let t6;
227072
227135
  if ($2[8] !== subtitle) {
227073
227136
  t6 = subtitle && /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedText, {
@@ -227079,33 +227142,18 @@ function Dialog(t0) {
227079
227142
  } else {
227080
227143
  t6 = $2[9];
227081
227144
  }
227082
- let t7;
227083
- if ($2[10] !== t5 || $2[11] !== t6) {
227084
- t7 = /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedBox_default, {
227085
- flexDirection: "column",
227086
- children: [
227087
- t5,
227088
- t6
227089
- ]
227090
- }, undefined, true, undefined, this);
227091
- $2[10] = t5;
227092
- $2[11] = t6;
227093
- $2[12] = t7;
227094
- } else {
227095
- t7 = $2[12];
227096
- }
227097
227145
  let t8;
227098
- if ($2[13] !== children || $2[14] !== t7) {
227146
+ if ($2[13] !== children || $2[14] !== t6) {
227099
227147
  t8 = /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedBox_default, {
227100
227148
  flexDirection: "column",
227101
227149
  gap: 1,
227102
227150
  children: [
227103
- t7,
227151
+ t6,
227104
227152
  children
227105
227153
  ]
227106
227154
  }, undefined, true, undefined, this);
227107
227155
  $2[13] = children;
227108
- $2[14] = t7;
227156
+ $2[14] = t6;
227109
227157
  $2[15] = t8;
227110
227158
  } else {
227111
227159
  t8 = $2[15];
@@ -227148,17 +227196,36 @@ function Dialog(t0) {
227148
227196
  if (hideBorder) {
227149
227197
  return content;
227150
227198
  }
227199
+ const paneTitle = typeof title === "string" ? title : undefined;
227151
227200
  let t11;
227152
- if ($2[24] !== color2 || $2[25] !== content) {
227153
- t11 = /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(Pane, {
227201
+ if ($2[24] !== color2 || $2[25] !== content || $2[26] !== paneTitle) {
227202
+ t11 = paneTitle ? /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(Pane, {
227154
227203
  color: color2,
227204
+ title: paneTitle,
227155
227205
  children: content
227206
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(Pane, {
227207
+ color: color2,
227208
+ children: typeof title !== "string" && title ? /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedBox_default, {
227209
+ flexDirection: "column",
227210
+ children: [
227211
+ /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedText, {
227212
+ bold: true,
227213
+ color: color2,
227214
+ children: [
227215
+ "BREACH // ",
227216
+ title
227217
+ ]
227218
+ }, undefined, true, undefined, this),
227219
+ content
227220
+ ]
227221
+ }, undefined, true, undefined, this) : content
227156
227222
  }, undefined, false, undefined, this);
227157
227223
  $2[24] = color2;
227158
227224
  $2[25] = content;
227159
- $2[26] = t11;
227225
+ $2[26] = paneTitle;
227226
+ $2[27] = t11;
227160
227227
  } else {
227161
- t11 = $2[26];
227228
+ t11 = $2[27];
227162
227229
  }
227163
227230
  return t11;
227164
227231
  }
@@ -305607,7 +305674,7 @@ function TaskListV2({
305607
305674
  }, task_0.id, false, undefined, this)),
305608
305675
  maxDisplay > 0 && hiddenSummary && /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(FullWidthRow, {
305609
305676
  children: /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305610
- dimColor: true,
305677
+ color: "gray",
305611
305678
  children: hiddenSummary
305612
305679
  }, undefined, false, undefined, this)
305613
305680
  }, undefined, false, undefined, this)
@@ -305623,7 +305690,7 @@ function TaskListV2({
305623
305690
  /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedBox_default, {
305624
305691
  width: "100%",
305625
305692
  children: /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305626
- dimColor: true,
305693
+ color: "gray",
305627
305694
  children: [
305628
305695
  /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305629
305696
  bold: true,
@@ -305761,7 +305828,7 @@ function TaskItem(t0) {
305761
305828
  t7 = /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305762
305829
  bold: isInProgress,
305763
305830
  strikethrough: isCompleted,
305764
- dimColor: t6,
305831
+ color: t6 ? "gray" : undefined,
305765
305832
  children: displaySubject
305766
305833
  }, undefined, false, undefined, this);
305767
305834
  $2[14] = displaySubject;
@@ -305775,7 +305842,7 @@ function TaskItem(t0) {
305775
305842
  let t8;
305776
305843
  if ($2[19] !== ownerColor || $2[20] !== showOwner || $2[21] !== task.owner) {
305777
305844
  t8 = showOwner && /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305778
- dimColor: true,
305845
+ color: "gray",
305779
305846
  children: [
305780
305847
  " (",
305781
305848
  ownerColor ? /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
@@ -305798,7 +305865,7 @@ function TaskItem(t0) {
305798
305865
  let t9;
305799
305866
  if ($2[23] !== isBlocked || $2[24] !== openBlockers) {
305800
305867
  t9 = isBlocked && /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305801
- dimColor: true,
305868
+ color: "gray",
305802
305869
  children: [
305803
305870
  " ",
305804
305871
  figures_default.pointerSmall,
@@ -305835,7 +305902,7 @@ function TaskItem(t0) {
305835
305902
  if ($2[31] !== displayActivity || $2[32] !== showActivity) {
305836
305903
  t11 = showActivity && displayActivity && /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(FullWidthRow, {
305837
305904
  children: /* @__PURE__ */ jsx_dev_runtime83.jsxDEV(ThemedText, {
305838
- dimColor: true,
305905
+ color: "gray",
305839
305906
  children: [
305840
305907
  " ",
305841
305908
  displayActivity,
@@ -308161,7 +308228,7 @@ function ConsoleOAuthFlow({
308161
308228
  state: "success"
308162
308229
  });
308163
308230
  sendNotification({
308164
- message: "Claude Code login successful",
308231
+ message: "Stratagem login successful",
308165
308232
  notificationType: "auth_success"
308166
308233
  }, terminal);
308167
308234
  }
@@ -309715,7 +309782,7 @@ function AssistantTextMessage(t0) {
309715
309782
  borderColor: "claude",
309716
309783
  paddingLeft: 1,
309717
309784
  paddingRight: 1,
309718
- borderText: { content: " STRATAGEM ", position: "top", align: "start", offset: 1 },
309785
+ borderText: { content: " STRATAGEM ", position: "top", align: "start", offset: 1 },
309719
309786
  children: /* @__PURE__ */ jsx_dev_runtime95.jsxDEV(ThemedBox_default, {
309720
309787
  flexDirection: "row",
309721
309788
  children: [
@@ -311972,7 +312039,7 @@ ${tail}`;
311972
312039
  logError2(new Error("No content found in user prompt message"));
311973
312040
  return null;
311974
312041
  }
311975
- const borderText = useBriefLayout ? undefined : { content: " USER ", position: "top", align: "start", offset: 1 };
312042
+ const borderText = useBriefLayout ? undefined : { content: " USER ", position: "top", align: "start", offset: 1 };
311976
312043
  return /* @__PURE__ */ jsx_dev_runtime110.jsxDEV(ThemedBox_default, {
311977
312044
  alignItems: "flex-start",
311978
312045
  flexDirection: "row",
@@ -312334,31 +312401,10 @@ var init_ShutdownMessage = __esm(() => {
312334
312401
 
312335
312402
  // src/components/messages/TaskAssignmentMessage.tsx
312336
312403
  function TaskAssignmentDisplay(t0) {
312337
- const $2 = import_react_compiler_runtime91.c(11);
312404
+ const $2 = import_react_compiler_runtime91.c(9);
312338
312405
  const {
312339
312406
  assignment
312340
312407
  } = t0;
312341
- let t1;
312342
- if ($2[0] !== assignment.assignedBy || $2[1] !== assignment.taskId) {
312343
- t1 = /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312344
- marginBottom: 1,
312345
- children: /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedText, {
312346
- color: "cyan_FOR_SUBAGENTS_ONLY",
312347
- bold: true,
312348
- children: [
312349
- "Task #",
312350
- assignment.taskId,
312351
- " assigned by ",
312352
- assignment.assignedBy
312353
- ]
312354
- }, undefined, true, undefined, this)
312355
- }, undefined, false, undefined, this);
312356
- $2[0] = assignment.assignedBy;
312357
- $2[1] = assignment.taskId;
312358
- $2[2] = t1;
312359
- } else {
312360
- t1 = $2[2];
312361
- }
312362
312408
  let t2;
312363
312409
  if ($2[3] !== assignment.subject) {
312364
312410
  t2 = /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
@@ -312377,7 +312423,7 @@ function TaskAssignmentDisplay(t0) {
312377
312423
  t3 = assignment.description && /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312378
312424
  marginTop: 1,
312379
312425
  children: /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedText, {
312380
- dimColor: true,
312426
+ color: "gray",
312381
312427
  children: assignment.description
312382
312428
  }, undefined, false, undefined, this)
312383
312429
  }, undefined, false, undefined, this);
@@ -312386,30 +312432,31 @@ function TaskAssignmentDisplay(t0) {
312386
312432
  } else {
312387
312433
  t3 = $2[6];
312388
312434
  }
312435
+ const borderTitle = ` TASK #${assignment.taskId} ASSIGNED BY ${assignment.assignedBy.toUpperCase()} `;
312389
312436
  let t4;
312390
- if ($2[7] !== t1 || $2[8] !== t2 || $2[9] !== t3) {
312437
+ if ($2[7] !== borderTitle || $2[8] !== t2 || $2[0] !== t3) {
312391
312438
  t4 = /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312392
312439
  flexDirection: "column",
312393
312440
  marginY: 1,
312394
312441
  children: /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312395
- borderStyle: "round",
312442
+ borderStyle: "single",
312396
312443
  borderColor: "cyan_FOR_SUBAGENTS_ONLY",
312444
+ borderText: { content: borderTitle, position: "top", align: "start", offset: 1 },
312397
312445
  flexDirection: "column",
312398
312446
  paddingX: 1,
312399
- paddingY: 1,
312447
+ paddingY: 0,
312400
312448
  children: [
312401
- t1,
312402
312449
  t2,
312403
312450
  t3
312404
312451
  ]
312405
312452
  }, undefined, true, undefined, this)
312406
312453
  }, undefined, false, undefined, this);
312407
- $2[7] = t1;
312454
+ $2[7] = borderTitle;
312408
312455
  $2[8] = t2;
312409
- $2[9] = t3;
312410
- $2[10] = t4;
312456
+ $2[0] = t3;
312457
+ $2[1] = t4;
312411
312458
  } else {
312412
- t4 = $2[10];
312459
+ t4 = $2[1];
312413
312460
  }
312414
312461
  return t4;
312415
312462
  }
@@ -350268,7 +350315,7 @@ function getAnthropicEnvMetadata() {
350268
350315
  function getBuildAgeMinutes() {
350269
350316
  if (false)
350270
350317
  ;
350271
- const buildTime = new Date("2026-05-08T04:37:21.421Z").getTime();
350318
+ const buildTime = new Date("2026-05-08T06:49:42.151Z").getTime();
350272
350319
  if (isNaN(buildTime))
350273
350320
  return;
350274
350321
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -353319,12 +353366,12 @@ function TeleportError(t0) {
353319
353366
  flexDirection: "column",
353320
353367
  children: [
353321
353368
  /* @__PURE__ */ jsx_dev_runtime142.jsxDEV(ThemedText, {
353322
- dimColor: true,
353369
+ color: "gray",
353323
353370
  children: "Teleport requires a Claude.ai account."
353324
353371
  }, undefined, false, undefined, this),
353325
353372
  /* @__PURE__ */ jsx_dev_runtime142.jsxDEV(ThemedText, {
353326
- dimColor: true,
353327
- children: "Your Claude Pro/Max subscription will be used by Claude Code."
353373
+ color: "gray",
353374
+ children: "Your Claude Pro/Max subscription will be used by Stratagem."
353328
353375
  }, undefined, false, undefined, this)
353329
353376
  ]
353330
353377
  }, undefined, true, undefined, this);
@@ -383065,7 +383112,7 @@ function TaskOutputResultDisplay(t0) {
383065
383112
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
383066
383113
  t32 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383067
383114
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383068
- dimColor: true,
383115
+ color: "gray",
383069
383116
  children: "No task output available"
383070
383117
  }, undefined, false, undefined, this)
383071
383118
  }, undefined, false, undefined, this);
@@ -383226,7 +383273,7 @@ function TaskOutputResultDisplay(t0) {
383226
383273
  if ($2[27] !== expandShortcut) {
383227
383274
  t33 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383228
383275
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383229
- dimColor: true,
383276
+ color: "gray",
383230
383277
  children: [
383231
383278
  "Read output (",
383232
383279
  expandShortcut,
@@ -383246,7 +383293,7 @@ function TaskOutputResultDisplay(t0) {
383246
383293
  if ($2[29] === Symbol.for("react.memo_cache_sentinel")) {
383247
383294
  t33 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383248
383295
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383249
- dimColor: true,
383296
+ color: "gray",
383250
383297
  children: "Task is still running…"
383251
383298
  }, undefined, false, undefined, this)
383252
383299
  }, undefined, false, undefined, this);
@@ -383261,7 +383308,7 @@ function TaskOutputResultDisplay(t0) {
383261
383308
  if ($2[30] === Symbol.for("react.memo_cache_sentinel")) {
383262
383309
  t33 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383263
383310
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383264
- dimColor: true,
383311
+ color: "gray",
383265
383312
  children: "Task is still running…"
383266
383313
  }, undefined, false, undefined, this)
383267
383314
  }, undefined, false, undefined, this);
@@ -383275,7 +383322,7 @@ function TaskOutputResultDisplay(t0) {
383275
383322
  if ($2[31] === Symbol.for("react.memo_cache_sentinel")) {
383276
383323
  t32 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383277
383324
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383278
- dimColor: true,
383325
+ color: "gray",
383279
383326
  children: "Task not ready"
383280
383327
  }, undefined, false, undefined, this)
383281
383328
  }, undefined, false, undefined, this);
@@ -383321,7 +383368,7 @@ function TaskOutputResultDisplay(t0) {
383321
383368
  let t52;
383322
383369
  if ($2[38] !== expandShortcut || $2[39] !== task.output || $2[40] !== verbose) {
383323
383370
  t52 = !verbose && task.output && /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383324
- dimColor: true,
383371
+ color: "gray",
383325
383372
  children: [
383326
383373
  " ",
383327
383374
  "(",
@@ -383604,7 +383651,7 @@ ${content.trimEnd()}
383604
383651
  return null;
383605
383652
  }
383606
383653
  return /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383607
- dimColor: true,
383654
+ color: "gray",
383608
383655
  children: [
383609
383656
  " ",
383610
383657
  input.task_id
@@ -383628,7 +383675,7 @@ ${content.trimEnd()}
383628
383675
  "     Waiting for task",
383629
383676
  " ",
383630
383677
  /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383631
- dimColor: true,
383678
+ color: "gray",
383632
383679
  children: "(esc to give additional instructions)"
383633
383680
  }, undefined, false, undefined, this)
383634
383681
  ]
@@ -418076,12 +418123,12 @@ function buildPrimarySection() {
418076
418123
  const sessionId = getSessionId();
418077
418124
  const customTitle = getCurrentSessionTitle(sessionId);
418078
418125
  const nameValue = customTitle ?? /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ThemedText, {
418079
- dimColor: true,
418126
+ color: "gray",
418080
418127
  children: "/rename to add a name"
418081
418128
  }, undefined, false, undefined, this);
418082
418129
  return [{
418083
418130
  label: "Version",
418084
- value: "0.3.67"
418131
+ value: "0.3.69"
418085
418132
  }, {
418086
418133
  label: "Session name",
418087
418134
  value: nameValue
@@ -418249,7 +418296,7 @@ function Status(t0) {
418249
418296
  let t7;
418250
418297
  if ($2[16] === Symbol.for("react.memo_cache_sentinel")) {
418251
418298
  t7 = /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ThemedText, {
418252
- dimColor: true,
418299
+ color: "gray",
418253
418300
  children: /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ConfigurableShortcutHint, {
418254
418301
  action: "confirm:no",
418255
418302
  context: "Settings",
@@ -422512,7 +422559,7 @@ function Config({
422512
422559
  }, undefined, false, undefined, this),
422513
422560
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedBox_default, {
422514
422561
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422515
- dimColor: true,
422562
+ color: "gray",
422516
422563
  italic: true,
422517
422564
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422518
422565
  children: [
@@ -422548,7 +422595,7 @@ function Config({
422548
422595
  showFastModeNotice: isFastModeEnabled() ? isFastMode && isFastModeSupportedByModel(mainLoopModel) && isFastModeAvailable() : false
422549
422596
  }, undefined, false, undefined, this),
422550
422597
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422551
- dimColor: true,
422598
+ color: "gray",
422552
422599
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422553
422600
  children: [
422554
422601
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422600,7 +422647,7 @@ function Config({
422600
422647
  }
422601
422648
  }, undefined, false, undefined, this),
422602
422649
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422603
- dimColor: true,
422650
+ color: "gray",
422604
422651
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422605
422652
  children: [
422606
422653
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422627,7 +422674,7 @@ function Config({
422627
422674
  externalIncludes: getExternalClaudeMdIncludes(memoryFiles)
422628
422675
  }, undefined, false, undefined, this),
422629
422676
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422630
- dimColor: true,
422677
+ color: "gray",
422631
422678
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422632
422679
  children: [
422633
422680
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422668,7 +422715,7 @@ function Config({
422668
422715
  }
422669
422716
  }, undefined, false, undefined, this),
422670
422717
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422671
- dimColor: true,
422718
+ color: "gray",
422672
422719
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422673
422720
  children: [
422674
422721
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422708,7 +422755,7 @@ function Config({
422708
422755
  }
422709
422756
  }, undefined, false, undefined, this),
422710
422757
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422711
- dimColor: true,
422758
+ color: "gray",
422712
422759
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422713
422760
  children: [
422714
422761
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422739,7 +422786,7 @@ function Config({
422739
422786
  children: autoUpdaterDisabledReason?.type === "env" ? "Auto-updates are controlled by an environment variable and cannot be changed here." : "Auto-updates are disabled in development builds."
422740
422787
  }, undefined, false, undefined, this),
422741
422788
  autoUpdaterDisabledReason?.type === "env" && /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422742
- dimColor: true,
422789
+ color: "gray",
422743
422790
  children: [
422744
422791
  "Unset ",
422745
422792
  autoUpdaterDisabledReason.envVar,
@@ -422821,7 +422868,7 @@ function Config({
422821
422868
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedBox_default, {
422822
422869
  flexDirection: "column",
422823
422870
  children: filteredSettingsItems.length === 0 ? /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422824
- dimColor: true,
422871
+ color: "gray",
422825
422872
  italic: true,
422826
422873
  children: [
422827
422874
  'No settings match "',
@@ -422831,7 +422878,7 @@ function Config({
422831
422878
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(jsx_dev_runtime183.Fragment, {
422832
422879
  children: [
422833
422880
  scrollOffset > 0 && /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422834
- dimColor: true,
422881
+ color: "gray",
422835
422882
  children: [
422836
422883
  figures_default.arrowUp,
422837
422884
  " ",
@@ -422890,7 +422937,7 @@ function Config({
422890
422937
  children: "disabled"
422891
422938
  }, undefined, false, undefined, this),
422892
422939
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422893
- dimColor: true,
422940
+ color: "gray",
422894
422941
  children: [
422895
422942
  "(",
422896
422943
  formatAutoUpdaterDisabledReason(autoUpdaterDisabledReason),
@@ -422908,7 +422955,7 @@ function Config({
422908
422955
  }, setting_2.id, false, undefined, this);
422909
422956
  }),
422910
422957
  scrollOffset + maxVisible < filteredSettingsItems.length && /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422911
- dimColor: true,
422958
+ color: "gray",
422912
422959
  children: [
422913
422960
  figures_default.arrowDown,
422914
422961
  " ",
@@ -422921,7 +422968,7 @@ function Config({
422921
422968
  }, undefined, true, undefined, this)
422922
422969
  }, undefined, false, undefined, this),
422923
422970
  headerFocused ? /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422924
- dimColor: true,
422971
+ color: "gray",
422925
422972
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422926
422973
  children: [
422927
422974
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422941,7 +422988,7 @@ function Config({
422941
422988
  ]
422942
422989
  }, undefined, true, undefined, this)
422943
422990
  }, undefined, false, undefined, this) : isSearchMode ? /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422944
- dimColor: true,
422991
+ color: "gray",
422945
422992
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422946
422993
  children: [
422947
422994
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
@@ -422964,7 +423011,7 @@ function Config({
422964
423011
  ]
422965
423012
  }, undefined, true, undefined, this)
422966
423013
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422967
- dimColor: true,
423014
+ color: "gray",
422968
423015
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422969
423016
  children: [
422970
423017
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ConfigurableShortcutHint, {
@@ -423022,7 +423069,7 @@ function NotifChannelLabel(t0) {
423022
423069
  children: [
423023
423070
  "iTerm2 ",
423024
423071
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423025
- dimColor: true,
423072
+ color: "gray",
423026
423073
  children: "(OSC 9)"
423027
423074
  }, undefined, false, undefined, this)
423028
423075
  ]
@@ -423040,7 +423087,7 @@ function NotifChannelLabel(t0) {
423040
423087
  children: [
423041
423088
  "Terminal Bell ",
423042
423089
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423043
- dimColor: true,
423090
+ color: "gray",
423044
423091
  children: "(\\a)"
423045
423092
  }, undefined, false, undefined, this)
423046
423093
  ]
@@ -423058,7 +423105,7 @@ function NotifChannelLabel(t0) {
423058
423105
  children: [
423059
423106
  "Kitty ",
423060
423107
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423061
- dimColor: true,
423108
+ color: "gray",
423062
423109
  children: "(OSC 99)"
423063
423110
  }, undefined, false, undefined, this)
423064
423111
  ]
@@ -423076,7 +423123,7 @@ function NotifChannelLabel(t0) {
423076
423123
  children: [
423077
423124
  "Ghostty ",
423078
423125
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423079
- dimColor: true,
423126
+ color: "gray",
423080
423127
  children: "(OSC 777)"
423081
423128
  }, undefined, false, undefined, this)
423082
423129
  ]
@@ -423582,7 +423629,7 @@ function CodexUsageLimitBar({
423582
423629
  ]
423583
423630
  }, undefined, true, undefined, this),
423584
423631
  resetText ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423585
- dimColor: true,
423632
+ color: "gray",
423586
423633
  children: resetText
423587
423634
  }, undefined, false, undefined, this) : null
423588
423635
  ]
@@ -423603,7 +423650,7 @@ function CodexUsageLimitBar({
423603
423650
  children: " "
423604
423651
  }, undefined, false, undefined, this),
423605
423652
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423606
- dimColor: true,
423653
+ color: "gray",
423607
423654
  children: [
423608
423655
  "· ",
423609
423656
  resetText
@@ -423642,7 +423689,7 @@ function CodexUsageTextRow({
423642
423689
  children: label
423643
423690
  }, undefined, false, undefined, this),
423644
423691
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423645
- dimColor: true,
423692
+ color: "gray",
423646
423693
  children: [
423647
423694
  " · ",
423648
423695
  value
@@ -423692,7 +423739,7 @@ function CodexUsage() {
423692
423739
  ]
423693
423740
  }, undefined, true, undefined, this),
423694
423741
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423695
- dimColor: true,
423742
+ color: "gray",
423696
423743
  children: /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(Byline, {
423697
423744
  children: [
423698
423745
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ConfigurableShortcutHint, {
@@ -423719,11 +423766,11 @@ function CodexUsage() {
423719
423766
  gap: 1,
423720
423767
  children: [
423721
423768
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423722
- dimColor: true,
423769
+ color: "gray",
423723
423770
  children: "Loading Codex usage data…"
423724
423771
  }, undefined, false, undefined, this),
423725
423772
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423726
- dimColor: true,
423773
+ color: "gray",
423727
423774
  children: /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ConfigurableShortcutHint, {
423728
423775
  action: "confirm:no",
423729
423776
  context: "Settings",
@@ -423742,14 +423789,14 @@ function CodexUsage() {
423742
423789
  width: "100%",
423743
423790
  children: [
423744
423791
  planType ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423745
- dimColor: true,
423792
+ color: "gray",
423746
423793
  children: [
423747
423794
  "Plan: ",
423748
423795
  planType
423749
423796
  ]
423750
423797
  }, undefined, true, undefined, this) : null,
423751
423798
  rows.length === 0 ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423752
- dimColor: true,
423799
+ color: "gray",
423753
423800
  children: "Codex usage data is not available for this account."
423754
423801
  }, undefined, false, undefined, this) : null,
423755
423802
  rows.map((row, index) => row.kind === "window" ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(CodexUsageLimitBar, {
@@ -423762,7 +423809,7 @@ function CodexUsage() {
423762
423809
  value: row.value
423763
423810
  }, `${row.label}-${index}`, false, undefined, this)),
423764
423811
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423765
- dimColor: true,
423812
+ color: "gray",
423766
423813
  children: /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ConfigurableShortcutHint, {
423767
423814
  action: "confirm:no",
423768
423815
  context: "Settings",
@@ -423883,7 +423930,7 @@ function LimitBar(t0) {
423883
423930
  let t7;
423884
423931
  if ($2[12] !== subtext) {
423885
423932
  t7 = subtext && /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
423886
- dimColor: true,
423933
+ color: "gray",
423887
423934
  children: subtext
423888
423935
  }, undefined, false, undefined, this);
423889
423936
  $2[12] = subtext;
@@ -423929,7 +423976,7 @@ function LimitBar(t0) {
423929
423976
  children: " "
423930
423977
  }, undefined, false, undefined, this),
423931
423978
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
423932
- dimColor: true,
423979
+ color: "gray",
423933
423980
  children: [
423934
423981
  "· ",
423935
423982
  subtext
@@ -424047,7 +424094,7 @@ function AnthropicUsage() {
424047
424094
  ]
424048
424095
  }, undefined, true, undefined, this),
424049
424096
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424050
- dimColor: true,
424097
+ color: "gray",
424051
424098
  children: /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(Byline, {
424052
424099
  children: [
424053
424100
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ConfigurableShortcutHint, {
@@ -424074,11 +424121,11 @@ function AnthropicUsage() {
424074
424121
  gap: 1,
424075
424122
  children: [
424076
424123
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424077
- dimColor: true,
424124
+ color: "gray",
424078
424125
  children: "Loading usage data…"
424079
424126
  }, undefined, false, undefined, this),
424080
424127
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424081
- dimColor: true,
424128
+ color: "gray",
424082
424129
  children: /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ConfigurableShortcutHint, {
424083
424130
  action: "confirm:no",
424084
424131
  context: "Settings",
@@ -424109,7 +424156,7 @@ function AnthropicUsage() {
424109
424156
  limits.some(({
424110
424157
  limit
424111
424158
  }) => limit) || /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424112
- dimColor: true,
424159
+ color: "gray",
424113
424160
  children: "/usage is only available for subscription plans."
424114
424161
  }, undefined, false, undefined, this),
424115
424162
  limits.map(({
@@ -424128,7 +424175,7 @@ function AnthropicUsage() {
424128
424175
  maxWidth
424129
424176
  }, undefined, false, undefined, this),
424130
424177
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424131
- dimColor: true,
424178
+ color: "gray",
424132
424179
  children: /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ConfigurableShortcutHint, {
424133
424180
  action: "confirm:no",
424134
424181
  context: "Settings",
@@ -424168,7 +424215,7 @@ function ExtraUsageSection(t0) {
424168
424215
  children: EXTRA_USAGE_SECTION_TITLE
424169
424216
  }, undefined, false, undefined, this),
424170
424217
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424171
- dimColor: true,
424218
+ color: "gray",
424172
424219
  children: "Extra usage not enabled · /extra-usage to enable"
424173
424220
  }, undefined, false, undefined, this)
424174
424221
  ]
@@ -424192,7 +424239,7 @@ function ExtraUsageSection(t0) {
424192
424239
  children: EXTRA_USAGE_SECTION_TITLE
424193
424240
  }, undefined, false, undefined, this),
424194
424241
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424195
- dimColor: true,
424242
+ color: "gray",
424196
424243
  children: "Unlimited"
424197
424244
  }, undefined, false, undefined, this)
424198
424245
  ]
@@ -425974,9 +426021,9 @@ var call18 = async () => {
425974
426021
  if (isClaudeAISubscriber()) {
425975
426022
  let value;
425976
426023
  if (currentLimits.isUsingOverage) {
425977
- value = "You are currently using your overages to power your Claude Code usage. We will automatically switch you back to your subscription rate limits when they reset";
426024
+ value = "You are currently using your overages to power your Stratagem usage. We will automatically switch you back to your subscription rate limits when they reset";
425978
426025
  } else {
425979
- value = "You are currently using your subscription to power your Claude Code usage";
426026
+ value = "You are currently using your subscription to power your Stratagem usage";
425980
426027
  }
425981
426028
  if (process.env.USER_TYPE === "ant") {
425982
426029
  value += `
@@ -427728,7 +427775,7 @@ function McpConfigErrorSection(t0) {
427728
427775
  let t5;
427729
427776
  if ($2[10] === Symbol.for("react.memo_cache_sentinel")) {
427730
427777
  t5 = /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427731
- dimColor: true,
427778
+ color: "gray",
427732
427779
  children: "Location: "
427733
427780
  }, undefined, false, undefined, this);
427734
427781
  $2[10] = t5;
@@ -427749,7 +427796,7 @@ function McpConfigErrorSection(t0) {
427749
427796
  children: [
427750
427797
  t5,
427751
427798
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427752
- dimColor: true,
427799
+ color: "gray",
427753
427800
  children: t6
427754
427801
  }, undefined, false, undefined, this)
427755
427802
  ]
@@ -427817,7 +427864,7 @@ function _temp225(warning, i_0) {
427817
427864
  children: /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427818
427865
  children: [
427819
427866
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427820
- dimColor: true,
427867
+ color: "gray",
427821
427868
  children: "└ "
427822
427869
  }, undefined, false, undefined, this),
427823
427870
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
@@ -427825,7 +427872,7 @@ function _temp225(warning, i_0) {
427825
427872
  children: "[Warning]"
427826
427873
  }, undefined, false, undefined, this),
427827
427874
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427828
- dimColor: true,
427875
+ color: "gray",
427829
427876
  children: [
427830
427877
  " ",
427831
427878
  serverName_0 && `[${serverName_0}] `,
@@ -427843,7 +427890,7 @@ function _temp69(error42, i3) {
427843
427890
  children: /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427844
427891
  children: [
427845
427892
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427846
- dimColor: true,
427893
+ color: "gray",
427847
427894
  children: "└ "
427848
427895
  }, undefined, false, undefined, this),
427849
427896
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
@@ -427851,7 +427898,7 @@ function _temp69(error42, i3) {
427851
427898
  children: "[Error]"
427852
427899
  }, undefined, false, undefined, this),
427853
427900
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427854
- dimColor: true,
427901
+ color: "gray",
427855
427902
  children: [
427856
427903
  " ",
427857
427904
  serverName && `[${serverName}] `,
@@ -427932,7 +427979,7 @@ function McpParsingWarnings() {
427932
427979
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedBox_default, {
427933
427980
  marginTop: 1,
427934
427981
  children: /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427935
- dimColor: true,
427982
+ color: "gray",
427936
427983
  children: [
427937
427984
  "For help configuring MCP servers, see:",
427938
427985
  " ",
@@ -437722,7 +437769,7 @@ function MCPListPanel(t0) {
437722
437769
  children: server_3.name
437723
437770
  }, undefined, false, undefined, this),
437724
437771
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437725
- dimColor: !isSelected,
437772
+ color: !isSelected ? "gray" : undefined,
437726
437773
  children: [
437727
437774
  " · ",
437728
437775
  statusIcon,
@@ -437730,7 +437777,7 @@ function MCPListPanel(t0) {
437730
437777
  ]
437731
437778
  }, undefined, true, undefined, this),
437732
437779
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437733
- dimColor: !isSelected,
437780
+ color: !isSelected ? "gray" : undefined,
437734
437781
  children: statusText
437735
437782
  }, undefined, false, undefined, this)
437736
437783
  ]
@@ -437762,7 +437809,7 @@ function MCPListPanel(t0) {
437762
437809
  children: agentServer_1.name
437763
437810
  }, undefined, false, undefined, this),
437764
437811
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437765
- dimColor: !isSelected_0,
437812
+ color: !isSelected_0 ? "gray" : undefined,
437766
437813
  children: [
437767
437814
  " · ",
437768
437815
  statusIcon_0,
@@ -437770,7 +437817,7 @@ function MCPListPanel(t0) {
437770
437817
  ]
437771
437818
  }, undefined, true, undefined, this),
437772
437819
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437773
- dimColor: !isSelected_0,
437820
+ color: !isSelected_0 ? "gray" : undefined,
437774
437821
  children: statusText_0
437775
437822
  }, undefined, false, undefined, this)
437776
437823
  ]
@@ -437821,7 +437868,7 @@ function MCPListPanel(t0) {
437821
437868
  children: heading2.label
437822
437869
  }, undefined, false, undefined, this),
437823
437870
  heading2.path && /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437824
- dimColor: true,
437871
+ color: "gray",
437825
437872
  children: [
437826
437873
  " (",
437827
437874
  heading2.path,
@@ -437882,7 +437929,7 @@ function MCPListPanel(t0) {
437882
437929
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedBox_default, {
437883
437930
  paddingLeft: 2,
437884
437931
  children: /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437885
- dimColor: true,
437932
+ color: "gray",
437886
437933
  children: [
437887
437934
  "@",
437888
437935
  agentName
@@ -437914,7 +437961,7 @@ function MCPListPanel(t0) {
437914
437961
  children: dynamicHeading.label
437915
437962
  }, undefined, false, undefined, this),
437916
437963
  dynamicHeading.path && /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437917
- dimColor: true,
437964
+ color: "gray",
437918
437965
  children: [
437919
437966
  " (",
437920
437967
  dynamicHeading.path,
@@ -437935,7 +437982,7 @@ function MCPListPanel(t0) {
437935
437982
  let t26;
437936
437983
  if ($2[60] !== hasFailedClients) {
437937
437984
  t26 = hasFailedClients && /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437938
- dimColor: true,
437985
+ color: "gray",
437939
437986
  children: debugMode ? "※ Error logs shown inline with --debug" : "※ Run stx7 --debug to see error logs"
437940
437987
  }, undefined, false, undefined, this);
437941
437988
  $2[60] = hasFailedClients;
@@ -437946,7 +437993,7 @@ function MCPListPanel(t0) {
437946
437993
  let t27;
437947
437994
  if ($2[62] === Symbol.for("react.memo_cache_sentinel")) {
437948
437995
  t27 = /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437949
- dimColor: true,
437996
+ color: "gray",
437950
437997
  children: [
437951
437998
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(Link, {
437952
437999
  url: "https://code.claude.com/docs/en/mcp",
@@ -438016,7 +438063,7 @@ function MCPListPanel(t0) {
438016
438063
  t31 = /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedBox_default, {
438017
438064
  paddingX: 1,
438018
438065
  children: /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
438019
- dimColor: true,
438066
+ color: "gray",
438020
438067
  italic: true,
438021
438068
  children: /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(Byline, {
438022
438069
  children: [
@@ -439115,7 +439162,7 @@ function MCPReconnect(t0) {
439115
439162
  let t7;
439116
439163
  if ($2[20] !== error42) {
439117
439164
  t7 = /* @__PURE__ */ jsx_dev_runtime232.jsxDEV(ThemedText, {
439118
- dimColor: true,
439165
+ color: "gray",
439119
439166
  children: [
439120
439167
  "Error: ",
439121
439168
  error42
@@ -440563,7 +440610,7 @@ function MCPToolDetailView(t0) {
440563
440610
  let t9;
440564
440611
  if ($2[17] !== isOpenWorld) {
440565
440612
  t9 = isOpenWorld && /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440566
- dimColor: true,
440613
+ color: "gray",
440567
440614
  children: " [open-world]"
440568
440615
  }, undefined, false, undefined, this);
440569
440616
  $2[17] = isOpenWorld;
@@ -440606,7 +440653,7 @@ function MCPToolDetailView(t0) {
440606
440653
  children: [
440607
440654
  t11,
440608
440655
  /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440609
- dimColor: true,
440656
+ color: "gray",
440610
440657
  children: toolName
440611
440658
  }, undefined, false, undefined, this)
440612
440659
  ]
@@ -440632,7 +440679,7 @@ function MCPToolDetailView(t0) {
440632
440679
  children: [
440633
440680
  t13,
440634
440681
  /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440635
- dimColor: true,
440682
+ color: "gray",
440636
440683
  children: tool.name
440637
440684
  }, undefined, false, undefined, this)
440638
440685
  ]
@@ -440685,17 +440732,17 @@ function MCPToolDetailView(t0) {
440685
440732
  "• ",
440686
440733
  key,
440687
440734
  isRequired && /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440688
- dimColor: true,
440735
+ color: "gray",
440689
440736
  children: " (required)"
440690
440737
  }, undefined, false, undefined, this),
440691
440738
  ":",
440692
440739
  " ",
440693
440740
  /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440694
- dimColor: true,
440741
+ color: "gray",
440695
440742
  children: typeof value === "object" && value && "type" in value ? String(value.type) : "unknown"
440696
440743
  }, undefined, false, undefined, this),
440697
440744
  typeof value === "object" && value && "description" in value && /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440698
- dimColor: true,
440745
+ color: "gray",
440699
440746
  children: [
440700
440747
  " - ",
440701
440748
  String(value.description)
@@ -440864,7 +440911,7 @@ function MCPToolListView(t0) {
440864
440911
  let t7;
440865
440912
  if ($2[11] !== onBack || $2[12] !== onSelectTool || $2[13] !== serverTools || $2[14] !== toolOptions) {
440866
440913
  t7 = serverTools.length === 0 ? /* @__PURE__ */ jsx_dev_runtime237.jsxDEV(ThemedText, {
440867
- dimColor: true,
440914
+ color: "gray",
440868
440915
  children: "No tools available"
440869
440916
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime237.jsxDEV(Select, {
440870
440917
  options: toolOptions,
@@ -457768,7 +457815,7 @@ function getStartupLines(termWidth) {
457768
457815
  const sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
457769
457816
  out.push(centerAnsiLine(boxRow(sRow, W2, sLen), tw));
457770
457817
  out.push(centerAnsiLine(`${rgb3(...BORDER)}└${"─".repeat(W2 - 2)}┘${RESET2}`, tw));
457771
- out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.67"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
457818
+ out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.69"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
457772
457819
  out.push("");
457773
457820
  return out;
457774
457821
  }
@@ -459155,6 +459202,59 @@ function ScrollIndicator({
459155
459202
  const scrollTop = Number(parts[0]);
459156
459203
  const scrollHeight = Number(parts[1]);
459157
459204
  const viewportHeight = Number(parts[2]);
459205
+ const dragRef = import_react151.useRef(null);
459206
+ const handlePress = import_react151.useCallback((event) => {
459207
+ const s = scrollRef?.current;
459208
+ if (!s)
459209
+ return;
459210
+ const sh = s.getScrollHeight();
459211
+ const vh = s.getViewportHeight();
459212
+ if (sh <= vh)
459213
+ return;
459214
+ const trackHeight2 = Math.max(3, vh - 1);
459215
+ const ratio2 = vh / sh;
459216
+ const thumbSize2 = Math.max(1, Math.round(trackHeight2 * ratio2));
459217
+ const maxScroll2 = sh - vh;
459218
+ const scrollFraction2 = maxScroll2 > 0 ? Math.min(1, s.getScrollTop() / maxScroll2) : 0;
459219
+ const maxThumbTop2 = trackHeight2 - thumbSize2;
459220
+ const thumbTop2 = Math.round(scrollFraction2 * maxThumbTop2);
459221
+ const onThumb = event.localRow >= thumbTop2 && event.localRow < thumbTop2 + thumbSize2;
459222
+ if (!onThumb || maxThumbTop2 <= 0) {
459223
+ return;
459224
+ }
459225
+ const pressRow = event.row;
459226
+ const pressScrollTop = s.getScrollTop();
459227
+ dragRef.current = { pressRow, pressScrollTop };
459228
+ event.beginDrag({
459229
+ onMove: (_col, row) => {
459230
+ const cur = dragRef.current;
459231
+ if (!cur)
459232
+ return;
459233
+ const handle = scrollRef?.current;
459234
+ if (!handle)
459235
+ return;
459236
+ const curSh = handle.getScrollHeight();
459237
+ const curVh = handle.getViewportHeight();
459238
+ if (curSh <= curVh)
459239
+ return;
459240
+ const curMaxScroll = curSh - curVh;
459241
+ const curTrackHeight = Math.max(3, curVh - 1);
459242
+ const curRatio = curVh / curSh;
459243
+ const curThumbSize = Math.max(1, Math.round(curTrackHeight * curRatio));
459244
+ const curMaxThumbTop = curTrackHeight - curThumbSize;
459245
+ if (curMaxThumbTop <= 0)
459246
+ return;
459247
+ const scrollPerThumbStep = curMaxScroll / curMaxThumbTop;
459248
+ const rowDelta = row - cur.pressRow;
459249
+ const target = Math.max(0, Math.min(curMaxScroll, Math.round(cur.pressScrollTop + rowDelta * scrollPerThumbStep)));
459250
+ handle.scrollTo(target);
459251
+ },
459252
+ onEnd: () => {
459253
+ dragRef.current = null;
459254
+ }
459255
+ });
459256
+ event.stopImmediatePropagation();
459257
+ }, [scrollRef]);
459158
459258
  const handleClick = import_react151.useCallback((event) => {
459159
459259
  const s = scrollRef?.current;
459160
459260
  if (!s)
@@ -459195,6 +459295,7 @@ function ScrollIndicator({
459195
459295
  bottom: 0,
459196
459296
  width: 1,
459197
459297
  flexDirection: "column",
459298
+ onPress: handlePress,
459198
459299
  onClick: handleClick,
459199
459300
  noSelect: true,
459200
459301
  children: track2.map((char, i3) => /* @__PURE__ */ jsx_dev_runtime260.jsxDEV(ThemedText, {
@@ -486520,7 +486621,7 @@ var init_bridge_kick = __esm(() => {
486520
486621
  var call61 = async () => {
486521
486622
  return {
486522
486623
  type: "text",
486523
- value: `${"99.0.0"} (built ${"2026-05-08T04:37:21.421Z"})`
486624
+ value: `${"99.0.0"} (built ${"2026-05-08T06:49:42.151Z"})`
486524
486625
  };
486525
486626
  }, version2, version_default;
486526
486627
  var init_version = __esm(() => {
@@ -488757,7 +488858,7 @@ function ClaudeInChromeMenu(t0) {
488757
488858
  let t6;
488758
488859
  if ($2[20] === Symbol.for("react.memo_cache_sentinel")) {
488759
488860
  t6 = /* @__PURE__ */ jsx_dev_runtime342.jsxDEV(ThemedText, {
488760
- children: "Claude in Chrome works with the Chrome extension to let you control your browser directly from Claude Code. Navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests."
488861
+ children: "Claude in Chrome works with the Chrome extension to let you control your browser directly from Stratagem. Navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests."
488761
488862
  }, undefined, false, undefined, this);
488762
488863
  $2[20] = t6;
488763
488864
  } else {
@@ -555346,7 +555447,7 @@ function WelcomeV2() {
555346
555447
  dimColor: true,
555347
555448
  children: [
555348
555449
  "v",
555349
- "0.3.67",
555450
+ "0.3.69",
555350
555451
  " "
555351
555452
  ]
555352
555453
  }, undefined, true, undefined, this)
@@ -558854,7 +558955,7 @@ var init_schema = __esm(() => {
558854
558955
  $schema: exports_external.string().optional().describe("JSON Schema URL for editor validation"),
558855
558956
  $docs: exports_external.string().optional().describe("Documentation URL"),
558856
558957
  bindings: exports_external.array(KeybindingBlockSchema()).describe("Array of keybinding blocks by context")
558857
- }).describe("Claude Code keybindings configuration. Customize keyboard shortcuts by context."));
558958
+ }).describe("Stratagem keybindings configuration. Customize keyboard shortcuts by context."));
558858
558959
  });
558859
558960
 
558860
558961
  // src/skills/bundled/keybindings.ts
@@ -562464,7 +562565,7 @@ async function mcpResetChoicesHandler() {
562464
562565
  enableAllProjectMcpServers: false
562465
562566
  }));
562466
562567
  cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
562467
- You will be prompted for approval next time you start Claude Code.`);
562568
+ You will be prompted for approval next time you start Stratagem.`);
562468
562569
  }
562469
562570
  var jsx_dev_runtime491;
562470
562571
  var init_mcp5 = __esm(() => {
@@ -566070,8 +566171,8 @@ async function getEnvLessBridgeConfig() {
566070
566171
  async function checkEnvLessBridgeMinVersion() {
566071
566172
  const cfg = await getEnvLessBridgeConfig();
566072
566173
  if (cfg.min_version && lt("99.0.0", cfg.min_version)) {
566073
- return `Your version of Claude Code (${"99.0.0"}) is too old for Remote Control.
566074
- Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
566174
+ return `Your version of Stratagem (${"99.0.0"}) is too old for Remote Control.
566175
+ Version ${cfg.min_version} or higher is required. Run \`stx7 update\` to update.`;
566075
566176
  }
566076
566177
  return null;
566077
566178
  }
@@ -573184,7 +573285,7 @@ async function run() {
573184
573285
  if (false) {}
573185
573286
  profileCheckpoint("preAction_after_settings_sync");
573186
573287
  });
573187
- program2.name("claude").description(`Claude Code - starts an interactive session by default, use -p/--print for non-interactive output`).argument("[prompt]", "Your prompt", String).helpOption("-h, --help", "Display help for command").option("-d, --debug [filter]", 'Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")', (_value) => {
573288
+ program2.name("claude").description(`Stratagem X7 - starts an interactive session by default, use -p/--print for non-interactive output`).argument("[prompt]", "Your prompt", String).helpOption("-h, --help", "Display help for command").option("-d, --debug [filter]", 'Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")', (_value) => {
573188
573289
  return true;
573189
573290
  }).addOption(new Option("-d2e, --debug-to-stderr", "Enable debug mode (to stderr)").argParser(Boolean).hideHelp()).option("--debug-file <path>", "Write debug logs to a specific file path (implicitly enables debug mode)", () => true).option("--verbose", "Override verbose mode setting from config", () => true).option("-p, --print", "Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Claude is run with the -p mode. Only use this flag in directories you trust.", () => true).option("--bare", "Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and CLAUDE.md auto-discovery. Sets CLAUDE_CODE_SIMPLE=1. Anthropic auth is strictly ANTHROPIC_API_KEY or apiKeyHelper via --settings (OAuth and keychain are never read). 3P providers (Bedrock/Vertex/Foundry) use their own credentials. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (CLAUDE.md dirs), --mcp-config, --settings, --agents, --plugin-dir.", () => true).addOption(new Option("--init", "Run Setup hooks with init trigger, then continue").hideHelp()).addOption(new Option("--init-only", "Run Setup and SessionStart:startup hooks, then exit").hideHelp()).addOption(new Option("--maintenance", "Run Setup hooks with maintenance trigger, then continue").hideHelp()).addOption(new Option("--output-format <format>", 'Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)').choices(["text", "json", "stream-json"])).addOption(new Option("--json-schema <schema>", 'JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}').argParser(String)).option("--include-hook-events", "Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)", () => true).option("--include-partial-messages", "Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)", () => true).addOption(new Option("--input-format <format>", 'Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)').choices(["text", "stream-json"])).option("--mcp-debug", "[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)", () => true).option("--dangerously-skip-permissions", "Bypass all permission checks. Recommended only for sandboxes with no internet access.", () => true).option("--allow-dangerously-skip-permissions", "Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.", () => true).addOption(new Option("--thinking <mode>", "Thinking mode: enabled (equivalent to adaptive), disabled").choices(["enabled", "adaptive", "disabled"]).hideHelp()).addOption(new Option("--max-thinking-tokens <tokens>", "[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)").argParser(Number).hideHelp()).addOption(new Option("--max-turns <turns>", "Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)").argParser(Number).hideHelp()).addOption(new Option("--max-budget-usd <amount>", "Maximum dollar amount to spend on API calls (only works with --print)").argParser((value) => {
573190
573291
  const amount = Number(value);
@@ -573215,7 +573316,7 @@ async function run() {
573215
573316
  }
573216
573317
  if (prompt === "code") {
573217
573318
  logEvent("tengu_code_prompt_ignored", {});
573218
- console.warn(source_default.yellow("Tip: You can launch Claude Code with just `claude`"));
573319
+ console.warn(source_default.yellow("Tip: You can launch Stratagem with just `stx7`"));
573219
573320
  prompt = undefined;
573220
573321
  }
573221
573322
  if (prompt && typeof prompt === "string" && !/\s/.test(prompt) && prompt.length > 0) {
@@ -574804,7 +574905,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574804
574905
  pendingHookMessages
574805
574906
  }, renderAndRun);
574806
574907
  }
574807
- }).version("0.3.67 (STRATAGEM X7)", "-v, --version", "Output the version number");
574908
+ }).version("0.3.69 (STRATAGEM X7)", "-v, --version", "Output the version number");
574808
574909
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
574809
574910
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
574810
574911
  if (canUserConfigureAdvisor()) {
@@ -574840,7 +574941,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574840
574941
  return program2;
574841
574942
  }
574842
574943
  const mcp2 = program2.command("mcp").description("Configure and manage MCP servers").configureHelp(createSortedHelpConfig()).enablePositionalOptions();
574843
- mcp2.command("serve").description(`Start the Claude Code MCP server`).option("-d, --debug", "Enable debug mode", () => true).option("--verbose", "Override verbose mode setting from config", () => true).action(async ({
574944
+ mcp2.command("serve").description(`Start the Stratagem MCP server`).option("-d, --debug", "Enable debug mode", () => true).option("--verbose", "Override verbose mode setting from config", () => true).action(async ({
574844
574945
  debug: debug2,
574845
574946
  verbose
574846
574947
  }) => {
@@ -574926,7 +575027,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574926
575027
  await authLogout2();
574927
575028
  });
574928
575029
  const coworkOption = () => new Option("--cowork", "Use cowork_plugins directory").hideHelp();
574929
- const pluginCmd = program2.command("plugin").alias("plugins").description("Manage Claude Code plugins").configureHelp(createSortedHelpConfig());
575030
+ const pluginCmd = program2.command("plugin").alias("plugins").description("Manage Stratagem plugins").configureHelp(createSortedHelpConfig());
574930
575031
  pluginCmd.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(coworkOption()).action(async (manifestPath, options2) => {
574931
575032
  const {
574932
575033
  pluginValidateHandler: pluginValidateHandler2
@@ -574939,7 +575040,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574939
575040
  } = await Promise.resolve().then(() => (init_plugins(), exports_plugins));
574940
575041
  await pluginListHandler2(options2);
574941
575042
  });
574942
- const marketplaceCmd = pluginCmd.command("marketplace").description("Manage Claude Code marketplaces").configureHelp(createSortedHelpConfig());
575043
+ const marketplaceCmd = pluginCmd.command("marketplace").description("Manage Stratagem marketplaces").configureHelp(createSortedHelpConfig());
574943
575044
  marketplaceCmd.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").addOption(coworkOption()).option("--sparse <paths...>", "Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins").option("--scope <scope>", "Where to declare the marketplace: user (default), project, or local").action(async (source, options2) => {
574944
575045
  const {
574945
575046
  marketplaceAddHandler: marketplaceAddHandler2
@@ -575013,7 +575114,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
575013
575114
  if (false) {}
575014
575115
  if (false) {}
575015
575116
  if (false) {}
575016
- program2.command("doctor").description("Check the health of your Claude Code auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async () => {
575117
+ program2.command("doctor").description("Check the health of your Stratagem auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async () => {
575017
575118
  const [{
575018
575119
  doctorHandler: doctorHandler2
575019
575120
  }, {
@@ -575030,7 +575131,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
575030
575131
  });
575031
575132
  if (false) {}
575032
575133
  if (false) {}
575033
- program2.command("install [target]").description("Install Claude Code native build. Use [target] to specify version (stable, latest, or specific version)").option("--force", "Force installation even if already installed").action(async (target, options2) => {
575134
+ program2.command("install [target]").description("Install Stratagem native build. Use [target] to specify version (stable, latest, or specific version)").option("--force", "Force installation even if already installed").action(async (target, options2) => {
575034
575135
  const {
575035
575136
  installHandler: installHandler2
575036
575137
  } = await Promise.resolve().then(() => (init_util3(), exports_util2));
@@ -575265,7 +575366,7 @@ if (false) {}
575265
575366
  async function main2() {
575266
575367
  const args = process.argv.slice(2);
575267
575368
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
575268
- console.log(`${"0.3.67"} (STRATAGEM X7)`);
575369
+ console.log(`${"0.3.69"} (STRATAGEM X7)`);
575269
575370
  return;
575270
575371
  }
575271
575372
  if (args.includes("--provider")) {
@@ -575387,4 +575488,4 @@ async function main2() {
575387
575488
  }
575388
575489
  main2();
575389
575490
 
575390
- //# debugId=D7E9918816E3820864756E2164756E21
575491
+ //# debugId=AC741DFDDD7FAE8C64756E2164756E21