2026-10-24T19:49:49.3791147Z Current runner version: '2.338.1' 2026-10-24T19:49:49.3794461Z Runner name: 'blacksmith-8vcpu-ubuntu-2404-t57ww3cg3dieqwai' 2026-10-24T19:49:49.3797025Z Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404' 2026-10-24T19:49:49.3798350Z Machine name: 'ip-172-31-73-130' 2026-10-24T19:49:49.3800594Z ##[group]GITHUB_TOKEN Permissions 2026-10-24T19:49:49.3803741Z Contents: read 2026-10-24T19:49:49.3804210Z Metadata: read 2026-10-24T19:49:49.3804660Z ##[endgroup] 2026-10-24T19:49:49.3806827Z Secret source: Actions 2026-10-24T19:49:49.3807571Z Cache mode: write 2026-10-24T19:49:49.3808186Z Prepare workflow directory 2026-10-24T19:49:49.3998485Z Prepare all required actions 2026-10-24T19:49:49.4026627Z Getting action download info 2026-10-24T19:49:49.5203924Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-24T19:49:49.5483277Z Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) 2026-10-24T19:49:49.6552333Z Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/ 2026-10-24T19:49:49.6589446Z Complete job name: Build and Typecheck 2026-10-24T19:49:49.6958687Z A job started hook has been configured by the self-hosted runner administrator 2026-10-24T19:49:49.7045450Z ##[group]Run '/setup.sh' 2026-10-24T19:49:49.7057969Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:49:49.7058362Z env: 2026-10-24T19:49:49.7058572Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:49.7058849Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:49.7059216Z BLACKSMITH_CHECK_RUN_ID: 120970629295 2026-10-24T19:49:49.7059505Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-24T19:49:49.7059813Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-24T19:49:49.7060061Z ##[endgroup] 2026-10-24T19:49:49.7277748Z Logging daemon started (blacksmithd for logs) 2026-10-24T19:49:49.7361990Z Results daemon started (blacksmithd for results) 2026-10-24T19:49:49.7482250Z Background adoption and SSH setup started (PID: 3119) 2026-10-24T19:49:49.7484388Z 2026-10-24T19:49:49.7485252Z ---------------------------------------- 2026-10-24T19:49:49.7485819Z View this job: https://app.blacksmith.sh/pingdotgg/runs/40127045827/jobs/120970629295 2026-10-24T19:49:49.7486257Z SSH Access (using your GitHub SSH key): 2026-10-24T19:49:49.7486675Z ssh -p 64000 runner@blacksmith-8vcpu-ubuntu-2404-t57ww3cg3dieqwai.vm.blacksmith.sh 2026-10-24T19:49:49.7486981Z 2026-10-24T19:49:49.7487084Z No GitHub SSH key? Add one at: 2026-10-24T19:49:49.7487566Z https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 2026-10-24T19:49:49.7487960Z 2026-10-24T19:49:49.7488062Z ---------------------------------------- 2026-10-24T19:49:49.7488236Z 2026-10-24T19:49:49.7488376Z VM ID: blacksmith-8vcpu-ubuntu-2404-t57ww3cg3dieqwai 2026-10-24T19:49:49.7488689Z Host: production-152.236.30.136-x8664 2026-10-24T19:49:49.7488955Z Host Agent PID: 3940431 2026-10-24T19:49:49.7489199Z Host Agent Git SHA: 1637818df 2026-10-24T19:49:49.7489454Z Host CPU Manufacturer: AuthenticAMD 2026-10-24T19:49:49.7489729Z Blacksmith Host Generation: gen 2 2026-10-24T19:49:49.7490009Z Petname: production-magical-glowworm-bb185b10 2026-10-24T19:49:49.7490294Z Region: us-east 2026-10-24T19:49:49.7490518Z Rootfs Version: ubuntu24-full-x64-081926 2026-10-24T19:49:49.7495448Z OS Version: Ubuntu 24.04.4 LTS 2026-10-24T19:49:49.7495776Z 2026-10-24T19:49:49.7495883Z Enabling Blacksmith transparent cache 2026-10-24T19:49:49.7686194Z ##[group]Run actions/checkout@v6 2026-10-24T19:49:49.7686482Z with: 2026-10-24T19:49:49.7686797Z sparse-checkout: /* !/.repos/ !/apps/mobile/modules/t3-terminal/Vendor/**/*.a 2026-10-24T19:49:49.7687181Z sparse-checkout-cone-mode: false 2026-10-24T19:49:49.7687452Z repository: pingdotgg/t3code 2026-10-24T19:49:49.7689139Z token: *** 2026-10-24T19:49:49.7689345Z ssh-strict: true 2026-10-24T19:49:49.7689561Z ssh-user: git 2026-10-24T19:49:49.7689925Z persist-credentials: true 2026-10-24T19:49:49.7690163Z clean: true 2026-10-24T19:49:49.7690456Z fetch-depth: 1 2026-10-24T19:49:49.7746628Z fetch-tags: false 2026-10-24T19:49:49.7746879Z show-progress: true 2026-10-24T19:49:49.7747489Z lfs: false 2026-10-24T19:49:49.7747783Z submodules: false 2026-10-24T19:49:49.7748017Z set-safe-directory: true 2026-10-24T19:49:49.7748263Z allow-unsafe-pr-checkout: false 2026-10-24T19:49:49.7748511Z env: 2026-10-24T19:49:49.7748743Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:49.7749052Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:49.7749326Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:49.7749575Z ##[endgroup] 2026-10-24T19:49:49.8885820Z Syncing repository: pingdotgg/t3code 2026-10-24T19:49:49.8886731Z ##[group]Getting Git version info 2026-10-24T19:49:49.8887051Z Working directory is '/home/runner/_work/t3code/t3code' 2026-10-24T19:49:49.8887522Z [command]/usr/local/bin/git version 2026-10-24T19:49:49.8955580Z git version 2.55.0 2026-10-24T19:49:49.8966507Z ##[endgroup] 2026-10-24T19:49:49.8973105Z Temporarily overriding HOME='/home/runner/_work/_temp/3303f1a9-a1db-4f0b-8b90-7ef4d091897a' before making global git config changes 2026-10-24T19:49:49.8973775Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T19:49:49.8976881Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-24T19:49:49.9007591Z Deleting the contents of '/home/runner/_work/t3code/t3code' 2026-10-24T19:49:49.9009492Z ##[group]Determining repository object format 2026-10-24T19:49:49.9010461Z ##[endgroup] 2026-10-24T19:49:49.9010810Z ##[group]Initializing the repository 2026-10-24T19:49:49.9012553Z [command]/usr/local/bin/git init /home/runner/_work/t3code/t3code 2026-10-24T19:49:49.9049645Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-24T19:49:49.9050101Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-24T19:49:49.9050573Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-24T19:49:49.9050920Z hint: call: 2026-10-24T19:49:49.9051125Z hint: 2026-10-24T19:49:49.9051383Z hint: git config --global init.defaultBranch 2026-10-24T19:49:49.9051679Z hint: 2026-10-24T19:49:49.9051954Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-24T19:49:49.9052391Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-24T19:49:49.9052747Z hint: 2026-10-24T19:49:49.9052951Z hint: git branch -m 2026-10-24T19:49:49.9053270Z hint: 2026-10-24T19:49:49.9053567Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-24T19:49:49.9054017Z Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/ 2026-10-24T19:49:49.9054796Z [command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code 2026-10-24T19:49:49.9078370Z ##[endgroup] 2026-10-24T19:49:49.9078842Z ##[group]Disabling automatic garbage collection 2026-10-24T19:49:49.9080456Z [command]/usr/local/bin/git config --local gc.auto 0 2026-10-24T19:49:49.9099607Z ##[endgroup] 2026-10-24T19:49:49.9099953Z ##[group]Setting up auth 2026-10-24T19:49:49.9100210Z Removing SSH command configuration 2026-10-24T19:49:49.9103009Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T19:49:49.9122707Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2026-10-24T19:49:49.9249509Z Removing HTTP extra header 2026-10-24T19:49:49.9252090Z [command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-24T19:49:49.9277599Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2026-10-24T19:49:49.9365484Z Removing includeIf entries pointing to credentials config files 2026-10-24T19:49:49.9368256Z [command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-24T19:49:49.9387289Z [command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-24T19:49:49.9483996Z [command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-99ec59b1-e2d3-4a22-8ff7-233618a0fcbc.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-24T19:49:49.9506230Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-99ec59b1-e2d3-4a22-8ff7-233618a0fcbc.config 2026-10-24T19:49:49.9524806Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-99ec59b1-e2d3-4a22-8ff7-233618a0fcbc.config 2026-10-24T19:49:49.9544440Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-99ec59b1-e2d3-4a22-8ff7-233618a0fcbc.config 2026-10-24T19:49:49.9562458Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-99ec59b1-e2d3-4a22-8ff7-233618a0fcbc.config 2026-10-24T19:49:49.9578835Z ##[endgroup] 2026-10-24T19:49:49.9579199Z ##[group]Fetching the repository 2026-10-24T19:49:49.9582943Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +ea41701979c3cb110addeacd144923abe1ba07b2:refs/remotes/origin/main 2026-10-24T19:49:50.2276644Z From https://github.com/pingdotgg/t3code 2026-10-24T19:49:50.2277514Z * [new ref] ea41701979c3cb110addeacd144923abe1ba07b2 -> origin/main 2026-10-24T19:49:50.2302005Z [command]/usr/local/bin/git branch --list --remote origin/main 2026-10-24T19:49:50.2322182Z origin/main 2026-10-24T19:49:50.2326924Z [command]/usr/local/bin/git rev-parse refs/remotes/origin/main 2026-10-24T19:49:50.2345947Z ea41701979c3cb110addeacd144923abe1ba07b2 2026-10-24T19:49:50.2348063Z ##[endgroup] 2026-10-24T19:49:50.2348773Z ##[group]Determining the checkout info 2026-10-24T19:49:50.2349611Z ##[endgroup] 2026-10-24T19:49:50.2350353Z ##[group]Setting up sparse checkout 2026-10-24T19:49:50.2351103Z [command]/usr/local/bin/git config core.sparseCheckout true 2026-10-24T19:49:50.2374232Z [command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout 2026-10-24T19:49:50.2389893Z .git/info/sparse-checkout 2026-10-24T19:49:50.2393676Z ##[endgroup] 2026-10-24T19:49:50.2394609Z ##[group]Checking out the ref 2026-10-24T19:49:50.2396287Z [command]/usr/local/bin/git checkout --progress --force -B main refs/remotes/origin/main 2026-10-24T19:49:57.0040761Z Updating files: 0% (1/6400) 2026-10-24T19:49:57.0070381Z Updating files: 1% (64/6400) 2026-10-24T19:49:57.0088180Z Updating files: 2% (128/6400) 2026-10-24T19:49:57.0109799Z Updating files: 3% (192/6400) 2026-10-24T19:49:57.0131438Z Updating files: 4% (256/6400) 2026-10-24T19:49:57.0162815Z Updating files: 5% (320/6400) 2026-10-24T19:49:57.0186888Z Updating files: 6% (384/6400) 2026-10-24T19:49:57.0244139Z Updating files: 7% (448/6400) 2026-10-24T19:49:57.0285176Z Updating files: 8% (512/6400) 2026-10-24T19:49:57.0312064Z Updating files: 9% (576/6400) 2026-10-24T19:49:57.0597613Z Updating files: 10% (640/6400) 2026-10-24T19:49:57.0613532Z Updating files: 11% (704/6400) 2026-10-24T19:49:57.0623948Z Updating files: 12% (768/6400) 2026-10-24T19:49:57.0639216Z Updating files: 13% (832/6400) 2026-10-24T19:49:57.0655230Z Updating files: 14% (896/6400) 2026-10-24T19:49:57.0672866Z Updating files: 15% (960/6400) 2026-10-24T19:49:57.0691159Z Updating files: 16% (1024/6400) 2026-10-24T19:49:57.0705566Z Updating files: 17% (1088/6400) 2026-10-24T19:49:57.0723116Z Updating files: 18% (1152/6400) 2026-10-24T19:49:57.0737891Z Updating files: 19% (1216/6400) 2026-10-24T19:49:57.0761563Z Updating files: 20% (1280/6400) 2026-10-24T19:49:57.0777715Z Updating files: 21% (1344/6400) 2026-10-24T19:49:57.0796334Z Updating files: 22% (1408/6400) 2026-10-24T19:49:57.0809355Z Updating files: 23% (1472/6400) 2026-10-24T19:49:57.0823066Z Updating files: 24% (1536/6400) 2026-10-24T19:49:57.0837961Z Updating files: 25% (1600/6400) 2026-10-24T19:49:57.0851474Z Updating files: 26% (1664/6400) 2026-10-24T19:49:57.0864983Z Updating files: 27% (1728/6400) 2026-10-24T19:49:57.0883411Z Updating files: 28% (1792/6400) 2026-10-24T19:49:57.0915417Z Updating files: 29% (1856/6400) 2026-10-24T19:49:57.0935171Z Updating files: 30% (1920/6400) 2026-10-24T19:49:57.0958421Z Updating files: 31% (1984/6400) 2026-10-24T19:49:57.0987684Z Updating files: 32% (2048/6400) 2026-10-24T19:49:57.1015954Z Updating files: 33% (2112/6400) 2026-10-24T19:49:57.1082887Z Updating files: 34% (2176/6400) 2026-10-24T19:49:57.1138904Z Updating files: 35% (2240/6400) 2026-10-24T19:49:57.1174707Z Updating files: 36% (2304/6400) 2026-10-24T19:49:57.1205251Z Updating files: 37% (2368/6400) 2026-10-24T19:49:57.1249891Z Updating files: 38% (2432/6400) 2026-10-24T19:49:57.1276353Z Updating files: 39% (2496/6400) 2026-10-24T19:49:57.1307180Z Updating files: 40% (2560/6400) 2026-10-24T19:49:57.1332094Z Updating files: 41% (2624/6400) 2026-10-24T19:49:57.1346971Z Updating files: 42% (2688/6400) 2026-10-24T19:49:57.1356387Z Updating files: 43% (2752/6400) 2026-10-24T19:49:57.1385232Z Updating files: 44% (2816/6400) 2026-10-24T19:49:57.1411743Z Updating files: 45% (2880/6400) 2026-10-24T19:49:57.1439135Z Updating files: 46% (2944/6400) 2026-10-24T19:49:57.1463621Z Updating files: 47% (3008/6400) 2026-10-24T19:49:57.1489978Z Updating files: 48% (3072/6400) 2026-10-24T19:49:57.1527603Z Updating files: 49% (3136/6400) 2026-10-24T19:49:57.1554352Z Updating files: 50% (3200/6400) 2026-10-24T19:49:57.1569012Z Updating files: 51% (3264/6400) 2026-10-24T19:49:57.1604770Z Updating files: 52% (3328/6400) 2026-10-24T19:49:57.1631723Z Updating files: 53% (3392/6400) 2026-10-24T19:49:57.1650492Z Updating files: 54% (3456/6400) 2026-10-24T19:49:57.1672689Z Updating files: 55% (3520/6400) 2026-10-24T19:49:57.1687246Z Updating files: 56% (3584/6400) 2026-10-24T19:49:57.1706002Z Updating files: 57% (3648/6400) 2026-10-24T19:49:57.1723294Z Updating files: 58% (3712/6400) 2026-10-24T19:49:57.2076969Z Updating files: 59% (3776/6400) 2026-10-24T19:49:57.2090822Z Updating files: 60% (3840/6400) 2026-10-24T19:49:57.2109538Z Updating files: 61% (3904/6400) 2026-10-24T19:49:57.2126822Z Updating files: 62% (3968/6400) 2026-10-24T19:49:57.2148389Z Updating files: 63% (4032/6400) 2026-10-24T19:49:57.2175674Z Updating files: 64% (4096/6400) 2026-10-24T19:49:57.2193606Z Updating files: 65% (4160/6400) 2026-10-24T19:49:57.2209864Z Updating files: 66% (4224/6400) 2026-10-24T19:49:57.2232050Z Updating files: 67% (4288/6400) 2026-10-24T19:49:57.2245977Z Updating files: 68% (4352/6400) 2026-10-24T19:49:57.2262956Z Updating files: 69% (4416/6400) 2026-10-24T19:49:57.2275248Z Updating files: 70% (4480/6400) 2026-10-24T19:49:57.2293160Z Updating files: 71% (4544/6400) 2026-10-24T19:49:57.2305311Z Updating files: 72% (4608/6400) 2026-10-24T19:49:57.2350312Z Updating files: 73% (4672/6400) 2026-10-24T19:49:57.2612808Z Updating files: 74% (4736/6400) 2026-10-24T19:49:57.2738730Z Updating files: 74% (4778/6400) 2026-10-24T19:49:57.2760955Z Updating files: 75% (4800/6400) 2026-10-24T19:49:57.2782217Z Updating files: 76% (4864/6400) 2026-10-24T19:49:57.2805664Z Updating files: 77% (4928/6400) 2026-10-24T19:49:57.2826116Z Updating files: 78% (4992/6400) 2026-10-24T19:49:57.2841531Z Updating files: 79% (5056/6400) 2026-10-24T19:49:57.2862596Z Updating files: 80% (5120/6400) 2026-10-24T19:49:57.2877539Z Updating files: 81% (5184/6400) 2026-10-24T19:49:57.2895795Z Updating files: 82% (5248/6400) 2026-10-24T19:49:57.2916304Z Updating files: 83% (5312/6400) 2026-10-24T19:49:57.2940510Z Updating files: 84% (5376/6400) 2026-10-24T19:49:57.2957126Z Updating files: 85% (5440/6400) 2026-10-24T19:49:57.2981150Z Updating files: 86% (5504/6400) 2026-10-24T19:49:57.3049073Z Updating files: 87% (5568/6400) 2026-10-24T19:49:57.3078188Z Updating files: 88% (5632/6400) 2026-10-24T19:49:57.3096808Z Updating files: 89% (5696/6400) 2026-10-24T19:49:57.3123887Z Updating files: 90% (5760/6400) 2026-10-24T19:49:57.3150821Z Updating files: 91% (5824/6400) 2026-10-24T19:49:57.3164929Z Updating files: 92% (5888/6400) 2026-10-24T19:49:57.3185867Z Updating files: 93% (5952/6400) 2026-10-24T19:49:57.3205304Z Updating files: 94% (6016/6400) 2026-10-24T19:49:57.3228598Z Updating files: 95% (6080/6400) 2026-10-24T19:49:57.3285105Z Updating files: 96% (6144/6400) 2026-10-24T19:49:57.3307013Z Updating files: 97% (6208/6400) 2026-10-24T19:49:57.3350573Z Updating files: 98% (6272/6400) 2026-10-24T19:49:57.3369604Z Updating files: 99% (6336/6400) 2026-10-24T19:49:57.3369781Z Updating files: 100% (6400/6400) 2026-10-24T19:49:57.3369952Z Updating files: 100% (6400/6400), done. 2026-10-24T19:49:57.3519633Z Switched to a new branch 'main' 2026-10-24T19:49:57.3520512Z branch 'main' set up to track 'origin/main'. 2026-10-24T19:49:57.3532506Z ##[endgroup] 2026-10-24T19:49:57.3563392Z [command]/usr/local/bin/git log -1 --format=%H 2026-10-24T19:49:57.3582193Z ea41701979c3cb110addeacd144923abe1ba07b2 2026-10-24T19:49:57.3698656Z Prepare all required actions 2026-10-24T19:49:57.3717313Z ##[group]Run ./.github/actions/setup-apt-mirrors 2026-10-24T19:49:57.3717472Z env: 2026-10-24T19:49:57.3717582Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:57.3717727Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:57.3717870Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:57.3718017Z ##[endgroup] 2026-10-24T19:49:57.3753943Z ##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run] 2026-10-24T19:49:57.3767179Z ##[group]Run # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-24T19:49:57.3767512Z # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-24T19:49:57.3767719Z printf '%s\tpriority:%s\n' \ 2026-10-24T19:49:57.3767893Z  https://archive.ubuntu.com/ubuntu 1 \ 2026-10-24T19:49:57.3768100Z  https://mirrors.edge.kernel.org/ubuntu 2 \ 2026-10-24T19:49:57.3768294Z  https://mirror.math.princeton.edu/pub/ubuntu 3 \ 2026-10-24T19:49:57.3768509Z  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null 2026-10-24T19:49:57.3768681Z  2026-10-24T19:49:57.3768837Z # APT's mirror transport retries each file against the next server. 2026-10-24T19:49:57.3769111Z sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \ 2026-10-24T19:49:57.3769320Z  -exec sed -i -E \ 2026-10-24T19:49:57.3769570Z  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} + 2026-10-24T19:49:57.3769826Z  2026-10-24T19:49:57.3769984Z # Move on to a fallback before an unreachable server exhausts the job. 2026-10-24T19:49:57.3770224Z printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \ 2026-10-24T19:49:57.3770457Z  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null 2026-10-24T19:49:57.3784806Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:49:57.3784974Z env: 2026-10-24T19:49:57.3785087Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:57.3785237Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:57.3785378Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:57.3785513Z ##[endgroup] 2026-10-24T19:49:57.4010659Z ##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=25] 2026-10-24T19:49:57.4035158Z ##[group]Run sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-24T19:49:57.4035885Z sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-24T19:49:57.4036275Z ( 2026-10-24T19:49:57.4036431Z  set +e 2026-10-24T19:49:57.4036697Z  sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config 2026-10-24T19:49:57.4037031Z  echo "$?" > "$RUNNER_TEMP/apt-status" 2026-10-24T19:49:57.4037289Z ) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null & 2026-10-24T19:49:57.4050126Z shell: /usr/bin/bash -e {0} 2026-10-24T19:49:57.4050258Z env: 2026-10-24T19:49:57.4050370Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:57.4050513Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:57.4050653Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:57.4050783Z ##[endgroup] 2026-10-24T19:49:57.4195745Z Prepare all required actions 2026-10-24T19:49:57.4196125Z Getting action download info 2026-10-24T19:49:57.5134748Z Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb) 2026-10-24T19:49:57.6173007Z ##[group]Run ./.github/actions/setup-ci-deps 2026-10-24T19:49:57.6173262Z env: 2026-10-24T19:49:57.6173392Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:57.6173537Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:57.6173700Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:57.6173838Z ##[endgroup] 2026-10-24T19:49:57.6227587Z ##[start-action display=Resolve Vite+ version;id=__self_2.vp] 2026-10-24T19:49:57.6235892Z ##[group]Run echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-24T19:49:57.6236243Z echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-24T19:49:57.6236537Z echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT" 2026-10-24T19:49:57.6236791Z echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT" 2026-10-24T19:49:57.6251328Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:49:57.6251501Z env: 2026-10-24T19:49:57.6251623Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:57.6251766Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:57.6251908Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:57.6252042Z ##[endgroup] 2026-10-24T19:49:57.6329265Z ##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=10] 2026-10-24T19:49:57.6330503Z ##[start-action display=Cache Vite+;id=__self_2.vp_cache] 2026-10-24T19:49:57.6364792Z ##[group]Run actions/cache@v6 2026-10-24T19:49:57.6364925Z with: 2026-10-24T19:49:57.6365029Z path: ~/.vite-plus 2026-10-24T19:49:57.6365186Z key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T19:49:57.6365382Z enableCrossOsArchive: false 2026-10-24T19:49:57.6365520Z fail-on-cache-miss: false 2026-10-24T19:49:57.6365644Z lookup-only: false 2026-10-24T19:49:57.6365751Z save-always: false 2026-10-24T19:49:57.6365859Z env: 2026-10-24T19:49:57.6365966Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:57.6366110Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:57.6366249Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:57.6366377Z ##[endgroup] 2026-10-24T19:49:57.8447191Z Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T19:49:58.2262871Z Received 170349591 of 170349591 (100.0%), 452.5 MBs/sec 2026-10-24T19:49:58.2263376Z Cache Size: ~162 MB (170349591 B) 2026-10-24T19:49:58.2320839Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/7b5d40be-3bd2-47b7-b936-6cf4a72be56c/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T19:49:58.9324386Z Cache restored successfully 2026-10-24T19:49:58.9472015Z Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T19:49:58.9547788Z ##[end-action id=__self_2.vp_cache;outcome=success;conclusion=success;duration_ms=1321] 2026-10-24T19:49:58.9550250Z ##[start-action display=Use cached Vite+;id=__self_2.__run] 2026-10-24T19:49:58.9581221Z ##[group]Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-24T19:49:58.9581430Z echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-24T19:49:58.9581604Z "$HOME/.vite-plus/bin/vp" env use "26.12.1" 2026-10-24T19:49:58.9597657Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:49:58.9597834Z env: 2026-10-24T19:49:58.9597950Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:58.9598102Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:58.9598247Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:58.9598378Z ##[endgroup] 2026-10-24T19:49:58.9634213Z Using Node.js v26.12.1 (resolved from 26.12.1) 2026-10-24T19:49:58.9640671Z ##[end-action id=__self_2.__run;outcome=success;conclusion=success;duration_ms=8] 2026-10-24T19:49:58.9641975Z ##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp] 2026-10-24T19:49:58.9646410Z ##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-10-24T19:49:58.9647866Z ##[start-action display=Resolve pnpm store path;id=__self_2.pnpm_store] 2026-10-24T19:49:58.9659369Z ##[group]Run store_path="$(vp pm cache dir)" 2026-10-24T19:49:58.9659626Z store_path="$(vp pm cache dir)" 2026-10-24T19:49:58.9659893Z echo "path=$store_path" >> "$GITHUB_OUTPUT" 2026-10-24T19:49:58.9672879Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:49:58.9673046Z env: 2026-10-24T19:49:58.9673157Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:58.9673302Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:58.9673441Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:58.9673614Z ##[endgroup] 2026-10-24T19:49:58.9801842Z ##[end-action id=__self_2.pnpm_store;outcome=success;conclusion=success;duration_ms=15] 2026-10-24T19:49:58.9803526Z ##[start-action display=Cache full pnpm store;id=__self_2.__actions_cache] 2026-10-24T19:49:59.0120960Z ##[group]Run actions/cache@v6 2026-10-24T19:49:59.0121093Z with: 2026-10-24T19:49:59.0121215Z path: /home/runner/.local/share/pnpm/store/v11 2026-10-24T19:49:59.0121469Z key: pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074 2026-10-24T19:49:59.0121715Z restore-keys: pnpm-full-v1-Linux-X64- 2026-10-24T19:49:59.0121859Z enableCrossOsArchive: false 2026-10-24T19:49:59.0121989Z fail-on-cache-miss: false 2026-10-24T19:49:59.0122108Z lookup-only: false 2026-10-24T19:49:59.0122212Z save-always: false 2026-10-24T19:49:59.0122336Z env: 2026-10-24T19:49:59.0122487Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:49:59.0122631Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:49:59.0122771Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:49:59.0122910Z ##[endgroup] 2026-10-24T19:49:59.1973123Z Cache hit for: pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074 2026-10-24T19:50:00.2186282Z Received 725614592 of 994208090 (73.0%), 687.2 MBs/sec 2026-10-24T19:50:00.6237345Z Received 994208090 of 994208090 (100.0%), 671.5 MBs/sec 2026-10-24T19:50:00.6237648Z Cache Size: ~948 MB (994208090 B) 2026-10-24T19:50:00.6264302Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/ae287278-3202-4836-9bd1-c6c270411aec/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T19:50:05.6390852Z Cache restored successfully 2026-10-24T19:50:05.6856093Z Cache restored from key: pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074 2026-10-24T19:50:05.6926244Z ##[end-action id=__self_2.__actions_cache;outcome=success;conclusion=success;duration_ms=6712] 2026-10-24T19:50:05.6928963Z ##[start-action display=Install dependencies;id=__self_2.__run_2] 2026-10-24T19:50:05.6941832Z ##[group]Run vp install 2026-10-24T19:50:05.6942082Z vp install 2026-10-24T19:50:05.6957918Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:50:05.6958091Z env: 2026-10-24T19:50:05.6958227Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:05.6958380Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:05.6958549Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:05.6958743Z ##[endgroup] 2026-10-24T19:50:05.7280476Z Scope: all 34 workspace projects 2026-10-24T19:50:05.8295261Z ? Verifying lockfile against supply-chain policies (2088 entries)... 2026-10-24T19:50:06.0896086Z Packages are hard linked from the content-addressable store to the virtual store. 2026-10-24T19:50:06.0896420Z Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11 2026-10-24T19:50:06.0896642Z Virtual store is at: node_modules/.pnpm 2026-10-24T19:50:08.3470359Z ✓ Lockfile passes supply-chain policies (2088 entries in 2.5s) 2026-10-24T19:50:08.3470741Z Lockfile is up to date, resolution step is skipped 2026-10-24T19:50:08.3633758Z Packages: +1721 2026-10-24T19:50:08.3634260Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2026-10-24T19:50:08.3955195Z Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done 2026-10-24T19:50:09.2997811Z . prepare$ vp config --no-agent 2026-10-24T19:50:09.3930459Z . prepare: Done 2026-10-24T19:50:09.3942264Z 2026-10-24T19:50:09.3942488Z devDependencies: 2026-10-24T19:50:09.3942660Z + @coderabbitai/config 1.1.0 2026-10-24T19:50:09.3942812Z + @shadcn/lint 0.1.5 2026-10-24T19:50:09.3942962Z + @types/node 24.12.4 2026-10-24T19:50:09.3943082Z + knip 6.34.0 2026-10-24T19:50:09.3943213Z + typescript <- @tsc-rs/typescript 0.8.0 2026-10-24T19:50:09.3943351Z + vite-plus 1.3.0 2026-10-24T19:50:09.3943417Z 2026-10-24T19:50:09.3957432Z Done in 3.7s using pnpm v12.14.0 2026-10-24T19:50:09.4090132Z ##[end-action id=__self_2.__run_2;outcome=success;conclusion=success;duration_ms=3716] 2026-10-24T19:50:09.4553288Z ##[group]Run actions/cache@v6 2026-10-24T19:50:09.4553456Z with: 2026-10-24T19:50:09.4553577Z path: ~/.cache/electron 2026-10-24T19:50:09.4553802Z key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T19:50:09.4554032Z enableCrossOsArchive: false 2026-10-24T19:50:09.4554159Z fail-on-cache-miss: false 2026-10-24T19:50:09.4554277Z lookup-only: false 2026-10-24T19:50:09.4554389Z save-always: false 2026-10-24T19:50:09.4554493Z env: 2026-10-24T19:50:09.4554603Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:09.4554749Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:09.4554900Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:09.4555030Z ##[endgroup] 2026-10-24T19:50:09.6450860Z Cache hit for: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T19:50:09.8076152Z Received 122906203 of 122906203 (100.0%), 802.8 MBs/sec 2026-10-24T19:50:09.8077095Z Cache Size: ~117 MB (122906203 B) 2026-10-24T19:50:09.8096582Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/9c7a5419-f6c9-4d8e-8070-ebef88f90629/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T19:50:09.8641678Z Cache restored successfully 2026-10-24T19:50:09.8783692Z Cache restored from key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T19:50:09.8887325Z ##[group]Run vp run --filter @t3tools/desktop ensure:electron 2026-10-24T19:50:09.8887587Z vp run --filter @t3tools/desktop ensure:electron 2026-10-24T19:50:09.8902394Z shell: /usr/bin/bash -e {0} 2026-10-24T19:50:09.8902686Z env: 2026-10-24T19:50:09.8902797Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:09.8902943Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:09.8903080Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:09.8903211Z ##[endgroup] 2026-10-24T19:50:10.0404048Z ~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled 2026-10-24T19:50:10.5871051Z /home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.9.3_supports-color@8.1.1/node_modules/electron/dist/electron 2026-10-24T19:50:10.5885596Z 2026-10-24T19:50:10.5966551Z ##[group]Run ( 2026-10-24T19:50:10.5966737Z ( 2026-10-24T19:50:10.5966839Z  set +e 2026-10-24T19:50:10.5966962Z  vpr typecheck 2026-10-24T19:50:10.5967120Z  echo "$?" > "$RUNNER_TEMP/typecheck-status" 2026-10-24T19:50:10.5967309Z ) > "$RUNNER_TEMP/typecheck.log" 2>&1 < /dev/null & 2026-10-24T19:50:10.5981151Z shell: /usr/bin/bash -e {0} 2026-10-24T19:50:10.5981277Z env: 2026-10-24T19:50:10.5981400Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:10.5981542Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:10.5981686Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:10.5981818Z ##[endgroup] 2026-10-24T19:50:10.6017775Z ##[group]Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-24T19:50:10.6018037Z until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-24T19:50:10.6018213Z cat "$RUNNER_TEMP/apt.log" 2026-10-24T19:50:10.6018363Z exit "$(cat "$RUNNER_TEMP/apt-status")" 2026-10-24T19:50:10.6027946Z shell: /usr/bin/bash -e {0} 2026-10-24T19:50:10.6028072Z env: 2026-10-24T19:50:10.6028178Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:10.6028322Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:10.6028460Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:10.6028592Z ##[endgroup] 2026-10-24T19:50:21.6408372Z blacksmith: the apt mirror lists changed since the package indexes were staged; discarding the staged indexes 2026-10-24T19:50:21.6408941Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-24T19:50:21.6409226Z Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease 2026-10-24T19:50:21.6409482Z Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] 2026-10-24T19:50:21.6409801Z Get:8 https://dl.google.com/linux/chrome-stable/deb stable InRelease [2548 B] 2026-10-24T19:50:21.6410075Z Get:9 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [589 kB] 2026-10-24T19:50:21.6410362Z Get:10 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [652 kB] 2026-10-24T19:50:21.6410639Z Get:11 https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages [1410 B] 2026-10-24T19:50:21.6410890Z Get:2 https://archive.ubuntu.com/ubuntu noble InRelease [256 kB] 2026-10-24T19:50:21.6411114Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] 2026-10-24T19:50:21.6411360Z Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] 2026-10-24T19:50:21.6411600Z Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] 2026-10-24T19:50:21.6411843Z Get:12 https://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1401 kB] 2026-10-24T19:50:21.6412082Z Get:13 https://archive.ubuntu.com/ubuntu noble/main Translation-en [513 kB] 2026-10-24T19:50:21.6412319Z Get:14 https://archive.ubuntu.com/ubuntu noble/main amd64 Components [464 kB] 2026-10-24T19:50:21.6412576Z Get:15 https://archive.ubuntu.com/ubuntu noble/main amd64 c-n-f Metadata [30.5 kB] 2026-10-24T19:50:21.6412885Z Get:16 https://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [15.0 MB] 2026-10-24T19:50:21.6413239Z Get:17 https://archive.ubuntu.com/ubuntu noble/universe Translation-en [5982 kB] 2026-10-24T19:50:21.6413491Z Get:18 https://archive.ubuntu.com/ubuntu noble/universe amd64 Components [3871 kB] 2026-10-24T19:50:21.6413755Z Get:19 https://archive.ubuntu.com/ubuntu noble/universe amd64 c-n-f Metadata [301 kB] 2026-10-24T19:50:21.6414039Z Get:20 https://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [93.9 kB] 2026-10-24T19:50:21.6414292Z Get:21 https://archive.ubuntu.com/ubuntu noble/restricted Translation-en [18.7 kB] 2026-10-24T19:50:21.6414569Z Get:22 https://archive.ubuntu.com/ubuntu noble/restricted amd64 c-n-f Metadata [416 B] 2026-10-24T19:50:21.6414833Z Get:23 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [269 kB] 2026-10-24T19:50:21.6415088Z Get:24 https://archive.ubuntu.com/ubuntu noble/multiverse Translation-en [118 kB] 2026-10-24T19:50:21.6415347Z Get:25 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Components [35.0 kB] 2026-10-24T19:50:21.6415615Z Get:26 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 c-n-f Metadata [8328 B] 2026-10-24T19:50:21.6415879Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1400 kB] 2026-10-24T19:50:21.6416143Z Get:28 https://archive.ubuntu.com/ubuntu noble-updates/main Translation-en [310 kB] 2026-10-24T19:50:21.6416405Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] 2026-10-24T19:50:21.6416683Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [17.7 kB] 2026-10-24T19:50:21.6416957Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1706 kB] 2026-10-24T19:50:21.6417233Z Get:32 https://archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [342 kB] 2026-10-24T19:50:21.6417502Z Get:33 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] 2026-10-24T19:50:21.6417788Z Get:34 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [34.9 kB] 2026-10-24T19:50:21.6418073Z Get:35 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1805 kB] 2026-10-24T19:50:21.6418348Z Get:36 https://archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [411 kB] 2026-10-24T19:50:21.6418624Z Get:37 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B] 2026-10-24T19:50:21.6418911Z Get:38 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 c-n-f Metadata [456 B] 2026-10-24T19:50:21.6419193Z Get:39 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [50.7 kB] 2026-10-24T19:50:21.6419471Z Get:40 https://archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en [14.0 kB] 2026-10-24T19:50:21.6419747Z Get:41 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] 2026-10-24T19:50:21.6420030Z Get:42 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 c-n-f Metadata [656 B] 2026-10-24T19:50:21.6420309Z Get:43 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] 2026-10-24T19:50:21.6420575Z Get:44 https://archive.ubuntu.com/ubuntu noble-backports/main Translation-en [9172 B] 2026-10-24T19:50:21.6420842Z Get:45 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5764 B] 2026-10-24T19:50:21.6421232Z Get:46 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 c-n-f Metadata [368 B] 2026-10-24T19:50:21.6421556Z Get:47 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] 2026-10-24T19:50:21.6421831Z Get:48 https://archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] 2026-10-24T19:50:21.6422124Z Get:49 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] 2026-10-24T19:50:21.6422422Z Get:50 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 c-n-f Metadata [1588 B] 2026-10-24T19:50:21.6422721Z Get:51 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B] 2026-10-24T19:50:21.6423043Z Get:52 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 c-n-f Metadata [116 B] 2026-10-24T19:50:21.6423330Z Get:53 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [748 B] 2026-10-24T19:50:21.6423610Z Get:54 https://archive.ubuntu.com/ubuntu noble-backports/multiverse Translation-en [340 B] 2026-10-24T19:50:21.6423897Z Get:55 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B] 2026-10-24T19:50:21.6424187Z Get:56 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 c-n-f Metadata [116 B] 2026-10-24T19:50:21.6424469Z Get:57 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1146 kB] 2026-10-24T19:50:21.6424733Z Get:58 https://archive.ubuntu.com/ubuntu noble-security/main Translation-en [231 kB] 2026-10-24T19:50:21.6424999Z Get:59 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.4 kB] 2026-10-24T19:50:21.6425275Z Get:60 https://archive.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [11.9 kB] 2026-10-24T19:50:21.6425556Z Get:61 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1222 kB] 2026-10-24T19:50:21.6425826Z Get:62 https://archive.ubuntu.com/ubuntu noble-security/universe Translation-en [246 kB] 2026-10-24T19:50:21.6426105Z Get:63 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.3 kB] 2026-10-24T19:50:21.6426396Z Get:64 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [24.2 kB] 2026-10-24T19:50:21.6426688Z Get:65 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1713 kB] 2026-10-24T19:50:21.6426966Z Get:66 https://archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [392 kB] 2026-10-24T19:50:21.6427244Z Get:67 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B] 2026-10-24T19:50:21.6427535Z Get:68 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 c-n-f Metadata [444 B] 2026-10-24T19:50:21.6427823Z Get:69 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [45.4 kB] 2026-10-24T19:50:21.6428105Z Get:70 https://archive.ubuntu.com/ubuntu noble-security/multiverse Translation-en [12.1 kB] 2026-10-24T19:50:21.6428387Z Get:71 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B] 2026-10-24T19:50:21.6428683Z Get:72 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [468 B] 2026-10-24T19:50:21.6428905Z Fetched 42.0 MB in 7s (5763 kB/s) 2026-10-24T19:50:21.6429044Z Reading package lists... 2026-10-24T19:50:21.6429165Z Reading package lists... 2026-10-24T19:50:21.6429286Z Building dependency tree... 2026-10-24T19:50:21.6429414Z Reading state information... 2026-10-24T19:50:21.6429567Z pkg-config is already the newest version (1.8.1-2build1). 2026-10-24T19:50:21.6429751Z The following additional packages will be installed: 2026-10-24T19:50:21.6429953Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 gir1.2-secret-1 2026-10-24T19:50:21.6430173Z libblkid-dev libblkid1 libfdisk1 libgcrypt20 libgcrypt20-dev 2026-10-24T19:50:21.6430391Z libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-bin libglib2.0-data 2026-10-24T19:50:21.6430631Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev libmount1 2026-10-24T19:50:21.6430925Z libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libsmartcols1 2026-10-24T19:50:21.6431172Z libuuid1 mount util-linux uuid-dev uuid-runtime 2026-10-24T19:50:21.6431319Z Suggested packages: 2026-10-24T19:50:21.6431478Z rng-tools libgcrypt20-doc low-memory-monitor gir1.2-glib-2.0-dev 2026-10-24T19:50:21.6431708Z libglib2.0-doc libxml2-utils nfs-common util-linux-extra util-linux-locales 2026-10-24T19:50:21.6431913Z The following NEW packages will be installed: 2026-10-24T19:50:21.6432100Z gir1.2-secret-1 libblkid-dev libgcrypt20-dev libgirepository-2.0-0 2026-10-24T19:50:21.6432319Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev 2026-10-24T19:50:21.6432551Z libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev libsepol-dev 2026-10-24T19:50:21.6432738Z uuid-dev 2026-10-24T19:50:21.6432877Z The following packages will be upgraded: 2026-10-24T19:50:21.6433291Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 libblkid1 libfdisk1 2026-10-24T19:50:21.6433549Z libgcrypt20 libglib2.0-0t64 libglib2.0-bin libglib2.0-data libmount1 2026-10-24T19:50:21.6433759Z libsmartcols1 libuuid1 mount util-linux uuid-runtime 2026-10-24T19:50:21.6433959Z 17 upgraded, 14 newly installed, 0 to remove and 241 not upgraded. 2026-10-24T19:50:21.6434137Z Need to get 8378 kB of archives. 2026-10-24T19:50:21.6434313Z After this operation, 23.0 MB of additional disk space will be used. 2026-10-24T19:50:21.6434535Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-24T19:50:21.6434826Z Get:2 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdutils amd64 1:2.39.3-9ubuntu6.6 [96.4 kB] 2026-10-24T19:50:21.6435161Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 util-linux amd64 2.39.3-9ubuntu6.6 [1128 kB] 2026-10-24T19:50:21.6435485Z Get:4 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 mount amd64 2.39.3-9ubuntu6.6 [118 kB] 2026-10-24T19:50:21.6435816Z Get:5 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu6.6 [66.3 kB] 2026-10-24T19:50:21.6436148Z Get:6 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libuuid1 amd64 2.39.3-9ubuntu6.6 [36.6 kB] 2026-10-24T19:50:21.6436479Z Get:7 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-runtime amd64 2.39.3-9ubuntu6.6 [33.1 kB] 2026-10-24T19:50:21.6436803Z Get:8 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid1 amd64 2.39.3-9ubuntu6.6 [124 kB] 2026-10-24T19:50:21.6437130Z Get:9 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20 amd64 1.10.3-2ubuntu0.2 [536 kB] 2026-10-24T19:50:21.6437456Z Get:10 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount1 amd64 2.39.3-9ubuntu6.6 [134 kB] 2026-10-24T19:50:21.6437778Z Get:11 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 eject amd64 2.39.3-9ubuntu6.6 [26.3 kB] 2026-10-24T19:50:21.6438108Z Get:12 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-data all 2.80.0-6ubuntu3.10 [50.2 kB] 2026-10-24T19:50:21.6438456Z Get:13 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-bin amd64 2.80.0-6ubuntu3.10 [97.9 kB] 2026-10-24T19:50:21.6438801Z Get:14 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 gir1.2-glib-2.0 amd64 2.80.0-6ubuntu3.10 [183 kB] 2026-10-24T19:50:21.6439147Z Get:15 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-0t64 amd64 2.80.0-6ubuntu3.10 [1548 kB] 2026-10-24T19:50:21.6439479Z Get:16 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libfdisk1 amd64 2.39.3-9ubuntu6.6 [146 kB] 2026-10-24T19:50:21.6439811Z Get:17 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdextrautils amd64 2.39.3-9ubuntu6.6 [73.7 kB] 2026-10-24T19:50:21.6440136Z Get:18 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 fdisk amd64 2.39.3-9ubuntu6.6 [122 kB] 2026-10-24T19:50:21.6440450Z Get:19 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-common all 0.21.4-1build3 [4962 B] 2026-10-24T19:50:21.6440865Z Get:20 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-1-0 amd64 0.21.4-1build3 [116 kB] 2026-10-24T19:50:21.6441223Z Get:21 https://archive.ubuntu.com/ubuntu noble/main amd64 gir1.2-secret-1 amd64 0.21.4-1build3 [9424 B] 2026-10-24T19:50:21.6441548Z Get:22 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgpg-error-dev amd64 1.47-3build2.1 [128 kB] 2026-10-24T19:50:21.6441891Z Get:23 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20-dev amd64 1.10.3-2ubuntu0.2 [596 kB] 2026-10-24T19:50:21.6442245Z Get:24 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgirepository-2.0-0 amd64 2.80.0-6ubuntu3.10 [73.5 kB] 2026-10-24T19:50:21.6442610Z Get:25 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev-bin amd64 2.80.0-6ubuntu3.10 [138 kB] 2026-10-24T19:50:21.6442985Z Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.6 [33.5 kB] 2026-10-24T19:50:21.6443321Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.6 [205 kB] 2026-10-24T19:50:21.6443632Z Get:28 https://archive.ubuntu.com/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB] 2026-10-24T19:50:21.6444074Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB] 2026-10-24T19:50:21.6444417Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.6 [14.9 kB] 2026-10-24T19:50:21.6444756Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.10 [1861 kB] 2026-10-24T19:50:21.6445093Z Get:32 https://archive.ubuntu.com/ubuntu noble/universe amd64 libsecret-1-dev amd64 0.21.4-1build3 [129 kB] 2026-10-24T19:50:21.6445329Z Fetched 8378 kB in 3s (2477 kB/s) 2026-10-24T19:50:21.6445464Z (Reading database ... 2026-10-24T19:50:21.6445583Z (Reading database ... 5% 2026-10-24T19:50:21.6445703Z (Reading database ... 10% 2026-10-24T19:50:21.6445819Z (Reading database ... 15% 2026-10-24T19:50:21.6445933Z (Reading database ... 20% 2026-10-24T19:50:21.6446049Z (Reading database ... 25% 2026-10-24T19:50:21.6446161Z (Reading database ... 30% 2026-10-24T19:50:21.6446276Z (Reading database ... 35% 2026-10-24T19:50:21.6446386Z (Reading database ... 40% 2026-10-24T19:50:21.6446500Z (Reading database ... 45% 2026-10-24T19:50:21.6446609Z (Reading database ... 50% 2026-10-24T19:50:21.6446719Z (Reading database ... 55% 2026-10-24T19:50:21.6446831Z (Reading database ... 60% 2026-10-24T19:50:21.6446943Z (Reading database ... 65% 2026-10-24T19:50:21.6447055Z (Reading database ... 70% 2026-10-24T19:50:21.6447167Z (Reading database ... 75% 2026-10-24T19:50:21.6447280Z (Reading database ... 80% 2026-10-24T19:50:21.6447389Z (Reading database ... 85% 2026-10-24T19:50:21.6447500Z (Reading database ... 90% 2026-10-24T19:50:21.6447616Z (Reading database ... 95% 2026-10-24T19:50:21.6447729Z (Reading database ... 100% 2026-10-24T19:50:21.6447901Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6448125Z Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6448346Z Unpacking bsdutils (1:2.39.3-9ubuntu6.6) over (1:2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6448531Z Setting up bsdutils (1:2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6448676Z (Reading database ... 2026-10-24T19:50:21.6448787Z (Reading database ... 5% 2026-10-24T19:50:21.6448901Z (Reading database ... 10% 2026-10-24T19:50:21.6449017Z (Reading database ... 15% 2026-10-24T19:50:21.6449129Z (Reading database ... 20% 2026-10-24T19:50:21.6449243Z (Reading database ... 25% 2026-10-24T19:50:21.6449356Z (Reading database ... 30% 2026-10-24T19:50:21.6449484Z (Reading database ... 35% 2026-10-24T19:50:21.6449593Z (Reading database ... 40% 2026-10-24T19:50:21.6449704Z (Reading database ... 45% 2026-10-24T19:50:21.6449821Z (Reading database ... 50% 2026-10-24T19:50:21.6449929Z (Reading database ... 55% 2026-10-24T19:50:21.6450044Z (Reading database ... 60% 2026-10-24T19:50:21.6450206Z (Reading database ... 65% 2026-10-24T19:50:21.6450350Z (Reading database ... 70% 2026-10-24T19:50:21.6450459Z (Reading database ... 75% 2026-10-24T19:50:21.6450571Z (Reading database ... 80% 2026-10-24T19:50:21.6450690Z (Reading database ... 85% 2026-10-24T19:50:21.6450803Z (Reading database ... 90% 2026-10-24T19:50:21.6450920Z (Reading database ... 95% 2026-10-24T19:50:21.6451037Z (Reading database ... 100% 2026-10-24T19:50:21.6451212Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6451432Z Preparing to unpack .../util-linux_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6451645Z Unpacking util-linux (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6451828Z Setting up util-linux (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6452086Z update-alternatives: warning: forcing reinstallation of alternative /usr/bin/less because link group pager is broken 2026-10-24T19:50:21.6452521Z update-alternatives: warning: skip creation of /usr/share/man/man1/pager.1.gz because associated file /usr/share/man/man1/less.1.gz (of link group pager) doesn't exist 2026-10-24T19:50:21.6452933Z fstrim.service is a disabled or a static unit not running, not starting it. 2026-10-24T19:50:21.6453971Z (Reading database ... 2026-10-24T19:50:21.6454085Z (Reading database ... 5% 2026-10-24T19:50:21.6454203Z (Reading database ... 10% 2026-10-24T19:50:21.6454316Z (Reading database ... 15% 2026-10-24T19:50:21.6454432Z (Reading database ... 20% 2026-10-24T19:50:21.6454544Z (Reading database ... 25% 2026-10-24T19:50:21.6454658Z (Reading database ... 30% 2026-10-24T19:50:21.6454768Z (Reading database ... 35% 2026-10-24T19:50:21.6454877Z (Reading database ... 40% 2026-10-24T19:50:21.6454990Z (Reading database ... 45% 2026-10-24T19:50:21.6455102Z (Reading database ... 50% 2026-10-24T19:50:21.6455215Z (Reading database ... 55% 2026-10-24T19:50:21.6455327Z (Reading database ... 60% 2026-10-24T19:50:21.6455441Z (Reading database ... 65% 2026-10-24T19:50:21.6455555Z (Reading database ... 70% 2026-10-24T19:50:21.6455670Z (Reading database ... 75% 2026-10-24T19:50:21.6455790Z (Reading database ... 80% 2026-10-24T19:50:21.6455901Z (Reading database ... 85% 2026-10-24T19:50:21.6456015Z (Reading database ... 90% 2026-10-24T19:50:21.6456127Z (Reading database ... 95% 2026-10-24T19:50:21.6456244Z (Reading database ... 100% 2026-10-24T19:50:21.6456406Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6456616Z Preparing to unpack .../mount_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6456820Z Unpacking mount (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6457029Z Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6457264Z Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6457472Z Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6457624Z (Reading database ... 2026-10-24T19:50:21.6457737Z (Reading database ... 5% 2026-10-24T19:50:21.6457856Z (Reading database ... 10% 2026-10-24T19:50:21.6457969Z (Reading database ... 15% 2026-10-24T19:50:21.6458080Z (Reading database ... 20% 2026-10-24T19:50:21.6458194Z (Reading database ... 25% 2026-10-24T19:50:21.6458304Z (Reading database ... 30% 2026-10-24T19:50:21.6458417Z (Reading database ... 35% 2026-10-24T19:50:21.6458526Z (Reading database ... 40% 2026-10-24T19:50:21.6458637Z (Reading database ... 45% 2026-10-24T19:50:21.6458748Z (Reading database ... 50% 2026-10-24T19:50:21.6458858Z (Reading database ... 55% 2026-10-24T19:50:21.6458968Z (Reading database ... 60% 2026-10-24T19:50:21.6459080Z (Reading database ... 65% 2026-10-24T19:50:21.6459193Z (Reading database ... 70% 2026-10-24T19:50:21.6459303Z (Reading database ... 75% 2026-10-24T19:50:21.6459414Z (Reading database ... 80% 2026-10-24T19:50:21.6459526Z (Reading database ... 85% 2026-10-24T19:50:21.6459637Z (Reading database ... 90% 2026-10-24T19:50:21.6459748Z (Reading database ... 95% 2026-10-24T19:50:21.6459966Z (Reading database ... 100% 2026-10-24T19:50:21.6460269Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6460479Z Preparing to unpack .../libuuid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6460690Z Unpacking libuuid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6460881Z Setting up libuuid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6461025Z (Reading database ... 2026-10-24T19:50:21.6461137Z (Reading database ... 5% 2026-10-24T19:50:21.6461255Z (Reading database ... 10% 2026-10-24T19:50:21.6461370Z (Reading database ... 15% 2026-10-24T19:50:21.6461481Z (Reading database ... 20% 2026-10-24T19:50:21.6461594Z (Reading database ... 25% 2026-10-24T19:50:21.6461705Z (Reading database ... 30% 2026-10-24T19:50:21.6461817Z (Reading database ... 35% 2026-10-24T19:50:21.6461928Z (Reading database ... 40% 2026-10-24T19:50:21.6462042Z (Reading database ... 45% 2026-10-24T19:50:21.6462152Z (Reading database ... 50% 2026-10-24T19:50:21.6462263Z (Reading database ... 55% 2026-10-24T19:50:21.6462381Z (Reading database ... 60% 2026-10-24T19:50:21.6462494Z (Reading database ... 65% 2026-10-24T19:50:21.6462610Z (Reading database ... 70% 2026-10-24T19:50:21.6462721Z (Reading database ... 75% 2026-10-24T19:50:21.6462862Z (Reading database ... 80% 2026-10-24T19:50:21.6462978Z (Reading database ... 85% 2026-10-24T19:50:21.6463089Z (Reading database ... 90% 2026-10-24T19:50:21.6463200Z (Reading database ... 95% 2026-10-24T19:50:21.6463312Z (Reading database ... 100% 2026-10-24T19:50:21.6463474Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6463689Z Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6463907Z Unpacking uuid-runtime (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6464118Z Preparing to unpack .../libblkid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6464335Z Unpacking libblkid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6464533Z Setting up libblkid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6464680Z (Reading database ... 2026-10-24T19:50:21.6464797Z (Reading database ... 5% 2026-10-24T19:50:21.6464913Z (Reading database ... 10% 2026-10-24T19:50:21.6465030Z (Reading database ... 15% 2026-10-24T19:50:21.6465143Z (Reading database ... 20% 2026-10-24T19:50:21.6465258Z (Reading database ... 25% 2026-10-24T19:50:21.6465369Z (Reading database ... 30% 2026-10-24T19:50:21.6465486Z (Reading database ... 35% 2026-10-24T19:50:21.6465602Z (Reading database ... 40% 2026-10-24T19:50:21.6465713Z (Reading database ... 45% 2026-10-24T19:50:21.6465828Z (Reading database ... 50% 2026-10-24T19:50:21.6465939Z (Reading database ... 55% 2026-10-24T19:50:21.6466052Z (Reading database ... 60% 2026-10-24T19:50:21.6466162Z (Reading database ... 65% 2026-10-24T19:50:21.6466275Z (Reading database ... 70% 2026-10-24T19:50:21.6466384Z (Reading database ... 75% 2026-10-24T19:50:21.6466497Z (Reading database ... 80% 2026-10-24T19:50:21.6466613Z (Reading database ... 85% 2026-10-24T19:50:21.6466725Z (Reading database ... 90% 2026-10-24T19:50:21.6466842Z (Reading database ... 95% 2026-10-24T19:50:21.6466957Z (Reading database ... 100% 2026-10-24T19:50:21.6467122Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6467340Z Preparing to unpack .../libgcrypt20_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-24T19:50:21.6467569Z Unpacking libgcrypt20:amd64 (1.10.3-2ubuntu0.2) over (1.10.3-2ubuntu0.1) ... 2026-10-24T19:50:21.6467790Z Setting up libgcrypt20:amd64 (1.10.3-2ubuntu0.2) ... 2026-10-24T19:50:21.6467943Z (Reading database ... 2026-10-24T19:50:21.6468064Z (Reading database ... 5% 2026-10-24T19:50:21.6468182Z (Reading database ... 10% 2026-10-24T19:50:21.6468303Z (Reading database ... 15% 2026-10-24T19:50:21.6468418Z (Reading database ... 20% 2026-10-24T19:50:21.6468535Z (Reading database ... 25% 2026-10-24T19:50:21.6468649Z (Reading database ... 30% 2026-10-24T19:50:21.6468915Z (Reading database ... 35% 2026-10-24T19:50:21.6469143Z (Reading database ... 40% 2026-10-24T19:50:21.6469311Z (Reading database ... 45% 2026-10-24T19:50:21.6469484Z (Reading database ... 50% 2026-10-24T19:50:21.6469652Z (Reading database ... 55% 2026-10-24T19:50:21.6469825Z (Reading database ... 60% 2026-10-24T19:50:21.6469993Z (Reading database ... 65% 2026-10-24T19:50:21.6470162Z (Reading database ... 70% 2026-10-24T19:50:21.6470340Z (Reading database ... 75% 2026-10-24T19:50:21.6470511Z (Reading database ... 80% 2026-10-24T19:50:21.6470690Z (Reading database ... 85% 2026-10-24T19:50:21.6470863Z (Reading database ... 90% 2026-10-24T19:50:21.6471040Z (Reading database ... 95% 2026-10-24T19:50:21.6471214Z (Reading database ... 100% 2026-10-24T19:50:21.6471457Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6471787Z Preparing to unpack .../libmount1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6472129Z Unpacking libmount1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6472447Z Setting up libmount1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6472681Z (Reading database ... 2026-10-24T19:50:21.6472918Z (Reading database ... 5% 2026-10-24T19:50:21.6473102Z (Reading database ... 10% 2026-10-24T19:50:21.6473283Z (Reading database ... 15% 2026-10-24T19:50:21.6473460Z (Reading database ... 20% 2026-10-24T19:50:21.6473632Z (Reading database ... 25% 2026-10-24T19:50:21.6473787Z (Reading database ... 30% 2026-10-24T19:50:21.6473901Z (Reading database ... 35% 2026-10-24T19:50:21.6474020Z (Reading database ... 40% 2026-10-24T19:50:21.6474133Z (Reading database ... 45% 2026-10-24T19:50:21.6474251Z (Reading database ... 50% 2026-10-24T19:50:21.6474364Z (Reading database ... 55% 2026-10-24T19:50:21.6474477Z (Reading database ... 60% 2026-10-24T19:50:21.6474592Z (Reading database ... 65% 2026-10-24T19:50:21.6474703Z (Reading database ... 70% 2026-10-24T19:50:21.6474820Z (Reading database ... 75% 2026-10-24T19:50:21.6474937Z (Reading database ... 80% 2026-10-24T19:50:21.6475055Z (Reading database ... 85% 2026-10-24T19:50:21.6475171Z (Reading database ... 90% 2026-10-24T19:50:21.6475285Z (Reading database ... 95% 2026-10-24T19:50:21.6487612Z (Reading database ... 100% 2026-10-24T19:50:21.6487891Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T19:50:21.6488217Z Preparing to unpack .../00-eject_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6488516Z Unpacking eject (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6488847Z Preparing to unpack .../01-libglib2.0-data_2.80.0-6ubuntu3.10_all.deb ... 2026-10-24T19:50:21.6489199Z Unpacking libglib2.0-data (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T19:50:21.6489566Z Preparing to unpack .../02-libglib2.0-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T19:50:21.6489905Z Unpacking libglib2.0-bin (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T19:50:21.6490272Z Preparing to unpack .../03-gir1.2-glib-2.0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T19:50:21.6490651Z Unpacking gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T19:50:21.6491031Z Preparing to unpack .../04-libglib2.0-0t64_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T19:50:21.6491415Z Unpacking libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T19:50:21.6491800Z Preparing to unpack .../05-libfdisk1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6492166Z Unpacking libfdisk1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6492536Z Preparing to unpack .../06-bsdextrautils_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6492944Z Unpacking bsdextrautils (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6493390Z Preparing to unpack .../07-fdisk_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6493693Z Unpacking fdisk (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T19:50:21.6494251Z Selecting previously unselected package libsecret-common. 2026-10-24T19:50:21.6494650Z Preparing to unpack .../08-libsecret-common_0.21.4-1build3_all.deb ... 2026-10-24T19:50:21.6494858Z Unpacking libsecret-common (0.21.4-1build3) ... 2026-10-24T19:50:21.6495043Z Selecting previously unselected package libsecret-1-0:amd64. 2026-10-24T19:50:21.6495252Z Preparing to unpack .../09-libsecret-1-0_0.21.4-1build3_amd64.deb ... 2026-10-24T19:50:21.6495446Z Unpacking libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-24T19:50:21.6495632Z Selecting previously unselected package gir1.2-secret-1:amd64. 2026-10-24T19:50:21.6495850Z Preparing to unpack .../10-gir1.2-secret-1_0.21.4-1build3_amd64.deb ... 2026-10-24T19:50:21.6496047Z Unpacking gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-24T19:50:21.6496232Z Selecting previously unselected package libgpg-error-dev. 2026-10-24T19:50:21.6496440Z Preparing to unpack .../11-libgpg-error-dev_1.47-3build2.1_amd64.deb ... 2026-10-24T19:50:21.6496632Z Unpacking libgpg-error-dev (1.47-3build2.1) ... 2026-10-24T19:50:21.6496812Z Selecting previously unselected package libgcrypt20-dev. 2026-10-24T19:50:21.6497018Z Preparing to unpack .../12-libgcrypt20-dev_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-24T19:50:21.6497216Z Unpacking libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-24T19:50:21.6497411Z Selecting previously unselected package libgirepository-2.0-0:amd64. 2026-10-24T19:50:21.6497648Z Preparing to unpack .../13-libgirepository-2.0-0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T19:50:21.6497872Z Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6498073Z Selecting previously unselected package libglib2.0-dev-bin. 2026-10-24T19:50:21.6498291Z Preparing to unpack .../14-libglib2.0-dev-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T19:50:21.6498496Z Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6498675Z Selecting previously unselected package uuid-dev:amd64. 2026-10-24T19:50:21.6498871Z Preparing to unpack .../15-uuid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6499055Z Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6499233Z Selecting previously unselected package libblkid-dev:amd64. 2026-10-24T19:50:21.6499444Z Preparing to unpack .../16-libblkid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6499636Z Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6499820Z Selecting previously unselected package libsepol-dev:amd64. 2026-10-24T19:50:21.6500023Z Preparing to unpack .../17-libsepol-dev_3.5-2build1_amd64.deb ... 2026-10-24T19:50:21.6500213Z Unpacking libsepol-dev:amd64 (3.5-2build1) ... 2026-10-24T19:50:21.6500398Z Selecting previously unselected package libselinux1-dev:amd64. 2026-10-24T19:50:21.6500681Z Preparing to unpack .../18-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ... 2026-10-24T19:50:21.6500884Z Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-24T19:50:21.6501070Z Selecting previously unselected package libmount-dev:amd64. 2026-10-24T19:50:21.6501284Z Preparing to unpack .../19-libmount-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T19:50:21.6501481Z Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6501665Z Selecting previously unselected package libglib2.0-dev:amd64. 2026-10-24T19:50:21.6501875Z Preparing to unpack .../20-libglib2.0-dev_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T19:50:21.6502081Z Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6502270Z Selecting previously unselected package libsecret-1-dev:amd64. 2026-10-24T19:50:21.6502483Z Preparing to unpack .../21-libsecret-1-dev_0.21.4-1build3_amd64.deb ... 2026-10-24T19:50:21.6502674Z Unpacking libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-24T19:50:21.6502877Z Setting up bsdextrautils (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6503035Z Setting up eject (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6503194Z Setting up libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6503368Z Setting up libglib2.0-data (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6503597Z Setting up libgpg-error-dev (1.47-3build2.1) ... 2026-10-24T19:50:21.6503842Z Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6503999Z Setting up libsepol-dev:amd64 (3.5-2build1) ... 2026-10-24T19:50:21.6504171Z Setting up gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6504338Z Setting up libfdisk1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6504495Z Setting up mount (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6504643Z Setting up uuid-runtime (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6504838Z uuidd.service is a disabled or a static unit not running, not starting it. 2026-10-24T19:50:21.6505033Z Setting up libsecret-common (0.21.4-1build3) ... 2026-10-24T19:50:21.6505202Z Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6505372Z Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6505556Z Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6505749Z Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-24T19:50:21.6505914Z Setting up libglib2.0-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6506071Z Setting up fdisk (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6506221Z Setting up libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-24T19:50:21.6506389Z Setting up gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-24T19:50:21.6506553Z Setting up libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-24T19:50:21.6506721Z Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T19:50:21.6506893Z Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T19:50:21.6507069Z Setting up libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-24T19:50:21.6507241Z Processing triggers for libc-bin (2.39-0ubuntu8.8) ... 2026-10-24T19:50:21.6507412Z Processing triggers for man-db (2.12.0-4build2) ... 2026-10-24T19:50:21.6507587Z Not building database; man-db/auto-update is not 'true'. 2026-10-24T19:50:21.6507766Z Processing triggers for install-info (7.1-3build2) ... 2026-10-24T19:50:21.6507880Z 2026-10-24T19:50:21.6507932Z Restarting services... 2026-10-24T19:50:21.6508422Z systemctl restart irqbalance.service packagekit.service php8.3-fpm.service polkit.service rsyslog.service systemd-journald.service systemd-manager.service systemd-networkd.service systemd-resolved.service systemd-timedated.service systemd-udevd.service udisks2.service 2026-10-24T19:50:21.6509007Z Failed to restart systemd-manager.service: Unit systemd-manager.service not found. 2026-10-24T19:50:21.6509171Z 2026-10-24T19:50:21.6509222Z Service restarts being deferred: 2026-10-24T19:50:21.6509365Z systemctl restart ModemManager.service 2026-10-24T19:50:21.6509505Z systemctl restart dbus.service 2026-10-24T19:50:21.6509639Z systemctl restart getty@tty1.service 2026-10-24T19:50:21.6509791Z systemctl restart networkd-dispatcher.service 2026-10-24T19:50:21.6509955Z systemctl restart serial-getty@ttyS0.service 2026-10-24T19:50:21.6510118Z systemctl restart setup_and_run_blacksmith.service 2026-10-24T19:50:21.6510279Z systemctl restart systemd-logind.service 2026-10-24T19:50:21.6510376Z 2026-10-24T19:50:21.6510431Z No containers need to be restarted. 2026-10-24T19:50:21.6510520Z 2026-10-24T19:50:21.6510571Z User sessions running outdated binaries: 2026-10-24T19:50:21.6510721Z runner @ user manager service: systemd[1851] 2026-10-24T19:50:21.6510819Z 2026-10-24T19:50:21.6510912Z No VM guests are running outdated hypervisor (qemu) binaries on this host. 2026-10-24T19:50:21.6535356Z ##[group]Run vp run build:desktop 2026-10-24T19:50:21.6535623Z vp run build:desktop 2026-10-24T19:50:21.6551709Z shell: /usr/bin/bash -e {0} 2026-10-24T19:50:21.6551906Z env: 2026-10-24T19:50:21.6552074Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:21.6552309Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:21.6552531Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:21.6552746Z ##[endgroup] 2026-10-24T19:50:21.8187862Z ~/apps/web$ vp build ⊘ cache disabled 2026-10-24T19:50:22.3477112Z transforming... 2026-10-24T19:50:25.2401143Z ✓ 6675 modules transformed. 2026-10-24T19:50:25.5684190Z rendering chunks... 2026-10-24T19:50:26.8922153Z computing gzip size... 2026-10-24T19:50:26.9267436Z dist/assets/ghostty-write-pty-hgyAvVbe.wasm 0.11 kB │ gzip: 0.12 kB 2026-10-24T19:50:26.9267802Z dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB 2026-10-24T19:50:26.9268034Z dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB 2026-10-24T19:50:26.9268267Z dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB 2026-10-24T19:50:26.9268489Z dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB 2026-10-24T19:50:26.9268753Z dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB 2026-10-24T19:50:26.9268975Z dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB 2026-10-24T19:50:26.9269202Z dist/assets/snap-shot-click-CJiuxMEv.mp3 6.38 kB 2026-10-24T19:50:26.9269458Z dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB 2026-10-24T19:50:26.9269732Z dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB 2026-10-24T19:50:26.9269973Z dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB 2026-10-24T19:50:26.9270205Z dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB 2026-10-24T19:50:26.9270451Z dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB 2026-10-24T19:50:26.9270680Z dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB 2026-10-24T19:50:26.9270916Z dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB 2026-10-24T19:50:26.9271142Z dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB 2026-10-24T19:50:26.9271368Z dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB 2026-10-24T19:50:26.9271598Z dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB 2026-10-24T19:50:26.9271833Z dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB 2026-10-24T19:50:26.9272068Z dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB 2026-10-24T19:50:26.9272304Z dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB 2026-10-24T19:50:26.9272539Z dist/assets/notification-input-BJS4voY1.mp3 11.63 kB 2026-10-24T19:50:26.9272775Z dist/assets/notification-completion-vyCCbYsz.mp3 11.94 kB 2026-10-24T19:50:26.9273036Z dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB 2026-10-24T19:50:26.9273271Z dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB 2026-10-24T19:50:26.9273500Z dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB 2026-10-24T19:50:26.9273728Z dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB 2026-10-24T19:50:26.9273982Z dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB 2026-10-24T19:50:26.9274208Z dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB 2026-10-24T19:50:26.9274440Z dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB 2026-10-24T19:50:26.9274693Z dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB 2026-10-24T19:50:26.9274928Z dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB 2026-10-24T19:50:26.9275160Z dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB 2026-10-24T19:50:26.9275389Z dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB 2026-10-24T19:50:26.9275618Z dist/assets/snap-shot-whoosh-CQZ59XJc.mp3 15.02 kB 2026-10-24T19:50:26.9275851Z dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB 2026-10-24T19:50:26.9276085Z dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB 2026-10-24T19:50:26.9276306Z dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB 2026-10-24T19:50:26.9276533Z dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB 2026-10-24T19:50:26.9276996Z dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB 2026-10-24T19:50:26.9277311Z dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB 2026-10-24T19:50:26.9277535Z dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB 2026-10-24T19:50:26.9277759Z dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB 2026-10-24T19:50:26.9277985Z dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB 2026-10-24T19:50:26.9278211Z dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB 2026-10-24T19:50:26.9278515Z dist/index.html 19.49 kB │ gzip: 5.03 kB 2026-10-24T19:50:26.9278738Z dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB 2026-10-24T19:50:26.9278965Z dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB 2026-10-24T19:50:26.9279184Z dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB 2026-10-24T19:50:26.9279418Z dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB 2026-10-24T19:50:26.9279645Z dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB 2026-10-24T19:50:26.9279871Z dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB 2026-10-24T19:50:26.9280089Z dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB 2026-10-24T19:50:26.9280311Z dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB 2026-10-24T19:50:26.9280608Z dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB 2026-10-24T19:50:26.9280829Z dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB 2026-10-24T19:50:26.9281046Z dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB 2026-10-24T19:50:26.9281271Z dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB 2026-10-24T19:50:26.9281489Z dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB 2026-10-24T19:50:26.9281717Z dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB 2026-10-24T19:50:26.9281943Z dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB 2026-10-24T19:50:26.9282162Z dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB 2026-10-24T19:50:26.9282381Z dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB 2026-10-24T19:50:26.9282601Z dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB 2026-10-24T19:50:26.9282824Z dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB 2026-10-24T19:50:26.9283139Z dist/.vite/manifest.json 293.85 kB │ gzip: 30.66 kB 2026-10-24T19:50:26.9283430Z dist/assets/ghostty-vt-DdA0Zryv.wasm 630.93 kB │ gzip: 187.91 kB 2026-10-24T19:50:26.9283707Z dist/assets/worker-3-uhxiAg.js 836.41 kB 2026-10-24T19:50:26.9283987Z dist/third-party-licenses.json 852.62 kB │ gzip: 102.38 kB 2026-10-24T19:50:26.9284242Z dist/assets/SymbolsNerdFontMono-Regular-aK5vsLov.woff2 1,177.57 kB 2026-10-24T19:50:26.9284481Z dist/assets/ipad-pro-13-m5-DCWznkpd.glb 1,815.87 kB 2026-10-24T19:50:26.9284711Z dist/assets/ipad-pro-13-m5-magic-keyboard-l8da3bBi.glb 2,341.88 kB 2026-10-24T19:50:26.9284946Z dist/assets/iphone-18-pro-max-B3H2Zbeg.glb 2,399.02 kB 2026-10-24T19:50:26.9285166Z dist/assets/iphone-18-pro-Crheuaz9.glb 2,422.54 kB 2026-10-24T19:50:26.9285391Z dist/assets/iphone-duo-Cu4Xx1NH.glb 3,097.72 kB 2026-10-24T19:50:26.9285662Z dist/assets/MathTypeset-DEcVZfaU.css 28.83 kB │ gzip: 7.92 kB 2026-10-24T19:50:26.9285941Z dist/assets/main-CO_Qp_dy.css 528.10 kB │ gzip: 70.83 kB 2026-10-24T19:50:26.9286216Z dist/assets/JZOYTAAL-DEKgGvN8.js 0.05 kB │ gzip: 0.07 kB 2026-10-24T19:50:26.9286634Z dist/assets/_chat.draft._draftId-DJ7LAi8J.js 0.09 kB │ gzip: 0.11 kB │ map: 0.55 kB 2026-10-24T19:50:26.9287014Z dist/assets/legalLinks-BaIJY52l.js 0.10 kB │ gzip: 0.12 kB │ map: 0.24 kB 2026-10-24T19:50:26.9287356Z dist/assets/_chat._environmentId._threadId-DJ7LAi8J.js 0.10 kB │ gzip: 0.12 kB │ map: 0.57 kB 2026-10-24T19:50:26.9287690Z dist/assets/minus-DvZBHEtU.js 0.15 kB │ gzip: 0.16 kB │ map: 0.79 kB 2026-10-24T19:50:26.9287994Z dist/assets/circle-O_62Kz6M.js 0.16 kB │ gzip: 0.16 kB │ map: 0.84 kB 2026-10-24T19:50:26.9288304Z dist/assets/chevron-up-D-eqv5xz.js 0.16 kB │ gzip: 0.16 kB │ map: 0.83 kB 2026-10-24T19:50:26.9288616Z dist/assets/chevron-left-VzWFFfJV.js 0.17 kB │ gzip: 0.17 kB │ map: 0.84 kB 2026-10-24T19:50:26.9288933Z dist/assets/x-CtDhSmo0.js 0.18 kB │ gzip: 0.17 kB │ map: 0.87 kB 2026-10-24T19:50:26.9289234Z dist/assets/plus-DRJnlync.js 0.18 kB │ gzip: 0.17 kB │ map: 0.89 kB 2026-10-24T19:50:26.9289552Z dist/assets/FieldItemContext-D7F7CWCg.js 0.19 kB │ gzip: 0.18 kB │ map: 0.88 kB 2026-10-24T19:50:26.9289872Z dist/assets/arrow-up-Dxmh-8a4.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-24T19:50:26.9290182Z dist/assets/terminal-B7_CcXzt.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-24T19:50:26.9290488Z dist/assets/itemRows-DNgi4sqO.js 0.20 kB │ gzip: 0.17 kB │ map: 0.43 kB 2026-10-24T19:50:26.9290800Z dist/assets/arrow-down-CwiX2zUI.js 0.20 kB │ gzip: 0.18 kB │ map: 0.93 kB 2026-10-24T19:50:26.9291122Z dist/assets/RVARI57O-CgA1WoRv.js 0.20 kB │ gzip: 0.19 kB │ map: 0.64 kB 2026-10-24T19:50:26.9291440Z dist/assets/arrow-right-BV_nDoCV.js 0.20 kB │ gzip: 0.19 kB │ map: 0.94 kB 2026-10-24T19:50:26.9291748Z dist/assets/gauge--BDm3ivd.js 0.20 kB │ gzip: 0.19 kB │ map: 0.92 kB 2026-10-24T19:50:26.9292067Z dist/assets/chevrons-up-down-BkLK4jrE.js 0.21 kB │ gzip: 0.18 kB │ map: 0.98 kB 2026-10-24T19:50:26.9292381Z dist/assets/play-RXGUYyl2.js 0.22 kB │ gzip: 0.21 kB │ map: 0.90 kB 2026-10-24T19:50:26.9292689Z dist/assets/smartphone-D0Mgfa7D.js 0.23 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-24T19:50:26.9293035Z dist/assets/undo-2-CzUHuoIy.js 0.24 kB │ gzip: 0.20 kB │ map: 0.96 kB 2026-10-24T19:50:26.9293402Z dist/assets/circle-x-DkgNqhsK.js 0.24 kB │ gzip: 0.20 kB │ map: 1.05 kB 2026-10-24T19:50:26.9293719Z dist/assets/authRedirect-DWE5a_T9.js 0.25 kB │ gzip: 0.18 kB │ map: 1.23 kB 2026-10-24T19:50:26.9294049Z dist/assets/circle-arrow-up-Cnd0b-9q.js 0.26 kB │ gzip: 0.21 kB │ map: 1.11 kB 2026-10-24T19:50:26.9294365Z dist/assets/ellipsis-Ba3jR4KI.js 0.26 kB │ gzip: 0.19 kB │ map: 1.13 kB 2026-10-24T19:50:26.9294675Z dist/assets/log-in-axSX1Ul6.js 0.26 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-24T19:50:26.9294984Z dist/assets/useNavigate-ZTWFv7Wx.js 0.26 kB │ gzip: 0.22 kB │ map: 2.30 kB 2026-10-24T19:50:26.9295300Z dist/assets/useSearch-CZ7cIWSu.js 0.26 kB │ gzip: 0.20 kB │ map: 1.53 kB 2026-10-24T19:50:26.9295605Z dist/assets/copy-tx2aQfww.js 0.26 kB │ gzip: 0.23 kB │ map: 1.04 kB 2026-10-24T19:50:26.9296010Z dist/assets/cloneFileDiffMetadata-zVRGqYgv.js 0.27 kB │ gzip: 0.19 kB │ map: 1.23 kB 2026-10-24T19:50:26.9296389Z dist/assets/ellipsis-vertical-BmW5_1NR.js 0.28 kB │ gzip: 0.20 kB │ map: 1.19 kB 2026-10-24T19:50:26.9296719Z dist/assets/square-terminal-DLKd3WZs.js 0.28 kB │ gzip: 0.23 kB │ map: 1.18 kB 2026-10-24T19:50:26.9297030Z dist/assets/eye-DcrgQArc.js 0.28 kB │ gzip: 0.23 kB │ map: 1.05 kB 2026-10-24T19:50:26.9297346Z dist/assets/circle-alert-pHfDBynR.js 0.29 kB │ gzip: 0.21 kB │ map: 1.20 kB 2026-10-24T19:50:26.9297673Z dist/assets/external-link-C-DWxBJN.js 0.29 kB │ gzip: 0.23 kB │ map: 1.10 kB 2026-10-24T19:50:26.9298003Z dist/assets/mouse-pointer-2--4WLvE3e.js 0.29 kB │ gzip: 0.24 kB │ map: 1.02 kB 2026-10-24T19:50:26.9298323Z dist/assets/pencil-60m8KW76.js 0.31 kB │ gzip: 0.25 kB │ map: 1.06 kB 2026-10-24T19:50:26.9298634Z dist/assets/pen-line-CmhjfyJg.js 0.31 kB │ gzip: 0.25 kB │ map: 1.07 kB 2026-10-24T19:50:26.9298945Z dist/assets/plug-2-D0EPU-J9.js 0.31 kB │ gzip: 0.23 kB │ map: 1.21 kB 2026-10-24T19:50:26.9299259Z dist/assets/list-checks-C0UyaVrI.js 0.31 kB │ gzip: 0.22 kB │ map: 1.24 kB 2026-10-24T19:50:26.9299572Z dist/assets/FormContext-D-I_yxhH.js 0.33 kB │ gzip: 0.26 kB │ map: 1.13 kB 2026-10-24T19:50:26.9299882Z dist/assets/archive-x-B1Lxt_ae.js 0.33 kB │ gzip: 0.25 kB │ map: 1.24 kB 2026-10-24T19:50:26.9300204Z dist/assets/message-square-off-CC4CSLfF.js 0.35 kB │ gzip: 0.27 kB │ map: 1.22 kB 2026-10-24T19:50:26.9300537Z dist/assets/refresh-cw-f0sYLYFw.js 0.35 kB │ gzip: 0.25 kB │ map: 1.22 kB 2026-10-24T19:50:26.9300863Z dist/assets/settings.general-C0A8l0jF.js 0.36 kB │ gzip: 0.28 kB │ map: 0.84 kB 2026-10-24T19:50:26.9301184Z dist/assets/trash-2-BLtjvmSA.js 0.36 kB │ gzip: 0.24 kB │ map: 1.27 kB 2026-10-24T19:50:26.9301483Z dist/assets/camera-BPh_dJif.js 0.37 kB │ gzip: 0.28 kB │ map: 1.15 kB 2026-10-24T19:50:26.9301787Z dist/assets/server-CYq90Ros.js 0.37 kB │ gzip: 0.24 kB │ map: 1.43 kB 2026-10-24T19:50:26.9302093Z dist/assets/unlink-2-DC75hwNQ.js 0.38 kB │ gzip: 0.27 kB │ map: 1.83 kB 2026-10-24T19:50:26.9302399Z dist/assets/lock-B_0jes9T.js 0.39 kB │ gzip: 0.25 kB │ map: 1.93 kB 2026-10-24T19:50:26.9302704Z dist/assets/useLocation-BzR9jzNp.js 0.39 kB │ gzip: 0.28 kB │ map: 2.27 kB 2026-10-24T19:50:26.9303077Z dist/assets/settings.scheduled-tasks-BHaXUQKh.js 0.40 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-24T19:50:26.9303414Z dist/assets/toastHelpers-CSQRKo4F.js 0.40 kB │ gzip: 0.26 kB │ map: 2.12 kB 2026-10-24T19:50:26.9303737Z dist/assets/grip-vertical-B4CDIMqL.js 0.41 kB │ gzip: 0.23 kB │ map: 1.57 kB 2026-10-24T19:50:26.9304073Z dist/assets/useT3ConnectAuthPrompt-BsI_DHk0.js 0.41 kB │ gzip: 0.30 kB │ map: 0.95 kB 2026-10-24T19:50:26.9304410Z dist/assets/previewBridge--WA15Zcw.js 0.42 kB │ gzip: 0.29 kB │ map: 1.92 kB 2026-10-24T19:50:26.9304722Z dist/assets/K3MD6TGW-DGmNtd_j.js 0.42 kB │ gzip: 0.32 kB │ map: 1.02 kB 2026-10-24T19:50:26.9305030Z dist/assets/hammer-BtSyZFYT.js 0.42 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-24T19:50:26.9305398Z dist/assets/inbox-BGGCARsb.js 0.43 kB │ gzip: 0.32 kB │ map: 1.89 kB 2026-10-24T19:50:26.9305761Z dist/assets/mouse-pointer-click-BFW6AziF.js 0.46 kB │ gzip: 0.31 kB │ map: 1.46 kB 2026-10-24T19:50:26.9306083Z dist/assets/eye-off-CGiC01Xr.js 0.46 kB │ gzip: 0.30 kB │ map: 1.37 kB 2026-10-24T19:50:26.9306410Z dist/assets/sliders-horizontal-BHkPcwje.js 0.47 kB │ gzip: 0.26 kB │ map: 1.68 kB 2026-10-24T19:50:26.9306730Z dist/assets/folder-BUa2a6zj.js 0.47 kB │ gzip: 0.31 kB │ map: 1.87 kB 2026-10-24T19:50:26.9307057Z dist/assets/fileCommentAnnotations-BgdL_7u9.js 0.48 kB │ gzip: 0.30 kB │ map: 2.48 kB 2026-10-24T19:50:26.9307389Z dist/assets/radio-tower-B-fb5gOx.js 0.49 kB │ gzip: 0.32 kB │ map: 1.58 kB 2026-10-24T19:50:26.9307711Z dist/assets/redirect-D3L17tzd.js 0.49 kB │ gzip: 0.32 kB │ map: 3.46 kB 2026-10-24T19:50:26.9308021Z dist/assets/star-CSH4IHn1.js 0.50 kB │ gzip: 0.32 kB │ map: 1.18 kB 2026-10-24T19:50:26.9308331Z dist/assets/file-braces-DgOzaxUZ.js 0.50 kB │ gzip: 0.29 kB │ map: 1.44 kB 2026-10-24T19:50:26.9308647Z dist/assets/folder-tree-BjnUo84q.js 0.51 kB │ gzip: 0.29 kB │ map: 1.45 kB 2026-10-24T19:50:26.9308959Z dist/assets/5THPTBWS-Ce_hS451.js 0.52 kB │ gzip: 0.34 kB │ map: 1.60 kB 2026-10-24T19:50:26.9309269Z dist/assets/sparkles-RZkyvAwn.js 0.53 kB │ gzip: 0.31 kB │ map: 1.44 kB 2026-10-24T19:50:26.9309585Z dist/assets/ScopedSwitch-Cn5aX1yD.js 0.53 kB │ gzip: 0.39 kB │ map: 1.47 kB 2026-10-24T19:50:26.9309911Z dist/assets/browserLinkTarget-CMnAhbjy.js 0.53 kB │ gzip: 0.36 kB │ map: 2.48 kB 2026-10-24T19:50:26.9310236Z dist/assets/TSHNXIZL-q9mdpGpW.js 0.53 kB │ gzip: 0.39 kB │ map: 1.34 kB 2026-10-24T19:50:26.9310546Z dist/assets/rows-3-DMely9jx.js 0.54 kB │ gzip: 0.31 kB │ map: 2.87 kB 2026-10-24T19:50:26.9310862Z dist/assets/onboarding-HtsTPJAs.js 0.54 kB │ gzip: 0.32 kB │ map: 2.20 kB 2026-10-24T19:50:26.9311181Z dist/assets/triangle-alert-C5aZTDBX.js 0.57 kB │ gzip: 0.33 kB │ map: 2.93 kB 2026-10-24T19:50:26.9311509Z dist/assets/paintbrush-DCImhdDK.js 0.57 kB │ gzip: 0.37 kB │ map: 1.44 kB 2026-10-24T19:50:26.9311833Z dist/assets/useAriaLabelledBy-CQPoUrOG.js 0.58 kB │ gzip: 0.40 kB │ map: 3.53 kB 2026-10-24T19:50:26.9312160Z dist/assets/codeowners-C8r90Shi.js 0.58 kB │ gzip: 0.34 kB │ map: 1.09 kB 2026-10-24T19:50:26.9312485Z dist/assets/trending-up-PW95SRBw.js 0.59 kB │ gzip: 0.34 kB │ map: 2.90 kB 2026-10-24T19:50:26.9312799Z dist/assets/G3MDBVQH-BZmnMkFw.js 0.60 kB │ gzip: 0.38 kB │ map: 1.76 kB 2026-10-24T19:50:26.9313170Z dist/assets/use-atom-command-Bw7IAbaQ.js 0.60 kB │ gzip: 0.39 kB │ map: 1.86 kB 2026-10-24T19:50:26.9313489Z dist/assets/usageAccess-rF_MTyXy.js 0.62 kB │ gzip: 0.33 kB │ map: 2.05 kB 2026-10-24T19:50:26.9313800Z dist/assets/square-v7Oo0Y38.js 0.63 kB │ gzip: 0.38 kB │ map: 3.08 kB 2026-10-24T19:50:26.9314111Z dist/assets/composerTrigger-BP81K-4K.js 0.63 kB │ gzip: 0.38 kB │ map: 6.62 kB 2026-10-24T19:50:26.9314433Z dist/assets/jsx-runtime-DVMLLmEC.js 0.64 kB │ gzip: 0.44 kB │ map: 3.54 kB 2026-10-24T19:50:26.9314838Z dist/assets/monitor-DKhPzqUQ.js 0.64 kB │ gzip: 0.41 kB │ map: 2.90 kB 2026-10-24T19:50:26.9315187Z dist/assets/5GK6JWQ2-XTJR19D8.js 0.64 kB │ gzip: 0.47 kB │ map: 1.68 kB 2026-10-24T19:50:26.9315505Z dist/assets/runtimeModeConfig-C97PIe3m.js 0.64 kB │ gzip: 0.38 kB │ map: 1.52 kB 2026-10-24T19:50:26.9315829Z dist/assets/upload-BcSejyNp.js 0.66 kB │ gzip: 0.39 kB │ map: 2.48 kB 2026-10-24T19:50:26.9316166Z dist/assets/WorkspacePageContainer-DztDaoHX.js 0.67 kB │ gzip: 0.48 kB │ map: 2.06 kB 2026-10-24T19:50:26.9316503Z dist/assets/CSPContext-L0FF4knb.js 0.71 kB │ gzip: 0.47 kB │ map: 4.09 kB 2026-10-24T19:50:26.9316834Z dist/assets/use-atom-query-runner-Ckvj4YGN.js 0.71 kB │ gzip: 0.44 kB │ map: 2.46 kB 2026-10-24T19:50:26.9317167Z dist/assets/skeleton-D2zBzHe_.js 0.72 kB │ gzip: 0.48 kB │ map: 1.79 kB 2026-10-24T19:50:26.9317478Z dist/assets/layers-Dl99swt-.js 0.73 kB │ gzip: 0.38 kB │ map: 2.42 kB 2026-10-24T19:50:26.9317802Z dist/assets/shellsession-B6LP6YJG.js 0.76 kB │ gzip: 0.46 kB │ map: 1.37 kB 2026-10-24T19:50:26.9318130Z dist/assets/usageShortcuts-DjAGbGvM.js 0.76 kB │ gzip: 0.44 kB │ map: 2.41 kB 2026-10-24T19:50:26.9318448Z dist/assets/tsv-sltzmVWM.js 0.77 kB │ gzip: 0.37 kB │ map: 1.38 kB 2026-10-24T19:50:26.9318757Z dist/assets/MathTypeset-DiBH90KS.js 0.82 kB │ gzip: 0.56 kB │ map: 26.87 kB 2026-10-24T19:50:26.9319835Z dist/assets/DKTLEL5E-DciMwFJ1.js 0.87 kB │ gzip: 0.43 kB │ map: 2.42 kB 2026-10-24T19:50:26.9320152Z dist/assets/useNavigateBack-C0U_AfSW.js 0.88 kB │ gzip: 0.56 kB │ map: 3.67 kB 2026-10-24T19:50:26.9320476Z dist/assets/pair-DBjaFc6S.js 0.88 kB │ gzip: 0.55 kB │ map: 3.77 kB 2026-10-24T19:50:26.9320796Z dist/assets/html-derivative-QfWcQxux.js 0.89 kB │ gzip: 0.49 kB │ map: 1.46 kB 2026-10-24T19:50:26.9321137Z dist/assets/useRelativeTimeState-B8Lvd7C7.js 0.90 kB │ gzip: 0.54 kB │ map: 3.30 kB 2026-10-24T19:50:26.9321465Z dist/assets/SecretInput-Dk1XbY7G.js 0.90 kB │ gzip: 0.60 kB │ map: 2.97 kB 2026-10-24T19:50:26.9321790Z dist/assets/linkedPrompt-CM6Kq62e.js 0.91 kB │ gzip: 0.53 kB │ map: 2.66 kB 2026-10-24T19:50:26.9322094Z dist/assets/kbd-ClnU6hi-.js 0.99 kB │ gzip: 0.50 kB │ map: 2.57 kB 2026-10-24T19:50:26.9322426Z dist/assets/useScopedModelAvailability-BMmvyB1O.js 0.99 kB │ gzip: 0.60 kB │ map: 4.94 kB 2026-10-24T19:50:26.9322763Z dist/assets/74OO7NKP-DZUAHNBR.js 1.01 kB │ gzip: 0.62 kB │ map: 2.78 kB 2026-10-24T19:50:26.9323127Z dist/assets/draft-input-COD7gj__.js 1.02 kB │ gzip: 0.66 kB │ map: 4.35 kB 2026-10-24T19:50:26.9323441Z dist/assets/git-rebase-Bl-U2xaZ.js 1.03 kB │ gzip: 0.47 kB │ map: 1.72 kB 2026-10-24T19:50:26.9323756Z dist/assets/qmldir-DCQb3MpD.js 1.03 kB │ gzip: 0.48 kB │ map: 1.74 kB 2026-10-24T19:50:26.9324060Z dist/assets/WEVWDWVA-CEvgpJt3.js 1.07 kB │ gzip: 0.57 kB │ map: 2.98 kB 2026-10-24T19:50:26.9324368Z dist/assets/type-IZznv1At.js 1.07 kB │ gzip: 0.52 kB │ map: 4.84 kB 2026-10-24T19:50:26.9324699Z dist/assets/git-pull-request-draft-Dd5x8xqM.js 1.09 kB │ gzip: 0.44 kB │ map: 5.05 kB 2026-10-24T19:50:26.9325033Z dist/assets/user-lock-3dt3yw_X.js 1.09 kB │ gzip: 0.50 kB │ map: 4.74 kB 2026-10-24T19:50:26.9325394Z dist/assets/sun-B8Xysd5K.js 1.11 kB │ gzip: 0.52 kB │ map: 4.01 kB 2026-10-24T19:50:26.9325738Z dist/assets/route-DV_JcBsb.js 1.12 kB │ gzip: 0.51 kB │ map: 4.41 kB 2026-10-24T19:50:26.9326039Z dist/assets/wrench-Ct0tGnPy.js 1.15 kB │ gzip: 0.57 kB │ map: 3.90 kB 2026-10-24T19:50:26.9326366Z dist/assets/pullRequestReviewStore-BUOZy_n4.js 1.15 kB │ gzip: 0.57 kB │ map: 5.66 kB 2026-10-24T19:50:26.9326684Z dist/assets/csv-Dx-8-gkx.js 1.17 kB │ gzip: 0.40 kB │ map: 2.00 kB 2026-10-24T19:50:26.9326998Z dist/assets/observeResize-CZSaj3UZ.js 1.19 kB │ gzip: 0.64 kB │ map: 5.33 kB 2026-10-24T19:50:26.9327315Z dist/assets/minimize-2-BWhrEW73.js 1.20 kB │ gzip: 0.59 kB │ map: 5.47 kB 2026-10-24T19:50:26.9327643Z dist/assets/ExpandableText-MOot-btL.js 1.23 kB │ gzip: 0.77 kB │ map: 5.16 kB 2026-10-24T19:50:26.9327971Z dist/assets/git-commit-BSykSTBG.js 1.27 kB │ gzip: 0.56 kB │ map: 2.07 kB 2026-10-24T19:50:26.9328301Z dist/assets/WorkspacePageHeader-DpSSFSRE.js 1.30 kB │ gzip: 0.69 kB │ map: 4.15 kB 2026-10-24T19:50:26.9328638Z dist/assets/discovery-list-B2Nkc9ye.js 1.39 kB │ gzip: 0.76 kB │ map: 4.07 kB 2026-10-24T19:50:26.9328954Z dist/assets/xsl-Bqr2UbU6.js 1.40 kB │ gzip: 0.53 kB │ map: 2.22 kB 2026-10-24T19:50:26.9329272Z dist/assets/AuthSurfaceShell-CST-ySbW.js 1.42 kB │ gzip: 0.75 kB │ map: 5.23 kB 2026-10-24T19:50:26.9329609Z dist/assets/semver-CFbvOQKc.js 1.42 kB │ gzip: 0.64 kB │ map: 9.55 kB 2026-10-24T19:50:26.9329925Z dist/assets/6IMQ5BUJ-6itAmRoY.js 1.43 kB │ gzip: 0.79 kB │ map: 3.49 kB 2026-10-24T19:50:26.9330239Z dist/assets/dotenv-_5a1GRtc.js 1.45 kB │ gzip: 0.56 kB │ map: 2.34 kB 2026-10-24T19:50:26.9330558Z dist/assets/CommandBlock-BS0-Bv6u.js 1.48 kB │ gzip: 0.89 kB │ map: 4.75 kB 2026-10-24T19:50:26.9330876Z dist/assets/sparql-D_iOobhT.js 1.52 kB │ gzip: 0.84 kB │ map: 2.14 kB 2026-10-24T19:50:26.9331180Z dist/assets/ini-B5eOa1yu.js 1.55 kB │ gzip: 0.52 kB │ map: 2.47 kB 2026-10-24T19:50:26.9331493Z dist/assets/sourceControl-FmI9vk2O.js 1.56 kB │ gzip: 0.52 kB │ map: 5.30 kB 2026-10-24T19:50:26.9331829Z dist/assets/RedactedSensitiveText-qS5CoeNE.js 1.56 kB │ gzip: 0.96 kB │ map: 6.24 kB 2026-10-24T19:50:26.9332179Z dist/assets/previewMiniPlayerStore-CkDOqUX3.js 1.56 kB │ gzip: 0.70 kB │ map: 8.23 kB 2026-10-24T19:50:26.9332532Z dist/assets/EnvironmentMachineIcon-Co6uBvrg.js 1.66 kB │ gzip: 0.80 kB │ map: 4.92 kB 2026-10-24T19:50:26.9332866Z dist/assets/5N7A7DKN-Ci7Zq-A5.js 1.67 kB │ gzip: 0.96 kB │ map: 4.05 kB 2026-10-24T19:50:26.9333275Z dist/assets/preview-9KVasQ7j.js 1.71 kB │ gzip: 0.59 kB │ map: 6.09 kB 2026-10-24T19:50:26.9333606Z dist/assets/fortran-fixed-form-DEKoE2YW.js 1.71 kB │ gzip: 0.72 kB │ map: 2.77 kB 2026-10-24T19:50:26.9333945Z dist/assets/ConnectionStatusDot-BuzX6ohm.js 1.73 kB │ gzip: 0.92 kB │ map: 5.60 kB 2026-10-24T19:50:26.9334292Z dist/assets/T3ConnectSidebarSignIn-BH7PTG7v.js 1.75 kB │ gzip: 0.81 kB │ map: 5.39 kB 2026-10-24T19:50:26.9334618Z dist/assets/docker-IyjqRm3v.js 1.77 kB │ gzip: 0.63 kB │ map: 2.65 kB 2026-10-24T19:50:26.9335004Z dist/assets/hxml-B0Qn7Nwc.js 1.78 kB │ gzip: 0.91 kB │ map: 2.51 kB 2026-10-24T19:50:26.9335391Z dist/assets/WorkspaceBreadcrumb-CTxS4Czc.js 1.80 kB │ gzip: 0.89 kB │ map: 5.93 kB 2026-10-24T19:50:26.9335717Z dist/assets/session-CBSBXxy_.js 1.81 kB │ gzip: 0.90 kB │ map: 8.91 kB 2026-10-24T19:50:26.9336019Z dist/assets/query-BSBqj6E2.js 1.81 kB │ gzip: 0.97 kB │ map: 8.50 kB 2026-10-24T19:50:26.9336332Z dist/assets/mediaSource-CDaN-3T5.js 1.84 kB │ gzip: 0.91 kB │ map: 9.78 kB 2026-10-24T19:50:26.9336641Z dist/assets/desktop-Dlh5hvp9.js 1.87 kB │ gzip: 0.78 kB │ map: 2.76 kB 2026-10-24T19:50:26.9336952Z dist/assets/user-round-DIWQPoBt.js 1.87 kB │ gzip: 0.76 kB │ map: 8.43 kB 2026-10-24T19:50:26.9337271Z dist/assets/memory-stick-CTKyzUTl.js 1.89 kB │ gzip: 0.77 kB │ map: 7.67 kB 2026-10-24T19:50:26.9337593Z dist/assets/7WLXJQOR-D6QVYUu9.js 1.99 kB │ gzip: 1.00 kB │ map: 2.80 kB 2026-10-24T19:50:26.9337906Z dist/assets/attachments-QnGojQoj.js 2.05 kB │ gzip: 0.89 kB │ map: 10.19 kB 2026-10-24T19:50:26.9338229Z dist/assets/NoProjectsHero-DJo7ZdZm.js 2.05 kB │ gzip: 1.06 kB │ map: 8.31 kB 2026-10-24T19:50:26.9338544Z dist/assets/textarea-fo-g86bR.js 2.05 kB │ gzip: 1.01 kB │ map: 7.13 kB 2026-10-24T19:50:26.9338868Z dist/assets/ProviderAuthTerminal-iaPKjOBO.js 2.13 kB │ gzip: 1.14 kB │ map: 8.51 kB 2026-10-24T19:50:26.9339195Z dist/assets/search-xLME8fgJ.js 2.16 kB │ gzip: 1.13 kB │ map: 13.13 kB 2026-10-24T19:50:26.9339493Z dist/assets/erb-C0PT2tVJ.js 2.17 kB │ gzip: 0.65 kB │ map: 3.34 kB 2026-10-24T19:50:26.9339808Z dist/assets/5B3SVYGG-Dh2l4W-V.js 2.17 kB │ gzip: 1.10 kB │ map: 5.94 kB 2026-10-24T19:50:26.9340116Z dist/assets/wenyan-C8pVoKbM.js 2.19 kB │ gzip: 1.13 kB │ map: 3.19 kB 2026-10-24T19:50:26.9340436Z dist/assets/AnimatedHeight-Bu8VSDu4.js 2.20 kB │ gzip: 1.11 kB │ map: 10.50 kB 2026-10-24T19:50:26.9340759Z dist/assets/assetUrls-CySxKY-W.js 2.23 kB │ gzip: 1.16 kB │ map: 8.60 kB 2026-10-24T19:50:26.9341067Z dist/assets/jssm-DXw9l8Rf.js 2.27 kB │ gzip: 0.64 kB │ map: 3.39 kB 2026-10-24T19:50:26.9341380Z dist/assets/EnvironmentRow-P6Xrz8sP.js 2.29 kB │ gzip: 1.22 kB │ map: 8.55 kB 2026-10-24T19:50:26.9341705Z dist/assets/fileLinks-BbVuUN7i.js 2.33 kB │ gzip: 1.11 kB │ map: 11.00 kB 2026-10-24T19:50:26.9342019Z dist/assets/edge-DbocH-4h.js 2.34 kB │ gzip: 0.70 kB │ map: 3.63 kB 2026-10-24T19:50:26.9342331Z dist/assets/reg-CRGYupPL.js 2.37 kB │ gzip: 0.72 kB │ map: 3.51 kB 2026-10-24T19:50:26.9342647Z dist/assets/usePermissionStatus-BYJHwh_E.js 2.41 kB │ gzip: 1.26 kB │ map: 10.74 kB 2026-10-24T19:50:26.9343013Z dist/assets/useResizeDrag-K16rNICO.js 2.52 kB │ gzip: 1.17 kB │ map: 10.38 kB 2026-10-24T19:50:26.9343334Z dist/assets/square-pen-Bre3KHiZ.js 2.53 kB │ gzip: 1.08 kB │ map: 11.16 kB 2026-10-24T19:50:26.9343653Z dist/assets/FTXIJQGB-CggtIYAM.js 2.58 kB │ gzip: 1.15 kB │ map: 4.98 kB 2026-10-24T19:50:26.9343956Z dist/assets/diff-woXpYk--.js 2.60 kB │ gzip: 0.72 kB │ map: 3.86 kB 2026-10-24T19:50:26.9344352Z dist/assets/sourceControlPresentation-DYVvNc0r.js 2.60 kB │ gzip: 1.35 kB │ map: 13.27 kB 2026-10-24T19:50:26.9344719Z dist/assets/gleam-CSRkHgEL.js 2.61 kB │ gzip: 0.85 kB │ map: 3.99 kB 2026-10-24T19:50:26.9345030Z dist/assets/connect-Dz0vTAFT.js 2.63 kB │ gzip: 1.40 kB │ map: 10.10 kB 2026-10-24T19:50:26.9345334Z dist/assets/hy-CZbG8q4J.js 2.68 kB │ gzip: 1.21 kB │ map: 3.69 kB 2026-10-24T19:50:26.9345657Z dist/assets/sidebarProjectGrouping-c-EpPNh6.js 2.75 kB │ gzip: 1.00 kB │ map: 11.52 kB 2026-10-24T19:50:26.9345984Z dist/assets/openscad-BUDT5pXO.js 2.86 kB │ gzip: 1.04 kB │ map: 4.23 kB 2026-10-24T19:50:26.9346296Z dist/assets/log-BNLmms1o.js 2.88 kB │ gzip: 0.93 kB │ map: 4.35 kB 2026-10-24T19:50:26.9346611Z dist/assets/standalone-page-BuwC2fNh.js 2.89 kB │ gzip: 1.25 kB │ map: 10.07 kB 2026-10-24T19:50:26.9346935Z dist/assets/json-CU5hZXC7.js 2.92 kB │ gzip: 0.85 kB │ map: 4.35 kB 2026-10-24T19:50:26.9347238Z dist/assets/preview-De9Yy3gS.js 2.95 kB │ gzip: 1.40 kB │ map: 11.90 kB 2026-10-24T19:50:26.9347550Z dist/assets/cairo-DLTphjLi.js 2.97 kB │ gzip: 0.83 kB │ map: 4.57 kB 2026-10-24T19:50:26.9347855Z dist/assets/berry-DKpUyyne.js 3.04 kB │ gzip: 0.84 kB │ map: 4.85 kB 2026-10-24T19:50:26.9348159Z dist/assets/jsonl-CmCQp5Yx.js 3.04 kB │ gzip: 0.82 kB │ map: 4.51 kB 2026-10-24T19:50:26.9348457Z dist/assets/jsonc-CYpm1nAK.js 3.14 kB │ gzip: 0.82 kB │ map: 4.61 kB 2026-10-24T19:50:26.9348759Z dist/assets/logo-Cluzi2Zq.js 3.16 kB │ gzip: 1.50 kB │ map: 3.82 kB 2026-10-24T19:50:26.9349071Z dist/assets/textDirection-DGhDAV7L.js 3.22 kB │ gzip: 1.47 kB │ map: 9.42 kB 2026-10-24T19:50:26.9349388Z dist/assets/device-kFGTEsJ9.js 3.24 kB │ gzip: 1.43 kB │ map: 15.42 kB 2026-10-24T19:50:26.9349685Z dist/assets/po-BiJDBrnU.js 3.27 kB │ gzip: 0.94 kB │ map: 5.09 kB 2026-10-24T19:50:26.9349987Z dist/assets/json5-BR5RXkoi.js 3.29 kB │ gzip: 0.86 kB │ map: 4.96 kB 2026-10-24T19:50:26.9350291Z dist/assets/mipsasm-BMqwQI7S.js 3.29 kB │ gzip: 1.21 kB │ map: 4.68 kB 2026-10-24T19:50:26.9350595Z dist/assets/tasl-DMoTqEGO.js 3.32 kB │ gzip: 0.88 kB │ map: 5.13 kB 2026-10-24T19:50:26.9350896Z dist/assets/genie-CV2tkWYe.js 3.39 kB │ gzip: 1.24 kB │ map: 4.87 kB 2026-10-24T19:50:26.9351202Z dist/assets/rel-BtDbiS_P.js 3.40 kB │ gzip: 1.14 kB │ map: 4.88 kB 2026-10-24T19:50:26.9351501Z dist/assets/vala-zf12oZj6.js 3.40 kB │ gzip: 1.22 kB │ map: 4.90 kB 2026-10-24T19:50:26.9351809Z dist/assets/6OLKWJ4F-BsJtNztg.js 3.47 kB │ gzip: 1.64 kB │ map: 8.16 kB 2026-10-24T19:50:26.9352117Z dist/assets/splunk-BC2Px7Mm.js 3.47 kB │ gzip: 1.55 kB │ map: 4.45 kB 2026-10-24T19:50:26.9352447Z dist/assets/FoldedSettingsSection-W6hbVWAx.js 3.51 kB │ gzip: 1.63 kB │ map: 18.85 kB 2026-10-24T19:50:26.9352768Z dist/assets/users-JCKA3SAz.js 3.52 kB │ gzip: 1.35 kB │ map: 15.98 kB 2026-10-24T19:50:26.9353109Z dist/assets/hurl-Bjvvc9lj.js 3.55 kB │ gzip: 1.13 kB │ map: 5.48 kB 2026-10-24T19:50:26.9353493Z dist/assets/panel-tab-close-button-DpJnr1h9.js 3.63 kB │ gzip: 1.88 kB │ map: 15.33 kB 2026-10-24T19:50:26.9353864Z dist/assets/usageFormat-CP56Y4Gt.js 3.63 kB │ gzip: 1.47 kB │ map: 14.84 kB 2026-10-24T19:50:26.9354175Z dist/assets/fluent-C03EYrpw.js 3.64 kB │ gzip: 0.93 kB │ map: 5.21 kB 2026-10-24T19:50:26.9354482Z dist/assets/jsonnet-CJTPZ8u_.js 3.65 kB │ gzip: 1.07 kB │ map: 5.43 kB 2026-10-24T19:50:26.9354796Z dist/assets/ssh-config-BgfXC-Er.js 3.65 kB │ gzip: 1.63 kB │ map: 4.50 kB 2026-10-24T19:50:26.9355110Z dist/assets/kdl-CsD5j6eV.js 3.66 kB │ gzip: 1.07 kB │ map: 5.51 kB 2026-10-24T19:50:26.9355416Z dist/assets/narrat-_X_XdTYD.js 3.70 kB │ gzip: 1.13 kB │ map: 5.43 kB 2026-10-24T19:50:26.9355723Z dist/assets/glsl-B3Z4Qj6t.js 3.73 kB │ gzip: 1.48 kB │ map: 4.44 kB 2026-10-24T19:50:26.9356037Z dist/assets/t3ProjectFile-MTd5Suwr.js 3.73 kB │ gzip: 1.53 kB │ map: 21.81 kB 2026-10-24T19:50:26.9356356Z dist/assets/turtle-ByJddavk.js 3.73 kB │ gzip: 1.00 kB │ map: 5.50 kB 2026-10-24T19:50:26.9356666Z dist/assets/threadSort-bjHzZAxR.js 3.75 kB │ gzip: 1.60 kB │ map: 20.16 kB 2026-10-24T19:50:26.9356995Z dist/assets/lazyRouteComponent-D5Ht-3SL.js 3.80 kB │ gzip: 1.39 kB │ map: 25.98 kB 2026-10-24T19:50:26.9357327Z dist/assets/ProjectMonogram-Vup_50fX.js 3.83 kB │ gzip: 1.57 kB │ map: 12.77 kB 2026-10-24T19:50:26.9357639Z dist/assets/ron-VUp2lXgN.js 3.94 kB │ gzip: 1.01 kB │ map: 6.03 kB 2026-10-24T19:50:26.9357942Z dist/assets/zenscript-BnlCZFoB.js 3.95 kB │ gzip: 1.31 kB │ map: 5.76 kB 2026-10-24T19:50:26.9358268Z dist/assets/toggle-group-DOFabD6X.js 3.98 kB │ gzip: 1.70 kB │ map: 17.27 kB 2026-10-24T19:50:26.9358591Z dist/assets/workflow-DZg1siTd.js 3.99 kB │ gzip: 1.44 kB │ map: 18.04 kB 2026-10-24T19:50:26.9358898Z dist/assets/gn-ilITqXS6.js 4.03 kB │ gzip: 1.52 kB │ map: 5.28 kB 2026-10-24T19:50:26.9359212Z dist/assets/SettingsPanels.logic-87BVOMeo.js 4.08 kB │ gzip: 1.35 kB │ map: 14.38 kB 2026-10-24T19:50:26.9359533Z dist/assets/alert-VxijgGyd.js 4.12 kB │ gzip: 1.62 kB │ map: 13.51 kB 2026-10-24T19:50:26.9359843Z dist/assets/CompositeRoot-FF9au0M-.js 4.13 kB │ gzip: 1.93 kB │ map: 20.99 kB 2026-10-24T19:50:26.9360154Z dist/assets/toggle-DOExvE6c.js 4.13 kB │ gzip: 1.72 kB │ map: 11.55 kB 2026-10-24T19:50:26.9360481Z dist/assets/SettingsScopeNotice-BCApnVD-.js 4.14 kB │ gzip: 1.90 kB │ map: 19.31 kB 2026-10-24T19:50:26.9360813Z dist/assets/CXAC5362-CJVXxMPH.js 4.17 kB │ gzip: 1.97 kB │ map: 10.66 kB 2026-10-24T19:50:26.9361118Z dist/assets/pascal-4ZHwLPI5.js 4.18 kB │ gzip: 1.71 kB │ map: 5.54 kB 2026-10-24T19:50:26.9361424Z dist/assets/empty-3BBP7Y2v.js 4.19 kB │ gzip: 1.46 kB │ map: 11.56 kB 2026-10-24T19:50:26.9361741Z dist/assets/desktopUpdate.logic-DlvhG2zH.js 4.20 kB │ gzip: 1.69 kB │ map: 15.14 kB 2026-10-24T19:50:26.9362081Z dist/assets/vcsRefInvalidation-DUct0Hs1.js 4.23 kB │ gzip: 2.06 kB │ map: 30.70 kB 2026-10-24T19:50:26.9362398Z dist/assets/http-Dz--gbJ7.js 4.45 kB │ gzip: 1.09 kB │ map: 6.78 kB 2026-10-24T19:50:26.9362696Z dist/assets/tcl-CZd0xW_V.js 4.46 kB │ gzip: 1.54 kB │ map: 6.48 kB 2026-10-24T19:50:26.9363114Z dist/assets/timestampFormat-BBUHLb6E.js 4.46 kB │ gzip: 1.58 kB │ map: 20.84 kB 2026-10-24T19:50:26.9363471Z dist/assets/useParams-CrfmNdjx.js 4.53 kB │ gzip: 2.00 kB │ map: 26.30 kB 2026-10-24T19:50:26.9363784Z dist/assets/nextflow-BJtWHP5T.js 4.55 kB │ gzip: 1.20 kB │ map: 6.87 kB 2026-10-24T19:50:26.9364100Z dist/assets/rosmsg-CAekHB0j.js 4.56 kB │ gzip: 1.09 kB │ map: 6.76 kB 2026-10-24T19:50:26.9364432Z dist/assets/projectFilesQueryState-ZkB0FOoF.js 4.59 kB │ gzip: 2.22 kB │ map: 20.22 kB 2026-10-24T19:50:26.9364757Z dist/assets/polar-C7UOKdEL.js 4.70 kB │ gzip: 1.16 kB │ map: 7.26 kB 2026-10-24T19:50:26.9365063Z dist/assets/assets-DcUtWSqH.js 4.72 kB │ gzip: 2.11 kB │ map: 22.56 kB 2026-10-24T19:50:26.9365366Z dist/assets/sdbl-bTVj8UrX.js 4.73 kB │ gzip: 2.04 kB │ map: 5.90 kB 2026-10-24T19:50:26.9365671Z dist/assets/fennel-DQxkIbk2.js 4.80 kB │ gzip: 1.57 kB │ map: 6.43 kB 2026-10-24T19:50:26.9365972Z dist/assets/bibtex-Ci_nEsc7.js 4.83 kB │ gzip: 0.86 kB │ map: 7.03 kB 2026-10-24T19:50:26.9366293Z dist/assets/settings.archived-CpzghqLf.js 5.02 kB │ gzip: 2.16 kB │ map: 31.79 kB 2026-10-24T19:50:26.9366609Z dist/assets/llvm-Cm23YOpf.js 5.08 kB │ gzip: 2.04 kB │ map: 6.68 kB 2026-10-24T19:50:26.9366916Z dist/assets/HDGCDEEZ-Cvsj_b7p.js 5.17 kB │ gzip: 2.48 kB │ map: 13.05 kB 2026-10-24T19:50:26.9367215Z dist/assets/wgsl-BsKzXJz4.js 5.17 kB │ gzip: 1.42 kB │ map: 7.51 kB 2026-10-24T19:50:26.9367526Z dist/assets/keybindings-CEi2nauQ.js 5.32 kB │ gzip: 2.12 kB │ map: 28.47 kB 2026-10-24T19:50:26.9367844Z dist/assets/gdresource-C0sCabJj.js 5.33 kB │ gzip: 1.36 kB │ map: 7.81 kB 2026-10-24T19:50:26.9368161Z dist/assets/5S6HY5KT-B75Q3qGp.js 5.35 kB │ gzip: 2.67 kB │ map: 13.95 kB 2026-10-24T19:50:26.9368462Z dist/assets/zig-CMLA9XwU.js 5.37 kB │ gzip: 1.59 kB │ map: 7.87 kB 2026-10-24T19:50:26.9368762Z dist/assets/qml-DyjGyXLX.js 5.37 kB │ gzip: 1.41 kB │ map: 8.17 kB 2026-10-24T19:50:26.9369057Z dist/assets/dax-BkyTk9wS.js 5.39 kB │ gzip: 2.25 kB │ map: 6.77 kB 2026-10-24T19:50:26.9369358Z dist/assets/bicep-CUHmPFLl.js 5.41 kB │ gzip: 1.18 kB │ map: 7.92 kB 2026-10-24T19:50:26.9369681Z dist/assets/ReadOnlySourcePreview-Ct2ZHy1o.js 5.45 kB │ gzip: 2.21 kB │ map: 19.88 kB 2026-10-24T19:50:26.9370069Z dist/assets/xml-D1Mu8RCW.js 5.47 kB │ gzip: 1.27 kB │ map: 7.90 kB 2026-10-24T19:50:26.9370401Z dist/assets/awk-BWXHIvNe.js 5.49 kB │ gzip: 1.41 kB │ map: 8.00 kB 2026-10-24T19:50:26.9370750Z dist/assets/coq-BrsZFFmf.js 5.58 kB │ gzip: 1.95 kB │ map: 7.52 kB 2026-10-24T19:50:26.9371093Z dist/assets/jinja-C4P3y_qB.js 5.67 kB │ gzip: 1.39 kB │ map: 8.57 kB 2026-10-24T19:50:26.9371549Z dist/assets/mediaReference-C0dIqaK0.js 5.76 kB │ gzip: 2.53 kB │ map: 26.43 kB 2026-10-24T19:50:26.9371912Z dist/assets/guideRunStore-CMV8UWHU.js 5.76 kB │ gzip: 2.55 kB │ map: 26.90 kB 2026-10-24T19:50:26.9372309Z dist/assets/UQJE5E4I-CtjNRxzl.js 5.77 kB │ gzip: 2.88 kB │ map: 16.01 kB 2026-10-24T19:50:26.9372665Z dist/assets/settings-l6A9LedX.js 5.78 kB │ gzip: 2.48 kB │ map: 23.03 kB 2026-10-24T19:50:26.9373143Z dist/assets/primary-CEZ1qjtz.js 5.80 kB │ gzip: 2.27 kB │ map: 25.91 kB 2026-10-24T19:50:26.9385617Z dist/assets/lean-CewbzKMR.js 5.81 kB │ gzip: 1.95 kB │ map: 7.88 kB 2026-10-24T19:50:26.9385949Z dist/assets/moonbit-CaWjb8XO.js 5.93 kB │ gzip: 1.71 kB │ map: 8.68 kB 2026-10-24T19:50:26.9386268Z dist/assets/powerquery-DNMTfnFr.js 5.94 kB │ gzip: 1.54 kB │ map: 8.52 kB 2026-10-24T19:50:26.9386587Z dist/assets/shaderlab-TOUzSsQk.js 5.96 kB │ gzip: 2.11 kB │ map: 7.73 kB 2026-10-24T19:50:26.9386900Z dist/assets/verilog-CiiDBU1e.js 5.96 kB │ gzip: 1.93 kB │ map: 8.03 kB 2026-10-24T19:50:26.9387233Z dist/assets/cypher-ClKdZ_lG.js 5.99 kB │ gzip: 1.75 kB │ map: 8.44 kB 2026-10-24T19:50:26.9387543Z dist/assets/zap-CU6xHUKO.js 6.12 kB │ gzip: 2.29 kB │ map: 26.87 kB 2026-10-24T19:50:26.9387844Z dist/assets/vb-Djn5o6TS.js 6.12 kB │ gzip: 2.37 kB │ map: 8.05 kB 2026-10-24T19:50:26.9388149Z dist/assets/input-group-B1m5npbz.js 6.15 kB │ gzip: 1.93 kB │ map: 11.42 kB 2026-10-24T19:50:26.9388471Z dist/assets/color-picker-SHuB43z1.js 6.27 kB │ gzip: 2.93 kB │ map: 27.68 kB 2026-10-24T19:50:26.9388815Z dist/assets/KeybindingsSettings.logic-C0AiTnP5.js 6.28 kB │ gzip: 2.55 kB │ map: 27.02 kB 2026-10-24T19:50:26.9389149Z dist/assets/red-CJ3rzSJv.js 6.30 kB │ gzip: 1.63 kB │ map: 8.89 kB 2026-10-24T19:50:26.9389452Z dist/assets/min-dark-BSWPekZh.js 6.33 kB │ gzip: 1.74 kB │ map: 8.63 kB 2026-10-24T19:50:26.9389772Z dist/assets/gdshader-CBce3t8t.js 6.36 kB │ gzip: 1.75 kB │ map: 9.20 kB 2026-10-24T19:50:26.9390086Z dist/assets/prisma-BsRQq5mF.js 6.36 kB │ gzip: 1.42 kB │ map: 9.28 kB 2026-10-24T19:50:26.9390388Z dist/assets/ara-4CJ0cIlV.js 6.39 kB │ gzip: 1.84 kB │ map: 9.26 kB 2026-10-24T19:50:26.9390713Z dist/assets/ConnectionDiagnosisDetails-Bz_yer_w.js 6.40 kB │ gzip: 2.81 kB │ map: 28.56 kB 2026-10-24T19:50:26.9391050Z dist/assets/DYY6UVD2-DFy-eVMa.js 6.44 kB │ gzip: 3.04 kB │ map: 16.52 kB 2026-10-24T19:50:26.9391356Z dist/assets/clojure-DqKBuwfJ.js 6.45 kB │ gzip: 1.45 kB │ map: 9.29 kB 2026-10-24T19:50:26.9391665Z dist/assets/postcss-BXeXVLqQ.js 6.45 kB │ gzip: 1.94 kB │ map: 9.12 kB 2026-10-24T19:50:26.9392102Z dist/assets/toml-CcmNWLt0.js 6.46 kB │ gzip: 1.31 kB │ map: 9.48 kB 2026-10-24T19:50:26.9392470Z dist/assets/solarized-light-DSh2HLQt.js 6.53 kB │ gzip: 1.75 kB │ map: 9.25 kB 2026-10-24T19:50:26.9392819Z dist/assets/scheduledTasksSettings.logic-10-4nEVs.js 6.53 kB │ gzip: 2.67 kB │ map: 25.74 kB 2026-10-24T19:50:26.9393199Z dist/assets/proto-DB4EqR-F.js 6.58 kB │ gzip: 1.45 kB │ map: 9.91 kB 2026-10-24T19:50:26.9393509Z dist/assets/smalltalk-B16xEiuN.js 6.62 kB │ gzip: 1.65 kB │ map: 9.26 kB 2026-10-24T19:50:26.9393815Z dist/assets/r-D4tONY_S.js 6.63 kB │ gzip: 1.86 kB │ map: 10.16 kB 2026-10-24T19:50:26.9394117Z dist/assets/talonscript-CohzipZa.js 6.79 kB │ gzip: 1.52 kB │ map: 10.08 kB 2026-10-24T19:50:26.9394450Z dist/assets/solarized-dark-DV17i1UV.js 6.89 kB │ gzip: 1.81 kB │ map: 9.71 kB 2026-10-24T19:50:26.9394772Z dist/assets/riscv-Ckw8ddFX.js 6.95 kB │ gzip: 2.01 kB │ map: 9.60 kB 2026-10-24T19:50:26.9395072Z dist/assets/soy-BZidhfq9.js 6.96 kB │ gzip: 1.66 kB │ map: 10.74 kB 2026-10-24T19:50:26.9395378Z dist/assets/min-light-DDpmG2fV.js 7.01 kB │ gzip: 1.92 kB │ map: 9.56 kB 2026-10-24T19:50:26.9395691Z dist/assets/4UO7MD6I-B8CEAhK2.js 7.08 kB │ gzip: 3.24 kB │ map: 18.76 kB 2026-10-24T19:50:26.9396003Z dist/assets/scheme-DQCgrYNe.js 7.20 kB │ gzip: 2.08 kB │ map: 9.80 kB 2026-10-24T19:50:26.9396311Z dist/assets/O7XIQ6OM-sB6UPoB5.js 7.27 kB │ gzip: 3.30 kB │ map: 19.44 kB 2026-10-24T19:50:26.9396621Z dist/assets/hlsl-Cvrh5tZx.js 7.29 kB │ gzip: 2.21 kB │ map: 9.25 kB 2026-10-24T19:50:26.9396927Z dist/assets/YVG2LODB-CjSc184A.js 7.34 kB │ gzip: 3.34 kB │ map: 18.98 kB 2026-10-24T19:50:26.9397233Z dist/assets/qss-Fe1Jh2GI.js 7.50 kB │ gzip: 2.60 kB │ map: 9.41 kB 2026-10-24T19:50:26.9397540Z dist/assets/collapsible-CfGh8-cI.js 7.51 kB │ gzip: 3.04 kB │ map: 47.01 kB 2026-10-24T19:50:26.9397858Z dist/assets/CEQABKGZ-DPF4ggmp.js 7.59 kB │ gzip: 3.52 kB │ map: 19.22 kB 2026-10-24T19:50:26.9398184Z dist/assets/primaryCloudLinkState-DnEfDi81.js 7.66 kB │ gzip: 3.06 kB │ map: 32.29 kB 2026-10-24T19:50:26.9398520Z dist/assets/htmlRender-u7V3PByb.js 7.71 kB │ gzip: 3.15 kB │ map: 30.90 kB 2026-10-24T19:50:26.9398830Z dist/assets/checkbox-BbuquKxE.js 7.73 kB │ gzip: 3.39 kB │ map: 42.78 kB 2026-10-24T19:50:26.9399151Z dist/assets/DiffFileTree-OAk07N-b.js 7.75 kB │ gzip: 3.61 kB │ map: 42.65 kB 2026-10-24T19:50:26.9399474Z dist/assets/radio-group-C6acrdot.js 7.82 kB │ gzip: 3.33 kB │ map: 38.48 kB 2026-10-24T19:50:26.9399790Z dist/assets/systemd-BxMlprV5.js 7.90 kB │ gzip: 2.57 kB │ map: 10.64 kB 2026-10-24T19:50:26.9400098Z dist/assets/_chat.index-BkkvPPtX.js 7.92 kB │ gzip: 3.10 kB │ map: 31.56 kB 2026-10-24T19:50:26.9400415Z dist/assets/monokai-CdkpiU2Y.js 7.92 kB │ gzip: 1.94 kB │ map: 11.12 kB 2026-10-24T19:50:26.9400716Z dist/assets/index-C63i7RCm.js 8.01 kB │ gzip: 3.88 kB │ map: 1.93 kB 2026-10-24T19:50:26.9401021Z dist/assets/regexp-C160j5mr.js 8.08 kB │ gzip: 1.49 kB │ map: 11.23 kB 2026-10-24T19:50:26.9401385Z dist/assets/LUXOKEGN-qGX69mpA.js 8.24 kB │ gzip: 3.73 kB │ map: 21.07 kB 2026-10-24T19:50:26.9401725Z dist/assets/haml-78M2RzJ5.js 8.36 kB │ gzip: 1.88 kB │ map: 12.45 kB 2026-10-24T19:50:26.9402020Z dist/assets/typst-DI99ib-x.js 8.42 kB │ gzip: 1.70 kB │ map: 12.31 kB 2026-10-24T19:50:26.9402323Z dist/assets/vue-html-_q5YSMOd.js 8.52 kB │ gzip: 1.72 kB │ map: 12.03 kB 2026-10-24T19:50:26.9402623Z dist/assets/plsql-DGHpHOYJ.js 8.54 kB │ gzip: 3.03 kB │ map: 10.90 kB 2026-10-24T19:50:26.9402925Z dist/assets/dart-CnvKMtbv.js 8.65 kB │ gzip: 2.03 kB │ map: 12.66 kB 2026-10-24T19:50:26.9403266Z dist/assets/horizon-CE9ld1lL.js 8.82 kB │ gzip: 1.98 kB │ map: 12.09 kB 2026-10-24T19:50:26.9403585Z dist/assets/kotlin-DhhofPvG.js 8.82 kB │ gzip: 2.16 kB │ map: 12.79 kB 2026-10-24T19:50:26.9403906Z dist/assets/horizon-bright-DSNQnXHK.js 8.83 kB │ gzip: 1.99 kB │ map: 12.14 kB 2026-10-24T19:50:26.9404247Z dist/assets/ProjectIconPickerDialog-CWeJ1FxS.js 8.92 kB │ gzip: 3.73 kB │ map: 52.01 kB 2026-10-24T19:50:26.9404572Z dist/assets/react-beAb49SJ.js 8.97 kB │ gzip: 3.50 kB │ map: 31.05 kB 2026-10-24T19:50:26.9404875Z dist/assets/make-Dixweg8N.js 8.99 kB │ gzip: 1.79 kB │ map: 12.87 kB 2026-10-24T19:50:26.9405180Z dist/assets/andromeeda-vGVdxbeo.js 9.06 kB │ gzip: 2.39 kB │ map: 11.97 kB 2026-10-24T19:50:26.9405492Z dist/assets/sas-DNZ6OI-k.js 9.10 kB │ gzip: 3.85 kB │ map: 11.14 kB 2026-10-24T19:50:26.9405797Z dist/assets/dark-plus-Cs2F2srj.js 9.14 kB │ gzip: 2.13 kB │ map: 12.44 kB 2026-10-24T19:50:26.9406114Z dist/assets/slack-dark-DnToyrRv.js 9.16 kB │ gzip: 1.99 kB │ map: 12.54 kB 2026-10-24T19:50:26.9406434Z dist/assets/connect-agent-BSUzKdem.js 9.16 kB │ gzip: 3.97 kB │ map: 39.85 kB 2026-10-24T19:50:26.9406766Z dist/assets/terminalSessions-CWBhiS-n.js 9.20 kB │ gzip: 3.20 kB │ map: 42.87 kB 2026-10-24T19:50:26.9407085Z dist/assets/2NI2N5EU-DhKGmUgn.js 9.32 kB │ gzip: 4.19 kB │ map: 24.57 kB 2026-10-24T19:50:26.9407396Z dist/assets/sass-DXrisJhu.js 9.32 kB │ gzip: 2.52 kB │ map: 13.42 kB 2026-10-24T19:50:26.9407699Z dist/assets/plastic-DQwYfKfQ.js 9.33 kB │ gzip: 2.00 kB │ map: 12.50 kB 2026-10-24T19:50:26.9408018Z dist/assets/XBNEOJTC-DI-PY1SS.js 9.44 kB │ gzip: 4.24 kB │ map: 25.57 kB 2026-10-24T19:50:26.9408358Z dist/assets/use-orchestration-command-CxCI6kJl.js 9.47 kB │ gzip: 3.02 kB │ map: 38.41 kB 2026-10-24T19:50:26.9408704Z dist/assets/slack-ochin-B2OO5cIa.js 9.47 kB │ gzip: 2.12 kB │ map: 13.13 kB 2026-10-24T19:50:26.9409008Z dist/assets/tex-D4kYGkpD.js 9.71 kB │ gzip: 3.10 kB │ map: 12.45 kB 2026-10-24T19:50:26.9409308Z dist/assets/jison-Byt20Y-H.js 9.73 kB │ gzip: 1.90 kB │ map: 14.14 kB 2026-10-24T19:50:26.9409616Z dist/assets/cmake-Bj61d0ZC.js 9.89 kB │ gzip: 3.41 kB │ map: 11.27 kB 2026-10-24T19:50:26.9409933Z dist/assets/light-plus-DVQuIRkW.js 9.98 kB │ gzip: 2.31 kB │ map: 13.44 kB 2026-10-24T19:50:26.9410271Z dist/assets/settings.open-source-licenses-CbsDFN7g.js 9.99 kB │ gzip: 4.09 kB │ map: 46.85 kB 2026-10-24T19:50:26.9410664Z dist/assets/hcl-Dh228itO.js 10.08 kB │ gzip: 1.96 kB │ map: 14.80 kB 2026-10-24T19:50:26.9411014Z dist/assets/imageCompression-B5vTC6_a.js 10.19 kB │ gzip: 4.07 kB │ map: 45.60 kB 2026-10-24T19:50:26.9411331Z dist/assets/rst-OA9zXOEF.js 10.35 kB │ gzip: 2.28 kB │ map: 15.73 kB 2026-10-24T19:50:26.9411626Z dist/assets/pkl-ot-7Btpt.js 10.40 kB │ gzip: 1.41 kB │ map: 15.48 kB 2026-10-24T19:50:26.9411932Z dist/assets/beancount-D-usSTwE.js 10.41 kB │ gzip: 1.46 kB │ map: 15.05 kB 2026-10-24T19:50:26.9412259Z dist/assets/nextflow-groovy-DJMQeKeT.js 10.48 kB │ gzip: 2.17 kB │ map: 15.26 kB 2026-10-24T19:50:26.9412584Z dist/assets/YURCZMG2-CFC0UBX1.js 10.49 kB │ gzip: 4.56 kB │ map: 25.28 kB 2026-10-24T19:50:26.9412892Z dist/assets/raku-B3gFvitq.js 10.50 kB │ gzip: 2.97 kB │ map: 12.92 kB 2026-10-24T19:50:26.9413300Z dist/assets/dream-maker-DW3nJb8Q.js 10.51 kB │ gzip: 2.29 kB │ map: 15.13 kB 2026-10-24T19:50:26.9413616Z dist/assets/_chat.new-CKf3yahy.js 10.58 kB │ gzip: 4.54 kB │ map: 45.05 kB 2026-10-24T19:50:26.9413923Z dist/assets/yaml-DqrBPYEo.js 10.60 kB │ gzip: 2.34 kB │ map: 14.93 kB 2026-10-24T19:50:26.9414246Z dist/assets/browserHistoryStore-DGvpFwgr.js 10.62 kB │ gzip: 4.20 kB │ map: 55.77 kB 2026-10-24T19:50:26.9414572Z dist/assets/just-DDwlfhUt.js 10.85 kB │ gzip: 2.64 kB │ map: 15.45 kB 2026-10-24T19:50:26.9414869Z dist/assets/elm-ByOPkR8C.js 10.98 kB │ gzip: 2.13 kB │ map: 16.07 kB 2026-10-24T19:50:26.9415180Z dist/assets/phoneViewer-DwqUCyZv.js 11.04 kB │ gzip: 4.64 kB │ map: 49.75 kB 2026-10-24T19:50:26.9415497Z dist/assets/K7RP3OMA-CWmq2dY4.js 11.18 kB │ gzip: 5.02 kB │ map: 29.89 kB 2026-10-24T19:50:26.9415823Z dist/assets/github-light-EUqPIrTm.js 11.23 kB │ gzip: 2.53 kB │ map: 15.44 kB 2026-10-24T19:50:26.9416137Z dist/assets/prolog-iXnhIJG7.js 11.39 kB │ gzip: 3.88 kB │ map: 13.31 kB 2026-10-24T19:50:26.9416445Z dist/assets/terraform-DswuEJGm.js 11.42 kB │ gzip: 2.54 kB │ map: 16.23 kB 2026-10-24T19:50:26.9416763Z dist/assets/github-dark-C-LZuMrd.js 11.45 kB │ gzip: 2.56 kB │ map: 15.70 kB 2026-10-24T19:50:26.9417074Z dist/assets/puppet-CDv2pdJW.js 11.47 kB │ gzip: 2.14 kB │ map: 16.33 kB 2026-10-24T19:50:26.9417385Z dist/assets/77XECAW3-CPgkP2me.js 11.54 kB │ gzip: 5.35 kB │ map: 27.96 kB 2026-10-24T19:50:26.9417698Z dist/assets/laserwave-C_8bwKvT.js 11.54 kB │ gzip: 2.61 kB │ map: 14.72 kB 2026-10-24T19:50:26.9418020Z dist/assets/ProjectFavicon-C7LRZmkf.js 11.76 kB │ gzip: 5.20 kB │ map: 15.88 kB 2026-10-24T19:50:26.9418347Z dist/assets/gherkin-DExj1W_8.js 11.98 kB │ gzip: 5.08 kB │ map: 13.13 kB 2026-10-24T19:50:26.9418665Z dist/assets/wasm-ByWQv1Qj.js 12.04 kB │ gzip: 2.21 kB │ map: 16.85 kB 2026-10-24T19:50:26.9418968Z dist/assets/hjson-CxZEssPk.js 12.08 kB │ gzip: 1.67 kB │ map: 17.29 kB 2026-10-24T19:50:26.9419279Z dist/assets/YHV2MVVZ-BuFOpA0y.js 12.09 kB │ gzip: 5.11 kB │ map: 36.55 kB 2026-10-24T19:50:26.9419587Z dist/assets/ABYRPUBD-ClTlGZRk.js 12.11 kB │ gzip: 3.25 kB │ map: 36.28 kB 2026-10-24T19:50:26.9419925Z dist/assets/handlebars-C2O4g9kv.js 12.21 kB │ gzip: 2.41 kB │ map: 17.46 kB 2026-10-24T19:50:26.9420374Z dist/assets/ProjectDefaultsSettings-BQcPt06G.js 12.44 kB │ gzip: 4.48 kB │ map: 68.04 kB 2026-10-24T19:50:26.9420778Z dist/assets/apache-U0d_L8uA.js 12.49 kB │ gzip: 3.74 kB │ map: 15.96 kB 2026-10-24T19:50:26.9421094Z dist/assets/vesper-DdrHHSXu.js 12.77 kB │ gzip: 2.03 kB │ map: 16.24 kB 2026-10-24T19:50:26.9421442Z dist/assets/ProviderSettingsForm-CgrlHwYE.js 12.91 kB │ gzip: 4.89 kB │ map: 60.05 kB 2026-10-24T19:50:26.9421779Z dist/assets/bat-Bo4NYOV-.js 12.92 kB │ gzip: 3.26 kB │ map: 17.40 kB 2026-10-24T19:50:26.9422100Z dist/assets/fish-BJitypiv.js 13.07 kB │ gzip: 1.76 kB │ map: 16.86 kB 2026-10-24T19:50:26.9422424Z dist/assets/qr-code-CmPFsYWt.js 13.19 kB │ gzip: 5.02 kB │ map: 49.58 kB 2026-10-24T19:50:26.9422751Z dist/assets/v-DETTlOr0.js 13.24 kB │ gzip: 2.76 kB │ map: 19.27 kB 2026-10-24T19:50:26.9423124Z dist/assets/NUIALGQ3-CaghVocB.js 13.25 kB │ gzip: 5.62 kB │ map: 40.22 kB 2026-10-24T19:50:26.9423462Z dist/assets/OFQON5FD-bE3t4bLO.js 13.49 kB │ gzip: 5.51 kB │ map: 34.02 kB 2026-10-24T19:50:26.9423792Z dist/assets/vitesse-light-VbXTXTou.js 13.66 kB │ gzip: 3.06 kB │ map: 18.57 kB 2026-10-24T19:50:26.9424126Z dist/assets/aurora-x-CDeNXAV0.js 13.70 kB │ gzip: 2.32 kB │ map: 17.59 kB 2026-10-24T19:50:26.9424449Z dist/assets/vitesse-black-fwtXNY1n.js 13.72 kB │ gzip: 3.09 kB │ map: 18.66 kB 2026-10-24T19:50:26.9424783Z dist/assets/vitesse-dark-BZCL-v6S.js 13.80 kB │ gzip: 3.10 kB │ map: 18.73 kB 2026-10-24T19:50:26.9425112Z dist/assets/DeviceSetup-D5zM0EcJ.js 13.81 kB │ gzip: 5.11 kB │ map: 59.86 kB 2026-10-24T19:50:26.9425433Z dist/assets/pug-H48468vj.js 13.89 kB │ gzip: 2.62 kB │ map: 20.57 kB 2026-10-24T19:50:26.9425742Z dist/assets/synthwave-84-nFMaYfgc.js 14.08 kB │ gzip: 2.88 kB │ map: 19.12 kB 2026-10-24T19:50:26.9426063Z dist/assets/PJQHF43J-C9WPxEqE.js 14.12 kB │ gzip: 5.87 kB │ map: 39.03 kB 2026-10-24T19:50:26.9426389Z dist/assets/github-light-default-BXViO-2h.js 14.21 kB │ gzip: 3.05 kB │ map: 19.30 kB 2026-10-24T19:50:26.9426726Z dist/assets/clarity-SemFz856.js 14.31 kB │ gzip: 2.50 kB │ map: 19.95 kB 2026-10-24T19:50:26.9427064Z dist/assets/github-light-high-contrast-B68TUdTA.js 14.33 kB │ gzip: 3.03 kB │ map: 19.48 kB 2026-10-24T19:50:26.9427429Z dist/assets/github-dark-dimmed-Bx1FflLF.js 14.48 kB │ gzip: 3.15 kB │ map: 19.67 kB 2026-10-24T19:50:26.9427771Z dist/assets/github-dark-default-DXG-b-1a.js 14.48 kB │ gzip: 3.15 kB │ map: 19.68 kB 2026-10-24T19:50:26.9428105Z dist/assets/X62E3GBT-Bso6Y_1L.js 14.54 kB │ gzip: 6.34 kB │ map: 39.30 kB 2026-10-24T19:50:26.9428452Z dist/assets/github-dark-high-contrast-B_tTalzw.js 14.65 kB │ gzip: 3.11 kB │ map: 19.91 kB 2026-10-24T19:50:26.9428788Z dist/assets/gnuplot-7GGW24-e.js 14.82 kB │ gzip: 3.31 kB │ map: 20.83 kB 2026-10-24T19:50:26.9429095Z dist/assets/rust-Cfkwpbl8.js 15.10 kB │ gzip: 2.75 kB │ map: 21.47 kB 2026-10-24T19:50:26.9429409Z dist/assets/FNOVOB4O-Bhj6xxUp.js 15.14 kB │ gzip: 5.88 kB │ map: 38.44 kB 2026-10-24T19:50:26.9429715Z dist/assets/kusto-C7mF5XQf.js 15.20 kB │ gzip: 3.96 kB │ map: 19.63 kB 2026-10-24T19:50:26.9430119Z dist/assets/actionscript-3--17pq3dv.js 15.25 kB │ gzip: 2.71 kB │ map: 21.47 kB 2026-10-24T19:50:26.9430508Z dist/assets/duoViewer-Do7bNmXC.js 15.46 kB │ gzip: 6.05 kB │ map: 65.43 kB 2026-10-24T19:50:26.9430827Z dist/assets/nix-IvuFDN5E.js 15.54 kB │ gzip: 2.51 kB │ map: 22.93 kB 2026-10-24T19:50:26.9431128Z dist/assets/lua-1Va2DEvn.js 15.63 kB │ gzip: 3.22 kB │ map: 22.17 kB 2026-10-24T19:50:26.9431456Z dist/assets/usePullRequestActions-BYkt2TlI.js 15.66 kB │ gzip: 5.26 kB │ map: 66.12 kB 2026-10-24T19:50:26.9431783Z dist/assets/luau-FMPmPwt6.js 15.66 kB │ gzip: 3.42 kB │ map: 21.88 kB 2026-10-24T19:50:26.9432090Z dist/assets/abap-CLvhMVsD.js 15.88 kB │ gzip: 5.96 kB │ map: 18.85 kB 2026-10-24T19:50:26.9432395Z dist/assets/solidity-CKzVLygQ.js 16.11 kB │ gzip: 3.13 kB │ map: 23.46 kB 2026-10-24T19:50:26.9432715Z dist/assets/matlab-D7qyCx1q.js 16.12 kB │ gzip: 3.10 kB │ map: 23.37 kB 2026-10-24T19:50:26.9433085Z dist/assets/cue-CE9AQfxI.js 16.23 kB │ gzip: 2.08 kB │ map: 23.80 kB 2026-10-24T19:50:26.9433397Z dist/assets/elixir-CrKEldnf.js 16.30 kB │ gzip: 2.79 kB │ map: 23.18 kB 2026-10-24T19:50:26.9433713Z dist/assets/dialog-DYfJmtGq.js 16.37 kB │ gzip: 5.61 kB │ map: 77.01 kB 2026-10-24T19:50:26.9434039Z dist/assets/rightPanelStore-BdRXz1Ln.js 16.38 kB │ gzip: 4.67 kB │ map: 78.50 kB 2026-10-24T19:50:26.9434358Z dist/assets/odin-B1RWQWA5.js 16.54 kB │ gzip: 2.96 kB │ map: 23.80 kB 2026-10-24T19:50:26.9434673Z dist/assets/X5RFHQXM-Cq4u5QdQ.js 16.59 kB │ gzip: 7.04 kB │ map: 42.63 kB 2026-10-24T19:50:26.9434985Z dist/assets/ts-tags-iKEdjM6n.js 16.59 kB │ gzip: 2.09 kB │ map: 24.94 kB 2026-10-24T19:50:26.9435307Z dist/assets/scroll-area-CmUS9Ek-.js 16.78 kB │ gzip: 5.98 kB │ map: 85.84 kB 2026-10-24T19:50:26.9435623Z dist/assets/popover-CXe30KLx.js 17.14 kB │ gzip: 6.45 kB │ map: 90.10 kB 2026-10-24T19:50:26.9435945Z dist/assets/kanagawa-wave-CTweb8Dz.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-24T19:50:26.9436269Z dist/assets/kanagawa-lotus-BN08jTvb.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-24T19:50:26.9436598Z dist/assets/kanagawa-dragon-CXtmUGW6.js 17.17 kB │ gzip: 2.96 kB │ map: 22.31 kB 2026-10-24T19:50:26.9436932Z dist/assets/projectScriptEditor-DMYNojp3.js 17.39 kB │ gzip: 6.67 kB │ map: 100.01 kB 2026-10-24T19:50:26.9437259Z dist/assets/move-B1IS1UjX.js 17.54 kB │ gzip: 3.10 kB │ map: 26.27 kB 2026-10-24T19:50:26.9437568Z dist/assets/command-BJZsT7YV.js 17.80 kB │ gzip: 4.81 kB │ map: 70.69 kB 2026-10-24T19:50:26.9437885Z dist/assets/pullRequests-Cyu0MRVp.js 17.93 kB │ gzip: 6.21 kB │ map: 87.67 kB 2026-10-24T19:50:26.9438195Z dist/assets/link-BbkE67KT.js 17.95 kB │ gzip: 6.74 kB │ map: 91.88 kB 2026-10-24T19:50:26.9438506Z dist/assets/graphql-f7MMklYv.js 18.12 kB │ gzip: 2.56 kB │ map: 25.58 kB 2026-10-24T19:50:26.9438815Z dist/assets/liquid-NR0kReLd.js 18.14 kB │ gzip: 3.18 kB │ map: 25.31 kB 2026-10-24T19:50:26.9439148Z dist/assets/T3ConnectAccountPages-OfEjAUtZ.js 18.25 kB │ gzip: 6.37 kB │ map: 80.99 kB 2026-10-24T19:50:26.9439508Z dist/assets/svelte-D_LLVCZp.js 18.29 kB │ gzip: 3.18 kB │ map: 25.82 kB 2026-10-24T19:50:26.9439859Z dist/assets/material-theme-Bm3Qr25_.js 18.66 kB │ gzip: 3.14 kB │ map: 24.14 kB 2026-10-24T19:50:26.9440194Z dist/assets/material-theme-ocean-CHQ94UKr.js 18.68 kB │ gzip: 3.16 kB │ map: 24.18 kB 2026-10-24T19:50:26.9440623Z dist/assets/material-theme-darker-2IIEA8gg.js 18.68 kB │ gzip: 3.13 kB │ map: 24.18 kB 2026-10-24T19:50:26.9440971Z dist/assets/material-theme-lighter-uhdI0v04.js 18.69 kB │ gzip: 3.14 kB │ map: 24.19 kB 2026-10-24T19:50:26.9441330Z dist/assets/material-theme-palenight-B5W6OYN7.js 18.69 kB │ gzip: 3.15 kB │ map: 24.20 kB 2026-10-24T19:50:26.9441684Z dist/assets/pullRequestDetail.logic-ByzJV2uM.js 18.87 kB │ gzip: 6.74 kB │ map: 77.97 kB 2026-10-24T19:50:26.9442018Z dist/assets/gdscript-Cp2uCuqX.js 19.03 kB │ gzip: 3.78 kB │ map: 26.26 kB 2026-10-24T19:50:26.9442339Z dist/assets/USNYFO5S-Di4yNowY.js 19.10 kB │ gzip: 7.42 kB │ map: 47.26 kB 2026-10-24T19:50:26.9442649Z dist/assets/groovy-CacY0gHj.js 19.21 kB │ gzip: 3.63 kB │ map: 27.53 kB 2026-10-24T19:50:26.9442997Z dist/assets/settings.storage-BzRknKV8.js 19.43 kB │ gzip: 6.99 kB │ map: 104.83 kB 2026-10-24T19:50:26.9443311Z dist/assets/mdc-BszP3a5M.js 19.58 kB │ gzip: 6.70 kB │ map: 23.16 kB 2026-10-24T19:50:26.9443612Z dist/assets/server-A4L5jzT7.js 19.96 kB │ gzip: 6.16 kB │ map: 117.05 kB 2026-10-24T19:50:26.9443921Z dist/assets/ayu-dark-DluEY0Gj.js 20.12 kB │ gzip: 3.96 kB │ map: 27.06 kB 2026-10-24T19:50:26.9444233Z dist/assets/ayu-mirage-Bqwy1Gya.js 20.13 kB │ gzip: 3.95 kB │ map: 27.08 kB 2026-10-24T19:50:26.9444550Z dist/assets/glimmer-js-BDXa_Fyc.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-24T19:50:26.9444869Z dist/assets/glimmer-ts-Bj66Y8fi.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-24T19:50:26.9445184Z dist/assets/powershell-DshXNtvi.js 20.19 kB │ gzip: 4.09 kB │ map: 26.60 kB 2026-10-24T19:50:26.9445502Z dist/assets/ayu-light-C3h-C4tm.js 20.19 kB │ gzip: 3.93 kB │ map: 27.14 kB 2026-10-24T19:50:26.9445809Z dist/assets/viml-DvXPmvsu.js 20.40 kB │ gzip: 6.77 kB │ map: 23.51 kB 2026-10-24T19:50:26.9446123Z dist/assets/DRLTVNUE-CiU5rMTM.js 20.40 kB │ gzip: 7.66 kB │ map: 50.95 kB 2026-10-24T19:50:26.9446436Z dist/assets/nushell-DcLAeLz5.js 20.45 kB │ gzip: 5.25 kB │ map: 27.67 kB 2026-10-24T19:50:26.9446749Z dist/assets/entities-BvKiek-r.js 20.58 kB │ gzip: 6.96 kB │ map: 135.97 kB 2026-10-24T19:50:26.9447068Z dist/assets/HSJLKHB7-C1siS3pi.js 20.80 kB │ gzip: 8.63 kB │ map: 57.03 kB 2026-10-24T19:50:26.9447381Z dist/assets/snazzy-light-4G7pJPwS.js 20.82 kB │ gzip: 3.84 kB │ map: 28.03 kB 2026-10-24T19:50:26.9447693Z dist/assets/twig-Ci9rMG4p.js 20.94 kB │ gzip: 3.70 kB │ map: 29.33 kB 2026-10-24T19:50:26.9447994Z dist/assets/dracula-BHWKrbxM.js 21.10 kB │ gzip: 4.03 kB │ map: 27.51 kB 2026-10-24T19:50:26.9448314Z dist/assets/dracula-soft-5eyTD99u.js 21.12 kB │ gzip: 4.06 kB │ map: 27.54 kB 2026-10-24T19:50:26.9448633Z dist/assets/number-field-CJ6I9ayC.js 21.14 kB │ gzip: 8.04 kB │ map: 104.64 kB 2026-10-24T19:50:26.9448982Z dist/assets/wit-DdvCle-K.js 21.50 kB │ gzip: 2.91 kB │ map: 30.11 kB 2026-10-24T19:50:26.9449320Z dist/assets/rose-pine-BthvhNj6.js 21.78 kB │ gzip: 3.90 kB │ map: 28.78 kB 2026-10-24T19:50:26.9449648Z dist/assets/rose-pine-moon-hon4tzzS.js 21.80 kB │ gzip: 3.91 kB │ map: 28.81 kB 2026-10-24T19:50:26.9449972Z dist/assets/rose-pine-dawn-Dg85fqjY.js 21.80 kB │ gzip: 3.92 kB │ map: 28.81 kB 2026-10-24T19:50:26.9450304Z dist/assets/useStableCallback-z_SONSIp.js 22.26 kB │ gzip: 9.25 kB │ map: 690.61 kB 2026-10-24T19:50:26.9450617Z dist/assets/nim-BM9Yvas0.js 22.49 kB │ gzip: 3.19 kB │ map: 32.88 kB 2026-10-24T19:50:26.9450932Z dist/assets/common-lisp-Cv5bFMCO.js 22.62 kB │ gzip: 6.11 kB │ map: 26.69 kB 2026-10-24T19:50:26.9451249Z dist/assets/surrealql-BhXwxFwT.js 22.63 kB │ gzip: 4.34 kB │ map: 32.51 kB 2026-10-24T19:50:26.9451578Z dist/assets/gruvbox-dark-hard-C820rvS2.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T19:50:26.9451913Z dist/assets/gruvbox-dark-soft-MrdJrrXF.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T19:50:26.9452248Z dist/assets/gruvbox-light-hard-BC_s9l72.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T19:50:26.9452585Z dist/assets/gruvbox-light-soft-BSMLrYjP.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T19:50:26.9452925Z dist/assets/gruvbox-dark-medium-BPjhmG05.js 22.69 kB │ gzip: 4.19 kB │ map: 30.60 kB 2026-10-24T19:50:26.9453738Z dist/assets/gruvbox-light-medium-BAWPOn9u.js 22.69 kB │ gzip: 4.20 kB │ map: 30.61 kB 2026-10-24T19:50:26.9454065Z dist/assets/bird2-C6vDhewU.js 22.97 kB │ gzip: 4.69 kB │ map: 31.06 kB 2026-10-24T19:50:26.9454376Z dist/assets/5OC2THR4-DkA8Wya8.js 23.28 kB │ gzip: 9.39 kB │ map: 61.59 kB 2026-10-24T19:50:26.9454689Z dist/assets/sql-DJtPbMSQ.js 23.52 kB │ gzip: 7.54 kB │ map: 27.96 kB 2026-10-24T19:50:26.9454990Z dist/assets/cadence-CQ2zXKGN.js 23.70 kB │ gzip: 3.69 kB │ map: 33.59 kB 2026-10-24T19:50:26.9455296Z dist/assets/astro-BmmE1wns.js 24.06 kB │ gzip: 7.63 kB │ map: 29.26 kB 2026-10-24T19:50:26.9455595Z dist/assets/apl-Dbn5QvGU.js 24.07 kB │ gzip: 4.20 kB │ map: 33.43 kB 2026-10-24T19:50:26.9455898Z dist/assets/templ-ChNxr6tm.js 24.10 kB │ gzip: 5.45 kB │ map: 30.96 kB 2026-10-24T19:50:26.9456206Z dist/assets/SLD4V6NK-B6tO6fVg.js 24.20 kB │ gzip: 10.11 kB │ map: 66.35 kB 2026-10-24T19:50:26.9456527Z dist/assets/angular-html-CHSubNNg.js 24.28 kB │ gzip: 4.02 kB │ map: 35.88 kB 2026-10-24T19:50:26.9456844Z dist/assets/vhdl-BroJfC0k.js 24.29 kB │ gzip: 3.90 kB │ map: 33.38 kB 2026-10-24T19:50:26.9457142Z dist/assets/vue-DhtZA_zP.js 24.53 kB │ gzip: 2.99 kB │ map: 36.98 kB 2026-10-24T19:50:26.9457449Z dist/assets/purescript-9MfHhQsQ.js 24.72 kB │ gzip: 3.27 kB │ map: 34.90 kB 2026-10-24T19:50:26.9457764Z dist/assets/typespec-BRdr0IET.js 25.08 kB │ gzip: 2.66 kB │ map: 34.70 kB 2026-10-24T19:50:26.9458074Z dist/assets/one-light-D7Lr4KcI.js 25.34 kB │ gzip: 3.67 kB │ map: 33.81 kB 2026-10-24T19:50:26.9458390Z dist/assets/fsharp-D13ZGOAj.js 25.34 kB │ gzip: 4.16 kB │ map: 35.90 kB 2026-10-24T19:50:26.9458695Z dist/assets/marko-BaagTwf0.js 25.52 kB │ gzip: 3.62 kB │ map: 35.92 kB 2026-10-24T19:50:26.9459105Z dist/assets/night-owl-light-eJ-hLW7d.js 25.95 kB │ gzip: 4.27 kB │ map: 35.17 kB 2026-10-24T19:50:26.9459480Z dist/assets/system-verilog-DJ5XKQeo.js 26.24 kB │ gzip: 4.86 kB │ map: 36.27 kB 2026-10-24T19:50:26.9459811Z dist/assets/useThreadActions-DGaKZx9z.js 26.35 kB │ gzip: 8.46 kB │ map: 129.82 kB 2026-10-24T19:50:26.9460137Z dist/assets/nord-Cb4Vim4T.js 26.76 kB │ gzip: 4.39 kB │ map: 35.36 kB 2026-10-24T19:50:26.9460453Z dist/assets/codeql-oeQT6MSM.js 26.92 kB │ gzip: 3.83 kB │ map: 36.02 kB 2026-10-24T19:50:26.9460753Z dist/assets/c3-BFHwR3_K.js 27.00 kB │ gzip: 3.96 kB │ map: 39.15 kB 2026-10-24T19:50:26.9461055Z dist/assets/T3PCR2KE-BdFnmgFj.js 27.06 kB │ gzip: 11.16 kB │ map: 74.49 kB 2026-10-24T19:50:26.9461368Z dist/assets/scss-DQyDwCYy.js 27.30 kB │ gzip: 4.26 kB │ map: 38.39 kB 2026-10-24T19:50:26.9461678Z dist/assets/java-CF-jL4AX.js 27.31 kB │ gzip: 4.34 kB │ map: 38.66 kB 2026-10-24T19:50:26.9461988Z dist/assets/coffee-BHyBL9L1.js 27.46 kB │ gzip: 6.39 kB │ map: 36.12 kB 2026-10-24T19:50:26.9462289Z dist/assets/razor-CRS4rNJT.js 27.49 kB │ gzip: 3.58 kB │ map: 38.35 kB 2026-10-24T19:50:26.9462597Z dist/assets/BB2UYUI2-DGavGt15.js 28.18 kB │ gzip: 10.96 kB │ map: 75.19 kB 2026-10-24T19:50:26.9462905Z dist/assets/sidebar-BlgOkR4a.js 28.33 kB │ gzip: 9.12 kB │ map: 123.41 kB 2026-10-24T19:50:26.9463239Z dist/assets/scala-DKOlJaKm.js 28.92 kB │ gzip: 3.96 kB │ map: 40.12 kB 2026-10-24T19:50:26.9463549Z dist/assets/night-owl-DhmEMT88.js 28.95 kB │ gzip: 5.18 kB │ map: 39.06 kB 2026-10-24T19:50:26.9463864Z dist/assets/select-QcGKSg-e.js 29.01 kB │ gzip: 10.87 kB │ map: 139.91 kB 2026-10-24T19:50:26.9464169Z dist/assets/crystal-xgOldvWp.js 29.45 kB │ gzip: 4.47 kB │ map: 41.29 kB 2026-10-24T19:50:26.9464479Z dist/assets/mermaid-Bk4SNUv9.js 29.54 kB │ gzip: 3.68 kB │ map: 44.12 kB 2026-10-24T19:50:26.9464790Z dist/assets/applescript-CCn79oCD.js 29.61 kB │ gzip: 5.98 kB │ map: 39.35 kB 2026-10-24T19:50:26.9465108Z dist/assets/BUM34MOA-CR9BTEsj.js 30.12 kB │ gzip: 11.46 kB │ map: 75.42 kB 2026-10-24T19:50:26.9465411Z dist/assets/75O6YZUN-CkRpemUq.js 30.19 kB │ gzip: 11.64 kB │ map: 77.70 kB 2026-10-24T19:50:26.9465726Z dist/assets/pierre-dark-CpLgRqie.js 30.59 kB │ gzip: 4.77 kB │ map: 34.24 kB 2026-10-24T19:50:26.9466085Z dist/assets/pierre-light-CoaEpmwp.js 30.59 kB │ gzip: 4.77 kB │ map: 34.25 kB 2026-10-24T19:50:26.9466451Z dist/assets/pierre-dark-soft-kZQmAZld.js 30.61 kB │ gzip: 4.81 kB │ map: 34.27 kB 2026-10-24T19:50:26.9466785Z dist/assets/pierre-light-soft-lWLdNTOI.js 30.61 kB │ gzip: 4.77 kB │ map: 34.27 kB 2026-10-24T19:50:26.9467133Z dist/assets/pierre-dark-tritanopia-CpjhbsIL.js 30.62 kB │ gzip: 4.72 kB │ map: 34.30 kB 2026-10-24T19:50:26.9467485Z dist/assets/pierre-light-tritanopia-CEbqgOJL.js 30.63 kB │ gzip: 4.73 kB │ map: 34.30 kB 2026-10-24T19:50:26.9467864Z dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js 30.66 kB │ gzip: 4.80 kB │ map: 34.36 kB 2026-10-24T19:50:26.9468258Z dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js 30.67 kB │ gzip: 4.76 kB │ map: 34.37 kB 2026-10-24T19:50:26.9468629Z dist/assets/ChatGptUsageButton-BpFvNi2V.js 30.79 kB │ gzip: 12.00 kB │ map: 117.44 kB 2026-10-24T19:50:26.9468979Z dist/assets/julia-BAkj-Grs.js 31.05 kB │ gzip: 4.34 kB │ map: 40.65 kB 2026-10-24T19:50:26.9469286Z dist/assets/stylus-B6D30XZt.js 31.11 kB │ gzip: 8.05 kB │ map: 38.88 kB 2026-10-24T19:50:26.9469595Z dist/assets/N3JZAHOW-B5OczCUg.js 32.62 kB │ gzip: 13.28 kB │ map: 101.23 kB 2026-10-24T19:50:26.9469918Z dist/assets/poimandres-DRFjx7u4.js 33.53 kB │ gzip: 5.53 kB │ map: 43.07 kB 2026-10-24T19:50:26.9470233Z dist/assets/one-dark-pro-CLwyXe_n.js 33.83 kB │ gzip: 5.54 kB │ map: 44.51 kB 2026-10-24T19:50:26.9470548Z dist/assets/bsl-BkkzgIyY.js 33.90 kB │ gzip: 8.38 kB │ map: 37.63 kB 2026-10-24T19:50:26.9470854Z dist/assets/O65XPQGZ-xyoMGcl5.js 34.10 kB │ gzip: 12.69 kB │ map: 86.95 kB 2026-10-24T19:50:26.9471176Z dist/assets/UsageLimits-Ty54YKhR.js 34.31 kB │ gzip: 11.88 kB │ map: 148.44 kB 2026-10-24T19:50:26.9471481Z dist/assets/haxe-OTjmBuCE.js 35.19 kB │ gzip: 5.94 kB │ map: 49.52 kB 2026-10-24T19:50:26.9471788Z dist/assets/nginx-Bunv6cTi.js 35.39 kB │ gzip: 4.49 kB │ map: 48.50 kB 2026-10-24T19:50:26.9472093Z dist/assets/houston-CsvMBhTu.js 35.46 kB │ gzip: 5.80 kB │ map: 46.40 kB 2026-10-24T19:50:26.9472407Z dist/assets/tokyo-night-oM2G3aXe.js 35.71 kB │ gzip: 6.26 kB │ map: 45.35 kB 2026-10-24T19:50:26.9472740Z dist/assets/CodexSetupSection.logic-D-F-pKK8.js 36.12 kB │ gzip: 12.95 kB │ map: 164.42 kB 2026-10-24T19:50:26.9473133Z dist/assets/settings.keybindings-m3eAPjew.js 37.18 kB │ gzip: 12.45 kB │ map: 164.58 kB 2026-10-24T19:50:26.9473459Z dist/assets/erlang-Cphh6RMH.js 37.52 kB │ gzip: 4.39 kB │ map: 51.59 kB 2026-10-24T19:50:26.9473767Z dist/assets/lazy-D3m2vkbL.js 38.37 kB │ gzip: 16.01 kB │ map: 81.90 kB 2026-10-24T19:50:26.9474082Z dist/assets/PullRequestCodeTab-D_gnFE77.js 39.03 kB │ gzip: 14.42 kB │ map: 180.92 kB 2026-10-24T19:50:26.9474420Z dist/assets/settings.projects-9mnPpuj9.js 39.04 kB │ gzip: 15.31 kB │ map: 163.46 kB 2026-10-24T19:50:26.9474744Z dist/assets/useSettings-C-JX9oJj.js 39.05 kB │ gzip: 13.38 kB │ map: 174.19 kB 2026-10-24T19:50:26.9475054Z dist/assets/cobol-DlmPKder.js 39.11 kB │ gzip: 10.92 kB │ map: 47.39 kB 2026-10-24T19:50:26.9475355Z dist/assets/TKWO2OVW-2JmoxibO.js 39.43 kB │ gzip: 14.77 kB │ map: 97.94 kB 2026-10-24T19:50:26.9475720Z dist/assets/ThemeEditorPanel-CFtOYpOQ.js 40.14 kB │ gzip: 14.48 kB │ map: 189.11 kB 2026-10-24T19:50:26.9476069Z dist/assets/asm-Cmm7eHzH.js 40.75 kB │ gzip: 8.20 kB │ map: 53.00 kB 2026-10-24T19:50:26.9476373Z dist/assets/RHNBAITX-B0i9kMLA.js 41.31 kB │ gzip: 15.53 kB │ map: 105.33 kB 2026-10-24T19:50:26.9476679Z dist/assets/haskell-D8IpX4py.js 41.52 kB │ gzip: 6.44 kB │ map: 57.85 kB 2026-10-24T19:50:26.9476997Z dist/assets/shellscript-y5xaAa26.js 41.58 kB │ gzip: 6.16 kB │ map: 56.57 kB 2026-10-24T19:50:26.9477312Z dist/assets/combobox-kuatU9k0.js 41.97 kB │ gzip: 14.24 kB │ map: 212.73 kB 2026-10-24T19:50:26.9477621Z dist/assets/perl-AhzhpTrP.js 43.18 kB │ gzip: 4.68 kB │ map: 60.84 kB 2026-10-24T19:50:26.9477927Z dist/assets/queries-DOXKdxgK.js 43.25 kB │ gzip: 16.07 kB │ map: 239.43 kB 2026-10-24T19:50:26.9478242Z dist/assets/DiffPanel-CYP7hf9k.js 43.26 kB │ gzip: 16.70 kB │ map: 244.01 kB 2026-10-24T19:50:26.9478542Z dist/assets/d-qD-0Kul2.js 43.82 kB │ gzip: 8.46 kB │ map: 62.69 kB 2026-10-24T19:50:26.9478844Z dist/assets/LHDIQX7Q-DxXmlTPr.js 44.04 kB │ gzip: 16.12 kB │ map: 107.24 kB 2026-10-24T19:50:26.9479171Z dist/assets/DiffCommentAnnotation-wO-UkYxL.js 44.48 kB │ gzip: 15.81 kB │ map: 120.50 kB 2026-10-24T19:50:26.9479516Z dist/assets/ProviderModelPicker-BNKW40Uh.js 44.81 kB │ gzip: 16.00 kB │ map: 233.06 kB 2026-10-24T19:50:26.9479853Z dist/assets/pierre-dark-vibrant-CpQYzh95.js 44.81 kB │ gzip: 5.33 kB │ map: 48.48 kB 2026-10-24T19:50:26.9480200Z dist/assets/pierre-light-vibrant-D80Fkn33.js 44.81 kB │ gzip: 5.31 kB │ map: 48.48 kB 2026-10-24T19:50:26.9480537Z dist/assets/settingsLayout-WuO23n3t.js 45.01 kB │ gzip: 15.81 kB │ map: 227.20 kB 2026-10-24T19:50:26.9480859Z dist/assets/DevicePanel-Cy7oWrXa.js 46.03 kB │ gzip: 15.62 kB │ map: 246.51 kB 2026-10-24T19:50:26.9481189Z dist/assets/settings.source-control-CFs74iyh.js 46.24 kB │ gzip: 15.08 kB │ map: 262.11 kB 2026-10-24T19:50:26.9481516Z dist/assets/toast-Bn-O5TLf.js 46.41 kB │ gzip: 15.38 kB │ map: 273.09 kB 2026-10-24T19:50:26.9481816Z dist/assets/ruby-ubltFHEX.js 46.64 kB │ gzip: 5.74 kB │ map: 66.38 kB 2026-10-24T19:50:26.9482115Z dist/assets/go-rLFTqkRN.js 46.85 kB │ gzip: 5.18 kB │ map: 66.61 kB 2026-10-24T19:50:26.9482426Z dist/assets/settings.snap-shot-CRCJJg_k.js 46.99 kB │ gzip: 16.64 kB │ map: 252.93 kB 2026-10-24T19:50:26.9482766Z dist/assets/catppuccin-mocha-DYhrFGRu.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-24T19:50:26.9483160Z dist/assets/catppuccin-latte-DwIHMF0Q.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-24T19:50:26.9483498Z dist/assets/catppuccin-frappe-3VR1Za6u.js 47.31 kB │ gzip: 8.03 kB │ map: 62.04 kB 2026-10-24T19:50:26.9483837Z dist/assets/catppuccin-macchiato-DYnBP6_5.js 47.31 kB │ gzip: 8.03 kB │ map: 62.06 kB 2026-10-24T19:50:26.9484172Z dist/assets/PreviewPanel-BQVBJc8D.js 47.35 kB │ gzip: 17.24 kB │ map: 255.28 kB 2026-10-24T19:50:26.9484481Z dist/assets/apex-VAyPSnFM.js 47.80 kB │ gzip: 6.85 kB │ map: 66.78 kB 2026-10-24T19:50:26.9484781Z dist/assets/ada-C5qYipkI.js 48.11 kB │ gzip: 6.00 kB │ map: 70.96 kB 2026-10-24T19:50:26.9485115Z dist/assets/css-kzGS2ZwB.js 49.13 kB │ gzip: 11.99 kB │ map: 60.67 kB 2026-10-24T19:50:26.9485450Z dist/assets/welcome-EJSMOKgv.js 49.73 kB │ gzip: 17.03 kB │ map: 266.54 kB 2026-10-24T19:50:26.9485751Z dist/assets/imba-DsUTQ-LC.js 49.96 kB │ gzip: 9.51 kB │ map: 68.08 kB 2026-10-24T19:50:26.9486065Z dist/assets/sortable.esm-BOZCRw2L.js 50.51 kB │ gzip: 16.26 kB │ map: 236.47 kB 2026-10-24T19:50:26.9486389Z dist/assets/everforest-dark-sB-x3p7T.js 53.79 kB │ gzip: 8.41 kB │ map: 68.28 kB 2026-10-24T19:50:26.9486733Z dist/assets/everforest-light-Df2xbC6M.js 53.79 kB │ gzip: 8.41 kB │ map: 68.29 kB 2026-10-24T19:50:26.9487186Z dist/assets/Virtualizer-BrxpfYl2.js 55.69 kB │ gzip: 14.33 kB │ map: 177.52 kB 2026-10-24T19:50:26.9487508Z dist/assets/wikitext-ClFFjSW2.js 55.92 kB │ gzip: 4.85 kB │ map: 77.64 kB 2026-10-24T19:50:26.9487842Z dist/assets/ScheduledTasksSettings-DKnGyWJp.js 56.58 kB │ gzip: 19.20 kB │ map: 343.57 kB 2026-10-24T19:50:26.9488171Z dist/assets/stata-Ciuk7_mY.js 57.03 kB │ gzip: 12.44 kB │ map: 74.20 kB 2026-10-24T19:50:26.9488468Z dist/assets/html-DIIndQnv.js 57.35 kB │ gzip: 11.82 kB │ map: 73.07 kB 2026-10-24T19:50:26.9488774Z dist/assets/ballerina-B7ZEbQpA.js 58.73 kB │ gzip: 8.14 kB │ map: 81.54 kB 2026-10-24T19:50:26.9489082Z dist/assets/markdown-BYOwaDjH.js 59.37 kB │ gzip: 5.70 kB │ map: 82.33 kB 2026-10-24T19:50:26.9489397Z dist/assets/pierre-icons-DRq8fpDH.js 60.69 kB │ gzip: 22.05 kB │ map: 82.50 kB 2026-10-24T19:50:26.9489705Z dist/assets/Icons-HN_P161M.js 61.79 kB │ gzip: 30.40 kB │ map: 165.88 kB 2026-10-24T19:50:26.9490011Z dist/assets/ocaml-O90oeIOV.js 62.48 kB │ gzip: 5.08 kB │ map: 81.11 kB 2026-10-24T19:50:26.9490316Z dist/assets/mojo-BgCJLMeH.js 69.83 kB │ gzip: 9.25 kB │ map: 94.94 kB 2026-10-24T19:50:26.9490619Z dist/assets/python-gzcpVVnB.js 69.98 kB │ gzip: 9.13 kB │ map: 95.24 kB 2026-10-24T19:50:26.9490942Z dist/assets/useHandleNewThread-BhR9w0te.js 70.93 kB │ gzip: 22.58 kB │ map: 333.47 kB 2026-10-24T19:50:26.9491261Z dist/assets/c-esFkreWu.js 72.20 kB │ gzip: 10.58 kB │ map: 95.41 kB 2026-10-24T19:50:26.9491557Z dist/assets/latex-b0569jTU.js 72.91 kB │ gzip: 6.78 kB │ map: 100.96 kB 2026-10-24T19:50:26.9491863Z dist/assets/vyper-CgoNMtux.js 74.68 kB │ gzip: 10.73 kB │ map: 100.71 kB 2026-10-24T19:50:26.9492167Z dist/assets/hack-mYo6lwOk.js 81.09 kB │ gzip: 26.47 kB │ map: 98.63 kB 2026-10-24T19:50:26.9492491Z dist/assets/SettingsPanels-SOjt2Cfc.js 82.62 kB │ gzip: 25.82 kB │ map: 507.56 kB 2026-10-24T19:50:26.9492816Z dist/assets/themePalette-BEEX5lLK.js 83.31 kB │ gzip: 23.89 kB │ map: 284.11 kB 2026-10-24T19:50:26.9493496Z dist/assets/swift-DonLKvLd.js 86.72 kB │ gzip: 14.72 kB │ map: 114.51 kB 2026-10-24T19:50:26.9493860Z dist/assets/DiffWorkerPoolProvider-DHpbQJ4r.js 87.11 kB │ gzip: 23.11 kB │ map: 273.90 kB 2026-10-24T19:50:26.9494294Z dist/assets/fortran-free-form-CYNrtFtB.js 89.01 kB │ gzip: 11.23 kB │ map: 124.06 kB 2026-10-24T19:50:26.9494641Z dist/assets/csharp-oqKa8noW.js 90.22 kB │ gzip: 10.75 kB │ map: 126.35 kB 2026-10-24T19:50:26.9495075Z dist/assets/FileDiff-wBSIEU4t.js 91.16 kB │ gzip: 23.35 kB │ map: 307.03 kB 2026-10-24T19:50:26.9495561Z dist/assets/_chat.pull-requests-CbTozR2-.js 91.36 kB │ gzip: 32.71 kB │ map: 452.85 kB 2026-10-24T19:50:26.9495910Z dist/assets/racket-DcIDlBhZ.js 92.42 kB │ gzip: 15.11 kB │ map: 106.19 kB 2026-10-24T19:50:26.9496258Z dist/assets/settings.diagnostics-C9j1DcPs.js 93.82 kB │ gzip: 27.30 kB │ map: 499.48 kB 2026-10-24T19:50:26.9496612Z dist/assets/embeddedScripts-DGY2WsD8.js 94.06 kB │ gzip: 24.28 kB │ map: 399.57 kB 2026-10-24T19:50:26.9496962Z dist/assets/usage-C3jwz-0G.js 96.07 kB │ gzip: 32.13 kB │ map: 559.57 kB 2026-10-24T19:50:26.9497292Z dist/assets/settings.integrations-BDLVI_Wr.js 96.58 kB │ gzip: 31.47 kB │ map: 566.32 kB 2026-10-24T19:50:26.9497623Z dist/assets/less-DVTAwKKz.js 97.66 kB │ gzip: 14.88 kB │ map: 131.85 kB 2026-10-24T19:50:26.9497931Z dist/assets/blade-DBGhfhIu.js 105.01 kB │ gzip: 28.34 kB │ map: 131.09 kB 2026-10-24T19:50:26.9498251Z dist/assets/objective-c-D1A_Heim.js 105.45 kB │ gzip: 23.67 kB │ map: 129.66 kB 2026-10-24T19:50:26.9498577Z dist/assets/settings.connections-CPQiRXoI.js 107.25 kB │ gzip: 36.15 kB │ map: 612.94 kB 2026-10-24T19:50:26.9498912Z dist/assets/php-BrskDoCo.js 113.12 kB │ gzip: 28.89 kB │ map: 142.15 kB 2026-10-24T19:50:26.9499257Z dist/assets/ThreadTerminalDrawer-X3w8hhcw.js 113.83 kB │ gzip: 33.62 kB │ map: 458.92 kB 2026-10-24T19:50:26.9499628Z dist/assets/getDiffFileInput-CC8o74Ry.js 124.36 kB │ gzip: 30.75 kB │ map: 375.11 kB 2026-10-24T19:50:26.9499965Z dist/assets/asciidoc-DE70LPWp.js 131.56 kB │ gzip: 9.35 kB │ map: 189.11 kB 2026-10-24T19:50:26.9500297Z dist/assets/mdx-DQZ5AkYe.js 136.14 kB │ gzip: 23.57 kB │ map: 176.72 kB 2026-10-24T19:50:26.9500637Z dist/assets/RenderErrorBoundary-DGhLIVus.js 153.41 kB │ gzip: 45.88 kB │ map: 938.43 kB 2026-10-24T19:50:26.9500997Z dist/assets/settings.providers-DmPF3ZZ-.js 161.58 kB │ gzip: 53.43 kB │ map: 828.10 kB 2026-10-24T19:50:26.9501332Z dist/assets/objective-cpp-BsSzOQcm.js 172.01 kB │ gzip: 31.02 kB │ map: 218.54 kB 2026-10-24T19:50:26.9501662Z dist/assets/javascript-DM2jNGak.js 174.93 kB │ gzip: 16.72 kB │ map: 236.10 kB 2026-10-24T19:50:26.9501976Z dist/assets/runtime-eaHEc3P9.js 175.44 kB │ gzip: 56.08 kB │ map: 1,084.32 kB 2026-10-24T19:50:26.9502290Z dist/assets/tsx-BeGYnVHn.js 175.63 kB │ gzip: 16.71 kB │ map: 236.76 kB 2026-10-24T19:50:26.9502602Z dist/assets/jsx-DQaT7vKh.js 177.88 kB │ gzip: 16.80 kB │ map: 239.02 kB 2026-10-24T19:50:26.9502930Z dist/assets/runtime-KeJZHiK_.js 178.48 kB │ gzip: 51.35 kB │ map: 826.10 kB 2026-10-24T19:50:26.9503299Z dist/assets/typescript-BEWCPeCr.js 181.18 kB │ gzip: 16.32 kB │ map: 244.44 kB 2026-10-24T19:50:26.9503634Z dist/assets/angular-ts-B9yvU4g3.js 183.77 kB │ gzip: 16.82 kB │ map: 249.70 kB 2026-10-24T19:50:26.9503959Z dist/assets/vue-vine-DBK802jz.js 190.10 kB │ gzip: 18.11 kB │ map: 255.27 kB 2026-10-24T19:50:26.9504305Z dist/assets/fileTreeExpansion-Db0xZQX2.js 199.35 kB │ gzip: 54.49 kB │ map: 731.80 kB 2026-10-24T19:50:26.9504644Z dist/assets/FilePreviewPanel-DFF_SEBl.js 204.15 kB │ gzip: 67.02 kB │ map: 946.02 kB 2026-10-24T19:50:26.9505010Z dist/assets/settings.appearance-BoYaWoBr.js 214.00 kB │ gzip: 68.30 kB │ map: 896.66 kB 2026-10-24T19:50:26.9505441Z dist/assets/diffRendering-DG6cvROu.js 254.85 kB │ gzip: 81.54 kB │ map: 946.66 kB 2026-10-24T19:50:26.9505936Z dist/assets/katex-DJhrJSbw.js 258.63 kB │ gzip: 77.46 kB │ map: 969.65 kB 2026-10-24T19:50:26.9506271Z dist/assets/wolfram-DLL8P-h_.js 262.42 kB │ gzip: 77.67 kB │ map: 279.66 kB 2026-10-24T19:50:26.9506602Z dist/assets/dist-B2ybgEi4.js 332.34 kB │ gzip: 97.19 kB │ map: 1,652.92 kB 2026-10-24T19:50:26.9506936Z dist/assets/PanelLayoutControls-CtvDaLCI.js 384.70 kB │ gzip: 119.97 kB │ map: 1,813.73 kB 2026-10-24T19:50:26.9507291Z dist/assets/ChatMarkdown-iaMEVAFS.js 438.88 kB │ gzip: 146.35 kB │ map: 1,866.44 kB 2026-10-24T19:50:26.9507631Z dist/assets/ComposerPromptEditor-bHtnL1J8.js 519.96 kB │ gzip: 167.94 kB │ map: 2,358.60 kB 2026-10-24T19:50:26.9507998Z dist/assets/lucideIconByName-Bh7LJc8i.js 553.52 kB │ gzip: 141.17 kB │ map: 2,035.78 kB 2026-10-24T19:50:26.9508346Z dist/assets/renderScheduler-Bj9WwcUX.js 608.04 kB │ gzip: 156.02 kB │ map: 3,048.60 kB 2026-10-24T19:50:26.9508681Z dist/assets/wasm-BnjxR4X6.js 622.36 kB │ gzip: 232.13 kB │ map: 622.90 kB 2026-10-24T19:50:26.9508991Z dist/assets/cpp-5pYxG9nn.js 626.16 kB │ gzip: 48.12 kB │ map: 816.28 kB 2026-10-24T19:50:26.9509312Z dist/assets/emacs-lisp-B4R74twV.js 779.92 kB │ gzip: 197.59 kB │ map: 789.85 kB 2026-10-24T19:50:26.9509636Z dist/assets/utils-BokjoGa4.js 1,012.45 kB │ gzip: 314.36 kB │ map: 7,799.08 kB 2026-10-24T19:50:26.9509957Z dist/assets/main-D4jmunnz.js 1,055.85 kB │ gzip: 345.69 kB │ map: 5,061.54 kB 2026-10-24T19:50:26.9510283Z dist/assets/_chat-C7odgosU.js 1,314.75 kB │ gzip: 438.49 kB │ map: 6,558.42 kB 2026-10-24T19:50:26.9510611Z dist/assets/heic-to-DeD09f__.js 2,995.22 kB │ gzip: 750.97 kB │ map: 2,998.72 kB 2026-10-24T19:50:26.9510775Z 2026-10-24T19:50:26.9510960Z [plugin builtin:vite-reporter] 2026-10-24T19:50:26.9511163Z (!) Some chunks are larger than 500 kB after minification. Consider: 2026-10-24T19:50:26.9511386Z - Using dynamic import() to code-split the application 2026-10-24T19:50:26.9511763Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting 2026-10-24T19:50:26.9512157Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. 2026-10-24T19:50:26.9513063Z ✓ built in 4.62s 2026-10-24T19:50:27.0272365Z 2026-10-24T19:50:27.0273254Z ~/apps/server$ node scripts/cli.ts build ⊘ cache disabled 2026-10-24T19:50:27.2669396Z [19:50:27.266] INFO (#1): [cli] Running tsdown... 2026-10-24T19:50:28.6980159Z [19:50:28.697] INFO (#1): [cli] Applied development icon overrides to dist/client 2026-10-24T19:50:28.6980499Z [19:50:28.697] INFO (#1): [cli] Bundled web app into dist/client 2026-10-24T19:50:28.7063453Z 2026-10-24T19:50:28.7063997Z ~/apps/desktop$ node scripts/build-browser-secret.mjs ⊘ cache disabled 2026-10-24T19:50:28.8089004Z 2026-10-24T19:50:28.8089714Z ~/apps/desktop$ node scripts/build-preview-annotation-css.mjs ⊘ cache disabled 2026-10-24T19:50:28.8516251Z 2026-10-24T19:50:28.8516944Z ~/apps/desktop$ vp pack ⊘ cache disabled 2026-10-24T19:50:28.9665152Z ℹ entry: src/main.ts 2026-10-24T19:50:28.9665572Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9671152Z ℹ entry: src/electron/WindowsForegroundFocusWorker.ts, src/snapShot/GlobalShiftShortcutWorker.ts, src/snapShot/RegionSnapShotWorker.ts, src/snapShot/SnapShotAccessibilityWorker.ts 2026-10-24T19:50:28.9671568Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9674691Z ℹ entry: src/boot.ts, src/compileCache.ts 2026-10-24T19:50:28.9674917Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9677686Z ℹ entry: src/preload.ts 2026-10-24T19:50:28.9678039Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9679907Z ℹ entry: src/preview-pick-preload.ts 2026-10-24T19:50:28.9680193Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9682726Z ℹ entry: src/preview-pip-preload.ts 2026-10-24T19:50:28.9682964Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9685479Z ℹ entry: src/mac-permission-preload.ts 2026-10-24T19:50:28.9685823Z ℹ tsconfig: tsconfig.json 2026-10-24T19:50:28.9688081Z ℹ Build start 2026-10-24T19:50:28.9894452Z ℹ dist-electron/preview-pip-preload.cjs 0.68 kB │ gzip: 0.36 kB 2026-10-24T19:50:28.9894761Z ℹ dist-electron/preview-pip-preload.cjs.map 10.93 kB │ gzip: 2.83 kB 2026-10-24T19:50:28.9909993Z ℹ 2 files, total: 11.61 kB 2026-10-24T19:50:28.9910567Z ℹ dist-electron/mac-permission-preload.cjs 0.79 kB │ gzip: 0.38 kB 2026-10-24T19:50:28.9910977Z ℹ dist-electron/mac-permission-preload.cjs.map 11.01 kB │ gzip: 2.80 kB 2026-10-24T19:50:28.9911281Z ℹ 2 files, total: 11.80 kB 2026-10-24T19:50:28.9960574Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-24T19:50:28.9961026Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-24T19:50:28.9961219Z Detected dependencies in bundle: 2026-10-24T19:50:28.9961355Z - @clerk/electron 2026-10-24T19:50:29.0028158Z ✔ Build complete in 31ms 2026-10-24T19:50:29.0080303Z ✔ Build complete in 39ms 2026-10-24T19:50:29.0234969Z ℹ dist-electron/compileCache.cjs 1.61 kB │ gzip: 0.75 kB 2026-10-24T19:50:29.0235253Z ℹ dist-electron/boot.cjs 0.12 kB │ gzip: 0.12 kB 2026-10-24T19:50:29.0235475Z ℹ dist-electron/compileCache.cjs.map 1.29 kB │ gzip: 0.74 kB 2026-10-24T19:50:29.0235711Z ℹ dist-electron/boot.cjs.map 0.31 kB │ gzip: 0.22 kB 2026-10-24T19:50:29.0235892Z ℹ 4 files, total: 3.33 kB 2026-10-24T19:50:29.0236263Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-24T19:50:29.0236638Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-24T19:50:29.0236830Z Detected dependencies in bundle: 2026-10-24T19:50:29.0236959Z - react-grab 2026-10-24T19:50:29.0237123Z ℹ dist-electron/preload.cjs 32.04 kB │ gzip: 7.35 kB 2026-10-24T19:50:29.0237337Z ℹ dist-electron/preload.cjs.map 58.74 kB │ gzip: 13.13 kB 2026-10-24T19:50:29.0237508Z ℹ 2 files, total: 90.78 kB 2026-10-24T19:50:29.0318458Z ✔ Build complete in 61ms 2026-10-24T19:50:29.0414646Z ✔ Build complete in 61ms 2026-10-24T19:50:29.0574754Z ℹ dist-electron/preview-pick-preload.cjs 136.94 kB │ gzip: 36.46 kB 2026-10-24T19:50:29.0575492Z ℹ dist-electron/preview-pick-preload.cjs.map 243.14 kB │ gzip: 62.42 kB 2026-10-24T19:50:29.0583789Z ℹ 2 files, total: 380.08 kB 2026-10-24T19:50:29.0733919Z ✔ Build complete in 104ms 2026-10-24T19:50:29.2124164Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs 6.35 kB │ gzip: 1.97 kB 2026-10-24T19:50:29.2124546Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs 5.71 kB │ gzip: 1.60 kB 2026-10-24T19:50:29.2124861Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs 2.32 kB │ gzip: 0.89 kB 2026-10-24T19:50:29.2125189Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs 0.77 kB │ gzip: 0.43 kB 2026-10-24T19:50:29.2125474Z ℹ dist-electron/snapShot-DNy3-ApB.cjs.map 4.58 MB 2026-10-24T19:50:29.2125721Z ℹ dist-electron/snapShot-DNy3-ApB.cjs 1.19 MB 2026-10-24T19:50:29.2126001Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs.map 13.86 kB │ gzip: 4.10 kB 2026-10-24T19:50:29.2126306Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs.map 13.29 kB │ gzip: 3.40 kB 2026-10-24T19:50:29.2126614Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs.map 5.07 kB │ gzip: 1.69 kB 2026-10-24T19:50:29.2126917Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs.map 1.73 kB │ gzip: 0.82 kB 2026-10-24T19:50:29.2127500Z ℹ dist-electron/rolldown-runtime-VH7oDXx4.cjs 1.13 kB │ gzip: 0.54 kB 2026-10-24T19:50:29.2127818Z ℹ 11 files, total: 5.82 MB 2026-10-24T19:50:29.2127957Z ✔ Build complete in 244ms 2026-10-24T19:50:29.5193346Z ℹ dist-electron/main.cjs 5.48 MB 2026-10-24T19:50:29.5193695Z ℹ dist-electron/main.cjs.map 13.90 MB 2026-10-24T19:50:29.5193920Z ℹ 2 files, total: 19.39 MB 2026-10-24T19:50:29.5200760Z ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js (7:22) [UNRESOLVED_IMPORT] Could not resolve 'x11' in ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js 2026-10-24T19:50:29.5201899Z ╭─[ ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js:7:23 ] 2026-10-24T19:50:29.5202315Z │ 2026-10-24T19:50:29.5202907Z 7 │   const x11 = require('x11'); 2026-10-24T19:50:29.5203420Z  │ ──┬── 2026-10-24T19:50:29.5203669Z  │ ╰──── Module not found, treating it as an external dependency 2026-10-24T19:50:29.5203873Z ───╯ 2026-10-24T19:50:29.5204004Z 2026-10-24T19:50:29.5204338Z ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/ConfigProvider.js (725:7) [EMPTY_IMPORT_META] `import.meta` may not be a valid syntax with the `cjs` output format. 2026-10-24T19:50:29.5204865Z ╭─[ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/ConfigProvider.js:725:8 ] 2026-10-24T19:50:29.5205140Z │ 2026-10-24T19:50:29.5205507Z 725 │     ...import.meta?.env 2026-10-24T19:50:29.5205867Z  │ ─────┬───── 2026-10-24T19:50:29.5206428Z  │ ╰─────── This `import.meta` will be replaced with an empty object (`{}`) automatically. If this is desired, you can suppress this warning by adding `transform.define: { 'import.meta': {} }`. If `import.meta` needs to be kept as-is, you need to set the output format to `esm`. 2026-10-24T19:50:29.5207027Z ─────╯ 2026-10-24T19:50:29.5207106Z 2026-10-24T19:50:29.5207174Z ✔ Build complete in 551ms 2026-10-24T19:50:29.5345464Z 2026-10-24T19:50:29.5347047Z --- 2026-10-24T19:50:29.5347344Z vp run: 5/5 successful. (Run `vp run --last-details` for full details) 2026-10-24T19:50:29.5524488Z ##[group]Run node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-24T19:50:29.5524870Z node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-24T19:50:29.5540277Z shell: /usr/bin/bash -e {0} 2026-10-24T19:50:29.5540462Z env: 2026-10-24T19:50:29.5540640Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:29.5540828Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:29.5540971Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:29.5541102Z ##[endgroup] 2026-10-24T19:50:29.5916029Z ##[group]Run until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-24T19:50:29.5916458Z until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-24T19:50:29.5916769Z cat "$RUNNER_TEMP/typecheck.log" 2026-10-24T19:50:29.5917169Z exit "$(cat "$RUNNER_TEMP/typecheck-status")" 2026-10-24T19:50:29.5930448Z shell: /usr/bin/bash -e {0} 2026-10-24T19:50:29.5930590Z env: 2026-10-24T19:50:29.5930694Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:29.5930841Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:29.5930979Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T19:50:29.5931110Z ##[endgroup] 2026-10-24T19:50:29.5956174Z ~/packages/effect-acp$ tsc --noEmit 2026-10-24T19:50:29.5956483Z ~/packages/effect-codex-app-server$ tsc --noEmit 2026-10-24T19:50:29.5956733Z ~/oxlint-plugin-t3code$ tsc --noEmit 2026-10-24T19:50:29.5956956Z ~/packages/contracts$ tsc --noEmit 2026-10-24T19:50:29.5957094Z 2026-10-24T19:50:29.5957629Z src/agent.test.ts:40:10 - suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-10-24T19:50:29.5958231Z 2026-10-24T19:50:29.5958316Z 40 error: Schema.Struct({ 2026-10-24T19:50:29.5958506Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5958697Z 41 _tag: Schema.Literal("Cause"), 2026-10-24T19:50:29.5958859Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5959131Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T19:50:29.5959472Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5959718Z 43 }), 2026-10-24T19:50:29.5959865Z ~~~~ 2026-10-24T19:50:29.5959951Z 2026-10-24T19:50:29.5960471Z src/agent.test.ts:42:25 - suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-10-24T19:50:29.5961053Z 2026-10-24T19:50:29.5961201Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T19:50:29.5961525Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5961705Z 2026-10-24T19:50:29.5962155Z src/agent.ts:422:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleInitialize")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5962659Z 2026-10-24T19:50:29.5962748Z 422 handleInitialize: (handler) => 2026-10-24T19:50:29.5962964Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5963105Z 2026-10-24T19:50:29.5963553Z src/agent.ts:427:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleAuthenticate")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5964071Z 2026-10-24T19:50:29.5964164Z 427 handleAuthenticate: (handler) => 2026-10-24T19:50:29.5964382Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5964498Z 2026-10-24T19:50:29.5964944Z src/agent.ts:432:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleLogout")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5965384Z 2026-10-24T19:50:29.5965438Z 432 handleLogout: (handler) => 2026-10-24T19:50:29.5965563Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.5965624Z 2026-10-24T19:50:29.5965885Z src/agent.ts:437:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleCreateSession")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5966185Z 2026-10-24T19:50:29.5966240Z 437 handleCreateSession: (handler) => 2026-10-24T19:50:29.5966374Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5966446Z 2026-10-24T19:50:29.5966845Z src/agent.ts:442:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleLoadSession")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5967138Z 2026-10-24T19:50:29.5967192Z 442 handleLoadSession: (handler) => 2026-10-24T19:50:29.5967324Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5967464Z 2026-10-24T19:50:29.5967719Z src/agent.ts:447:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleListSessions")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5968013Z 2026-10-24T19:50:29.5968067Z 447 handleListSessions: (handler) => 2026-10-24T19:50:29.5968199Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5968268Z 2026-10-24T19:50:29.5968518Z src/agent.ts:452:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleForkSession")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5968806Z 2026-10-24T19:50:29.5968860Z 452 handleForkSession: (handler) => 2026-10-24T19:50:29.5968991Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5969056Z 2026-10-24T19:50:29.5969313Z src/agent.ts:457:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleResumeSession")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5969611Z 2026-10-24T19:50:29.5969666Z 457 handleResumeSession: (handler) => 2026-10-24T19:50:29.5969798Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5969869Z 2026-10-24T19:50:29.5970122Z src/agent.ts:462:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleCloseSession")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5970415Z 2026-10-24T19:50:29.5970469Z 462 handleCloseSession: (handler) => 2026-10-24T19:50:29.5970600Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5970665Z 2026-10-24T19:50:29.5970922Z src/agent.ts:467:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleDeleteSession")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5971223Z 2026-10-24T19:50:29.5971277Z 467 handleDeleteSession: (handler) => 2026-10-24T19:50:29.5971410Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5971481Z 2026-10-24T19:50:29.5971740Z src/agent.ts:472:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleListProviders")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5972036Z 2026-10-24T19:50:29.5972088Z 472 handleListProviders: (handler) => 2026-10-24T19:50:29.5972220Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5972286Z 2026-10-24T19:50:29.5972543Z src/agent.ts:477:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleSetProvider")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5972835Z 2026-10-24T19:50:29.5972889Z 477 handleSetProvider: (handler) => 2026-10-24T19:50:29.5973311Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5973385Z 2026-10-24T19:50:29.5973671Z src/agent.ts:482:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleDisableProvider")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5974003Z 2026-10-24T19:50:29.5974093Z 482 handleDisableProvider: (handler) => 2026-10-24T19:50:29.5974301Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5974403Z 2026-10-24T19:50:29.5974885Z src/agent.ts:487:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleSetSessionConfigOption")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5975439Z 2026-10-24T19:50:29.5975545Z 487 handleSetSessionConfigOption: (handler) => 2026-10-24T19:50:29.5975794Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5976041Z 2026-10-24T19:50:29.5976477Z src/agent.ts:492:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handlePrompt")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5976973Z 2026-10-24T19:50:29.5977048Z 492 handlePrompt: (handler) => 2026-10-24T19:50:29.5977306Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.5977410Z 2026-10-24T19:50:29.5977828Z src/agent.ts:497:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleCancel")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5978335Z 2026-10-24T19:50:29.5978416Z 497 handleCancel: (handler) => 2026-10-24T19:50:29.5978591Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.5978656Z 2026-10-24T19:50:29.5978930Z src/agent.ts:502:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleUnknownExtRequest")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5979241Z 2026-10-24T19:50:29.5979298Z 502 handleUnknownExtRequest: (handler) => 2026-10-24T19:50:29.5979445Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5979522Z 2026-10-24T19:50:29.5979797Z src/agent.ts:507:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleUnknownExtNotification")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5980115Z 2026-10-24T19:50:29.5980179Z 507 handleUnknownExtNotification: (handler) => 2026-10-24T19:50:29.5980329Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5980410Z 2026-10-24T19:50:29.5980689Z src/agent.ts:512:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleExtRequest")((method, payload, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5981008Z 2026-10-24T19:50:29.5981076Z 512 handleExtRequest: (method, payload, handler) => 2026-10-24T19:50:29.5981230Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5981299Z 2026-10-24T19:50:29.5981583Z src/agent.ts:517:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpAgent.handleExtNotification")((method, payload, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5981915Z 2026-10-24T19:50:29.5981993Z 517 handleExtNotification: (method, payload, handler) => 2026-10-24T19:50:29.5982155Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5982231Z 2026-10-24T19:50:29.5982543Z src/client.test.ts:56:10 - suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-10-24T19:50:29.5982892Z 2026-10-24T19:50:29.5982940Z 56 error: Schema.Struct({ 2026-10-24T19:50:29.5983091Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5983226Z 57 _tag: Schema.Literal("Cause"), 2026-10-24T19:50:29.5983359Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5983530Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T19:50:29.5983735Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5983886Z 59 }), 2026-10-24T19:50:29.5983982Z ~~~~ 2026-10-24T19:50:29.5984032Z 2026-10-24T19:50:29.5984340Z src/client.test.ts:58:25 - suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-10-24T19:50:29.5984686Z 2026-10-24T19:50:29.5984778Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T19:50:29.5984972Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5985077Z 2026-10-24T19:50:29.5985358Z src/client.test.ts:1071:18 - suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-10-24T19:50:29.5985638Z 2026-10-24T19:50:29.5985696Z 1071 yield* Effect.all( 2026-10-24T19:50:29.5985828Z ~~~~~~~~~~ 2026-10-24T19:50:29.5986175Z 2026-10-24T19:50:29.5986457Z src/client.ts:1244:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleRequestPermission")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5986803Z 2026-10-24T19:50:29.5986866Z 1244 handleRequestPermission: (handler) => 2026-10-24T19:50:29.5987010Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5987087Z 2026-10-24T19:50:29.5987351Z src/client.ts:1249:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleElicitation")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5987651Z 2026-10-24T19:50:29.5987703Z 1249 handleElicitation: (handler) => 2026-10-24T19:50:29.5987837Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5987907Z 2026-10-24T19:50:29.5988163Z src/client.ts:1254:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpConnect")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5988463Z 2026-10-24T19:50:29.5988517Z 1254 handleMcpConnect: (handler) => 2026-10-24T19:50:29.5988647Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5988717Z 2026-10-24T19:50:29.5988975Z src/client.ts:1258:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpMessage")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5989278Z 2026-10-24T19:50:29.5989329Z 1258 handleMcpMessage: (handler) => 2026-10-24T19:50:29.5989461Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5989529Z 2026-10-24T19:50:29.5989796Z src/client.ts:1262:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpDisconnect")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5990103Z 2026-10-24T19:50:29.5990160Z 1262 handleMcpDisconnect: (handler) => 2026-10-24T19:50:29.5990321Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5990398Z 2026-10-24T19:50:29.5990672Z src/client.ts:1266:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpNotification")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5990983Z 2026-10-24T19:50:29.5991039Z 1266 handleMcpNotification: (handler) => 2026-10-24T19:50:29.5991179Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5991257Z 2026-10-24T19:50:29.5991519Z src/client.ts:1275:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleReadTextFile")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5991827Z 2026-10-24T19:50:29.5991882Z 1275 handleReadTextFile: (handler) => 2026-10-24T19:50:29.5992017Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5992089Z 2026-10-24T19:50:29.5992356Z src/client.ts:1279:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleWriteTextFile")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5992672Z 2026-10-24T19:50:29.5992725Z 1279 handleWriteTextFile: (handler) => 2026-10-24T19:50:29.5992864Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5992936Z 2026-10-24T19:50:29.5993247Z src/client.ts:1283:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleCreateTerminal")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5993557Z 2026-10-24T19:50:29.5993615Z 1283 handleCreateTerminal: (handler) => 2026-10-24T19:50:29.5993754Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5993829Z 2026-10-24T19:50:29.5994135Z src/client.ts:1287:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalOutput")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5994445Z 2026-10-24T19:50:29.5994502Z 1287 handleTerminalOutput: (handler) => 2026-10-24T19:50:29.5994669Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5994744Z 2026-10-24T19:50:29.5995018Z src/client.ts:1291:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalWaitForExit")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5995336Z 2026-10-24T19:50:29.5995402Z 1291 handleTerminalWaitForExit: (handler) => 2026-10-24T19:50:29.5995548Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5995631Z 2026-10-24T19:50:29.5995894Z src/client.ts:1295:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalKill")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5996198Z 2026-10-24T19:50:29.5996254Z 1295 handleTerminalKill: (handler) => 2026-10-24T19:50:29.5996386Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5996459Z 2026-10-24T19:50:29.5996730Z src/client.ts:1299:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalRelease")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5997038Z 2026-10-24T19:50:29.5997098Z 1299 handleTerminalRelease: (handler) => 2026-10-24T19:50:29.5997239Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5997311Z 2026-10-24T19:50:29.5997578Z src/client.ts:1303:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleSessionUpdate")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5997886Z 2026-10-24T19:50:29.5997944Z 1303 handleSessionUpdate: (handler) => 2026-10-24T19:50:29.5998082Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5998155Z 2026-10-24T19:50:29.5998432Z src/client.ts:1308:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleElicitationComplete")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5998767Z 2026-10-24T19:50:29.5998834Z 1308 handleElicitationComplete: (handler) => 2026-10-24T19:50:29.5998982Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5999059Z 2026-10-24T19:50:29.5999335Z src/client.ts:1313:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleUnknownExtRequest")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.5999651Z 2026-10-24T19:50:29.5999711Z 1313 handleUnknownExtRequest: (handler) => 2026-10-24T19:50:29.5999853Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.5999932Z 2026-10-24T19:50:29.6000217Z src/client.ts:1318:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleUnknownExtNotification")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6000540Z 2026-10-24T19:50:29.6000610Z 1318 handleUnknownExtNotification: (handler) => 2026-10-24T19:50:29.6000768Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6000849Z 2026-10-24T19:50:29.6001139Z src/client.ts:1323:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleExtRequest")((method, payload, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6001469Z 2026-10-24T19:50:29.6001543Z 1323 handleExtRequest: (method, payload, handler) => 2026-10-24T19:50:29.6001696Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6001764Z 2026-10-24T19:50:29.6002095Z src/client.ts:1328:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleExtNotification")((method, payload, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6002432Z 2026-10-24T19:50:29.6002508Z 1328 handleExtNotification: (method, payload, handler) => 2026-10-24T19:50:29.6002676Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6002751Z 2026-10-24T19:50:29.6003169Z src/protocol.test.ts:500:38 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6003616Z 2026-10-24T19:50:29.6003695Z 500 const response = yield* Schema.decodeUnknownEffect( 2026-10-24T19:50:29.6003868Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6003968Z 2026-10-24T19:50:29.6004230Z src/protocol.ts:875:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RpcClient.Protocol.run")((_clientId, f) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6004532Z 2026-10-24T19:50:29.6004581Z 875 run: (_clientId, f) => 2026-10-24T19:50:29.6004701Z ~~~ 2026-10-24T19:50:29.6004765Z 2026-10-24T19:50:29.6005036Z src/protocol.ts:880:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RpcClient.Protocol.send")((_clientId, request) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6005352Z 2026-10-24T19:50:29.6005404Z 880 send: (_clientId, request) => 2026-10-24T19:50:29.6005528Z ~~~~ 2026-10-24T19:50:29.6005586Z 2026-10-24T19:50:29.6005835Z src/protocol.ts:898:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RpcServer.Protocol.run")((f) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6006126Z 2026-10-24T19:50:29.6006183Z 898 run: (f) => 2026-10-24T19:50:29.6006289Z ~~~ 2026-10-24T19:50:29.6006343Z 2026-10-24T19:50:29.6006615Z src/protocol.ts:904:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RpcServer.Protocol.send")((_clientId, response) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6006929Z 2026-10-24T19:50:29.6006984Z 904 send: (_clientId, response) => 2026-10-24T19:50:29.6007114Z ~~~~ 2026-10-24T19:50:29.6007176Z 2026-10-24T19:50:29.6007432Z src/protocol.ts:913:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RpcServer.Protocol.end")((_clientId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6007729Z 2026-10-24T19:50:29.6007774Z 913 end: (_clientId) => 2026-10-24T19:50:29.6007893Z ~~~ 2026-10-24T19:50:29.6007949Z 2026-10-24T19:50:29.6007951Z 2026-10-24T19:50:29.6008312Z src/auth.test.ts:17:19 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6008711Z 2026-10-24T19:50:29.6008838Z 17 expect(Schema.decodeUnknownSync(AuthEnvironmentScopes)(["review:write"])).toEqual([ 2026-10-24T19:50:29.6009051Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6009134Z 2026-10-24T19:50:29.6009136Z 2026-10-24T19:50:29.6009190Z ~/packages/shared$ tsc --noEmit 2026-10-24T19:50:29.6009528Z src/HostProcess.ts:91:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("defaultValue")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6009831Z 2026-10-24T19:50:29.6009882Z 91 defaultValue: () => 2026-10-24T19:50:29.6009997Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6010060Z 2026-10-24T19:50:29.6010303Z src/httpReadiness.ts:121:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6010585Z 2026-10-24T19:50:29.6010630Z 121 onNone: () => 2026-10-24T19:50:29.6010768Z ~~~~~~ 2026-10-24T19:50:29.6010827Z 2026-10-24T19:50:29.6011085Z src/nodeSqliteClient.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("checkNodeSqliteCompat")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6011412Z 2026-10-24T19:50:29.6011471Z 143 const checkNodeSqliteCompat = () => { 2026-10-24T19:50:29.6011611Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6011689Z 2026-10-24T19:50:29.6011942Z src/nodeSqliteClient.ts:471:31 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6012229Z 2026-10-24T19:50:29.6012305Z 471 if (unavailable) return Effect.succeed(undefined); 2026-10-24T19:50:29.6012474Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6012574Z 2026-10-24T19:50:29.6012950Z src/nodeSqliteClient.ts:478:3 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6015285Z 2026-10-24T19:50:29.6015393Z 478 return Effect.suspend((): Effect.Effect => { 2026-10-24T19:50:29.6015583Z ~~~~~~ 2026-10-24T19:50:29.6015638Z 2026-10-24T19:50:29.6015896Z src/nodeSqliteClient.ts:479:29 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6016185Z 2026-10-24T19:50:29.6016258Z 479 if (unavailable) return Effect.succeed(undefined); 2026-10-24T19:50:29.6016424Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6016521Z 2026-10-24T19:50:29.6016771Z src/nodeSqliteClient.ts:500:13 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6017061Z 2026-10-24T19:50:29.6017117Z 500 ? Effect.succeed(undefined) 2026-10-24T19:50:29.6017257Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6017338Z 2026-10-24T19:50:29.6017700Z src/nodeSqliteClient.ts:665:3 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T19:50:29.6018096Z 2026-10-24T19:50:29.6018140Z 665 try { 2026-10-24T19:50:29.6018236Z ~~~~~ 2026-10-24T19:50:29.6018391Z 666 worker = new NodeWorkerThreads.Worker(checkpointWorkerSource, { 2026-10-24T19:50:29.6018593Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6018742Z ... 2026-10-24T19:50:29.6018955Z 677 return undefined; 2026-10-24T19:50:29.6019139Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6019313Z 678 } 2026-10-24T19:50:29.6019456Z ~~~ 2026-10-24T19:50:29.6019539Z 2026-10-24T19:50:29.6019809Z src/symlink.ts:28:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6020048Z 2026-10-24T19:50:29.6020101Z 28 Effect.map(Option.some), 2026-10-24T19:50:29.6020229Z ~~~~~~~~~~ 2026-10-24T19:50:29.6020290Z 2026-10-24T19:50:29.6020292Z 2026-10-24T19:50:29.6020344Z ~/apps/marketing$ astro check 2026-10-24T19:50:29.6020489Z ~/packages/source-control-core$ tsc --noEmit 2026-10-24T19:50:29.6020642Z ~/packages/tailscale$ tsc --noEmit 2026-10-24T19:50:29.6021043Z src/client.ts:243:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CodexAppServerClient.handleServerRequest")((method, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6021391Z 2026-10-24T19:50:29.6021457Z 243 handleServerRequest: (method, handler) => 2026-10-24T19:50:29.6021683Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6021756Z 2026-10-24T19:50:29.6022071Z src/client.ts:247:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CodexAppServerClient.handleServerNotification")((method, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6022477Z 2026-10-24T19:50:29.6022549Z 247 handleServerNotification: (method, handler) => 2026-10-24T19:50:29.6022704Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6022785Z 2026-10-24T19:50:29.6023134Z src/client.ts:253:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CodexAppServerClient.handleUnknownServerRequest")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6023480Z 2026-10-24T19:50:29.6023543Z 253 handleUnknownServerRequest: (handler) => 2026-10-24T19:50:29.6023690Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6023767Z 2026-10-24T19:50:29.6024079Z src/client.ts:257:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CodexAppServerClient.handleUnknownServerNotification")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6024431Z 2026-10-24T19:50:29.6024501Z 257 handleUnknownServerNotification: (handler) => 2026-10-24T19:50:29.6024659Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6024746Z 2026-10-24T19:50:29.6024748Z 2026-10-24T19:50:29.6024799Z ~/packages/ssh$ tsc --noEmit 2026-10-24T19:50:29.6024878Z 2026-10-24T19:50:29.6024933Z ~/packages/provider-core$ tsc --noEmit 2026-10-24T19:50:29.6025023Z 2026-10-24T19:50:29.6025072Z ~/scripts$ tsc --noEmit 2026-10-24T19:50:29.6025397Z src/auth.ts:51:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SshPasswordPrompt.request")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6025687Z 2026-10-24T19:50:29.6025747Z 51 request: () => Effect.succeed(null), 2026-10-24T19:50:29.6025884Z ~~~~~~~ 2026-10-24T19:50:29.6025945Z 2026-10-24T19:50:29.6026178Z src/command.ts:311:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6026451Z 2026-10-24T19:50:29.6026496Z 311 onNone: () => 2026-10-24T19:50:29.6026610Z ~~~~~~ 2026-10-24T19:50:29.6026668Z 2026-10-24T19:50:29.6026670Z 2026-10-24T19:50:29.6026736Z ~/packages/source-control-testing$ tsc --noEmit 2026-10-24T19:50:29.6027135Z src/server/McpProviderSessions.ts:95:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpProviderSessions.read")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6027471Z 2026-10-24T19:50:29.6027597Z 95 read: (threadId) => Ref.get(sessions).pipe(Effect.map((current) => current.get(threadId))), 2026-10-24T19:50:29.6027808Z ~~~~ 2026-10-24T19:50:29.6027863Z 2026-10-24T19:50:29.6028160Z src/server/McpProviderSessions.ts:96:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpProviderSessions.clear")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6028501Z 2026-10-24T19:50:29.6028551Z 96 clear: (threadId) => 2026-10-24T19:50:29.6028665Z ~~~~~ 2026-10-24T19:50:29.6028724Z 2026-10-24T19:50:29.6029066Z src/server/McpProviderSessions.ts:110:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpProviderSessions.recordHtmlRender")((threadId, input, reference) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6029449Z 2026-10-24T19:50:29.6029518Z 110 recordHtmlRender: (threadId, input, reference) => 2026-10-24T19:50:29.6029675Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6029745Z 2026-10-24T19:50:29.6030124Z src/server/McpProviderSessions.ts:130:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpProviderSessions.takeHtmlRender")((threadId, input, reported) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6030503Z 2026-10-24T19:50:29.6030574Z 130 takeHtmlRender: (threadId, input, reported) => 2026-10-24T19:50:29.6030721Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6030828Z 2026-10-24T19:50:29.6031158Z src/server/ProviderContinuationRequests.ts:55:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderContinuationRequests.offer")((request) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6031527Z 2026-10-24T19:50:29.6031596Z 55 offer: (request: ProviderContinuationRequest) => 2026-10-24T19:50:29.6031753Z ~~~~~ 2026-10-24T19:50:29.6031812Z 2026-10-24T19:50:29.6032125Z src/server/ProviderLatestVersions.ts:53:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderLatestVersions.invalidate")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6032475Z 2026-10-24T19:50:29.6032523Z 53 invalidate: (key) => 2026-10-24T19:50:29.6032638Z ~~~~~~~~~~ 2026-10-24T19:50:29.6032700Z 2026-10-24T19:50:29.6032969Z src/server/snapshotProbe.test.ts:139:9 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-24T19:50:29.6033306Z 2026-10-24T19:50:29.6033433Z 139 Effect.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, spawner)), 2026-10-24T19:50:29.6033646Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6033716Z 2026-10-24T19:50:29.6033718Z 2026-10-24T19:50:29.6033773Z ~/packages/provider-acp$ tsc --noEmit 2026-10-24T19:50:29.6033914Z 19:50:12 [types] Generated 94ms 2026-10-24T19:50:29.6034130Z 19:50:12 [check] Getting diagnostics for Astro files in /home/runner/_work/t3code/t3code/apps/marketing... 2026-10-24T19:50:29.6034309Z 2026-10-24T19:50:29.6034370Z ~/packages/provider-testing$ tsc --noEmit 2026-10-24T19:50:29.6034465Z 2026-10-24T19:50:29.6034525Z ~/packages/source-control-gitlab$ tsc --noEmit 2026-10-24T19:50:29.6035005Z src/server/AcpSessionRuntime.ts:501:7 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T19:50:29.6035414Z 2026-10-24T19:50:29.6035453Z 501 try { 2026-10-24T19:50:29.6035556Z ~~~~~ 2026-10-24T19:50:29.6035657Z 502 lease.kill(); 2026-10-24T19:50:29.6035769Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6035873Z ... 2026-10-24T19:50:29.6035967Z 508 continue; 2026-10-24T19:50:29.6036072Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6036175Z 509 } 2026-10-24T19:50:29.6036272Z ~~~~~~~ 2026-10-24T19:50:29.6036325Z 2026-10-24T19:50:29.6036686Z src/server/AcpSessionRuntime.ts:511:7 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T19:50:29.6037089Z 2026-10-24T19:50:29.6037130Z 511 try { 2026-10-24T19:50:29.6037223Z ~~~~~ 2026-10-24T19:50:29.6037344Z 512 populated = lease.populated(); 2026-10-24T19:50:29.6037489Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6037616Z ... 2026-10-24T19:50:29.6037737Z 520 return yield* failure("read state for", cause); 2026-10-24T19:50:29.6037910Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6038049Z 521 } 2026-10-24T19:50:29.6038140Z ~~~~~~~ 2026-10-24T19:50:29.6038195Z 2026-10-24T19:50:29.6038614Z src/server/AcpSessionRuntime.ts:527:7 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T19:50:29.6039015Z 2026-10-24T19:50:29.6039057Z 527 try { 2026-10-24T19:50:29.6039156Z ~~~~~ 2026-10-24T19:50:29.6039256Z 528 lease.remove(); 2026-10-24T19:50:29.6039374Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6039481Z ... 2026-10-24T19:50:29.6039627Z 536 lastRemovalFailure = { cause }; 2026-10-24T19:50:29.6039766Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6039896Z 537 } 2026-10-24T19:50:29.6039985Z ~~~~~~~ 2026-10-24T19:50:29.6040039Z 2026-10-24T19:50:29.6040350Z src/server/AcpSessionRuntime.ts:1990:15 - suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-10-24T19:50:29.6040702Z 2026-10-24T19:50:29.6040757Z 1990 Option.match(result, { 2026-10-24T19:50:29.6040894Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6040970Z 2026-10-24T19:50:29.6041271Z src/server/AcpSessionRuntime.ts:2037:7 - suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-10-24T19:50:29.6041603Z 2026-10-24T19:50:29.6041666Z 2037 Effect.flatMap(() => getStartedState), 2026-10-24T19:50:29.6041813Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6041882Z 2026-10-24T19:50:29.6042204Z src/server/AcpSessionRuntime.ts:2254:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6042566Z 2026-10-24T19:50:29.6042617Z 2254 Effect.catch((error) => 2026-10-24T19:50:29.6042748Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6042814Z 2026-10-24T19:50:29.6043190Z src/server/AcpSessionRuntime.ts:2611:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6043577Z 2026-10-24T19:50:29.6043635Z 2611 Effect.catchCause((cause) => 2026-10-24T19:50:29.6043778Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6043863Z 2026-10-24T19:50:29.6044183Z src/server/adapter.ts:1389:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6044534Z 2026-10-24T19:50:29.6044629Z 1389 getCapabilities: () => Effect.succeed(flavor.capabilities), 2026-10-24T19:50:29.6044807Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6044875Z 2026-10-24T19:50:29.6045217Z src/server/adapter.ts:1390:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6045595Z 2026-10-24T19:50:29.6045724Z 1390 planSelectionTransition: (input) => Effect.succeed(acpSelectionTransition(input)), 2026-10-24T19:50:29.6045938Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6046018Z 2026-10-24T19:50:29.6046197Z src/server/adapter.ts:5398:23 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T19:50:29.6046418Z 2026-10-24T19:50:29.6046479Z 5398 Effect.gen(function* () { 2026-10-24T19:50:29.6046636Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6046821Z 5399 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-24T19:50:29.6047034Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6047191Z ... 2026-10-24T19:50:29.6047291Z 5403 }); 2026-10-24T19:50:29.6047413Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6047591Z 5404 }), 2026-10-24T19:50:29.6047716Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6047793Z 2026-10-24T19:50:29.6047968Z src/server/adapter.ts:6092:21 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T19:50:29.6048187Z 2026-10-24T19:50:29.6048283Z 6092 Effect.gen(function* () { 2026-10-24T19:50:29.6048431Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6048612Z 6093 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-24T19:50:29.6048814Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6048970Z ... 2026-10-24T19:50:29.6049067Z 6097 }); 2026-10-24T19:50:29.6049185Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6049302Z 6098 }), 2026-10-24T19:50:29.6049414Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6049488Z 2026-10-24T19:50:29.6049780Z src/server/adapter.ts:7128:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("scheduleDeferredFinalize")(function*(context) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6050106Z 2026-10-24T19:50:29.6050173Z 7128 scheduleDeferredFinalize = (context) => 2026-10-24T19:50:29.6050322Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6050404Z 2026-10-24T19:50:29.6050675Z src/server/clientTerminals.test.ts:243:32 - suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-10-24T19:50:29.6050984Z 2026-10-24T19:50:29.6051041Z 243 const results = yield* Effect.all( 2026-10-24T19:50:29.6051189Z ~~~~~~~~~~ 2026-10-24T19:50:29.6051277Z 2026-10-24T19:50:29.6051279Z 2026-10-24T19:50:29.6051342Z ~/packages/source-control-github$ tsc --noEmit 2026-10-24T19:50:29.6051766Z src/TestProviderHost.ts:59:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderHost.ProviderHost.shouldRunBackgroundWork")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6052124Z 2026-10-24T19:50:29.6052248Z 59 shouldRunBackgroundWork: () => Effect.succeed(options.runBackgroundWork ?? true), 2026-10-24T19:50:29.6052460Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6052539Z 2026-10-24T19:50:29.6052862Z src/TestProviderHost.ts:61:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderHost.ProviderHost.credentials")((namespace, bindingId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6053320Z 2026-10-24T19:50:29.6053381Z 61 credentials: (namespace, bindingId) => 2026-10-24T19:50:29.6053524Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6053595Z 2026-10-24T19:50:29.6053597Z 2026-10-24T19:50:29.6053668Z ~/packages/source-control-azure-devops$ tsc --noEmit 2026-10-24T19:50:29.6054058Z src/server/GitLabCli.ts:470:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.listMergeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6054375Z 2026-10-24T19:50:29.6054431Z 470 listMergeRequests: (input) => 2026-10-24T19:50:29.6054562Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6054634Z 2026-10-24T19:50:29.6054908Z src/server/GitLabCli.ts:507:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6055228Z 2026-10-24T19:50:29.6055280Z 507 getMergeRequest: (input) => 2026-10-24T19:50:29.6055414Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6055481Z 2026-10-24T19:50:29.6055824Z src/server/GitLabCli.ts:534:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6056151Z 2026-10-24T19:50:29.6056211Z 534 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6056350Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6056428Z 2026-10-24T19:50:29.6056703Z src/server/GitLabCli.ts:556:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6057070Z 2026-10-24T19:50:29.6057123Z 556 createRepository: (input) => { 2026-10-24T19:50:29.6057258Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6057325Z 2026-10-24T19:50:29.6057605Z src/server/GitLabCli.ts:621:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.createMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6057926Z 2026-10-24T19:50:29.6057982Z 621 createMergeRequest: (input) => { 2026-10-24T19:50:29.6058117Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6058190Z 2026-10-24T19:50:29.6058468Z src/server/GitLabCli.ts:642:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6058789Z 2026-10-24T19:50:29.6058840Z 642 getDefaultBranch: (input) => 2026-10-24T19:50:29.6058968Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6059034Z 2026-10-24T19:50:29.6059316Z src/server/GitLabCli.ts:663:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.checkoutMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6059640Z 2026-10-24T19:50:29.6059696Z 663 checkoutMergeRequest: (input) => 2026-10-24T19:50:29.6059832Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6059907Z 2026-10-24T19:50:29.6060234Z src/server/GitLabPullRequestCli.ts:1139:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listMergeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6060595Z 2026-10-24T19:50:29.6060646Z 1139 listMergeRequests: (input) => { 2026-10-24T19:50:29.6060786Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6060858Z 2026-10-24T19:50:29.6061161Z src/server/GitLabPullRequestCli.ts:1147:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listNotes")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6061507Z 2026-10-24T19:50:29.6061607Z 1147 listNotes: (input) => notesPage({ ...input, page: 1, collected: [] }), 2026-10-24T19:50:29.6061786Z ~~~~~~~~~ 2026-10-24T19:50:29.6061850Z 2026-10-24T19:50:29.6062166Z src/server/GitLabPullRequestCli.ts:1149:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listReactions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6062525Z 2026-10-24T19:50:29.6062653Z 1149 listReactions: (input) => awardsPage({ ...input, cursor: null, page: 1, collected: null }), 2026-10-24T19:50:29.6062865Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6062933Z 2026-10-24T19:50:29.6063286Z src/server/GitLabPullRequestCli.ts:1187:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listCommits")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6063751Z 2026-10-24T19:50:29.6063807Z 1187 listCommits: (input) => 2026-10-24T19:50:29.6063930Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6063997Z 2026-10-24T19:50:29.6064317Z src/server/GitLabPullRequestCli.ts:1212:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.getMergeRequestDiff")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6064677Z 2026-10-24T19:50:29.6064737Z 1212 getMergeRequestDiff: (input) => { 2026-10-24T19:50:29.6064914Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6064990Z 2026-10-24T19:50:29.6065369Z src/server/GitLabPullRequestCli.ts:1283:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.getProjectMergeCapabilities")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6066041Z 2026-10-24T19:50:29.6066158Z 1283 getProjectMergeCapabilities: (input) => 2026-10-24T19:50:29.6066419Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6066564Z 2026-10-24T19:50:29.6067084Z src/server/GitLabPullRequestCli.ts:1303:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listProjectLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6067651Z 2026-10-24T19:50:29.6067735Z 1303 listProjectLabels: (input) => 2026-10-24T19:50:29.6067952Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6068072Z 2026-10-24T19:50:29.6068618Z src/server/GitLabPullRequestCli.ts:1329:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listProjectUsers")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6069189Z 2026-10-24T19:50:29.6069270Z 1329 listProjectUsers: (input) => 2026-10-24T19:50:29.6069471Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6069578Z 2026-10-24T19:50:29.6070094Z src/server/GitLabPullRequestCli.ts:1337:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6070686Z 2026-10-24T19:50:29.6070779Z 1337 listReviewerCandidates: (input) => 2026-10-24T19:50:29.6071003Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6071116Z 2026-10-24T19:50:29.6071444Z src/server/GitLabPullRequestCli.ts:1355:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6071804Z 2026-10-24T19:50:29.6071863Z 1355 setReviewerRequest: (input) => 2026-10-24T19:50:29.6072000Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6072071Z 2026-10-24T19:50:29.6072395Z src/server/GitLabPullRequestCli.ts:1408:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.updateMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6072757Z 2026-10-24T19:50:29.6072813Z 1408 updateMergeRequest: (input) => 2026-10-24T19:50:29.6072949Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6073068Z 2026-10-24T19:50:29.6073400Z src/server/GitLabPullRequestCli.ts:1422:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.commentOnMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6073769Z 2026-10-24T19:50:29.6073825Z 1422 commentOnMergeRequest: (input) => 2026-10-24T19:50:29.6073965Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6074039Z 2026-10-24T19:50:29.6074349Z src/server/GitLabPullRequestCli.ts:1432:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.updateNote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6074700Z 2026-10-24T19:50:29.6074751Z 1432 updateNote: (input) => 2026-10-24T19:50:29.6074871Z ~~~~~~~~~~ 2026-10-24T19:50:29.6074936Z 2026-10-24T19:50:29.6075250Z src/server/GitLabPullRequestCli.ts:1442:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listDiscussions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6075605Z 2026-10-24T19:50:29.6075724Z 1442 listDiscussions: (input) => discussionsPage({ ...input, page: 1, collected: [] }), 2026-10-24T19:50:29.6076048Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6076122Z 2026-10-24T19:50:29.6076441Z src/server/GitLabPullRequestCli.ts:1493:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.replyToDiscussion")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6076856Z 2026-10-24T19:50:29.6076913Z 1493 replyToDiscussion: (input) => 2026-10-24T19:50:29.6077045Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6077116Z 2026-10-24T19:50:29.6077451Z src/server/GitLabPullRequestCli.ts:1503:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.setDiscussionResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6077823Z 2026-10-24T19:50:29.6077881Z 1503 setDiscussionResolution: (input) => 2026-10-24T19:50:29.6078027Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6078108Z 2026-10-24T19:50:29.6078498Z src/server/GitLabSourceControlProvider.ts:211:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.readChangeRequestTemplate")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6078931Z 2026-10-24T19:50:29.6079008Z 211 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-24T19:50:29.6079168Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6079251Z 2026-10-24T19:50:29.6079629Z src/server/GitLabSourceControlProvider.ts:226:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6080047Z 2026-10-24T19:50:29.6080103Z 226 listChangeRequests: (input) => { 2026-10-24T19:50:29.6080239Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6080309Z 2026-10-24T19:50:29.6080687Z src/server/GitLabSourceControlProvider.ts:254:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6081101Z 2026-10-24T19:50:29.6081157Z 254 getChangeRequest: (input) => 2026-10-24T19:50:29.6081292Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6081358Z 2026-10-24T19:50:29.6081738Z src/server/GitLabSourceControlProvider.ts:272:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6082156Z 2026-10-24T19:50:29.6082214Z 272 createChangeRequest: (input) => { 2026-10-24T19:50:29.6082350Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6082423Z 2026-10-24T19:50:29.6082809Z src/server/GitLabSourceControlProvider.ts:301:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6083451Z 2026-10-24T19:50:29.6083539Z 301 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6083705Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6083797Z 2026-10-24T19:50:29.6084199Z src/server/GitLabSourceControlProvider.ts:318:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6084638Z 2026-10-24T19:50:29.6084696Z 318 createRepository: (input) => 2026-10-24T19:50:29.6084832Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6084906Z 2026-10-24T19:50:29.6085416Z src/server/GitLabSourceControlProvider.ts:335:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6085881Z 2026-10-24T19:50:29.6085932Z 335 getDefaultBranch: (input) => 2026-10-24T19:50:29.6086066Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6086136Z 2026-10-24T19:50:29.6086602Z src/server/GitLabSourceControlProvider.ts:349:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6087208Z 2026-10-24T19:50:29.6087270Z 349 checkoutChangeRequest: (input) => 2026-10-24T19:50:29.6087435Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6087559Z 2026-10-24T19:50:29.6087562Z 2026-10-24T19:50:29.6087674Z ~/packages/source-control-bitbucket$ tsc --noEmit 2026-10-24T19:50:29.6088154Z src/server/AzureDevOpsCli.ts:403:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6088492Z 2026-10-24T19:50:29.6088545Z 403 listPullRequests: (input) => 2026-10-24T19:50:29.6088675Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6088744Z 2026-10-24T19:50:29.6089036Z src/server/AzureDevOpsCli.ts:443:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6089370Z 2026-10-24T19:50:29.6089421Z 443 getPullRequest: (input) => 2026-10-24T19:50:29.6089550Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6089618Z 2026-10-24T19:50:29.6089921Z src/server/AzureDevOpsCli.ts:477:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6090271Z 2026-10-24T19:50:29.6090332Z 477 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6090476Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6090560Z 2026-10-24T19:50:29.6090856Z src/server/AzureDevOpsCli.ts:493:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6091194Z 2026-10-24T19:50:29.6091250Z 493 createRepository: (input) => { 2026-10-24T19:50:29.6091383Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6091454Z 2026-10-24T19:50:29.6091751Z src/server/AzureDevOpsCli.ts:518:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.createPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6092082Z 2026-10-24T19:50:29.6092139Z 518 createPullRequest: (input) => 2026-10-24T19:50:29.6092274Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6092343Z 2026-10-24T19:50:29.6092637Z src/server/AzureDevOpsCli.ts:538:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6093006Z 2026-10-24T19:50:29.6093069Z 538 getDefaultBranch: (input) => 2026-10-24T19:50:29.6093278Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6093348Z 2026-10-24T19:50:29.6093645Z src/server/AzureDevOpsCli.ts:549:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.checkoutPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6093981Z 2026-10-24T19:50:29.6094039Z 549 checkoutPullRequest: (input) => 2026-10-24T19:50:29.6094180Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6094253Z 2026-10-24T19:50:29.6094578Z src/server/AzureDevOpsPullRequestCli.ts:494:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.getViewer")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6095029Z 2026-10-24T19:50:29.6095111Z 494 getViewer: (input) => 2026-10-24T19:50:29.6095271Z ~~~~~~~~~ 2026-10-24T19:50:29.6095333Z 2026-10-24T19:50:29.6095670Z src/server/AzureDevOpsPullRequestCli.ts:548:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6096215Z 2026-10-24T19:50:29.6096269Z 548 listPullRequests: (input) => 2026-10-24T19:50:29.6096399Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6096467Z 2026-10-24T19:50:29.6096799Z src/server/AzureDevOpsPullRequestCli.ts:562:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6097172Z 2026-10-24T19:50:29.6097227Z 562 getPullRequest: (input) => 2026-10-24T19:50:29.6097355Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6097426Z 2026-10-24T19:50:29.6097753Z src/server/AzureDevOpsPullRequestCli.ts:593:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listThreads")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6098126Z 2026-10-24T19:50:29.6098174Z 593 listThreads: (input) => 2026-10-24T19:50:29.6098302Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6098363Z 2026-10-24T19:50:29.6098698Z src/server/AzureDevOpsPullRequestCli.ts:603:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listIterations")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6099070Z 2026-10-24T19:50:29.6099122Z 603 listIterations: (input) => 2026-10-24T19:50:29.6099245Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6111270Z 2026-10-24T19:50:29.6111750Z src/server/AzureDevOpsPullRequestCli.ts:613:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listIterationChanges")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6112140Z 2026-10-24T19:50:29.6112200Z 613 listIterationChanges: (input) => { 2026-10-24T19:50:29.6112340Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6112415Z 2026-10-24T19:50:29.6112747Z src/server/AzureDevOpsPullRequestCli.ts:640:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.readItemContent")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6113167Z 2026-10-24T19:50:29.6113221Z 640 readItemContent: (input) => 2026-10-24T19:50:29.6113347Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6113414Z 2026-10-24T19:50:29.6113759Z src/server/AzureDevOpsPullRequestCli.ts:663:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.setPullRequestReviewers")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6114145Z 2026-10-24T19:50:29.6114203Z 663 setPullRequestReviewers: (input) => 2026-10-24T19:50:29.6114342Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6114421Z 2026-10-24T19:50:29.6114758Z src/server/AzureDevOpsPullRequestCli.ts:688:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.runPullRequestAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6115133Z 2026-10-24T19:50:29.6115208Z 688 runPullRequestAction: (input) => 2026-10-24T19:50:29.6115342Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6115413Z 2026-10-24T19:50:29.6115745Z src/server/AzureDevOpsPullRequestCli.ts:707:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.updatePullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6116120Z 2026-10-24T19:50:29.6116266Z 707 updatePullRequest: (input) => 2026-10-24T19:50:29.6116441Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6116510Z 2026-10-24T19:50:29.6116891Z src/server/AzureDevOpsSourceControlProvider.ts:81:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6117468Z 2026-10-24T19:50:29.6117537Z 81 listChangeRequests: (input) => { 2026-10-24T19:50:29.6117670Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6117739Z 2026-10-24T19:50:29.6118117Z src/server/AzureDevOpsSourceControlProvider.ts:109:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6118532Z 2026-10-24T19:50:29.6118582Z 109 getChangeRequest: (input) => 2026-10-24T19:50:29.6118714Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6118781Z 2026-10-24T19:50:29.6119163Z src/server/AzureDevOpsSourceControlProvider.ts:127:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6119584Z 2026-10-24T19:50:29.6119641Z 127 createChangeRequest: (input) => { 2026-10-24T19:50:29.6119774Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6119846Z 2026-10-24T19:50:29.6120232Z src/server/AzureDevOpsSourceControlProvider.ts:156:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6120655Z 2026-10-24T19:50:29.6120711Z 156 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6120851Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6120928Z 2026-10-24T19:50:29.6121307Z src/server/AzureDevOpsSourceControlProvider.ts:173:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6121723Z 2026-10-24T19:50:29.6121775Z 173 createRepository: (input) => 2026-10-24T19:50:29.6121901Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6121970Z 2026-10-24T19:50:29.6122343Z src/server/AzureDevOpsSourceControlProvider.ts:190:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6122757Z 2026-10-24T19:50:29.6122809Z 190 getDefaultBranch: (input) => 2026-10-24T19:50:29.6122933Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6123001Z 2026-10-24T19:50:29.6123422Z src/server/AzureDevOpsSourceControlProvider.ts:204:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6123844Z 2026-10-24T19:50:29.6123901Z 204 checkoutChangeRequest: (input) => 2026-10-24T19:50:29.6124040Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6124113Z 2026-10-24T19:50:29.6124115Z 2026-10-24T19:50:29.6124187Z ~/packages/source-control-gitcafe$ tsc --noEmit 2026-10-24T19:50:29.6124593Z src/server/GitHubCredentials.ts:245:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubCredentials.invalidate")((rawHost) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6124928Z 2026-10-24T19:50:29.6124982Z 245 invalidate: (rawHost) => { 2026-10-24T19:50:29.6125109Z ~~~~~~~~~~ 2026-10-24T19:50:29.6125170Z 2026-10-24T19:50:29.6125524Z src/server/GitHubPullRequestApi.ts:992:21 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubApiResponseError")(function*(error) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6125908Z 2026-10-24T19:50:29.6125979Z 992 GitHubApiResponseError: (error) => 2026-10-24T19:50:29.6126142Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6126301Z 2026-10-24T19:50:29.6126704Z src/server/GitHubPullRequestApi.ts:1629:13 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6127081Z 2026-10-24T19:50:29.6127136Z 1629 Effect.flatMap((runs) => 2026-10-24T19:50:29.6127274Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6127349Z 2026-10-24T19:50:29.6127664Z src/server/GitHubPullRequestApi.ts:1776:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getViewerLogin")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6128013Z 2026-10-24T19:50:29.6128065Z 1776 getViewerLogin: (input) => 2026-10-24T19:50:29.6128190Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6128261Z 2026-10-24T19:50:29.6128577Z src/server/GitHubPullRequestApi.ts:1779:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6128939Z 2026-10-24T19:50:29.6128992Z 1779 listPullRequests: (input) => { 2026-10-24T19:50:29.6129130Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6129198Z 2026-10-24T19:50:29.6129542Z src/server/GitHubPullRequestApi.ts:1908:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6129920Z 2026-10-24T19:50:29.6129975Z 1908 Effect.flatMap((batch) => { 2026-10-24T19:50:29.6130106Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6130179Z 2026-10-24T19:50:29.6130502Z src/server/GitHubPullRequestApi.ts:1947:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.searchPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6130859Z 2026-10-24T19:50:29.6130913Z 1947 searchPullRequests: (input) => { 2026-10-24T19:50:29.6131050Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6131123Z 2026-10-24T19:50:29.6131446Z src/server/GitHubPullRequestApi.ts:2021:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestPreview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6131811Z 2026-10-24T19:50:29.6131872Z 2021 getPullRequestPreview: (input) => { 2026-10-24T19:50:29.6132018Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6132097Z 2026-10-24T19:50:29.6132417Z src/server/GitHubPullRequestApi.ts:2034:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestStack")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6132777Z 2026-10-24T19:50:29.6132831Z 2034 getPullRequestStack: (input) => { 2026-10-24T19:50:29.6132971Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6133059Z 2026-10-24T19:50:29.6133461Z src/server/GitHubPullRequestApi.ts:2112:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestDiff")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6133814Z 2026-10-24T19:50:29.6133872Z 2112 getPullRequestDiff: (input) => { 2026-10-24T19:50:29.6134006Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6134078Z 2026-10-24T19:50:29.6134475Z src/server/GitHubPullRequestApi.ts:2160:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getReviewThreadComments")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6134919Z 2026-10-24T19:50:29.6134983Z 2160 getReviewThreadComments: (input) => { 2026-10-24T19:50:29.6135127Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6135289Z 2026-10-24T19:50:29.6135678Z src/server/GitHubPullRequestApi.ts:2302:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listActorAvatars")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6136027Z 2026-10-24T19:50:29.6136083Z 2302 listActorAvatars: (input) => { 2026-10-24T19:50:29.6136221Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6136290Z 2026-10-24T19:50:29.6136604Z src/server/GitHubPullRequestApi.ts:2311:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getViewerAccess")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6136958Z 2026-10-24T19:50:29.6137013Z 2311 getViewerAccess: (input) => { 2026-10-24T19:50:29.6137142Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6137213Z 2026-10-24T19:50:29.6137537Z src/server/GitHubPullRequestApi.ts:2323:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6137904Z 2026-10-24T19:50:29.6137966Z 2323 listReviewerCandidates: (input) => { 2026-10-24T19:50:29.6138114Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6138190Z 2026-10-24T19:50:29.6138508Z src/server/GitHubPullRequestApi.ts:2335:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6138869Z 2026-10-24T19:50:29.6138927Z 2335 setReviewerRequest: (input) => { 2026-10-24T19:50:29.6139062Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6139136Z 2026-10-24T19:50:29.6139456Z src/server/GitHubPullRequestApi.ts:2348:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listLabelCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6139819Z 2026-10-24T19:50:29.6139874Z 2348 listLabelCandidates: (input) => { 2026-10-24T19:50:29.6140012Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6140083Z 2026-10-24T19:50:29.6140406Z src/server/GitHubPullRequestApi.ts:2360:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listRepositoryLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6140768Z 2026-10-24T19:50:29.6140824Z 2360 listRepositoryLabels: (input) => { 2026-10-24T19:50:29.6140963Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6141041Z 2026-10-24T19:50:29.6141367Z src/server/GitHubPullRequestApi.ts:2372:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.searchRepositoryAuthors")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6141736Z 2026-10-24T19:50:29.6141797Z 2372 searchRepositoryAuthors: (input) => { 2026-10-24T19:50:29.6141945Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6142023Z 2026-10-24T19:50:29.6142321Z src/server/GitHubPullRequestApi.ts:2384:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6142660Z 2026-10-24T19:50:29.6142711Z 2384 setLabels: (input) => { 2026-10-24T19:50:29.6142833Z ~~~~~~~~~ 2026-10-24T19:50:29.6142895Z 2026-10-24T19:50:29.6143298Z src/server/GitHubPullRequestApi.ts:2411:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.runPullRequestAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6143696Z 2026-10-24T19:50:29.6143752Z 2411 runPullRequestAction: (input) => { 2026-10-24T19:50:29.6143891Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6143966Z 2026-10-24T19:50:29.6144409Z src/server/GitHubPullRequestApi.ts:2670:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.commentOnPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6144784Z 2026-10-24T19:50:29.6144841Z 2670 commentOnPullRequest: (input) => 2026-10-24T19:50:29.6144972Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6145045Z 2026-10-24T19:50:29.6145349Z src/server/GitHubPullRequestApi.ts:2680:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.submitReview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6145696Z 2026-10-24T19:50:29.6145747Z 2680 submitReview: (input) => { 2026-10-24T19:50:29.6145874Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6145942Z 2026-10-24T19:50:29.6146259Z src/server/GitHubPullRequestApi.ts:2697:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.replyToReviewThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6146628Z 2026-10-24T19:50:29.6146684Z 2697 replyToReviewThread: (input) => 2026-10-24T19:50:29.6146816Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6146887Z 2026-10-24T19:50:29.6147217Z src/server/GitHubPullRequestApi.ts:2702:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestFilesViewed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6147588Z 2026-10-24T19:50:29.6147653Z 2702 getPullRequestFilesViewed: (input) => { 2026-10-24T19:50:29.6147803Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6147885Z 2026-10-24T19:50:29.6148210Z src/server/GitHubPullRequestApi.ts:2730:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestFileStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6148578Z 2026-10-24T19:50:29.6148640Z 2730 getPullRequestFileStats: (input) => { 2026-10-24T19:50:29.6148787Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6148863Z 2026-10-24T19:50:29.6149192Z src/server/GitHubPullRequestApi.ts:2758:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setPullRequestFilesViewed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6149562Z 2026-10-24T19:50:29.6149625Z 2758 setPullRequestFilesViewed: (input) => { 2026-10-24T19:50:29.6149770Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6149847Z 2026-10-24T19:50:29.6150177Z src/server/GitHubPullRequestApi.ts:2779:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReviewThreadResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6150547Z 2026-10-24T19:50:29.6150609Z 2779 setReviewThreadResolution: (input) => 2026-10-24T19:50:29.6150754Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6150831Z 2026-10-24T19:50:29.6151137Z src/server/GitHubPullRequestApi.ts:2785:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReaction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6151484Z 2026-10-24T19:50:29.6151533Z 2785 setReaction: (input) => { 2026-10-24T19:50:29.6151658Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6151725Z 2026-10-24T19:50:29.6152091Z src/server/GitHubPullRequestApi.ts:2818:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.updatePullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6152486Z 2026-10-24T19:50:29.6152538Z 2818 updatePullRequest: (input) => 2026-10-24T19:50:29.6152674Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6152742Z 2026-10-24T19:50:29.6153221Z src/server/GitHubPullRequestApi.ts:2834:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.updateComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6153568Z 2026-10-24T19:50:29.6153618Z 2834 updateComment: (input) => 2026-10-24T19:50:29.6153737Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6153805Z 2026-10-24T19:50:29.6154184Z src/server/GitHubSourceControlProvider.ts:897:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.readChangeRequestTemplate")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6154606Z 2026-10-24T19:50:29.6154678Z 897 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-24T19:50:29.6154836Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6154914Z 2026-10-24T19:50:29.6155277Z src/server/GitHubSourceControlProvider.ts:935:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.recordBranchBase")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6155681Z 2026-10-24T19:50:29.6155755Z 935 recordBranchBase: ({ cwd, branch, baseBranch }) => 2026-10-24T19:50:29.6155906Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6155978Z 2026-10-24T19:50:29.6156350Z src/server/GitHubSourceControlProvider.ts:957:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6156761Z 2026-10-24T19:50:29.6156815Z 957 listChangeRequests: (input) => 2026-10-24T19:50:29.6156944Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6157014Z 2026-10-24T19:50:29.6157378Z src/server/GitHubSourceControlProvider.ts:975:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6157785Z 2026-10-24T19:50:29.6157839Z 975 getChangeRequest: (input) => 2026-10-24T19:50:29.6157963Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6158027Z 2026-10-24T19:50:29.6158403Z src/server/GitHubSourceControlProvider.ts:1088:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6158829Z 2026-10-24T19:50:29.6158886Z 1088 checkoutChangeRequest: (input) => 2026-10-24T19:50:29.6159025Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6159099Z 2026-10-24T19:50:29.6159435Z src/server/gitHubGraphQlClient.ts:118:12 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6159801Z 2026-10-24T19:50:29.6159855Z 118 return yield* Effect.fail(error); 2026-10-24T19:50:29.6159985Z ~~~~~ 2026-10-24T19:50:29.6160054Z 2026-10-24T19:50:29.6160057Z 2026-10-24T19:50:29.6160126Z ~/packages/source-control-forgejo$ tsc --noEmit 2026-10-24T19:50:29.6160525Z src/server/BitbucketApi.ts:1013:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6160853Z 2026-10-24T19:50:29.6160905Z 1013 listPullRequests: (input) => 2026-10-24T19:50:29.6161039Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6161164Z 2026-10-24T19:50:29.6161486Z src/server/BitbucketApi.ts:1040:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6161812Z 2026-10-24T19:50:29.6161914Z 1040 getPullRequest: (input) => 2026-10-24T19:50:29.6162098Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6162168Z 2026-10-24T19:50:29.6162470Z src/server/BitbucketApi.ts:1042:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6162813Z 2026-10-24T19:50:29.6162869Z 1042 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6163024Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6163109Z 2026-10-24T19:50:29.6163408Z src/server/BitbucketApi.ts:1044:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6163735Z 2026-10-24T19:50:29.6163789Z 1044 createRepository: (input) => 2026-10-24T19:50:29.6163919Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6163988Z 2026-10-24T19:50:29.6164276Z src/server/BitbucketApi.ts:1109:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6164600Z 2026-10-24T19:50:29.6164650Z 1109 getDefaultBranch: (input) => 2026-10-24T19:50:29.6164780Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6164850Z 2026-10-24T19:50:29.6165163Z src/server/BitbucketPullRequestApi.ts:555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getViewer")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6165517Z 2026-10-24T19:50:29.6165565Z 555 getViewer: () => 2026-10-24T19:50:29.6165676Z ~~~~~~~~~ 2026-10-24T19:50:29.6165738Z 2026-10-24T19:50:29.6166064Z src/server/BitbucketPullRequestApi.ts:570:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6166434Z 2026-10-24T19:50:29.6166486Z 570 listPullRequests: (input) => 2026-10-24T19:50:29.6166616Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6166684Z 2026-10-24T19:50:29.6167018Z src/server/BitbucketPullRequestApi.ts:594:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6167377Z 2026-10-24T19:50:29.6167429Z 594 getPullRequest: (input) => 2026-10-24T19:50:29.6167558Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6167628Z 2026-10-24T19:50:29.6167969Z src/server/BitbucketPullRequestApi.ts:609:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getRepositoryPermission")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6168348Z 2026-10-24T19:50:29.6168408Z 609 getRepositoryPermission: (input) => 2026-10-24T19:50:29.6168549Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6168625Z 2026-10-24T19:50:29.6168946Z src/server/BitbucketPullRequestApi.ts:622:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getFileRevisions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6169313Z 2026-10-24T19:50:29.6169367Z 622 getFileRevisions: (input) => 2026-10-24T19:50:29.6169496Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6169565Z 2026-10-24T19:50:29.6169973Z src/server/BitbucketPullRequestApi.ts:639:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getDiffStat")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6170367Z 2026-10-24T19:50:29.6170418Z 639 getDiffStat: (input) => 2026-10-24T19:50:29.6170539Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6170602Z 2026-10-24T19:50:29.6171003Z src/server/BitbucketPullRequestApi.ts:647:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getMergeability")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6171524Z 2026-10-24T19:50:29.6171577Z 647 getMergeability: (input) => 2026-10-24T19:50:29.6171706Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6171775Z 2026-10-24T19:50:29.6172287Z src/server/BitbucketPullRequestApi.ts:656:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listComments")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6172643Z 2026-10-24T19:50:29.6172695Z 656 listComments: (input) => 2026-10-24T19:50:29.6172818Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6172886Z 2026-10-24T19:50:29.6173634Z src/server/BitbucketPullRequestApi.ts:666:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listCommits")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6174192Z 2026-10-24T19:50:29.6174243Z 666 listCommits: (input) => 2026-10-24T19:50:29.6174366Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6174427Z 2026-10-24T19:50:29.6174738Z src/server/BitbucketPullRequestApi.ts:677:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listChecks")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6175091Z 2026-10-24T19:50:29.6175142Z 677 listChecks: (input) => 2026-10-24T19:50:29.6175260Z ~~~~~~~~~~ 2026-10-24T19:50:29.6175322Z 2026-10-24T19:50:29.6175658Z src/server/BitbucketPullRequestApi.ts:688:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6176033Z 2026-10-24T19:50:29.6176090Z 688 listReviewerCandidates: (input) => 2026-10-24T19:50:29.6176232Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6176304Z 2026-10-24T19:50:29.6176631Z src/server/BitbucketPullRequestApi.ts:722:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6176998Z 2026-10-24T19:50:29.6177053Z 722 setReviewerRequest: (input) => 2026-10-24T19:50:29.6177186Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6177257Z 2026-10-24T19:50:29.6177571Z src/server/BitbucketPullRequestApi.ts:749:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.runAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6177928Z 2026-10-24T19:50:29.6177976Z 749 runAction: (input) => 2026-10-24T19:50:29.6178096Z ~~~~~~~~~ 2026-10-24T19:50:29.6178155Z 2026-10-24T19:50:29.6178486Z src/server/BitbucketPullRequestApi.ts:766:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.updateChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6178858Z 2026-10-24T19:50:29.6178915Z 766 updateChangeRequest: (input) => 2026-10-24T19:50:29.6179049Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6179122Z 2026-10-24T19:50:29.6179432Z src/server/BitbucketPullRequestApi.ts:784:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.comment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6179782Z 2026-10-24T19:50:29.6179892Z 784 comment: (input) => 2026-10-24T19:50:29.6180045Z ~~~~~~~ 2026-10-24T19:50:29.6180105Z 2026-10-24T19:50:29.6180422Z src/server/BitbucketPullRequestApi.ts:795:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.updateComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6180910Z 2026-10-24T19:50:29.6180964Z 795 updateComment: (input) => 2026-10-24T19:50:29.6181089Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6181156Z 2026-10-24T19:50:29.6181470Z src/server/BitbucketPullRequestApi.ts:808:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.submitReview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6181825Z 2026-10-24T19:50:29.6181875Z 808 submitReview: (input) => 2026-10-24T19:50:29.6181997Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6182062Z 2026-10-24T19:50:29.6182380Z src/server/BitbucketPullRequestApi.ts:848:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.replyToComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6182743Z 2026-10-24T19:50:29.6182795Z 848 replyToComment: (input) => 2026-10-24T19:50:29.6182921Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6182988Z 2026-10-24T19:50:29.6183353Z src/server/BitbucketPullRequestApi.ts:862:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.setCommentResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6183729Z 2026-10-24T19:50:29.6183784Z 862 setCommentResolution: (input) => 2026-10-24T19:50:29.6183921Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6183995Z 2026-10-24T19:50:29.6184377Z src/server/BitbucketSourceControlProvider.ts:47:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6184802Z 2026-10-24T19:50:29.6184858Z 47 listChangeRequests: (input) => { 2026-10-24T19:50:29.6184991Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6185063Z 2026-10-24T19:50:29.6185437Z src/server/BitbucketSourceControlProvider.ts:75:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6185848Z 2026-10-24T19:50:29.6185902Z 75 getChangeRequest: (input) => 2026-10-24T19:50:29.6186029Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6186096Z 2026-10-24T19:50:29.6186474Z src/server/BitbucketSourceControlProvider.ts:92:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6186891Z 2026-10-24T19:50:29.6186947Z 92 createChangeRequest: (input) => { 2026-10-24T19:50:29.6187082Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6187151Z 2026-10-24T19:50:29.6187540Z src/server/BitbucketSourceControlProvider.ts:121:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6187977Z 2026-10-24T19:50:29.6188035Z 121 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6188173Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6188249Z 2026-10-24T19:50:29.6188625Z src/server/BitbucketSourceControlProvider.ts:137:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6189085Z 2026-10-24T19:50:29.6189162Z 137 createRepository: (input) => 2026-10-24T19:50:29.6189301Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6189368Z 2026-10-24T19:50:29.6189742Z src/server/BitbucketSourceControlProvider.ts:153:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6190286Z 2026-10-24T19:50:29.6190337Z 153 getDefaultBranch: (input) => 2026-10-24T19:50:29.6190465Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6190534Z 2026-10-24T19:50:29.6190919Z src/server/BitbucketSourceControlProvider.ts:171:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6191346Z 2026-10-24T19:50:29.6191402Z 171 checkoutChangeRequest: (input) => 2026-10-24T19:50:29.6191541Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6191616Z 2026-10-24T19:50:29.6191618Z 2026-10-24T19:50:29.6191675Z ~/packages/provider-grok$ tsc --noEmit 2026-10-24T19:50:29.6192048Z src/server/GitCafeCredentials.ts:170:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitCafeCredentials.get")((host) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6192373Z 2026-10-24T19:50:29.6192415Z 170 get: (host) => 2026-10-24T19:50:29.6192526Z ~~~ 2026-10-24T19:50:29.6192584Z 2026-10-24T19:50:29.6192874Z src/server/GitCafeCredentials.ts:183:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitCafeCredentials.invalidate")((host) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6193264Z 2026-10-24T19:50:29.6193366Z 183 invalidate: (host) => Cache.invalidate(cache, normalizeHost(host)), 2026-10-24T19:50:29.6193544Z ~~~~~~~~~~ 2026-10-24T19:50:29.6193608Z 2026-10-24T19:50:29.6193898Z src/server/GitCafeCredentials.ts:184:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitCafeCredentials.cliEnv")((host) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6194228Z 2026-10-24T19:50:29.6194276Z 184 cliEnv: (host) => 2026-10-24T19:50:29.6194390Z ~~~~~~ 2026-10-24T19:50:29.6194449Z 2026-10-24T19:50:29.6194691Z src/server/GitCafePullRequestProvider.ts:341:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6194972Z 2026-10-24T19:50:29.6195025Z 341 Effect.map(Option.some), 2026-10-24T19:50:29.6195149Z ~~~~~~~~~~ 2026-10-24T19:50:29.6195214Z 2026-10-24T19:50:29.6195455Z src/server/GitCafePullRequestProvider.ts:346:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6195735Z 2026-10-24T19:50:29.6195794Z 346 : Effect.succeed(Option.none()), 2026-10-24T19:50:29.6195943Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6196024Z 2026-10-24T19:50:29.6196263Z src/server/GitCafePullRequestProvider.ts:655:13 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6196544Z 2026-10-24T19:50:29.6196599Z 655 Effect.map(Option.some), 2026-10-24T19:50:29.6196731Z ~~~~~~~~~~ 2026-10-24T19:50:29.6196801Z 2026-10-24T19:50:29.6197038Z src/server/GitCafePullRequestProvider.ts:660:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6197315Z 2026-10-24T19:50:29.6197376Z 660 : Effect.succeed(Option.none()), 2026-10-24T19:50:29.6197528Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6197611Z 2026-10-24T19:50:29.6197947Z src/server/GitCafePullRequestProvider.ts:673:15 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("readPage")((rows, after) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6198311Z 2026-10-24T19:50:29.6198396Z 673 const readPage = (rows: number, after: string | null) => { 2026-10-24T19:50:29.6198606Z ~~~~~~~~ 2026-10-24T19:50:29.6198678Z 2026-10-24T19:50:29.6199100Z src/server/GitCafePullRequestProvider.ts:790:13 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6199483Z 2026-10-24T19:50:29.6199535Z 790 Effect.catch((error) => 2026-10-24T19:50:29.6199668Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6199742Z 2026-10-24T19:50:29.6200077Z src/server/GitCafePullRequestProvider.ts:872:19 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6200444Z 2026-10-24T19:50:29.6200500Z 872 Effect.catch((error) => 2026-10-24T19:50:29.6200639Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6200718Z 2026-10-24T19:50:29.6200720Z 2026-10-24T19:50:29.6200776Z ~/packages/provider-pi$ tsc --noEmit 2026-10-24T19:50:29.6201247Z src/server/ForgejoSourceControlProvider.ts:362:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6201659Z 2026-10-24T19:50:29.6201711Z 362 getChangeRequest: (input) => 2026-10-24T19:50:29.6201839Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6201906Z 2026-10-24T19:50:29.6201908Z 2026-10-24T19:50:29.6201965Z ~/packages/provider-muse$ tsc --noEmit 2026-10-24T19:50:29.6202375Z src/server/driver.ts:174:7 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6202729Z 2026-10-24T19:50:29.6202783Z 174 Effect.flatMap((snapshot) => 2026-10-24T19:50:29.6202915Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6202983Z 2026-10-24T19:50:29.6203265Z src/server/xaiAcpExtension.ts:1507:15 - suggestion TS377009: The previous Effect does not fail, so this error-handling branch will never run. effect(catchUnfailableEffect) 2026-10-24T19:50:29.6203540Z 2026-10-24T19:50:29.6203606Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-24T19:50:29.6203754Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6203833Z 2026-10-24T19:50:29.6204085Z src/server/xaiAcpExtension.ts:1507:15 - suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-10-24T19:50:29.6204376Z 2026-10-24T19:50:29.6204441Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-24T19:50:29.6204587Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6204661Z 2026-10-24T19:50:29.6205005Z src/server/xaiAcpExtension.ts:1588:13 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6205388Z 2026-10-24T19:50:29.6205448Z 1588 Effect.catchCause((cause) => 2026-10-24T19:50:29.6205590Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6205671Z 2026-10-24T19:50:29.6205673Z 2026-10-24T19:50:29.6205733Z ~/packages/provider-opencode$ tsc --noEmit 2026-10-24T19:50:29.6206139Z src/server/adapter.ts:440:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6206539Z 2026-10-24T19:50:29.6206671Z 440 getCapabilities: () => Effect.succeed(PiProviderCapabilitiesV2), 2026-10-24T19:50:29.6206853Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6206922Z 2026-10-24T19:50:29.6207247Z src/server/adapter.ts:441:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6207734Z 2026-10-24T19:50:29.6207853Z 441 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6208063Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6208141Z 2026-10-24T19:50:29.6208354Z src/server/adapter.ts:1694:31 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6208606Z 2026-10-24T19:50:29.6208675Z 1694 Effect.map(Option.some), 2026-10-24T19:50:29.6208836Z ~~~~~~~~~~ 2026-10-24T19:50:29.6208928Z 2026-10-24T19:50:29.6209137Z src/server/adapter.ts:1697:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6209385Z 2026-10-24T19:50:29.6209455Z 1697 : Effect.succeed(Option.none()), 2026-10-24T19:50:29.6209621Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6209713Z 2026-10-24T19:50:29.6209955Z src/server/rpc.ts:334:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onSuccess")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6210236Z 2026-10-24T19:50:29.6210285Z 334 onSuccess: () => 2026-10-24T19:50:29.6210399Z ~~~~~~~~~ 2026-10-24T19:50:29.6210463Z 2026-10-24T19:50:29.6210667Z src/server/rpc.ts:342:17 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6210911Z 2026-10-24T19:50:29.6210966Z 342 Effect.map(Option.some), 2026-10-24T19:50:29.6211108Z ~~~~~~~~~~ 2026-10-24T19:50:29.6211185Z 2026-10-24T19:50:29.6211187Z 2026-10-24T19:50:29.6211243Z ~/packages/provider-cursor$ tsc --noEmit 2026-10-24T19:50:29.6211649Z src/server/adapter.ts:284:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6211997Z 2026-10-24T19:50:29.6212092Z 284 getCapabilities: () => Effect.succeed(MuseProviderCapabilitiesV2), 2026-10-24T19:50:29.6212277Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6212345Z 2026-10-24T19:50:29.6212668Z src/server/adapter.ts:285:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6213129Z 2026-10-24T19:50:29.6213302Z 285 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6213509Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6213586Z 2026-10-24T19:50:29.6213849Z src/server/adapter.ts:388:13 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TimeoutError")(function*(cause) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6214155Z 2026-10-24T19:50:29.6214206Z 388 TimeoutError: (cause) => 2026-10-24T19:50:29.6214341Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6214414Z 2026-10-24T19:50:29.6214622Z src/server/adapter.ts:1366:35 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6214871Z 2026-10-24T19:50:29.6215056Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-24T19:50:29.6215348Z ~~~~~~~~~~ 2026-10-24T19:50:29.6215443Z 2026-10-24T19:50:29.6215650Z src/server/adapter.ts:1366:71 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6216052Z 2026-10-24T19:50:29.6216176Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-24T19:50:29.6216402Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6216514Z 2026-10-24T19:50:29.6216516Z 2026-10-24T19:50:29.6216582Z ~/packages/provider-acp-registry$ tsc --noEmit 2026-10-24T19:50:29.6216951Z src/server/OpenCodeServerLedger.ts:147:12 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6217260Z 2026-10-24T19:50:29.6217318Z 147 return Effect.succeed(undefined); 2026-10-24T19:50:29.6217457Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6217540Z 2026-10-24T19:50:29.6217924Z src/server/OpenCodeServerLedger.ts:188:24 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6218346Z 2026-10-24T19:50:29.6218407Z 188 if (!recordable) return Effect.void; 2026-10-24T19:50:29.6218554Z ~~~~~~ 2026-10-24T19:50:29.6218632Z 2026-10-24T19:50:29.6219007Z src/server/OpenCodeServerLedger.ts:208:9 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6219419Z 2026-10-24T19:50:29.6219471Z 208 return Effect.void; 2026-10-24T19:50:29.6219590Z ~~~~~~ 2026-10-24T19:50:29.6219654Z 2026-10-24T19:50:29.6220023Z src/server/OpenCodeServerLedger.ts:228:7 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6220440Z 2026-10-24T19:50:29.6220483Z 228 return fs 2026-10-24T19:50:29.6220589Z ~~~~~~ 2026-10-24T19:50:29.6220651Z 2026-10-24T19:50:29.6220942Z src/server/OpenCodeServerLedger.ts:311:29 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OpenCodeServerLedger.track")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6221272Z 2026-10-24T19:50:29.6221379Z 311 OpenCodeServerLedger.of({ track: () => Effect.succeed(Effect.void) }), 2026-10-24T19:50:29.6221570Z ~~~~~ 2026-10-24T19:50:29.6221656Z 2026-10-24T19:50:29.6221958Z src/server/OpenCodeServerOwner.ts:169:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OpenCodeServerOwner.withServer")((use) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6222297Z 2026-10-24T19:50:29.6222346Z 169 withServer: (use) => 2026-10-24T19:50:29.6222465Z ~~~~~~~~~~ 2026-10-24T19:50:29.6222528Z 2026-10-24T19:50:29.6222905Z src/server/adapter.test.ts:103:39 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6223365Z 2026-10-24T19:50:29.6223482Z 103 const OPENCODE_TEST_SETTINGS = Schema.decodeUnknownSync(OpenCodeSettings)({}); 2026-10-24T19:50:29.6223695Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6223797Z 2026-10-24T19:50:29.6224153Z src/server/adapter.ts:938:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6224540Z 2026-10-24T19:50:29.6224648Z 938 getCapabilities: () => Effect.succeed(OpenCodeProviderCapabilitiesV2), 2026-10-24T19:50:29.6224882Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6224956Z 2026-10-24T19:50:29.6225359Z src/server/adapter.ts:939:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6225732Z 2026-10-24T19:50:29.6225853Z 939 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6226064Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6226140Z 2026-10-24T19:50:29.6226429Z src/server/adapter.ts:1011:33 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6226755Z 2026-10-24T19:50:29.6226831Z 1011 const abortController = new AbortController(); 2026-10-24T19:50:29.6227000Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6227102Z 2026-10-24T19:50:29.6227416Z src/server/adapter.ts:1088:31 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6227764Z 2026-10-24T19:50:29.6227838Z 1088 if (failure) return yield* Effect.fail(failure); 2026-10-24T19:50:29.6228005Z ~~~~~ 2026-10-24T19:50:29.6228089Z 2026-10-24T19:50:29.6228364Z src/server/adapter.ts:1584:15 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T19:50:29.6228671Z 2026-10-24T19:50:29.6228748Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-24T19:50:29.6228904Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6228980Z 2026-10-24T19:50:29.6229227Z src/server/adapter.ts:1584:34 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6229515Z 2026-10-24T19:50:29.6229588Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-24T19:50:29.6229763Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6229863Z 2026-10-24T19:50:29.6230148Z src/server/adapter.ts:3194:43 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6230468Z 2026-10-24T19:50:29.6230554Z 3194 admissionAbortController: new AbortController(), 2026-10-24T19:50:29.6230736Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6230838Z 2026-10-24T19:50:29.6231116Z src/server/adapter.ts:3354:47 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6231440Z 2026-10-24T19:50:29.6231528Z 3354 turn.admissionAbortController = new AbortController(); 2026-10-24T19:50:29.6231721Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6231826Z 2026-10-24T19:50:29.6232108Z src/server/v2/OpenCode2Client.ts:158:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OpenCode2Client.connect")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6232430Z 2026-10-24T19:50:29.6232537Z 158 connect: ({ baseUrl, password }) => { 2026-10-24T19:50:29.6232712Z ~~~~~~~ 2026-10-24T19:50:29.6232775Z 2026-10-24T19:50:29.6233097Z src/server/v2/OpenCode2Server.ts:160:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OpenCode2Server.withConnection")((use) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6233554Z 2026-10-24T19:50:29.6233608Z 160 withConnection: (use) => 2026-10-24T19:50:29.6233736Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6233807Z 2026-10-24T19:50:29.6234100Z src/server/v2/OpenCode2Server.ts:175:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OpenCode2Server.withConnection")((use) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6234430Z 2026-10-24T19:50:29.6234482Z 175 withConnection: (use) => 2026-10-24T19:50:29.6234606Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6234671Z 2026-10-24T19:50:29.6234886Z src/server/v2/adapter.ts:1544:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6235137Z 2026-10-24T19:50:29.6235262Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-24T19:50:29.6235471Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6235562Z 2026-10-24T19:50:29.6235781Z src/server/v2/adapter.ts:1544:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6236040Z 2026-10-24T19:50:29.6236162Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-24T19:50:29.6236384Z ~~~~~~~~~~ 2026-10-24T19:50:29.6236483Z 2026-10-24T19:50:29.6236802Z src/server/v2/adapter.ts:4137:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6237160Z 2026-10-24T19:50:29.6237266Z 4137 getCapabilities: () => Effect.succeed(OpenCode2ProviderCapabilities), 2026-10-24T19:50:29.6237453Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6237523Z 2026-10-24T19:50:29.6237856Z src/server/v2/adapter.ts:4138:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6238227Z 2026-10-24T19:50:29.6238345Z 4138 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6238554Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6238630Z 2026-10-24T19:50:29.6238636Z 2026-10-24T19:50:29.6238707Z ~/packages/source-control-definitions$ tsc --noEmit 2026-10-24T19:50:29.6239160Z src/server/CursorAccountReader.ts:31:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CursorAccountReader.read")((credentialSource, sinceMs, untilMs) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6239533Z 2026-10-24T19:50:29.6239601Z 31 read: (credentialSource, sinceMs, untilMs) => 2026-10-24T19:50:29.6239754Z ~~~~ 2026-10-24T19:50:29.6239815Z 2026-10-24T19:50:29.6240092Z src/server/CursorSdkCatalog.ts:82:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CursorSdkCatalog.read")((apiKey) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6240411Z 2026-10-24T19:50:29.6240460Z 82 read: (apiKey) => 2026-10-24T19:50:29.6240570Z ~~~~ 2026-10-24T19:50:29.6240629Z 2026-10-24T19:50:29.6240905Z src/server/accountUsage.ts:360:5 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T19:50:29.6241216Z 2026-10-24T19:50:29.6241306Z 360 Effect.catch(() => 2026-10-24T19:50:29.6241455Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6241522Z 2026-10-24T19:50:29.6241834Z src/server/adapter.ts:904:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6242303Z 2026-10-24T19:50:29.6242407Z 904 getCapabilities: () => Effect.succeed(CursorProviderCapabilitiesV2), 2026-10-24T19:50:29.6242593Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6242662Z 2026-10-24T19:50:29.6242987Z src/server/adapter.ts:905:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6243405Z 2026-10-24T19:50:29.6243519Z 905 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6243732Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6243811Z 2026-10-24T19:50:29.6244250Z src/server/credentialStore.ts:55:7 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6244729Z 2026-10-24T19:50:29.6244784Z 55 Effect.runPromise( 2026-10-24T19:50:29.6244908Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6244977Z 2026-10-24T19:50:29.6245235Z src/server/credentialStore.ts:59:29 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6245533Z 2026-10-24T19:50:29.6245602Z 59 onNone: () => Effect.succeed(undefined), 2026-10-24T19:50:29.6245759Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6245852Z 2026-10-24T19:50:29.6246285Z src/server/credentialStore.ts:69:7 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6246755Z 2026-10-24T19:50:29.6246807Z 69 Effect.runPromise( 2026-10-24T19:50:29.6246928Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6246995Z 2026-10-24T19:50:29.6247427Z src/server/credentialStore.ts:82:18 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6247898Z 2026-10-24T19:50:29.6247970Z 82 clear: () => Effect.runPromise(credentials.remove), 2026-10-24T19:50:29.6248130Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6248216Z 2026-10-24T19:50:29.6248542Z src/server/driver.ts:228:11 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6248908Z 2026-10-24T19:50:29.6248963Z 228 Effect.flatMap((snapshot) => 2026-10-24T19:50:29.6249103Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6249179Z 2026-10-24T19:50:29.6249367Z src/server/usageLimits.test.ts:74:5 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T19:50:29.6249597Z 2026-10-24T19:50:29.6249648Z 74 Effect.gen(function* () { 2026-10-24T19:50:29.6249773Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6249901Z 75 yield* withNodeServices( 2026-10-24T19:50:29.6250029Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6250150Z ... 2026-10-24T19:50:29.6250285Z 115 ); 2026-10-24T19:50:29.6250415Z ~~~~~~~~ 2026-10-24T19:50:29.6250513Z 116 }), 2026-10-24T19:50:29.6250607Z ~~~~~~ 2026-10-24T19:50:29.6250664Z 2026-10-24T19:50:29.6250666Z 2026-10-24T19:50:29.6250922Z src/server/AcpRegistryRuntimeCoordinator.ts:154:52 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6251338Z 2026-10-24T19:50:29.6251471Z 154 return yield* Effect.raceFirst(effect.pipe(Effect.map(Option.some)), foregroundStarted); 2026-10-24T19:50:29.6251705Z ~~~~~~~~~~ 2026-10-24T19:50:29.6251807Z 2026-10-24T19:50:29.6252126Z src/server/AcpRegistrySupport.ts:1301:9 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6252485Z 2026-10-24T19:50:29.6252538Z 1301 Effect.catch((error) => 2026-10-24T19:50:29.6252668Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6252741Z 2026-10-24T19:50:29.6253101Z src/server/auth.ts:146:13 - suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-10-24T19:50:29.6253514Z 2026-10-24T19:50:29.6253566Z 146 Option.isSome(result) 2026-10-24T19:50:29.6253698Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6253775Z 2026-10-24T19:50:29.6254023Z src/server/driver.ts:640:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("enrichSnapshot")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6254310Z 2026-10-24T19:50:29.6254411Z 640 enrichSnapshot: ({ snapshot, getSnapshot, publishSnapshot }) => { 2026-10-24T19:50:29.6254594Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6254666Z 2026-10-24T19:50:29.6254879Z src/server/driver.ts:650:51 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6255128Z 2026-10-24T19:50:29.6255227Z 650 : enrichProviderCached(snapshot).pipe(Effect.map(Option.some)) 2026-10-24T19:50:29.6255427Z ~~~~~~~~~~ 2026-10-24T19:50:29.6255531Z 2026-10-24T19:50:29.6255534Z 2026-10-24T19:50:29.6255536Z 2026-10-24T19:50:29.6255594Z ~/packages/client-runtime$ tsc --noEmit 2026-10-24T19:50:29.6255731Z Result (22 files): 2026-10-24T19:50:29.6255838Z - 0 errors 2026-10-24T19:50:29.6255938Z - 0 warnings 2026-10-24T19:50:29.6256037Z - 0 hints 2026-10-24T19:50:29.6256094Z 2026-10-24T19:50:29.6256096Z 2026-10-24T19:50:29.6256322Z src/authorization/remote.test.ts:232:25 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6256585Z 2026-10-24T19:50:29.6256690Z 232 identity: Effect.succeed(Option.some({ accountId: "user_connect" })), 2026-10-24T19:50:29.6256888Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6256976Z 2026-10-24T19:50:29.6257195Z src/authorization/remote.test.ts:237:17 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6257459Z 2026-10-24T19:50:29.6257533Z 237 id: Effect.succeed(Option.some("device-1")), 2026-10-24T19:50:29.6257690Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6257773Z 2026-10-24T19:50:29.6258093Z src/authorization/service.ts:553:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteEnvironmentAuthorization.authorizeDpop")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6258453Z 2026-10-24T19:50:29.6258505Z 553 authorizeDpop: (input) => 2026-10-24T19:50:29.6258634Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6258702Z 2026-10-24T19:50:29.6259085Z src/authorization/service.ts:555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteEnvironmentAuthorization.authorizeDpopHttp")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6259489Z 2026-10-24T19:50:29.6259546Z 555 authorizeDpopHttp: (input) => 2026-10-24T19:50:29.6259729Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6259801Z 2026-10-24T19:50:29.6260194Z src/connection/onboarding.ts:298:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ConnectionOnboarding.registerPairing")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6260539Z 2026-10-24T19:50:29.6260591Z 298 registerPairing: (input) => 2026-10-24T19:50:29.6260722Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6260790Z 2026-10-24T19:50:29.6261082Z src/connection/onboarding.ts:304:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ConnectionOnboarding.registerSsh")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6261414Z 2026-10-24T19:50:29.6261469Z 304 registerSsh: (input) => 2026-10-24T19:50:29.6261590Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6261655Z 2026-10-24T19:50:29.6261954Z src/connection/onboarding.ts:309:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ConnectionOnboarding.updateBearer")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6262291Z 2026-10-24T19:50:29.6262342Z 309 updateBearer: (input) => 2026-10-24T19:50:29.6262466Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6262531Z 2026-10-24T19:50:29.6262862Z src/connection/pullRequestRoutingPermissions.ts:138:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.get")((entry) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6263266Z 2026-10-24T19:50:29.6263314Z 138 get: (entry) => 2026-10-24T19:50:29.6263423Z ~~~ 2026-10-24T19:50:29.6263483Z 2026-10-24T19:50:29.6263825Z src/connection/pullRequestRoutingPermissions.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.set")((entry, permission) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6264212Z 2026-10-24T19:50:29.6264269Z 143 set: (entry, permission) => { 2026-10-24T19:50:29.6264398Z ~~~ 2026-10-24T19:50:29.6264456Z 2026-10-24T19:50:29.6264810Z src/connection/pullRequestRoutingPermissions.ts:159:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.forget")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6265194Z 2026-10-24T19:50:29.6265245Z 159 forget: (environmentId) => 2026-10-24T19:50:29.6265374Z ~~~~~~ 2026-10-24T19:50:29.6265432Z 2026-10-24T19:50:29.6265694Z src/connection/registry.test.ts:1392:15 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6265995Z 2026-10-24T19:50:29.6266053Z 1392 ? Effect.succeed(undefined) 2026-10-24T19:50:29.6266198Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6266287Z 2026-10-24T19:50:29.6266544Z src/connection/registry.test.ts:1476:15 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6266840Z 2026-10-24T19:50:29.6266895Z 1476 ? Effect.succeed(undefined) 2026-10-24T19:50:29.6267032Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6267115Z 2026-10-24T19:50:29.6267371Z src/connection/registry.test.ts:1489:23 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6267714Z 2026-10-24T19:50:29.6267813Z 1489 : Effect.succeed(undefined), 2026-10-24T19:50:29.6267972Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6268066Z 2026-10-24T19:50:29.6268313Z src/platform/orchestrationCache.test.ts:104:15 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6268712Z 2026-10-24T19:50:29.6268773Z 104 }).pipe(Effect.map(Option.some)); 2026-10-24T19:50:29.6268915Z ~~~~~~~~~~ 2026-10-24T19:50:29.6268989Z 2026-10-24T19:50:29.6269353Z src/state/boundedThreadSnapshotHttp.ts:72:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadSnapshotLoader.ThreadSnapshotLoader.load")((prepared, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6269754Z 2026-10-24T19:50:29.6269845Z 72 load: (prepared: PreparedConnection, threadId: ThreadId) => { 2026-10-24T19:50:29.6270016Z ~~~~ 2026-10-24T19:50:29.6270075Z 2026-10-24T19:50:29.6270363Z src/state/commandPermissions.ts:56:13 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T19:50:29.6270685Z 2026-10-24T19:50:29.6270786Z 56 Effect.catch(() => Effect.succeed(Option.none())), 2026-10-24T19:50:29.6270972Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6271045Z 2026-10-24T19:50:29.6271373Z src/state/commandPermissions.ts:62:20 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6271736Z 2026-10-24T19:50:29.6271790Z 62 return yield* Effect.fail( 2026-10-24T19:50:29.6271922Z ~~~~~ 2026-10-24T19:50:29.6271997Z 2026-10-24T19:50:29.6272284Z src/state/outdatedServerUpdate.ts:57:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("execute")((target, atomRegistry) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6272607Z 2026-10-24T19:50:29.6272699Z 57 execute: (target: OutdatedServerUpdateTarget, atomRegistry) => { 2026-10-24T19:50:29.6272878Z ~~~~~~~ 2026-10-24T19:50:29.6272938Z 2026-10-24T19:50:29.6273284Z src/state/pullRequestDiffHttp.ts:90:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestDiffLoader.load")((prepared, input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6273634Z 2026-10-24T19:50:29.6273687Z 90 load: (prepared, input) => 2026-10-24T19:50:29.6273813Z ~~~~ 2026-10-24T19:50:29.6273871Z 2026-10-24T19:50:29.6274261Z src/state/queryPersistence.ts:34:28 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6274691Z 2026-10-24T19:50:29.6274792Z 34 return yield* Schema.decodeUnknownEffect(codec)(stored.value).pipe( 2026-10-24T19:50:29.6274984Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6275082Z 2026-10-24T19:50:29.6275302Z src/state/queryPersistence.ts:35:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6275559Z 2026-10-24T19:50:29.6275613Z 35 Effect.map(Option.some), 2026-10-24T19:50:29.6275739Z ~~~~~~~~~~ 2026-10-24T19:50:29.6275807Z 2026-10-24T19:50:29.6276066Z src/state/server.ts:680:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("execute")((target, atomRegistry) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6276362Z 2026-10-24T19:50:29.6276463Z 680 execute: (target, atomRegistry) => { 2026-10-24T19:50:29.6276632Z ~~~~~~~ 2026-10-24T19:50:29.6276695Z 2026-10-24T19:50:29.6277016Z src/state/server.ts:1125:11 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6277496Z 2026-10-24T19:50:29.6277551Z 1125 Effect.flatMap((summary) => 2026-10-24T19:50:29.6277689Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6277764Z 2026-10-24T19:50:29.6277981Z src/state/shell-sync.test.ts:90:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6277984Z 2026-10-24T19:50:29.6278055Z 90 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6278106Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6278108Z 2026-10-24T19:50:29.6278322Z src/state/shell-sync.test.ts:96:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6278325Z 2026-10-24T19:50:29.6278400Z 96 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6278451Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6278455Z 2026-10-24T19:50:29.6278670Z src/state/shell-sync.test.ts:99:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6278672Z 2026-10-24T19:50:29.6278755Z 99 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6278807Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6278809Z 2026-10-24T19:50:29.6279024Z src/state/shell-sync.test.ts:101:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6279026Z 2026-10-24T19:50:29.6279103Z 101 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6279155Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6279157Z 2026-10-24T19:50:29.6279368Z src/state/shell-sync.test.ts:108:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6279375Z 2026-10-24T19:50:29.6279440Z 108 load: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6279491Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6279493Z 2026-10-24T19:50:29.6279706Z src/state/shell-sync.test.ts:229:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6279708Z 2026-10-24T19:50:29.6279780Z 229 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6279829Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6279831Z 2026-10-24T19:50:29.6280045Z src/state/shell-sync.test.ts:238:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6280047Z 2026-10-24T19:50:29.6280121Z 238 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6280170Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6280174Z 2026-10-24T19:50:29.6280387Z src/state/shell-sync.test.ts:241:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6280389Z 2026-10-24T19:50:29.6280469Z 241 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6280524Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6280526Z 2026-10-24T19:50:29.6280737Z src/state/shell-sync.test.ts:243:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6280739Z 2026-10-24T19:50:29.6280852Z 243 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6280929Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6280938Z 2026-10-24T19:50:29.6281149Z src/state/shell-sync.test.ts:250:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6281192Z 2026-10-24T19:50:29.6281260Z 250 load: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6281309Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6281311Z 2026-10-24T19:50:29.6281523Z src/state/shell-sync.test.ts:349:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6281525Z 2026-10-24T19:50:29.6281599Z 349 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6281652Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6281654Z 2026-10-24T19:50:29.6281941Z src/state/shell-sync.test.ts:355:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6281943Z 2026-10-24T19:50:29.6282016Z 355 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6282068Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6282073Z 2026-10-24T19:50:29.6282283Z src/state/shell-sync.test.ts:358:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6282285Z 2026-10-24T19:50:29.6282367Z 358 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6282422Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6282424Z 2026-10-24T19:50:29.6282637Z src/state/shell-sync.test.ts:360:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6282639Z 2026-10-24T19:50:29.6282714Z 360 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6282762Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6282764Z 2026-10-24T19:50:29.6282978Z src/state/shell-sync.test.ts:367:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6282982Z 2026-10-24T19:50:29.6283079Z 367 load: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6283127Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6283129Z 2026-10-24T19:50:29.6283339Z src/state/shell-sync.test.ts:446:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6283345Z 2026-10-24T19:50:29.6283431Z 446 loadShell: () => Effect.succeed(Option.some(cachedSnapshot)), 2026-10-24T19:50:29.6283481Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6283483Z 2026-10-24T19:50:29.6283696Z src/state/shell-sync.test.ts:448:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6283699Z 2026-10-24T19:50:29.6283772Z 448 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6283822Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6283824Z 2026-10-24T19:50:29.6284035Z src/state/shell-sync.test.ts:451:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6284037Z 2026-10-24T19:50:29.6284117Z 451 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6284169Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6284171Z 2026-10-24T19:50:29.6284385Z src/state/shell-sync.test.ts:453:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6284429Z 2026-10-24T19:50:29.6284532Z 453 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6284584Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6284586Z 2026-10-24T19:50:29.6284796Z src/state/shell-sync.test.ts:460:21 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6284834Z 2026-10-24T19:50:29.6284912Z 460 load: () => Effect.succeed(Option.some(httpSnapshot)), 2026-10-24T19:50:29.6284958Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6284963Z 2026-10-24T19:50:29.6285265Z src/state/shellSnapshotHttp.ts:98:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ShellSnapshotLoader.load")((prepared) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6285268Z 2026-10-24T19:50:29.6285371Z 98 load: (prepared: PreparedConnection) => 2026-10-24T19:50:29.6285435Z ~~~~ 2026-10-24T19:50:29.6285439Z 2026-10-24T19:50:29.6285905Z src/state/threadHistoryController.ts:52:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.register")((environmentId, threadId, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6285911Z 2026-10-24T19:50:29.6285984Z 52 register: (environmentId, threadId, handler) => 2026-10-24T19:50:29.6286026Z ~~~~~~~~ 2026-10-24T19:50:29.6286028Z 2026-10-24T19:50:29.6286351Z src/state/threadHistoryController.ts:64:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.unregister")((registration) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6286354Z 2026-10-24T19:50:29.6286408Z 64 unregister: (registration) => 2026-10-24T19:50:29.6286453Z ~~~~~~~~~~ 2026-10-24T19:50:29.6286455Z 2026-10-24T19:50:29.6286816Z src/state/threadHistoryController.ts:79:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.loadEarlier")((environmentId, threadId, throughEntryId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6286821Z 2026-10-24T19:50:29.6286902Z 79 loadEarlier: (environmentId, threadId, throughEntryId) => 2026-10-24T19:50:29.6286950Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6286952Z 2026-10-24T19:50:29.6287344Z src/state/threadHistoryController.ts:89:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.reconcilePendingWork")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6287346Z 2026-10-24T19:50:29.6287429Z 89 reconcilePendingWork: (environmentId, threadId) => 2026-10-24T19:50:29.6287482Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6287484Z 2026-10-24T19:50:29.6287705Z src/state/threads-sync.test.ts:1458:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6287707Z 2026-10-24T19:50:29.6287793Z 1458 : { loadCached: Effect.succeed(Option.some(saved!)) }, 2026-10-24T19:50:29.6287846Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6287848Z 2026-10-24T19:50:29.6288109Z src/state/vcsAction.ts:447:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("execute")((input, registry) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6288111Z 2026-10-24T19:50:29.6288201Z 447 execute: (input: RunVcsStackedActionInput, registry) => { 2026-10-24T19:50:29.6288241Z ~~~~~~~ 2026-10-24T19:50:29.6288243Z 2026-10-24T19:50:29.6288245Z 2026-10-24T19:50:29.6288297Z ~/apps/mobile$ tsc --noEmit 2026-10-24T19:50:29.6288347Z ~/infra/relay$ tsc --noEmit 2026-10-24T19:50:29.6288396Z ~/apps/web$ tsc --noEmit 2026-10-24T19:50:29.6288446Z ~/apps/desktop$ tsc --noEmit 2026-10-24T19:50:29.6288809Z src/agentActivity/ApnsDeliveryQueue.ts:220:11 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ApnsDeliveryQueueSender.send")((body) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6288811Z 2026-10-24T19:50:29.6288887Z 220 send: (body) => 2026-10-24T19:50:29.6288974Z ~~~~ 2026-10-24T19:50:29.6288976Z 2026-10-24T19:50:29.6289267Z src/agentActivity/FcmDeliveryQueueConsumer.ts:12:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onFailure")(function*(error) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6289272Z 2026-10-24T19:50:29.6289320Z 12 onFailure: (error) => 2026-10-24T19:50:29.6289365Z ~~~~~~~~~ 2026-10-24T19:50:29.6289367Z 2026-10-24T19:50:29.6289723Z src/environments/CloudflareApiPause.ts:64:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CloudflareApiPause.pauseUntil")((untilMillis) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6289726Z 2026-10-24T19:50:29.6289809Z 64 pauseUntil: (untilMillis) => 2026-10-24T19:50:29.6289849Z ~~~~~~~~~~ 2026-10-24T19:50:29.6289851Z 2026-10-24T19:50:29.6290086Z src/http/Api.ts:198:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6290090Z 2026-10-24T19:50:29.6290137Z 198 onNone: () => 2026-10-24T19:50:29.6290179Z ~~~~~~ 2026-10-24T19:50:29.6290181Z 2026-10-24T19:50:29.6290441Z src/previewTunnelSweep.test.ts:53:11 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-24T19:50:29.6290443Z 2026-10-24T19:50:29.6290559Z 53 }).pipe(Effect.provide(Layer.succeed(HttpClient.HttpClient, cloudflare.client))); 2026-10-24T19:50:29.6290604Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6290606Z 2026-10-24T19:50:29.6290886Z src/worker.ts:92:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HttpPlatform.HttpPlatform.fileResponse")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6290889Z 2026-10-24T19:50:29.6290996Z 92 fileResponse: () => Effect.die("Relay API does not serve filesystem responses"), 2026-10-24T19:50:29.6291037Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6291042Z 2026-10-24T19:50:29.6291320Z src/worker.ts:93:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HttpPlatform.HttpPlatform.fileWebResponse")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6291322Z 2026-10-24T19:50:29.6291428Z 93 fileWebResponse: () => Effect.die("Relay API does not serve file responses"), 2026-10-24T19:50:29.6291471Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6291474Z 2026-10-24T19:50:29.6291725Z src/worker.ts:242:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HookInbox.HookInbox.hold")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6291728Z 2026-10-24T19:50:29.6291790Z 242 hold: ({ endpointKey, baseUrl, hook }) => 2026-10-24T19:50:29.6291832Z ~~~~ 2026-10-24T19:50:29.6291834Z 2026-10-24T19:50:29.6292084Z src/worker.ts:244:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HookInbox.HookInbox.wake")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6292087Z 2026-10-24T19:50:29.6292145Z 244 wake: ({ endpointKey, baseUrl }) => 2026-10-24T19:50:29.6292188Z ~~~~ 2026-10-24T19:50:29.6292190Z 2026-10-24T19:50:29.6292440Z src/worker.ts:246:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HookInbox.HookInbox.clear")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6292442Z 2026-10-24T19:50:29.6292495Z 246 clear: ({ endpointKey }) => 2026-10-24T19:50:29.6292575Z ~~~~~ 2026-10-24T19:50:29.6292578Z 2026-10-24T19:50:29.6292917Z src/worker.ts:275:15 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("FcmDeliveryQueueSender.FcmDeliveryQueueSender.send")((body) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6292956Z 2026-10-24T19:50:29.6293005Z 275 send: (body) => 2026-10-24T19:50:29.6293116Z ~~~~ 2026-10-24T19:50:29.6293120Z 2026-10-24T19:50:29.6293122Z 2026-10-24T19:50:29.6298722Z src/app/DesktopAppActivation.ts:389:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppActivation.complete")((response) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6298727Z 2026-10-24T19:50:29.6298858Z 389 complete: (response) => Effect.sync(() => broker.complete(response)), 2026-10-24T19:50:29.6298901Z ~~~~~~~~ 2026-10-24T19:50:29.6298904Z 2026-10-24T19:50:29.6299133Z src/app/DesktopClerk.test.ts:300:27 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6299138Z 2026-10-24T19:50:29.6299223Z 300 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-24T19:50:29.6299274Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6299279Z 2026-10-24T19:50:29.6299551Z src/app/DesktopObservability.ts:461:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onSome")(function*(logFile) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6299553Z 2026-10-24T19:50:29.6299601Z 461 onSome: (logFile) => 2026-10-24T19:50:29.6299641Z ~~~~~~ 2026-10-24T19:50:29.6299643Z 2026-10-24T19:50:29.6299958Z src/app/DesktopObservability.ts:591:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendOutputLogFactory.forInstance")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6299962Z 2026-10-24T19:50:29.6300019Z 591 forInstance: (id) => makeForId(id), 2026-10-24T19:50:29.6300061Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6300063Z 2026-10-24T19:50:29.6300284Z src/app/DesktopWebLinks.test.ts:29:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6300288Z 2026-10-24T19:50:29.6300371Z 29 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-24T19:50:29.6300424Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6300426Z 2026-10-24T19:50:29.6300698Z src/app/DesktopWebLinks.ts:72:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWebLinks.receive")((url) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6300700Z 2026-10-24T19:50:29.6300747Z 72 receive: (url) => 2026-10-24T19:50:29.6300786Z ~~~~~~~ 2026-10-24T19:50:29.6300789Z 2026-10-24T19:50:29.6301078Z src/app/DesktopWebLinks.ts:77:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWebLinks.setRendererReady")((ready) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6301080Z 2026-10-24T19:50:29.6301132Z 77 setRendererReady: (ready) => 2026-10-24T19:50:29.6301176Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6301178Z 2026-10-24T19:50:29.6301450Z src/backend/DesktopBackendManager.ts:1062:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onSome")(function*(run) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6301452Z 2026-10-24T19:50:29.6301496Z 1062 onSome: (run) => 2026-10-24T19:50:29.6301536Z ~~~~~~ 2026-10-24T19:50:29.6301538Z 2026-10-24T19:50:29.6301818Z src/backend/DesktopBackendPool.ts:307:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendPool.get")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6301908Z 2026-10-24T19:50:29.6301973Z 307 get: (id) => 2026-10-24T19:50:29.6302038Z ~~~ 2026-10-24T19:50:29.6302041Z 2026-10-24T19:50:29.6302319Z src/backend/DesktopBackendPool.ts:342:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendPool.get")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6302373Z 2026-10-24T19:50:29.6302465Z 342 get: (id) => Effect.succeed(Option.fromNullishOr(byId.get(id))), 2026-10-24T19:50:29.6302506Z ~~~ 2026-10-24T19:50:29.6302509Z 2026-10-24T19:50:29.6302869Z src/backend/DesktopBackendPool.ts:345:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendPool.register")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6302871Z 2026-10-24T19:50:29.6302998Z 345 register: () => Effect.die("DesktopBackendPool.layerTest does not support register"), 2026-10-24T19:50:29.6303060Z ~~~~~~~~ 2026-10-24T19:50:29.6303062Z 2026-10-24T19:50:29.6303393Z src/backend/DesktopBackendPool.ts:346:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendPool.unregister")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6303397Z 2026-10-24T19:50:29.6303526Z 346 unregister: () => Effect.die("DesktopBackendPool.layerTest does not support unregister"), 2026-10-24T19:50:29.6303569Z ~~~~~~~~~~ 2026-10-24T19:50:29.6303572Z 2026-10-24T19:50:29.6303831Z src/electron/ElectronApp.ts:145:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.exit")((code) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6303833Z 2026-10-24T19:50:29.6303875Z 145 exit: (code) => 2026-10-24T19:50:29.6303918Z ~~~~ 2026-10-24T19:50:29.6303920Z 2026-10-24T19:50:29.6304188Z src/electron/ElectronApp.ts:149:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.relaunch")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6304190Z 2026-10-24T19:50:29.6304239Z 149 relaunch: (options) => 2026-10-24T19:50:29.6304278Z ~~~~~~~~ 2026-10-24T19:50:29.6304280Z 2026-10-24T19:50:29.6304554Z src/electron/ElectronApp.ts:153:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setPath")((name, path) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6304556Z 2026-10-24T19:50:29.6304607Z 153 setPath: (name, path) => 2026-10-24T19:50:29.6304646Z ~~~~~~~ 2026-10-24T19:50:29.6304648Z 2026-10-24T19:50:29.6304912Z src/electron/ElectronApp.ts:157:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setName")((name) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6304915Z 2026-10-24T19:50:29.6304958Z 157 setName: (name) => 2026-10-24T19:50:29.6304998Z ~~~~~~~ 2026-10-24T19:50:29.6305001Z 2026-10-24T19:50:29.6305296Z src/electron/ElectronApp.ts:161:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setAboutPanelOptions")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6305300Z 2026-10-24T19:50:29.6305359Z 161 setAboutPanelOptions: (options) => 2026-10-24T19:50:29.6305404Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6305406Z 2026-10-24T19:50:29.6305684Z src/electron/ElectronApp.ts:165:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setAppUserModelId")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6305686Z 2026-10-24T19:50:29.6305739Z 165 setAppUserModelId: (id) => 2026-10-24T19:50:29.6305783Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6305785Z 2026-10-24T19:50:29.6306163Z src/electron/ElectronApp.ts:170:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setAsDefaultProtocolClient")((protocol, path, args) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6306166Z 2026-10-24T19:50:29.6306282Z 170 setAsDefaultProtocolClient: (protocol, path, args) => 2026-10-24T19:50:29.6306364Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6306366Z 2026-10-24T19:50:29.6306656Z src/electron/ElectronApp.ts:177:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setDesktopName")((desktopName) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6306659Z 2026-10-24T19:50:29.6306715Z 177 setDesktopName: (desktopName) => 2026-10-24T19:50:29.6306756Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6306758Z 2026-10-24T19:50:29.6307072Z src/electron/ElectronApp.ts:184:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.setDockIcon")((iconPath) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6307079Z 2026-10-24T19:50:29.6307156Z 184 setDockIcon: (iconPath) => 2026-10-24T19:50:29.6307199Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6307201Z 2026-10-24T19:50:29.6307517Z src/electron/ElectronApp.ts:188:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.appendCommandLineSwitch")((switchName, value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6307521Z 2026-10-24T19:50:29.6307595Z 188 appendCommandLineSwitch: (switchName, value) => 2026-10-24T19:50:29.6307638Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6307640Z 2026-10-24T19:50:29.6307939Z src/electron/ElectronApp.ts:196:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.onBeforeQuitForUpdate")((listener) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6307941Z 2026-10-24T19:50:29.6308001Z 196 onBeforeQuitForUpdate: (listener) => 2026-10-24T19:50:29.6308048Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6308050Z 2026-10-24T19:50:29.6308351Z src/electron/ElectronApp.ts:206:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronApp.removeCommandLineSwitch")((switchName) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6308355Z 2026-10-24T19:50:29.6308416Z 206 removeCommandLineSwitch: (switchName) => 2026-10-24T19:50:29.6308462Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6308464Z 2026-10-24T19:50:29.6308769Z src/electron/ElectronDialog.ts:169:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronDialog.showMessageBox")((options, owner) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6308771Z 2026-10-24T19:50:29.6308827Z 169 showMessageBox: (options, owner) => 2026-10-24T19:50:29.6308870Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6308872Z 2026-10-24T19:50:29.6309173Z src/electron/ElectronDialog.ts:185:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronDialog.showErrorBox")((title, content) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6309175Z 2026-10-24T19:50:29.6309231Z 185 showErrorBox: (title, content) => 2026-10-24T19:50:29.6309275Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6309279Z 2026-10-24T19:50:29.6309576Z src/electron/ElectronMenu.ts:193:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronMenu.setApplicationMenu")((template) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6309578Z 2026-10-24T19:50:29.6309635Z 193 setApplicationMenu: (template) => 2026-10-24T19:50:29.6309678Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6309680Z 2026-10-24T19:50:29.6310002Z src/electron/ElectronMenu.ts:207:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronMenu.popupTemplate")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6310005Z 2026-10-24T19:50:29.6310086Z 207 popupTemplate: (input) => 2026-10-24T19:50:29.6310129Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6310131Z 2026-10-24T19:50:29.6310412Z src/electron/ElectronMenu.ts:225:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronMenu.showContextMenu")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6310453Z 2026-10-24T19:50:29.6310504Z 225 showContextMenu: (input) => 2026-10-24T19:50:29.6310548Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6310550Z 2026-10-24T19:50:29.6310954Z src/electron/ElectronPowerMonitor.ts:82:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronPowerMonitor.getSystemIdleState")((idleThresholdSeconds) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6310957Z 2026-10-24T19:50:29.6311038Z 82 getSystemIdleState: (idleThresholdSeconds) => 2026-10-24T19:50:29.6311080Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6311082Z 2026-10-24T19:50:29.6311385Z src/electron/ElectronSafeStorage.ts:77:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronSafeStorage.encryptString")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6311389Z 2026-10-24T19:50:29.6311439Z 77 encryptString: (value) => 2026-10-24T19:50:29.6311481Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6311483Z 2026-10-24T19:50:29.6311785Z src/electron/ElectronSafeStorage.ts:82:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronSafeStorage.decryptString")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6311788Z 2026-10-24T19:50:29.6311834Z 82 decryptString: (value) => 2026-10-24T19:50:29.6311877Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6311879Z 2026-10-24T19:50:29.6312163Z src/electron/ElectronShell.ts:68:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronShell.openExternal")((rawUrl) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6312165Z 2026-10-24T19:50:29.6312216Z 68 openExternal: (rawUrl) => 2026-10-24T19:50:29.6312255Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6312260Z 2026-10-24T19:50:29.6312549Z src/electron/ElectronShell.ts:79:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronShell.openSystemSettings")((pane) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6312551Z 2026-10-24T19:50:29.6312606Z 79 openSystemSettings: (pane) => 2026-10-24T19:50:29.6312650Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6312652Z 2026-10-24T19:50:29.6312923Z src/electron/ElectronShell.ts:86:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronShell.copyText")((text) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6312925Z 2026-10-24T19:50:29.6312970Z 86 copyText: (text) => 2026-10-24T19:50:29.6313014Z ~~~~~~~~ 2026-10-24T19:50:29.6313045Z 2026-10-24T19:50:29.6313329Z src/electron/ElectronTheme.ts:34:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronTheme.setSource")((theme) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6313333Z 2026-10-24T19:50:29.6313382Z 34 setSource: (theme) => 2026-10-24T19:50:29.6313424Z ~~~~~~~~~ 2026-10-24T19:50:29.6313426Z 2026-10-24T19:50:29.6313702Z src/electron/ElectronTheme.ts:41:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronTheme.onUpdated")((listener) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6313704Z 2026-10-24T19:50:29.6313752Z 41 onUpdated: (listener) => 2026-10-24T19:50:29.6313792Z ~~~~~~~~~ 2026-10-24T19:50:29.6313794Z 2026-10-24T19:50:29.6314120Z src/electron/ElectronUpdater.ts:85:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setFeedURL")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6314123Z 2026-10-24T19:50:29.6314197Z 85 setFeedURL: (options) => 2026-10-24T19:50:29.6314242Z ~~~~~~~~~~ 2026-10-24T19:50:29.6314244Z 2026-10-24T19:50:29.6314537Z src/electron/ElectronUpdater.ts:90:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setAutoDownload")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6314577Z 2026-10-24T19:50:29.6314627Z 90 setAutoDownload: (value) => 2026-10-24T19:50:29.6314671Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6314673Z 2026-10-24T19:50:29.6315010Z src/electron/ElectronUpdater.ts:95:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setAutoInstallOnAppQuit")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6315017Z 2026-10-24T19:50:29.6315108Z 95 setAutoInstallOnAppQuit: (value) => 2026-10-24T19:50:29.6315156Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6315158Z 2026-10-24T19:50:29.6315443Z src/electron/ElectronUpdater.ts:100:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setChannel")((channel) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6315447Z 2026-10-24T19:50:29.6315497Z 100 setChannel: (channel) => 2026-10-24T19:50:29.6315536Z ~~~~~~~~~~ 2026-10-24T19:50:29.6315538Z 2026-10-24T19:50:29.6315838Z src/electron/ElectronUpdater.ts:105:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setAllowPrerelease")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6315840Z 2026-10-24T19:50:29.6315893Z 105 setAllowPrerelease: (value) => 2026-10-24T19:50:29.6315937Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6315939Z 2026-10-24T19:50:29.6316239Z src/electron/ElectronUpdater.ts:111:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setAllowDowngrade")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6316242Z 2026-10-24T19:50:29.6316291Z 111 setAllowDowngrade: (value) => 2026-10-24T19:50:29.6316336Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6316339Z 2026-10-24T19:50:29.6316636Z src/electron/ElectronUpdater.ts:116:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setFullChangelog")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6316638Z 2026-10-24T19:50:29.6316689Z 116 setFullChangelog: (value) => 2026-10-24T19:50:29.6316729Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6316734Z 2026-10-24T19:50:29.6317057Z src/electron/ElectronUpdater.ts:121:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.setDisableDifferentialDownload")((value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6317060Z 2026-10-24T19:50:29.6317129Z 121 setDisableDifferentialDownload: (value) => 2026-10-24T19:50:29.6317177Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6317179Z 2026-10-24T19:50:29.6317465Z src/electron/ElectronUpdater.ts:140:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.quitAndInstall")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6317468Z 2026-10-24T19:50:29.6317543Z 140 quitAndInstall: ({ isSilent, isForceRunAfter }) => 2026-10-24T19:50:29.6317582Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6317584Z 2026-10-24T19:50:29.6317869Z src/electron/ElectronUpdater.ts:154:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronUpdater.on")((eventName, listener) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6317871Z 2026-10-24T19:50:29.6317921Z 154 on: (eventName, listener) => { 2026-10-24T19:50:29.6318002Z ~~ 2026-10-24T19:50:29.6318004Z 2026-10-24T19:50:29.6318314Z src/electron/ElectronWindow.ts:211:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronWindow.create")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6318361Z 2026-10-24T19:50:29.6318409Z 211 create: (options) => { 2026-10-24T19:50:29.6318452Z ~~~~~~ 2026-10-24T19:50:29.6318454Z 2026-10-24T19:50:29.6318737Z src/electron/ElectronWindow.ts:243:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronWindow.setMain")((window) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6318741Z 2026-10-24T19:50:29.6318891Z 243 setMain: (window) => Ref.set(mainWindowRef, Option.some(window)), 2026-10-24T19:50:29.6318932Z ~~~~~~~ 2026-10-24T19:50:29.6318934Z 2026-10-24T19:50:29.6319220Z src/electron/ElectronWindow.ts:244:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronWindow.clearMain")((window) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6319222Z 2026-10-24T19:50:29.6319270Z 244 clearMain: (window) => 2026-10-24T19:50:29.6319312Z ~~~~~~~~~ 2026-10-24T19:50:29.6319314Z 2026-10-24T19:50:29.6319607Z src/electron/ElectronWindow.ts:254:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronWindow.prepareReveal")((window) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6319609Z 2026-10-24T19:50:29.6319659Z 254 prepareReveal: (window) => 2026-10-24T19:50:29.6319703Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6319705Z 2026-10-24T19:50:29.6319981Z src/electron/ElectronWindow.ts:264:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ElectronWindow.reveal")((window) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6319983Z 2026-10-24T19:50:29.6320034Z 264 reveal: (window) => 2026-10-24T19:50:29.6320073Z ~~~~~~ 2026-10-24T19:50:29.6320075Z 2026-10-24T19:50:29.6320413Z src/settings/DesktopAppSettings.ts:526:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setMainWindowBounds")((bounds, isMaximized) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6320418Z 2026-10-24T19:50:29.6320490Z 526 setMainWindowBounds: (bounds, isMaximized) => 2026-10-24T19:50:29.6320535Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6320537Z 2026-10-24T19:50:29.6320857Z src/settings/DesktopAppSettings.ts:538:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setServerExposureMode")((mode) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6320859Z 2026-10-24T19:50:29.6320913Z 538 setServerExposureMode: (mode) => 2026-10-24T19:50:29.6320961Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6320963Z 2026-10-24T19:50:29.6321276Z src/settings/DesktopAppSettings.ts:542:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setTailscaleServe")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6321278Z 2026-10-24T19:50:29.6321334Z 542 setTailscaleServe: (input) => 2026-10-24T19:50:29.6321381Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6321383Z 2026-10-24T19:50:29.6321698Z src/settings/DesktopAppSettings.ts:546:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setUpdateChannel")((channel) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6321703Z 2026-10-24T19:50:29.6321756Z 546 setUpdateChannel: (channel) => 2026-10-24T19:50:29.6321800Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6321802Z 2026-10-24T19:50:29.6322164Z src/settings/DesktopAppSettings.ts:550:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setWslBackendEnabled")((enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6322167Z 2026-10-24T19:50:29.6322253Z 550 setWslBackendEnabled: (enabled) => 2026-10-24T19:50:29.6322297Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6322300Z 2026-10-24T19:50:29.6322640Z src/settings/DesktopAppSettings.ts:554:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setWslDistro")((distro) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6322642Z 2026-10-24T19:50:29.6322692Z 554 setWslDistro: (distro) => 2026-10-24T19:50:29.6322735Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6322737Z 2026-10-24T19:50:29.6323089Z src/settings/DesktopAppSettings.ts:560:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setWslOnly")((enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6323092Z 2026-10-24T19:50:29.6323367Z 560 setWslOnly: (enabled) => 2026-10-24T19:50:29.6323464Z ~~~~~~~~~~ 2026-10-24T19:50:29.6323469Z 2026-10-24T19:50:29.6323944Z src/settings/DesktopAppSettings.ts:564:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setLocalEnvironmentEnabled")((enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6323950Z 2026-10-24T19:50:29.6324040Z 564 setLocalEnvironmentEnabled: (enabled) => 2026-10-24T19:50:29.6324096Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6324105Z 2026-10-24T19:50:29.6324543Z src/settings/DesktopAppSettings.ts:599:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setMainWindowBounds")((bounds, isMaximized) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6324546Z 2026-10-24T19:50:29.6324642Z 599 setMainWindowBounds: (bounds, isMaximized) => 2026-10-24T19:50:29.6324700Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6324702Z 2026-10-24T19:50:29.6325111Z src/settings/DesktopAppSettings.ts:601:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setServerExposureMode")((mode) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6325118Z 2026-10-24T19:50:29.6325194Z 601 setServerExposureMode: (mode) => 2026-10-24T19:50:29.6325247Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6325249Z 2026-10-24T19:50:29.6325640Z src/settings/DesktopAppSettings.ts:603:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setTailscaleServe")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6325644Z 2026-10-24T19:50:29.6325806Z 603 setTailscaleServe: (input) => update((settings) => setTailscaleServe(settings, input)), 2026-10-24T19:50:29.6325867Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6325869Z 2026-10-24T19:50:29.6326264Z src/settings/DesktopAppSettings.ts:604:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setUpdateChannel")((channel) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6326268Z 2026-10-24T19:50:29.6326427Z 604 setUpdateChannel: (channel) => update((settings) => setUpdateChannel(settings, channel)), 2026-10-24T19:50:29.6326483Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6326487Z 2026-10-24T19:50:29.6326892Z src/settings/DesktopAppSettings.ts:605:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setWslBackendEnabled")((enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6326896Z 2026-10-24T19:50:29.6326974Z 605 setWslBackendEnabled: (enabled) => 2026-10-24T19:50:29.6327027Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6327030Z 2026-10-24T19:50:29.6327591Z src/settings/DesktopAppSettings.ts:607:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setWslDistro")((distro) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6327597Z 2026-10-24T19:50:29.6327739Z 607 setWslDistro: (distro) => update((settings) => setWslDistro(settings, distro)), 2026-10-24T19:50:29.6327863Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6327866Z 2026-10-24T19:50:29.6328250Z src/settings/DesktopAppSettings.ts:608:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setWslOnly")((enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6328253Z 2026-10-24T19:50:29.6328383Z 608 setWslOnly: (enabled) => update((settings) => setWslOnly(settings, enabled)), 2026-10-24T19:50:29.6328432Z ~~~~~~~~~~ 2026-10-24T19:50:29.6328436Z 2026-10-24T19:50:29.6328794Z src/settings/DesktopAppSettings.ts:609:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopAppSettings.setLocalEnvironmentEnabled")((enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6328796Z 2026-10-24T19:50:29.6328865Z 609 setLocalEnvironmentEnabled: (enabled) => 2026-10-24T19:50:29.6328914Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6328918Z 2026-10-24T19:50:29.6329218Z src/settings/DesktopClientSettings.ts:197:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopClientSettings.set")((settings) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6329221Z 2026-10-24T19:50:29.6329265Z 197 set: (settings) => 2026-10-24T19:50:29.6329305Z ~~~ 2026-10-24T19:50:29.6329307Z 2026-10-24T19:50:29.6329605Z src/settings/DesktopClientSettings.ts:231:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopClientSettings.set")((settings) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6329609Z 2026-10-24T19:50:29.6329699Z 231 set: (settings) => Ref.set(settingsRef, Option.some(settings)), 2026-10-24T19:50:29.6329737Z ~~~ 2026-10-24T19:50:29.6329739Z 2026-10-24T19:50:29.6330070Z src/snapShot/DesktopSnapShot.ts:1729:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSnapShot.setAnimationDestination")((id, destination) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6330074Z 2026-10-24T19:50:29.6330147Z 1729 setAnimationDestination: (id, destination) => 2026-10-24T19:50:29.6330192Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6330194Z 2026-10-24T19:50:29.6330491Z src/snapShot/DesktopSnapShot.ts:1740:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSnapShot.dismissAnimation")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6330493Z 2026-10-24T19:50:29.6330542Z 1740 dismissAnimation: (id) => 2026-10-24T19:50:29.6330588Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6330590Z 2026-10-24T19:50:29.6330873Z src/snapShot/DesktopSnapShot.ts:1745:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSnapShot.acknowledge")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6330877Z 2026-10-24T19:50:29.6330924Z 1745 acknowledge: (id) => 2026-10-24T19:50:29.6330967Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6330969Z 2026-10-24T19:50:29.6331275Z src/ssh/DesktopSshEnvironment.ts:136:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSshEnvironment.discoverHosts")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6331277Z 2026-10-24T19:50:29.6331327Z 136 discoverHosts: (input) => 2026-10-24T19:50:29.6331368Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6331370Z 2026-10-24T19:50:29.6331712Z src/ssh/DesktopSshEnvironment.ts:141:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSshEnvironment.resolveHost")((alias) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6331714Z 2026-10-24T19:50:29.6331760Z 141 resolveHost: (alias) => 2026-10-24T19:50:29.6331799Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6331801Z 2026-10-24T19:50:29.6332175Z src/ssh/DesktopSshEnvironment.ts:146:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSshEnvironment.ensureEnvironment")((target, ensureOptions) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6332177Z 2026-10-24T19:50:29.6332246Z 146 ensureEnvironment: (target, ensureOptions) => 2026-10-24T19:50:29.6332290Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6332292Z 2026-10-24T19:50:29.6332609Z src/ssh/DesktopSshEnvironment.ts:154:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopSshEnvironment.disconnectEnvironment")((target) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6332614Z 2026-10-24T19:50:29.6332669Z 154 disconnectEnvironment: (target) => 2026-10-24T19:50:29.6332713Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6332716Z 2026-10-24T19:50:29.6333122Z src/updates/DesktopUpdates.ts:1171:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopUpdates.installPrepared")((expectedVersion) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6333126Z 2026-10-24T19:50:29.6333261Z 1171 installPrepared: (expectedVersion) => installWithExpectedVersion(expectedVersion), 2026-10-24T19:50:29.6333303Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6333305Z 2026-10-24T19:50:29.6333598Z src/wsl/DesktopWslEnvironment.ts:1101:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.preWarm")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6333600Z 2026-10-24T19:50:29.6333652Z 1101 preWarm: () => Effect.void, 2026-10-24T19:50:29.6333694Z ~~~~~~~ 2026-10-24T19:50:29.6333696Z 2026-10-24T19:50:29.6334028Z src/wsl/DesktopWslEnvironment.ts:1102:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.windowsToWslPath")((distro, windowsPath) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6334032Z 2026-10-24T19:50:29.6334096Z 1102 windowsToWslPath: (distro, windowsPath) => 2026-10-24T19:50:29.6334138Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6334140Z 2026-10-24T19:50:29.6334444Z src/wsl/DesktopWslEnvironment.ts:1104:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.getUserHome")((distro) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6334446Z 2026-10-24T19:50:29.6334580Z 1104 getUserHome: (distro) => Effect.succeed(stub.getUserHome?.(distro) ?? Option.none()), 2026-10-24T19:50:29.6334623Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6334626Z 2026-10-24T19:50:29.6334926Z src/wsl/DesktopWslEnvironment.ts:1105:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.getDistroIp")((distro) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6334932Z 2026-10-24T19:50:29.6335062Z 1105 getDistroIp: (distro) => Effect.succeed(stub.getDistroIp?.(distro) ?? Option.none()), 2026-10-24T19:50:29.6335103Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6335105Z 2026-10-24T19:50:29.6335428Z src/wsl/DesktopWslEnvironment.ts:1106:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.prepareRuntime")((distro, archive) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6335431Z 2026-10-24T19:50:29.6335491Z 1106 prepareRuntime: (distro, archive) => 2026-10-24T19:50:29.6335530Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6335533Z 2026-10-24T19:50:29.6335930Z src/wsl/DesktopWslEnvironment.ts:1113:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.pruneRuntimes")((distro, runtimeId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6335932Z 2026-10-24T19:50:29.6336061Z 1113 pruneRuntimes: (distro, runtimeId) => stub.pruneRuntimes?.(distro, runtimeId) ?? Effect.void, 2026-10-24T19:50:29.6336158Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6336161Z 2026-10-24T19:50:29.6336497Z src/wsl/DesktopWslEnvironment.ts:1114:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.invalidateRuntime")((distro, runtimeId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6336500Z 2026-10-24T19:50:29.6336561Z 1114 invalidateRuntime: (distro, runtimeId) => 2026-10-24T19:50:29.6336605Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6336607Z 2026-10-24T19:50:29.6336941Z src/wsl/DesktopWslEnvironment.ts:1116:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.probeRuntime")((distro, linuxAppRoot) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6336943Z 2026-10-24T19:50:29.6337006Z 1116 probeRuntime: (distro, linuxAppRoot) => 2026-10-24T19:50:29.6337049Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6337052Z 2026-10-24T19:50:29.6337391Z src/wsl/DesktopWslEnvironment.ts:1120:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.ensureNodePty")((distro, linuxAppRoot, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6337395Z 2026-10-24T19:50:29.6337468Z 1120 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-24T19:50:29.6337510Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6337512Z 2026-10-24T19:50:29.6337807Z src/wsl/DesktopWslEnvironment.ts:1187:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.preWarm")((distro) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6337810Z 2026-10-24T19:50:29.6337856Z 1187 preWarm: (distro) => 2026-10-24T19:50:29.6337893Z ~~~~~~~ 2026-10-24T19:50:29.6337895Z 2026-10-24T19:50:29.6338215Z src/wsl/DesktopWslEnvironment.ts:1192:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.prepareRuntime")((distro, archive) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6338217Z 2026-10-24T19:50:29.6338275Z 1192 prepareRuntime: (distro, archive) => 2026-10-24T19:50:29.6338316Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6338318Z 2026-10-24T19:50:29.6338639Z src/wsl/DesktopWslEnvironment.ts:1196:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.pruneRuntimes")((distro, runtimeId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6338643Z 2026-10-24T19:50:29.6338701Z 1196 pruneRuntimes: (distro, runtimeId) => 2026-10-24T19:50:29.6338740Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6338742Z 2026-10-24T19:50:29.6339071Z src/wsl/DesktopWslEnvironment.ts:1200:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.invalidateRuntime")((distro, runtimeId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6339075Z 2026-10-24T19:50:29.6339138Z 1200 invalidateRuntime: (distro, runtimeId) => 2026-10-24T19:50:29.6339179Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6339184Z 2026-10-24T19:50:29.6339508Z src/wsl/DesktopWslEnvironment.ts:1204:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.probeRuntime")((distro, linuxAppRoot) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6339511Z 2026-10-24T19:50:29.6339571Z 1204 probeRuntime: (distro, linuxAppRoot) => 2026-10-24T19:50:29.6339649Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6339651Z 2026-10-24T19:50:29.6339988Z src/wsl/DesktopWslEnvironment.ts:1208:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopWslEnvironment.ensureNodePty")((distro, linuxAppRoot, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6340025Z 2026-10-24T19:50:29.6340099Z 1208 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-24T19:50:29.6340138Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6340140Z 2026-10-24T19:50:29.6340142Z 2026-10-24T19:50:29.6340144Z 2026-10-24T19:50:29.6340463Z src/connection/platform.ts:820:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentOwnedDataCleanup.clear")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6340465Z 2026-10-24T19:50:29.6340512Z 820 clear: (environmentId) => 2026-10-24T19:50:29.6340553Z ~~~~~ 2026-10-24T19:50:29.6340556Z 2026-10-24T19:50:29.6340850Z src/connection/platform.ts:830:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentRpcRequestObserver.observe")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6340854Z 2026-10-24T19:50:29.6340937Z 830 observe: ({ environmentId, environmentLabel, method }) => 2026-10-24T19:50:29.6340979Z ~~~~~~~ 2026-10-24T19:50:29.6340981Z 2026-10-24T19:50:29.6341270Z src/connection/storage.ts:551:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.get")((entry) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6341272Z 2026-10-24T19:50:29.6341315Z 551 get: (entry) => 2026-10-24T19:50:29.6341353Z ~~~ 2026-10-24T19:50:29.6341358Z 2026-10-24T19:50:29.6341663Z src/connection/storage.ts:578:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.set")((entry, permission) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6341666Z 2026-10-24T19:50:29.6341716Z 578 set: (entry, permission) => { 2026-10-24T19:50:29.6341755Z ~~~ 2026-10-24T19:50:29.6341757Z 2026-10-24T19:50:29.6342062Z src/connection/storage.ts:598:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.forget")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6342064Z 2026-10-24T19:50:29.6342139Z 598 forget: (environmentId) => write(environmentId, null), 2026-10-24T19:50:29.6342180Z ~~~~~~ 2026-10-24T19:50:29.6342183Z 2026-10-24T19:50:29.6342513Z src/connection/storage.ts:645:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.register")((registration, routes) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6342516Z 2026-10-24T19:50:29.6342573Z 645 register: (registration, routes) => 2026-10-24T19:50:29.6342613Z ~~~~~~~~ 2026-10-24T19:50:29.6342615Z 2026-10-24T19:50:29.6342952Z src/connection/storage.ts:649:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.setRoutes")((environmentId, routes) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6342959Z 2026-10-24T19:50:29.6343026Z 649 setRoutes: (environmentId, routes) => 2026-10-24T19:50:29.6343067Z ~~~~~~~~~ 2026-10-24T19:50:29.6343069Z 2026-10-24T19:50:29.6343416Z src/connection/storage.ts:653:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.remove")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6343418Z 2026-10-24T19:50:29.6343468Z 653 remove: (environmentId) => 2026-10-24T19:50:29.6343547Z ~~~~~~ 2026-10-24T19:50:29.6343549Z 2026-10-24T19:50:29.6343890Z src/connection/storage.ts:657:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.setEnabled")((environmentId, enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6343940Z 2026-10-24T19:50:29.6344001Z 657 setEnabled: (environmentId, enabled) => 2026-10-24T19:50:29.6344043Z ~~~~~~~~~~ 2026-10-24T19:50:29.6344045Z 2026-10-24T19:50:29.6344356Z src/connection/storage.ts:734:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadShell")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6344358Z 2026-10-24T19:50:29.6344407Z 734 loadShell: (environmentId) => 2026-10-24T19:50:29.6344448Z ~~~~~~~~~ 2026-10-24T19:50:29.6344450Z 2026-10-24T19:50:29.6344774Z src/connection/storage.ts:770:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadServerConfig")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6344776Z 2026-10-24T19:50:29.6344834Z 770 loadServerConfig: (environmentId) => 2026-10-24T19:50:29.6344880Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6344882Z 2026-10-24T19:50:29.6345211Z src/connection/storage.ts:804:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadThread")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6345213Z 2026-10-24T19:50:29.6345273Z 804 loadThread: (environmentId, threadId) => 2026-10-24T19:50:29.6345313Z ~~~~~~~~~~ 2026-10-24T19:50:29.6345315Z 2026-10-24T19:50:29.6345640Z src/connection/storage.ts:853:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadVcsRefs")((environmentId, cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6345642Z 2026-10-24T19:50:29.6345699Z 853 loadVcsRefs: (environmentId, cwd) => 2026-10-24T19:50:29.6345738Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6345740Z 2026-10-24T19:50:29.6346065Z src/connection/storage.ts:895:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.removeVcsRefs")((environmentId, cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6346068Z 2026-10-24T19:50:29.6346126Z 895 removeVcsRefs: (environmentId, cwd) => 2026-10-24T19:50:29.6346167Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6346169Z 2026-10-24T19:50:29.6346486Z src/connection/storage.ts:901:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.clearVcsRefs")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6346489Z 2026-10-24T19:50:29.6346541Z 901 clearVcsRefs: (environmentId) => 2026-10-24T19:50:29.6346583Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6346585Z 2026-10-24T19:50:29.6346915Z src/connection/storage.ts:907:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.removeThread")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6346920Z 2026-10-24T19:50:29.6346982Z 907 removeThread: (environmentId, threadId) => 2026-10-24T19:50:29.6347021Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6347025Z 2026-10-24T19:50:29.6347327Z src/connection/storage.ts:913:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.clear")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6347329Z 2026-10-24T19:50:29.6347380Z 913 clear: (environmentId) => 2026-10-24T19:50:29.6347457Z ~~~~~ 2026-10-24T19:50:29.6347459Z 2026-10-24T19:50:29.6347461Z 2026-10-24T19:50:29.6347512Z ~/apps/server$ tsc --noEmit 2026-10-24T19:50:29.6347752Z scripts/acp-mock-agent.ts:941:16 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T19:50:29.6347793Z 2026-10-24T19:50:29.6347849Z 941 yield* Effect.sleep("1200 millis") 2026-10-24T19:50:29.6347897Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6347938Z 942 .pipe( 2026-10-24T19:50:29.6347976Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6348016Z ... 2026-10-24T19:50:29.6348054Z 954 ) 2026-10-24T19:50:29.6348094Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6348144Z 955 .pipe(Effect.forkDetach); 2026-10-24T19:50:29.6348189Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6348191Z 2026-10-24T19:50:29.6348489Z scripts/record-codex-app-server-replay-fixture.ts:1175:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("logger")((event) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6348491Z 2026-10-24T19:50:29.6348538Z 1175 logger: (event) => { 2026-10-24T19:50:29.6348575Z ~~~~~~ 2026-10-24T19:50:29.6348577Z 2026-10-24T19:50:29.6348987Z scripts/record-grok-acp-replay-fixture.ts:376:38 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6348989Z 2026-10-24T19:50:29.6349095Z 376 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-24T19:50:29.6349151Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6349154Z 2026-10-24T19:50:29.6349539Z src/assets/AssetAccess.test.ts:975:42 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6349542Z 2026-10-24T19:50:29.6349650Z 975 const { resource } = yield* Schema.decodeUnknownEffect(AssetCreateUrlInput)({ 2026-10-24T19:50:29.6349708Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6349711Z 2026-10-24T19:50:29.6349992Z src/auth/EnvironmentAuth.ts:1346:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuth.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6349995Z 2026-10-24T19:50:29.6350044Z 1346 getDescriptor: () => 2026-10-24T19:50:29.6350084Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6350086Z 2026-10-24T19:50:29.6350384Z src/auth/EnvironmentAuthPolicy.ts:55:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuthPolicy.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6350388Z 2026-10-24T19:50:29.6350432Z 55 getDescriptor: () => 2026-10-24T19:50:29.6350472Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6350474Z 2026-10-24T19:50:29.6350786Z src/auth/McpOAuth.ts:540:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpHttpServer.McpClientAuthenticator.authenticate")((request) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6350790Z 2026-10-24T19:50:29.6350839Z 540 authenticate: (request) => 2026-10-24T19:50:29.6350879Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6350881Z 2026-10-24T19:50:29.6351117Z src/cli/thread.ts:468:11 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6351120Z 2026-10-24T19:50:29.6351171Z 468 : Effect.succeed(undefined), 2026-10-24T19:50:29.6351257Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6351260Z 2026-10-24T19:50:29.6351530Z src/cloud/CliTokenManager.ts:328:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HttpClientError")(function*(cause) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6351574Z 2026-10-24T19:50:29.6351622Z 328 HttpClientError: (cause) => 2026-10-24T19:50:29.6351665Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6351668Z 2026-10-24T19:50:29.6351895Z src/cloud/CloudLink.lifecycle.test.ts:166:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6351897Z 2026-10-24T19:50:29.6351959Z 166 latest: Effect.succeed(Option.none()), 2026-10-24T19:50:29.6352003Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6352008Z 2026-10-24T19:50:29.6352217Z src/cloud/CloudLink.test.ts:99:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6352220Z 2026-10-24T19:50:29.6352279Z 99 latest: Effect.succeed(Option.none()), 2026-10-24T19:50:29.6352323Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6352325Z 2026-10-24T19:50:29.6352653Z src/cloud/ManagedEndpointRuntime.ts:791:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CloudManagedEndpointRuntime.requestRecovery")((config) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6352657Z 2026-10-24T19:50:29.6352783Z 791 requestRecovery: (config) => Queue.offer(recoveryRequests, config).pipe(Effect.asVoid), 2026-10-24T19:50:29.6352823Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6352825Z 2026-10-24T19:50:29.6353036Z src/cloud/http.test.ts:81:67 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6353039Z 2026-10-24T19:50:29.6353204Z 81 Layer.mock(ConnectReachability.ConnectReachability)({ latest: Effect.succeed(Option.none()) }), 2026-10-24T19:50:29.6353272Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6353274Z 2026-10-24T19:50:29.6353594Z src/cloud/selfUpdate.ts:371:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSelfUpdate.commitDesktopUpdate")((requestId, onHandoffAccepted) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6353598Z 2026-10-24T19:50:29.6353676Z 371 commitDesktopUpdate: (requestId, onHandoffAccepted) => 2026-10-24T19:50:29.6353720Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6353723Z 2026-10-24T19:50:29.6353996Z src/device/DeviceService.ts:808:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceService.updateTool")((tool) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6353999Z 2026-10-24T19:50:29.6354046Z 808 updateTool: (tool) => 2026-10-24T19:50:29.6354084Z ~~~~~~~~~~ 2026-10-24T19:50:29.6354086Z 2026-10-24T19:50:29.6354355Z src/device/DeviceService.ts:823:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceService.easAccount")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6354359Z 2026-10-24T19:50:29.6354404Z 823 easAccount: () => 2026-10-24T19:50:29.6354446Z ~~~~~~~~~~ 2026-10-24T19:50:29.6354448Z 2026-10-24T19:50:29.6354751Z src/device/EasDeviceHost.ts:868:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceHost.DeviceHost.ensureAgentReady")((onPhase) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6354753Z 2026-10-24T19:50:29.6354803Z 868 ensureAgentReady: (onPhase) => 2026-10-24T19:50:29.6354845Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6354848Z 2026-10-24T19:50:29.6355105Z src/device/easProjectId.ts:201:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6355108Z 2026-10-24T19:50:29.6355161Z 201 Effect.map(Option.some), 2026-10-24T19:50:29.6355199Z ~~~~~~~~~~ 2026-10-24T19:50:29.6355203Z 2026-10-24T19:50:29.6355479Z src/environment/DirectEndpoints.ts:141:31 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DirectEndpoints.resolve")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6355524Z 2026-10-24T19:50:29.6355602Z 141 return DirectEndpoints.of({ resolve: () => resolve }); 2026-10-24T19:50:29.6355650Z ~~~~~~~ 2026-10-24T19:50:29.6355652Z 2026-10-24T19:50:29.6355947Z src/environment/RemoteOpenTargets.ts:83:33 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteOpenTargets.resolveTargets")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6355949Z 2026-10-24T19:50:29.6356048Z 83 return RemoteOpenTargets.of({ resolveTargets: () => resolveTargets }); 2026-10-24T19:50:29.6356100Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6356102Z 2026-10-24T19:50:29.6356389Z src/git/GitWorkflowService.ts:302:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.isRepository")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6356393Z 2026-10-24T19:50:29.6356442Z 302 isRepository: (cwd) => 2026-10-24T19:50:29.6356482Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6356485Z 2026-10-24T19:50:29.6356769Z src/git/GitWorkflowService.ts:315:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.hasCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6356773Z 2026-10-24T19:50:29.6356820Z 315 hasCommit: (input) => 2026-10-24T19:50:29.6356860Z ~~~~~~~~~ 2026-10-24T19:50:29.6356862Z 2026-10-24T19:50:29.6357148Z src/git/GitWorkflowService.ts:327:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.hasRefNamed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6357150Z 2026-10-24T19:50:29.6357199Z 327 hasRefNamed: (input) => 2026-10-24T19:50:29.6357238Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6357241Z 2026-10-24T19:50:29.6357516Z src/git/GitWorkflowService.ts:346:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.status")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6357519Z 2026-10-24T19:50:29.6357565Z 346 status: (input) => 2026-10-24T19:50:29.6357605Z ~~~~~~ 2026-10-24T19:50:29.6357607Z 2026-10-24T19:50:29.6357895Z src/git/GitWorkflowService.ts:352:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.localStatus")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6357897Z 2026-10-24T19:50:29.6357942Z 352 localStatus: (input) => 2026-10-24T19:50:29.6357981Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6357984Z 2026-10-24T19:50:29.6358282Z src/git/GitWorkflowService.ts:360:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.remoteStatus")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6358286Z 2026-10-24T19:50:29.6358341Z 360 remoteStatus: (input, options) => 2026-10-24T19:50:29.6358379Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6358381Z 2026-10-24T19:50:29.6358676Z src/git/GitWorkflowService.ts:369:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6358679Z 2026-10-24T19:50:29.6358730Z 369 pullCurrentBranch: (cwd) => 2026-10-24T19:50:29.6358773Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6358816Z 2026-10-24T19:50:29.6359123Z src/git/GitWorkflowService.ts:373:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.runStackedAction")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6359168Z 2026-10-24T19:50:29.6359225Z 373 runStackedAction: (input, options) => 2026-10-24T19:50:29.6359268Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6359270Z 2026-10-24T19:50:29.6359580Z src/git/GitWorkflowService.ts:388:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.preparePullRequestThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6359583Z 2026-10-24T19:50:29.6359642Z 388 preparePullRequestThread: (input) => 2026-10-24T19:50:29.6359687Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6359690Z 2026-10-24T19:50:29.6359970Z src/git/GitWorkflowService.ts:399:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.listRefs")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6359972Z 2026-10-24T19:50:29.6360020Z 399 listRefs: (input) => 2026-10-24T19:50:29.6360060Z ~~~~~~~~ 2026-10-24T19:50:29.6360064Z 2026-10-24T19:50:29.6360365Z src/git/GitWorkflowService.ts:405:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6360367Z 2026-10-24T19:50:29.6360423Z 405 createWorktree: (input, options) => 2026-10-24T19:50:29.6360462Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6360464Z 2026-10-24T19:50:29.6360764Z src/git/GitWorkflowService.ts:409:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.listLocalBranchNames")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6360767Z 2026-10-24T19:50:29.6360821Z 409 listLocalBranchNames: (cwd) => 2026-10-24T19:50:29.6360863Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6360865Z 2026-10-24T19:50:29.6361149Z src/git/GitWorkflowService.ts:413:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6361154Z 2026-10-24T19:50:29.6361199Z 413 fetchRemote: (input) => 2026-10-24T19:50:29.6361238Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6361240Z 2026-10-24T19:50:29.6361528Z src/git/GitWorkflowService.ts:417:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.remoteExists")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6361531Z 2026-10-24T19:50:29.6361578Z 417 remoteExists: (input) => 2026-10-24T19:50:29.6361616Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6361618Z 2026-10-24T19:50:29.6361922Z src/git/GitWorkflowService.ts:421:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.remoteBranchExists")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6361924Z 2026-10-24T19:50:29.6361977Z 421 remoteBranchExists: (input) => 2026-10-24T19:50:29.6362022Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6362025Z 2026-10-24T19:50:29.6362340Z src/git/GitWorkflowService.ts:425:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.resolveRemoteTrackingCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6362342Z 2026-10-24T19:50:29.6362403Z 425 resolveRemoteTrackingCommit: (input) => 2026-10-24T19:50:29.6362453Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6362456Z 2026-10-24T19:50:29.6362812Z src/git/GitWorkflowService.ts:429:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.resolveWorktreeBaseRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6362815Z 2026-10-24T19:50:29.6362875Z 429 resolveWorktreeBaseRemote: (input) => 2026-10-24T19:50:29.6362921Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6362964Z 2026-10-24T19:50:29.6363293Z src/git/GitWorkflowService.ts:433:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6363296Z 2026-10-24T19:50:29.6363352Z 433 fetchWorktreeBaseCommit: (input) => 2026-10-24T19:50:29.6363395Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6363397Z 2026-10-24T19:50:29.6363690Z src/git/GitWorkflowService.ts:437:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6363694Z 2026-10-24T19:50:29.6363745Z 437 removeWorktree: (input) => 2026-10-24T19:50:29.6363784Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6363786Z 2026-10-24T19:50:29.6364077Z src/git/GitWorkflowService.ts:441:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6364081Z 2026-10-24T19:50:29.6364130Z 441 pruneWorktrees: (input) => 2026-10-24T19:50:29.6364169Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6364172Z 2026-10-24T19:50:29.6364466Z src/git/GitWorkflowService.ts:445:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6364470Z 2026-10-24T19:50:29.6364520Z 445 deleteLocalBranch: (input) => 2026-10-24T19:50:29.6364564Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6364567Z 2026-10-24T19:50:29.6364848Z src/git/GitWorkflowService.ts:449:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.createRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6364850Z 2026-10-24T19:50:29.6364898Z 449 createRef: (input) => 2026-10-24T19:50:29.6364936Z ~~~~~~~~~ 2026-10-24T19:50:29.6364938Z 2026-10-24T19:50:29.6365217Z src/git/GitWorkflowService.ts:457:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6365219Z 2026-10-24T19:50:29.6365265Z 457 switchRef: (input) => 2026-10-24T19:50:29.6365304Z ~~~~~~~~~ 2026-10-24T19:50:29.6365306Z 2026-10-24T19:50:29.6365591Z src/git/GitWorkflowService.ts:463:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6365593Z 2026-10-24T19:50:29.6365638Z 463 renameBranch: (input) => 2026-10-24T19:50:29.6365678Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6365680Z 2026-10-24T19:50:29.6365932Z src/htmlRender/headlessChrome.ts:281:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((raw) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6365936Z 2026-10-24T19:50:29.6365990Z 281 const receive = (raw: string) => { 2026-10-24T19:50:29.6366029Z ~~~~~~~ 2026-10-24T19:50:29.6366033Z 2026-10-24T19:50:29.6366388Z src/mcp/AcpMcpStdioBridge.ts:284:7 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T19:50:29.6366390Z 2026-10-24T19:50:29.6366432Z 284 try { 2026-10-24T19:50:29.6366519Z ~~~~~ 2026-10-24T19:50:29.6366573Z 285 parsed = JSON.parse(line); 2026-10-24T19:50:29.6366617Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6366656Z ... 2026-10-24T19:50:29.6366753Z 287 return yield* respondWithError(null, "Parse error", -32700); 2026-10-24T19:50:29.6366861Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6366899Z 288 } 2026-10-24T19:50:29.6366940Z ~~~~~~~ 2026-10-24T19:50:29.6366942Z 2026-10-24T19:50:29.6367206Z src/mcp/AcpMcpStdioBridge.ts:324:7 - suggestion TS377099: `Effect.ignoreCause` expresses ignored failure more directly than `Effect.catchCause` returning `Effect.void`. effect(catchToIgnore) 2026-10-24T19:50:29.6367208Z 2026-10-24T19:50:29.6367266Z 324 Effect.catchCause(() => Effect.void), 2026-10-24T19:50:29.6367309Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6367311Z 2026-10-24T19:50:29.6367535Z src/mcp/McpDeviceToolkit.test.ts:105:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6367538Z 2026-10-24T19:50:29.6367601Z 105 getById: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6367645Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6367647Z 2026-10-24T19:50:29.6367922Z src/mcp/McpHttpServer.ts:421:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("previewSnapshotFailure")((cause) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6367924Z 2026-10-24T19:50:29.6368014Z 421 const previewSnapshotFailure = (cause: Cause.Cause) => { 2026-10-24T19:50:29.6368058Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6368061Z 2026-10-24T19:50:29.6368336Z src/mcp/McpHttpServer.ts:938:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpServer.McpServer.addTool")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6368339Z 2026-10-24T19:50:29.6368387Z 938 addTool: (options) => 2026-10-24T19:50:29.6368425Z ~~~~~~~ 2026-10-24T19:50:29.6368429Z 2026-10-24T19:50:29.6368692Z src/mcp/McpSessionRegistry.testkit.ts:22:20 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6368696Z 2026-10-24T19:50:29.6368757Z 22 resolve: () => Effect.succeed(undefined), 2026-10-24T19:50:29.6368808Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6368810Z 2026-10-24T19:50:29.6369090Z src/mcp/McpToolAccess.ts:112:7 - suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-10-24T19:50:29.6369092Z 2026-10-24T19:50:29.6369147Z 112 Effect.flatMap(() => writingCaller), 2026-10-24T19:50:29.6369190Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6369192Z 2026-10-24T19:50:29.6369672Z src/mcp/OrchestratorMcpService.ts:2465:39 - suggestion TS377088: This generator applies the same inline `Effect.mapError(...)` to every yielded effect. Keep that `Effect.mapError(...)` inline and hoist it once to the generator result: `Effect.gen(...).pipe(Effect.mapError(...))`, or `Effect.fn(function*(){ ... }, Effect.mapError(...))`. effect(redundantMapError) 2026-10-24T19:50:29.6369676Z 2026-10-24T19:50:29.6369749Z 2465 const cancelOrphan = Effect.gen(function* () { 2026-10-24T19:50:29.6369804Z ~~~~~~~~~ 2026-10-24T19:50:29.6369806Z 2026-10-24T19:50:29.6370031Z src/mcp/OrchestratorMcpService.ts:2480:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-24T19:50:29.6370113Z 2480 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-24T19:50:29.6370161Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6370163Z 2026-10-24T19:50:29.6370424Z src/mcp/OrchestratorMcpService.ts:2483:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-24T19:50:29.6370506Z 2483 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-24T19:50:29.6370551Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6370600Z 2026-10-24T19:50:29.6370864Z src/mcp/PreviewAutomationBroker.ts:651:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6370867Z 2026-10-24T19:50:29.6370912Z 651 onNone: () => 2026-10-24T19:50:29.6370953Z ~~~~~~ 2026-10-24T19:50:29.6370955Z 2026-10-24T19:50:29.6371147Z src/mcp/WorktreeMcpService.test.ts:355:3 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T19:50:29.6371152Z 2026-10-24T19:50:29.6371198Z 355 Effect.gen(function* () { 2026-10-24T19:50:29.6371243Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6371326Z 356 return yield* WorktreeMcpService.WorktreeMcpService; 2026-10-24T19:50:29.6371385Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6371445Z 357 }).pipe(Effect.provide(harness.layer)); 2026-10-24T19:50:29.6371490Z ~~~~ 2026-10-24T19:50:29.6371492Z 2026-10-24T19:50:29.6371754Z src/mcp/toolkits/pullRequests/handlers.ts:217:27 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T19:50:29.6371758Z 2026-10-24T19:50:29.6371808Z 217 const thread = yield* engine 2026-10-24T19:50:29.6371852Z ~~~~~~ 2026-10-24T19:50:29.6371903Z 218 .getThreadShell(threadId) 2026-10-24T19:50:29.6371947Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6372009Z 219 .pipe(Effect.map(Option.fromNullishOr)) 2026-10-24T19:50:29.6372060Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6372143Z 220 .pipe(Effect.mapError((cause) => new Failure({ cause }))); 2026-10-24T19:50:29.6372209Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6372211Z 2026-10-24T19:50:29.6372486Z src/mcpApps/McpAppModelContext.ts:96:27 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.set")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6372490Z 2026-10-24T19:50:29.6372605Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-24T19:50:29.6372650Z ~~~ 2026-10-24T19:50:29.6372652Z 2026-10-24T19:50:29.6372936Z src/mcpApps/McpAppModelContext.ts:96:51 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.forThread")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6372938Z 2026-10-24T19:50:29.6373064Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-24T19:50:29.6373187Z ~~~~~~~~~ 2026-10-24T19:50:29.6373190Z 2026-10-24T19:50:29.6373497Z src/observability/BrowserTraceCollector.ts:16:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BrowserTraceCollector.record")((records) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6373501Z 2026-10-24T19:50:29.6373547Z 16 record: (records) => 2026-10-24T19:50:29.6373589Z ~~~~~~ 2026-10-24T19:50:29.6373591Z 2026-10-24T19:50:29.6373855Z src/observability/EventLoopMonitor.ts:41:49 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6373857Z 2026-10-24T19:50:29.6373956Z 41 defaultValue: () => ({ latestNoticeableStall: Effect.succeed(undefined) }), 2026-10-24T19:50:29.6374078Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6374081Z 2026-10-24T19:50:29.6374522Z src/orchestration-v2/Adapters/AcpRegistryAdapterV2.testkit.ts:30:32 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6374575Z 2026-10-24T19:50:29.6374676Z 30 const REPLAY_SETTINGS = Schema.decodeUnknownSync(AcpRegistrySettings)({ 2026-10-24T19:50:29.6374729Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6374731Z 2026-10-24T19:50:29.6375028Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts:48:17 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6375031Z 2026-10-24T19:50:29.6375087Z 48 defaultModel: Effect.succeed(undefined), 2026-10-24T19:50:29.6375136Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6375138Z 2026-10-24T19:50:29.6375438Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts:169:23 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6375441Z 2026-10-24T19:50:29.6375506Z 169 defaultModel: Effect.succeed(undefined), 2026-10-24T19:50:29.6375557Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6375559Z 2026-10-24T19:50:29.6375853Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts:306:23 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6375855Z 2026-10-24T19:50:29.6375917Z 306 defaultModel: Effect.succeed(undefined), 2026-10-24T19:50:29.6375968Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6375970Z 2026-10-24T19:50:29.6376265Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts:542:23 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6376269Z 2026-10-24T19:50:29.6376329Z 542 defaultModel: Effect.succeed(undefined), 2026-10-24T19:50:29.6376377Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6376379Z 2026-10-24T19:50:29.6376710Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:974:26 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6376713Z 2026-10-24T19:50:29.6376773Z 974 const controller = new AbortController(); 2026-10-24T19:50:29.6376823Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6376825Z 2026-10-24T19:50:29.6377110Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1326:37 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T19:50:29.6377112Z 2026-10-24T19:50:29.6377176Z 1326 const requestEvent = yield* runtime.events 2026-10-24T19:50:29.6377231Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6377277Z 1327 .pipe( 2026-10-24T19:50:29.6377318Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6377355Z ... 2026-10-24T19:50:29.6377396Z 1330 ) 2026-10-24T19:50:29.6377437Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6377489Z 1331 .pipe(Effect.forkScoped); 2026-10-24T19:50:29.6377539Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6377541Z 2026-10-24T19:50:29.6377909Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1332:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6377912Z 2026-10-24T19:50:29.6377979Z 1332 const controller = new AbortController(); 2026-10-24T19:50:29.6378032Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6378034Z 2026-10-24T19:50:29.6378402Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1355:37 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6378406Z 2026-10-24T19:50:29.6378483Z 1355 const cancelledController = new AbortController(); 2026-10-24T19:50:29.6378543Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6378545Z 2026-10-24T19:50:29.6378902Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4020:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6378904Z 2026-10-24T19:50:29.6379008Z 4020 getCapabilities: () => Effect.succeed(ClaudeProviderCapabilitiesV2), 2026-10-24T19:50:29.6379050Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6379055Z 2026-10-24T19:50:29.6379421Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4021:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6379423Z 2026-10-24T19:50:29.6379543Z 4021 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6379589Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6379591Z 2026-10-24T19:50:29.6379945Z src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:201:17 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6379948Z 2026-10-24T19:50:29.6380008Z 201 signal: new AbortController().signal, 2026-10-24T19:50:29.6380054Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6380056Z 2026-10-24T19:50:29.6380439Z src/orchestration-v2/Adapters/ClaudeTaskOutputTail.ts:74:17 - suggestion TS377121: This Effect first-completion race has exactly one sleep- or delay-based timer arm. `Effect.timeoutOrElse` expresses the timeout and fallback directly. effect(raceFirstWithSleepToTimeout) 2026-10-24T19:50:29.6380443Z 2026-10-24T19:50:29.6380495Z 74 const pause = Effect.raceFirst( 2026-10-24T19:50:29.6380540Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6380542Z 2026-10-24T19:50:29.6380855Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1741:25 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6380862Z 2026-10-24T19:50:29.6380964Z 1741 threadId === null ? Effect.succeed(undefined) : mcpSessions.read(threadId); 2026-10-24T19:50:29.6381020Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6381022Z 2026-10-24T19:50:29.6381371Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1748:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6381375Z 2026-10-24T19:50:29.6381475Z 1748 getCapabilities: () => Effect.succeed(CodexProviderCapabilitiesV2), 2026-10-24T19:50:29.6381516Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6381521Z 2026-10-24T19:50:29.6381883Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1749:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6381928Z 2026-10-24T19:50:29.6382046Z 1749 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T19:50:29.6382091Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6382093Z 2026-10-24T19:50:29.6382407Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3045:19 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T19:50:29.6382453Z 2026-10-24T19:50:29.6382526Z 3045 Effect.catch(() => Effect.succeed(null)), 2026-10-24T19:50:29.6382570Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6382572Z 2026-10-24T19:50:29.6382933Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3046:19 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6382935Z 2026-10-24T19:50:29.6382996Z 3046 Effect.flatMap((response) => 2026-10-24T19:50:29.6383060Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6383063Z 2026-10-24T19:50:29.6383334Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3068:19 - suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-10-24T19:50:29.6383338Z 2026-10-24T19:50:29.6383399Z 3068 Effect.catch(() => Effect.void), 2026-10-24T19:50:29.6383445Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6383448Z 2026-10-24T19:50:29.6383799Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:7268:26 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6383801Z 2026-10-24T19:50:29.6383884Z 7268 return yield* Effect.fail(failedTermination.error); 2026-10-24T19:50:29.6383928Z ~~~~~ 2026-10-24T19:50:29.6383932Z 2026-10-24T19:50:29.6384351Z src/orchestration-v2/Adapters/GrokAdapterV2.testkit.ts:33:38 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6384355Z 2026-10-24T19:50:29.6384458Z 33 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-24T19:50:29.6384515Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6384517Z 2026-10-24T19:50:29.6384933Z src/orchestration-v2/Adapters/MuseAdapterV2.testkit.ts:414:38 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6384936Z 2026-10-24T19:50:29.6385058Z 414 const DEFAULT_MUSE_SETTINGS = Schema.decodeUnknownSync(MuseSettings)({ enabled: true }); 2026-10-24T19:50:29.6385111Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6385113Z 2026-10-24T19:50:29.6385447Z src/orchestration-v2/CheckpointCaptureService.ts:242:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CheckpointCaptureServiceV2.execute")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6385450Z 2026-10-24T19:50:29.6385503Z 242 execute: (input) => 2026-10-24T19:50:29.6385545Z ~~~~~~~ 2026-10-24T19:50:29.6385547Z 2026-10-24T19:50:29.6385803Z src/orchestration-v2/CheckpointRestoreSafety.test.ts:104:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6385805Z 2026-10-24T19:50:29.6385946Z 104 get: () => Effect.succeed(Option.some({ workspaceRoot: parent } as never)), 2026-10-24T19:50:29.6385996Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6385998Z 2026-10-24T19:50:29.6386338Z src/orchestration-v2/CheckpointRestoreSafety.ts:41:13 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6386380Z 2026-10-24T19:50:29.6386432Z 41 Effect.catch((error) => 2026-10-24T19:50:29.6386478Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6386480Z 2026-10-24T19:50:29.6386815Z src/orchestration-v2/CheckpointRestoreSafety.ts:83:17 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6386817Z 2026-10-24T19:50:29.6386870Z 83 Effect.catch((error) => 2026-10-24T19:50:29.6386918Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6386920Z 2026-10-24T19:50:29.6387179Z src/orchestration-v2/CheckpointRollbackService.test.ts:233:22 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6387182Z 2026-10-24T19:50:29.6387280Z 233 return Effect.succeed(Option.some({ workspaceRoot } as never)); 2026-10-24T19:50:29.6387325Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6387327Z 2026-10-24T19:50:29.6387675Z src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.ts:142:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T19:50:29.6387677Z 2026-10-24T19:50:29.6387742Z 142 const batchAbort = new AbortController(); 2026-10-24T19:50:29.6387795Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6387798Z 2026-10-24T19:50:29.6388155Z src/orchestration-v2/CommandOutputHub.test.ts:168:5 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6388158Z 2026-10-24T19:50:29.6388208Z 168 Effect.flatMap((frame) => 2026-10-24T19:50:29.6388251Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6388254Z 2026-10-24T19:50:29.6388492Z src/orchestration-v2/CommandReceiptStore.ts:164:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6388494Z 2026-10-24T19:50:29.6388564Z 164 onNone: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6388613Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6388620Z 2026-10-24T19:50:29.6388859Z src/orchestration-v2/CommandReceiptStore.ts:167:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6388862Z 2026-10-24T19:50:29.6388924Z 167 ? Effect.succeed(Option.none()) 2026-10-24T19:50:29.6388971Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6388974Z 2026-10-24T19:50:29.6389215Z src/orchestration-v2/CommandReceiptStore.ts:168:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6389219Z 2026-10-24T19:50:29.6389317Z 168 : fromApplicationReceipt(receipt).pipe(Effect.map(Option.some)), 2026-10-24T19:50:29.6389379Z ~~~~~~~~~~ 2026-10-24T19:50:29.6389381Z 2026-10-24T19:50:29.6389618Z src/orchestration-v2/CommandReceiptStore.ts:183:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6389620Z 2026-10-24T19:50:29.6389722Z 183 ? Effect.succeed(Option.none()) 2026-10-24T19:50:29.6389772Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6389774Z 2026-10-24T19:50:29.6390010Z src/orchestration-v2/CommandReceiptStore.ts:192:25 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6390058Z 2026-10-24T19:50:29.6390119Z 192 }).pipe(Effect.map(Option.some)), 2026-10-24T19:50:29.6390165Z ~~~~~~~~~~ 2026-10-24T19:50:29.6390167Z 2026-10-24T19:50:29.6390391Z src/orchestration-v2/EffectOutbox.ts:429:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6390394Z 2026-10-24T19:50:29.6390452Z 429 ? Effect.succeed(Option.none()) 2026-10-24T19:50:29.6390495Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6390497Z 2026-10-24T19:50:29.6390727Z src/orchestration-v2/EffectOutbox.ts:430:39 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6390729Z 2026-10-24T19:50:29.6390806Z 430 : rowToEffect(row).pipe(Effect.map(Option.some)); 2026-10-24T19:50:29.6390858Z ~~~~~~~~~~ 2026-10-24T19:50:29.6390862Z 2026-10-24T19:50:29.6391092Z src/orchestration-v2/EffectWorker.test.ts:107:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6391097Z 2026-10-24T19:50:29.6391157Z 107 get: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6391206Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6391208Z 2026-10-24T19:50:29.6391436Z src/orchestration-v2/EffectWorker.test.ts:302:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6391438Z 2026-10-24T19:50:29.6391524Z 302 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T19:50:29.6391569Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6391571Z 2026-10-24T19:50:29.6391798Z src/orchestration-v2/EffectWorker.test.ts:369:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6391802Z 2026-10-24T19:50:29.6391884Z 369 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T19:50:29.6391931Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6391933Z 2026-10-24T19:50:29.6392162Z src/orchestration-v2/EffectWorker.test.ts:436:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6392164Z 2026-10-24T19:50:29.6392243Z 436 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T19:50:29.6392288Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6392292Z 2026-10-24T19:50:29.6392522Z src/orchestration-v2/EffectWorker.test.ts:437:18 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6392524Z 2026-10-24T19:50:29.6392600Z 437 get: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T19:50:29.6392648Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6392650Z 2026-10-24T19:50:29.6392978Z src/orchestration-v2/EffectWorker.ts:98:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestrationEffectExecutorV2.execute")((effect, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6392981Z 2026-10-24T19:50:29.6393045Z 98 execute: (effect, options) => { 2026-10-24T19:50:29.6393088Z ~~~~~~~ 2026-10-24T19:50:29.6393090Z 2026-10-24T19:50:29.6393473Z src/orchestration-v2/EffectWorker.ts:180:17 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6393476Z 2026-10-24T19:50:29.6393529Z 180 Effect.catch((cause) => 2026-10-24T19:50:29.6393572Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6393574Z 2026-10-24T19:50:29.6393902Z src/orchestration-v2/EventStore.ts:110:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EventStoreV2.append")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6393904Z 2026-10-24T19:50:29.6393954Z 110 append: (input) => 2026-10-24T19:50:29.6393996Z ~~~~~~ 2026-10-24T19:50:29.6393998Z 2026-10-24T19:50:29.6394295Z src/orchestration-v2/EventStore.ts:120:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EventStoreV2.appendProjectEvent")((event) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6394300Z 2026-10-24T19:50:29.6394354Z 120 appendProjectEvent: (event) => 2026-10-24T19:50:29.6394398Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6394400Z 2026-10-24T19:50:29.6394692Z src/orchestration-v2/EventStore.ts:131:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EventStoreV2.latestSequence")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6394696Z 2026-10-24T19:50:29.6394747Z 131 latestSequence: (input) => 2026-10-24T19:50:29.6394790Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6394792Z 2026-10-24T19:50:29.6395050Z src/orchestration-v2/FoundationPersistence.test.ts:1791:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6395052Z 2026-10-24T19:50:29.6395139Z 1791 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T19:50:29.6395188Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6395190Z 2026-10-24T19:50:29.6395444Z src/orchestration-v2/FoundationPersistence.test.ts:1793:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6395446Z 2026-10-24T19:50:29.6395496Z 1793 Effect.succeed( 2026-10-24T19:50:29.6395544Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6395546Z 2026-10-24T19:50:29.6395798Z src/orchestration-v2/FoundationPersistence.test.ts:2663:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6395800Z 2026-10-24T19:50:29.6395877Z 2663 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-24T19:50:29.6395926Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6395931Z 2026-10-24T19:50:29.6396178Z src/orchestration-v2/FoundationPersistence.test.ts:2880:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6396182Z 2026-10-24T19:50:29.6396256Z 2880 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-24T19:50:29.6396306Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6396308Z 2026-10-24T19:50:29.6396655Z src/orchestration-v2/Orchestrator.ts:11811:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6396659Z 2026-10-24T19:50:29.6396712Z 11811 Effect.flatMap((planned) => 2026-10-24T19:50:29.6396754Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6396756Z 2026-10-24T19:50:29.6397078Z src/orchestration-v2/Orchestrator.ts:12234:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6397081Z 2026-10-24T19:50:29.6397185Z 12234 restartContinuationPending: (run) => 2026-10-24T19:50:29.6397233Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6397236Z 2026-10-24T19:50:29.6397548Z src/orchestration-v2/Orchestrator.ts:12236:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6397595Z 2026-10-24T19:50:29.6397652Z 12236 awaitRestartContinuation: (run) => 2026-10-24T19:50:29.6397700Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6397702Z 2026-10-24T19:50:29.6398010Z src/orchestration-v2/Orchestrator.ts:12239:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6398012Z 2026-10-24T19:50:29.6398067Z 12239 autoArmLimitRecovery: (input) => 2026-10-24T19:50:29.6398109Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6398113Z 2026-10-24T19:50:29.6398410Z src/orchestration-v2/Orchestrator.ts:12267:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6398412Z 2026-10-24T19:50:29.6398463Z 12267 searchThread: (input) => 2026-10-24T19:50:29.6398505Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6398507Z 2026-10-24T19:50:29.6398890Z src/orchestration-v2/Orchestrator.ts:12275:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6398893Z 2026-10-24T19:50:29.6399008Z 12275 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-24T19:50:29.6399052Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6399054Z 2026-10-24T19:50:29.6399375Z src/orchestration-v2/Orchestrator.ts:12279:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6399377Z 2026-10-24T19:50:29.6399439Z 12279 getTimelinePage: (threadId, options) => 2026-10-24T19:50:29.6399486Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6399488Z 2026-10-24T19:50:29.6399788Z src/orchestration-v2/Orchestrator.ts:12283:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6399793Z 2026-10-24T19:50:29.6399845Z 12283 getMessageCount: (threadId) => 2026-10-24T19:50:29.6399888Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6399890Z 2026-10-24T19:50:29.6400185Z src/orchestration-v2/Orchestrator.ts:12287:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6400188Z 2026-10-24T19:50:29.6400238Z 12287 getTurnItem: (input) => 2026-10-24T19:50:29.6400277Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6400280Z 2026-10-24T19:50:29.6400611Z src/orchestration-v2/Orchestrator.ts:12295:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6400614Z 2026-10-24T19:50:29.6400687Z 12295 getThreadRecords: (threadId, fields, filter) => 2026-10-24T19:50:29.6400730Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6400732Z 2026-10-24T19:50:29.6401047Z src/orchestration-v2/Orchestrator.ts:12299:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6401090Z 2026-10-24T19:50:29.6401149Z 12299 getThreadProjection: (threadId) => 2026-10-24T19:50:29.6401194Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6401196Z 2026-10-24T19:50:29.6401511Z src/orchestration-v2/Orchestrator.ts:12303:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6401561Z 2026-10-24T19:50:29.6401623Z 12303 getCheckpointContext: (threadId) => 2026-10-24T19:50:29.6401668Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6401671Z 2026-10-24T19:50:29.6401978Z src/orchestration-v2/Orchestrator.ts:12307:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6401980Z 2026-10-24T19:50:29.6402035Z 12307 getThreadSnapshot: (threadId) => 2026-10-24T19:50:29.6402080Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6402082Z 2026-10-24T19:50:29.6402417Z src/orchestration-v2/Orchestrator.ts:12311:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6402421Z 2026-10-24T19:50:29.6402493Z 12311 getThreadSnapshotWindow: (threadId, options) => 2026-10-24T19:50:29.6402536Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6402538Z 2026-10-24T19:50:29.6402844Z src/orchestration-v2/Orchestrator.ts:12315:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6402846Z 2026-10-24T19:50:29.6402898Z 12315 getShellSnapshot: (options) => 2026-10-24T19:50:29.6402940Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6402942Z 2026-10-24T19:50:29.6403282Z src/orchestration-v2/Orchestrator.ts:12317:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.listActiveSubagentThreadIds")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6403287Z 2026-10-24T19:50:29.6403344Z 12317 listActiveSubagentThreadIds: () => 2026-10-24T19:50:29.6403395Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6403397Z 2026-10-24T19:50:29.6403704Z src/orchestration-v2/Orchestrator.ts:12319:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6403706Z 2026-10-24T19:50:29.6403760Z 12319 readShellSnapshot: (options) => 2026-10-24T19:50:29.6403801Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6403803Z 2026-10-24T19:50:29.6404107Z src/orchestration-v2/Orchestrator.ts:12326:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6404109Z 2026-10-24T19:50:29.6404162Z 12326 getThreadShell: (threadId) => 2026-10-24T19:50:29.6404204Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6404206Z 2026-10-24T19:50:29.6404527Z src/orchestration-v2/Orchestrator.ts:12330:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6404529Z 2026-10-24T19:50:29.6404588Z 12330 getThreadEventSequence: (threadId) => 2026-10-24T19:50:29.6404632Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6404634Z 2026-10-24T19:50:29.6404952Z src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts:160:28 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6405011Z 2026-10-24T19:50:29.6405080Z 160 getInstance: () => Effect.succeed(undefined), 2026-10-24T19:50:29.6405135Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6405137Z 2026-10-24T19:50:29.6405428Z src/orchestration-v2/ProjectStore.ts:269:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.getShell")((projectId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6405476Z 2026-10-24T19:50:29.6405584Z 269 getShell: (projectId) => get(projectId).pipe(Effect.map(Option.map(toShell))), 2026-10-24T19:50:29.6405625Z ~~~~~~~~ 2026-10-24T19:50:29.6405628Z 2026-10-24T19:50:29.6405920Z src/orchestration-v2/ProjectStore.ts:270:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.listShells")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6405923Z 2026-10-24T19:50:29.6405972Z 270 listShells: (options) => 2026-10-24T19:50:29.6406011Z ~~~~~~~~~~ 2026-10-24T19:50:29.6406013Z 2026-10-24T19:50:29.6406268Z src/orchestration-v2/ProjectionControlReads.test.ts:279:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6406272Z 2026-10-24T19:50:29.6406319Z 279 Effect.succeed( 2026-10-24T19:50:29.6406363Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6406365Z 2026-10-24T19:50:29.6406688Z src/orchestration-v2/ProviderAdapterRegistry.ts:78:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapterRegistryV2.get")((instanceId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6406690Z 2026-10-24T19:50:29.6406735Z 78 get: (instanceId) => 2026-10-24T19:50:29.6406776Z ~~~ 2026-10-24T19:50:29.6406778Z 2026-10-24T19:50:29.6407088Z src/orchestration-v2/ProviderAdapterRegistry.ts:135:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapterRegistryV2.list")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6407091Z 2026-10-24T19:50:29.6407133Z 135 list: () => 2026-10-24T19:50:29.6407172Z ~~~~ 2026-10-24T19:50:29.6407174Z 2026-10-24T19:50:29.6407493Z src/orchestration-v2/ProviderEventIngestor.ts:93:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderTurnAnalytics.record")((properties) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6407495Z 2026-10-24T19:50:29.6407579Z 93 record: (properties: Readonly>) => 2026-10-24T19:50:29.6407621Z ~~~~~~ 2026-10-24T19:50:29.6407623Z 2026-10-24T19:50:29.6407983Z src/orchestration-v2/ProviderEventIngestor.ts:818:15 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6407986Z 2026-10-24T19:50:29.6408044Z 818 Effect.flatMap((storedEvents) => 2026-10-24T19:50:29.6408089Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6408091Z 2026-10-24T19:50:29.6408345Z src/orchestration-v2/ProviderSessionManager.test.ts:1155:19 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6408349Z 2026-10-24T19:50:29.6408472Z 1155 : Effect.succeed(Option.some(makeBrowserAccessProject(requestedProjectId))), 2026-10-24T19:50:29.6408520Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6408522Z 2026-10-24T19:50:29.6408781Z src/orchestration-v2/ProviderTurnStartService.test.ts:150:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6408785Z 2026-10-24T19:50:29.6408831Z 150 Effect.succeed( 2026-10-24T19:50:29.6408920Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6408923Z 2026-10-24T19:50:29.6409174Z src/orchestration-v2/ProviderTurnStartService.test.ts:703:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6409176Z 2026-10-24T19:50:29.6409352Z 703 Effect.succeed(Option.some({ workspaceRoot: "/tmp/native-account-project" } as never)), 2026-10-24T19:50:29.6409395Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6409397Z 2026-10-24T19:50:29.6409654Z src/orchestration-v2/ProviderTurnStartService.testkit.ts:14:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6409657Z 2026-10-24T19:50:29.6409722Z 14 getById: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6409768Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6409771Z 2026-10-24T19:50:29.6410058Z src/orchestration-v2/ProviderTurnStartService.ts:205:39 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6410061Z 2026-10-24T19:50:29.6410139Z 205 Effect.catchCause(() => Effect.succeed(undefined)), 2026-10-24T19:50:29.6410201Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6410203Z 2026-10-24T19:50:29.6410575Z src/orchestration-v2/ProviderTurnStartService.ts:512:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6410578Z 2026-10-24T19:50:29.6410634Z 512 Effect.catchCause((cause) => 2026-10-24T19:50:29.6410680Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6410682Z 2026-10-24T19:50:29.6411084Z src/orchestration-v2/ProviderTurnStartService.ts:1302:7 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6411087Z 2026-10-24T19:50:29.6411150Z 1302 return runExecution.startRootRun({ 2026-10-24T19:50:29.6411192Z ~~~~~~ 2026-10-24T19:50:29.6411194Z 2026-10-24T19:50:29.6411447Z src/orchestration-v2/PullRequestWatchReactor.ts:478:53 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6411449Z 2026-10-24T19:50:29.6411548Z 478 ? pullRequests.activity(reference).pipe(Effect.map(Option.some)) 2026-10-24T19:50:29.6411607Z ~~~~~~~~~~ 2026-10-24T19:50:29.6411610Z 2026-10-24T19:50:29.6411962Z src/orchestration-v2/ResourceCleanupService.ts:49:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupScheduledTasks")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6411965Z 2026-10-24T19:50:29.6412035Z 49 cleanupScheduledTasks: (threadId: ThreadId) => 2026-10-24T19:50:29.6412078Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6412082Z 2026-10-24T19:50:29.6412419Z src/orchestration-v2/ResourceCleanupService.ts:58:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupTerminals")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6412421Z 2026-10-24T19:50:29.6412480Z 58 cleanupTerminals: (threadId: string) => 2026-10-24T19:50:29.6412525Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6412527Z 2026-10-24T19:50:29.6412905Z src/orchestration-v2/ResourceCleanupService.ts:66:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupPreviews")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6412908Z 2026-10-24T19:50:29.6412968Z 66 cleanupPreviews: (threadId: string) => 2026-10-24T19:50:29.6413011Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6413013Z 2026-10-24T19:50:29.6413426Z src/orchestration-v2/ResourceCleanupService.ts:74:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupAttachments")((attachmentIds) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6413484Z 2026-10-24T19:50:29.6413575Z 74 cleanupAttachments: (attachmentIds: ReadonlyArray) => 2026-10-24T19:50:29.6413621Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6413623Z 2026-10-24T19:50:29.6413879Z src/orchestration-v2/RunExecutionService.test.ts:1812:16 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T19:50:29.6413881Z 2026-10-24T19:50:29.6413941Z 1812 ).pipe(Effect.map(Option.some)), 2026-10-24T19:50:29.6413983Z ~~~~~~~~~~ 2026-10-24T19:50:29.6413985Z 2026-10-24T19:50:29.6414348Z src/orchestration-v2/RunExecutionService.ts:931:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6414353Z 2026-10-24T19:50:29.6414409Z 931 Effect.catchCause((cause) => 2026-10-24T19:50:29.6414455Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6414457Z 2026-10-24T19:50:29.6414687Z src/orchestration-v2/RuntimePolicy.test.ts:90:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6414692Z 2026-10-24T19:50:29.6414737Z 90 Effect.succeed( 2026-10-24T19:50:29.6414781Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6414783Z 2026-10-24T19:50:29.6415076Z src/orchestration-v2/RuntimePolicy.ts:54:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RuntimePolicyV2.resolve")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6415079Z 2026-10-24T19:50:29.6415125Z 54 resolve: (input) => 2026-10-24T19:50:29.6415166Z ~~~~~~~ 2026-10-24T19:50:29.6415168Z 2026-10-24T19:50:29.6415419Z src/orchestration-v2/RuntimeRequestService.test.ts:29:7 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6415421Z 2026-10-24T19:50:29.6415465Z 29 Effect.succeed( 2026-10-24T19:50:29.6415509Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6415511Z 2026-10-24T19:50:29.6415757Z src/orchestration-v2/ThreadLaunchService.test.ts:189:33 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6415759Z 2026-10-24T19:50:29.6415850Z 189 getByWorkspaceRoot: () => Effect.succeed(Option.some(project)), 2026-10-24T19:50:29.6415902Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6415905Z 2026-10-24T19:50:29.6416145Z src/orchestration-v2/ThreadLaunchService.test.ts:220:32 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6416149Z 2026-10-24T19:50:29.6416230Z 220 folderForThread: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6416279Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6416283Z 2026-10-24T19:50:29.6416600Z src/orchestration-v2/ThreadLifecycleService.ts:91:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.archive")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6416602Z 2026-10-24T19:50:29.6416648Z 91 archive: (input) => 2026-10-24T19:50:29.6416689Z ~~~~~~~ 2026-10-24T19:50:29.6416691Z 2026-10-24T19:50:29.6417062Z src/orchestration-v2/ThreadLifecycleService.ts:97:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.unarchive")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6417065Z 2026-10-24T19:50:29.6417140Z 97 unarchive: (input) => 2026-10-24T19:50:29.6417182Z ~~~~~~~~~ 2026-10-24T19:50:29.6417184Z 2026-10-24T19:50:29.6417496Z src/orchestration-v2/ThreadLifecycleService.ts:103:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.delete")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6417498Z 2026-10-24T19:50:29.6417542Z 103 delete: (input) => 2026-10-24T19:50:29.6417582Z ~~~~~~ 2026-10-24T19:50:29.6417584Z 2026-10-24T19:50:29.6417917Z src/orchestration-v2/ThreadLifecycleService.ts:109:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.updateMetadata")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6417919Z 2026-10-24T19:50:29.6417970Z 109 updateMetadata: (input) => 2026-10-24T19:50:29.6418010Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6418013Z 2026-10-24T19:50:29.6418342Z src/orchestration-v2/ThreadLifecycleService.ts:118:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.setRuntimeMode")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6418346Z 2026-10-24T19:50:29.6418395Z 118 setRuntimeMode: (input) => 2026-10-24T19:50:29.6418433Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6418435Z 2026-10-24T19:50:29.6418775Z src/orchestration-v2/ThreadLifecycleService.ts:125:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.setInteractionMode")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6418777Z 2026-10-24T19:50:29.6418835Z 125 setInteractionMode: (input) => 2026-10-24T19:50:29.6418877Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6418879Z 2026-10-24T19:50:29.6419215Z src/orchestration-v2/ThreadLifecycleService.ts:132:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.setModelSelection")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6419219Z 2026-10-24T19:50:29.6419270Z 132 setModelSelection: (input) => 2026-10-24T19:50:29.6419313Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6419315Z 2026-10-24T19:50:29.6419680Z src/orchestration-v2/ThreadManagementService.ts:689:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6419682Z 2026-10-24T19:50:29.6419736Z 689 Effect.flatMap((projection) => 2026-10-24T19:50:29.6419781Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6419786Z 2026-10-24T19:50:29.6420057Z src/orchestration-v2/ThreadManagementService.ts:706:5 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T19:50:29.6420059Z 2026-10-24T19:50:29.6420128Z 706 ensureProjectionTranscript(input.threadId) 2026-10-24T19:50:29.6420181Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6420310Z 707 .pipe(Effect.andThen(orchestrator.getThreadRecords(input.threadId, fields, filter))) 2026-10-24T19:50:29.6420391Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6420432Z ... 2026-10-24T19:50:29.6420472Z 726 ), 2026-10-24T19:50:29.6420512Z ~~~~~~~~~~ 2026-10-24T19:50:29.6420549Z 727 ); 2026-10-24T19:50:29.6420591Z ~~~~~~~ 2026-10-24T19:50:29.6420593Z 2026-10-24T19:50:29.6421006Z src/orchestration-v2/ThreadManagementService.ts:717:9 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6421008Z 2026-10-24T19:50:29.6421065Z 717 Effect.flatMap((projection) => 2026-10-24T19:50:29.6421135Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6421137Z 2026-10-24T19:50:29.6421497Z src/orchestration-v2/ThreadManagementService.ts:1131:43 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6421499Z 2026-10-24T19:50:29.6421598Z 1131 if (failures[0] !== undefined) return yield* Effect.fail(failures[0]); 2026-10-24T19:50:29.6421652Z ~~~~~ 2026-10-24T19:50:29.6421655Z 2026-10-24T19:50:29.6421992Z src/orchestration-v2/ThreadManagementService.ts:1142:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6421995Z 2026-10-24T19:50:29.6422043Z 1142 searchThread: (input) => 2026-10-24T19:50:29.6422086Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6422090Z 2026-10-24T19:50:29.6422508Z src/orchestration-v2/ThreadManagementService.ts:1147:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6422510Z 2026-10-24T19:50:29.6422624Z 1147 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-24T19:50:29.6422667Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6422669Z 2026-10-24T19:50:29.6423171Z src/orchestration-v2/ThreadManagementService.ts:1153:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6423209Z 2026-10-24T19:50:29.6423333Z 1153 getTimelinePage: (threadId, options) => 2026-10-24T19:50:29.6423391Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6423395Z 2026-10-24T19:50:29.6423783Z src/orchestration-v2/ThreadManagementService.ts:1157:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6423786Z 2026-10-24T19:50:29.6423843Z 1157 getMessageCount: (threadId) => 2026-10-24T19:50:29.6423885Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6423887Z 2026-10-24T19:50:29.6424232Z src/orchestration-v2/ThreadManagementService.ts:1161:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6424235Z 2026-10-24T19:50:29.6424289Z 1161 getTurnItem: (input) => 2026-10-24T19:50:29.6424332Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6424334Z 2026-10-24T19:50:29.6424710Z src/orchestration-v2/ThreadManagementService.ts:1166:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6424714Z 2026-10-24T19:50:29.6424787Z 1166 getThreadRecords: (threadId, fields, filter) => 2026-10-24T19:50:29.6424834Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6424836Z 2026-10-24T19:50:29.6425377Z src/orchestration-v2/ThreadManagementService.ts:1206:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("LegacyV1ThreadImporter.LegacyV1ThreadImporter.ensureTranscript")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6425380Z 2026-10-24T19:50:29.6425519Z 1206 ensureTranscript: () => Effect.succeed({ importedThreadCount: 0, importedMessageCount: 0 }), 2026-10-24T19:50:29.6425561Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6425564Z 2026-10-24T19:50:29.6425830Z src/orchestration-v2/ThreadPullRequestService.test.ts:119:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6425897Z 2026-10-24T19:50:29.6425979Z 119 getShell: () => Effect.succeed(Option.some(project)), 2026-10-24T19:50:29.6426030Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6426032Z 2026-10-24T19:50:29.6426290Z src/orchestration-v2/ThreadPullRequestService.test.ts:238:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6426293Z 2026-10-24T19:50:29.6426375Z 238 getShell: () => Effect.succeed(Option.some(project)), 2026-10-24T19:50:29.6426426Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6426428Z 2026-10-24T19:50:29.6426806Z src/orchestration-v2/ThreadPullRequestService.ts:326:17 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6426810Z 2026-10-24T19:50:29.6426868Z 326 Effect.catchCause((cause) => 2026-10-24T19:50:29.6426917Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6426919Z 2026-10-24T19:50:29.6427292Z src/orchestration-v2/ThreadSettlementService.ts:342:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6427295Z 2026-10-24T19:50:29.6427349Z 342 Effect.catchCause((cause) => 2026-10-24T19:50:29.6427397Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6427399Z 2026-10-24T19:50:29.6427765Z src/orchestration-v2/ThreadSettlementService.ts:505:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6427768Z 2026-10-24T19:50:29.6427824Z 505 Effect.catchCause((cause) => 2026-10-24T19:50:29.6427868Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6427871Z 2026-10-24T19:50:29.6428231Z src/orchestration-v2/ThreadSettlementService.ts:523:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6428236Z 2026-10-24T19:50:29.6428288Z 523 Effect.catchCause((cause) => 2026-10-24T19:50:29.6428334Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6428338Z 2026-10-24T19:50:29.6428702Z src/orchestration-v2/ThreadSettlementService.ts:565:9 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6428706Z 2026-10-24T19:50:29.6428759Z 565 Effect.catchCause((cause) => 2026-10-24T19:50:29.6428803Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6428805Z 2026-10-24T19:50:29.6429150Z src/orchestration-v2/TurnItemPositionStore.ts:106:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TurnItemPositionStoreV2.normalize")((item, runOrdinal) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6429152Z 2026-10-24T19:50:29.6429205Z 106 normalize: (item, runOrdinal) => 2026-10-24T19:50:29.6429248Z ~~~~~~~~~ 2026-10-24T19:50:29.6429250Z 2026-10-24T19:50:29.6429685Z src/orchestration-v2/http.test.ts:54:23 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6429688Z 2026-10-24T19:50:29.6429785Z 54 const thread = Schema.decodeUnknownSync(OrchestrationV2AppThread)({ 2026-10-24T19:50:29.6429878Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6429880Z 2026-10-24T19:50:29.6430242Z src/orchestration-v2/http.ts:231:11 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T19:50:29.6430244Z 2026-10-24T19:50:29.6430286Z 231 try { 2026-10-24T19:50:29.6430326Z ~~~~~ 2026-10-24T19:50:29.6430406Z 232 decodeThreadHistoryCursor(args.query.cursor); 2026-10-24T19:50:29.6430473Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6430513Z ... 2026-10-24T19:50:29.6430644Z 236 return yield* failEnvironmentInternal("orchestration_thread_history_failed", cause); 2026-10-24T19:50:29.6430730Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6430776Z 237 } 2026-10-24T19:50:29.6430817Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6430819Z 2026-10-24T19:50:29.6431059Z src/orchestration-v2/runtimeLayer.test.ts:120:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6431062Z 2026-10-24T19:50:29.6431127Z 120 getById: () => Effect.succeed(Option.none()), 2026-10-24T19:50:29.6431176Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6431178Z 2026-10-24T19:50:29.6431416Z src/orchestration-v2/runtimeLayer.test.ts:997:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6431419Z 2026-10-24T19:50:29.6431468Z 997 Effect.succeed( 2026-10-24T19:50:29.6431512Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6431514Z 2026-10-24T19:50:29.6431868Z src/orchestration-v2/testkit/CommandOutputRecorder.ts:40:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CommandOutputHub.CommandOutputHub.append")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6431872Z 2026-10-24T19:50:29.6431920Z 40 append: (input) => 2026-10-24T19:50:29.6431961Z ~~~~~~ 2026-10-24T19:50:29.6431963Z 2026-10-24T19:50:29.6432276Z src/orchestration-v2/testkit/OrchestratorScenario.ts:283:13 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("awaitDispatch")(function*(key) { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6432279Z 2026-10-24T19:50:29.6432339Z 283 const awaitDispatch = (key: string) => 2026-10-24T19:50:29.6432384Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6432387Z 2026-10-24T19:50:29.6432791Z src/orchestration-v2/testkit/ProviderReplayHarness.ts:447:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadTitleRegenerationService.ThreadTitleRegenerationService.execute")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6432795Z 2026-10-24T19:50:29.6432846Z 447 execute: () => Effect.void, 2026-10-24T19:50:29.6432887Z ~~~~~~~ 2026-10-24T19:50:29.6432889Z 2026-10-24T19:50:29.6433246Z src/persistence/PullRequestFilesViewed.ts:92:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.list")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6433250Z 2026-10-24T19:50:29.6433294Z 92 list: (input) => 2026-10-24T19:50:29.6433341Z ~~~~ 2026-10-24T19:50:29.6433343Z 2026-10-24T19:50:29.6433719Z src/persistence/PullRequestFilesViewed.ts:102:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.set")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6433721Z 2026-10-24T19:50:29.6433767Z 102 set: (input) => 2026-10-24T19:50:29.6433844Z ~~~ 2026-10-24T19:50:29.6433846Z 2026-10-24T19:50:29.6434166Z src/persistence/PullRequestReviewGuides.ts:54:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.get")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6434168Z 2026-10-24T19:50:29.6434212Z 54 get: (key) => 2026-10-24T19:50:29.6434251Z ~~~ 2026-10-24T19:50:29.6434253Z 2026-10-24T19:50:29.6434583Z src/persistence/PullRequestReviewGuides.ts:64:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.put")((key, guide) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6434585Z 2026-10-24T19:50:29.6434631Z 64 put: (key, guide) => 2026-10-24T19:50:29.6434672Z ~~~ 2026-10-24T19:50:29.6434674Z 2026-10-24T19:50:29.6435005Z src/persistence/initializeV2Database.ts:45:9 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6435009Z 2026-10-24T19:50:29.6435059Z 45 Effect.catch((error) => 2026-10-24T19:50:29.6435100Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6435103Z 2026-10-24T19:50:29.6435410Z src/preview/DesktopBrowserChannel.ts:75:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.awaitAttached")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6435412Z 2026-10-24T19:50:29.6435477Z 75 awaitAttached: () => Effect.succeed(false), 2026-10-24T19:50:29.6435521Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6435524Z 2026-10-24T19:50:29.6435822Z src/preview/DesktopBrowserChannel.ts:78:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.isAttached")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6435826Z 2026-10-24T19:50:29.6435884Z 78 isAttached: () => Effect.succeed(false), 2026-10-24T19:50:29.6435926Z ~~~~~~~~~~ 2026-10-24T19:50:29.6435928Z 2026-10-24T19:50:29.6436221Z src/preview/DesktopBrowserChannel.ts:79:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.endpoint")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6436223Z 2026-10-24T19:50:29.6436326Z 79 endpoint: () => Effect.die("No desktop app is attached to this server."), 2026-10-24T19:50:29.6436366Z ~~~~~~~~ 2026-10-24T19:50:29.6436368Z 2026-10-24T19:50:29.6436657Z src/preview/DesktopBrowserChannel.ts:80:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.pointer")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6436659Z 2026-10-24T19:50:29.6436712Z 80 pointer: () => Effect.void, 2026-10-24T19:50:29.6436754Z ~~~~~~~ 2026-10-24T19:50:29.6436758Z 2026-10-24T19:50:29.6437079Z src/preview/DesktopBrowserChannel.ts:194:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.awaitAttached")((key, timeout) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6437082Z 2026-10-24T19:50:29.6437134Z 194 awaitAttached: (key, timeout) => 2026-10-24T19:50:29.6437176Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6437178Z 2026-10-24T19:50:29.6437524Z src/preview/DesktopBrowserChannel.ts:216:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.isAttached")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6437527Z 2026-10-24T19:50:29.6437624Z 216 isAttached: (key) => Effect.sync(() => attachedTabs.has(keyOf(key))), 2026-10-24T19:50:29.6437666Z ~~~~~~~~~~ 2026-10-24T19:50:29.6437668Z 2026-10-24T19:50:29.6437980Z src/preview/DesktopBrowserChannel.ts:218:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.pointer")((key, pointer) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6438034Z 2026-10-24T19:50:29.6438136Z 218 pointer: (key, pointer) => command({ type: "pointer", ...key, ...pointer }), 2026-10-24T19:50:29.6438179Z ~~~~~~~ 2026-10-24T19:50:29.6438181Z 2026-10-24T19:50:29.6438625Z src/preview/ServerBrowser.ts:481:23 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6438628Z 2026-10-24T19:50:29.6438724Z 481 executable: () => Effect.runPromise(previewBrowser.executable), 2026-10-24T19:50:29.6438773Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6438775Z 2026-10-24T19:50:29.6439201Z src/preview/ServerBrowser.ts:688:9 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6439207Z 2026-10-24T19:50:29.6439257Z 688 ? Effect.runPromise( 2026-10-24T19:50:29.6439304Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6439306Z 2026-10-24T19:50:29.6439739Z src/preview/ServerBrowser.ts:697:25 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6439742Z 2026-10-24T19:50:29.6439818Z 697 const scope = await Effect.runPromise(Scope.make()); 2026-10-24T19:50:29.6439867Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6439871Z 2026-10-24T19:50:29.6440292Z src/preview/ServerBrowser.ts:699:30 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6440294Z 2026-10-24T19:50:29.6440359Z 699 const endpoint = await Effect.runPromise( 2026-10-24T19:50:29.6440411Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6440414Z 2026-10-24T19:50:29.6440838Z src/preview/ServerBrowser.ts:709:17 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6440840Z 2026-10-24T19:50:29.6440922Z 709 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-24T19:50:29.6440968Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6440970Z 2026-10-24T19:50:29.6441391Z src/preview/ServerBrowser.ts:713:13 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6441393Z 2026-10-24T19:50:29.6441474Z 713 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-24T19:50:29.6441525Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6441527Z 2026-10-24T19:50:29.6441990Z src/preview/ServerBrowser.ts:1200:11 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6442026Z 2026-10-24T19:50:29.6442075Z 1200 await Effect.runPromise( 2026-10-24T19:50:29.6442122Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6442124Z 2026-10-24T19:50:29.6442547Z src/preview/ServerBrowser.ts:1693:17 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6442550Z 2026-10-24T19:50:29.6442603Z 1693 : await Effect.runPromise( 2026-10-24T19:50:29.6442651Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6442654Z 2026-10-24T19:50:29.6443104Z src/preview/ServerBrowser.ts:1757:21 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6443111Z 2026-10-24T19:50:29.6443163Z 1757 ? await Effect.runPromise( 2026-10-24T19:50:29.6443210Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6443212Z 2026-10-24T19:50:29.6443469Z src/preview/ServerBrowser.ts:1760:58 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6443472Z 2026-10-24T19:50:29.6443573Z 1760 ServerBrowserTabNotFoundError: () => Effect.succeed(undefined), 2026-10-24T19:50:29.6443640Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6443642Z 2026-10-24T19:50:29.6444064Z src/preview/ServerBrowser.ts:1766:38 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6444068Z 2026-10-24T19:50:29.6444140Z 1766 const { sessions } = await Effect.runPromise( 2026-10-24T19:50:29.6444196Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6444199Z 2026-10-24T19:50:29.6444619Z src/preview/ServerBrowser.ts:1794:19 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6444623Z 2026-10-24T19:50:29.6444676Z 1794 await Effect.runPromise( 2026-10-24T19:50:29.6444719Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6444721Z 2026-10-24T19:50:29.6445147Z src/preview/ServerBrowser.ts:1825:21 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6445150Z 2026-10-24T19:50:29.6445203Z 1825 await Effect.runPromise( 2026-10-24T19:50:29.6445250Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6445252Z 2026-10-24T19:50:29.6445718Z src/preview/ServerBrowser.ts:1889:13 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6445721Z 2026-10-24T19:50:29.6445843Z 1889 await Effect.runPromise(manager.close({ threadId: tab.threadId, tabId: tab.tabId })); 2026-10-24T19:50:29.6445891Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6445893Z 2026-10-24T19:50:29.6446354Z src/preview/ServerBrowser.ts:1957:15 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6446356Z 2026-10-24T19:50:29.6446406Z 1957 await Effect.runPromise( 2026-10-24T19:50:29.6446452Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6446454Z 2026-10-24T19:50:29.6446870Z src/preview/ServerBrowser.ts:1969:32 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6446874Z 2026-10-24T19:50:29.6446939Z 1969 const snapshot = await Effect.runPromise( 2026-10-24T19:50:29.6446992Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6446996Z 2026-10-24T19:50:29.6447414Z src/preview/ServerBrowser.ts:2215:15 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T19:50:29.6447416Z 2026-10-24T19:50:29.6447466Z 2215 await Effect.runPromise( 2026-10-24T19:50:29.6447509Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6447511Z 2026-10-24T19:50:29.6447773Z src/preview/ServerBrowserStream.ts:179:13 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((chunk) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6447775Z 2026-10-24T19:50:29.6447847Z 179 const receive = (chunk: Uint8Array | string) => { 2026-10-24T19:50:29.6447889Z ~~~~~~~ 2026-10-24T19:50:29.6447893Z 2026-10-24T19:50:29.6448179Z src/preview/ServerBrowserStream.ts:209:5 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T19:50:29.6448181Z 2026-10-24T19:50:29.6448270Z 209 Effect.catch(() => Effect.succeed(HttpServerResponse.empty())), 2026-10-24T19:50:29.6448312Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6448314Z 2026-10-24T19:50:29.6448624Z src/process/externalLauncher.ts:860:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.resolveAvailableEditors")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6448626Z 2026-10-24T19:50:29.6448709Z 860 resolveAvailableEditors: () => cachedAvailableEditors, 2026-10-24T19:50:29.6448754Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6448756Z 2026-10-24T19:50:29.6449066Z src/process/externalLauncher.ts:861:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.resolveFileManagerRevealKind")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6449071Z 2026-10-24T19:50:29.6449129Z 861 resolveFileManagerRevealKind: () => 2026-10-24T19:50:29.6449174Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6449176Z 2026-10-24T19:50:29.6449469Z src/process/externalLauncher.ts:865:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.launchBrowser")((target) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6449471Z 2026-10-24T19:50:29.6449520Z 865 launchBrowser: (target) => 2026-10-24T19:50:29.6449598Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6449600Z 2026-10-24T19:50:29.6449887Z src/process/externalLauncher.ts:869:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.launchEditor")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6449928Z 2026-10-24T19:50:29.6449976Z 869 launchEditor: (input) => 2026-10-24T19:50:29.6450017Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6450019Z 2026-10-24T19:50:29.6450256Z src/project/AgentSessionImporter.test.ts:212:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6450259Z 2026-10-24T19:50:29.6450304Z 212 Effect.succeed( 2026-10-24T19:50:29.6450348Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6450350Z 2026-10-24T19:50:29.6450577Z src/project/ManagedProjectFolders.ts:346:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6450579Z 2026-10-24T19:50:29.6450661Z 346 ? Effect.succeed(Option.some(folderFor(id.slice(-8)))) 2026-10-24T19:50:29.6450704Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6450706Z 2026-10-24T19:50:29.6450928Z src/project/ManagedProjectFolders.ts:348:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6450932Z 2026-10-24T19:50:29.6450999Z 348 ? Effect.succeed(Option.some(fullFolder)) 2026-10-24T19:50:29.6451042Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6451044Z 2026-10-24T19:50:29.6451346Z src/project/ProjectCloneTracker.ts:432:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.start")((input, hooks) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6451348Z 2026-10-24T19:50:29.6451425Z 432 start: (input, hooks) => locked(start(input, hooks)), 2026-10-24T19:50:29.6451466Z ~~~~~ 2026-10-24T19:50:29.6451468Z 2026-10-24T19:50:29.6451766Z src/project/ProjectCloneTracker.ts:433:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.cancel")((projectId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6451770Z 2026-10-24T19:50:29.6451838Z 433 cancel: (projectId) => locked(cancel(projectId)), 2026-10-24T19:50:29.6451878Z ~~~~~~ 2026-10-24T19:50:29.6451880Z 2026-10-24T19:50:29.6452171Z src/project/ProjectCloneTracker.ts:434:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.retry")((projectId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6452173Z 2026-10-24T19:50:29.6452239Z 434 retry: (projectId) => locked(retry(projectId)), 2026-10-24T19:50:29.6452279Z ~~~~~ 2026-10-24T19:50:29.6452281Z 2026-10-24T19:50:29.6452577Z src/project/ProjectCloneTracker.ts:435:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.discard")((projectId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6452579Z 2026-10-24T19:50:29.6452650Z 435 discard: (projectId) => locked(discard(projectId)), 2026-10-24T19:50:29.6452690Z ~~~~~~~ 2026-10-24T19:50:29.6452692Z 2026-10-24T19:50:29.6453005Z src/provider/CodexChatGptHandoff.ts:21:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.get")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6453007Z 2026-10-24T19:50:29.6453111Z 21 get: (key) => Effect.sync(() => Option.fromUndefinedOr(bytes.get(key))), 2026-10-24T19:50:29.6453257Z ~~~ 2026-10-24T19:50:29.6453260Z 2026-10-24T19:50:29.6453649Z src/provider/CodexChatGptHandoff.ts:22:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.set")((key, value) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6453654Z 2026-10-24T19:50:29.6453700Z 22 set: (key, value) => 2026-10-24T19:50:29.6453741Z ~~~ 2026-10-24T19:50:29.6453743Z 2026-10-24T19:50:29.6454110Z src/provider/CodexChatGptHandoff.ts:26:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.remove")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6454112Z 2026-10-24T19:50:29.6454159Z 26 remove: (key) => 2026-10-24T19:50:29.6454198Z ~~~~~~ 2026-10-24T19:50:29.6454200Z 2026-10-24T19:50:29.6454508Z src/provider/CodexChatGptHandoff.ts:30:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.create")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6454510Z 2026-10-24T19:50:29.6454607Z 30 create: () => Effect.die("Handoff does not create persistent secrets."), 2026-10-24T19:50:29.6454647Z ~~~~~~ 2026-10-24T19:50:29.6454649Z 2026-10-24T19:50:29.6454979Z src/provider/CodexChatGptHandoff.ts:31:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.getOrCreateRandom")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6454984Z 2026-10-24T19:50:29.6455106Z 31 getOrCreateRandom: () => Effect.die("Handoff uses the destination environment identity."), 2026-10-24T19:50:29.6455152Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6455154Z 2026-10-24T19:50:29.6455549Z src/provider/CodexInstallation.ts:205:26 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-10-24T19:50:29.6455552Z 2026-10-24T19:50:29.6455658Z 205 return yield* Schema.decodeUnknownEffect(Schema.fromJsonString(schema))( 2026-10-24T19:50:29.6455710Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6455712Z 2026-10-24T19:50:29.6455968Z src/provider/CodexProvider.ts:569:11 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6455973Z 2026-10-24T19:50:29.6456023Z 569 ? Effect.succeed(undefined) 2026-10-24T19:50:29.6456068Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6456071Z 2026-10-24T19:50:29.6456370Z src/provider/ModelManifest.ts:284:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ModelCatalog.ModelCatalog.current")((driverKind) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6456373Z 2026-10-24T19:50:29.6456422Z 284 current: (driverKind) => 2026-10-24T19:50:29.6456461Z ~~~~~~~ 2026-10-24T19:50:29.6456463Z 2026-10-24T19:50:29.6456801Z src/provider/ProviderAuthService.test.ts:284:24 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6456806Z 2026-10-24T19:50:29.6456863Z 284 return yield* Effect.fail( 2026-10-24T19:50:29.6456907Z ~~~~~ 2026-10-24T19:50:29.6456909Z 2026-10-24T19:50:29.6457214Z src/provider/ProviderAuthService.ts:211:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAuthService.importProfile")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6457217Z 2026-10-24T19:50:29.6457265Z 211 importProfile: (input) => 2026-10-24T19:50:29.6457308Z ~~~~~~~~~~~~~ 2026-10-24T19:50:29.6457310Z 2026-10-24T19:50:29.6457677Z src/provider/ProviderHostLive.ts:39:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderHost.ProviderHost.credentials")((namespace, bindingId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6457679Z 2026-10-24T19:50:29.6457739Z 39 credentials: (namespace, bindingId) => 2026-10-24T19:50:29.6457824Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6457826Z 2026-10-24T19:50:29.6458176Z src/pullRequest/PullRequestService.ts:2984:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6458178Z 2026-10-24T19:50:29.6458229Z 2984 Effect.catchCause((cause) => 2026-10-24T19:50:29.6458273Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6458275Z 2026-10-24T19:50:29.6458625Z src/pullRequest/PullRequestService.ts:3387:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6458627Z 2026-10-24T19:50:29.6458679Z 3387 Effect.catchCause((cause) => 2026-10-24T19:50:29.6458720Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6458722Z 2026-10-24T19:50:29.6459035Z src/pullRequest/PullRequestService.ts:3607:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestService.listStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6459037Z 2026-10-24T19:50:29.6459087Z 3607 listStats: (input) => 2026-10-24T19:50:29.6459129Z ~~~~~~~~~ 2026-10-24T19:50:29.6459131Z 2026-10-24T19:50:29.6459357Z src/relay/AgentAwarenessRelay.test.ts:271:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T19:50:29.6459361Z 2026-10-24T19:50:29.6459406Z 271 Effect.succeed( 2026-10-24T19:50:29.6459452Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6459455Z 2026-10-24T19:50:29.6459751Z src/relay/AgentAwarenessRelay.ts:822:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AgentAwarenessRelay.requestCatchUp")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6459755Z 2026-10-24T19:50:29.6459874Z 822 requestCatchUp: () => Queue.offer(catchUpRequests, undefined).pipe(Effect.asVoid), 2026-10-24T19:50:29.6459913Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6459916Z 2026-10-24T19:50:29.6460282Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:641:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.requestDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6460285Z 2026-10-24T19:50:29.6460343Z 641 requestDesktopUpdate: (requestId) => 2026-10-24T19:50:29.6460386Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6460388Z 2026-10-24T19:50:29.6460747Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:647:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.commitDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6460749Z 2026-10-24T19:50:29.6460805Z 647 commitDesktopUpdate: (requestId) => 2026-10-24T19:50:29.6460849Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6460851Z 2026-10-24T19:50:29.6461208Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:649:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.cancelDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6461210Z 2026-10-24T19:50:29.6461264Z 649 cancelDesktopUpdate: (requestId) => 2026-10-24T19:50:29.6461306Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6461308Z 2026-10-24T19:50:29.6461688Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:698:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.setDiagnosticsDemand")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6461693Z 2026-10-24T19:50:29.6461754Z 698 setDiagnosticsDemand: () => Effect.void, 2026-10-24T19:50:29.6461841Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6461843Z 2026-10-24T19:50:29.6462185Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:699:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.requestDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6462187Z 2026-10-24T19:50:29.6462253Z 699 requestDesktopUpdate: () => Effect.void, 2026-10-24T19:50:29.6462296Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6462298Z 2026-10-24T19:50:29.6462643Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:700:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.commitDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6462645Z 2026-10-24T19:50:29.6465463Z 700 commitDesktopUpdate: () => Effect.void, 2026-10-24T19:50:29.6465515Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6465517Z 2026-10-24T19:50:29.6465869Z src/resourceTelemetry/DesktopTelemetryReceiver.ts:701:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.cancelDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6465872Z 2026-10-24T19:50:29.6465931Z 701 cancelDesktopUpdate: () => Effect.void, 2026-10-24T19:50:29.6465974Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6465976Z 2026-10-24T19:50:29.6466297Z src/resourceTelemetry/NativeTelemetryClient.ts:1091:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.readHistory")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6466300Z 2026-10-24T19:50:29.6466344Z 1091 readHistory: () => 2026-10-24T19:50:29.6466383Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6466386Z 2026-10-24T19:50:29.6466719Z src/resourceTelemetry/NativeTelemetryClient.ts:1097:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.setExternalProcesses")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6466723Z 2026-10-24T19:50:29.6466783Z 1097 setExternalProcesses: () => Effect.void, 2026-10-24T19:50:29.6466826Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6466828Z 2026-10-24T19:50:29.6467155Z src/resourceTelemetry/NativeTelemetryClient.ts:1098:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.setHostPowerState")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6467157Z 2026-10-24T19:50:29.6467216Z 1098 setHostPowerState: () => Effect.void, 2026-10-24T19:50:29.6467258Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6467260Z 2026-10-24T19:50:29.6467545Z src/scheduledTasks/ScheduledTaskService.ts:1136:31 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6467549Z 2026-10-24T19:50:29.6467617Z 1136 ? Effect.succeed(undefined) 2026-10-24T19:50:29.6467673Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6467675Z 2026-10-24T19:50:29.6467940Z src/secrets/SecretRequests.test.ts:166:30 - suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-10-24T19:50:29.6467944Z 2026-10-24T19:50:29.6467998Z 166 const results = yield* Effect.all( 2026-10-24T19:50:29.6468043Z ~~~~~~~~~~ 2026-10-24T19:50:29.6468046Z 2026-10-24T19:50:29.6468456Z src/server.ts:481:5 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6468459Z 2026-10-24T19:50:29.6468544Z 481 return Effect.gen(function* () { 2026-10-24T19:50:29.6468583Z ~~~~~~ 2026-10-24T19:50:29.6468585Z 2026-10-24T19:50:29.6468848Z src/serverRuntimeStartup.test.ts:209:25 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6468850Z 2026-10-24T19:50:29.6468916Z 209 prepareTrial: Effect.succeed(undefined), 2026-10-24T19:50:29.6468970Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6468972Z 2026-10-24T19:50:29.6469225Z src/serverSettings.test.ts:413:30 - suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-10-24T19:50:29.6469227Z 2026-10-24T19:50:29.6469280Z 413 const results = yield* Effect.all( 2026-10-24T19:50:29.6469326Z ~~~~~~~~~~ 2026-10-24T19:50:29.6469328Z 2026-10-24T19:50:29.6469723Z src/sourceControl/SourceControlProviderRegistry.ts:204:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6469725Z 2026-10-24T19:50:29.6469779Z 204 listChangeRequests: (input) => 2026-10-24T19:50:29.6469824Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6469826Z 2026-10-24T19:50:29.6470210Z src/sourceControl/SourceControlProviderRegistry.ts:209:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6470215Z 2026-10-24T19:50:29.6470265Z 209 getChangeRequest: (input) => 2026-10-24T19:50:29.6470307Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6470309Z 2026-10-24T19:50:29.6470700Z src/sourceControl/SourceControlProviderRegistry.ts:214:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6470703Z 2026-10-24T19:50:29.6470756Z 214 createChangeRequest: (input) => 2026-10-24T19:50:29.6470798Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6470800Z 2026-10-24T19:50:29.6471191Z src/sourceControl/SourceControlProviderRegistry.ts:219:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6471195Z 2026-10-24T19:50:29.6471250Z 219 getRepositoryCloneUrls: (input) => 2026-10-24T19:50:29.6471294Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6471296Z 2026-10-24T19:50:29.6471679Z src/sourceControl/SourceControlProviderRegistry.ts:224:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6471684Z 2026-10-24T19:50:29.6471776Z 224 createRepository: (input) => provider.createRepository(input), 2026-10-24T19:50:29.6471819Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6471821Z 2026-10-24T19:50:29.6472201Z src/sourceControl/SourceControlProviderRegistry.ts:225:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6472254Z 2026-10-24T19:50:29.6472303Z 225 getDefaultBranch: (input) => 2026-10-24T19:50:29.6472344Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6472346Z 2026-10-24T19:50:29.6472732Z src/sourceControl/SourceControlProviderRegistry.ts:230:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6472778Z 2026-10-24T19:50:29.6472831Z 230 checkoutChangeRequest: (input) => 2026-10-24T19:50:29.6472875Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6472877Z 2026-10-24T19:50:29.6473262Z src/sourceControl/SourceControlProviderRegistry.ts:345:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProviderRegistry.resolve")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6473264Z 2026-10-24T19:50:29.6473393Z 345 resolve: (input) => resolveHandle(input).pipe(Effect.map((handle) => handle.provider)), 2026-10-24T19:50:29.6473432Z ~~~~~~~ 2026-10-24T19:50:29.6473434Z 2026-10-24T19:50:29.6473784Z src/sourceControl/SourceControlRepositoryService.ts:406:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T19:50:29.6473788Z 2026-10-24T19:50:29.6473838Z 406 Effect.catch((sshError) => 2026-10-24T19:50:29.6473880Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6473882Z 2026-10-24T19:50:29.6474250Z src/sourceControl/SourceControlRepositoryService.ts:553:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.lookupRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6474252Z 2026-10-24T19:50:29.6474300Z 553 lookupRepository: (input) => 2026-10-24T19:50:29.6474343Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6474347Z 2026-10-24T19:50:29.6474701Z src/sourceControl/SourceControlRepositoryService.ts:555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.prepareClone")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6474706Z 2026-10-24T19:50:29.6474756Z 555 prepareClone: (input) => 2026-10-24T19:50:29.6474796Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6474798Z 2026-10-24T19:50:29.6475165Z src/sourceControl/SourceControlRepositoryService.ts:562:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.cloneRepository")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6475167Z 2026-10-24T19:50:29.6475223Z 562 cloneRepository: (input, options) => 2026-10-24T19:50:29.6475265Z ~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6475267Z 2026-10-24T19:50:29.6475635Z src/sourceControl/SourceControlRepositoryService.ts:569:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.discardClone")((destinationPath) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6475637Z 2026-10-24T19:50:29.6475693Z 569 discardClone: (destinationPath) => 2026-10-24T19:50:29.6475734Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6475736Z 2026-10-24T19:50:29.6476096Z src/sourceControl/SourceControlRepositoryService.ts:573:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.publishRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6476099Z 2026-10-24T19:50:29.6476151Z 573 publishRepository: (input) => 2026-10-24T19:50:29.6476194Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6476196Z 2026-10-24T19:50:29.6476544Z src/storageCleanup.ts:708:14 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6476547Z 2026-10-24T19:50:29.6476594Z 708 return yield* Effect.fail( 2026-10-24T19:50:29.6476634Z ~~~~~ 2026-10-24T19:50:29.6476636Z 2026-10-24T19:50:29.6476953Z src/telemetry/AnalyticsService.ts:113:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AnalyticsService.record")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6476955Z 2026-10-24T19:50:29.6477002Z 113 record: () => Effect.void, 2026-10-24T19:50:29.6477041Z ~~~~~~ 2026-10-24T19:50:29.6477046Z 2026-10-24T19:50:29.6477331Z src/telemetry/AnalyticsService.ts:115:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AnalyticsService.recordOwners")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6477333Z 2026-10-24T19:50:29.6477387Z 115 recordOwners: () => Effect.void, 2026-10-24T19:50:29.6477427Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6477429Z 2026-10-24T19:50:29.6477721Z src/telemetry/AnalyticsService.ts:329:62 - suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-10-24T19:50:29.6477725Z 2026-10-24T19:50:29.6477864Z 329 yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.flatMap(() => flushWhenDue)), { 2026-10-24T19:50:29.6477932Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6477934Z 2026-10-24T19:50:29.6478201Z src/textGeneration/CodexTextGeneration.ts:90:13 - suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-10-24T19:50:29.6478204Z 2026-10-24T19:50:29.6478263Z 90 .pipe(Effect.catch(() => Effect.void)); 2026-10-24T19:50:29.6478308Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6478310Z 2026-10-24T19:50:29.6478623Z src/textGeneration/TextGeneration.ts:60:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateCommitMessage")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6478628Z 2026-10-24T19:50:29.6478681Z 60 generateCommitMessage: (input) => 2026-10-24T19:50:29.6478724Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6478726Z 2026-10-24T19:50:29.6479027Z src/textGeneration/TextGeneration.ts:64:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generatePrContent")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6479029Z 2026-10-24T19:50:29.6479078Z 64 generatePrContent: (input) => 2026-10-24T19:50:29.6479119Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6479121Z 2026-10-24T19:50:29.6479428Z src/textGeneration/TextGeneration.ts:68:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateBranchName")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6479430Z 2026-10-24T19:50:29.6479482Z 68 generateBranchName: (input) => 2026-10-24T19:50:29.6479525Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6479529Z 2026-10-24T19:50:29.6479835Z src/textGeneration/TextGeneration.ts:72:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateReviewGuide")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6479837Z 2026-10-24T19:50:29.6479889Z 72 generateReviewGuide: (input) => 2026-10-24T19:50:29.6479934Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6479936Z 2026-10-24T19:50:29.6480279Z src/textGeneration/TextGeneration.ts:76:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateThreadTitle")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6480282Z 2026-10-24T19:50:29.6480334Z 76 generateThreadTitle: (input) => 2026-10-24T19:50:29.6480376Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6480379Z 2026-10-24T19:50:29.6480653Z src/usage/UsageService.ts:172:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("UsageService.readSummary")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6480694Z 2026-10-24T19:50:29.6480744Z 172 readSummary: (input) => 2026-10-24T19:50:29.6480787Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6480789Z 2026-10-24T19:50:29.6481028Z src/usage/UsageService.ts:642:9 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T19:50:29.6481030Z 2026-10-24T19:50:29.6481084Z 642 usageInstances(driver, settings) 2026-10-24T19:50:29.6481134Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6481178Z 643 .pipe( 2026-10-24T19:50:29.6481218Z ~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6481256Z ... 2026-10-24T19:50:29.6481323Z 664 Effect.provideContext(readerContext), 2026-10-24T19:50:29.6481379Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6481420Z 665 ), 2026-10-24T19:50:29.6481461Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6481463Z 2026-10-24T19:50:29.6481795Z src/vcs/GitVcsDriverCore.ts:4020:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T19:50:29.6481798Z 2026-10-24T19:50:29.6481850Z 4020 Effect.flatMap((result) => 2026-10-24T19:50:29.6481894Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6481896Z 2026-10-24T19:50:29.6482216Z src/vcs/GitVcsDriverCore.ts:4511:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.commit")((cwd, subject, body, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6482218Z 2026-10-24T19:50:29.6482277Z 4511 commit: (cwd, subject, body, options) => 2026-10-24T19:50:29.6482318Z ~~~~~~ 2026-10-24T19:50:29.6482320Z 2026-10-24T19:50:29.6482668Z src/vcs/GitVcsDriverCore.ts:4513:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pushCurrentBranch")((cwd, fallbackBranch, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6482672Z 2026-10-24T19:50:29.6482754Z 4513 pushCurrentBranch: (cwd, fallbackBranch, options) => 2026-10-24T19:50:29.6482795Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6482801Z 2026-10-24T19:50:29.6483146Z src/vcs/GitVcsDriverCore.ts:4515:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6483150Z 2026-10-24T19:50:29.6483275Z 4515 pullCurrentBranch: (cwd) => withListRefsInvalidation(cwd, pullCurrentBranch(cwd)), 2026-10-24T19:50:29.6483317Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6483320Z 2026-10-24T19:50:29.6483639Z src/vcs/GitVcsDriverCore.ts:4523:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6483644Z 2026-10-24T19:50:29.6483700Z 4523 createWorktree: (input, options) => 2026-10-24T19:50:29.6483740Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6483742Z 2026-10-24T19:50:29.6484056Z src/vcs/GitVcsDriverCore.ts:4525:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRefIntoBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6484058Z 2026-10-24T19:50:29.6484242Z 4525 fetchRefIntoBranch: (input) => withListRefsInvalidation(input.cwd, fetchRefIntoBranch(input)), 2026-10-24T19:50:29.6484286Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6484288Z 2026-10-24T19:50:29.6484605Z src/vcs/GitVcsDriverCore.ts:4528:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.refreshCheckedOutBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6484660Z 2026-10-24T19:50:29.6484716Z 4528 refreshCheckedOutBranch: (input) => 2026-10-24T19:50:29.6484763Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6484765Z 2026-10-24T19:50:29.6485066Z src/vcs/GitVcsDriverCore.ts:4530:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.ensureRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6485068Z 2026-10-24T19:50:29.6485186Z 4530 ensureRemote: (input) => withListRefsInvalidation(input.cwd, ensureRemote(input)), 2026-10-24T19:50:29.6485228Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6485232Z 2026-10-24T19:50:29.6485531Z src/vcs/GitVcsDriverCore.ts:4533:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6485534Z 2026-10-24T19:50:29.6485588Z 4533 fetchRemote: (input) => 2026-10-24T19:50:29.6485629Z ~~~~~~~~~~~ 2026-10-24T19:50:29.6485631Z 2026-10-24T19:50:29.6485952Z src/vcs/GitVcsDriverCore.ts:4548:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6485954Z 2026-10-24T19:50:29.6486008Z 4548 fetchWorktreeBaseCommit: (input) => 2026-10-24T19:50:29.6486052Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6486054Z 2026-10-24T19:50:29.6486364Z src/vcs/GitVcsDriverCore.ts:4550:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6486366Z 2026-10-24T19:50:29.6486501Z 4550 fetchRemoteBranch: (input) => withListRefsInvalidation(input.cwd, fetchRemoteBranch(input)), 2026-10-24T19:50:29.6486546Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6486548Z 2026-10-24T19:50:29.6486876Z src/vcs/GitVcsDriverCore.ts:4551:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteTrackingBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6486880Z 2026-10-24T19:50:29.6486939Z 4551 fetchRemoteTrackingBranch: (input) => 2026-10-24T19:50:29.6486985Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6486988Z 2026-10-24T19:50:29.6487300Z src/vcs/GitVcsDriverCore.ts:4553:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.setBranchUpstream")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6487302Z 2026-10-24T19:50:29.6487435Z 4553 setBranchUpstream: (input) => withListRefsInvalidation(input.cwd, setBranchUpstream(input)), 2026-10-24T19:50:29.6487478Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6487480Z 2026-10-24T19:50:29.6487786Z src/vcs/GitVcsDriverCore.ts:4554:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6487788Z 2026-10-24T19:50:29.6487914Z 4554 removeWorktree: (input) => withListRefsInvalidation(input.cwd, removeWorktree(input)), 2026-10-24T19:50:29.6487956Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6487958Z 2026-10-24T19:50:29.6488305Z src/vcs/GitVcsDriverCore.ts:4555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6488308Z 2026-10-24T19:50:29.6488431Z 4555 pruneWorktrees: (input) => withListRefsInvalidation(input.cwd, pruneWorktrees(input)), 2026-10-24T19:50:29.6488473Z ~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6488514Z 2026-10-24T19:50:29.6488823Z src/vcs/GitVcsDriverCore.ts:4556:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6488826Z 2026-10-24T19:50:29.6488957Z 4556 deleteLocalBranch: (input) => withListRefsInvalidation(input.cwd, deleteLocalBranch(input)), 2026-10-24T19:50:29.6489000Z ~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6489002Z 2026-10-24T19:50:29.6489305Z src/vcs/GitVcsDriverCore.ts:4557:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6489309Z 2026-10-24T19:50:29.6489426Z 4557 renameBranch: (input) => withListRefsInvalidation(input.cwd, renameBranch(input)), 2026-10-24T19:50:29.6489467Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6489471Z 2026-10-24T19:50:29.6489770Z src/vcs/GitVcsDriverCore.ts:4558:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6489772Z 2026-10-24T19:50:29.6489881Z 4558 createRef: (input) => withListRefsInvalidation(input.cwd, createRef(input)), 2026-10-24T19:50:29.6489920Z ~~~~~~~~~ 2026-10-24T19:50:29.6489922Z 2026-10-24T19:50:29.6490223Z src/vcs/GitVcsDriverCore.ts:4559:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T19:50:29.6490225Z 2026-10-24T19:50:29.6490329Z 4559 switchRef: (input) => withListRefsInvalidation(input.cwd, switchRef(input)), 2026-10-24T19:50:29.6490370Z ~~~~~~~~~ 2026-10-24T19:50:29.6490373Z 2026-10-24T19:50:29.6490747Z src/vcs/VcsStatusBroadcaster.ts:153:5 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T19:50:29.6490751Z 2026-10-24T19:50:29.6490815Z 153 return serverSettings.getSettings.pipe( 2026-10-24T19:50:29.6490854Z ~~~~~~ 2026-10-24T19:50:29.6490856Z 2026-10-24T19:50:29.6491153Z src/workspace/WorkspaceFileSystem.ts:171:15 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T19:50:29.6491155Z 2026-10-24T19:50:29.6491238Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-24T19:50:29.6491284Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6491286Z 2026-10-24T19:50:29.6491553Z src/workspace/WorkspaceFileSystem.ts:171:34 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6491557Z 2026-10-24T19:50:29.6491634Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-24T19:50:29.6491694Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6491697Z 2026-10-24T19:50:29.6491930Z src/ws.test.ts:401:47 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T19:50:29.6491932Z 2026-10-24T19:50:29.6492031Z 401 resolveFileManagerRevealKind: () => Effect.succeed(undefined), 2026-10-24T19:50:29.6492130Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T19:50:29.6492133Z 2026-10-24T19:50:29.6492406Z src/ws.ts:1385:23 - suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-10-24T19:50:29.6492450Z 2026-10-24T19:50:29.6492512Z 1385 return yield* Option.match(project, { 2026-10-24T19:50:29.6492559Z ~~~~~~~~~~~~ 2026-10-24T19:50:29.6492562Z 2026-10-24T19:50:29.6492855Z src/ws.ts:2320:24 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6492857Z 2026-10-24T19:50:29.6492911Z 2320 return yield* Effect.fail( 2026-10-24T19:50:29.6492958Z ~~~~~ 2026-10-24T19:50:29.6492960Z 2026-10-24T19:50:29.6493338Z src/ws.ts:2329:24 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6493340Z 2026-10-24T19:50:29.6493397Z 2329 return yield* Effect.fail( 2026-10-24T19:50:29.6493442Z ~~~~~ 2026-10-24T19:50:29.6493444Z 2026-10-24T19:50:29.6493726Z src/ws.ts:2337:24 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T19:50:29.6493729Z 2026-10-24T19:50:29.6493783Z 2337 return yield* Effect.fail( 2026-10-24T19:50:29.6493827Z ~~~~~ 2026-10-24T19:50:29.6493829Z 2026-10-24T19:50:29.6493830Z 2026-10-24T19:50:29.6493870Z --- 2026-10-24T19:50:29.6494135Z vp run: 0/33 cache hit (0%), 33/33 successful. @t3tools/oxlint-plugin-t3code#typecheck (and 1 more) not cached because they modified their inputs. (Run `vp run --last-details` for full details) 2026-10-24T19:50:29.6900206Z Post job cleanup. 2026-10-24T19:50:29.7479488Z Cache hit occurred on the primary key electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309, not saving cache. 2026-10-24T19:50:29.7541749Z Post job cleanup. 2026-10-24T19:50:29.7554254Z ##[start-action display=Cache full pnpm store;id=__5ce95c8b-e5b6-4c5c-b7d1-fb1e2672b337.__actions_cache] 2026-10-24T19:50:29.7865563Z Post job cleanup. 2026-10-24T19:50:29.8469207Z Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074, not saving cache. 2026-10-24T19:50:29.8498700Z ##[end-action id=__5ce95c8b-e5b6-4c5c-b7d1-fb1e2672b337.__actions_cache;outcome=success;conclusion=success;duration_ms=94] 2026-10-24T19:50:29.8500340Z ##[start-action display=Cache Vite+;id=__5ce95c8b-e5b6-4c5c-b7d1-fb1e2672b337.vp_cache] 2026-10-24T19:50:29.8518659Z Post job cleanup. 2026-10-24T19:50:29.9108556Z Cache hit occurred on the primary key vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0, not saving cache. 2026-10-24T19:50:29.9137796Z ##[end-action id=__5ce95c8b-e5b6-4c5c-b7d1-fb1e2672b337.vp_cache;outcome=success;conclusion=success;duration_ms=63] 2026-10-24T19:50:29.9179391Z Post job cleanup. 2026-10-24T19:50:29.9577561Z [command]/usr/local/bin/git version 2026-10-24T19:50:29.9604201Z git version 2.55.0 2026-10-24T19:50:29.9620003Z Temporarily overriding HOME='/home/runner/_work/_temp/3ccd6f21-6604-4170-96e7-f07502d1a044' before making global git config changes 2026-10-24T19:50:29.9620358Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T19:50:29.9622703Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-24T19:50:29.9643288Z Removing SSH command configuration 2026-10-24T19:50:29.9646448Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T19:50:29.9666869Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2026-10-24T19:50:29.9778031Z fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules 2026-10-24T19:50:29.9799753Z ##[warning]The process '/usr/local/bin/git' failed with exit code 128 2026-10-24T19:50:29.9831931Z A job completed hook has been configured by the self-hosted runner administrator 2026-10-24T19:50:29.9851520Z ##[group]Run '/job_completed.sh' 2026-10-24T19:50:29.9860970Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T19:50:29.9861142Z env: 2026-10-24T19:50:29.9861253Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150 2026-10-24T19:50:29.9861399Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T19:50:29.9861536Z BLACKSMITH_CHECK_RUN_ID: 120970629295 2026-10-24T19:50:29.9861690Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-24T19:50:29.9861843Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-24T19:50:29.9861975Z ##[endgroup] 2026-10-24T19:50:29.9932725Z Docker container cache not activated, skipping hash computation. 2026-10-24T19:50:30.0170442Z No active SSH sessions detected. Proceeding with shutdown immediately. 2026-10-24T19:50:30.0211349Z Cleaning up orphan processes