stratagem-x7 0.3.66 → 0.3.68

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 +297 -189
  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: " DOWNLINK :: 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,20 +312039,27 @@ ${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: " UPLINK :: USER ", position: "top", align: "start", offset: 1 };
311976
312043
  return /* @__PURE__ */ jsx_dev_runtime110.jsxDEV(ThemedBox_default, {
311977
- flexDirection: "column",
312044
+ alignItems: "flex-start",
312045
+ flexDirection: "row",
312046
+ justifyContent: "space-between",
311978
312047
  marginTop: addMargin ? 1 : 0,
311979
- backgroundColor: isSelected ? "messageActionsBackground" : useBriefLayout ? undefined : "userMessageBackground",
311980
- paddingLeft: useBriefLayout ? 0 : 1,
311981
- paddingRight: useBriefLayout ? 0 : 1,
311982
- borderStyle: useBriefLayout ? undefined : "single",
311983
- borderColor: useBriefLayout ? undefined : "promptBorder",
311984
- borderText,
311985
- children: /* @__PURE__ */ jsx_dev_runtime110.jsxDEV(HighlightedThinkingText, {
311986
- text: displayText,
311987
- useBriefLayout,
311988
- timestamp: useBriefLayout ? timestamp : undefined
312048
+ width: "100%",
312049
+ backgroundColor: isSelected ? "messageActionsBackground" : undefined,
312050
+ children: /* @__PURE__ */ jsx_dev_runtime110.jsxDEV(ThemedBox_default, {
312051
+ flexDirection: "column",
312052
+ backgroundColor: useBriefLayout ? undefined : "userMessageBackground",
312053
+ paddingLeft: useBriefLayout ? 0 : 1,
312054
+ paddingRight: useBriefLayout ? 0 : 1,
312055
+ borderStyle: useBriefLayout ? undefined : "single",
312056
+ borderColor: useBriefLayout ? undefined : "promptBorder",
312057
+ borderText,
312058
+ children: /* @__PURE__ */ jsx_dev_runtime110.jsxDEV(HighlightedThinkingText, {
312059
+ text: displayText,
312060
+ useBriefLayout,
312061
+ timestamp: useBriefLayout ? timestamp : undefined
312062
+ }, undefined, false, undefined, this)
311989
312063
  }, undefined, false, undefined, this)
311990
312064
  }, undefined, false, undefined, this);
311991
312065
  }
@@ -312327,31 +312401,10 @@ var init_ShutdownMessage = __esm(() => {
312327
312401
 
312328
312402
  // src/components/messages/TaskAssignmentMessage.tsx
312329
312403
  function TaskAssignmentDisplay(t0) {
312330
- const $2 = import_react_compiler_runtime91.c(11);
312404
+ const $2 = import_react_compiler_runtime91.c(9);
312331
312405
  const {
312332
312406
  assignment
312333
312407
  } = t0;
312334
- let t1;
312335
- if ($2[0] !== assignment.assignedBy || $2[1] !== assignment.taskId) {
312336
- t1 = /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312337
- marginBottom: 1,
312338
- children: /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedText, {
312339
- color: "cyan_FOR_SUBAGENTS_ONLY",
312340
- bold: true,
312341
- children: [
312342
- "Task #",
312343
- assignment.taskId,
312344
- " assigned by ",
312345
- assignment.assignedBy
312346
- ]
312347
- }, undefined, true, undefined, this)
312348
- }, undefined, false, undefined, this);
312349
- $2[0] = assignment.assignedBy;
312350
- $2[1] = assignment.taskId;
312351
- $2[2] = t1;
312352
- } else {
312353
- t1 = $2[2];
312354
- }
312355
312408
  let t2;
312356
312409
  if ($2[3] !== assignment.subject) {
312357
312410
  t2 = /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
@@ -312370,7 +312423,7 @@ function TaskAssignmentDisplay(t0) {
312370
312423
  t3 = assignment.description && /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312371
312424
  marginTop: 1,
312372
312425
  children: /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedText, {
312373
- dimColor: true,
312426
+ color: "gray",
312374
312427
  children: assignment.description
312375
312428
  }, undefined, false, undefined, this)
312376
312429
  }, undefined, false, undefined, this);
@@ -312379,30 +312432,31 @@ function TaskAssignmentDisplay(t0) {
312379
312432
  } else {
312380
312433
  t3 = $2[6];
312381
312434
  }
312435
+ const borderTitle = ` TASK #${assignment.taskId} ASSIGNED BY ${assignment.assignedBy.toUpperCase()} `;
312382
312436
  let t4;
312383
- if ($2[7] !== t1 || $2[8] !== t2 || $2[9] !== t3) {
312437
+ if ($2[7] !== borderTitle || $2[8] !== t2 || $2[0] !== t3) {
312384
312438
  t4 = /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312385
312439
  flexDirection: "column",
312386
312440
  marginY: 1,
312387
312441
  children: /* @__PURE__ */ jsx_dev_runtime113.jsxDEV(ThemedBox_default, {
312388
- borderStyle: "round",
312442
+ borderStyle: "single",
312389
312443
  borderColor: "cyan_FOR_SUBAGENTS_ONLY",
312444
+ borderText: { content: borderTitle, position: "top", align: "start", offset: 1 },
312390
312445
  flexDirection: "column",
312391
312446
  paddingX: 1,
312392
- paddingY: 1,
312447
+ paddingY: 0,
312393
312448
  children: [
312394
- t1,
312395
312449
  t2,
312396
312450
  t3
312397
312451
  ]
312398
312452
  }, undefined, true, undefined, this)
312399
312453
  }, undefined, false, undefined, this);
312400
- $2[7] = t1;
312454
+ $2[7] = borderTitle;
312401
312455
  $2[8] = t2;
312402
- $2[9] = t3;
312403
- $2[10] = t4;
312456
+ $2[0] = t3;
312457
+ $2[1] = t4;
312404
312458
  } else {
312405
- t4 = $2[10];
312459
+ t4 = $2[1];
312406
312460
  }
312407
312461
  return t4;
312408
312462
  }
@@ -350261,7 +350315,7 @@ function getAnthropicEnvMetadata() {
350261
350315
  function getBuildAgeMinutes() {
350262
350316
  if (false)
350263
350317
  ;
350264
- const buildTime = new Date("2026-05-08T03:26:39.542Z").getTime();
350318
+ const buildTime = new Date("2026-05-08T06:11:44.174Z").getTime();
350265
350319
  if (isNaN(buildTime))
350266
350320
  return;
350267
350321
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -353312,12 +353366,12 @@ function TeleportError(t0) {
353312
353366
  flexDirection: "column",
353313
353367
  children: [
353314
353368
  /* @__PURE__ */ jsx_dev_runtime142.jsxDEV(ThemedText, {
353315
- dimColor: true,
353369
+ color: "gray",
353316
353370
  children: "Teleport requires a Claude.ai account."
353317
353371
  }, undefined, false, undefined, this),
353318
353372
  /* @__PURE__ */ jsx_dev_runtime142.jsxDEV(ThemedText, {
353319
- dimColor: true,
353320
- 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."
353321
353375
  }, undefined, false, undefined, this)
353322
353376
  ]
353323
353377
  }, undefined, true, undefined, this);
@@ -383058,7 +383112,7 @@ function TaskOutputResultDisplay(t0) {
383058
383112
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
383059
383113
  t32 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383060
383114
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383061
- dimColor: true,
383115
+ color: "gray",
383062
383116
  children: "No task output available"
383063
383117
  }, undefined, false, undefined, this)
383064
383118
  }, undefined, false, undefined, this);
@@ -383219,7 +383273,7 @@ function TaskOutputResultDisplay(t0) {
383219
383273
  if ($2[27] !== expandShortcut) {
383220
383274
  t33 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383221
383275
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383222
- dimColor: true,
383276
+ color: "gray",
383223
383277
  children: [
383224
383278
  "Read output (",
383225
383279
  expandShortcut,
@@ -383239,7 +383293,7 @@ function TaskOutputResultDisplay(t0) {
383239
383293
  if ($2[29] === Symbol.for("react.memo_cache_sentinel")) {
383240
383294
  t33 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383241
383295
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383242
- dimColor: true,
383296
+ color: "gray",
383243
383297
  children: "Task is still running…"
383244
383298
  }, undefined, false, undefined, this)
383245
383299
  }, undefined, false, undefined, this);
@@ -383254,7 +383308,7 @@ function TaskOutputResultDisplay(t0) {
383254
383308
  if ($2[30] === Symbol.for("react.memo_cache_sentinel")) {
383255
383309
  t33 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383256
383310
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383257
- dimColor: true,
383311
+ color: "gray",
383258
383312
  children: "Task is still running…"
383259
383313
  }, undefined, false, undefined, this)
383260
383314
  }, undefined, false, undefined, this);
@@ -383268,7 +383322,7 @@ function TaskOutputResultDisplay(t0) {
383268
383322
  if ($2[31] === Symbol.for("react.memo_cache_sentinel")) {
383269
383323
  t32 = /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(MessageResponse, {
383270
383324
  children: /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383271
- dimColor: true,
383325
+ color: "gray",
383272
383326
  children: "Task not ready"
383273
383327
  }, undefined, false, undefined, this)
383274
383328
  }, undefined, false, undefined, this);
@@ -383314,7 +383368,7 @@ function TaskOutputResultDisplay(t0) {
383314
383368
  let t52;
383315
383369
  if ($2[38] !== expandShortcut || $2[39] !== task.output || $2[40] !== verbose) {
383316
383370
  t52 = !verbose && task.output && /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383317
- dimColor: true,
383371
+ color: "gray",
383318
383372
  children: [
383319
383373
  " ",
383320
383374
  "(",
@@ -383597,7 +383651,7 @@ ${content.trimEnd()}
383597
383651
  return null;
383598
383652
  }
383599
383653
  return /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383600
- dimColor: true,
383654
+ color: "gray",
383601
383655
  children: [
383602
383656
  " ",
383603
383657
  input.task_id
@@ -383621,7 +383675,7 @@ ${content.trimEnd()}
383621
383675
  "     Waiting for task",
383622
383676
  " ",
383623
383677
  /* @__PURE__ */ jsx_dev_runtime150.jsxDEV(ThemedText, {
383624
- dimColor: true,
383678
+ color: "gray",
383625
383679
  children: "(esc to give additional instructions)"
383626
383680
  }, undefined, false, undefined, this)
383627
383681
  ]
@@ -418069,12 +418123,12 @@ function buildPrimarySection() {
418069
418123
  const sessionId = getSessionId();
418070
418124
  const customTitle = getCurrentSessionTitle(sessionId);
418071
418125
  const nameValue = customTitle ?? /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ThemedText, {
418072
- dimColor: true,
418126
+ color: "gray",
418073
418127
  children: "/rename to add a name"
418074
418128
  }, undefined, false, undefined, this);
418075
418129
  return [{
418076
418130
  label: "Version",
418077
- value: "0.3.66"
418131
+ value: "0.3.68"
418078
418132
  }, {
418079
418133
  label: "Session name",
418080
418134
  value: nameValue
@@ -418242,7 +418296,7 @@ function Status(t0) {
418242
418296
  let t7;
418243
418297
  if ($2[16] === Symbol.for("react.memo_cache_sentinel")) {
418244
418298
  t7 = /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ThemedText, {
418245
- dimColor: true,
418299
+ color: "gray",
418246
418300
  children: /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ConfigurableShortcutHint, {
418247
418301
  action: "confirm:no",
418248
418302
  context: "Settings",
@@ -422505,7 +422559,7 @@ function Config({
422505
422559
  }, undefined, false, undefined, this),
422506
422560
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedBox_default, {
422507
422561
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422508
- dimColor: true,
422562
+ color: "gray",
422509
422563
  italic: true,
422510
422564
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422511
422565
  children: [
@@ -422541,7 +422595,7 @@ function Config({
422541
422595
  showFastModeNotice: isFastModeEnabled() ? isFastMode && isFastModeSupportedByModel(mainLoopModel) && isFastModeAvailable() : false
422542
422596
  }, undefined, false, undefined, this),
422543
422597
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422544
- dimColor: true,
422598
+ color: "gray",
422545
422599
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422546
422600
  children: [
422547
422601
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422593,7 +422647,7 @@ function Config({
422593
422647
  }
422594
422648
  }, undefined, false, undefined, this),
422595
422649
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422596
- dimColor: true,
422650
+ color: "gray",
422597
422651
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422598
422652
  children: [
422599
422653
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422620,7 +422674,7 @@ function Config({
422620
422674
  externalIncludes: getExternalClaudeMdIncludes(memoryFiles)
422621
422675
  }, undefined, false, undefined, this),
422622
422676
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422623
- dimColor: true,
422677
+ color: "gray",
422624
422678
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422625
422679
  children: [
422626
422680
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422661,7 +422715,7 @@ function Config({
422661
422715
  }
422662
422716
  }, undefined, false, undefined, this),
422663
422717
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422664
- dimColor: true,
422718
+ color: "gray",
422665
422719
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422666
422720
  children: [
422667
422721
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422701,7 +422755,7 @@ function Config({
422701
422755
  }
422702
422756
  }, undefined, false, undefined, this),
422703
422757
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422704
- dimColor: true,
422758
+ color: "gray",
422705
422759
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422706
422760
  children: [
422707
422761
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422732,7 +422786,7 @@ function Config({
422732
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."
422733
422787
  }, undefined, false, undefined, this),
422734
422788
  autoUpdaterDisabledReason?.type === "env" && /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422735
- dimColor: true,
422789
+ color: "gray",
422736
422790
  children: [
422737
422791
  "Unset ",
422738
422792
  autoUpdaterDisabledReason.envVar,
@@ -422814,7 +422868,7 @@ function Config({
422814
422868
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedBox_default, {
422815
422869
  flexDirection: "column",
422816
422870
  children: filteredSettingsItems.length === 0 ? /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422817
- dimColor: true,
422871
+ color: "gray",
422818
422872
  italic: true,
422819
422873
  children: [
422820
422874
  'No settings match "',
@@ -422824,7 +422878,7 @@ function Config({
422824
422878
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(jsx_dev_runtime183.Fragment, {
422825
422879
  children: [
422826
422880
  scrollOffset > 0 && /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422827
- dimColor: true,
422881
+ color: "gray",
422828
422882
  children: [
422829
422883
  figures_default.arrowUp,
422830
422884
  " ",
@@ -422883,7 +422937,7 @@ function Config({
422883
422937
  children: "disabled"
422884
422938
  }, undefined, false, undefined, this),
422885
422939
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422886
- dimColor: true,
422940
+ color: "gray",
422887
422941
  children: [
422888
422942
  "(",
422889
422943
  formatAutoUpdaterDisabledReason(autoUpdaterDisabledReason),
@@ -422901,7 +422955,7 @@ function Config({
422901
422955
  }, setting_2.id, false, undefined, this);
422902
422956
  }),
422903
422957
  scrollOffset + maxVisible < filteredSettingsItems.length && /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422904
- dimColor: true,
422958
+ color: "gray",
422905
422959
  children: [
422906
422960
  figures_default.arrowDown,
422907
422961
  " ",
@@ -422914,7 +422968,7 @@ function Config({
422914
422968
  }, undefined, true, undefined, this)
422915
422969
  }, undefined, false, undefined, this),
422916
422970
  headerFocused ? /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422917
- dimColor: true,
422971
+ color: "gray",
422918
422972
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422919
422973
  children: [
422920
422974
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(KeyboardShortcutHint, {
@@ -422934,7 +422988,7 @@ function Config({
422934
422988
  ]
422935
422989
  }, undefined, true, undefined, this)
422936
422990
  }, undefined, false, undefined, this) : isSearchMode ? /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422937
- dimColor: true,
422991
+ color: "gray",
422938
422992
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422939
422993
  children: [
422940
422994
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
@@ -422957,7 +423011,7 @@ function Config({
422957
423011
  ]
422958
423012
  }, undefined, true, undefined, this)
422959
423013
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
422960
- dimColor: true,
423014
+ color: "gray",
422961
423015
  children: /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(Byline, {
422962
423016
  children: [
422963
423017
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ConfigurableShortcutHint, {
@@ -423015,7 +423069,7 @@ function NotifChannelLabel(t0) {
423015
423069
  children: [
423016
423070
  "iTerm2 ",
423017
423071
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423018
- dimColor: true,
423072
+ color: "gray",
423019
423073
  children: "(OSC 9)"
423020
423074
  }, undefined, false, undefined, this)
423021
423075
  ]
@@ -423033,7 +423087,7 @@ function NotifChannelLabel(t0) {
423033
423087
  children: [
423034
423088
  "Terminal Bell ",
423035
423089
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423036
- dimColor: true,
423090
+ color: "gray",
423037
423091
  children: "(\\a)"
423038
423092
  }, undefined, false, undefined, this)
423039
423093
  ]
@@ -423051,7 +423105,7 @@ function NotifChannelLabel(t0) {
423051
423105
  children: [
423052
423106
  "Kitty ",
423053
423107
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423054
- dimColor: true,
423108
+ color: "gray",
423055
423109
  children: "(OSC 99)"
423056
423110
  }, undefined, false, undefined, this)
423057
423111
  ]
@@ -423069,7 +423123,7 @@ function NotifChannelLabel(t0) {
423069
423123
  children: [
423070
423124
  "Ghostty ",
423071
423125
  /* @__PURE__ */ jsx_dev_runtime183.jsxDEV(ThemedText, {
423072
- dimColor: true,
423126
+ color: "gray",
423073
423127
  children: "(OSC 777)"
423074
423128
  }, undefined, false, undefined, this)
423075
423129
  ]
@@ -423575,7 +423629,7 @@ function CodexUsageLimitBar({
423575
423629
  ]
423576
423630
  }, undefined, true, undefined, this),
423577
423631
  resetText ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423578
- dimColor: true,
423632
+ color: "gray",
423579
423633
  children: resetText
423580
423634
  }, undefined, false, undefined, this) : null
423581
423635
  ]
@@ -423596,7 +423650,7 @@ function CodexUsageLimitBar({
423596
423650
  children: " "
423597
423651
  }, undefined, false, undefined, this),
423598
423652
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423599
- dimColor: true,
423653
+ color: "gray",
423600
423654
  children: [
423601
423655
  "· ",
423602
423656
  resetText
@@ -423635,7 +423689,7 @@ function CodexUsageTextRow({
423635
423689
  children: label
423636
423690
  }, undefined, false, undefined, this),
423637
423691
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423638
- dimColor: true,
423692
+ color: "gray",
423639
423693
  children: [
423640
423694
  " · ",
423641
423695
  value
@@ -423685,7 +423739,7 @@ function CodexUsage() {
423685
423739
  ]
423686
423740
  }, undefined, true, undefined, this),
423687
423741
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423688
- dimColor: true,
423742
+ color: "gray",
423689
423743
  children: /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(Byline, {
423690
423744
  children: [
423691
423745
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ConfigurableShortcutHint, {
@@ -423712,11 +423766,11 @@ function CodexUsage() {
423712
423766
  gap: 1,
423713
423767
  children: [
423714
423768
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423715
- dimColor: true,
423769
+ color: "gray",
423716
423770
  children: "Loading Codex usage data…"
423717
423771
  }, undefined, false, undefined, this),
423718
423772
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423719
- dimColor: true,
423773
+ color: "gray",
423720
423774
  children: /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ConfigurableShortcutHint, {
423721
423775
  action: "confirm:no",
423722
423776
  context: "Settings",
@@ -423735,14 +423789,14 @@ function CodexUsage() {
423735
423789
  width: "100%",
423736
423790
  children: [
423737
423791
  planType ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423738
- dimColor: true,
423792
+ color: "gray",
423739
423793
  children: [
423740
423794
  "Plan: ",
423741
423795
  planType
423742
423796
  ]
423743
423797
  }, undefined, true, undefined, this) : null,
423744
423798
  rows.length === 0 ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423745
- dimColor: true,
423799
+ color: "gray",
423746
423800
  children: "Codex usage data is not available for this account."
423747
423801
  }, undefined, false, undefined, this) : null,
423748
423802
  rows.map((row, index) => row.kind === "window" ? /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(CodexUsageLimitBar, {
@@ -423755,7 +423809,7 @@ function CodexUsage() {
423755
423809
  value: row.value
423756
423810
  }, `${row.label}-${index}`, false, undefined, this)),
423757
423811
  /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ThemedText, {
423758
- dimColor: true,
423812
+ color: "gray",
423759
423813
  children: /* @__PURE__ */ jsx_dev_runtime185.jsxDEV(ConfigurableShortcutHint, {
423760
423814
  action: "confirm:no",
423761
423815
  context: "Settings",
@@ -423876,7 +423930,7 @@ function LimitBar(t0) {
423876
423930
  let t7;
423877
423931
  if ($2[12] !== subtext) {
423878
423932
  t7 = subtext && /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
423879
- dimColor: true,
423933
+ color: "gray",
423880
423934
  children: subtext
423881
423935
  }, undefined, false, undefined, this);
423882
423936
  $2[12] = subtext;
@@ -423922,7 +423976,7 @@ function LimitBar(t0) {
423922
423976
  children: " "
423923
423977
  }, undefined, false, undefined, this),
423924
423978
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
423925
- dimColor: true,
423979
+ color: "gray",
423926
423980
  children: [
423927
423981
  "· ",
423928
423982
  subtext
@@ -424040,7 +424094,7 @@ function AnthropicUsage() {
424040
424094
  ]
424041
424095
  }, undefined, true, undefined, this),
424042
424096
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424043
- dimColor: true,
424097
+ color: "gray",
424044
424098
  children: /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(Byline, {
424045
424099
  children: [
424046
424100
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ConfigurableShortcutHint, {
@@ -424067,11 +424121,11 @@ function AnthropicUsage() {
424067
424121
  gap: 1,
424068
424122
  children: [
424069
424123
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424070
- dimColor: true,
424124
+ color: "gray",
424071
424125
  children: "Loading usage data…"
424072
424126
  }, undefined, false, undefined, this),
424073
424127
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424074
- dimColor: true,
424128
+ color: "gray",
424075
424129
  children: /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ConfigurableShortcutHint, {
424076
424130
  action: "confirm:no",
424077
424131
  context: "Settings",
@@ -424102,7 +424156,7 @@ function AnthropicUsage() {
424102
424156
  limits.some(({
424103
424157
  limit
424104
424158
  }) => limit) || /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424105
- dimColor: true,
424159
+ color: "gray",
424106
424160
  children: "/usage is only available for subscription plans."
424107
424161
  }, undefined, false, undefined, this),
424108
424162
  limits.map(({
@@ -424121,7 +424175,7 @@ function AnthropicUsage() {
424121
424175
  maxWidth
424122
424176
  }, undefined, false, undefined, this),
424123
424177
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424124
- dimColor: true,
424178
+ color: "gray",
424125
424179
  children: /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ConfigurableShortcutHint, {
424126
424180
  action: "confirm:no",
424127
424181
  context: "Settings",
@@ -424161,7 +424215,7 @@ function ExtraUsageSection(t0) {
424161
424215
  children: EXTRA_USAGE_SECTION_TITLE
424162
424216
  }, undefined, false, undefined, this),
424163
424217
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424164
- dimColor: true,
424218
+ color: "gray",
424165
424219
  children: "Extra usage not enabled · /extra-usage to enable"
424166
424220
  }, undefined, false, undefined, this)
424167
424221
  ]
@@ -424185,7 +424239,7 @@ function ExtraUsageSection(t0) {
424185
424239
  children: EXTRA_USAGE_SECTION_TITLE
424186
424240
  }, undefined, false, undefined, this),
424187
424241
  /* @__PURE__ */ jsx_dev_runtime186.jsxDEV(ThemedText, {
424188
- dimColor: true,
424242
+ color: "gray",
424189
424243
  children: "Unlimited"
424190
424244
  }, undefined, false, undefined, this)
424191
424245
  ]
@@ -425967,9 +426021,9 @@ var call18 = async () => {
425967
426021
  if (isClaudeAISubscriber()) {
425968
426022
  let value;
425969
426023
  if (currentLimits.isUsingOverage) {
425970
- 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";
425971
426025
  } else {
425972
- 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";
425973
426027
  }
425974
426028
  if (process.env.USER_TYPE === "ant") {
425975
426029
  value += `
@@ -427721,7 +427775,7 @@ function McpConfigErrorSection(t0) {
427721
427775
  let t5;
427722
427776
  if ($2[10] === Symbol.for("react.memo_cache_sentinel")) {
427723
427777
  t5 = /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427724
- dimColor: true,
427778
+ color: "gray",
427725
427779
  children: "Location: "
427726
427780
  }, undefined, false, undefined, this);
427727
427781
  $2[10] = t5;
@@ -427742,7 +427796,7 @@ function McpConfigErrorSection(t0) {
427742
427796
  children: [
427743
427797
  t5,
427744
427798
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427745
- dimColor: true,
427799
+ color: "gray",
427746
427800
  children: t6
427747
427801
  }, undefined, false, undefined, this)
427748
427802
  ]
@@ -427810,7 +427864,7 @@ function _temp225(warning, i_0) {
427810
427864
  children: /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427811
427865
  children: [
427812
427866
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427813
- dimColor: true,
427867
+ color: "gray",
427814
427868
  children: "└ "
427815
427869
  }, undefined, false, undefined, this),
427816
427870
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
@@ -427818,7 +427872,7 @@ function _temp225(warning, i_0) {
427818
427872
  children: "[Warning]"
427819
427873
  }, undefined, false, undefined, this),
427820
427874
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427821
- dimColor: true,
427875
+ color: "gray",
427822
427876
  children: [
427823
427877
  " ",
427824
427878
  serverName_0 && `[${serverName_0}] `,
@@ -427836,7 +427890,7 @@ function _temp69(error42, i3) {
427836
427890
  children: /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427837
427891
  children: [
427838
427892
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427839
- dimColor: true,
427893
+ color: "gray",
427840
427894
  children: "└ "
427841
427895
  }, undefined, false, undefined, this),
427842
427896
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
@@ -427844,7 +427898,7 @@ function _temp69(error42, i3) {
427844
427898
  children: "[Error]"
427845
427899
  }, undefined, false, undefined, this),
427846
427900
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427847
- dimColor: true,
427901
+ color: "gray",
427848
427902
  children: [
427849
427903
  " ",
427850
427904
  serverName && `[${serverName}] `,
@@ -427925,7 +427979,7 @@ function McpParsingWarnings() {
427925
427979
  /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedBox_default, {
427926
427980
  marginTop: 1,
427927
427981
  children: /* @__PURE__ */ jsx_dev_runtime199.jsxDEV(ThemedText, {
427928
- dimColor: true,
427982
+ color: "gray",
427929
427983
  children: [
427930
427984
  "For help configuring MCP servers, see:",
427931
427985
  " ",
@@ -437715,7 +437769,7 @@ function MCPListPanel(t0) {
437715
437769
  children: server_3.name
437716
437770
  }, undefined, false, undefined, this),
437717
437771
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437718
- dimColor: !isSelected,
437772
+ color: !isSelected ? "gray" : undefined,
437719
437773
  children: [
437720
437774
  " · ",
437721
437775
  statusIcon,
@@ -437723,7 +437777,7 @@ function MCPListPanel(t0) {
437723
437777
  ]
437724
437778
  }, undefined, true, undefined, this),
437725
437779
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437726
- dimColor: !isSelected,
437780
+ color: !isSelected ? "gray" : undefined,
437727
437781
  children: statusText
437728
437782
  }, undefined, false, undefined, this)
437729
437783
  ]
@@ -437755,7 +437809,7 @@ function MCPListPanel(t0) {
437755
437809
  children: agentServer_1.name
437756
437810
  }, undefined, false, undefined, this),
437757
437811
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437758
- dimColor: !isSelected_0,
437812
+ color: !isSelected_0 ? "gray" : undefined,
437759
437813
  children: [
437760
437814
  " · ",
437761
437815
  statusIcon_0,
@@ -437763,7 +437817,7 @@ function MCPListPanel(t0) {
437763
437817
  ]
437764
437818
  }, undefined, true, undefined, this),
437765
437819
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437766
- dimColor: !isSelected_0,
437820
+ color: !isSelected_0 ? "gray" : undefined,
437767
437821
  children: statusText_0
437768
437822
  }, undefined, false, undefined, this)
437769
437823
  ]
@@ -437814,7 +437868,7 @@ function MCPListPanel(t0) {
437814
437868
  children: heading2.label
437815
437869
  }, undefined, false, undefined, this),
437816
437870
  heading2.path && /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437817
- dimColor: true,
437871
+ color: "gray",
437818
437872
  children: [
437819
437873
  " (",
437820
437874
  heading2.path,
@@ -437875,7 +437929,7 @@ function MCPListPanel(t0) {
437875
437929
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedBox_default, {
437876
437930
  paddingLeft: 2,
437877
437931
  children: /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437878
- dimColor: true,
437932
+ color: "gray",
437879
437933
  children: [
437880
437934
  "@",
437881
437935
  agentName
@@ -437907,7 +437961,7 @@ function MCPListPanel(t0) {
437907
437961
  children: dynamicHeading.label
437908
437962
  }, undefined, false, undefined, this),
437909
437963
  dynamicHeading.path && /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437910
- dimColor: true,
437964
+ color: "gray",
437911
437965
  children: [
437912
437966
  " (",
437913
437967
  dynamicHeading.path,
@@ -437928,7 +437982,7 @@ function MCPListPanel(t0) {
437928
437982
  let t26;
437929
437983
  if ($2[60] !== hasFailedClients) {
437930
437984
  t26 = hasFailedClients && /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437931
- dimColor: true,
437985
+ color: "gray",
437932
437986
  children: debugMode ? "※ Error logs shown inline with --debug" : "※ Run stx7 --debug to see error logs"
437933
437987
  }, undefined, false, undefined, this);
437934
437988
  $2[60] = hasFailedClients;
@@ -437939,7 +437993,7 @@ function MCPListPanel(t0) {
437939
437993
  let t27;
437940
437994
  if ($2[62] === Symbol.for("react.memo_cache_sentinel")) {
437941
437995
  t27 = /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
437942
- dimColor: true,
437996
+ color: "gray",
437943
437997
  children: [
437944
437998
  /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(Link, {
437945
437999
  url: "https://code.claude.com/docs/en/mcp",
@@ -438009,7 +438063,7 @@ function MCPListPanel(t0) {
438009
438063
  t31 = /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedBox_default, {
438010
438064
  paddingX: 1,
438011
438065
  children: /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(ThemedText, {
438012
- dimColor: true,
438066
+ color: "gray",
438013
438067
  italic: true,
438014
438068
  children: /* @__PURE__ */ jsx_dev_runtime230.jsxDEV(Byline, {
438015
438069
  children: [
@@ -439108,7 +439162,7 @@ function MCPReconnect(t0) {
439108
439162
  let t7;
439109
439163
  if ($2[20] !== error42) {
439110
439164
  t7 = /* @__PURE__ */ jsx_dev_runtime232.jsxDEV(ThemedText, {
439111
- dimColor: true,
439165
+ color: "gray",
439112
439166
  children: [
439113
439167
  "Error: ",
439114
439168
  error42
@@ -440556,7 +440610,7 @@ function MCPToolDetailView(t0) {
440556
440610
  let t9;
440557
440611
  if ($2[17] !== isOpenWorld) {
440558
440612
  t9 = isOpenWorld && /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440559
- dimColor: true,
440613
+ color: "gray",
440560
440614
  children: " [open-world]"
440561
440615
  }, undefined, false, undefined, this);
440562
440616
  $2[17] = isOpenWorld;
@@ -440599,7 +440653,7 @@ function MCPToolDetailView(t0) {
440599
440653
  children: [
440600
440654
  t11,
440601
440655
  /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440602
- dimColor: true,
440656
+ color: "gray",
440603
440657
  children: toolName
440604
440658
  }, undefined, false, undefined, this)
440605
440659
  ]
@@ -440625,7 +440679,7 @@ function MCPToolDetailView(t0) {
440625
440679
  children: [
440626
440680
  t13,
440627
440681
  /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440628
- dimColor: true,
440682
+ color: "gray",
440629
440683
  children: tool.name
440630
440684
  }, undefined, false, undefined, this)
440631
440685
  ]
@@ -440678,17 +440732,17 @@ function MCPToolDetailView(t0) {
440678
440732
  "• ",
440679
440733
  key,
440680
440734
  isRequired && /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440681
- dimColor: true,
440735
+ color: "gray",
440682
440736
  children: " (required)"
440683
440737
  }, undefined, false, undefined, this),
440684
440738
  ":",
440685
440739
  " ",
440686
440740
  /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440687
- dimColor: true,
440741
+ color: "gray",
440688
440742
  children: typeof value === "object" && value && "type" in value ? String(value.type) : "unknown"
440689
440743
  }, undefined, false, undefined, this),
440690
440744
  typeof value === "object" && value && "description" in value && /* @__PURE__ */ jsx_dev_runtime236.jsxDEV(ThemedText, {
440691
- dimColor: true,
440745
+ color: "gray",
440692
440746
  children: [
440693
440747
  " - ",
440694
440748
  String(value.description)
@@ -440857,7 +440911,7 @@ function MCPToolListView(t0) {
440857
440911
  let t7;
440858
440912
  if ($2[11] !== onBack || $2[12] !== onSelectTool || $2[13] !== serverTools || $2[14] !== toolOptions) {
440859
440913
  t7 = serverTools.length === 0 ? /* @__PURE__ */ jsx_dev_runtime237.jsxDEV(ThemedText, {
440860
- dimColor: true,
440914
+ color: "gray",
440861
440915
  children: "No tools available"
440862
440916
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime237.jsxDEV(Select, {
440863
440917
  options: toolOptions,
@@ -457761,7 +457815,7 @@ function getStartupLines(termWidth) {
457761
457815
  const sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
457762
457816
  out.push(centerAnsiLine(boxRow(sRow, W2, sLen), tw));
457763
457817
  out.push(centerAnsiLine(`${rgb3(...BORDER)}└${"─".repeat(W2 - 2)}┘${RESET2}`, tw));
457764
- out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.66"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
457818
+ out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.68"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
457765
457819
  out.push("");
457766
457820
  return out;
457767
457821
  }
@@ -459148,6 +459202,59 @@ function ScrollIndicator({
459148
459202
  const scrollTop = Number(parts[0]);
459149
459203
  const scrollHeight = Number(parts[1]);
459150
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]);
459151
459258
  const handleClick = import_react151.useCallback((event) => {
459152
459259
  const s = scrollRef?.current;
459153
459260
  if (!s)
@@ -459188,6 +459295,7 @@ function ScrollIndicator({
459188
459295
  bottom: 0,
459189
459296
  width: 1,
459190
459297
  flexDirection: "column",
459298
+ onPress: handlePress,
459191
459299
  onClick: handleClick,
459192
459300
  noSelect: true,
459193
459301
  children: track2.map((char, i3) => /* @__PURE__ */ jsx_dev_runtime260.jsxDEV(ThemedText, {
@@ -486513,7 +486621,7 @@ var init_bridge_kick = __esm(() => {
486513
486621
  var call61 = async () => {
486514
486622
  return {
486515
486623
  type: "text",
486516
- value: `${"99.0.0"} (built ${"2026-05-08T03:26:39.542Z"})`
486624
+ value: `${"99.0.0"} (built ${"2026-05-08T06:11:44.174Z"})`
486517
486625
  };
486518
486626
  }, version2, version_default;
486519
486627
  var init_version = __esm(() => {
@@ -488750,7 +488858,7 @@ function ClaudeInChromeMenu(t0) {
488750
488858
  let t6;
488751
488859
  if ($2[20] === Symbol.for("react.memo_cache_sentinel")) {
488752
488860
  t6 = /* @__PURE__ */ jsx_dev_runtime342.jsxDEV(ThemedText, {
488753
- 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."
488754
488862
  }, undefined, false, undefined, this);
488755
488863
  $2[20] = t6;
488756
488864
  } else {
@@ -555339,7 +555447,7 @@ function WelcomeV2() {
555339
555447
  dimColor: true,
555340
555448
  children: [
555341
555449
  "v",
555342
- "0.3.66",
555450
+ "0.3.68",
555343
555451
  " "
555344
555452
  ]
555345
555453
  }, undefined, true, undefined, this)
@@ -558847,7 +558955,7 @@ var init_schema = __esm(() => {
558847
558955
  $schema: exports_external.string().optional().describe("JSON Schema URL for editor validation"),
558848
558956
  $docs: exports_external.string().optional().describe("Documentation URL"),
558849
558957
  bindings: exports_external.array(KeybindingBlockSchema()).describe("Array of keybinding blocks by context")
558850
- }).describe("Claude Code keybindings configuration. Customize keyboard shortcuts by context."));
558958
+ }).describe("Stratagem keybindings configuration. Customize keyboard shortcuts by context."));
558851
558959
  });
558852
558960
 
558853
558961
  // src/skills/bundled/keybindings.ts
@@ -562457,7 +562565,7 @@ async function mcpResetChoicesHandler() {
562457
562565
  enableAllProjectMcpServers: false
562458
562566
  }));
562459
562567
  cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
562460
- You will be prompted for approval next time you start Claude Code.`);
562568
+ You will be prompted for approval next time you start Stratagem.`);
562461
562569
  }
562462
562570
  var jsx_dev_runtime491;
562463
562571
  var init_mcp5 = __esm(() => {
@@ -566063,8 +566171,8 @@ async function getEnvLessBridgeConfig() {
566063
566171
  async function checkEnvLessBridgeMinVersion() {
566064
566172
  const cfg = await getEnvLessBridgeConfig();
566065
566173
  if (cfg.min_version && lt("99.0.0", cfg.min_version)) {
566066
- return `Your version of Claude Code (${"99.0.0"}) is too old for Remote Control.
566067
- 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.`;
566068
566176
  }
566069
566177
  return null;
566070
566178
  }
@@ -573177,7 +573285,7 @@ async function run() {
573177
573285
  if (false) {}
573178
573286
  profileCheckpoint("preAction_after_settings_sync");
573179
573287
  });
573180
- 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) => {
573181
573289
  return true;
573182
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) => {
573183
573291
  const amount = Number(value);
@@ -573208,7 +573316,7 @@ async function run() {
573208
573316
  }
573209
573317
  if (prompt === "code") {
573210
573318
  logEvent("tengu_code_prompt_ignored", {});
573211
- 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`"));
573212
573320
  prompt = undefined;
573213
573321
  }
573214
573322
  if (prompt && typeof prompt === "string" && !/\s/.test(prompt) && prompt.length > 0) {
@@ -574797,7 +574905,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574797
574905
  pendingHookMessages
574798
574906
  }, renderAndRun);
574799
574907
  }
574800
- }).version("0.3.66 (STRATAGEM X7)", "-v, --version", "Output the version number");
574908
+ }).version("0.3.68 (STRATAGEM X7)", "-v, --version", "Output the version number");
574801
574909
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
574802
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.");
574803
574911
  if (canUserConfigureAdvisor()) {
@@ -574833,7 +574941,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574833
574941
  return program2;
574834
574942
  }
574835
574943
  const mcp2 = program2.command("mcp").description("Configure and manage MCP servers").configureHelp(createSortedHelpConfig()).enablePositionalOptions();
574836
- 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 ({
574837
574945
  debug: debug2,
574838
574946
  verbose
574839
574947
  }) => {
@@ -574919,7 +575027,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574919
575027
  await authLogout2();
574920
575028
  });
574921
575029
  const coworkOption = () => new Option("--cowork", "Use cowork_plugins directory").hideHelp();
574922
- 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());
574923
575031
  pluginCmd.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(coworkOption()).action(async (manifestPath, options2) => {
574924
575032
  const {
574925
575033
  pluginValidateHandler: pluginValidateHandler2
@@ -574932,7 +575040,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
574932
575040
  } = await Promise.resolve().then(() => (init_plugins(), exports_plugins));
574933
575041
  await pluginListHandler2(options2);
574934
575042
  });
574935
- const marketplaceCmd = pluginCmd.command("marketplace").description("Manage Claude Code marketplaces").configureHelp(createSortedHelpConfig());
575043
+ const marketplaceCmd = pluginCmd.command("marketplace").description("Manage Stratagem marketplaces").configureHelp(createSortedHelpConfig());
574936
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) => {
574937
575045
  const {
574938
575046
  marketplaceAddHandler: marketplaceAddHandler2
@@ -575006,7 +575114,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
575006
575114
  if (false) {}
575007
575115
  if (false) {}
575008
575116
  if (false) {}
575009
- 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 () => {
575010
575118
  const [{
575011
575119
  doctorHandler: doctorHandler2
575012
575120
  }, {
@@ -575023,7 +575131,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
575023
575131
  });
575024
575132
  if (false) {}
575025
575133
  if (false) {}
575026
- 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) => {
575027
575135
  const {
575028
575136
  installHandler: installHandler2
575029
575137
  } = await Promise.resolve().then(() => (init_util3(), exports_util2));
@@ -575258,7 +575366,7 @@ if (false) {}
575258
575366
  async function main2() {
575259
575367
  const args = process.argv.slice(2);
575260
575368
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
575261
- console.log(`${"0.3.66"} (STRATAGEM X7)`);
575369
+ console.log(`${"0.3.68"} (STRATAGEM X7)`);
575262
575370
  return;
575263
575371
  }
575264
575372
  if (args.includes("--provider")) {
@@ -575380,4 +575488,4 @@ async function main2() {
575380
575488
  }
575381
575489
  main2();
575382
575490
 
575383
- //# debugId=4641F9FE289CE4EF64756E2164756E21
575491
+ //# debugId=5E5DC4433501C64F64756E2164756E21