tweakcc-fixed 2.8.19 → 2.8.21

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
@@ -6,7 +6,7 @@
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/tweakcc-fixed?color=cb3837&label=npm&logo=npm&style=flat-square)](https://www.npmjs.com/package/tweakcc-fixed)
8
8
  [![downloads](https://img.shields.io/npm/dt/tweakcc-fixed?color=cb3837&style=flat-square)](https://www.npmjs.com/package/tweakcc-fixed)
9
- [![Claude Code](https://img.shields.io/badge/Claude%20Code-2.0.98%20%E2%86%92%202.1.273-d97757?style=flat-square)](https://github.com/anthropics/claude-code)
9
+ [![Claude Code](https://img.shields.io/badge/Claude%20Code-2.0.98%20%E2%86%92%202.1.276-d97757?style=flat-square)](https://github.com/anthropics/claude-code)
10
10
  [![license](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](#credit--license)
11
11
 
12
12
  **[Install](#install) · [Customize](#what-you-can-customize) · [The fork](#what-this-fork-adds) · [How it works](#how-it-works)**
@@ -57,8 +57,8 @@ The biggest difference is coverage. Its extractor pulls over ten times the promp
57
57
 
58
58
  | | tweakcc-fixed | upstream |
59
59
  | ---------------------------- | :-----------: | :-------: |
60
- | Prompt sites (CC 2.1.273) | **7,925** | 710 |
61
- | Unique prompt IDs | **7,155** | 690 |
60
+ | Prompt sites (CC 2.1.276) | **8,235** | 725 |
61
+ | Unique prompt IDs | **7,822** | 725 |
62
62
  | Patches | **60** | 45 |
63
63
  | Overrides on native installs | **yes** | gated off |
64
64
 
@@ -1,4 +1,4 @@
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,{createReadStream as l}from"node:fs";import*as u from"node:path";import d from"node:path";import*as f from"fs";import*as p from"path";import*as m from"os";import*as h from"child_process";import*as g from"crypto";import{spawnSync as _}from"node:child_process";import v from"gray-matter";import{fileURLToPath as y}from"node:url";import{Worker as b}from"node:worker_threads";import{diffWordsWithSpace as x}from"diff";import*as S from"node:crypto";let C=null;async function w(){if(C!==null)return C;try{return await import(`node-lief`),C=await import(`./nativeInstallation-Bv1Mq9zp.mjs`),C}catch(e){return J(`Error loading native installation module: ${e instanceof Error?e.message:String(e)}`),e instanceof Error&&J(e),null}}async function T(e,t){let n=await w();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 E(e,t,n,r){let i=await w();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 D(e){let t=await w();return t?t.resolveNixBinaryWrapper(e):null}const O=`You are a difficulty router for an AI coding agent. Each turn you get a compact running SUMMARY of the session, a CONTEXT block (the model in use and the level you assigned last turn), the most recent exchange (the previous user message and the assistant reply), and the user NEW message. Do two things and output ONLY a JSON object with the keys level and summary - no prose, no code fence.
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,{createReadStream as l}from"node:fs";import*as u from"node:path";import d from"node:path";import*as f from"fs";import*as p from"path";import*as m from"os";import*as h from"child_process";import*as g from"crypto";import{spawnSync as _}from"node:child_process";import v from"gray-matter";import{fileURLToPath as y}from"node:url";import{Worker as b}from"node:worker_threads";import{diffWordsWithSpace as x}from"diff";import*as S from"node:crypto";let C=null;async function w(){if(C!==null)return C;try{return await import(`node-lief`),C=await import(`./nativeInstallation-Cyx9yfzt.mjs`),C}catch(e){return J(`Error loading native installation module: ${e instanceof Error?e.message:String(e)}`),e instanceof Error&&J(e),null}}async function T(e,t){let n=await w();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 E(e,t,n,r){let i=await w();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 D(e){let t=await w();return t?t.resolveNixBinaryWrapper(e):null}const O=`You are a difficulty router for an AI coding agent. Each turn you get a compact running SUMMARY of the session, a CONTEXT block (the model in use and the level you assigned last turn), the most recent exchange (the previous user message and the assistant reply), and the user NEW message. Do two things and output ONLY a JSON object with the keys level and summary - no prose, no code fence.
2
2
 
3
3
  # level
4
4
  Pick the integer effort level (0 = least effort, {MAX} = most) for the NEW message, judged IN CONTEXT of the summary, the context block, and the recent exchange:
@@ -13,7 +13,7 @@ How to judge:
13
13
  - When unsure, do NOT default to the top. Default to the standard middle level and let clear signals push it up or down. The top level ({MAX}) is rare - reserve it for exactly what its description says, not for ordinary hard work.
14
14
 
15
15
  # summary
16
- Output an updated running summary - a terse TL;DR of the session in the fewest words that still capture what was done and how hard it has been. Fold the most recent exchange into the prior summary as one short line (what this turn did and its complexity), then compress: keep the task or goal, key decisions, files or systems touched, unresolved threads, and difficulty signals (errors, retries, large changes); mark resolved items resolved and drop anything that will not affect future routing. It is a routing aid, not documentation - favor brevity.`,k={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`,enableSessionMemory:!0,enableDreamMode:!1,enableLeanMemoryTypes:!1,fixSummarizeFromHere:!0,fixRewindSummaryHeader:!0,enableRememberSkill:!1,tokenCountRounding:null,autoAcceptPlanMode:!1,allowBypassPermissionsInSudo:!1,suppressNativeInstallerWarning:!1,filterScrollEscapeSequences:!1,enableWorktreeMode:!0,swapRipgrepForFff:!1,allowCustomAgentModels:!1,enableContextLimitOverride:!1,enableModelCustomizations:!0,enableVoiceMode:!1,enableVoiceConciseOutput:!0,enableChannelsMode:!1,maxEffortDefault:!1,autonomousOperationAllModels:!1,outputStyleTurnReminder:!1,autoModeClassifierModel:`default`,suppressDeferredTools:!1,claudemdContextOncePerConversation:!1},toolsets:[],defaultToolset:null,planModeToolset:null,subagentModels:{plan:null,explore:null,generalPurpose:null},fablePlan:{enabled:!1,planModel:`fable`,execModel:`opus`,offerClearContextOnPlanAccept:!0},complexityRouter:{enabled:!1,pinPerTask:!0,messageCap:1e5,assistantCap:1e5,timeoutMs:15e3,systemPrompt:O,levels:[{id:`routine`,label:`Routine`,help:`Mechanical, well-scoped work: a rename, formatting, a search, a version bump, a one-line or single-file edit, or a direct factual question with a known answer`,effort:`low`},{id:`standard`,label:`Standard`,help:`The everyday coding workflow: implement a normal feature, a localized change, a moderate bug fix, ordinary tool/file work. The default when the task is ordinary or you are unsure`,effort:`medium`},{id:`hard`,label:`Hard`,help:`Demanding work that needs careful reasoning: architecture/design, cross-file or multi-module refactors, root-cause debugging, security/concurrency/performance review. Most genuinely hard coding lives here`,effort:`high`},{id:`frontier`,label:`Frontier`,help:`Rare. Reserve for genuinely frontier problems - the deepest reasoning where even strong effort may fall short (novel algorithm design, subtle distributed/concurrency correctness) - or an explicit max-effort request like "ultrathink". Not just because a task is hard`,effort:`max`}]},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`]},A={name:`Unnamed Highlighter`,regex:``,regexFlags:`g`,format:`{MATCH}`,styling:[],foregroundColor:null,backgroundColor:null,enabled:!0},j={name:`Unnamed Toolset`,allowedTools:`*`},M=k.themes[0],N=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},ee=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 B(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 B(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 B(e,s,o,r,a),s}return null},te=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 B(e,r,n,t.index,t.index+t[0].length),r},ne=e=>{if(!e.includes(`Math.min(6,Math.max(1,`))return J(`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 B(e,r,n,t.index,t.index+t[0].length),r},re=(e,t)=>{let n=N(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);B(i,r,n,e.startIndex,e.endIndex),i=r}let a=ee(i);a?i=a:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find help menu height pattern`);let o=te(i);o?i=o:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find visibleCount pattern`);let s=ne(i);return s&&(i=s),i},ie=/([$\w]+)=(\["dark","light"(?:,"[\w-]+")*\]),([$\w]+)=\["auto",\.\.\.\1\]/;function ae(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)[^"]*",?)+\}/);(!l||l.index==null)&&J(`patch: themes: objMatch not found — colors will still apply, theme name map unchanged`);let u=e.match(ie);return u||J(`patch: themes: theme-id registry not found — custom theme ids will not validate`),{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,idRegistry:u&&u.index!==void 0?{startIndex:u.index+u[1].length+1,endIndex:u.index+u[1].length+1+u[2].length,identifiers:[u[2]]}:null}}const oe=(e,t)=>{let n=ae(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),B(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),B(e,r,a,n.objArr.startIndex,n.objArr.endIndex),e=r;let o=`switch(${n.switchStatement.identifiers?.[0]}){\n`;if(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),B(e,r,o,n.switchStatement.startIndex,n.switchStatement.endIndex),e=r,n.idRegistry){let i=JSON.parse(n.idRegistry.identifiers?.[0]??`[]`),a=t.map(e=>e.id).filter(e=>!i.includes(e));if(a.length>0){let t=JSON.stringify([...i,...a]);r=r.slice(0,n.idRegistry.startIndex)+t+r.slice(n.idRegistry.endIndex),B(e,r,t,n.idRegistry.startIndex,n.idRegistry.endIndex),J(`patch: themes: registered custom theme id(s) ${a.join(`, `)}`)}}return r},se=`(+process.env.CLAUDE_CODE_CONTEXT_LIMIT||200000)`,ce=e=>{let t=/var ([$\w]+)=200000,([$\w]+)=200000,([$\w]+)=(32000),([$\w]+)=(128000|64000);/,n=e.match(t);if(n)return e.replace(t,()=>`var ${n[1]}=${se},${n[2]}=${se},${n[3]}=${n[4]},${n[5]}=${n[6]};`);let r=/var ([$\w]+)=200000,([$\w]+)=200000,([$\w]+)=(32000),([$\w]+)=(128000|64000),([$\w]+)=(1e6|1000000);/,i=e.match(r);if(i)return e.replace(r,()=>`var ${i[1]}=${se},${i[2]}=${se},${i[3]}=${i[4]},${i[5]}=${i[6]},${i[7]}=${i[8]};`);let a=/var ([$\w]+)=200000,([$\w]+)=200000,([$\w]+)=20000,([$\w]+)=32000,([$\w]+)=(128000|64000);/,o=e.match(a);if(o)return e.replace(a,()=>`var ${o[1]}=${se},${o[2]}=${se},${o[3]}=20000,${o[4]}=32000,${o[5]}=${o[6]};`);let s=/var ([$\w]+)=200000,([$\w]+)=20000,([$\w]+)=32000,([$\w]+)=(128000|64000);/,c=e.match(s);return c?e.replace(s,()=>`var ${c[1]}=${se},${c[2]}=20000,${c[3]}=32000,${c[4]}=${c[5]};`):(console.error(`patch: contextLimit: failed to find context limit constants`),null)},le=(e,t)=>{if(!t)return e;let n=e,r=!1,i=n.match(/\{banner:[$\w]+,columns:[$\w]+,fastModeTag:[$\w]+,borderOnly:[$\w]+\}=[$\w]+;/);if(i&&i.index!==void 0){let e=i.index+i[0].length,t=n.indexOf(`function `,e),a=t===-1?e+4e3:t,o=n.slice(e,a),s=o.replace(/"\\u2500"\.repeat\([^)]*\)/g,()=>`""`).replace(/"\\u2500\\u2500"/g,()=>`""`).replace(/([$\w]+)\?([$\w]+)\.jsx\([$\w]+,\{count:[$\w]+,colors:\1\}\):""/g,()=>`""`);s!==o&&(n=n.slice(0,e)+s+n.slice(a),r=!0)}let a=/borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0\})/;n.match(a)&&(n=n.replace(a,(e,t)=>`borderStyle:undefined${t}`),r=!0);let o=n.match(/createElement\(([$\w]+),\{color:([$\w]+)\.bgColor\},"─"\.repeat\(([$\w]+)\)\)/);if(o){let e=o[1];n=n.replace(o[0],()=>`createElement(${e},null,"")`);let t=RegExp(`createElement\\(${e},\\{color:${o[2]}\\.bgColor\\},${o[2]}\\.text\\?.+?"─"\\.repeat\\(${o[3]}\\)\\)`),i=n.match(t);i&&(n=n.replace(i[0],()=>`createElement(${e},null,"")`)),r=!0}let s=n.match(/(borderColor:[$\w]+\(\),)borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",borderText:)/);s&&(n=n.replace(s[0],()=>`${s[1]}borderStyle:undefined${s[2]}`),r=!0);let c=n.match(/borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%"\}.+?Save and close editor)/);return c&&(n=n.replace(c[0],()=>`borderStyle:undefined${c[1]}`),r=!0),r?(B(e,n,`(input border removed)`,0,0),n):(console.error(`patch: input border: failed to find input border pattern`),null)},ue=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]+)(=[$\w]+\.test\(([$\w]+)\)\?\3:\3\+"(?:…|\\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=n.match(/,([$\w]+)(=\(([^;]{1,200}?)\)\+"(?:…|\\u2026)")/);if(i&&i.index!=null)return{startIndex:t+i.index+i[1].length+1,endIndex:t+i.index+i[1].length+i[2].length+1,identifiers:[i[3]]};let a=/,([$\w]+)(=(\([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+\))\+"(?:…|\\u2026)")/,o=n.match(a);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=n.match(/,([$\w]+)(=`\$\{([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+)\}(?:…|\\u2026) ?`)/);if(s&&s.index!=null)return{startIndex:t+s.index+s[1].length+1,endIndex:t+s.index+s[1].length+s[2].length+1,identifiers:[s[3]]};let c=new RegExp(a.source,`g`),l=[...e.matchAll(c)].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(l.length===1){let e=l[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},de=(e,t)=>{let n=ue(e);if(!n)return null;let r=n,i=X(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 B(e,s,o,r.startIndex,r.endIndex),s},fe=/=\[\.\.\.([$\w]+),\.\.\.(?:\[\.\.\.\1\]\.reverse\(\)|\1\.toReversed\(\))\]/g,pe=(e,t)=>{let n=[...e.matchAll(fe)];if(n.length===0)return/=\[\.\.\.[$\w]+\],/.test(e)&&!t?e:(console.error(`patch: thinker symbol mirror option: failed to find match`),null);let r=``,i=0,a=``,o=0,s=0;for(let c of n){let n=c.index;if(n===void 0)continue;let l=c[1],u=t?`=[...${l},...${l}.toReversed()]`:`=[...${l}]`;r+=e.slice(i,n)+u,i=n+c[0].length,a=u,o=r.length-u.length,s=r.length}return r+=e.slice(i),B(e,r,a,o,s),r},me=(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=X(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);B(s,t,a,o[e].startIndex,o[e].endIndex),s=t}return s},he=(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 B(e,o,r,i,a),o},ge=(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},_e=(e,t)=>{let n=ge(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);B(i,t,e.replacement,e.startIndex,e.endIndex),i=t}return i},ve=(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=X(JSON.stringify(t)),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return B(e,o,r,i,a),o},ye=(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=X(JSON.stringify(r)),a=n.index,o=a+n[0].length,s=e.slice(0,a)+i+e.slice(o);return B(e,s,i,a,o),s},be=(e,t)=>{let n=ve(e,t);if(n===null)return null;let r=ye(n,t);return r===null?null:r},xe=e=>e.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),Se=`/*@@TWEAKCC_MODULE:`,Ce=(e,t)=>{let n=e.lastIndexOf(Se,t);if(n===-1)return e;let r=e.indexOf(Se,n+19);return e.slice(n,r===-1?e.length:r)},we=e=>{let t=0;for(;;){let n=e.indexOf(`No content found in user prompt message`,t);if(n===-1)return null;let r=n+39,i=e.indexOf(`function `,r),a=i===-1?e.length:i,o=e.slice(n,a),s=/(?<![.$\w])([$\w]+)\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+\}\)/.exec(o);if(!s||s.index===void 0){t=r;continue}let c=s[1],l=s[2],u=o.slice(s.index+s[0].length),d=RegExp(`(?<![.$\\w])${q(c)}\\([$\\w]+,(\\{flexDirection:"column"[^{}]*?)(,children:)([$\\w]+)(\\})\\)`).exec(u);if(!d||d.index===void 0){t=r;continue}let f=s.index+s[0].length+d.index,p=d[0].indexOf(`,{`);if(p===-1){t=r;continue}let m=f+p+1;return{index:n,end:n+(f+d[0].length),prefix:o.slice(0,m),messageVar:l,callExpr:c,originalBoxAttrs:d[1],childrenKeyword:d[2]}}},Te=(e,t,n)=>{let r=Ce(e,t),i=RegExp(`(?<![.$\\w])${q(n)}\\(([$\\w]+),\\{color:"text"`);return r.match(i)?.[1]},Ee=e=>({index:e.index,end:e.index+e[0].length,prefix:e[1],messageVar:e[2],callExpr:`${e[3]}.jsx`,originalBoxAttrs:e[4],childrenKeyword:e[5]}),De=e=>{let t=[];if(e.borderStyle!==`none`){if(e.borderStyle.startsWith(`topBottom`)){let n=``;e.borderStyle===`topBottomSingle`?n=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:e.borderStyle===`topBottomDouble`?n=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:e.borderStyle===`topBottomBold`&&(n=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),t.push(`borderStyle:${X(n)}`)}else t.push(`borderStyle:"${e.borderStyle}"`);let n=e.borderColor.match(/\d+/g);n&&t.push(`borderColor:"rgb(${n.join(`,`)})"`)}return e.paddingX!==`default`&&e.paddingX>0&&t.push(`paddingX:${e.paddingX}`),e.paddingY!==`default`&&e.paddingY>0&&t.push(`paddingY:${e.paddingY}`),e.fitBoxToContent&&t.push(`alignSelf:"flex-start"`),t},Oe=(e,t,n,r)=>{let{prefix:i,messageVar:a,callExpr:o,originalBoxAttrs:s,childrenKeyword:c,index:l,end:u}=t,d=s.slice(1),f=/backgroundColor:[$\w]+/;if(n.backgroundColor===null)d=d.replace(RegExp(`,?${f.source}`),``).replace(/^,|,$/g,``);else if(n.backgroundColor!==`default`){let e=n.backgroundColor.match(/\d+/g);if(e){let t=`backgroundColor:"rgb(${e.join(`,`)})"`;d=f.test(d)?d.replace(f,t):d?`${d},${t}`:t}}let p=De(n);p.length>0&&(d=d?`${d},${p.join(`,`)}`:p.join(`,`));let m=[];if(n.foregroundColor===`default`)m.push(`color:"text"`);else{let e=n.foregroundColor.match(/\d+/g);e&&m.push(`color:"rgb(${e.join(`,`)})"`)}if(n.backgroundColor!==`default`&&n.backgroundColor!==null){let e=n.backgroundColor.match(/\d+/g);e&&m.push(`backgroundColor:"rgb(${e.join(`,`)})"`)}else n.backgroundColor===`default`&&m.push(`backgroundColor:"userMessageBackground"`);n.styling.includes(`bold`)&&m.push(`bold:!0`),n.styling.includes(`italic`)&&m.push(`italic:!0`),n.styling.includes(`underline`)&&m.push(`underline:!0`),n.styling.includes(`strikethrough`)&&m.push(`strikethrough:!0`),n.styling.includes(`inverse`)&&m.push(`inverse:!0`);let h=m.length>0?`${m.join(`,`)},`:``,g=`(typeof ${a}==="object"&&${a}!==null?${a}.head+"\\n("+${a}.hiddenLines+" line"+(${a}.hiddenLines===1?"":"s")+" hidden)\\n"+${a}.tail:${a})`,_=`${o}(${r},{${h}children:${"`"+xe(n.format).replace(/\{\}/g,()=>"${"+g+`}`)+"`"}})`,v=i+`{${d}`+c+_+`})`,y=e.slice(0,l)+v+e.slice(u);return B(e,y,v,l,u),y},ke=(e,t)=>{let n=/(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]+)[^}]*\}\)\)?))/,r=/(No content found in user prompt message[\s\S]{0,100}?;return )([$\w]+(?:\.default)?)\.createElement\(([$\w]+),(\{flexDirection:"column"[^{}]*\}),([$\w]+(?:\.default)?)\.createElement\(([$\w]+),\{text:([$\w]+)[^{}]*\}\)\)/,i=/(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]+)(\}\))/,a=we(e),o=a?null:e.match(i),s=a||o?null:e.match(r),c=a||o||s?null:e.match(/(No content found in user prompt message.{0,1200}?)([$\w]+)=([$\w]+(?:\.default)?\.createElement)\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+\}\)/),l=a||o||s||c?null:e.match(n);if(!a&&!o&&!s&&(!c||c.index===void 0)&&(!l||l.index===void 0))return console.error(`patch: userMessageDisplay: failed to find user message display pattern`),null;if(a){let n=Te(e,a.index,a.callExpr)??(e.includes(Se)?void 0:rc(e));return n?Oe(e,a,t,n):(console.error(`patch: userMessageDisplay: failed to find Text component`),null)}let u=rc(e);if(!u)return console.error(`patch: userMessageDisplay: failed to find Text component`),null;if(o)return Oe(e,Ee(o),t,u);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 n=s[1],r=s[2],i=s[3],a=s[4],o=s[5],c=s[7],l=a.slice(1,-1),f=/backgroundColor:[^,}]+(?:\?[^,}:]+:[^,}:]+)*/;if(t.backgroundColor===null)l=l.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(`,`)})"`;l=l.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:${X(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&&(l=l?`${l},${p.join(`,`)}`:p.join(`,`));let m=`{${l}}`,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(c),v=n+`${r}.createElement(${i},${m},${o}.createElement(${u},${g},${"`"+xe(t.format).replace(/\{\}/g,()=>"${"+_+`}`)+"`"}))`,y=s.index,b=y+s[0].length,x=e.slice(0,y)+v+e.slice(b);return B(e,x,v,y,b),x}let f=ac(e);if(!f)return console.error(`patch: userMessageDisplay: failed to find Box component`),null;let p=Ks(e);if(!p)return console.error(`patch: userMessageDisplay: failed to find chalk variable`),null;let m=c??l,h=c?c[3]:l[4],g=c?c[4]:l[6]??l[7],_=[],v=t.borderStyle.startsWith(`topBottom`);if(t.borderStyle!==`none`){if(v){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:" "}`),_.push(`borderStyle:${X(e)}`)}else _.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&_.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX===`default`?_.push(`paddingRight:1`):t.paddingX>0&&_.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&_.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&_.push(`alignSelf:"flex-start"`);let y=p,b=[];if(t.foregroundColor!==`default`){let e=t.foregroundColor.match(/\d+/g);e&&(y+=`.rgb(${e.join(`,`)})`)}else b.push(`color:"text"`);if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);if(e){y+=`.bgRgb(${e.join(`,`)})`;let t=`"rgb(${e.join(`,`)})"`;_.push(`backgroundColor:${t}`),b.push(`backgroundColor:${t}`)}}else t.backgroundColor===`default`&&(_.push(`backgroundColor:"userMessageBackground"`),b.push(`backgroundColor:"userMessageBackground"`));t.styling.includes(`bold`)&&(y+=`.bold`),t.styling.includes(`italic`)&&(y+=`.italic`),t.styling.includes(`underline`)&&(y+=`.underline`),t.styling.includes(`strikethrough`)&&(y+=`.strikethrough`),t.styling.includes(`inverse`)&&(y+=`.inverse`);let x=d(g),S="`"+xe(t.format).replace(/\{\}/g,()=>"${"+x+`}`)+"`",C=`${y}(${S})`,w=_.length>0?`{${_.join(`,`)}}`:`null`,T=b.length>0?`{${b.join(`,`)}}`:`null`,E=c?`${c[2]}=`:``,D=m[1]+`${E}${h}(${f},${w},${h}(${u},${T},${C}))`,O=m.index,k=O+m[0].length,A=e.slice(0,O)+D+e.slice(k);return B(e,A,D,O,k),A},Ae=(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},je=(e,t,n)=>{if(t.index===void 0)return null;let[,r,i,a,o,s,c]=t;if([...a.matchAll(/[$\w]+:([$\w]+)\.highlight\?\./g)].map(e=>e[1]).some(e=>e!==o))return console.error(`patch: inputPatternHighlighters: highlight prop run mixes segment variables`),null;let l=n?`${r}.jsx`:r,u=`(${o}.highlight?.style??(typeof ${o}.highlight?.color==="function"?${o}.highlight.color:void 0))`,d=e=>`,${e}:${u}?void 0:${o}.highlight?.${e}`,f=`return ${l}(${i},{${d(`color`).slice(1)}`+d(`backgroundColor`)+`,dimColor:${o}.highlight?.dimColor`+d(`inverse`)+d(`bold`)+d(`italic`)+d(`underline`)+d(`strikethrough`)+`,children:${l}(${s},{children:${u}?${u}(${o}.text):${o}.text})},${c})`,p=e.slice(0,t.index)+f+e.slice(t.index+t[0].length);return B(e,p,f,t.index,t.index+t[0].length),p},Me=e=>{if(e.includes(`.highlight?.style?void 0:`)||e.includes(`.highlight?.style??(typeof `))return e;let t=e.match(/return ([$\w]+)\(([$\w]+),\{((?:[$\w]+:([$\w]+)\.highlight\?\.[$\w]+,)+)children:\1\(([$\w]+),\{children:\4\.text\}\)\},([$\w]+)\)/);if(t&&t.index!==void 0)return je(e,t,!1);let n=e.match(/return ([$\w]+)\.jsx\(([$\w]+),\{((?:[$\w]+:([$\w]+)\.highlight\?\.[$\w]+,)+)children:\1\.jsx\(([$\w]+),\{children:\4\.text\}\)\},([$\w]+)\)/);if(n&&n.index!==void 0)return je(e,n,!0);let r=e.match(/(if\(([$\w]+)\.highlight\?\.color\))((return [$\w]+\.createElement\([$\w]+,\{key:[$\w]+),color:[$\w]+\.highlight\.color(\},[$\w]+\.createElement\([$\w]+,null,)([$\w]+\.text)(\)\)));/);if(r&&r.index!==void 0){let t=`${r[2]}.highlight.color(${r[6]})`,n=r[1]+`{if(typeof ${r[2]}.highlight.color==='function')`+r[4]+r[5]+t+r[7]+`;else `+r[3]+`}`,i=e.slice(0,r.index)+n+e.slice(r.index+r[0].length);return B(e,i,n,r.index,r.index+r[0].length),i}let i=/(return ([$\w]+)\.createElement\(([$\w]+),\{key:([$\w]+)),color:([$\w]+)\.highlight\?\.color,dimColor:\5\.highlight\?\.dimColor,inverse:\5\.highlight\?\.inverse\},(\2\.createElement\([$\w]+,null,\5\.text\))\)/,a=e.match(i);if(!a||a.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find highlight?.color renderer pattern`),null;let o=a[2],s=a[3],c=a[4],l=a[5];a[6];let u=RegExp(`if\\(${l.replace(`$`,`\\$`)}\\.highlight\\.color\\)return ([$\\w]+)\\.createElement\\([$\\w]+,\\{key:[$\\w]+\\},${l.replace(`$`,`\\$`)}\\.text\\.split\\(""\\)\\.map\\([^)]+\\)\\)`),d=e,f=d.match(u);if(f&&f.index!==void 0){let e=`if(typeof ${l}.highlight?.color==='function')return ${o}.createElement(${s},{key:${c}},${o}.createElement(${s},null,${l}.highlight.color(${l}.text)));`;d=d.slice(0,f.index)+e+d.slice(f.index)}let p=d.match(i);if(!p||p.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to re-find renderer after shimmer patch`),null;let m=p[2],h=p[3],g=p[4],_=p[5],v=p[6],y=`${_}.highlight?.style?${_}.highlight.style(${_}.text):${_}.text`,b=`return ${m}.createElement(${h},{key:${g},color:${_}.highlight?.style?void 0:${_}.highlight?.color,backgroundColor:${_}.highlight?.style?void 0:${_}.highlight?.backgroundColor,dimColor:${_}.highlight?.dimColor,inverse:${_}.highlight?.style?void 0:${_}.highlight?.inverse,bold:${_}.highlight?.style?void 0:${_}.highlight?.bold,italic:${_}.highlight?.style?void 0:${_}.highlight?.italic,underline:${_}.highlight?.style?void 0:${_}.highlight?.underline,strikethrough:${_}.highlight?.style?void 0:${_}.highlight?.strikethrough},${v.replace(`${_}.text`,y)})`,x=d.slice(0,p.index)+b+d.slice(p.index+p[0].length);return B(e,x,`shimmer guard + renderer`,0,0),x},Ne=(e,t,n)=>{let r=e.match(/([$\w]+;if\()([^()]{0,1500}?)(\)\{let [$\w]+=\[\];[\s\S]{0,3000}?)(if\([$\w]+&&[$\w]+&&![$\w]+\)([$\w]+)\.push\(\{start:[$\w]+,end:[$\w]+\+[$\w]+\.length,color:"warning",priority:\d+\}\))/),i=/((?:let |;|,)[$\w]+=[$\w]+\(\(\)=>\{let [$\w]+=\[\];[\s\S]{0,2000}?)(if\([$\w]+&&[$\w]+&&![$\w]+\)([$\w]+)\.push\(\{start:[$\w]+,end:[$\w]+\+[$\w]+\.length,color:"warning",priority:\d+\})/,a=/((?:,|;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+\})/,o,s,c,l,u;if(r&&r.index!==void 0){let[,e,t,n,i,a]=r;o=r.index,s=r[0].length,c=e+t+`||!0`+n,l=i,u=a}else{let t=e.match(i),n=t&&t.index!==void 0?t:e.match(a);if(!n||n.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find useMemo/push pattern`),null;o=n.index,s=n[0].length,c=n[1],l=n[2],u=n[3]}let d=Gs(e,o);d||console.log(`patch: inputPatternHighlighters: no chalk binding in the target module — using declarative styling props`);let f=Math.max(0,o-2e4),p=e.slice(f,o),m=[...p.matchAll(/[,{]draft:([$\w]+)[,}]/g)].at(-1)?.[1],h=/\binputValue:([$\w]+),/g,g=/\binput:([$\w]+),/g,_=[...p.matchAll(h)],v=[...p.matchAll(g)],y=_.at(-1)??v.at(-1)??null,b=m?`${m}.value`:y?.[1]??null;if(!b)return console.error(`patch: inputPatternHighlighters: failed to find input variable pattern (looked for draft:, inputValue: and input:)`),null;let x=``;for(let e=0;e<n.length;e++){let t=n[e],r=d?Ae(d,t):null,i=t.format??`{MATCH}`;JSON.stringify(i).replace(/\{MATCH\}/g,`"+x+"`);let a=t.foregroundColor;if(a){let e=a.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let[,t,n,r]=e.map(Number);a=`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}}let o=a?JSON.stringify(a):`undefined`,s=t.backgroundColor;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):null,l=t.styling??[],f=l.includes(`bold`),p=l.includes(`italic`),m=l.includes(`underline`),h=l.includes(`inverse`),g=l.includes(`dim`),_=l.includes(`strikethrough`),v=t.regex??t.pattern;if(!v){console.error(`patch: inputPatternHighlighters: highlighter "${t.name}" has no regex/pattern; skipping`);continue}let y=t.regexFlags??``;y.includes(`g`)||(y+=`g`);let S;try{S=new RegExp(v,y)}catch(e){console.error(`patch: inputPatternHighlighters: highlighter "${t.name}" has invalid regex; skipping`,e);continue}let C=Hc(S);x+=`if(typeof ${b}==="string"){for(let m of ${b}.matchAll(${C})){${u}.push({start:m.index,end:m.index+m[0].length,color:${o}${c?`,backgroundColor:${c}`:``}${f?`,bold:!0`:``}${p?`,italic:!0`:``}${m?`,underline:!0`:``}${h?`,inverse:!0`:``}${g?`,dimColor:!0`:``}${_?`,strikethrough:!0`:``}${r?`,style:(x)=>${r}(x)`:``},priority:100})}}`}if(!x)return console.error(`patch: inputPatternHighlighters: no usable highlighters generated (all skipped)`),null;let S=c+x+l,C=e.slice(0,o),w=e.slice(o+s),T=C+``+S+w,E=r?-1:T.indexOf(`for(let m of ${b}.matchAll(`);if(E>-1){let e=[...T.slice(Math.max(0,E-2e3),E).matchAll(/[$\w]+\(\(\)=>\{/g)];if(e.length>0){let t=Math.max(0,E-2e3)+e[e.length-1].index,n=T.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;T.slice(n-1,n)===`]`&&(T.slice(n-200,n).includes(`,${b}]`)||(T=T.slice(0,n-1)+`,${b}]`+T.slice(n)));break}}}return B(e,T,``+S,o,o+s),T},Pe=(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=Ks(e);if(!r)return console.error(`patch: inputPatternHighlighters: failed to find chalk variable`),null;let i;return i=Me(e),i?(i=Ne(i,r,n),i||(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterCreation failed`),null)):(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterImpl failed`),null)},Fe=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},Ie=e=>{let t=Fe(e);if(!t)return null;let n=e.slice(0,t.startIndex)+t.replacement+e.slice(t.endIndex);return B(e,n,t.replacement,t.startIndex,t.endIndex),n},Le=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 B(e,c,s,t.index,t.index+n.length),c},Re=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 B(e,r,n,t.index,t.index+t[0].length),r},ze=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 B(e,o,a,t.index,t.index+n.length),o},Be=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 B(e,a,i,t.index,t.index+n.length),a},Ve=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*\\[\\.\\.\\.${q(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 B(e,l,c,t.index,t.index+n.length),l},He=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 B(e,i,r,t.index,t.index),i},Ue=e=>{if(e.includes(`"opusplan[1m]"`))return console.log(`patch: opusplan1m: opusplan[1m] already supported natively — skipping`),e;let t=e,n=Le(t);if(n)t=n;else return console.error(`patch: opusplan1m: failed to apply mode switching patch`),null;if(n=Re(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model aliases list patch`),null;if(n=ze(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply description function patch`),null;if(n=Be(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply label function patch`),null;if(n=Ve(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model selector options patch`),null;if(n=He(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply always-show-in-selector patch`),null;return t},We=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(/if\(!([$\w]+)&&!([$\w]+)\)\{?return null\}?;?(.{0,400}?isTranscriptMode:)\1,verbose:\2/);if(t&&t.index!==void 0){let n=t[3]+`true,verbose:`+t[2],r=t.index,i=r+t[0].length,a=e.slice(0,r)+n+e.slice(i);return B(e,a,n,r,i),a}let n=e.match(/(case"thinking":\{?)(if\(![$\w]+&&![$\w]+\)\{?return null\}?;?)(.{0,400}isTranscriptMode:).+?,/);if(!n||n.index===void 0)return console.error(`patch: thinkingVisibility: failed to find thinking visibility pattern`),null;let r=n[1]+n[3]+`true,`,i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return B(e,o,r,i,a),o},Ge=(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 B(e,o,r,i,a),o},Ke=(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 B(e,o,r,i,a),o},qe=(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 B(e,c,a,o,s),c},Je=(e,t)=>{let n=e;if(t.plan){let e=Ge(n,t.plan);if(e===null)return null;n=e}if(t.explore){let e=Ke(n,t.explore);if(e===null)return null;n=e}if(t.generalPurpose){let e=qe(n,t.generalPurpose);if(e===null)return null;n=e}return n},Ye=(e,t,n,r)=>`${e}.createElement(${t}, null, ${e}.createElement(${n}, {color: "success", bold: true}, "\\u2503 "), ${e}.createElement(${n}, {dimColor: true}, \` * ${X(r)}\`)),`,Xe=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}},Ze=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}},Qe=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:\\[(?:[^[\\]]*?,)?${q(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}},$e=e=>{let t=Qe(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\\(${q(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(`,${q(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}},et=/([$\w]+)=([$\w]+)\(([$\w]+),\{children:\[[$\w]+," ",([$\w]+)\(([$\w]+),\{dimColor:!0,children:\["v",[$\w]+\]\}\)\]\}\)/,tt=/([$\w]+)=([$\w]+)\(([$\w]+),\{flexDirection:"row",gap:2,alignItems:"center",children:\[[$\w]+,[$\w]+\]\}\)/,nt=`/*@@TWEAKCC_MODULE:`,rt=(e,t)=>{let n=e.lastIndexOf(nt,t);return n===-1?0:n},it=(e,t)=>{let n=Math.max(rt(e,t),t-4e3),r=e.slice(n,t),i=/([$\w]+)\(([$\w]+),\{bold:!0,children:"Claude Code"\}\)/g,a=null;for(let e=i.exec(r);e!==null;e=i.exec(r))a=e;return a?{jsx:a[1],text:a[2]}:null},at=(e,t,n,r,i)=>{let a=[`${t}(${n},{children:[${e}(${r},{color:"success",bold:!0,children:"\\u2503 "}),${e}(${r},{color:"success",bold:!0,children:"\\u2713 tweakcc-fixed patches are applied"})]})`];for(let o of i){let i=X(JSON.stringify(` * ${o}`));a.push(`${t}(${n},{children:[${e}(${r},{color:"success",bold:!0,children:"\\u2503 "}),${e}(${r},{dimColor:!0,children:${i}})]})`)}return`${t}(${n},{flexDirection:"column",children:[${a.join(`,`)}]})`},ot=(e,t,n,r,i)=>{let a=!1,o=!1;if(r&&!e.includes(`+ tweakcc v${t}`)){let n=`,{dimColor:!0,children:["v"`,r=e.indexOf(n);for(;r!==-1&&!a;){let i=Math.max(0,r-180),o=e.slice(i,r+80).match(et);if(o&&o.index!==void 0){let n=i+o.index,r=it(e,n),s=`," ",${r?.jsx??o[4]}(${r?.text??o[5]},{color:"warning",bold:!0,children:${X(JSON.stringify(`+ tweakcc v${t}`))}})`,c=n+o[0].length-3,l=e;e=e.slice(0,c)+s+e.slice(c),B(l,e,s,c,c),a=!0;break}r=e.indexOf(n,r+27)}}if(i&&!e.includes(`tweakcc-fixed patches are applied`)){let t=e.indexOf(`flexDirection:"row",gap:2,alignItems:"center",children:[`),r=t===-1?0:Math.max(0,t-40),i=(t===-1?``:e.slice(r,t+120)).match(tt);if(i&&i.index!==void 0){let t=r+i.index,s=i[1],c=i[2],l=i[3],u=it(e,t);if(!u||u.text===l)return console.error(`patch: patchesAppliedIndication: failed to find the Text component near the startup banner`),{content:e,didVersion:a,didList:o};let d=u.jsx,f=u.text,p=`${s}=${c}(${l},{flexDirection:"column",children:[${i[0].slice(s.length+1)},${at(d,c,l,f,n)}]})`,m=e;e=e.slice(0,t)+p+e.slice(t+i[0].length),B(m,e,p,t,t+p.length),o=!0}}return{content:e,didVersion:a,didList:o}},st=(e,t,n,r=!0,i=!0)=>{let a=Xe(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);B(e,c,o,a.endIndex,a.endIndex);let l=ot(c,t,n,r,i);c=l.content;let u=r&&!l.didVersion,d=i&&!l.didList;if(!u&&!d)return c;if(c.includes(nt))return console.error(`patch: patchesAppliedIndication: failed to patch the imported-jsx header; the legacy createElement paths do not apply to a code-split bundle`),l.didVersion||l.didList?c:null;let f=Ks(e);if(!f)return!l.didVersion&&!l.didList?(console.error(`patch: patchesAppliedIndication: failed to find chalk variable`),null):c;let p=rc(e);if(!p)return!l.didVersion&&!l.didList?(console.error(`patch: patchesAppliedIndication: failed to find text component`),null):c;let m=Zs(e);if(!m)return!l.didVersion&&!l.didList?(console.error(`patch: patchesAppliedIndication: failed to find React variable`),null):c;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=Ze(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:${f}.hex("#FF8400").bold("+ tweakcc v${t}")})`,o=c;c=c.slice(0,e)+a+c.slice(e),B(o,c,a,e,e)}else{let e=`let _tw=${n.reactVar}.createElement(${n.textComponent},null,${f}.hex("#FF8400").bold("+ tweakcc v${t}"));`,r=c;c=c.slice(0,n.varInsertIndex)+e+c.slice(n.varInsertIndex),B(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),B(o,c,a,i,i)}}if(i){let e=ac(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=[`${m}.createElement(${e}, { flexDirection: "column" },`,`${m}.createElement(${e}, null, ${m}.createElement(${p}, {color: "success", bold: true}, "\\u2503 "), ${m}.createElement(${p}, {color: "success", bold: true}, "\\u2713 tweakcc-fixed patches are applied")),`];for(let t of n)t=t.replace(`CHALK_VAR`,f),s.push(Ye(m,e,p,t));s.push(`)`);let l=`${r}=${i}.jsxs(${a},{flexDirection:"column",children:[${o},${s.join(`
16
+ Output an updated running summary - a terse TL;DR of the session in the fewest words that still capture what was done and how hard it has been. Fold the most recent exchange into the prior summary as one short line (what this turn did and its complexity), then compress: keep the task or goal, key decisions, files or systems touched, unresolved threads, and difficulty signals (errors, retries, large changes); mark resolved items resolved and drop anything that will not affect future routing. It is a routing aid, not documentation - favor brevity.`,k={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`,enableSessionMemory:!0,enableDreamMode:!1,enableLeanMemoryTypes:!1,fixSummarizeFromHere:!0,fixRewindSummaryHeader:!0,enableRememberSkill:!1,tokenCountRounding:null,autoAcceptPlanMode:!1,allowBypassPermissionsInSudo:!1,suppressNativeInstallerWarning:!1,filterScrollEscapeSequences:!1,enableWorktreeMode:!0,swapRipgrepForFff:!1,allowCustomAgentModels:!1,enableContextLimitOverride:!1,enableModelCustomizations:!0,enableVoiceMode:!1,enableVoiceConciseOutput:!0,enableChannelsMode:!1,maxEffortDefault:!1,autonomousOperationAllModels:!1,outputStyleTurnReminder:!1,autoModeClassifierModel:`default`,suppressDeferredTools:!1,claudemdContextOncePerConversation:!1},toolsets:[],defaultToolset:null,planModeToolset:null,subagentModels:{plan:null,explore:null,generalPurpose:null},fablePlan:{enabled:!1,planModel:`fable`,execModel:`opus`,offerClearContextOnPlanAccept:!0},complexityRouter:{enabled:!1,pinPerTask:!0,messageCap:1e5,assistantCap:1e5,timeoutMs:15e3,systemPrompt:O,levels:[{id:`routine`,label:`Routine`,help:`Mechanical, well-scoped work: a rename, formatting, a search, a version bump, a one-line or single-file edit, or a direct factual question with a known answer`,effort:`low`},{id:`standard`,label:`Standard`,help:`The everyday coding workflow: implement a normal feature, a localized change, a moderate bug fix, ordinary tool/file work. The default when the task is ordinary or you are unsure`,effort:`medium`},{id:`hard`,label:`Hard`,help:`Demanding work that needs careful reasoning: architecture/design, cross-file or multi-module refactors, root-cause debugging, security/concurrency/performance review. Most genuinely hard coding lives here`,effort:`high`},{id:`frontier`,label:`Frontier`,help:`Rare. Reserve for genuinely frontier problems - the deepest reasoning where even strong effort may fall short (novel algorithm design, subtle distributed/concurrency correctness) - or an explicit max-effort request like "ultrathink". Not just because a task is hard`,effort:`max`}]},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`]},A={name:`Unnamed Highlighter`,regex:``,regexFlags:`g`,format:`{MATCH}`,styling:[],foregroundColor:null,backgroundColor:null,enabled:!0},j={name:`Unnamed Toolset`,allowedTools:`*`},M=k.themes[0],N=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},ee=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 B(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 B(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 B(e,s,o,r,a),s}return null},te=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 B(e,r,n,t.index,t.index+t[0].length),r},ne=e=>{if(!e.includes(`Math.min(6,Math.max(1,`))return J(`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 B(e,r,n,t.index,t.index+t[0].length),r},re=(e,t)=>{let n=N(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);B(i,r,n,e.startIndex,e.endIndex),i=r}let a=ee(i);a?i=a:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find help menu height pattern`);let o=te(i);o?i=o:console.error(`patch: writeShowMoreItemsInSelectMenus: failed to find visibleCount pattern`);let s=ne(i);return s&&(i=s),i},ie=/([$\w]+)=(\["dark","light"(?:,"[\w-]+")*\]),([$\w]+)=\["auto",\.\.\.\1\]/;function ae(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)[^"]*",?)+\}/);(!l||l.index==null)&&J(`patch: themes: objMatch not found — colors will still apply, theme name map unchanged`);let u=e.match(ie);return u||J(`patch: themes: theme-id registry not found — custom theme ids will not validate`),{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,idRegistry:u&&u.index!==void 0?{startIndex:u.index+u[1].length+1,endIndex:u.index+u[1].length+1+u[2].length,identifiers:[u[2]]}:null}}const oe=(e,t)=>{let n=ae(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),B(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),B(e,r,a,n.objArr.startIndex,n.objArr.endIndex),e=r;let o=`switch(${n.switchStatement.identifiers?.[0]}){\n`;if(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),B(e,r,o,n.switchStatement.startIndex,n.switchStatement.endIndex),e=r,n.idRegistry){let i=JSON.parse(n.idRegistry.identifiers?.[0]??`[]`),a=t.map(e=>e.id).filter(e=>!i.includes(e));if(a.length>0){let t=JSON.stringify([...i,...a]);r=r.slice(0,n.idRegistry.startIndex)+t+r.slice(n.idRegistry.endIndex),B(e,r,t,n.idRegistry.startIndex,n.idRegistry.endIndex),J(`patch: themes: registered custom theme id(s) ${a.join(`, `)}`)}}return r},se=`(+process.env.CLAUDE_CODE_CONTEXT_LIMIT||200000)`,ce=e=>{let t=/var ([$\w]+)=200000,([$\w]+)=200000,([$\w]+)=(32000),([$\w]+)=(128000|64000);/,n=e.match(t);if(n)return e.replace(t,()=>`var ${n[1]}=${se},${n[2]}=${se},${n[3]}=${n[4]},${n[5]}=${n[6]};`);let r=/var ([$\w]+)=200000,([$\w]+)=200000,([$\w]+)=(32000),([$\w]+)=(128000|64000),([$\w]+)=(1e6|1000000);/,i=e.match(r);if(i)return e.replace(r,()=>`var ${i[1]}=${se},${i[2]}=${se},${i[3]}=${i[4]},${i[5]}=${i[6]},${i[7]}=${i[8]};`);let a=/var ([$\w]+)=200000,([$\w]+)=200000,([$\w]+)=20000,([$\w]+)=32000,([$\w]+)=(128000|64000);/,o=e.match(a);if(o)return e.replace(a,()=>`var ${o[1]}=${se},${o[2]}=${se},${o[3]}=20000,${o[4]}=32000,${o[5]}=${o[6]};`);let s=/var ([$\w]+)=200000,([$\w]+)=20000,([$\w]+)=32000,([$\w]+)=(128000|64000);/,c=e.match(s);return c?e.replace(s,()=>`var ${c[1]}=${se},${c[2]}=20000,${c[3]}=32000,${c[4]}=${c[5]};`):(console.error(`patch: contextLimit: failed to find context limit constants`),null)},le=(e,t)=>{if(!t)return e;let n=e,r=!1,i=n.match(/\{banner:[$\w]+,columns:[$\w]+,fastModeTag:[$\w]+,borderOnly:[$\w]+\}=[$\w]+;/);if(i&&i.index!==void 0){let e=i.index+i[0].length,t=n.indexOf(`function `,e),a=t===-1?e+4e3:t,o=n.slice(e,a),s=o.replace(/"\\u2500"\.repeat\([^)]*\)/g,()=>`""`).replace(/"\\u2500\\u2500"/g,()=>`""`).replace(/([$\w]+)\?([$\w]+)\.jsx\([$\w]+,\{count:[$\w]+,colors:\1\}\):""/g,()=>`""`);s!==o&&(n=n.slice(0,e)+s+n.slice(a),r=!0)}let a=/borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0\})/;n.match(a)&&(n=n.replace(a,(e,t)=>`borderStyle:undefined${t}`),r=!0);let o=n.match(/createElement\(([$\w]+),\{color:([$\w]+)\.bgColor\},"─"\.repeat\(([$\w]+)\)\)/);if(o){let e=o[1];n=n.replace(o[0],()=>`createElement(${e},null,"")`);let t=RegExp(`createElement\\(${e},\\{color:${o[2]}\\.bgColor\\},${o[2]}\\.text\\?.+?"─"\\.repeat\\(${o[3]}\\)\\)`),i=n.match(t);i&&(n=n.replace(i[0],()=>`createElement(${e},null,"")`)),r=!0}let s=n.match(/(borderColor:[$\w]+\(\),)borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",borderText:)/);s&&(n=n.replace(s[0],()=>`${s[1]}borderStyle:undefined${s[2]}`),r=!0);let c=n.match(/borderStyle:"round"(,borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%"\}.+?Save and close editor)/);return c&&(n=n.replace(c[0],()=>`borderStyle:undefined${c[1]}`),r=!0),r?(B(e,n,`(input border removed)`,0,0),n):(console.error(`patch: input border: failed to find input border pattern`),null)},ue=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]+)(=[$\w]+\.test\(([$\w]+)\)\?\3:\3\+"(?:…|\\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=n.match(/,([$\w]+)(=\(([^;]{1,200}?)\)\+"(?:…|\\u2026)")/);if(i&&i.index!=null)return{startIndex:t+i.index+i[1].length+1,endIndex:t+i.index+i[1].length+i[2].length+1,identifiers:[i[3]]};let a=/,([$\w]+)(=(\([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+\))\+"(?:…|\\u2026)")/,o=n.match(a);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=n.match(/,([$\w]+)(=`\$\{([$\w]+&&![$\w]+\.isIdle\?[$\w]+\.spinnerVerb\?\?[$\w]+:[$\w]+)\}(?:…|\\u2026) ?`)/);if(s&&s.index!=null)return{startIndex:t+s.index+s[1].length+1,endIndex:t+s.index+s[1].length+s[2].length+1,identifiers:[s[3]]};let c=new RegExp(a.source,`g`),l=[...e.matchAll(c)].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(l.length===1){let e=l[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},de=(e,t)=>{let n=ue(e);if(!n)return null;let r=n,i=X(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 B(e,s,o,r.startIndex,r.endIndex),s},fe=/=\[\.\.\.([$\w]+),\.\.\.(?:\[\.\.\.\1\]\.reverse\(\)|\1\.toReversed\(\))\]/g,pe=(e,t)=>{let n=[...e.matchAll(fe)];if(n.length===0)return/=\[\.\.\.[$\w]+\],/.test(e)&&!t?e:(console.error(`patch: thinker symbol mirror option: failed to find match`),null);let r=``,i=0,a=``,o=0,s=0;for(let c of n){let n=c.index;if(n===void 0)continue;let l=c[1],u=t?`=[...${l},...${l}.toReversed()]`:`=[...${l}]`;r+=e.slice(i,n)+u,i=n+c[0].length,a=u,o=r.length-u.length,s=r.length}return r+=e.slice(i),B(e,r,a,o,s),r},me=(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=X(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);B(s,t,a,o[e].startIndex,o[e].endIndex),s=t}return s},he=(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 B(e,o,r,i,a),o},ge=(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},_e=(e,t)=>{let n=ge(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);B(i,t,e.replacement,e.startIndex,e.endIndex),i=t}return i},ve=(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=X(JSON.stringify(t)),i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return B(e,o,r,i,a),o},ye=(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=X(JSON.stringify(r)),a=n.index,o=a+n[0].length,s=e.slice(0,a)+i+e.slice(o);return B(e,s,i,a,o),s},be=(e,t)=>{let n=ve(e,t);if(n===null)return null;let r=ye(n,t);return r===null?null:r},xe=e=>e.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),Se=`/*@@TWEAKCC_MODULE:`,Ce=(e,t)=>{let n=e.lastIndexOf(Se,t);if(n===-1)return e;let r=e.indexOf(Se,n+19);return e.slice(n,r===-1?e.length:r)},we=e=>{let t=0;for(;;){let n=e.indexOf(`No content found in user prompt message`,t);if(n===-1)return null;let r=n+39,i=e.indexOf(`function `,r),a=i===-1?e.length:i,o=e.slice(n,a),s=/(?<![.$\w])([$\w]+)\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+(?:,[$\w]+:[$\w!.]+)*\}\)/.exec(o);if(!s||s.index===void 0){t=r;continue}let c=s[1],l=s[2],u=o.slice(s.index+s[0].length),d=RegExp(`(?<![.$\\w])${q(c)}\\([$\\w]+,(\\{flexDirection:"column"[^{}]*?)(,children:)([$\\w]+)(\\})\\)`).exec(u);if(!d||d.index===void 0){t=r;continue}let f=s.index+s[0].length+d.index,p=d[0].indexOf(`,{`);if(p===-1){t=r;continue}let m=f+p+1;return{index:n,end:n+(f+d[0].length),prefix:o.slice(0,m),messageVar:l,callExpr:c,originalBoxAttrs:d[1],childrenKeyword:d[2]}}},Te=(e,t,n)=>{let r=Ce(e,t),i=RegExp(`(?<![.$\\w])${q(n)}\\(([$\\w]+),\\{color:"text"`);return r.match(i)?.[1]},Ee=e=>({index:e.index,end:e.index+e[0].length,prefix:e[1],messageVar:e[2],callExpr:`${e[3]}.jsx`,originalBoxAttrs:e[4],childrenKeyword:e[5]}),De=e=>{let t=[];if(e.borderStyle!==`none`){if(e.borderStyle.startsWith(`topBottom`)){let n=``;e.borderStyle===`topBottomSingle`?n=`{top:"─",bottom:"─",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:e.borderStyle===`topBottomDouble`?n=`{top:"═",bottom:"═",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`:e.borderStyle===`topBottomBold`&&(n=`{top:"━",bottom:"━",left:" ",right:" ",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}`),t.push(`borderStyle:${X(n)}`)}else t.push(`borderStyle:"${e.borderStyle}"`);let n=e.borderColor.match(/\d+/g);n&&t.push(`borderColor:"rgb(${n.join(`,`)})"`)}return e.paddingX!==`default`&&e.paddingX>0&&t.push(`paddingX:${e.paddingX}`),e.paddingY!==`default`&&e.paddingY>0&&t.push(`paddingY:${e.paddingY}`),e.fitBoxToContent&&t.push(`alignSelf:"flex-start"`),t},Oe=(e,t,n,r)=>{let{prefix:i,messageVar:a,callExpr:o,originalBoxAttrs:s,childrenKeyword:c,index:l,end:u}=t,d=s.slice(1),f=/backgroundColor:[$\w]+/;if(n.backgroundColor===null)d=d.replace(RegExp(`,?${f.source}`),``).replace(/^,|,$/g,``);else if(n.backgroundColor!==`default`){let e=n.backgroundColor.match(/\d+/g);if(e){let t=`backgroundColor:"rgb(${e.join(`,`)})"`;d=f.test(d)?d.replace(f,t):d?`${d},${t}`:t}}let p=De(n);p.length>0&&(d=d?`${d},${p.join(`,`)}`:p.join(`,`));let m=[];if(n.foregroundColor===`default`)m.push(`color:"text"`);else{let e=n.foregroundColor.match(/\d+/g);e&&m.push(`color:"rgb(${e.join(`,`)})"`)}if(n.backgroundColor!==`default`&&n.backgroundColor!==null){let e=n.backgroundColor.match(/\d+/g);e&&m.push(`backgroundColor:"rgb(${e.join(`,`)})"`)}else n.backgroundColor===`default`&&m.push(`backgroundColor:"userMessageBackground"`);n.styling.includes(`bold`)&&m.push(`bold:!0`),n.styling.includes(`italic`)&&m.push(`italic:!0`),n.styling.includes(`underline`)&&m.push(`underline:!0`),n.styling.includes(`strikethrough`)&&m.push(`strikethrough:!0`),n.styling.includes(`inverse`)&&m.push(`inverse:!0`);let h=m.length>0?`${m.join(`,`)},`:``,g=`(typeof ${a}==="object"&&${a}!==null?${a}.head+"\\n("+${a}.hiddenLines+" line"+(${a}.hiddenLines===1?"":"s")+" hidden)\\n"+${a}.tail:${a})`,_=`${o}(${r},{${h}children:${"`"+xe(n.format).replace(/\{\}/g,()=>"${"+g+`}`)+"`"}})`,v=i+`{${d}`+c+_+`})`,y=e.slice(0,l)+v+e.slice(u);return B(e,y,v,l,u),y},ke=(e,t)=>{let n=/(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]+)[^}]*\}\)\)?))/,r=/(No content found in user prompt message[\s\S]{0,100}?;return )([$\w]+(?:\.default)?)\.createElement\(([$\w]+),(\{flexDirection:"column"[^{}]*\}),([$\w]+(?:\.default)?)\.createElement\(([$\w]+),\{text:([$\w]+)[^{}]*\}\)\)/,i=/(No content found in user prompt message[\s\S]{0,400}?\.jsx\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+(?:,[$\w]+:[$\w!.]+)*\}\)[\s\S]{0,200}?([$\w]+)\.jsx\([$\w]+,)(\{flexDirection:"column"[^{}]*?)(,children:)([$\w]+)(\}\))/,a=we(e),o=a?null:e.match(i),s=a||o?null:e.match(r),c=a||o||s?null:e.match(/(No content found in user prompt message.{0,1200}?)([$\w]+)=([$\w]+(?:\.default)?\.createElement)\([$\w]+,\{text:([$\w]+),useBriefLayout:[$\w]+,timestamp:[$\w]+(?:,[$\w]+:[$\w!.]+)*\}\)/),l=a||o||s||c?null:e.match(n);if(!a&&!o&&!s&&(!c||c.index===void 0)&&(!l||l.index===void 0))return console.error(`patch: userMessageDisplay: failed to find user message display pattern`),null;if(a){let n=Te(e,a.index,a.callExpr)??(e.includes(Se)?void 0:rc(e));return n?Oe(e,a,t,n):(console.error(`patch: userMessageDisplay: failed to find Text component`),null)}let u=rc(e);if(!u)return console.error(`patch: userMessageDisplay: failed to find Text component`),null;if(o)return Oe(e,Ee(o),t,u);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 n=s[1],r=s[2],i=s[3],a=s[4],o=s[5],c=s[7],l=a.slice(1,-1),f=/backgroundColor:[^,}]+(?:\?[^,}:]+:[^,}:]+)*/;if(t.backgroundColor===null)l=l.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(`,`)})"`;l=l.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:${X(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&&(l=l?`${l},${p.join(`,`)}`:p.join(`,`));let m=`{${l}}`,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(c),v=n+`${r}.createElement(${i},${m},${o}.createElement(${u},${g},${"`"+xe(t.format).replace(/\{\}/g,()=>"${"+_+`}`)+"`"}))`,y=s.index,b=y+s[0].length,x=e.slice(0,y)+v+e.slice(b);return B(e,x,v,y,b),x}let f=ac(e);if(!f)return console.error(`patch: userMessageDisplay: failed to find Box component`),null;let p=Ks(e);if(!p)return console.error(`patch: userMessageDisplay: failed to find chalk variable`),null;let m=c??l,h=c?c[3]:l[4],g=c?c[4]:l[6]??l[7],_=[],v=t.borderStyle.startsWith(`topBottom`);if(t.borderStyle!==`none`){if(v){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:" "}`),_.push(`borderStyle:${X(e)}`)}else _.push(`borderStyle:"${t.borderStyle}"`);let e=t.borderColor.match(/\d+/g);e&&_.push(`borderColor:"rgb(${e.join(`,`)})"`)}t.paddingX===`default`?_.push(`paddingRight:1`):t.paddingX>0&&_.push(`paddingX:${t.paddingX}`),t.paddingY!==`default`&&t.paddingY>0&&_.push(`paddingY:${t.paddingY}`),t.fitBoxToContent&&_.push(`alignSelf:"flex-start"`);let y=p,b=[];if(t.foregroundColor!==`default`){let e=t.foregroundColor.match(/\d+/g);e&&(y+=`.rgb(${e.join(`,`)})`)}else b.push(`color:"text"`);if(t.backgroundColor!==`default`&&t.backgroundColor!==null){let e=t.backgroundColor.match(/\d+/g);if(e){y+=`.bgRgb(${e.join(`,`)})`;let t=`"rgb(${e.join(`,`)})"`;_.push(`backgroundColor:${t}`),b.push(`backgroundColor:${t}`)}}else t.backgroundColor===`default`&&(_.push(`backgroundColor:"userMessageBackground"`),b.push(`backgroundColor:"userMessageBackground"`));t.styling.includes(`bold`)&&(y+=`.bold`),t.styling.includes(`italic`)&&(y+=`.italic`),t.styling.includes(`underline`)&&(y+=`.underline`),t.styling.includes(`strikethrough`)&&(y+=`.strikethrough`),t.styling.includes(`inverse`)&&(y+=`.inverse`);let x=d(g),S="`"+xe(t.format).replace(/\{\}/g,()=>"${"+x+`}`)+"`",C=`${y}(${S})`,w=_.length>0?`{${_.join(`,`)}}`:`null`,T=b.length>0?`{${b.join(`,`)}}`:`null`,E=c?`${c[2]}=`:``,D=m[1]+`${E}${h}(${f},${w},${h}(${u},${T},${C}))`,O=m.index,k=O+m[0].length,A=e.slice(0,O)+D+e.slice(k);return B(e,A,D,O,k),A},Ae=(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},je=(e,t,n)=>{if(t.index===void 0)return null;let[,r,i,a,o,s,c]=t;if([...a.matchAll(/[$\w]+:([$\w]+)\.highlight\?\./g)].map(e=>e[1]).some(e=>e!==o))return console.error(`patch: inputPatternHighlighters: highlight prop run mixes segment variables`),null;let l=n?`${r}.jsx`:r,u=`(${o}.highlight?.style??(typeof ${o}.highlight?.color==="function"?${o}.highlight.color:void 0))`,d=e=>`,${e}:${u}?void 0:${o}.highlight?.${e}`,f=`return ${l}(${i},{${d(`color`).slice(1)}`+d(`backgroundColor`)+`,dimColor:${o}.highlight?.dimColor`+d(`inverse`)+d(`bold`)+d(`italic`)+d(`underline`)+d(`strikethrough`)+`,children:${l}(${s},{children:${u}?${u}(${o}.text):${o}.text})},${c})`,p=e.slice(0,t.index)+f+e.slice(t.index+t[0].length);return B(e,p,f,t.index,t.index+t[0].length),p},Me=e=>{if(e.includes(`.highlight?.style?void 0:`)||e.includes(`.highlight?.style??(typeof `))return e;let t=e.match(/return ([$\w]+)\(([$\w]+),\{((?:[$\w]+:([$\w]+)\.highlight\?\.[$\w]+,)+)children:\1\(([$\w]+),\{children:\4\.text\}\)\},([$\w]+)\)/);if(t&&t.index!==void 0)return je(e,t,!1);let n=e.match(/return ([$\w]+)\.jsx\(([$\w]+),\{((?:[$\w]+:([$\w]+)\.highlight\?\.[$\w]+,)+)children:\1\.jsx\(([$\w]+),\{children:\4\.text\}\)\},([$\w]+)\)/);if(n&&n.index!==void 0)return je(e,n,!0);let r=e.match(/(if\(([$\w]+)\.highlight\?\.color\))((return [$\w]+\.createElement\([$\w]+,\{key:[$\w]+),color:[$\w]+\.highlight\.color(\},[$\w]+\.createElement\([$\w]+,null,)([$\w]+\.text)(\)\)));/);if(r&&r.index!==void 0){let t=`${r[2]}.highlight.color(${r[6]})`,n=r[1]+`{if(typeof ${r[2]}.highlight.color==='function')`+r[4]+r[5]+t+r[7]+`;else `+r[3]+`}`,i=e.slice(0,r.index)+n+e.slice(r.index+r[0].length);return B(e,i,n,r.index,r.index+r[0].length),i}let i=/(return ([$\w]+)\.createElement\(([$\w]+),\{key:([$\w]+)),color:([$\w]+)\.highlight\?\.color,dimColor:\5\.highlight\?\.dimColor,inverse:\5\.highlight\?\.inverse\},(\2\.createElement\([$\w]+,null,\5\.text\))\)/,a=e.match(i);if(!a||a.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find highlight?.color renderer pattern`),null;let o=a[2],s=a[3],c=a[4],l=a[5];a[6];let u=RegExp(`if\\(${l.replace(`$`,`\\$`)}\\.highlight\\.color\\)return ([$\\w]+)\\.createElement\\([$\\w]+,\\{key:[$\\w]+\\},${l.replace(`$`,`\\$`)}\\.text\\.split\\(""\\)\\.map\\([^)]+\\)\\)`),d=e,f=d.match(u);if(f&&f.index!==void 0){let e=`if(typeof ${l}.highlight?.color==='function')return ${o}.createElement(${s},{key:${c}},${o}.createElement(${s},null,${l}.highlight.color(${l}.text)));`;d=d.slice(0,f.index)+e+d.slice(f.index)}let p=d.match(i);if(!p||p.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to re-find renderer after shimmer patch`),null;let m=p[2],h=p[3],g=p[4],_=p[5],v=p[6],y=`${_}.highlight?.style?${_}.highlight.style(${_}.text):${_}.text`,b=`return ${m}.createElement(${h},{key:${g},color:${_}.highlight?.style?void 0:${_}.highlight?.color,backgroundColor:${_}.highlight?.style?void 0:${_}.highlight?.backgroundColor,dimColor:${_}.highlight?.dimColor,inverse:${_}.highlight?.style?void 0:${_}.highlight?.inverse,bold:${_}.highlight?.style?void 0:${_}.highlight?.bold,italic:${_}.highlight?.style?void 0:${_}.highlight?.italic,underline:${_}.highlight?.style?void 0:${_}.highlight?.underline,strikethrough:${_}.highlight?.style?void 0:${_}.highlight?.strikethrough},${v.replace(`${_}.text`,y)})`,x=d.slice(0,p.index)+b+d.slice(p.index+p[0].length);return B(e,x,`shimmer guard + renderer`,0,0),x},Ne=(e,t,n)=>{let r=e.match(/([$\w]+;if\()([^()]{0,1500}?)(\)\{let [$\w]+=\[\];[\s\S]{0,3000}?)(if\([$\w]+&&[$\w]+&&![$\w]+\)([$\w]+)\.push\(\{start:[$\w]+,end:[$\w]+\+[$\w]+\.length,color:"warning",priority:\d+\}\))/),i=/((?:let |;|,)[$\w]+=[$\w]+\(\(\)=>\{let [$\w]+=\[\];[\s\S]{0,2000}?)(if\([$\w]+&&[$\w]+&&![$\w]+\)([$\w]+)\.push\(\{start:[$\w]+,end:[$\w]+\+[$\w]+\.length,color:"warning",priority:\d+\})/,a=/((?:,|;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+\})/,o,s,c,l,u;if(r&&r.index!==void 0){let[,e,t,n,i,a]=r;o=r.index,s=r[0].length,c=e+t+`||!0`+n,l=i,u=a}else{let t=e.match(i),n=t&&t.index!==void 0?t:e.match(a);if(!n||n.index===void 0)return console.error(`patch: inputPatternHighlighters: failed to find useMemo/push pattern`),null;o=n.index,s=n[0].length,c=n[1],l=n[2],u=n[3]}let d=Gs(e,o);d||console.log(`patch: inputPatternHighlighters: no chalk binding in the target module — using declarative styling props`);let f=Math.max(0,o-2e4),p=e.slice(f,o),m=[...p.matchAll(/[,{]draft:([$\w]+)[,}]/g)].at(-1)?.[1],h=/\binputValue:([$\w]+),/g,g=/\binput:([$\w]+),/g,_=[...p.matchAll(h)],v=[...p.matchAll(g)],y=_.at(-1)??v.at(-1)??null,b=m?`${m}.value`:y?.[1]??null;if(!b)return console.error(`patch: inputPatternHighlighters: failed to find input variable pattern (looked for draft:, inputValue: and input:)`),null;let x=``;for(let e=0;e<n.length;e++){let t=n[e],r=d?Ae(d,t):null,i=t.format??`{MATCH}`;JSON.stringify(i).replace(/\{MATCH\}/g,`"+x+"`);let a=t.foregroundColor;if(a){let e=a.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(e){let[,t,n,r]=e.map(Number);a=`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}}let o=a?JSON.stringify(a):`undefined`,s=t.backgroundColor;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):null,l=t.styling??[],f=l.includes(`bold`),p=l.includes(`italic`),m=l.includes(`underline`),h=l.includes(`inverse`),g=l.includes(`dim`),_=l.includes(`strikethrough`),v=t.regex??t.pattern;if(!v){console.error(`patch: inputPatternHighlighters: highlighter "${t.name}" has no regex/pattern; skipping`);continue}let y=t.regexFlags??``;y.includes(`g`)||(y+=`g`);let S;try{S=new RegExp(v,y)}catch(e){console.error(`patch: inputPatternHighlighters: highlighter "${t.name}" has invalid regex; skipping`,e);continue}let C=Hc(S);x+=`if(typeof ${b}==="string"){for(let m of ${b}.matchAll(${C})){${u}.push({start:m.index,end:m.index+m[0].length,color:${o}${c?`,backgroundColor:${c}`:``}${f?`,bold:!0`:``}${p?`,italic:!0`:``}${m?`,underline:!0`:``}${h?`,inverse:!0`:``}${g?`,dimColor:!0`:``}${_?`,strikethrough:!0`:``}${r?`,style:(x)=>${r}(x)`:``},priority:100})}}`}if(!x)return console.error(`patch: inputPatternHighlighters: no usable highlighters generated (all skipped)`),null;let S=c+x+l,C=e.slice(0,o),w=e.slice(o+s),T=C+``+S+w,E=r?-1:T.indexOf(`for(let m of ${b}.matchAll(`);if(E>-1){let e=[...T.slice(Math.max(0,E-2e3),E).matchAll(/[$\w]+\(\(\)=>\{/g)];if(e.length>0){let t=Math.max(0,E-2e3)+e[e.length-1].index,n=T.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;T.slice(n-1,n)===`]`&&(T.slice(n-200,n).includes(`,${b}]`)||(T=T.slice(0,n-1)+`,${b}]`+T.slice(n)));break}}}return B(e,T,``+S,o,o+s),T},Pe=(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=Ks(e);if(!r)return console.error(`patch: inputPatternHighlighters: failed to find chalk variable`),null;let i;return i=Me(e),i?(i=Ne(i,r,n),i||(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterCreation failed`),null)):(console.error(`^ patch: inputPatternHighlighters: writeCustomHighlighterImpl failed`),null)},Fe=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},Ie=e=>{let t=Fe(e);if(!t)return null;let n=e.slice(0,t.startIndex)+t.replacement+e.slice(t.endIndex);return B(e,n,t.replacement,t.startIndex,t.endIndex),n},Le=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 B(e,c,s,t.index,t.index+n.length),c},Re=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 B(e,r,n,t.index,t.index+t[0].length),r},ze=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 B(e,o,a,t.index,t.index+n.length),o},Be=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 B(e,a,i,t.index,t.index+n.length),a},Ve=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*\\[\\.\\.\\.${q(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 B(e,l,c,t.index,t.index+n.length),l},He=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 B(e,i,r,t.index,t.index),i},Ue=e=>{if(e.includes(`"opusplan[1m]"`))return console.log(`patch: opusplan1m: opusplan[1m] already supported natively — skipping`),e;let t=e,n=Le(t);if(n)t=n;else return console.error(`patch: opusplan1m: failed to apply mode switching patch`),null;if(n=Re(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model aliases list patch`),null;if(n=ze(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply description function patch`),null;if(n=Be(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply label function patch`),null;if(n=Ve(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply model selector options patch`),null;if(n=He(t),n)t=n;else return console.error(`patch: opusplan1m: failed to apply always-show-in-selector patch`),null;return t},We=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(/if\(!([$\w]+)&&!([$\w]+)\)\{?return null\}?;?(.{0,400}?isTranscriptMode:)\1,verbose:\2/);if(t&&t.index!==void 0){let n=t[3]+`true,verbose:`+t[2],r=t.index,i=r+t[0].length,a=e.slice(0,r)+n+e.slice(i);return B(e,a,n,r,i),a}let n=e.match(/(case"thinking":\{?)(if\(![$\w]+&&![$\w]+\)\{?return null\}?;?)(.{0,400}isTranscriptMode:).+?,/);if(!n||n.index===void 0)return console.error(`patch: thinkingVisibility: failed to find thinking visibility pattern`),null;let r=n[1]+n[3]+`true,`,i=n.index,a=i+n[0].length,o=e.slice(0,i)+r+e.slice(a);return B(e,o,r,i,a),o},Ge=(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 B(e,o,r,i,a),o},Ke=(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 B(e,o,r,i,a),o},qe=(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 B(e,c,a,o,s),c},Je=(e,t)=>{let n=e;if(t.plan){let e=Ge(n,t.plan);if(e===null)return null;n=e}if(t.explore){let e=Ke(n,t.explore);if(e===null)return null;n=e}if(t.generalPurpose){let e=qe(n,t.generalPurpose);if(e===null)return null;n=e}return n},Ye=(e,t,n,r)=>`${e}.createElement(${t}, null, ${e}.createElement(${n}, {color: "success", bold: true}, "\\u2503 "), ${e}.createElement(${n}, {dimColor: true}, \` * ${X(r)}\`)),`,Xe=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}},Ze=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}},Qe=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:\\[(?:[^[\\]]*?,)?${q(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}},$e=e=>{let t=Qe(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\\(${q(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(`,${q(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}},et=/([$\w]+)=([$\w]+)\(([$\w]+),\{children:\[[$\w]+," ",([$\w]+)\(([$\w]+),\{dimColor:!0,children:\["v",[$\w]+\]\}\)\]\}\)/,tt=/([$\w]+)=([$\w]+)\(([$\w]+),\{flexDirection:"row",gap:2,alignItems:"center",children:\[[$\w]+,[$\w]+\]\}\)/,nt=`/*@@TWEAKCC_MODULE:`,rt=(e,t)=>{let n=e.lastIndexOf(nt,t);return n===-1?0:n},it=(e,t)=>{let n=Math.max(rt(e,t),t-4e3),r=e.slice(n,t),i=/([$\w]+)\(([$\w]+),\{bold:!0,children:"Claude Code"\}\)/g,a=null;for(let e=i.exec(r);e!==null;e=i.exec(r))a=e;return a?{jsx:a[1],text:a[2]}:null},at=(e,t,n,r,i)=>{let a=[`${t}(${n},{children:[${e}(${r},{color:"success",bold:!0,children:"\\u2503 "}),${e}(${r},{color:"success",bold:!0,children:"\\u2713 tweakcc-fixed patches are applied"})]})`];for(let o of i){let i=X(JSON.stringify(` * ${o}`));a.push(`${t}(${n},{children:[${e}(${r},{color:"success",bold:!0,children:"\\u2503 "}),${e}(${r},{dimColor:!0,children:${i}})]})`)}return`${t}(${n},{flexDirection:"column",children:[${a.join(`,`)}]})`},ot=(e,t,n,r,i)=>{let a=!1,o=!1;if(r&&!e.includes(`+ tweakcc v${t}`)){let n=`,{dimColor:!0,children:["v"`,r=e.indexOf(n);for(;r!==-1&&!a;){let i=Math.max(0,r-180),o=e.slice(i,r+80).match(et);if(o&&o.index!==void 0){let n=i+o.index,r=it(e,n),s=`," ",${r?.jsx??o[4]}(${r?.text??o[5]},{color:"warning",bold:!0,children:${X(JSON.stringify(`+ tweakcc v${t}`))}})`,c=n+o[0].length-3,l=e;e=e.slice(0,c)+s+e.slice(c),B(l,e,s,c,c),a=!0;break}r=e.indexOf(n,r+27)}}if(i&&!e.includes(`tweakcc-fixed patches are applied`)){let t=e.indexOf(`flexDirection:"row",gap:2,alignItems:"center",children:[`),r=t===-1?0:Math.max(0,t-40),i=(t===-1?``:e.slice(r,t+120)).match(tt);if(i&&i.index!==void 0){let t=r+i.index,s=i[1],c=i[2],l=i[3],u=it(e,t);if(!u||u.text===l)return console.error(`patch: patchesAppliedIndication: failed to find the Text component near the startup banner`),{content:e,didVersion:a,didList:o};let d=u.jsx,f=u.text,p=`${s}=${c}(${l},{flexDirection:"column",children:[${i[0].slice(s.length+1)},${at(d,c,l,f,n)}]})`,m=e;e=e.slice(0,t)+p+e.slice(t+i[0].length),B(m,e,p,t,t+p.length),o=!0}}return{content:e,didVersion:a,didList:o}},st=(e,t,n,r=!0,i=!0)=>{let a=Xe(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);B(e,c,o,a.endIndex,a.endIndex);let l=ot(c,t,n,r,i);c=l.content;let u=r&&!l.didVersion,d=i&&!l.didList;if(!u&&!d)return c;if(c.includes(nt))return console.error(`patch: patchesAppliedIndication: failed to patch the imported-jsx header; the legacy createElement paths do not apply to a code-split bundle`),l.didVersion||l.didList?c:null;let f=Ks(e);if(!f)return!l.didVersion&&!l.didList?(console.error(`patch: patchesAppliedIndication: failed to find chalk variable`),null):c;let p=rc(e);if(!p)return!l.didVersion&&!l.didList?(console.error(`patch: patchesAppliedIndication: failed to find text component`),null):c;let m=Zs(e);if(!m)return!l.didVersion&&!l.didList?(console.error(`patch: patchesAppliedIndication: failed to find React variable`),null):c;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=Ze(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:${f}.hex("#FF8400").bold("+ tweakcc v${t}")})`,o=c;c=c.slice(0,e)+a+c.slice(e),B(o,c,a,e,e)}else{let e=`let _tw=${n.reactVar}.createElement(${n.textComponent},null,${f}.hex("#FF8400").bold("+ tweakcc v${t}"));`,r=c;c=c.slice(0,n.varInsertIndex)+e+c.slice(n.varInsertIndex),B(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),B(o,c,a,i,i)}}if(i){let e=ac(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=[`${m}.createElement(${e}, { flexDirection: "column" },`,`${m}.createElement(${e}, null, ${m}.createElement(${p}, {color: "success", bold: true}, "\\u2503 "), ${m}.createElement(${p}, {color: "success", bold: true}, "\\u2713 tweakcc-fixed patches are applied")),`];for(let t of n)t=t.replace(`CHALK_VAR`,f),s.push(Ye(m,e,p,t));s.push(`)`);let l=`${r}=${i}.jsxs(${a},{flexDirection:"column",children:[${o},${s.join(`
17
17
  `)}]})`,u=c;c=c.slice(0,t.index)+l+c.slice(t.index+t[0].length),B(u,c,l,t.index,t.index+l.length)}else{let t=$e(c);if(!t)console.log(`patch: patchesAppliedIndication: patch 3 skipped (see prior message)`);else{let r=[];r.push(`,${m}.createElement(${e}, { flexDirection: "column" },`),r.push(`${m}.createElement(${e}, null, ${m}.createElement(${p}, {color: "success", bold: true}, "\\u2503 "), ${m}.createElement(${p}, {color: "success", bold: true}, "\\u2713 tweakcc-fixed patches are applied")),`);for(let t of n)t=t.replace(`CHALK_VAR`,f),r.push(Ye(m,e,p,t));r.push(`),`);let i=r.join(`
18
18
  `);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),B(a,c,i,t.startIndex,t.endIndex)}}}return c};function ct(){try{let e=y(import.meta.url),t=p.dirname(e);for(let e=0;e<5;e++){let e=p.join(t,`data`,`prompts`),n=p.join(t,`package.json`);if(s.existsSync(n)&&s.existsSync(e))return e;let r=p.dirname(t);if(r===t)break;t=r}}catch{}return null}async function lt(e){let t=ct();if(t){let n=p.join(t,`prompts-${e}.json`);try{let e=await a.readFile(n,`utf-8`);return JSON.parse(e)}catch{}}let n=p.join(Qc,`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 Wc(t));try{await a.mkdir(Qc,{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 ut=()=>p.join(Z,`systemPromptOriginalHashes.json`),dt=()=>p.join(Z,`systemPromptAppliedHashes.json`),ft=(e,t)=>`${e}-${t}`,pt=e=>g.createHash(`md5`).update(e.trim(),`utf8`).digest(`hex`),mt=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 J(`${e} was not valid JSON — ignoring it and rebuilding.`),{};throw t}},ht=async(e,t)=>{await a.mkdir(Z,{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}},gt=async()=>mt(ut()),_t=async e=>ht(ut(),e),vt=async e=>{let t=await gt(),n=0;for(let r of e.prompts){let e=ft(r.id,r.version);t[e]||(t[e]=pt(I(r.pieces,r.identifiers,r.identifierMap)),n++)}return await _t(t),n},yt=async(e,t)=>(await gt())[ft(e,t)],bt=async()=>mt(dt()),xt=async e=>ht(dt(),e),St=async e=>{if(Object.keys(e).length===0)return;let t=await bt();for(let[n,r]of Object.entries(e))t[n]=r;await xt(t)},Ct=async()=>{let e=await bt(),t={};for(let n of Object.keys(e))t[n]=null;await xt(t)},wt=async e=>{try{let t=await bt();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=p.join(e,r),o=await a.readFile(i,`utf8`);if(pt((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}},Tt=(e,t)=>{let n=v(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}},Et=(e,t,n,r,i)=>{let a={name:e,description:t,ccVersion:n};return r.length>0&&(a.placeholders=r),qt(i,a)},Dt=async e=>{let t=u.join(Zc,`${e}.md`);try{return Tt(e,await a.readFile(t,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}},Ot=async(e,t,n,r,i,o)=>{let s=u.join(Zc,`${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(u.dirname(s),{recursive:!0}),await a.writeFile(s,Et(t,n,r,i,o)),!0},kt=(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+=X(o[e].replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${")):s+=t[o[e]];return{result:s,errors:[]}},P=(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 B(e,s,o,a.index,a.index+a[0].length),s},At=e=>RegExp(`${e}:\\(([$\\w]+)\\)=>([$\\w]+)\\(\\[([$\\w]+)\\(\\{content:\`((?:[^\`\\\\]|\\\\.)*)\`,isMeta:!0\\}\\)\\]\\)`),jt=(e,t,n)=>{let r=e.match(RegExp(`\\$\\{((?:[$\\w]+\\()*${t}\\.${n}\\)*)\\}`));return r?r[1]:null},F=(e,t)=>({placeholder:e,resolve:(e,n)=>jt(e,n,t)}),Mt=e=>({placeholder:e,resolve:(e,t)=>e.match(/\$\{([$\w]+\.name)\}/)?.[1]??e.match(/\$\{([$\w]+)\}/g)?.map(e=>e.slice(2,-1)).find(e=>e!==t)??null}),Nt=(e,t)=>{let n=e.match(At(t));return!n||n.index===void 0?null:{index:n.index,length:n[0].length,hParam:n[1],wrapFn:n[2],metaFn:n[3],template:n[4]}},Pt=(e,t)=>{let n=RegExp(`${t}:\\(([$\\w]+)\\)=>([$\\w]+)\\(\\[([$\\w]+)\\(\\{content:`),r=e.match(n);if(!r||r.index===void 0)return null;let i=r.index+r[0].length-8-1;if(e[i]!==`{`)return null;let a=It(e,i);if(a<0)return null;let o=e.slice(i+1,a);return!o.startsWith(`content:`)||!o.endsWith(`,isMeta:!0`)||e.slice(a+1,a+1+3)!==`)])`?null:{index:r.index,length:a+1+3-r.index,hParam:r[1],wrapFn:r[2],metaFn:r[3],template:o.slice(8,o.length-10)}},Ft=(e,t,n,r,i)=>{let a=t.replace(/_/g,`-`),o=Nt(e,t)??Pt(e,t);if(!o)return RegExp(`${t}:\\([$\\w]+\\)=>\\[\\]`).test(e)?e:(console.error(`patch: reminder ${a}: failed to find anchor`),null);let{index:s,length:c,hParam:l,wrapFn:u,metaFn:d,template:f}=o,p;if(i)p=`${t}:(${l})=>[]`;else{let e=r;for(let t of n){if(!e.includes(t.placeholder))continue;let n=t.resolve(f,l);if(n===null)return console.error(`patch: reminder ${a}: no pristine expression for ${t.placeholder}`),null;e=e.split(t.placeholder).join(`\${${n}}`)}p=`${t}:(${l})=>${u}([${d}({content:\`${e}\`,isMeta:!0})])`}let m=e.slice(0,s)+p+e.slice(s+c);return B(e,m,p,s,s+p.length),m},It=(e,t)=>{if(e[t]!==`{`)return-1;let n=0,r=!1,i=!1,a=!1,o=0;for(let s=t;s<e.length;s++){let t=e[s],c=e[s-1];if(i)t===`\\`?s++:t===`'`&&(i=!1);else if(a)t===`\\`?s++:t===`"`&&(a=!1);else if(r)t===`\\`?s++:t==="`"&&o===0?r=!1:t===`$`&&e[s+1]===`{`?(o++,s++):t===`}`&&o>0&&o--;else if(t===`'`&&c!==`\\`)i=!0;else if(t===`"`&&c!==`\\`)a=!0;else if(t==="`"&&c!==`\\`)r=!0;else if(t===`{`)n++;else if(t===`}`&&(n--,n===0))return s}return-1},Lt=(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=It(e,s-1);return c===-1?null:{headerIdx:o,bodyStart:s,bodyEnd:c}},Rt=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`}},zt=e=>{let t=e.match(/^\s*if\((!?[$\w]+\(\)(?:(?:\|\||&&)!?[$\w]+\(\))*)\)return\s*\[\]/);return t?t[1]:null},Bt=(e,t)=>{let n=e.match(RegExp(`([$\\w]+)\\.${t}\\b`));return n?n[1]:`H`},Vt=[{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:
19
19
  {{context_blocks}}
@@ -1,4 +1,4 @@
1
- import{A as e,C as t,ct as n,f as r,h as i,l as a,lt as o,n as s,p as c,r as l,u,ut as ee,w as d}from"./config-D0oIvLmc.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`)?c(`Permission denied accessing: ${t} (${n.code})`):c(`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`)?c(`Permission denied accessing: ${e} (${n.code})`):c(`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 c(`WASMagic initialization failed (likely SIMD unsupported on this CPU):`,e),c(`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{A as e,C as t,ct as n,f as r,h as i,l as a,lt as o,n as s,p as c,r as l,u,ut as ee,w as d}from"./config-DhAHzVuC.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`)?c(`Permission denied accessing: ${t} (${n.code})`):c(`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`)?c(`Permission denied accessing: ${e} (${n.code})`):c(`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 c(`WASMagic initialization failed (likely SIMD unsupported on this CPU):`,e),c(`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 c(`detectFileTypeFallback: Detected JavaScript via shebang`),`javascript`;if(e.length>=4){let t=e.subarray(0,4);if(t.equals(ie))return c(`detectFileTypeFallback: Detected ELF binary`),`binary`;if(t.equals(ae)||t.equals(oe)||t.equals(se)||t.equals(k)||t.equals(A))return c(`detectFileTypeFallback: Detected Mach-O binary`),`binary`}if(e.length>=2&&e.subarray(0,2).equals(j))return c(`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 c(`detectFileTypeFallback: Detected binary (${r} null bytes in first ${t} bytes)`),`binary`;let i=n/t;return i>.9?(c(`detectFileTypeFallback: Detected JavaScript via text heuristic (${Math.round(i*100)}% printable)`),`javascript`):(c(`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 c(`Failed to read file prefix:`,e),null}}async function P(e){if(process.platform===`win32`)return e;let t=await ee(e);return t?(c(`maybeResolveNixWrapper: resolved Nix wrapper ${e} -> ${t}`),t):e}async function F(e){try{let t=await b.realpath(e);c(`resolvePathToInstallationType: ${e} -> ${t}`);let n=await N(t);if(!n)return c(`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 c(`resolvePathToInstallationType: Detected mime type: ${n}`),n.includes(`javascript`)?{kind:`npm-based`,resolvedPath:t}:n.startsWith(`text/`)?(c(`resolvePathToInstallationType: Unrecognized file type`),null):{kind:`native-binary`,resolvedPath:await P(t)}}}c(`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)}:(c(`resolvePathToInstallationType: Fallback could not determine file type`),null)}catch(e){return c(`resolvePathToInstallationType: Error:`,e),null}}async function I(){c(`getClaudeFromPath: PATH = ${process.env.PATH}`),c(`getClaudeFromPath: PATHEXT = ${process.env.PATHEXT}`);try{let e=await w(`claude`);return c(`getClaudeFromPath: Found claude at ${e}`),e}catch{return c(`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())c(`Found version ${e} with ${t} occurrences`),t>i&&(i=t,a=e);return a&&c(`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:r}=await n(e);if(!t)throw Error(`Could not extract JS from native binary: ${e}${r?` (${r})`:``}`);let i=L(t.toString(`utf8`));if(!i)throw Error(`No VERSION strings found in extracted JS from: ${e}`);return i}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?(c(`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 r=x.join(n,`cli.js`);try{if(await i(r)){let n=await b.realpath(r).catch(()=>r);if(t.has(n))continue;t.add(n),c(`collectCandidates: Found cli.js at ${n}`);let i=await R(n);e.push({path:n,kind:`npm-based`,version:i})}}catch(e){c(`collectCandidates: Error checking ${r}:`,e)}}for(let n of ne)try{if(await i(n)){let r=await b.realpath(n).catch(()=>n);if(t.has(r))continue;t.add(r);let i=await P(r);c(`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){c(`collectCandidates: Error checking ${n}:`,e)}return[...e].sort((e,t)=>r(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 (${l}):
4
4
 
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{B as e,D as t,E as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,S as g,T as _,U as v,V as y,W as b,X as x,Y as S,Z as C,_ as w,a as T,at as ee,b as E,ct as D,d as O,g as te,h as k,i as ne,it as A,k as re,l as j,m as ie,n as ae,nt as oe,o as se,ot as M,p as N,q as ce,r as P,rt as F,s as I,st as le,t as ue,tt as de,u as fe,v as pe,x as me,y as he,z as L}from"./config-D0oIvLmc.mjs";import{a as ge,c as _e,d as ve,l as ye,n as be,o as xe,s as Se,t as Ce,u as we}from"./content-CwtgAAaV.mjs";import{Box as R,Text as z,render as Te,useInput as B,useStdin as Ee}from"ink";import{Command as De}from"commander";import V from"chalk";import Oe,{Fragment as ke,createContext as Ae,useCallback as je,useContext as H,useEffect as U,useMemo as Me,useRef as Ne,useState as W}from"react";import*as Pe from"node:os";import Fe from"ink-link";import*as Ie from"node:fs/promises";import*as G from"node:fs";import*as K from"node:path";import{execFile as Le,execSync as Re,spawn as ze}from"node:child_process";import Be from"gray-matter";import{structuredPatch as Ve}from"diff";import{Fragment as q,jsx as J,jsxs as Y}from"react/jsx-runtime";import He from"process";import Ue from"cli-spinners";import*as We from"node:readline";var X=({children:e,...t})=>Y(z,{bold:!0,backgroundColor:`#ffd500`,color:`#000`,...t,children:[` `,e,` `]});const Ge=[`\x1B[?25l\x1B[0m \x1B[38;2;0;0;0m \x1B[38;2;252;130;0m▂\x1B[38;2;252;130;0m▄\x1B[38;2;252;130;0m▅\x1B[38;2;252;130;0m▇\x1B[38;2;254;131;0m\x1B[48;2;252;130;0m▇\x1B[48;2;252;130;0m▇▇\x1B[48;2;252;130;0m▇\x1B[0m\x1B[38;2;252;130;0m▇\x1B[38;2;252;130;0m▅\x1B[38;2;252;130;0m▄\x1B[38;2;252;130;0m▂ \x1B[0m`,` \x1B[38;2;0;0;0m \x1B[38;2;254;131;0m▗\x1B[38;2;254;131;0m▆\x1B[48;2;254;131;0m \x1B[38;2;254;132;0m╶ \x1B[0m\x1B[38;2;254;131;0m▆\x1B[38;2;254;131;0m▖ \x1B[0m`,` \x1B[7m\x1B[38;2;254;131;0m▘\x1B[0m\x1B[38;2;11;6;0m\x1B[48;2;254;131;0m \x1B[38;2;254;216;182m\x1B[48;2;254;136;12m▃\x1B[38;2;254;249;246m\x1B[48;2;254;143;29m▅\x1B[38;2;254;253;253m\x1B[48;2;254;143;40m▆\x1B[38;2;254;254;253m\x1B[48;2;254;152;68m▆▆▆\x1B[38;2;254;253;252m\x1B[48;2;254;141;34m▆\x1B[38;2;254;247;242m\x1B[48;2;254;140;24m▅\x1B[38;2;254;224;199m\x1B[48;2;254;140;20m▖\x1B[48;2;254;131;0m \x1B[0m\x1B[7m\x1B[38;2;254;131;0m▝\x1B[0m \x1B[0m`,`\x1B[7m\x1B[38;2;251;127;0m▌\x1B[0m\x1B[38;2;251;127;0m\x1B[48;2;253;130;0m▃\x1B[38;2;252;128;0m\x1B[48;2;254;131;0m▃\x1B[38;2;252;129;0m▂\x1B[38;2;253;130;0m▁\x1B[38;2;249;135;16m\x1B[48;2;253;226;202m▋\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┈\x1B[48;2;246;246;245m┈\x1B[38;2;47;47;47m\x1B[48;2;244;244;243m▂\x1B[38;2;112;112;112m\x1B[48;2;251;251;251m▂\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m▁╌▝\x1B[38;2;254;254;253m\x1B[48;2;254;254;254m▋\x1B[38;2;254;254;254m\x1B[48;2;254;253;252m┈\x1B[38;2;252;209;168m\x1B[48;2;251;129;0m▍\x1B[38;2;253;129;0m\x1B[48;2;254;131;0m▂\x1B[38;2;252;128;0m▃\x1B[38;2;251;127;0m\x1B[48;2;253;130;0m▃\x1B[0m\x1B[38;2;251;127;0m▌\x1B[0m`,`\x1B[38;2;243;118;0m\x1B[48;2;243;118;0m▏\x1B[38;2;245;118;0m\x1B[48;2;248;122;0m▄\x1B[38;2;247;121;0m\x1B[48;2;247;122;0m┈\x1B[38;2;106;68;38m\x1B[48;2;245;123;2m▃\x1B[38;2;39;33;28m\x1B[48;2;211;109;6m▅\x1B[38;2;27;20;12m\x1B[48;2;237;237;237m▌\x1B[48;2;254;254;253m \x1B[38;2;90;90;89m\x1B[48;2;231;230;230m▝\x1B[38;2;215;215;214m\x1B[48;2;48;48;48m▁\x1B[38;2;203;203;202m\x1B[48;2;42;42;42m▂\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┇╴\x1B[38;2;253;252;252m▂\x1B[38;2;251;250;250m\x1B[48;2;253;253;253m▃\x1B[38;2;249;249;248m\x1B[48;2;252;252;251m▄\x1B[38;2;249;248;248m\x1B[48;2;237;118;0m▍\x1B[38;2;246;121;0m\x1B[48;2;250;125;0m▄\x1B[38;2;246;119;0m\x1B[48;2;249;124;0m▄\x1B[38;2;245;118;0m\x1B[48;2;248;123;0m▄\x1B[38;2;243;118;0m\x1B[48;2;243;118;0m▉\x1B[0m`,`\x1B[38;2;238;108;0m\x1B[48;2;237;109;0m▏\x1B[38;2;238;108;0m\x1B[48;2;241;113;0m▄\x1B[38;2;239;109;0m\x1B[48;2;242;114;0m▄\x1B[38;2;233;109;2m\x1B[48;2;125;73;29m▇\x1B[38;2;225;104;1m\x1B[48;2;50;32;18m▄\x1B[38;2;62;29;2m\x1B[48;2;239;237;237m▌\x1B[38;2;254;253;253m\x1B[48;2;254;254;254m┻\x1B[38;2;254;254;253m▊\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┊\x1B[38;2;253;253;252m▂\x1B[38;2;251;251;251m\x1B[48;2;254;253;253m▃\x1B[38;2;249;249;249m\x1B[48;2;252;252;252m▄\x1B[38;2;247;247;247m\x1B[48;2;250;250;250m▄\x1B[38;2;245;245;244m\x1B[48;2;248;248;248m▄\x1B[38;2;243;243;242m\x1B[48;2;246;246;245m▄\x1B[38;2;243;242;242m\x1B[48;2;230;109;0m▍\x1B[38;2;239;111;0m\x1B[48;2;243;116;0m▄\x1B[38;2;239;109;0m\x1B[48;2;242;114;0m▄\x1B[38;2;238;108;0m\x1B[48;2;241;113;0m▄\x1B[38;2;237;108;0m\x1B[48;2;238;108;0m▉\x1B[0m`,`\x1B[7m\x1B[38;2;231;98;0m▌\x1B[0m\x1B[38;2;231;98;0m\x1B[48;2;234;103;0m▄\x1B[38;2;231;99;0m\x1B[48;2;235;105;0m▄\x1B[38;2;232;100;0m\x1B[48;2;236;105;0m▄\x1B[38;2;232;101;0m\x1B[48;2;236;106;0m▄\x1B[38;2;223;99;0m\x1B[48;2;247;238;235m▌\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┊\x1B[38;2;252;252;251m▃\x1B[38;2;250;250;250m\x1B[48;2;253;253;252m▄\x1B[38;2;248;248;247m\x1B[48;2;251;251;250m▄\x1B[38;2;246;245;245m\x1B[48;2;249;248;248m▄\x1B[38;2;243;243;243m\x1B[48;2;246;246;246m▄\x1B[38;2;241;241;241m\x1B[48;2;244;244;244m▄\x1B[38;2;239;239;238m\x1B[48;2;242;242;242m▄\x1B[38;2;237;237;236m\x1B[48;2;240;240;239m▄\x1B[38;2;237;236;236m\x1B[48;2;223;99;0m▍\x1B[38;2;232;100;0m\x1B[48;2;236;106;0m▄\x1B[38;2;231;100;0m\x1B[48;2;235;105;0m▄\x1B[38;2;231;98;0m\x1B[48;2;234;103;0m▄\x1B[0m\x1B[38;2;231;98;0m▌\x1B[0m`,` \x1B[7m\x1B[38;2;224;89;0m▖\x1B[0m\x1B[38;2;224;89;0m\x1B[48;2;228;94;0m▄\x1B[38;2;225;90;0m\x1B[48;2;228;95;0m▄\x1B[38;2;225;91;0m\x1B[48;2;229;96;0m▄\x1B[38;2;217;90;1m\x1B[48;2;97;77;70m▌\x1B[38;2;70;70;70m\x1B[48;2;207;207;207m▆\x1B[38;2;66;65;65m\x1B[48;2;228;228;227m▄\x1B[38;2;66;66;66m\x1B[48;2;233;232;232m▂\x1B[38;2;169;169;169m\x1B[48;2;243;243;243m▁\x1B[38;2;240;239;239m\x1B[48;2;243;242;242m▄\x1B[38;2;238;237;237m\x1B[48;2;241;240;240m▄\x1B[38;2;235;235;235m\x1B[48;2;238;238;238m▄\x1B[38;2;233;233;233m\x1B[48;2;236;236;236m▄\x1B[38;2;231;231;230m\x1B[48;2;234;234;233m▄\x1B[38;2;231;230;230m\x1B[48;2;216;89;0m▍\x1B[38;2;225;90;0m\x1B[48;2;229;95;0m▄\x1B[38;2;224;89;0m\x1B[48;2;228;94;0m▄\x1B[0m\x1B[7m\x1B[38;2;224;89;0m▗\x1B[0m \x1B[0m`,` \x1B[38;2;0;0;0m \x1B[38;2;217;80;0m▝\x1B[7m\x1B[38;2;217;80;0m▂\x1B[0m\x1B[38;2;217;80;0m\x1B[48;2;221;86;0m▄\x1B[38;2;197;78;9m\x1B[48;2;66;66;65m▋\x1B[38;2;65;65;64m\x1B[48;2;60;60;60m▘\x1B[38;2;52;52;51m\x1B[48;2;56;56;56m▗\x1B[38;2;45;45;45m\x1B[48;2;50;50;49m▗\x1B[38;2;42;42;42m\x1B[48;2;46;46;46m┈\x1B[38;2;41;41;41m\x1B[48;2;203;202;202m▆\x1B[38;2;38;38;38m\x1B[48;2;218;218;218m▄\x1B[38;2;45;45;45m\x1B[48;2;221;221;221m▂\x1B[38;2;229;229;229m┊\x1B[38;2;225;225;225m\x1B[48;2;228;228;227m▄\x1B[38;2;225;224;224m\x1B[48;2;209;79;0m▍\x1B[0m\x1B[7m\x1B[38;2;217;80;0m▂\x1B[0m\x1B[38;2;217;80;0m▘ \x1B[0m`,` \x1B[38;2;0;0;0m \x1B[7m\x1B[38;2;191;73;0m▆\x1B[38;2;191;73;0m▄\x1B[38;2;56;55;55m▃\x1B[38;2;46;46;46m▁\x1B[0m\x1B[38;2;20;20;20m\x1B[48;2;42;42;42m▁\x1B[38;2;36;36;36m\x1B[48;2;35;34;34m╴\x1B[38;2;23;23;23m\x1B[48;2;29;29;28m▁\x1B[38;2;10;10;10m\x1B[48;2;22;22;22m▁\x1B[0m\x1B[7m\x1B[38;2;15;15;15m▁\x1B[38;2;22;22;21m▃\x1B[38;2;154;154;154m▅\x1B[38;2;175;116;83m▇\x1B[0m\x1B[38;2;17;15;14m \x1B[0m`,`\x1B[?25h\x1B[0m`];var Ke=()=>Y(R,{flexDirection:`row`,height:10,alignItems:`center`,borderStyle:`bold`,borderBottom:!1,borderTop:!1,borderRight:!1,borderColor:`#ff8400`,marginBottom:1,children:[Y(R,{marginBottom:1,paddingLeft:1,flexDirection:`column`,flexGrow:1,children:[J(z,{bold:!0,color:`#ff8400`,children:`Piebald is released!`}),J(z,{children:` `}),Y(z,{children:[`We've released `,J(z,{bold:!0,children:`Piebald`}),`, the ultimate agentic AI developer experience.`]}),Y(z,{children:[`Download it and try it out for free!`,` `,J(Fe,{url:`https://piebald.ai/`,fallback:!1,children:J(z,{color:`#ff8400`,children:`https://piebald.ai/`})})]}),J(z,{children:` `}),J(z,{dimColor:!0,color:`gray`,children:`press 'h' to hide`})]}),J(R,{width:22,flexShrink:0,flexDirection:`column`,alignItems:`center`,children:Ge.map((e,t)=>J(z,{children:e},t))})]});let Z=function(e){return e.THEMES=`Themes`,e.THINKING_VERBS=`Thinking verbs`,e.THINKING_STYLE=`Thinking style`,e.USER_MESSAGE_DISPLAY=`User message display`,e.INPUT_PATTERN_HIGHLIGHTERS=`Input pattern highlighters`,e.MISC=`Misc`,e.TOOLSETS=`Toolsets`,e.SUBAGENT_MODELS=`Subagent models`,e.COMPLEXITY_ROUTER=`Complexity effort router [experimental]`,e.FABLE_PLAN=`Fable Plan mode`,e.CLAUDE_MD_ALT_NAMES=`CLAUDE.md alternative names`,e.SYSTEM_REMINDERS=`System reminders (injection lobotomy)`,e.SKILLS=`Skills (per-skill on/name-only/user-invocable/off)`,e.BROWSER_BRIDGE=`Better Claude in Chrome`,e.VIEW_SYSTEM_PROMPTS=`View system prompts`,e.RESTORE_ORIGINAL=`Restore original Claude Code (preserves config.json)`,e.OPEN_CONFIG=`Open config.json`,e.OPEN_CLI=`Open Claude Code's cli.js`,e.EXIT=`Exit`,e}({});function qe({items:e,selectedIndex:t,onSelect:n,onSubmit:r}){return B((i,a)=>{e.length!==0&&(a.upArrow?n(t>0?t-1:e.length-1):a.downArrow?n(t<e.length-1?t+1:0):a.return&&r(e[t].name))}),J(R,{flexDirection:`column`,children:e.map((e,n)=>J(R,{children:Y(z,{children:[Y(z,{bold:n===t,color:n===t?`cyan`:void 0,...n===t?e.selectedStyles??{}:e.styles??{},children:[n===t?`❯ `:` `,e.name]}),e.desc&&n===t&&Y(z,{dimColor:!0,bold:!1,children:[` \x1B[0;2m`,`- `,e.desc]})]})},n))})}const Je=[{name:Z.THEMES,desc:`Modify Claude Code's built-in themes or create your own`},{name:Z.THINKING_VERBS,desc:`Customize the list of verbs that Claude Code uses when it's working`},{name:Z.THINKING_STYLE,desc:`Choose custom spinners`},{name:Z.USER_MESSAGE_DISPLAY,desc:`Customize how user messages are displayed`},{name:Z.INPUT_PATTERN_HIGHLIGHTERS,desc:`Create custom highlighters for patterns in your input`},{name:Z.MISC,desc:`Miscellaneous settings (input box border, etc.)`},{name:Z.TOOLSETS,desc:`Manage toolsets to control which tools are available`},{name:Z.SUBAGENT_MODELS,desc:`Configure which Claude model each subagent uses (Plan, Explore, etc.)`},{name:Z.COMPLEXITY_ROUTER,desc:`[EXPERIMENTAL] Auto-route reasoning effort by task complexity (routine=low ... hardest=max)`},{name:Z.FABLE_PLAN,desc:`Plan on one model, execute on another (a /model entry, like opusplan)`},{name:Z.CLAUDE_MD_ALT_NAMES,desc:`Configure alternative filenames for CLAUDE.md (e.g., AGENTS.md)`},{name:Z.SYSTEM_REMINDERS,desc:`Suppress per-turn <system-reminder> injections (skills list, MCP instructions, claudeMd wrapper, etc.)`},{name:Z.SKILLS,desc:`Per-skill listing control (writes settings.json skillOverrides — no patch needed)`},{name:Z.BROWSER_BRIDGE,desc:`Drive your real, logged-in tabs over CDP — a fuller take on Claude in Chrome`},{name:Z.VIEW_SYSTEM_PROMPTS,desc:`Opens the system prompts directory where you can customize Claude Code's system prompts`}],Ye=[{name:Z.RESTORE_ORIGINAL,desc:`Reverts your Claude Code install to its original state (your customizations are remembered and can be reapplied)`},{name:Z.OPEN_CONFIG,desc:`Opens your tweakcc config file (${P})`},{name:Z.OPEN_CLI,desc:`Opens Claude Code's cli.js file`},{name:Z.EXIT,desc:`Bye!`}];var Xe=({onSubmit:e})=>{let t=[...Je,...Ye],[n,r]=W(0);return J(qe,{items:t,selectedIndex:n,onSelect:r,onSubmit:t=>e(t)})};const Ze=()=>Y(R,{flexDirection:`row`,children:[J(X,{children:`tweakcc`}),J(z,{children:` (by `}),J(Fe,{url:`https://piebald.ai`,fallback:!1,children:J(z,{color:`#ff8400`,bold:!0,children:`Piebald`})}),J(z,{children:`)`})]}),Qe=()=>J(R,{children:Y(z,{color:`yellow`,children:[`⭐ `,J(z,{bold:!0,children:`Star the repo at `}),J(Fe,{url:`https://github.com/skrabe/tweakcc-fixed`,fallback:!1,children:J(z,{bold:!0,color:`cyan`,children:`https://github.com/skrabe/tweakcc-fixed`})}),J(z,{bold:!0,children:` if you find this useful!`}),` ⭐`]})}),$e=({notification:e})=>J(R,{borderLeft:!0,borderRight:!1,borderTop:!1,borderBottom:!1,borderStyle:`bold`,borderColor:e.type===`success`?`green`:e.type===`error`?`red`:e.type===`info`?`blue`:`yellow`,paddingLeft:1,flexDirection:`column`,children:J(z,{color:e.type===`success`?`green`:e.type===`error`?`red`:e.type===`info`?`blue`:`yellow`,children:e.message})}),et=({onSubmit:e,notification:t,configMigrated:n,showPiebaldAnnouncement:r,changesApplied:i,invocationCommand:a})=>Y(R,{flexDirection:`column`,gap:1,children:[n&&J(R,{children:J(z,{color:`blue`,bold:!0,children:"Note that in tweakcc v3.2.0+, `ccInstallationDir` config is deprecated. You are now migrated to `ccInstallationPath` which supports npm and native installs."})}),J(Ze,{}),J(R,{children:Y(z,{children:[J(z,{bold:!0,children:`Customize your Claude Code installation.`}),` `,Y(z,{dimColor:!0,children:[`Settings will be saved to `,ae.replace(Pe.homedir(),`~`),`/config.json.`]})]})}),J(r?Ke:Qe,{}),t&&J($e,{notification:t}),!i&&!t&&J($e,{notification:{message:`Your changes are configured but not applied.\nRun \`${a} --apply\` to apply your customizations!`,type:`info`}}),J(Xe,{onSubmit:e})]});function Q({color:e,backgroundColor:t,bold:n,dimColor:r,children:i}){let a=e?.startsWith(`ansi:`),o=t?.startsWith(`ansi:`);if(a||o){if(Oe.Children.toArray(i).some(e=>Oe.isValidElement(e)))return J(z,{children:i});let s=V;if(a){let t=e.slice(5);s=s[t]||s}if(o){let e=t.slice(5),n=e.startsWith(`bg`)?e:`bg${e.charAt(0).toUpperCase()}${e.slice(1)}`;s=s[n]||s}n&&(s=s.bold),r&&(s=s.dim);let c=Oe.Children.toArray(i).map(e=>typeof e==`string`||typeof e==`number`?String(e):``).join(``);return J(z,{children:s(c)})}return J(z,{color:e,backgroundColor:t,bold:n,dimColor:r,children:i})}function tt({text:e,nonShimmerColors:t,shimmerColors:n,shimmerWidth:r=3,updateDuration:i=50,restartPoint:a=10}){let[o,s]=W(0);return U(()=>{let t=setInterval(()=>{s(t=>{let n=t+1;return n>=e.length+a?-r:n})},i);return()=>clearInterval(t)},[e.length,a,i]),t.length===n.length?J(z,{children:e.split(``).map((i,a)=>{let s=a>=o&&a<o+r&&o<e.length,c=a%t.length;return J(z,{color:s?n[c]:t[c],children:i},a)})}):(console.error(`UltrathinkRainbowShimmer: nonShimmerColors and shimmerColors must have the same length`),J(z,{children:e}))}const nt=He.cwd();function rt({theme:e}){let{ccVersion:t}=H($);return Y(R,{flexDirection:`column`,paddingLeft:1,children:[J(R,{marginBottom:1,children:Y(z,{bold:!0,children:[`Preview: `,e.name]})}),J(R,{borderStyle:`single`,borderColor:`gray`,paddingX:1,children:Y(R,{flexDirection:`column`,children:[Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(Q,{color:e.colors.clawd_body,children:` ▐`}),J(z,{color:e.colors.clawd_body,backgroundColor:e.colors.clawd_background,children:`▛███▜`}),Y(z,{children:[J(Q,{color:e.colors.clawd_body,children:`▌ `}),` `,J(z,{bold:!0,children:`Claude Code`}),` `,t?`v${t}`:`v2.0.14`]})]}),Y(z,{children:[J(Q,{color:e.colors.clawd_body,children:`▝▜`}),J(z,{color:e.colors.clawd_body,backgroundColor:e.colors.clawd_background,children:`█████`}),J(Q,{color:e.colors.clawd_body,children:`▛▘`}),` `,g(),` · `,E()]}),Y(Q,{color:e.colors.clawd_body,children:[` `,`▘▘ ▝▝`,` `,nt]}),Y(z,{children:[Y(Q,{color:e.colors.success,children:[`Login successful. Press`,` `]}),J(Q,{bold:!0,color:e.colors.success,children:`Enter`}),Y(Q,{color:e.colors.success,children:[` `,`to continue…`]})]})]}),J(z,{children:`╭─────────────────────────────────────────────╮`}),Y(z,{children:[`│ 1 function greet() `,`{`,` `,`│`]}),Y(z,{children:[`│ 2`,` `,J(Q,{backgroundColor:e.colors.diffRemoved,color:e.colors.text,children:`- console.log("`}),J(Q,{backgroundColor:e.colors.diffRemovedWord,children:`Hello, World!`}),J(Q,{backgroundColor:e.colors.diffRemoved,children:`");`}),` `,`│`]}),Y(z,{children:[`│ 2`,` `,J(Q,{backgroundColor:e.colors.diffAdded,color:e.colors.text,children:`+ console.log("`}),J(Q,{backgroundColor:e.colors.diffAddedWord,children:`Hello, Claude!`}),J(Q,{backgroundColor:e.colors.diffAdded,children:`");`}),` `,`│`]}),J(Q,{color:e.colors.warning,children:`╭─────────────────────────────────────────────╮`}),Y(Q,{color:e.colors.warning,children:[`│ Do you trust the files in this folder?`,` `,`│`]}),Y(z,{children:[J(Q,{color:e.colors.warning,children:`│ `}),J(z,{dimColor:!0,children:`Enter to confirm · Esc to exit`}),Y(Q,{color:e.colors.warning,children:[` `,`│`]})]}),J(Q,{color:e.colors.bashBorder,children:`───────────────────────────────────────────────`}),Y(z,{children:[J(Q,{color:e.colors.bashBorder,children:`!`}),J(z,{children:` ls`})]}),J(Q,{color:e.colors.promptBorder,children:`───────────────────────────────────────────────`}),J(z,{children:Y(z,{children:[`> list the dir`,` `,J(tt,{text:`ultrathink`,nonShimmerColors:[e.colors.rainbow_red,e.colors.rainbow_orange,e.colors.rainbow_yellow,e.colors.rainbow_green,e.colors.rainbow_blue,e.colors.rainbow_indigo,e.colors.rainbow_violet],shimmerColors:[e.colors.rainbow_red_shimmer,e.colors.rainbow_orange_shimmer,e.colors.rainbow_yellow_shimmer,e.colors.rainbow_green_shimmer,e.colors.rainbow_blue_shimmer,e.colors.rainbow_indigo_shimmer,e.colors.rainbow_violet_shimmer],shimmerWidth:3,updateDuration:50,restartPoint:10})]})}),J(Q,{color:e.colors.planMode,children:`╭─────────────────────────────────────────────╮`}),Y(z,{children:[J(Q,{color:e.colors.planMode,children:`│ `}),Y(Q,{color:e.colors.permission,children:[`Ready to code?`,` `]}),J(z,{children:`Here is Claude's plan:`}),Y(Q,{color:e.colors.planMode,children:[` `,`│`]})]}),J(Q,{color:e.colors.permission,children:`╭─────────────────────────────────────────────╮`}),Y(z,{children:[J(Q,{color:e.colors.permission,children:`│ `}),J(z,{bold:!0,children:`Permissions:`}),` `,Y(Q,{backgroundColor:e.colors.permission,color:e.colors.inverseText,bold:!0,children:[` `,`Allow`,` `]}),` `,`Deny`,` `,`Workspace`,` `,J(Q,{color:e.colors.permission,children:`│`})]}),J(z,{children:`> list the dir`}),Y(z,{children:[J(Q,{color:e.colors.error,children:`●`}),J(z,{children:` Update(__init__.py)`})]}),Y(z,{children:[J(z,{children:` ⎿ `}),J(Q,{color:e.colors.error,children:`User rejected update to __init__.py`})]}),Y(z,{children:[` `,`1`,` `,Y(Q,{backgroundColor:e.colors.diffRemovedDimmed,children:[`- import`,` `]}),J(Q,{backgroundColor:e.colors.diffRemovedWordDimmed,children:`os`})]}),Y(z,{children:[` `,`2`,` `,Y(Q,{backgroundColor:e.colors.diffAddedDimmed,children:[`+ import`,` `]}),J(Q,{backgroundColor:e.colors.diffAddedWordDimmed,children:`random`})]}),Y(z,{children:[J(Q,{color:e.colors.success,children:`●`}),J(z,{children:` List(.)`})]}),Y(z,{children:[J(z,{children:`●`}),J(z,{children:` The directory `}),J(Q,{color:e.colors.permission,children:`C:\\Users\\user`}),Y(z,{children:[` `,`contains `,J(z,{bold:!0,children:`123`}),` files.`]})]}),Y(z,{children:[J(Q,{color:e.colors.claude,children:`✻ Th`}),J(Q,{color:e.colors.claudeShimmer,children:`ink`}),J(Q,{color:e.colors.claude,children:`ing… `}),J(z,{children:`(esc to interrupt)`})]}),J(z,{children:J(Q,{color:e.colors.autoAccept,children:`⏵⏵ accept edits on (shift+tab to cycle)`})}),J(z,{children:J(Q,{color:e.colors.planMode,children:`⏸ plan mode on (shift+tab to cycle)`})}),J(z,{children:J(Q,{color:e.colors.ide,children:`◯ IDE connected ⧉ 44 lines selected`})})]})})]})}function it({colorKey:e,theme:t,bold:n=!1}){let r=t.colors[e];return e===`inverseText`?J(Q,{color:r,backgroundColor:t.colors.permission,bold:n,children:e}):e.startsWith(`diff`)?J(Q,{backgroundColor:r,bold:n,color:t.colors.text,children:e}):J(Q,{color:r,bold:n,children:e})}function at({initialValue:e,onColorChange:r,onExit:i,colorKey:a,theme:o}){let s=st(e)||{h:0,s:50,l:50},c=ot(e)||{r:128,g:128,b:128},[l,u]=W(s),[d,f]=W(c),[p,m]=W(`hsl`),[h,g]=W(`h`),[_,v]=W(!1),[y,b]=W(!1);U(()=>{let t=st(e),n=ot(e);t&&n&&(v(!0),u(t),f(n),v(!1))},[e]),U(()=>{!_&&y&&r(`rgb(${d.r},${d.g},${d.b})`)},[l,d,_,y]),U(()=>{b(!0)},[]);let x=e=>{if(n(e)){let n=t(e),r=st(n),i=ot(n);r&&i&&(v(!0),u(r),f(i),v(!1))}};B((e,t)=>{if(e.length>1&&!t.ctrl&&!t.meta){x(e);return}t.return||t.escape?i():t.ctrl&&e===`a`?(m(e=>e===`hsl`?`rgb`:`hsl`),g(e=>p===`hsl`?e===`h`?`r`:e===`s`?`g`:`b`:e===`r`?`h`:e===`g`?`s`:`l`)):t.upArrow?g(p===`hsl`?e=>e===`h`?`l`:e===`s`?`h`:`s`:e=>e===`r`?`b`:e===`g`?`r`:`g`):t.downArrow||t.tab?g(p===`hsl`?e=>e===`h`?`s`:e===`s`?`l`:`h`:e=>e===`r`?`g`:e===`g`?`b`:`r`):t.leftArrow?S(t.shift||t.ctrl||t.meta?-10:-1):t.rightArrow&&S(t.shift||t.ctrl||t.meta?10:1)});let S=e=>{v(!0),p===`hsl`?u(t=>{let n={...t};h===`h`?n.h=Math.max(0,Math.min(359,t.h+e)):h===`s`?n.s=Math.max(0,Math.min(100,t.s+e)):h===`l`&&(n.l=Math.max(0,Math.min(100,t.l+e)));let[r,i,a]=w(n.h,n.s,n.l);return f({r,g:i,b:a}),n}):f(t=>{let n={...t};return h===`r`?n.r=Math.max(0,Math.min(255,t.r+e)):h===`g`?n.g=Math.max(0,Math.min(255,t.g+e)):h===`b`&&(n.b=Math.max(0,Math.min(255,t.b+e))),u(C(n.r,n.g,n.b)),n}),v(!1)},C=(e,t,n)=>{let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=o-s,l=(o+s)/2,u=0;c!==0&&(u=l>.5?c/(2-o-s):c/(o+s));let d=0;return c!==0&&(d=o===r?((i-a)/c+(i<a?6:0))/6:o===i?((a-r)/c+2)/6:((r-i)/c+4)/6),{h:Math.round(d*360),s:Math.round(u*100),l:Math.round(l*100)}},w=(e,t,n)=>{e/=360,t/=100,n/=100;let r=(1-Math.abs(2*n-1))*t,i=r*(1-Math.abs(e*6%2-1)),a=n-r/2,o=0,s=0,c=0;return 0<=e&&e<1/6?(o=r,s=i,c=0):1/6<=e&&e<2/6?(o=i,s=r,c=0):2/6<=e&&e<3/6?(o=0,s=r,c=i):3/6<=e&&e<4/6?(o=0,s=i,c=r):4/6<=e&&e<5/6?(o=i,s=0,c=r):5/6<=e&&e<1&&(o=r,s=0,c=i),[Math.round((o+a)*255),Math.round((s+a)*255),Math.round((c+a)*255)]},T=()=>{let e=[],t=[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[127,0,255],[255,0,255],[255,0,127],[255,0,0]];for(let n=0;n<40;n++){let r=n/39*(t.length-1),i=Math.floor(r),a=Math.ceil(r),o=r-i,[s,c,l]=t[i],[u,d,f]=t[a],p=Math.round(s+(u-s)*o),m=Math.round(c+(d-c)*o),h=Math.round(l+(f-l)*o);e.push(J(z,{backgroundColor:`rgb(${p},${m},${h})`,children:` `},n))}return e},ee=()=>{let e=[];for(let t=0;t<40;t++){let n=t/39*100,[r,i,a]=w(l.h,n,l.l);e.push(J(z,{backgroundColor:`rgb(${r},${i},${a})`,children:` `},t))}return e},E=()=>{let e=[];for(let t=0;t<40;t++){let n=t/39*100,[r,i,a]=w(l.h,l.s,n);e.push(J(z,{backgroundColor:`rgb(${r},${i},${a})`,children:` `},t))}return e},D=()=>{let[e,t,n]=w(l.h,l.s,l.l);return`rgb(${e},${t},${n})`},O=(e,t,n)=>{let r=e=>e.toString(16).padStart(2,`0`);return`#${r(e)}${r(t)}${r(n)}`},te=()=>{let e=[];for(let t=0;t<40;t++){let n=Math.round(t/39*255);e.push(J(z,{backgroundColor:`rgb(${n},${d.g},${d.b})`,children:` `},t))}return e},k=()=>{let e=[];for(let t=0;t<40;t++){let n=Math.round(t/39*255);e.push(J(z,{backgroundColor:`rgb(${d.r},${n},${d.b})`,children:` `},t))}return e},ne=()=>{let e=[];for(let t=0;t<40;t++){let n=Math.round(t/39*255);e.push(J(z,{backgroundColor:`rgb(${d.r},${d.g},${n})`,children:` `},t))}return e},A=(e,t)=>Math.round(e/t*39);return Y(R,{flexDirection:`column`,borderStyle:`single`,borderColor:`white`,padding:1,children:[Y(R,{flexDirection:`column`,children:[J(z,{bold:!0,children:`Color Picker`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{color:`gray`,dimColor:!0,children:`←→ to adjust (shift/ctrl/cmd +10)`}),J(z,{color:`gray`,dimColor:!0,children:`↑↓ to change bar`}),J(z,{color:`gray`,dimColor:!0,children:`ctrl+a to switch rgb/hsl`}),J(z,{color:`gray`,dimColor:!0,children:`paste color from clipboard`}),J(z,{color:`gray`,dimColor:!0,children:`enter to exit (auto-saved)`}),J(z,{color:`gray`,dimColor:!0,children:`esc to save and exit`})]})]}),p===`hsl`?Y(q,{children:[Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`h`?`yellow`:`white`,children:[h===`h`?`❯ `:` `,`Hue (`,l.h,`°):`]})}),J(R,{children:T().map((e,t)=>J(ke,{children:t===A(l.h,360)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`s`?`yellow`:`white`,children:[h===`s`?`❯ `:` `,`Saturation (`,l.s,`%):`]})}),J(R,{children:ee().map((e,t)=>J(ke,{children:t===A(l.s,100)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`l`?`yellow`:`white`,children:[h===`l`?`❯ `:` `,`Lightness (`,l.l,`%):`]})}),J(R,{children:E().map((e,t)=>J(ke,{children:t===A(l.l,100)?J(z,{children:`|`}):e},t))})]})]}):Y(q,{children:[Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`r`?`yellow`:`white`,children:[h===`r`?`❯ `:` `,`Red (`,d.r,`):`]})}),J(R,{children:te().map((e,t)=>J(ke,{children:t===A(d.r,255)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`g`?`yellow`:`white`,children:[h===`g`?`❯ `:` `,`Green (`,d.g,`):`]})}),J(R,{children:k().map((e,t)=>J(ke,{children:t===A(d.g,255)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`b`?`yellow`:`white`,children:[h===`b`?`❯ `:` `,`Blue (`,d.b,`):`]})}),J(R,{children:ne().map((e,t)=>J(ke,{children:t===A(d.b,255)?J(z,{children:`|`}):e},t))})]})]}),Y(R,{marginBottom:1,children:[J(z,{children:`Current: `}),J(z,{backgroundColor:D(),children:` `})]}),Y(R,{flexDirection:`row`,justifyContent:`space-between`,children:[Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:`Hex `}),a?.startsWith(`diff`)?J(z,{backgroundColor:D(),color:o?.colors?.text||`white`,bold:!0,children:O(d.r,d.g,d.b)}):a===`inverseText`?J(z,{color:D(),backgroundColor:o?.colors?.permission,bold:!0,children:O(d.r,d.g,d.b)}):J(z,{color:D(),bold:!0,children:O(d.r,d.g,d.b)})]}),Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:`RGB `}),a?.startsWith(`diff`)?J(z,{backgroundColor:D(),color:o?.colors?.text||`white`,bold:!0,children:`rgb(${d.r}, ${d.g}, ${d.b})`}):a===`inverseText`?J(z,{color:D(),backgroundColor:o?.colors?.permission,bold:!0,children:`rgb(${d.r}, ${d.g}, ${d.b})`}):J(z,{color:D(),bold:!0,children:`rgb(${d.r}, ${d.g}, ${d.b})`})]}),Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:`HSL `}),a?.startsWith(`diff`)?J(z,{backgroundColor:D(),color:o?.colors?.text||`white`,bold:!0,children:`hsl(${l.h}, ${l.s}%, ${l.l}%)`}):a===`inverseText`?J(z,{color:D(),backgroundColor:o?.colors?.permission,bold:!0,children:`hsl(${l.h}, ${l.s}%, ${l.l}%)`}):J(z,{color:D(),bold:!0,children:`hsl(${l.h}, ${l.s}%, ${l.l}%)`})]})]})]})}function ot(e){let t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(t)return{r:parseInt(t[1]),g:parseInt(t[2]),b:parseInt(t[3])};let n=e.match(/^#([a-fA-F0-9]{6})$/);if(n){let e=n[1];return{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16)}}return null}function st(e){let t=e.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);if(t)return{h:parseInt(t[1]),s:parseInt(t[2]),l:parseInt(t[3])};let n=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(n){let e=parseInt(n[1])/255,t=parseInt(n[2])/255,r=parseInt(n[3])/255,i=Math.max(e,t,r),a=Math.min(e,t,r),o=i-a,s=(i+a)/2,c=0;o!==0&&(c=s>.5?o/(2-i-a):o/(i+a));let l=0;return o!==0&&(l=i===e?((t-r)/o+(t<r?6:0))/6:i===t?((r-e)/o+2)/6:((e-t)/o+4)/6),{h:Math.round(l*360),s:Math.round(c*100),l:Math.round(s*100)}}let r=e.match(/^#([a-fA-F0-9]{6})$/);if(r){let e=r[1],t=parseInt(e.substr(0,2),16)/255,n=parseInt(e.substr(2,2),16)/255,i=parseInt(e.substr(4,2),16)/255,a=Math.max(t,n,i),o=Math.min(t,n,i),s=a-o,c=(a+o)/2,l=0;s!==0&&(l=c>.5?s/(2-a-o):s/(a+o));let u=0;return s!==0&&(u=a===t?((n-i)/s+(n<i?6:0))/6:a===n?((i-t)/s+2)/6:((t-n)/s+4)/6),{h:Math.round(u*360),s:Math.round(l*100),l:Math.round(c*100)}}return{h:0,s:50,l:50}}function ct({onBack:e,themeId:r}){let{settings:{themes:i},updateSettings:a}=H($),[o,s]=W(r),c=i.find(e=>e.id===o)||i[0],[l,u]=W(`rgb`),[f,p]=W(0),[m,h]=W(null),[g,_]=W(null),[v,y]=W(``),[b,x]=W(``),[S,C]=W(!1),[w,T]=W(0),ee=je(e=>{a(t=>{let n=t.themes.findIndex(e=>e.id===o);n!==-1&&e(t.themes[n])})},[o,a]),E=e=>{if(f>=2&&n(e)){let n=t(e),r=D[f-2];ee(e=>{e.colors[r]=n})}};B((t,n)=>{if(S){if(n.escape){C(!1),e();return}return}if(m===null&&g===null){if(t.length>1&&!n.ctrl&&!n.meta){E(t);return}if(n.escape)C(!0),T(0);else if(n.ctrl&&t===`a`)u(e=>e===`rgb`?`hex`:e===`hex`?`hsl`:`rgb`);else if(n.upArrow)p(e=>Math.max(0,e-1));else if(n.downArrow)p(e=>Math.min(D.length+1,e+1));else if(n.return)if(f===0)_(`name`),y(c.name),x(c.name);else if(f===1)_(`id`),y(c.id),x(c.id);else{let e=f-2,t=D[e],n=c.colors[t];h(e),y(n),x(n)}}else if(m!==null)n.ctrl&&t===`a`&&u(e=>e===`rgb`?`hex`:e===`hex`?`hsl`:`rgb`);else if(g!==null)if(n.return){if(g===`id`){let e=o;s(v),a(t=>{let n=t.themes.findIndex(t=>t.id===e);n!==-1&&(t.themes[n].id=v)})}else ee(e=>{e.name=v});_(null),y(``),x(``)}else n.escape?(_(null),y(``),x(``)):n.backspace||n.delete?y(e=>e.slice(0,-1)):t&&y(e=>e+t)});let D=Object.keys(c.colors),O=(e,t)=>{let n=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(!n)return e;let r=parseInt(n[1]),i=parseInt(n[2]),a=parseInt(n[3]);switch(t){case`hex`:{let e=e=>e.toString(16).padStart(2,`0`);return`#${e(r)}${e(i)}${e(a)}`}case`hsl`:{let e=r/255,t=i/255,n=a/255,o=Math.max(e,t,n),s=Math.min(e,t,n),c=o-s,l=(o+s)/2,u=0;c!==0&&(u=l>.5?c/(2-o-s):c/(o+s));let d=0;return c!==0&&(d=o===e?((t-n)/c+(t<n?6:0))/6:o===t?((n-e)/c+2)/6:((e-t)/c+4)/6),`hsl(${Math.round(d*360)}, ${Math.round(u*100)}%, ${Math.round(l*100)}%)`}case`rgb`:default:return e}},te=e=>({autoAccept:`Auto-accept edits mode indicator`,bashBorder:`Bash command border`,claude:`Claude branding color. Used for the Claude logo, the welcome message, and the thinking text.`,claudeShimmer:`Color used for the shimmering effect on the thinking verb.`,claudeBlue_FOR_SYSTEM_SPINNER:`System spinner color (blue variant)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`System spinner shimmer color (blue variant)`,permission:`Permission prompt color`,permissionShimmer:`Permission prompt shimmer color`,planMode:`Plan mode indicator`,ide:`Color used for IDE-related messages.`,promptBorder:`Input prompt border color`,promptBorderShimmer:`Input prompt border shimmer color`,text:`Code color. Used in diffs.`,inverseText:`Inverse text color. Used for the text of tabs, where the background is filled in.`,inactive:`Inactive/dimmed text. Used for line numbers and less prominent text.`,subtle:`Subtle text. Used for help text and secondary information.`,suggestion:`Suggestion text color. Used for suggestions for theme names and various other things.`,remember:`Remember/note color. Used for various text relating to memories.`,background:`Background color for certain UI elements`,success:`Success indicator. Used for the bullet on successful tool calls, and various success messages (such as sign in successful).`,error:`Error indicator`,warning:`Warning indicator`,warningShimmer:`Warning shimmer color`,diffAdded:`Added diff background`,diffRemoved:`Removed diff background`,diffAddedDimmed:`Added diff background (dimmed)`,diffRemovedDimmed:`Removed diff background (dimmed)`,diffAddedWord:`Added word highlight`,diffRemovedWord:`Removed word highlight`,diffAddedWordDimmed:`Added word highlight (dimmed)`,diffRemovedWordDimmed:`Removed word highlight (dimmed)`,red_FOR_SUBAGENTS_ONLY:`Red color for sub agents`,blue_FOR_SUBAGENTS_ONLY:`Blue color for sub agents`,green_FOR_SUBAGENTS_ONLY:`Green color for sub agents`,yellow_FOR_SUBAGENTS_ONLY:`Yellow color for sub agents`,purple_FOR_SUBAGENTS_ONLY:`Purple color for sub agents`,orange_FOR_SUBAGENTS_ONLY:`Orange color for sub agents`,pink_FOR_SUBAGENTS_ONLY:`Pink color for sub agents`,cyan_FOR_SUBAGENTS_ONLY:`Cyan color for sub agents`,professionalBlue:`Professional blue color for business contexts?`,rainbow_red:`"ultrathink" rainbow - red`,rainbow_orange:`"ultrathink" rainbow - orange`,rainbow_yellow:`"ultrathink" rainbow - yellow`,rainbow_green:`"ultrathink" rainbow - green`,rainbow_blue:`"ultrathink" rainbow - blue`,rainbow_indigo:`"ultrathink" rainbow - indigo`,rainbow_violet:`"ultrathink" rainbow - violet`,rainbow_red_shimmer:`"ultrathink" rainbow (shimmer) - red`,rainbow_orange_shimmer:`"ultrathink" rainbow (shimmer) - orange`,rainbow_yellow_shimmer:`"ultrathink" rainbow (shimmer) - yellow`,rainbow_green_shimmer:`"ultrathink" rainbow (shimmer) - green`,rainbow_blue_shimmer:`"ultrathink" rainbow (shimmer) - blue`,rainbow_indigo_shimmer:`"ultrathink" rainbow (shimmer) - indigo`,rainbow_violet_shimmer:`"ultrathink" rainbow (shimmer) - violet`,clawd_body:`"Clawd" character body color`,clawd_background:`"Clawd" character background color`,userMessageBackground:`Background color for user messages`,bashMessageBackgroundColor:`Background color for bash command output`,memoryBackgroundColor:`Background color for memory/context information`,rate_limit_fill:`Rate limit indicator fill color`,rate_limit_empty:`Rate limit indicator empty/background color`})[e]||``,k=Math.max(...D.map(e=>e.length));return Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{children:Y(X,{children:[`Editing theme “`,c.name,`” (`,c.id,`)`]})}),S?Y(R,{flexDirection:`column`,marginTop:1,children:[J(R,{marginBottom:1,children:Y(z,{bold:!0,children:[`Would you like to make “`,c.name,`” your current Claude Code theme?`]})}),J(qe,{items:[{name:`Yes`,desc:`Set ${c.id} as active theme`},{name:`No`,desc:`Go back without changing theme`}],selectedIndex:w,onSelect:T,onSubmit:()=>{w===0&&d(c.id),C(!1),e()}}),J(z,{dimColor:!0,children:`enter to select, esc to cancel`})]}):m===null&&g===null?Y(q,{children:[Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`enter to edit theme name, id, or color`}),J(z,{dimColor:!0,children:`ctrl+a to toggle rgb, hex, hsl`}),J(z,{dimColor:!0,children:`paste color from clipboard (when on color)`}),J(z,{dimColor:!0,children:`esc to go back`})]}),f<2?Y(R,{marginBottom:1,borderStyle:`single`,borderTop:!1,borderBottom:!1,borderRight:!1,borderColor:`yellow`,flexDirection:`column`,paddingLeft:1,children:[J(z,{bold:!0,children:f===0?`Theme Name`:`Theme ID`}),J(z,{children:f===0?`The display name for this theme`:"Unique identifier for this theme; used in `.claude.json` to select the theme."})]}):Y(R,{marginBottom:1,borderStyle:`single`,borderTop:!1,borderBottom:!1,borderRight:!1,borderColor:c.colors[D[f-2]],flexDirection:`column`,paddingLeft:1,children:[J(it,{colorKey:D[f-2],theme:c,bold:!0}),J(z,{children:te(D[f-2])})]}),Y(R,{flexDirection:`column`,children:[Y(R,{children:[J(z,{color:f===0?`yellow`:`white`,children:f===0?`❯ `:` `}),J(z,{bold:!0,children:`Name: `}),J(z,{children:c.name})]}),Y(R,{marginBottom:1,children:[J(z,{color:f===1?`yellow`:`white`,children:f===1?`❯ `:` `}),J(z,{bold:!0,children:`ID: `}),J(z,{children:c.id})]}),(()=>{if(f<2)return Y(q,{children:[D.slice(0,20).map((e,t)=>{let n=t+2;return Y(R,{children:[J(z,{color:f===n?`yellow`:`white`,children:f===n?`❯ `:` `}),J(R,{width:k+2,children:J(z,{children:J(it,{colorKey:e,theme:c,bold:!0})})}),J(Q,{color:c.colors[e],children:O(c.colors[e],l)})]},e)}),D.length>20&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,D.length-20,` more below`]})]});let e=f-2,t=Math.max(0,e-10),n=Math.min(D.length,t+20),r=Math.max(0,n-20),i=D.slice(r,n);return Y(q,{children:[r>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,r,` more above`]}),i.map((e,t)=>{let n=r+t+2;return Y(R,{children:[J(z,{color:f===n?`yellow`:`white`,children:f===n?`❯ `:` `}),J(R,{width:k+2,children:J(z,{children:J(it,{colorKey:e,theme:c,bold:!0})})}),J(Q,{color:c.colors[e],children:O(c.colors[e],l)})]},e)}),n<D.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,D.length-n,` more below`]})]})})()]})]}):g?Y(R,{flexDirection:`column`,marginTop:1,children:[Y(z,{children:[`Editing `,g===`name`?`theme name`:`theme ID`,`:`]}),J(R,{borderStyle:`round`,borderColor:`yellow`,paddingX:1,children:J(z,{children:v})}),J(z,{dimColor:!0,children:`enter to save, esc to cancel`})]}):J(at,{initialValue:b,colorKey:D[m],theme:c,onColorChange:e=>{y(e),ee(t=>{t.colors[D[m]]=e})},onExit:()=>{ee(e=>{e.colors[D[m]]=v}),h(null),y(``),x(``)}})]}),J(R,{width:`50%`,children:J(rt,{theme:c})})]})}const lt=`https://raw.githubusercontent.com/Piebald-AI/claude-code-themes/main`,ut=`${lt}/index.json`,dt=2e4;async function ft(){N(`Fetching community theme index from ${ut}`);let e=await fetch(ut,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(dt)});if(!e.ok)throw Error(`Failed to fetch community theme index: ${e.status} ${e.statusText}`);return JSON.parse(await re(e))}async function pt(e){let t=`${lt}/themes/${e}.json`;N(`Fetching community theme from ${t}`);let n=await fetch(t,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(dt)});if(!n.ok)throw Error(`Failed to fetch community theme "${e}": ${n.status} ${n.statusText}`);return JSON.parse(await re(n))}function mt({onBack:e}){let{updateSettings:t}=H($),[n,r]=W({status:`loading`}),[i,a]=W(0),[o,s]=W(null),[c,l]=W(!1),[u,d]=W(null),f=Ne(0);U(()=>{ft().then(e=>{r({status:`loaded`,entries:e})}).catch(e=>{r({status:`error`,message:e.message})})},[]);let p=n.status===`loaded`?n.entries:[],m=je(async e=>{let t=++f.current;l(!0),d(null);try{let n=await pt(e);if(t!==f.current)return;s(ie(n,le))}catch{if(t!==f.current)return;s(null),d(`Failed to load preview.`)}finally{t===f.current&&l(!1)}},[]),h=je(async e=>{d(`Downloading theme…`);try{let n=ie(await pt(e.id),le),r=!1;t(e=>{e.themes.some(e=>e.id===n.id)||(e.themes.push(n),r=!0)}),d(r?`Added "${n.name}" to your themes!`:`Theme "${n.name}" (${n.id}) is already in your config.`)}catch{d(`Failed to download theme.`)}},[t]);return B((t,r)=>{if(r.escape){e();return}if(n.status!==`loaded`)return;let o=n.entries.length;if(o!==0){if(r.upArrow)a(e=>Math.max(0,e-1)),s(null),d(null);else if(r.downArrow)a(e=>Math.min(o-1,e+1)),s(null),d(null);else if(t===` `){let e=n.entries[i];e&&m(e.id)}else if(r.return){let e=n.entries[i];e&&h(e)}}}),n.status===`loading`?Y(R,{flexDirection:`column`,children:[J(X,{children:`Community Themes`}),J(z,{children:`Loading community themes…`})]}):n.status===`error`?Y(R,{flexDirection:`column`,children:[J(X,{children:`Community Themes`}),Y(z,{color:`red`,children:[`Error: `,n.message]}),J(z,{dimColor:!0,children:`esc to go back`})]}):Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(X,{children:`Community Themes`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`space to preview theme`}),J(z,{dimColor:!0,children:`enter to download theme`}),J(z,{dimColor:!0,children:`esc to go back`})]}),J(R,{flexDirection:`column`,children:p.map((e,t)=>Y(z,{color:i===t?`yellow`:void 0,children:[i===t?`❯ `:` `,e.name,` (`,e.id,`) by @`,e.author]},e.id))}),u&&J(R,{marginTop:1,children:J(z,{color:`cyan`,children:u})}),c&&J(R,{marginTop:1,children:J(z,{dimColor:!0,children:`Loading preview…`})})]}),J(R,{width:`50%`,children:o?J(rt,{theme:o}):J(R,{flexDirection:`column`,justifyContent:`center`,alignItems:`center`,height:10,children:J(z,{dimColor:!0,children:`Press space to preview the selected theme.`})})})]})}function ht(e){return e.map(e=>`${e.name} (${e.id})`)}function gt({onBack:e}){let{settings:{themes:t},updateSettings:n}=H($),[r,i]=W(0),[a,o]=W(null),[s,c]=W(!0),[l,u]=W(!1),d=t.length+1,f=()=>{let e={colors:{...(t[0]||M.themes[0]).colors},name:`New Custom Theme`,id:`custom-${Date.now()}`};n(t=>{t.themes.push(e)}),o(e.id),c(!1)},p=e=>{t.length<=1||(n(t=>{t.themes=t.themes.filter(t=>t.id!==e)}),r>=t.length-1&&i(Math.max(0,t.length-2)))},m=()=>{n(e=>{e.themes=[...M.themes]}),i(0)},h=r===t.length;if(B((n,a)=>{if(a.escape)e();else if(a.upArrow)i(e=>Math.max(0,e-1));else if(a.downArrow)i(e=>Math.min(d-1,e+1));else if(a.return)if(h)u(!0),c(!1);else{let e=t[r];e&&(o(e.id),c(!1))}else if(n===`n`)f();else if(n===`d`){if(!h){let e=t[r];e&&p(e.id)}}else a.ctrl&&n===`r`&&m()},{isActive:s}),l)return J(mt,{onBack:()=>{u(!1),c(!0)}});if(a)return J(ct,{themeId:a,onBack:()=>{o(null),c(!0)}});let g=ht(t),_=t.find(e=>g[r]?.includes(`(${e.id})`))||t[0];return t.length===0?J(R,{children:Y(R,{flexDirection:`column`,width:`100%`,children:[J(X,{children:`Themes`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new theme`}),J(z,{dimColor:!0,children:`esc to go back`})]}),J(z,{children:`No themes available!`})]})}):Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(X,{children:`Themes`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new theme`}),J(z,{dimColor:!0,children:`d to delete a theme`}),J(z,{dimColor:!0,children:`ctrl+r to delete all themes and restore built-in`}),J(z,{dimColor:!0,children:`enter to edit theme`}),J(z,{dimColor:!0,children:`esc to go back`})]}),Y(R,{flexDirection:`column`,children:[g.map((e,t)=>Y(z,{color:r===t?`yellow`:void 0,children:[r===t?`❯ `:` `,e]},t)),Y(z,{color:h?`blue`:void 0,bold:h,children:[h?`❯ `:` `,`Browse community themes…`]})]})]}),J(R,{width:`50%`,children:h?J(R,{flexDirection:`column`,justifyContent:`center`,alignItems:`center`,height:10,children:J(z,{dimColor:!0,children:`Press enter to browse community themes.`})}):J(rt,{theme:_})})]})}function _t(e,t,n){let r=Math.max(0,e-Math.floor(n/2)),i=Math.min(t,r+n);return{start:Math.max(0,i-n),end:i}}function vt({onBack:e}){let{settings:{thinkingVerbs:{format:t,verbs:n},themes:r},updateSettings:i}=H($),a=[`format`,`verbs`],[o,s]=W(0),c=a[o],[l,u]=W(0),[d,f]=W(!1),[p,m]=W(``),[h,g]=W(!1),[_,v]=W(!1),[y,b]=W(t),x=me(),S=(r.find(e=>e.id===x)||r.find(e=>e.id===`dark`))?.colors.claude||`rgb(215,119,87)`;return B((r,o)=>{if(_){o.return?(i(e=>{e.thinkingVerbs.format=y}),v(!1)):o.escape?(b(t),v(!1)):o.backspace||o.delete?b(e=>e.slice(0,-1)):r&&b(e=>e+r);return}if(d||h){o.return&&p.trim()?(h?(i(e=>{e.thinkingVerbs.verbs.push(p.trim())}),g(!1)):(i(e=>{e.thinkingVerbs.verbs[l]=p.trim()}),f(!1)),m(``)):o.escape?(m(``),f(!1),g(!1)):o.backspace||o.delete?m(e=>e.slice(0,-1)):r&&m(e=>e+r);return}o.escape?e():o.return?c===`format`&&(b(t),v(!0)):o.tab?o.shift?s(e=>e===0?a.length-1:e-1):s(e=>e===a.length-1?0:e+1):o.upArrow?c===`verbs`&&n.length>0&&u(e=>e>0?e-1:n.length-1):o.downArrow?c===`verbs`&&n.length>0&&u(e=>e<n.length-1?e+1:0):r===`e`&&c===`verbs`?n.length>0&&(m(n[l]),f(!0)):r===`d`&&c===`verbs`?n.length>1&&(i(e=>{e.thinkingVerbs.verbs=e.thinkingVerbs.verbs.filter((e,t)=>t!==l)}),l>=n.length-1&&u(Math.max(0,n.length-2))):r===`n`&&c===`verbs`?(g(!0),m(``)):o.ctrl&&r===`r`&&c===`verbs`&&(i(e=>{e.thinkingVerbs.verbs=[...M.thinkingVerbs.verbs]}),u(0))}),Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[Y(R,{marginBottom:1,flexDirection:`column`,children:[J(X,{children:`Thinking Verbs`}),Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:c===`format`?`enter to edit format`:`changes auto-saved`}),J(z,{dimColor:!0,children:`esc to go back`}),J(z,{dimColor:!0,children:`tab to switch sections`})]})]}),J(R,{marginBottom:1,children:J(z,{dimColor:!0,children:`Customize the verbs shown during generation and their format.`})}),Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(z,{color:c===`format`?`yellow`:void 0,children:c===`format`?`❯ `:` `}),J(z,{bold:!0,color:c===`format`?`yellow`:void 0,children:`Format`})]}),c===`format`&&(_?Y(z,{dimColor:!0,children:[` `,`enter to save`]}):Y(z,{dimColor:!0,children:[` `,`enter to edit`]}))]}),J(R,{marginLeft:2,marginBottom:1,children:J(R,{borderStyle:`round`,borderColor:_?`yellow`:`gray`,children:J(z,{children:_?y:t})})}),J(R,{children:Y(z,{children:[J(z,{color:c===`verbs`?`yellow`:void 0,children:c===`verbs`?`❯ `:` `}),J(z,{bold:!0,color:c===`verbs`?`yellow`:void 0,children:`Verbs`})]})}),c===`verbs`&&J(R,{flexDirection:`column`,children:Y(z,{dimColor:!0,children:[` `,`e to edit · d to delete · n to add new · ctrl+r to reset`]})}),J(R,{marginLeft:2,marginBottom:1,children:Y(R,{flexDirection:`column`,children:[(()=>{let{start:e,end:t}=_t(l,n.length,8),r=n.slice(e,t);return Y(q,{children:[e>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,e,` more above`]}),r.map((t,n)=>{let r=e+n;return Y(z,{color:c===`verbs`&&r===l?`cyan`:void 0,children:[c===`verbs`&&r===l?`❯ `:` `,t]},r)}),t<n.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,n.length-t,` more below`]})]})})(),h&&Y(R,{alignItems:`center`,children:[J(z,{color:`yellow`,children:`❯ `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:p})})]}),d&&Y(R,{marginTop:1,alignItems:`center`,children:[J(z,{children:`Editing: `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:p})})]})]})})]}),Y(R,{width:`50%`,flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,children:`Preview`})}),J(R,{borderStyle:`single`,borderColor:`gray`,padding:1,flexDirection:`column`,children:Y(z,{children:[Y(z,{color:S,children:[`✻ `,t.replace(/\{\}/g,n[l]??``),` `]}),J(z,{children:`(esc to interrupt)`})]})})]})]})}const yt=e=>e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/([A-Z])([A-Z][a-z])/g,`$1 $2`).replace(/(\d+)/g,` $1 `).replace(/\s+/g,` `).trim().replace(/^./,e=>e.toUpperCase()),bt=e=>{let t=Math.max(...e.map(e=>e.length));return e.map(e=>e.padEnd(t))},xt=Object.entries(Ue).map(([e,t])=>({name:yt(e),phases:t.frames.map(e=>e.trimEnd()),reverseMirror:!1,updateInterval:t.interval})),St=[{name:`Default`,phases:M.thinkingStyle.phases,reverseMirror:M.thinkingStyle.reverseMirror},{name:`Wave`,phases:[`▁`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],reverseMirror:!0},{name:`Glow`,phases:[`░`,`▒`,`▓`,`█`],reverseMirror:!0},{name:`Partial block`,phases:[`▏`,`▎`,`▍`,`▌`,`▋`,`▊`,`▉`,`█`],reverseMirror:!0},{name:`Colors`,phases:[`🔴`,`🟠`,`🟡`,`🟢`,`🔵`,`🟣`],reverseMirror:!1},...xt];function Ct({onBack:e}){let{settings:{thinkingStyle:{phases:t,updateInterval:n,reverseMirror:r},themes:i},updateSettings:a}=H($),o=[`reverseMirror`,`updateInterval`,`phases`,`presets`],[s,c]=W(0),l=o[s],[u,d]=W(0),[f,p]=W(0),[m,h]=W(!1),[g,_]=W(``),[v,y]=W(!1),[b,x]=W(!1),[S,C]=W(n.toString()),[w,T]=W(0),ee=me(),E=(i.find(e=>e.id===ee)||i.find(e=>e.id===`dark`))?.colors.claude||`rgb(215,119,87)`;U(()=>{if(t.length>0){let e=r?[...t,...[...t].reverse().slice(1,-1)]:t,i=setInterval(()=>{T(t=>(t+1)%e.length)},n);return()=>clearInterval(i)}},[t,n,r]),U(()=>{d(e=>Math.min(e,Math.max(0,t.length-1)))},[t.length]),B((r,i)=>{if(b){if(i.return){let e=parseInt(S);!isNaN(e)&&e>0&&a(t=>{t.thinkingStyle.updateInterval=e}),x(!1)}else i.escape?(C(n.toString()),x(!1)):i.backspace||i.delete?C(e=>e.slice(0,-1)):r&&r.match(/^[0-9]$/)&&C(e=>e+r);return}if(m||v){if(i.return&&g.length){let e=v?[...t,g]:t.map((e,t)=>t===u?g:e);a(t=>{t.thinkingStyle.phases=bt(e)}),h(!1),_(``)}else i.escape?(_(``),h(!1),y(!1)):i.backspace||i.delete?_(e=>e.slice(0,-1)):r&&_(e=>e+r);return}if(i.escape)e();else if(i.return)if(l===`updateInterval`)C(n.toString()),x(!0);else if(l===`presets`){let e=St[f];a(t=>{t.thinkingStyle.phases=bt([...e.phases]),t.thinkingStyle.reverseMirror=e.reverseMirror,e.updateInterval!==void 0&&(t.thinkingStyle.updateInterval=e.updateInterval)})}else l===`reverseMirror`&&a(e=>{e.thinkingStyle.reverseMirror=!e.thinkingStyle.reverseMirror});else if(i.tab)i.shift?c(e=>e===0?o.length-1:e-1):c(e=>e===o.length-1?0:e+1);else if(i.upArrow)l===`phases`&&t.length>0?d(e=>e>0?e-1:t.length-1):l===`presets`&&p(e=>e>0?e-1:St.length-1);else if(i.downArrow)l===`phases`&&t.length>0?d(e=>e<t.length-1?e+1:0):l===`presets`&&p(e=>e<St.length-1?e+1:0);else if(r===` `)l===`reverseMirror`&&a(e=>{e.thinkingStyle.reverseMirror=!e.thinkingStyle.reverseMirror});else if(r===`e`&&l===`phases`)t.length>0&&(_(t[u]),h(!0));else if(r===`a`&&l===`phases`)y(!0),_(``);else if(r===`d`&&l===`phases`)t.length>1&&a(e=>{e.thinkingStyle.phases=bt(t.filter((e,t)=>t!==u))});else if(r===`w`&&l===`phases`){if(u>0){let e=[...t];[e[u-1],e[u]]=[e[u],e[u-1]],a(t=>{t.thinkingStyle.phases=e}),d(e=>e-1)}}else if(r===`s`&&l===`phases`){if(u<t.length-1){let e=[...t];[e[u],e[u+1]]=[e[u+1],e[u]],a(t=>{t.thinkingStyle.phases=e}),d(e=>e+1)}}else i.ctrl&&r===`r`&&(a(e=>{e.thinkingStyle=M.thinkingStyle}),d(0),p(0))});let D=r?`●`:`○`,O=(()=>r?[...t,...[...t].reverse().slice(1,-1)]:t)(),te=O.length>0?O[w]:`·`;return J(R,{children:Y(R,{flexDirection:`column`,width:`100%`,children:[Y(R,{flexDirection:`row`,width:`100%`,children:[Y(R,{marginBottom:1,flexDirection:`column`,width:`50%`,children:[J(X,{children:`Thinking style`}),Y(R,{flexDirection:`column`,children:[Y(z,{dimColor:!0,children:[`enter to`,` `,l===`updateInterval`?`edit interval`:l===`presets`?`apply preset`:`save`]}),J(z,{dimColor:!0,children:`esc to go back`}),J(z,{dimColor:!0,children:`tab to switch sections`})]})]}),Y(R,{width:`50%`,flexDirection:`column`,children:[J(R,{children:J(z,{bold:!0,children:`Preview`})}),Y(R,{borderStyle:`single`,borderColor:`gray`,paddingX:1,flexDirection:`row`,children:[J(R,{width:(te?.length??0)+1,children:J(z,{color:E,children:te})}),Y(z,{children:[J(z,{color:E,children:`Thinking… `}),J(z,{children:`(esc to interrupt)`})]})]})]})]}),Y(R,{flexDirection:`row`,gap:4,children:[Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(z,{color:l===`reverseMirror`?`yellow`:void 0,children:l===`reverseMirror`?`❯ `:` `}),J(z,{bold:!0,color:l===`reverseMirror`?`yellow`:void 0,children:`Reverse-mirror phases`})]}),l===`reverseMirror`&&Y(z,{dimColor:!0,children:[` `,`space to toggle`]}),J(R,{marginLeft:2,marginBottom:1,children:Y(z,{children:[D,` `,r?`Enabled`:`Disabled`]})})]}),Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(z,{color:l===`updateInterval`?`yellow`:void 0,children:l===`updateInterval`?`❯ `:` `}),J(z,{bold:!0,color:l===`updateInterval`?`yellow`:void 0,children:`Update interval (ms)`})]}),l===`updateInterval`&&(b?Y(z,{dimColor:!0,children:[` `,`enter to save`]}):Y(z,{dimColor:!0,children:[` `,`enter to edit`]})),J(R,{marginLeft:2,marginBottom:1,children:J(R,{borderStyle:`round`,borderColor:b?`yellow`:`gray`,children:J(z,{children:b?S:n})})})]})]}),J(R,{children:Y(z,{children:[J(z,{color:l===`phases`?`yellow`:void 0,children:l===`phases`?`❯ `:` `}),J(z,{bold:!0,color:l===`phases`?`yellow`:void 0,children:`Phases`})]})}),l===`phases`&&J(R,{marginBottom:1,flexDirection:`column`,children:Y(z,{dimColor:!0,children:[` `,`[e]dit`,` `,`[a]dd`,` `,`[d]elete`,` `,`[w]move up`,` `,`[s]move down`]})}),J(R,{marginLeft:2,marginBottom:1,children:Y(R,{flexDirection:`column`,children:[(()=>{let{start:e,end:n}=_t(u,t.length,8),r=t.slice(e,n);return Y(q,{children:[e>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,e,` more above`]}),r.map((t,n)=>{let r=e+n;return Y(z,{color:l===`phases`&&r===u?`cyan`:void 0,children:[l===`phases`&&r===u?`❯ `:` `,t]},r)}),n<t.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,t.length-n,` more below`]})]})})(),v&&Y(R,{children:[J(z,{color:`yellow`,children:`❯ `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:g})})]}),m&&Y(R,{marginTop:1,children:[J(z,{children:`Editing: `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:g})})]})]})}),J(R,{children:Y(z,{children:[J(z,{color:l===`presets`?`yellow`:void 0,children:l===`presets`?`❯ `:` `}),J(z,{bold:!0,color:l===`presets`?`yellow`:void 0,children:`Presets`})]})}),l===`presets`&&Y(z,{dimColor:!0,children:[` `,`Selecting one will overwrite your choice of phases and interval`]}),J(R,{marginLeft:2,marginBottom:1,children:J(R,{flexDirection:`column`,children:(()=>{let{start:e,end:t}=_t(f,St.length,12),n=St.slice(e,t),r=e=>{let t=e.phases.join(``);return t.length>30?t.slice(0,27)+`…`:t};return Y(q,{children:[e>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,e,` more above`]}),n.map((t,n)=>{let i=e+n,a=l===`presets`&&i===f;return Y(z,{color:a?`cyan`:void 0,children:[a?`❯ `:` `,t.name,` `,r(t)]},i)}),t<St.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,St.length-t,` more below`]})]})})()})}),J(R,{marginTop:1,children:J(z,{dimColor:!0,children:`ctrl+r to reset all settings to default`})})]})})}function wt(e,t){let n=Ne(!0);U(()=>{if(n.current){n.current=!1;return}return e()},t)}const Tt=[{label:`bold`,value:`bold`},{label:`italic`,value:`italic`},{label:`underline`,value:`underline`},{label:`strikethrough`,value:`strikethrough`},{label:`inverse`,value:`inverse`}],Et=[{label:`none`,value:`none`},{label:`single`,value:`single`},{label:`double`,value:`double`},{label:`round`,value:`round`},{label:`bold`,value:`bold`},{label:`singleDouble`,value:`singleDouble`},{label:`doubleSingle`,value:`doubleSingle`},{label:`classic`,value:`classic`},{label:`topBottomSingle`,value:`topBottomSingle`},{label:`topBottomDouble`,value:`topBottomDouble`},{label:`topBottomBold`,value:`topBottomBold`}];function Dt({onBack:e}){let{settings:t,updateSettings:n}=H($),[r,i]=W(!1),[a,o]=W(!1),[s,c]=W(!1),[l,u]=W(()=>t.userMessageDisplay.format),[d,f]=W(()=>t.userMessageDisplay.paddingX===`default`?`default`:`custom`),[p,m]=W(()=>t.userMessageDisplay.paddingY===`default`?`default`:`custom`),[h,g]=W(()=>t.userMessageDisplay.paddingX===`default`?`0`:String(t.userMessageDisplay.paddingX)),[_,v]=W(()=>t.userMessageDisplay.paddingY===`default`?`0`:String(t.userMessageDisplay.paddingY)),[y,b]=W(t.userMessageDisplay.fitBoxToContent),[x,S]=W(0),[C,w]=W(()=>[...t.userMessageDisplay.styling]),[T,ee]=W(()=>t.userMessageDisplay.foregroundColor===`default`?`default`:`custom`),[E,D]=W(()=>t.userMessageDisplay.foregroundColor===`default`?`rgb(255,255,255)`:t.userMessageDisplay.foregroundColor),[O,te]=W(()=>{let e=t.userMessageDisplay.backgroundColor;return e===null?`none`:e===`default`?`default`:`custom`}),[k,ne]=W(()=>{let e=t.userMessageDisplay.backgroundColor;return e===null||e===`default`?`rgb(0,0,0)`:e}),[A,re]=W(()=>Et.findIndex(e=>e.value===t.userMessageDisplay.borderStyle)),[j,ie]=W(()=>t.userMessageDisplay.borderColor),[ae,oe]=W(null),[se,N]=W(``),ce=me(),P=t.themes?.find(e=>e.id===ce)||t.themes?.[0],[F,I]=W(`text`),le=[`format`,`styling`,`foreground`,`background`],ue=[`borderStyle`,`borderColor`,`paddingX`,`paddingY`,`fitBoxToContent`],[de,fe]=W(0),[pe,he]=W(0),L=F===`text`?le[de]:ue[pe],ge=()=>{n(e=>{e.userMessageDisplay.format=l,e.userMessageDisplay.styling=[...C],e.userMessageDisplay.foregroundColor=T===`default`?`default`:E,e.userMessageDisplay.backgroundColor=O===`none`?null:O===`default`?`default`:k,e.userMessageDisplay.borderStyle=Et[A].value,e.userMessageDisplay.borderColor=j,e.userMessageDisplay.paddingX=d===`default`?`default`:parseInt(h)||0,e.userMessageDisplay.paddingY=p===`default`?`default`:parseInt(_)||0,e.userMessageDisplay.fitBoxToContent=y})},_e=()=>{u(M.userMessageDisplay.format),w([...M.userMessageDisplay.styling]);let e=M.userMessageDisplay.foregroundColor;ee(e===`default`?`default`:`custom`),D(e===`default`?`rgb(255,255,255)`:e);let t=M.userMessageDisplay.backgroundColor;te(t===null?`none`:t===`default`?`default`:`custom`),ne(t===null||t===`default`?`rgb(0,0,0)`:t),re(Et.findIndex(e=>e.value===M.userMessageDisplay.borderStyle)),ie(M.userMessageDisplay.borderColor);let r=M.userMessageDisplay.paddingX,i=M.userMessageDisplay.paddingY;f(r===`default`?`default`:`custom`),m(i===`default`?`default`:`custom`),g(r===`default`?`0`:String(r)),v(i===`default`?`0`:String(i)),b(M.userMessageDisplay.fitBoxToContent),n(e=>{e.userMessageDisplay={...M.userMessageDisplay}})};wt(()=>{ge()},[l,C,T,E,O,k,A,j,d,p,h,_,y]),B((n,l)=>{if(r){l.return?i(!1):l.escape?(u(t.userMessageDisplay.format),i(!1)):l.backspace||l.delete?u(e=>e.slice(0,-1)):n&&u(e=>e+n);return}if(a){l.return?o(!1):l.escape?(g(String(t.userMessageDisplay.paddingX)),o(!1)):l.backspace||l.delete?g(e=>e.slice(0,-1)):n&&/^\d$/.test(n)&&g(e=>e+n);return}if(s){l.return?c(!1):l.escape?(v(String(t.userMessageDisplay.paddingY)),c(!1)):l.backspace||l.delete?v(e=>e.slice(0,-1)):n&&/^\d$/.test(n)&&v(e=>e+n);return}if(ae===null){if(l.escape)e();else if(l.ctrl&&n===`r`)_e();else if(l.leftArrow||l.rightArrow)I(e=>e===`text`?`border`:`text`);else if(l.tab)F===`text`?l.shift?fe(e=>e===0?le.length-1:e-1):fe(e=>e===le.length-1?0:e+1):l.shift?he(e=>e===0?ue.length-1:e-1):he(e=>e===ue.length-1?0:e+1);else if(l.return)L===`format`?i(!0):L===`paddingX`?d===`custom`&&o(!0):L===`paddingY`?p===`custom`&&c(!0):L===`foreground`?T===`custom`&&(N(E),oe(`foreground`)):L===`background`?O===`custom`&&(N(k),oe(`background`)):L===`borderColor`&&(N(j),oe(`border`));else if(l.upArrow)L===`styling`?S(e=>Math.max(0,e-1)):L===`borderStyle`?re(e=>e===0?Et.length-1:e-1):L===`paddingX`?f(e=>e===`default`?`custom`:`default`):L===`paddingY`?m(e=>e===`default`?`custom`:`default`):L===`foreground`?ee(e=>{let t=e===`default`?`custom`:`default`;return t===`custom`&&(!E||E===``)&&D(`rgb(255,255,255)`),t}):L===`background`&&te(e=>{let t=e===`default`?`custom`:e===`custom`?`none`:`default`;return t===`custom`&&(!k||k===``)&&ne(`rgb(0,0,0)`),t});else if(l.downArrow)L===`styling`?S(e=>Math.min(Tt.length-1,e+1)):L===`borderStyle`?re(e=>e===Et.length-1?0:e+1):L===`paddingX`?f(e=>e===`default`?`custom`:`default`):L===`paddingY`?m(e=>e===`default`?`custom`:`default`):L===`foreground`?ee(e=>{let t=e===`default`?`custom`:`default`;return t===`custom`&&(!E||E===``)&&D(`rgb(255,255,255)`),t}):L===`background`&&te(e=>{let t=e===`default`?`none`:e===`none`?`custom`:`default`;return t===`custom`&&(!k||k===``)&&ne(`rgb(0,0,0)`),t});else if(n===` `)if(L===`styling`){let e=Tt[x].value;w(C.indexOf(e)>=0?C.filter(t=>t!==e):[...C,e])}else L===`fitBoxToContent`&&b(e=>!e)}});let ve=e=>{let t=T===`default`?P?.colors?.text:E,n=O===`none`?void 0:O===`default`?P?.colors?.userMessageBackground:k,r=Et[A].value,i=d===`default`?0:parseInt(h)||0,a=p===`default`?0:parseInt(_)||0,o=d===`default`?1:i,s=J(z,{bold:C.includes(`bold`),italic:C.includes(`italic`),underline:C.includes(`underline`),strikethrough:C.includes(`strikethrough`),inverse:C.includes(`inverse`),color:t,backgroundColor:n,children:e});if(r===`topBottomSingle`||r===`topBottomDouble`||r===`topBottomBold`){let t=r===`topBottomSingle`?`─`:r===`topBottomDouble`?`═`:`━`,n=e.length+i*2,o=t.repeat(n);return Y(R,{flexDirection:`column`,children:[J(z,{color:j,children:o}),a>0&&J(R,{height:a}),J(R,{paddingX:i,children:s}),a>0&&J(R,{height:a}),J(z,{color:j,children:o})]})}else if(r!==`none`||i>0||a>0||o>0||y){let e={};i>0&&(e.paddingX=i),d===`default`&&i===0&&(e.paddingRight=o),a>0&&(e.paddingY=a);let t=Object.keys(e).length>0?J(R,{...e,children:s}):s,n={};return r!==`none`&&(n.borderStyle=r,n.borderColor=j),y?n.alignSelf=`flex-start`:n.flexGrow=1,r===`none`?t:J(R,{...n,children:t})}else return s};return ae?J(at,{initialValue:se,theme:P,onColorChange:e=>{ae===`foreground`?D(e):ae===`background`?ne(e):ae===`border`&&ie(e)},onExit:()=>{oe(null),N(``)}}):Y(R,{flexDirection:`column`,children:[J(X,{children:`Customize how user messages are displayed`}),Y(R,{flexDirection:`column`,marginBottom:1,children:[J(z,{dimColor:!0,children:`left/right arrows to switch columns · tab to navigate options`}),J(z,{dimColor:!0,children:`enter to edit · ctrl+r to reset · esc to go back`})]}),Y(R,{flexDirection:`row`,gap:1,children:[Y(R,{flexDirection:`column`,width:`50%`,borderStyle:F===`text`?`round`:`single`,borderColor:F===`text`?`yellow`:`gray`,paddingX:1,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,color:F===`text`?`yellow`:void 0,children:`Text & Styling`})}),J(R,{children:Y(z,{color:L===`format`?`yellow`:void 0,bold:L===`format`,children:[L===`format`?`❯ `:` `,`Format String`]})}),L===`format`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:r?`enter to save · esc to cancel`:`enter to edit · use {} as message placeholder`})}),J(R,{marginLeft:2,marginBottom:1,children:J(R,{borderStyle:`round`,borderColor:r?`yellow`:`gray`,children:J(z,{children:l})})}),J(R,{children:Y(z,{color:L===`styling`?`yellow`:void 0,bold:L===`styling`,children:[L===`styling`?`❯ `:` `,`Styling`]})}),L===`styling`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`up/down to navigate · space to toggle`})}),J(R,{marginLeft:2,marginBottom:1,flexDirection:`column`,children:Tt.map((e,t)=>J(R,{children:Y(z,{color:L===`styling`&&x===t?`cyan`:void 0,children:[L===`styling`&&x===t?`❯ `:` `,C.includes(e.value)?`●`:`○`,` `,e.label]})},e.value))}),Y(R,{flexDirection:`row`,gap:1,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{children:Y(z,{color:L===`foreground`?`yellow`:void 0,bold:L===`foreground`,children:[L===`foreground`?`❯ `:` `,`Foreground`]})}),L===`foreground`&&J(R,{marginLeft:2,children:Y(z,{dimColor:!0,children:[`up/down · `,T===`custom`?`enter`:``]})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[T===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[T===`custom`?`● `:`○ `,`Custom`,T===`custom`&&`: `,T===`custom`&&J(z,{color:E,children:E})]})})]})]}),Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{children:Y(z,{color:L===`background`?`yellow`:void 0,bold:L===`background`,children:[L===`background`?`❯ `:` `,`Background`]})}),L===`background`&&J(R,{marginLeft:2,children:Y(z,{dimColor:!0,children:[`up/down · `,O===`custom`?`enter`:``]})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[O===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[O===`none`?`● `:`○ `,`None`]})}),J(R,{children:Y(z,{children:[O===`custom`?`● `:`○ `,`Custom`,O===`custom`&&`: `,O===`custom`&&J(z,{backgroundColor:k,children:k})]})})]})]})]})]}),Y(R,{flexDirection:`column`,width:`50%`,borderStyle:F===`border`?`round`:`single`,borderColor:F===`border`?`yellow`:`gray`,paddingX:1,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,color:F===`border`?`yellow`:void 0,children:`Border & Padding`})}),J(R,{children:Y(z,{color:L===`borderStyle`?`yellow`:void 0,bold:L===`borderStyle`,children:[L===`borderStyle`?`❯ `:` `,`Border Style`]})}),L===`borderStyle`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`up/down to navigate`})}),Y(R,{marginLeft:2,marginBottom:1,flexDirection:`row`,children:[J(R,{flexDirection:`column`,width:`50%`,children:Et.slice(0,6).map((e,t)=>J(R,{children:Y(z,{color:L===`borderStyle`&&A===t?`cyan`:void 0,children:[L===`borderStyle`&&A===t?`❯ `:` `,A===t?`● `:`○ `,e.label]})},e.value))}),J(R,{flexDirection:`column`,width:`50%`,children:Et.slice(6).map((e,t)=>{let n=t+6;return J(R,{children:Y(z,{color:L===`borderStyle`&&A===n?`cyan`:void 0,children:[L===`borderStyle`&&A===n?`❯ `:` `,A===n?`● `:`○ `,e.label]})},e.value)})})]}),J(R,{children:Y(z,{color:L===`borderColor`?`yellow`:void 0,bold:L===`borderColor`,children:[L===`borderColor`?`❯ `:` `,`Border Color`]})}),L===`borderColor`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`enter to pick color`})}),J(R,{marginLeft:2,marginBottom:1,children:J(z,{color:j,children:j})}),Y(R,{flexDirection:`row`,gap:1,children:[Y(R,{flexDirection:`column`,width:`33%`,children:[J(R,{children:Y(z,{color:L===`paddingX`?`yellow`:void 0,bold:L===`paddingX`,children:[L===`paddingX`?`❯ `:` `,`Padding X`]})}),L===`paddingX`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:a?`enter/esc`:d===`custom`?`up/down · enter`:`up/down`})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[d===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[d===`custom`?`● `:`○ `,`Custom`]})}),d===`custom`&&J(R,{children:J(R,{borderStyle:`round`,borderColor:a?`yellow`:`gray`,children:J(z,{children:h})})})]})]}),Y(R,{flexDirection:`column`,width:`33%`,children:[J(R,{children:Y(z,{color:L===`paddingY`?`yellow`:void 0,bold:L===`paddingY`,children:[L===`paddingY`?`❯ `:` `,`Padding Y`]})}),L===`paddingY`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:s?`enter/esc`:p===`custom`?`up/down · enter`:`up/down`})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[p===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[p===`custom`?`● `:`○ `,`Custom`]})}),p===`custom`&&J(R,{children:J(R,{borderStyle:`round`,borderColor:s?`yellow`:`gray`,children:J(z,{children:_})})})]})]}),Y(R,{flexDirection:`column`,width:`33%`,children:[J(R,{children:Y(z,{color:L===`fitBoxToContent`?`yellow`:void 0,bold:L===`fitBoxToContent`,children:[L===`fitBoxToContent`?`❯ `:` `,y?`●`:`○`,` Fit box to content`]})}),L===`fitBoxToContent`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`space`})})]})]})]})]}),Y(R,{flexDirection:`column`,marginTop:1,paddingX:1,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,children:`Preview`})}),Y(R,{flexDirection:`row`,gap:2,children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{marginBottom:1,children:J(z,{underline:!0,children:`Before (Claude Code default):`})}),J(R,{marginLeft:1,children:Y(z,{backgroundColor:P?.colors?.userMessageBackground,color:P?.colors?.text,children:[` `,`> list the dir`,` `]})}),J(R,{marginLeft:1,marginTop:1,children:Y(z,{children:[J(z,{color:P?.colors?.inactive||`#888888`,children:`●`}),J(z,{children:` The directory `}),J(z,{color:P?.colors?.permission||`#00ff00`,children:`C:\\Users\\user`}),J(z,{children:` contains `}),J(z,{bold:!0,children:`123`}),J(z,{children:` files.`})]})})]}),Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{marginBottom:1,children:J(z,{underline:!0,children:`After (Your customization):`})}),J(R,{marginLeft:1,flexDirection:`row`,children:(()=>ve(l.replace(/\{\}/g,`list the dir`)))()}),J(R,{marginLeft:1,marginTop:1,children:Y(z,{children:[J(z,{color:P?.colors?.inactive||`#888888`,children:`●`}),J(z,{children:` The directory `}),J(z,{color:P?.colors?.permission||`#00ff00`,children:`C:\\Users\\user`}),J(z,{children:` contains `}),J(z,{bold:!0,children:`123`}),J(z,{children:` files.`})]})})]})]})]})]})}const Ot=[{label:`bold`,value:`bold`},{label:`italic`,value:`italic`},{label:`underline`,value:`underline`},{label:`strikethrough`,value:`strikethrough`},{label:`inverse`,value:`inverse`}],kt=[[`name`,`regex`,`regexFlags`],[`format`,`styling`],[`foreground`,`background`],[`enabled`],[`testText`]];function At({testText:e,regex:t,regexFlags:n,format:r,styling:i,foregroundColor:a,backgroundColor:o}){let s=[];try{let c=n.includes(`g`)?n:n+`g`,l=new RegExp(t,c),u=[...e.matchAll(l)];if(u.length===0)return J(z,{children:e});let d=0;return u.forEach((t,n)=>{let c=t.index,l=c+t[0].length;c>d&&s.push(J(z,{children:e.slice(d,c)},`plain-${n}`));let u=r.replace(/\{MATCH\}/g,t[0]);s.push(J(z,{bold:i.includes(`bold`),italic:i.includes(`italic`),underline:i.includes(`underline`),strikethrough:i.includes(`strikethrough`),inverse:i.includes(`inverse`),color:a,backgroundColor:o,children:u},`match-${n}`)),d=l}),d<e.length&&s.push(J(z,{children:e.slice(d)},`plain-end`)),J(q,{children:s})}catch{return J(z,{children:e})}}function jt({highlighterIndex:e,onBack:t}){let{settings:n,updateSettings:r}=H($),i=n.inputPatternHighlighters[e],a=me(),o=n.themes?.find(e=>e.id===a)||n.themes?.[0],[s,c]=W(i?.name||`New Highlighter`),[l,u]=W(i?.regex||``),[d,f]=W(i?.regexFlags||`g`),[p,m]=W(i?.format||`{MATCH}`),[h,g]=W(i?.styling||[]),[_,v]=W(i?.foregroundColor===null?`none`:`custom`),[y,b]=W(i?.foregroundColor||`rgb(255,0,255)`),[x,S]=W(i?.backgroundColor?`custom`:`none`),[C,w]=W(i?.backgroundColor||`rgb(0,0,0)`),[T,ee]=W(i?.enabled??!0),[E,D]=W(n.inputPatternHighlightersTestText||`Type test text here to see highlighting`),[O,te]=W(`name`),[k,ne]=W(!1),[A,re]=W(0),[j,ie]=W(null),[ae,oe]=W(``),[se,M]=W(null),[N,ce]=W(0),[P,F]=W(0);if(U(()=>{let e=kt[N];te(e[Math.min(P,e.length-1)])},[N,P]),U(()=>{if(!l){M(null);return}try{new RegExp(l,d),M(null)}catch(e){M(e.message)}},[l,d]),U(()=>{e>=0&&r(t=>{t.inputPatternHighlighters[e]&&(t.inputPatternHighlighters[e]={name:s,regex:l,regexFlags:d,format:p,styling:h,foregroundColor:_===`custom`?y:null,backgroundColor:x===`custom`?C:null,enabled:T})})},[e,s,l,d,p,h,_,y,x,C,T]),U(()=>{r(e=>{e.inputPatternHighlightersTestText=E})},[E]),B((e,r)=>{if(k){r.return?ne(!1):r.escape?(O===`name`&&c(i?.name||``),O===`regex`&&u(i?.regex||``),O===`regexFlags`&&f(i?.regexFlags||`g`),O===`format`&&m(i?.format||`{MATCH}`),O===`testText`&&D(n.inputPatternHighlightersTestText||`Type test text here to see highlighting`),ne(!1)):r.backspace||r.delete?(O===`name`&&c(e=>e.slice(0,-1)),O===`regex`&&u(e=>e.slice(0,-1)),O===`regexFlags`&&f(e=>e.slice(0,-1)),O===`format`&&m(e=>e.slice(0,-1)),O===`testText`&&D(e=>e.slice(0,-1))):e&&e.length===1&&(O===`name`&&c(t=>t+e),O===`regex`&&u(t=>t+e),O===`regexFlags`&&f(t=>t+e),O===`format`&&m(t=>t+e),O===`testText`&&D(t=>t+e));return}if(j===null){if(r.escape)t();else if(r.upArrow)O===`styling`&&A>0?re(e=>e-1):ce(e=>Math.max(0,e-1));else if(r.downArrow)O===`styling`&&A<Ot.length-1?re(e=>e+1):ce(e=>Math.min(kt.length-1,e+1));else if(r.leftArrow)O===`foreground`?v(e=>e===`none`?`custom`:`none`):O===`background`?S(e=>e===`none`?`custom`:`none`):F(e=>Math.max(0,e-1));else if(r.rightArrow)if(O===`foreground`)v(e=>e===`none`?`custom`:`none`);else if(O===`background`)S(e=>e===`none`?`custom`:`none`);else{let e=kt[N].length-1;F(t=>Math.min(e,t+1))}else if(r.tab){let e=kt.flat(),t=e.indexOf(O);if(r.shift){if(t>0){let n=e[t-1];for(let e=0;e<kt.length;e++){let t=kt[e].indexOf(n);if(t>=0){ce(e),F(t);break}}}}else if(t<e.length-1){let n=e[t+1];for(let e=0;e<kt.length;e++){let t=kt[e].indexOf(n);if(t>=0){ce(e),F(t);break}}}}else if(r.return)O===`name`||O===`regex`||O===`regexFlags`||O===`format`||O===`testText`?ne(!0):O===`foreground`&&_===`custom`?(oe(y),ie(`foreground`)):O===`background`&&x===`custom`&&(oe(C),ie(`background`));else if(e===` `)if(O===`styling`){let e=Ot[A].value;h.includes(e)?g(h.filter(t=>t!==e)):g([...h,e])}else O===`enabled`&&ee(!T)}}),!i)return J(R,{flexDirection:`column`,children:J(z,{color:`red`,children:`Highlighter not found`})});if(j)return J(at,{initialValue:ae,theme:o,onColorChange:e=>{j===`foreground`?b(e):j===`background`&&w(e)},onExit:()=>{ie(null),oe(``)}});let I=e=>O===e,le=e=>({color:I(e)?`yellow`:void 0,bold:I(e)});return Y(R,{flexDirection:`column`,children:[J(X,{children:`Edit Highlighter`}),J(R,{marginBottom:1,flexDirection:`column`,children:J(z,{dimColor:!0,children:`arrows to navigate · enter to edit · space to toggle · esc to go back`})}),Y(R,{flexDirection:`row`,gap:2,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`30%`,children:[Y(z,{...le(`name`),children:[I(`name`)?`❯ `:` `,`Name`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`name`)?k?`green`:`yellow`:`gray`,children:J(z,{children:s||`(empty)`})})})]}),Y(R,{flexDirection:`column`,width:`45%`,children:[Y(z,{...le(`regex`),children:[I(`regex`)?`❯ `:` `,`Regex Pattern`]}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{borderStyle:`round`,borderColor:I(`regex`)?k?`green`:`yellow`:se?`red`:`gray`,children:J(z,{children:l||`(empty)`})}),se&&J(z,{color:`red`,children:se})]})]}),Y(R,{flexDirection:`column`,width:`20%`,children:[Y(z,{...le(`regexFlags`),children:[I(`regexFlags`)?`❯ `:` `,`Flags`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`regexFlags`)?k?`green`:`yellow`:`gray`,children:J(z,{children:d||`g`})})})]})]}),Y(R,{flexDirection:`row`,gap:2,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`50%`,children:[Y(z,{...le(`format`),children:[I(`format`)?`❯ `:` `,`Format String`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`format`)?k?`green`:`yellow`:`gray`,children:J(z,{children:p||`{MATCH}`})})}),I(`format`)&&J(R,{marginLeft:2,children:Y(z,{dimColor:!0,children:[`use `,`{MATCH}`,` as placeholder`]})})]}),Y(R,{flexDirection:`column`,width:`45%`,children:[Y(z,{...le(`styling`),children:[I(`styling`)?`❯ `:` `,`Styling`]}),J(R,{marginLeft:2,flexDirection:`column`,children:Ot.map((e,t)=>{let n=h.includes(e.value),r=I(`styling`)&&A===t;return Y(z,{color:r?`cyan`:void 0,children:[r?`❯ `:` `,n?`●`:`○`,` `,e.label]},e.value)})})]})]}),Y(R,{flexDirection:`row`,gap:2,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`48%`,children:[Y(z,{...le(`foreground`),children:[I(`foreground`)?`❯ `:` `,`Foreground Color`]}),Y(R,{marginLeft:2,flexDirection:`row`,gap:1,children:[Y(z,{color:I(`foreground`)?`yellow`:void 0,children:[`[`,_===`none`?`●`:`○`,`] none`,` `,`[`,_===`custom`?`●`:`○`,`] custom`]}),_===`custom`&&J(R,{borderStyle:`round`,borderColor:I(`foreground`)?`yellow`:`gray`,children:J(z,{color:y,children:` ████ `})})]})]}),Y(R,{flexDirection:`column`,width:`48%`,children:[Y(z,{...le(`background`),children:[I(`background`)?`❯ `:` `,`Background Color`]}),Y(R,{marginLeft:2,flexDirection:`row`,gap:1,children:[Y(z,{color:I(`background`)?`yellow`:void 0,children:[`[`,x===`none`?`●`:`○`,`] none`,` `,`[`,x===`custom`?`●`:`○`,`] custom`]}),x===`custom`&&J(R,{borderStyle:`round`,borderColor:I(`background`)?`yellow`:`gray`,children:Y(z,{backgroundColor:C,children:[` `,` `,` `]})})]})]})]}),J(R,{marginBottom:1,children:Y(z,{...le(`enabled`),children:[I(`enabled`)?`❯ `:` `,`Enabled:`,` `,J(z,{color:T?`green`:`red`,children:T?`● Yes`:`○ No`})]})}),Y(R,{flexDirection:`column`,marginBottom:1,children:[Y(z,{...le(`testText`),children:[I(`testText`)?`❯ `:` `,`Test Text`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`testText`)?k?`green`:`yellow`:`gray`,children:J(z,{children:E||`(empty)`})})})]}),J(R,{borderStyle:`round`,padding:1,children:Y(R,{flexDirection:`column`,children:[J(z,{bold:!0,children:`Live Preview:`}),l?J(R,{marginTop:1,children:J(At,{testText:E,regex:l,regexFlags:d,format:p,styling:h,foregroundColor:_===`custom`?y:void 0,backgroundColor:x===`custom`?C:void 0})}):J(z,{dimColor:!0,children:`Enter a regex pattern to see the preview`})]})})]})}function Mt({onBack:e}){let{settings:{inputPatternHighlighters:t,themes:n},updateSettings:r}=H($),i=me(),a=n.find(e=>e.id===i)||n[0],o=M.themes[0],s=a?.colors.success||o.colors.success,c=a?.colors.error||o.colors.error,[l,u]=W(0),[d,f]=W(null),[p,m]=W(!0),h=()=>{let e={name:`New Highlighter`,regex:``,regexFlags:`g`,format:`{MATCH}`,styling:[],foregroundColor:`rgb(255,0,255)`,backgroundColor:null,enabled:!0};r(t=>{t.inputPatternHighlighters.push(e)}),f(t.length),m(!1)},g=e=>{r(t=>{t.inputPatternHighlighters.splice(e,1)}),l>=t.length-1&&u(Math.max(0,t.length-2))},_=e=>{r(t=>{t.inputPatternHighlighters[e].enabled=!t.inputPatternHighlighters[e].enabled})},v=e=>{e<=0||(r(t=>{let n=t.inputPatternHighlighters[e];t.inputPatternHighlighters.splice(e,1),t.inputPatternHighlighters.splice(e-1,0,n)}),u(e-1))},y=e=>{e>=t.length-1||(r(t=>{let n=t.inputPatternHighlighters[e];t.inputPatternHighlighters.splice(e,1),t.inputPatternHighlighters.splice(e+1,0,n)}),u(e+1))};return B((n,r)=>{r.escape?e():r.upArrow?u(e=>Math.max(0,e-1)):r.downArrow&&t.length>0?u(e=>Math.min(t.length-1,e+1)):r.return&&t.length>0?(f(l),m(!1)):n===`n`?h():n===`x`&&t.length>0?g(l):n===` `&&t.length>0?_(l):n===`u`&&t.length>0&&l>0?v(l):n===`d`&&t.length>0&&l<t.length-1&&y(l)},{isActive:p}),d===null?Y(R,{flexDirection:`column`,children:[J(X,{children:`Input Pattern Highlighters`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`Create custom highlighters for patterns in your input prompt.`}),J(z,{dimColor:!0,children:`Matched text will be styled and optionally reformatted.`})]}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new highlighter`}),t.length>0&&J(z,{dimColor:!0,children:`space to toggle enabled/disabled`}),t.length>0&&J(z,{dimColor:!0,children:`u/d to move highlighter up/down`}),t.length>0&&J(z,{dimColor:!0,children:`x to delete a highlighter`}),t.length>0&&J(z,{dimColor:!0,children:`enter to edit highlighter`}),J(z,{dimColor:!0,children:`esc to go back`})]}),t.length===0?J(z,{children:`No highlighters created yet. Press n to create one.`}):J(R,{flexDirection:`column`,children:t.map((e,t)=>{let n=l===t,r;return n&&(r=`yellow`),Y(R,{flexDirection:`row`,children:[Y(z,{color:r,children:[n?`❯ `:` `,e.enabled?`● `:`○ `,e.name,` `]}),J(z,{dimColor:!0,children:`(`}),e.regex?Y(z,{dimColor:!0,children:[`/`,e.regex,`/`,e.regexFlags]}):J(z,{dimColor:!0,children:`(no regex)`}),e.styling.length>0&&J(q,{children:Y(z,{color:r,dimColor:!e.enabled,children:[` `,`· `,e.styling.join(`, `)]})}),J(z,{dimColor:!0,children:`)`}),e.enabled?J(z,{color:s,children:` enabled`}):J(z,{color:c,children:` disabled`})]},t)})})]}):J(jt,{highlighterIndex:d,onBack:()=>{f(null),m(!0)}})}const Nt=[null,1,5,10,25,50,100,200,250,500,1e3],Pt=1e3;function Ft({onSubmit:e}){let{settings:t,updateSettings:n}=H($),[r,i]=W(0),[a,o]=W(!1),s={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`,enableSessionMemory:!0,enableDreamMode:!0,enableLeanMemoryTypes:!1,fixSummarizeFromHere:!0,fixRewindSummaryHeader:!0,enableRememberSkill:!1,tokenCountRounding:null,autoAcceptPlanMode:!1,allowBypassPermissionsInSudo:!1,suppressNativeInstallerWarning:!1,filterScrollEscapeSequences:!1,enableWorktreeMode:!0,swapRipgrepForFff:!1,allowCustomAgentModels:!1,enableContextLimitOverride:!1,enableModelCustomizations:!0,enableVoiceMode:!1,enableVoiceConciseOutput:!0,enableChannelsMode:!1,maxEffortDefault:!1,autonomousOperationAllModels:!1,outputStyleTurnReminder:!1,autoModeClassifierModel:`default`,suppressDeferredTools:!1,claudemdContextOncePerConversation:!0},c=()=>{t.misc||={...s}},l=e=>{let t=[`default`,`sonnet`,`haiku`];return t[(t.indexOf(e)+1)%t.length]},u=e=>{switch(e){case`sonnet`:return`Sonnet 4.6`;case`haiku`:return`Haiku 4.5`;case`default`:default:return`Default (main-loop model)`}},d=e=>{let t=[`default`,`ascii`,`clean`,`clean-top-bottom`];return t[(t.indexOf(e)+1)%t.length]},f=e=>{switch(e){case`ascii`:return`ASCII (| and -)`;case`clean`:return`Clean (no row separators)`;case`clean-top-bottom`:return`Clean with top/bottom`;case`default`:default:return`Default (box-drawing)`}},p=e=>e===null?`Default (3)`:e<=3?`${e} (conservative)`:e<=8?`${e} (recommended)`:`${e} (aggressive)`,m=e=>e===null?`Disabled`:e===0?`0ms (instant)`:`${e}ms`,h=e=>e===null?`Off (exact counts)`:`Round to ${e}`,g=(e,t)=>{let n=Nt.indexOf(e);if(n===-1)return Nt[0];let r;return r=t===`next`?(n+1)%Nt.length:(n-1+Nt.length)%Nt.length,Nt[r]},_=Me(()=>[{id:`removeBorder`,title:`Remove input box border`,description:`Removes the rounded border around the input box for a cleaner look.`,getValue:()=>t.inputBox?.removeBorder??!1,toggle:()=>{n(e=>{e.inputBox||={removeBorder:!1},e.inputBox.removeBorder=!e.inputBox.removeBorder})}},{id:`showVersion`,title:`Show tweakcc version at startup`,description:`Shows the blue "+ tweakcc v<VERSION>" message when starting Claude Code.`,getValue:()=>t.misc?.showTweakccVersion??!0,toggle:()=>{n(e=>{c(),e.misc.showTweakccVersion=!e.misc.showTweakccVersion})}},{id:`showPatches`,title:`Show patches applied indicator at startup`,description:`Shows the green "tweakcc patches are applied" indicator when starting Claude Code.`,getValue:()=>t.misc?.showPatchesApplied??!0,toggle:()=>{n(e=>{c(),e.misc.showPatchesApplied=!e.misc.showPatchesApplied})}},{id:`expandThinking`,title:`Expand thinking blocks`,description:`Makes thinking blocks always expanded by default instead of collapsed.`,getValue:()=>t.misc?.expandThinkingBlocks??!0,toggle:()=>{n(e=>{c(),e.misc.expandThinkingBlocks=!e.misc.expandThinkingBlocks})}},{id:`conversationTitle`,title:`Allow renaming sessions via /title`,description:`Enables /title and /rename commands for manually naming conversations.`,getValue:()=>t.misc?.enableConversationTitle??!0,toggle:()=>{n(e=>{c(),e.misc.enableConversationTitle=!e.misc.enableConversationTitle})}},{id:`enableModelCustomizations`,title:`Enable model customizations (/model shows all models)`,description:`Show all Claude models in /model menu, not just the latest 3. Disable to use Claude Code default model list.`,getValue:()=>t.misc?.enableModelCustomizations??!0,toggle:()=>{n(e=>{c(),e.misc.enableModelCustomizations=!e.misc.enableModelCustomizations})}},{id:`hideStartupBanner`,title:`Hide startup banner`,description:`Hides the startup banner message displayed before first prompt.`,getValue:()=>t.misc?.hideStartupBanner??!1,toggle:()=>{n(e=>{c(),e.misc.hideStartupBanner=!e.misc.hideStartupBanner})}},{id:`hideCtrlG`,title:`Hide ctrl-g to edit prompt hint`,description:`Hides the "ctrl-g to edit prompt" hint shown during streaming.`,getValue:()=>t.misc?.hideCtrlGToEdit??!1,toggle:()=>{n(e=>{c(),e.misc.hideCtrlGToEdit=!e.misc.hideCtrlGToEdit})}},{id:`hideClawd`,title:`Hide startup Clawd ASCII art`,description:`Hides the Clawd ASCII art character shown at startup.`,getValue:()=>t.misc?.hideStartupClawd??!1,toggle:()=>{n(e=>{c(),e.misc.hideStartupClawd=!e.misc.hideStartupClawd})}},{id:`increaseFileReadLimit`,title:`Increase file read token limit`,description:`Increases the maximum file read limit from 25,000 to 1,000,000 tokens.`,getValue:()=>t.misc?.increaseFileReadLimit??!1,toggle:()=>{n(e=>{c(),e.misc.increaseFileReadLimit=!e.misc.increaseFileReadLimit})}},{id:`suppressLineNumbers`,title:`Suppress line numbers in file reads/edits`,description:`Removes line number prefixes from file content to reduce token usage.`,getValue:()=>t.misc?.suppressLineNumbers??!1,toggle:()=>{n(e=>{c(),e.misc.suppressLineNumbers=!e.misc.suppressLineNumbers})}},{id:`suppressRateLimitOptions`,title:`Suppress rate limit options popup`,description:`Prevents the automatic /rate-limit-options command from being triggered when hitting rate limits.`,getValue:()=>t.misc?.suppressRateLimitOptions??!1,toggle:()=>{n(e=>{c(),e.misc.suppressRateLimitOptions=!e.misc.suppressRateLimitOptions})}},{id:`mcpNonBlocking`,title:`Non-blocking MCP startup`,description:`Start immediately while MCP servers connect in background. Reduces startup time ~50% with multiple MCPs.`,getValue:()=>t.misc?.mcpConnectionNonBlocking??!0,toggle:()=>{n(e=>{c(),e.misc.mcpConnectionNonBlocking=!e.misc.mcpConnectionNonBlocking})}},{id:`mcpBatchSize`,title:`MCP server batch size`,description:`Parallel MCP connections (1-20). Use ←/→ to adjust. Higher = faster startup, more resources.`,getValue:()=>t.misc?.mcpServerBatchSize??null,getDisplayValue:()=>p(t.misc?.mcpServerBatchSize??null),toggle:()=>{n(e=>{c(),e.misc.mcpServerBatchSize=null})},increment:()=>{n(e=>{c();let t=e.misc.mcpServerBatchSize??3;e.misc.mcpServerBatchSize=Math.min(20,t+1)})},decrement:()=>{n(e=>{c();let t=(e.misc.mcpServerBatchSize??3)-1;e.misc.mcpServerBatchSize=t<1?null:t})}},{id:`tableFormat`,title:`Table output format`,description:`Controls how Claude formats tables. Default: full borders. ASCII: | and -. Clean: no top/bottom/row separators. Clean+top/bottom: borders but no row separators.`,getValue:()=>t.misc?.tableFormat??`default`,isMultiValue:!0,getDisplayValue:()=>f(t.misc?.tableFormat??`default`),toggle:()=>{n(e=>{c(),e.misc.tableFormat=d(e.misc.tableFormat??`default`)})}},{id:`enableWorktreeMode`,title:`Enable worktree mode (EnterWorktree tool)`,description:`Force-enable the EnterWorktree tool for isolated git worktree sessions by bypassing the tengu_worktree_mode feature flag.`,getValue:()=>t.misc?.enableWorktreeMode??!0,toggle:()=>{n(e=>{c(),e.misc.enableWorktreeMode=!e.misc.enableWorktreeMode})}},{id:`swapRipgrepForFff`,title:`[EXPERIMENTAL] fff for Bash search (grep/find/rg -> fff)`,description:`Route Claude Code's Bash search through fff. CC shadows the shell grep->embedded ugrep and find->embedded bfs (and offers rg); the agent uses grep far more than rg. This repoints all three at a per-platform fff wrapper that serves (relevance-ranked, warm-index daemon): literal, regex (RE2, the dialect the model writes), -i, multi-word phrases, context (-A/-B/-C), extension globs (-g/--include '*.ts'), and multi-path (app lib scripts). Anything fff can't serve faithfully (PCRE, multiline/newline/empty regex, -o, single-file, non-recursive grep, --no-ignore, find, non-ASCII, lines over 512 bytes, piped stdin) -> re-exec the real embedded ugrep/bfs/ripgrep. Every engine still ships; any uncertainty falls back, so results never diverge from intent. Transparent (no prompt-compliance reliance), CC-scoped (your own terminal grep/find/rg are untouched). Installs the wrapper into ~/.tweakcc/fff.`,getValue:()=>t.misc?.swapRipgrepForFff??!1,toggle:()=>{n(e=>{c(),e.misc.swapRipgrepForFff=!e.misc.swapRipgrepForFff})}},{id:`enableVoiceMode`,title:`Enable voice mode (/voice command)`,description:`Force-enable the /voice command by bypassing the tengu_amber_quartz feature gate.`,getValue:()=>t.misc?.enableVoiceMode??!1,toggle:()=>{n(e=>{c(),e.misc.enableVoiceMode=!e.misc.enableVoiceMode})}},{id:`enableVoiceConciseOutput`,title:`Enable concise output for voice mode`,description:`Enable the concise-output prompt used for voice interactions. Only applies when voice mode is enabled.`,getValue:()=>t.misc?.enableVoiceConciseOutput??!0,toggle:()=>{n(e=>{c(),e.misc.enableVoiceConciseOutput=!e.misc.enableVoiceConciseOutput})}},{id:`enableChannelsMode`,title:`Enable channels mode (MCP channel notifications)`,description:`Force-enable MCP channel notifications by bypassing the tengu_harbor feature gate, allowlist, and permission relay.`,getValue:()=>t.misc?.enableChannelsMode??!1,toggle:()=>{n(e=>{c(),e.misc.enableChannelsMode=!e.misc.enableChannelsMode})}},{id:`enableContextLimitOverride`,title:`Override context limit`,description:`Replaces the default model context limit with CLAUDE_CODE_CONTEXT_LIMIT env var. Must be exported manually before launching CC, or falls back to 200K.`,getValue:()=>t.misc?.enableContextLimitOverride??!1,toggle:()=>{n(e=>{c(),e.misc.enableContextLimitOverride=!e.misc.enableContextLimitOverride})}},{id:`statuslineThrottle`,title:`Statusline throttle`,description:`Throttle statusline updates (0-${Pt}ms). Use ←/→ to adjust by 50ms. Space to disable. 0 = instant updates.`,getValue:()=>t.misc?.statuslineThrottleMs??null,getDisplayValue:()=>m(t.misc?.statuslineThrottleMs??null),toggle:()=>{n(e=>{c(),e.misc.statuslineThrottleMs=e.misc.statuslineThrottleMs===null?300:null})},increment:()=>{n(e=>{c();let t=e.misc.statuslineThrottleMs??300;e.misc.statuslineThrottleMs=Math.min(Pt,t+50)})},decrement:()=>{n(e=>{c();let t=e.misc.statuslineThrottleMs??300;e.misc.statuslineThrottleMs=Math.max(0,t-50)})}},{id:`statuslineFixedInterval`,title:`Statusline fixed interval mode`,description:`Use setInterval instead of throttle. Updates happen on a fixed schedule rather than on-demand.`,getValue:()=>t.misc?.statuslineUseFixedInterval??!1,toggle:()=>{n(e=>{c(),e.misc.statuslineUseFixedInterval=!e.misc.statuslineUseFixedInterval})}},{id:`enableSessionMemory`,title:`Enable session memory`,description:`Force-enable session memory (auto-extraction + past session search) by bypassing the tengu_session_memory and tengu_coral_fern statsig flags.`,getValue:()=>t.misc?.enableSessionMemory??!0,toggle:()=>{n(e=>{c(),e.misc.enableSessionMemory=!e.misc.enableSessionMemory})}},{id:`enableDreamMode`,title:`Enable dream mode`,description:`Force-enable dream (/dream + auto-dream background memory consolidation) by bypassing the tengu_onyx_plover statsig gate. On/off still follows autoDreamEnabled in ~/.claude/settings.json.`,getValue:()=>t.misc?.enableDreamMode??!0,toggle:()=>{n(e=>{c(),e.misc.enableDreamMode=!e.misc.enableDreamMode})}},{id:`fixSummarizeFromHere`,title:`Fix "Summarize from here"`,description:`Make "Summarize from here" summarize only the messages after the rewind point instead of the whole conversation.`,getValue:()=>t.misc?.fixSummarizeFromHere??!0,toggle:()=>{n(e=>{c(),e.misc.fixSummarizeFromHere=!(e.misc.fixSummarizeFromHere??!0)})}},{id:`fixRewindSummaryHeader`,title:`Honest rewind summary header`,description:`Label a rewind summary as a deliberate rewind (you continued forward, then rewound and chose to carry the summary forward) instead of the misleading "ran out of context" header.`,getValue:()=>t.misc?.fixRewindSummaryHeader??!0,toggle:()=>{n(e=>{c(),e.misc.fixRewindSummaryHeader=!(e.misc.fixRewindSummaryHeader??!0)})}},{id:`enableLeanMemoryTypes`,title:`Enable lean memory types`,description:`Force the tengu_ochre_finch statsig gate: memory prompts carry a compact "Types of memory" list and the full taxonomy moves to the on-demand memory-types skill.`,getValue:()=>t.misc?.enableLeanMemoryTypes??!1,toggle:()=>{n(e=>{c(),e.misc.enableLeanMemoryTypes=!e.misc.enableLeanMemoryTypes})}},{id:`enableRememberSkill`,title:`Enable remember skill`,description:`Register a "remember" skill to review session memories and update CLAUDE.local.md with learnings from past sessions.`,getValue:()=>t.misc?.enableRememberSkill??!1,toggle:()=>{n(e=>{c(),e.misc.enableRememberSkill=!e.misc.enableRememberSkill})}},{id:`tokenCountRounding`,title:`Token count rounding`,description:`Round displayed token counts to nearest multiple. Use ←/→ to cycle: Off, 1, 5, 10, 25, 50, 100, 200, 250, 500, 1000.`,getValue:()=>t.misc?.tokenCountRounding??null,getDisplayValue:()=>h(t.misc?.tokenCountRounding??null),toggle:()=>{n(e=>{c(),e.misc.tokenCountRounding=null})},increment:()=>{n(e=>{c(),e.misc.tokenCountRounding=g(e.misc.tokenCountRounding??null,`next`)})},decrement:()=>{n(e=>{c(),e.misc.tokenCountRounding=g(e.misc.tokenCountRounding??null,`prev`)})}},{id:`autoAcceptPlanMode`,title:`Auto-accept plan mode`,description:`Automatically accept plans without the "Ready to code?" confirmation prompt.`,getValue:()=>t.misc?.autoAcceptPlanMode??!1,toggle:()=>{n(e=>{c(),e.misc.autoAcceptPlanMode=!e.misc.autoAcceptPlanMode})}},{id:`allowBypassPermissionsInSudo`,title:`Allow bypassing permissions in sudo`,description:`⚠️ WARNING: Disables a security check. When enabled, Claude can perform system-level operations without prompts. Use extreme caution.`,getValue:()=>t.misc?.allowBypassPermissionsInSudo??!1,toggle:()=>{t.misc?.allowBypassPermissionsInSudo??!1?n(e=>{c(),e.misc.allowBypassPermissionsInSudo=!1}):o(!0)}},{id:`suppressNativeInstallerWarning`,title:`Suppress native installer warning`,description:`Suppress the native installer warning message at startup.`,getValue:()=>t.misc?.suppressNativeInstallerWarning??!1,toggle:()=>{n(e=>{c(),e.misc.suppressNativeInstallerWarning=!e.misc.suppressNativeInstallerWarning})}},{id:`filterScrollEscapeSequences`,title:`Filter scroll escape sequences`,description:`Filter out terminal escape sequences that cause unwanted scrolling.`,getValue:()=>t.misc?.filterScrollEscapeSequences??!1,toggle:()=>{n(e=>{c(),e.misc.filterScrollEscapeSequences=!e.misc.filterScrollEscapeSequences})}},{id:`allowCustomAgentModels`,title:`Allow custom agent models`,description:`Allow arbitrary model names in custom agent frontmatter (e.g. gemini-2.5-flash). Useful with a local proxy for non-Claude models.`,getValue:()=>t.misc?.allowCustomAgentModels??!1,toggle:()=>{n(e=>{c(),e.misc.allowCustomAgentModels=!e.misc.allowCustomAgentModels})}},{id:`maxEffortDefault`,title:`Default Opus 4.7 to max effort`,description:`Patches CC so Opus 4.7 sessions default to "max" reasoning effort instead of "xhigh". /effort and CLAUDE_CODE_EFFORT_LEVEL still override at runtime.`,getValue:()=>t.misc?.maxEffortDefault??!1,toggle:()=>{n(e=>{c(),e.misc.maxEffortDefault=!e.misc.maxEffortDefault})}},{id:`autonomousOperationAllModels`,title:`Fable/Mythos prompt set (all models)`,description:`Treats your selected model as Fable/Mythos everywhere CC branches on model family (flips the zQ gate). You get: the autonomous-operation prompt ("proceed without asking for reversible in-scope work, finish the job before ending your turn"); the "# Communicating with the user" comms block in place of "# Text output"; /loop dynamic-pacing turn behavior; and brief-mode comms shaping. Per-model feature-flag routing follows fable too, but is inert on a local install (those flags default off without a live gate service).`,getValue:()=>t.misc?.autonomousOperationAllModels??!1,toggle:()=>{n(e=>{c(),e.misc.autonomousOperationAllModels=!e.misc.autonomousOperationAllModels})}},{id:`outputStyleTurnReminder`,title:`Per-turn reminder for custom output styles`,description:`Claude Code reminds the model which output style is active once per turn, but only for its three built-in styles. The renderer looks the style up in the built-in table and returns nothing when it is missing, and custom styles are merged into a copy of that table rather than into the table itself. So a style you wrote yourself is injected into the system prompt once and never restated, while Proactive or Explanatory are restated every turn. This makes the reminder fire for custom styles too, using the name you configured. A style that defines its own turnReminder gets that text; otherwise it gets one short sentence pointing back at the style.`,getValue:()=>t.misc?.outputStyleTurnReminder??!1,toggle:()=>{n(e=>{c(),e.misc.outputStyleTurnReminder=!e.misc.outputStyleTurnReminder})}},{id:`autoModeClassifierModel`,title:`Auto-mode classifier model`,description:`Pin auto-mode bash safety classifier to a fixed model. Default routes to your main-loop model (e.g. Opus 4.7), which gets denied as "temporarily unavailable" when that model is congested. Sonnet/Haiku have more headroom and the binary XML classifier task fits either.`,getValue:()=>t.misc?.autoModeClassifierModel??`default`,getDisplayValue:()=>u(t.misc?.autoModeClassifierModel??`default`),toggle:()=>{n(e=>{c(),e.misc.autoModeClassifierModel=l(e.misc.autoModeClassifierModel??`default`)})}}],[t,n]),v=_.length,y=v-1,b=Me(()=>r<4?0:Math.min(r-4+1,v-4),[r,v]),x=_.slice(b,b+4),S=b>0,C=b+4<v;return B((t,s)=>{a?s.return?(n(e=>{c(),e.misc.allowBypassPermissionsInSudo=!0}),o(!1)):s.escape&&o(!1):s.return||s.escape?e():s.upArrow?i(e=>Math.max(0,e-1)):s.downArrow?i(e=>Math.min(y,e+1)):t===` `?_[r]?.toggle():s.rightArrow?_[r]?.increment?.():s.leftArrow&&_[r]?.decrement?.()}),J(R,{flexDirection:`column`,children:a?J(R,{flexDirection:`column`,paddingX:2,children:Y(R,{borderStyle:`double`,borderColor:`yellow`,padding:2,flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,color:`yellow`,children:`SECURITY WARNING`})}),J(R,{marginBottom:1,children:J(z,{children:`You are about to enable a feature that allows Claude Code to bypass permission checks when running with sudo privileges.`})}),J(R,{marginBottom:1,children:J(z,{color:`red`,children:`This means Claude can perform system-level operations without any prompts or confirmation.`})}),J(R,{marginBottom:1,children:J(z,{bold:!0,children:`Use with extreme caution.`})}),J(R,{children:Y(z,{children:[`Press `,J(z,{color:`red`,children:`Enter`}),` to enable,`,` `,J(z,{color:`green`,children:`Escape`}),` to cancel`]})})]})}):Y(q,{children:[J(R,{marginBottom:1,children:J(X,{children:`Miscellaneous Settings`})}),J(R,{marginBottom:1,children:J(z,{dimColor:!0,children:`Use ↑/↓ to navigate, space to toggle, ←/→ to adjust numbers, enter to go back.`})}),S&&J(R,{children:Y(z,{dimColor:!0,children:[` ↑ `,b,` more above`]})}),x.map((e,t)=>{let n=b+t===r,i=e.getValue(),a=!!e.getDisplayValue,o=!!e.increment,s;s=o?`◆`:a?`◉`:i?`☑`:`☐`;let c;c=a?e.getDisplayValue():typeof i==`boolean`?i?`Enabled`:`Disabled`:String(i??`Default`);let l=n&&o?` ← → `:``;return Y(R,{flexDirection:`column`,children:[J(R,{children:Y(z,{children:[J(z,{color:n?`cyan`:void 0,children:n?`❯ `:` `}),J(z,{bold:!0,color:n?`cyan`:void 0,children:e.title})]})}),J(R,{children:Y(z,{dimColor:!0,children:[` `,e.description]})}),J(R,{marginLeft:4,marginBottom:1,children:Y(z,{children:[s,` `,c,J(z,{dimColor:!0,children:l})]})})]},e.id)}),C&&J(R,{children:Y(z,{dimColor:!0,children:[` `,`↓ `,v-b-4,` more below`]})}),J(R,{marginTop:1,children:Y(z,{dimColor:!0,children:[`Item `,r+1,` of `,v]})})]})})}const It=`AgentOutputTool.AskUserQuestion.Bash.BashOutputTool.Edit.EnterPlanMode.ExitPlanMode.Glob.Grep.KillShell.ListMcpResourcesTool.LSP.NotebookEdit.Read.ReadMcpResourceTool.Skill.Task.TaskCreate.TaskGet.TaskList.TaskOutput.TaskStop.TaskUpdate.Teammate.TodoWrite.ToolSearch.WebFetch.WebSearch.Write`.split(`.`);function Lt({toolsetIndex:e,onBack:t}){let{settings:n,updateSettings:r}=H($),i=n.toolsets[e],[a,o]=W(i?.name||`New Toolset`),[s,c]=W(i?.allowedTools||[]),[l,u]=W(!1),[d,f]=W(0);U(()=>{i&&r(t=>{let n=t.toolsets[e].name;t.toolsets[e].name=a,t.toolsets[e].allowedTools=s,n!==a&&(t.defaultToolset===n&&(t.defaultToolset=a),t.planModeToolset===n&&(t.planModeToolset=a))})},[a,s]);let p=e=>s===`*`?!0:s.includes(e),m=e=>{e===`All`?c(`*`):e===`None`?c([]):s===`*`?c(It.filter(t=>t!==e)):s.includes(e)?c(s.filter(t=>t!==e)):c([...s,e])};if(B((e,n)=>{if(l){n.return?(a.trim()||o(i?.name||`New Toolset`),u(!1)):n.escape?(o(i?.name||`New Toolset`),u(!1)):n.backspace||n.delete?o(e=>e.slice(0,-1)):e&&e.length===1&&o(t=>t+e);return}if(n.escape)t();else if(n.upArrow)f(e=>Math.max(0,e-1));else if(n.downArrow)f(e=>Math.min(It.length+1,e+1));else if(e===` `||n.return)if(d===0)m(`All`);else if(d===1)m(`None`);else{let e=It[d-2];e&&m(e)}else e===`n`&&u(!0)}),!i)return J(R,{flexDirection:`column`,children:J(z,{color:`red`,children:`Toolset not found`})});let h=s===`*`,g=Array.isArray(s)&&s.length===0;return Y(R,{flexDirection:`column`,children:[J(X,{children:`Edit Toolset`}),J(R,{marginBottom:1,flexDirection:`column`,children:J(z,{dimColor:!0,children:`n to edit name · space/enter to toggle · esc to go back`})}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{bold:!0,children:`Name:`}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:l?`yellow`:`gray`,children:J(z,{children:a})})}),l&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`enter to save · esc to cancel`})})]}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{bold:!0,children:`Allowed Tools:`}),J(R,{marginLeft:2,children:Y(z,{color:d===0?`cyan`:void 0,children:[d===0?`❯ `:` `,h?`●`:`○`,` All`]})}),J(R,{marginLeft:2,children:Y(z,{color:d===1?`cyan`:void 0,children:[d===1?`❯ `:` `,g?`●`:`○`,` None`]})}),It.map((e,t)=>{let n=t+2;return J(R,{marginLeft:2,children:Y(z,{color:d===n?`cyan`:void 0,children:[d===n?`❯ `:` `,p(e)?`◉`:`○`,` `,e]})},e)})]}),J(R,{borderStyle:`round`,padding:1,marginTop:1,children:Y(R,{flexDirection:`column`,children:[J(z,{bold:!0,children:`Summary:`}),Y(z,{children:[`Name: `,J(z,{color:`cyan`,children:a})]}),Y(z,{children:[`Tools:`,` `,s===`*`?J(z,{color:`green`,children:`All tools (*)`}):s.length===0?J(z,{color:`red`,children:`No tools ([])`}):Y(z,{color:`yellow`,children:[s.length,` selected`]})]})]})})]})}function Rt({onBack:e}){let{settings:{toolsets:t,defaultToolset:n,planModeToolset:r,themes:i},updateSettings:a}=H($),o=me(),s=i.find(e=>e.id===o)||i[0],c=M.themes[0],l=s?.colors.planMode||c.colors.planMode,u=s?.colors.autoAccept||c.colors.autoAccept,[d,f]=W(0),[p,m]=W(null),[h,g]=W(!0),_=()=>{let e={name:`New Toolset`,allowedTools:[]};a(t=>{t.toolsets.push(e)}),m(t.length),g(!1)},v=e=>{let n=t[e];a(t=>{t.toolsets.splice(e,1),t.defaultToolset===n.name&&(t.defaultToolset=null),t.planModeToolset===n.name&&(t.planModeToolset=null)}),d>=t.length-1&&f(Math.max(0,t.length-2))},y=e=>{let n=t[e];a(e=>{e.defaultToolset=n.name})},b=e=>{let n=t[e];a(e=>{e.planModeToolset=n.name})};if(B((n,r)=>{r.escape?e():r.upArrow?f(e=>Math.max(0,e-1)):r.downArrow?f(e=>Math.min(t.length-1,e+1)):r.return&&t.length>0?(m(d),g(!1)):n===`n`?_():n===`x`&&t.length>0?v(d):n===`d`&&t.length>0?y(d):n===`p`&&t.length>0&&b(d)},{isActive:h}),p!==null)return J(Lt,{toolsetIndex:p,onBack:()=>{m(null),g(!0)}});let x=e=>e.allowedTools===`*`?`All tools`:e.allowedTools.length===0?`No tools`:`${e.allowedTools.length} tool${e.allowedTools.length===1?``:`s`}`;return Y(R,{flexDirection:`column`,children:[J(X,{children:`Toolsets`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new toolset`}),t.length>0&&J(z,{dimColor:!0,children:`d to set as default toolset`}),t.length>0&&J(z,{dimColor:!0,children:`p to set as plan mode toolset`}),t.length>0&&J(z,{dimColor:!0,children:`x to delete a toolset`}),t.length>0&&J(z,{dimColor:!0,children:`enter to edit toolset`}),J(z,{dimColor:!0,children:`esc to go back`})]}),t.length===0?J(z,{children:`No toolsets created yet. Press n to create one.`}):J(R,{flexDirection:`column`,children:t.map((e,t)=>{let i=e.name===n,a=e.name===r,o=d===t,s;return o&&(s=`yellow`),Y(R,{flexDirection:`row`,children:[Y(z,{color:s,children:[o?`❯ `:` `,e.name,` `]}),Y(z,{color:s,children:[`(`,x(e),`)`]}),i&&J(z,{color:u,children:` ⏵⏵ accept edits`}),a&&J(z,{color:l,children:` ⏸ plan mode`})]},t)})})]})}function zt({onBack:e}){let{settings:t,updateSettings:n}=H($),[r,i]=W(`plan`),[a,o]=W(!1),[s,c]=W(0),l=t.subagentModels||{plan:null,explore:null,generalPurpose:null},u=[{id:`plan`,title:`Plan Agent`,description:`The agent responsible for creating implementation plans.`},{id:`explore`,title:`Explore Agent`,description:`The agent specialized for exploring codebases.`},{id:`generalPurpose`,title:`General-purpose Agent`,description:`The agent used for general multi-step tasks.`}],d=[{label:`Default (Inherited)`,value:null},{label:`sonnet`,value:`sonnet`},{label:`haiku`,value:`haiku`},{label:`opus`,value:`opus`},{label:`sonnet[1m]`,value:`sonnet[1m]`}];return B((t,f)=>{if(a){if(f.escape)o(!1);else if(f.upArrow)c(e=>e>0?e-1:d.length-1);else if(f.downArrow)c(e=>e<d.length-1?e+1:0);else if(f.return){let e=d[s].value;n(t=>{t.subagentModels||={plan:null,explore:null,generalPurpose:null},t.subagentModels[r]=e}),o(!1)}}else if(f.escape)e();else if(f.upArrow){let e=u.findIndex(e=>e.id===r);i(u[e>0?e-1:u.length-1].id)}else if(f.downArrow){let e=u.findIndex(e=>e.id===r);i(u[e<u.length-1?e+1:0].id)}else if(t===` `||f.return){let e=l[r],t=d.findIndex(t=>t.value===e);c(t>=0?t:0),o(!0)}}),a?Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:Y(X,{children:[`Select Model for`,` `,u.find(e=>e.id===r)?.title]})}),d.map((e,t)=>{let n=t===s;return J(R,{children:Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,e.label,e.value?Y(z,{dimColor:!0,children:[` (`,e.value,`)`]}):null]})},t)})]}):Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(X,{children:`Subagent Model Settings`})}),J(R,{marginBottom:1,children:J(z,{dimColor:!0,children:`Configure which Claude model each subagent uses. Use arrow keys to navigate, enter or space to change a model, and escape to go back.`})}),u.map(e=>{let t=e.id===r,n=l[e.id],i=d.find(e=>e.value===n)?.label||n||`Default`;return Y(R,{flexDirection:`column`,marginBottom:1,children:[J(R,{children:Y(z,{color:t?`cyan`:void 0,children:[t?`❯ `:` `,J(z,{bold:!0,children:e.title})]})}),J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:e.description})}),J(R,{marginLeft:4,children:Y(z,{children:[`Current: `,J(z,{color:`green`,children:i})]})})]},e.id)})]})}const Bt=[{value:`low`,blurb:`Fastest, cheapest - minimal reasoning`},{value:`medium`,blurb:`Balanced reasoning`},{value:`high`,blurb:`Deep reasoning`},{value:`xhigh`,blurb:`Very deep reasoning`},{value:`max`,blurb:`Maximum reasoning - slowest, priciest`}],Vt={messageCap:{label:`Message cap`,unit:`chars`,lo:500,hi:4e5,hint:`max chars of a user message fed to the classifier`},assistantCap:{label:`Assistant cap`,unit:`chars`,lo:500,hi:4e5,hint:`prev assistant reply beyond this is middle-truncated (head+tail + an omitted-size marker the classifier weighs); no mechanical floor`},timeoutMs:{label:`Haiku timeout`,unit:`ms`,lo:1e3,hi:12e4,hint:`classifier call timeout; on timeout the router fails open`}},Ht=[`enabled`,`pinPerTask`,`messageCap`,`assistantCap`,`timeoutMs`,`systemPrompt`],Ut=e=>e in Vt,Wt=M.complexityRouter;function Gt({onBack:e}){let{settings:t,updateSettings:n}=H($),r={...Wt,...t.complexityRouter??{},levels:t.complexityRouter?.levels&&t.complexityRouter.levels.length>0?t.complexityRouter.levels:Wt.levels},i=Ht.length+r.levels.length,{setRawMode:a,isRawModeSupported:o}=Ee(),[s,c]=W(0),[l,u]=W(null),[d,f]=W(0),[p,m]=W(null),[h,g]=W(null),[,_]=W(0),v=e=>{n(t=>{let n={...Wt,...t.complexityRouter??{},levels:(t.complexityRouter?.levels&&t.complexityRouter.levels.length>0?t.complexityRouter.levels:Wt.levels).map(e=>({...e}))};e(n),t.complexityRouter=n})};if(B((t,n)=>{if(h){if(n.escape){g(null);return}if(n.return){let{kind:e,levelIndex:t,value:n}=h;v(r=>{let i=r.levels[t];i&&(i[e]=n)}),g(null);return}if(n.backspace||n.delete){g(e=>e&&{...e,value:e.value.slice(0,-1)});return}t&&!n.ctrl&&!n.meta&&g(e=>e&&{...e,value:e.value+t});return}if(p){if(n.escape){m(null);return}if(n.return){let e=Vt[p.row],t=parseInt(p.value,10),n=Number.isFinite(t)?Math.min(e.hi,Math.max(e.lo,t)):Wt[p.row],r=p.row;v(e=>{e[r]=n}),m(null);return}if(n.backspace||n.delete){m(e=>e&&{...e,value:e.value.slice(0,-1)});return}/^[0-9]$/.test(t)&&m(e=>e&&e.value.length<7?{...e,value:e.value+t}:e);return}if(l){if(n.escape){u(null);return}if(n.upArrow){f(e=>e>0?e-1:Bt.length-1);return}if(n.downArrow){f(e=>e<Bt.length-1?e+1:0);return}if(n.return){let e=Bt[d].value,t=l.levelIndex;v(n=>{n.levels[t]&&(n.levels[t].effort=e)}),u(null)}return}if(n.escape){e();return}if(n.upArrow){c(e=>e>0?e-1:i-1);return}if(n.downArrow){c(e=>e<i-1?e+1:0);return}let y=s<Ht.length,b=s-Ht.length;if(t===`x`){if(y){let e=Ht[s];Ut(e)?v(t=>{t[e]=Wt[e]}):e===`systemPrompt`&&v(e=>{e.systemPrompt=Wt.systemPrompt})}else{let e=Wt.levels[b];e&&v(t=>{let n=t.levels[b];n&&(n.effort=e.effort,n.label=e.label,n.help=e.help)})}return}if(!y&&(t===`l`||t===`h`)){let e=t===`l`?`label`:`help`,n=r.levels[b];n&&g({kind:e,levelIndex:b,value:n[e]});return}if(t===` `||n.return)if(y){let e=Ht[s];if(e===`enabled`)v(e=>{e.enabled=!e.enabled});else if(e===`pinPerTask`)v(e=>{e.pinPerTask=!e.pinPerTask});else if(e===`systemPrompt`){o&&a(!1);let e=te(r.systemPrompt);if(o&&a(!0),e!=null){let t=e.replace(/\s+$/,``);t&&t!==r.systemPrompt&&v(e=>{e.systemPrompt=t})}_(e=>e+1)}else m({row:e,value:String(r[e])})}else{let e=Bt.findIndex(e=>e.value===r.levels[b]?.effort);f(e>=0?e:0),u({levelIndex:b})}}),l)return Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:Y(X,{children:[`Select effort for "`,r.levels[l.levelIndex]?.label,`"`]})}),Bt.map((e,t)=>{let n=t===d;return J(R,{children:Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,e.value,Y(z,{dimColor:!0,children:[` - `,e.blurb]})]})},t)})]});let y=(e,t)=>{let n=t===s,i,a,o=``;if(e===`enabled`)i=`Enabled`,a=r.enabled?`on`:`off`;else if(e===`pinPerTask`)i=`Pin per task`,a=r.pinPerTask?`on`:`off`;else if(e===`systemPrompt`){i=`System prompt`;let e=r.systemPrompt===Wt.systemPrompt;a=`${r.systemPrompt.length} chars${e?` (default)`:` (customized)`} - enter to edit in $EDITOR`,o=`opens the classifier system prompt in your $EDITOR; {LEVELS} (the tier rubric) and {MAX} are substituted at apply time · x = reset to default`}else{let t=Vt[e];i=t.label,p?.row===e?(a=`${p.value||`0`}_`,o=`type a number (${t.lo}-${t.hi}), enter to save · esc cancel`):(a=`${r[e]} ${t.unit}`,o=t.hint)}return Y(R,{flexDirection:`column`,children:[Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,i,`: `,J(z,{color:`green`,children:a})]}),n&&o?J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:o})}):null]},e)};return Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(X,{children:`Complexity Effort Router [experimental]`})}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`Classifies each task by difficulty and sets the reasoning-effort (thinking) level to match - low for routine work, the top tier only for genuinely frontier problems. Runs on your current model (no model switch). Off by default.`}),J(z,{dimColor:!0,children:`Heads up - it burns more tokens: effort level is part of the prompt cache key, so every turn the router changes the level the whole conversation is re-read uncached (a big one-time hit that turn, then cheaper again while the level holds). Each level keeps its own cache, so returning to a prior level reuses most of its earlier work. pin per task on (the default, monotonic) minimizes the churn; pin off flips both ways and pays it more often. Measured, not theoretical.`}),J(z,{dimColor:!0,children:`A one-shot Haiku side-call routes each prompt, fed a rolling TL;DR summary of the session plus the model in use and the level it set last turn (so it judges in context, not cold). Kept in ~/.tweakcc/router- state, restored on resume; reset and reseeded from the main model's summary when the conversation compacts. On a Haiku error it keeps the last level, else defaults high.`}),J(z,{dimColor:!0,children:`Rewind-aware: it snapshots the routed state each turn, so /rewind (Restore conversation) cuts the summary back to the point you rewound to - effort and memory follow the conversation instead of carrying rewound-away work. (Summarize-from-here rewinds reseed via compaction.)`}),J(z,{dimColor:!0,children:`Fully customizable: edit the classifier System prompt in your $EDITOR, and each tier's label/help inline - all with sane defaults.`}),J(z,{dimColor:!0,children:`pin per task is a monotonic floor - effort never drops below the session max (only escalates); turn it off to track each prompt up and down. Reset on /clear.`}),J(z,{dimColor:!0,children:`While on, the router drives effort, overriding your saved effortLevel. An in-session /effort takes back manual control for that session, and CLAUDE_CODE_EFFORT_LEVEL always wins.`}),J(z,{dimColor:!0,children:`See it: Claude Code's working indicator already shows it live - e.g. "thinking with max effort" reflects the routed level. TWEAKCC_ROUTER_DEBUG=1 also logs each decision.`}),J(z,{dimColor:!0,children:`↑↓ navigate · enter/space toggle, edit, or open $EDITOR · digits set a number · on a tier: l/h edit label/help · x reset · esc back`})]}),Ht.map((e,t)=>y(e,t)),J(R,{marginTop:1,marginBottom:1,children:J(z,{bold:!0,children:`Complexity levels and their effort`})}),r.levels.map((e,t)=>{let n=Ht.length+t===s,r=h?.levelIndex===t&&h.kind===`label`,i=h?.levelIndex===t&&h.kind===`help`;return Y(R,{flexDirection:`column`,marginBottom:1,children:[J(R,{children:Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,J(z,{bold:!0,children:r?`${h.value}_`:e.label}),` `,J(z,{color:`green`,children:e.effort})]})}),J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:i?`${h.value}_`:e.help})}),n&&!h?J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:`enter = set effort · l = edit label · h = edit help · x = reset this tier`})}):null,n&&h?J(R,{marginLeft:4,children:Y(z,{dimColor:!0,children:[`editing `,h.kind,` - type to change · enter save · esc cancel`]})}):null]},e.id)})]})}const Kt=[`fable`,`opus`,`sonnet`,`haiku`],qt=e=>e.charAt(0).toUpperCase()+e.slice(1),Jt=[{kind:`enabled`},{kind:`model`,side:`plan`},{kind:`model`,side:`exec`},{kind:`clearContext`}],Yt=({onBack:e})=>{let{settings:t,updateSettings:n}=H($),r={...M.fablePlan,...t.fablePlan??{}},[i,a]=W(0),o=e=>{n(t=>({...t,fablePlan:{...M.fablePlan,...t.fablePlan??{},...e}}))},s=e=>{let t=Jt[i];if(t.kind===`enabled`){o({enabled:!r.enabled});return}if(t.kind===`clearContext`){o({offerClearContextOnPlanAccept:!r.offerClearContextOnPlanAccept});return}let n=t.side===`plan`?`planModel`:`execModel`,a=t.side===`plan`?r.execModel:r.planModel,s=Kt.indexOf(r[n]);for(let t=1;t<=Kt.length;t++){let r=Kt[(s+e*t+Kt.length*t)%Kt.length];if(r!==a){o({[n]:r});return}}};B((t,n)=>{if(n.escape||t===`q`){e();return}n.upArrow?a(e=>(e-1+Jt.length)%Jt.length):n.downArrow?a(e=>(e+1)%Jt.length):n.leftArrow?s(-1):n.rightArrow||n.return||t===` `?s(1):t===`x`&&o({...M.fablePlan})});let c=(e,t,n)=>Y(R,{children:[Y(z,{color:e===i?`cyan`:void 0,children:[e===i?`❯ `:` `,t.padEnd(26)]}),J(z,{color:e===i?`cyan`:`green`,bold:e===i,children:n})]},t),l=`${r.planModel}plan`;return Y(R,{flexDirection:`column`,paddingX:1,children:[J(z,{bold:!0,children:`Fable Plan mode`}),Y(R,{marginTop:1,flexDirection:`column`,children:[Y(z,{dimColor:!0,children:[`Adds a `,J(z,{color:`green`,children:l}),` entry to Claude Code's`,` `,J(z,{color:`green`,children:`/model`}),` list: `,qt(r.planModel),` `,`while planning, `,qt(r.execModel),` while executing, each at the effort you set for that model in `,J(z,{color:`green`,children:`/model`}),`.`]}),Y(z,{dimColor:!0,children:[`It is a model you select, the same mechanism Claude Code ships for opusplan. Nothing changes for any other model, and your selection stays `,J(z,{color:`green`,children:l}),` throughout — the pairing is resolved per request, so no model is ever switched underneath you mid-session.`]})]}),J(R,{marginTop:1,flexDirection:`column`,children:Jt.map((e,t)=>e.kind===`enabled`?c(t,`Enabled`,r.enabled?`yes`:`no`):e.kind===`clearContext`?c(t,`Offer "clear context"`,r.offerClearContextOnPlanAccept?`yes`:`no`):c(t,`${e.side===`plan`?`Planning`:`Executing`} model`,qt(e.side===`plan`?r.planModel:r.execModel)))}),Y(R,{marginTop:1,flexDirection:`column`,children:[Y(z,{dimColor:!0,children:[`Claude Code defaults its "clear context" option off. On, the plan-approval dialog offers "Yes, clear context (N% used)", which hands only the plan to `,qt(r.execModel),`. Continuing instead re-sends the whole planning transcript to a different model, so the cache is cold either way and you pay for the transcript twice.`]}),Y(z,{dimColor:!0,children:[`Reasoning effort is Claude Code's own per-model setting: pick`,` `,qt(r.planModel),` in `,J(z,{color:`green`,children:`/model`}),`, set its effort, then do the same for `,qt(r.execModel),`. An explicit `,J(z,{color:`green`,children:`/effort`}),` applies to both sides for the rest of the session.`]})]}),J(R,{marginTop:1,children:J(z,{dimColor:!0,children:`↑↓ move · ←→ change · x reset to defaults · esc back`})})]})},Xt=K.join(ae,`claude-browser-bridge`),Zt=K.join(Xt,`host`,`setup.mjs`),Qt=K.join(Xt,`extension`),$t=K.join(Pe.homedir(),`.claude-browser-bridge`,`install-state.json`),en=`/tmp/claude-browser-bridge-${Pe.userInfo().username}.sock`;function tn(e){try{return!G.statSync(K.join(e,`Local State`)).isFile()||!G.statSync(K.join(e,`NativeMessagingHosts`)).isDirectory()?!1:G.existsSync(K.join(e,`Default`))?!0:G.readdirSync(e).some(e=>/^Profile \d+$/.test(e))}catch{return!1}}function nn(e){let t=K.basename(e);return t===`User Data`&&(t=K.basename(K.dirname(e))),t.includes(`.`)&&(t=t.split(`.`).pop()||t),t=t.replace(/[-_]/g,` `),t.charAt(0).toUpperCase()+t.slice(1)}function rn(e){return new Promise(t=>{Le(process.execPath,e,{maxBuffer:8*1024*1024},(e,n,r)=>{t({code:e?typeof e.code==`number`?e.code:1:0,out:String(n)+String(r)})})})}function an(e){return new Promise(t=>{Le(`git`,e,{maxBuffer:8*1024*1024},(e,n,r)=>{t({code:e?1:0,out:String(n)+String(r)})})})}async function on(){if(G.existsSync(K.join(Xt,`.git`))&&G.existsSync(Zt)){let e=await an([`-C`,Xt,`pull`,`--ff-only`]);return G.existsSync(Zt)?{code:0,out:e.out}:e}return G.existsSync(Xt)&&G.rmSync(Xt,{recursive:!0,force:!0}),an([`clone`,`--depth`,`1`,`https://github.com/skrabe/claude-browser-bridge`,Xt])}function sn(){let e=process.platform===`darwin`?K.join(Pe.homedir(),`Library`,`Application Support`):K.join(Pe.homedir(),`.config`),t=e=>{try{return G.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(`.`)).map(t=>K.join(e,t.name))}catch{return[]}},n=[];for(let r of t(e))for(let e of[r,...t(r)])tn(e)&&n.push(nn(e));return n.sort()}function cn(){try{return JSON.parse(G.readFileSync($t,`utf8`))}catch{return null}}const ln=({onBack:e})=>{let[t,n]=W(`menu`),[r,i]=W(0),[a,o]=W(cn()),[s,c]=W(`global`),[l,u]=W(`Working…`),[d,f]=W([]),[p,m]=W(null),[h,g]=W(``),_=je(()=>{o(cn())},[]);U(()=>{_()},[_]);let v=G.existsSync(en),y=!!a,b=()=>{c(`global`),i(0),n(`scope`)},x=je(async e=>{n(`busy`),u(`Fetching the bridge…`),f([]);let t=await on();if(t.code!==0||!G.existsSync(Zt)){g(`Failed to fetch the bridge repo:
2
+ import{B as e,D as t,E as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,S as g,T as _,U as v,V as y,W as b,X as x,Y as S,Z as C,_ as w,a as T,at as ee,b as E,ct as D,d as O,g as te,h as k,i as ne,it as A,k as re,l as j,m as ie,n as ae,nt as oe,o as se,ot as M,p as N,q as ce,r as P,rt as F,s as I,st as le,t as ue,tt as de,u as fe,v as pe,x as me,y as he,z as L}from"./config-DhAHzVuC.mjs";import{a as ge,c as _e,d as ve,l as ye,n as be,o as xe,s as Se,t as Ce,u as we}from"./content-BsWaXria.mjs";import{Box as R,Text as z,render as Te,useInput as B,useStdin as Ee}from"ink";import{Command as De}from"commander";import V from"chalk";import Oe,{Fragment as ke,createContext as Ae,useCallback as je,useContext as H,useEffect as U,useMemo as Me,useRef as Ne,useState as W}from"react";import*as Pe from"node:os";import Fe from"ink-link";import*as Ie from"node:fs/promises";import*as G from"node:fs";import*as K from"node:path";import{execFile as Le,execSync as Re,spawn as ze}from"node:child_process";import Be from"gray-matter";import{structuredPatch as Ve}from"diff";import{Fragment as q,jsx as J,jsxs as Y}from"react/jsx-runtime";import He from"process";import Ue from"cli-spinners";import*as We from"node:readline";var X=({children:e,...t})=>Y(z,{bold:!0,backgroundColor:`#ffd500`,color:`#000`,...t,children:[` `,e,` `]});const Ge=[`\x1B[?25l\x1B[0m \x1B[38;2;0;0;0m \x1B[38;2;252;130;0m▂\x1B[38;2;252;130;0m▄\x1B[38;2;252;130;0m▅\x1B[38;2;252;130;0m▇\x1B[38;2;254;131;0m\x1B[48;2;252;130;0m▇\x1B[48;2;252;130;0m▇▇\x1B[48;2;252;130;0m▇\x1B[0m\x1B[38;2;252;130;0m▇\x1B[38;2;252;130;0m▅\x1B[38;2;252;130;0m▄\x1B[38;2;252;130;0m▂ \x1B[0m`,` \x1B[38;2;0;0;0m \x1B[38;2;254;131;0m▗\x1B[38;2;254;131;0m▆\x1B[48;2;254;131;0m \x1B[38;2;254;132;0m╶ \x1B[0m\x1B[38;2;254;131;0m▆\x1B[38;2;254;131;0m▖ \x1B[0m`,` \x1B[7m\x1B[38;2;254;131;0m▘\x1B[0m\x1B[38;2;11;6;0m\x1B[48;2;254;131;0m \x1B[38;2;254;216;182m\x1B[48;2;254;136;12m▃\x1B[38;2;254;249;246m\x1B[48;2;254;143;29m▅\x1B[38;2;254;253;253m\x1B[48;2;254;143;40m▆\x1B[38;2;254;254;253m\x1B[48;2;254;152;68m▆▆▆\x1B[38;2;254;253;252m\x1B[48;2;254;141;34m▆\x1B[38;2;254;247;242m\x1B[48;2;254;140;24m▅\x1B[38;2;254;224;199m\x1B[48;2;254;140;20m▖\x1B[48;2;254;131;0m \x1B[0m\x1B[7m\x1B[38;2;254;131;0m▝\x1B[0m \x1B[0m`,`\x1B[7m\x1B[38;2;251;127;0m▌\x1B[0m\x1B[38;2;251;127;0m\x1B[48;2;253;130;0m▃\x1B[38;2;252;128;0m\x1B[48;2;254;131;0m▃\x1B[38;2;252;129;0m▂\x1B[38;2;253;130;0m▁\x1B[38;2;249;135;16m\x1B[48;2;253;226;202m▋\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┈\x1B[48;2;246;246;245m┈\x1B[38;2;47;47;47m\x1B[48;2;244;244;243m▂\x1B[38;2;112;112;112m\x1B[48;2;251;251;251m▂\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m▁╌▝\x1B[38;2;254;254;253m\x1B[48;2;254;254;254m▋\x1B[38;2;254;254;254m\x1B[48;2;254;253;252m┈\x1B[38;2;252;209;168m\x1B[48;2;251;129;0m▍\x1B[38;2;253;129;0m\x1B[48;2;254;131;0m▂\x1B[38;2;252;128;0m▃\x1B[38;2;251;127;0m\x1B[48;2;253;130;0m▃\x1B[0m\x1B[38;2;251;127;0m▌\x1B[0m`,`\x1B[38;2;243;118;0m\x1B[48;2;243;118;0m▏\x1B[38;2;245;118;0m\x1B[48;2;248;122;0m▄\x1B[38;2;247;121;0m\x1B[48;2;247;122;0m┈\x1B[38;2;106;68;38m\x1B[48;2;245;123;2m▃\x1B[38;2;39;33;28m\x1B[48;2;211;109;6m▅\x1B[38;2;27;20;12m\x1B[48;2;237;237;237m▌\x1B[48;2;254;254;253m \x1B[38;2;90;90;89m\x1B[48;2;231;230;230m▝\x1B[38;2;215;215;214m\x1B[48;2;48;48;48m▁\x1B[38;2;203;203;202m\x1B[48;2;42;42;42m▂\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┇╴\x1B[38;2;253;252;252m▂\x1B[38;2;251;250;250m\x1B[48;2;253;253;253m▃\x1B[38;2;249;249;248m\x1B[48;2;252;252;251m▄\x1B[38;2;249;248;248m\x1B[48;2;237;118;0m▍\x1B[38;2;246;121;0m\x1B[48;2;250;125;0m▄\x1B[38;2;246;119;0m\x1B[48;2;249;124;0m▄\x1B[38;2;245;118;0m\x1B[48;2;248;123;0m▄\x1B[38;2;243;118;0m\x1B[48;2;243;118;0m▉\x1B[0m`,`\x1B[38;2;238;108;0m\x1B[48;2;237;109;0m▏\x1B[38;2;238;108;0m\x1B[48;2;241;113;0m▄\x1B[38;2;239;109;0m\x1B[48;2;242;114;0m▄\x1B[38;2;233;109;2m\x1B[48;2;125;73;29m▇\x1B[38;2;225;104;1m\x1B[48;2;50;32;18m▄\x1B[38;2;62;29;2m\x1B[48;2;239;237;237m▌\x1B[38;2;254;253;253m\x1B[48;2;254;254;254m┻\x1B[38;2;254;254;253m▊\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┊\x1B[38;2;253;253;252m▂\x1B[38;2;251;251;251m\x1B[48;2;254;253;253m▃\x1B[38;2;249;249;249m\x1B[48;2;252;252;252m▄\x1B[38;2;247;247;247m\x1B[48;2;250;250;250m▄\x1B[38;2;245;245;244m\x1B[48;2;248;248;248m▄\x1B[38;2;243;243;242m\x1B[48;2;246;246;245m▄\x1B[38;2;243;242;242m\x1B[48;2;230;109;0m▍\x1B[38;2;239;111;0m\x1B[48;2;243;116;0m▄\x1B[38;2;239;109;0m\x1B[48;2;242;114;0m▄\x1B[38;2;238;108;0m\x1B[48;2;241;113;0m▄\x1B[38;2;237;108;0m\x1B[48;2;238;108;0m▉\x1B[0m`,`\x1B[7m\x1B[38;2;231;98;0m▌\x1B[0m\x1B[38;2;231;98;0m\x1B[48;2;234;103;0m▄\x1B[38;2;231;99;0m\x1B[48;2;235;105;0m▄\x1B[38;2;232;100;0m\x1B[48;2;236;105;0m▄\x1B[38;2;232;101;0m\x1B[48;2;236;106;0m▄\x1B[38;2;223;99;0m\x1B[48;2;247;238;235m▌\x1B[38;2;254;254;254m\x1B[48;2;254;254;253m┊\x1B[38;2;252;252;251m▃\x1B[38;2;250;250;250m\x1B[48;2;253;253;252m▄\x1B[38;2;248;248;247m\x1B[48;2;251;251;250m▄\x1B[38;2;246;245;245m\x1B[48;2;249;248;248m▄\x1B[38;2;243;243;243m\x1B[48;2;246;246;246m▄\x1B[38;2;241;241;241m\x1B[48;2;244;244;244m▄\x1B[38;2;239;239;238m\x1B[48;2;242;242;242m▄\x1B[38;2;237;237;236m\x1B[48;2;240;240;239m▄\x1B[38;2;237;236;236m\x1B[48;2;223;99;0m▍\x1B[38;2;232;100;0m\x1B[48;2;236;106;0m▄\x1B[38;2;231;100;0m\x1B[48;2;235;105;0m▄\x1B[38;2;231;98;0m\x1B[48;2;234;103;0m▄\x1B[0m\x1B[38;2;231;98;0m▌\x1B[0m`,` \x1B[7m\x1B[38;2;224;89;0m▖\x1B[0m\x1B[38;2;224;89;0m\x1B[48;2;228;94;0m▄\x1B[38;2;225;90;0m\x1B[48;2;228;95;0m▄\x1B[38;2;225;91;0m\x1B[48;2;229;96;0m▄\x1B[38;2;217;90;1m\x1B[48;2;97;77;70m▌\x1B[38;2;70;70;70m\x1B[48;2;207;207;207m▆\x1B[38;2;66;65;65m\x1B[48;2;228;228;227m▄\x1B[38;2;66;66;66m\x1B[48;2;233;232;232m▂\x1B[38;2;169;169;169m\x1B[48;2;243;243;243m▁\x1B[38;2;240;239;239m\x1B[48;2;243;242;242m▄\x1B[38;2;238;237;237m\x1B[48;2;241;240;240m▄\x1B[38;2;235;235;235m\x1B[48;2;238;238;238m▄\x1B[38;2;233;233;233m\x1B[48;2;236;236;236m▄\x1B[38;2;231;231;230m\x1B[48;2;234;234;233m▄\x1B[38;2;231;230;230m\x1B[48;2;216;89;0m▍\x1B[38;2;225;90;0m\x1B[48;2;229;95;0m▄\x1B[38;2;224;89;0m\x1B[48;2;228;94;0m▄\x1B[0m\x1B[7m\x1B[38;2;224;89;0m▗\x1B[0m \x1B[0m`,` \x1B[38;2;0;0;0m \x1B[38;2;217;80;0m▝\x1B[7m\x1B[38;2;217;80;0m▂\x1B[0m\x1B[38;2;217;80;0m\x1B[48;2;221;86;0m▄\x1B[38;2;197;78;9m\x1B[48;2;66;66;65m▋\x1B[38;2;65;65;64m\x1B[48;2;60;60;60m▘\x1B[38;2;52;52;51m\x1B[48;2;56;56;56m▗\x1B[38;2;45;45;45m\x1B[48;2;50;50;49m▗\x1B[38;2;42;42;42m\x1B[48;2;46;46;46m┈\x1B[38;2;41;41;41m\x1B[48;2;203;202;202m▆\x1B[38;2;38;38;38m\x1B[48;2;218;218;218m▄\x1B[38;2;45;45;45m\x1B[48;2;221;221;221m▂\x1B[38;2;229;229;229m┊\x1B[38;2;225;225;225m\x1B[48;2;228;228;227m▄\x1B[38;2;225;224;224m\x1B[48;2;209;79;0m▍\x1B[0m\x1B[7m\x1B[38;2;217;80;0m▂\x1B[0m\x1B[38;2;217;80;0m▘ \x1B[0m`,` \x1B[38;2;0;0;0m \x1B[7m\x1B[38;2;191;73;0m▆\x1B[38;2;191;73;0m▄\x1B[38;2;56;55;55m▃\x1B[38;2;46;46;46m▁\x1B[0m\x1B[38;2;20;20;20m\x1B[48;2;42;42;42m▁\x1B[38;2;36;36;36m\x1B[48;2;35;34;34m╴\x1B[38;2;23;23;23m\x1B[48;2;29;29;28m▁\x1B[38;2;10;10;10m\x1B[48;2;22;22;22m▁\x1B[0m\x1B[7m\x1B[38;2;15;15;15m▁\x1B[38;2;22;22;21m▃\x1B[38;2;154;154;154m▅\x1B[38;2;175;116;83m▇\x1B[0m\x1B[38;2;17;15;14m \x1B[0m`,`\x1B[?25h\x1B[0m`];var Ke=()=>Y(R,{flexDirection:`row`,height:10,alignItems:`center`,borderStyle:`bold`,borderBottom:!1,borderTop:!1,borderRight:!1,borderColor:`#ff8400`,marginBottom:1,children:[Y(R,{marginBottom:1,paddingLeft:1,flexDirection:`column`,flexGrow:1,children:[J(z,{bold:!0,color:`#ff8400`,children:`Piebald is released!`}),J(z,{children:` `}),Y(z,{children:[`We've released `,J(z,{bold:!0,children:`Piebald`}),`, the ultimate agentic AI developer experience.`]}),Y(z,{children:[`Download it and try it out for free!`,` `,J(Fe,{url:`https://piebald.ai/`,fallback:!1,children:J(z,{color:`#ff8400`,children:`https://piebald.ai/`})})]}),J(z,{children:` `}),J(z,{dimColor:!0,color:`gray`,children:`press 'h' to hide`})]}),J(R,{width:22,flexShrink:0,flexDirection:`column`,alignItems:`center`,children:Ge.map((e,t)=>J(z,{children:e},t))})]});let Z=function(e){return e.THEMES=`Themes`,e.THINKING_VERBS=`Thinking verbs`,e.THINKING_STYLE=`Thinking style`,e.USER_MESSAGE_DISPLAY=`User message display`,e.INPUT_PATTERN_HIGHLIGHTERS=`Input pattern highlighters`,e.MISC=`Misc`,e.TOOLSETS=`Toolsets`,e.SUBAGENT_MODELS=`Subagent models`,e.COMPLEXITY_ROUTER=`Complexity effort router [experimental]`,e.FABLE_PLAN=`Fable Plan mode`,e.CLAUDE_MD_ALT_NAMES=`CLAUDE.md alternative names`,e.SYSTEM_REMINDERS=`System reminders (injection lobotomy)`,e.SKILLS=`Skills (per-skill on/name-only/user-invocable/off)`,e.BROWSER_BRIDGE=`Better Claude in Chrome`,e.VIEW_SYSTEM_PROMPTS=`View system prompts`,e.RESTORE_ORIGINAL=`Restore original Claude Code (preserves config.json)`,e.OPEN_CONFIG=`Open config.json`,e.OPEN_CLI=`Open Claude Code's cli.js`,e.EXIT=`Exit`,e}({});function qe({items:e,selectedIndex:t,onSelect:n,onSubmit:r}){return B((i,a)=>{e.length!==0&&(a.upArrow?n(t>0?t-1:e.length-1):a.downArrow?n(t<e.length-1?t+1:0):a.return&&r(e[t].name))}),J(R,{flexDirection:`column`,children:e.map((e,n)=>J(R,{children:Y(z,{children:[Y(z,{bold:n===t,color:n===t?`cyan`:void 0,...n===t?e.selectedStyles??{}:e.styles??{},children:[n===t?`❯ `:` `,e.name]}),e.desc&&n===t&&Y(z,{dimColor:!0,bold:!1,children:[` \x1B[0;2m`,`- `,e.desc]})]})},n))})}const Je=[{name:Z.THEMES,desc:`Modify Claude Code's built-in themes or create your own`},{name:Z.THINKING_VERBS,desc:`Customize the list of verbs that Claude Code uses when it's working`},{name:Z.THINKING_STYLE,desc:`Choose custom spinners`},{name:Z.USER_MESSAGE_DISPLAY,desc:`Customize how user messages are displayed`},{name:Z.INPUT_PATTERN_HIGHLIGHTERS,desc:`Create custom highlighters for patterns in your input`},{name:Z.MISC,desc:`Miscellaneous settings (input box border, etc.)`},{name:Z.TOOLSETS,desc:`Manage toolsets to control which tools are available`},{name:Z.SUBAGENT_MODELS,desc:`Configure which Claude model each subagent uses (Plan, Explore, etc.)`},{name:Z.COMPLEXITY_ROUTER,desc:`[EXPERIMENTAL] Auto-route reasoning effort by task complexity (routine=low ... hardest=max)`},{name:Z.FABLE_PLAN,desc:`Plan on one model, execute on another (a /model entry, like opusplan)`},{name:Z.CLAUDE_MD_ALT_NAMES,desc:`Configure alternative filenames for CLAUDE.md (e.g., AGENTS.md)`},{name:Z.SYSTEM_REMINDERS,desc:`Suppress per-turn <system-reminder> injections (skills list, MCP instructions, claudeMd wrapper, etc.)`},{name:Z.SKILLS,desc:`Per-skill listing control (writes settings.json skillOverrides — no patch needed)`},{name:Z.BROWSER_BRIDGE,desc:`Drive your real, logged-in tabs over CDP — a fuller take on Claude in Chrome`},{name:Z.VIEW_SYSTEM_PROMPTS,desc:`Opens the system prompts directory where you can customize Claude Code's system prompts`}],Ye=[{name:Z.RESTORE_ORIGINAL,desc:`Reverts your Claude Code install to its original state (your customizations are remembered and can be reapplied)`},{name:Z.OPEN_CONFIG,desc:`Opens your tweakcc config file (${P})`},{name:Z.OPEN_CLI,desc:`Opens Claude Code's cli.js file`},{name:Z.EXIT,desc:`Bye!`}];var Xe=({onSubmit:e})=>{let t=[...Je,...Ye],[n,r]=W(0);return J(qe,{items:t,selectedIndex:n,onSelect:r,onSubmit:t=>e(t)})};const Ze=()=>Y(R,{flexDirection:`row`,children:[J(X,{children:`tweakcc`}),J(z,{children:` (by `}),J(Fe,{url:`https://piebald.ai`,fallback:!1,children:J(z,{color:`#ff8400`,bold:!0,children:`Piebald`})}),J(z,{children:`)`})]}),Qe=()=>J(R,{children:Y(z,{color:`yellow`,children:[`⭐ `,J(z,{bold:!0,children:`Star the repo at `}),J(Fe,{url:`https://github.com/skrabe/tweakcc-fixed`,fallback:!1,children:J(z,{bold:!0,color:`cyan`,children:`https://github.com/skrabe/tweakcc-fixed`})}),J(z,{bold:!0,children:` if you find this useful!`}),` ⭐`]})}),$e=({notification:e})=>J(R,{borderLeft:!0,borderRight:!1,borderTop:!1,borderBottom:!1,borderStyle:`bold`,borderColor:e.type===`success`?`green`:e.type===`error`?`red`:e.type===`info`?`blue`:`yellow`,paddingLeft:1,flexDirection:`column`,children:J(z,{color:e.type===`success`?`green`:e.type===`error`?`red`:e.type===`info`?`blue`:`yellow`,children:e.message})}),et=({onSubmit:e,notification:t,configMigrated:n,showPiebaldAnnouncement:r,changesApplied:i,invocationCommand:a})=>Y(R,{flexDirection:`column`,gap:1,children:[n&&J(R,{children:J(z,{color:`blue`,bold:!0,children:"Note that in tweakcc v3.2.0+, `ccInstallationDir` config is deprecated. You are now migrated to `ccInstallationPath` which supports npm and native installs."})}),J(Ze,{}),J(R,{children:Y(z,{children:[J(z,{bold:!0,children:`Customize your Claude Code installation.`}),` `,Y(z,{dimColor:!0,children:[`Settings will be saved to `,ae.replace(Pe.homedir(),`~`),`/config.json.`]})]})}),J(r?Ke:Qe,{}),t&&J($e,{notification:t}),!i&&!t&&J($e,{notification:{message:`Your changes are configured but not applied.\nRun \`${a} --apply\` to apply your customizations!`,type:`info`}}),J(Xe,{onSubmit:e})]});function Q({color:e,backgroundColor:t,bold:n,dimColor:r,children:i}){let a=e?.startsWith(`ansi:`),o=t?.startsWith(`ansi:`);if(a||o){if(Oe.Children.toArray(i).some(e=>Oe.isValidElement(e)))return J(z,{children:i});let s=V;if(a){let t=e.slice(5);s=s[t]||s}if(o){let e=t.slice(5),n=e.startsWith(`bg`)?e:`bg${e.charAt(0).toUpperCase()}${e.slice(1)}`;s=s[n]||s}n&&(s=s.bold),r&&(s=s.dim);let c=Oe.Children.toArray(i).map(e=>typeof e==`string`||typeof e==`number`?String(e):``).join(``);return J(z,{children:s(c)})}return J(z,{color:e,backgroundColor:t,bold:n,dimColor:r,children:i})}function tt({text:e,nonShimmerColors:t,shimmerColors:n,shimmerWidth:r=3,updateDuration:i=50,restartPoint:a=10}){let[o,s]=W(0);return U(()=>{let t=setInterval(()=>{s(t=>{let n=t+1;return n>=e.length+a?-r:n})},i);return()=>clearInterval(t)},[e.length,a,i]),t.length===n.length?J(z,{children:e.split(``).map((i,a)=>{let s=a>=o&&a<o+r&&o<e.length,c=a%t.length;return J(z,{color:s?n[c]:t[c],children:i},a)})}):(console.error(`UltrathinkRainbowShimmer: nonShimmerColors and shimmerColors must have the same length`),J(z,{children:e}))}const nt=He.cwd();function rt({theme:e}){let{ccVersion:t}=H($);return Y(R,{flexDirection:`column`,paddingLeft:1,children:[J(R,{marginBottom:1,children:Y(z,{bold:!0,children:[`Preview: `,e.name]})}),J(R,{borderStyle:`single`,borderColor:`gray`,paddingX:1,children:Y(R,{flexDirection:`column`,children:[Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(Q,{color:e.colors.clawd_body,children:` ▐`}),J(z,{color:e.colors.clawd_body,backgroundColor:e.colors.clawd_background,children:`▛███▜`}),Y(z,{children:[J(Q,{color:e.colors.clawd_body,children:`▌ `}),` `,J(z,{bold:!0,children:`Claude Code`}),` `,t?`v${t}`:`v2.0.14`]})]}),Y(z,{children:[J(Q,{color:e.colors.clawd_body,children:`▝▜`}),J(z,{color:e.colors.clawd_body,backgroundColor:e.colors.clawd_background,children:`█████`}),J(Q,{color:e.colors.clawd_body,children:`▛▘`}),` `,g(),` · `,E()]}),Y(Q,{color:e.colors.clawd_body,children:[` `,`▘▘ ▝▝`,` `,nt]}),Y(z,{children:[Y(Q,{color:e.colors.success,children:[`Login successful. Press`,` `]}),J(Q,{bold:!0,color:e.colors.success,children:`Enter`}),Y(Q,{color:e.colors.success,children:[` `,`to continue…`]})]})]}),J(z,{children:`╭─────────────────────────────────────────────╮`}),Y(z,{children:[`│ 1 function greet() `,`{`,` `,`│`]}),Y(z,{children:[`│ 2`,` `,J(Q,{backgroundColor:e.colors.diffRemoved,color:e.colors.text,children:`- console.log("`}),J(Q,{backgroundColor:e.colors.diffRemovedWord,children:`Hello, World!`}),J(Q,{backgroundColor:e.colors.diffRemoved,children:`");`}),` `,`│`]}),Y(z,{children:[`│ 2`,` `,J(Q,{backgroundColor:e.colors.diffAdded,color:e.colors.text,children:`+ console.log("`}),J(Q,{backgroundColor:e.colors.diffAddedWord,children:`Hello, Claude!`}),J(Q,{backgroundColor:e.colors.diffAdded,children:`");`}),` `,`│`]}),J(Q,{color:e.colors.warning,children:`╭─────────────────────────────────────────────╮`}),Y(Q,{color:e.colors.warning,children:[`│ Do you trust the files in this folder?`,` `,`│`]}),Y(z,{children:[J(Q,{color:e.colors.warning,children:`│ `}),J(z,{dimColor:!0,children:`Enter to confirm · Esc to exit`}),Y(Q,{color:e.colors.warning,children:[` `,`│`]})]}),J(Q,{color:e.colors.bashBorder,children:`───────────────────────────────────────────────`}),Y(z,{children:[J(Q,{color:e.colors.bashBorder,children:`!`}),J(z,{children:` ls`})]}),J(Q,{color:e.colors.promptBorder,children:`───────────────────────────────────────────────`}),J(z,{children:Y(z,{children:[`> list the dir`,` `,J(tt,{text:`ultrathink`,nonShimmerColors:[e.colors.rainbow_red,e.colors.rainbow_orange,e.colors.rainbow_yellow,e.colors.rainbow_green,e.colors.rainbow_blue,e.colors.rainbow_indigo,e.colors.rainbow_violet],shimmerColors:[e.colors.rainbow_red_shimmer,e.colors.rainbow_orange_shimmer,e.colors.rainbow_yellow_shimmer,e.colors.rainbow_green_shimmer,e.colors.rainbow_blue_shimmer,e.colors.rainbow_indigo_shimmer,e.colors.rainbow_violet_shimmer],shimmerWidth:3,updateDuration:50,restartPoint:10})]})}),J(Q,{color:e.colors.planMode,children:`╭─────────────────────────────────────────────╮`}),Y(z,{children:[J(Q,{color:e.colors.planMode,children:`│ `}),Y(Q,{color:e.colors.permission,children:[`Ready to code?`,` `]}),J(z,{children:`Here is Claude's plan:`}),Y(Q,{color:e.colors.planMode,children:[` `,`│`]})]}),J(Q,{color:e.colors.permission,children:`╭─────────────────────────────────────────────╮`}),Y(z,{children:[J(Q,{color:e.colors.permission,children:`│ `}),J(z,{bold:!0,children:`Permissions:`}),` `,Y(Q,{backgroundColor:e.colors.permission,color:e.colors.inverseText,bold:!0,children:[` `,`Allow`,` `]}),` `,`Deny`,` `,`Workspace`,` `,J(Q,{color:e.colors.permission,children:`│`})]}),J(z,{children:`> list the dir`}),Y(z,{children:[J(Q,{color:e.colors.error,children:`●`}),J(z,{children:` Update(__init__.py)`})]}),Y(z,{children:[J(z,{children:` ⎿ `}),J(Q,{color:e.colors.error,children:`User rejected update to __init__.py`})]}),Y(z,{children:[` `,`1`,` `,Y(Q,{backgroundColor:e.colors.diffRemovedDimmed,children:[`- import`,` `]}),J(Q,{backgroundColor:e.colors.diffRemovedWordDimmed,children:`os`})]}),Y(z,{children:[` `,`2`,` `,Y(Q,{backgroundColor:e.colors.diffAddedDimmed,children:[`+ import`,` `]}),J(Q,{backgroundColor:e.colors.diffAddedWordDimmed,children:`random`})]}),Y(z,{children:[J(Q,{color:e.colors.success,children:`●`}),J(z,{children:` List(.)`})]}),Y(z,{children:[J(z,{children:`●`}),J(z,{children:` The directory `}),J(Q,{color:e.colors.permission,children:`C:\\Users\\user`}),Y(z,{children:[` `,`contains `,J(z,{bold:!0,children:`123`}),` files.`]})]}),Y(z,{children:[J(Q,{color:e.colors.claude,children:`✻ Th`}),J(Q,{color:e.colors.claudeShimmer,children:`ink`}),J(Q,{color:e.colors.claude,children:`ing… `}),J(z,{children:`(esc to interrupt)`})]}),J(z,{children:J(Q,{color:e.colors.autoAccept,children:`⏵⏵ accept edits on (shift+tab to cycle)`})}),J(z,{children:J(Q,{color:e.colors.planMode,children:`⏸ plan mode on (shift+tab to cycle)`})}),J(z,{children:J(Q,{color:e.colors.ide,children:`◯ IDE connected ⧉ 44 lines selected`})})]})})]})}function it({colorKey:e,theme:t,bold:n=!1}){let r=t.colors[e];return e===`inverseText`?J(Q,{color:r,backgroundColor:t.colors.permission,bold:n,children:e}):e.startsWith(`diff`)?J(Q,{backgroundColor:r,bold:n,color:t.colors.text,children:e}):J(Q,{color:r,bold:n,children:e})}function at({initialValue:e,onColorChange:r,onExit:i,colorKey:a,theme:o}){let s=st(e)||{h:0,s:50,l:50},c=ot(e)||{r:128,g:128,b:128},[l,u]=W(s),[d,f]=W(c),[p,m]=W(`hsl`),[h,g]=W(`h`),[_,v]=W(!1),[y,b]=W(!1);U(()=>{let t=st(e),n=ot(e);t&&n&&(v(!0),u(t),f(n),v(!1))},[e]),U(()=>{!_&&y&&r(`rgb(${d.r},${d.g},${d.b})`)},[l,d,_,y]),U(()=>{b(!0)},[]);let x=e=>{if(n(e)){let n=t(e),r=st(n),i=ot(n);r&&i&&(v(!0),u(r),f(i),v(!1))}};B((e,t)=>{if(e.length>1&&!t.ctrl&&!t.meta){x(e);return}t.return||t.escape?i():t.ctrl&&e===`a`?(m(e=>e===`hsl`?`rgb`:`hsl`),g(e=>p===`hsl`?e===`h`?`r`:e===`s`?`g`:`b`:e===`r`?`h`:e===`g`?`s`:`l`)):t.upArrow?g(p===`hsl`?e=>e===`h`?`l`:e===`s`?`h`:`s`:e=>e===`r`?`b`:e===`g`?`r`:`g`):t.downArrow||t.tab?g(p===`hsl`?e=>e===`h`?`s`:e===`s`?`l`:`h`:e=>e===`r`?`g`:e===`g`?`b`:`r`):t.leftArrow?S(t.shift||t.ctrl||t.meta?-10:-1):t.rightArrow&&S(t.shift||t.ctrl||t.meta?10:1)});let S=e=>{v(!0),p===`hsl`?u(t=>{let n={...t};h===`h`?n.h=Math.max(0,Math.min(359,t.h+e)):h===`s`?n.s=Math.max(0,Math.min(100,t.s+e)):h===`l`&&(n.l=Math.max(0,Math.min(100,t.l+e)));let[r,i,a]=w(n.h,n.s,n.l);return f({r,g:i,b:a}),n}):f(t=>{let n={...t};return h===`r`?n.r=Math.max(0,Math.min(255,t.r+e)):h===`g`?n.g=Math.max(0,Math.min(255,t.g+e)):h===`b`&&(n.b=Math.max(0,Math.min(255,t.b+e))),u(C(n.r,n.g,n.b)),n}),v(!1)},C=(e,t,n)=>{let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=o-s,l=(o+s)/2,u=0;c!==0&&(u=l>.5?c/(2-o-s):c/(o+s));let d=0;return c!==0&&(d=o===r?((i-a)/c+(i<a?6:0))/6:o===i?((a-r)/c+2)/6:((r-i)/c+4)/6),{h:Math.round(d*360),s:Math.round(u*100),l:Math.round(l*100)}},w=(e,t,n)=>{e/=360,t/=100,n/=100;let r=(1-Math.abs(2*n-1))*t,i=r*(1-Math.abs(e*6%2-1)),a=n-r/2,o=0,s=0,c=0;return 0<=e&&e<1/6?(o=r,s=i,c=0):1/6<=e&&e<2/6?(o=i,s=r,c=0):2/6<=e&&e<3/6?(o=0,s=r,c=i):3/6<=e&&e<4/6?(o=0,s=i,c=r):4/6<=e&&e<5/6?(o=i,s=0,c=r):5/6<=e&&e<1&&(o=r,s=0,c=i),[Math.round((o+a)*255),Math.round((s+a)*255),Math.round((c+a)*255)]},T=()=>{let e=[],t=[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[127,0,255],[255,0,255],[255,0,127],[255,0,0]];for(let n=0;n<40;n++){let r=n/39*(t.length-1),i=Math.floor(r),a=Math.ceil(r),o=r-i,[s,c,l]=t[i],[u,d,f]=t[a],p=Math.round(s+(u-s)*o),m=Math.round(c+(d-c)*o),h=Math.round(l+(f-l)*o);e.push(J(z,{backgroundColor:`rgb(${p},${m},${h})`,children:` `},n))}return e},ee=()=>{let e=[];for(let t=0;t<40;t++){let n=t/39*100,[r,i,a]=w(l.h,n,l.l);e.push(J(z,{backgroundColor:`rgb(${r},${i},${a})`,children:` `},t))}return e},E=()=>{let e=[];for(let t=0;t<40;t++){let n=t/39*100,[r,i,a]=w(l.h,l.s,n);e.push(J(z,{backgroundColor:`rgb(${r},${i},${a})`,children:` `},t))}return e},D=()=>{let[e,t,n]=w(l.h,l.s,l.l);return`rgb(${e},${t},${n})`},O=(e,t,n)=>{let r=e=>e.toString(16).padStart(2,`0`);return`#${r(e)}${r(t)}${r(n)}`},te=()=>{let e=[];for(let t=0;t<40;t++){let n=Math.round(t/39*255);e.push(J(z,{backgroundColor:`rgb(${n},${d.g},${d.b})`,children:` `},t))}return e},k=()=>{let e=[];for(let t=0;t<40;t++){let n=Math.round(t/39*255);e.push(J(z,{backgroundColor:`rgb(${d.r},${n},${d.b})`,children:` `},t))}return e},ne=()=>{let e=[];for(let t=0;t<40;t++){let n=Math.round(t/39*255);e.push(J(z,{backgroundColor:`rgb(${d.r},${d.g},${n})`,children:` `},t))}return e},A=(e,t)=>Math.round(e/t*39);return Y(R,{flexDirection:`column`,borderStyle:`single`,borderColor:`white`,padding:1,children:[Y(R,{flexDirection:`column`,children:[J(z,{bold:!0,children:`Color Picker`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{color:`gray`,dimColor:!0,children:`←→ to adjust (shift/ctrl/cmd +10)`}),J(z,{color:`gray`,dimColor:!0,children:`↑↓ to change bar`}),J(z,{color:`gray`,dimColor:!0,children:`ctrl+a to switch rgb/hsl`}),J(z,{color:`gray`,dimColor:!0,children:`paste color from clipboard`}),J(z,{color:`gray`,dimColor:!0,children:`enter to exit (auto-saved)`}),J(z,{color:`gray`,dimColor:!0,children:`esc to save and exit`})]})]}),p===`hsl`?Y(q,{children:[Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`h`?`yellow`:`white`,children:[h===`h`?`❯ `:` `,`Hue (`,l.h,`°):`]})}),J(R,{children:T().map((e,t)=>J(ke,{children:t===A(l.h,360)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`s`?`yellow`:`white`,children:[h===`s`?`❯ `:` `,`Saturation (`,l.s,`%):`]})}),J(R,{children:ee().map((e,t)=>J(ke,{children:t===A(l.s,100)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`l`?`yellow`:`white`,children:[h===`l`?`❯ `:` `,`Lightness (`,l.l,`%):`]})}),J(R,{children:E().map((e,t)=>J(ke,{children:t===A(l.l,100)?J(z,{children:`|`}):e},t))})]})]}):Y(q,{children:[Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`r`?`yellow`:`white`,children:[h===`r`?`❯ `:` `,`Red (`,d.r,`):`]})}),J(R,{children:te().map((e,t)=>J(ke,{children:t===A(d.r,255)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`g`?`yellow`:`white`,children:[h===`g`?`❯ `:` `,`Green (`,d.g,`):`]})}),J(R,{children:k().map((e,t)=>J(ke,{children:t===A(d.g,255)?J(z,{children:`|`}):e},t))})]}),Y(R,{marginBottom:1,children:[J(R,{width:25,children:Y(z,{color:h===`b`?`yellow`:`white`,children:[h===`b`?`❯ `:` `,`Blue (`,d.b,`):`]})}),J(R,{children:ne().map((e,t)=>J(ke,{children:t===A(d.b,255)?J(z,{children:`|`}):e},t))})]})]}),Y(R,{marginBottom:1,children:[J(z,{children:`Current: `}),J(z,{backgroundColor:D(),children:` `})]}),Y(R,{flexDirection:`row`,justifyContent:`space-between`,children:[Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:`Hex `}),a?.startsWith(`diff`)?J(z,{backgroundColor:D(),color:o?.colors?.text||`white`,bold:!0,children:O(d.r,d.g,d.b)}):a===`inverseText`?J(z,{color:D(),backgroundColor:o?.colors?.permission,bold:!0,children:O(d.r,d.g,d.b)}):J(z,{color:D(),bold:!0,children:O(d.r,d.g,d.b)})]}),Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:`RGB `}),a?.startsWith(`diff`)?J(z,{backgroundColor:D(),color:o?.colors?.text||`white`,bold:!0,children:`rgb(${d.r}, ${d.g}, ${d.b})`}):a===`inverseText`?J(z,{color:D(),backgroundColor:o?.colors?.permission,bold:!0,children:`rgb(${d.r}, ${d.g}, ${d.b})`}):J(z,{color:D(),bold:!0,children:`rgb(${d.r}, ${d.g}, ${d.b})`})]}),Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:`HSL `}),a?.startsWith(`diff`)?J(z,{backgroundColor:D(),color:o?.colors?.text||`white`,bold:!0,children:`hsl(${l.h}, ${l.s}%, ${l.l}%)`}):a===`inverseText`?J(z,{color:D(),backgroundColor:o?.colors?.permission,bold:!0,children:`hsl(${l.h}, ${l.s}%, ${l.l}%)`}):J(z,{color:D(),bold:!0,children:`hsl(${l.h}, ${l.s}%, ${l.l}%)`})]})]})]})}function ot(e){let t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(t)return{r:parseInt(t[1]),g:parseInt(t[2]),b:parseInt(t[3])};let n=e.match(/^#([a-fA-F0-9]{6})$/);if(n){let e=n[1];return{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16)}}return null}function st(e){let t=e.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);if(t)return{h:parseInt(t[1]),s:parseInt(t[2]),l:parseInt(t[3])};let n=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(n){let e=parseInt(n[1])/255,t=parseInt(n[2])/255,r=parseInt(n[3])/255,i=Math.max(e,t,r),a=Math.min(e,t,r),o=i-a,s=(i+a)/2,c=0;o!==0&&(c=s>.5?o/(2-i-a):o/(i+a));let l=0;return o!==0&&(l=i===e?((t-r)/o+(t<r?6:0))/6:i===t?((r-e)/o+2)/6:((e-t)/o+4)/6),{h:Math.round(l*360),s:Math.round(c*100),l:Math.round(s*100)}}let r=e.match(/^#([a-fA-F0-9]{6})$/);if(r){let e=r[1],t=parseInt(e.substr(0,2),16)/255,n=parseInt(e.substr(2,2),16)/255,i=parseInt(e.substr(4,2),16)/255,a=Math.max(t,n,i),o=Math.min(t,n,i),s=a-o,c=(a+o)/2,l=0;s!==0&&(l=c>.5?s/(2-a-o):s/(a+o));let u=0;return s!==0&&(u=a===t?((n-i)/s+(n<i?6:0))/6:a===n?((i-t)/s+2)/6:((t-n)/s+4)/6),{h:Math.round(u*360),s:Math.round(l*100),l:Math.round(c*100)}}return{h:0,s:50,l:50}}function ct({onBack:e,themeId:r}){let{settings:{themes:i},updateSettings:a}=H($),[o,s]=W(r),c=i.find(e=>e.id===o)||i[0],[l,u]=W(`rgb`),[f,p]=W(0),[m,h]=W(null),[g,_]=W(null),[v,y]=W(``),[b,x]=W(``),[S,C]=W(!1),[w,T]=W(0),ee=je(e=>{a(t=>{let n=t.themes.findIndex(e=>e.id===o);n!==-1&&e(t.themes[n])})},[o,a]),E=e=>{if(f>=2&&n(e)){let n=t(e),r=D[f-2];ee(e=>{e.colors[r]=n})}};B((t,n)=>{if(S){if(n.escape){C(!1),e();return}return}if(m===null&&g===null){if(t.length>1&&!n.ctrl&&!n.meta){E(t);return}if(n.escape)C(!0),T(0);else if(n.ctrl&&t===`a`)u(e=>e===`rgb`?`hex`:e===`hex`?`hsl`:`rgb`);else if(n.upArrow)p(e=>Math.max(0,e-1));else if(n.downArrow)p(e=>Math.min(D.length+1,e+1));else if(n.return)if(f===0)_(`name`),y(c.name),x(c.name);else if(f===1)_(`id`),y(c.id),x(c.id);else{let e=f-2,t=D[e],n=c.colors[t];h(e),y(n),x(n)}}else if(m!==null)n.ctrl&&t===`a`&&u(e=>e===`rgb`?`hex`:e===`hex`?`hsl`:`rgb`);else if(g!==null)if(n.return){if(g===`id`){let e=o;s(v),a(t=>{let n=t.themes.findIndex(t=>t.id===e);n!==-1&&(t.themes[n].id=v)})}else ee(e=>{e.name=v});_(null),y(``),x(``)}else n.escape?(_(null),y(``),x(``)):n.backspace||n.delete?y(e=>e.slice(0,-1)):t&&y(e=>e+t)});let D=Object.keys(c.colors),O=(e,t)=>{let n=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(!n)return e;let r=parseInt(n[1]),i=parseInt(n[2]),a=parseInt(n[3]);switch(t){case`hex`:{let e=e=>e.toString(16).padStart(2,`0`);return`#${e(r)}${e(i)}${e(a)}`}case`hsl`:{let e=r/255,t=i/255,n=a/255,o=Math.max(e,t,n),s=Math.min(e,t,n),c=o-s,l=(o+s)/2,u=0;c!==0&&(u=l>.5?c/(2-o-s):c/(o+s));let d=0;return c!==0&&(d=o===e?((t-n)/c+(t<n?6:0))/6:o===t?((n-e)/c+2)/6:((e-t)/c+4)/6),`hsl(${Math.round(d*360)}, ${Math.round(u*100)}%, ${Math.round(l*100)}%)`}case`rgb`:default:return e}},te=e=>({autoAccept:`Auto-accept edits mode indicator`,bashBorder:`Bash command border`,claude:`Claude branding color. Used for the Claude logo, the welcome message, and the thinking text.`,claudeShimmer:`Color used for the shimmering effect on the thinking verb.`,claudeBlue_FOR_SYSTEM_SPINNER:`System spinner color (blue variant)`,claudeBlueShimmer_FOR_SYSTEM_SPINNER:`System spinner shimmer color (blue variant)`,permission:`Permission prompt color`,permissionShimmer:`Permission prompt shimmer color`,planMode:`Plan mode indicator`,ide:`Color used for IDE-related messages.`,promptBorder:`Input prompt border color`,promptBorderShimmer:`Input prompt border shimmer color`,text:`Code color. Used in diffs.`,inverseText:`Inverse text color. Used for the text of tabs, where the background is filled in.`,inactive:`Inactive/dimmed text. Used for line numbers and less prominent text.`,subtle:`Subtle text. Used for help text and secondary information.`,suggestion:`Suggestion text color. Used for suggestions for theme names and various other things.`,remember:`Remember/note color. Used for various text relating to memories.`,background:`Background color for certain UI elements`,success:`Success indicator. Used for the bullet on successful tool calls, and various success messages (such as sign in successful).`,error:`Error indicator`,warning:`Warning indicator`,warningShimmer:`Warning shimmer color`,diffAdded:`Added diff background`,diffRemoved:`Removed diff background`,diffAddedDimmed:`Added diff background (dimmed)`,diffRemovedDimmed:`Removed diff background (dimmed)`,diffAddedWord:`Added word highlight`,diffRemovedWord:`Removed word highlight`,diffAddedWordDimmed:`Added word highlight (dimmed)`,diffRemovedWordDimmed:`Removed word highlight (dimmed)`,red_FOR_SUBAGENTS_ONLY:`Red color for sub agents`,blue_FOR_SUBAGENTS_ONLY:`Blue color for sub agents`,green_FOR_SUBAGENTS_ONLY:`Green color for sub agents`,yellow_FOR_SUBAGENTS_ONLY:`Yellow color for sub agents`,purple_FOR_SUBAGENTS_ONLY:`Purple color for sub agents`,orange_FOR_SUBAGENTS_ONLY:`Orange color for sub agents`,pink_FOR_SUBAGENTS_ONLY:`Pink color for sub agents`,cyan_FOR_SUBAGENTS_ONLY:`Cyan color for sub agents`,professionalBlue:`Professional blue color for business contexts?`,rainbow_red:`"ultrathink" rainbow - red`,rainbow_orange:`"ultrathink" rainbow - orange`,rainbow_yellow:`"ultrathink" rainbow - yellow`,rainbow_green:`"ultrathink" rainbow - green`,rainbow_blue:`"ultrathink" rainbow - blue`,rainbow_indigo:`"ultrathink" rainbow - indigo`,rainbow_violet:`"ultrathink" rainbow - violet`,rainbow_red_shimmer:`"ultrathink" rainbow (shimmer) - red`,rainbow_orange_shimmer:`"ultrathink" rainbow (shimmer) - orange`,rainbow_yellow_shimmer:`"ultrathink" rainbow (shimmer) - yellow`,rainbow_green_shimmer:`"ultrathink" rainbow (shimmer) - green`,rainbow_blue_shimmer:`"ultrathink" rainbow (shimmer) - blue`,rainbow_indigo_shimmer:`"ultrathink" rainbow (shimmer) - indigo`,rainbow_violet_shimmer:`"ultrathink" rainbow (shimmer) - violet`,clawd_body:`"Clawd" character body color`,clawd_background:`"Clawd" character background color`,userMessageBackground:`Background color for user messages`,bashMessageBackgroundColor:`Background color for bash command output`,memoryBackgroundColor:`Background color for memory/context information`,rate_limit_fill:`Rate limit indicator fill color`,rate_limit_empty:`Rate limit indicator empty/background color`})[e]||``,k=Math.max(...D.map(e=>e.length));return Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{children:Y(X,{children:[`Editing theme “`,c.name,`” (`,c.id,`)`]})}),S?Y(R,{flexDirection:`column`,marginTop:1,children:[J(R,{marginBottom:1,children:Y(z,{bold:!0,children:[`Would you like to make “`,c.name,`” your current Claude Code theme?`]})}),J(qe,{items:[{name:`Yes`,desc:`Set ${c.id} as active theme`},{name:`No`,desc:`Go back without changing theme`}],selectedIndex:w,onSelect:T,onSubmit:()=>{w===0&&d(c.id),C(!1),e()}}),J(z,{dimColor:!0,children:`enter to select, esc to cancel`})]}):m===null&&g===null?Y(q,{children:[Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`enter to edit theme name, id, or color`}),J(z,{dimColor:!0,children:`ctrl+a to toggle rgb, hex, hsl`}),J(z,{dimColor:!0,children:`paste color from clipboard (when on color)`}),J(z,{dimColor:!0,children:`esc to go back`})]}),f<2?Y(R,{marginBottom:1,borderStyle:`single`,borderTop:!1,borderBottom:!1,borderRight:!1,borderColor:`yellow`,flexDirection:`column`,paddingLeft:1,children:[J(z,{bold:!0,children:f===0?`Theme Name`:`Theme ID`}),J(z,{children:f===0?`The display name for this theme`:"Unique identifier for this theme; used in `.claude.json` to select the theme."})]}):Y(R,{marginBottom:1,borderStyle:`single`,borderTop:!1,borderBottom:!1,borderRight:!1,borderColor:c.colors[D[f-2]],flexDirection:`column`,paddingLeft:1,children:[J(it,{colorKey:D[f-2],theme:c,bold:!0}),J(z,{children:te(D[f-2])})]}),Y(R,{flexDirection:`column`,children:[Y(R,{children:[J(z,{color:f===0?`yellow`:`white`,children:f===0?`❯ `:` `}),J(z,{bold:!0,children:`Name: `}),J(z,{children:c.name})]}),Y(R,{marginBottom:1,children:[J(z,{color:f===1?`yellow`:`white`,children:f===1?`❯ `:` `}),J(z,{bold:!0,children:`ID: `}),J(z,{children:c.id})]}),(()=>{if(f<2)return Y(q,{children:[D.slice(0,20).map((e,t)=>{let n=t+2;return Y(R,{children:[J(z,{color:f===n?`yellow`:`white`,children:f===n?`❯ `:` `}),J(R,{width:k+2,children:J(z,{children:J(it,{colorKey:e,theme:c,bold:!0})})}),J(Q,{color:c.colors[e],children:O(c.colors[e],l)})]},e)}),D.length>20&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,D.length-20,` more below`]})]});let e=f-2,t=Math.max(0,e-10),n=Math.min(D.length,t+20),r=Math.max(0,n-20),i=D.slice(r,n);return Y(q,{children:[r>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,r,` more above`]}),i.map((e,t)=>{let n=r+t+2;return Y(R,{children:[J(z,{color:f===n?`yellow`:`white`,children:f===n?`❯ `:` `}),J(R,{width:k+2,children:J(z,{children:J(it,{colorKey:e,theme:c,bold:!0})})}),J(Q,{color:c.colors[e],children:O(c.colors[e],l)})]},e)}),n<D.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,D.length-n,` more below`]})]})})()]})]}):g?Y(R,{flexDirection:`column`,marginTop:1,children:[Y(z,{children:[`Editing `,g===`name`?`theme name`:`theme ID`,`:`]}),J(R,{borderStyle:`round`,borderColor:`yellow`,paddingX:1,children:J(z,{children:v})}),J(z,{dimColor:!0,children:`enter to save, esc to cancel`})]}):J(at,{initialValue:b,colorKey:D[m],theme:c,onColorChange:e=>{y(e),ee(t=>{t.colors[D[m]]=e})},onExit:()=>{ee(e=>{e.colors[D[m]]=v}),h(null),y(``),x(``)}})]}),J(R,{width:`50%`,children:J(rt,{theme:c})})]})}const lt=`https://raw.githubusercontent.com/Piebald-AI/claude-code-themes/main`,ut=`${lt}/index.json`,dt=2e4;async function ft(){N(`Fetching community theme index from ${ut}`);let e=await fetch(ut,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(dt)});if(!e.ok)throw Error(`Failed to fetch community theme index: ${e.status} ${e.statusText}`);return JSON.parse(await re(e))}async function pt(e){let t=`${lt}/themes/${e}.json`;N(`Fetching community theme from ${t}`);let n=await fetch(t,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(dt)});if(!n.ok)throw Error(`Failed to fetch community theme "${e}": ${n.status} ${n.statusText}`);return JSON.parse(await re(n))}function mt({onBack:e}){let{updateSettings:t}=H($),[n,r]=W({status:`loading`}),[i,a]=W(0),[o,s]=W(null),[c,l]=W(!1),[u,d]=W(null),f=Ne(0);U(()=>{ft().then(e=>{r({status:`loaded`,entries:e})}).catch(e=>{r({status:`error`,message:e.message})})},[]);let p=n.status===`loaded`?n.entries:[],m=je(async e=>{let t=++f.current;l(!0),d(null);try{let n=await pt(e);if(t!==f.current)return;s(ie(n,le))}catch{if(t!==f.current)return;s(null),d(`Failed to load preview.`)}finally{t===f.current&&l(!1)}},[]),h=je(async e=>{d(`Downloading theme…`);try{let n=ie(await pt(e.id),le),r=!1;t(e=>{e.themes.some(e=>e.id===n.id)||(e.themes.push(n),r=!0)}),d(r?`Added "${n.name}" to your themes!`:`Theme "${n.name}" (${n.id}) is already in your config.`)}catch{d(`Failed to download theme.`)}},[t]);return B((t,r)=>{if(r.escape){e();return}if(n.status!==`loaded`)return;let o=n.entries.length;if(o!==0){if(r.upArrow)a(e=>Math.max(0,e-1)),s(null),d(null);else if(r.downArrow)a(e=>Math.min(o-1,e+1)),s(null),d(null);else if(t===` `){let e=n.entries[i];e&&m(e.id)}else if(r.return){let e=n.entries[i];e&&h(e)}}}),n.status===`loading`?Y(R,{flexDirection:`column`,children:[J(X,{children:`Community Themes`}),J(z,{children:`Loading community themes…`})]}):n.status===`error`?Y(R,{flexDirection:`column`,children:[J(X,{children:`Community Themes`}),Y(z,{color:`red`,children:[`Error: `,n.message]}),J(z,{dimColor:!0,children:`esc to go back`})]}):Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(X,{children:`Community Themes`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`space to preview theme`}),J(z,{dimColor:!0,children:`enter to download theme`}),J(z,{dimColor:!0,children:`esc to go back`})]}),J(R,{flexDirection:`column`,children:p.map((e,t)=>Y(z,{color:i===t?`yellow`:void 0,children:[i===t?`❯ `:` `,e.name,` (`,e.id,`) by @`,e.author]},e.id))}),u&&J(R,{marginTop:1,children:J(z,{color:`cyan`,children:u})}),c&&J(R,{marginTop:1,children:J(z,{dimColor:!0,children:`Loading preview…`})})]}),J(R,{width:`50%`,children:o?J(rt,{theme:o}):J(R,{flexDirection:`column`,justifyContent:`center`,alignItems:`center`,height:10,children:J(z,{dimColor:!0,children:`Press space to preview the selected theme.`})})})]})}function ht(e){return e.map(e=>`${e.name} (${e.id})`)}function gt({onBack:e}){let{settings:{themes:t},updateSettings:n}=H($),[r,i]=W(0),[a,o]=W(null),[s,c]=W(!0),[l,u]=W(!1),d=t.length+1,f=()=>{let e={colors:{...(t[0]||M.themes[0]).colors},name:`New Custom Theme`,id:`custom-${Date.now()}`};n(t=>{t.themes.push(e)}),o(e.id),c(!1)},p=e=>{t.length<=1||(n(t=>{t.themes=t.themes.filter(t=>t.id!==e)}),r>=t.length-1&&i(Math.max(0,t.length-2)))},m=()=>{n(e=>{e.themes=[...M.themes]}),i(0)},h=r===t.length;if(B((n,a)=>{if(a.escape)e();else if(a.upArrow)i(e=>Math.max(0,e-1));else if(a.downArrow)i(e=>Math.min(d-1,e+1));else if(a.return)if(h)u(!0),c(!1);else{let e=t[r];e&&(o(e.id),c(!1))}else if(n===`n`)f();else if(n===`d`){if(!h){let e=t[r];e&&p(e.id)}}else a.ctrl&&n===`r`&&m()},{isActive:s}),l)return J(mt,{onBack:()=>{u(!1),c(!0)}});if(a)return J(ct,{themeId:a,onBack:()=>{o(null),c(!0)}});let g=ht(t),_=t.find(e=>g[r]?.includes(`(${e.id})`))||t[0];return t.length===0?J(R,{children:Y(R,{flexDirection:`column`,width:`100%`,children:[J(X,{children:`Themes`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new theme`}),J(z,{dimColor:!0,children:`esc to go back`})]}),J(z,{children:`No themes available!`})]})}):Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(X,{children:`Themes`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new theme`}),J(z,{dimColor:!0,children:`d to delete a theme`}),J(z,{dimColor:!0,children:`ctrl+r to delete all themes and restore built-in`}),J(z,{dimColor:!0,children:`enter to edit theme`}),J(z,{dimColor:!0,children:`esc to go back`})]}),Y(R,{flexDirection:`column`,children:[g.map((e,t)=>Y(z,{color:r===t?`yellow`:void 0,children:[r===t?`❯ `:` `,e]},t)),Y(z,{color:h?`blue`:void 0,bold:h,children:[h?`❯ `:` `,`Browse community themes…`]})]})]}),J(R,{width:`50%`,children:h?J(R,{flexDirection:`column`,justifyContent:`center`,alignItems:`center`,height:10,children:J(z,{dimColor:!0,children:`Press enter to browse community themes.`})}):J(rt,{theme:_})})]})}function _t(e,t,n){let r=Math.max(0,e-Math.floor(n/2)),i=Math.min(t,r+n);return{start:Math.max(0,i-n),end:i}}function vt({onBack:e}){let{settings:{thinkingVerbs:{format:t,verbs:n},themes:r},updateSettings:i}=H($),a=[`format`,`verbs`],[o,s]=W(0),c=a[o],[l,u]=W(0),[d,f]=W(!1),[p,m]=W(``),[h,g]=W(!1),[_,v]=W(!1),[y,b]=W(t),x=me(),S=(r.find(e=>e.id===x)||r.find(e=>e.id===`dark`))?.colors.claude||`rgb(215,119,87)`;return B((r,o)=>{if(_){o.return?(i(e=>{e.thinkingVerbs.format=y}),v(!1)):o.escape?(b(t),v(!1)):o.backspace||o.delete?b(e=>e.slice(0,-1)):r&&b(e=>e+r);return}if(d||h){o.return&&p.trim()?(h?(i(e=>{e.thinkingVerbs.verbs.push(p.trim())}),g(!1)):(i(e=>{e.thinkingVerbs.verbs[l]=p.trim()}),f(!1)),m(``)):o.escape?(m(``),f(!1),g(!1)):o.backspace||o.delete?m(e=>e.slice(0,-1)):r&&m(e=>e+r);return}o.escape?e():o.return?c===`format`&&(b(t),v(!0)):o.tab?o.shift?s(e=>e===0?a.length-1:e-1):s(e=>e===a.length-1?0:e+1):o.upArrow?c===`verbs`&&n.length>0&&u(e=>e>0?e-1:n.length-1):o.downArrow?c===`verbs`&&n.length>0&&u(e=>e<n.length-1?e+1:0):r===`e`&&c===`verbs`?n.length>0&&(m(n[l]),f(!0)):r===`d`&&c===`verbs`?n.length>1&&(i(e=>{e.thinkingVerbs.verbs=e.thinkingVerbs.verbs.filter((e,t)=>t!==l)}),l>=n.length-1&&u(Math.max(0,n.length-2))):r===`n`&&c===`verbs`?(g(!0),m(``)):o.ctrl&&r===`r`&&c===`verbs`&&(i(e=>{e.thinkingVerbs.verbs=[...M.thinkingVerbs.verbs]}),u(0))}),Y(R,{children:[Y(R,{flexDirection:`column`,width:`50%`,children:[Y(R,{marginBottom:1,flexDirection:`column`,children:[J(X,{children:`Thinking Verbs`}),Y(R,{flexDirection:`column`,children:[J(z,{dimColor:!0,children:c===`format`?`enter to edit format`:`changes auto-saved`}),J(z,{dimColor:!0,children:`esc to go back`}),J(z,{dimColor:!0,children:`tab to switch sections`})]})]}),J(R,{marginBottom:1,children:J(z,{dimColor:!0,children:`Customize the verbs shown during generation and their format.`})}),Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(z,{color:c===`format`?`yellow`:void 0,children:c===`format`?`❯ `:` `}),J(z,{bold:!0,color:c===`format`?`yellow`:void 0,children:`Format`})]}),c===`format`&&(_?Y(z,{dimColor:!0,children:[` `,`enter to save`]}):Y(z,{dimColor:!0,children:[` `,`enter to edit`]}))]}),J(R,{marginLeft:2,marginBottom:1,children:J(R,{borderStyle:`round`,borderColor:_?`yellow`:`gray`,children:J(z,{children:_?y:t})})}),J(R,{children:Y(z,{children:[J(z,{color:c===`verbs`?`yellow`:void 0,children:c===`verbs`?`❯ `:` `}),J(z,{bold:!0,color:c===`verbs`?`yellow`:void 0,children:`Verbs`})]})}),c===`verbs`&&J(R,{flexDirection:`column`,children:Y(z,{dimColor:!0,children:[` `,`e to edit · d to delete · n to add new · ctrl+r to reset`]})}),J(R,{marginLeft:2,marginBottom:1,children:Y(R,{flexDirection:`column`,children:[(()=>{let{start:e,end:t}=_t(l,n.length,8),r=n.slice(e,t);return Y(q,{children:[e>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,e,` more above`]}),r.map((t,n)=>{let r=e+n;return Y(z,{color:c===`verbs`&&r===l?`cyan`:void 0,children:[c===`verbs`&&r===l?`❯ `:` `,t]},r)}),t<n.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,n.length-t,` more below`]})]})})(),h&&Y(R,{alignItems:`center`,children:[J(z,{color:`yellow`,children:`❯ `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:p})})]}),d&&Y(R,{marginTop:1,alignItems:`center`,children:[J(z,{children:`Editing: `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:p})})]})]})})]}),Y(R,{width:`50%`,flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,children:`Preview`})}),J(R,{borderStyle:`single`,borderColor:`gray`,padding:1,flexDirection:`column`,children:Y(z,{children:[Y(z,{color:S,children:[`✻ `,t.replace(/\{\}/g,n[l]??``),` `]}),J(z,{children:`(esc to interrupt)`})]})})]})]})}const yt=e=>e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/([A-Z])([A-Z][a-z])/g,`$1 $2`).replace(/(\d+)/g,` $1 `).replace(/\s+/g,` `).trim().replace(/^./,e=>e.toUpperCase()),bt=e=>{let t=Math.max(...e.map(e=>e.length));return e.map(e=>e.padEnd(t))},xt=Object.entries(Ue).map(([e,t])=>({name:yt(e),phases:t.frames.map(e=>e.trimEnd()),reverseMirror:!1,updateInterval:t.interval})),St=[{name:`Default`,phases:M.thinkingStyle.phases,reverseMirror:M.thinkingStyle.reverseMirror},{name:`Wave`,phases:[`▁`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],reverseMirror:!0},{name:`Glow`,phases:[`░`,`▒`,`▓`,`█`],reverseMirror:!0},{name:`Partial block`,phases:[`▏`,`▎`,`▍`,`▌`,`▋`,`▊`,`▉`,`█`],reverseMirror:!0},{name:`Colors`,phases:[`🔴`,`🟠`,`🟡`,`🟢`,`🔵`,`🟣`],reverseMirror:!1},...xt];function Ct({onBack:e}){let{settings:{thinkingStyle:{phases:t,updateInterval:n,reverseMirror:r},themes:i},updateSettings:a}=H($),o=[`reverseMirror`,`updateInterval`,`phases`,`presets`],[s,c]=W(0),l=o[s],[u,d]=W(0),[f,p]=W(0),[m,h]=W(!1),[g,_]=W(``),[v,y]=W(!1),[b,x]=W(!1),[S,C]=W(n.toString()),[w,T]=W(0),ee=me(),E=(i.find(e=>e.id===ee)||i.find(e=>e.id===`dark`))?.colors.claude||`rgb(215,119,87)`;U(()=>{if(t.length>0){let e=r?[...t,...[...t].reverse().slice(1,-1)]:t,i=setInterval(()=>{T(t=>(t+1)%e.length)},n);return()=>clearInterval(i)}},[t,n,r]),U(()=>{d(e=>Math.min(e,Math.max(0,t.length-1)))},[t.length]),B((r,i)=>{if(b){if(i.return){let e=parseInt(S);!isNaN(e)&&e>0&&a(t=>{t.thinkingStyle.updateInterval=e}),x(!1)}else i.escape?(C(n.toString()),x(!1)):i.backspace||i.delete?C(e=>e.slice(0,-1)):r&&r.match(/^[0-9]$/)&&C(e=>e+r);return}if(m||v){if(i.return&&g.length){let e=v?[...t,g]:t.map((e,t)=>t===u?g:e);a(t=>{t.thinkingStyle.phases=bt(e)}),h(!1),_(``)}else i.escape?(_(``),h(!1),y(!1)):i.backspace||i.delete?_(e=>e.slice(0,-1)):r&&_(e=>e+r);return}if(i.escape)e();else if(i.return)if(l===`updateInterval`)C(n.toString()),x(!0);else if(l===`presets`){let e=St[f];a(t=>{t.thinkingStyle.phases=bt([...e.phases]),t.thinkingStyle.reverseMirror=e.reverseMirror,e.updateInterval!==void 0&&(t.thinkingStyle.updateInterval=e.updateInterval)})}else l===`reverseMirror`&&a(e=>{e.thinkingStyle.reverseMirror=!e.thinkingStyle.reverseMirror});else if(i.tab)i.shift?c(e=>e===0?o.length-1:e-1):c(e=>e===o.length-1?0:e+1);else if(i.upArrow)l===`phases`&&t.length>0?d(e=>e>0?e-1:t.length-1):l===`presets`&&p(e=>e>0?e-1:St.length-1);else if(i.downArrow)l===`phases`&&t.length>0?d(e=>e<t.length-1?e+1:0):l===`presets`&&p(e=>e<St.length-1?e+1:0);else if(r===` `)l===`reverseMirror`&&a(e=>{e.thinkingStyle.reverseMirror=!e.thinkingStyle.reverseMirror});else if(r===`e`&&l===`phases`)t.length>0&&(_(t[u]),h(!0));else if(r===`a`&&l===`phases`)y(!0),_(``);else if(r===`d`&&l===`phases`)t.length>1&&a(e=>{e.thinkingStyle.phases=bt(t.filter((e,t)=>t!==u))});else if(r===`w`&&l===`phases`){if(u>0){let e=[...t];[e[u-1],e[u]]=[e[u],e[u-1]],a(t=>{t.thinkingStyle.phases=e}),d(e=>e-1)}}else if(r===`s`&&l===`phases`){if(u<t.length-1){let e=[...t];[e[u],e[u+1]]=[e[u+1],e[u]],a(t=>{t.thinkingStyle.phases=e}),d(e=>e+1)}}else i.ctrl&&r===`r`&&(a(e=>{e.thinkingStyle=M.thinkingStyle}),d(0),p(0))});let D=r?`●`:`○`,O=(()=>r?[...t,...[...t].reverse().slice(1,-1)]:t)(),te=O.length>0?O[w]:`·`;return J(R,{children:Y(R,{flexDirection:`column`,width:`100%`,children:[Y(R,{flexDirection:`row`,width:`100%`,children:[Y(R,{marginBottom:1,flexDirection:`column`,width:`50%`,children:[J(X,{children:`Thinking style`}),Y(R,{flexDirection:`column`,children:[Y(z,{dimColor:!0,children:[`enter to`,` `,l===`updateInterval`?`edit interval`:l===`presets`?`apply preset`:`save`]}),J(z,{dimColor:!0,children:`esc to go back`}),J(z,{dimColor:!0,children:`tab to switch sections`})]})]}),Y(R,{width:`50%`,flexDirection:`column`,children:[J(R,{children:J(z,{bold:!0,children:`Preview`})}),Y(R,{borderStyle:`single`,borderColor:`gray`,paddingX:1,flexDirection:`row`,children:[J(R,{width:(te?.length??0)+1,children:J(z,{color:E,children:te})}),Y(z,{children:[J(z,{color:E,children:`Thinking… `}),J(z,{children:`(esc to interrupt)`})]})]})]})]}),Y(R,{flexDirection:`row`,gap:4,children:[Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(z,{color:l===`reverseMirror`?`yellow`:void 0,children:l===`reverseMirror`?`❯ `:` `}),J(z,{bold:!0,color:l===`reverseMirror`?`yellow`:void 0,children:`Reverse-mirror phases`})]}),l===`reverseMirror`&&Y(z,{dimColor:!0,children:[` `,`space to toggle`]}),J(R,{marginLeft:2,marginBottom:1,children:Y(z,{children:[D,` `,r?`Enabled`:`Disabled`]})})]}),Y(R,{flexDirection:`column`,children:[Y(z,{children:[J(z,{color:l===`updateInterval`?`yellow`:void 0,children:l===`updateInterval`?`❯ `:` `}),J(z,{bold:!0,color:l===`updateInterval`?`yellow`:void 0,children:`Update interval (ms)`})]}),l===`updateInterval`&&(b?Y(z,{dimColor:!0,children:[` `,`enter to save`]}):Y(z,{dimColor:!0,children:[` `,`enter to edit`]})),J(R,{marginLeft:2,marginBottom:1,children:J(R,{borderStyle:`round`,borderColor:b?`yellow`:`gray`,children:J(z,{children:b?S:n})})})]})]}),J(R,{children:Y(z,{children:[J(z,{color:l===`phases`?`yellow`:void 0,children:l===`phases`?`❯ `:` `}),J(z,{bold:!0,color:l===`phases`?`yellow`:void 0,children:`Phases`})]})}),l===`phases`&&J(R,{marginBottom:1,flexDirection:`column`,children:Y(z,{dimColor:!0,children:[` `,`[e]dit`,` `,`[a]dd`,` `,`[d]elete`,` `,`[w]move up`,` `,`[s]move down`]})}),J(R,{marginLeft:2,marginBottom:1,children:Y(R,{flexDirection:`column`,children:[(()=>{let{start:e,end:n}=_t(u,t.length,8),r=t.slice(e,n);return Y(q,{children:[e>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,e,` more above`]}),r.map((t,n)=>{let r=e+n;return Y(z,{color:l===`phases`&&r===u?`cyan`:void 0,children:[l===`phases`&&r===u?`❯ `:` `,t]},r)}),n<t.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,t.length-n,` more below`]})]})})(),v&&Y(R,{children:[J(z,{color:`yellow`,children:`❯ `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:g})})]}),m&&Y(R,{marginTop:1,children:[J(z,{children:`Editing: `}),J(R,{borderStyle:`round`,borderColor:`yellow`,children:J(z,{children:g})})]})]})}),J(R,{children:Y(z,{children:[J(z,{color:l===`presets`?`yellow`:void 0,children:l===`presets`?`❯ `:` `}),J(z,{bold:!0,color:l===`presets`?`yellow`:void 0,children:`Presets`})]})}),l===`presets`&&Y(z,{dimColor:!0,children:[` `,`Selecting one will overwrite your choice of phases and interval`]}),J(R,{marginLeft:2,marginBottom:1,children:J(R,{flexDirection:`column`,children:(()=>{let{start:e,end:t}=_t(f,St.length,12),n=St.slice(e,t),r=e=>{let t=e.phases.join(``);return t.length>30?t.slice(0,27)+`…`:t};return Y(q,{children:[e>0&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↑ `,e,` more above`]}),n.map((t,n)=>{let i=e+n,a=l===`presets`&&i===f;return Y(z,{color:a?`cyan`:void 0,children:[a?`❯ `:` `,t.name,` `,r(t)]},i)}),t<St.length&&Y(z,{color:`gray`,dimColor:!0,children:[` `,`↓ `,St.length-t,` more below`]})]})})()})}),J(R,{marginTop:1,children:J(z,{dimColor:!0,children:`ctrl+r to reset all settings to default`})})]})})}function wt(e,t){let n=Ne(!0);U(()=>{if(n.current){n.current=!1;return}return e()},t)}const Tt=[{label:`bold`,value:`bold`},{label:`italic`,value:`italic`},{label:`underline`,value:`underline`},{label:`strikethrough`,value:`strikethrough`},{label:`inverse`,value:`inverse`}],Et=[{label:`none`,value:`none`},{label:`single`,value:`single`},{label:`double`,value:`double`},{label:`round`,value:`round`},{label:`bold`,value:`bold`},{label:`singleDouble`,value:`singleDouble`},{label:`doubleSingle`,value:`doubleSingle`},{label:`classic`,value:`classic`},{label:`topBottomSingle`,value:`topBottomSingle`},{label:`topBottomDouble`,value:`topBottomDouble`},{label:`topBottomBold`,value:`topBottomBold`}];function Dt({onBack:e}){let{settings:t,updateSettings:n}=H($),[r,i]=W(!1),[a,o]=W(!1),[s,c]=W(!1),[l,u]=W(()=>t.userMessageDisplay.format),[d,f]=W(()=>t.userMessageDisplay.paddingX===`default`?`default`:`custom`),[p,m]=W(()=>t.userMessageDisplay.paddingY===`default`?`default`:`custom`),[h,g]=W(()=>t.userMessageDisplay.paddingX===`default`?`0`:String(t.userMessageDisplay.paddingX)),[_,v]=W(()=>t.userMessageDisplay.paddingY===`default`?`0`:String(t.userMessageDisplay.paddingY)),[y,b]=W(t.userMessageDisplay.fitBoxToContent),[x,S]=W(0),[C,w]=W(()=>[...t.userMessageDisplay.styling]),[T,ee]=W(()=>t.userMessageDisplay.foregroundColor===`default`?`default`:`custom`),[E,D]=W(()=>t.userMessageDisplay.foregroundColor===`default`?`rgb(255,255,255)`:t.userMessageDisplay.foregroundColor),[O,te]=W(()=>{let e=t.userMessageDisplay.backgroundColor;return e===null?`none`:e===`default`?`default`:`custom`}),[k,ne]=W(()=>{let e=t.userMessageDisplay.backgroundColor;return e===null||e===`default`?`rgb(0,0,0)`:e}),[A,re]=W(()=>Et.findIndex(e=>e.value===t.userMessageDisplay.borderStyle)),[j,ie]=W(()=>t.userMessageDisplay.borderColor),[ae,oe]=W(null),[se,N]=W(``),ce=me(),P=t.themes?.find(e=>e.id===ce)||t.themes?.[0],[F,I]=W(`text`),le=[`format`,`styling`,`foreground`,`background`],ue=[`borderStyle`,`borderColor`,`paddingX`,`paddingY`,`fitBoxToContent`],[de,fe]=W(0),[pe,he]=W(0),L=F===`text`?le[de]:ue[pe],ge=()=>{n(e=>{e.userMessageDisplay.format=l,e.userMessageDisplay.styling=[...C],e.userMessageDisplay.foregroundColor=T===`default`?`default`:E,e.userMessageDisplay.backgroundColor=O===`none`?null:O===`default`?`default`:k,e.userMessageDisplay.borderStyle=Et[A].value,e.userMessageDisplay.borderColor=j,e.userMessageDisplay.paddingX=d===`default`?`default`:parseInt(h)||0,e.userMessageDisplay.paddingY=p===`default`?`default`:parseInt(_)||0,e.userMessageDisplay.fitBoxToContent=y})},_e=()=>{u(M.userMessageDisplay.format),w([...M.userMessageDisplay.styling]);let e=M.userMessageDisplay.foregroundColor;ee(e===`default`?`default`:`custom`),D(e===`default`?`rgb(255,255,255)`:e);let t=M.userMessageDisplay.backgroundColor;te(t===null?`none`:t===`default`?`default`:`custom`),ne(t===null||t===`default`?`rgb(0,0,0)`:t),re(Et.findIndex(e=>e.value===M.userMessageDisplay.borderStyle)),ie(M.userMessageDisplay.borderColor);let r=M.userMessageDisplay.paddingX,i=M.userMessageDisplay.paddingY;f(r===`default`?`default`:`custom`),m(i===`default`?`default`:`custom`),g(r===`default`?`0`:String(r)),v(i===`default`?`0`:String(i)),b(M.userMessageDisplay.fitBoxToContent),n(e=>{e.userMessageDisplay={...M.userMessageDisplay}})};wt(()=>{ge()},[l,C,T,E,O,k,A,j,d,p,h,_,y]),B((n,l)=>{if(r){l.return?i(!1):l.escape?(u(t.userMessageDisplay.format),i(!1)):l.backspace||l.delete?u(e=>e.slice(0,-1)):n&&u(e=>e+n);return}if(a){l.return?o(!1):l.escape?(g(String(t.userMessageDisplay.paddingX)),o(!1)):l.backspace||l.delete?g(e=>e.slice(0,-1)):n&&/^\d$/.test(n)&&g(e=>e+n);return}if(s){l.return?c(!1):l.escape?(v(String(t.userMessageDisplay.paddingY)),c(!1)):l.backspace||l.delete?v(e=>e.slice(0,-1)):n&&/^\d$/.test(n)&&v(e=>e+n);return}if(ae===null){if(l.escape)e();else if(l.ctrl&&n===`r`)_e();else if(l.leftArrow||l.rightArrow)I(e=>e===`text`?`border`:`text`);else if(l.tab)F===`text`?l.shift?fe(e=>e===0?le.length-1:e-1):fe(e=>e===le.length-1?0:e+1):l.shift?he(e=>e===0?ue.length-1:e-1):he(e=>e===ue.length-1?0:e+1);else if(l.return)L===`format`?i(!0):L===`paddingX`?d===`custom`&&o(!0):L===`paddingY`?p===`custom`&&c(!0):L===`foreground`?T===`custom`&&(N(E),oe(`foreground`)):L===`background`?O===`custom`&&(N(k),oe(`background`)):L===`borderColor`&&(N(j),oe(`border`));else if(l.upArrow)L===`styling`?S(e=>Math.max(0,e-1)):L===`borderStyle`?re(e=>e===0?Et.length-1:e-1):L===`paddingX`?f(e=>e===`default`?`custom`:`default`):L===`paddingY`?m(e=>e===`default`?`custom`:`default`):L===`foreground`?ee(e=>{let t=e===`default`?`custom`:`default`;return t===`custom`&&(!E||E===``)&&D(`rgb(255,255,255)`),t}):L===`background`&&te(e=>{let t=e===`default`?`custom`:e===`custom`?`none`:`default`;return t===`custom`&&(!k||k===``)&&ne(`rgb(0,0,0)`),t});else if(l.downArrow)L===`styling`?S(e=>Math.min(Tt.length-1,e+1)):L===`borderStyle`?re(e=>e===Et.length-1?0:e+1):L===`paddingX`?f(e=>e===`default`?`custom`:`default`):L===`paddingY`?m(e=>e===`default`?`custom`:`default`):L===`foreground`?ee(e=>{let t=e===`default`?`custom`:`default`;return t===`custom`&&(!E||E===``)&&D(`rgb(255,255,255)`),t}):L===`background`&&te(e=>{let t=e===`default`?`none`:e===`none`?`custom`:`default`;return t===`custom`&&(!k||k===``)&&ne(`rgb(0,0,0)`),t});else if(n===` `)if(L===`styling`){let e=Tt[x].value;w(C.indexOf(e)>=0?C.filter(t=>t!==e):[...C,e])}else L===`fitBoxToContent`&&b(e=>!e)}});let ve=e=>{let t=T===`default`?P?.colors?.text:E,n=O===`none`?void 0:O===`default`?P?.colors?.userMessageBackground:k,r=Et[A].value,i=d===`default`?0:parseInt(h)||0,a=p===`default`?0:parseInt(_)||0,o=d===`default`?1:i,s=J(z,{bold:C.includes(`bold`),italic:C.includes(`italic`),underline:C.includes(`underline`),strikethrough:C.includes(`strikethrough`),inverse:C.includes(`inverse`),color:t,backgroundColor:n,children:e});if(r===`topBottomSingle`||r===`topBottomDouble`||r===`topBottomBold`){let t=r===`topBottomSingle`?`─`:r===`topBottomDouble`?`═`:`━`,n=e.length+i*2,o=t.repeat(n);return Y(R,{flexDirection:`column`,children:[J(z,{color:j,children:o}),a>0&&J(R,{height:a}),J(R,{paddingX:i,children:s}),a>0&&J(R,{height:a}),J(z,{color:j,children:o})]})}else if(r!==`none`||i>0||a>0||o>0||y){let e={};i>0&&(e.paddingX=i),d===`default`&&i===0&&(e.paddingRight=o),a>0&&(e.paddingY=a);let t=Object.keys(e).length>0?J(R,{...e,children:s}):s,n={};return r!==`none`&&(n.borderStyle=r,n.borderColor=j),y?n.alignSelf=`flex-start`:n.flexGrow=1,r===`none`?t:J(R,{...n,children:t})}else return s};return ae?J(at,{initialValue:se,theme:P,onColorChange:e=>{ae===`foreground`?D(e):ae===`background`?ne(e):ae===`border`&&ie(e)},onExit:()=>{oe(null),N(``)}}):Y(R,{flexDirection:`column`,children:[J(X,{children:`Customize how user messages are displayed`}),Y(R,{flexDirection:`column`,marginBottom:1,children:[J(z,{dimColor:!0,children:`left/right arrows to switch columns · tab to navigate options`}),J(z,{dimColor:!0,children:`enter to edit · ctrl+r to reset · esc to go back`})]}),Y(R,{flexDirection:`row`,gap:1,children:[Y(R,{flexDirection:`column`,width:`50%`,borderStyle:F===`text`?`round`:`single`,borderColor:F===`text`?`yellow`:`gray`,paddingX:1,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,color:F===`text`?`yellow`:void 0,children:`Text & Styling`})}),J(R,{children:Y(z,{color:L===`format`?`yellow`:void 0,bold:L===`format`,children:[L===`format`?`❯ `:` `,`Format String`]})}),L===`format`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:r?`enter to save · esc to cancel`:`enter to edit · use {} as message placeholder`})}),J(R,{marginLeft:2,marginBottom:1,children:J(R,{borderStyle:`round`,borderColor:r?`yellow`:`gray`,children:J(z,{children:l})})}),J(R,{children:Y(z,{color:L===`styling`?`yellow`:void 0,bold:L===`styling`,children:[L===`styling`?`❯ `:` `,`Styling`]})}),L===`styling`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`up/down to navigate · space to toggle`})}),J(R,{marginLeft:2,marginBottom:1,flexDirection:`column`,children:Tt.map((e,t)=>J(R,{children:Y(z,{color:L===`styling`&&x===t?`cyan`:void 0,children:[L===`styling`&&x===t?`❯ `:` `,C.includes(e.value)?`●`:`○`,` `,e.label]})},e.value))}),Y(R,{flexDirection:`row`,gap:1,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{children:Y(z,{color:L===`foreground`?`yellow`:void 0,bold:L===`foreground`,children:[L===`foreground`?`❯ `:` `,`Foreground`]})}),L===`foreground`&&J(R,{marginLeft:2,children:Y(z,{dimColor:!0,children:[`up/down · `,T===`custom`?`enter`:``]})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[T===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[T===`custom`?`● `:`○ `,`Custom`,T===`custom`&&`: `,T===`custom`&&J(z,{color:E,children:E})]})})]})]}),Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{children:Y(z,{color:L===`background`?`yellow`:void 0,bold:L===`background`,children:[L===`background`?`❯ `:` `,`Background`]})}),L===`background`&&J(R,{marginLeft:2,children:Y(z,{dimColor:!0,children:[`up/down · `,O===`custom`?`enter`:``]})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[O===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[O===`none`?`● `:`○ `,`None`]})}),J(R,{children:Y(z,{children:[O===`custom`?`● `:`○ `,`Custom`,O===`custom`&&`: `,O===`custom`&&J(z,{backgroundColor:k,children:k})]})})]})]})]})]}),Y(R,{flexDirection:`column`,width:`50%`,borderStyle:F===`border`?`round`:`single`,borderColor:F===`border`?`yellow`:`gray`,paddingX:1,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,color:F===`border`?`yellow`:void 0,children:`Border & Padding`})}),J(R,{children:Y(z,{color:L===`borderStyle`?`yellow`:void 0,bold:L===`borderStyle`,children:[L===`borderStyle`?`❯ `:` `,`Border Style`]})}),L===`borderStyle`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`up/down to navigate`})}),Y(R,{marginLeft:2,marginBottom:1,flexDirection:`row`,children:[J(R,{flexDirection:`column`,width:`50%`,children:Et.slice(0,6).map((e,t)=>J(R,{children:Y(z,{color:L===`borderStyle`&&A===t?`cyan`:void 0,children:[L===`borderStyle`&&A===t?`❯ `:` `,A===t?`● `:`○ `,e.label]})},e.value))}),J(R,{flexDirection:`column`,width:`50%`,children:Et.slice(6).map((e,t)=>{let n=t+6;return J(R,{children:Y(z,{color:L===`borderStyle`&&A===n?`cyan`:void 0,children:[L===`borderStyle`&&A===n?`❯ `:` `,A===n?`● `:`○ `,e.label]})},e.value)})})]}),J(R,{children:Y(z,{color:L===`borderColor`?`yellow`:void 0,bold:L===`borderColor`,children:[L===`borderColor`?`❯ `:` `,`Border Color`]})}),L===`borderColor`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`enter to pick color`})}),J(R,{marginLeft:2,marginBottom:1,children:J(z,{color:j,children:j})}),Y(R,{flexDirection:`row`,gap:1,children:[Y(R,{flexDirection:`column`,width:`33%`,children:[J(R,{children:Y(z,{color:L===`paddingX`?`yellow`:void 0,bold:L===`paddingX`,children:[L===`paddingX`?`❯ `:` `,`Padding X`]})}),L===`paddingX`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:a?`enter/esc`:d===`custom`?`up/down · enter`:`up/down`})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[d===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[d===`custom`?`● `:`○ `,`Custom`]})}),d===`custom`&&J(R,{children:J(R,{borderStyle:`round`,borderColor:a?`yellow`:`gray`,children:J(z,{children:h})})})]})]}),Y(R,{flexDirection:`column`,width:`33%`,children:[J(R,{children:Y(z,{color:L===`paddingY`?`yellow`:void 0,bold:L===`paddingY`,children:[L===`paddingY`?`❯ `:` `,`Padding Y`]})}),L===`paddingY`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:s?`enter/esc`:p===`custom`?`up/down · enter`:`up/down`})}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{children:Y(z,{children:[p===`default`?`● `:`○ `,`Default`]})}),J(R,{children:Y(z,{children:[p===`custom`?`● `:`○ `,`Custom`]})}),p===`custom`&&J(R,{children:J(R,{borderStyle:`round`,borderColor:s?`yellow`:`gray`,children:J(z,{children:_})})})]})]}),Y(R,{flexDirection:`column`,width:`33%`,children:[J(R,{children:Y(z,{color:L===`fitBoxToContent`?`yellow`:void 0,bold:L===`fitBoxToContent`,children:[L===`fitBoxToContent`?`❯ `:` `,y?`●`:`○`,` Fit box to content`]})}),L===`fitBoxToContent`&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`space`})})]})]})]})]}),Y(R,{flexDirection:`column`,marginTop:1,paddingX:1,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,children:`Preview`})}),Y(R,{flexDirection:`row`,gap:2,children:[Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{marginBottom:1,children:J(z,{underline:!0,children:`Before (Claude Code default):`})}),J(R,{marginLeft:1,children:Y(z,{backgroundColor:P?.colors?.userMessageBackground,color:P?.colors?.text,children:[` `,`> list the dir`,` `]})}),J(R,{marginLeft:1,marginTop:1,children:Y(z,{children:[J(z,{color:P?.colors?.inactive||`#888888`,children:`●`}),J(z,{children:` The directory `}),J(z,{color:P?.colors?.permission||`#00ff00`,children:`C:\\Users\\user`}),J(z,{children:` contains `}),J(z,{bold:!0,children:`123`}),J(z,{children:` files.`})]})})]}),Y(R,{flexDirection:`column`,width:`50%`,children:[J(R,{marginBottom:1,children:J(z,{underline:!0,children:`After (Your customization):`})}),J(R,{marginLeft:1,flexDirection:`row`,children:(()=>ve(l.replace(/\{\}/g,`list the dir`)))()}),J(R,{marginLeft:1,marginTop:1,children:Y(z,{children:[J(z,{color:P?.colors?.inactive||`#888888`,children:`●`}),J(z,{children:` The directory `}),J(z,{color:P?.colors?.permission||`#00ff00`,children:`C:\\Users\\user`}),J(z,{children:` contains `}),J(z,{bold:!0,children:`123`}),J(z,{children:` files.`})]})})]})]})]})]})}const Ot=[{label:`bold`,value:`bold`},{label:`italic`,value:`italic`},{label:`underline`,value:`underline`},{label:`strikethrough`,value:`strikethrough`},{label:`inverse`,value:`inverse`}],kt=[[`name`,`regex`,`regexFlags`],[`format`,`styling`],[`foreground`,`background`],[`enabled`],[`testText`]];function At({testText:e,regex:t,regexFlags:n,format:r,styling:i,foregroundColor:a,backgroundColor:o}){let s=[];try{let c=n.includes(`g`)?n:n+`g`,l=new RegExp(t,c),u=[...e.matchAll(l)];if(u.length===0)return J(z,{children:e});let d=0;return u.forEach((t,n)=>{let c=t.index,l=c+t[0].length;c>d&&s.push(J(z,{children:e.slice(d,c)},`plain-${n}`));let u=r.replace(/\{MATCH\}/g,t[0]);s.push(J(z,{bold:i.includes(`bold`),italic:i.includes(`italic`),underline:i.includes(`underline`),strikethrough:i.includes(`strikethrough`),inverse:i.includes(`inverse`),color:a,backgroundColor:o,children:u},`match-${n}`)),d=l}),d<e.length&&s.push(J(z,{children:e.slice(d)},`plain-end`)),J(q,{children:s})}catch{return J(z,{children:e})}}function jt({highlighterIndex:e,onBack:t}){let{settings:n,updateSettings:r}=H($),i=n.inputPatternHighlighters[e],a=me(),o=n.themes?.find(e=>e.id===a)||n.themes?.[0],[s,c]=W(i?.name||`New Highlighter`),[l,u]=W(i?.regex||``),[d,f]=W(i?.regexFlags||`g`),[p,m]=W(i?.format||`{MATCH}`),[h,g]=W(i?.styling||[]),[_,v]=W(i?.foregroundColor===null?`none`:`custom`),[y,b]=W(i?.foregroundColor||`rgb(255,0,255)`),[x,S]=W(i?.backgroundColor?`custom`:`none`),[C,w]=W(i?.backgroundColor||`rgb(0,0,0)`),[T,ee]=W(i?.enabled??!0),[E,D]=W(n.inputPatternHighlightersTestText||`Type test text here to see highlighting`),[O,te]=W(`name`),[k,ne]=W(!1),[A,re]=W(0),[j,ie]=W(null),[ae,oe]=W(``),[se,M]=W(null),[N,ce]=W(0),[P,F]=W(0);if(U(()=>{let e=kt[N];te(e[Math.min(P,e.length-1)])},[N,P]),U(()=>{if(!l){M(null);return}try{new RegExp(l,d),M(null)}catch(e){M(e.message)}},[l,d]),U(()=>{e>=0&&r(t=>{t.inputPatternHighlighters[e]&&(t.inputPatternHighlighters[e]={name:s,regex:l,regexFlags:d,format:p,styling:h,foregroundColor:_===`custom`?y:null,backgroundColor:x===`custom`?C:null,enabled:T})})},[e,s,l,d,p,h,_,y,x,C,T]),U(()=>{r(e=>{e.inputPatternHighlightersTestText=E})},[E]),B((e,r)=>{if(k){r.return?ne(!1):r.escape?(O===`name`&&c(i?.name||``),O===`regex`&&u(i?.regex||``),O===`regexFlags`&&f(i?.regexFlags||`g`),O===`format`&&m(i?.format||`{MATCH}`),O===`testText`&&D(n.inputPatternHighlightersTestText||`Type test text here to see highlighting`),ne(!1)):r.backspace||r.delete?(O===`name`&&c(e=>e.slice(0,-1)),O===`regex`&&u(e=>e.slice(0,-1)),O===`regexFlags`&&f(e=>e.slice(0,-1)),O===`format`&&m(e=>e.slice(0,-1)),O===`testText`&&D(e=>e.slice(0,-1))):e&&e.length===1&&(O===`name`&&c(t=>t+e),O===`regex`&&u(t=>t+e),O===`regexFlags`&&f(t=>t+e),O===`format`&&m(t=>t+e),O===`testText`&&D(t=>t+e));return}if(j===null){if(r.escape)t();else if(r.upArrow)O===`styling`&&A>0?re(e=>e-1):ce(e=>Math.max(0,e-1));else if(r.downArrow)O===`styling`&&A<Ot.length-1?re(e=>e+1):ce(e=>Math.min(kt.length-1,e+1));else if(r.leftArrow)O===`foreground`?v(e=>e===`none`?`custom`:`none`):O===`background`?S(e=>e===`none`?`custom`:`none`):F(e=>Math.max(0,e-1));else if(r.rightArrow)if(O===`foreground`)v(e=>e===`none`?`custom`:`none`);else if(O===`background`)S(e=>e===`none`?`custom`:`none`);else{let e=kt[N].length-1;F(t=>Math.min(e,t+1))}else if(r.tab){let e=kt.flat(),t=e.indexOf(O);if(r.shift){if(t>0){let n=e[t-1];for(let e=0;e<kt.length;e++){let t=kt[e].indexOf(n);if(t>=0){ce(e),F(t);break}}}}else if(t<e.length-1){let n=e[t+1];for(let e=0;e<kt.length;e++){let t=kt[e].indexOf(n);if(t>=0){ce(e),F(t);break}}}}else if(r.return)O===`name`||O===`regex`||O===`regexFlags`||O===`format`||O===`testText`?ne(!0):O===`foreground`&&_===`custom`?(oe(y),ie(`foreground`)):O===`background`&&x===`custom`&&(oe(C),ie(`background`));else if(e===` `)if(O===`styling`){let e=Ot[A].value;h.includes(e)?g(h.filter(t=>t!==e)):g([...h,e])}else O===`enabled`&&ee(!T)}}),!i)return J(R,{flexDirection:`column`,children:J(z,{color:`red`,children:`Highlighter not found`})});if(j)return J(at,{initialValue:ae,theme:o,onColorChange:e=>{j===`foreground`?b(e):j===`background`&&w(e)},onExit:()=>{ie(null),oe(``)}});let I=e=>O===e,le=e=>({color:I(e)?`yellow`:void 0,bold:I(e)});return Y(R,{flexDirection:`column`,children:[J(X,{children:`Edit Highlighter`}),J(R,{marginBottom:1,flexDirection:`column`,children:J(z,{dimColor:!0,children:`arrows to navigate · enter to edit · space to toggle · esc to go back`})}),Y(R,{flexDirection:`row`,gap:2,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`30%`,children:[Y(z,{...le(`name`),children:[I(`name`)?`❯ `:` `,`Name`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`name`)?k?`green`:`yellow`:`gray`,children:J(z,{children:s||`(empty)`})})})]}),Y(R,{flexDirection:`column`,width:`45%`,children:[Y(z,{...le(`regex`),children:[I(`regex`)?`❯ `:` `,`Regex Pattern`]}),Y(R,{marginLeft:2,flexDirection:`column`,children:[J(R,{borderStyle:`round`,borderColor:I(`regex`)?k?`green`:`yellow`:se?`red`:`gray`,children:J(z,{children:l||`(empty)`})}),se&&J(z,{color:`red`,children:se})]})]}),Y(R,{flexDirection:`column`,width:`20%`,children:[Y(z,{...le(`regexFlags`),children:[I(`regexFlags`)?`❯ `:` `,`Flags`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`regexFlags`)?k?`green`:`yellow`:`gray`,children:J(z,{children:d||`g`})})})]})]}),Y(R,{flexDirection:`row`,gap:2,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`50%`,children:[Y(z,{...le(`format`),children:[I(`format`)?`❯ `:` `,`Format String`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`format`)?k?`green`:`yellow`:`gray`,children:J(z,{children:p||`{MATCH}`})})}),I(`format`)&&J(R,{marginLeft:2,children:Y(z,{dimColor:!0,children:[`use `,`{MATCH}`,` as placeholder`]})})]}),Y(R,{flexDirection:`column`,width:`45%`,children:[Y(z,{...le(`styling`),children:[I(`styling`)?`❯ `:` `,`Styling`]}),J(R,{marginLeft:2,flexDirection:`column`,children:Ot.map((e,t)=>{let n=h.includes(e.value),r=I(`styling`)&&A===t;return Y(z,{color:r?`cyan`:void 0,children:[r?`❯ `:` `,n?`●`:`○`,` `,e.label]},e.value)})})]})]}),Y(R,{flexDirection:`row`,gap:2,marginBottom:1,children:[Y(R,{flexDirection:`column`,width:`48%`,children:[Y(z,{...le(`foreground`),children:[I(`foreground`)?`❯ `:` `,`Foreground Color`]}),Y(R,{marginLeft:2,flexDirection:`row`,gap:1,children:[Y(z,{color:I(`foreground`)?`yellow`:void 0,children:[`[`,_===`none`?`●`:`○`,`] none`,` `,`[`,_===`custom`?`●`:`○`,`] custom`]}),_===`custom`&&J(R,{borderStyle:`round`,borderColor:I(`foreground`)?`yellow`:`gray`,children:J(z,{color:y,children:` ████ `})})]})]}),Y(R,{flexDirection:`column`,width:`48%`,children:[Y(z,{...le(`background`),children:[I(`background`)?`❯ `:` `,`Background Color`]}),Y(R,{marginLeft:2,flexDirection:`row`,gap:1,children:[Y(z,{color:I(`background`)?`yellow`:void 0,children:[`[`,x===`none`?`●`:`○`,`] none`,` `,`[`,x===`custom`?`●`:`○`,`] custom`]}),x===`custom`&&J(R,{borderStyle:`round`,borderColor:I(`background`)?`yellow`:`gray`,children:Y(z,{backgroundColor:C,children:[` `,` `,` `]})})]})]})]}),J(R,{marginBottom:1,children:Y(z,{...le(`enabled`),children:[I(`enabled`)?`❯ `:` `,`Enabled:`,` `,J(z,{color:T?`green`:`red`,children:T?`● Yes`:`○ No`})]})}),Y(R,{flexDirection:`column`,marginBottom:1,children:[Y(z,{...le(`testText`),children:[I(`testText`)?`❯ `:` `,`Test Text`]}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:I(`testText`)?k?`green`:`yellow`:`gray`,children:J(z,{children:E||`(empty)`})})})]}),J(R,{borderStyle:`round`,padding:1,children:Y(R,{flexDirection:`column`,children:[J(z,{bold:!0,children:`Live Preview:`}),l?J(R,{marginTop:1,children:J(At,{testText:E,regex:l,regexFlags:d,format:p,styling:h,foregroundColor:_===`custom`?y:void 0,backgroundColor:x===`custom`?C:void 0})}):J(z,{dimColor:!0,children:`Enter a regex pattern to see the preview`})]})})]})}function Mt({onBack:e}){let{settings:{inputPatternHighlighters:t,themes:n},updateSettings:r}=H($),i=me(),a=n.find(e=>e.id===i)||n[0],o=M.themes[0],s=a?.colors.success||o.colors.success,c=a?.colors.error||o.colors.error,[l,u]=W(0),[d,f]=W(null),[p,m]=W(!0),h=()=>{let e={name:`New Highlighter`,regex:``,regexFlags:`g`,format:`{MATCH}`,styling:[],foregroundColor:`rgb(255,0,255)`,backgroundColor:null,enabled:!0};r(t=>{t.inputPatternHighlighters.push(e)}),f(t.length),m(!1)},g=e=>{r(t=>{t.inputPatternHighlighters.splice(e,1)}),l>=t.length-1&&u(Math.max(0,t.length-2))},_=e=>{r(t=>{t.inputPatternHighlighters[e].enabled=!t.inputPatternHighlighters[e].enabled})},v=e=>{e<=0||(r(t=>{let n=t.inputPatternHighlighters[e];t.inputPatternHighlighters.splice(e,1),t.inputPatternHighlighters.splice(e-1,0,n)}),u(e-1))},y=e=>{e>=t.length-1||(r(t=>{let n=t.inputPatternHighlighters[e];t.inputPatternHighlighters.splice(e,1),t.inputPatternHighlighters.splice(e+1,0,n)}),u(e+1))};return B((n,r)=>{r.escape?e():r.upArrow?u(e=>Math.max(0,e-1)):r.downArrow&&t.length>0?u(e=>Math.min(t.length-1,e+1)):r.return&&t.length>0?(f(l),m(!1)):n===`n`?h():n===`x`&&t.length>0?g(l):n===` `&&t.length>0?_(l):n===`u`&&t.length>0&&l>0?v(l):n===`d`&&t.length>0&&l<t.length-1&&y(l)},{isActive:p}),d===null?Y(R,{flexDirection:`column`,children:[J(X,{children:`Input Pattern Highlighters`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`Create custom highlighters for patterns in your input prompt.`}),J(z,{dimColor:!0,children:`Matched text will be styled and optionally reformatted.`})]}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new highlighter`}),t.length>0&&J(z,{dimColor:!0,children:`space to toggle enabled/disabled`}),t.length>0&&J(z,{dimColor:!0,children:`u/d to move highlighter up/down`}),t.length>0&&J(z,{dimColor:!0,children:`x to delete a highlighter`}),t.length>0&&J(z,{dimColor:!0,children:`enter to edit highlighter`}),J(z,{dimColor:!0,children:`esc to go back`})]}),t.length===0?J(z,{children:`No highlighters created yet. Press n to create one.`}):J(R,{flexDirection:`column`,children:t.map((e,t)=>{let n=l===t,r;return n&&(r=`yellow`),Y(R,{flexDirection:`row`,children:[Y(z,{color:r,children:[n?`❯ `:` `,e.enabled?`● `:`○ `,e.name,` `]}),J(z,{dimColor:!0,children:`(`}),e.regex?Y(z,{dimColor:!0,children:[`/`,e.regex,`/`,e.regexFlags]}):J(z,{dimColor:!0,children:`(no regex)`}),e.styling.length>0&&J(q,{children:Y(z,{color:r,dimColor:!e.enabled,children:[` `,`· `,e.styling.join(`, `)]})}),J(z,{dimColor:!0,children:`)`}),e.enabled?J(z,{color:s,children:` enabled`}):J(z,{color:c,children:` disabled`})]},t)})})]}):J(jt,{highlighterIndex:d,onBack:()=>{f(null),m(!0)}})}const Nt=[null,1,5,10,25,50,100,200,250,500,1e3],Pt=1e3;function Ft({onSubmit:e}){let{settings:t,updateSettings:n}=H($),[r,i]=W(0),[a,o]=W(!1),s={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`,enableSessionMemory:!0,enableDreamMode:!0,enableLeanMemoryTypes:!1,fixSummarizeFromHere:!0,fixRewindSummaryHeader:!0,enableRememberSkill:!1,tokenCountRounding:null,autoAcceptPlanMode:!1,allowBypassPermissionsInSudo:!1,suppressNativeInstallerWarning:!1,filterScrollEscapeSequences:!1,enableWorktreeMode:!0,swapRipgrepForFff:!1,allowCustomAgentModels:!1,enableContextLimitOverride:!1,enableModelCustomizations:!0,enableVoiceMode:!1,enableVoiceConciseOutput:!0,enableChannelsMode:!1,maxEffortDefault:!1,autonomousOperationAllModels:!1,outputStyleTurnReminder:!1,autoModeClassifierModel:`default`,suppressDeferredTools:!1,claudemdContextOncePerConversation:!0},c=()=>{t.misc||={...s}},l=e=>{let t=[`default`,`sonnet`,`haiku`];return t[(t.indexOf(e)+1)%t.length]},u=e=>{switch(e){case`sonnet`:return`Sonnet 4.6`;case`haiku`:return`Haiku 4.5`;case`default`:default:return`Default (main-loop model)`}},d=e=>{let t=[`default`,`ascii`,`clean`,`clean-top-bottom`];return t[(t.indexOf(e)+1)%t.length]},f=e=>{switch(e){case`ascii`:return`ASCII (| and -)`;case`clean`:return`Clean (no row separators)`;case`clean-top-bottom`:return`Clean with top/bottom`;case`default`:default:return`Default (box-drawing)`}},p=e=>e===null?`Default (3)`:e<=3?`${e} (conservative)`:e<=8?`${e} (recommended)`:`${e} (aggressive)`,m=e=>e===null?`Disabled`:e===0?`0ms (instant)`:`${e}ms`,h=e=>e===null?`Off (exact counts)`:`Round to ${e}`,g=(e,t)=>{let n=Nt.indexOf(e);if(n===-1)return Nt[0];let r;return r=t===`next`?(n+1)%Nt.length:(n-1+Nt.length)%Nt.length,Nt[r]},_=Me(()=>[{id:`removeBorder`,title:`Remove input box border`,description:`Removes the rounded border around the input box for a cleaner look.`,getValue:()=>t.inputBox?.removeBorder??!1,toggle:()=>{n(e=>{e.inputBox||={removeBorder:!1},e.inputBox.removeBorder=!e.inputBox.removeBorder})}},{id:`showVersion`,title:`Show tweakcc version at startup`,description:`Shows the blue "+ tweakcc v<VERSION>" message when starting Claude Code.`,getValue:()=>t.misc?.showTweakccVersion??!0,toggle:()=>{n(e=>{c(),e.misc.showTweakccVersion=!e.misc.showTweakccVersion})}},{id:`showPatches`,title:`Show patches applied indicator at startup`,description:`Shows the green "tweakcc patches are applied" indicator when starting Claude Code.`,getValue:()=>t.misc?.showPatchesApplied??!0,toggle:()=>{n(e=>{c(),e.misc.showPatchesApplied=!e.misc.showPatchesApplied})}},{id:`expandThinking`,title:`Expand thinking blocks`,description:`Makes thinking blocks always expanded by default instead of collapsed.`,getValue:()=>t.misc?.expandThinkingBlocks??!0,toggle:()=>{n(e=>{c(),e.misc.expandThinkingBlocks=!e.misc.expandThinkingBlocks})}},{id:`conversationTitle`,title:`Allow renaming sessions via /title`,description:`Enables /title and /rename commands for manually naming conversations.`,getValue:()=>t.misc?.enableConversationTitle??!0,toggle:()=>{n(e=>{c(),e.misc.enableConversationTitle=!e.misc.enableConversationTitle})}},{id:`enableModelCustomizations`,title:`Enable model customizations (/model shows all models)`,description:`Show all Claude models in /model menu, not just the latest 3. Disable to use Claude Code default model list.`,getValue:()=>t.misc?.enableModelCustomizations??!0,toggle:()=>{n(e=>{c(),e.misc.enableModelCustomizations=!e.misc.enableModelCustomizations})}},{id:`hideStartupBanner`,title:`Hide startup banner`,description:`Hides the startup banner message displayed before first prompt.`,getValue:()=>t.misc?.hideStartupBanner??!1,toggle:()=>{n(e=>{c(),e.misc.hideStartupBanner=!e.misc.hideStartupBanner})}},{id:`hideCtrlG`,title:`Hide ctrl-g to edit prompt hint`,description:`Hides the "ctrl-g to edit prompt" hint shown during streaming.`,getValue:()=>t.misc?.hideCtrlGToEdit??!1,toggle:()=>{n(e=>{c(),e.misc.hideCtrlGToEdit=!e.misc.hideCtrlGToEdit})}},{id:`hideClawd`,title:`Hide startup Clawd ASCII art`,description:`Hides the Clawd ASCII art character shown at startup.`,getValue:()=>t.misc?.hideStartupClawd??!1,toggle:()=>{n(e=>{c(),e.misc.hideStartupClawd=!e.misc.hideStartupClawd})}},{id:`increaseFileReadLimit`,title:`Increase file read token limit`,description:`Increases the maximum file read limit from 25,000 to 1,000,000 tokens.`,getValue:()=>t.misc?.increaseFileReadLimit??!1,toggle:()=>{n(e=>{c(),e.misc.increaseFileReadLimit=!e.misc.increaseFileReadLimit})}},{id:`suppressLineNumbers`,title:`Suppress line numbers in file reads/edits`,description:`Removes line number prefixes from file content to reduce token usage.`,getValue:()=>t.misc?.suppressLineNumbers??!1,toggle:()=>{n(e=>{c(),e.misc.suppressLineNumbers=!e.misc.suppressLineNumbers})}},{id:`suppressRateLimitOptions`,title:`Suppress rate limit options popup`,description:`Prevents the automatic /rate-limit-options command from being triggered when hitting rate limits.`,getValue:()=>t.misc?.suppressRateLimitOptions??!1,toggle:()=>{n(e=>{c(),e.misc.suppressRateLimitOptions=!e.misc.suppressRateLimitOptions})}},{id:`mcpNonBlocking`,title:`Non-blocking MCP startup`,description:`Start immediately while MCP servers connect in background. Reduces startup time ~50% with multiple MCPs.`,getValue:()=>t.misc?.mcpConnectionNonBlocking??!0,toggle:()=>{n(e=>{c(),e.misc.mcpConnectionNonBlocking=!e.misc.mcpConnectionNonBlocking})}},{id:`mcpBatchSize`,title:`MCP server batch size`,description:`Parallel MCP connections (1-20). Use ←/→ to adjust. Higher = faster startup, more resources.`,getValue:()=>t.misc?.mcpServerBatchSize??null,getDisplayValue:()=>p(t.misc?.mcpServerBatchSize??null),toggle:()=>{n(e=>{c(),e.misc.mcpServerBatchSize=null})},increment:()=>{n(e=>{c();let t=e.misc.mcpServerBatchSize??3;e.misc.mcpServerBatchSize=Math.min(20,t+1)})},decrement:()=>{n(e=>{c();let t=(e.misc.mcpServerBatchSize??3)-1;e.misc.mcpServerBatchSize=t<1?null:t})}},{id:`tableFormat`,title:`Table output format`,description:`Controls how Claude formats tables. Default: full borders. ASCII: | and -. Clean: no top/bottom/row separators. Clean+top/bottom: borders but no row separators.`,getValue:()=>t.misc?.tableFormat??`default`,isMultiValue:!0,getDisplayValue:()=>f(t.misc?.tableFormat??`default`),toggle:()=>{n(e=>{c(),e.misc.tableFormat=d(e.misc.tableFormat??`default`)})}},{id:`enableWorktreeMode`,title:`Enable worktree mode (EnterWorktree tool)`,description:`Force-enable the EnterWorktree tool for isolated git worktree sessions by bypassing the tengu_worktree_mode feature flag.`,getValue:()=>t.misc?.enableWorktreeMode??!0,toggle:()=>{n(e=>{c(),e.misc.enableWorktreeMode=!e.misc.enableWorktreeMode})}},{id:`swapRipgrepForFff`,title:`[EXPERIMENTAL] fff for Bash search (grep/find/rg -> fff)`,description:`Route Claude Code's Bash search through fff. CC shadows the shell grep->embedded ugrep and find->embedded bfs (and offers rg); the agent uses grep far more than rg. This repoints all three at a per-platform fff wrapper that serves (relevance-ranked, warm-index daemon): literal, regex (RE2, the dialect the model writes), -i, multi-word phrases, context (-A/-B/-C), extension globs (-g/--include '*.ts'), and multi-path (app lib scripts). Anything fff can't serve faithfully (PCRE, multiline/newline/empty regex, -o, single-file, non-recursive grep, --no-ignore, find, non-ASCII, lines over 512 bytes, piped stdin) -> re-exec the real embedded ugrep/bfs/ripgrep. Every engine still ships; any uncertainty falls back, so results never diverge from intent. Transparent (no prompt-compliance reliance), CC-scoped (your own terminal grep/find/rg are untouched). Installs the wrapper into ~/.tweakcc/fff.`,getValue:()=>t.misc?.swapRipgrepForFff??!1,toggle:()=>{n(e=>{c(),e.misc.swapRipgrepForFff=!e.misc.swapRipgrepForFff})}},{id:`enableVoiceMode`,title:`Enable voice mode (/voice command)`,description:`Force-enable the /voice command by bypassing the tengu_amber_quartz feature gate.`,getValue:()=>t.misc?.enableVoiceMode??!1,toggle:()=>{n(e=>{c(),e.misc.enableVoiceMode=!e.misc.enableVoiceMode})}},{id:`enableVoiceConciseOutput`,title:`Enable concise output for voice mode`,description:`Enable the concise-output prompt used for voice interactions. Only applies when voice mode is enabled.`,getValue:()=>t.misc?.enableVoiceConciseOutput??!0,toggle:()=>{n(e=>{c(),e.misc.enableVoiceConciseOutput=!e.misc.enableVoiceConciseOutput})}},{id:`enableChannelsMode`,title:`Enable channels mode (MCP channel notifications)`,description:`Force-enable MCP channel notifications by bypassing the tengu_harbor feature gate, allowlist, and permission relay.`,getValue:()=>t.misc?.enableChannelsMode??!1,toggle:()=>{n(e=>{c(),e.misc.enableChannelsMode=!e.misc.enableChannelsMode})}},{id:`enableContextLimitOverride`,title:`Override context limit`,description:`Replaces the default model context limit with CLAUDE_CODE_CONTEXT_LIMIT env var. Must be exported manually before launching CC, or falls back to 200K.`,getValue:()=>t.misc?.enableContextLimitOverride??!1,toggle:()=>{n(e=>{c(),e.misc.enableContextLimitOverride=!e.misc.enableContextLimitOverride})}},{id:`statuslineThrottle`,title:`Statusline throttle`,description:`Throttle statusline updates (0-${Pt}ms). Use ←/→ to adjust by 50ms. Space to disable. 0 = instant updates.`,getValue:()=>t.misc?.statuslineThrottleMs??null,getDisplayValue:()=>m(t.misc?.statuslineThrottleMs??null),toggle:()=>{n(e=>{c(),e.misc.statuslineThrottleMs=e.misc.statuslineThrottleMs===null?300:null})},increment:()=>{n(e=>{c();let t=e.misc.statuslineThrottleMs??300;e.misc.statuslineThrottleMs=Math.min(Pt,t+50)})},decrement:()=>{n(e=>{c();let t=e.misc.statuslineThrottleMs??300;e.misc.statuslineThrottleMs=Math.max(0,t-50)})}},{id:`statuslineFixedInterval`,title:`Statusline fixed interval mode`,description:`Use setInterval instead of throttle. Updates happen on a fixed schedule rather than on-demand.`,getValue:()=>t.misc?.statuslineUseFixedInterval??!1,toggle:()=>{n(e=>{c(),e.misc.statuslineUseFixedInterval=!e.misc.statuslineUseFixedInterval})}},{id:`enableSessionMemory`,title:`Enable session memory`,description:`Force-enable session memory (auto-extraction + past session search) by bypassing the tengu_session_memory and tengu_coral_fern statsig flags.`,getValue:()=>t.misc?.enableSessionMemory??!0,toggle:()=>{n(e=>{c(),e.misc.enableSessionMemory=!e.misc.enableSessionMemory})}},{id:`enableDreamMode`,title:`Enable dream mode`,description:`Force-enable dream (/dream + auto-dream background memory consolidation) by bypassing the tengu_onyx_plover statsig gate. On/off still follows autoDreamEnabled in ~/.claude/settings.json.`,getValue:()=>t.misc?.enableDreamMode??!0,toggle:()=>{n(e=>{c(),e.misc.enableDreamMode=!e.misc.enableDreamMode})}},{id:`fixSummarizeFromHere`,title:`Fix "Summarize from here"`,description:`Make "Summarize from here" summarize only the messages after the rewind point instead of the whole conversation.`,getValue:()=>t.misc?.fixSummarizeFromHere??!0,toggle:()=>{n(e=>{c(),e.misc.fixSummarizeFromHere=!(e.misc.fixSummarizeFromHere??!0)})}},{id:`fixRewindSummaryHeader`,title:`Honest rewind summary header`,description:`Label a rewind summary as a deliberate rewind (you continued forward, then rewound and chose to carry the summary forward) instead of the misleading "ran out of context" header.`,getValue:()=>t.misc?.fixRewindSummaryHeader??!0,toggle:()=>{n(e=>{c(),e.misc.fixRewindSummaryHeader=!(e.misc.fixRewindSummaryHeader??!0)})}},{id:`enableLeanMemoryTypes`,title:`Enable lean memory types`,description:`Force the tengu_ochre_finch statsig gate: memory prompts carry a compact "Types of memory" list and the full taxonomy moves to the on-demand memory-types skill.`,getValue:()=>t.misc?.enableLeanMemoryTypes??!1,toggle:()=>{n(e=>{c(),e.misc.enableLeanMemoryTypes=!e.misc.enableLeanMemoryTypes})}},{id:`enableRememberSkill`,title:`Enable remember skill`,description:`Register a "remember" skill to review session memories and update CLAUDE.local.md with learnings from past sessions.`,getValue:()=>t.misc?.enableRememberSkill??!1,toggle:()=>{n(e=>{c(),e.misc.enableRememberSkill=!e.misc.enableRememberSkill})}},{id:`tokenCountRounding`,title:`Token count rounding`,description:`Round displayed token counts to nearest multiple. Use ←/→ to cycle: Off, 1, 5, 10, 25, 50, 100, 200, 250, 500, 1000.`,getValue:()=>t.misc?.tokenCountRounding??null,getDisplayValue:()=>h(t.misc?.tokenCountRounding??null),toggle:()=>{n(e=>{c(),e.misc.tokenCountRounding=null})},increment:()=>{n(e=>{c(),e.misc.tokenCountRounding=g(e.misc.tokenCountRounding??null,`next`)})},decrement:()=>{n(e=>{c(),e.misc.tokenCountRounding=g(e.misc.tokenCountRounding??null,`prev`)})}},{id:`autoAcceptPlanMode`,title:`Auto-accept plan mode`,description:`Automatically accept plans without the "Ready to code?" confirmation prompt.`,getValue:()=>t.misc?.autoAcceptPlanMode??!1,toggle:()=>{n(e=>{c(),e.misc.autoAcceptPlanMode=!e.misc.autoAcceptPlanMode})}},{id:`allowBypassPermissionsInSudo`,title:`Allow bypassing permissions in sudo`,description:`⚠️ WARNING: Disables a security check. When enabled, Claude can perform system-level operations without prompts. Use extreme caution.`,getValue:()=>t.misc?.allowBypassPermissionsInSudo??!1,toggle:()=>{t.misc?.allowBypassPermissionsInSudo??!1?n(e=>{c(),e.misc.allowBypassPermissionsInSudo=!1}):o(!0)}},{id:`suppressNativeInstallerWarning`,title:`Suppress native installer warning`,description:`Suppress the native installer warning message at startup.`,getValue:()=>t.misc?.suppressNativeInstallerWarning??!1,toggle:()=>{n(e=>{c(),e.misc.suppressNativeInstallerWarning=!e.misc.suppressNativeInstallerWarning})}},{id:`filterScrollEscapeSequences`,title:`Filter scroll escape sequences`,description:`Filter out terminal escape sequences that cause unwanted scrolling.`,getValue:()=>t.misc?.filterScrollEscapeSequences??!1,toggle:()=>{n(e=>{c(),e.misc.filterScrollEscapeSequences=!e.misc.filterScrollEscapeSequences})}},{id:`allowCustomAgentModels`,title:`Allow custom agent models`,description:`Allow arbitrary model names in custom agent frontmatter (e.g. gemini-2.5-flash). Useful with a local proxy for non-Claude models.`,getValue:()=>t.misc?.allowCustomAgentModels??!1,toggle:()=>{n(e=>{c(),e.misc.allowCustomAgentModels=!e.misc.allowCustomAgentModels})}},{id:`maxEffortDefault`,title:`Default Opus 4.7 to max effort`,description:`Patches CC so Opus 4.7 sessions default to "max" reasoning effort instead of "xhigh". /effort and CLAUDE_CODE_EFFORT_LEVEL still override at runtime.`,getValue:()=>t.misc?.maxEffortDefault??!1,toggle:()=>{n(e=>{c(),e.misc.maxEffortDefault=!e.misc.maxEffortDefault})}},{id:`autonomousOperationAllModels`,title:`Fable/Mythos prompt set (all models)`,description:`Treats your selected model as Fable/Mythos everywhere CC branches on model family (flips the zQ gate). You get: the autonomous-operation prompt ("proceed without asking for reversible in-scope work, finish the job before ending your turn"); the "# Communicating with the user" comms block in place of "# Text output"; /loop dynamic-pacing turn behavior; and brief-mode comms shaping. Per-model feature-flag routing follows fable too, but is inert on a local install (those flags default off without a live gate service).`,getValue:()=>t.misc?.autonomousOperationAllModels??!1,toggle:()=>{n(e=>{c(),e.misc.autonomousOperationAllModels=!e.misc.autonomousOperationAllModels})}},{id:`outputStyleTurnReminder`,title:`Per-turn reminder for custom output styles`,description:`Claude Code reminds the model which output style is active once per turn, but only for its three built-in styles. The renderer looks the style up in the built-in table and returns nothing when it is missing, and custom styles are merged into a copy of that table rather than into the table itself. So a style you wrote yourself is injected into the system prompt once and never restated, while Proactive or Explanatory are restated every turn. This makes the reminder fire for custom styles too, using the name you configured. A style that defines its own turnReminder gets that text; otherwise it gets one short sentence pointing back at the style.`,getValue:()=>t.misc?.outputStyleTurnReminder??!1,toggle:()=>{n(e=>{c(),e.misc.outputStyleTurnReminder=!e.misc.outputStyleTurnReminder})}},{id:`autoModeClassifierModel`,title:`Auto-mode classifier model`,description:`Pin auto-mode bash safety classifier to a fixed model. Default routes to your main-loop model (e.g. Opus 4.7), which gets denied as "temporarily unavailable" when that model is congested. Sonnet/Haiku have more headroom and the binary XML classifier task fits either.`,getValue:()=>t.misc?.autoModeClassifierModel??`default`,getDisplayValue:()=>u(t.misc?.autoModeClassifierModel??`default`),toggle:()=>{n(e=>{c(),e.misc.autoModeClassifierModel=l(e.misc.autoModeClassifierModel??`default`)})}}],[t,n]),v=_.length,y=v-1,b=Me(()=>r<4?0:Math.min(r-4+1,v-4),[r,v]),x=_.slice(b,b+4),S=b>0,C=b+4<v;return B((t,s)=>{a?s.return?(n(e=>{c(),e.misc.allowBypassPermissionsInSudo=!0}),o(!1)):s.escape&&o(!1):s.return||s.escape?e():s.upArrow?i(e=>Math.max(0,e-1)):s.downArrow?i(e=>Math.min(y,e+1)):t===` `?_[r]?.toggle():s.rightArrow?_[r]?.increment?.():s.leftArrow&&_[r]?.decrement?.()}),J(R,{flexDirection:`column`,children:a?J(R,{flexDirection:`column`,paddingX:2,children:Y(R,{borderStyle:`double`,borderColor:`yellow`,padding:2,flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(z,{bold:!0,color:`yellow`,children:`SECURITY WARNING`})}),J(R,{marginBottom:1,children:J(z,{children:`You are about to enable a feature that allows Claude Code to bypass permission checks when running with sudo privileges.`})}),J(R,{marginBottom:1,children:J(z,{color:`red`,children:`This means Claude can perform system-level operations without any prompts or confirmation.`})}),J(R,{marginBottom:1,children:J(z,{bold:!0,children:`Use with extreme caution.`})}),J(R,{children:Y(z,{children:[`Press `,J(z,{color:`red`,children:`Enter`}),` to enable,`,` `,J(z,{color:`green`,children:`Escape`}),` to cancel`]})})]})}):Y(q,{children:[J(R,{marginBottom:1,children:J(X,{children:`Miscellaneous Settings`})}),J(R,{marginBottom:1,children:J(z,{dimColor:!0,children:`Use ↑/↓ to navigate, space to toggle, ←/→ to adjust numbers, enter to go back.`})}),S&&J(R,{children:Y(z,{dimColor:!0,children:[` ↑ `,b,` more above`]})}),x.map((e,t)=>{let n=b+t===r,i=e.getValue(),a=!!e.getDisplayValue,o=!!e.increment,s;s=o?`◆`:a?`◉`:i?`☑`:`☐`;let c;c=a?e.getDisplayValue():typeof i==`boolean`?i?`Enabled`:`Disabled`:String(i??`Default`);let l=n&&o?` ← → `:``;return Y(R,{flexDirection:`column`,children:[J(R,{children:Y(z,{children:[J(z,{color:n?`cyan`:void 0,children:n?`❯ `:` `}),J(z,{bold:!0,color:n?`cyan`:void 0,children:e.title})]})}),J(R,{children:Y(z,{dimColor:!0,children:[` `,e.description]})}),J(R,{marginLeft:4,marginBottom:1,children:Y(z,{children:[s,` `,c,J(z,{dimColor:!0,children:l})]})})]},e.id)}),C&&J(R,{children:Y(z,{dimColor:!0,children:[` `,`↓ `,v-b-4,` more below`]})}),J(R,{marginTop:1,children:Y(z,{dimColor:!0,children:[`Item `,r+1,` of `,v]})})]})})}const It=`AgentOutputTool.AskUserQuestion.Bash.BashOutputTool.Edit.EnterPlanMode.ExitPlanMode.Glob.Grep.KillShell.ListMcpResourcesTool.LSP.NotebookEdit.Read.ReadMcpResourceTool.Skill.Task.TaskCreate.TaskGet.TaskList.TaskOutput.TaskStop.TaskUpdate.Teammate.TodoWrite.ToolSearch.WebFetch.WebSearch.Write`.split(`.`);function Lt({toolsetIndex:e,onBack:t}){let{settings:n,updateSettings:r}=H($),i=n.toolsets[e],[a,o]=W(i?.name||`New Toolset`),[s,c]=W(i?.allowedTools||[]),[l,u]=W(!1),[d,f]=W(0);U(()=>{i&&r(t=>{let n=t.toolsets[e].name;t.toolsets[e].name=a,t.toolsets[e].allowedTools=s,n!==a&&(t.defaultToolset===n&&(t.defaultToolset=a),t.planModeToolset===n&&(t.planModeToolset=a))})},[a,s]);let p=e=>s===`*`?!0:s.includes(e),m=e=>{e===`All`?c(`*`):e===`None`?c([]):s===`*`?c(It.filter(t=>t!==e)):s.includes(e)?c(s.filter(t=>t!==e)):c([...s,e])};if(B((e,n)=>{if(l){n.return?(a.trim()||o(i?.name||`New Toolset`),u(!1)):n.escape?(o(i?.name||`New Toolset`),u(!1)):n.backspace||n.delete?o(e=>e.slice(0,-1)):e&&e.length===1&&o(t=>t+e);return}if(n.escape)t();else if(n.upArrow)f(e=>Math.max(0,e-1));else if(n.downArrow)f(e=>Math.min(It.length+1,e+1));else if(e===` `||n.return)if(d===0)m(`All`);else if(d===1)m(`None`);else{let e=It[d-2];e&&m(e)}else e===`n`&&u(!0)}),!i)return J(R,{flexDirection:`column`,children:J(z,{color:`red`,children:`Toolset not found`})});let h=s===`*`,g=Array.isArray(s)&&s.length===0;return Y(R,{flexDirection:`column`,children:[J(X,{children:`Edit Toolset`}),J(R,{marginBottom:1,flexDirection:`column`,children:J(z,{dimColor:!0,children:`n to edit name · space/enter to toggle · esc to go back`})}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{bold:!0,children:`Name:`}),J(R,{marginLeft:2,children:J(R,{borderStyle:`round`,borderColor:l?`yellow`:`gray`,children:J(z,{children:a})})}),l&&J(R,{marginLeft:2,children:J(z,{dimColor:!0,children:`enter to save · esc to cancel`})})]}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{bold:!0,children:`Allowed Tools:`}),J(R,{marginLeft:2,children:Y(z,{color:d===0?`cyan`:void 0,children:[d===0?`❯ `:` `,h?`●`:`○`,` All`]})}),J(R,{marginLeft:2,children:Y(z,{color:d===1?`cyan`:void 0,children:[d===1?`❯ `:` `,g?`●`:`○`,` None`]})}),It.map((e,t)=>{let n=t+2;return J(R,{marginLeft:2,children:Y(z,{color:d===n?`cyan`:void 0,children:[d===n?`❯ `:` `,p(e)?`◉`:`○`,` `,e]})},e)})]}),J(R,{borderStyle:`round`,padding:1,marginTop:1,children:Y(R,{flexDirection:`column`,children:[J(z,{bold:!0,children:`Summary:`}),Y(z,{children:[`Name: `,J(z,{color:`cyan`,children:a})]}),Y(z,{children:[`Tools:`,` `,s===`*`?J(z,{color:`green`,children:`All tools (*)`}):s.length===0?J(z,{color:`red`,children:`No tools ([])`}):Y(z,{color:`yellow`,children:[s.length,` selected`]})]})]})})]})}function Rt({onBack:e}){let{settings:{toolsets:t,defaultToolset:n,planModeToolset:r,themes:i},updateSettings:a}=H($),o=me(),s=i.find(e=>e.id===o)||i[0],c=M.themes[0],l=s?.colors.planMode||c.colors.planMode,u=s?.colors.autoAccept||c.colors.autoAccept,[d,f]=W(0),[p,m]=W(null),[h,g]=W(!0),_=()=>{let e={name:`New Toolset`,allowedTools:[]};a(t=>{t.toolsets.push(e)}),m(t.length),g(!1)},v=e=>{let n=t[e];a(t=>{t.toolsets.splice(e,1),t.defaultToolset===n.name&&(t.defaultToolset=null),t.planModeToolset===n.name&&(t.planModeToolset=null)}),d>=t.length-1&&f(Math.max(0,t.length-2))},y=e=>{let n=t[e];a(e=>{e.defaultToolset=n.name})},b=e=>{let n=t[e];a(e=>{e.planModeToolset=n.name})};if(B((n,r)=>{r.escape?e():r.upArrow?f(e=>Math.max(0,e-1)):r.downArrow?f(e=>Math.min(t.length-1,e+1)):r.return&&t.length>0?(m(d),g(!1)):n===`n`?_():n===`x`&&t.length>0?v(d):n===`d`&&t.length>0?y(d):n===`p`&&t.length>0&&b(d)},{isActive:h}),p!==null)return J(Lt,{toolsetIndex:p,onBack:()=>{m(null),g(!0)}});let x=e=>e.allowedTools===`*`?`All tools`:e.allowedTools.length===0?`No tools`:`${e.allowedTools.length} tool${e.allowedTools.length===1?``:`s`}`;return Y(R,{flexDirection:`column`,children:[J(X,{children:`Toolsets`}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`n to create a new toolset`}),t.length>0&&J(z,{dimColor:!0,children:`d to set as default toolset`}),t.length>0&&J(z,{dimColor:!0,children:`p to set as plan mode toolset`}),t.length>0&&J(z,{dimColor:!0,children:`x to delete a toolset`}),t.length>0&&J(z,{dimColor:!0,children:`enter to edit toolset`}),J(z,{dimColor:!0,children:`esc to go back`})]}),t.length===0?J(z,{children:`No toolsets created yet. Press n to create one.`}):J(R,{flexDirection:`column`,children:t.map((e,t)=>{let i=e.name===n,a=e.name===r,o=d===t,s;return o&&(s=`yellow`),Y(R,{flexDirection:`row`,children:[Y(z,{color:s,children:[o?`❯ `:` `,e.name,` `]}),Y(z,{color:s,children:[`(`,x(e),`)`]}),i&&J(z,{color:u,children:` ⏵⏵ accept edits`}),a&&J(z,{color:l,children:` ⏸ plan mode`})]},t)})})]})}function zt({onBack:e}){let{settings:t,updateSettings:n}=H($),[r,i]=W(`plan`),[a,o]=W(!1),[s,c]=W(0),l=t.subagentModels||{plan:null,explore:null,generalPurpose:null},u=[{id:`plan`,title:`Plan Agent`,description:`The agent responsible for creating implementation plans.`},{id:`explore`,title:`Explore Agent`,description:`The agent specialized for exploring codebases.`},{id:`generalPurpose`,title:`General-purpose Agent`,description:`The agent used for general multi-step tasks.`}],d=[{label:`Default (Inherited)`,value:null},{label:`sonnet`,value:`sonnet`},{label:`haiku`,value:`haiku`},{label:`opus`,value:`opus`},{label:`sonnet[1m]`,value:`sonnet[1m]`}];return B((t,f)=>{if(a){if(f.escape)o(!1);else if(f.upArrow)c(e=>e>0?e-1:d.length-1);else if(f.downArrow)c(e=>e<d.length-1?e+1:0);else if(f.return){let e=d[s].value;n(t=>{t.subagentModels||={plan:null,explore:null,generalPurpose:null},t.subagentModels[r]=e}),o(!1)}}else if(f.escape)e();else if(f.upArrow){let e=u.findIndex(e=>e.id===r);i(u[e>0?e-1:u.length-1].id)}else if(f.downArrow){let e=u.findIndex(e=>e.id===r);i(u[e<u.length-1?e+1:0].id)}else if(t===` `||f.return){let e=l[r],t=d.findIndex(t=>t.value===e);c(t>=0?t:0),o(!0)}}),a?Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:Y(X,{children:[`Select Model for`,` `,u.find(e=>e.id===r)?.title]})}),d.map((e,t)=>{let n=t===s;return J(R,{children:Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,e.label,e.value?Y(z,{dimColor:!0,children:[` (`,e.value,`)`]}):null]})},t)})]}):Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(X,{children:`Subagent Model Settings`})}),J(R,{marginBottom:1,children:J(z,{dimColor:!0,children:`Configure which Claude model each subagent uses. Use arrow keys to navigate, enter or space to change a model, and escape to go back.`})}),u.map(e=>{let t=e.id===r,n=l[e.id],i=d.find(e=>e.value===n)?.label||n||`Default`;return Y(R,{flexDirection:`column`,marginBottom:1,children:[J(R,{children:Y(z,{color:t?`cyan`:void 0,children:[t?`❯ `:` `,J(z,{bold:!0,children:e.title})]})}),J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:e.description})}),J(R,{marginLeft:4,children:Y(z,{children:[`Current: `,J(z,{color:`green`,children:i})]})})]},e.id)})]})}const Bt=[{value:`low`,blurb:`Fastest, cheapest - minimal reasoning`},{value:`medium`,blurb:`Balanced reasoning`},{value:`high`,blurb:`Deep reasoning`},{value:`xhigh`,blurb:`Very deep reasoning`},{value:`max`,blurb:`Maximum reasoning - slowest, priciest`}],Vt={messageCap:{label:`Message cap`,unit:`chars`,lo:500,hi:4e5,hint:`max chars of a user message fed to the classifier`},assistantCap:{label:`Assistant cap`,unit:`chars`,lo:500,hi:4e5,hint:`prev assistant reply beyond this is middle-truncated (head+tail + an omitted-size marker the classifier weighs); no mechanical floor`},timeoutMs:{label:`Haiku timeout`,unit:`ms`,lo:1e3,hi:12e4,hint:`classifier call timeout; on timeout the router fails open`}},Ht=[`enabled`,`pinPerTask`,`messageCap`,`assistantCap`,`timeoutMs`,`systemPrompt`],Ut=e=>e in Vt,Wt=M.complexityRouter;function Gt({onBack:e}){let{settings:t,updateSettings:n}=H($),r={...Wt,...t.complexityRouter??{},levels:t.complexityRouter?.levels&&t.complexityRouter.levels.length>0?t.complexityRouter.levels:Wt.levels},i=Ht.length+r.levels.length,{setRawMode:a,isRawModeSupported:o}=Ee(),[s,c]=W(0),[l,u]=W(null),[d,f]=W(0),[p,m]=W(null),[h,g]=W(null),[,_]=W(0),v=e=>{n(t=>{let n={...Wt,...t.complexityRouter??{},levels:(t.complexityRouter?.levels&&t.complexityRouter.levels.length>0?t.complexityRouter.levels:Wt.levels).map(e=>({...e}))};e(n),t.complexityRouter=n})};if(B((t,n)=>{if(h){if(n.escape){g(null);return}if(n.return){let{kind:e,levelIndex:t,value:n}=h;v(r=>{let i=r.levels[t];i&&(i[e]=n)}),g(null);return}if(n.backspace||n.delete){g(e=>e&&{...e,value:e.value.slice(0,-1)});return}t&&!n.ctrl&&!n.meta&&g(e=>e&&{...e,value:e.value+t});return}if(p){if(n.escape){m(null);return}if(n.return){let e=Vt[p.row],t=parseInt(p.value,10),n=Number.isFinite(t)?Math.min(e.hi,Math.max(e.lo,t)):Wt[p.row],r=p.row;v(e=>{e[r]=n}),m(null);return}if(n.backspace||n.delete){m(e=>e&&{...e,value:e.value.slice(0,-1)});return}/^[0-9]$/.test(t)&&m(e=>e&&e.value.length<7?{...e,value:e.value+t}:e);return}if(l){if(n.escape){u(null);return}if(n.upArrow){f(e=>e>0?e-1:Bt.length-1);return}if(n.downArrow){f(e=>e<Bt.length-1?e+1:0);return}if(n.return){let e=Bt[d].value,t=l.levelIndex;v(n=>{n.levels[t]&&(n.levels[t].effort=e)}),u(null)}return}if(n.escape){e();return}if(n.upArrow){c(e=>e>0?e-1:i-1);return}if(n.downArrow){c(e=>e<i-1?e+1:0);return}let y=s<Ht.length,b=s-Ht.length;if(t===`x`){if(y){let e=Ht[s];Ut(e)?v(t=>{t[e]=Wt[e]}):e===`systemPrompt`&&v(e=>{e.systemPrompt=Wt.systemPrompt})}else{let e=Wt.levels[b];e&&v(t=>{let n=t.levels[b];n&&(n.effort=e.effort,n.label=e.label,n.help=e.help)})}return}if(!y&&(t===`l`||t===`h`)){let e=t===`l`?`label`:`help`,n=r.levels[b];n&&g({kind:e,levelIndex:b,value:n[e]});return}if(t===` `||n.return)if(y){let e=Ht[s];if(e===`enabled`)v(e=>{e.enabled=!e.enabled});else if(e===`pinPerTask`)v(e=>{e.pinPerTask=!e.pinPerTask});else if(e===`systemPrompt`){o&&a(!1);let e=te(r.systemPrompt);if(o&&a(!0),e!=null){let t=e.replace(/\s+$/,``);t&&t!==r.systemPrompt&&v(e=>{e.systemPrompt=t})}_(e=>e+1)}else m({row:e,value:String(r[e])})}else{let e=Bt.findIndex(e=>e.value===r.levels[b]?.effort);f(e>=0?e:0),u({levelIndex:b})}}),l)return Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:Y(X,{children:[`Select effort for "`,r.levels[l.levelIndex]?.label,`"`]})}),Bt.map((e,t)=>{let n=t===d;return J(R,{children:Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,e.value,Y(z,{dimColor:!0,children:[` - `,e.blurb]})]})},t)})]});let y=(e,t)=>{let n=t===s,i,a,o=``;if(e===`enabled`)i=`Enabled`,a=r.enabled?`on`:`off`;else if(e===`pinPerTask`)i=`Pin per task`,a=r.pinPerTask?`on`:`off`;else if(e===`systemPrompt`){i=`System prompt`;let e=r.systemPrompt===Wt.systemPrompt;a=`${r.systemPrompt.length} chars${e?` (default)`:` (customized)`} - enter to edit in $EDITOR`,o=`opens the classifier system prompt in your $EDITOR; {LEVELS} (the tier rubric) and {MAX} are substituted at apply time · x = reset to default`}else{let t=Vt[e];i=t.label,p?.row===e?(a=`${p.value||`0`}_`,o=`type a number (${t.lo}-${t.hi}), enter to save · esc cancel`):(a=`${r[e]} ${t.unit}`,o=t.hint)}return Y(R,{flexDirection:`column`,children:[Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,i,`: `,J(z,{color:`green`,children:a})]}),n&&o?J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:o})}):null]},e)};return Y(R,{flexDirection:`column`,children:[J(R,{marginBottom:1,children:J(X,{children:`Complexity Effort Router [experimental]`})}),Y(R,{marginBottom:1,flexDirection:`column`,children:[J(z,{dimColor:!0,children:`Classifies each task by difficulty and sets the reasoning-effort (thinking) level to match - low for routine work, the top tier only for genuinely frontier problems. Runs on your current model (no model switch). Off by default.`}),J(z,{dimColor:!0,children:`Heads up - it burns more tokens: effort level is part of the prompt cache key, so every turn the router changes the level the whole conversation is re-read uncached (a big one-time hit that turn, then cheaper again while the level holds). Each level keeps its own cache, so returning to a prior level reuses most of its earlier work. pin per task on (the default, monotonic) minimizes the churn; pin off flips both ways and pays it more often. Measured, not theoretical.`}),J(z,{dimColor:!0,children:`A one-shot Haiku side-call routes each prompt, fed a rolling TL;DR summary of the session plus the model in use and the level it set last turn (so it judges in context, not cold). Kept in ~/.tweakcc/router- state, restored on resume; reset and reseeded from the main model's summary when the conversation compacts. On a Haiku error it keeps the last level, else defaults high.`}),J(z,{dimColor:!0,children:`Rewind-aware: it snapshots the routed state each turn, so /rewind (Restore conversation) cuts the summary back to the point you rewound to - effort and memory follow the conversation instead of carrying rewound-away work. (Summarize-from-here rewinds reseed via compaction.)`}),J(z,{dimColor:!0,children:`Fully customizable: edit the classifier System prompt in your $EDITOR, and each tier's label/help inline - all with sane defaults.`}),J(z,{dimColor:!0,children:`pin per task is a monotonic floor - effort never drops below the session max (only escalates); turn it off to track each prompt up and down. Reset on /clear.`}),J(z,{dimColor:!0,children:`While on, the router drives effort, overriding your saved effortLevel. An in-session /effort takes back manual control for that session, and CLAUDE_CODE_EFFORT_LEVEL always wins.`}),J(z,{dimColor:!0,children:`See it: Claude Code's working indicator already shows it live - e.g. "thinking with max effort" reflects the routed level. TWEAKCC_ROUTER_DEBUG=1 also logs each decision.`}),J(z,{dimColor:!0,children:`↑↓ navigate · enter/space toggle, edit, or open $EDITOR · digits set a number · on a tier: l/h edit label/help · x reset · esc back`})]}),Ht.map((e,t)=>y(e,t)),J(R,{marginTop:1,marginBottom:1,children:J(z,{bold:!0,children:`Complexity levels and their effort`})}),r.levels.map((e,t)=>{let n=Ht.length+t===s,r=h?.levelIndex===t&&h.kind===`label`,i=h?.levelIndex===t&&h.kind===`help`;return Y(R,{flexDirection:`column`,marginBottom:1,children:[J(R,{children:Y(z,{color:n?`cyan`:void 0,children:[n?`❯ `:` `,J(z,{bold:!0,children:r?`${h.value}_`:e.label}),` `,J(z,{color:`green`,children:e.effort})]})}),J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:i?`${h.value}_`:e.help})}),n&&!h?J(R,{marginLeft:4,children:J(z,{dimColor:!0,children:`enter = set effort · l = edit label · h = edit help · x = reset this tier`})}):null,n&&h?J(R,{marginLeft:4,children:Y(z,{dimColor:!0,children:[`editing `,h.kind,` - type to change · enter save · esc cancel`]})}):null]},e.id)})]})}const Kt=[`fable`,`opus`,`sonnet`,`haiku`],qt=e=>e.charAt(0).toUpperCase()+e.slice(1),Jt=[{kind:`enabled`},{kind:`model`,side:`plan`},{kind:`model`,side:`exec`},{kind:`clearContext`}],Yt=({onBack:e})=>{let{settings:t,updateSettings:n}=H($),r={...M.fablePlan,...t.fablePlan??{}},[i,a]=W(0),o=e=>{n(t=>({...t,fablePlan:{...M.fablePlan,...t.fablePlan??{},...e}}))},s=e=>{let t=Jt[i];if(t.kind===`enabled`){o({enabled:!r.enabled});return}if(t.kind===`clearContext`){o({offerClearContextOnPlanAccept:!r.offerClearContextOnPlanAccept});return}let n=t.side===`plan`?`planModel`:`execModel`,a=t.side===`plan`?r.execModel:r.planModel,s=Kt.indexOf(r[n]);for(let t=1;t<=Kt.length;t++){let r=Kt[(s+e*t+Kt.length*t)%Kt.length];if(r!==a){o({[n]:r});return}}};B((t,n)=>{if(n.escape||t===`q`){e();return}n.upArrow?a(e=>(e-1+Jt.length)%Jt.length):n.downArrow?a(e=>(e+1)%Jt.length):n.leftArrow?s(-1):n.rightArrow||n.return||t===` `?s(1):t===`x`&&o({...M.fablePlan})});let c=(e,t,n)=>Y(R,{children:[Y(z,{color:e===i?`cyan`:void 0,children:[e===i?`❯ `:` `,t.padEnd(26)]}),J(z,{color:e===i?`cyan`:`green`,bold:e===i,children:n})]},t),l=`${r.planModel}plan`;return Y(R,{flexDirection:`column`,paddingX:1,children:[J(z,{bold:!0,children:`Fable Plan mode`}),Y(R,{marginTop:1,flexDirection:`column`,children:[Y(z,{dimColor:!0,children:[`Adds a `,J(z,{color:`green`,children:l}),` entry to Claude Code's`,` `,J(z,{color:`green`,children:`/model`}),` list: `,qt(r.planModel),` `,`while planning, `,qt(r.execModel),` while executing, each at the effort you set for that model in `,J(z,{color:`green`,children:`/model`}),`.`]}),Y(z,{dimColor:!0,children:[`It is a model you select, the same mechanism Claude Code ships for opusplan. Nothing changes for any other model, and your selection stays `,J(z,{color:`green`,children:l}),` throughout — the pairing is resolved per request, so no model is ever switched underneath you mid-session.`]})]}),J(R,{marginTop:1,flexDirection:`column`,children:Jt.map((e,t)=>e.kind===`enabled`?c(t,`Enabled`,r.enabled?`yes`:`no`):e.kind===`clearContext`?c(t,`Offer "clear context"`,r.offerClearContextOnPlanAccept?`yes`:`no`):c(t,`${e.side===`plan`?`Planning`:`Executing`} model`,qt(e.side===`plan`?r.planModel:r.execModel)))}),Y(R,{marginTop:1,flexDirection:`column`,children:[Y(z,{dimColor:!0,children:[`Claude Code defaults its "clear context" option off. On, the plan-approval dialog offers "Yes, clear context (N% used)", which hands only the plan to `,qt(r.execModel),`. Continuing instead re-sends the whole planning transcript to a different model, so the cache is cold either way and you pay for the transcript twice.`]}),Y(z,{dimColor:!0,children:[`Reasoning effort is Claude Code's own per-model setting: pick`,` `,qt(r.planModel),` in `,J(z,{color:`green`,children:`/model`}),`, set its effort, then do the same for `,qt(r.execModel),`. An explicit `,J(z,{color:`green`,children:`/effort`}),` applies to both sides for the rest of the session.`]})]}),J(R,{marginTop:1,children:J(z,{dimColor:!0,children:`↑↓ move · ←→ change · x reset to defaults · esc back`})})]})},Xt=K.join(ae,`claude-browser-bridge`),Zt=K.join(Xt,`host`,`setup.mjs`),Qt=K.join(Xt,`extension`),$t=K.join(Pe.homedir(),`.claude-browser-bridge`,`install-state.json`),en=`/tmp/claude-browser-bridge-${Pe.userInfo().username}.sock`;function tn(e){try{return!G.statSync(K.join(e,`Local State`)).isFile()||!G.statSync(K.join(e,`NativeMessagingHosts`)).isDirectory()?!1:G.existsSync(K.join(e,`Default`))?!0:G.readdirSync(e).some(e=>/^Profile \d+$/.test(e))}catch{return!1}}function nn(e){let t=K.basename(e);return t===`User Data`&&(t=K.basename(K.dirname(e))),t.includes(`.`)&&(t=t.split(`.`).pop()||t),t=t.replace(/[-_]/g,` `),t.charAt(0).toUpperCase()+t.slice(1)}function rn(e){return new Promise(t=>{Le(process.execPath,e,{maxBuffer:8*1024*1024},(e,n,r)=>{t({code:e?typeof e.code==`number`?e.code:1:0,out:String(n)+String(r)})})})}function an(e){return new Promise(t=>{Le(`git`,e,{maxBuffer:8*1024*1024},(e,n,r)=>{t({code:e?1:0,out:String(n)+String(r)})})})}async function on(){if(G.existsSync(K.join(Xt,`.git`))&&G.existsSync(Zt)){let e=await an([`-C`,Xt,`pull`,`--ff-only`]);return G.existsSync(Zt)?{code:0,out:e.out}:e}return G.existsSync(Xt)&&G.rmSync(Xt,{recursive:!0,force:!0}),an([`clone`,`--depth`,`1`,`https://github.com/skrabe/claude-browser-bridge`,Xt])}function sn(){let e=process.platform===`darwin`?K.join(Pe.homedir(),`Library`,`Application Support`):K.join(Pe.homedir(),`.config`),t=e=>{try{return G.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(`.`)).map(t=>K.join(e,t.name))}catch{return[]}},n=[];for(let r of t(e))for(let e of[r,...t(r)])tn(e)&&n.push(nn(e));return n.sort()}function cn(){try{return JSON.parse(G.readFileSync($t,`utf8`))}catch{return null}}const ln=({onBack:e})=>{let[t,n]=W(`menu`),[r,i]=W(0),[a,o]=W(cn()),[s,c]=W(`global`),[l,u]=W(`Working…`),[d,f]=W([]),[p,m]=W(null),[h,g]=W(``),_=je(()=>{o(cn())},[]);U(()=>{_()},[_]);let v=G.existsSync(en),y=!!a,b=()=>{c(`global`),i(0),n(`scope`)},x=je(async e=>{n(`busy`),u(`Fetching the bridge…`),f([]);let t=await on();if(t.code!==0||!G.existsSync(Zt)){g(`Failed to fetch the bridge repo:
3
3
  `+t.out.slice(-600)),n(`error`);return}u(`Installing (registers with every Chromium browser, MCP, skill, disables Claude in Chrome)…`);let r=[Zt,`install`,`--scope`,e];e===`project`&&r.push(`--project`,process.cwd());let a=await rn(r);if(f(a.out.split(`
4
4
  `).filter(e=>e.includes(`[bridge]`)).map(e=>e.replace(`[bridge]`,``).trim())),a.code!==0){g(`Install failed:
5
5
  `+a.out.slice(-600)),n(`error`);return}_(),i(0),n(`extmodal`)},[_]),S=je(async()=>{n(`busy`),u(`Connecting to the extension…`),m(null),(await rn([Zt,`verify`])).code===0?(i(0),n(`done`)):(m(`Not detected. Make sure the extension is loaded AND enabled, then retry.`),i(0),n(`extmodal`))},[]),C=je(async()=>{n(`busy`),u(`Uninstalling…`);let e=await rn([Zt,`uninstall`]);if(f(e.out.split(`
@@ -1 +1 @@
1
- import{$ as e,B as t,H as n,R as r,U as i,V as a,W as o,a as s,c,et as l,h as u,j as d,l as f,r as p,z as m}from"../config-D0oIvLmc.mjs";import{a as h,i as g,n as _,r as v,t as y}from"../content-CwtgAAaV.mjs";import*as b from"node:fs/promises";import*as x from"node:path";async function S(e,t){let n=x.dirname(t);await b.mkdir(n,{recursive:!0}),await b.copyFile(e,t)}async function C(e,t){if(!await u(e))throw Error(`Backup file does not exist: ${e}`);await d(t,e,`restore`)}function w(){return c()}function T(){return p}function E(){return s}async function D(){return await f()}const O={findChalkVar:t,getModuleLoaderFunction:n,getReactVar:i,getRequireFuncName:o,findTextComponent:a,findBoxComponent:m,clearCaches:r,globalReplace:e,showDiff:l};export{S as backupFile,v as findAllInstallations,w as getTweakccConfigDir,T as getTweakccConfigPath,E as getTweakccSystemPromptsDir,O as helpers,y as readContent,D as readTweakccConfig,C as restoreBackup,g as showInteractiveInstallationPicker,h as tryDetectInstallation,_ as writeContent};
1
+ import{$ as e,B as t,H as n,R as r,U as i,V as a,W as o,a as s,c,et as l,h as u,j as d,l as f,r as p,z as m}from"../config-DhAHzVuC.mjs";import{a as h,i as g,n as _,r as v,t as y}from"../content-BsWaXria.mjs";import*as b from"node:fs/promises";import*as x from"node:path";async function S(e,t){let n=x.dirname(t);await b.mkdir(n,{recursive:!0}),await b.copyFile(e,t)}async function C(e,t){if(!await u(e))throw Error(`Backup file does not exist: ${e}`);await d(t,e,`restore`)}function w(){return c()}function T(){return p}function E(){return s}async function D(){return await f()}const O={findChalkVar:t,getModuleLoaderFunction:n,getReactVar:i,getRequireFuncName:o,findTextComponent:a,findBoxComponent:m,clearCaches:r,globalReplace:e,showDiff:l};export{S as backupFile,v as findAllInstallations,w as getTweakccConfigDir,T as getTweakccConfigPath,E as getTweakccSystemPromptsDir,O as helpers,y as readContent,D as readTweakccConfig,C as restoreBackup,g as showInteractiveInstallationPicker,h as tryDetectInstallation,_ as writeContent};
@@ -1,4 +1,4 @@
1
- import{p as e,w as t}from"./config-D0oIvLmc.mjs";import n from"node:os";import r from"node:fs";import i from"node:path";import{execFileSync as a,execSync as o}from"node:child_process";import s from"node-lief";function c(t){try{if(r.statSync(t).size>2e5)return null;s.logging.disable();let n=s.parse(t);if(!n.symbols().some(e=>{let t=e.name;return t===`execv`||t===`_execv`}))return e(`resolveNixBinaryWrapper: no execv import found, not a Nix wrapper`),null;e(`resolveNixBinaryWrapper: execv import found, checking for Nix wrapper DOCSTRING`);let i=null;if(n.format===`ELF`){let e=n.sections().find(e=>e.name===`.rodata`);e&&(i=e.content)}else if(n.format===`MachO`){let e=n.getSegment(`__TEXT`);if(e){let t=e.getSection(`__cstring`);t&&(i=t.content)}}if(!i||i.length===0)return e(`resolveNixBinaryWrapper: could not read string section`),null;let a=i.toString(`utf-8`),o=a.match(/makeCWrapper\s+'(\/nix\/store\/[^']+)'/);if(o){let t=o[1];return e(`resolveNixBinaryWrapper: found wrapped executable via DOCSTRING: ${t}`),t}let c=a.match(/makeCWrapper\s+(\/nix\/store\/\S+)/);if(c){let t=c[1];return e(`resolveNixBinaryWrapper: found wrapped executable via unquoted DOCSTRING: ${t}`),t}let l=a.match(/\/nix\/store\/[^\0\n\r]+/g);if(l){for(let t of l)if(t.includes(`/bin/`))return e(`resolveNixBinaryWrapper: found wrapped executable via /bin/ heuristic: ${t}`),t}return e(`resolveNixBinaryWrapper: has execv but no Nix store paths found`),null}catch(t){return e(`resolveNixBinaryWrapper: error during detection:`,t),null}}const l=Buffer.from(`
1
+ import{p as e,w as t}from"./config-DhAHzVuC.mjs";import n from"node:os";import r from"node:fs";import i from"node:path";import{execFileSync as a,execSync as o}from"node:child_process";import s from"node-lief";function c(t){try{if(r.statSync(t).size>2e5)return null;s.logging.disable();let n=s.parse(t);if(!n.symbols().some(e=>{let t=e.name;return t===`execv`||t===`_execv`}))return e(`resolveNixBinaryWrapper: no execv import found, not a Nix wrapper`),null;e(`resolveNixBinaryWrapper: execv import found, checking for Nix wrapper DOCSTRING`);let i=null;if(n.format===`ELF`){let e=n.sections().find(e=>e.name===`.rodata`);e&&(i=e.content)}else if(n.format===`MachO`){let e=n.getSegment(`__TEXT`);if(e){let t=e.getSection(`__cstring`);t&&(i=t.content)}}if(!i||i.length===0)return e(`resolveNixBinaryWrapper: could not read string section`),null;let a=i.toString(`utf-8`),o=a.match(/makeCWrapper\s+'(\/nix\/store\/[^']+)'/);if(o){let t=o[1];return e(`resolveNixBinaryWrapper: found wrapped executable via DOCSTRING: ${t}`),t}let c=a.match(/makeCWrapper\s+(\/nix\/store\/\S+)/);if(c){let t=c[1];return e(`resolveNixBinaryWrapper: found wrapped executable via unquoted DOCSTRING: ${t}`),t}let l=a.match(/\/nix\/store\/[^\0\n\r]+/g);if(l){for(let t of l)if(t.includes(`/bin/`))return e(`resolveNixBinaryWrapper: found wrapped executable via /bin/ heuristic: ${t}`),t}return e(`resolveNixBinaryWrapper: has execv but no Nix store paths found`),null}catch(t){return e(`resolveNixBinaryWrapper: error during detection:`,t),null}}const l=Buffer.from(`
2
2
  ---- Bun! ----
3
3
  `);function u(e,t){return e.subarray(t.offset,t.offset+t.length)}function d(e,t){return{offset:e.readUInt32LE(t),length:e.readUInt32LE(t+4)}}function f(e){let t=e.replaceAll(`\\`,`/`);return t.endsWith(`/claude`)||t===`claude`||t.endsWith(`/claude.exe`)||t===`claude.exe`||t.endsWith(`/src/entrypoints/cli.js`)||t===`src/entrypoints/cli.js`||t===`/$bunfs/root/cli`||t===`B:/~BUN/root/cli`||t===`cli`}const p=/\n\/\*@@TWEAKCC_MODULE:(\d+):([^@]*)@@\*\/\n/g,m=(e,t)=>`\n/*@@TWEAKCC_MODULE:${e}:${t}@@*/\n`,h=new TextDecoder(`utf-8`,{fatal:!0});function g(e){try{return h.decode(e),!0}catch{return!1}}function _(e,t,n){if(t<=0)return!1;let r=e.replaceAll(`\\`,`/`);return!r.endsWith(`.js`)&&!f(r)?!1:n===void 0||g(n)}function v(e){let t=e.toString(`latin1`);if(!t.includes(`/*@@TWEAKCC_MODULE:`))return null;let n=new Map,r=[];p.lastIndex=0;let i;for(;(i=p.exec(t))!==null;)r.push({index:Number(i[1]),start:i.index,end:i.index+i[0].length});if(r.length===0)return null;for(let t=0;t<r.length;t++){let i=r[t].end,a=t+1<r.length?r[t+1].start:e.length;n.set(r[t].index,Buffer.from(e.subarray(i,a)))}return n}function y(t){let n=t%52==0,r=t%36==0;return n&&!r?52:r&&!n?36:n&&r?(e(`detectModuleStructSize: Ambiguous module list length ${t}, assuming new format`),52):(e(`detectModuleStructSize: Module list length ${t} doesn't cleanly divide by either struct size, assuming new format`),52)}function b(e,t,n,r){let i=u(e,t.modulesPtr),a=Math.floor(i.length/n);for(let t=0;t<a;t++){let a=S(i,t*n,n),o=r(a,u(e,a.name).toString(`utf-8`),t);if(o!==void 0)return o}}function x(e){let t=0,n=e.readBigUInt64LE(t);t+=8;let r=d(e,t);t+=8;let i=e.readUInt32LE(t);t+=4;let a=d(e,t);return t+=8,{byteCount:n,modulesPtr:r,entryPointId:i,compileExecArgvPtr:a,flags:e.readUInt32LE(t)}}function S(e,t,n){let r=t,i=d(e,r);r+=8;let a=d(e,r);r+=8;let o=d(e,r);r+=8;let s=d(e,r);r+=8;let c,l;n===52?(c=d(e,r),r+=8,l=d(e,r),r+=8):(c={offset:0,length:0},l={offset:0,length:0});let u=e.readUInt8(r);r+=1;let f=e.readUInt8(r);r+=1;let p=e.readUInt8(r);r+=1;let m=e.readUInt8(r);return{name:i,contents:a,sourcemap:o,bytecode:s,moduleInfo:c,bytecodeOriginPath:l,encoding:u,loader:f,moduleFormat:p,side:m}}function C(t){if(t.length<32+l.length)throw Error(`BUN data is too small to contain trailer and offsets`);let n=t.length-l.length,r=t.subarray(n);if(e(`parseBunDataBlob: Expected trailer: ${l.toString(`hex`)}`),e(`parseBunDataBlob: Got trailer: ${r.toString(`hex`)}`),!r.equals(l))throw Error(`BUN trailer bytes do not match trailer`);let i=t.length-32-l.length,a=x(t.subarray(i,i+32));return{bunOffsets:a,bunData:t,moduleStructSize:y(a.modulesPtr.length)}}function w(t){if(t.length<4)throw Error(`Section data too small`);e(`extractBunDataFromSection: sectionData.length=${t.length}`);let n=t.readUInt32LE(0),r=4+n,i=t.length>=8?Number(t.readBigUInt64LE(0)):0,a=8+i;e(`extractBunDataFromSection: u32 header would give size=${n}, expected total=${r}`),e(`extractBunDataFromSection: u64 header would give size=${i}, expected total=${a}`);let o,s;if(t.length>=8&&a<=t.length&&a>=t.length-4096)o=8,s=i,e(`extractBunDataFromSection: detected u64 header format (Bun >= 1.3.4)`);else if(r<=t.length&&r>=t.length-4096)o=4,s=n,e(`extractBunDataFromSection: detected u32 header format (Bun < 1.3.4)`);else throw Error(`Cannot determine section header format: sectionData.length=${t.length}, u64 would expect ${a}, u32 would expect ${r}`);e(`extractBunDataFromSection: bunDataSize from header=${s}`);let c=t.subarray(o,o+s);e(`extractBunDataFromSection: bunDataContent.length=${c.length}`);let{bunOffsets:l,bunData:u,moduleStructSize:d}=C(c);return{bunOffsets:l,bunData:u,sectionHeaderSize:o,moduleStructSize:d}}function T(t){try{let n=t.getSection(`.bun`);if(!n)return e(`extractBunDataFromELFSection: .bun section not found`),null;let r=n.content;if(r.length<8)return e(`extractBunDataFromELFSection: .bun section too small`),null;e(`extractBunDataFromELFSection: .bun section found, size=${r.length}`);let i=w(r);return e(`extractBunDataFromELFSection: successfully extracted data`),i}catch(t){return e(`extractBunDataFromELFSection: failed to extract:`,t),null}}function E(t){if(!t.hasOverlay)throw Error(`ELF binary has no overlay data`);let n=t.overlay;if(e(`extractBunDataFromELFOverlay: Overlay size=${n.length} bytes`),n.length<l.length+8+32)throw Error(`ELF overlay data is too small`);let r=n.readBigUInt64LE(n.length-8);if(e(`extractBunDataFromELFOverlay: Total byte count from tail=${r}`),r<4096n||r>2n**32n-1n)throw Error(`ELF total byte count is out of range: ${r}`);let i=n.length-8-l.length,a=n.subarray(i,n.length-8);if(e(`extractBunDataFromELFOverlay: Expected trailer: ${l.toString(`hex`)}`),e(`extractBunDataFromELFOverlay: Got trailer: ${a.toString(`hex`)}`),!a.equals(l))throw Error(`BUN trailer bytes do not match trailer`);let o=n.length-8-l.length-32,s=n.subarray(o,n.length-8-l.length),c=x(s);e(`extractBunDataFromELFOverlay: Offsets.byteCount=${c.byteCount}`);let u=typeof c.byteCount==`bigint`?c.byteCount:BigInt(c.byteCount);if(u>=r)throw Error(`ELF total byte count is out of range`);let d=8+l.length+32,f=n.length-d-Number(u),p=n.subarray(f,n.length-d);return e(`extractBunDataFromELFOverlay: Extracted ${p.length} bytes of data`),{bunOffsets:c,bunData:Buffer.concat([p,s,a]),moduleStructSize:y(c.modulesPtr.length)}}function D(e){let t=e.getSegment(`__BUN`);if(!t)throw Error(`__BUN segment not found`);let n=t.getSection(`__bun`);if(!n)throw Error(`__bun section not found`);return w(n.content)}function O(e){let t=e.sections().find(e=>e.name===`.bun`);if(!t)throw Error(`.bun section not found`);return w(t.content)}function k(){switch(process.platform){case`darwin`:return`MachO`;case`linux`:return`ELF`;case`win32`:return`PE`;default:return null}}function A(t){if(process.env.TWEAKCC_ALLOW_CROSS_PLATFORM===`1`){e(`assertPlatformFormat: cross-platform check bypassed for ${t.format}`);return}let n=k();if(n&&t.format!==n)throw Error(`Native binary format ${t.format} does not match ${process.platform} (${n})`)}function j(t,n){switch(e(`locateBundle: Binary format detected as ${t.format}`),A(t),t.format){case`MachO`:{let e=t,r=D(e);if(!r.sectionHeaderSize)throw Error(`sectionHeaderSize is required for Mach-O binaries`);let i=e.getSegment(`__BUN`).getSection(`__bun`);return{...r,offset:Number(i.fileOffset),length:i.content.length,write:(t,i)=>R(e,n,t,i,r.sectionHeaderSize)}}case`PE`:{let e=t,r=O(e);if(!r.sectionHeaderSize)throw Error(`sectionHeaderSize is required for PE binaries`);let i=e.sections().find(e=>e.name===`.bun`);return{...r,offset:Number(i.fileOffset),length:i.content.length,write:(t,i)=>z(e,n,t,i,r.sectionHeaderSize)}}case`ELF`:{let i=t,a=T(i);if(a){if(e(`locateBundle: Using new ELF .bun section format`),!a.sectionHeaderSize)throw Error(`sectionHeaderSize is required for ELF .bun section`);return{...a,offset:Number(i.getSection(`.bun`).fileOffset),length:i.getSection(`.bun`).content.length,write:(e,t)=>H(i,n,e,t,a.sectionHeaderSize)}}e(`locateBundle: Falling back to legacy ELF overlay format`);let o=E(i),s=r.statSync(n);return{...o,offset:s.size-i.overlay.length,length:i.overlay.length,write:(e,t)=>U(i,n,e,t)}}default:{let e=t;throw Error(`Unsupported binary format: ${e.format}`)}}}function M(t){let o=r.mkdtempSync(i.join(n.tmpdir(),`tweakcc-npm-`));try{e(`fetchNpmSource: Downloading @anthropic-ai/claude-code@${t}`),a(`npm`,[`pack`,`@anthropic-ai/claude-code@${t}`,`--pack-destination`,o],{stdio:`pipe`,timeout:3e4,cwd:o});let n=r.readdirSync(o).find(e=>e.endsWith(`.tgz`));if(!n)return e(`fetchNpmSource: No .tgz file found after npm pack`),null;a(`tar`,[`xzf`,i.join(o,n),`package/cli.js`],{stdio:`pipe`,timeout:3e4,cwd:o});let s=i.join(o,`package`,`cli.js`);if(!r.existsSync(s))return e(`fetchNpmSource: cli.js not found in extracted package`),null;let c=r.readFileSync(s);return e(`fetchNpmSource: Got cli.js, ${c.length} bytes`),c}catch(t){return e(`fetchNpmSource: Failed to fetch npm source:`,t),null}finally{try{r.rmSync(o,{recursive:!0,force:!0})}catch{}}}function N(t,n){try{s.logging.disable();let{bunOffsets:r,bunData:i,moduleStructSize:a}=j(s.parse(t),t);e(`extractClaudeJsFromNativeInstallation: Got bunData, size=${i.length} bytes, moduleStructSize=${a}`);let o=0,c=0;b(i,r,a,(e,t)=>{let n=e.contents.length;f(t)?o=n:_(t,n)&&(c+=n)});let l=c>o;if(e(`extractClaudeJsFromNativeInstallation: claudeLen=${o} otherJsLen=${c} codeSplit=${l}`),l){let t=[],n=0;if(b(i,r,a,(e,r,a)=>{if(e.contents.length<=0)return;let o=u(i,e.contents);_(r,e.contents.length,o)&&(t.push(Buffer.from(m(a,r),`utf8`)),t.push(o),n++)}),n===0)return{data:null,clearBytecode:!1,error:`code-split binary but no patchable JS modules were found`};let o=Buffer.from(`#!/usr/bin/env node\n// @bun @bytecode\n// Virtual bundle: ${n} modules, split on the module sentinels below.\nvar __ccVirtualBundleModules = ${n};\n`,`utf8`),s=Buffer.concat([o,...t]);return e(`extractClaudeJsFromNativeInstallation: built virtual bundle from ${n} modules, ${s.length} bytes`),{data:s,clearBytecode:!1}}let d=b(i,r,a,(t,n,r)=>{if(e(`extractClaudeJsFromNativeInstallation: Module ${r}: ${n}`),!f(n))return;let a=u(i,t.contents);return e(`extractClaudeJsFromNativeInstallation: Found claude module, contents length=${a.length}`),a.length>0?a:void 0});if(d){let t=d.subarray(0,64).toString(`utf8`);if(t.startsWith(`// @bun @bytecode`)&&!t.includes(`@bun-cjs`))if(e(`extractClaudeJsFromNativeInstallation: Extracted content is Bun bytecode — falling back to npm source`),n){let t=M(n);if(t)return e(`extractClaudeJsFromNativeInstallation: Using npm source (${t.length} bytes) instead of bytecode`),{data:t,clearBytecode:!0};e(`extractClaudeJsFromNativeInstallation: npm source fetch failed, returning bytecode content as-is`)}else e(`extractClaudeJsFromNativeInstallation: No version provided, cannot fetch npm source`);return{data:d,clearBytecode:!1}}return e(`extractClaudeJsFromNativeInstallation: claude module not found in any module`),{data:null,clearBytecode:!1,error:`claude module not found in any of the binary modules`}}catch(t){return e(`extractClaudeJsFromNativeInstallation: Error during extraction:`,t),{data:null,clearBytecode:!1,error:`extraction threw: ${t instanceof Error?t.message:String(t)}`}}}function P(t,n,r,i){let a=n.modulesPtr.offset,o=t.subarray(0,a),s=Buffer.from(t.subarray(a)),c=[],d=o.length,f=0;b(t,n,r,(e,n,a)=>{let o=i.get(a);if(!o)return;let l=u(t,e.contents);if(o.equals(l))return;let p=d%8==0?0:8-d%8;p>0&&(c.push(Buffer.alloc(p)),d+=p);let m=a*r;s.writeUInt32LE(d,m+8),s.writeUInt32LE(o.length,m+12),s.writeUInt32LE(0,m+28),c.push(o,Buffer.alloc(1)),d+=o.length+1,f++});let p=d%8==0?0:8-d%8;p>0&&c.push(Buffer.alloc(p));let m=d+p,h=m-a;e(`rebuildBunDataAppendOnly: ${f} module(s) changed, appended ${m-o.length} bytes, tail shifted by ${h}`);let g=Buffer.concat([o,...c,s]),_=g.length-32-l.length;return g.writeBigUInt64LE(BigInt(Number(n.byteCount)+h),_),g.writeUInt32LE(m,_+8),g.writeUInt32LE(n.compileExecArgvPtr.offset+h,_+20),g}function F(e,t,n,r,i){let a=[],o=[];b(e,t,r,(t,s)=>{let c=u(e,t.name),l,d;n&&f(s)?(l=n,d=i?Buffer.alloc(0):u(e,t.bytecode)):(l=u(e,t.contents),d=u(e,t.bytecode));let p=u(e,t.sourcemap),m=u(e,t.moduleInfo),h=u(e,t.bytecodeOriginPath);o.push({name:c,contents:l,sourcemap:p,bytecode:d,moduleInfo:m,bytecodeOriginPath:h,encoding:t.encoding,loader:t.loader,moduleFormat:t.moduleFormat,side:t.side}),r===52?a.push(c,l,p,d,m,h):a.push(c,l,p,d)});let s=r===52?6:4,c=0,d=[];for(let e of a)d.push({offset:c,length:e.length}),c+=e.length+1;let p=c,m=o.length*r;c+=m;let h=u(e,t.compileExecArgvPtr),g=c,_=h.length;c+=_+1;let v=c;c+=32;let y=c;c+=l.length;let x=Buffer.allocUnsafe(c);x.fill(0);let S=0;for(let{offset:e,length:t}of d)t>0&&a[S].copy(x,e,0,t),x[e+t]=0,S++;_>0&&(h.copy(x,g,0,_),x[g+_]=0);for(let e=0;e<o.length;e++){let t=o[e],n=e*s,i={name:d[n],contents:d[n+1],sourcemap:d[n+2],bytecode:d[n+3],moduleInfo:r===52?d[n+4]:{offset:0,length:0},bytecodeOriginPath:r===52?d[n+5]:{offset:0,length:0},encoding:t.encoding,loader:t.loader,moduleFormat:t.moduleFormat,side:t.side},a=p+e*r;x.writeUInt32LE(i.name.offset,a),x.writeUInt32LE(i.name.length,a+4),a+=8,x.writeUInt32LE(i.contents.offset,a),x.writeUInt32LE(i.contents.length,a+4),a+=8,x.writeUInt32LE(i.sourcemap.offset,a),x.writeUInt32LE(i.sourcemap.length,a+4),a+=8,x.writeUInt32LE(i.bytecode.offset,a),x.writeUInt32LE(i.bytecode.length,a+4),a+=8,r===52&&(x.writeUInt32LE(i.moduleInfo.offset,a),x.writeUInt32LE(i.moduleInfo.length,a+4),a+=8,x.writeUInt32LE(i.bytecodeOriginPath.offset,a),x.writeUInt32LE(i.bytecodeOriginPath.length,a+4),a+=8),x.writeUInt8(i.encoding,a),x.writeUInt8(i.loader,a+1),x.writeUInt8(i.moduleFormat,a+2),x.writeUInt8(i.side,a+3)}let C={byteCount:v,modulesPtr:{offset:p,length:m},entryPointId:t.entryPointId,compileExecArgvPtr:{offset:g,length:_},flags:t.flags},w=v,T=typeof C.byteCount==`bigint`?C.byteCount:BigInt(C.byteCount);return x.writeBigUInt64LE(T,w),w+=8,x.writeUInt32LE(C.modulesPtr.offset,w),x.writeUInt32LE(C.modulesPtr.length,w+4),w+=8,x.writeUInt32LE(C.entryPointId,w),w+=4,x.writeUInt32LE(C.compileExecArgvPtr.offset,w),x.writeUInt32LE(C.compileExecArgvPtr.length,w+4),w+=8,x.writeUInt32LE(C.flags,w),l.copy(x,y),x}function I(e,t,n,i=!0){let a=t+`.tmp`;if(e.write(a),i){let e=r.statSync(n);r.chmodSync(a,e.mode)}try{r.renameSync(a,t)}catch(e){try{r.existsSync(a)&&r.unlinkSync(a)}catch{}throw e instanceof Error&&`code`in e&&(e.code===`ETXTBSY`||e.code===`EBUSY`||e.code===`EPERM`)?Error(`Cannot update the Claude executable while it is running.
4
4
  Please close all Claude instances and try again.`):e}}function L(e,t=8){let n=Buffer.allocUnsafe(t+e.length);return t===8?n.writeBigUInt64LE(BigInt(e.length),0):n.writeUInt32LE(e.length,0),e.copy(n,t),n}function R(n,r,i,a,c){try{e(`repackMachO: Has code signature: ${n.hasCodeSignature}`),n.hasCodeSignature&&(e(`repackMachO: Removing code signature...`),n.removeSignature());let l=n.getSegment(`__BUN`);if(!l)throw Error(`__BUN segment not found`);let u=l.getSection(`__bun`);if(!u)throw Error(`__bun section not found`);let d=L(i,c);e(`repackMachO: Original section size: ${u.size}`),e(`repackMachO: Original segment fileSize: ${l.fileSize}`),e(`repackMachO: Original segment virtualSize: ${l.virtualSize}`),e(`repackMachO: New data size: ${d.length}`),e(`repackMachO: Using header size: ${c}`);let f=d.length-Number(u.size);if(f>0){let t=n.header.cpuType===s.MachO.Header.CPU_TYPE.ARM64,r=t?16384:4096,i=Math.ceil(f/r)*r;e(`repackMachO: CPU type: ${t?`ARM64`:`x86_64`}`),e(`repackMachO: Page size: ${r} bytes`),e(`repackMachO: Need to expand by ${f} bytes`),e(`repackMachO: Rounding up to page-aligned: ${i} bytes`);let a=n.extendSegment(l,i);if(e(`repackMachO: extendSegment returned: ${a}`),!a)throw Error(`Failed to extend __BUN segment`);e(`repackMachO: Section size after extend: ${u.size}`),e(`repackMachO: Segment fileSize after extend: ${l.fileSize}`),e(`repackMachO: Segment virtualSize after extend: ${l.virtualSize}`)}u.content=d,u.size=BigInt(d.length),e(`repackMachO: Final section size: ${u.size}`),e(`repackMachO: Writing modified binary to ${a}...`),I(n,a,r);try{e(`repackMachO: Re-signing binary with ad-hoc signature...`),o(`codesign -s - -f "${a}"`,{stdio:t()?`inherit`:`ignore`}),e(`repackMachO: Code signing completed successfully`)}catch(e){console.warn(`Warning: Failed to re-sign binary. The binary may not run correctly on macOS:`,e)}e(`repackMachO: Write completed successfully`)}catch(e){throw console.error(`repackMachO failed:`,e),e}}function z(t,n,r,i,a){try{let o=t.sections().find(e=>e.name===`.bun`);if(!o)throw Error(`.bun section not found`);let s=L(r,a);e(`repackPE: Original section size: ${o.size}, virtual size: ${o.virtualSize}`),e(`repackPE: New data size: ${s.length}`),e(`repackPE: Using header size: ${a}`),o.content=s,o.virtualSize=BigInt(s.length),o.size=BigInt(s.length),e(`repackPE: Writing modified binary to ${i}...`),I(t,i,n,!1),e(`repackPE: Write completed successfully`)}catch(e){throw console.error(`repackPE failed:`,e),e}}function B(e,t){return(e+t-1n)/t*t}function V(e){let{rwVirtualAddress:t,rwVirtualSize:n,rwFileOffset:r,rwFileSize:i,topmostLoadEnd:a,nextVirtualAddress:o,newContentSize:s,pageSize:c}=e,l=B(s,c),u=t+n,d=u>=a,f=B(d?u:o,c),p=r+(f-t),m=r+i;return{newVaddr:f,newFileOffset:p,alignedNewSize:l,extensionSize:p+l-m,compact:d}}function H(t,n,r,i,a){try{let o=t.getSection(`.bun`);if(!o)throw Error(`.bun section not found`);let s=t.segments().find(e=>e.type===`LOAD`&&(e.flags&2)!=0);if(!s)throw Error(`No writable ELF PT_LOAD segment found`);let c=L(r,a),l=o.virtualAddress,u=Buffer.alloc(8);u.writeBigUInt64LE(l);let d=null,f=s.content,p=s.virtualAddress,m=p+BigInt(f.length),h=l>p&&l<m?l:m,g=B(p,8n),_=h-8n,v=[];for(let e=g;e<=_;e+=8n){let t=Number(e-p);f.subarray(t,t+8).equals(u)&&v.push(e)}if(d=v.find(e=>e%BigInt(16384)===0n)??v[0]??null,d===null)throw Error(`Could not find original BUN_COMPILED location in binary (searched for 0x${l.toString(16)} in the RW segment before the .bun data)`);v.length>1&&e(`repackELFSection: ${v.length} candidates for BUN_COMPILED (${v.map(e=>`0x`+e.toString(16)).join(`, `)}); using 0x${d.toString(16)}`);let y=t.pageSize(),b=BigInt(c.length),x=t.segments().filter(e=>e.type===`LOAD`).reduce((e,t)=>{let n=BigInt(t.virtualAddress)+BigInt(t.virtualSize);return n>e?n:e},0n),{newVaddr:S,newFileOffset:C,extensionSize:w,compact:T}=V({rwVirtualAddress:BigInt(s.virtualAddress),rwVirtualSize:BigInt(s.virtualSize),rwFileOffset:BigInt(s.fileOffset),rwFileSize:BigInt(s.fileSize),topmostLoadEnd:x,nextVirtualAddress:BigInt(t.nextVirtualAddress()),newContentSize:b,pageSize:BigInt(y)});if(e(`repackELFSection: ${T?`compact`:`fallback`} placement (topmost LOAD ends at 0x${x.toString(16)})`),w<0n)throw Error(`New .bun location overlaps existing writable ELF segment`);if(e(`repackELFSection: moving .bun to offset=0x${C.toString(16)}, vaddr=0x${S.toString(16)}, size=0x${b.toString(16)}`),w>0n&&!t.extend(s,w))throw Error(`Failed to extend writable ELF PT_LOAD segment`);o.fileOffset=C,o.virtualAddress=S,o.content=c,o.size=b;let E=Buffer.alloc(8);E.writeBigUInt64LE(S),t.patchAddress(d,E),e(`repackELFSection: Patched BUN_COMPILED at vaddr 0x${d.toString(16)} -> 0x${S.toString(16)}`),I(t,i,n),e(`repackELFSection: Write completed successfully`)}catch(e){throw console.error(`repackELFSection failed:`,e),e}}function U(t,n,r,i){try{let a=Buffer.allocUnsafe(r.length+8);r.copy(a,0),a.writeBigUInt64LE(BigInt(r.length),r.length),e(`repackELFOverlay: Setting overlay data (${a.length} bytes)`),t.overlay=a,e(`repackELFOverlay: Writing modified binary to ${i}...`),I(t,i,n),e(`repackELFOverlay: Write completed successfully`)}catch(e){throw console.error(`repackELFOverlay failed:`,e),e}}function W(e,t,n,r){s.logging.disable();let i=j(s.parse(e),e),a=v(t);if(a){let e=new Set;b(i.bunData,i.bunOffsets,i.moduleStructSize,(t,n,r)=>{t.contents.length<=0||_(n,t.contents.length,u(i.bunData,t.contents))&&e.add(r)});let t=[...e].filter(e=>!a.has(e)),n=[...a.keys()].filter(t=>!e.has(t));if(t.length>0||n.length>0)throw Error(`repackNativeInstallation: module sentinel mismatch — ${t.length} missing (${t.slice(0,5).join(`, `)}), ${n.length} unexpected (${n.slice(0,5).join(`, `)}). A patch most likely deleted a /*@@TWEAKCC_MODULE:@@*/ boundary.`)}let o=a?P(i.bunData,i.bunOffsets,i.moduleStructSize,a):F(i.bunData,i.bunOffsets,t,i.moduleStructSize,r);i.write(o,n)}export{V as computeBunSectionPlacement,N as extractClaudeJsFromNativeInstallation,f as isClaudeModule,_ as isPatchableJsModule,m as moduleSentinel,v as parseSentinelBundle,W as repackNativeInstallation,c as resolveNixBinaryWrapper};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tweakcc-fixed",
3
- "version": "2.8.19",
3
+ "version": "2.8.21",
4
4
  "type": "module",
5
5
  "description": "Maintained fork of tweakcc — patch an installed Claude Code (npm or native binary) with curated system-prompt overrides, system-reminder overrides, and fork-only patches. Pairs with skrabe/lobotomized-claude-code.",
6
6
  "main": "dist/lib/index.mjs",
@@ -97,8 +97,8 @@
97
97
  "lint": "tsc --noEmit && eslint src tools",
98
98
  "test": "vitest run",
99
99
  "test:dev": "vitest",
100
- "test:matcher": "TWEAKCC_MATCHER_CORPUS=1 vitest run --pool=threads --poolOptions.threads.singleThread --testTimeout=1200000 --hookTimeout=1200000 src/systemPromptPieceMatcherCorpus.test.ts",
101
- "test:pristine": "TWEAKCC_PRISTINE_PATCHES=1 vitest run --testTimeout=1200000 --hookTimeout=1200000 src/patches/allPatchesAgainstPristine.test.ts",
100
+ "test:matcher": "TWEAKCC_MATCHER_CORPUS=1 node tools/runGate.mjs npx vitest run --disableConsoleIntercept --pool=threads --poolOptions.threads.singleThread --testTimeout=1200000 --hookTimeout=1200000 src/systemPromptPieceMatcherCorpus.test.ts",
101
+ "test:pristine": "TWEAKCC_PRISTINE_PATCHES=1 node tools/runGate.mjs npx vitest run --testTimeout=1200000 --hookTimeout=1200000 src/patches/allPatchesAgainstPristine.test.ts",
102
102
  "format": "prettier --write src",
103
103
  "version-bump:report": "node tools/versionBumpReport.js"
104
104
  }