tweakcc-fixed 2.0.14 → 2.0.16

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.
package/README.md CHANGED
@@ -3,15 +3,15 @@
3
3
  A hard fork of [Piebald-AI/tweakcc](https://github.com/Piebald-AI/tweakcc) that patches an installed Claude Code in place — both npm `cli.js` and the JavaScript embedded in a native Bun binary — to apply **curated system-prompt overrides** and a set of **fork-only patches**. It is purpose-built to pair with [skrabe/lobotomized-claude-code](https://github.com/skrabe/lobotomized-claude-code), and it stays current with every Claude Code release through its own prompt-extraction pipeline.
4
4
 
5
5
  > [!IMPORTANT]
6
- > **This fork is a superset of upstream and no longer merges from it (2026-06-04).** Upstream's `tweakcc` gates system-prompt overrides **off** for native installs and doesn't have this fork's override mechanisms (inline-blob, system-reminders) or extended extractor; we add those and apply system prompts to native installs too. Our extractor names 1027 prompts for CC 2.1.186 under our own per-model override conventions, capturing every model-facing string below the old 500-char floor — including 572 ids absent from Piebald's published extract. A merge would only bring a version label and prompt data we already supersede, so we keep the `upstream` remote as a **fetch-only comparison signal** and extract our own prompts.
7
-
8
- | | |
9
- | ---------------------- | --------------------------------------------------------------------------------------------------------- |
10
- | **This fork** | [skrabe/tweakcc-fixed](https://github.com/skrabe/tweakcc-fixed) |
11
- | **Base** | [Piebald-AI/tweakcc](https://github.com/Piebald-AI/tweakcc) @ `bc41a43`, then diverged |
12
- | **Target CC versions** | 2.0.98 through **2.1.186** |
13
- | **Install** | `npx tweakcc-fixed@latest` — published on npm from this repo ([Install](#install)) |
14
- | **Pairs with** | [skrabe/lobotomized-claude-code](https://github.com/skrabe/lobotomized-claude-code) (per-model overrides) |
6
+ > **This fork is a superset of upstream and no longer merges from it (2026-06-04).** Upstream's `tweakcc` gates system-prompt overrides **off** for native installs and doesn't have this fork's override mechanisms (inline-blob, system-reminders) or extended extractor; we add those and apply system prompts to native installs too. Our extractor names 1007 prompts for CC 2.1.187 under our own per-model override conventions, capturing every model-facing string below the old 500-char floor — including 572 ids absent from Piebald's published extract. A merge would only bring a version label and prompt data we already supersede, so we keep the `upstream` remote as a **fetch-only comparison signal** and extract our own prompts.
7
+
8
+ | | |
9
+ | ---------------------- | ------------------------------------------------------------------------------------------------------------ |
10
+ | **This fork** | [skrabe/tweakcc-fixed](https://github.com/skrabe/tweakcc-fixed) |
11
+ | **Base** | [Piebald-AI/tweakcc](https://github.com/Piebald-AI/tweakcc) @ `bc41a43`, then diverged |
12
+ | **Target CC versions** | 2.0.98 through **2.1.187** |
13
+ | **Install** | `npx tweakcc-fixed@latest` — published on npm from this repo ([Install](#install)) |
14
+ | **Pairs with** | [skrabe/lobotomized-claude-code](https://github.com/skrabe/lobotomized-claude-code) (per-model overrides) |
15
15
  | **Agent guide** | [`skills/showtime/`](./skills/showtime/) — bug-class diagnostics, patch authoring, the version-bump pipeline |
16
16
 
17
17
  ## What this fork adds over the base
@@ -73,7 +73,7 @@ For detailed docs on these shared features, see the [upstream tweakcc README](ht
73
73
 
74
74
  ## Pairing with lobotomized-claude-code
75
75
 
76
- Use this fork's extraction surface with [skrabe/lobotomized-claude-code](https://github.com/skrabe/lobotomized-claude-code) — per-model override sets (**Claude Opus 4.8**, Claude Fable 5) tuned against this fork's extraction. Our named-prompt JSON catches prompts Piebald's published extract doesn't (572 ids for CC 2.1.186 absent from their extract), and the system-reminder + `string`-kind reach lets the overrides cover content the base mechanisms can't.
76
+ Use this fork's extraction surface with [skrabe/lobotomized-claude-code](https://github.com/skrabe/lobotomized-claude-code) — per-model override sets (**Claude Opus 4.8**, Claude Fable 5) tuned against this fork's extraction. Our named-prompt JSON catches prompts Piebald's published extract doesn't (572 ids for CC 2.1.187 absent from their extract), and the system-reminder + `string`-kind reach lets the overrides cover content the base mechanisms can't.
77
77
 
78
78
  ## Install
79
79
 
@@ -145,8 +145,9 @@ Main exports: `findAllInstallations` / `tryDetectInstallation` /
145
145
  `showInteractiveInstallationPicker` (detection), `readContent` / `writeContent`
146
146
  (JS I/O across npm + native), `backupFile` / `restoreBackup`, `readTweakccConfig`
147
147
  plus the config-path helpers, the `helpers` toolkit (minified-identifier finders
148
- + diff utilities), and the `Installation` / `TweakccConfig` / `Settings` /
149
- `DetectInstallationOptions` types.
148
+
149
+ - diff utilities), and the `Installation` / `TweakccConfig` / `Settings` /
150
+ `DetectInstallationOptions` types.
150
151
 
151
152
  ## The `showtime` skill (CC version-bump pipeline)
152
153
 
@@ -1,5 +1,6 @@
1
- import{createRequire as e}from"node:module";import t from"chalk";import*as n from"node:os";import r,{EOL as i}from"node:os";import*as a from"node:fs/promises";import o from"node:fs/promises";import*as s from"node:fs";import c from"node:fs";import*as l from"node:path";import u from"node:path";import*as d from"fs";import*as f from"path";import*as p from"os";import*as m from"child_process";import*as h from"crypto";import{spawnSync as g}from"node:child_process";import _ from"gray-matter";import{fileURLToPath as v}from"node:url";import{Worker as y}from"node:worker_threads";import{diffWordsWithSpace as b}from"diff";let x=null;async function S(){if(x!==null)return x;try{return await import(`node-lief`),x=await import(`./nativeInstallation-CHSAij_R.mjs`),x}catch(e){return W(`Error loading native installation module: ${e instanceof Error?e.message:String(e)}`),e instanceof Error&&W(e),null}}async function C(e,t){let n=await S();return n?n.extractClaudeJsFromNativeInstallation(e,t):{data:null,clearBytecode:!1,error:`node-lief native module unavailable on this platform/runtime (cannot extract from native installs)`}}async function w(e,t,n,r){let i=await S();if(!i)throw Error("`repackNativeInstallation()` called but `node-lief` is not available. This is unexpected - `extractClaudeJsFromNativeInstallation()` should have been called first.");i.repackNativeInstallation(e,t,n,r)}async function T(e){let t=await S();return t?t.resolveNixBinaryWrapper(e):null}const E={themes:[{name:`Dark mode`,id:`dark`,colors:{autoAccept:`rgb(175,135,255)`,bashBorder:`rgb(253,93,177)`,claude:`rgb(215,119,87)`,claudeShimmer:`rgb(235,159,127)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(147,165,255)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(177,195,255)`,permission:`rgb(177,185,249)`,permissionShimmer:`rgb(207,215,255)`,planMode:`rgb(72,150,140)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(136,136,136)`,promptBorderShimmer:`rgb(166,166,166)`,text:`rgb(255,255,255)`,inverseText:`rgb(0,0,0)`,inactive:`rgb(153,153,153)`,subtle:`rgb(80,80,80)`,suggestion:`rgb(177,185,249)`,remember:`rgb(177,185,249)`,background:`rgb(0,204,204)`,success:`rgb(78,186,101)`,error:`rgb(255,107,128)`,warning:`rgb(255,193,7)`,warningShimmer:`rgb(255,223,57)`,diffAdded:`rgb(34,92,43)`,diffRemoved:`rgb(122,41,54)`,diffAddedDimmed:`rgb(71,88,74)`,diffRemovedDimmed:`rgb(105,72,77)`,diffAddedWord:`rgb(56,166,96)`,diffRemovedWord:`rgb(179,89,107)`,diffAddedWordDimmed:`rgb(46,107,58)`,diffRemovedWordDimmed:`rgb(139,57,69)`,red_FOR_SUBAGENTS_ONLY:`rgb(220,38,38)`,blue_FOR_SUBAGENTS_ONLY:`rgb(37,99,235)`,green_FOR_SUBAGENTS_ONLY:`rgb(22,163,74)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(202,138,4)`,purple_FOR_SUBAGENTS_ONLY:`rgb(147,51,234)`,orange_FOR_SUBAGENTS_ONLY:`rgb(234,88,12)`,pink_FOR_SUBAGENTS_ONLY:`rgb(219,39,119)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(8,145,178)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(55, 55, 55)`,bashMessageBackgroundColor:`rgb(65, 60, 65)`,memoryBackgroundColor:`rgb(55, 65, 70)`,rate_limit_fill:`rgb(177,185,249)`,rate_limit_empty:`rgb(80,83,112)`}},{name:`Light mode`,id:`light`,colors:{autoAccept:`rgb(135,0,255)`,bashBorder:`rgb(255,0,135)`,claude:`rgb(215,119,87)`,claudeShimmer:`rgb(245,149,117)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(87,105,247)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(117,135,255)`,permission:`rgb(87,105,247)`,permissionShimmer:`rgb(137,155,255)`,planMode:`rgb(0,102,102)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(153,153,153)`,promptBorderShimmer:`rgb(183,183,183)`,text:`rgb(0,0,0)`,inverseText:`rgb(255,255,255)`,inactive:`rgb(102,102,102)`,subtle:`rgb(175,175,175)`,suggestion:`rgb(87,105,247)`,remember:`rgb(0,0,255)`,background:`rgb(0,153,153)`,success:`rgb(44,122,57)`,error:`rgb(171,43,63)`,warning:`rgb(150,108,30)`,warningShimmer:`rgb(200,158,80)`,diffAdded:`rgb(105,219,124)`,diffRemoved:`rgb(255,168,180)`,diffAddedDimmed:`rgb(199,225,203)`,diffRemovedDimmed:`rgb(253,210,216)`,diffAddedWord:`rgb(47,157,68)`,diffRemovedWord:`rgb(209,69,75)`,diffAddedWordDimmed:`rgb(144,194,156)`,diffRemovedWordDimmed:`rgb(232,165,173)`,red_FOR_SUBAGENTS_ONLY:`rgb(220,38,38)`,blue_FOR_SUBAGENTS_ONLY:`rgb(37,99,235)`,green_FOR_SUBAGENTS_ONLY:`rgb(22,163,74)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(202,138,4)`,purple_FOR_SUBAGENTS_ONLY:`rgb(147,51,234)`,orange_FOR_SUBAGENTS_ONLY:`rgb(234,88,12)`,pink_FOR_SUBAGENTS_ONLY:`rgb(219,39,119)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(8,145,178)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(240, 240, 240)`,bashMessageBackgroundColor:`rgb(250, 245, 250)`,memoryBackgroundColor:`rgb(230, 245, 250)`,rate_limit_fill:`rgb(87,105,247)`,rate_limit_empty:`rgb(39,47,111)`}},{name:`Light mode (ANSI colors only)`,id:`light-ansi`,colors:{autoAccept:`ansi:magenta`,bashBorder:`ansi:magenta`,claude:`ansi:redBright`,claudeShimmer:`ansi:yellowBright`,claudeBlue_FOR_SYSTEM_SPINNER:`ansi:blue`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`ansi:blueBright`,permission:`ansi:blue`,permissionShimmer:`ansi:blueBright`,planMode:`ansi:cyan`,ide:`ansi:blueBright`,promptBorder:`ansi:white`,promptBorderShimmer:`ansi:whiteBright`,text:`ansi:black`,inverseText:`ansi:white`,inactive:`ansi:blackBright`,subtle:`ansi:blackBright`,suggestion:`ansi:blue`,remember:`ansi:blue`,background:`ansi:cyan`,success:`ansi:green`,error:`ansi:red`,warning:`ansi:yellow`,warningShimmer:`ansi:yellowBright`,diffAdded:`ansi:green`,diffRemoved:`ansi:red`,diffAddedDimmed:`ansi:green`,diffRemovedDimmed:`ansi:red`,diffAddedWord:`ansi:greenBright`,diffRemovedWord:`ansi:redBright`,diffAddedWordDimmed:`ansi:green`,diffRemovedWordDimmed:`ansi:red`,red_FOR_SUBAGENTS_ONLY:`ansi:red`,blue_FOR_SUBAGENTS_ONLY:`ansi:blue`,green_FOR_SUBAGENTS_ONLY:`ansi:green`,yellow_FOR_SUBAGENTS_ONLY:`ansi:yellow`,purple_FOR_SUBAGENTS_ONLY:`ansi:magenta`,orange_FOR_SUBAGENTS_ONLY:`ansi:redBright`,pink_FOR_SUBAGENTS_ONLY:`ansi:magentaBright`,cyan_FOR_SUBAGENTS_ONLY:`ansi:cyan`,professionalBlue:`ansi:blueBright`,rainbow_red:`ansi:red`,rainbow_orange:`ansi:redBright`,rainbow_yellow:`ansi:yellow`,rainbow_green:`ansi:green`,rainbow_blue:`ansi:cyan`,rainbow_indigo:`ansi:blue`,rainbow_violet:`ansi:magenta`,rainbow_red_shimmer:`ansi:redBright`,rainbow_orange_shimmer:`ansi:yellow`,rainbow_yellow_shimmer:`ansi:yellowBright`,rainbow_green_shimmer:`ansi:greenBright`,rainbow_blue_shimmer:`ansi:cyanBright`,rainbow_indigo_shimmer:`ansi:blueBright`,rainbow_violet_shimmer:`ansi:magentaBright`,clawd_body:`ansi:redBright`,clawd_background:`ansi:black`,userMessageBackground:`ansi:white`,bashMessageBackgroundColor:`ansi:whiteBright`,memoryBackgroundColor:`ansi:white`,rate_limit_fill:`ansi:yellow`,rate_limit_empty:`ansi:black`}},{name:`Dark mode (ANSI colors only)`,id:`dark-ansi`,colors:{autoAccept:`ansi:magentaBright`,bashBorder:`ansi:magentaBright`,claude:`ansi:redBright`,claudeShimmer:`ansi:yellowBright`,claudeBlue_FOR_SYSTEM_SPINNER:`ansi:blueBright`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`ansi:blueBright`,permission:`ansi:blueBright`,permissionShimmer:`ansi:blueBright`,planMode:`ansi:cyanBright`,ide:`ansi:blue`,promptBorder:`ansi:white`,promptBorderShimmer:`ansi:whiteBright`,text:`ansi:whiteBright`,inverseText:`ansi:black`,inactive:`ansi:white`,subtle:`ansi:white`,suggestion:`ansi:blueBright`,remember:`ansi:blueBright`,background:`ansi:cyanBright`,success:`ansi:greenBright`,error:`ansi:redBright`,warning:`ansi:yellowBright`,warningShimmer:`ansi:yellowBright`,diffAdded:`ansi:green`,diffRemoved:`ansi:red`,diffAddedDimmed:`ansi:green`,diffRemovedDimmed:`ansi:red`,diffAddedWord:`ansi:greenBright`,diffRemovedWord:`ansi:redBright`,diffAddedWordDimmed:`ansi:green`,diffRemovedWordDimmed:`ansi:red`,red_FOR_SUBAGENTS_ONLY:`ansi:redBright`,blue_FOR_SUBAGENTS_ONLY:`ansi:blueBright`,green_FOR_SUBAGENTS_ONLY:`ansi:greenBright`,yellow_FOR_SUBAGENTS_ONLY:`ansi:yellowBright`,purple_FOR_SUBAGENTS_ONLY:`ansi:magentaBright`,orange_FOR_SUBAGENTS_ONLY:`ansi:redBright`,pink_FOR_SUBAGENTS_ONLY:`ansi:magentaBright`,cyan_FOR_SUBAGENTS_ONLY:`ansi:cyanBright`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`ansi:red`,rainbow_orange:`ansi:redBright`,rainbow_yellow:`ansi:yellow`,rainbow_green:`ansi:green`,rainbow_blue:`ansi:cyan`,rainbow_indigo:`ansi:blue`,rainbow_violet:`ansi:magenta`,rainbow_red_shimmer:`ansi:redBright`,rainbow_orange_shimmer:`ansi:yellow`,rainbow_yellow_shimmer:`ansi:yellowBright`,rainbow_green_shimmer:`ansi:greenBright`,rainbow_blue_shimmer:`ansi:cyanBright`,rainbow_indigo_shimmer:`ansi:blueBright`,rainbow_violet_shimmer:`ansi:magentaBright`,clawd_body:`ansi:redBright`,clawd_background:`ansi:black`,userMessageBackground:`ansi:blackBright`,bashMessageBackgroundColor:`ansi:black`,memoryBackgroundColor:`ansi:blackBright`,rate_limit_fill:`ansi:yellow`,rate_limit_empty:`ansi:white`}},{name:`Light mode (colorblind-friendly)`,id:`light-daltonized`,colors:{autoAccept:`rgb(135,0,255)`,bashBorder:`rgb(0,102,204)`,claude:`rgb(255,153,51)`,claudeShimmer:`rgb(255,183,101)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(51,102,255)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(101,152,255)`,permission:`rgb(51,102,255)`,permissionShimmer:`rgb(101,152,255)`,planMode:`rgb(51,102,102)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(153,153,153)`,promptBorderShimmer:`rgb(183,183,183)`,text:`rgb(0,0,0)`,inverseText:`rgb(255,255,255)`,inactive:`rgb(102,102,102)`,subtle:`rgb(175,175,175)`,suggestion:`rgb(51,102,255)`,remember:`rgb(51,102,255)`,background:`rgb(0,153,153)`,success:`rgb(0,102,153)`,error:`rgb(204,0,0)`,warning:`rgb(255,153,0)`,warningShimmer:`rgb(255,183,50)`,diffAdded:`rgb(153,204,255)`,diffRemoved:`rgb(255,204,204)`,diffAddedDimmed:`rgb(209,231,253)`,diffRemovedDimmed:`rgb(255,233,233)`,diffAddedWord:`rgb(51,102,204)`,diffRemovedWord:`rgb(153,51,51)`,diffAddedWordDimmed:`rgb(102,153,204)`,diffRemovedWordDimmed:`rgb(204,153,153)`,red_FOR_SUBAGENTS_ONLY:`rgb(204,0,0)`,blue_FOR_SUBAGENTS_ONLY:`rgb(0,102,204)`,green_FOR_SUBAGENTS_ONLY:`rgb(0,204,0)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(255,204,0)`,purple_FOR_SUBAGENTS_ONLY:`rgb(128,0,128)`,orange_FOR_SUBAGENTS_ONLY:`rgb(255,128,0)`,pink_FOR_SUBAGENTS_ONLY:`rgb(255,102,178)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(0,178,178)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(220, 220, 220)`,bashMessageBackgroundColor:`rgb(250, 245, 250)`,memoryBackgroundColor:`rgb(230, 245, 250)`,rate_limit_fill:`rgb(51,102,255)`,rate_limit_empty:`rgb(23,46,114)`}},{name:`Dark mode (colorblind-friendly)`,id:`dark-daltonized`,colors:{autoAccept:`rgb(175,135,255)`,bashBorder:`rgb(51,153,255)`,claude:`rgb(255,153,51)`,claudeShimmer:`rgb(255,183,101)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(153,204,255)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(183,224,255)`,permission:`rgb(153,204,255)`,permissionShimmer:`rgb(183,224,255)`,planMode:`rgb(102,153,153)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(136,136,136)`,promptBorderShimmer:`rgb(166,166,166)`,text:`rgb(255,255,255)`,inverseText:`rgb(0,0,0)`,inactive:`rgb(153,153,153)`,subtle:`rgb(80,80,80)`,suggestion:`rgb(153,204,255)`,remember:`rgb(153,204,255)`,background:`rgb(0,204,204)`,success:`rgb(51,153,255)`,error:`rgb(255,102,102)`,warning:`rgb(255,204,0)`,warningShimmer:`rgb(255,234,50)`,diffAdded:`rgb(0,68,102)`,diffRemoved:`rgb(102,0,0)`,diffAddedDimmed:`rgb(62,81,91)`,diffRemovedDimmed:`rgb(62,44,44)`,diffAddedWord:`rgb(0,119,179)`,diffRemovedWord:`rgb(179,0,0)`,diffAddedWordDimmed:`rgb(26,99,128)`,diffRemovedWordDimmed:`rgb(128,21,21)`,red_FOR_SUBAGENTS_ONLY:`rgb(255,102,102)`,blue_FOR_SUBAGENTS_ONLY:`rgb(102,178,255)`,green_FOR_SUBAGENTS_ONLY:`rgb(102,255,102)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(255,255,102)`,purple_FOR_SUBAGENTS_ONLY:`rgb(178,102,255)`,orange_FOR_SUBAGENTS_ONLY:`rgb(255,178,102)`,pink_FOR_SUBAGENTS_ONLY:`rgb(255,153,204)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(102,204,204)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(55, 55, 55)`,bashMessageBackgroundColor:`rgb(65, 60, 65)`,memoryBackgroundColor:`rgb(55, 65, 70)`,rate_limit_fill:`rgb(153,204,255)`,rate_limit_empty:`rgb(69,92,115)`}},{name:`Monochrome`,id:`monochrome`,colors:{autoAccept:`rgb(200,200,200)`,bashBorder:`rgb(180,180,180)`,claude:`rgb(255,255,255)`,claudeShimmer:`rgb(230,230,230)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(200,200,200)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(220,220,220)`,permission:`rgb(200,200,200)`,permissionShimmer:`rgb(220,220,220)`,planMode:`rgb(180,180,180)`,ide:`rgb(190,190,190)`,promptBorder:`rgb(160,160,160)`,promptBorderShimmer:`rgb(180,180,180)`,text:`rgb(255,255,255)`,inverseText:`rgb(40,40,40)`,inactive:`rgb(120,120,120)`,subtle:`rgb(100,100,100)`,suggestion:`rgb(200,200,200)`,remember:`rgb(200,200,200)`,background:`rgb(180,180,180)`,success:`rgb(220,220,220)`,error:`rgb(180,180,180)`,warning:`rgb(200,200,200)`,warningShimmer:`rgb(220,220,220)`,diffAdded:`rgb(90,90,90)`,diffRemoved:`rgb(60,60,60)`,diffAddedDimmed:`rgb(110,110,110)`,diffRemovedDimmed:`rgb(80,80,80)`,diffAddedWord:`rgb(200,200,200)`,diffRemovedWord:`rgb(80,80,80)`,diffAddedWordDimmed:`rgb(160,160,160)`,diffRemovedWordDimmed:`rgb(70,70,70)`,red_FOR_SUBAGENTS_ONLY:`rgb(200,200,200)`,blue_FOR_SUBAGENTS_ONLY:`rgb(180,180,180)`,green_FOR_SUBAGENTS_ONLY:`rgb(210,210,210)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(190,190,190)`,purple_FOR_SUBAGENTS_ONLY:`rgb(170,170,170)`,orange_FOR_SUBAGENTS_ONLY:`rgb(195,195,195)`,pink_FOR_SUBAGENTS_ONLY:`rgb(205,205,205)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(185,185,185)`,professionalBlue:`rgb(190,190,190)`,rainbow_red:`rgb(240,240,240)`,rainbow_orange:`rgb(230,230,230)`,rainbow_yellow:`rgb(220,220,220)`,rainbow_green:`rgb(210,210,210)`,rainbow_blue:`rgb(200,200,200)`,rainbow_indigo:`rgb(190,190,190)`,rainbow_violet:`rgb(180,180,180)`,rainbow_red_shimmer:`rgb(255,255,255)`,rainbow_orange_shimmer:`rgb(245,245,245)`,rainbow_yellow_shimmer:`rgb(235,235,235)`,rainbow_green_shimmer:`rgb(225,225,225)`,rainbow_blue_shimmer:`rgb(215,215,215)`,rainbow_indigo_shimmer:`rgb(205,205,205)`,rainbow_violet_shimmer:`rgb(195,195,195)`,clawd_body:`rgb(255,255,255)`,clawd_background:`rgb(40,40,40)`,userMessageBackground:`rgb(70,70,70)`,bashMessageBackgroundColor:`rgb(65,65,65)`,memoryBackgroundColor:`rgb(75,75,75)`,rate_limit_fill:`rgb(200,200,200)`,rate_limit_empty:`rgb(90,90,90)`}}],thinkingVerbs:{format:`{}… `,verbs:`Accomplishing.Actioning.Actualizing.Architecting.Baking.Beaming.Beboppin'.Befuddling.Billowing.Blanching.Bloviating.Boogieing.Boondoggling.Booping.Bootstrapping.Brewing.Burrowing.Calculating.Canoodling.Caramelizing.Cascading.Catapulting.Cerebrating.Channeling.Channelling.Choreographing.Churning.Clauding.Coalescing.Cogitating.Combobulating.Composing.Computing.Concocting.Considering.Contemplating.Cooking.Crafting.Creating.Crunching.Crystallizing.Cultivating.Deciphering.Deliberating.Determining.Dilly-dallying.Discombobulating.Doing.Doodling.Drizzling.Ebbing.Effecting.Elucidating.Embellishing.Enchanting.Envisioning.Evaporating.Fermenting.Fiddle-faddling.Finagling.Flambéing.Flibbertigibbeting.Flowing.Flummoxing.Fluttering.Forging.Forming.Frolicking.Frosting.Gallivanting.Galloping.Garnishing.Generating.Germinating.Gitifying.Grooving.Gusting.Harmonizing.Hashing.Hatching.Herding.Honking.Hullaballooing.Hyperspacing.Ideating.Imagining.Improvising.Incubating.Inferring.Infusing.Ionizing.Jitterbugging.Julienning.Kneading.Leavening.Levitating.Lollygagging.Manifesting.Marinating.Meandering.Metamorphosing.Misting.Moonwalking.Moseying.Mulling.Mustering.Musing.Nebulizing.Nesting.Newspapering.Noodling.Nucleating.Orbiting.Orchestrating.Osmosing.Perambulating.Percolating.Perusing.Philosophising.Photosynthesizing.Pollinating.Pondering.Pontificating.Pouncing.Precipitating.Prestidigitating.Processing.Proofing.Propagating.Puttering.Puzzling.Quantumizing.Razzle-dazzling.Razzmatazzing.Recombobulating.Reticulating.Roosting.Ruminating.Sautéing.Scampering.Schlepping.Scurrying.Seasoning.Shenaniganing.Shimmying.Simmering.Skedaddling.Sketching.Slithering.Smooshing.Sock-hopping.Spelunking.Spinning.Sprouting.Stewing.Sublimating.Swirling.Swooping.Symbioting.Synthesizing.Tempering.Thinking.Thundering.Tinkering.Tomfoolering.Topsy-turvying.Transfiguring.Transmuting.Twisting.Undulating.Unfurling.Unravelling.Vibing.Waddling.Wandering.Warping.Whatchamacalliting.Whirlpooling.Whirring.Whisking.Wibbling.Working.Wrangling.Zesting.Zigzagging`.split(`.`)},thinkingStyle:{updateInterval:120,phases:process.env.TERM===`xterm-ghostty`?[`·`,`✢`,`✳`,`✶`,`✻`,`*`]:process.platform===`darwin`?[`·`,`✢`,`✳`,`✶`,`✻`,`✽`]:[`·`,`✢`,`*`,`✶`,`✻`,`✽`],reverseMirror:!0},userMessageDisplay:{format:` > {} `,styling:[],foregroundColor:`default`,backgroundColor:`default`,borderStyle:`none`,borderColor:`rgb(255,255,255)`,paddingX:`default`,paddingY:`default`,fitBoxToContent:!1},inputBox:{removeBorder:!1},misc:{showTweakccVersion:!0,showPatchesApplied:!0,expandThinkingBlocks:!0,enableConversationTitle:!0,hideStartupBanner:!1,hideCtrlGToEdit:!1,hideStartupClawd:!1,increaseFileReadLimit:!1,suppressLineNumbers:!1,suppressRateLimitOptions:!1,mcpConnectionNonBlocking:!0,mcpServerBatchSize:null,statuslineThrottleMs:null,statuslineUseFixedInterval:!1,tableFormat:`default`,enableSwarmMode:!0,enableSessionMemory:!0,enableDreamMode:!0,enableLeanMemoryTypes:!1,fixSummarizeFromHere:!0,fixRewindSummaryHeader:!0,enableRememberSkill:!1,tokenCountRounding:null,autoAcceptPlanMode:!1,allowBypassPermissionsInSudo:!1,suppressNativeInstallerWarning:!1,filterScrollEscapeSequences:!1,enableWorktreeMode:!0,allowCustomAgentModels:!1,enableContextLimitOverride:!1,enableModelCustomizations:!0,enableVoiceMode:!1,enableVoiceConciseOutput:!0,enableChannelsMode:!1,maxEffortDefault:!1,autonomousOperationAllModels:!1,autoModeClassifierModel:`default`,suppressDeferredTools:!1,claudemdContextOncePerConversation:!0},toolsets:[],defaultToolset:null,planModeToolset:null,subagentModels:{plan:null,explore:null,generalPurpose:null},inputPatternHighlighters:[],inputPatternHighlightersTestText:`Type test text here to see highlighting`,claudeMdAltNames:[`AGENTS.md`,`GEMINI.md`,`CRUSH.md`,`QWEN.md`,`IFLOW.md`,`WARP.md`,`copilot-instructions.md`]},D={name:`Unnamed Highlighter`,regex:``,regexFlags:`g`,format:`{MATCH}`,styling:[],foregroundColor:null,backgroundColor:null,enabled:!0},O={name:`Unnamed Toolset`,allowedTools:`*`},k=E.themes[0],ee=e=>{let t=[],n=/visibleOptionCount:[\w$]+=(\d+)/g,r;for(;(r=n.exec(e))!==null;){let e=r.index+r[0].indexOf(`=`)+1;t.push({startIndex:e,endIndex:e+r[1].length})}return t},te=e=>{let t=e.match(/\{rows:([\w$]+),columns:[\w$]+\}=[\w$]+\(\),[\w$]+=[\w$]+\?[\w$]+:Math\.max\(1,Math\.min\(Math\.max\(6,Math\.floor\(\1\/2\)\),\1-3\)\)/);if(t&&t.index!==void 0){let n=t[1],r=`Math.floor(${n}/2)`,i=t.index+t[0].indexOf(r),a=i+r.length,o=e.slice(0,i)+n+e.slice(a);return F(e,o,n,i,a),o}let n=e.match(/\{rows:([\w$]+),columns:[\w$]+\}=[\w$]+\(\),([\w$]+)=Math\.floor\(\1\/2\)/);if(n&&n.index!==void 0){let t=n.index+n[0].indexOf(n[2]+`=Math.floor(`),r=n.index+n[0].length,i=`${n[2]}=${n[1]}`,a=e.slice(0,t)+i+e.slice(r);return F(e,a,i,t,r),a}let r=/Math\.max\(1,Math\.floor\(\(([\w$]+)-([\w$]+)\)\/([\w$]+)\)\)/g,i;for(;(i=r.exec(e))!==null;){let t=Math.max(0,i.index-250),n=e.slice(t,i.index);if(!n.includes(`"expanded"?3`)||!n.includes(`"compact"?1:2`))continue;let r=i.index,a=i.index+i[0].length,o=`Math.max(1,${i[1]}-${i[2]})`,s=e.slice(0,r)+o+e.slice(a);return F(e,s,o,r,a),s}return null},A=e=>{let t=e.match(/Math\.max\(1,Math\.floor\(\(([\w$]+)-10\)\/2\)\)/);if(!t||t.index===void 0)return null;let n=`Math.max(1,${t[1]}-3)`,r=e.slice(0,t.index)+n+e.slice(t.index+t[0].length);return F(e,r,n,t.index,t.index+t[0].length),r},j=e=>{if(!e.includes(`Math.min(6,Math.max(1,`))return W(`patch: showMoreItemsInSelectMenus: suggestions cap already removed in this CC build — no-op`),e;let t=e.match(/Math\.min\(6,Math\.max\(1,([\w$]+)-3\)\)/);if(!t||t.index===void 0)return null;let n=`Math.max(1,${t[1]}-3)`,r=e.slice(0,t.index)+n+e.slice(t.index+t[0].length);return F(e,r,n,t.index,t.index+t[0].length),r},ne=(e,t)=>{let n=ee(e);if(n.length===0)return console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find locations`),null;let r=n.sort((e,t)=>t.startIndex-e.startIndex),i=e;for(let e of r){let n=t.toString(),r=i.slice(0,e.startIndex)+n+i.slice(e.endIndex);F(i,r,n,e.startIndex,e.endIndex),i=r}let a=te(i);a?i=a:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find help menu height pattern`);let o=A(i);o?i=o:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find visibleCount pattern`);let s=j(i);return s&&(i=s),i};function re(e){let t=-1,n=-1,r=``,i=e.match(/switch\(([$\w]+)\)\{case"(?:light|dark)":[^}]*return [$\w]+;[^}]*default:return [$\w]+\}/);if(i&&i.index!=null)t=i.index,n=t+i[0].length,r=i[1];else{if(e.indexOf(`case"dark":return{"autoAccept"`)===-1&&e.indexOf(`case"light":return{`)===-1)return console.error(`patch: themes: failed to find switchMatch`),null;let i=e.indexOf(`case"dark":return{`)===-1?e.indexOf(`case"light":return{`):e.indexOf(`case"dark":return{`),a=e.slice(Math.max(0,i-200),i).match(/switch\(([$\w]+)\)\{\s*$/);if(!a||a.index==null)return console.error(`patch: themes: failed to find switchMatch (old format)`),null;t=Math.max(0,i-200)+a.index,r=a[1];let o=0;for(let r=t;r<e.length&&r<t+5e4;r++)if(e[r]===`{`&&o++,e[r]===`}`&&(o--,o===0)){n=r+1;break}}if(t===-1||n===-1)return console.error(`patch: themes: failed to find switchMatch`),null;let a=-1,o=-1,s=``,c=e.match(/\[(?:\.\.\.\[\],)?(?:\{"?label"?:"(?:Dark|Light|Auto|Monochrome)[^"]*","?value"?:"[^"]+"\},?)+\]/);if(c&&c.index!==void 0)a=c.index,o=c.index+c[0].length;else{let t=[...e.matchAll(/([$\w]+)=\{label:"(?:Auto|Dark|Light|Monochrome)[^"]*",value:"[^"]+"\}/g)];if(t.length<2)return console.error(`patch: themes: failed to find objArrMatch`),null;let n=t.map(e=>e[1]).map(e=>e.replace(/\$/g,`\\$`)).join(`,`),r=RegExp(`\\[${n}((?:,\\.\\.\\.[^\\]]+)*)\\]`),i=e.match(r);if(!i||i.index===void 0)return console.error(`patch: themes: failed to find objArrMatch (new var-collected form)`),null;a=i.index,o=i.index+i[0].length,s=i[1]}let l=e.match(/(return|[$\w]+=)\{(?:"?(?:[$\w-]+)"?:"(?:Auto |Dark|Light|Monochrome)[^"]*",?)+\}/);return(!l||l.index==null)&&W(`patch: themes: objMatch not found — colors will still apply, theme name map unchanged`),{switchStatement:{startIndex:t,endIndex:n,identifiers:[r]},objArr:{startIndex:a,endIndex:o,identifiers:[s]},obj:l&&l.index!==void 0?{startIndex:l.index,endIndex:l.index+l[0].length,identifiers:[l[1]]}:null}}const ie=(e,t)=>{let n=re(e);if(!n)return null;if(t.length===0)return e;let r=e;if(n.obj){let i=(n.obj.identifiers?.[0]??`return`)+JSON.stringify(Object.fromEntries(t.map(e=>[e.id,e.name])));r=r.slice(0,n.obj.startIndex)+i+r.slice(n.obj.endIndex),F(e,r,i,n.obj.startIndex,n.obj.endIndex),e=r}let i=n.objArr.identifiers?.[0]??``,a=`[${t.map(e=>JSON.stringify({label:e.name,value:e.id})).join(`,`)}${i}]`;r=r.slice(0,n.objArr.startIndex)+a+r.slice(n.objArr.endIndex),F(e,r,a,n.objArr.startIndex,n.objArr.endIndex),e=r;let o=`switch(${n.switchStatement.identifiers?.[0]}){\n`;return t.forEach(e=>{o+=`case${JSON.stringify(e.id)}:return${JSON.stringify(e.colors)};\n`}),o+=`default:return${JSON.stringify(t[0].colors)};\n}`,r=r.slice(0,n.switchStatement.startIndex)+o+r.slice(n.switchStatement.endIndex),F(e,r,o,n.switchStatement.startIndex,n.switchStatement.endIndex),r},ae=`(+process.env.CLAUDE_CODE_CONTEXT_LIMIT||200000)`,oe=e=>{let t=/var ([\w$]+)=200000,([\w$]+)=200000,([\w$]+)=20000,([\w$]+)=32000,([\w$]+)=(128000|64000);/,n=e.match(t);if(n)return e.replace(t,`var ${n[1]}=${ae},${n[2]}=${ae},${n[3]}=20000,${n[4]}=32000,${n[5]}=${n[6]};`);let r=/var ([\w$]+)=200000,([\w$]+)=20000,([\w$]+)=32000,([\w$]+)=(128000|64000);/,i=e.match(r);return i?e.replace(r,`var ${i[1]}=${ae},${i[2]}=20000,${i[3]}=32000,${i[4]}=${i[5]};`):(console.error(`patch: contextLimit: failed to find context limit constants`),null)},se=(e,t)=>{if(!t)return e;let n=e,r=!1,i=n.match(/createElement\(([$\w]+),\{color:([$\w]+)\.bgColor\},"─"\.repeat\(([$\w]+)\)\)/);if(i){let e=i[1];n=n.replace(i[0],`createElement(${e},null,"")`);let t=RegExp(`createElement\\(${e},\\{color:${i[2]}\\.bgColor\\},${i[2]}\\.text\\?.+?"─"\\.repeat\\(${i[3]}\\)\\)`),a=n.match(t);a&&(n=n.replace(a[0],`createElement(${e},null,"")`)),r=!0}let a=n.match(/(borderColor:[$\w]+\(\),)borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",borderText:)/);a&&(n=n.replace(a[0],`${a[1]}borderStyle:undefined${a[2]}`),r=!0);let o=n.match(/borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%"\}.+?Save and close editor)/);return o&&(n=n.replace(o[0],`borderStyle:undefined${o[1]}`),r=!0),r?(F(e,n,`(input border removed)`,0,0),n):(console.error(`patch: input border: failed to find input border pattern`),null)},ce=e=>{let t=(e.match(/overrideMessage:[$\w]+,isCompacting:[$\w]+,compactingHintText:[$\w]+,compactingStartTime:[$\w]+,spinnerSuffix:[$\w]+,verbose:[$\w]+,.{300}/)||e.match(/spinnerTip:[$\w]+,(?:[$\w]+:[$\w]+,)*overrideMessage:[$\w]+,.{300}/)||e.match(/overrideMessage:[$\w]+,spinnerSuffix:[$\w]+,verbose:[$\w]+,.{300}/)||e.match(/pauseStartTimeRef:[$\w]+,spinnerSuffix:[$\w]+,verbose:[$\w]+,.{300}/))?.index,n=t===void 0?``:e.slice(t,t+2e4),r=n.match(/,([$\w]+)(=\(([^;]{1,200}?)\)\+"(?:…|\\u2026)")/);if(r&&r.index!=null)return{startIndex:t+r.index+r[1].length+1,endIndex:t+r.index+r[1].length+r[2].length+1,identifiers:[r[3]]};let i=/,([$\w]+)(=(\([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+\))\+"(?:…|\\u2026)")/,a=n.match(i);if(a&&a.index!=null)return{startIndex:t+a.index+a[1].length+1,endIndex:t+a.index+a[1].length+a[2].length+1,identifiers:[a[3]]};let o=n.match(/,([$\w]+)(=`\$\{([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+)\}(?:…|\\u2026) ?`)/);if(o&&o.index!=null)return{startIndex:t+o.index+o[1].length+1,endIndex:t+o.index+o[1].length+o[2].length+1,identifiers:[o[3]]};let s=new RegExp(i.source,`g`),c=[...e.matchAll(s)].filter(t=>{if(t.index==null)return!1;let n=e.slice(Math.max(0,t.index-2500),t.index+1e3);return n.includes(`overrideMessage:`)&&n.includes(`.activeForm`)&&n.includes(`.isIdle`)&&n.includes(`.spinnerVerb`)&&n.includes(`spinnerTip`)});if(c.length===1){let e=c[0];return{startIndex:e.index+e[1].length+1,endIndex:e.index+e[1].length+e[2].length+1,identifiers:[e[3]]}}return console.error(`patch: thinker format: failed to find formatMatch`),null},le=(e,t)=>{let n=ce(e);if(!n)return null;let r=n,i=K(t.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${")),a=r.identifiers?.[0],o=`=${"`"+i.replace(/\{\}/g,"${"+a+`}`)+"`"}`,s=e.slice(0,r.startIndex)+o+e.slice(r.endIndex);return F(e,s,o,r.startIndex,r.endIndex),s},ue=e=>{let t=e.match(/=\s*\[\.\.\.([$\w]+),\s*\.\.\.?\[\.\.\.\1\]\.reverse\(\)\]/);return!t||t.index==null?(console.error(`patch: thinker symbol mirror option: failed to find match`),null):{startIndex:t.index,endIndex:t.index+t[0].length,identifiers:[t[1]]}},de=(e,t)=>{let n=ue(e);if(!n)return null;let r=n.identifiers?.[0],i=t?`=[...${r},...[...${r}].reverse()]`:`=[...${r}]`,a=e.slice(0,n.startIndex)+i+e.slice(n.endIndex);return F(e,a,i,n.startIndex,n.endIndex),a},fe=(e,t)=>{let n=[],r=/\["(?:[·✢*✳✶✻✽]|\\u00b7|\\xb7|\\u2722|\\x2a|\\u002a|\\u2733|\\u2736|\\u273b|\\u273d)",\s*(?:"(?:[·✢*✳✶✻✽]|\\u00b7|\\xb7|\\u2722|\\x2a|\\u002a|\\u2733|\\u2736|\\u273b|\\u273d)",?\s*)+\]/gi,i;for(;(i=r.exec(e))!==null;)n.push({startIndex:i.index,endIndex:i.index+i[0].length});if(n.length===0)return console.error(`patch: thinkerSymbolChars: could not find any thinker symbol char arrays`),null;let a=K(JSON.stringify(t)),o=n.sort((e,t)=>t.startIndex-e.startIndex),s=e;for(let e=0;e<o.length;e++){let t=s.slice(0,o[e].startIndex)+a+s.slice(o[e].endIndex);F(s,t,a,o[e].startIndex,o[e].endIndex),s=t}return s},pe=(e,t)=>{let n=e.match(/(if\(![$\w]+\)\{[$\w]+\(4\);return\})(.{0,200})120\)/);if(!n||n.index===void 0)return console.error(`patch: thinkerSymbolSpeed: failed to find thinker symbol speed pattern`),null;let r=n[2]+t+`)`,i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},me=(e,t)=>{let n=/\{(ref:[$\w]+,)("aria-hidden":!0,)?flexWrap:"wrap",height:1,width:2(,children:[$\w]+)?\}/g,r=[],i;for(;(i=n.exec(e))!==null;)r.push({startIndex:i.index,endIndex:i.index+i[0].length,replacement:`{${i[1]}${i[2]??``}flexWrap:"wrap",height:1,width:${t}${i[3]??``}}`});if(r.length>0)return r;let a=e.match(/\{("aria-hidden":!0,)?flexWrap:"wrap",height:1,width:2\}/);return a&&a.index!=null?[{startIndex:a.index,endIndex:a.index+a[0].length,replacement:`{${a[1]??``}flexWrap:"wrap",height:1,width:${t}}`}]:null},he=(e,t)=>{let n=me(e,t);if(!n||n.length===0)return console.error(`patch: thinker symbol width: failed to find match`),null;let r=[...n].sort((e,t)=>t.startIndex-e.startIndex),i=e;for(let e of r){let t=i.slice(0,e.startIndex)+e.replacement+i.slice(e.endIndex);F(i,t,e.replacement,e.startIndex,e.endIndex),i=t}return i},ge=(e,t)=>{let n=e.match(/\[("[A-Z][a-z'é\-\\xA-F0-9]+in[g']",?){50,}\]/);if(!n||n.index===void 0)return console.error(`patch: thinkingVerbs: failed to find present tense verbs pattern`),null;let r=K(JSON.stringify(t)),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},_e=(e,t)=>{let n=e.match(/\[("[A-Z][a-z'é\-\\xA-F0-9]+ed",?){6,}\]/);if(!n||n.index===void 0)return console.error(`patch: thinkingVerbs: failed to find past tense verbs pattern`),null;let r=t.map(e=>e.replace(/ing$/,`ed`)),i=K(JSON.stringify(r)),a=n.index,o=a+n[0].length,s=e.slice(0,a)+i+e.slice(o);return F(e,s,i,a,o),s},ve=(e,t)=>{let n=ge(e,t);if(n===null)return null;let r=_e(n,t);return r===null?null:r},ye=e=>e.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),be=(e,t)=>{let n=zi(e);if(!n)return console.error(`patch: userMessageDisplay: failed to find Text component`),null;let r=Vi(e),i=R(e);if(!i)return console.error(`patch: userMessageDisplay: failed to find chalk variable`),null;let a=/(No content found in user prompt message.{0,250}?\b)([$\w]+(?:\.default)?\.createElement.{0,30}\b[$\w]+(?:\.default)?\.createElement.{0,40}">.+?)?(([$\w]+(?:\.default)?\.createElement).{0,200})(\([$\w]+,(?:\{[^{}]+wrap:"wrap"\},([$\w]+)(?:\.trim\(\))?\)\)|\{text:([$\w]+)[^}]*\}\)\)?))/,o=/(No content found in user prompt message[\s\S]{0,100}?;return )([$\w]+(?:\.default)?)\.createElement\(([$\w]+),(\{flexDirection:"column"[^{}]*\}),([$\w]+(?:\.default)?)\.createElement\(([$\w]+),\{text:([$\w]+)[^{}]*\}\)\)/,s=e.match(/(No content found in user prompt message[\s\S]{0,400}?\.jsx\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+\}\)[\s\S]{0,200}?([$\w]+)\.jsx\([$\w]+,)(\{flexDirection:"column"[^{}]*?)(,children:)([$\w]+)(\}\))/),c=s?null:e.match(o),l=s||c?null:e.match(/(No content found in user prompt message.{0,1200}?)([$\w]+)=([$\w]+(?:\.default)?\.createElement)\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+\}\)/),u=s||c||l?null:e.match(a);if(!s&&!c&&(!l||l.index===void 0)&&(!u||u.index===void 0))return console.error(`patch: userMessageDisplay: failed to find user message display pattern`),e;let d=e=>`(typeof ${e}==="object"&&${e}!==null?${e}.head+"\\n("+${e}.hiddenLines+" line"+(${e}.hiddenLines===1?"":"s")+" hidden)\\n"+${e}.tail:${e})`;if(s){let r=s[1],i=s[2],a=s[3],o=s[4],c=s[5],l=o.slice(1),u=/backgroundColor:[$\w]+/;if(t.backgroundColor===null)l=l.replace(RegExp(`,?${u.source}`),``).replace(/^,|,$/g,``);else if(t.backgroundColor!==`default`){let e=t.backgroundColor.match(/\d+/g);if(e){let t=`backgroundColor:"rgb(${e.join(`,`)})"`;l=u.test(l)?l.replace(u,t):l?`${l},${t}`:t}}let f=[];if(t.borderStyle!==`none`){if(t.borderStyle.startsWith(`topBottom`)){let e=``;t.borderStyle===`topBottomSingle`?e=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomDouble`?e=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomBold`&&(e=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),f.push(`borderStyle:${K(e)}`)}else f.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&f.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX!==`default`&&t.paddingX>0&&f.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&f.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&f.push(`alignSelf:"flex-start"`),f.length>0&&(l=l?`${l},${f.join(`,`)}`:f.join(`,`));let p=[];if(t.foregroundColor===`default`)p.push(`color:"text"`);else{let e=t.foregroundColor.match(/\d+/g);e&&p.push(`color:"rgb(${e.join(`,`)})"`)}if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);e&&p.push(`backgroundColor:"rgb(${e.join(`,`)})"`)}else t.backgroundColor===`default`&&p.push(`backgroundColor:"userMessageBackground"`);t.styling.includes(`bold`)&&p.push(`bold:!0`),t.styling.includes(`italic`)&&p.push(`italic:!0`),t.styling.includes(`underline`)&&p.push(`underline:!0`),t.styling.includes(`strikethrough`)&&p.push(`strikethrough:!0`),t.styling.includes(`inverse`)&&p.push(`inverse:!0`);let m=p.length>0?`${p.join(`,`)},`:``,h=d(i),g=`${a}.jsx(${n},{${m}children:${"`"+ye(t.format).replace(/\{\}/g,()=>"${"+h+`}`)+"`"}})`,_=r+`{${l}`+c+g+`})`,v=s.index,y=v+s[0].length,b=e.slice(0,v)+_+e.slice(y);return F(e,b,_,v,y),b}if(c){let r=c[1],i=c[2],a=c[3],o=c[4],s=c[5],l=c[7],u=o.slice(1,-1),f=/backgroundColor:[^,}]+(?:\?[^,}:]+:[^,}:]+)*/;if(t.backgroundColor===null)u=u.replace(RegExp(`,?${f.source}`),``).replace(/^,|,$/g,``);else if(t.backgroundColor!==`default`){let e=t.backgroundColor.match(/\d+/g);if(e){let t=`"rgb(${e.join(`,`)})"`;u=u.replace(/"userMessageBackground"/g,t)}}let p=[];if(t.borderStyle!==`none`){if(t.borderStyle.startsWith(`topBottom`)){let e=``;t.borderStyle===`topBottomSingle`?e=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomDouble`?e=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomBold`&&(e=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),p.push(`borderStyle:${K(e)}`)}else p.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&p.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX!==`default`&&t.paddingX>0&&p.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&p.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&p.push(`alignSelf:"flex-start"`),p.length>0&&(u=u?`${u},${p.join(`,`)}`:p.join(`,`));let m=`{${u}}`,h=[];if(t.foregroundColor===`default`)h.push(`color:"text"`);else{let e=t.foregroundColor.match(/\d+/g);e&&h.push(`color:"rgb(${e.join(`,`)})"`)}if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);e&&h.push(`backgroundColor:"rgb(${e.join(`,`)})"`)}else t.backgroundColor===`default`&&h.push(`backgroundColor:"userMessageBackground"`);t.styling.includes(`bold`)&&h.push(`bold:!0`),t.styling.includes(`italic`)&&h.push(`italic:!0`),t.styling.includes(`underline`)&&h.push(`underline:!0`),t.styling.includes(`strikethrough`)&&h.push(`strikethrough:!0`),t.styling.includes(`inverse`)&&h.push(`inverse:!0`);let g=h.length>0?`{${h.join(`,`)}}`:`null`,_=d(l),v=r+`${i}.createElement(${a},${m},${s}.createElement(${n},${g},${"`"+ye(t.format).replace(/\{\}/g,()=>"${"+_+`}`)+"`"}))`,y=c.index,b=y+c[0].length,x=e.slice(0,y)+v+e.slice(b);return F(e,x,v,y,b),x}if(!r)return console.error(`patch: userMessageDisplay: failed to find Box component`),null;let f=l??u,p=l?l[3]:u[4],m=l?l[4]:u[6]??u[7],h=[],g=t.borderStyle.startsWith(`topBottom`);if(t.borderStyle!==`none`){if(g){let e=``;t.borderStyle===`topBottomSingle`?e=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomDouble`?e=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomBold`&&(e=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),h.push(`borderStyle:${K(e)}`)}else h.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&h.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX===`default`?h.push(`paddingRight:1`):t.paddingX>0&&h.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&h.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&h.push(`alignSelf:"flex-start"`);let _=i,v=[];if(t.foregroundColor!==`default`){let e=t.foregroundColor.match(/\d+/g);e&&(_+=`.rgb(${e.join(`,`)})`)}else v.push(`color:"text"`);if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);if(e){_+=`.bgRgb(${e.join(`,`)})`;let t=`"rgb(${e.join(`,`)})"`;h.push(`backgroundColor:${t}`),v.push(`backgroundColor:${t}`)}}else t.backgroundColor===`default`&&(h.push(`backgroundColor:"userMessageBackground"`),v.push(`backgroundColor:"userMessageBackground"`));t.styling.includes(`bold`)&&(_+=`.bold`),t.styling.includes(`italic`)&&(_+=`.italic`),t.styling.includes(`underline`)&&(_+=`.underline`),t.styling.includes(`strikethrough`)&&(_+=`.strikethrough`),t.styling.includes(`inverse`)&&(_+=`.inverse`);let y=d(m),b="`"+ye(t.format).replace(/\{\}/g,()=>"${"+y+`}`)+"`",x=`${_}(${b})`,S=h.length>0?`{${h.join(`,`)}}`:`null`,C=v.length>0?`{${v.join(`,`)}}`:`null`,w=l?`${l[2]}=`:``,T=f[1]+`${w}${p}(${r},${S},${p}(${n},${C},${x}))`,E=f.index,D=E+f[0].length,O=e.slice(0,E)+T+e.slice(D);return F(e,O,T,E,D),O},xe=(e,t)=>{let n=e;if(t.foregroundColor){let e=t.foregroundColor.match(/\d+/g);e&&(n+=`.rgb(${e.join(`,`)})`)}if(t.backgroundColor){let e=t.backgroundColor.match(/\d+/g);e&&(n+=`.bgRgb(${e.join(`,`)})`)}return t.styling.includes(`bold`)&&(n+=`.bold`),t.styling.includes(`italic`)&&(n+=`.italic`),t.styling.includes(`underline`)&&(n+=`.underline`),t.styling.includes(`strikethrough`)&&(n+=`.strikethrough`),t.styling.includes(`inverse`)&&(n+=`.inverse`),n},Se=e=>{let t=e.match(/(if\(([$\w]+)\.highlight\?\.color\))((return [$\w]+\.createElement\([$\w]+,\{key:[$\w]+),color:[$\w]+\.highlight\.color(\},[$\w]+\.createElement\([$\w]+,null,)([$\w]+\.text)(\)\)));/);if(t&&t.index!==void 0){let n=`${t[2]}.highlight.color(${t[6]})`,r=t[1]+`{if(typeof ${t[2]}.highlight.color==='function')`+t[4]+t[5]+n+t[7]+`;else `+t[3]+`}`,i=e.slice(0,t.index)+r+e.slice(t.index+t[0].length);return F(e,i,r,t.index,t.index+t[0].length),i}let n=/(return ([$\w]+)\.createElement\(([$\w]+),\{key:([$\w]+)),color:([$\w]+)\.highlight\?\.color,dimColor:\5\.highlight\?\.dimColor,inverse:\5\.highlight\?\.inverse\},(\2\.createElement\([$\w]+,null,\5\.text\))\)/,r=e.match(n);if(!r||r.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find highlight?.color renderer pattern`),null;let i=r[2],a=r[3],o=r[4],s=r[5];r[6];let c=RegExp(`if\\(${s.replace(`$`,`\\$`)}\\.highlight\\.color\\)return ([$\\w]+)\\.createElement\\([$\\w]+,\\{key:[$\\w]+\\},${s.replace(`$`,`\\$`)}\\.text\\.split\\(""\\)\\.map\\([^)]+\\)\\)`),l=e,u=l.match(c);if(u&&u.index!==void 0){let e=`if(typeof ${s}.highlight?.color==='function')return ${i}.createElement(${a},{key:${o}},${i}.createElement(${a},null,${s}.highlight.color(${s}.text)));`;l=l.slice(0,u.index)+e+l.slice(u.index)}let d=l.match(n);if(!d||d.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to re-find renderer after shimmer patch`),null;let f=d[2],p=d[3],m=d[4],h=d[5],g=d[6],_=`${h}.highlight?.style?${h}.highlight.style(${h}.text):${h}.text`,v=`return ${f}.createElement(${p},{key:${m},color:${h}.highlight?.style?void 0:${h}.highlight?.color,backgroundColor:${h}.highlight?.style?void 0:${h}.highlight?.backgroundColor,dimColor:${h}.highlight?.dimColor,inverse:${h}.highlight?.style?void 0:${h}.highlight?.inverse,bold:${h}.highlight?.style?void 0:${h}.highlight?.bold,italic:${h}.highlight?.style?void 0:${h}.highlight?.italic,underline:${h}.highlight?.style?void 0:${h}.highlight?.underline,strikethrough:${h}.highlight?.style?void 0:${h}.highlight?.strikethrough},${g.replace(`${h}.text`,_)})`,y=l.slice(0,d.index)+v+l.slice(d.index+d[0].length);return F(e,y,`shimmer guard + renderer`,0,0),y},Ce=(e,t,n)=>{let r=e.match(/((?:,|;let )[$\w]+=[$\w]+\.useMemo\(\(\)=>\{let [$\w]+=\[\];[\s\S]{0,2000}?)(if\([$\w]+&&[$\w]+&&![$\w]+\)([$\w]+)\.push\(\{start:[$\w]+,end:[$\w]+\+[$\w]+\.length,color:"warning",priority:\d+\})/);if(!r||r.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find useMemo/push pattern`),null;let i=r[3],a=r[1].match(/[^$\w]([$\w]+(?:\.default)?)\.useMemo\(/);if(!a)return console.error(`patch: inputPatternHighlighters: failed to extract React var from useMemo`),null;a[1];let o=Math.max(0,r.index-15e3),s=e.slice(o,r.index),c=/\binputValue:([$\w]+),/g,l=/\binput:([$\w]+),/g,u=[...s.matchAll(c)],d=[...s.matchAll(l)],f=u.at(-1)??d.at(-1)??null;if(!f)return console.error(`patch: inputPatternHighlighters: failed to find input variable pattern (looked for inputValue: and input:)`),null;let p=f[1],m=``;for(let e=0;e<n.length;e++){let r=n[e],a=xe(t,r),o=r.format??`{MATCH}`;JSON.stringify(o).replace(/\{MATCH\}/g,`"+x+"`);let s=r.foregroundColor;if(s){let e=s.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let[,t,n,r]=e.map(Number);s=`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}}let c=s?JSON.stringify(s):`undefined`,l=r.backgroundColor;if(l){let e=l.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let[,t,n,r]=e.map(Number);l=`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}}let u=l?JSON.stringify(l):null,d=r.styling??[],f=d.includes(`bold`),h=d.includes(`italic`),g=d.includes(`underline`),_=d.includes(`inverse`),v=d.includes(`dim`),y=d.includes(`strikethrough`),b=r.regex??r.pattern;if(!b){console.error(`patch: inputPatternHighlighters: highlighter "${r.name}" has no regex/pattern; skipping`);continue}let x=r.regexFlags??``;x.includes(`g`)||(x+=`g`);let S;try{S=new RegExp(b,x)}catch(e){console.error(`patch: inputPatternHighlighters: highlighter "${r.name}" has invalid regex; skipping`,e);continue}let C=ba(S);m+=`if(typeof ${p}==="string"){for(let m of ${p}.matchAll(${C})){${i}.push({start:m.index,end:m.index+m[0].length,color:${c}${u?`,backgroundColor:${u}`:``}${f?`,bold:!0`:``}${h?`,italic:!0`:``}${g?`,underline:!0`:``}${_?`,inverse:!0`:``}${v?`,dimColor:!0`:``}${y?`,strikethrough:!0`:``},style:(x)=>${a}(x),priority:100})}}`}if(!m)return console.error(`patch: inputPatternHighlighters: no usable highlighters generated (all skipped)`),null;let h=r[1]+m+r[2],g=e.slice(0,r.index),_=e.slice(r.index+r[0].length),v=g+``+h+_,y=v.indexOf(`for(let m of ${p}.matchAll(`);if(y>-1){let e=[...v.slice(Math.max(0,y-2e3),y).matchAll(/useMemo\(\(\)=>\{/g)];if(e.length>0){let t=Math.max(0,y-2e3)+e[e.length-1].index,n=v.slice(t),r=0;for(let e=0;e<n.length;e++)if(n[e]===`(`)r++;else if(n[e]===`)`&&(r--,r===0)){let n=t+e;v.slice(n-1,n)===`]`&&(v.slice(n-200,n).includes(`,${p}]`)||(v=v.slice(0,n-1)+`,${p}]`+v.slice(n)));break}}}return F(e,v,``+h,r.index,r.index+r[0].length),v},we=(e,t)=>{let n=t.filter(e=>e.enabled!==!1);if(n.length===0)return console.error(`patch: inputPatternHighlighters: no enabled highlighters provided`),null;let r=R(e);if(!r)return console.error(`patch: inputPatternHighlighters: failed to find chalk variable`),null;let i;return i=Se(e),i?(i=Ce(i,r,n),i||(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterCreation failed`),null)):(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterImpl failed`),null)},Te=e=>{let t=e.match(/(?:[$\w]+\.)?createElement\([$\w]+,\{(?=[^}]*responseLengthRef:)(?=[^}]*spinnerSuffix:)(?=[^}]*thinkingStatus:)(?=[^}]*isCompacting:)[^}]*verbose:[^,}]+[^}]*\}/);if(t&&t.index!==void 0){let e=t[0].match(/verbose:[^,}]+/);if(!e||e.index===void 0)return console.error(`patch: verbose: failed to find verbose property`),null;let n=t.index+e.index;return{startIndex:n,endIndex:n+e[0].length,replacement:`verbose:true`}}let n=e.match(/\{[^{}]{0,400}overrideMessage:[$\w]+,[^{}]{0,200}verbose:([$\w]+)[^{}]{0,200}\}\)\{/);if(n&&n.index!==void 0){let e=n[1],t=n.index+n[0].length;return{startIndex:t,endIndex:t,replacement:`${e}=!0;`}}return console.error(`patch: verbose: failed to find spinner props containing overrideMessage and verbose`),null},Ee=e=>{let t=Te(e);if(!t)return null;let n=e.slice(0,t.startIndex)+t.replacement+e.slice(t.endIndex);return F(e,n,t.replacement,t.startIndex,t.endIndex),n},De=e=>{let t=e.match(/if\s*\(\s*([$\w]+)\(\)\s*===\s*"opusplan"\s*&&\s*([$\w]+)\s*===\s*"plan"\s*&&\s*!([$\w]+)\s*\)\s*return\s*([$\w]+)\(\);/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchModeSwitchingFunction: failed to find mode switching pattern`),null;let[n,r,i,a,o]=t,s=`if((${r}()==="opusplan"||${r}()==="opusplan[1m]")&&${i}==="plan"&&!${a})return ${o}();`,c=e.slice(0,t.index)+s+e.slice(t.index+n.length);return F(e,c,s,t.index,t.index+n.length),c},Oe=e=>{let t=e.match(/(\["sonnet","opus","haiku",(?:"best",)?"sonnet\[1m\]",(?:"opus\[1m\]",)?"opusplan")/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchModelAliasesList: failed to find model aliases list`),null;let n=t[0]+`,"opusplan[1m]"`,r=e.slice(0,t.index)+n+e.slice(t.index+t[0].length);return F(e,r,n,t.index,t.index+t[0].length),r},ke=e=>{let t=e.match(/(if\s*\(\s*([$\w]+)\s*===\s*"opusplan"\s*\)\s*return\s*"([^"]*Opus[^"]*plan mode[^"]*Sonnet[^"]*)";)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchDescriptionFunction: failed to find description pattern`),null;let[n,,r,i]=t,a=n+`if(${r}==="opusplan[1m]")return"${i} (1M context)";`,o=e.slice(0,t.index)+a+e.slice(t.index+n.length);return F(e,o,a,t.index,t.index+n.length),o},Ae=e=>{let t=e.match(/(if\s*\(\s*([$\w]+)\s*===\s*"opusplan"\s*\)\s*return\s*"Opus Plan";)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchLabelFunction: failed to find label pattern`),null;let[n,,r]=t,i=n+`if(${r}==="opusplan[1m]")return"Opus Plan 1M";`,a=e.slice(0,t.index)+i+e.slice(t.index+n.length);return F(e,a,i,t.index,t.index+n.length),a},je=e=>{let t=e.match(/(if\s*\(\s*([$\w]+)\s*===\s*"opusplan"\s*\)\s*return\s*(?:[$\w]+\()?\[\s*\.\.\.([$\w]+)\s*,\s*([$\w]+)\(\)\s*\]\)?;)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchModelSelectorOptions: failed to find model selector pattern`),null;let[n,,r,i]=t,a=n.match(RegExp(`return\\s*([$\\w]+)\\(\\s*\\[\\.\\.\\.${U(i)}`)),o=a?a[1]:null,s=`{value:"opusplan[1m]",label:"Opus Plan Mode 1M",description:"Use Opus in plan mode, Sonnet (1M context) otherwise"}`,c=n+`if(${r}==="opusplan[1m]")return ${o?`${o}([...${i},${s}])`:`[...${i},${s}]`};`,l=e.slice(0,t.index)+c+e.slice(t.index+n.length);return F(e,l,c,t.index,t.index+n.length),l},Me=e=>{let t=e.match(/(if\s*\(\s*[$\w]+\s*===\s*null\s*\|\|\s*([$\w]+)\.some\s*\(\s*\(\s*[$\w]+\s*\)\s*=>\s*[$\w]+\.value\s*===\s*[$\w]+\s*\)\s*\)\s*return\s*(?:[$\w]+\()?[$\w]+\)?\s*;)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchAlwaysShowInModelSelector: failed to find model list check pattern`),null;let[,,n]=t,r=`${n}.push({value:"opusplan",label:"Opus Plan Mode",description:"Use Opus in plan mode, Sonnet otherwise"});${n}.push({value:"opusplan[1m]",label:"Opus Plan Mode 1M",description:"Use Opus in plan mode, Sonnet (1M context) otherwise"});`,i=e.slice(0,t.index)+r+e.slice(t.index);return F(e,i,r,t.index,t.index),i},Ne=e=>{if(e.includes(`"opusplan[1m]"`))return console.log(`patch: opusplan1m: opusplan[1m] already supported natively — skipping`),e;let t=e,n=De(t);if(n)t=n;else return console.error(`patch: opusplan1m: failed to apply mode switching patch`),null;if(n=Oe(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model aliases list patch`),null;if(n=ke(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply description function patch`),null;if(n=Ae(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply label function patch`),null;if(n=je(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model selector options patch`),null;if(n=Me(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply always-show-in-selector patch`),null;return t},Pe=e=>{if(/case"thinking":\{(?:(?!case")[^]){0,600}isTranscriptMode:true/.test(e))return console.log(`patch: thinkingVisibility: already configured natively — skipping`),e;let t=e.match(/(case"thinking":\{?)(if\(.+?\)return null;)(.{0,400}isTranscriptMode:).+?,/);if(!t||t.index===void 0)return console.error(`patch: thinkingVisibility: failed to find thinking visibility pattern`),null;let n=t[1]+t[3]+`true,`,r=t.index,i=r+t[0].length,a=e.slice(0,r)+n+e.slice(i);return F(e,a,n,r,i),a},Fe=(e,t)=>{let n=e.match(/(agentType\s*:\s*"Plan"\s*,[\s\S]{1,2500}?\bmodel\s*:\s*")[^"]+(")/);if(!n||n.index===void 0)return console.error(`patch: subagentModels: failed to find Plan agent pattern`),null;let r=n[1].slice(0,-1)+JSON.stringify(t),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},Ie=(e,t)=>{let n=e.match(/(\{agentType\s*:\s*"Explore"\s*,[\s\S]{1,2500}?\bmodel\s*:\s*")[^"]+(")/);if(!n||n.index===void 0)return console.error(`patch: subagentModels: failed to find Explore agent pattern`),null;let r=n[1].slice(0,-1)+JSON.stringify(t),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},Le=(e,t)=>{let n=e.match(/([^$\w][$\w]+\s*=\s*\{agentType\s*:\s*"general-purpose"[\s\S]{0,2500}?)(\})/);if(!n||n.index===void 0)return console.error(`patch: subagentModels: failed to find general-purpose agent pattern`),null;let r=n[1],i=n[2],a;a=r.includes(`model:`)?r.replace(/(model\s*:\s*)"[^"]+"/,(e,n)=>n+JSON.stringify(t))+i:r+`${r.trim().endsWith(`,`)?``:`,`}model:`+JSON.stringify(t)+i;let o=n.index,s=o+n[0].length,c=e.slice(0,o)+a+e.slice(s);return F(e,c,a,o,s),c},Re=(e,t)=>{let n=e;if(t.plan){let e=Fe(n,t.plan);if(e===null)return null;n=e}if(t.explore){let e=Ie(n,t.explore);if(e===null)return null;n=e}if(t.generalPurpose){let e=Le(n,t.generalPurpose);if(e===null)return null;n=e}return n},ze=(e,t,n,r)=>`${e}.createElement(${t}, null, ${e}.createElement(${n}, {color: "success", bold: true}, "\\u2503 "), ${e}.createElement(${n}, {dimColor: true}, \` * ${K(r)}\`)),`,Be=e=>{let t=e.indexOf(`}.VERSION} (Claude Code)`);return t==-1?(console.error(`patch: patchesAppliedIndication: failed to find versionIndex`),null):{startIndex:0,endIndex:t+24}},Ve=e=>{let t=e.match(/([$\w]+)\.jsxs\(([$\w]+),\{children:\[(?:[^[\]]{0,200})," ",([$\w]+)\.jsxs\(([$\w]+),\{dimColor:!0,children:\["v",[$\w]+\]\}\)\]\}\)/);if(t&&t.index!==void 0)return{jsxInline:{insertIndex:t.index+t[0].length-3,helper:t[1],textComponent:t[2]}};let n=e.match(/createElement\(([$\w]+),\{bold:!0\},"Claude Code"\),([$\w]+)\[\d+\]=[$\w]+;else [$\w]+=([$\w]+)\[\d+\]/);if(!n||n.index===void 0)return console.error(`patch: patchesAppliedIndication: PATCH 2 failed to find bold Claude Code pattern`),null;let r=n[1],i=n.index+n[0].length,a=e.indexOf(`;`,i);if(a===-1)return null;let o=a+1,s=e.match(/[^$\w]([$\w]+)\.createElement\(([$\w]+),null,[$\w]+," ",([$\w]+)\.createElement\(([$\w]+),\{dimColor:!0\},"v",[$\w]+\)\)/);if(!s||s.index===void 0){let t=e.match(/[^$\w]([$\w]+)\.createElement\(([$\w]+),\{bold:!0\},"Claude Code"\)," ",([$\w]+)\.createElement\(([$\w]+),\{dimColor:!0\},"v",[$\w]+\)/);return!t||t.index===void 0?(console.error(`patch: patchesAppliedIndication: PATCH 2 failed to find version createElement`),null):{varInsertIndex:o,refInsertIndex:t.index+t[0].length,reactVar:t[1],textComponent:r}}return{varInsertIndex:o,refInsertIndex:s.index+s[0].length-1,reactVar:s[1],textComponent:r}},He=e=>{let t=e.match(/[,;){}\]]([$\w]+)=([$\w]+)\.jsxs\(([$\w]+),\{children:\[(?:[^[\]]{0,200})," ",[$\w]+\.jsxs\([$\w]+,\{dimColor:!0,children:\["v",[$\w]+\]\}\)/);if(!t||t.index===void 0)return null;let n=t[1],r=t.index,i=e.slice(r,r+4e3),a=RegExp(`[$\\w]+\\.jsxs\\([$\\w]+,\\{flexDirection:"column",children:\\[(?:[^[\\]]*?,)?${U(n)}[,\\]]`),o=i.match(a);if(!o||o.index===void 0)return null;let s=r+o.index,c=e.indexOf(`children:[`,s)+10;if(c<10)return null;let l=1,u=-1;for(let t=c;t<e.length;t++){let n=e[t];if(n===`[`)l++;else if(n===`]`&&(l--,l===0)){u=t;break}}return u===-1?null:{startIndex:u,endIndex:u}},Ue=e=>{let t=He(e);if(t)return t;let n=e.match(/"Claude Code".{0,200}\{dimColor:!0\},"v",[$\w]+\)/);if(!n||n.index===void 0)return console.error(`patch: patchesAppliedIndication: failed to find version display for patch 3`),null;let r={index:n.index},i=Math.max(0,r.index-5e3),a=e.slice(i,r.index),o=Array.from(a.matchAll(/[};]\s*function ([$\w]+)\(/g));if(o.length===0)return console.error(`patch: patchesAppliedIndication: failed to find header component function`),null;let s=o[o.length-1][1],c=RegExp(`[^$\\w]([$\\w]+)\\.createElement\\(${U(s)},null\\),?`),l=e.match(c);if(!l||l.index===void 0)return console.error(`patch: patchesAppliedIndication: failed to find createElement call for header`),null;let u=e.slice(Math.max(0,l.index-30),l.index+1).match(/([$\w]+)=(?:[$\w]+&&)?[^$\w]?$/);if(u){let t=u[1],n=e.slice(l.index,l.index+2e3),r=RegExp(`,${U(t)}([,\\)])`),i=n.match(r);if(i&&i.index!==void 0){let e=l.index+i.index+i[0].length-i[1].length;return{startIndex:e,endIndex:e}}}let d=l.index+l[0].length;return{startIndex:d,endIndex:d}},We=(e,t,n,r=!0,i=!0)=>{let a=Be(e);if(!a)return console.error(`patch: patchesAppliedIndication: failed to version output location`),null;let o=`\\n${t} (tweakcc-fixed)`,s=`}.VERSION} (Claude Code)`,c=e.replaceAll(s,s+o);F(e,c,o,a.endIndex,a.endIndex);let l=R(e);if(!l)return console.error(`patch: patchesAppliedIndication: failed to find chalk variable`),null;let u=zi(e);if(!u)return console.error(`patch: patchesAppliedIndication: failed to find text component`),null;let d=V(e);if(!d)return console.error(`patch: patchesAppliedIndication: failed to find React variable`),null;if(r){let e=c.match(/(\$\{([$\w]+)\("inactive",([$\w]+)\)\(`v\$\{[$\w]+\}`\)\}) `,/);if(e&&e.index!==void 0){let n=e[0],r=e[2],i=e[3],a=`${e[1]} \${${r}("warning",${i})("+ tweakcc v${t}")} \`,`;c=c.replace(n,a)}c=c.replace(/([$\w]+\("claude",[$\w]+\)\(" Claude Code) ("\))/,`$1 + tweakcc v${t} $2`);let n=Ve(c);if(!n)console.error(`patch: patchesAppliedIndication: patch 2 skipped (header version pattern changed)`);else if(`jsxInline`in n){let{insertIndex:e,helper:r,textComponent:i}=n.jsxInline,a=`," ",${r}.jsx(${i},{children:${l}.hex("#FF8400").bold("+ tweakcc v${t}")})`,o=c;c=c.slice(0,e)+a+c.slice(e),F(o,c,a,e,e)}else{let e=`let _tw=${n.reactVar}.createElement(${n.textComponent},null,${l}.hex("#FF8400").bold("+ tweakcc v${t}"));`,r=c;c=c.slice(0,n.varInsertIndex)+e+c.slice(n.varInsertIndex),F(r,c,e,n.varInsertIndex,n.varInsertIndex);let i=n.refInsertIndex+e.length,a=`," ",_tw`,o=c;c=c.slice(0,i)+a+c.slice(i),F(o,c,a,i,i)}}if(i){let e=Vi(c);if(!e)return console.error(`patch: patchesAppliedIndication: PATCH 3 skipped (Box component not located on this CC version)`),c;let t=Ue(c);if(!t)console.log(`patch: patchesAppliedIndication: patch 3 skipped (see prior message)`);else{let r=[];r.push(`,${d}.createElement(${e}, { flexDirection: "column" },`),r.push(`${d}.createElement(${e}, null, ${d}.createElement(${u}, {color: "success", bold: true}, "\\u2503 "), ${d}.createElement(${u}, {color: "success", bold: true}, "\\u2713 tweakcc-fixed patches are applied")),`);for(let t of n)t=t.replace(`CHALK_VAR`,l),r.push(ze(d,e,u,t));r.push(`),`);let i=r.join(`
2
- `);t.startIndex>0&&c[t.startIndex-1]===`,`&&i.startsWith(`,`)&&(i=i.slice(1)),i.endsWith(`,`)&&c[t.startIndex]===`,`&&(i=i.slice(0,-1));let a=c;c=c.slice(0,t.startIndex)+i+c.slice(t.endIndex),F(a,c,i,t.startIndex,t.endIndex)}}return c};function Ge(){try{let e=v(import.meta.url),t=f.dirname(e);for(let e=0;e<5;e++){let e=f.join(t,`data`,`prompts`),n=f.join(t,`package.json`);if(s.existsSync(n)&&s.existsSync(e))return e;let r=f.dirname(t);if(r===t)break;t=r}}catch{}return null}async function Ke(e){let t=Ge();if(t){let n=f.join(t,`prompts-${e}.json`);try{let e=await a.readFile(n,`utf-8`);return JSON.parse(e)}catch{}}let n=f.join(Oa,`prompts-${e}.json`),r=async()=>{try{return JSON.parse(await a.readFile(n,`utf-8`))}catch{return null}},i=`https://raw.githubusercontent.com/skrabe/tweakcc-fixed/refs/heads/main/data/prompts/prompts-${e}.json`;try{let t=await fetch(i,{signal:AbortSignal.timeout(2e4)});if(!t.ok){let n=await r();if(n)return n;let i;throw i=t.status===429?`Rate limit exceeded. GitHub has temporarily blocked requests. Please wait a few minutes and try again.`:t.status===404?`Prompts file not found for Claude Code v${e}. The fork's version-bump pipeline hasn't published prompts for this release yet — check https://github.com/skrabe/tweakcc-fixed for status.`:t.status>=500?`GitHub server error (${t.status}). Please try again later.`:`HTTP ${t.status}: ${t.statusText}`,Error(i)}let o=JSON.parse(await xa(t));try{await a.mkdir(Oa,{recursive:!0}),await a.writeFile(n,JSON.stringify(o,null,2),`utf-8`)}catch(e){console.warn(`Failed to write to cache to ${n}: ${e}`)}return o}catch(t){let n=await r();if(n)return n;if(t instanceof Error){if(t.message.includes(`Rate limit`)||t.message.includes(`not found`)||t.message.includes(`server error`)||t.message.includes(`HTTP`))throw t;let n=`Failed to download prompts for version ${e}: ${t.message}`;throw Error(n)}throw t}}const qe=()=>f.join(J,`systemPromptOriginalHashes.json`),Je=()=>f.join(J,`systemPromptAppliedHashes.json`),Ye=(e,t)=>`${e}-${t}`,Xe=e=>h.createHash(`md5`).update(e.trim(),`utf8`).digest(`hex`),Ze=async e=>{try{return JSON.parse(await a.readFile(e,`utf8`))}catch(t){if(t instanceof Error&&`code`in t&&t.code===`ENOENT`)return{};if(t instanceof SyntaxError)return W(`${e} was not valid JSON — ignoring it and rebuilding.`),{};throw t}},Qe=async(e,t)=>{await a.mkdir(J,{recursive:!0});let n={};for(let e of Object.keys(t).sort())n[e]=t[e];let r=`${e}.tmp-${process.pid}`;try{await a.writeFile(r,JSON.stringify(n,null,2),`utf8`),await a.rename(r,e)}catch(e){try{await a.unlink(r)}catch{}throw e}},$e=async()=>Ze(qe()),et=async e=>Qe(qe(),e),tt=async e=>{let t=await $e(),n=0;for(let r of e.prompts){let e=Ye(r.id,r.version);t[e]||(t[e]=Xe(Dt(r.pieces,r.identifiers,r.identifierMap)),n++)}return await et(t),n},nt=async(e,t)=>(await $e())[Ye(e,t)],rt=async()=>Ze(Je()),it=async e=>Qe(Je(),e),at=async e=>{if(Object.keys(e).length===0)return;let t=await rt();for(let[n,r]of Object.entries(e))t[n]=r;await it(t)},ot=async()=>{let e=await rt(),t={};for(let n of Object.keys(e))t[n]=null;await it(t)},st=async e=>{try{let t=await rt();if(Object.keys(t).length===0)return!1;let n=(await a.readdir(e)).filter(e=>e.endsWith(`.md`));for(let r of n){let n=t[r.replace(`.md`,``)];if(n==null)continue;let i=f.join(e,r),o=await a.readFile(i,`utf8`);if(Xe((await import(`gray-matter`)).default(o,{delimiters:[`<!--`,`-->`]}).content)!==n)return!0}return!1}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return!1;throw e}},ct=(e,t)=>{let n=_(t,{delimiters:[`<!--`,`-->`]}),r=n.data,i=(n.content??``).replace(/^\n+/,``).replace(/\n+$/,``);return{id:e,name:typeof r.name==`string`?r.name:e,description:typeof r.description==`string`?r.description:``,ccVersion:typeof r.ccVersion==`string`?r.ccVersion:``,placeholders:Array.isArray(r.placeholders)?r.placeholders.filter(e=>typeof e==`string`):[],body:i,isSuppressed:i.trim().length===0}},lt=(e,t,n,r,i)=>{let a={name:e,description:t,ccVersion:n};return r.length>0&&(a.placeholders=r),_.stringify(i,a,{delimiters:[`<!--`,`-->`]})},ut=async e=>{let t=l.join(Da,`${e}.md`);try{return ct(e,await a.readFile(t,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}},dt=async(e,t,n,r,i,o)=>{let s=l.join(Da,`${e}.md`);try{return await a.stat(s),!1}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}return await a.mkdir(l.dirname(s),{recursive:!0}),await a.writeFile(s,lt(t,n,r,i,o)),!0},ft=(e,t)=>{let n=[],r=new Set(Object.keys(t)),i=/\{\{\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/g,a;for(;(a=i.exec(e))!==null;)r.has(a[1])||n.push(`unknown placeholder "{{${a[1]}}}"; allowed: ${[...r].map(e=>`{{${e}}}`).join(`, `)||`(none)`}`);if(n.length>0)return{result:``,errors:n};let o=e.split(i),s=``;for(let e=0;e<o.length;e++)e%2==0?s+=K(o[e].replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${")):s+=t[o[e]];return{result:s,errors:[]}},M=(e,t,n,r,i)=>{let a=e.match(t);if(!a||a.index===void 0)return i&&i(e)?e:(console.error(`patch: reminder ${r}: failed to find anchor`),null);let o=n(a),s=e.slice(0,a.index)+o+e.slice(a.index+a[0].length);return F(e,s,o,a.index,a.index+a[0].length),s},pt=(e,t,n)=>{let r=`case"${t}":{`,i=[],a=0;for(;;){let t=e.indexOf(r,a);if(t<0)break;i.push(t),a=t+r.length}if(i.length===0)return null;let o=i.find(t=>e.slice(t,t+2048).includes(n));if(o===void 0)return null;let s=o+r.length,c=1,l=s,u=!1,d=!1,f=!1,p=0;for(;l<e.length&&c>0;){let t=e[l],n=e[l-1];if(d)t===`\\`?l++:t===`'`&&(d=!1);else if(f)t===`\\`?l++:t===`"`&&(f=!1);else if(u)t===`\\`?l++:t==="`"&&p===0?u=!1:t===`$`&&e[l+1]===`{`?(p++,l++):t===`}`&&p>0&&p--;else if(t===`'`&&n!==`\\`)d=!0;else if(t===`"`&&n!==`\\`)f=!0;else if(t==="`"&&n!==`\\`)u=!0;else if(t===`{`)c++;else if(t===`}`&&(c--,c===0))return{headerIdx:o,bodyStart:s,bodyEnd:l};l++}return null},mt=e=>{let t=/return\s+[^;]*?([$\w]+)\(\[([$\w]+)\(\{content:/g,n=null,r;for(;(r=t.exec(e))!==null;)n=r;return n?{arrayWrap:n[1],msgCtor:n[2]}:{arrayWrap:`o5`,msgCtor:`j6`}},ht=e=>{let t=e.match(/^\s*if\(!([$\w]+)\(\)\)return\s*\[\]/);return t?t[1]:`GX`},gt=(e,t)=>{let n=e.match(RegExp(`([$\\w]+)\\.${t}\\b`));return n?n[1]:`H`},_t=[{id:`claudemd-context`,name:`claudeMd context wrapper`,description:`Per-turn <system-reminder> that bundles { claudeMd, userEmail, currentDate } into a 'As you answer the user's questions...' block. Empty .md body = suppress entirely.`,placeholders:{context_blocks:"${Object.entries(_).map(([q,K])=>`# ${q}\\n${K}`).join(`\\n`)}"},defaultBody:`As you answer the user's questions, you can use the following context:
1
+ import{createRequire as e}from"node:module";import t from"chalk";import*as n from"node:os";import r,{EOL as i}from"node:os";import*as a from"node:fs/promises";import o from"node:fs/promises";import*as s from"node:fs";import c from"node:fs";import*as l from"node:path";import u from"node:path";import*as d from"fs";import*as f from"path";import*as p from"os";import*as m from"child_process";import*as h from"crypto";import{spawnSync as g}from"node:child_process";import _ from"gray-matter";import{fileURLToPath as v}from"node:url";import{Worker as y}from"node:worker_threads";import{diffWordsWithSpace as b}from"diff";let x=null;async function S(){if(x!==null)return x;try{return await import(`node-lief`),x=await import(`./nativeInstallation-6gMQ803i.mjs`),x}catch(e){return W(`Error loading native installation module: ${e instanceof Error?e.message:String(e)}`),e instanceof Error&&W(e),null}}async function C(e,t){let n=await S();return n?n.extractClaudeJsFromNativeInstallation(e,t):{data:null,clearBytecode:!1,error:`node-lief native module unavailable on this platform/runtime (cannot extract from native installs)`}}async function w(e,t,n,r){let i=await S();if(!i)throw Error("`repackNativeInstallation()` called but `node-lief` is not available. This is unexpected - `extractClaudeJsFromNativeInstallation()` should have been called first.");i.repackNativeInstallation(e,t,n,r)}async function T(e){let t=await S();return t?t.resolveNixBinaryWrapper(e):null}const E={themes:[{name:`Dark mode`,id:`dark`,colors:{autoAccept:`rgb(175,135,255)`,bashBorder:`rgb(253,93,177)`,claude:`rgb(215,119,87)`,claudeShimmer:`rgb(235,159,127)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(147,165,255)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(177,195,255)`,permission:`rgb(177,185,249)`,permissionShimmer:`rgb(207,215,255)`,planMode:`rgb(72,150,140)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(136,136,136)`,promptBorderShimmer:`rgb(166,166,166)`,text:`rgb(255,255,255)`,inverseText:`rgb(0,0,0)`,inactive:`rgb(153,153,153)`,subtle:`rgb(80,80,80)`,suggestion:`rgb(177,185,249)`,remember:`rgb(177,185,249)`,background:`rgb(0,204,204)`,success:`rgb(78,186,101)`,error:`rgb(255,107,128)`,warning:`rgb(255,193,7)`,warningShimmer:`rgb(255,223,57)`,diffAdded:`rgb(34,92,43)`,diffRemoved:`rgb(122,41,54)`,diffAddedDimmed:`rgb(71,88,74)`,diffRemovedDimmed:`rgb(105,72,77)`,diffAddedWord:`rgb(56,166,96)`,diffRemovedWord:`rgb(179,89,107)`,diffAddedWordDimmed:`rgb(46,107,58)`,diffRemovedWordDimmed:`rgb(139,57,69)`,red_FOR_SUBAGENTS_ONLY:`rgb(220,38,38)`,blue_FOR_SUBAGENTS_ONLY:`rgb(37,99,235)`,green_FOR_SUBAGENTS_ONLY:`rgb(22,163,74)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(202,138,4)`,purple_FOR_SUBAGENTS_ONLY:`rgb(147,51,234)`,orange_FOR_SUBAGENTS_ONLY:`rgb(234,88,12)`,pink_FOR_SUBAGENTS_ONLY:`rgb(219,39,119)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(8,145,178)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(55, 55, 55)`,bashMessageBackgroundColor:`rgb(65, 60, 65)`,memoryBackgroundColor:`rgb(55, 65, 70)`,rate_limit_fill:`rgb(177,185,249)`,rate_limit_empty:`rgb(80,83,112)`}},{name:`Light mode`,id:`light`,colors:{autoAccept:`rgb(135,0,255)`,bashBorder:`rgb(255,0,135)`,claude:`rgb(215,119,87)`,claudeShimmer:`rgb(245,149,117)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(87,105,247)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(117,135,255)`,permission:`rgb(87,105,247)`,permissionShimmer:`rgb(137,155,255)`,planMode:`rgb(0,102,102)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(153,153,153)`,promptBorderShimmer:`rgb(183,183,183)`,text:`rgb(0,0,0)`,inverseText:`rgb(255,255,255)`,inactive:`rgb(102,102,102)`,subtle:`rgb(175,175,175)`,suggestion:`rgb(87,105,247)`,remember:`rgb(0,0,255)`,background:`rgb(0,153,153)`,success:`rgb(44,122,57)`,error:`rgb(171,43,63)`,warning:`rgb(150,108,30)`,warningShimmer:`rgb(200,158,80)`,diffAdded:`rgb(105,219,124)`,diffRemoved:`rgb(255,168,180)`,diffAddedDimmed:`rgb(199,225,203)`,diffRemovedDimmed:`rgb(253,210,216)`,diffAddedWord:`rgb(47,157,68)`,diffRemovedWord:`rgb(209,69,75)`,diffAddedWordDimmed:`rgb(144,194,156)`,diffRemovedWordDimmed:`rgb(232,165,173)`,red_FOR_SUBAGENTS_ONLY:`rgb(220,38,38)`,blue_FOR_SUBAGENTS_ONLY:`rgb(37,99,235)`,green_FOR_SUBAGENTS_ONLY:`rgb(22,163,74)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(202,138,4)`,purple_FOR_SUBAGENTS_ONLY:`rgb(147,51,234)`,orange_FOR_SUBAGENTS_ONLY:`rgb(234,88,12)`,pink_FOR_SUBAGENTS_ONLY:`rgb(219,39,119)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(8,145,178)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(240, 240, 240)`,bashMessageBackgroundColor:`rgb(250, 245, 250)`,memoryBackgroundColor:`rgb(230, 245, 250)`,rate_limit_fill:`rgb(87,105,247)`,rate_limit_empty:`rgb(39,47,111)`}},{name:`Light mode (ANSI colors only)`,id:`light-ansi`,colors:{autoAccept:`ansi:magenta`,bashBorder:`ansi:magenta`,claude:`ansi:redBright`,claudeShimmer:`ansi:yellowBright`,claudeBlue_FOR_SYSTEM_SPINNER:`ansi:blue`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`ansi:blueBright`,permission:`ansi:blue`,permissionShimmer:`ansi:blueBright`,planMode:`ansi:cyan`,ide:`ansi:blueBright`,promptBorder:`ansi:white`,promptBorderShimmer:`ansi:whiteBright`,text:`ansi:black`,inverseText:`ansi:white`,inactive:`ansi:blackBright`,subtle:`ansi:blackBright`,suggestion:`ansi:blue`,remember:`ansi:blue`,background:`ansi:cyan`,success:`ansi:green`,error:`ansi:red`,warning:`ansi:yellow`,warningShimmer:`ansi:yellowBright`,diffAdded:`ansi:green`,diffRemoved:`ansi:red`,diffAddedDimmed:`ansi:green`,diffRemovedDimmed:`ansi:red`,diffAddedWord:`ansi:greenBright`,diffRemovedWord:`ansi:redBright`,diffAddedWordDimmed:`ansi:green`,diffRemovedWordDimmed:`ansi:red`,red_FOR_SUBAGENTS_ONLY:`ansi:red`,blue_FOR_SUBAGENTS_ONLY:`ansi:blue`,green_FOR_SUBAGENTS_ONLY:`ansi:green`,yellow_FOR_SUBAGENTS_ONLY:`ansi:yellow`,purple_FOR_SUBAGENTS_ONLY:`ansi:magenta`,orange_FOR_SUBAGENTS_ONLY:`ansi:redBright`,pink_FOR_SUBAGENTS_ONLY:`ansi:magentaBright`,cyan_FOR_SUBAGENTS_ONLY:`ansi:cyan`,professionalBlue:`ansi:blueBright`,rainbow_red:`ansi:red`,rainbow_orange:`ansi:redBright`,rainbow_yellow:`ansi:yellow`,rainbow_green:`ansi:green`,rainbow_blue:`ansi:cyan`,rainbow_indigo:`ansi:blue`,rainbow_violet:`ansi:magenta`,rainbow_red_shimmer:`ansi:redBright`,rainbow_orange_shimmer:`ansi:yellow`,rainbow_yellow_shimmer:`ansi:yellowBright`,rainbow_green_shimmer:`ansi:greenBright`,rainbow_blue_shimmer:`ansi:cyanBright`,rainbow_indigo_shimmer:`ansi:blueBright`,rainbow_violet_shimmer:`ansi:magentaBright`,clawd_body:`ansi:redBright`,clawd_background:`ansi:black`,userMessageBackground:`ansi:white`,bashMessageBackgroundColor:`ansi:whiteBright`,memoryBackgroundColor:`ansi:white`,rate_limit_fill:`ansi:yellow`,rate_limit_empty:`ansi:black`}},{name:`Dark mode (ANSI colors only)`,id:`dark-ansi`,colors:{autoAccept:`ansi:magentaBright`,bashBorder:`ansi:magentaBright`,claude:`ansi:redBright`,claudeShimmer:`ansi:yellowBright`,claudeBlue_FOR_SYSTEM_SPINNER:`ansi:blueBright`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`ansi:blueBright`,permission:`ansi:blueBright`,permissionShimmer:`ansi:blueBright`,planMode:`ansi:cyanBright`,ide:`ansi:blue`,promptBorder:`ansi:white`,promptBorderShimmer:`ansi:whiteBright`,text:`ansi:whiteBright`,inverseText:`ansi:black`,inactive:`ansi:white`,subtle:`ansi:white`,suggestion:`ansi:blueBright`,remember:`ansi:blueBright`,background:`ansi:cyanBright`,success:`ansi:greenBright`,error:`ansi:redBright`,warning:`ansi:yellowBright`,warningShimmer:`ansi:yellowBright`,diffAdded:`ansi:green`,diffRemoved:`ansi:red`,diffAddedDimmed:`ansi:green`,diffRemovedDimmed:`ansi:red`,diffAddedWord:`ansi:greenBright`,diffRemovedWord:`ansi:redBright`,diffAddedWordDimmed:`ansi:green`,diffRemovedWordDimmed:`ansi:red`,red_FOR_SUBAGENTS_ONLY:`ansi:redBright`,blue_FOR_SUBAGENTS_ONLY:`ansi:blueBright`,green_FOR_SUBAGENTS_ONLY:`ansi:greenBright`,yellow_FOR_SUBAGENTS_ONLY:`ansi:yellowBright`,purple_FOR_SUBAGENTS_ONLY:`ansi:magentaBright`,orange_FOR_SUBAGENTS_ONLY:`ansi:redBright`,pink_FOR_SUBAGENTS_ONLY:`ansi:magentaBright`,cyan_FOR_SUBAGENTS_ONLY:`ansi:cyanBright`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`ansi:red`,rainbow_orange:`ansi:redBright`,rainbow_yellow:`ansi:yellow`,rainbow_green:`ansi:green`,rainbow_blue:`ansi:cyan`,rainbow_indigo:`ansi:blue`,rainbow_violet:`ansi:magenta`,rainbow_red_shimmer:`ansi:redBright`,rainbow_orange_shimmer:`ansi:yellow`,rainbow_yellow_shimmer:`ansi:yellowBright`,rainbow_green_shimmer:`ansi:greenBright`,rainbow_blue_shimmer:`ansi:cyanBright`,rainbow_indigo_shimmer:`ansi:blueBright`,rainbow_violet_shimmer:`ansi:magentaBright`,clawd_body:`ansi:redBright`,clawd_background:`ansi:black`,userMessageBackground:`ansi:blackBright`,bashMessageBackgroundColor:`ansi:black`,memoryBackgroundColor:`ansi:blackBright`,rate_limit_fill:`ansi:yellow`,rate_limit_empty:`ansi:white`}},{name:`Light mode (colorblind-friendly)`,id:`light-daltonized`,colors:{autoAccept:`rgb(135,0,255)`,bashBorder:`rgb(0,102,204)`,claude:`rgb(255,153,51)`,claudeShimmer:`rgb(255,183,101)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(51,102,255)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(101,152,255)`,permission:`rgb(51,102,255)`,permissionShimmer:`rgb(101,152,255)`,planMode:`rgb(51,102,102)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(153,153,153)`,promptBorderShimmer:`rgb(183,183,183)`,text:`rgb(0,0,0)`,inverseText:`rgb(255,255,255)`,inactive:`rgb(102,102,102)`,subtle:`rgb(175,175,175)`,suggestion:`rgb(51,102,255)`,remember:`rgb(51,102,255)`,background:`rgb(0,153,153)`,success:`rgb(0,102,153)`,error:`rgb(204,0,0)`,warning:`rgb(255,153,0)`,warningShimmer:`rgb(255,183,50)`,diffAdded:`rgb(153,204,255)`,diffRemoved:`rgb(255,204,204)`,diffAddedDimmed:`rgb(209,231,253)`,diffRemovedDimmed:`rgb(255,233,233)`,diffAddedWord:`rgb(51,102,204)`,diffRemovedWord:`rgb(153,51,51)`,diffAddedWordDimmed:`rgb(102,153,204)`,diffRemovedWordDimmed:`rgb(204,153,153)`,red_FOR_SUBAGENTS_ONLY:`rgb(204,0,0)`,blue_FOR_SUBAGENTS_ONLY:`rgb(0,102,204)`,green_FOR_SUBAGENTS_ONLY:`rgb(0,204,0)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(255,204,0)`,purple_FOR_SUBAGENTS_ONLY:`rgb(128,0,128)`,orange_FOR_SUBAGENTS_ONLY:`rgb(255,128,0)`,pink_FOR_SUBAGENTS_ONLY:`rgb(255,102,178)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(0,178,178)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(220, 220, 220)`,bashMessageBackgroundColor:`rgb(250, 245, 250)`,memoryBackgroundColor:`rgb(230, 245, 250)`,rate_limit_fill:`rgb(51,102,255)`,rate_limit_empty:`rgb(23,46,114)`}},{name:`Dark mode (colorblind-friendly)`,id:`dark-daltonized`,colors:{autoAccept:`rgb(175,135,255)`,bashBorder:`rgb(51,153,255)`,claude:`rgb(255,153,51)`,claudeShimmer:`rgb(255,183,101)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(153,204,255)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(183,224,255)`,permission:`rgb(153,204,255)`,permissionShimmer:`rgb(183,224,255)`,planMode:`rgb(102,153,153)`,ide:`rgb(71,130,200)`,promptBorder:`rgb(136,136,136)`,promptBorderShimmer:`rgb(166,166,166)`,text:`rgb(255,255,255)`,inverseText:`rgb(0,0,0)`,inactive:`rgb(153,153,153)`,subtle:`rgb(80,80,80)`,suggestion:`rgb(153,204,255)`,remember:`rgb(153,204,255)`,background:`rgb(0,204,204)`,success:`rgb(51,153,255)`,error:`rgb(255,102,102)`,warning:`rgb(255,204,0)`,warningShimmer:`rgb(255,234,50)`,diffAdded:`rgb(0,68,102)`,diffRemoved:`rgb(102,0,0)`,diffAddedDimmed:`rgb(62,81,91)`,diffRemovedDimmed:`rgb(62,44,44)`,diffAddedWord:`rgb(0,119,179)`,diffRemovedWord:`rgb(179,0,0)`,diffAddedWordDimmed:`rgb(26,99,128)`,diffRemovedWordDimmed:`rgb(128,21,21)`,red_FOR_SUBAGENTS_ONLY:`rgb(255,102,102)`,blue_FOR_SUBAGENTS_ONLY:`rgb(102,178,255)`,green_FOR_SUBAGENTS_ONLY:`rgb(102,255,102)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(255,255,102)`,purple_FOR_SUBAGENTS_ONLY:`rgb(178,102,255)`,orange_FOR_SUBAGENTS_ONLY:`rgb(255,178,102)`,pink_FOR_SUBAGENTS_ONLY:`rgb(255,153,204)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(102,204,204)`,professionalBlue:`rgb(106,155,204)`,rainbow_red:`rgb(235,95,87)`,rainbow_orange:`rgb(245,139,87)`,rainbow_yellow:`rgb(250,195,95)`,rainbow_green:`rgb(145,200,130)`,rainbow_blue:`rgb(130,170,220)`,rainbow_indigo:`rgb(155,130,200)`,rainbow_violet:`rgb(200,130,180)`,rainbow_red_shimmer:`rgb(250,155,147)`,rainbow_orange_shimmer:`rgb(255,185,137)`,rainbow_yellow_shimmer:`rgb(255,225,155)`,rainbow_green_shimmer:`rgb(185,230,180)`,rainbow_blue_shimmer:`rgb(180,205,240)`,rainbow_indigo_shimmer:`rgb(195,180,230)`,rainbow_violet_shimmer:`rgb(230,180,210)`,clawd_body:`rgb(215,119,87)`,clawd_background:`rgb(0,0,0)`,userMessageBackground:`rgb(55, 55, 55)`,bashMessageBackgroundColor:`rgb(65, 60, 65)`,memoryBackgroundColor:`rgb(55, 65, 70)`,rate_limit_fill:`rgb(153,204,255)`,rate_limit_empty:`rgb(69,92,115)`}},{name:`Monochrome`,id:`monochrome`,colors:{autoAccept:`rgb(200,200,200)`,bashBorder:`rgb(180,180,180)`,claude:`rgb(255,255,255)`,claudeShimmer:`rgb(230,230,230)`,claudeBlue_FOR_SYSTEM_SPINNER:`rgb(200,200,200)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`rgb(220,220,220)`,permission:`rgb(200,200,200)`,permissionShimmer:`rgb(220,220,220)`,planMode:`rgb(180,180,180)`,ide:`rgb(190,190,190)`,promptBorder:`rgb(160,160,160)`,promptBorderShimmer:`rgb(180,180,180)`,text:`rgb(255,255,255)`,inverseText:`rgb(40,40,40)`,inactive:`rgb(120,120,120)`,subtle:`rgb(100,100,100)`,suggestion:`rgb(200,200,200)`,remember:`rgb(200,200,200)`,background:`rgb(180,180,180)`,success:`rgb(220,220,220)`,error:`rgb(180,180,180)`,warning:`rgb(200,200,200)`,warningShimmer:`rgb(220,220,220)`,diffAdded:`rgb(90,90,90)`,diffRemoved:`rgb(60,60,60)`,diffAddedDimmed:`rgb(110,110,110)`,diffRemovedDimmed:`rgb(80,80,80)`,diffAddedWord:`rgb(200,200,200)`,diffRemovedWord:`rgb(80,80,80)`,diffAddedWordDimmed:`rgb(160,160,160)`,diffRemovedWordDimmed:`rgb(70,70,70)`,red_FOR_SUBAGENTS_ONLY:`rgb(200,200,200)`,blue_FOR_SUBAGENTS_ONLY:`rgb(180,180,180)`,green_FOR_SUBAGENTS_ONLY:`rgb(210,210,210)`,yellow_FOR_SUBAGENTS_ONLY:`rgb(190,190,190)`,purple_FOR_SUBAGENTS_ONLY:`rgb(170,170,170)`,orange_FOR_SUBAGENTS_ONLY:`rgb(195,195,195)`,pink_FOR_SUBAGENTS_ONLY:`rgb(205,205,205)`,cyan_FOR_SUBAGENTS_ONLY:`rgb(185,185,185)`,professionalBlue:`rgb(190,190,190)`,rainbow_red:`rgb(240,240,240)`,rainbow_orange:`rgb(230,230,230)`,rainbow_yellow:`rgb(220,220,220)`,rainbow_green:`rgb(210,210,210)`,rainbow_blue:`rgb(200,200,200)`,rainbow_indigo:`rgb(190,190,190)`,rainbow_violet:`rgb(180,180,180)`,rainbow_red_shimmer:`rgb(255,255,255)`,rainbow_orange_shimmer:`rgb(245,245,245)`,rainbow_yellow_shimmer:`rgb(235,235,235)`,rainbow_green_shimmer:`rgb(225,225,225)`,rainbow_blue_shimmer:`rgb(215,215,215)`,rainbow_indigo_shimmer:`rgb(205,205,205)`,rainbow_violet_shimmer:`rgb(195,195,195)`,clawd_body:`rgb(255,255,255)`,clawd_background:`rgb(40,40,40)`,userMessageBackground:`rgb(70,70,70)`,bashMessageBackgroundColor:`rgb(65,65,65)`,memoryBackgroundColor:`rgb(75,75,75)`,rate_limit_fill:`rgb(200,200,200)`,rate_limit_empty:`rgb(90,90,90)`}}],thinkingVerbs:{format:`{}… `,verbs:`Accomplishing.Actioning.Actualizing.Architecting.Baking.Beaming.Beboppin'.Befuddling.Billowing.Blanching.Bloviating.Boogieing.Boondoggling.Booping.Bootstrapping.Brewing.Burrowing.Calculating.Canoodling.Caramelizing.Cascading.Catapulting.Cerebrating.Channeling.Channelling.Choreographing.Churning.Clauding.Coalescing.Cogitating.Combobulating.Composing.Computing.Concocting.Considering.Contemplating.Cooking.Crafting.Creating.Crunching.Crystallizing.Cultivating.Deciphering.Deliberating.Determining.Dilly-dallying.Discombobulating.Doing.Doodling.Drizzling.Ebbing.Effecting.Elucidating.Embellishing.Enchanting.Envisioning.Evaporating.Fermenting.Fiddle-faddling.Finagling.Flambéing.Flibbertigibbeting.Flowing.Flummoxing.Fluttering.Forging.Forming.Frolicking.Frosting.Gallivanting.Galloping.Garnishing.Generating.Germinating.Gitifying.Grooving.Gusting.Harmonizing.Hashing.Hatching.Herding.Honking.Hullaballooing.Hyperspacing.Ideating.Imagining.Improvising.Incubating.Inferring.Infusing.Ionizing.Jitterbugging.Julienning.Kneading.Leavening.Levitating.Lollygagging.Manifesting.Marinating.Meandering.Metamorphosing.Misting.Moonwalking.Moseying.Mulling.Mustering.Musing.Nebulizing.Nesting.Newspapering.Noodling.Nucleating.Orbiting.Orchestrating.Osmosing.Perambulating.Percolating.Perusing.Philosophising.Photosynthesizing.Pollinating.Pondering.Pontificating.Pouncing.Precipitating.Prestidigitating.Processing.Proofing.Propagating.Puttering.Puzzling.Quantumizing.Razzle-dazzling.Razzmatazzing.Recombobulating.Reticulating.Roosting.Ruminating.Sautéing.Scampering.Schlepping.Scurrying.Seasoning.Shenaniganing.Shimmying.Simmering.Skedaddling.Sketching.Slithering.Smooshing.Sock-hopping.Spelunking.Spinning.Sprouting.Stewing.Sublimating.Swirling.Swooping.Symbioting.Synthesizing.Tempering.Thinking.Thundering.Tinkering.Tomfoolering.Topsy-turvying.Transfiguring.Transmuting.Twisting.Undulating.Unfurling.Unravelling.Vibing.Waddling.Wandering.Warping.Whatchamacalliting.Whirlpooling.Whirring.Whisking.Wibbling.Working.Wrangling.Zesting.Zigzagging`.split(`.`)},thinkingStyle:{updateInterval:120,phases:process.env.TERM===`xterm-ghostty`?[`·`,`✢`,`✳`,`✶`,`✻`,`*`]:process.platform===`darwin`?[`·`,`✢`,`✳`,`✶`,`✻`,`✽`]:[`·`,`✢`,`*`,`✶`,`✻`,`✽`],reverseMirror:!0},userMessageDisplay:{format:` > {} `,styling:[],foregroundColor:`default`,backgroundColor:`default`,borderStyle:`none`,borderColor:`rgb(255,255,255)`,paddingX:`default`,paddingY:`default`,fitBoxToContent:!1},inputBox:{removeBorder:!1},misc:{showTweakccVersion:!0,showPatchesApplied:!0,expandThinkingBlocks:!0,enableConversationTitle:!0,hideStartupBanner:!1,hideCtrlGToEdit:!1,hideStartupClawd:!1,increaseFileReadLimit:!1,suppressLineNumbers:!1,suppressRateLimitOptions:!1,mcpConnectionNonBlocking:!0,mcpServerBatchSize:null,statuslineThrottleMs:null,statuslineUseFixedInterval:!1,tableFormat:`default`,enableSwarmMode:!0,enableSessionMemory:!0,enableDreamMode:!0,enableLeanMemoryTypes:!1,fixSummarizeFromHere:!0,fixRewindSummaryHeader:!0,enableRememberSkill:!1,tokenCountRounding:null,autoAcceptPlanMode:!1,allowBypassPermissionsInSudo:!1,suppressNativeInstallerWarning:!1,filterScrollEscapeSequences:!1,enableWorktreeMode:!0,allowCustomAgentModels:!1,enableContextLimitOverride:!1,enableModelCustomizations:!0,enableVoiceMode:!1,enableVoiceConciseOutput:!0,enableChannelsMode:!1,maxEffortDefault:!1,autonomousOperationAllModels:!1,autoModeClassifierModel:`default`,suppressDeferredTools:!1,claudemdContextOncePerConversation:!0},toolsets:[],defaultToolset:null,planModeToolset:null,subagentModels:{plan:null,explore:null,generalPurpose:null},inputPatternHighlighters:[],inputPatternHighlightersTestText:`Type test text here to see highlighting`,claudeMdAltNames:[`AGENTS.md`,`GEMINI.md`,`CRUSH.md`,`QWEN.md`,`IFLOW.md`,`WARP.md`,`copilot-instructions.md`]},D={name:`Unnamed Highlighter`,regex:``,regexFlags:`g`,format:`{MATCH}`,styling:[],foregroundColor:null,backgroundColor:null,enabled:!0},O={name:`Unnamed Toolset`,allowedTools:`*`},k=E.themes[0],ee=e=>{let t=[],n=/visibleOptionCount:[\w$]+=(\d+)/g,r;for(;(r=n.exec(e))!==null;){let e=r.index+r[0].indexOf(`=`)+1;t.push({startIndex:e,endIndex:e+r[1].length})}return t},te=e=>{let t=e.match(/\{rows:([\w$]+),columns:[\w$]+\}=[\w$]+\(\),[\w$]+=[\w$]+\?[\w$]+:Math\.max\(1,Math\.min\(Math\.max\(6,Math\.floor\(\1\/2\)\),\1-3\)\)/);if(t&&t.index!==void 0){let n=t[1],r=`Math.floor(${n}/2)`,i=t.index+t[0].indexOf(r),a=i+r.length,o=e.slice(0,i)+n+e.slice(a);return F(e,o,n,i,a),o}let n=e.match(/\{rows:([\w$]+),columns:[\w$]+\}=[\w$]+\(\),([\w$]+)=Math\.floor\(\1\/2\)/);if(n&&n.index!==void 0){let t=n.index+n[0].indexOf(n[2]+`=Math.floor(`),r=n.index+n[0].length,i=`${n[2]}=${n[1]}`,a=e.slice(0,t)+i+e.slice(r);return F(e,a,i,t,r),a}let r=/Math\.max\(1,Math\.floor\(\(([\w$]+)-([\w$]+)\)\/([\w$]+)\)\)/g,i;for(;(i=r.exec(e))!==null;){let t=Math.max(0,i.index-250),n=e.slice(t,i.index);if(!n.includes(`"expanded"?3`)||!n.includes(`"compact"?1:2`))continue;let r=i.index,a=i.index+i[0].length,o=`Math.max(1,${i[1]}-${i[2]})`,s=e.slice(0,r)+o+e.slice(a);return F(e,s,o,r,a),s}return null},A=e=>{let t=e.match(/Math\.max\(1,Math\.floor\(\(([\w$]+)-10\)\/2\)\)/);if(!t||t.index===void 0)return null;let n=`Math.max(1,${t[1]}-3)`,r=e.slice(0,t.index)+n+e.slice(t.index+t[0].length);return F(e,r,n,t.index,t.index+t[0].length),r},j=e=>{if(!e.includes(`Math.min(6,Math.max(1,`))return W(`patch: showMoreItemsInSelectMenus: suggestions cap already removed in this CC build — no-op`),e;let t=e.match(/Math\.min\(6,Math\.max\(1,([\w$]+)-3\)\)/);if(!t||t.index===void 0)return null;let n=`Math.max(1,${t[1]}-3)`,r=e.slice(0,t.index)+n+e.slice(t.index+t[0].length);return F(e,r,n,t.index,t.index+t[0].length),r},ne=(e,t)=>{let n=ee(e);if(n.length===0)return console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find locations`),null;let r=n.sort((e,t)=>t.startIndex-e.startIndex),i=e;for(let e of r){let n=t.toString(),r=i.slice(0,e.startIndex)+n+i.slice(e.endIndex);F(i,r,n,e.startIndex,e.endIndex),i=r}let a=te(i);a?i=a:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find help menu height pattern`);let o=A(i);o?i=o:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find visibleCount pattern`);let s=j(i);return s&&(i=s),i};function re(e){let t=-1,n=-1,r=``,i=e.match(/switch\(([$\w]+)\)\{case"(?:light|dark)":[^}]*return [$\w]+;[^}]*default:return [$\w]+\}/);if(i&&i.index!=null)t=i.index,n=t+i[0].length,r=i[1];else{if(e.indexOf(`case"dark":return{"autoAccept"`)===-1&&e.indexOf(`case"light":return{`)===-1)return console.error(`patch: themes: failed to find switchMatch`),null;let i=e.indexOf(`case"dark":return{`)===-1?e.indexOf(`case"light":return{`):e.indexOf(`case"dark":return{`),a=e.slice(Math.max(0,i-200),i).match(/switch\(([$\w]+)\)\{\s*$/);if(!a||a.index==null)return console.error(`patch: themes: failed to find switchMatch (old format)`),null;t=Math.max(0,i-200)+a.index,r=a[1];let o=0;for(let r=t;r<e.length&&r<t+5e4;r++)if(e[r]===`{`&&o++,e[r]===`}`&&(o--,o===0)){n=r+1;break}}if(t===-1||n===-1)return console.error(`patch: themes: failed to find switchMatch`),null;let a=-1,o=-1,s=``,c=e.match(/\[(?:\.\.\.\[\],)?(?:\{"?label"?:"(?:Dark|Light|Auto|Monochrome)[^"]*","?value"?:"[^"]+"\},?)+\]/);if(c&&c.index!==void 0)a=c.index,o=c.index+c[0].length;else{let t=[...e.matchAll(/([$\w]+)=\{label:"(?:Auto|Dark|Light|Monochrome)[^"]*",value:"[^"]+"\}/g)];if(t.length<2)return console.error(`patch: themes: failed to find objArrMatch`),null;let n=t.map(e=>e[1]).map(e=>e.replace(/\$/g,`\\$`)).join(`,`),r=RegExp(`\\[${n}((?:,\\.\\.\\.[^\\]]+)*)\\]`),i=e.match(r);if(!i||i.index===void 0)return console.error(`patch: themes: failed to find objArrMatch (new var-collected form)`),null;a=i.index,o=i.index+i[0].length,s=i[1]}let l=e.match(/(return|[$\w]+=)\{(?:"?(?:[$\w-]+)"?:"(?:Auto |Dark|Light|Monochrome)[^"]*",?)+\}/);return(!l||l.index==null)&&W(`patch: themes: objMatch not found — colors will still apply, theme name map unchanged`),{switchStatement:{startIndex:t,endIndex:n,identifiers:[r]},objArr:{startIndex:a,endIndex:o,identifiers:[s]},obj:l&&l.index!==void 0?{startIndex:l.index,endIndex:l.index+l[0].length,identifiers:[l[1]]}:null}}const ie=(e,t)=>{let n=re(e);if(!n)return null;if(t.length===0)return e;let r=e;if(n.obj){let i=(n.obj.identifiers?.[0]??`return`)+JSON.stringify(Object.fromEntries(t.map(e=>[e.id,e.name])));r=r.slice(0,n.obj.startIndex)+i+r.slice(n.obj.endIndex),F(e,r,i,n.obj.startIndex,n.obj.endIndex),e=r}let i=n.objArr.identifiers?.[0]??``,a=`[${t.map(e=>JSON.stringify({label:e.name,value:e.id})).join(`,`)}${i}]`;r=r.slice(0,n.objArr.startIndex)+a+r.slice(n.objArr.endIndex),F(e,r,a,n.objArr.startIndex,n.objArr.endIndex),e=r;let o=`switch(${n.switchStatement.identifiers?.[0]}){\n`;return t.forEach(e=>{o+=`case${JSON.stringify(e.id)}:return${JSON.stringify(e.colors)};\n`}),o+=`default:return${JSON.stringify(t[0].colors)};\n}`,r=r.slice(0,n.switchStatement.startIndex)+o+r.slice(n.switchStatement.endIndex),F(e,r,o,n.switchStatement.startIndex,n.switchStatement.endIndex),r},ae=`(+process.env.CLAUDE_CODE_CONTEXT_LIMIT||200000)`,oe=e=>{let t=/var ([\w$]+)=200000,([\w$]+)=200000,([\w$]+)=20000,([\w$]+)=32000,([\w$]+)=(128000|64000);/,n=e.match(t);if(n)return e.replace(t,`var ${n[1]}=${ae},${n[2]}=${ae},${n[3]}=20000,${n[4]}=32000,${n[5]}=${n[6]};`);let r=/var ([\w$]+)=200000,([\w$]+)=20000,([\w$]+)=32000,([\w$]+)=(128000|64000);/,i=e.match(r);return i?e.replace(r,`var ${i[1]}=${ae},${i[2]}=20000,${i[3]}=32000,${i[4]}=${i[5]};`):(console.error(`patch: contextLimit: failed to find context limit constants`),null)},se=(e,t)=>{if(!t)return e;let n=e,r=!1,i=n.match(/createElement\(([$\w]+),\{color:([$\w]+)\.bgColor\},"─"\.repeat\(([$\w]+)\)\)/);if(i){let e=i[1];n=n.replace(i[0],`createElement(${e},null,"")`);let t=RegExp(`createElement\\(${e},\\{color:${i[2]}\\.bgColor\\},${i[2]}\\.text\\?.+?"─"\\.repeat\\(${i[3]}\\)\\)`),a=n.match(t);a&&(n=n.replace(a[0],`createElement(${e},null,"")`)),r=!0}let a=n.match(/(borderColor:[$\w]+\(\),)borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",borderText:)/);a&&(n=n.replace(a[0],`${a[1]}borderStyle:undefined${a[2]}`),r=!0);let o=n.match(/borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%"\}.+?Save and close editor)/);return o&&(n=n.replace(o[0],`borderStyle:undefined${o[1]}`),r=!0),r?(F(e,n,`(input border removed)`,0,0),n):(console.error(`patch: input border: failed to find input border pattern`),null)},ce=e=>{let t=(e.match(/overrideMessage:[$\w]+,isCompacting:[$\w]+,compactingHintText:[$\w]+,compactingStartTime:[$\w]+,spinnerSuffix:[$\w]+,verbose:[$\w]+,.{300}/)||e.match(/spinnerTip:[$\w]+,(?:[$\w]+:[$\w]+,)*overrideMessage:[$\w]+,.{300}/)||e.match(/overrideMessage:[$\w]+,spinnerSuffix:[$\w]+,verbose:[$\w]+,.{300}/)||e.match(/pauseStartTimeRef:[$\w]+,spinnerSuffix:[$\w]+,verbose:[$\w]+,.{300}/))?.index,n=t===void 0?``:e.slice(t,t+2e4),r=n.match(/,([$\w]+)(=\(([^;]{1,200}?)\)\+"(?:…|\\u2026)")/);if(r&&r.index!=null)return{startIndex:t+r.index+r[1].length+1,endIndex:t+r.index+r[1].length+r[2].length+1,identifiers:[r[3]]};let i=/,([$\w]+)(=(\([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+\))\+"(?:…|\\u2026)")/,a=n.match(i);if(a&&a.index!=null)return{startIndex:t+a.index+a[1].length+1,endIndex:t+a.index+a[1].length+a[2].length+1,identifiers:[a[3]]};let o=n.match(/,([$\w]+)(=`\$\{([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+)\}(?:…|\\u2026) ?`)/);if(o&&o.index!=null)return{startIndex:t+o.index+o[1].length+1,endIndex:t+o.index+o[1].length+o[2].length+1,identifiers:[o[3]]};let s=new RegExp(i.source,`g`),c=[...e.matchAll(s)].filter(t=>{if(t.index==null)return!1;let n=e.slice(Math.max(0,t.index-2500),t.index+1e3);return n.includes(`overrideMessage:`)&&n.includes(`.activeForm`)&&n.includes(`.isIdle`)&&n.includes(`.spinnerVerb`)&&n.includes(`spinnerTip`)});if(c.length===1){let e=c[0];return{startIndex:e.index+e[1].length+1,endIndex:e.index+e[1].length+e[2].length+1,identifiers:[e[3]]}}return console.error(`patch: thinker format: failed to find formatMatch`),null},le=(e,t)=>{let n=ce(e);if(!n)return null;let r=n,i=K(t.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${")),a=r.identifiers?.[0],o=`=${"`"+i.replace(/\{\}/g,"${"+a+`}`)+"`"}`,s=e.slice(0,r.startIndex)+o+e.slice(r.endIndex);return F(e,s,o,r.startIndex,r.endIndex),s},ue=e=>{let t=e.match(/=\s*\[\.\.\.([$\w]+),\s*\.\.\.?\[\.\.\.\1\]\.reverse\(\)\]/);return!t||t.index==null?(console.error(`patch: thinker symbol mirror option: failed to find match`),null):{startIndex:t.index,endIndex:t.index+t[0].length,identifiers:[t[1]]}},de=(e,t)=>{let n=ue(e);if(!n)return null;let r=n.identifiers?.[0],i=t?`=[...${r},...[...${r}].reverse()]`:`=[...${r}]`,a=e.slice(0,n.startIndex)+i+e.slice(n.endIndex);return F(e,a,i,n.startIndex,n.endIndex),a},fe=(e,t)=>{let n=[],r=/\["(?:[·✢*✳✶✻✽]|\\u00b7|\\xb7|\\u2722|\\x2a|\\u002a|\\u2733|\\u2736|\\u273b|\\u273d)",\s*(?:"(?:[·✢*✳✶✻✽]|\\u00b7|\\xb7|\\u2722|\\x2a|\\u002a|\\u2733|\\u2736|\\u273b|\\u273d)",?\s*)+\]/gi,i;for(;(i=r.exec(e))!==null;)n.push({startIndex:i.index,endIndex:i.index+i[0].length});if(n.length===0)return console.error(`patch: thinkerSymbolChars: could not find any thinker symbol char arrays`),null;let a=K(JSON.stringify(t)),o=n.sort((e,t)=>t.startIndex-e.startIndex),s=e;for(let e=0;e<o.length;e++){let t=s.slice(0,o[e].startIndex)+a+s.slice(o[e].endIndex);F(s,t,a,o[e].startIndex,o[e].endIndex),s=t}return s},pe=(e,t)=>{let n=e.match(/(if\(![$\w]+\)\{[$\w]+\(4\);return\})(.{0,200})120\)/);if(!n||n.index===void 0)return console.error(`patch: thinkerSymbolSpeed: failed to find thinker symbol speed pattern`),null;let r=n[2]+t+`)`,i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},me=(e,t)=>{let n=/\{(ref:[$\w]+,)("aria-hidden":!0,)?flexWrap:"wrap",height:1,width:2(,children:[$\w]+)?\}/g,r=[],i;for(;(i=n.exec(e))!==null;)r.push({startIndex:i.index,endIndex:i.index+i[0].length,replacement:`{${i[1]}${i[2]??``}flexWrap:"wrap",height:1,width:${t}${i[3]??``}}`});if(r.length>0)return r;let a=e.match(/\{("aria-hidden":!0,)?flexWrap:"wrap",height:1,width:2\}/);return a&&a.index!=null?[{startIndex:a.index,endIndex:a.index+a[0].length,replacement:`{${a[1]??``}flexWrap:"wrap",height:1,width:${t}}`}]:null},he=(e,t)=>{let n=me(e,t);if(!n||n.length===0)return console.error(`patch: thinker symbol width: failed to find match`),null;let r=[...n].sort((e,t)=>t.startIndex-e.startIndex),i=e;for(let e of r){let t=i.slice(0,e.startIndex)+e.replacement+i.slice(e.endIndex);F(i,t,e.replacement,e.startIndex,e.endIndex),i=t}return i},ge=(e,t)=>{let n=e.match(/\[("[A-Z][a-z'é\-\\xA-F0-9]+in[g']",?){50,}\]/);if(!n||n.index===void 0)return console.error(`patch: thinkingVerbs: failed to find present tense verbs pattern`),null;let r=K(JSON.stringify(t)),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},_e=(e,t)=>{let n=e.match(/\[("[A-Z][a-z'é\-\\xA-F0-9]+ed",?){6,}\]/);if(!n||n.index===void 0)return console.error(`patch: thinkingVerbs: failed to find past tense verbs pattern`),null;let r=t.map(e=>e.replace(/ing$/,`ed`)),i=K(JSON.stringify(r)),a=n.index,o=a+n[0].length,s=e.slice(0,a)+i+e.slice(o);return F(e,s,i,a,o),s},ve=(e,t)=>{let n=ge(e,t);if(n===null)return null;let r=_e(n,t);return r===null?null:r},ye=e=>e.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),be=(e,t)=>{let n=zi(e);if(!n)return console.error(`patch: userMessageDisplay: failed to find Text component`),null;let r=Vi(e),i=R(e);if(!i)return console.error(`patch: userMessageDisplay: failed to find chalk variable`),null;let a=/(No content found in user prompt message.{0,250}?\b)([$\w]+(?:\.default)?\.createElement.{0,30}\b[$\w]+(?:\.default)?\.createElement.{0,40}">.+?)?(([$\w]+(?:\.default)?\.createElement).{0,200})(\([$\w]+,(?:\{[^{}]+wrap:"wrap"\},([$\w]+)(?:\.trim\(\))?\)\)|\{text:([$\w]+)[^}]*\}\)\)?))/,o=/(No content found in user prompt message[\s\S]{0,100}?;return )([$\w]+(?:\.default)?)\.createElement\(([$\w]+),(\{flexDirection:"column"[^{}]*\}),([$\w]+(?:\.default)?)\.createElement\(([$\w]+),\{text:([$\w]+)[^{}]*\}\)\)/,s=e.match(/(No content found in user prompt message[\s\S]{0,400}?\.jsx\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+\}\)[\s\S]{0,200}?([$\w]+)\.jsx\([$\w]+,)(\{flexDirection:"column"[^{}]*?)(,children:)([$\w]+)(\}\))/),c=s?null:e.match(o),l=s||c?null:e.match(/(No content found in user prompt message.{0,1200}?)([$\w]+)=([$\w]+(?:\.default)?\.createElement)\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+\}\)/),u=s||c||l?null:e.match(a);if(!s&&!c&&(!l||l.index===void 0)&&(!u||u.index===void 0))return console.error(`patch: userMessageDisplay: failed to find user message display pattern`),e;let d=e=>`(typeof ${e}==="object"&&${e}!==null?${e}.head+"\\n("+${e}.hiddenLines+" line"+(${e}.hiddenLines===1?"":"s")+" hidden)\\n"+${e}.tail:${e})`;if(s){let r=s[1],i=s[2],a=s[3],o=s[4],c=s[5],l=o.slice(1),u=/backgroundColor:[$\w]+/;if(t.backgroundColor===null)l=l.replace(RegExp(`,?${u.source}`),``).replace(/^,|,$/g,``);else if(t.backgroundColor!==`default`){let e=t.backgroundColor.match(/\d+/g);if(e){let t=`backgroundColor:"rgb(${e.join(`,`)})"`;l=u.test(l)?l.replace(u,t):l?`${l},${t}`:t}}let f=[];if(t.borderStyle!==`none`){if(t.borderStyle.startsWith(`topBottom`)){let e=``;t.borderStyle===`topBottomSingle`?e=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomDouble`?e=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomBold`&&(e=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),f.push(`borderStyle:${K(e)}`)}else f.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&f.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX!==`default`&&t.paddingX>0&&f.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&f.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&f.push(`alignSelf:"flex-start"`),f.length>0&&(l=l?`${l},${f.join(`,`)}`:f.join(`,`));let p=[];if(t.foregroundColor===`default`)p.push(`color:"text"`);else{let e=t.foregroundColor.match(/\d+/g);e&&p.push(`color:"rgb(${e.join(`,`)})"`)}if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);e&&p.push(`backgroundColor:"rgb(${e.join(`,`)})"`)}else t.backgroundColor===`default`&&p.push(`backgroundColor:"userMessageBackground"`);t.styling.includes(`bold`)&&p.push(`bold:!0`),t.styling.includes(`italic`)&&p.push(`italic:!0`),t.styling.includes(`underline`)&&p.push(`underline:!0`),t.styling.includes(`strikethrough`)&&p.push(`strikethrough:!0`),t.styling.includes(`inverse`)&&p.push(`inverse:!0`);let m=p.length>0?`${p.join(`,`)},`:``,h=d(i),g=`${a}.jsx(${n},{${m}children:${"`"+ye(t.format).replace(/\{\}/g,()=>"${"+h+`}`)+"`"}})`,_=r+`{${l}`+c+g+`})`,v=s.index,y=v+s[0].length,b=e.slice(0,v)+_+e.slice(y);return F(e,b,_,v,y),b}if(c){let r=c[1],i=c[2],a=c[3],o=c[4],s=c[5],l=c[7],u=o.slice(1,-1),f=/backgroundColor:[^,}]+(?:\?[^,}:]+:[^,}:]+)*/;if(t.backgroundColor===null)u=u.replace(RegExp(`,?${f.source}`),``).replace(/^,|,$/g,``);else if(t.backgroundColor!==`default`){let e=t.backgroundColor.match(/\d+/g);if(e){let t=`"rgb(${e.join(`,`)})"`;u=u.replace(/"userMessageBackground"/g,t)}}let p=[];if(t.borderStyle!==`none`){if(t.borderStyle.startsWith(`topBottom`)){let e=``;t.borderStyle===`topBottomSingle`?e=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomDouble`?e=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomBold`&&(e=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),p.push(`borderStyle:${K(e)}`)}else p.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&p.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX!==`default`&&t.paddingX>0&&p.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&p.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&p.push(`alignSelf:"flex-start"`),p.length>0&&(u=u?`${u},${p.join(`,`)}`:p.join(`,`));let m=`{${u}}`,h=[];if(t.foregroundColor===`default`)h.push(`color:"text"`);else{let e=t.foregroundColor.match(/\d+/g);e&&h.push(`color:"rgb(${e.join(`,`)})"`)}if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);e&&h.push(`backgroundColor:"rgb(${e.join(`,`)})"`)}else t.backgroundColor===`default`&&h.push(`backgroundColor:"userMessageBackground"`);t.styling.includes(`bold`)&&h.push(`bold:!0`),t.styling.includes(`italic`)&&h.push(`italic:!0`),t.styling.includes(`underline`)&&h.push(`underline:!0`),t.styling.includes(`strikethrough`)&&h.push(`strikethrough:!0`),t.styling.includes(`inverse`)&&h.push(`inverse:!0`);let g=h.length>0?`{${h.join(`,`)}}`:`null`,_=d(l),v=r+`${i}.createElement(${a},${m},${s}.createElement(${n},${g},${"`"+ye(t.format).replace(/\{\}/g,()=>"${"+_+`}`)+"`"}))`,y=c.index,b=y+c[0].length,x=e.slice(0,y)+v+e.slice(b);return F(e,x,v,y,b),x}if(!r)return console.error(`patch: userMessageDisplay: failed to find Box component`),null;let f=l??u,p=l?l[3]:u[4],m=l?l[4]:u[6]??u[7],h=[],g=t.borderStyle.startsWith(`topBottom`);if(t.borderStyle!==`none`){if(g){let e=``;t.borderStyle===`topBottomSingle`?e=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomDouble`?e=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:t.borderStyle===`topBottomBold`&&(e=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),h.push(`borderStyle:${K(e)}`)}else h.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&h.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX===`default`?h.push(`paddingRight:1`):t.paddingX>0&&h.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&h.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&h.push(`alignSelf:"flex-start"`);let _=i,v=[];if(t.foregroundColor!==`default`){let e=t.foregroundColor.match(/\d+/g);e&&(_+=`.rgb(${e.join(`,`)})`)}else v.push(`color:"text"`);if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);if(e){_+=`.bgRgb(${e.join(`,`)})`;let t=`"rgb(${e.join(`,`)})"`;h.push(`backgroundColor:${t}`),v.push(`backgroundColor:${t}`)}}else t.backgroundColor===`default`&&(h.push(`backgroundColor:"userMessageBackground"`),v.push(`backgroundColor:"userMessageBackground"`));t.styling.includes(`bold`)&&(_+=`.bold`),t.styling.includes(`italic`)&&(_+=`.italic`),t.styling.includes(`underline`)&&(_+=`.underline`),t.styling.includes(`strikethrough`)&&(_+=`.strikethrough`),t.styling.includes(`inverse`)&&(_+=`.inverse`);let y=d(m),b="`"+ye(t.format).replace(/\{\}/g,()=>"${"+y+`}`)+"`",x=`${_}(${b})`,S=h.length>0?`{${h.join(`,`)}}`:`null`,C=v.length>0?`{${v.join(`,`)}}`:`null`,w=l?`${l[2]}=`:``,T=f[1]+`${w}${p}(${r},${S},${p}(${n},${C},${x}))`,E=f.index,D=E+f[0].length,O=e.slice(0,E)+T+e.slice(D);return F(e,O,T,E,D),O},xe=(e,t)=>{let n=e;if(t.foregroundColor){let e=t.foregroundColor.match(/\d+/g);e&&(n+=`.rgb(${e.join(`,`)})`)}if(t.backgroundColor){let e=t.backgroundColor.match(/\d+/g);e&&(n+=`.bgRgb(${e.join(`,`)})`)}return t.styling.includes(`bold`)&&(n+=`.bold`),t.styling.includes(`italic`)&&(n+=`.italic`),t.styling.includes(`underline`)&&(n+=`.underline`),t.styling.includes(`strikethrough`)&&(n+=`.strikethrough`),t.styling.includes(`inverse`)&&(n+=`.inverse`),n},Se=e=>{let t=e.match(/(if\(([$\w]+)\.highlight\?\.color\))((return [$\w]+\.createElement\([$\w]+,\{key:[$\w]+),color:[$\w]+\.highlight\.color(\},[$\w]+\.createElement\([$\w]+,null,)([$\w]+\.text)(\)\)));/);if(t&&t.index!==void 0){let n=`${t[2]}.highlight.color(${t[6]})`,r=t[1]+`{if(typeof ${t[2]}.highlight.color==='function')`+t[4]+t[5]+n+t[7]+`;else `+t[3]+`}`,i=e.slice(0,t.index)+r+e.slice(t.index+t[0].length);return F(e,i,r,t.index,t.index+t[0].length),i}let n=/(return ([$\w]+)\.createElement\(([$\w]+),\{key:([$\w]+)),color:([$\w]+)\.highlight\?\.color,dimColor:\5\.highlight\?\.dimColor,inverse:\5\.highlight\?\.inverse\},(\2\.createElement\([$\w]+,null,\5\.text\))\)/,r=e.match(n);if(!r||r.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find highlight?.color renderer pattern`),null;let i=r[2],a=r[3],o=r[4],s=r[5];r[6];let c=RegExp(`if\\(${s.replace(`$`,`\\$`)}\\.highlight\\.color\\)return ([$\\w]+)\\.createElement\\([$\\w]+,\\{key:[$\\w]+\\},${s.replace(`$`,`\\$`)}\\.text\\.split\\(""\\)\\.map\\([^)]+\\)\\)`),l=e,u=l.match(c);if(u&&u.index!==void 0){let e=`if(typeof ${s}.highlight?.color==='function')return ${i}.createElement(${a},{key:${o}},${i}.createElement(${a},null,${s}.highlight.color(${s}.text)));`;l=l.slice(0,u.index)+e+l.slice(u.index)}let d=l.match(n);if(!d||d.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to re-find renderer after shimmer patch`),null;let f=d[2],p=d[3],m=d[4],h=d[5],g=d[6],_=`${h}.highlight?.style?${h}.highlight.style(${h}.text):${h}.text`,v=`return ${f}.createElement(${p},{key:${m},color:${h}.highlight?.style?void 0:${h}.highlight?.color,backgroundColor:${h}.highlight?.style?void 0:${h}.highlight?.backgroundColor,dimColor:${h}.highlight?.dimColor,inverse:${h}.highlight?.style?void 0:${h}.highlight?.inverse,bold:${h}.highlight?.style?void 0:${h}.highlight?.bold,italic:${h}.highlight?.style?void 0:${h}.highlight?.italic,underline:${h}.highlight?.style?void 0:${h}.highlight?.underline,strikethrough:${h}.highlight?.style?void 0:${h}.highlight?.strikethrough},${g.replace(`${h}.text`,_)})`,y=l.slice(0,d.index)+v+l.slice(d.index+d[0].length);return F(e,y,`shimmer guard + renderer`,0,0),y},Ce=(e,t,n)=>{let r=e.match(/((?:,|;let )[$\w]+=[$\w]+\.useMemo\(\(\)=>\{let [$\w]+=\[\];[\s\S]{0,2000}?)(if\([$\w]+&&[$\w]+&&![$\w]+\)([$\w]+)\.push\(\{start:[$\w]+,end:[$\w]+\+[$\w]+\.length,color:"warning",priority:\d+\})/);if(!r||r.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find useMemo/push pattern`),null;let i=r[3],a=r[1].match(/[^$\w]([$\w]+(?:\.default)?)\.useMemo\(/);if(!a)return console.error(`patch: inputPatternHighlighters: failed to extract React var from useMemo`),null;a[1];let o=Math.max(0,r.index-15e3),s=e.slice(o,r.index),c=/\binputValue:([$\w]+),/g,l=/\binput:([$\w]+),/g,u=[...s.matchAll(c)],d=[...s.matchAll(l)],f=u.at(-1)??d.at(-1)??null;if(!f)return console.error(`patch: inputPatternHighlighters: failed to find input variable pattern (looked for inputValue: and input:)`),null;let p=f[1],m=``;for(let e=0;e<n.length;e++){let r=n[e],a=xe(t,r),o=r.format??`{MATCH}`;JSON.stringify(o).replace(/\{MATCH\}/g,`"+x+"`);let s=r.foregroundColor;if(s){let e=s.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let[,t,n,r]=e.map(Number);s=`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}}let c=s?JSON.stringify(s):`undefined`,l=r.backgroundColor;if(l){let e=l.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let[,t,n,r]=e.map(Number);l=`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}}let u=l?JSON.stringify(l):null,d=r.styling??[],f=d.includes(`bold`),h=d.includes(`italic`),g=d.includes(`underline`),_=d.includes(`inverse`),v=d.includes(`dim`),y=d.includes(`strikethrough`),b=r.regex??r.pattern;if(!b){console.error(`patch: inputPatternHighlighters: highlighter "${r.name}" has no regex/pattern; skipping`);continue}let x=r.regexFlags??``;x.includes(`g`)||(x+=`g`);let S;try{S=new RegExp(b,x)}catch(e){console.error(`patch: inputPatternHighlighters: highlighter "${r.name}" has invalid regex; skipping`,e);continue}let C=ba(S);m+=`if(typeof ${p}==="string"){for(let m of ${p}.matchAll(${C})){${i}.push({start:m.index,end:m.index+m[0].length,color:${c}${u?`,backgroundColor:${u}`:``}${f?`,bold:!0`:``}${h?`,italic:!0`:``}${g?`,underline:!0`:``}${_?`,inverse:!0`:``}${v?`,dimColor:!0`:``}${y?`,strikethrough:!0`:``},style:(x)=>${a}(x),priority:100})}}`}if(!m)return console.error(`patch: inputPatternHighlighters: no usable highlighters generated (all skipped)`),null;let h=r[1]+m+r[2],g=e.slice(0,r.index),_=e.slice(r.index+r[0].length),v=g+``+h+_,y=v.indexOf(`for(let m of ${p}.matchAll(`);if(y>-1){let e=[...v.slice(Math.max(0,y-2e3),y).matchAll(/useMemo\(\(\)=>\{/g)];if(e.length>0){let t=Math.max(0,y-2e3)+e[e.length-1].index,n=v.slice(t),r=0;for(let e=0;e<n.length;e++)if(n[e]===`(`)r++;else if(n[e]===`)`&&(r--,r===0)){let n=t+e;v.slice(n-1,n)===`]`&&(v.slice(n-200,n).includes(`,${p}]`)||(v=v.slice(0,n-1)+`,${p}]`+v.slice(n)));break}}}return F(e,v,``+h,r.index,r.index+r[0].length),v},we=(e,t)=>{let n=t.filter(e=>e.enabled!==!1);if(n.length===0)return console.error(`patch: inputPatternHighlighters: no enabled highlighters provided`),null;let r=R(e);if(!r)return console.error(`patch: inputPatternHighlighters: failed to find chalk variable`),null;let i;return i=Se(e),i?(i=Ce(i,r,n),i||(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterCreation failed`),null)):(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterImpl failed`),null)},Te=e=>{let t=e.match(/(?:[$\w]+\.)?createElement\([$\w]+,\{(?=[^}]*responseLengthRef:)(?=[^}]*spinnerSuffix:)(?=[^}]*thinkingStatus:)(?=[^}]*isCompacting:)[^}]*verbose:[^,}]+[^}]*\}/);if(t&&t.index!==void 0){let e=t[0].match(/verbose:[^,}]+/);if(!e||e.index===void 0)return console.error(`patch: verbose: failed to find verbose property`),null;let n=t.index+e.index;return{startIndex:n,endIndex:n+e[0].length,replacement:`verbose:true`}}let n=e.match(/\{[^{}]{0,400}overrideMessage:[$\w]+,[^{}]{0,200}verbose:([$\w]+)[^{}]{0,200}\}\)\{/);if(n&&n.index!==void 0){let e=n[1],t=n.index+n[0].length;return{startIndex:t,endIndex:t,replacement:`${e}=!0;`}}return console.error(`patch: verbose: failed to find spinner props containing overrideMessage and verbose`),null},Ee=e=>{let t=Te(e);if(!t)return null;let n=e.slice(0,t.startIndex)+t.replacement+e.slice(t.endIndex);return F(e,n,t.replacement,t.startIndex,t.endIndex),n},De=e=>{let t=e.match(/if\s*\(\s*([$\w]+)\(\)\s*===\s*"opusplan"\s*&&\s*([$\w]+)\s*===\s*"plan"\s*&&\s*!([$\w]+)\s*\)\s*return\s*([$\w]+)\(\);/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchModeSwitchingFunction: failed to find mode switching pattern`),null;let[n,r,i,a,o]=t,s=`if((${r}()==="opusplan"||${r}()==="opusplan[1m]")&&${i}==="plan"&&!${a})return ${o}();`,c=e.slice(0,t.index)+s+e.slice(t.index+n.length);return F(e,c,s,t.index,t.index+n.length),c},Oe=e=>{let t=e.match(/(\["sonnet","opus","haiku",(?:"best",)?"sonnet\[1m\]",(?:"opus\[1m\]",)?"opusplan")/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchModelAliasesList: failed to find model aliases list`),null;let n=t[0]+`,"opusplan[1m]"`,r=e.slice(0,t.index)+n+e.slice(t.index+t[0].length);return F(e,r,n,t.index,t.index+t[0].length),r},ke=e=>{let t=e.match(/(if\s*\(\s*([$\w]+)\s*===\s*"opusplan"\s*\)\s*return\s*"([^"]*Opus[^"]*plan mode[^"]*Sonnet[^"]*)";)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchDescriptionFunction: failed to find description pattern`),null;let[n,,r,i]=t,a=n+`if(${r}==="opusplan[1m]")return"${i} (1M context)";`,o=e.slice(0,t.index)+a+e.slice(t.index+n.length);return F(e,o,a,t.index,t.index+n.length),o},Ae=e=>{let t=e.match(/(if\s*\(\s*([$\w]+)\s*===\s*"opusplan"\s*\)\s*return\s*"Opus Plan";)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchLabelFunction: failed to find label pattern`),null;let[n,,r]=t,i=n+`if(${r}==="opusplan[1m]")return"Opus Plan 1M";`,a=e.slice(0,t.index)+i+e.slice(t.index+n.length);return F(e,a,i,t.index,t.index+n.length),a},je=e=>{let t=e.match(/(if\s*\(\s*([$\w]+)\s*===\s*"opusplan"\s*\)\s*return\s*(?:[$\w]+\()?\[\s*\.\.\.([$\w]+)\s*,\s*([$\w]+)\(\)\s*\]\)?;)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchModelSelectorOptions: failed to find model selector pattern`),null;let[n,,r,i]=t,a=n.match(RegExp(`return\\s*([$\\w]+)\\(\\s*\\[\\.\\.\\.${U(i)}`)),o=a?a[1]:null,s=`{value:"opusplan[1m]",label:"Opus Plan Mode 1M",description:"Use Opus in plan mode, Sonnet (1M context) otherwise"}`,c=n+`if(${r}==="opusplan[1m]")return ${o?`${o}([...${i},${s}])`:`[...${i},${s}]`};`,l=e.slice(0,t.index)+c+e.slice(t.index+n.length);return F(e,l,c,t.index,t.index+n.length),l},Me=e=>{let t=e.match(/(if\s*\(\s*[$\w]+\s*===\s*null\s*\|\|\s*([$\w]+)\.some\s*\(\s*\(\s*[$\w]+\s*\)\s*=>\s*[$\w]+\.value\s*===\s*[$\w]+\s*\)\s*\)\s*return\s*(?:[$\w]+\()?[$\w]+\)?\s*;)/);if(!t||t.index===void 0)return console.error(`patch: opusplan1m: patchAlwaysShowInModelSelector: failed to find model list check pattern`),null;let[,,n]=t,r=`${n}.push({value:"opusplan",label:"Opus Plan Mode",description:"Use Opus in plan mode, Sonnet otherwise"});${n}.push({value:"opusplan[1m]",label:"Opus Plan Mode 1M",description:"Use Opus in plan mode, Sonnet (1M context) otherwise"});`,i=e.slice(0,t.index)+r+e.slice(t.index);return F(e,i,r,t.index,t.index),i},Ne=e=>{if(e.includes(`"opusplan[1m]"`))return console.log(`patch: opusplan1m: opusplan[1m] already supported natively — skipping`),e;let t=e,n=De(t);if(n)t=n;else return console.error(`patch: opusplan1m: failed to apply mode switching patch`),null;if(n=Oe(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model aliases list patch`),null;if(n=ke(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply description function patch`),null;if(n=Ae(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply label function patch`),null;if(n=je(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model selector options patch`),null;if(n=Me(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply always-show-in-selector patch`),null;return t},Pe=e=>{if(/case"thinking":\{(?:(?!case")[^]){0,600}isTranscriptMode:true/.test(e))return console.log(`patch: thinkingVisibility: already configured natively — skipping`),e;let t=e.match(/(case"thinking":\{?)(if\(.+?\)return null;)(.{0,400}isTranscriptMode:).+?,/);if(!t||t.index===void 0)return console.error(`patch: thinkingVisibility: failed to find thinking visibility pattern`),null;let n=t[1]+t[3]+`true,`,r=t.index,i=r+t[0].length,a=e.slice(0,r)+n+e.slice(i);return F(e,a,n,r,i),a},Fe=(e,t)=>{let n=e.match(/(agentType\s*:\s*"Plan"\s*,[\s\S]{1,2500}?\bmodel\s*:\s*")[^"]+(")/);if(!n||n.index===void 0)return console.error(`patch: subagentModels: failed to find Plan agent pattern`),null;let r=n[1].slice(0,-1)+JSON.stringify(t),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},Ie=(e,t)=>{let n=e.match(/(\{agentType\s*:\s*"Explore"\s*,[\s\S]{1,2500}?\bmodel\s*:\s*")[^"]+(")/);if(!n||n.index===void 0)return console.error(`patch: subagentModels: failed to find Explore agent pattern`),null;let r=n[1].slice(0,-1)+JSON.stringify(t),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return F(e,o,r,i,a),o},Le=(e,t)=>{let n=e.match(/([^$\w][$\w]+\s*=\s*\{agentType\s*:\s*"general-purpose"[\s\S]{0,2500}?)(\})/);if(!n||n.index===void 0)return console.error(`patch: subagentModels: failed to find general-purpose agent pattern`),null;let r=n[1],i=n[2],a;a=r.includes(`model:`)?r.replace(/(model\s*:\s*)"[^"]+"/,(e,n)=>n+JSON.stringify(t))+i:r+`${r.trim().endsWith(`,`)?``:`,`}model:`+JSON.stringify(t)+i;let o=n.index,s=o+n[0].length,c=e.slice(0,o)+a+e.slice(s);return F(e,c,a,o,s),c},Re=(e,t)=>{let n=e;if(t.plan){let e=Fe(n,t.plan);if(e===null)return null;n=e}if(t.explore){let e=Ie(n,t.explore);if(e===null)return null;n=e}if(t.generalPurpose){let e=Le(n,t.generalPurpose);if(e===null)return null;n=e}return n},ze=(e,t,n,r)=>`${e}.createElement(${t}, null, ${e}.createElement(${n}, {color: "success", bold: true}, "\\u2503 "), ${e}.createElement(${n}, {dimColor: true}, \` * ${K(r)}\`)),`,Be=e=>{let t=e.indexOf(`}.VERSION} (Claude Code)`);return t==-1?(console.error(`patch: patchesAppliedIndication: failed to find versionIndex`),null):{startIndex:0,endIndex:t+24}},Ve=e=>{let t=e.match(/([$\w]+)\.jsxs\(([$\w]+),\{children:\[(?:[^[\]]{0,200})," ",([$\w]+)\.jsxs\(([$\w]+),\{dimColor:!0,children:\["v",[$\w]+\]\}\)\]\}\)/);if(t&&t.index!==void 0)return{jsxInline:{insertIndex:t.index+t[0].length-3,helper:t[1],textComponent:t[2]}};let n=e.match(/createElement\(([$\w]+),\{bold:!0\},"Claude Code"\),([$\w]+)\[\d+\]=[$\w]+;else [$\w]+=([$\w]+)\[\d+\]/);if(!n||n.index===void 0)return console.error(`patch: patchesAppliedIndication: PATCH 2 failed to find bold Claude Code pattern`),null;let r=n[1],i=n.index+n[0].length,a=e.indexOf(`;`,i);if(a===-1)return null;let o=a+1,s=e.match(/[^$\w]([$\w]+)\.createElement\(([$\w]+),null,[$\w]+," ",([$\w]+)\.createElement\(([$\w]+),\{dimColor:!0\},"v",[$\w]+\)\)/);if(!s||s.index===void 0){let t=e.match(/[^$\w]([$\w]+)\.createElement\(([$\w]+),\{bold:!0\},"Claude Code"\)," ",([$\w]+)\.createElement\(([$\w]+),\{dimColor:!0\},"v",[$\w]+\)/);return!t||t.index===void 0?(console.error(`patch: patchesAppliedIndication: PATCH 2 failed to find version createElement`),null):{varInsertIndex:o,refInsertIndex:t.index+t[0].length,reactVar:t[1],textComponent:r}}return{varInsertIndex:o,refInsertIndex:s.index+s[0].length-1,reactVar:s[1],textComponent:r}},He=e=>{let t=e.match(/[,;){}\]]([$\w]+)=([$\w]+)\.jsxs\(([$\w]+),\{children:\[(?:[^[\]]{0,200})," ",[$\w]+\.jsxs\([$\w]+,\{dimColor:!0,children:\["v",[$\w]+\]\}\)/);if(!t||t.index===void 0)return null;let n=t[1],r=t.index,i=e.slice(r,r+4e3),a=RegExp(`[$\\w]+\\.jsxs\\([$\\w]+,\\{flexDirection:"column",children:\\[(?:[^[\\]]*?,)?${U(n)}[,\\]]`),o=i.match(a);if(!o||o.index===void 0)return null;let s=r+o.index,c=e.indexOf(`children:[`,s)+10;if(c<10)return null;let l=1,u=-1;for(let t=c;t<e.length;t++){let n=e[t];if(n===`[`)l++;else if(n===`]`&&(l--,l===0)){u=t;break}}return u===-1?null:{startIndex:u,endIndex:u}},Ue=e=>{let t=He(e);if(t)return t;let n=e.match(/"Claude Code".{0,200}\{dimColor:!0\},"v",[$\w]+\)/);if(!n||n.index===void 0)return console.error(`patch: patchesAppliedIndication: failed to find version display for patch 3`),null;let r={index:n.index},i=Math.max(0,r.index-5e3),a=e.slice(i,r.index),o=Array.from(a.matchAll(/[};]\s*function ([$\w]+)\(/g));if(o.length===0)return console.error(`patch: patchesAppliedIndication: failed to find header component function`),null;let s=o[o.length-1][1],c=RegExp(`[^$\\w]([$\\w]+)\\.createElement\\(${U(s)},null\\),?`),l=e.match(c);if(!l||l.index===void 0)return console.error(`patch: patchesAppliedIndication: failed to find createElement call for header`),null;let u=e.slice(Math.max(0,l.index-30),l.index+1).match(/([$\w]+)=(?:[$\w]+&&)?[^$\w]?$/);if(u){let t=u[1],n=e.slice(l.index,l.index+2e3),r=RegExp(`,${U(t)}([,\\)])`),i=n.match(r);if(i&&i.index!==void 0){let e=l.index+i.index+i[0].length-i[1].length;return{startIndex:e,endIndex:e}}}let d=l.index+l[0].length;return{startIndex:d,endIndex:d}},We=(e,t,n,r=!0,i=!0)=>{let a=Be(e);if(!a)return console.error(`patch: patchesAppliedIndication: failed to version output location`),null;let o=`\\n${t} (tweakcc-fixed)`,s=`}.VERSION} (Claude Code)`,c=e.replaceAll(s,s+o);F(e,c,o,a.endIndex,a.endIndex);let l=R(e);if(!l)return console.error(`patch: patchesAppliedIndication: failed to find chalk variable`),null;let u=zi(e);if(!u)return console.error(`patch: patchesAppliedIndication: failed to find text component`),null;let d=V(e);if(!d)return console.error(`patch: patchesAppliedIndication: failed to find React variable`),null;if(r){let e=c.match(/(\$\{([$\w]+)\("inactive",([$\w]+)\)\(`v\$\{[$\w]+\}`\)\}) `,/);if(e&&e.index!==void 0){let n=e[0],r=e[2],i=e[3],a=`${e[1]} \${${r}("warning",${i})("+ tweakcc v${t}")} \`,`;c=c.replace(n,a)}c=c.replace(/([$\w]+\("claude",[$\w]+\)\(" Claude Code) ("\))/,`$1 + tweakcc v${t} $2`);let n=Ve(c);if(!n)console.error(`patch: patchesAppliedIndication: patch 2 skipped (header version pattern changed)`);else if(`jsxInline`in n){let{insertIndex:e,helper:r,textComponent:i}=n.jsxInline,a=`," ",${r}.jsx(${i},{children:${l}.hex("#FF8400").bold("+ tweakcc v${t}")})`,o=c;c=c.slice(0,e)+a+c.slice(e),F(o,c,a,e,e)}else{let e=`let _tw=${n.reactVar}.createElement(${n.textComponent},null,${l}.hex("#FF8400").bold("+ tweakcc v${t}"));`,r=c;c=c.slice(0,n.varInsertIndex)+e+c.slice(n.varInsertIndex),F(r,c,e,n.varInsertIndex,n.varInsertIndex);let i=n.refInsertIndex+e.length,a=`," ",_tw`,o=c;c=c.slice(0,i)+a+c.slice(i),F(o,c,a,i,i)}}if(i){let e=Vi(c);if(!e)return console.error(`patch: patchesAppliedIndication: PATCH 3 skipped (Box component not located on this CC version)`),c;let t=c.match(/([$\w]+)=([$\w]+)\.jsxs\(([$\w]+),\{flexDirection:"row",gap:2,alignItems:"center",children:\[[$\w]+,[$\w]+\.jsxs\([$\w]+,\{flexDirection:"column",children:\[[$\w,]+\]\}\)\]\}\)/);if(t&&t.index!==void 0){let r=t[1],i=t[2],a=t[3],o=t[0].slice(r.length+1),s=[`${d}.createElement(${e}, { flexDirection: "column" },`,`${d}.createElement(${e}, null, ${d}.createElement(${u}, {color: "success", bold: true}, "\\u2503 "), ${d}.createElement(${u}, {color: "success", bold: true}, "\\u2713 tweakcc-fixed patches are applied")),`];for(let t of n)t=t.replace(`CHALK_VAR`,l),s.push(ze(d,e,u,t));s.push(`)`);let f=`${r}=${i}.jsxs(${a},{flexDirection:"column",children:[${o},${s.join(`
2
+ `)}]})`,p=c;c=c.slice(0,t.index)+f+c.slice(t.index+t[0].length),F(p,c,f,t.index,t.index+f.length)}else{let t=Ue(c);if(!t)console.log(`patch: patchesAppliedIndication: patch 3 skipped (see prior message)`);else{let r=[];r.push(`,${d}.createElement(${e}, { flexDirection: "column" },`),r.push(`${d}.createElement(${e}, null, ${d}.createElement(${u}, {color: "success", bold: true}, "\\u2503 "), ${d}.createElement(${u}, {color: "success", bold: true}, "\\u2713 tweakcc-fixed patches are applied")),`);for(let t of n)t=t.replace(`CHALK_VAR`,l),r.push(ze(d,e,u,t));r.push(`),`);let i=r.join(`
3
+ `);t.startIndex>0&&c[t.startIndex-1]===`,`&&i.startsWith(`,`)&&(i=i.slice(1)),i.endsWith(`,`)&&c[t.startIndex]===`,`&&(i=i.slice(0,-1));let a=c;c=c.slice(0,t.startIndex)+i+c.slice(t.endIndex),F(a,c,i,t.startIndex,t.endIndex)}}}return c};function Ge(){try{let e=v(import.meta.url),t=f.dirname(e);for(let e=0;e<5;e++){let e=f.join(t,`data`,`prompts`),n=f.join(t,`package.json`);if(s.existsSync(n)&&s.existsSync(e))return e;let r=f.dirname(t);if(r===t)break;t=r}}catch{}return null}async function Ke(e){let t=Ge();if(t){let n=f.join(t,`prompts-${e}.json`);try{let e=await a.readFile(n,`utf-8`);return JSON.parse(e)}catch{}}let n=f.join(Oa,`prompts-${e}.json`),r=async()=>{try{return JSON.parse(await a.readFile(n,`utf-8`))}catch{return null}},i=`https://raw.githubusercontent.com/skrabe/tweakcc-fixed/refs/heads/main/data/prompts/prompts-${e}.json`;try{let t=await fetch(i,{signal:AbortSignal.timeout(2e4)});if(!t.ok){let n=await r();if(n)return n;let i;throw i=t.status===429?`Rate limit exceeded. GitHub has temporarily blocked requests. Please wait a few minutes and try again.`:t.status===404?`Prompts file not found for Claude Code v${e}. The fork's version-bump pipeline hasn't published prompts for this release yet — check https://github.com/skrabe/tweakcc-fixed for status.`:t.status>=500?`GitHub server error (${t.status}). Please try again later.`:`HTTP ${t.status}: ${t.statusText}`,Error(i)}let o=JSON.parse(await xa(t));try{await a.mkdir(Oa,{recursive:!0}),await a.writeFile(n,JSON.stringify(o,null,2),`utf-8`)}catch(e){console.warn(`Failed to write to cache to ${n}: ${e}`)}return o}catch(t){let n=await r();if(n)return n;if(t instanceof Error){if(t.message.includes(`Rate limit`)||t.message.includes(`not found`)||t.message.includes(`server error`)||t.message.includes(`HTTP`))throw t;let n=`Failed to download prompts for version ${e}: ${t.message}`;throw Error(n)}throw t}}const qe=()=>f.join(J,`systemPromptOriginalHashes.json`),Je=()=>f.join(J,`systemPromptAppliedHashes.json`),Ye=(e,t)=>`${e}-${t}`,Xe=e=>h.createHash(`md5`).update(e.trim(),`utf8`).digest(`hex`),Ze=async e=>{try{return JSON.parse(await a.readFile(e,`utf8`))}catch(t){if(t instanceof Error&&`code`in t&&t.code===`ENOENT`)return{};if(t instanceof SyntaxError)return W(`${e} was not valid JSON — ignoring it and rebuilding.`),{};throw t}},Qe=async(e,t)=>{await a.mkdir(J,{recursive:!0});let n={};for(let e of Object.keys(t).sort())n[e]=t[e];let r=`${e}.tmp-${process.pid}`;try{await a.writeFile(r,JSON.stringify(n,null,2),`utf8`),await a.rename(r,e)}catch(e){try{await a.unlink(r)}catch{}throw e}},$e=async()=>Ze(qe()),et=async e=>Qe(qe(),e),tt=async e=>{let t=await $e(),n=0;for(let r of e.prompts){let e=Ye(r.id,r.version);t[e]||(t[e]=Xe(Dt(r.pieces,r.identifiers,r.identifierMap)),n++)}return await et(t),n},nt=async(e,t)=>(await $e())[Ye(e,t)],rt=async()=>Ze(Je()),it=async e=>Qe(Je(),e),at=async e=>{if(Object.keys(e).length===0)return;let t=await rt();for(let[n,r]of Object.entries(e))t[n]=r;await it(t)},ot=async()=>{let e=await rt(),t={};for(let n of Object.keys(e))t[n]=null;await it(t)},st=async e=>{try{let t=await rt();if(Object.keys(t).length===0)return!1;let n=(await a.readdir(e)).filter(e=>e.endsWith(`.md`));for(let r of n){let n=t[r.replace(`.md`,``)];if(n==null)continue;let i=f.join(e,r),o=await a.readFile(i,`utf8`);if(Xe((await import(`gray-matter`)).default(o,{delimiters:[`<!--`,`-->`]}).content)!==n)return!0}return!1}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return!1;throw e}},ct=(e,t)=>{let n=_(t,{delimiters:[`<!--`,`-->`]}),r=n.data,i=(n.content??``).replace(/^\n+/,``).replace(/\n+$/,``);return{id:e,name:typeof r.name==`string`?r.name:e,description:typeof r.description==`string`?r.description:``,ccVersion:typeof r.ccVersion==`string`?r.ccVersion:``,placeholders:Array.isArray(r.placeholders)?r.placeholders.filter(e=>typeof e==`string`):[],body:i,isSuppressed:i.trim().length===0}},lt=(e,t,n,r,i)=>{let a={name:e,description:t,ccVersion:n};return r.length>0&&(a.placeholders=r),_.stringify(i,a,{delimiters:[`<!--`,`-->`]})},ut=async e=>{let t=l.join(Da,`${e}.md`);try{return ct(e,await a.readFile(t,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}},dt=async(e,t,n,r,i,o)=>{let s=l.join(Da,`${e}.md`);try{return await a.stat(s),!1}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}return await a.mkdir(l.dirname(s),{recursive:!0}),await a.writeFile(s,lt(t,n,r,i,o)),!0},ft=(e,t)=>{let n=[],r=new Set(Object.keys(t)),i=/\{\{\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/g,a;for(;(a=i.exec(e))!==null;)r.has(a[1])||n.push(`unknown placeholder "{{${a[1]}}}"; allowed: ${[...r].map(e=>`{{${e}}}`).join(`, `)||`(none)`}`);if(n.length>0)return{result:``,errors:n};let o=e.split(i),s=``;for(let e=0;e<o.length;e++)e%2==0?s+=K(o[e].replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${")):s+=t[o[e]];return{result:s,errors:[]}},M=(e,t,n,r,i)=>{let a=e.match(t);if(!a||a.index===void 0)return i&&i(e)?e:(console.error(`patch: reminder ${r}: failed to find anchor`),null);let o=n(a),s=e.slice(0,a.index)+o+e.slice(a.index+a[0].length);return F(e,s,o,a.index,a.index+a[0].length),s},pt=(e,t,n)=>{let r=`case"${t}":{`,i=[],a=0;for(;;){let t=e.indexOf(r,a);if(t<0)break;i.push(t),a=t+r.length}if(i.length===0)return null;let o=i.find(t=>e.slice(t,t+2048).includes(n));if(o===void 0)return null;let s=o+r.length,c=1,l=s,u=!1,d=!1,f=!1,p=0;for(;l<e.length&&c>0;){let t=e[l],n=e[l-1];if(d)t===`\\`?l++:t===`'`&&(d=!1);else if(f)t===`\\`?l++:t===`"`&&(f=!1);else if(u)t===`\\`?l++:t==="`"&&p===0?u=!1:t===`$`&&e[l+1]===`{`?(p++,l++):t===`}`&&p>0&&p--;else if(t===`'`&&n!==`\\`)d=!0;else if(t===`"`&&n!==`\\`)f=!0;else if(t==="`"&&n!==`\\`)u=!0;else if(t===`{`)c++;else if(t===`}`&&(c--,c===0))return{headerIdx:o,bodyStart:s,bodyEnd:l};l++}return null},mt=e=>{let t=/return\s+[^;]*?([$\w]+)\(\[([$\w]+)\(\{content:/g,n=null,r;for(;(r=t.exec(e))!==null;)n=r;return n?{arrayWrap:n[1],msgCtor:n[2]}:{arrayWrap:`o5`,msgCtor:`j6`}},ht=e=>{let t=e.match(/^\s*if\(!([$\w]+)\(\)\)return\s*\[\]/);return t?t[1]:`GX`},gt=(e,t)=>{let n=e.match(RegExp(`([$\\w]+)\\.${t}\\b`));return n?n[1]:`H`},_t=[{id:`claudemd-context`,name:`claudeMd context wrapper`,description:`Per-turn <system-reminder> that bundles { claudeMd, userEmail, currentDate } into a 'As you answer the user's questions...' block. Empty .md body = suppress entirely.`,placeholders:{context_blocks:"${Object.entries(_).map(([q,K])=>`# ${q}\\n${K}`).join(`\\n`)}"},defaultBody:`As you answer the user's questions, you can use the following context:
3
4
  {{context_blocks}}
4
5
 
5
6
  IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.`,apply(e,t,n){let r=e.match(/function ([$\w]+)\(([$\w]+),([$\w]+)\)\{if\(Object\.entries\(\3\)\.length===0\)return \2;return\[([$\w]+)\(\{content:`<system-reminder>\n[\s\S]*?\n<\/system-reminder>\n`,isMeta:!0\}\),\.\.\.\2\]\}/);if(!r||r.index===void 0)return/function [$\w]+\([$\w]+,[$\w]+\)\{return [$\w]+;\}/.test(e)?e:(console.error(`patch: reminder claudemd-context: failed to find kY6 wrapper`),null);let[i,a,o,s,c]=r,l;l=n?`function ${a}(${o},${s}){return ${o};}`:`function ${a}(${o},${s}){if(Object.entries(${s}).length===0)return ${o};return[${c}({content:\`<system-reminder>\n${t.replace(/\bObject\.entries\(_\)/g,`Object.entries(${s})`)}\n</system-reminder>\n\`,isMeta:!0}),...${o}]}`;let u=e.slice(0,r.index)+l+e.slice(r.index+i.length);return F(e,u,l,r.index,r.index+i.length),u}},{id:`skills-listing`,name:`Skills listing reminder`,description:`The "The following skills are available..." block. Empty .md body = suppress entirely.`,placeholders:{skill_content:"${H.content}"},defaultBody:`The following skills are available for use with the Skill tool:
@@ -29,14 +30,14 @@ You have exited auto mode. The user may now want to interact more directly. You
29
30
  {{memory_content}}`,apply(e,t,n){return M(e,/nested_memory:\(([$\w]+)\)=>([$\w]+)\(\[([$\w]+)\(\{content:`Contents of \$\{\1\.content\.path\}:\n\n\$\{\1\.content\.content\}`,isMeta:!0\}\)\]\)/,e=>{let[,r,i,a]=e;return n?`nested_memory:(${r})=>[]`:`nested_memory:(${r})=>${i}([${a}({content:\`${t.replace(/\$\{H\.content\.path\}/g,`\${${r}.content.path}`).replace(/\$\{H\.content\.content\}/g,`\${${r}.content.content}`)}\`,isMeta:!0})])`},`nested-memory`,e=>/nested_memory:\([$\w]+\)=>\[\]/.test(e))}},{id:`agent-mention`,name:`Agent-mention nudge`,description:`Nudges Claude to invoke an agent when user @-mentions one. Conditional. Empty .md body = silent (model decides on its own).`,placeholders:{agent_type:"${H.agentType}"},defaultBody:`The user has expressed a desire to invoke the agent "{{agent_type}}". Please invoke the agent appropriately, passing in the required context to it. `,apply(e,t,n){return M(e,/agent_mention:\(([$\w]+)\)=>([$\w]+)\(\[([$\w]+)\(\{content:`The user has expressed a desire to invoke the agent "\$\{\1\.agentType\}"\. Please invoke the agent appropriately, passing in the required context to it\. `,isMeta:!0\}\)\]\)/,e=>{let[,r,i,a]=e;return n?`agent_mention:(${r})=>[]`:`agent_mention:(${r})=>${i}([${a}({content:\`${t.replace(/\$\{H\.agentType\}/g,`\${${r}.agentType}`)}\`,isMeta:!0})])`},`agent-mention`,e=>/agent_mention:\([$\w]+\)=>\[\]/.test(e))}},{id:`memory-update`,name:`Memory-update reminder`,description:`Fires after dream / consolidation writes new memory files. Conditional. Empty .md body = silent updates.`,placeholders:{source:"${YT3[H.source]}",summary:"${H.summary}",paths:'${H.paths.join(", ")}',in_context_paths:'${H.inContextPaths.join(", ")}'},defaultBody:`{{source}} updated your memory directory: {{summary}}
30
31
  Files changed: {{paths}}
31
32
  Your loaded copy of {{in_context_paths}} is now stale relative to disk — Read it again if you need current contents.
32
- This is ambient context — do not narrate it to the user unless they ask or it is directly relevant to their request.`,apply(e,t,n){let r=pt(e,`memory_update`,`updated your memory directory`);if(!r)return console.error(`patch: reminder memory-update: failed to find case body`),null;let{bodyStart:i,bodyEnd:a}=r,o=e.slice(i,a),{arrayWrap:s,msgCtor:c}=mt(o),l=gt(o,`summary`),u=o.match(/\$\{([$\w]+)\[/)?.[1]??`YT3`,d=t.replace(/\$\{YT3\[H\.source\]\}/g,`\${${u}[${l}.source]}`).replace(/\$\{H\./g,`\${${l}.`),f=n?`return [];`:`return ${s}([${c}({content:\`${d}\`,isMeta:!0})])`,p=e.slice(0,i)+f+e.slice(a);return F(e,p,f,i,a),p}},{id:`verify-plan-reminder`,name:`Verify-plan reminder`,description:`Fires after plan implementation completes, directing Claude to call a verification tool. Conditional. Empty .md body = no automatic verification nudge.`,placeholders:{plan_verifier_tool:"${J7}"},defaultBody:`You have completed implementing the plan. Please call the "" tool directly (NOT the {{plan_verifier_tool}} tool or an agent) to verify that all plan items were completed correctly.`,apply(e,t,n){let r=pt(e,`verify_plan_reminder`,`You have completed implementing the plan`);if(!r)return console.error(`patch: reminder verify-plan-reminder: failed to find case body`),null;let{bodyStart:i,bodyEnd:a}=r,o=e.slice(i,a),{arrayWrap:s,msgCtor:c}=mt(o),l=o.match(/\(NOT the \$\{([$\w]+)\} tool/)?.[1]??`J7`,u=t.replace(/\$\{J7\}/g,`\${${l}}`),d=n?`return [];`:`let K=\`${u}\`;return ${s}([${c}({content:K,isMeta:!0})])`,f=e.slice(0,i)+d+e.slice(a);return F(e,f,d,i,a),f}},{id:`token-usage`,name:`Token usage updater`,description:`Per-turn token usage status. Conditional (only some turns). Empty .md body = no telemetry leak into context.`,placeholders:{used:"${H.used}",total:"${H.total}",remaining:"${H.remaining}"},defaultBody:`Token usage: {{used}}/{{total}}; {{remaining}} remaining`,apply(e,t,n){return M(e,/token_usage:\(([$\w]+)\)=>\[([$\w]+)\(\{content:([$\w]+)\(`Token usage: \$\{\1\.used\}\/\$\{\1\.total\}; \$\{\1\.remaining\} remaining`\),isMeta:!0\}\)\]/,e=>{let[,r,i,a]=e;return n?`token_usage:(${r})=>[]`:`token_usage:(${r})=>[${i}({content:${a}(\`${t.replace(/\$\{H\.used\}/g,`\${${r}.used}`).replace(/\$\{H\.total\}/g,`\${${r}.total}`).replace(/\$\{H\.remaining\}/g,`\${${r}.remaining}`)}\`),isMeta:!0})]`},`token-usage`,e=>/token_usage:\([$\w]+\)=>\[\]/.test(e))}},{id:`budget-usd`,name:`USD budget updater`,description:`Per-turn USD budget status. Conditional. Empty .md body = no telemetry leak into context.`,placeholders:{used:"${H.used}",total:"${H.total}",remaining:"${H.remaining}"},defaultBody:"USD budget: ${{used}}/${{total}}; ${{remaining}} remaining",apply(e,t,n){return M(e,/budget_usd:\(([$\w]+)\)=>\[([$\w]+)\(\{content:([$\w]+)\(`USD budget: \$\$\{\1\.used\}\/\$\$\{\1\.total\}; \$\$\{\1\.remaining\} remaining`\),isMeta:!0\}\)\]/,e=>{let[,r,i,a]=e;return n?`budget_usd:(${r})=>[]`:`budget_usd:(${r})=>[${i}({content:${a}(\`${t.replace(/\$\{H\.used\}/g,`\${${r}.used}`).replace(/\$\{H\.total\}/g,`\${${r}.total}`).replace(/\$\{H\.remaining\}/g,`\${${r}.remaining}`)}\`),isMeta:!0})]`},`budget-usd`,e=>/budget_usd:\([$\w]+\)=>\[\]/.test(e))}},{id:`output-token-usage`,name:`Output-token usage updater`,description:`Per-turn output-token telemetry. Conditional. Empty .md body = no telemetry leak.`,placeholders:{turn:"${_}",session:"${gK(H.session)}"},defaultBody:`Output tokens — turn: {{turn}} · session: {{session}}`,apply(e,t,n){return M(e,/output_token_usage:\(([$\w]+)\)=>\{let ([$\w]+)=\1\.budget!==null\?`\$\{([$\w]+)\(\1\.turn\)\} \/ \$\{\3\(\1\.budget\)\}`:\3\(\1\.turn\);return\[([$\w]+)\(\{content:([$\w]+)\(`Output tokens \\u2014 turn: \$\{\2\} \\xB7 session: \$\{\3\(\1\.session\)\}`\),isMeta:!0\}\)\]\}/,e=>{let[,r,i,a,o,s]=e;return n?`output_token_usage:(${r})=>[]`:`output_token_usage:(${r})=>{let ${i}=${r}.budget!==null?\`\${${a}(${r}.turn)} / \${${a}(${r}.budget)}\`:${a}(${r}.turn);return[${o}({content:${s}(\`${t.replace(/\$\{_\}/g,`\${${i}}`).replace(/\$\{gK\(H\.session\)\}/g,`\${${a}(${r}.session)}`)}\`),isMeta:!0})]}`},`output-token-usage`,e=>/output_token_usage:\([$\w]+\)=>\[\]/.test(e))}},{id:`task-list-reminder`,name:`Task-list status reminder`,description:`Fires every turn while TaskList has entries. Wraps the current task list with reminder text about using TaskCreate. Empty .md = suppress entirely.`,shadows:[`system-reminder-task-tools-reminder`],placeholders:{tasks:"${q}"},defaultBody:"The task tools haven't been used to track work in this session yet. Now is a good time to consider whether the work warrants using them. Use this to demonstrate thoroughness, organize complex tasks, and avoid losing track of multi-step work (e.g. multi-bug fixes, feature implementations, etc). Don't use them on small or trivial tasks where they would feel intrusive.\n\nIf you've already started work without using the task tools, use `TaskCreate` to add tasks for the work you've already completed (with status `completed`) and a task for whatever you're currently working on (with status `in_progress`). Remember, in a single response, never have more than one task `in_progress` (the one you're actively working on) and you should mark a task as `completed` immediately after starting and finishing the work (don't wait until you're done). Also consider cleaning up the task list if it has become stale. Only use these if relevant to the current work. This is just a gentle reminder - ignore if not applicable.\n\nHere are the existing tasks:\n\n{{tasks}}",apply(e,t,n){let r=pt(e,`task_reminder`,`Here are the existing tasks`);if(!r)return console.error(`patch: reminder task-list-reminder: failed to find case body`),null;let{bodyStart:i,bodyEnd:a}=r,o=e.slice(i,a),{arrayWrap:s,msgCtor:c}=mt(o),l=ht(o),u=gt(o,`content`),d=n?`return [];`:`if(!${l}())return[];let q=${u}.content.map((O)=>\`#\${O.id}. [\${O.status}] \${O.subject}\`).join(\`\\n\`);return ${s}([${c}({content:\`${t}\`,isMeta:!0})])`,f=e.slice(0,i)+d+e.slice(a);return F(e,f,d,i,a),f}},{id:`task-notification-framing`,name:`Task-notification framing wrapper`,description:`The "[SYSTEM NOTIFICATION - NOT USER INPUT]" text wrapping background-task event content. Fires when a run_in_background completes/errors. Empty .md = no framing (just the content).`,placeholders:{content:"${H}"},defaultBody:`[SYSTEM NOTIFICATION - NOT USER INPUT]
33
+ This is ambient context — do not narrate it to the user unless they ask or it is directly relevant to their request.`,apply(e,t,n){let r=pt(e,`memory_update`,`updated your memory directory`);if(!r)return console.error(`patch: reminder memory-update: failed to find case body`),null;let{bodyStart:i,bodyEnd:a}=r,o=e.slice(i,a),{arrayWrap:s,msgCtor:c}=mt(o),l=gt(o,`summary`),u=o.match(/\$\{([$\w]+)\[/)?.[1]??`YT3`,d=t.replace(/\$\{YT3\[H\.source\]\}/g,`\${${u}[${l}.source]}`).replace(/\$\{H\./g,`\${${l}.`),f=n?`return [];`:`return ${s}([${c}({content:\`${d}\`,isMeta:!0})])`,p=e.slice(0,i)+f+e.slice(a);return F(e,p,f,i,a),p}},{id:`verify-plan-reminder`,name:`Verify-plan reminder`,description:`Fires after plan implementation completes, directing Claude to call a verification tool. Conditional. Empty .md body = no automatic verification nudge.`,placeholders:{plan_verifier_tool:"${J7}"},defaultBody:`You have completed implementing the plan. Please call the "" tool directly (NOT the {{plan_verifier_tool}} tool or an agent) to verify that all plan items were completed correctly.`,apply(e,t,n){let r=pt(e,`verify_plan_reminder`,`You have completed implementing the plan`);if(!r)return e.includes(`You have completed implementing the plan`)?(console.error(`patch: reminder verify-plan-reminder: failed to find case body`),null):e;let{bodyStart:i,bodyEnd:a}=r,o=e.slice(i,a),{arrayWrap:s,msgCtor:c}=mt(o),l=o.match(/\(NOT the \$\{([$\w]+)\} tool/)?.[1]??`J7`,u=t.replace(/\$\{J7\}/g,`\${${l}}`),d=n?`return [];`:`let K=\`${u}\`;return ${s}([${c}({content:K,isMeta:!0})])`,f=e.slice(0,i)+d+e.slice(a);return F(e,f,d,i,a),f}},{id:`token-usage`,name:`Token usage updater`,description:`Per-turn token usage status. Conditional (only some turns). Empty .md body = no telemetry leak into context.`,placeholders:{used:"${H.used}",total:"${H.total}",remaining:"${H.remaining}"},defaultBody:`Token usage: {{used}}/{{total}}; {{remaining}} remaining`,apply(e,t,n){return M(e,/token_usage:\(([$\w]+)\)=>\[([$\w]+)\(\{content:([$\w]+)\(`Token usage: \$\{\1\.used\}\/\$\{\1\.total\}; \$\{\1\.remaining\} remaining`\),isMeta:!0\}\)\]/,e=>{let[,r,i,a]=e;return n?`token_usage:(${r})=>[]`:`token_usage:(${r})=>[${i}({content:${a}(\`${t.replace(/\$\{H\.used\}/g,`\${${r}.used}`).replace(/\$\{H\.total\}/g,`\${${r}.total}`).replace(/\$\{H\.remaining\}/g,`\${${r}.remaining}`)}\`),isMeta:!0})]`},`token-usage`,e=>/token_usage:\([$\w]+\)=>\[\]/.test(e))}},{id:`budget-usd`,name:`USD budget updater`,description:`Per-turn USD budget status. Conditional. Empty .md body = no telemetry leak into context.`,placeholders:{used:"${H.used}",total:"${H.total}",remaining:"${H.remaining}"},defaultBody:"USD budget: ${{used}}/${{total}}; ${{remaining}} remaining",apply(e,t,n){return M(e,/budget_usd:\(([$\w]+)\)=>\[([$\w]+)\(\{content:([$\w]+)\(`USD budget: \$\$\{\1\.used\}\/\$\$\{\1\.total\}; \$\$\{\1\.remaining\} remaining`\),isMeta:!0\}\)\]/,e=>{let[,r,i,a]=e;return n?`budget_usd:(${r})=>[]`:`budget_usd:(${r})=>[${i}({content:${a}(\`${t.replace(/\$\{H\.used\}/g,`\${${r}.used}`).replace(/\$\{H\.total\}/g,`\${${r}.total}`).replace(/\$\{H\.remaining\}/g,`\${${r}.remaining}`)}\`),isMeta:!0})]`},`budget-usd`,e=>/budget_usd:\([$\w]+\)=>\[\]/.test(e))}},{id:`output-token-usage`,name:`Output-token usage updater`,description:`Per-turn output-token telemetry. Conditional. Empty .md body = no telemetry leak.`,placeholders:{turn:"${_}",session:"${gK(H.session)}"},defaultBody:`Output tokens — turn: {{turn}} · session: {{session}}`,apply(e,t,n){return M(e,/output_token_usage:\(([$\w]+)\)=>\{let ([$\w]+)=\1\.budget!==null\?`\$\{([$\w]+)\(\1\.turn\)\} \/ \$\{\3\(\1\.budget\)\}`:\3\(\1\.turn\);return\[([$\w]+)\(\{content:([$\w]+)\(`Output tokens \\u2014 turn: \$\{\2\} \\xB7 session: \$\{\3\(\1\.session\)\}`\),isMeta:!0\}\)\]\}/,e=>{let[,r,i,a,o,s]=e;return n?`output_token_usage:(${r})=>[]`:`output_token_usage:(${r})=>{let ${i}=${r}.budget!==null?\`\${${a}(${r}.turn)} / \${${a}(${r}.budget)}\`:${a}(${r}.turn);return[${o}({content:${s}(\`${t.replace(/\$\{_\}/g,`\${${i}}`).replace(/\$\{gK\(H\.session\)\}/g,`\${${a}(${r}.session)}`)}\`),isMeta:!0})]}`},`output-token-usage`,e=>/output_token_usage:\([$\w]+\)=>\[\]/.test(e))}},{id:`task-list-reminder`,name:`Task-list status reminder`,description:`Fires every turn while TaskList has entries. Wraps the current task list with reminder text about using TaskCreate. Empty .md = suppress entirely.`,shadows:[`system-reminder-task-tools-reminder`],placeholders:{tasks:"${q}"},defaultBody:"The task tools haven't been used to track work in this session yet. Now is a good time to consider whether the work warrants using them. Use this to demonstrate thoroughness, organize complex tasks, and avoid losing track of multi-step work (e.g. multi-bug fixes, feature implementations, etc). Don't use them on small or trivial tasks where they would feel intrusive.\n\nIf you've already started work without using the task tools, use `TaskCreate` to add tasks for the work you've already completed (with status `completed`) and a task for whatever you're currently working on (with status `in_progress`). Remember, in a single response, never have more than one task `in_progress` (the one you're actively working on) and you should mark a task as `completed` immediately after starting and finishing the work (don't wait until you're done). Also consider cleaning up the task list if it has become stale. Only use these if relevant to the current work. This is just a gentle reminder - ignore if not applicable.\n\nHere are the existing tasks:\n\n{{tasks}}",apply(e,t,n){let r=pt(e,`task_reminder`,`Here are the existing tasks`);if(!r)return console.error(`patch: reminder task-list-reminder: failed to find case body`),null;let{bodyStart:i,bodyEnd:a}=r,o=e.slice(i,a),{arrayWrap:s,msgCtor:c}=mt(o),l=ht(o),u=gt(o,`content`),d=n?`return [];`:`if(!${l}())return[];let q=${u}.content.map((O)=>\`#\${O.id}. [\${O.status}] \${O.subject}\`).join(\`\\n\`);return ${s}([${c}({content:\`${t}\`,isMeta:!0})])`,f=e.slice(0,i)+d+e.slice(a);return F(e,f,d,i,a),f}},{id:`task-notification-framing`,name:`Task-notification framing wrapper`,description:`The "[SYSTEM NOTIFICATION - NOT USER INPUT]" text wrapping background-task event content. Fires when a run_in_background completes/errors. Empty .md = no framing (just the content).`,placeholders:{content:"${H}"},defaultBody:`[SYSTEM NOTIFICATION - NOT USER INPUT]
33
34
  This is an automated background-task event, NOT a message from the user.
34
35
  Do NOT interpret this as user acknowledgement, confirmation, or response to any pending question.
35
36
 
36
37
  {{content}}`,apply(e,t,n){return M(e,/(case"task-notification":return|function [$\w]+\([$\w]+\)\{return)`\[SYSTEM NOTIFICATION - NOT USER INPUT\]\nThis is an automated background-task event, NOT a message from the user\.\nDo NOT interpret this as user acknowledgement, confirmation, or response to any pending question\.\n\n\$\{([$\w]+)\}`(;|\})/,e=>{let[,r,i,a]=e;return n?`${r}\`\${${i}}\`${a}`:`${r}\`${t.replace(/\$\{H\}/g,`\${${i}}`)}\`${a}`},`task-notification-framing`,e=>/case"task-notification":return`\$\{[$\w]+\}`;/.test(e))}},{id:`user-sent-new-message`,name:`User-sent-new-message wrapper`,description:`Wraps a user message that arrives mid-turn. Carries the "IMPORTANT: After completing your current task, you MUST address" framing. Empty .md = no wrapping (just the message text).`,placeholders:{message:"${H}"},defaultBody:`The user sent a new message while you were working:
37
38
  {{message}}
38
39
 
39
- IMPORTANT: After completing your current task, you MUST address the user's message above. Do not ignore it.`,apply(e,t,n){return M(e,/((?:case"auto-continuation":)?case"human":case void 0:(?:default:)?)return`(?:The user sent a new message while you were working:\n|\$\{[$\w]+\})\$\{([$\w]+)\}\n\nIMPORTANT: After completing your current task, you MUST address the user's message above\. Do not ignore it\.`/,e=>{let[,r,i]=e;return n?`${r}return\`\${${i}}\``:`${r}return\`${t.replace(/\$\{H\}/g,`\${${i}}`)}\``},`user-sent-new-message`,e=>/(?:case"auto-continuation":)?case"human":case void 0:(?:default:)?return`\$\{[$\w]+\}`/.test(e))}},{id:`stop-hook-session-goal`,name:`Stop-hook session-goal reminder`,description:`Fires when /goal sets a session-scoped stop hook. Carries the "do not pause to ask" framing. Empty .md = silent goal activation (just the condition value used internally).`,placeholders:{condition:"${H}"},defaultBody:'A session-scoped Stop hook is now active with condition: "{{condition}}". Briefly acknowledge the goal, then immediately start (or continue) working toward it — treat the condition itself as your directive and do not pause to ask the user what to do. The hook will block stopping until the condition holds. It auto-clears once the condition is met — do not tell the user to run `/goal clear` after success; that\'s only for clearing a goal early.',apply(e,t,n){return M(e,/([$\w]+)=\(([$\w]+)\)=>`A session-scoped Stop hook is now active with condition: "\$\{\2\}"\. Briefly acknowledge the goal, then immediately start \(or continue\) working toward it[\s\S]*?after success; that's only for clearing a goal early\.`/,e=>{let[,r,i]=e;return n?`${r}=(${i})=>""`:`${r}=(${i})=>\`${t.replace(/\$\{H\}/g,`\${${i}}`)}\``},`stop-hook-session-goal`,e=>/[$\w]+=\([$\w]+\)=>""/.test(e))}},{id:`mcp-per-server-router`,name:`MCP per-server instruction router`,description:`Patches CC's MCP instruction assembly to consult ~/.tweakcc/system-reminders/mcp-<server-name>.md at runtime. Empty body in that file drops the server's block. Body containing {{server_instructions}} resolves to the server's pristine instructions. Custom body replaces. THIS .md does nothing on its own — it just enables per-server .md files. Empty body = disable this routing (servers use pristine instructions verbatim).`,placeholders:{},defaultBody:`This file is a marker that enables per-MCP-server overrides. Edit per-server content in mcp-<server-name>.md alongside this file. Leave this file with content (any content) to enable routing; empty it to disable.`,apply(e,t,n){if(n)return e;let r=e.match(/for\(let ([$\w]+) of ([$\w]+)\)if\(\1\.instructions\)([$\w]+)\.set\(\1\.name,`## \$\{\1\.name\}\n\$\{\1\.instructions\}`\);/);if(!r||r.index===void 0)return e.includes(`__tweakccMcpOverride`)?e:(console.error(`patch: reminder mcp-per-server-router: failed to find MCP assembly loop`),null);let[i,a,o,s]=r,c=`function __tweakccMcpOverride(_n,_d){try{let _f=require('fs'),_p=require('os').homedir()+'/.tweakcc/system-reminders/mcp-'+_n+'.md';let _r=_f.readFileSync(_p,'utf8');let _m=_r.match(/-->\\s*([\\s\\S]*?)\\s*\$/);if(!_m)return _d;let _b=_m[1].trim();if(_b==='')return null;return _b.replace(/\\{\\{server_instructions\\}\\}/g,_d||'')}catch{return _d}}for(let ${a} of ${o}){let _c=__tweakccMcpOverride(${a}.name,${a}.instructions);if(_c)${s}.set(${a}.name,\`## \${${a}.name}\n\${_c}\`)}`,l=e.slice(0,r.index)+c+e.slice(r.index+i.length);return F(e,l,c,r.index,r.index+i.length),l}}],vt=async()=>{let e=[l.join(n.homedir(),`.claude.json`),l.join(n.homedir(),`.claude`,`mcp.json`)];for(let t of e)try{let e=await a.readFile(t,`utf8`),n=JSON.parse(e);if(n.mcpServers&&typeof n.mcpServers==`object`)return Object.keys(n.mcpServers)}catch{}return[]},yt=async(e,t)=>{let n=[],r=e,i=await vt();for(let e of i)await dt(`mcp-${e}`,`MCP server: ${e}`,`Instructions block content for MCP server "${e}". {{server_instructions}} expands at runtime to the server's pristine instructions. Empty body drops the server's block from the model's context. Custom body replaces it.`,t,[`server_instructions`],`{{server_instructions}}`);for(let e of _t){let i=await dt(e.id,e.name,e.description,t,Object.keys(e.placeholders),e.defaultBody),a=await ut(e.id);if(!a){n.push({id:e.id,name:e.name,description:e.description,state:`default`,applied:!1,failed:!1,skipped:!0,details:`override file missing after ensure (unexpected)`});continue}let{result:o,errors:s}=ft(a.body,e.placeholders);if(s.length>0){n.push({id:e.id,name:e.name,description:e.description,state:`override`,applied:!1,failed:!0,skipped:!1,details:s.join(`; `)});continue}let c=e.apply(r,o,a.isSuppressed);if(c===null){n.push({id:e.id,name:e.name,description:e.description,state:a.isSuppressed?`suppressed`:`override`,applied:!1,failed:!0,skipped:!1,details:`patch function returned null`});continue}let l=c!==r;r=c;let u;u=a.isSuppressed?`suppressed`:a.body===e.defaultBody.trim()?`default`:`override`,n.push({id:e.id,name:e.name,description:e.description,state:u,applied:l,failed:!1,skipped:!1,details:i?`seeded default file`:void 0})}return{content:r,results:n}};let bt=null;const xt=async()=>{if(bt)return bt;let e=new Set,t=[Z,Da];for(let n of t){let t;try{t=await a.readdir(n)}catch{continue}if(Array.isArray(t))for(let r of t){if(!r.endsWith(`.md`))continue;let t;try{t=await a.readFile(f.join(n,r),`utf8`)}catch{continue}let i=_(t,{delimiters:[`<!--`,`-->`]}).data?.shadows;if(Array.isArray(i))for(let t of i)typeof t==`string`&&t&&e.add(t)}}for(let t of _t)if(Array.isArray(t.shadows))for(let n of t.shadows)typeof n==`string`&&n&&e.add(n);return bt=e,e};let St=null;const Ct=async()=>{if(St)return St;let e=new Set,t=Ge();if(t){let n;try{n=await a.readdir(t)}catch{n=[]}for(let r of n)if(!(!r.startsWith(`prompts-`)||!r.endsWith(`.json`)))try{let n=await a.readFile(f.join(t,r),`utf8`),i=JSON.parse(n);for(let t of i.prompts??[])for(let n of Object.values(t.identifierMap??{}))n&&e.add(n)}catch{continue}}if(e.size===0)try{let t=await import(`./identifierUnion-CqfoGx_F.mjs`);for(let n of t.IDENTIFIER_UNION)e.add(n)}catch{}return St=e,e},wt=e=>{let t=_(e,{delimiters:[`<!--`,`-->`]}),{name:n,description:r,ccVersion:i,variables:a}=t.data,o=0,s=e.indexOf(t.content);return s>=0&&(o=e.slice(0,s).split(`
40
+ IMPORTANT: After completing your current task, you MUST address the user's message above. Do not ignore it.`,apply(e,t,n){return M(e,/((?:case"auto-continuation":)?case"human":case void 0:(?:default:)?)return`(?:The user sent a new message while you were working:\n|\$\{[$\w]+\})\$\{([$\w]+)\}\n\nIMPORTANT: After completing your current task, you MUST address the user's message above\. Do not ignore it\.`/,e=>{let[,r,i]=e;return n?`${r}return\`\${${i}}\``:`${r}return\`${t.replace(/\$\{H\}/g,`\${${i}}`)}\``},`user-sent-new-message`,e=>/(?:case"auto-continuation":)?case"human":case void 0:(?:default:)?return`\$\{[$\w]+\}`/.test(e))}},{id:`stop-hook-session-goal`,name:`Stop-hook session-goal reminder`,description:`Fires when /goal sets a session-scoped stop hook. Carries the "do not pause to ask" framing. Empty .md = silent goal activation (just the condition value used internally).`,placeholders:{condition:"${H}"},defaultBody:'A session-scoped Stop hook is now active with condition: "{{condition}}". Briefly acknowledge the goal, then immediately start (or continue) working toward it — treat the condition itself as your directive and do not pause to ask the user what to do. The hook will block stopping until the condition holds. It auto-clears once the condition is met — do not tell the user to run `/goal clear` after success; that\'s only for clearing a goal early.',apply(e,t,n){return M(e,/([$\w]+)=\(([$\w]+)\)=>`A session-scoped Stop hook is now active with condition: "\$\{\2\}"\. Briefly acknowledge the goal, then immediately start \(or continue\) working toward it[\s\S]*?after success; that's only for clearing a goal early\.`/,e=>{let[,r,i]=e;return n?`${r}=(${i})=>""`:`${r}=(${i})=>\`${t.replace(/\$\{H\}/g,`\${${i}}`)}\``},`stop-hook-session-goal`,e=>/[$\w]+=\([$\w]+\)=>""/.test(e))}},{id:`mcp-per-server-router`,name:`MCP per-server instruction router`,description:`Patches CC's MCP instruction assembly to consult ~/.tweakcc/system-reminders/mcp-<server-name>.md at runtime. Empty body in that file drops the server's block. Body containing {{server_instructions}} resolves to the server's pristine instructions. Custom body replaces. THIS .md does nothing on its own — it just enables per-server .md files. Empty body = disable this routing (servers use pristine instructions verbatim).`,placeholders:{},defaultBody:`This file is a marker that enables per-MCP-server overrides. Edit per-server content in mcp-<server-name>.md alongside this file. Leave this file with content (any content) to enable routing; empty it to disable.`,apply(e,t,n){if(n)return e;let r=e.match(/for\(let ([$\w]+) of ([$\w]+)\)if\(\1\.instructions\)([$\w]+)\.set\(\1\.name,`## \$\{\1\.name\}\n\$\{\1\.instructions\}`\);/);if(!r||r.index===void 0)return e.includes(`__tweakccMcpOverride`)?e:(console.error(`patch: reminder mcp-per-server-router: failed to find MCP assembly loop`),null);let[i,a,o,s]=r,c=`function __tweakccMcpOverride(_n,_d){try{let _f=require('fs'),_p=require('os').homedir()+'/.tweakcc/system-reminders/mcp-'+_n+'.md';let _r=_f.readFileSync(_p,'utf8');let _m=_r.match(/-->\\s*([\\s\\S]*?)\\s*\$/);if(!_m)return _d;let _b=_m[1].trim();if(_b==='')return null;return _b.replace(/\\{\\{server_instructions\\}\\}/g,_d||'')}catch{return _d}}for(let ${a} of ${o}){let _c=__tweakccMcpOverride(${a}.name,${a}.instructions);if(_c)${s}.set(${a}.name,\`## \${${a}.name}\n\${_c}\`)}`,l=e.slice(0,r.index)+c+e.slice(r.index+i.length);return F(e,l,c,r.index,r.index+i.length),l}}],vt=async()=>{let e=[l.join(n.homedir(),`.claude.json`),l.join(n.homedir(),`.claude`,`mcp.json`)];for(let t of e)try{let e=await a.readFile(t,`utf8`),n=JSON.parse(e);if(n.mcpServers&&typeof n.mcpServers==`object`)return Object.keys(n.mcpServers)}catch{}return[]},yt=async(e,t)=>{let n=[],r=e,i=await vt();for(let e of i)await dt(`mcp-${e}`,`MCP server: ${e}`,`Instructions block content for MCP server "${e}". {{server_instructions}} expands at runtime to the server's pristine instructions. Empty body drops the server's block from the model's context. Custom body replaces it.`,t,[`server_instructions`],`{{server_instructions}}`);for(let e of _t){let i=await dt(e.id,e.name,e.description,t,Object.keys(e.placeholders),e.defaultBody),a=await ut(e.id);if(!a){n.push({id:e.id,name:e.name,description:e.description,state:`default`,applied:!1,failed:!1,skipped:!0,details:`override file missing after ensure (unexpected)`});continue}let{result:o,errors:s}=ft(a.body,e.placeholders);if(s.length>0){n.push({id:e.id,name:e.name,description:e.description,state:`override`,applied:!1,failed:!0,skipped:!1,details:s.join(`; `)});continue}let c=e.apply(r,o,a.isSuppressed);if(c===null){n.push({id:e.id,name:e.name,description:e.description,state:a.isSuppressed?`suppressed`:`override`,applied:!1,failed:!0,skipped:!1,details:`patch function returned null`});continue}let l=c!==r;r=c;let u;u=a.isSuppressed?`suppressed`:a.body===e.defaultBody.trim()?`default`:`override`,n.push({id:e.id,name:e.name,description:e.description,state:u,applied:l,failed:!1,skipped:!1,details:i?`seeded default file`:void 0})}return{content:r,results:n}};let bt=null;const xt=async()=>{if(bt)return bt;let e=new Set,t=[Z,Da];for(let n of t){let t;try{t=await a.readdir(n)}catch{continue}if(Array.isArray(t))for(let r of t){if(!r.endsWith(`.md`))continue;let t;try{t=await a.readFile(f.join(n,r),`utf8`)}catch{continue}let i=_(t,{delimiters:[`<!--`,`-->`]}).data?.shadows;if(Array.isArray(i))for(let t of i)typeof t==`string`&&t&&e.add(t)}}for(let t of _t)if(Array.isArray(t.shadows))for(let n of t.shadows)typeof n==`string`&&n&&e.add(n);return bt=e,e};let St=null;const Ct=async()=>{if(St)return St;let e=new Set,t=Ge();if(t){let n;try{n=await a.readdir(t)}catch{n=[]}for(let r of n)if(!(!r.startsWith(`prompts-`)||!r.endsWith(`.json`)))try{let n=await a.readFile(f.join(t,r),`utf8`),i=JSON.parse(n);for(let t of i.prompts??[])for(let n of Object.values(t.identifierMap??{}))n&&e.add(n)}catch{continue}}if(e.size===0)try{let t=await import(`./identifierUnion-BVAzioVU.mjs`);for(let n of t.IDENTIFIER_UNION)e.add(n)}catch{}return St=e,e},wt=e=>{let t=_(e,{delimiters:[`<!--`,`-->`]}),{name:n,description:r,ccVersion:i,variables:a}=t.data,o=0,s=e.indexOf(t.content);return s>=0&&(o=e.slice(0,s).split(`
40
41
  `).length-1),{name:n||``,description:r||``,ccVersion:i||``,variables:a||[],content:t.content,contentLineOffset:o}},Tt=(e,t,n)=>{let r=t||Dt(e.pieces,e.identifiers,e.identifierMap),i=Object.keys(e.identifierMap).length>0?[...new Set(Object.values(e.identifierMap))]:void 0,a={name:e.name,description:e.description,ccVersion:e.version};if(i&&i.length>0&&(a.variables=i),n)for(let[e,t]of Object.entries(n))e in a||(a[e]=t);return _.stringify(r,a,{delimiters:[`<!--`,`-->`]})},Et=async e=>{let t={};try{let n=N(e),r=_(await a.readFile(n,`utf8`),{delimiters:[`<!--`,`-->`]}),i=new Set([`name`,`description`,`ccVersion`,`variables`]);for(let[e,n]of Object.entries(r.data))i.has(e)||(t[e]=n)}catch{}return t},Dt=(e,t,n)=>{let r=``;for(let i=0;i<e.length;i++)if(r+=e[i],i<t.length){let e=t[i],a=n[String(e)]||`UNKNOWN_${e}`;r+=a}return r},Ot=(e,t)=>{let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++){let t=n[e]||0,i=r[e]||0;if(t<i)return-1;if(t>i)return 1}return 0},N=e=>f.join(Z,`${e}.md`),kt=async e=>{try{return await a.access(N(e)),!0}catch{return!1}},At=async e=>{let t=N(e);return wt(await a.readFile(t,`utf-8`))},jt=async(e,t)=>{let n=N(e);await a.writeFile(n,t,`utf-8`)},Mt=async(e,t)=>{let n=N(e),r=await a.readFile(n,`utf-8`),i=_(r,{delimiters:[`<!--`,`-->`]}),o=Object.keys(t).length>0?[...new Set(Object.values(t))]:void 0,s=new Set([`name`,`description`,`ccVersion`,`variables`]),c={name:i.data.name,description:i.data.description,ccVersion:i.data.ccVersion};o&&o.length>0&&(c.variables=o);for(let[e,t]of Object.entries(i.data))s.has(e)||(c[e]=t);let l=_.stringify(i.content,c,{delimiters:[`<!--`,`-->`]});l!==r&&await jt(e,l)},Nt=(e,t)=>{let n=e=>e.split(/(\s+)/),r=n(e),i=n(t),a=r.length,o=i.length,s=Array(a+1).fill(0).map(()=>Array(o+1).fill(0));for(let e=1;e<=a;e++)for(let t=1;t<=o;t++)r[e-1]===i[t-1]?s[e][t]=s[e-1][t-1]+1:s[e][t]=Math.max(s[e-1][t],s[e][t-1]);let c=Array(a).fill(!1),l=Array(o).fill(!1),u=a,d=o;for(;u>0||d>0;)u>0&&d>0&&r[u-1]===i[d-1]?(u--,d--):d>0&&(u===0||s[u][d-1]>=s[u-1][d])?(l[d-1]=!0,d--):u>0&&(c[u-1]=!0,u--);let f=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`),p=``;for(let e=0;e<r.length;e++){let t=f(r[e]);p+=c[e]?`<mark>${t}</mark>`:t}let m=``;for(let e=0;e<i.length;e++){let t=f(i[e]);m+=l[e]?`<mark>${t}</mark>`:t}return{oldHtml:p,newHtml:m}},Pt=(e,t)=>{let n=e.length,r=t.length,i=Array(n+1).fill(0).map(()=>Array(r+1).fill(0));for(let a=1;a<=n;a++)for(let n=1;n<=r;n++)e[a-1]===t[n-1]?i[a][n]=i[a-1][n-1]+1:i[a][n]=Math.max(i[a-1][n],i[a][n-1]);let a=[],o=n,s=r,c=[];for(;o>0||s>0;)o>0&&s>0&&e[o-1]===t[s-1]?(c.unshift({type:`unchanged`,line:e[o-1],oldLineNo:o,newLineNo:s}),o--,s--):s>0&&(o===0||i[o][s-1]>=i[o-1][s])?(c.unshift({type:`added`,line:t[s-1],newLineNo:s}),s--):o>0&&(c.unshift({type:`removed`,line:e[o-1],oldLineNo:o}),o--);for(let e=0;e<c.length;e++){let t=c[e],n=c[e+1];if(t.type===`removed`&&n?.type===`added`){let r=Nt(t.line,n.line);a.push({type:`modified`,line:t.line,oldLineNo:t.oldLineNo,newLineNo:n.newLineNo,oldHtml:r.oldHtml,newHtml:r.newHtml}),e++}else a.push(t)}return a},Ft=async(e,t,n,r,i,o,s,c)=>{let l=n.split(`
41
42
  `),u=r.split(`
42
43
  `),d=i.split(`
@@ -1,4 +1,4 @@
1
- import{C as e,S as t,f as n,h as r,it as i,k as a,l as o,n as s,nt as c,p as l,r as u,rt as ee,u as d}from"./config-Cm8OeFpK.mjs";import{Box as f,Text as p,render as m,useInput as h}from"ink";import g,{useState as _}from"react";import*as te from"node:os";import v from"node:os";import*as y from"node:fs/promises";import b from"node:fs/promises";import x from"path";import{jsx as S,jsxs as C}from"react/jsx-runtime";import w from"which";import{globbySync as T}from"globby";const E=(()=>{let e=[],t=process.platform==`win32`?v.homedir().replace(/\\/g,`/`):v.homedir(),n=`node_modules/@anthropic-ai/claude-code`,r=(t,n=!1)=>{if(n)try{let n=T(t,{onlyFiles:!1});e.push({pattern:t,isGlob:!0,expandedPaths:n})}catch(n){n instanceof Error&&`code`in n&&(n.code===`EACCES`||n.code===`EPERM`)?l(`Permission denied accessing: ${t} (${n.code})`):l(`Error expanding glob pattern "${t}": ${n instanceof Error?n.message:String(n)}`),e.push({pattern:t,isGlob:!0,expandedPaths:[]})}else e.push({pattern:t,isGlob:!1,expandedPaths:[t]})};return r(`${v.homedir()}/.claude/local/${n}`),process.env.NPM_PREFIX&&r(`${process.env.NPM_PREFIX}/lib/${n}`),process.env.N_PREFIX&&r(`${process.env.N_PREFIX}/lib/${n}`),process.env.VOLTA_HOME&&r(`${process.env.VOLTA_HOME}/lib/${n}`),process.env.FNM_DIR&&r(`${process.env.FNM_DIR}/lib/${n}`),process.env.NVM_DIR&&r(`${process.env.NVM_DIR}/lib/${n}`),process.env.NODENV_ROOT&&r(`${process.env.NODENV_ROOT}/versions/*/lib/${n}`,!0),process.env.NVS_HOME&&r(`${process.env.NVS_HOME}/node/*/*/lib/${n}`,!0),process.env.ASDF_DATA_DIR&&r(`${process.env.ASDF_DATA_DIR}/installs/nodejs/*/lib/${n}`,!0),process.platform==`win32`?(r(`${t}/AppData/Local/Volta/tools/image/packages/@anthropic-ai/claude-code/${n}`),r(`${t}/AppData/Roaming/npm/${n}`),r(`${t}/AppData/Roaming/nvm/*/${n}`,!0),r(`${t}/AppData/Local/Yarn/config/global/${n}`),r(`${t}/AppData/Local/pnpm/global/*/${n}`,!0),r(`C:/nvm4w/nodejs/${n}`),r(`${t}/n/versions/node/*/lib/${n}`,!0),r(`${t}/AppData/Roaming/Yarn/config/global/${n}`),r(`${t}/AppData/Roaming/pnpm-global/${n}`),r(`${t}/AppData/Roaming/pnpm-global/*/${n}`,!0),r(`${t}/.bun/install/global/${n}`),r(`${t}/.bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/AppData/Local/Bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/AppData/Local/fnm_multishells/*/node_modules/${n}`,!0),r(`${t}/AppData/Local/mise/installs/node/*/${n}`,!0),r(`${t}/AppData/Local/mise/installs/npm-anthropic-ai-claude-code/*/${n}`,!0)):(process.platform==`darwin`&&(r(`${t}/Library/${n}`),r(`/opt/local/lib/${n}`),r(`${t}/.bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/Library/Caches/bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0)),r(`${t}/.local/lib/${n}`),r(`${t}/.local/share/${n}`),r(`${t}/.npm-global/lib/${n}`),r(`${t}/.npm-packages/lib/${n}`),r(`${t}/.npm/lib/${n}`),r(`${t}/npm/lib/${n}`),r(`/etc/${n}`),r(`/lib/${n}`),r(`/opt/node/lib/${n}`),r(`/usr/lib/${n}`),r(`/usr/local/lib/${n}`),r(`/usr/share/${n}`),r(`/var/lib/${n}`),r(`/opt/homebrew/lib/${n}`),r(`${t}/.linuxbrew/lib/${n}`),r(`${t}/.config/yarn/global/${n}`),r(`${t}/.yarn/global/${n}`),r(`${t}/.bun/install/global/${n}`),r(`${t}/.pnpm-global/${n}`),r(`${t}/.pnpm-global/*/${n}`,!0),r(`${t}/pnpm-global/${n}`),r(`${t}/pnpm-global/*/${n}`,!0),r(`${t}/.local/share/pnpm/global/${n}`),r(`${t}/.local/share/pnpm/global/*/${n}`,!0),r(`${t}/.bun/install/global/${n}`),r(`${t}/.bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/.local/share/bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`/usr/local/n/versions/node/*/lib/${n}`,!0),r(`${t}/n/versions/node/*/lib/${n}`,!0),r(`${t}/n/lib/${n}`),r(`${t}/.volta/tools/image/node/*/lib/${n}`,!0),r(`${t}/.fnm/node-versions/*/installation/lib/${n}`,!0),r(`${t}/.local/state/fnm_multishells/*/lib/${n}`,!0),r(`/usr/local/nvm/versions/node/*/lib/${n}`,!0),r(`/usr/local/share/nvm/versions/node/*/lib/${n}`,!0),r(`${t}/.nvm/versions/node/*/lib/${n}`,!0),r(`${t}/.nodenv/versions/*/lib/${n}`,!0),r(`${t}/.nvs/*/lib/${n}`,!0),r(`${t}/.asdf/installs/nodejs/*/lib/${n}`,!0),process.env.MISE_DATA_DIR&&r(`${process.env.MISE_DATA_DIR}/installs/node/*/lib/${n}`,!0),r(`${t}/.local/share/mise/installs/node/*/lib/${n}`,!0),process.env.MISE_DATA_DIR&&r(`${process.env.MISE_DATA_DIR}/installs/npm-anthropic-ai-claude-code/*/lib/${n}`,!0),r(`${t}/.local/share/mise/installs/npm-anthropic-ai-claude-code/*/lib/${n}`,!0)),process.platform==`win32`&&e.forEach(e=>{e.pattern=e.pattern.replace(/\//g,`\\`),e.expandedPaths=e.expandedPaths.map(e=>e.replace(/\//g,`\\`))}),e})().flatMap(e=>e.expandedPaths),ne=(()=>{let e=process.platform===`win32`?v.homedir().replace(/\\/g,`/`):v.homedir(),t=[],n=(e,n=!1)=>{if(n)try{let n=T(e,{onlyFiles:!0});t.push({pattern:e,isGlob:!0,expandedPaths:n})}catch(n){n instanceof Error&&`code`in n&&(n.code===`EACCES`||n.code===`EPERM`)?l(`Permission denied accessing: ${e} (${n.code})`):l(`Error expanding glob pattern "${e}": ${n instanceof Error?n.message:String(n)}`),t.push({pattern:e,isGlob:!0,expandedPaths:[]})}else t.push({pattern:e,isGlob:!1,expandedPaths:[e]})};if(n(`${e}/.local/bin/claude`),process.platform===`win32`&&(n(`${e}/.nvm/versions/node/v22.21.1/lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe`),n(`${e}/.local/bin/claude.exe`)),n(`${e}/.local/share/claude/versions/*`,!0),process.platform!==`win32`){let t=`lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe`,r=process.env.MISE_DATA_DIR||`${e}/.local/share/mise`;n(`${r}/installs/node/*/${t}`,!0),n(`${r}/installs/npm-anthropic-ai-claude-code/*/${t}`,!0)}return process.platform===`win32`&&t.forEach(e=>{e.pattern=e.pattern.replace(/\//g,`\\`),e.expandedPaths=e.expandedPaths.map(e=>e.replace(/\//g,`\\`))}),t})().flatMap(e=>e.expandedPaths);var D=class extends Error{constructor(e){super(e),this.name=`InstallationDetectionError`}};let O=null;async function re(){return O||=(async()=>{try{let{WASMagic:e}=await import(`wasmagic`);return await e.create()}catch(e){return l(`WASMagic initialization failed (likely SIMD unsupported on this CPU):`,e),l(`Using fallback file type detection`),null}})(),O}const ie=Buffer.from([127,69,76,70]),ae=Buffer.from([254,237,250,206]),oe=Buffer.from([254,237,250,207]),se=Buffer.from([206,250,237,254]),k=Buffer.from([207,250,237,254]),A=Buffer.from([202,254,186,190]),j=Buffer.from([77,90]);function M(e){if(e.length===0)return null;if(e[0]===35&&e[1]===33&&e.subarray(0,Math.min(256,e.length)).toString(`utf8`).split(`
1
+ import{C as e,S as t,f as n,h as r,it as i,k as a,l as o,n as s,nt as c,p as l,r as u,rt as ee,u as d}from"./config-kk3YRRVD.mjs";import{Box as f,Text as p,render as m,useInput as h}from"ink";import g,{useState as _}from"react";import*as te from"node:os";import v from"node:os";import*as y from"node:fs/promises";import b from"node:fs/promises";import x from"path";import{jsx as S,jsxs as C}from"react/jsx-runtime";import w from"which";import{globbySync as T}from"globby";const E=(()=>{let e=[],t=process.platform==`win32`?v.homedir().replace(/\\/g,`/`):v.homedir(),n=`node_modules/@anthropic-ai/claude-code`,r=(t,n=!1)=>{if(n)try{let n=T(t,{onlyFiles:!1});e.push({pattern:t,isGlob:!0,expandedPaths:n})}catch(n){n instanceof Error&&`code`in n&&(n.code===`EACCES`||n.code===`EPERM`)?l(`Permission denied accessing: ${t} (${n.code})`):l(`Error expanding glob pattern "${t}": ${n instanceof Error?n.message:String(n)}`),e.push({pattern:t,isGlob:!0,expandedPaths:[]})}else e.push({pattern:t,isGlob:!1,expandedPaths:[t]})};return r(`${v.homedir()}/.claude/local/${n}`),process.env.NPM_PREFIX&&r(`${process.env.NPM_PREFIX}/lib/${n}`),process.env.N_PREFIX&&r(`${process.env.N_PREFIX}/lib/${n}`),process.env.VOLTA_HOME&&r(`${process.env.VOLTA_HOME}/lib/${n}`),process.env.FNM_DIR&&r(`${process.env.FNM_DIR}/lib/${n}`),process.env.NVM_DIR&&r(`${process.env.NVM_DIR}/lib/${n}`),process.env.NODENV_ROOT&&r(`${process.env.NODENV_ROOT}/versions/*/lib/${n}`,!0),process.env.NVS_HOME&&r(`${process.env.NVS_HOME}/node/*/*/lib/${n}`,!0),process.env.ASDF_DATA_DIR&&r(`${process.env.ASDF_DATA_DIR}/installs/nodejs/*/lib/${n}`,!0),process.platform==`win32`?(r(`${t}/AppData/Local/Volta/tools/image/packages/@anthropic-ai/claude-code/${n}`),r(`${t}/AppData/Roaming/npm/${n}`),r(`${t}/AppData/Roaming/nvm/*/${n}`,!0),r(`${t}/AppData/Local/Yarn/config/global/${n}`),r(`${t}/AppData/Local/pnpm/global/*/${n}`,!0),r(`C:/nvm4w/nodejs/${n}`),r(`${t}/n/versions/node/*/lib/${n}`,!0),r(`${t}/AppData/Roaming/Yarn/config/global/${n}`),r(`${t}/AppData/Roaming/pnpm-global/${n}`),r(`${t}/AppData/Roaming/pnpm-global/*/${n}`,!0),r(`${t}/.bun/install/global/${n}`),r(`${t}/.bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/AppData/Local/Bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/AppData/Local/fnm_multishells/*/node_modules/${n}`,!0),r(`${t}/AppData/Local/mise/installs/node/*/${n}`,!0),r(`${t}/AppData/Local/mise/installs/npm-anthropic-ai-claude-code/*/${n}`,!0)):(process.platform==`darwin`&&(r(`${t}/Library/${n}`),r(`/opt/local/lib/${n}`),r(`${t}/.bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/Library/Caches/bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0)),r(`${t}/.local/lib/${n}`),r(`${t}/.local/share/${n}`),r(`${t}/.npm-global/lib/${n}`),r(`${t}/.npm-packages/lib/${n}`),r(`${t}/.npm/lib/${n}`),r(`${t}/npm/lib/${n}`),r(`/etc/${n}`),r(`/lib/${n}`),r(`/opt/node/lib/${n}`),r(`/usr/lib/${n}`),r(`/usr/local/lib/${n}`),r(`/usr/share/${n}`),r(`/var/lib/${n}`),r(`/opt/homebrew/lib/${n}`),r(`${t}/.linuxbrew/lib/${n}`),r(`${t}/.config/yarn/global/${n}`),r(`${t}/.yarn/global/${n}`),r(`${t}/.bun/install/global/${n}`),r(`${t}/.pnpm-global/${n}`),r(`${t}/.pnpm-global/*/${n}`,!0),r(`${t}/pnpm-global/${n}`),r(`${t}/pnpm-global/*/${n}`,!0),r(`${t}/.local/share/pnpm/global/${n}`),r(`${t}/.local/share/pnpm/global/*/${n}`,!0),r(`${t}/.bun/install/global/${n}`),r(`${t}/.bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`${t}/.local/share/bun/install/cache/@anthropic-ai/claude-code*@@@*`,!0),r(`/usr/local/n/versions/node/*/lib/${n}`,!0),r(`${t}/n/versions/node/*/lib/${n}`,!0),r(`${t}/n/lib/${n}`),r(`${t}/.volta/tools/image/node/*/lib/${n}`,!0),r(`${t}/.fnm/node-versions/*/installation/lib/${n}`,!0),r(`${t}/.local/state/fnm_multishells/*/lib/${n}`,!0),r(`/usr/local/nvm/versions/node/*/lib/${n}`,!0),r(`/usr/local/share/nvm/versions/node/*/lib/${n}`,!0),r(`${t}/.nvm/versions/node/*/lib/${n}`,!0),r(`${t}/.nodenv/versions/*/lib/${n}`,!0),r(`${t}/.nvs/*/lib/${n}`,!0),r(`${t}/.asdf/installs/nodejs/*/lib/${n}`,!0),process.env.MISE_DATA_DIR&&r(`${process.env.MISE_DATA_DIR}/installs/node/*/lib/${n}`,!0),r(`${t}/.local/share/mise/installs/node/*/lib/${n}`,!0),process.env.MISE_DATA_DIR&&r(`${process.env.MISE_DATA_DIR}/installs/npm-anthropic-ai-claude-code/*/lib/${n}`,!0),r(`${t}/.local/share/mise/installs/npm-anthropic-ai-claude-code/*/lib/${n}`,!0)),process.platform==`win32`&&e.forEach(e=>{e.pattern=e.pattern.replace(/\//g,`\\`),e.expandedPaths=e.expandedPaths.map(e=>e.replace(/\//g,`\\`))}),e})().flatMap(e=>e.expandedPaths),ne=(()=>{let e=process.platform===`win32`?v.homedir().replace(/\\/g,`/`):v.homedir(),t=[],n=(e,n=!1)=>{if(n)try{let n=T(e,{onlyFiles:!0});t.push({pattern:e,isGlob:!0,expandedPaths:n})}catch(n){n instanceof Error&&`code`in n&&(n.code===`EACCES`||n.code===`EPERM`)?l(`Permission denied accessing: ${e} (${n.code})`):l(`Error expanding glob pattern "${e}": ${n instanceof Error?n.message:String(n)}`),t.push({pattern:e,isGlob:!0,expandedPaths:[]})}else t.push({pattern:e,isGlob:!1,expandedPaths:[e]})};if(n(`${e}/.local/bin/claude`),process.platform===`win32`&&(n(`${e}/.nvm/versions/node/v22.21.1/lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe`),n(`${e}/.local/bin/claude.exe`)),n(`${e}/.local/share/claude/versions/*`,!0),process.platform!==`win32`){let t=`lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe`,r=process.env.MISE_DATA_DIR||`${e}/.local/share/mise`;n(`${r}/installs/node/*/${t}`,!0),n(`${r}/installs/npm-anthropic-ai-claude-code/*/${t}`,!0)}return process.platform===`win32`&&t.forEach(e=>{e.pattern=e.pattern.replace(/\//g,`\\`),e.expandedPaths=e.expandedPaths.map(e=>e.replace(/\//g,`\\`))}),t})().flatMap(e=>e.expandedPaths);var D=class extends Error{constructor(e){super(e),this.name=`InstallationDetectionError`}};let O=null;async function re(){return O||=(async()=>{try{let{WASMagic:e}=await import(`wasmagic`);return await e.create()}catch(e){return l(`WASMagic initialization failed (likely SIMD unsupported on this CPU):`,e),l(`Using fallback file type detection`),null}})(),O}const ie=Buffer.from([127,69,76,70]),ae=Buffer.from([254,237,250,206]),oe=Buffer.from([254,237,250,207]),se=Buffer.from([206,250,237,254]),k=Buffer.from([207,250,237,254]),A=Buffer.from([202,254,186,190]),j=Buffer.from([77,90]);function M(e){if(e.length===0)return null;if(e[0]===35&&e[1]===33&&e.subarray(0,Math.min(256,e.length)).toString(`utf8`).split(`
2
2
  `)[0].includes(`node`))return l(`detectFileTypeFallback: Detected JavaScript via shebang`),`javascript`;if(e.length>=4){let t=e.subarray(0,4);if(t.equals(ie))return l(`detectFileTypeFallback: Detected ELF binary`),`binary`;if(t.equals(ae)||t.equals(oe)||t.equals(se)||t.equals(k)||t.equals(A))return l(`detectFileTypeFallback: Detected Mach-O binary`),`binary`}if(e.length>=2&&e.subarray(0,2).equals(j))return l(`detectFileTypeFallback: Detected PE binary`),`binary`;let t=Math.min(512,e.length),n=0,r=0;for(let i=0;i<t;i++){let t=e[i];(t>=32&&t<=126||t===9||t===10||t===13)&&n++,t===0&&r++}if(r>0)return l(`detectFileTypeFallback: Detected binary (${r} null bytes in first ${t} bytes)`),`binary`;let i=n/t;return i>.9?(l(`detectFileTypeFallback: Detected JavaScript via text heuristic (${Math.round(i*100)}% printable)`),`javascript`):(l(`detectFileTypeFallback: Unknown file type (${Math.round(i*100)}% printable)`),null)}async function N(e,t=4096){try{let n=await b.open(e,`r`);try{let e=Buffer.allocUnsafe(t),{bytesRead:r}=await n.read({buffer:e,position:0,length:t});return r<=0?null:e.subarray(0,r)}finally{await n.close()}}catch(e){return l(`Failed to read file prefix:`,e),null}}async function P(e){if(process.platform===`win32`)return e;let t=await i(e);return t?(l(`maybeResolveNixWrapper: resolved Nix wrapper ${e} -> ${t}`),t):e}async function F(e){try{let t=await b.realpath(e);l(`resolvePathToInstallationType: ${e} -> ${t}`);let n=await N(t);if(!n)return l(`resolvePathToInstallationType: Could not read file prefix`),null;let r=await re();if(r&&typeof r.detect==`function`){let e=r.detect(n)||null;if(e){let n=e.toLowerCase();return l(`resolvePathToInstallationType: Detected mime type: ${n}`),n.includes(`javascript`)?{kind:`npm-based`,resolvedPath:t}:n.startsWith(`text/`)?(l(`resolvePathToInstallationType: Unrecognized file type`),null):{kind:`native-binary`,resolvedPath:await P(t)}}}l(`resolvePathToInstallationType: Using fallback file type detection`);let i=M(n);return i===`javascript`?{kind:`npm-based`,resolvedPath:t}:i===`binary`?{kind:`native-binary`,resolvedPath:await P(t)}:(l(`resolvePathToInstallationType: Fallback could not determine file type`),null)}catch(e){return l(`resolvePathToInstallationType: Error:`,e),null}}async function I(){l(`getClaudeFromPath: PATH = ${process.env.PATH}`),l(`getClaudeFromPath: PATHEXT = ${process.env.PATHEXT}`);try{let e=await w(`claude`);return l(`getClaudeFromPath: Found claude at ${e}`),e}catch{return l(`getClaudeFromPath: claude not found on PATH`),null}}function L(e){let t=/\bVERSION:"(\d+\.\d+\.\d+)"/g,n=new Map,r;for(;(r=t.exec(e))!==null;){let e=r[1];n.set(e,(n.get(e)||0)+1)}if(n.size===0)return null;let i=0,a;for(let[e,t]of n.entries())l(`Found version ${e} with ${t} occurrences`),t>i&&(i=t,a=e);return a&&l(`Extracted version ${a} (${i} occurrences)`),a||null}async function R(e){let t=L(await b.readFile(e,`utf8`));if(!t)throw Error(`No VERSION strings found in JS file: ${e}`);return t}async function z(e){let{data:t,error:n}=await c(e);if(!t)throw Error(`Could not extract JS from native binary: ${e}${n?` (${n})`:``}`);let r=L(t.toString(`utf8`));if(!r)throw Error(`No VERSION strings found in extracted JS from: ${e}`);return r}function B(e){let t=x.basename(e).match(/^(\d+\.\d+\.\d+)$/);return t?t[1]:null}async function V(e,t){let n=B(e);return n?(l(`extractVersion: Got version ${n} from filename`),n):t===`npm-based`?R(e):z(e)}async function H(){let e=[],t=new Set;for(let n of E){let i=x.join(n,`cli.js`);try{if(await r(i)){let n=await b.realpath(i).catch(()=>i);if(t.has(n))continue;t.add(n),l(`collectCandidates: Found cli.js at ${n}`);let r=await R(n);e.push({path:n,kind:`npm-based`,version:r})}}catch(e){l(`collectCandidates: Error checking ${i}:`,e)}}for(let n of ne)try{if(await r(n)){let r=await b.realpath(n).catch(()=>n);if(t.has(r))continue;t.add(r);let i=await P(r);l(`collectCandidates: Found native binary at ${r}${i===r?``:` (resolved -> ${i})`}`);let a=await V(i,`native-binary`);e.push({path:i,kind:`native-binary`,version:a})}}catch(e){l(`collectCandidates: Error checking ${n}:`,e)}return[...e].sort((e,t)=>n(t.version,e.version))}function U(e){return e.map(e=>` • ${e.path} (${e.kind}, v${e.version})`).join(`
3
3
  `)}function W(e){return` 2. Set ccInstallationPath in your config file (${u}):
4
4