2026-10-24T18:49:45.6318991Z Current runner version: '2.338.1' 2026-10-24T18:49:45.6322201Z Runner name: 'blacksmith-8vcpu-ubuntu-2404-3pmigkdcmtgvotwl' 2026-10-24T18:49:45.6322909Z Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404' 2026-10-24T18:49:45.6323575Z Machine name: 'ip-172-31-73-130' 2026-10-24T18:49:45.6325122Z ##[group]GITHUB_TOKEN Permissions 2026-10-24T18:49:45.6326375Z Contents: read 2026-10-24T18:49:45.6326754Z Metadata: read 2026-10-24T18:49:45.6327141Z ##[endgroup] 2026-10-24T18:49:45.6328627Z Secret source: Actions 2026-10-24T18:49:45.6329304Z Cache mode: write 2026-10-24T18:49:45.6329754Z Prepare workflow directory 2026-10-24T18:49:45.6502808Z Prepare all required actions 2026-10-24T18:49:45.6527599Z Getting action download info 2026-10-24T18:49:45.7588963Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-24T18:49:45.7907879Z Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) 2026-10-24T18:49:45.8986720Z Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/ 2026-10-24T18:49:45.9024908Z Complete job name: Build and Typecheck 2026-10-24T18:49:45.9391800Z A job started hook has been configured by the self-hosted runner administrator 2026-10-24T18:49:45.9448916Z ##[group]Run '/setup.sh' 2026-10-24T18:49:45.9457881Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:49:45.9458487Z env: 2026-10-24T18:49:45.9458723Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:45.9459004Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:45.9459276Z BLACKSMITH_CHECK_RUN_ID: 120956850391 2026-10-24T18:49:45.9459641Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-24T18:49:45.9459945Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-24T18:49:45.9460197Z ##[endgroup] 2026-10-24T18:49:45.9689541Z Logging daemon started (blacksmithd for logs) 2026-10-24T18:49:45.9791582Z Results daemon started (blacksmithd for results) 2026-10-24T18:49:45.9923453Z Background adoption and SSH setup started (PID: 3128) 2026-10-24T18:49:45.9925738Z 2026-10-24T18:49:45.9925863Z ---------------------------------------- 2026-10-24T18:49:45.9926336Z View this job: https://app.blacksmith.sh/pingdotgg/runs/40122473448/jobs/120956850391 2026-10-24T18:49:45.9926754Z SSH Access (using your GitHub SSH key): 2026-10-24T18:49:45.9927161Z ssh -p 64000 runner@blacksmith-8vcpu-ubuntu-2404-3pmigkdcmtgvotwl.vm.blacksmith.sh 2026-10-24T18:49:45.9928462Z 2026-10-24T18:49:45.9928566Z No GitHub SSH key? Add one at: 2026-10-24T18:49:45.9929039Z https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 2026-10-24T18:49:45.9929431Z 2026-10-24T18:49:45.9929531Z ---------------------------------------- 2026-10-24T18:49:45.9929701Z 2026-10-24T18:49:45.9929836Z VM ID: blacksmith-8vcpu-ubuntu-2404-3pmigkdcmtgvotwl 2026-10-24T18:49:45.9930148Z Host: production-152.236.31.203-x8664 2026-10-24T18:49:45.9930408Z Host Agent PID: 4116426 2026-10-24T18:49:45.9930645Z Host Agent Git SHA: 1637818df 2026-10-24T18:49:45.9930897Z Host CPU Manufacturer: AuthenticAMD 2026-10-24T18:49:45.9931170Z Blacksmith Host Generation: gen 2 2026-10-24T18:49:45.9931447Z Petname: production-immense-monarch-e3358e2b 2026-10-24T18:49:45.9931734Z Region: us-east 2026-10-24T18:49:45.9931958Z Rootfs Version: ubuntu24-full-x64-081926 2026-10-24T18:49:45.9938268Z OS Version: Ubuntu 24.04.4 LTS 2026-10-24T18:49:45.9938830Z 2026-10-24T18:49:45.9938951Z Enabling Blacksmith transparent cache 2026-10-24T18:49:46.0151622Z ##[group]Run actions/checkout@v6 2026-10-24T18:49:46.0151931Z with: 2026-10-24T18:49:46.0152264Z sparse-checkout: /* !/.repos/ !/apps/mobile/modules/t3-terminal/Vendor/**/*.a 2026-10-24T18:49:46.0152672Z sparse-checkout-cone-mode: false 2026-10-24T18:49:46.0152954Z repository: pingdotgg/t3code 2026-10-24T18:49:46.0154749Z token: *** 2026-10-24T18:49:46.0154963Z ssh-strict: true 2026-10-24T18:49:46.0155185Z ssh-user: git 2026-10-24T18:49:46.0155577Z persist-credentials: true 2026-10-24T18:49:46.0155916Z clean: true 2026-10-24T18:49:46.0212687Z fetch-depth: 1 2026-10-24T18:49:46.0212935Z fetch-tags: false 2026-10-24T18:49:46.0213218Z show-progress: true 2026-10-24T18:49:46.0213551Z lfs: false 2026-10-24T18:49:46.0213861Z submodules: false 2026-10-24T18:49:46.0214111Z set-safe-directory: true 2026-10-24T18:49:46.0214370Z allow-unsafe-pr-checkout: false 2026-10-24T18:49:46.0214631Z env: 2026-10-24T18:49:46.0214899Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:46.0215210Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:46.0215496Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:46.0215763Z ##[endgroup] 2026-10-24T18:49:46.1541163Z Syncing repository: pingdotgg/t3code 2026-10-24T18:49:46.1542037Z ##[group]Getting Git version info 2026-10-24T18:49:46.1542376Z Working directory is '/home/runner/_work/t3code/t3code' 2026-10-24T18:49:46.1542857Z [command]/usr/local/bin/git version 2026-10-24T18:49:46.1610356Z git version 2.55.0 2026-10-24T18:49:46.1622634Z ##[endgroup] 2026-10-24T18:49:46.1630315Z Temporarily overriding HOME='/home/runner/_work/_temp/59c603d7-b782-4901-9241-f7b5a8e830f4' before making global git config changes 2026-10-24T18:49:46.1630973Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T18:49:46.1633860Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-24T18:49:46.1663837Z Deleting the contents of '/home/runner/_work/t3code/t3code' 2026-10-24T18:49:46.1665684Z ##[group]Determining repository object format 2026-10-24T18:49:46.1666862Z ##[endgroup] 2026-10-24T18:49:46.1667221Z ##[group]Initializing the repository 2026-10-24T18:49:46.1669177Z [command]/usr/local/bin/git init /home/runner/_work/t3code/t3code 2026-10-24T18:49:46.1707198Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-24T18:49:46.1708029Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-24T18:49:46.1708814Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-24T18:49:46.1709400Z hint: call: 2026-10-24T18:49:46.1709713Z hint: 2026-10-24T18:49:46.1710113Z hint: git config --global init.defaultBranch 2026-10-24T18:49:46.1710600Z hint: 2026-10-24T18:49:46.1711057Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-24T18:49:46.1711684Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-24T18:49:46.1712053Z hint: 2026-10-24T18:49:46.1712340Z hint: git branch -m 2026-10-24T18:49:46.1712703Z hint: 2026-10-24T18:49:46.1713184Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-24T18:49:46.1713940Z Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/ 2026-10-24T18:49:46.1715218Z [command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code 2026-10-24T18:49:46.1738886Z ##[endgroup] 2026-10-24T18:49:46.1739297Z ##[group]Disabling automatic garbage collection 2026-10-24T18:49:46.1740966Z [command]/usr/local/bin/git config --local gc.auto 0 2026-10-24T18:49:46.1766138Z ##[endgroup] 2026-10-24T18:49:46.1766518Z ##[group]Setting up auth 2026-10-24T18:49:46.1766789Z Removing SSH command configuration 2026-10-24T18:49:46.1770157Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T18:49:46.1792316Z [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-24T18:49:46.1926465Z Removing HTTP extra header 2026-10-24T18:49:46.1929201Z [command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-24T18:49:46.1954850Z [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-24T18:49:46.2085366Z Removing includeIf entries pointing to credentials config files 2026-10-24T18:49:46.2088998Z [command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-24T18:49:46.2109792Z [command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-24T18:49:46.2213413Z [command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-8711d5af-776c-4638-978b-828da6c6a8b9.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-24T18:49:46.2239808Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-8711d5af-776c-4638-978b-828da6c6a8b9.config 2026-10-24T18:49:46.2260693Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-8711d5af-776c-4638-978b-828da6c6a8b9.config 2026-10-24T18:49:46.2280533Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-8711d5af-776c-4638-978b-828da6c6a8b9.config 2026-10-24T18:49:46.2299812Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-8711d5af-776c-4638-978b-828da6c6a8b9.config 2026-10-24T18:49:46.2317322Z ##[endgroup] 2026-10-24T18:49:46.2317702Z ##[group]Fetching the repository 2026-10-24T18:49:46.2321668Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +79014e6c41e99344c59470c3b315da4ce3ba162d:refs/remotes/origin/main 2026-10-24T18:49:46.4851730Z From https://github.com/pingdotgg/t3code 2026-10-24T18:49:46.4852574Z * [new ref] 79014e6c41e99344c59470c3b315da4ce3ba162d -> origin/main 2026-10-24T18:49:46.4879599Z [command]/usr/local/bin/git branch --list --remote origin/main 2026-10-24T18:49:46.4903550Z origin/main 2026-10-24T18:49:46.4907735Z [command]/usr/local/bin/git rev-parse refs/remotes/origin/main 2026-10-24T18:49:46.4923698Z 79014e6c41e99344c59470c3b315da4ce3ba162d 2026-10-24T18:49:46.4925675Z ##[endgroup] 2026-10-24T18:49:46.4926397Z ##[group]Determining the checkout info 2026-10-24T18:49:46.4927223Z ##[endgroup] 2026-10-24T18:49:46.4928022Z ##[group]Setting up sparse checkout 2026-10-24T18:49:46.4930333Z [command]/usr/local/bin/git config core.sparseCheckout true 2026-10-24T18:49:46.4953294Z [command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout 2026-10-24T18:49:46.4970922Z .git/info/sparse-checkout 2026-10-24T18:49:46.4974959Z ##[endgroup] 2026-10-24T18:49:46.4975862Z ##[group]Checking out the ref 2026-10-24T18:49:46.4977499Z [command]/usr/local/bin/git checkout --progress --force -B main refs/remotes/origin/main 2026-10-24T18:49:53.2492291Z Updating files: 0% (1/6400) 2026-10-24T18:49:53.2519477Z Updating files: 1% (64/6400) 2026-10-24T18:49:53.2537853Z Updating files: 2% (128/6400) 2026-10-24T18:49:53.2558193Z Updating files: 3% (192/6400) 2026-10-24T18:49:53.2578495Z Updating files: 4% (256/6400) 2026-10-24T18:49:53.2609261Z Updating files: 5% (320/6400) 2026-10-24T18:49:53.2631831Z Updating files: 6% (384/6400) 2026-10-24T18:49:53.2683913Z Updating files: 7% (448/6400) 2026-10-24T18:49:53.2715261Z Updating files: 8% (512/6400) 2026-10-24T18:49:53.2736742Z Updating files: 9% (576/6400) 2026-10-24T18:49:53.3019989Z Updating files: 10% (640/6400) 2026-10-24T18:49:53.3035704Z Updating files: 11% (704/6400) 2026-10-24T18:49:53.3046362Z Updating files: 12% (768/6400) 2026-10-24T18:49:53.3061497Z Updating files: 13% (832/6400) 2026-10-24T18:49:53.3077118Z Updating files: 14% (896/6400) 2026-10-24T18:49:53.3094915Z Updating files: 15% (960/6400) 2026-10-24T18:49:53.3112997Z Updating files: 16% (1024/6400) 2026-10-24T18:49:53.3128694Z Updating files: 17% (1088/6400) 2026-10-24T18:49:53.3146283Z Updating files: 18% (1152/6400) 2026-10-24T18:49:53.3160977Z Updating files: 19% (1216/6400) 2026-10-24T18:49:53.3183626Z Updating files: 20% (1280/6400) 2026-10-24T18:49:53.3200257Z Updating files: 21% (1344/6400) 2026-10-24T18:49:53.3218733Z Updating files: 22% (1408/6400) 2026-10-24T18:49:53.3231729Z Updating files: 23% (1472/6400) 2026-10-24T18:49:53.3244728Z Updating files: 24% (1536/6400) 2026-10-24T18:49:53.3259906Z Updating files: 25% (1600/6400) 2026-10-24T18:49:53.3273642Z Updating files: 26% (1664/6400) 2026-10-24T18:49:53.3286991Z Updating files: 27% (1728/6400) 2026-10-24T18:49:53.3306943Z Updating files: 28% (1792/6400) 2026-10-24T18:49:53.3339633Z Updating files: 29% (1856/6400) 2026-10-24T18:49:53.3359709Z Updating files: 30% (1920/6400) 2026-10-24T18:49:53.3383295Z Updating files: 31% (1984/6400) 2026-10-24T18:49:53.3411767Z Updating files: 32% (2048/6400) 2026-10-24T18:49:53.3439178Z Updating files: 33% (2112/6400) 2026-10-24T18:49:53.3507681Z Updating files: 34% (2176/6400) 2026-10-24T18:49:53.3568049Z Updating files: 35% (2240/6400) 2026-10-24T18:49:53.3601468Z Updating files: 36% (2304/6400) 2026-10-24T18:49:53.3632258Z Updating files: 37% (2368/6400) 2026-10-24T18:49:53.3676751Z Updating files: 38% (2432/6400) 2026-10-24T18:49:53.3703169Z Updating files: 39% (2496/6400) 2026-10-24T18:49:53.3732927Z Updating files: 40% (2560/6400) 2026-10-24T18:49:53.3757043Z Updating files: 41% (2624/6400) 2026-10-24T18:49:53.3771521Z Updating files: 42% (2688/6400) 2026-10-24T18:49:53.3781197Z Updating files: 43% (2752/6400) 2026-10-24T18:49:53.3810817Z Updating files: 44% (2816/6400) 2026-10-24T18:49:53.3836952Z Updating files: 45% (2880/6400) 2026-10-24T18:49:53.3863229Z Updating files: 46% (2944/6400) 2026-10-24T18:49:53.3887468Z Updating files: 47% (3008/6400) 2026-10-24T18:49:53.3913765Z Updating files: 48% (3072/6400) 2026-10-24T18:49:53.3951066Z Updating files: 49% (3136/6400) 2026-10-24T18:49:53.3977614Z Updating files: 50% (3200/6400) 2026-10-24T18:49:53.3993207Z Updating files: 51% (3264/6400) 2026-10-24T18:49:53.4027815Z Updating files: 52% (3328/6400) 2026-10-24T18:49:53.4054700Z Updating files: 53% (3392/6400) 2026-10-24T18:49:53.4072945Z Updating files: 54% (3456/6400) 2026-10-24T18:49:53.4094797Z Updating files: 55% (3520/6400) 2026-10-24T18:49:53.4109707Z Updating files: 56% (3584/6400) 2026-10-24T18:49:53.4128320Z Updating files: 57% (3648/6400) 2026-10-24T18:49:53.4145165Z Updating files: 58% (3712/6400) 2026-10-24T18:49:53.4499234Z Updating files: 59% (3776/6400) 2026-10-24T18:49:53.4513351Z Updating files: 60% (3840/6400) 2026-10-24T18:49:53.4532358Z Updating files: 61% (3904/6400) 2026-10-24T18:49:53.4549791Z Updating files: 62% (3968/6400) 2026-10-24T18:49:53.4571494Z Updating files: 63% (4032/6400) 2026-10-24T18:49:53.4594839Z Updating files: 64% (4096/6400) 2026-10-24T18:49:53.4611503Z Updating files: 65% (4160/6400) 2026-10-24T18:49:53.4625864Z Updating files: 66% (4224/6400) 2026-10-24T18:49:53.4645262Z Updating files: 67% (4288/6400) 2026-10-24T18:49:53.4658070Z Updating files: 68% (4352/6400) 2026-10-24T18:49:53.4672826Z Updating files: 69% (4416/6400) 2026-10-24T18:49:53.4683629Z Updating files: 70% (4480/6400) 2026-10-24T18:49:53.4699329Z Updating files: 71% (4544/6400) 2026-10-24T18:49:53.4709915Z Updating files: 72% (4608/6400) 2026-10-24T18:49:53.4745936Z Updating files: 73% (4672/6400) 2026-10-24T18:49:53.5130607Z Updating files: 74% (4736/6400) 2026-10-24T18:49:53.5152122Z Updating files: 75% (4800/6400) 2026-10-24T18:49:53.5173408Z Updating files: 76% (4864/6400) 2026-10-24T18:49:53.5196446Z Updating files: 77% (4928/6400) 2026-10-24T18:49:53.5197552Z Updating files: 78% (4992/6400) 2026-10-24T18:49:53.5217191Z Updating files: 78% (4995/6400) 2026-10-24T18:49:53.5232900Z Updating files: 79% (5056/6400) 2026-10-24T18:49:53.5253962Z Updating files: 80% (5120/6400) 2026-10-24T18:49:53.5268906Z Updating files: 81% (5184/6400) 2026-10-24T18:49:53.5287288Z Updating files: 82% (5248/6400) 2026-10-24T18:49:53.5308102Z Updating files: 83% (5312/6400) 2026-10-24T18:49:53.5332082Z Updating files: 84% (5376/6400) 2026-10-24T18:49:53.5348458Z Updating files: 85% (5440/6400) 2026-10-24T18:49:53.5372646Z Updating files: 86% (5504/6400) 2026-10-24T18:49:53.5441585Z Updating files: 87% (5568/6400) 2026-10-24T18:49:53.5469862Z Updating files: 88% (5632/6400) 2026-10-24T18:49:53.5488774Z Updating files: 89% (5696/6400) 2026-10-24T18:49:53.5515938Z Updating files: 90% (5760/6400) 2026-10-24T18:49:53.5543133Z Updating files: 91% (5824/6400) 2026-10-24T18:49:53.5557289Z Updating files: 92% (5888/6400) 2026-10-24T18:49:53.5578462Z Updating files: 93% (5952/6400) 2026-10-24T18:49:53.5598187Z Updating files: 94% (6016/6400) 2026-10-24T18:49:53.5621943Z Updating files: 95% (6080/6400) 2026-10-24T18:49:53.5675954Z Updating files: 96% (6144/6400) 2026-10-24T18:49:53.5698142Z Updating files: 97% (6208/6400) 2026-10-24T18:49:53.5741694Z Updating files: 98% (6272/6400) 2026-10-24T18:49:53.5760656Z Updating files: 99% (6336/6400) 2026-10-24T18:49:53.5760809Z Updating files: 100% (6400/6400) 2026-10-24T18:49:53.5760953Z Updating files: 100% (6400/6400), done. 2026-10-24T18:49:53.5909551Z Switched to a new branch 'main' 2026-10-24T18:49:53.5910511Z branch 'main' set up to track 'origin/main'. 2026-10-24T18:49:53.5922290Z ##[endgroup] 2026-10-24T18:49:53.5953756Z [command]/usr/local/bin/git log -1 --format=%H 2026-10-24T18:49:53.5974947Z 79014e6c41e99344c59470c3b315da4ce3ba162d 2026-10-24T18:49:53.6096737Z Prepare all required actions 2026-10-24T18:49:53.6115504Z ##[group]Run ./.github/actions/setup-apt-mirrors 2026-10-24T18:49:53.6115660Z env: 2026-10-24T18:49:53.6115768Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:53.6115909Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:53.6116047Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:53.6116177Z ##[endgroup] 2026-10-24T18:49:53.6154753Z ##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run] 2026-10-24T18:49:53.6167562Z ##[group]Run # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-24T18:49:53.6167888Z # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-24T18:49:53.6168137Z printf '%s\tpriority:%s\n' \ 2026-10-24T18:49:53.6168306Z  https://archive.ubuntu.com/ubuntu 1 \ 2026-10-24T18:49:53.6168513Z  https://mirrors.edge.kernel.org/ubuntu 2 \ 2026-10-24T18:49:53.6168724Z  https://mirror.math.princeton.edu/pub/ubuntu 3 \ 2026-10-24T18:49:53.6168955Z  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null 2026-10-24T18:49:53.6169130Z  2026-10-24T18:49:53.6169284Z # APT's mirror transport retries each file against the next server. 2026-10-24T18:49:53.6169552Z sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \ 2026-10-24T18:49:53.6169766Z  -exec sed -i -E \ 2026-10-24T18:49:53.6170019Z  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} + 2026-10-24T18:49:53.6170280Z  2026-10-24T18:49:53.6170464Z # Move on to a fallback before an unreachable server exhausts the job. 2026-10-24T18:49:53.6170711Z printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \ 2026-10-24T18:49:53.6170946Z  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null 2026-10-24T18:49:53.6180836Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:49:53.6181003Z env: 2026-10-24T18:49:53.6181117Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:53.6181257Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:53.6181404Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:53.6181536Z ##[endgroup] 2026-10-24T18:49:53.6412271Z ##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=25] 2026-10-24T18:49:53.6431180Z ##[group]Run sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-24T18:49:53.6431664Z sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-24T18:49:53.6431905Z ( 2026-10-24T18:49:53.6432004Z  set +e 2026-10-24T18:49:53.6432177Z  sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config 2026-10-24T18:49:53.6432388Z  echo "$?" > "$RUNNER_TEMP/apt-status" 2026-10-24T18:49:53.6432553Z ) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null & 2026-10-24T18:49:53.6440875Z shell: /usr/bin/bash -e {0} 2026-10-24T18:49:53.6441002Z env: 2026-10-24T18:49:53.6441117Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:53.6441264Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:53.6441407Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:53.6441538Z ##[endgroup] 2026-10-24T18:49:53.6584735Z Prepare all required actions 2026-10-24T18:49:53.6585239Z Getting action download info 2026-10-24T18:49:53.7334432Z Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb) 2026-10-24T18:49:53.8183751Z ##[group]Run ./.github/actions/setup-ci-deps 2026-10-24T18:49:53.8183919Z env: 2026-10-24T18:49:53.8184039Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:53.8184185Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:53.8184332Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:53.8184467Z ##[endgroup] 2026-10-24T18:49:53.8236716Z ##[start-action display=Resolve Vite+ version;id=__self_2.vp] 2026-10-24T18:49:53.8245357Z ##[group]Run echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-24T18:49:53.8245701Z echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-24T18:49:53.8246003Z echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT" 2026-10-24T18:49:53.8246254Z echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT" 2026-10-24T18:49:53.8256754Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:49:53.8256927Z env: 2026-10-24T18:49:53.8257050Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:53.8257192Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:53.8257331Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:53.8257464Z ##[endgroup] 2026-10-24T18:49:53.8329244Z ##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=9] 2026-10-24T18:49:53.8330922Z ##[start-action display=Cache Vite+;id=__self_2.vp_cache] 2026-10-24T18:49:53.8371951Z ##[group]Run actions/cache@v6 2026-10-24T18:49:53.8372086Z with: 2026-10-24T18:49:53.8372190Z path: ~/.vite-plus 2026-10-24T18:49:53.8372349Z key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T18:49:53.8372548Z enableCrossOsArchive: false 2026-10-24T18:49:53.8372685Z fail-on-cache-miss: false 2026-10-24T18:49:53.8372809Z lookup-only: false 2026-10-24T18:49:53.8372917Z save-always: false 2026-10-24T18:49:53.8373025Z env: 2026-10-24T18:49:53.8373133Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:53.8373277Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:53.8373414Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:53.8373541Z ##[endgroup] 2026-10-24T18:49:54.0636570Z Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T18:49:54.4349280Z Received 170349591 of 170349591 (100.0%), 465.5 MBs/sec 2026-10-24T18:49:54.4349983Z Cache Size: ~162 MB (170349591 B) 2026-10-24T18:49:54.4374193Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/45ba1c61-356b-48f0-b067-a5f76060cd20/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T18:49:55.1453843Z Cache restored successfully 2026-10-24T18:49:55.1952235Z Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T18:49:55.2035694Z ##[end-action id=__self_2.vp_cache;outcome=success;conclusion=success;duration_ms=1370] 2026-10-24T18:49:55.2038273Z ##[start-action display=Use cached Vite+;id=__self_2.__run] 2026-10-24T18:49:55.2070245Z ##[group]Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-24T18:49:55.2070458Z echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-24T18:49:55.2070630Z "$HOME/.vite-plus/bin/vp" env use "26.12.1" 2026-10-24T18:49:55.2081588Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:49:55.2081767Z env: 2026-10-24T18:49:55.2081884Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:55.2082029Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:55.2082172Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:55.2082304Z ##[endgroup] 2026-10-24T18:49:55.2120758Z Using Node.js v26.12.1 (resolved from 26.12.1) 2026-10-24T18:49:55.2128274Z ##[end-action id=__self_2.__run;outcome=success;conclusion=success;duration_ms=8] 2026-10-24T18:49:55.2129522Z ##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp] 2026-10-24T18:49:55.2133087Z ##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-10-24T18:49:55.2134095Z ##[start-action display=Resolve pnpm store path;id=__self_2.pnpm_store] 2026-10-24T18:49:55.2142715Z ##[group]Run store_path="$(vp pm cache dir)" 2026-10-24T18:49:55.2142880Z store_path="$(vp pm cache dir)" 2026-10-24T18:49:55.2143054Z echo "path=$store_path" >> "$GITHUB_OUTPUT" 2026-10-24T18:49:55.2152441Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:49:55.2152605Z env: 2026-10-24T18:49:55.2152716Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:55.2152859Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:55.2152998Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:55.2153127Z ##[endgroup] 2026-10-24T18:49:55.2285295Z ##[end-action id=__self_2.pnpm_store;outcome=success;conclusion=success;duration_ms=15] 2026-10-24T18:49:55.2286478Z ##[start-action display=Cache full pnpm store;id=__self_2.__actions_cache] 2026-10-24T18:49:55.2624109Z ##[group]Run actions/cache@v6 2026-10-24T18:49:55.2624246Z with: 2026-10-24T18:49:55.2624375Z path: /home/runner/.local/share/pnpm/store/v11 2026-10-24T18:49:55.2624643Z key: pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074 2026-10-24T18:49:55.2624903Z restore-keys: pnpm-full-v1-Linux-X64- 2026-10-24T18:49:55.2625056Z enableCrossOsArchive: false 2026-10-24T18:49:55.2625194Z fail-on-cache-miss: false 2026-10-24T18:49:55.2625320Z lookup-only: false 2026-10-24T18:49:55.2625432Z save-always: false 2026-10-24T18:49:55.2625548Z env: 2026-10-24T18:49:55.2625657Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:49:55.2625815Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:49:55.2625961Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:49:55.2626112Z ##[endgroup] 2026-10-24T18:49:55.4460981Z Cache hit for: pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074 2026-10-24T18:49:56.4612014Z Received 671088640 of 994208090 (67.5%), 639.4 MBs/sec 2026-10-24T18:49:57.4622097Z Received 973236570 of 994208090 (97.9%), 463.8 MBs/sec 2026-10-24T18:49:57.4836281Z Received 994208090 of 994208090 (100.0%), 468.7 MBs/sec 2026-10-24T18:49:57.4837190Z Cache Size: ~948 MB (994208090 B) 2026-10-24T18:49:57.4868300Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/9e28af6f-f6bb-472f-95ec-6a6b47894ba8/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T18:50:02.5063840Z Cache restored successfully 2026-10-24T18:50:02.5540754Z Cache restored from key: pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074 2026-10-24T18:50:02.5604015Z ##[end-action id=__self_2.__actions_cache;outcome=success;conclusion=success;duration_ms=7331] 2026-10-24T18:50:02.5606503Z ##[start-action display=Install dependencies;id=__self_2.__run_2] 2026-10-24T18:50:02.5620641Z ##[group]Run vp install 2026-10-24T18:50:02.5620795Z vp install 2026-10-24T18:50:02.5632785Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:50:02.5633003Z env: 2026-10-24T18:50:02.5633130Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:02.5633282Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:02.5633433Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:02.5633582Z ##[endgroup] 2026-10-24T18:50:02.6021463Z Scope: all 34 workspace projects 2026-10-24T18:50:02.7054890Z ? Verifying lockfile against supply-chain policies (2088 entries)... 2026-10-24T18:50:02.9582417Z Packages are hard linked from the content-addressable store to the virtual store. 2026-10-24T18:50:02.9582763Z Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11 2026-10-24T18:50:02.9582991Z Virtual store is at: node_modules/.pnpm 2026-10-24T18:50:05.2611873Z ✓ Lockfile passes supply-chain policies (2088 entries in 2.6s) 2026-10-24T18:50:05.2612178Z Lockfile is up to date, resolution step is skipped 2026-10-24T18:50:05.2863854Z Packages: +1721 2026-10-24T18:50:05.2864107Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2026-10-24T18:50:05.3316438Z Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done 2026-10-24T18:50:06.1765355Z . prepare$ vp config --no-agent 2026-10-24T18:50:06.2703051Z . prepare: Done 2026-10-24T18:50:06.2716482Z 2026-10-24T18:50:06.2716587Z devDependencies: 2026-10-24T18:50:06.2716730Z + @coderabbitai/config 1.1.0 2026-10-24T18:50:06.2716863Z + @shadcn/lint 0.1.5 2026-10-24T18:50:06.2717000Z + @types/node 24.12.4 2026-10-24T18:50:06.2717123Z + knip 6.34.0 2026-10-24T18:50:06.2717252Z + typescript <- @tsc-rs/typescript 0.8.0 2026-10-24T18:50:06.2717423Z + vite-plus 1.3.0 2026-10-24T18:50:06.2717487Z 2026-10-24T18:50:06.2730548Z Done in 3.7s using pnpm v12.14.0 2026-10-24T18:50:06.2867088Z ##[end-action id=__self_2.__run_2;outcome=success;conclusion=success;duration_ms=3726] 2026-10-24T18:50:06.3320645Z ##[group]Run actions/cache@v6 2026-10-24T18:50:06.3320800Z with: 2026-10-24T18:50:06.3320907Z path: ~/.cache/electron 2026-10-24T18:50:06.3321122Z key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T18:50:06.3321353Z enableCrossOsArchive: false 2026-10-24T18:50:06.3321484Z fail-on-cache-miss: false 2026-10-24T18:50:06.3321606Z lookup-only: false 2026-10-24T18:50:06.3321716Z save-always: false 2026-10-24T18:50:06.3321823Z env: 2026-10-24T18:50:06.3321930Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:06.3322074Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:06.3322226Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:06.3322358Z ##[endgroup] 2026-10-24T18:50:06.5182126Z Cache hit for: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T18:50:06.8031742Z Received 122906203 of 122906203 (100.0%), 434.1 MBs/sec 2026-10-24T18:50:06.8032109Z Cache Size: ~117 MB (122906203 B) 2026-10-24T18:50:06.8083437Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/a1c5fbb1-3e42-4eec-b246-ec4839035f98/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T18:50:06.8852679Z Cache restored successfully 2026-10-24T18:50:06.8999762Z Cache restored from key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T18:50:06.9136212Z ##[group]Run vp run --filter @t3tools/desktop ensure:electron 2026-10-24T18:50:06.9136670Z vp run --filter @t3tools/desktop ensure:electron 2026-10-24T18:50:06.9151851Z shell: /usr/bin/bash -e {0} 2026-10-24T18:50:06.9152144Z env: 2026-10-24T18:50:06.9152266Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:06.9152415Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:06.9152562Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:06.9152919Z ##[endgroup] 2026-10-24T18:50:07.0714178Z ~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled 2026-10-24T18:50:07.6238007Z /home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.9.3_supports-color@8.1.1/node_modules/electron/dist/electron 2026-10-24T18:50:07.6260970Z 2026-10-24T18:50:07.6354244Z ##[group]Run ( 2026-10-24T18:50:07.6354438Z ( 2026-10-24T18:50:07.6354547Z  set +e 2026-10-24T18:50:07.6354678Z  vpr typecheck 2026-10-24T18:50:07.6354835Z  echo "$?" > "$RUNNER_TEMP/typecheck-status" 2026-10-24T18:50:07.6355041Z ) > "$RUNNER_TEMP/typecheck.log" 2>&1 < /dev/null & 2026-10-24T18:50:07.6365157Z shell: /usr/bin/bash -e {0} 2026-10-24T18:50:07.6365285Z env: 2026-10-24T18:50:07.6365398Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:07.6365547Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:07.6365691Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:07.6365829Z ##[endgroup] 2026-10-24T18:50:07.6408261Z ##[group]Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-24T18:50:07.6408553Z until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-24T18:50:07.6408742Z cat "$RUNNER_TEMP/apt.log" 2026-10-24T18:50:07.6408902Z exit "$(cat "$RUNNER_TEMP/apt-status")" 2026-10-24T18:50:07.6418727Z shell: /usr/bin/bash -e {0} 2026-10-24T18:50:07.6418866Z env: 2026-10-24T18:50:07.6418979Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:07.6419134Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:07.6419282Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:07.6419429Z ##[endgroup] 2026-10-24T18:50:07.6443661Z blacksmith: the apt mirror lists changed since the package indexes were staged; discarding the staged indexes 2026-10-24T18:50:07.6443992Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-24T18:50:07.6444244Z Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease 2026-10-24T18:50:07.6444515Z Get:7 https://dl.google.com/linux/chrome-stable/deb stable InRelease [2548 B] 2026-10-24T18:50:07.6444798Z Get:8 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] 2026-10-24T18:50:07.6445035Z Get:2 https://archive.ubuntu.com/ubuntu noble InRelease [256 kB] 2026-10-24T18:50:07.6445311Z Get:9 https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages [1410 B] 2026-10-24T18:50:07.6445597Z Get:10 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [652 kB] 2026-10-24T18:50:07.6445875Z Get:11 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [589 kB] 2026-10-24T18:50:07.6446166Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] 2026-10-24T18:50:07.6446401Z Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] 2026-10-24T18:50:07.6446636Z Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] 2026-10-24T18:50:07.6446944Z Get:12 https://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1401 kB] 2026-10-24T18:50:07.6447189Z Get:13 https://archive.ubuntu.com/ubuntu noble/main Translation-en [513 kB] 2026-10-24T18:50:07.6447539Z Get:14 https://archive.ubuntu.com/ubuntu noble/main amd64 Components [464 kB] 2026-10-24T18:50:07.6447787Z Get:15 https://archive.ubuntu.com/ubuntu noble/main amd64 c-n-f Metadata [30.5 kB] 2026-10-24T18:50:07.6448046Z Get:16 https://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [15.0 MB] 2026-10-24T18:50:07.6448314Z Get:17 https://archive.ubuntu.com/ubuntu noble/universe Translation-en [5982 kB] 2026-10-24T18:50:07.6448562Z Get:18 https://archive.ubuntu.com/ubuntu noble/universe amd64 Components [3871 kB] 2026-10-24T18:50:07.6448837Z Get:19 https://archive.ubuntu.com/ubuntu noble/universe amd64 c-n-f Metadata [301 kB] 2026-10-24T18:50:07.6449096Z Get:20 https://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [93.9 kB] 2026-10-24T18:50:07.6449368Z Get:21 https://archive.ubuntu.com/ubuntu noble/restricted Translation-en [18.7 kB] 2026-10-24T18:50:07.6449626Z Get:22 https://archive.ubuntu.com/ubuntu noble/restricted amd64 c-n-f Metadata [416 B] 2026-10-24T18:50:07.6449885Z Get:23 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [269 kB] 2026-10-24T18:50:07.6450174Z Get:24 https://archive.ubuntu.com/ubuntu noble/multiverse Translation-en [118 kB] 2026-10-24T18:50:07.6450432Z Get:25 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Components [35.0 kB] 2026-10-24T18:50:07.6450793Z Get:26 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 c-n-f Metadata [8328 B] 2026-10-24T18:50:07.6451059Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1400 kB] 2026-10-24T18:50:07.6451317Z Get:28 https://archive.ubuntu.com/ubuntu noble-updates/main Translation-en [310 kB] 2026-10-24T18:50:07.6451575Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] 2026-10-24T18:50:07.6452019Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [17.7 kB] 2026-10-24T18:50:07.6452294Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1706 kB] 2026-10-24T18:50:07.6452567Z Get:32 https://archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [342 kB] 2026-10-24T18:50:07.6452842Z Get:33 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] 2026-10-24T18:50:07.6453218Z Get:34 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [34.9 kB] 2026-10-24T18:50:07.6453506Z Get:35 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1805 kB] 2026-10-24T18:50:07.6453781Z Get:36 https://archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [411 kB] 2026-10-24T18:50:07.6454059Z Get:37 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B] 2026-10-24T18:50:07.6454343Z Get:38 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 c-n-f Metadata [456 B] 2026-10-24T18:50:07.6454628Z Get:39 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [50.7 kB] 2026-10-24T18:50:07.6454901Z Get:40 https://archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en [14.0 kB] 2026-10-24T18:50:07.6455174Z Get:41 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] 2026-10-24T18:50:07.6455457Z Get:42 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 c-n-f Metadata [656 B] 2026-10-24T18:50:07.6455737Z Get:43 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] 2026-10-24T18:50:07.6456001Z Get:44 https://archive.ubuntu.com/ubuntu noble-backports/main Translation-en [9172 B] 2026-10-24T18:50:07.6456271Z Get:45 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5764 B] 2026-10-24T18:50:07.6456546Z Get:46 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 c-n-f Metadata [368 B] 2026-10-24T18:50:07.6456826Z Get:47 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] 2026-10-24T18:50:07.6457116Z Get:48 https://archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] 2026-10-24T18:50:07.6457440Z Get:49 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] 2026-10-24T18:50:07.6457739Z Get:50 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 c-n-f Metadata [1588 B] 2026-10-24T18:50:07.6458032Z Get:51 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B] 2026-10-24T18:50:07.6458324Z Get:52 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 c-n-f Metadata [116 B] 2026-10-24T18:50:07.6458607Z Get:53 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [748 B] 2026-10-24T18:50:07.6458886Z Get:54 https://archive.ubuntu.com/ubuntu noble-backports/multiverse Translation-en [340 B] 2026-10-24T18:50:07.6459163Z Get:55 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B] 2026-10-24T18:50:07.6459457Z Get:56 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 c-n-f Metadata [116 B] 2026-10-24T18:50:07.6459740Z Get:57 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1146 kB] 2026-10-24T18:50:07.6460006Z Get:58 https://archive.ubuntu.com/ubuntu noble-security/main Translation-en [231 kB] 2026-10-24T18:50:07.6460271Z Get:59 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.4 kB] 2026-10-24T18:50:07.6460547Z Get:60 https://archive.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [11.9 kB] 2026-10-24T18:50:07.6460825Z Get:61 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1222 kB] 2026-10-24T18:50:07.6461101Z Get:62 https://archive.ubuntu.com/ubuntu noble-security/universe Translation-en [246 kB] 2026-10-24T18:50:07.6461374Z Get:63 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.3 kB] 2026-10-24T18:50:07.6461728Z Get:64 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [24.2 kB] 2026-10-24T18:50:07.6462012Z Get:65 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1713 kB] 2026-10-24T18:50:07.6462289Z Get:66 https://archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [392 kB] 2026-10-24T18:50:07.6462564Z Get:67 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B] 2026-10-24T18:50:07.6462897Z Get:68 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 c-n-f Metadata [444 B] 2026-10-24T18:50:07.6463181Z Get:69 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [45.4 kB] 2026-10-24T18:50:07.6463455Z Get:70 https://archive.ubuntu.com/ubuntu noble-security/multiverse Translation-en [12.1 kB] 2026-10-24T18:50:07.6463735Z Get:71 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B] 2026-10-24T18:50:07.6464017Z Get:72 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [468 B] 2026-10-24T18:50:07.6464243Z Fetched 42.0 MB in 3s (14.9 MB/s) 2026-10-24T18:50:07.6464384Z Reading package lists... 2026-10-24T18:50:07.6464507Z Reading package lists... 2026-10-24T18:50:07.6464628Z Building dependency tree... 2026-10-24T18:50:07.6464761Z Reading state information... 2026-10-24T18:50:07.6464911Z pkg-config is already the newest version (1.8.1-2build1). 2026-10-24T18:50:07.6465105Z The following additional packages will be installed: 2026-10-24T18:50:07.6465306Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 gir1.2-secret-1 2026-10-24T18:50:07.6465520Z libblkid-dev libblkid1 libfdisk1 libgcrypt20 libgcrypt20-dev 2026-10-24T18:50:07.6465744Z libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-bin libglib2.0-data 2026-10-24T18:50:07.6465981Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev libmount1 2026-10-24T18:50:07.6466227Z libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libsmartcols1 2026-10-24T18:50:07.6466433Z libuuid1 mount util-linux uuid-dev uuid-runtime 2026-10-24T18:50:07.6466586Z Suggested packages: 2026-10-24T18:50:07.6466745Z rng-tools libgcrypt20-doc low-memory-monitor gir1.2-glib-2.0-dev 2026-10-24T18:50:07.6466981Z libglib2.0-doc libxml2-utils nfs-common util-linux-extra util-linux-locales 2026-10-24T18:50:07.6467185Z The following NEW packages will be installed: 2026-10-24T18:50:07.6467428Z gir1.2-secret-1 libblkid-dev libgcrypt20-dev libgirepository-2.0-0 2026-10-24T18:50:07.6467647Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev 2026-10-24T18:50:07.6467882Z libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev libsepol-dev 2026-10-24T18:50:07.6468073Z uuid-dev 2026-10-24T18:50:07.6468185Z The following packages will be upgraded: 2026-10-24T18:50:07.6468378Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 libblkid1 libfdisk1 2026-10-24T18:50:07.6468603Z libgcrypt20 libglib2.0-0t64 libglib2.0-bin libglib2.0-data libmount1 2026-10-24T18:50:07.6468805Z libsmartcols1 libuuid1 mount util-linux uuid-runtime 2026-10-24T18:50:07.6469004Z 17 upgraded, 14 newly installed, 0 to remove and 241 not upgraded. 2026-10-24T18:50:07.6469183Z Need to get 8378 kB of archives. 2026-10-24T18:50:07.6469355Z After this operation, 23.0 MB of additional disk space will be used. 2026-10-24T18:50:07.6469579Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-24T18:50:07.6469862Z Get:2 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdutils amd64 1:2.39.3-9ubuntu6.6 [96.4 kB] 2026-10-24T18:50:07.6470202Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 util-linux amd64 2.39.3-9ubuntu6.6 [1128 kB] 2026-10-24T18:50:07.6470529Z Get:4 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 mount amd64 2.39.3-9ubuntu6.6 [118 kB] 2026-10-24T18:50:07.6470861Z Get:5 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu6.6 [66.3 kB] 2026-10-24T18:50:07.6471268Z Get:6 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libuuid1 amd64 2.39.3-9ubuntu6.6 [36.6 kB] 2026-10-24T18:50:07.6471663Z Get:7 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-runtime amd64 2.39.3-9ubuntu6.6 [33.1 kB] 2026-10-24T18:50:07.6471995Z Get:8 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid1 amd64 2.39.3-9ubuntu6.6 [124 kB] 2026-10-24T18:50:07.6472319Z Get:9 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20 amd64 1.10.3-2ubuntu0.2 [536 kB] 2026-10-24T18:50:07.6472694Z Get:10 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount1 amd64 2.39.3-9ubuntu6.6 [134 kB] 2026-10-24T18:50:07.6473019Z Get:11 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 eject amd64 2.39.3-9ubuntu6.6 [26.3 kB] 2026-10-24T18:50:07.6473350Z 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-24T18:50:07.6473701Z 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-24T18:50:07.6474050Z 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-24T18:50:07.6474405Z Get:15 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-0t64 amd64 2.80.0-6ubuntu3.10 [1548 kB] 2026-10-24T18:50:07.6474744Z Get:16 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libfdisk1 amd64 2.39.3-9ubuntu6.6 [146 kB] 2026-10-24T18:50:07.6475082Z Get:17 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdextrautils amd64 2.39.3-9ubuntu6.6 [73.7 kB] 2026-10-24T18:50:07.6475410Z Get:18 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 fdisk amd64 2.39.3-9ubuntu6.6 [122 kB] 2026-10-24T18:50:07.6475727Z Get:19 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-common all 0.21.4-1build3 [4962 B] 2026-10-24T18:50:07.6476031Z Get:20 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-1-0 amd64 0.21.4-1build3 [116 kB] 2026-10-24T18:50:07.6476339Z Get:21 https://archive.ubuntu.com/ubuntu noble/main amd64 gir1.2-secret-1 amd64 0.21.4-1build3 [9424 B] 2026-10-24T18:50:07.6476662Z Get:22 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgpg-error-dev amd64 1.47-3build2.1 [128 kB] 2026-10-24T18:50:07.6477005Z Get:23 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20-dev amd64 1.10.3-2ubuntu0.2 [596 kB] 2026-10-24T18:50:07.6477526Z 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-24T18:50:07.6478016Z 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-24T18:50:07.6478377Z Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.6 [33.5 kB] 2026-10-24T18:50:07.6478721Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.6 [205 kB] 2026-10-24T18:50:07.6479059Z Get:28 https://archive.ubuntu.com/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB] 2026-10-24T18:50:07.6479385Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB] 2026-10-24T18:50:07.6479726Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.6 [14.9 kB] 2026-10-24T18:50:07.6480075Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.10 [1861 kB] 2026-10-24T18:50:07.6480422Z Get:32 https://archive.ubuntu.com/ubuntu noble/universe amd64 libsecret-1-dev amd64 0.21.4-1build3 [129 kB] 2026-10-24T18:50:07.6480669Z Fetched 8378 kB in 3s (2485 kB/s) 2026-10-24T18:50:07.6480805Z (Reading database ... 2026-10-24T18:50:07.6480928Z (Reading database ... 5% 2026-10-24T18:50:07.6481050Z (Reading database ... 10% 2026-10-24T18:50:07.6481171Z (Reading database ... 15% 2026-10-24T18:50:07.6481285Z (Reading database ... 20% 2026-10-24T18:50:07.6481397Z (Reading database ... 25% 2026-10-24T18:50:07.6481512Z (Reading database ... 30% 2026-10-24T18:50:07.6481755Z (Reading database ... 35% 2026-10-24T18:50:07.6481913Z (Reading database ... 40% 2026-10-24T18:50:07.6482025Z (Reading database ... 45% 2026-10-24T18:50:07.6482140Z (Reading database ... 50% 2026-10-24T18:50:07.6482252Z (Reading database ... 55% 2026-10-24T18:50:07.6482365Z (Reading database ... 60% 2026-10-24T18:50:07.6482618Z (Reading database ... 65% 2026-10-24T18:50:07.6482730Z (Reading database ... 70% 2026-10-24T18:50:07.6482849Z (Reading database ... 75% 2026-10-24T18:50:07.6482962Z (Reading database ... 80% 2026-10-24T18:50:07.6483078Z (Reading database ... 85% 2026-10-24T18:50:07.6483191Z (Reading database ... 90% 2026-10-24T18:50:07.6483304Z (Reading database ... 95% 2026-10-24T18:50:07.6483424Z (Reading database ... 100% 2026-10-24T18:50:07.6483596Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6483835Z Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6484062Z Unpacking bsdutils (1:2.39.3-9ubuntu6.6) over (1:2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6484256Z Setting up bsdutils (1:2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6484406Z (Reading database ... 2026-10-24T18:50:07.6484525Z (Reading database ... 5% 2026-10-24T18:50:07.6484643Z (Reading database ... 10% 2026-10-24T18:50:07.6484762Z (Reading database ... 15% 2026-10-24T18:50:07.6484884Z (Reading database ... 20% 2026-10-24T18:50:07.6484999Z (Reading database ... 25% 2026-10-24T18:50:07.6485116Z (Reading database ... 30% 2026-10-24T18:50:07.6485232Z (Reading database ... 35% 2026-10-24T18:50:07.6485353Z (Reading database ... 40% 2026-10-24T18:50:07.6485470Z (Reading database ... 45% 2026-10-24T18:50:07.6485582Z (Reading database ... 50% 2026-10-24T18:50:07.6485701Z (Reading database ... 55% 2026-10-24T18:50:07.6485815Z (Reading database ... 60% 2026-10-24T18:50:07.6485935Z (Reading database ... 65% 2026-10-24T18:50:07.6486050Z (Reading database ... 70% 2026-10-24T18:50:07.6486165Z (Reading database ... 75% 2026-10-24T18:50:07.6486280Z (Reading database ... 80% 2026-10-24T18:50:07.6486392Z (Reading database ... 85% 2026-10-24T18:50:07.6486513Z (Reading database ... 90% 2026-10-24T18:50:07.6486625Z (Reading database ... 95% 2026-10-24T18:50:07.6486743Z (Reading database ... 100% 2026-10-24T18:50:07.6486908Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6487132Z Preparing to unpack .../util-linux_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6487496Z Unpacking util-linux (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6487689Z Setting up util-linux (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6487959Z update-alternatives: warning: forcing reinstallation of alternative /usr/bin/less because link group pager is broken 2026-10-24T18:50:07.6488403Z 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-24T18:50:07.6488781Z fstrim.service is a disabled or a static unit not running, not starting it. 2026-10-24T18:50:07.6488970Z (Reading database ... 2026-10-24T18:50:07.6489085Z (Reading database ... 5% 2026-10-24T18:50:07.6489204Z (Reading database ... 10% 2026-10-24T18:50:07.6489328Z (Reading database ... 15% 2026-10-24T18:50:07.6489442Z (Reading database ... 20% 2026-10-24T18:50:07.6489561Z (Reading database ... 25% 2026-10-24T18:50:07.6489677Z (Reading database ... 30% 2026-10-24T18:50:07.6489793Z (Reading database ... 35% 2026-10-24T18:50:07.6489923Z (Reading database ... 40% 2026-10-24T18:50:07.6490038Z (Reading database ... 45% 2026-10-24T18:50:07.6490156Z (Reading database ... 50% 2026-10-24T18:50:07.6490271Z (Reading database ... 55% 2026-10-24T18:50:07.6490388Z (Reading database ... 60% 2026-10-24T18:50:07.6490502Z (Reading database ... 65% 2026-10-24T18:50:07.6490620Z (Reading database ... 70% 2026-10-24T18:50:07.6490734Z (Reading database ... 75% 2026-10-24T18:50:07.6490848Z (Reading database ... 80% 2026-10-24T18:50:07.6490966Z (Reading database ... 85% 2026-10-24T18:50:07.6491167Z (Reading database ... 90% 2026-10-24T18:50:07.6491321Z (Reading database ... 95% 2026-10-24T18:50:07.6491437Z (Reading database ... 100% 2026-10-24T18:50:07.6491603Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6491814Z Preparing to unpack .../mount_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6492158Z Unpacking mount (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6492365Z Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6492597Z Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6492809Z Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6492962Z (Reading database ... 2026-10-24T18:50:07.6493080Z (Reading database ... 5% 2026-10-24T18:50:07.6493195Z (Reading database ... 10% 2026-10-24T18:50:07.6493315Z (Reading database ... 15% 2026-10-24T18:50:07.6493430Z (Reading database ... 20% 2026-10-24T18:50:07.6493548Z (Reading database ... 25% 2026-10-24T18:50:07.6493663Z (Reading database ... 30% 2026-10-24T18:50:07.6493777Z (Reading database ... 35% 2026-10-24T18:50:07.6493892Z (Reading database ... 40% 2026-10-24T18:50:07.6494006Z (Reading database ... 45% 2026-10-24T18:50:07.6494122Z (Reading database ... 50% 2026-10-24T18:50:07.6494238Z (Reading database ... 55% 2026-10-24T18:50:07.6494354Z (Reading database ... 60% 2026-10-24T18:50:07.6494467Z (Reading database ... 65% 2026-10-24T18:50:07.6494579Z (Reading database ... 70% 2026-10-24T18:50:07.6494697Z (Reading database ... 75% 2026-10-24T18:50:07.6494808Z (Reading database ... 80% 2026-10-24T18:50:07.6494925Z (Reading database ... 85% 2026-10-24T18:50:07.6495040Z (Reading database ... 90% 2026-10-24T18:50:07.6495154Z (Reading database ... 95% 2026-10-24T18:50:07.6495271Z (Reading database ... 100% 2026-10-24T18:50:07.6495434Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6495654Z Preparing to unpack .../libuuid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6495870Z Unpacking libuuid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6496069Z Setting up libuuid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6496216Z (Reading database ... 2026-10-24T18:50:07.6496333Z (Reading database ... 5% 2026-10-24T18:50:07.6496450Z (Reading database ... 10% 2026-10-24T18:50:07.6496576Z (Reading database ... 15% 2026-10-24T18:50:07.6496691Z (Reading database ... 20% 2026-10-24T18:50:07.6496804Z (Reading database ... 25% 2026-10-24T18:50:07.6496920Z (Reading database ... 30% 2026-10-24T18:50:07.6497032Z (Reading database ... 35% 2026-10-24T18:50:07.6497150Z (Reading database ... 40% 2026-10-24T18:50:07.6497308Z (Reading database ... 45% 2026-10-24T18:50:07.6497470Z (Reading database ... 50% 2026-10-24T18:50:07.6497591Z (Reading database ... 55% 2026-10-24T18:50:07.6497702Z (Reading database ... 60% 2026-10-24T18:50:07.6497837Z (Reading database ... 65% 2026-10-24T18:50:07.6497954Z (Reading database ... 70% 2026-10-24T18:50:07.6498132Z (Reading database ... 75% 2026-10-24T18:50:07.6498322Z (Reading database ... 80% 2026-10-24T18:50:07.6498517Z (Reading database ... 85% 2026-10-24T18:50:07.6498711Z (Reading database ... 90% 2026-10-24T18:50:07.6498846Z (Reading database ... 95% 2026-10-24T18:50:07.6498965Z (Reading database ... 100% 2026-10-24T18:50:07.6499125Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6499350Z Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6499566Z Unpacking uuid-runtime (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6499780Z Preparing to unpack .../libblkid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6499992Z Unpacking libblkid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6500192Z Setting up libblkid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6500338Z (Reading database ... 2026-10-24T18:50:07.6500518Z (Reading database ... 5% 2026-10-24T18:50:07.6500676Z (Reading database ... 10% 2026-10-24T18:50:07.6500791Z (Reading database ... 15% 2026-10-24T18:50:07.6500910Z (Reading database ... 20% 2026-10-24T18:50:07.6501024Z (Reading database ... 25% 2026-10-24T18:50:07.6501140Z (Reading database ... 30% 2026-10-24T18:50:07.6501251Z (Reading database ... 35% 2026-10-24T18:50:07.6501485Z (Reading database ... 40% 2026-10-24T18:50:07.6501599Z (Reading database ... 45% 2026-10-24T18:50:07.6501712Z (Reading database ... 50% 2026-10-24T18:50:07.6501828Z (Reading database ... 55% 2026-10-24T18:50:07.6501939Z (Reading database ... 60% 2026-10-24T18:50:07.6502053Z (Reading database ... 65% 2026-10-24T18:50:07.6502165Z (Reading database ... 70% 2026-10-24T18:50:07.6502279Z (Reading database ... 75% 2026-10-24T18:50:07.6502391Z (Reading database ... 80% 2026-10-24T18:50:07.6502501Z (Reading database ... 85% 2026-10-24T18:50:07.6502617Z (Reading database ... 90% 2026-10-24T18:50:07.6502729Z (Reading database ... 95% 2026-10-24T18:50:07.6502847Z (Reading database ... 100% 2026-10-24T18:50:07.6503006Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6503221Z Preparing to unpack .../libgcrypt20_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-24T18:50:07.6503443Z Unpacking libgcrypt20:amd64 (1.10.3-2ubuntu0.2) over (1.10.3-2ubuntu0.1) ... 2026-10-24T18:50:07.6503651Z Setting up libgcrypt20:amd64 (1.10.3-2ubuntu0.2) ... 2026-10-24T18:50:07.6503798Z (Reading database ... 2026-10-24T18:50:07.6503909Z (Reading database ... 5% 2026-10-24T18:50:07.6504024Z (Reading database ... 10% 2026-10-24T18:50:07.6504135Z (Reading database ... 15% 2026-10-24T18:50:07.6504250Z (Reading database ... 20% 2026-10-24T18:50:07.6504362Z (Reading database ... 25% 2026-10-24T18:50:07.6504476Z (Reading database ... 30% 2026-10-24T18:50:07.6504589Z (Reading database ... 35% 2026-10-24T18:50:07.6504701Z (Reading database ... 40% 2026-10-24T18:50:07.6504814Z (Reading database ... 45% 2026-10-24T18:50:07.6504928Z (Reading database ... 50% 2026-10-24T18:50:07.6505044Z (Reading database ... 55% 2026-10-24T18:50:07.6505155Z (Reading database ... 60% 2026-10-24T18:50:07.6505266Z (Reading database ... 65% 2026-10-24T18:50:07.6505378Z (Reading database ... 70% 2026-10-24T18:50:07.6505488Z (Reading database ... 75% 2026-10-24T18:50:07.6505602Z (Reading database ... 80% 2026-10-24T18:50:07.6505717Z (Reading database ... 85% 2026-10-24T18:50:07.6505832Z (Reading database ... 90% 2026-10-24T18:50:07.6505944Z (Reading database ... 95% 2026-10-24T18:50:07.6506063Z (Reading database ... 100% 2026-10-24T18:50:07.6506226Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6506439Z Preparing to unpack .../libmount1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6506656Z Unpacking libmount1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6506852Z Setting up libmount1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6507011Z (Reading database ... 2026-10-24T18:50:07.6507126Z (Reading database ... 5% 2026-10-24T18:50:07.6507246Z (Reading database ... 10% 2026-10-24T18:50:07.6507399Z (Reading database ... 15% 2026-10-24T18:50:07.6507517Z (Reading database ... 20% 2026-10-24T18:50:07.6507630Z (Reading database ... 25% 2026-10-24T18:50:07.6507740Z (Reading database ... 30% 2026-10-24T18:50:07.6507855Z (Reading database ... 35% 2026-10-24T18:50:07.6507970Z (Reading database ... 40% 2026-10-24T18:50:07.6508085Z (Reading database ... 45% 2026-10-24T18:50:07.6508198Z (Reading database ... 50% 2026-10-24T18:50:07.6508313Z (Reading database ... 55% 2026-10-24T18:50:07.6508424Z (Reading database ... 60% 2026-10-24T18:50:07.6508537Z (Reading database ... 65% 2026-10-24T18:50:07.6508654Z (Reading database ... 70% 2026-10-24T18:50:07.6508766Z (Reading database ... 75% 2026-10-24T18:50:07.6508882Z (Reading database ... 80% 2026-10-24T18:50:07.6508994Z (Reading database ... 85% 2026-10-24T18:50:07.6509108Z (Reading database ... 90% 2026-10-24T18:50:07.6509220Z (Reading database ... 95% 2026-10-24T18:50:07.6509386Z (Reading database ... 100% 2026-10-24T18:50:07.6509589Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T18:50:07.6509800Z Preparing to unpack .../00-eject_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6510004Z Unpacking eject (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6510339Z Preparing to unpack .../01-libglib2.0-data_2.80.0-6ubuntu3.10_all.deb ... 2026-10-24T18:50:07.6510571Z Unpacking libglib2.0-data (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T18:50:07.6510798Z Preparing to unpack .../02-libglib2.0-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T18:50:07.6511022Z Unpacking libglib2.0-bin (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T18:50:07.6511255Z Preparing to unpack .../03-gir1.2-glib-2.0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T18:50:07.6511495Z Unpacking gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T18:50:07.6511730Z Preparing to unpack .../04-libglib2.0-0t64_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T18:50:07.6511964Z Unpacking libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T18:50:07.6512195Z Preparing to unpack .../05-libfdisk1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6512414Z Unpacking libfdisk1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6512641Z Preparing to unpack .../06-bsdextrautils_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6512861Z Unpacking bsdextrautils (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6513073Z Preparing to unpack .../07-fdisk_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6513274Z Unpacking fdisk (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T18:50:07.6513476Z Selecting previously unselected package libsecret-common. 2026-10-24T18:50:07.6513685Z Preparing to unpack .../08-libsecret-common_0.21.4-1build3_all.deb ... 2026-10-24T18:50:07.6513886Z Unpacking libsecret-common (0.21.4-1build3) ... 2026-10-24T18:50:07.6514075Z Selecting previously unselected package libsecret-1-0:amd64. 2026-10-24T18:50:07.6514288Z Preparing to unpack .../09-libsecret-1-0_0.21.4-1build3_amd64.deb ... 2026-10-24T18:50:07.6514477Z Unpacking libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-24T18:50:07.6514668Z Selecting previously unselected package gir1.2-secret-1:amd64. 2026-10-24T18:50:07.6514878Z Preparing to unpack .../10-gir1.2-secret-1_0.21.4-1build3_amd64.deb ... 2026-10-24T18:50:07.6515122Z Unpacking gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-24T18:50:07.6527511Z Selecting previously unselected package libgpg-error-dev. 2026-10-24T18:50:07.6528005Z Preparing to unpack .../11-libgpg-error-dev_1.47-3build2.1_amd64.deb ... 2026-10-24T18:50:07.6528208Z Unpacking libgpg-error-dev (1.47-3build2.1) ... 2026-10-24T18:50:07.6528394Z Selecting previously unselected package libgcrypt20-dev. 2026-10-24T18:50:07.6528638Z Preparing to unpack .../12-libgcrypt20-dev_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-24T18:50:07.6528896Z Unpacking libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-24T18:50:07.6529094Z Selecting previously unselected package libgirepository-2.0-0:amd64. 2026-10-24T18:50:07.6529334Z Preparing to unpack .../13-libgirepository-2.0-0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T18:50:07.6529565Z Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6529772Z Selecting previously unselected package libglib2.0-dev-bin. 2026-10-24T18:50:07.6529995Z Preparing to unpack .../14-libglib2.0-dev-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T18:50:07.6530203Z Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6530385Z Selecting previously unselected package uuid-dev:amd64. 2026-10-24T18:50:07.6530587Z Preparing to unpack .../15-uuid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6530774Z Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6530950Z Selecting previously unselected package libblkid-dev:amd64. 2026-10-24T18:50:07.6531288Z Preparing to unpack .../16-libblkid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6531555Z Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6531736Z Selecting previously unselected package libsepol-dev:amd64. 2026-10-24T18:50:07.6531938Z Preparing to unpack .../17-libsepol-dev_3.5-2build1_amd64.deb ... 2026-10-24T18:50:07.6532277Z Unpacking libsepol-dev:amd64 (3.5-2build1) ... 2026-10-24T18:50:07.6532463Z Selecting previously unselected package libselinux1-dev:amd64. 2026-10-24T18:50:07.6532676Z Preparing to unpack .../18-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ... 2026-10-24T18:50:07.6532871Z Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-24T18:50:07.6533053Z Selecting previously unselected package libmount-dev:amd64. 2026-10-24T18:50:07.6533255Z Preparing to unpack .../19-libmount-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T18:50:07.6533446Z Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6533631Z Selecting previously unselected package libglib2.0-dev:amd64. 2026-10-24T18:50:07.6533851Z Preparing to unpack .../20-libglib2.0-dev_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T18:50:07.6534052Z Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6534243Z Selecting previously unselected package libsecret-1-dev:amd64. 2026-10-24T18:50:07.6534451Z Preparing to unpack .../21-libsecret-1-dev_0.21.4-1build3_amd64.deb ... 2026-10-24T18:50:07.6534647Z Unpacking libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-24T18:50:07.6534810Z Setting up bsdextrautils (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6534964Z Setting up eject (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6535122Z Setting up libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6535296Z Setting up libglib2.0-data (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6535459Z Setting up libgpg-error-dev (1.47-3build2.1) ... 2026-10-24T18:50:07.6535615Z Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6535777Z Setting up libsepol-dev:amd64 (3.5-2build1) ... 2026-10-24T18:50:07.6535946Z Setting up gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6536118Z Setting up libfdisk1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6536272Z Setting up mount (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6536427Z Setting up uuid-runtime (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6536624Z uuidd.service is a disabled or a static unit not running, not starting it. 2026-10-24T18:50:07.6536823Z Setting up libsecret-common (0.21.4-1build3) ... 2026-10-24T18:50:07.6536990Z Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6537165Z Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6537389Z Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6537582Z Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-24T18:50:07.6537748Z Setting up libglib2.0-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6537902Z Setting up fdisk (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6538133Z Setting up libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-24T18:50:07.6538392Z Setting up gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-24T18:50:07.6538653Z Setting up libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-24T18:50:07.6538913Z Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T18:50:07.6539191Z Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T18:50:07.6539461Z Setting up libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-24T18:50:07.6539740Z Processing triggers for libc-bin (2.39-0ubuntu8.8) ... 2026-10-24T18:50:07.6540014Z Processing triggers for man-db (2.12.0-4build2) ... 2026-10-24T18:50:07.6540295Z Not building database; man-db/auto-update is not 'true'. 2026-10-24T18:50:07.6540623Z Processing triggers for install-info (7.1-3build2) ... 2026-10-24T18:50:07.6540737Z 2026-10-24T18:50:07.6540786Z Restarting services... 2026-10-24T18:50:07.6541360Z 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-24T18:50:07.6542034Z Failed to restart systemd-manager.service: Unit systemd-manager.service not found. 2026-10-24T18:50:07.6542193Z 2026-10-24T18:50:07.6542247Z Service restarts being deferred: 2026-10-24T18:50:07.6542506Z systemctl restart ModemManager.service 2026-10-24T18:50:07.6542698Z systemctl restart dbus.service 2026-10-24T18:50:07.6542829Z systemctl restart getty@tty1.service 2026-10-24T18:50:07.6542985Z systemctl restart networkd-dispatcher.service 2026-10-24T18:50:07.6543146Z systemctl restart serial-getty@ttyS0.service 2026-10-24T18:50:07.6543312Z systemctl restart setup_and_run_blacksmith.service 2026-10-24T18:50:07.6543471Z systemctl restart systemd-logind.service 2026-10-24T18:50:07.6543565Z 2026-10-24T18:50:07.6543617Z No containers need to be restarted. 2026-10-24T18:50:07.6543705Z 2026-10-24T18:50:07.6543761Z User sessions running outdated binaries: 2026-10-24T18:50:07.6543908Z runner @ user manager service: systemd[1847] 2026-10-24T18:50:07.6544007Z 2026-10-24T18:50:07.6544104Z No VM guests are running outdated hypervisor (qemu) binaries on this host. 2026-10-24T18:50:07.6565058Z ##[group]Run vp run build:desktop 2026-10-24T18:50:07.6565234Z vp run build:desktop 2026-10-24T18:50:07.6576923Z shell: /usr/bin/bash -e {0} 2026-10-24T18:50:07.6577083Z env: 2026-10-24T18:50:07.6577196Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:07.6577573Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:07.6577743Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:07.6577885Z ##[endgroup] 2026-10-24T18:50:07.9113103Z ~/apps/web$ vp build ⊘ cache disabled 2026-10-24T18:50:08.5963603Z transforming... 2026-10-24T18:50:12.6489442Z ✓ 6675 modules transformed. 2026-10-24T18:50:13.7935745Z rendering chunks... 2026-10-24T18:50:16.4032707Z computing gzip size... 2026-10-24T18:50:16.5288570Z dist/assets/ghostty-write-pty-hgyAvVbe.wasm 0.11 kB │ gzip: 0.12 kB 2026-10-24T18:50:16.5408358Z dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB 2026-10-24T18:50:16.5528267Z dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB 2026-10-24T18:50:16.5608378Z dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB 2026-10-24T18:50:16.5648008Z dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB 2026-10-24T18:50:16.5648354Z dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB 2026-10-24T18:50:16.5648596Z dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB 2026-10-24T18:50:16.5648839Z dist/assets/snap-shot-click-CJiuxMEv.mp3 6.38 kB 2026-10-24T18:50:16.5649074Z dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB 2026-10-24T18:50:16.5649376Z dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB 2026-10-24T18:50:16.5649620Z dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB 2026-10-24T18:50:16.5649857Z dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB 2026-10-24T18:50:16.5650096Z dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB 2026-10-24T18:50:16.5650338Z dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB 2026-10-24T18:50:16.5650580Z dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB 2026-10-24T18:50:16.5650821Z dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB 2026-10-24T18:50:16.5651055Z dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB 2026-10-24T18:50:16.5651289Z dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB 2026-10-24T18:50:16.5651532Z dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB 2026-10-24T18:50:16.5651773Z dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB 2026-10-24T18:50:16.5652007Z dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB 2026-10-24T18:50:16.5652239Z dist/assets/notification-input-BJS4voY1.mp3 11.63 kB 2026-10-24T18:50:16.5652484Z dist/assets/notification-completion-vyCCbYsz.mp3 11.94 kB 2026-10-24T18:50:16.5652728Z dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB 2026-10-24T18:50:16.5652969Z dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB 2026-10-24T18:50:16.5653202Z dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB 2026-10-24T18:50:16.5653440Z dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB 2026-10-24T18:50:16.5653677Z dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB 2026-10-24T18:50:16.5653919Z dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB 2026-10-24T18:50:16.5654189Z dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB 2026-10-24T18:50:16.5654450Z dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB 2026-10-24T18:50:16.5654702Z dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB 2026-10-24T18:50:16.5654941Z dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB 2026-10-24T18:50:16.5655187Z dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB 2026-10-24T18:50:16.5655426Z dist/assets/snap-shot-whoosh-CQZ59XJc.mp3 15.02 kB 2026-10-24T18:50:16.5655672Z dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB 2026-10-24T18:50:16.5655913Z dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB 2026-10-24T18:50:16.5656153Z dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB 2026-10-24T18:50:16.5656416Z dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB 2026-10-24T18:50:16.5658092Z dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB 2026-10-24T18:50:16.5658329Z dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB 2026-10-24T18:50:16.5658674Z dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB 2026-10-24T18:50:16.5727961Z dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB 2026-10-24T18:50:16.5768019Z dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB 2026-10-24T18:50:16.5768315Z dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB 2026-10-24T18:50:16.5768873Z dist/index.html 19.49 kB │ gzip: 5.03 kB 2026-10-24T18:50:16.5769114Z dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB 2026-10-24T18:50:16.5769353Z dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB 2026-10-24T18:50:16.5769638Z dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB 2026-10-24T18:50:16.5769893Z dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB 2026-10-24T18:50:16.5770132Z dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB 2026-10-24T18:50:16.5770374Z dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB 2026-10-24T18:50:16.5770605Z dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB 2026-10-24T18:50:16.5770842Z dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB 2026-10-24T18:50:16.5771253Z dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB 2026-10-24T18:50:16.5807828Z dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB 2026-10-24T18:50:16.5928232Z dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB 2026-10-24T18:50:16.5968129Z dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB 2026-10-24T18:50:16.6048391Z dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB 2026-10-24T18:50:16.6168131Z dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB 2026-10-24T18:50:16.6248090Z dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB 2026-10-24T18:50:16.6328107Z dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB 2026-10-24T18:50:16.6408143Z dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB 2026-10-24T18:50:16.6448913Z dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB 2026-10-24T18:50:16.6570215Z dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB 2026-10-24T18:50:16.6608479Z dist/.vite/manifest.json 293.85 kB │ gzip: 30.65 kB 2026-10-24T18:50:16.6728473Z dist/assets/ghostty-vt-DdA0Zryv.wasm 630.93 kB │ gzip: 187.91 kB 2026-10-24T18:50:16.6808126Z dist/assets/worker-3-uhxiAg.js 836.41 kB 2026-10-24T18:50:16.6888555Z dist/third-party-licenses.json 852.62 kB │ gzip: 102.38 kB 2026-10-24T18:50:16.6928141Z dist/assets/SymbolsNerdFontMono-Regular-aK5vsLov.woff2 1,177.57 kB 2026-10-24T18:50:16.7048222Z dist/assets/ipad-pro-13-m5-DCWznkpd.glb 1,815.87 kB 2026-10-24T18:50:16.7088063Z dist/assets/ipad-pro-13-m5-magic-keyboard-l8da3bBi.glb 2,341.88 kB 2026-10-24T18:50:16.7088377Z dist/assets/iphone-18-pro-max-B3H2Zbeg.glb 2,399.02 kB 2026-10-24T18:50:16.7088618Z dist/assets/iphone-18-pro-Crheuaz9.glb 2,422.54 kB 2026-10-24T18:50:16.7088857Z dist/assets/iphone-duo-Cu4Xx1NH.glb 3,097.72 kB 2026-10-24T18:50:16.7089399Z dist/assets/MathTypeset-DEcVZfaU.css 28.83 kB │ gzip: 7.92 kB 2026-10-24T18:50:16.7089713Z dist/assets/main-5eZhPD8z.css 527.91 kB │ gzip: 70.81 kB 2026-10-24T18:50:16.7090384Z dist/assets/JZOYTAAL-ByFqog3L.js 0.05 kB │ gzip: 0.07 kB 2026-10-24T18:50:16.7090820Z dist/assets/_chat.draft._draftId-DJ7LAi8J.js 0.09 kB │ gzip: 0.11 kB │ map: 0.55 kB 2026-10-24T18:50:16.7091167Z dist/assets/legalLinks-BaIJY52l.js 0.10 kB │ gzip: 0.12 kB │ map: 0.24 kB 2026-10-24T18:50:16.7091520Z dist/assets/_chat._environmentId._threadId-DJ7LAi8J.js 0.10 kB │ gzip: 0.12 kB │ map: 0.57 kB 2026-10-24T18:50:16.7091860Z dist/assets/minus-DvZBHEtU.js 0.15 kB │ gzip: 0.16 kB │ map: 0.79 kB 2026-10-24T18:50:16.7092177Z dist/assets/circle-O_62Kz6M.js 0.16 kB │ gzip: 0.16 kB │ map: 0.84 kB 2026-10-24T18:50:16.7092498Z dist/assets/chevron-up-D-eqv5xz.js 0.16 kB │ gzip: 0.16 kB │ map: 0.83 kB 2026-10-24T18:50:16.7092830Z dist/assets/chevron-left-VzWFFfJV.js 0.17 kB │ gzip: 0.17 kB │ map: 0.84 kB 2026-10-24T18:50:16.7093160Z dist/assets/x-CtDhSmo0.js 0.18 kB │ gzip: 0.17 kB │ map: 0.87 kB 2026-10-24T18:50:16.7093468Z dist/assets/plus-DRJnlync.js 0.18 kB │ gzip: 0.17 kB │ map: 0.89 kB 2026-10-24T18:50:16.7093793Z dist/assets/FieldItemContext-D7F7CWCg.js 0.19 kB │ gzip: 0.18 kB │ map: 0.88 kB 2026-10-24T18:50:16.7094127Z dist/assets/arrow-up-Dxmh-8a4.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-24T18:50:16.7094442Z dist/assets/terminal-B7_CcXzt.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-24T18:50:16.7094761Z dist/assets/itemRows-DNgi4sqO.js 0.20 kB │ gzip: 0.17 kB │ map: 0.43 kB 2026-10-24T18:50:16.7095082Z dist/assets/arrow-down-CwiX2zUI.js 0.20 kB │ gzip: 0.18 kB │ map: 0.93 kB 2026-10-24T18:50:16.7095444Z dist/assets/RVARI57O-CgA1WoRv.js 0.20 kB │ gzip: 0.19 kB │ map: 0.64 kB 2026-10-24T18:50:16.7095769Z dist/assets/arrow-right-BV_nDoCV.js 0.20 kB │ gzip: 0.19 kB │ map: 0.94 kB 2026-10-24T18:50:16.7096094Z dist/assets/gauge--BDm3ivd.js 0.20 kB │ gzip: 0.19 kB │ map: 0.92 kB 2026-10-24T18:50:16.7096424Z dist/assets/chevrons-up-down-BkLK4jrE.js 0.21 kB │ gzip: 0.18 kB │ map: 0.98 kB 2026-10-24T18:50:16.7096751Z dist/assets/play-RXGUYyl2.js 0.22 kB │ gzip: 0.21 kB │ map: 0.90 kB 2026-10-24T18:50:16.7097166Z dist/assets/smartphone-D0Mgfa7D.js 0.23 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-24T18:50:16.7208483Z dist/assets/undo-2-CzUHuoIy.js 0.24 kB │ gzip: 0.20 kB │ map: 0.96 kB 2026-10-24T18:50:16.7288710Z dist/assets/circle-x-DkgNqhsK.js 0.24 kB │ gzip: 0.20 kB │ map: 1.05 kB 2026-10-24T18:50:16.7328396Z dist/assets/authRedirect-DWE5a_T9.js 0.25 kB │ gzip: 0.18 kB │ map: 1.23 kB 2026-10-24T18:50:16.7408732Z dist/assets/circle-arrow-up-Cnd0b-9q.js 0.26 kB │ gzip: 0.21 kB │ map: 1.11 kB 2026-10-24T18:50:16.7488484Z dist/assets/ellipsis-Ba3jR4KI.js 0.26 kB │ gzip: 0.19 kB │ map: 1.13 kB 2026-10-24T18:50:16.7581543Z dist/assets/log-in-axSX1Ul6.js 0.26 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-24T18:50:16.7688667Z dist/assets/useNavigate-BdNQZDbi.js 0.26 kB │ gzip: 0.22 kB │ map: 2.30 kB 2026-10-24T18:50:16.7728801Z dist/assets/useSearch-C-15Btex.js 0.26 kB │ gzip: 0.20 kB │ map: 1.53 kB 2026-10-24T18:50:16.7850052Z dist/assets/copy-tx2aQfww.js 0.26 kB │ gzip: 0.23 kB │ map: 1.04 kB 2026-10-24T18:50:16.7928451Z dist/assets/cloneFileDiffMetadata-zVRGqYgv.js 0.27 kB │ gzip: 0.19 kB │ map: 1.23 kB 2026-10-24T18:50:16.8008660Z dist/assets/ellipsis-vertical-BmW5_1NR.js 0.28 kB │ gzip: 0.20 kB │ map: 1.19 kB 2026-10-24T18:50:16.8048422Z dist/assets/square-terminal-DLKd3WZs.js 0.28 kB │ gzip: 0.23 kB │ map: 1.18 kB 2026-10-24T18:50:16.8168589Z dist/assets/eye-DcrgQArc.js 0.28 kB │ gzip: 0.23 kB │ map: 1.05 kB 2026-10-24T18:50:16.8249004Z dist/assets/circle-alert-pHfDBynR.js 0.29 kB │ gzip: 0.21 kB │ map: 1.20 kB 2026-10-24T18:50:16.8328538Z dist/assets/external-link-C-DWxBJN.js 0.29 kB │ gzip: 0.23 kB │ map: 1.10 kB 2026-10-24T18:50:16.8408565Z dist/assets/mouse-pointer-2--4WLvE3e.js 0.29 kB │ gzip: 0.24 kB │ map: 1.02 kB 2026-10-24T18:50:16.8448528Z dist/assets/pencil-60m8KW76.js 0.31 kB │ gzip: 0.25 kB │ map: 1.06 kB 2026-10-24T18:50:16.8528873Z dist/assets/pen-line-CmhjfyJg.js 0.31 kB │ gzip: 0.25 kB │ map: 1.07 kB 2026-10-24T18:50:16.8608600Z dist/assets/plug-2-D0EPU-J9.js 0.31 kB │ gzip: 0.23 kB │ map: 1.21 kB 2026-10-24T18:50:16.8729064Z dist/assets/list-checks-C0UyaVrI.js 0.31 kB │ gzip: 0.22 kB │ map: 1.24 kB 2026-10-24T18:50:16.8808542Z dist/assets/FormContext-Cu_ZKkKK.js 0.33 kB │ gzip: 0.26 kB │ map: 1.13 kB 2026-10-24T18:50:16.8888709Z dist/assets/archive-x-B1Lxt_ae.js 0.33 kB │ gzip: 0.25 kB │ map: 1.24 kB 2026-10-24T18:50:16.8968617Z dist/assets/message-square-off-CC4CSLfF.js 0.35 kB │ gzip: 0.27 kB │ map: 1.22 kB 2026-10-24T18:50:16.9048535Z dist/assets/refresh-cw-f0sYLYFw.js 0.35 kB │ gzip: 0.25 kB │ map: 1.22 kB 2026-10-24T18:50:16.9132263Z dist/assets/settings.general-CBpocPNC.js 0.36 kB │ gzip: 0.28 kB │ map: 0.84 kB 2026-10-24T18:50:16.9175503Z dist/assets/trash-2-BLtjvmSA.js 0.36 kB │ gzip: 0.24 kB │ map: 1.27 kB 2026-10-24T18:50:16.9288491Z dist/assets/camera-BPh_dJif.js 0.37 kB │ gzip: 0.28 kB │ map: 1.15 kB 2026-10-24T18:50:16.9328450Z dist/assets/server-CYq90Ros.js 0.37 kB │ gzip: 0.24 kB │ map: 1.43 kB 2026-10-24T18:50:16.9328840Z dist/assets/unlink-2-DC75hwNQ.js 0.38 kB │ gzip: 0.27 kB │ map: 1.83 kB 2026-10-24T18:50:16.9329162Z dist/assets/lock-B_0jes9T.js 0.39 kB │ gzip: 0.25 kB │ map: 1.93 kB 2026-10-24T18:50:16.9329526Z dist/assets/useLocation-CTd7qnEX.js 0.39 kB │ gzip: 0.28 kB │ map: 2.27 kB 2026-10-24T18:50:16.9329892Z dist/assets/settings.scheduled-tasks-C25NqE8G.js 0.40 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-24T18:50:16.9330249Z dist/assets/toastHelpers-CSQRKo4F.js 0.40 kB │ gzip: 0.26 kB │ map: 2.12 kB 2026-10-24T18:50:16.9330583Z dist/assets/grip-vertical-B4CDIMqL.js 0.41 kB │ gzip: 0.23 kB │ map: 1.57 kB 2026-10-24T18:50:16.9330939Z dist/assets/useT3ConnectAuthPrompt-Bp9nd_xR.js 0.41 kB │ gzip: 0.31 kB │ map: 0.95 kB 2026-10-24T18:50:16.9408532Z dist/assets/previewBridge-D1ZkxnXd.js 0.42 kB │ gzip: 0.29 kB │ map: 1.92 kB 2026-10-24T18:50:16.9489012Z dist/assets/K3MD6TGW-BVFj7622.js 0.42 kB │ gzip: 0.33 kB │ map: 1.02 kB 2026-10-24T18:50:16.9512802Z [plugin builtin:vite-reporter] 2026-10-24T18:50:16.9568850Z dist/assets/hammer-BtSyZFYT.js 0.42 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-24T18:50:16.9570669Z dist/assets/inbox-BGGCARsb.js 0.43 kB │ gzip: 0.32 kB │ map: 1.89 kB 2026-10-24T18:50:16.9607932Z (!) Some chunks are larger than 500 kB after minification. Consider: 2026-10-24T18:50:16.9728435Z - Using dynamic import() to code-split the application 2026-10-24T18:50:16.9729094Z dist/assets/mouse-pointer-click-BFW6AziF.js 0.46 kB │ gzip: 0.31 kB │ map: 1.46 kB 2026-10-24T18:50:16.9808363Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting 2026-10-24T18:50:16.9809088Z dist/assets/eye-off-CGiC01Xr.js 0.46 kB │ gzip: 0.30 kB │ map: 1.37 kB 2026-10-24T18:50:16.9860687Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. 2026-10-24T18:50:16.9968799Z dist/assets/sliders-horizontal-BHkPcwje.js 0.47 kB │ gzip: 0.26 kB │ map: 1.68 kB 2026-10-24T18:50:17.0088695Z dist/assets/folder-BUa2a6zj.js 0.47 kB │ gzip: 0.31 kB │ map: 1.87 kB 2026-10-24T18:50:17.0129204Z dist/assets/fileCommentAnnotations-BgdL_7u9.js 0.48 kB │ gzip: 0.30 kB │ map: 2.48 kB 2026-10-24T18:50:17.0208609Z dist/assets/radio-tower-B-fb5gOx.js 0.49 kB │ gzip: 0.32 kB │ map: 1.58 kB 2026-10-24T18:50:17.0328491Z dist/assets/redirect-D3L17tzd.js 0.49 kB │ gzip: 0.32 kB │ map: 3.46 kB 2026-10-24T18:50:17.0408536Z dist/assets/star-CSH4IHn1.js 0.50 kB │ gzip: 0.32 kB │ map: 1.18 kB 2026-10-24T18:50:17.0528560Z dist/assets/file-braces-DgOzaxUZ.js 0.50 kB │ gzip: 0.29 kB │ map: 1.44 kB 2026-10-24T18:50:17.0648564Z dist/assets/folder-tree-BjnUo84q.js 0.51 kB │ gzip: 0.29 kB │ map: 1.45 kB 2026-10-24T18:50:17.0728636Z dist/assets/5THPTBWS-Ce_hS451.js 0.52 kB │ gzip: 0.34 kB │ map: 1.60 kB 2026-10-24T18:50:17.0768524Z dist/assets/sparkles-RZkyvAwn.js 0.53 kB │ gzip: 0.31 kB │ map: 1.44 kB 2026-10-24T18:50:17.0808340Z dist/assets/ScopedSwitch-lnWi53M-.js 0.53 kB │ gzip: 0.39 kB │ map: 1.47 kB 2026-10-24T18:50:17.0808733Z dist/assets/browserLinkTarget-BAtKobZu.js 0.53 kB │ gzip: 0.36 kB │ map: 2.48 kB 2026-10-24T18:50:17.0809083Z dist/assets/TSHNXIZL-Dghhh7pa.js 0.53 kB │ gzip: 0.39 kB │ map: 1.34 kB 2026-10-24T18:50:17.0809403Z dist/assets/rows-3-DMely9jx.js 0.54 kB │ gzip: 0.31 kB │ map: 2.87 kB 2026-10-24T18:50:17.0809728Z dist/assets/onboarding-C1Oz6DfI.js 0.54 kB │ gzip: 0.32 kB │ map: 2.20 kB 2026-10-24T18:50:17.0810095Z dist/assets/triangle-alert-C5aZTDBX.js 0.57 kB │ gzip: 0.33 kB │ map: 2.93 kB 2026-10-24T18:50:17.0810447Z dist/assets/paintbrush-DCImhdDK.js 0.57 kB │ gzip: 0.37 kB │ map: 1.44 kB 2026-10-24T18:50:17.0810782Z dist/assets/useAriaLabelledBy-Bi8Q5m6s.js 0.58 kB │ gzip: 0.40 kB │ map: 3.53 kB 2026-10-24T18:50:17.0811122Z dist/assets/codeowners-C8r90Shi.js 0.58 kB │ gzip: 0.34 kB │ map: 1.09 kB 2026-10-24T18:50:17.0811447Z dist/assets/trending-up-PW95SRBw.js 0.59 kB │ gzip: 0.34 kB │ map: 2.90 kB 2026-10-24T18:50:17.0811771Z dist/assets/G3MDBVQH-BZmnMkFw.js 0.60 kB │ gzip: 0.38 kB │ map: 1.76 kB 2026-10-24T18:50:17.0812098Z dist/assets/use-atom-command-D9hGUni0.js 0.60 kB │ gzip: 0.39 kB │ map: 1.86 kB 2026-10-24T18:50:17.0812781Z dist/assets/usageAccess-GKWjPRJ3.js 0.62 kB │ gzip: 0.33 kB │ map: 2.05 kB 2026-10-24T18:50:17.0813221Z dist/assets/square-v7Oo0Y38.js 0.63 kB │ gzip: 0.38 kB │ map: 3.08 kB 2026-10-24T18:50:17.0813547Z dist/assets/composerTrigger-BP81K-4K.js 0.63 kB │ gzip: 0.38 kB │ map: 6.62 kB 2026-10-24T18:50:17.0813876Z dist/assets/jsx-runtime-DVMLLmEC.js 0.64 kB │ gzip: 0.44 kB │ map: 3.54 kB 2026-10-24T18:50:17.0814199Z dist/assets/monitor-DKhPzqUQ.js 0.64 kB │ gzip: 0.41 kB │ map: 2.90 kB 2026-10-24T18:50:17.0814515Z dist/assets/5GK6JWQ2-Czu8jFIQ.js 0.64 kB │ gzip: 0.47 kB │ map: 1.68 kB 2026-10-24T18:50:17.0814848Z dist/assets/runtimeModeConfig-C97PIe3m.js 0.64 kB │ gzip: 0.38 kB │ map: 1.52 kB 2026-10-24T18:50:17.0815217Z dist/assets/upload-BcSejyNp.js 0.66 kB │ gzip: 0.39 kB │ map: 2.48 kB 2026-10-24T18:50:17.0848242Z dist/assets/WorkspacePageContainer-CQo680N0.js 0.67 kB │ gzip: 0.48 kB │ map: 2.06 kB 2026-10-24T18:50:17.0968618Z dist/assets/CSPContext-L0FF4knb.js 0.71 kB │ gzip: 0.47 kB │ map: 4.09 kB 2026-10-24T18:50:17.1048675Z dist/assets/use-atom-query-runner-CmY9FSIq.js 0.71 kB │ gzip: 0.44 kB │ map: 2.46 kB 2026-10-24T18:50:17.1128572Z dist/assets/skeleton-DthhijD2.js 0.72 kB │ gzip: 0.48 kB │ map: 1.79 kB 2026-10-24T18:50:17.1208553Z dist/assets/layers-Dl99swt-.js 0.73 kB │ gzip: 0.38 kB │ map: 2.42 kB 2026-10-24T18:50:17.1248322Z dist/assets/shellsession-B6LP6YJG.js 0.76 kB │ gzip: 0.46 kB │ map: 1.37 kB 2026-10-24T18:50:17.1248717Z dist/assets/usageShortcuts-DvnULCJF.js 0.76 kB │ gzip: 0.44 kB │ map: 2.41 kB 2026-10-24T18:50:17.1249092Z dist/assets/tsv-sltzmVWM.js 0.77 kB │ gzip: 0.37 kB │ map: 1.38 kB 2026-10-24T18:50:17.1249432Z dist/assets/MathTypeset-DobG5nCe.js 0.82 kB │ gzip: 0.56 kB │ map: 26.87 kB 2026-10-24T18:50:17.1249757Z dist/assets/DKTLEL5E-DciMwFJ1.js 0.87 kB │ gzip: 0.43 kB │ map: 2.42 kB 2026-10-24T18:50:17.1250087Z dist/assets/useNavigateBack-BEm-_UnX.js 0.88 kB │ gzip: 0.56 kB │ map: 3.67 kB 2026-10-24T18:50:17.1250418Z dist/assets/pair-CNdEVxbP.js 0.88 kB │ gzip: 0.55 kB │ map: 3.77 kB 2026-10-24T18:50:17.1250746Z dist/assets/html-derivative-QfWcQxux.js 0.89 kB │ gzip: 0.49 kB │ map: 1.46 kB 2026-10-24T18:50:17.1251093Z dist/assets/useRelativeTimeState-B8Lvd7C7.js 0.90 kB │ gzip: 0.54 kB │ map: 3.30 kB 2026-10-24T18:50:17.1251444Z dist/assets/SecretInput-D1d_PLWX.js 0.90 kB │ gzip: 0.60 kB │ map: 2.97 kB 2026-10-24T18:50:17.1251776Z dist/assets/linkedPrompt-Buqeb6jf.js 0.91 kB │ gzip: 0.53 kB │ map: 2.66 kB 2026-10-24T18:50:17.1252102Z dist/assets/kbd-q0iIIrxU.js 0.99 kB │ gzip: 0.51 kB │ map: 2.57 kB 2026-10-24T18:50:17.1252450Z dist/assets/useScopedModelAvailability-CHLrZV_J.js 0.99 kB │ gzip: 0.60 kB │ map: 4.94 kB 2026-10-24T18:50:17.1252803Z dist/assets/74OO7NKP-KbbTmrNL.js 1.01 kB │ gzip: 0.62 kB │ map: 2.78 kB 2026-10-24T18:50:17.1253127Z dist/assets/draft-input-NGlHpesR.js 1.02 kB │ gzip: 0.66 kB │ map: 4.35 kB 2026-10-24T18:50:17.1253461Z dist/assets/git-rebase-Bl-U2xaZ.js 1.03 kB │ gzip: 0.47 kB │ map: 1.72 kB 2026-10-24T18:50:17.1253782Z dist/assets/qmldir-DCQb3MpD.js 1.03 kB │ gzip: 0.48 kB │ map: 1.74 kB 2026-10-24T18:50:17.1254800Z dist/assets/WEVWDWVA-q8huAaRM.js 1.07 kB │ gzip: 0.57 kB │ map: 2.98 kB 2026-10-24T18:50:17.1255112Z dist/assets/type-IZznv1At.js 1.07 kB │ gzip: 0.52 kB │ map: 4.84 kB 2026-10-24T18:50:17.1255451Z dist/assets/git-pull-request-draft-Dd5x8xqM.js 1.09 kB │ gzip: 0.44 kB │ map: 5.05 kB 2026-10-24T18:50:17.1255796Z dist/assets/user-lock-3dt3yw_X.js 1.09 kB │ gzip: 0.50 kB │ map: 4.74 kB 2026-10-24T18:50:17.1256118Z dist/assets/sun-B8Xysd5K.js 1.11 kB │ gzip: 0.52 kB │ map: 4.01 kB 2026-10-24T18:50:17.1256425Z dist/assets/route-DV_JcBsb.js 1.12 kB │ gzip: 0.51 kB │ map: 4.41 kB 2026-10-24T18:50:17.1256742Z dist/assets/wrench-Ct0tGnPy.js 1.15 kB │ gzip: 0.57 kB │ map: 3.90 kB 2026-10-24T18:50:17.1257129Z dist/assets/pullRequestReviewStore-BSc2d-p3.js 1.15 kB │ gzip: 0.57 kB │ map: 5.66 kB 2026-10-24T18:50:17.1257468Z dist/assets/csv-Dx-8-gkx.js 1.17 kB │ gzip: 0.40 kB │ map: 2.00 kB 2026-10-24T18:50:17.1257788Z dist/assets/observeResize-DJYP5Xxm.js 1.19 kB │ gzip: 0.64 kB │ map: 5.33 kB 2026-10-24T18:50:17.1258122Z dist/assets/minimize-2-BWhrEW73.js 1.20 kB │ gzip: 0.59 kB │ map: 5.47 kB 2026-10-24T18:50:17.1258452Z dist/assets/ExpandableText-BDLHLtx_.js 1.23 kB │ gzip: 0.77 kB │ map: 5.16 kB 2026-10-24T18:50:17.1258784Z dist/assets/git-commit-BSykSTBG.js 1.27 kB │ gzip: 0.56 kB │ map: 2.07 kB 2026-10-24T18:50:17.1259192Z dist/assets/WorkspacePageHeader-Xu6dKxMf.js 1.30 kB │ gzip: 0.69 kB │ map: 4.15 kB 2026-10-24T18:50:17.1288200Z dist/assets/discovery-list-B2Nkc9ye.js 1.39 kB │ gzip: 0.76 kB │ map: 4.07 kB 2026-10-24T18:50:17.1288600Z dist/assets/xsl-Bqr2UbU6.js 1.40 kB │ gzip: 0.53 kB │ map: 2.22 kB 2026-10-24T18:50:17.1288933Z dist/assets/AuthSurfaceShell-CxUAgLPa.js 1.42 kB │ gzip: 0.75 kB │ map: 5.23 kB 2026-10-24T18:50:17.1289269Z dist/assets/semver-CFbvOQKc.js 1.42 kB │ gzip: 0.64 kB │ map: 9.55 kB 2026-10-24T18:50:17.1289624Z dist/assets/6IMQ5BUJ-7zGfOhIR.js 1.43 kB │ gzip: 0.79 kB │ map: 3.49 kB 2026-10-24T18:50:17.1289949Z dist/assets/dotenv-_5a1GRtc.js 1.45 kB │ gzip: 0.56 kB │ map: 2.34 kB 2026-10-24T18:50:17.1290273Z dist/assets/CommandBlock-DN7pW8Mw.js 1.48 kB │ gzip: 0.89 kB │ map: 4.75 kB 2026-10-24T18:50:17.1290597Z dist/assets/sparql-D_iOobhT.js 1.52 kB │ gzip: 0.84 kB │ map: 2.14 kB 2026-10-24T18:50:17.1290916Z dist/assets/ini-B5eOa1yu.js 1.55 kB │ gzip: 0.52 kB │ map: 2.47 kB 2026-10-24T18:50:17.1291239Z dist/assets/sourceControl-D9JhZfd2.js 1.56 kB │ gzip: 0.52 kB │ map: 5.30 kB 2026-10-24T18:50:17.1291597Z dist/assets/RedactedSensitiveText-C82BVuph.js 1.56 kB │ gzip: 0.96 kB │ map: 6.24 kB 2026-10-24T18:50:17.1291966Z dist/assets/previewMiniPlayerStore-CqA1Dzg1.js 1.56 kB │ gzip: 0.71 kB │ map: 8.23 kB 2026-10-24T18:50:17.1292331Z dist/assets/EnvironmentMachineIcon-Dn2Jsifk.js 1.66 kB │ gzip: 0.80 kB │ map: 4.92 kB 2026-10-24T18:50:17.1292679Z dist/assets/5N7A7DKN-fp_1NHnh.js 1.67 kB │ gzip: 0.96 kB │ map: 4.05 kB 2026-10-24T18:50:17.1292997Z dist/assets/preview-BZTXkehL.js 1.71 kB │ gzip: 0.59 kB │ map: 6.09 kB 2026-10-24T18:50:17.1293918Z dist/assets/fortran-fixed-form-DEKoE2YW.js 1.71 kB │ gzip: 0.72 kB │ map: 2.77 kB 2026-10-24T18:50:17.1294268Z dist/assets/ConnectionStatusDot-pIHmdml_.js 1.73 kB │ gzip: 0.92 kB │ map: 5.60 kB 2026-10-24T18:50:17.1294623Z dist/assets/T3ConnectSidebarSignIn-DvAmzPUO.js 1.75 kB │ gzip: 0.81 kB │ map: 5.39 kB 2026-10-24T18:50:17.1294961Z dist/assets/docker-IyjqRm3v.js 1.77 kB │ gzip: 0.63 kB │ map: 2.65 kB 2026-10-24T18:50:17.1295269Z dist/assets/hxml-B0Qn7Nwc.js 1.78 kB │ gzip: 0.91 kB │ map: 2.51 kB 2026-10-24T18:50:17.1295600Z dist/assets/WorkspaceBreadcrumb-v6hA4LxS.js 1.80 kB │ gzip: 0.89 kB │ map: 5.93 kB 2026-10-24T18:50:17.1295930Z dist/assets/session-CrDWTIMl.js 1.81 kB │ gzip: 0.90 kB │ map: 8.91 kB 2026-10-24T18:50:17.1296252Z dist/assets/query-CXjRArpJ.js 1.81 kB │ gzip: 0.97 kB │ map: 8.50 kB 2026-10-24T18:50:17.1296579Z dist/assets/mediaSource-CpvozjfE.js 1.84 kB │ gzip: 0.91 kB │ map: 9.78 kB 2026-10-24T18:50:17.1296950Z dist/assets/desktop-Dlh5hvp9.js 1.87 kB │ gzip: 0.78 kB │ map: 2.76 kB 2026-10-24T18:50:17.1297269Z dist/assets/user-round-DIWQPoBt.js 1.87 kB │ gzip: 0.76 kB │ map: 8.43 kB 2026-10-24T18:50:17.1297596Z dist/assets/memory-stick-CTKyzUTl.js 1.89 kB │ gzip: 0.77 kB │ map: 7.67 kB 2026-10-24T18:50:17.1297918Z dist/assets/7WLXJQOR-D6QVYUu9.js 1.99 kB │ gzip: 1.00 kB │ map: 2.80 kB 2026-10-24T18:50:17.1298246Z dist/assets/attachments-DSO0qYHZ.js 2.05 kB │ gzip: 0.89 kB │ map: 10.19 kB 2026-10-24T18:50:17.1298578Z dist/assets/NoProjectsHero-C_JNzOiU.js 2.05 kB │ gzip: 1.06 kB │ map: 8.31 kB 2026-10-24T18:50:17.1298910Z dist/assets/textarea-xLwf8Jn2.js 2.05 kB │ gzip: 1.02 kB │ map: 7.13 kB 2026-10-24T18:50:17.1299244Z dist/assets/ProviderAuthTerminal-BnnXrfbb.js 2.13 kB │ gzip: 1.13 kB │ map: 8.51 kB 2026-10-24T18:50:17.1299661Z dist/assets/search-xLME8fgJ.js 2.16 kB │ gzip: 1.13 kB │ map: 13.13 kB 2026-10-24T18:50:17.1328093Z dist/assets/erb-C0PT2tVJ.js 2.17 kB │ gzip: 0.65 kB │ map: 3.34 kB 2026-10-24T18:50:17.1328495Z dist/assets/5B3SVYGG-DSXl8rQs.js 2.17 kB │ gzip: 1.10 kB │ map: 5.94 kB 2026-10-24T18:50:17.1328822Z dist/assets/wenyan-C8pVoKbM.js 2.19 kB │ gzip: 1.13 kB │ map: 3.19 kB 2026-10-24T18:50:17.1368033Z dist/assets/AnimatedHeight-B61eSkpy.js 2.20 kB │ gzip: 1.11 kB │ map: 10.50 kB 2026-10-24T18:50:17.1368460Z dist/assets/assetUrls-BYsyiPUx.js 2.23 kB │ gzip: 1.17 kB │ map: 8.60 kB 2026-10-24T18:50:17.1368788Z dist/assets/jssm-DXw9l8Rf.js 2.27 kB │ gzip: 0.64 kB │ map: 3.39 kB 2026-10-24T18:50:17.1369114Z dist/assets/EnvironmentRow-B4pqHYEE.js 2.29 kB │ gzip: 1.23 kB │ map: 8.55 kB 2026-10-24T18:50:17.1369458Z dist/assets/fileLinks-DZ4N2AY5.js 2.33 kB │ gzip: 1.11 kB │ map: 11.00 kB 2026-10-24T18:50:17.1369776Z dist/assets/edge-DbocH-4h.js 2.34 kB │ gzip: 0.70 kB │ map: 3.63 kB 2026-10-24T18:50:17.1370090Z dist/assets/reg-CRGYupPL.js 2.37 kB │ gzip: 0.72 kB │ map: 3.51 kB 2026-10-24T18:50:17.1370423Z dist/assets/usePermissionStatus-C9E8TDI0.js 2.41 kB │ gzip: 1.26 kB │ map: 10.74 kB 2026-10-24T18:50:17.1371362Z dist/assets/useResizeDrag-K16rNICO.js 2.52 kB │ gzip: 1.17 kB │ map: 10.38 kB 2026-10-24T18:50:17.1371796Z dist/assets/square-pen-Bre3KHiZ.js 2.53 kB │ gzip: 1.08 kB │ map: 11.16 kB 2026-10-24T18:50:17.1372124Z dist/assets/FTXIJQGB-CggtIYAM.js 2.58 kB │ gzip: 1.15 kB │ map: 4.98 kB 2026-10-24T18:50:17.1372436Z dist/assets/diff-woXpYk--.js 2.60 kB │ gzip: 0.72 kB │ map: 3.86 kB 2026-10-24T18:50:17.1372788Z dist/assets/sourceControlPresentation-B2xQxkf8.js 2.60 kB │ gzip: 1.35 kB │ map: 13.27 kB 2026-10-24T18:50:17.1373132Z dist/assets/gleam-CSRkHgEL.js 2.61 kB │ gzip: 0.85 kB │ map: 3.99 kB 2026-10-24T18:50:17.1373448Z dist/assets/connect-BhOyEiRy.js 2.63 kB │ gzip: 1.40 kB │ map: 10.10 kB 2026-10-24T18:50:17.1373766Z dist/assets/hy-CZbG8q4J.js 2.68 kB │ gzip: 1.21 kB │ map: 3.69 kB 2026-10-24T18:50:17.1374103Z dist/assets/sidebarProjectGrouping-DToDx9nt.js 2.75 kB │ gzip: 1.00 kB │ map: 11.52 kB 2026-10-24T18:50:17.1374452Z dist/assets/openscad-BUDT5pXO.js 2.86 kB │ gzip: 1.04 kB │ map: 4.23 kB 2026-10-24T18:50:17.1374763Z dist/assets/log-BNLmms1o.js 2.88 kB │ gzip: 0.93 kB │ map: 4.35 kB 2026-10-24T18:50:17.1375091Z dist/assets/standalone-page-BuwC2fNh.js 2.89 kB │ gzip: 1.25 kB │ map: 10.07 kB 2026-10-24T18:50:17.1375414Z dist/assets/json-CU5hZXC7.js 2.92 kB │ gzip: 0.85 kB │ map: 4.35 kB 2026-10-24T18:50:17.1375729Z dist/assets/preview-BxytLaWt.js 2.95 kB │ gzip: 1.40 kB │ map: 11.90 kB 2026-10-24T18:50:17.1376047Z dist/assets/cairo-DLTphjLi.js 2.97 kB │ gzip: 0.83 kB │ map: 4.57 kB 2026-10-24T18:50:17.1376376Z dist/assets/berry-DKpUyyne.js 3.04 kB │ gzip: 0.84 kB │ map: 4.85 kB 2026-10-24T18:50:17.1376687Z dist/assets/jsonl-CmCQp5Yx.js 3.04 kB │ gzip: 0.82 kB │ map: 4.51 kB 2026-10-24T18:50:17.1377053Z dist/assets/jsonc-CYpm1nAK.js 3.14 kB │ gzip: 0.82 kB │ map: 4.61 kB 2026-10-24T18:50:17.1377365Z dist/assets/logo-Cluzi2Zq.js 3.16 kB │ gzip: 1.50 kB │ map: 3.82 kB 2026-10-24T18:50:17.1377690Z dist/assets/textDirection-Dl1FcFhH.js 3.22 kB │ gzip: 1.47 kB │ map: 9.42 kB 2026-10-24T18:50:17.1378014Z dist/assets/device-Gt1L-a6t.js 3.24 kB │ gzip: 1.43 kB │ map: 15.42 kB 2026-10-24T18:50:17.1378327Z dist/assets/po-BiJDBrnU.js 3.27 kB │ gzip: 0.94 kB │ map: 5.09 kB 2026-10-24T18:50:17.1378642Z dist/assets/json5-BR5RXkoi.js 3.29 kB │ gzip: 0.86 kB │ map: 4.96 kB 2026-10-24T18:50:17.1378967Z dist/assets/mipsasm-BMqwQI7S.js 3.29 kB │ gzip: 1.21 kB │ map: 4.68 kB 2026-10-24T18:50:17.1379279Z dist/assets/tasl-DMoTqEGO.js 3.32 kB │ gzip: 0.88 kB │ map: 5.13 kB 2026-10-24T18:50:17.1379595Z dist/assets/genie-CV2tkWYe.js 3.39 kB │ gzip: 1.24 kB │ map: 4.87 kB 2026-10-24T18:50:17.1379908Z dist/assets/rel-BtDbiS_P.js 3.40 kB │ gzip: 1.14 kB │ map: 4.88 kB 2026-10-24T18:50:17.1408092Z dist/assets/vala-zf12oZj6.js 3.40 kB │ gzip: 1.22 kB │ map: 4.90 kB 2026-10-24T18:50:17.1448040Z dist/assets/6OLKWJ4F-CwMyr9L9.js 3.47 kB │ gzip: 1.64 kB │ map: 8.16 kB 2026-10-24T18:50:17.1448871Z dist/assets/splunk-BC2Px7Mm.js 3.47 kB │ gzip: 1.55 kB │ map: 4.45 kB 2026-10-24T18:50:17.1449332Z dist/assets/FoldedSettingsSection-DpgVnHU5.js 3.51 kB │ gzip: 1.64 kB │ map: 18.85 kB 2026-10-24T18:50:17.1449670Z dist/assets/users-JCKA3SAz.js 3.52 kB │ gzip: 1.35 kB │ map: 15.98 kB 2026-10-24T18:50:17.1449984Z dist/assets/hurl-Bjvvc9lj.js 3.55 kB │ gzip: 1.13 kB │ map: 5.48 kB 2026-10-24T18:50:17.1450321Z dist/assets/panel-tab-close-button-CZ4jI7QJ.js 3.63 kB │ gzip: 1.89 kB │ map: 15.33 kB 2026-10-24T18:50:17.1450672Z dist/assets/usageFormat-DuZxQoMk.js 3.63 kB │ gzip: 1.47 kB │ map: 14.84 kB 2026-10-24T18:50:17.1450997Z dist/assets/fluent-C03EYrpw.js 3.64 kB │ gzip: 0.93 kB │ map: 5.21 kB 2026-10-24T18:50:17.1451317Z dist/assets/jsonnet-CJTPZ8u_.js 3.65 kB │ gzip: 1.07 kB │ map: 5.43 kB 2026-10-24T18:50:17.1451647Z dist/assets/ssh-config-BgfXC-Er.js 3.65 kB │ gzip: 1.63 kB │ map: 4.50 kB 2026-10-24T18:50:17.1451966Z dist/assets/kdl-CsD5j6eV.js 3.66 kB │ gzip: 1.07 kB │ map: 5.51 kB 2026-10-24T18:50:17.1452277Z dist/assets/narrat-_X_XdTYD.js 3.70 kB │ gzip: 1.13 kB │ map: 5.43 kB 2026-10-24T18:50:17.1452594Z dist/assets/glsl-B3Z4Qj6t.js 3.73 kB │ gzip: 1.48 kB │ map: 4.44 kB 2026-10-24T18:50:17.1452918Z dist/assets/t3ProjectFile-Cr9it1bJ.js 3.73 kB │ gzip: 1.53 kB │ map: 21.80 kB 2026-10-24T18:50:17.1453243Z dist/assets/turtle-ByJddavk.js 3.73 kB │ gzip: 1.00 kB │ map: 5.50 kB 2026-10-24T18:50:17.1453559Z dist/assets/threadSort-bjHzZAxR.js 3.75 kB │ gzip: 1.60 kB │ map: 20.16 kB 2026-10-24T18:50:17.1453900Z dist/assets/lazyRouteComponent-COGXFuJd.js 3.80 kB │ gzip: 1.38 kB │ map: 25.98 kB 2026-10-24T18:50:17.1454246Z dist/assets/ProjectMonogram-CwqOGjQa.js 3.83 kB │ gzip: 1.57 kB │ map: 12.77 kB 2026-10-24T18:50:17.1454571Z dist/assets/ron-VUp2lXgN.js 3.94 kB │ gzip: 1.01 kB │ map: 6.03 kB 2026-10-24T18:50:17.1454882Z dist/assets/zenscript-BnlCZFoB.js 3.95 kB │ gzip: 1.31 kB │ map: 5.76 kB 2026-10-24T18:50:17.1455211Z dist/assets/toggle-group-Dwc8mgA3.js 3.98 kB │ gzip: 1.70 kB │ map: 17.27 kB 2026-10-24T18:50:17.1455531Z dist/assets/workflow-DZg1siTd.js 3.99 kB │ gzip: 1.44 kB │ map: 18.04 kB 2026-10-24T18:50:17.1455842Z dist/assets/gn-ilITqXS6.js 4.03 kB │ gzip: 1.52 kB │ map: 5.28 kB 2026-10-24T18:50:17.1456172Z dist/assets/SettingsPanels.logic-CrWhYf3o.js 4.08 kB │ gzip: 1.35 kB │ map: 14.38 kB 2026-10-24T18:50:17.1456513Z dist/assets/alert-fhaO1uk2.js 4.12 kB │ gzip: 1.62 kB │ map: 13.51 kB 2026-10-24T18:50:17.1456867Z dist/assets/CompositeRoot-Cmn2wyVp.js 4.13 kB │ gzip: 1.93 kB │ map: 20.99 kB 2026-10-24T18:50:17.1457199Z dist/assets/toggle-CsODxI92.js 4.13 kB │ gzip: 1.72 kB │ map: 11.55 kB 2026-10-24T18:50:17.1457529Z dist/assets/SettingsScopeNotice-CrnJrST_.js 4.14 kB │ gzip: 1.91 kB │ map: 19.31 kB 2026-10-24T18:50:17.1457867Z dist/assets/CXAC5362-CTpYE4Mz.js 4.17 kB │ gzip: 1.97 kB │ map: 10.66 kB 2026-10-24T18:50:17.1458182Z dist/assets/pascal-4ZHwLPI5.js 4.18 kB │ gzip: 1.71 kB │ map: 5.54 kB 2026-10-24T18:50:17.1458496Z dist/assets/empty-DNG_YMhj.js 4.19 kB │ gzip: 1.46 kB │ map: 11.56 kB 2026-10-24T18:50:17.1459206Z dist/assets/desktopUpdate.logic-TFtP8MzJ.js 4.20 kB │ gzip: 1.69 kB │ map: 15.14 kB 2026-10-24T18:50:17.1459584Z dist/assets/vcsRefInvalidation-Bvr0aPST.js 4.23 kB │ gzip: 2.06 kB │ map: 30.70 kB 2026-10-24T18:50:17.1459911Z dist/assets/http-Dz--gbJ7.js 4.45 kB │ gzip: 1.09 kB │ map: 6.78 kB 2026-10-24T18:50:17.1460308Z dist/assets/tcl-CZd0xW_V.js 4.46 kB │ gzip: 1.54 kB │ map: 6.48 kB 2026-10-24T18:50:17.1528202Z dist/assets/timestampFormat-BBUHLb6E.js 4.46 kB │ gzip: 1.58 kB │ map: 20.84 kB 2026-10-24T18:50:17.1568201Z dist/assets/useParams-BhgttKpd.js 4.53 kB │ gzip: 2.00 kB │ map: 26.30 kB 2026-10-24T18:50:17.1608130Z dist/assets/nextflow-BJtWHP5T.js 4.55 kB │ gzip: 1.20 kB │ map: 6.87 kB 2026-10-24T18:50:17.1608557Z dist/assets/rosmsg-CAekHB0j.js 4.56 kB │ gzip: 1.09 kB │ map: 6.76 kB 2026-10-24T18:50:17.1608924Z dist/assets/projectFilesQueryState-CTEfJErD.js 4.59 kB │ gzip: 2.21 kB │ map: 20.23 kB 2026-10-24T18:50:17.1609295Z dist/assets/polar-C7UOKdEL.js 4.70 kB │ gzip: 1.16 kB │ map: 7.26 kB 2026-10-24T18:50:17.1609607Z dist/assets/assets-DCnUgLPa.js 4.72 kB │ gzip: 2.11 kB │ map: 22.56 kB 2026-10-24T18:50:17.1609921Z dist/assets/sdbl-bTVj8UrX.js 4.73 kB │ gzip: 2.04 kB │ map: 5.90 kB 2026-10-24T18:50:17.1610232Z dist/assets/fennel-DQxkIbk2.js 4.80 kB │ gzip: 1.57 kB │ map: 6.43 kB 2026-10-24T18:50:17.1610550Z dist/assets/bibtex-Ci_nEsc7.js 4.83 kB │ gzip: 0.86 kB │ map: 7.03 kB 2026-10-24T18:50:17.1610879Z dist/assets/settings.archived-BJqweO5F.js 5.02 kB │ gzip: 2.17 kB │ map: 31.79 kB 2026-10-24T18:50:17.1611213Z dist/assets/llvm-Cm23YOpf.js 5.08 kB │ gzip: 2.04 kB │ map: 6.68 kB 2026-10-24T18:50:17.1611559Z dist/assets/HDGCDEEZ-CkNYPmOZ.js 5.17 kB │ gzip: 2.48 kB │ map: 13.05 kB 2026-10-24T18:50:17.1611873Z dist/assets/wgsl-BsKzXJz4.js 5.17 kB │ gzip: 1.42 kB │ map: 7.51 kB 2026-10-24T18:50:17.1612192Z dist/assets/keybindings-BVxqoI2w.js 5.32 kB │ gzip: 2.13 kB │ map: 28.47 kB 2026-10-24T18:50:17.1612526Z dist/assets/gdresource-C0sCabJj.js 5.33 kB │ gzip: 1.36 kB │ map: 7.81 kB 2026-10-24T18:50:17.1612848Z dist/assets/5S6HY5KT-DPnYj_ks.js 5.35 kB │ gzip: 2.67 kB │ map: 13.95 kB 2026-10-24T18:50:17.1613172Z dist/assets/zig-CMLA9XwU.js 5.37 kB │ gzip: 1.59 kB │ map: 7.87 kB 2026-10-24T18:50:17.1613487Z dist/assets/qml-DyjGyXLX.js 5.37 kB │ gzip: 1.41 kB │ map: 8.17 kB 2026-10-24T18:50:17.1613796Z dist/assets/dax-BkyTk9wS.js 5.39 kB │ gzip: 2.25 kB │ map: 6.77 kB 2026-10-24T18:50:17.1614106Z dist/assets/bicep-CUHmPFLl.js 5.41 kB │ gzip: 1.18 kB │ map: 7.92 kB 2026-10-24T18:50:17.1614452Z dist/assets/ReadOnlySourcePreview-Jik8MxZm.js 5.45 kB │ gzip: 2.22 kB │ map: 19.88 kB 2026-10-24T18:50:17.1614787Z dist/assets/xml-D1Mu8RCW.js 5.47 kB │ gzip: 1.27 kB │ map: 7.90 kB 2026-10-24T18:50:17.1615100Z dist/assets/awk-BWXHIvNe.js 5.49 kB │ gzip: 1.41 kB │ map: 8.00 kB 2026-10-24T18:50:17.1615407Z dist/assets/coq-BrsZFFmf.js 5.58 kB │ gzip: 1.95 kB │ map: 7.52 kB 2026-10-24T18:50:17.1616138Z dist/assets/jinja-C4P3y_qB.js 5.67 kB │ gzip: 1.39 kB │ map: 8.57 kB 2026-10-24T18:50:17.1616571Z dist/assets/mediaReference-D4qQ_wNG.js 5.76 kB │ gzip: 2.54 kB │ map: 26.43 kB 2026-10-24T18:50:17.1617029Z dist/assets/guideRunStore-B4lCQ816.js 5.76 kB │ gzip: 2.56 kB │ map: 26.90 kB 2026-10-24T18:50:17.1617566Z dist/assets/UQJE5E4I-ghXK6FgY.js 5.77 kB │ gzip: 2.88 kB │ map: 16.01 kB 2026-10-24T18:50:17.1617929Z dist/assets/settings-CFJQ5y_i.js 5.78 kB │ gzip: 2.48 kB │ map: 23.03 kB 2026-10-24T18:50:17.1618340Z dist/assets/primary-D64nutcD.js 5.80 kB │ gzip: 2.28 kB │ map: 25.91 kB 2026-10-24T18:50:17.1632236Z dist/assets/lean-CewbzKMR.js 5.81 kB │ gzip: 1.95 kB │ map: 7.88 kB 2026-10-24T18:50:17.1632606Z dist/assets/moonbit-CaWjb8XO.js 5.93 kB │ gzip: 1.71 kB │ map: 8.68 kB 2026-10-24T18:50:17.1632951Z dist/assets/powerquery-DNMTfnFr.js 5.94 kB │ gzip: 1.54 kB │ map: 8.52 kB 2026-10-24T18:50:17.1633379Z dist/assets/shaderlab-TOUzSsQk.js 5.96 kB │ gzip: 2.11 kB │ map: 7.73 kB 2026-10-24T18:50:17.1693027Z dist/assets/verilog-CiiDBU1e.js 5.96 kB │ gzip: 1.93 kB │ map: 8.03 kB 2026-10-24T18:50:17.1733917Z dist/assets/cypher-ClKdZ_lG.js 5.99 kB │ gzip: 1.75 kB │ map: 8.44 kB 2026-10-24T18:50:17.1768144Z dist/assets/zap-CU6xHUKO.js 6.12 kB │ gzip: 2.29 kB │ map: 26.87 kB 2026-10-24T18:50:17.1808604Z dist/assets/vb-Djn5o6TS.js 6.12 kB │ gzip: 2.37 kB │ map: 8.05 kB 2026-10-24T18:50:17.1848174Z dist/assets/input-group-wfeYKTIA.js 6.15 kB │ gzip: 1.93 kB │ map: 11.42 kB 2026-10-24T18:50:17.1928274Z dist/assets/color-picker-DyvMNm9H.js 6.27 kB │ gzip: 2.93 kB │ map: 27.68 kB 2026-10-24T18:50:17.1928689Z dist/assets/KeybindingsSettings.logic-DXZijmau.js 6.28 kB │ gzip: 2.55 kB │ map: 27.02 kB 2026-10-24T18:50:17.1929061Z dist/assets/red-CJ3rzSJv.js 6.30 kB │ gzip: 1.63 kB │ map: 8.89 kB 2026-10-24T18:50:17.1929383Z dist/assets/min-dark-BSWPekZh.js 6.33 kB │ gzip: 1.74 kB │ map: 8.63 kB 2026-10-24T18:50:17.1929711Z dist/assets/gdshader-CBce3t8t.js 6.36 kB │ gzip: 1.75 kB │ map: 9.20 kB 2026-10-24T18:50:17.1930033Z dist/assets/prisma-BsRQq5mF.js 6.36 kB │ gzip: 1.42 kB │ map: 9.28 kB 2026-10-24T18:50:17.1930347Z dist/assets/ara-4CJ0cIlV.js 6.39 kB │ gzip: 1.84 kB │ map: 9.26 kB 2026-10-24T18:50:17.1932066Z dist/assets/ConnectionDiagnosisDetails-LUECjXHD.js 6.40 kB │ gzip: 2.81 kB │ map: 28.56 kB 2026-10-24T18:50:17.1932438Z dist/assets/DYY6UVD2-C0RTyWgb.js 6.44 kB │ gzip: 3.05 kB │ map: 16.52 kB 2026-10-24T18:50:17.1932763Z dist/assets/clojure-DqKBuwfJ.js 6.45 kB │ gzip: 1.45 kB │ map: 9.29 kB 2026-10-24T18:50:17.1933086Z dist/assets/postcss-BXeXVLqQ.js 6.45 kB │ gzip: 1.94 kB │ map: 9.12 kB 2026-10-24T18:50:17.1933401Z dist/assets/toml-CcmNWLt0.js 6.46 kB │ gzip: 1.31 kB │ map: 9.48 kB 2026-10-24T18:50:17.1933734Z dist/assets/solarized-light-DSh2HLQt.js 6.53 kB │ gzip: 1.75 kB │ map: 9.25 kB 2026-10-24T18:50:17.1934096Z dist/assets/scheduledTasksSettings.logic-GtruRGsQ.js 6.53 kB │ gzip: 2.67 kB │ map: 25.74 kB 2026-10-24T18:50:17.1934461Z dist/assets/proto-DB4EqR-F.js 6.58 kB │ gzip: 1.45 kB │ map: 9.91 kB 2026-10-24T18:50:17.1934790Z dist/assets/smalltalk-B16xEiuN.js 6.62 kB │ gzip: 1.65 kB │ map: 9.26 kB 2026-10-24T18:50:17.1935108Z dist/assets/r-D4tONY_S.js 6.63 kB │ gzip: 1.86 kB │ map: 10.16 kB 2026-10-24T18:50:17.1935423Z dist/assets/talonscript-CohzipZa.js 6.79 kB │ gzip: 1.52 kB │ map: 10.08 kB 2026-10-24T18:50:17.1935765Z dist/assets/solarized-dark-DV17i1UV.js 6.89 kB │ gzip: 1.81 kB │ map: 9.71 kB 2026-10-24T18:50:17.1936090Z dist/assets/riscv-Ckw8ddFX.js 6.95 kB │ gzip: 2.01 kB │ map: 9.60 kB 2026-10-24T18:50:17.1936405Z dist/assets/soy-BZidhfq9.js 6.96 kB │ gzip: 1.66 kB │ map: 10.74 kB 2026-10-24T18:50:17.1936725Z dist/assets/min-light-DDpmG2fV.js 7.01 kB │ gzip: 1.92 kB │ map: 9.56 kB 2026-10-24T18:50:17.1937099Z dist/assets/4UO7MD6I-Lx7qM2RP.js 7.08 kB │ gzip: 3.24 kB │ map: 18.76 kB 2026-10-24T18:50:17.1937417Z dist/assets/scheme-DQCgrYNe.js 7.20 kB │ gzip: 2.08 kB │ map: 9.80 kB 2026-10-24T18:50:17.1937736Z dist/assets/O7XIQ6OM-Dhyif5yu.js 7.27 kB │ gzip: 3.30 kB │ map: 19.44 kB 2026-10-24T18:50:17.1938049Z dist/assets/hlsl-Cvrh5tZx.js 7.29 kB │ gzip: 2.21 kB │ map: 9.25 kB 2026-10-24T18:50:17.1938367Z dist/assets/YVG2LODB-DW_jCZ-q.js 7.34 kB │ gzip: 3.34 kB │ map: 18.98 kB 2026-10-24T18:50:17.1938680Z dist/assets/qss-Fe1Jh2GI.js 7.50 kB │ gzip: 2.60 kB │ map: 9.41 kB 2026-10-24T18:50:17.1939004Z dist/assets/collapsible-B9GwRtDO.js 7.51 kB │ gzip: 3.04 kB │ map: 47.01 kB 2026-10-24T18:50:17.1939338Z dist/assets/CEQABKGZ-DgT56tMM.js 7.59 kB │ gzip: 3.52 kB │ map: 19.22 kB 2026-10-24T18:50:17.1939766Z dist/assets/primaryCloudLinkState-BasLeoX0.js 7.66 kB │ gzip: 3.06 kB │ map: 32.29 kB 2026-10-24T18:50:17.1968059Z dist/assets/htmlRender-PUXalZWa.js 7.71 kB │ gzip: 3.15 kB │ map: 30.90 kB 2026-10-24T18:50:17.1968451Z dist/assets/checkbox-CqBPzZbq.js 7.73 kB │ gzip: 3.39 kB │ map: 42.78 kB 2026-10-24T18:50:17.1968788Z dist/assets/DiffFileTree-DgK1U8ac.js 7.75 kB │ gzip: 3.61 kB │ map: 42.65 kB 2026-10-24T18:50:17.1969124Z dist/assets/radio-group-Dvn8OJs5.js 7.82 kB │ gzip: 3.33 kB │ map: 38.48 kB 2026-10-24T18:50:17.1969449Z dist/assets/systemd-BxMlprV5.js 7.90 kB │ gzip: 2.57 kB │ map: 10.64 kB 2026-10-24T18:50:17.1970162Z dist/assets/_chat.index-MsSK8NVE.js 7.92 kB │ gzip: 3.10 kB │ map: 31.56 kB 2026-10-24T18:50:17.1970578Z dist/assets/monokai-CdkpiU2Y.js 7.92 kB │ gzip: 1.94 kB │ map: 11.12 kB 2026-10-24T18:50:17.1970894Z dist/assets/index-DxlM8-Zc.js 8.01 kB │ gzip: 3.88 kB │ map: 1.93 kB 2026-10-24T18:50:17.1971205Z dist/assets/regexp-C160j5mr.js 8.08 kB │ gzip: 1.49 kB │ map: 11.23 kB 2026-10-24T18:50:17.1971522Z dist/assets/LUXOKEGN-mJ4W81S_.js 8.24 kB │ gzip: 3.73 kB │ map: 21.07 kB 2026-10-24T18:50:17.1971835Z dist/assets/haml-78M2RzJ5.js 8.36 kB │ gzip: 1.88 kB │ map: 12.45 kB 2026-10-24T18:50:17.1972149Z dist/assets/typst-DI99ib-x.js 8.42 kB │ gzip: 1.70 kB │ map: 12.31 kB 2026-10-24T18:50:17.1972466Z dist/assets/vue-html-_q5YSMOd.js 8.52 kB │ gzip: 1.72 kB │ map: 12.03 kB 2026-10-24T18:50:17.1972787Z dist/assets/plsql-DGHpHOYJ.js 8.54 kB │ gzip: 3.03 kB │ map: 10.90 kB 2026-10-24T18:50:17.1973099Z dist/assets/dart-CnvKMtbv.js 8.65 kB │ gzip: 2.03 kB │ map: 12.66 kB 2026-10-24T18:50:17.1973414Z dist/assets/horizon-CE9ld1lL.js 8.82 kB │ gzip: 1.98 kB │ map: 12.09 kB 2026-10-24T18:50:17.1973734Z dist/assets/kotlin-DhhofPvG.js 8.82 kB │ gzip: 2.16 kB │ map: 12.79 kB 2026-10-24T18:50:17.1974061Z dist/assets/horizon-bright-DSNQnXHK.js 8.83 kB │ gzip: 1.99 kB │ map: 12.14 kB 2026-10-24T18:50:17.1974425Z dist/assets/ProjectIconPickerDialog-ClW98y-Y.js 8.92 kB │ gzip: 3.74 kB │ map: 52.01 kB 2026-10-24T18:50:17.1974765Z dist/assets/react-beAb49SJ.js 8.97 kB │ gzip: 3.50 kB │ map: 31.05 kB 2026-10-24T18:50:17.1975083Z dist/assets/make-Dixweg8N.js 8.99 kB │ gzip: 1.79 kB │ map: 12.87 kB 2026-10-24T18:50:17.1975399Z dist/assets/andromeeda-vGVdxbeo.js 9.06 kB │ gzip: 2.39 kB │ map: 11.97 kB 2026-10-24T18:50:17.1975716Z dist/assets/sas-DNZ6OI-k.js 9.10 kB │ gzip: 3.85 kB │ map: 11.14 kB 2026-10-24T18:50:17.1976029Z dist/assets/dark-plus-Cs2F2srj.js 9.14 kB │ gzip: 2.13 kB │ map: 12.44 kB 2026-10-24T18:50:17.1976350Z dist/assets/slack-dark-DnToyrRv.js 9.16 kB │ gzip: 1.99 kB │ map: 12.54 kB 2026-10-24T18:50:17.1976676Z dist/assets/connect-agent-BxnDoIJj.js 9.16 kB │ gzip: 3.98 kB │ map: 39.84 kB 2026-10-24T18:50:17.1977050Z dist/assets/terminalSessions-DNvVr-4q.js 9.20 kB │ gzip: 3.20 kB │ map: 42.87 kB 2026-10-24T18:50:17.1977384Z dist/assets/2NI2N5EU-BqJtAPmt.js 9.32 kB │ gzip: 4.19 kB │ map: 24.57 kB 2026-10-24T18:50:17.1977702Z dist/assets/sass-DXrisJhu.js 9.32 kB │ gzip: 2.52 kB │ map: 13.42 kB 2026-10-24T18:50:17.1978014Z dist/assets/plastic-DQwYfKfQ.js 9.33 kB │ gzip: 2.00 kB │ map: 12.50 kB 2026-10-24T18:50:17.1978336Z dist/assets/XBNEOJTC-qdC23anx.js 9.44 kB │ gzip: 4.24 kB │ map: 25.57 kB 2026-10-24T18:50:17.1978685Z dist/assets/use-orchestration-command-EKt6FF66.js 9.47 kB │ gzip: 3.02 kB │ map: 38.41 kB 2026-10-24T18:50:17.1979047Z dist/assets/slack-ochin-B2OO5cIa.js 9.47 kB │ gzip: 2.12 kB │ map: 13.13 kB 2026-10-24T18:50:17.1979361Z dist/assets/tex-D4kYGkpD.js 9.71 kB │ gzip: 3.10 kB │ map: 12.45 kB 2026-10-24T18:50:17.1979756Z dist/assets/jison-Byt20Y-H.js 9.73 kB │ gzip: 1.90 kB │ map: 14.14 kB 2026-10-24T18:50:17.1980153Z dist/assets/cmake-Bj61d0ZC.js 9.89 kB │ gzip: 3.41 kB │ map: 11.27 kB 2026-10-24T18:50:17.2008097Z dist/assets/light-plus-DVQuIRkW.js 9.98 kB │ gzip: 2.31 kB │ map: 13.44 kB 2026-10-24T18:50:17.2048711Z dist/assets/settings.open-source-licenses-DulfTcf9.js 9.99 kB │ gzip: 4.09 kB │ map: 46.85 kB 2026-10-24T18:50:17.2128084Z dist/assets/hcl-Dh228itO.js 10.08 kB │ gzip: 1.96 kB │ map: 14.80 kB 2026-10-24T18:50:17.2185616Z dist/assets/imageCompression-B_KX7dX5.js 10.18 kB │ gzip: 4.07 kB │ map: 45.60 kB 2026-10-24T18:50:17.2208102Z dist/assets/rst-OA9zXOEF.js 10.35 kB │ gzip: 2.28 kB │ map: 15.73 kB 2026-10-24T18:50:17.2208462Z dist/assets/pkl-ot-7Btpt.js 10.40 kB │ gzip: 1.41 kB │ map: 15.48 kB 2026-10-24T18:50:17.2208855Z dist/assets/beancount-D-usSTwE.js 10.41 kB │ gzip: 1.46 kB │ map: 15.05 kB 2026-10-24T18:50:17.2209195Z dist/assets/nextflow-groovy-DJMQeKeT.js 10.48 kB │ gzip: 2.17 kB │ map: 15.26 kB 2026-10-24T18:50:17.2209535Z dist/assets/YURCZMG2-C4JLOxNB.js 10.49 kB │ gzip: 4.56 kB │ map: 25.28 kB 2026-10-24T18:50:17.2209853Z dist/assets/raku-B3gFvitq.js 10.50 kB │ gzip: 2.97 kB │ map: 12.92 kB 2026-10-24T18:50:17.2210183Z dist/assets/dream-maker-DW3nJb8Q.js 10.51 kB │ gzip: 2.29 kB │ map: 15.13 kB 2026-10-24T18:50:17.2210510Z dist/assets/_chat.new-u5LB60ck.js 10.58 kB │ gzip: 4.54 kB │ map: 45.05 kB 2026-10-24T18:50:17.2210833Z dist/assets/yaml-DqrBPYEo.js 10.60 kB │ gzip: 2.34 kB │ map: 14.93 kB 2026-10-24T18:50:17.2211175Z dist/assets/browserHistoryStore-BPIxRx1B.js 10.62 kB │ gzip: 4.20 kB │ map: 55.77 kB 2026-10-24T18:50:17.2211518Z dist/assets/just-DDwlfhUt.js 10.85 kB │ gzip: 2.64 kB │ map: 15.45 kB 2026-10-24T18:50:17.2211825Z dist/assets/elm-ByOPkR8C.js 10.98 kB │ gzip: 2.13 kB │ map: 16.07 kB 2026-10-24T18:50:17.2212149Z dist/assets/phoneViewer-CqJvR9DK.js 11.04 kB │ gzip: 4.64 kB │ map: 49.75 kB 2026-10-24T18:50:17.2212475Z dist/assets/K7RP3OMA-j0rQys5D.js 11.18 kB │ gzip: 5.02 kB │ map: 29.89 kB 2026-10-24T18:50:17.2212806Z dist/assets/github-light-EUqPIrTm.js 11.23 kB │ gzip: 2.53 kB │ map: 15.44 kB 2026-10-24T18:50:17.2213131Z dist/assets/prolog-iXnhIJG7.js 11.39 kB │ gzip: 3.88 kB │ map: 13.31 kB 2026-10-24T18:50:17.2213461Z dist/assets/terraform-DswuEJGm.js 11.42 kB │ gzip: 2.54 kB │ map: 16.23 kB 2026-10-24T18:50:17.2213798Z dist/assets/github-dark-C-LZuMrd.js 11.45 kB │ gzip: 2.56 kB │ map: 15.70 kB 2026-10-24T18:50:17.2214128Z dist/assets/puppet-CDv2pdJW.js 11.47 kB │ gzip: 2.14 kB │ map: 16.33 kB 2026-10-24T18:50:17.2214447Z dist/assets/77XECAW3-BDx592G7.js 11.54 kB │ gzip: 5.35 kB │ map: 27.96 kB 2026-10-24T18:50:17.2214770Z dist/assets/laserwave-C_8bwKvT.js 11.54 kB │ gzip: 2.61 kB │ map: 14.72 kB 2026-10-24T18:50:17.2215102Z dist/assets/ProjectFavicon-BPl37R4i.js 11.76 kB │ gzip: 5.20 kB │ map: 15.88 kB 2026-10-24T18:50:17.2215438Z dist/assets/gherkin-DExj1W_8.js 11.98 kB │ gzip: 5.08 kB │ map: 13.13 kB 2026-10-24T18:50:17.2215753Z dist/assets/wasm-ByWQv1Qj.js 12.04 kB │ gzip: 2.21 kB │ map: 16.85 kB 2026-10-24T18:50:17.2216531Z dist/assets/hjson-CxZEssPk.js 12.08 kB │ gzip: 1.67 kB │ map: 17.29 kB 2026-10-24T18:50:17.2216941Z dist/assets/YHV2MVVZ-DYvm27ze.js 12.09 kB │ gzip: 5.11 kB │ map: 36.55 kB 2026-10-24T18:50:17.2217264Z dist/assets/ABYRPUBD-zwhL1hX_.js 12.11 kB │ gzip: 3.25 kB │ map: 36.28 kB 2026-10-24T18:50:17.2217588Z dist/assets/handlebars-C2O4g9kv.js 12.21 kB │ gzip: 2.41 kB │ map: 17.46 kB 2026-10-24T18:50:17.2217942Z dist/assets/ProjectDefaultsSettings-Bjz2IMOy.js 12.44 kB │ gzip: 4.48 kB │ map: 68.04 kB 2026-10-24T18:50:17.2218283Z dist/assets/apache-U0d_L8uA.js 12.49 kB │ gzip: 3.74 kB │ map: 15.96 kB 2026-10-24T18:50:17.2218609Z dist/assets/vesper-DdrHHSXu.js 12.77 kB │ gzip: 2.03 kB │ map: 16.24 kB 2026-10-24T18:50:17.2288134Z dist/assets/ProviderSettingsForm-7-JK2Z0A.js 12.91 kB │ gzip: 4.88 kB │ map: 60.05 kB 2026-10-24T18:50:17.2288564Z dist/assets/bat-Bo4NYOV-.js 12.92 kB │ gzip: 3.26 kB │ map: 17.40 kB 2026-10-24T18:50:17.2288881Z dist/assets/fish-BJitypiv.js 13.07 kB │ gzip: 1.76 kB │ map: 16.86 kB 2026-10-24T18:50:17.2289209Z dist/assets/qr-code-CmPFsYWt.js 13.19 kB │ gzip: 5.02 kB │ map: 49.58 kB 2026-10-24T18:50:17.2289518Z dist/assets/v-DETTlOr0.js 13.24 kB │ gzip: 2.76 kB │ map: 19.27 kB 2026-10-24T18:50:17.2289833Z dist/assets/NUIALGQ3-B4sdvA_8.js 13.25 kB │ gzip: 5.62 kB │ map: 40.22 kB 2026-10-24T18:50:17.2290156Z dist/assets/OFQON5FD-Dk4il2ci.js 13.49 kB │ gzip: 5.51 kB │ map: 34.02 kB 2026-10-24T18:50:17.2290496Z dist/assets/vitesse-light-VbXTXTou.js 13.66 kB │ gzip: 3.06 kB │ map: 18.57 kB 2026-10-24T18:50:17.2290834Z dist/assets/aurora-x-CDeNXAV0.js 13.70 kB │ gzip: 2.32 kB │ map: 17.59 kB 2026-10-24T18:50:17.2291161Z dist/assets/vitesse-black-fwtXNY1n.js 13.72 kB │ gzip: 3.09 kB │ map: 18.66 kB 2026-10-24T18:50:17.2291494Z dist/assets/vitesse-dark-BZCL-v6S.js 13.80 kB │ gzip: 3.10 kB │ map: 18.73 kB 2026-10-24T18:50:17.2291836Z dist/assets/DeviceSetup-DP4LZ11H.js 13.81 kB │ gzip: 5.11 kB │ map: 59.86 kB 2026-10-24T18:50:17.2292172Z dist/assets/pug-H48468vj.js 13.89 kB │ gzip: 2.62 kB │ map: 20.57 kB 2026-10-24T18:50:17.2292506Z dist/assets/synthwave-84-nFMaYfgc.js 14.08 kB │ gzip: 2.88 kB │ map: 19.12 kB 2026-10-24T18:50:17.2292844Z dist/assets/PJQHF43J-Xnb2qibA.js 14.12 kB │ gzip: 5.87 kB │ map: 39.03 kB 2026-10-24T18:50:17.2293206Z dist/assets/github-light-default-BXViO-2h.js 14.21 kB │ gzip: 3.05 kB │ map: 19.30 kB 2026-10-24T18:50:17.2293546Z dist/assets/clarity-SemFz856.js 14.31 kB │ gzip: 2.50 kB │ map: 19.95 kB 2026-10-24T18:50:17.2293903Z dist/assets/github-light-high-contrast-B68TUdTA.js 14.33 kB │ gzip: 3.03 kB │ map: 19.48 kB 2026-10-24T18:50:17.2294266Z dist/assets/github-dark-dimmed-Bx1FflLF.js 14.48 kB │ gzip: 3.15 kB │ map: 19.67 kB 2026-10-24T18:50:17.2294622Z dist/assets/github-dark-default-DXG-b-1a.js 14.48 kB │ gzip: 3.15 kB │ map: 19.68 kB 2026-10-24T18:50:17.2294961Z dist/assets/X62E3GBT-D72bS57h.js 14.54 kB │ gzip: 6.34 kB │ map: 39.30 kB 2026-10-24T18:50:17.2295308Z dist/assets/github-dark-high-contrast-B_tTalzw.js 14.65 kB │ gzip: 3.11 kB │ map: 19.91 kB 2026-10-24T18:50:17.2297362Z dist/assets/gnuplot-7GGW24-e.js 14.82 kB │ gzip: 3.31 kB │ map: 20.83 kB 2026-10-24T18:50:17.2297681Z dist/assets/rust-Cfkwpbl8.js 15.10 kB │ gzip: 2.75 kB │ map: 21.47 kB 2026-10-24T18:50:17.2297998Z dist/assets/FNOVOB4O-DnKfEzX3.js 15.14 kB │ gzip: 5.88 kB │ map: 38.44 kB 2026-10-24T18:50:17.2298317Z dist/assets/kusto-C7mF5XQf.js 15.20 kB │ gzip: 3.96 kB │ map: 19.63 kB 2026-10-24T18:50:17.2298642Z dist/assets/actionscript-3--17pq3dv.js 15.25 kB │ gzip: 2.71 kB │ map: 21.47 kB 2026-10-24T18:50:17.2298980Z dist/assets/duoViewer-DpzvDGr7.js 15.46 kB │ gzip: 6.05 kB │ map: 65.43 kB 2026-10-24T18:50:17.2299295Z dist/assets/nix-IvuFDN5E.js 15.54 kB │ gzip: 2.51 kB │ map: 22.93 kB 2026-10-24T18:50:17.2299608Z dist/assets/lua-1Va2DEvn.js 15.63 kB │ gzip: 3.22 kB │ map: 22.17 kB 2026-10-24T18:50:17.2299947Z dist/assets/usePullRequestActions-D2l5A_iN.js 15.66 kB │ gzip: 5.27 kB │ map: 66.12 kB 2026-10-24T18:50:17.2300363Z dist/assets/luau-FMPmPwt6.js 15.66 kB │ gzip: 3.42 kB │ map: 21.88 kB 2026-10-24T18:50:17.2328098Z dist/assets/abap-CLvhMVsD.js 15.88 kB │ gzip: 5.96 kB │ map: 18.85 kB 2026-10-24T18:50:17.2368153Z dist/assets/solidity-CKzVLygQ.js 16.11 kB │ gzip: 3.13 kB │ map: 23.46 kB 2026-10-24T18:50:17.2408096Z dist/assets/matlab-D7qyCx1q.js 16.12 kB │ gzip: 3.10 kB │ map: 23.37 kB 2026-10-24T18:50:17.2408494Z dist/assets/cue-CE9AQfxI.js 16.23 kB │ gzip: 2.08 kB │ map: 23.80 kB 2026-10-24T18:50:17.2448323Z dist/assets/elixir-CrKEldnf.js 16.30 kB │ gzip: 2.79 kB │ map: 23.18 kB 2026-10-24T18:50:17.2528327Z dist/assets/dialog-B8AIBEp2.js 16.37 kB │ gzip: 5.61 kB │ map: 77.01 kB 2026-10-24T18:50:17.2593924Z dist/assets/rightPanelStore-D3BW8erO.js 16.38 kB │ gzip: 4.68 kB │ map: 78.50 kB 2026-10-24T18:50:17.2625998Z dist/assets/odin-B1RWQWA5.js 16.54 kB │ gzip: 2.96 kB │ map: 23.80 kB 2026-10-24T18:50:17.2688306Z dist/assets/X5RFHQXM-DFIRmQ7S.js 16.59 kB │ gzip: 7.04 kB │ map: 42.63 kB 2026-10-24T18:50:17.2688722Z dist/assets/ts-tags-iKEdjM6n.js 16.59 kB │ gzip: 2.09 kB │ map: 24.94 kB 2026-10-24T18:50:17.2754669Z dist/assets/scroll-area-BlGgyGV3.js 16.78 kB │ gzip: 5.98 kB │ map: 85.84 kB 2026-10-24T18:50:17.2770901Z dist/assets/popover-B02gW5mc.js 17.14 kB │ gzip: 6.45 kB │ map: 90.10 kB 2026-10-24T18:50:17.2808342Z dist/assets/kanagawa-wave-CTweb8Dz.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-24T18:50:17.2858503Z dist/assets/kanagawa-lotus-BN08jTvb.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-24T18:50:17.2888110Z dist/assets/kanagawa-dragon-CXtmUGW6.js 17.17 kB │ gzip: 2.96 kB │ map: 22.31 kB 2026-10-24T18:50:17.2888530Z dist/assets/projectScriptEditor-CFbzbvbw.js 17.39 kB │ gzip: 6.68 kB │ map: 100.01 kB 2026-10-24T18:50:17.2888892Z dist/assets/move-B1IS1UjX.js 17.54 kB │ gzip: 3.10 kB │ map: 26.27 kB 2026-10-24T18:50:17.2889209Z dist/assets/command-BxWYRYhE.js 17.80 kB │ gzip: 4.81 kB │ map: 70.69 kB 2026-10-24T18:50:17.2889538Z dist/assets/pullRequests-CauB_TbJ.js 17.93 kB │ gzip: 6.22 kB │ map: 87.67 kB 2026-10-24T18:50:17.2890338Z dist/assets/link-DwGUvsHL.js 17.95 kB │ gzip: 6.74 kB │ map: 91.88 kB 2026-10-24T18:50:17.2890774Z dist/assets/graphql-f7MMklYv.js 18.12 kB │ gzip: 2.56 kB │ map: 25.58 kB 2026-10-24T18:50:17.2891089Z dist/assets/liquid-NR0kReLd.js 18.14 kB │ gzip: 3.18 kB │ map: 25.31 kB 2026-10-24T18:50:17.2891437Z dist/assets/T3ConnectAccountPages-D22Tuo3Y.js 18.25 kB │ gzip: 6.37 kB │ map: 80.99 kB 2026-10-24T18:50:17.2891779Z dist/assets/svelte-D_LLVCZp.js 18.29 kB │ gzip: 3.18 kB │ map: 25.82 kB 2026-10-24T18:50:17.2892109Z dist/assets/material-theme-Bm3Qr25_.js 18.66 kB │ gzip: 3.14 kB │ map: 24.14 kB 2026-10-24T18:50:17.2892455Z dist/assets/material-theme-ocean-CHQ94UKr.js 18.68 kB │ gzip: 3.16 kB │ map: 24.18 kB 2026-10-24T18:50:17.2892823Z dist/assets/material-theme-darker-2IIEA8gg.js 18.68 kB │ gzip: 3.13 kB │ map: 24.18 kB 2026-10-24T18:50:17.2893188Z dist/assets/material-theme-lighter-uhdI0v04.js 18.69 kB │ gzip: 3.14 kB │ map: 24.19 kB 2026-10-24T18:50:17.2893563Z dist/assets/material-theme-palenight-B5W6OYN7.js 18.69 kB │ gzip: 3.15 kB │ map: 24.20 kB 2026-10-24T18:50:17.2893932Z dist/assets/pullRequestDetail.logic-lT3EVKB0.js 18.87 kB │ gzip: 6.76 kB │ map: 77.97 kB 2026-10-24T18:50:17.2894279Z dist/assets/gdscript-Cp2uCuqX.js 19.03 kB │ gzip: 3.78 kB │ map: 26.26 kB 2026-10-24T18:50:17.2894600Z dist/assets/USNYFO5S-Ce1sSrl0.js 19.10 kB │ gzip: 7.42 kB │ map: 47.26 kB 2026-10-24T18:50:17.2894924Z dist/assets/groovy-CacY0gHj.js 19.21 kB │ gzip: 3.63 kB │ map: 27.53 kB 2026-10-24T18:50:17.2895253Z dist/assets/settings.storage-CzVWmxzz.js 19.43 kB │ gzip: 6.99 kB │ map: 104.83 kB 2026-10-24T18:50:17.2895593Z dist/assets/mdc-BszP3a5M.js 19.58 kB │ gzip: 6.70 kB │ map: 23.16 kB 2026-10-24T18:50:17.2895906Z dist/assets/server-Kw3F14jx.js 19.97 kB │ gzip: 6.17 kB │ map: 117.05 kB 2026-10-24T18:50:17.2896231Z dist/assets/ayu-dark-DluEY0Gj.js 20.12 kB │ gzip: 3.96 kB │ map: 27.06 kB 2026-10-24T18:50:17.2896559Z dist/assets/ayu-mirage-Bqwy1Gya.js 20.13 kB │ gzip: 3.95 kB │ map: 27.08 kB 2026-10-24T18:50:17.2896934Z dist/assets/glimmer-js-BDXa_Fyc.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-24T18:50:17.2897330Z dist/assets/glimmer-ts-Bj66Y8fi.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-24T18:50:17.2928526Z dist/assets/powershell-DshXNtvi.js 20.19 kB │ gzip: 4.09 kB │ map: 26.60 kB 2026-10-24T18:50:17.2968125Z dist/assets/ayu-light-C3h-C4tm.js 20.19 kB │ gzip: 3.93 kB │ map: 27.14 kB 2026-10-24T18:50:17.3048435Z dist/assets/viml-DvXPmvsu.js 20.40 kB │ gzip: 6.77 kB │ map: 23.51 kB 2026-10-24T18:50:17.3089245Z dist/assets/DRLTVNUE-iYjF3Wnh.js 20.40 kB │ gzip: 7.66 kB │ map: 50.95 kB 2026-10-24T18:50:17.3130787Z dist/assets/nushell-DcLAeLz5.js 20.45 kB │ gzip: 5.25 kB │ map: 27.67 kB 2026-10-24T18:50:17.3168559Z dist/assets/entities-DkKIUxi9.js 20.59 kB │ gzip: 6.95 kB │ map: 135.98 kB 2026-10-24T18:50:17.3168961Z dist/assets/HSJLKHB7-DmDYBfsu.js 20.80 kB │ gzip: 8.63 kB │ map: 57.03 kB 2026-10-24T18:50:17.3169299Z dist/assets/snazzy-light-4G7pJPwS.js 20.82 kB │ gzip: 3.84 kB │ map: 28.03 kB 2026-10-24T18:50:17.3170486Z dist/assets/twig-Ci9rMG4p.js 20.94 kB │ gzip: 3.70 kB │ map: 29.33 kB 2026-10-24T18:50:17.3170962Z dist/assets/dracula-BHWKrbxM.js 21.10 kB │ gzip: 4.03 kB │ map: 27.51 kB 2026-10-24T18:50:17.3171289Z dist/assets/dracula-soft-5eyTD99u.js 21.12 kB │ gzip: 4.06 kB │ map: 27.54 kB 2026-10-24T18:50:17.3171619Z dist/assets/number-field-BU9k0bTB.js 21.14 kB │ gzip: 8.04 kB │ map: 104.64 kB 2026-10-24T18:50:17.3171940Z dist/assets/wit-DdvCle-K.js 21.50 kB │ gzip: 2.91 kB │ map: 30.11 kB 2026-10-24T18:50:17.3172263Z dist/assets/rose-pine-BthvhNj6.js 21.78 kB │ gzip: 3.90 kB │ map: 28.78 kB 2026-10-24T18:50:17.3172596Z dist/assets/rose-pine-moon-hon4tzzS.js 21.80 kB │ gzip: 3.91 kB │ map: 28.81 kB 2026-10-24T18:50:17.3172934Z dist/assets/rose-pine-dawn-Dg85fqjY.js 21.80 kB │ gzip: 3.92 kB │ map: 28.81 kB 2026-10-24T18:50:17.3173292Z dist/assets/useStableCallback-z_SONSIp.js 22.26 kB │ gzip: 9.25 kB │ map: 690.61 kB 2026-10-24T18:50:17.3173617Z dist/assets/nim-BM9Yvas0.js 22.49 kB │ gzip: 3.19 kB │ map: 32.88 kB 2026-10-24T18:50:17.3173939Z dist/assets/common-lisp-Cv5bFMCO.js 22.62 kB │ gzip: 6.11 kB │ map: 26.69 kB 2026-10-24T18:50:17.3174266Z dist/assets/surrealql-BhXwxFwT.js 22.63 kB │ gzip: 4.34 kB │ map: 32.51 kB 2026-10-24T18:50:17.3174615Z dist/assets/gruvbox-dark-hard-C820rvS2.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T18:50:17.3174967Z dist/assets/gruvbox-dark-soft-MrdJrrXF.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T18:50:17.3175324Z dist/assets/gruvbox-light-hard-BC_s9l72.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T18:50:17.3175681Z dist/assets/gruvbox-light-soft-BSMLrYjP.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T18:50:17.3176046Z dist/assets/gruvbox-dark-medium-BPjhmG05.js 22.69 kB │ gzip: 4.19 kB │ map: 30.60 kB 2026-10-24T18:50:17.3176401Z dist/assets/gruvbox-light-medium-BAWPOn9u.js 22.69 kB │ gzip: 4.20 kB │ map: 30.61 kB 2026-10-24T18:50:17.3176752Z dist/assets/bird2-C6vDhewU.js 22.97 kB │ gzip: 4.69 kB │ map: 31.06 kB 2026-10-24T18:50:17.3177150Z dist/assets/5OC2THR4-B4ms4IVq.js 23.28 kB │ gzip: 9.38 kB │ map: 61.59 kB 2026-10-24T18:50:17.3177483Z dist/assets/sql-DJtPbMSQ.js 23.52 kB │ gzip: 7.54 kB │ map: 27.96 kB 2026-10-24T18:50:17.3177793Z dist/assets/cadence-CQ2zXKGN.js 23.70 kB │ gzip: 3.69 kB │ map: 33.59 kB 2026-10-24T18:50:17.3178112Z dist/assets/astro-BmmE1wns.js 24.06 kB │ gzip: 7.63 kB │ map: 29.26 kB 2026-10-24T18:50:17.3178423Z dist/assets/apl-Dbn5QvGU.js 24.07 kB │ gzip: 4.20 kB │ map: 33.43 kB 2026-10-24T18:50:17.3178732Z dist/assets/templ-ChNxr6tm.js 24.10 kB │ gzip: 5.45 kB │ map: 30.96 kB 2026-10-24T18:50:17.3179048Z dist/assets/SLD4V6NK-CYqXCR9m.js 24.20 kB │ gzip: 10.11 kB │ map: 66.35 kB 2026-10-24T18:50:17.3179381Z dist/assets/angular-html-CHSubNNg.js 24.28 kB │ gzip: 4.02 kB │ map: 35.88 kB 2026-10-24T18:50:17.3208163Z dist/assets/vhdl-BroJfC0k.js 24.29 kB │ gzip: 3.90 kB │ map: 33.38 kB 2026-10-24T18:50:17.3248143Z dist/assets/vue-DhtZA_zP.js 24.53 kB │ gzip: 2.99 kB │ map: 36.98 kB 2026-10-24T18:50:17.3248516Z dist/assets/purescript-9MfHhQsQ.js 24.72 kB │ gzip: 3.27 kB │ map: 34.90 kB 2026-10-24T18:50:17.3249477Z dist/assets/typespec-BRdr0IET.js 25.08 kB │ gzip: 2.66 kB │ map: 34.70 kB 2026-10-24T18:50:17.3249808Z dist/assets/one-light-D7Lr4KcI.js 25.34 kB │ gzip: 3.67 kB │ map: 33.81 kB 2026-10-24T18:50:17.3250132Z dist/assets/fsharp-D13ZGOAj.js 25.34 kB │ gzip: 4.16 kB │ map: 35.90 kB 2026-10-24T18:50:17.3250453Z dist/assets/marko-BaagTwf0.js 25.52 kB │ gzip: 3.62 kB │ map: 35.92 kB 2026-10-24T18:50:17.3250778Z dist/assets/night-owl-light-eJ-hLW7d.js 25.95 kB │ gzip: 4.27 kB │ map: 35.17 kB 2026-10-24T18:50:17.3251122Z dist/assets/system-verilog-DJ5XKQeo.js 26.24 kB │ gzip: 4.86 kB │ map: 36.27 kB 2026-10-24T18:50:17.3251461Z dist/assets/useThreadActions-BgvK2Z8A.js 26.34 kB │ gzip: 8.48 kB │ map: 129.82 kB 2026-10-24T18:50:17.3251794Z dist/assets/nord-Cb4Vim4T.js 26.76 kB │ gzip: 4.39 kB │ map: 35.36 kB 2026-10-24T18:50:17.3252108Z dist/assets/codeql-oeQT6MSM.js 26.92 kB │ gzip: 3.83 kB │ map: 36.02 kB 2026-10-24T18:50:17.3252419Z dist/assets/c3-BFHwR3_K.js 27.00 kB │ gzip: 3.96 kB │ map: 39.15 kB 2026-10-24T18:50:17.3252726Z dist/assets/T3PCR2KE-Bx5pdOc-.js 27.06 kB │ gzip: 11.16 kB │ map: 74.49 kB 2026-10-24T18:50:17.3253954Z dist/assets/scss-DQyDwCYy.js 27.30 kB │ gzip: 4.26 kB │ map: 38.39 kB 2026-10-24T18:50:17.3254290Z dist/assets/java-CF-jL4AX.js 27.31 kB │ gzip: 4.34 kB │ map: 38.66 kB 2026-10-24T18:50:17.3254607Z dist/assets/coffee-BHyBL9L1.js 27.46 kB │ gzip: 6.39 kB │ map: 36.12 kB 2026-10-24T18:50:17.3254930Z dist/assets/razor-CRS4rNJT.js 27.49 kB │ gzip: 3.58 kB │ map: 38.35 kB 2026-10-24T18:50:17.3255255Z dist/assets/BB2UYUI2-shVzmPDL.js 28.18 kB │ gzip: 10.96 kB │ map: 75.19 kB 2026-10-24T18:50:17.3255574Z dist/assets/sidebar-Gfz53oUM.js 28.33 kB │ gzip: 9.13 kB │ map: 123.41 kB 2026-10-24T18:50:17.3255893Z dist/assets/scala-DKOlJaKm.js 28.92 kB │ gzip: 3.96 kB │ map: 40.12 kB 2026-10-24T18:50:17.3256210Z dist/assets/night-owl-DhmEMT88.js 28.95 kB │ gzip: 5.18 kB │ map: 39.06 kB 2026-10-24T18:50:17.3256531Z dist/assets/select-_W6yYrDU.js 29.02 kB │ gzip: 10.88 kB │ map: 139.91 kB 2026-10-24T18:50:17.3256889Z dist/assets/crystal-xgOldvWp.js 29.45 kB │ gzip: 4.47 kB │ map: 41.29 kB 2026-10-24T18:50:17.3257207Z dist/assets/mermaid-Bk4SNUv9.js 29.54 kB │ gzip: 3.68 kB │ map: 44.12 kB 2026-10-24T18:50:17.3257538Z dist/assets/applescript-CCn79oCD.js 29.61 kB │ gzip: 5.98 kB │ map: 39.35 kB 2026-10-24T18:50:17.3257867Z dist/assets/BUM34MOA-Bkbohuit.js 30.12 kB │ gzip: 11.45 kB │ map: 75.42 kB 2026-10-24T18:50:17.3258184Z dist/assets/75O6YZUN-C9G-noKe.js 30.19 kB │ gzip: 11.64 kB │ map: 77.70 kB 2026-10-24T18:50:17.3258511Z dist/assets/pierre-dark-CpLgRqie.js 30.59 kB │ gzip: 4.77 kB │ map: 34.24 kB 2026-10-24T18:50:17.3258841Z dist/assets/pierre-light-CoaEpmwp.js 30.59 kB │ gzip: 4.77 kB │ map: 34.25 kB 2026-10-24T18:50:17.3259184Z dist/assets/pierre-dark-soft-kZQmAZld.js 30.61 kB │ gzip: 4.81 kB │ map: 34.27 kB 2026-10-24T18:50:17.3259527Z dist/assets/pierre-light-soft-lWLdNTOI.js 30.61 kB │ gzip: 4.77 kB │ map: 34.27 kB 2026-10-24T18:50:17.3259991Z dist/assets/pierre-dark-tritanopia-CpjhbsIL.js 30.62 kB │ gzip: 4.72 kB │ map: 34.30 kB 2026-10-24T18:50:17.3260390Z dist/assets/pierre-light-tritanopia-CEbqgOJL.js 30.63 kB │ gzip: 4.73 kB │ map: 34.30 kB 2026-10-24T18:50:17.3260774Z dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js 30.66 kB │ gzip: 4.80 kB │ map: 34.36 kB 2026-10-24T18:50:17.3261707Z dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js 30.67 kB │ gzip: 4.76 kB │ map: 34.37 kB 2026-10-24T18:50:17.3288077Z dist/assets/ChatGptUsageButton-B2ojSlqd.js 30.79 kB │ gzip: 12.00 kB │ map: 117.44 kB 2026-10-24T18:50:17.3328090Z dist/assets/julia-BAkj-Grs.js 31.05 kB │ gzip: 4.34 kB │ map: 40.65 kB 2026-10-24T18:50:17.3328460Z dist/assets/stylus-B6D30XZt.js 31.11 kB │ gzip: 8.05 kB │ map: 38.88 kB 2026-10-24T18:50:17.3328835Z dist/assets/N3JZAHOW-DX2K5fm5.js 32.62 kB │ gzip: 13.28 kB │ map: 101.23 kB 2026-10-24T18:50:17.3329181Z dist/assets/poimandres-DRFjx7u4.js 33.53 kB │ gzip: 5.53 kB │ map: 43.07 kB 2026-10-24T18:50:17.3329510Z dist/assets/one-dark-pro-CLwyXe_n.js 33.83 kB │ gzip: 5.54 kB │ map: 44.51 kB 2026-10-24T18:50:17.3329830Z dist/assets/bsl-BkkzgIyY.js 33.90 kB │ gzip: 8.38 kB │ map: 37.63 kB 2026-10-24T18:50:17.3330146Z dist/assets/O65XPQGZ-DOEpARYp.js 34.10 kB │ gzip: 12.69 kB │ map: 86.95 kB 2026-10-24T18:50:17.3330473Z dist/assets/UsageLimits-CRn61TU7.js 34.31 kB │ gzip: 11.87 kB │ map: 148.44 kB 2026-10-24T18:50:17.3330788Z dist/assets/haxe-OTjmBuCE.js 35.19 kB │ gzip: 5.94 kB │ map: 49.52 kB 2026-10-24T18:50:17.3331104Z dist/assets/nginx-Bunv6cTi.js 35.39 kB │ gzip: 4.49 kB │ map: 48.50 kB 2026-10-24T18:50:17.3331421Z dist/assets/houston-CsvMBhTu.js 35.46 kB │ gzip: 5.80 kB │ map: 46.40 kB 2026-10-24T18:50:17.3331745Z dist/assets/tokyo-night-oM2G3aXe.js 35.71 kB │ gzip: 6.26 kB │ map: 45.35 kB 2026-10-24T18:50:17.3332089Z dist/assets/CodexSetupSection.logic-70BWWA94.js 36.12 kB │ gzip: 12.95 kB │ map: 164.42 kB 2026-10-24T18:50:17.3332447Z dist/assets/settings.keybindings-BmKK4M-w.js 37.18 kB │ gzip: 12.44 kB │ map: 164.58 kB 2026-10-24T18:50:17.3332780Z dist/assets/erlang-Cphh6RMH.js 37.52 kB │ gzip: 4.39 kB │ map: 51.59 kB 2026-10-24T18:50:17.3333089Z dist/assets/lazy-DgNrREL9.js 38.37 kB │ gzip: 16.02 kB │ map: 81.90 kB 2026-10-24T18:50:17.3333416Z dist/assets/PullRequestCodeTab-Bsspe_ud.js 39.03 kB │ gzip: 14.42 kB │ map: 180.92 kB 2026-10-24T18:50:17.3334907Z dist/assets/settings.projects-DuufQwXv.js 39.03 kB │ gzip: 15.31 kB │ map: 163.46 kB 2026-10-24T18:50:17.3335253Z dist/assets/useSettings-f8TKMXso.js 39.06 kB │ gzip: 13.38 kB │ map: 174.19 kB 2026-10-24T18:50:17.3335574Z dist/assets/cobol-DlmPKder.js 39.11 kB │ gzip: 10.92 kB │ map: 47.39 kB 2026-10-24T18:50:17.3335890Z dist/assets/TKWO2OVW-BqXmEYy2.js 39.43 kB │ gzip: 14.77 kB │ map: 97.94 kB 2026-10-24T18:50:17.3336222Z dist/assets/ThemeEditorPanel-rpwloM70.js 40.14 kB │ gzip: 14.48 kB │ map: 189.11 kB 2026-10-24T18:50:17.3336544Z dist/assets/asm-Cmm7eHzH.js 40.75 kB │ gzip: 8.20 kB │ map: 53.00 kB 2026-10-24T18:50:17.3336907Z dist/assets/RHNBAITX-D5AX4eQI.js 41.31 kB │ gzip: 15.53 kB │ map: 105.33 kB 2026-10-24T18:50:17.3337230Z dist/assets/haskell-D8IpX4py.js 41.52 kB │ gzip: 6.44 kB │ map: 57.85 kB 2026-10-24T18:50:17.3337563Z dist/assets/shellscript-y5xaAa26.js 41.58 kB │ gzip: 6.16 kB │ map: 56.57 kB 2026-10-24T18:50:17.3337886Z dist/assets/combobox-Xlg7PzGp.js 41.97 kB │ gzip: 14.24 kB │ map: 212.73 kB 2026-10-24T18:50:17.3338206Z dist/assets/perl-AhzhpTrP.js 43.18 kB │ gzip: 4.68 kB │ map: 60.84 kB 2026-10-24T18:50:17.3338519Z dist/assets/queries-BEs2U8hn.js 43.24 kB │ gzip: 16.09 kB │ map: 239.43 kB 2026-10-24T18:50:17.3338840Z dist/assets/DiffPanel-B4WUW5Xi.js 43.25 kB │ gzip: 16.70 kB │ map: 244.00 kB 2026-10-24T18:50:17.3339154Z dist/assets/d-qD-0Kul2.js 43.82 kB │ gzip: 8.46 kB │ map: 62.69 kB 2026-10-24T18:50:17.3339503Z dist/assets/LHDIQX7Q-_z4pYMHc.js 44.04 kB │ gzip: 16.12 kB │ map: 107.24 kB 2026-10-24T18:50:17.3339851Z dist/assets/DiffCommentAnnotation-NkYVPISB.js 44.48 kB │ gzip: 15.81 kB │ map: 120.50 kB 2026-10-24T18:50:17.3340222Z dist/assets/ProviderModelPicker-o3daSdks.js 44.81 kB │ gzip: 16.00 kB │ map: 233.06 kB 2026-10-24T18:50:17.3367942Z dist/assets/pierre-dark-vibrant-CpQYzh95.js 44.81 kB │ gzip: 5.33 kB │ map: 48.48 kB 2026-10-24T18:50:17.3368349Z dist/assets/pierre-light-vibrant-D80Fkn33.js 44.81 kB │ gzip: 5.31 kB │ map: 48.48 kB 2026-10-24T18:50:17.3368710Z dist/assets/settingsLayout-BzJYoNUE.js 45.01 kB │ gzip: 15.81 kB │ map: 227.20 kB 2026-10-24T18:50:17.3369051Z dist/assets/DevicePanel-DOc1Ulny.js 46.03 kB │ gzip: 15.62 kB │ map: 246.51 kB 2026-10-24T18:50:17.3369400Z dist/assets/settings.source-control-h3BvN01H.js 46.24 kB │ gzip: 15.09 kB │ map: 262.11 kB 2026-10-24T18:50:17.3369780Z dist/assets/toast-9LC5jXKs.js 46.41 kB │ gzip: 15.38 kB │ map: 273.09 kB 2026-10-24T18:50:17.3370091Z dist/assets/ruby-ubltFHEX.js 46.64 kB │ gzip: 5.74 kB │ map: 66.38 kB 2026-10-24T18:50:17.3370406Z dist/assets/go-rLFTqkRN.js 46.85 kB │ gzip: 5.18 kB │ map: 66.61 kB 2026-10-24T18:50:17.3370742Z dist/assets/settings.snap-shot-7-euW3jf.js 46.98 kB │ gzip: 16.62 kB │ map: 252.93 kB 2026-10-24T18:50:17.3371097Z dist/assets/catppuccin-mocha-DYhrFGRu.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-24T18:50:17.3371437Z dist/assets/catppuccin-latte-DwIHMF0Q.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-24T18:50:17.3371784Z dist/assets/catppuccin-frappe-3VR1Za6u.js 47.31 kB │ gzip: 8.03 kB │ map: 62.04 kB 2026-10-24T18:50:17.3373078Z dist/assets/catppuccin-macchiato-DYnBP6_5.js 47.31 kB │ gzip: 8.03 kB │ map: 62.06 kB 2026-10-24T18:50:17.3373642Z dist/assets/PreviewPanel-DnFhy284.js 47.35 kB │ gzip: 17.24 kB │ map: 255.28 kB 2026-10-24T18:50:17.3373965Z dist/assets/apex-VAyPSnFM.js 47.80 kB │ gzip: 6.85 kB │ map: 66.78 kB 2026-10-24T18:50:17.3374281Z dist/assets/ada-C5qYipkI.js 48.11 kB │ gzip: 6.00 kB │ map: 70.96 kB 2026-10-24T18:50:17.3374586Z dist/assets/css-kzGS2ZwB.js 49.13 kB │ gzip: 11.99 kB │ map: 60.67 kB 2026-10-24T18:50:17.3374901Z dist/assets/welcome-4ZCSM556.js 49.73 kB │ gzip: 17.02 kB │ map: 266.54 kB 2026-10-24T18:50:17.3375214Z dist/assets/imba-DsUTQ-LC.js 49.96 kB │ gzip: 9.51 kB │ map: 68.08 kB 2026-10-24T18:50:17.3375535Z dist/assets/sortable.esm-A1xXHgEo.js 50.51 kB │ gzip: 16.26 kB │ map: 236.47 kB 2026-10-24T18:50:17.3375877Z dist/assets/everforest-dark-sB-x3p7T.js 53.79 kB │ gzip: 8.41 kB │ map: 68.28 kB 2026-10-24T18:50:17.3376213Z dist/assets/everforest-light-Df2xbC6M.js 53.79 kB │ gzip: 8.41 kB │ map: 68.29 kB 2026-10-24T18:50:17.3376548Z dist/assets/Virtualizer-C2mbWHb0.js 55.69 kB │ gzip: 14.33 kB │ map: 177.52 kB 2026-10-24T18:50:17.3376916Z dist/assets/wikitext-ClFFjSW2.js 55.92 kB │ gzip: 4.85 kB │ map: 77.64 kB 2026-10-24T18:50:17.3377266Z dist/assets/ScheduledTasksSettings-CqpzOFp4.js 56.58 kB │ gzip: 19.20 kB │ map: 343.57 kB 2026-10-24T18:50:17.3377604Z dist/assets/stata-Ciuk7_mY.js 57.03 kB │ gzip: 12.44 kB │ map: 74.20 kB 2026-10-24T18:50:17.3377914Z dist/assets/html-DIIndQnv.js 57.35 kB │ gzip: 11.82 kB │ map: 73.07 kB 2026-10-24T18:50:17.3378237Z dist/assets/ballerina-B7ZEbQpA.js 58.73 kB │ gzip: 8.14 kB │ map: 81.54 kB 2026-10-24T18:50:17.3378568Z dist/assets/markdown-BYOwaDjH.js 59.37 kB │ gzip: 5.70 kB │ map: 82.33 kB 2026-10-24T18:50:17.3378902Z dist/assets/pierre-icons-BjLuZW-p.js 60.69 kB │ gzip: 22.05 kB │ map: 82.50 kB 2026-10-24T18:50:17.3379239Z dist/assets/Icons-3f4SCm_2.js 61.79 kB │ gzip: 30.40 kB │ map: 165.88 kB 2026-10-24T18:50:17.3379547Z dist/assets/ocaml-O90oeIOV.js 62.48 kB │ gzip: 5.08 kB │ map: 81.11 kB 2026-10-24T18:50:17.3379857Z dist/assets/mojo-BgCJLMeH.js 69.83 kB │ gzip: 9.25 kB │ map: 94.94 kB 2026-10-24T18:50:17.3380168Z dist/assets/python-gzcpVVnB.js 69.98 kB │ gzip: 9.13 kB │ map: 95.24 kB 2026-10-24T18:50:17.3380507Z dist/assets/useHandleNewThread-CSmkyfhp.js 70.86 kB │ gzip: 22.57 kB │ map: 333.30 kB 2026-10-24T18:50:17.3380841Z dist/assets/c-esFkreWu.js 72.20 kB │ gzip: 10.58 kB │ map: 95.41 kB 2026-10-24T18:50:17.3448216Z dist/assets/latex-b0569jTU.js 72.91 kB │ gzip: 6.78 kB │ map: 100.96 kB 2026-10-24T18:50:17.3528492Z dist/assets/vyper-CgoNMtux.js 74.68 kB │ gzip: 10.73 kB │ map: 100.71 kB 2026-10-24T18:50:17.3608636Z dist/assets/hack-mYo6lwOk.js 81.09 kB │ gzip: 26.47 kB │ map: 98.63 kB 2026-10-24T18:50:17.3648434Z dist/assets/SettingsPanels-CvGn-HJB.js 82.62 kB │ gzip: 25.83 kB │ map: 507.56 kB 2026-10-24T18:50:17.3731581Z dist/assets/themePalette-CqF9a5rU.js 83.31 kB │ gzip: 23.88 kB │ map: 284.11 kB 2026-10-24T18:50:17.3732583Z dist/assets/swift-DonLKvLd.js 86.72 kB │ gzip: 14.72 kB │ map: 114.51 kB 2026-10-24T18:50:17.3768631Z dist/assets/DiffWorkerPoolProvider-D1Hoq-8n.js 87.11 kB │ gzip: 23.11 kB │ map: 273.90 kB 2026-10-24T18:50:17.3808535Z dist/assets/fortran-free-form-CYNrtFtB.js 89.01 kB │ gzip: 11.23 kB │ map: 124.06 kB 2026-10-24T18:50:17.3848290Z dist/assets/csharp-oqKa8noW.js 90.22 kB │ gzip: 10.75 kB │ map: 126.35 kB 2026-10-24T18:50:17.3888277Z dist/assets/FileDiff-BeDBAnMv.js 91.16 kB │ gzip: 23.35 kB │ map: 307.03 kB 2026-10-24T18:50:17.3935084Z dist/assets/_chat.pull-requests-BPxZ2glx.js 91.36 kB │ gzip: 32.71 kB │ map: 452.85 kB 2026-10-24T18:50:17.3935479Z dist/assets/racket-DcIDlBhZ.js 92.42 kB │ gzip: 15.11 kB │ map: 106.19 kB 2026-10-24T18:50:17.3935826Z dist/assets/settings.diagnostics-D3P58dJs.js 93.82 kB │ gzip: 27.29 kB │ map: 499.48 kB 2026-10-24T18:50:17.3936225Z dist/assets/embeddedScripts-C3_PgwBM.js 94.06 kB │ gzip: 24.28 kB │ map: 399.57 kB 2026-10-24T18:50:17.3936552Z dist/assets/usage-B7jTRIBO.js 96.07 kB │ gzip: 32.12 kB │ map: 559.57 kB 2026-10-24T18:50:17.3936969Z dist/assets/settings.integrations-gJ_x6QwL.js 96.59 kB │ gzip: 31.48 kB │ map: 566.33 kB 2026-10-24T18:50:17.3937308Z dist/assets/less-DVTAwKKz.js 97.66 kB │ gzip: 14.88 kB │ map: 131.85 kB 2026-10-24T18:50:17.3937622Z dist/assets/blade-DBGhfhIu.js 105.01 kB │ gzip: 28.34 kB │ map: 131.09 kB 2026-10-24T18:50:17.3937948Z dist/assets/objective-c-D1A_Heim.js 105.45 kB │ gzip: 23.67 kB │ map: 129.66 kB 2026-10-24T18:50:17.3938290Z dist/assets/settings.connections-DAJ-uTG3.js 107.28 kB │ gzip: 36.21 kB │ map: 612.94 kB 2026-10-24T18:50:17.3938632Z dist/assets/php-BrskDoCo.js 113.12 kB │ gzip: 28.89 kB │ map: 142.15 kB 2026-10-24T18:50:17.3938973Z dist/assets/ThreadTerminalDrawer-DwTE4-CC.js 113.83 kB │ gzip: 33.63 kB │ map: 458.92 kB 2026-10-24T18:50:17.3939327Z dist/assets/getDiffFileInput-D0OJX0V3.js 124.36 kB │ gzip: 30.75 kB │ map: 375.11 kB 2026-10-24T18:50:17.3939664Z dist/assets/asciidoc-DE70LPWp.js 131.56 kB │ gzip: 9.35 kB │ map: 189.11 kB 2026-10-24T18:50:17.3939982Z dist/assets/mdx-DQZ5AkYe.js 136.14 kB │ gzip: 23.57 kB │ map: 176.72 kB 2026-10-24T18:50:17.3940313Z dist/assets/RenderErrorBoundary-dqGYzkFS.js 153.41 kB │ gzip: 45.89 kB │ map: 938.43 kB 2026-10-24T18:50:17.3940671Z dist/assets/settings.providers-AdF6jgNh.js 161.56 kB │ gzip: 53.40 kB │ map: 828.10 kB 2026-10-24T18:50:17.3941015Z dist/assets/objective-cpp-BsSzOQcm.js 172.01 kB │ gzip: 31.02 kB │ map: 218.54 kB 2026-10-24T18:50:17.3941353Z dist/assets/javascript-DM2jNGak.js 174.93 kB │ gzip: 16.72 kB │ map: 236.10 kB 2026-10-24T18:50:17.3941675Z dist/assets/runtime-SZ_XASiw.js 175.47 kB │ gzip: 56.09 kB │ map: 1,084.32 kB 2026-10-24T18:50:17.3941989Z dist/assets/tsx-BeGYnVHn.js 175.63 kB │ gzip: 16.71 kB │ map: 236.76 kB 2026-10-24T18:50:17.3942300Z dist/assets/jsx-DQaT7vKh.js 177.88 kB │ gzip: 16.80 kB │ map: 239.02 kB 2026-10-24T18:50:17.3942613Z dist/assets/runtime-BXLEB2xI.js 178.29 kB │ gzip: 51.26 kB │ map: 825.60 kB 2026-10-24T18:50:17.3942939Z dist/assets/typescript-BEWCPeCr.js 181.18 kB │ gzip: 16.32 kB │ map: 244.44 kB 2026-10-24T18:50:17.3943264Z dist/assets/angular-ts-B9yvU4g3.js 183.77 kB │ gzip: 16.82 kB │ map: 249.70 kB 2026-10-24T18:50:17.3944230Z dist/assets/vue-vine-DBK802jz.js 190.10 kB │ gzip: 18.11 kB │ map: 255.27 kB 2026-10-24T18:50:17.3944564Z dist/assets/fileTreeExpansion-Dq1QjTMe.js 199.35 kB │ gzip: 54.49 kB │ map: 731.80 kB 2026-10-24T18:50:17.3944919Z dist/assets/FilePreviewPanel-DJ3NNk43.js 204.14 kB │ gzip: 67.04 kB │ map: 946.02 kB 2026-10-24T18:50:17.3945272Z dist/assets/settings.appearance-qClKjSxy.js 214.00 kB │ gzip: 68.31 kB │ map: 896.66 kB 2026-10-24T18:50:17.3945637Z dist/assets/diffRendering-BObayZRX.js 254.85 kB │ gzip: 81.53 kB │ map: 946.66 kB 2026-10-24T18:50:17.3945968Z dist/assets/katex-DJhrJSbw.js 258.63 kB │ gzip: 77.46 kB │ map: 969.65 kB 2026-10-24T18:50:17.3946300Z dist/assets/wolfram-DLL8P-h_.js 262.42 kB │ gzip: 77.67 kB │ map: 279.66 kB 2026-10-24T18:50:17.3946631Z dist/assets/dist-Piy14V5B.js 332.34 kB │ gzip: 97.19 kB │ map: 1,652.92 kB 2026-10-24T18:50:17.3947041Z dist/assets/PanelLayoutControls-DpgsRrZJ.js 384.70 kB │ gzip: 119.95 kB │ map: 1,813.73 kB 2026-10-24T18:50:17.3947384Z dist/assets/ChatMarkdown-CXDkMO0U.js 438.89 kB │ gzip: 146.35 kB │ map: 1,866.44 kB 2026-10-24T18:50:17.3947727Z dist/assets/ComposerPromptEditor-CNFKyVFv.js 519.96 kB │ gzip: 167.93 kB │ map: 2,358.60 kB 2026-10-24T18:50:17.3948077Z dist/assets/lucideIconByName-n8HZJPZc.js 553.52 kB │ gzip: 141.17 kB │ map: 2,035.78 kB 2026-10-24T18:50:17.3948424Z dist/assets/renderScheduler-BrXEMQrq.js 608.04 kB │ gzip: 156.03 kB │ map: 3,048.60 kB 2026-10-24T18:50:17.3948751Z dist/assets/wasm-BnjxR4X6.js 622.36 kB │ gzip: 232.13 kB │ map: 622.90 kB 2026-10-24T18:50:17.3949070Z dist/assets/cpp-5pYxG9nn.js 626.16 kB │ gzip: 48.12 kB │ map: 816.28 kB 2026-10-24T18:50:17.3949388Z dist/assets/emacs-lisp-B4R74twV.js 779.92 kB │ gzip: 197.59 kB │ map: 789.85 kB 2026-10-24T18:50:17.3949712Z dist/assets/utils-Ci50bZTQ.js 1,012.01 kB │ gzip: 314.15 kB │ map: 7,796.42 kB 2026-10-24T18:50:17.3950023Z dist/assets/main-BOcWkahx.js 1,055.86 kB │ gzip: 345.68 kB │ map: 5,061.44 kB 2026-10-24T18:50:17.3950340Z dist/assets/_chat-oQN73Lvj.js 1,311.63 kB │ gzip: 437.38 kB │ map: 6,542.90 kB 2026-10-24T18:50:17.3950654Z dist/assets/heic-to-DeD09f__.js 2,995.22 kB │ gzip: 750.97 kB │ map: 2,998.72 kB 2026-10-24T18:50:17.3950823Z 2026-10-24T18:50:17.3951554Z ✓ built in 8.41s 2026-10-24T18:50:17.3951649Z 2026-10-24T18:50:17.3951776Z ~/apps/server$ node scripts/cli.ts build ⊘ cache disabled 2026-10-24T18:50:17.7888351Z [18:50:17.785] INFO (#1): [cli] Running tsdown... 2026-10-24T18:50:19.6673850Z [18:50:19.667] INFO (#1): [cli] Applied development icon overrides to dist/client 2026-10-24T18:50:19.6728532Z [18:50:19.667] INFO (#1): [cli] Bundled web app into dist/client 2026-10-24T18:50:19.6779810Z 2026-10-24T18:50:19.6780536Z ~/apps/desktop$ node scripts/build-browser-secret.mjs ⊘ cache disabled 2026-10-24T18:50:19.8320128Z 2026-10-24T18:50:19.8320897Z ~/apps/desktop$ node scripts/build-preview-annotation-css.mjs ⊘ cache disabled 2026-10-24T18:50:19.8799285Z 2026-10-24T18:50:19.8799956Z ~/apps/desktop$ vp pack ⊘ cache disabled 2026-10-24T18:50:19.9990153Z ℹ entry: src/main.ts 2026-10-24T18:50:19.9990665Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:19.9996951Z ℹ entry: src/electron/WindowsForegroundFocusWorker.ts, src/snapShot/GlobalShiftShortcutWorker.ts, src/snapShot/RegionSnapShotWorker.ts, src/snapShot/SnapShotAccessibilityWorker.ts 2026-10-24T18:50:19.9997386Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:20.0000377Z ℹ entry: src/boot.ts, src/compileCache.ts 2026-10-24T18:50:20.0000658Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:20.0004882Z ℹ entry: src/preload.ts 2026-10-24T18:50:20.0005037Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:20.0008371Z ℹ entry: src/preview-pick-preload.ts 2026-10-24T18:50:20.0009376Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:20.0011903Z ℹ entry: src/preview-pip-preload.ts 2026-10-24T18:50:20.0012056Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:20.0021040Z ℹ entry: src/mac-permission-preload.ts 2026-10-24T18:50:20.0021202Z ℹ tsconfig: tsconfig.json 2026-10-24T18:50:20.0023866Z ℹ Build start 2026-10-24T18:50:20.0283720Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-24T18:50:20.0284670Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-24T18:50:20.0300764Z Detected dependencies in bundle: 2026-10-24T18:50:20.0301168Z - @clerk/electron 2026-10-24T18:50:20.0602535Z ℹ dist-electron/preview-pip-preload.cjs 0.68 kB │ gzip: 0.36 kB 2026-10-24T18:50:20.0639106Z ℹ dist-electron/preview-pip-preload.cjs.map 10.93 kB │ gzip: 2.83 kB 2026-10-24T18:50:20.0639516Z ℹ 2 files, total: 11.61 kB 2026-10-24T18:50:20.0649288Z ℹ dist-electron/mac-permission-preload.cjs 0.79 kB │ gzip: 0.38 kB 2026-10-24T18:50:20.0689914Z ℹ dist-electron/mac-permission-preload.cjs.map 11.01 kB │ gzip: 2.80 kB 2026-10-24T18:50:20.0690159Z ℹ 2 files, total: 11.80 kB 2026-10-24T18:50:20.0690351Z ℹ dist-electron/preload.cjs 32.04 kB │ gzip: 7.35 kB 2026-10-24T18:50:20.0690566Z ℹ dist-electron/preload.cjs.map 58.74 kB │ gzip: 13.13 kB 2026-10-24T18:50:20.0693216Z ℹ 2 files, total: 90.78 kB 2026-10-24T18:50:20.0725913Z ✔ Build complete in 70ms 2026-10-24T18:50:20.0746145Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-24T18:50:20.0746565Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-24T18:50:20.0746800Z Detected dependencies in bundle: 2026-10-24T18:50:20.0746982Z - react-grab 2026-10-24T18:50:20.0753172Z ✔ Build complete in 73ms 2026-10-24T18:50:20.0776447Z ✔ Build complete in 74ms 2026-10-24T18:50:20.0909089Z ℹ dist-electron/compileCache.cjs 1.61 kB │ gzip: 0.75 kB 2026-10-24T18:50:20.0909389Z ℹ dist-electron/boot.cjs 0.12 kB │ gzip: 0.12 kB 2026-10-24T18:50:20.0909618Z ℹ dist-electron/compileCache.cjs.map 1.29 kB │ gzip: 0.74 kB 2026-10-24T18:50:20.0909844Z ℹ dist-electron/boot.cjs.map 0.31 kB │ gzip: 0.22 kB 2026-10-24T18:50:20.0910034Z ℹ 4 files, total: 3.33 kB 2026-10-24T18:50:20.1050241Z ✔ Build complete in 97ms 2026-10-24T18:50:20.1221273Z ℹ dist-electron/preview-pick-preload.cjs 136.94 kB │ gzip: 36.46 kB 2026-10-24T18:50:20.1221809Z ℹ dist-electron/preview-pick-preload.cjs.map 243.14 kB │ gzip: 62.42 kB 2026-10-24T18:50:20.1222160Z ℹ 2 files, total: 380.08 kB 2026-10-24T18:50:20.1444133Z ✔ Build complete in 136ms 2026-10-24T18:50:20.3298325Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs 6.35 kB │ gzip: 1.97 kB 2026-10-24T18:50:20.3299367Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs 5.71 kB │ gzip: 1.60 kB 2026-10-24T18:50:20.3299697Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs 2.32 kB │ gzip: 0.89 kB 2026-10-24T18:50:20.3300015Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs 0.77 kB │ gzip: 0.43 kB 2026-10-24T18:50:20.3300311Z ℹ dist-electron/snapShot-uAHhRfF5.cjs.map 4.58 MB 2026-10-24T18:50:20.3300571Z ℹ dist-electron/snapShot-uAHhRfF5.cjs 1.19 MB 2026-10-24T18:50:20.3300859Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs.map 13.86 kB │ gzip: 4.10 kB 2026-10-24T18:50:20.3301181Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs.map 13.29 kB │ gzip: 3.40 kB 2026-10-24T18:50:20.3301596Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs.map 5.07 kB │ gzip: 1.69 kB 2026-10-24T18:50:20.3301952Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs.map 1.73 kB │ gzip: 0.82 kB 2026-10-24T18:50:20.3302307Z ℹ dist-electron/rolldown-runtime-VH7oDXx4.cjs 1.13 kB │ gzip: 0.54 kB 2026-10-24T18:50:20.3302577Z ℹ 11 files, total: 5.82 MB 2026-10-24T18:50:20.3308064Z ✔ Build complete in 328ms 2026-10-24T18:50:20.7155115Z ℹ dist-electron/main.cjs 5.48 MB 2026-10-24T18:50:20.7155499Z ℹ dist-electron/main.cjs.map 13.90 MB 2026-10-24T18:50:20.7155845Z ℹ 2 files, total: 19.38 MB 2026-10-24T18:50:20.7163246Z ../../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-24T18:50:20.7164562Z ╭─[ ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js:7:23 ] 2026-10-24T18:50:20.7164993Z │ 2026-10-24T18:50:20.7165646Z 7 │   const x11 = require('x11'); 2026-10-24T18:50:20.7166160Z  │ ──┬── 2026-10-24T18:50:20.7166417Z  │ ╰──── Module not found, treating it as an external dependency 2026-10-24T18:50:20.7166629Z ───╯ 2026-10-24T18:50:20.7166853Z 2026-10-24T18:50:20.7167185Z ../../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-24T18:50:20.7167922Z ╭─[ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/ConfigProvider.js:725:8 ] 2026-10-24T18:50:20.7168203Z │ 2026-10-24T18:50:20.7168586Z 725 │     ...import.meta?.env 2026-10-24T18:50:20.7168939Z  │ ─────┬───── 2026-10-24T18:50:20.7169518Z  │ ╰─────── 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-24T18:50:20.7170002Z ─────╯ 2026-10-24T18:50:20.7170520Z 2026-10-24T18:50:20.7174936Z ✔ Build complete in 715ms 2026-10-24T18:50:20.7314019Z 2026-10-24T18:50:20.7315243Z --- 2026-10-24T18:50:20.7315485Z vp run: 5/5 successful. (Run `vp run --last-details` for full details) 2026-10-24T18:50:20.7435398Z ##[group]Run node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-24T18:50:20.7435680Z node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-24T18:50:20.7446156Z shell: /usr/bin/bash -e {0} 2026-10-24T18:50:20.7446285Z env: 2026-10-24T18:50:20.7446401Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:20.7446554Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:20.7446720Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:20.7446858Z ##[endgroup] 2026-10-24T18:50:20.7867962Z ##[group]Run until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-24T18:50:20.7868263Z until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-24T18:50:20.7868460Z cat "$RUNNER_TEMP/typecheck.log" 2026-10-24T18:50:20.7868651Z exit "$(cat "$RUNNER_TEMP/typecheck-status")" 2026-10-24T18:50:20.7879714Z shell: /usr/bin/bash -e {0} 2026-10-24T18:50:20.7879845Z env: 2026-10-24T18:50:20.7879960Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:20.7880110Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:20.7880258Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T18:50:20.7880397Z ##[endgroup] 2026-10-24T18:50:23.7929382Z ~/packages/effect-acp$ tsc --noEmit 2026-10-24T18:50:23.7929988Z ~/packages/effect-codex-app-server$ tsc --noEmit 2026-10-24T18:50:23.7930204Z ~/oxlint-plugin-t3code$ tsc --noEmit 2026-10-24T18:50:23.7930398Z ~/packages/contracts$ tsc --noEmit 2026-10-24T18:50:23.7930514Z 2026-10-24T18:50:23.7930991Z 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-24T18:50:23.7931474Z 2026-10-24T18:50:23.7931538Z 40 error: Schema.Struct({ 2026-10-24T18:50:23.7931699Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7932015Z 41 _tag: Schema.Literal("Cause"), 2026-10-24T18:50:23.7932206Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7932438Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T18:50:23.7932706Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7932904Z 43 }), 2026-10-24T18:50:23.7933026Z ~~~~ 2026-10-24T18:50:23.7933095Z 2026-10-24T18:50:23.7933502Z 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-24T18:50:23.7933943Z 2026-10-24T18:50:23.7934061Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T18:50:23.7934316Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7934454Z 2026-10-24T18:50:23.7934802Z 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-24T18:50:23.7935189Z 2026-10-24T18:50:23.7935260Z 422 handleInitialize: (handler) => 2026-10-24T18:50:23.7935428Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7935518Z 2026-10-24T18:50:23.7935858Z 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-24T18:50:23.7936249Z 2026-10-24T18:50:23.7936321Z 427 handleAuthenticate: (handler) => 2026-10-24T18:50:23.7936510Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7936639Z 2026-10-24T18:50:23.7936959Z 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-24T18:50:23.7937333Z 2026-10-24T18:50:23.7937402Z 432 handleLogout: (handler) => 2026-10-24T18:50:23.7937561Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.7937648Z 2026-10-24T18:50:23.7937984Z 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-24T18:50:23.7938377Z 2026-10-24T18:50:23.7938439Z 437 handleCreateSession: (handler) => 2026-10-24T18:50:23.7938578Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7938653Z 2026-10-24T18:50:23.7939035Z 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-24T18:50:23.7939332Z 2026-10-24T18:50:23.7939387Z 442 handleLoadSession: (handler) => 2026-10-24T18:50:23.7939517Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7939592Z 2026-10-24T18:50:23.7939855Z 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-24T18:50:23.7940157Z 2026-10-24T18:50:23.7940208Z 447 handleListSessions: (handler) => 2026-10-24T18:50:23.7940348Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7940422Z 2026-10-24T18:50:23.7940677Z 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-24T18:50:23.7940983Z 2026-10-24T18:50:23.7941040Z 452 handleForkSession: (handler) => 2026-10-24T18:50:23.7941169Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7941239Z 2026-10-24T18:50:23.7941503Z 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-24T18:50:23.7941806Z 2026-10-24T18:50:23.7941864Z 457 handleResumeSession: (handler) => 2026-10-24T18:50:23.7942000Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7942072Z 2026-10-24T18:50:23.7942330Z 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-24T18:50:23.7942693Z 2026-10-24T18:50:23.7942746Z 462 handleCloseSession: (handler) => 2026-10-24T18:50:23.7942877Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7942946Z 2026-10-24T18:50:23.7943209Z 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-24T18:50:23.7943537Z 2026-10-24T18:50:23.7943606Z 467 handleDeleteSession: (handler) => 2026-10-24T18:50:23.7943751Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7943824Z 2026-10-24T18:50:23.7944088Z 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-24T18:50:23.7944391Z 2026-10-24T18:50:23.7944451Z 472 handleListProviders: (handler) => 2026-10-24T18:50:23.7944587Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7944656Z 2026-10-24T18:50:23.7944915Z 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-24T18:50:23.7945214Z 2026-10-24T18:50:23.7945269Z 477 handleSetProvider: (handler) => 2026-10-24T18:50:23.7945400Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7945472Z 2026-10-24T18:50:23.7945739Z 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-24T18:50:23.7946043Z 2026-10-24T18:50:23.7946102Z 482 handleDisableProvider: (handler) => 2026-10-24T18:50:23.7946244Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7946316Z 2026-10-24T18:50:23.7946621Z 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-24T18:50:23.7946944Z 2026-10-24T18:50:23.7947012Z 487 handleSetSessionConfigOption: (handler) => 2026-10-24T18:50:23.7947163Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7947302Z 2026-10-24T18:50:23.7947551Z 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-24T18:50:23.7947843Z 2026-10-24T18:50:23.7947894Z 492 handlePrompt: (handler) => 2026-10-24T18:50:23.7948020Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.7948084Z 2026-10-24T18:50:23.7948338Z 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-24T18:50:23.7948628Z 2026-10-24T18:50:23.7948678Z 497 handleCancel: (handler) => 2026-10-24T18:50:23.7948801Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.7948869Z 2026-10-24T18:50:23.7949145Z 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-24T18:50:23.7949457Z 2026-10-24T18:50:23.7949516Z 502 handleUnknownExtRequest: (handler) => 2026-10-24T18:50:23.7949666Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7949742Z 2026-10-24T18:50:23.7950022Z 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-24T18:50:23.7950345Z 2026-10-24T18:50:23.7950412Z 507 handleUnknownExtNotification: (handler) => 2026-10-24T18:50:23.7950565Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7950647Z 2026-10-24T18:50:23.7950934Z 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-24T18:50:23.7951305Z 2026-10-24T18:50:23.7951375Z 512 handleExtRequest: (method, payload, handler) => 2026-10-24T18:50:23.7951533Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7951601Z 2026-10-24T18:50:23.7951890Z 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-24T18:50:23.7952226Z 2026-10-24T18:50:23.7952307Z 517 handleExtNotification: (method, payload, handler) => 2026-10-24T18:50:23.7952471Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7952547Z 2026-10-24T18:50:23.7952860Z 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-24T18:50:23.7953216Z 2026-10-24T18:50:23.7953263Z 56 error: Schema.Struct({ 2026-10-24T18:50:23.7953384Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7953506Z 57 _tag: Schema.Literal("Cause"), 2026-10-24T18:50:23.7953644Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7953821Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T18:50:23.7954028Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7954181Z 59 }), 2026-10-24T18:50:23.7954277Z ~~~~ 2026-10-24T18:50:23.7954330Z 2026-10-24T18:50:23.7954642Z 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-24T18:50:23.7954990Z 2026-10-24T18:50:23.7955082Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T18:50:23.7955278Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7955390Z 2026-10-24T18:50:23.7955681Z 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-24T18:50:23.7955961Z 2026-10-24T18:50:23.7956025Z 1071 yield* Effect.all( 2026-10-24T18:50:23.7956156Z ~~~~~~~~~~ 2026-10-24T18:50:23.7956233Z 2026-10-24T18:50:23.7956534Z 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-24T18:50:23.7956875Z 2026-10-24T18:50:23.7956941Z 1244 handleRequestPermission: (handler) => 2026-10-24T18:50:23.7957087Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7957165Z 2026-10-24T18:50:23.7957429Z 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-24T18:50:23.7957736Z 2026-10-24T18:50:23.7957794Z 1249 handleElicitation: (handler) => 2026-10-24T18:50:23.7957932Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7958000Z 2026-10-24T18:50:23.7958265Z 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-24T18:50:23.7958567Z 2026-10-24T18:50:23.7958622Z 1254 handleMcpConnect: (handler) => 2026-10-24T18:50:23.7958756Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7958827Z 2026-10-24T18:50:23.7959090Z 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-24T18:50:23.7959393Z 2026-10-24T18:50:23.7959444Z 1258 handleMcpMessage: (handler) => 2026-10-24T18:50:23.7959627Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7959695Z 2026-10-24T18:50:23.7959971Z 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-24T18:50:23.7960284Z 2026-10-24T18:50:23.7960346Z 1262 handleMcpDisconnect: (handler) => 2026-10-24T18:50:23.7960488Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7960565Z 2026-10-24T18:50:23.7960839Z 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-24T18:50:23.7961154Z 2026-10-24T18:50:23.7961212Z 1266 handleMcpNotification: (handler) => 2026-10-24T18:50:23.7961357Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7961431Z 2026-10-24T18:50:23.7961702Z 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-24T18:50:23.7962016Z 2026-10-24T18:50:23.7962075Z 1275 handleReadTextFile: (handler) => 2026-10-24T18:50:23.7962212Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7962287Z 2026-10-24T18:50:23.7962557Z 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-24T18:50:23.7962869Z 2026-10-24T18:50:23.7962923Z 1279 handleWriteTextFile: (handler) => 2026-10-24T18:50:23.7963065Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7963140Z 2026-10-24T18:50:23.7963413Z 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-24T18:50:23.7963727Z 2026-10-24T18:50:23.7963786Z 1283 handleCreateTerminal: (handler) => 2026-10-24T18:50:23.7963926Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7964003Z 2026-10-24T18:50:23.7964326Z 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-24T18:50:23.7964638Z 2026-10-24T18:50:23.7964693Z 1287 handleTerminalOutput: (handler) => 2026-10-24T18:50:23.7964838Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7964914Z 2026-10-24T18:50:23.7965200Z 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-24T18:50:23.7965527Z 2026-10-24T18:50:23.7965595Z 1291 handleTerminalWaitForExit: (handler) => 2026-10-24T18:50:23.7965748Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7965834Z 2026-10-24T18:50:23.7966103Z 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-24T18:50:23.7966413Z 2026-10-24T18:50:23.7966466Z 1295 handleTerminalKill: (handler) => 2026-10-24T18:50:23.7966630Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7966704Z 2026-10-24T18:50:23.7966975Z 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-24T18:50:23.7967360Z 2026-10-24T18:50:23.7967421Z 1299 handleTerminalRelease: (handler) => 2026-10-24T18:50:23.7967557Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7967635Z 2026-10-24T18:50:23.7967910Z 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-24T18:50:23.7968280Z 2026-10-24T18:50:23.7968335Z 1303 handleSessionUpdate: (handler) => 2026-10-24T18:50:23.7968480Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7968557Z 2026-10-24T18:50:23.7968836Z 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-24T18:50:23.7969160Z 2026-10-24T18:50:23.7969226Z 1308 handleElicitationComplete: (handler) => 2026-10-24T18:50:23.7969377Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7969459Z 2026-10-24T18:50:23.7969737Z 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-24T18:50:23.7970054Z 2026-10-24T18:50:23.7970118Z 1313 handleUnknownExtRequest: (handler) => 2026-10-24T18:50:23.7970264Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7970345Z 2026-10-24T18:50:23.7970632Z 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-24T18:50:23.7970962Z 2026-10-24T18:50:23.7971033Z 1318 handleUnknownExtNotification: (handler) => 2026-10-24T18:50:23.7971194Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7971275Z 2026-10-24T18:50:23.7971568Z 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-24T18:50:23.7971900Z 2026-10-24T18:50:23.7971973Z 1323 handleExtRequest: (method, payload, handler) => 2026-10-24T18:50:23.7972130Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7972201Z 2026-10-24T18:50:23.7972552Z 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-24T18:50:23.7972890Z 2026-10-24T18:50:23.7972972Z 1328 handleExtNotification: (method, payload, handler) => 2026-10-24T18:50:23.7973141Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7973214Z 2026-10-24T18:50:23.7973596Z 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-24T18:50:23.7974016Z 2026-10-24T18:50:23.7974095Z 500 const response = yield* Schema.decodeUnknownEffect( 2026-10-24T18:50:23.7974270Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7974371Z 2026-10-24T18:50:23.7974642Z 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-24T18:50:23.7974950Z 2026-10-24T18:50:23.7975000Z 875 run: (_clientId, f) => 2026-10-24T18:50:23.7975125Z ~~~ 2026-10-24T18:50:23.7975181Z 2026-10-24T18:50:23.7975460Z 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-24T18:50:23.7975776Z 2026-10-24T18:50:23.7975830Z 880 send: (_clientId, request) => 2026-10-24T18:50:23.7975956Z ~~~~ 2026-10-24T18:50:23.7976014Z 2026-10-24T18:50:23.7976264Z 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-24T18:50:23.7976629Z 2026-10-24T18:50:23.7976671Z 898 run: (f) => 2026-10-24T18:50:23.7976781Z ~~~ 2026-10-24T18:50:23.7976836Z 2026-10-24T18:50:23.7977114Z 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-24T18:50:23.7977435Z 2026-10-24T18:50:23.7977490Z 904 send: (_clientId, response) => 2026-10-24T18:50:23.7977619Z ~~~~ 2026-10-24T18:50:23.7977679Z 2026-10-24T18:50:23.7977938Z 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-24T18:50:23.7978242Z 2026-10-24T18:50:23.7978288Z 913 end: (_clientId) => 2026-10-24T18:50:23.7978407Z ~~~ 2026-10-24T18:50:23.7978460Z 2026-10-24T18:50:23.7978466Z 2026-10-24T18:50:23.7978830Z 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-24T18:50:23.7979234Z 2026-10-24T18:50:23.7979363Z 17 expect(Schema.decodeUnknownSync(AuthEnvironmentScopes)(["review:write"])).toEqual([ 2026-10-24T18:50:23.7979578Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7979663Z 2026-10-24T18:50:23.7979665Z 2026-10-24T18:50:23.7979722Z ~/packages/shared$ tsc --noEmit 2026-10-24T18:50:23.7980059Z 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-24T18:50:23.7980358Z 2026-10-24T18:50:23.7980411Z 91 defaultValue: () => 2026-10-24T18:50:23.7980528Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.7980594Z 2026-10-24T18:50:23.7980840Z 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-24T18:50:23.7981128Z 2026-10-24T18:50:23.7981172Z 121 onNone: () => 2026-10-24T18:50:23.7981325Z ~~~~~~ 2026-10-24T18:50:23.7981392Z 2026-10-24T18:50:23.7981657Z src/nodeSqliteClient.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("checkNodeSqliteCompat")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.7981963Z 2026-10-24T18:50:23.7982023Z 143 const checkNodeSqliteCompat = () => { 2026-10-24T18:50:23.7982165Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7982245Z 2026-10-24T18:50:23.7982497Z 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-24T18:50:23.7982790Z 2026-10-24T18:50:23.7982866Z 471 if (unavailable) return Effect.succeed(undefined); 2026-10-24T18:50:23.7983048Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7983150Z 2026-10-24T18:50:23.7983530Z 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-24T18:50:23.7983945Z 2026-10-24T18:50:23.7984046Z 478 return Effect.suspend((): Effect.Effect => { 2026-10-24T18:50:23.7984228Z ~~~~~~ 2026-10-24T18:50:23.7984287Z 2026-10-24T18:50:23.7984541Z 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-24T18:50:23.7984833Z 2026-10-24T18:50:23.7984907Z 479 if (unavailable) return Effect.succeed(undefined); 2026-10-24T18:50:23.7985077Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7985227Z 2026-10-24T18:50:23.7985479Z 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-24T18:50:23.7985767Z 2026-10-24T18:50:23.7985824Z 500 ? Effect.succeed(undefined) 2026-10-24T18:50:23.7985968Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7986053Z 2026-10-24T18:50:23.7986413Z 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-24T18:50:23.7986851Z 2026-10-24T18:50:23.7986896Z 665 try { 2026-10-24T18:50:23.7986998Z ~~~~~ 2026-10-24T18:50:23.7987149Z 666 worker = new NodeWorkerThreads.Worker(checkpointWorkerSource, { 2026-10-24T18:50:23.7987358Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7987509Z ... 2026-10-24T18:50:23.7987616Z 677 return undefined; 2026-10-24T18:50:23.7987734Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7987851Z 678 } 2026-10-24T18:50:23.7987950Z ~~~ 2026-10-24T18:50:23.7988004Z 2026-10-24T18:50:23.7988208Z src/symlink.ts:28:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.7988448Z 2026-10-24T18:50:23.7988504Z 28 Effect.map(Option.some), 2026-10-24T18:50:23.7988641Z ~~~~~~~~~~ 2026-10-24T18:50:23.7988704Z 2026-10-24T18:50:23.7988706Z 2026-10-24T18:50:23.7988761Z ~/apps/marketing$ astro check 2026-10-24T18:50:23.7988911Z ~/packages/source-control-core$ tsc --noEmit 2026-10-24T18:50:23.7989071Z ~/packages/tailscale$ tsc --noEmit 2026-10-24T18:50:23.7989469Z 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-24T18:50:23.7989821Z 2026-10-24T18:50:23.7989888Z 243 handleServerRequest: (method, handler) => 2026-10-24T18:50:23.7990083Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7990161Z 2026-10-24T18:50:23.7990478Z 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-24T18:50:23.7990834Z 2026-10-24T18:50:23.7990908Z 247 handleServerNotification: (method, handler) => 2026-10-24T18:50:23.7991069Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7991149Z 2026-10-24T18:50:23.7991460Z 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-24T18:50:23.7991808Z 2026-10-24T18:50:23.7991875Z 253 handleUnknownServerRequest: (handler) => 2026-10-24T18:50:23.7992031Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7992111Z 2026-10-24T18:50:23.7992428Z 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-24T18:50:23.7992785Z 2026-10-24T18:50:23.7992860Z 257 handleUnknownServerNotification: (handler) => 2026-10-24T18:50:23.7993021Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7993108Z 2026-10-24T18:50:23.7993110Z 2026-10-24T18:50:23.7993162Z ~/packages/ssh$ tsc --noEmit 2026-10-24T18:50:23.7993239Z 2026-10-24T18:50:23.7993299Z ~/packages/provider-core$ tsc --noEmit 2026-10-24T18:50:23.7993393Z 2026-10-24T18:50:23.7993447Z ~/scripts$ tsc --noEmit 2026-10-24T18:50:23.7993774Z 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-24T18:50:23.7994117Z 2026-10-24T18:50:23.7994181Z 51 request: () => Effect.succeed(null), 2026-10-24T18:50:23.7994323Z ~~~~~~~ 2026-10-24T18:50:23.7994389Z 2026-10-24T18:50:23.7994628Z 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-24T18:50:23.7994902Z 2026-10-24T18:50:23.7994953Z 311 onNone: () => 2026-10-24T18:50:23.7995071Z ~~~~~~ 2026-10-24T18:50:23.7995133Z 2026-10-24T18:50:23.7995134Z 2026-10-24T18:50:23.7995201Z ~/packages/source-control-testing$ tsc --noEmit 2026-10-24T18:50:23.7995606Z 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-24T18:50:23.7995940Z 2026-10-24T18:50:23.7996072Z 95 read: (threadId) => Ref.get(sessions).pipe(Effect.map((current) => current.get(threadId))), 2026-10-24T18:50:23.7996288Z ~~~~ 2026-10-24T18:50:23.7996344Z 2026-10-24T18:50:23.7996669Z 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-24T18:50:23.7997009Z 2026-10-24T18:50:23.7997062Z 96 clear: (threadId) => 2026-10-24T18:50:23.7997180Z ~~~~~ 2026-10-24T18:50:23.7997238Z 2026-10-24T18:50:23.7997584Z 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-24T18:50:23.7997967Z 2026-10-24T18:50:23.7998042Z 110 recordHtmlRender: (threadId, input, reference) => 2026-10-24T18:50:23.7998206Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7998275Z 2026-10-24T18:50:23.7998661Z 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-24T18:50:23.7999042Z 2026-10-24T18:50:23.7999114Z 130 takeHtmlRender: (threadId, input, reported) => 2026-10-24T18:50:23.7999266Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.7999335Z 2026-10-24T18:50:23.7999671Z 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-24T18:50:23.8000043Z 2026-10-24T18:50:23.8000114Z 55 offer: (request: ProviderContinuationRequest) => 2026-10-24T18:50:23.8000274Z ~~~~~ 2026-10-24T18:50:23.8000332Z 2026-10-24T18:50:23.8000655Z 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-24T18:50:23.8001009Z 2026-10-24T18:50:23.8001061Z 53 invalidate: (key) => 2026-10-24T18:50:23.8001178Z ~~~~~~~~~~ 2026-10-24T18:50:23.8001244Z 2026-10-24T18:50:23.8001513Z src/server/snapshotProbe.test.ts:139:9 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-24T18:50:23.8001820Z 2026-10-24T18:50:23.8001950Z 139 Effect.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, spawner)), 2026-10-24T18:50:23.8002172Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8002246Z 2026-10-24T18:50:23.8002248Z 2026-10-24T18:50:23.8002303Z ~/packages/provider-acp$ tsc --noEmit 2026-10-24T18:50:23.8002452Z 18:50:09 [types] Generated 286ms 2026-10-24T18:50:23.8002733Z 18:50:09 [check] Getting diagnostics for Astro files in /home/runner/_work/t3code/t3code/apps/marketing... 2026-10-24T18:50:23.8002915Z 2026-10-24T18:50:23.8002976Z ~/packages/provider-testing$ tsc --noEmit 2026-10-24T18:50:23.8003072Z 2026-10-24T18:50:23.8003137Z ~/packages/source-control-gitlab$ tsc --noEmit 2026-10-24T18:50:23.8003615Z 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-24T18:50:23.8004027Z 2026-10-24T18:50:23.8004070Z 501 try { 2026-10-24T18:50:23.8004174Z ~~~~~ 2026-10-24T18:50:23.8004280Z 502 lease.kill(); 2026-10-24T18:50:23.8004398Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8004509Z ... 2026-10-24T18:50:23.8004608Z 508 continue; 2026-10-24T18:50:23.8004724Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8004830Z 509 } 2026-10-24T18:50:23.8004938Z ~~~~~~~ 2026-10-24T18:50:23.8004992Z 2026-10-24T18:50:23.8005361Z 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-24T18:50:23.8005765Z 2026-10-24T18:50:23.8005809Z 511 try { 2026-10-24T18:50:23.8005909Z ~~~~~ 2026-10-24T18:50:23.8006024Z 512 populated = lease.populated(); 2026-10-24T18:50:23.8006172Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8006300Z ... 2026-10-24T18:50:23.8006425Z 520 return yield* failure("read state for", cause); 2026-10-24T18:50:23.8006630Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8006777Z 521 } 2026-10-24T18:50:23.8006870Z ~~~~~~~ 2026-10-24T18:50:23.8006927Z 2026-10-24T18:50:23.8007415Z 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-24T18:50:23.8007825Z 2026-10-24T18:50:23.8007871Z 527 try { 2026-10-24T18:50:23.8007972Z ~~~~~ 2026-10-24T18:50:23.8008076Z 528 lease.remove(); 2026-10-24T18:50:23.8008199Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8008309Z ... 2026-10-24T18:50:23.8008417Z 536 lastRemovalFailure = { cause }; 2026-10-24T18:50:23.8008562Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8008690Z 537 } 2026-10-24T18:50:23.8009000Z ~~~~~~~ 2026-10-24T18:50:23.8009107Z 2026-10-24T18:50:23.8009546Z 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-24T18:50:23.8010023Z 2026-10-24T18:50:23.8010100Z 1990 Option.match(result, { 2026-10-24T18:50:23.8010279Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8010379Z 2026-10-24T18:50:23.8010771Z 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-24T18:50:23.8011197Z 2026-10-24T18:50:23.8011276Z 2037 Effect.flatMap(() => getStartedState), 2026-10-24T18:50:23.8011472Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8011560Z 2026-10-24T18:50:23.8011983Z 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-24T18:50:23.8012449Z 2026-10-24T18:50:23.8012517Z 2254 Effect.catch((error) => 2026-10-24T18:50:23.8012682Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8012960Z 2026-10-24T18:50:23.8013406Z 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-24T18:50:23.8013904Z 2026-10-24T18:50:23.8013982Z 2611 Effect.catchCause((cause) => 2026-10-24T18:50:23.8014166Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8014274Z 2026-10-24T18:50:23.8014681Z 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-24T18:50:23.8015137Z 2026-10-24T18:50:23.8015249Z 1389 getCapabilities: () => Effect.succeed(flavor.capabilities), 2026-10-24T18:50:23.8015475Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8015562Z 2026-10-24T18:50:23.8015999Z 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-24T18:50:23.8016486Z 2026-10-24T18:50:23.8016682Z 1390 planSelectionTransition: (input) => Effect.succeed(acpSelectionTransition(input)), 2026-10-24T18:50:23.8016957Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8017061Z 2026-10-24T18:50:23.8017289Z src/server/adapter.ts:5398:23 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T18:50:23.8017567Z 2026-10-24T18:50:23.8017645Z 5398 Effect.gen(function* () { 2026-10-24T18:50:23.8017841Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8018080Z 5399 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-24T18:50:23.8018348Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8018553Z ... 2026-10-24T18:50:23.8018655Z 5403 }); 2026-10-24T18:50:23.8018777Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8018946Z 5404 }), 2026-10-24T18:50:23.8019071Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8019145Z 2026-10-24T18:50:23.8019326Z src/server/adapter.ts:6092:21 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T18:50:23.8019542Z 2026-10-24T18:50:23.8019602Z 6092 Effect.gen(function* () { 2026-10-24T18:50:23.8019750Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8019937Z 6093 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-24T18:50:23.8020141Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8020297Z ... 2026-10-24T18:50:23.8020401Z 6097 }); 2026-10-24T18:50:23.8020519Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8020638Z 6098 }), 2026-10-24T18:50:23.8020757Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8020833Z 2026-10-24T18:50:23.8021131Z 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-24T18:50:23.8021463Z 2026-10-24T18:50:23.8021527Z 7128 scheduleDeferredFinalize = (context) => 2026-10-24T18:50:23.8021681Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8021766Z 2026-10-24T18:50:23.8022038Z 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-24T18:50:23.8022350Z 2026-10-24T18:50:23.8022408Z 243 const results = yield* Effect.all( 2026-10-24T18:50:23.8022554Z ~~~~~~~~~~ 2026-10-24T18:50:23.8022692Z 2026-10-24T18:50:23.8022693Z 2026-10-24T18:50:23.8022762Z ~/packages/source-control-github$ tsc --noEmit 2026-10-24T18:50:23.8023184Z 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-24T18:50:23.8023542Z 2026-10-24T18:50:23.8023664Z 59 shouldRunBackgroundWork: () => Effect.succeed(options.runBackgroundWork ?? true), 2026-10-24T18:50:23.8023870Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8023954Z 2026-10-24T18:50:23.8024274Z 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-24T18:50:23.8024635Z 2026-10-24T18:50:23.8024699Z 61 credentials: (namespace, bindingId) => 2026-10-24T18:50:23.8024846Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8024914Z 2026-10-24T18:50:23.8024916Z 2026-10-24T18:50:23.8024986Z ~/packages/source-control-azure-devops$ tsc --noEmit 2026-10-24T18:50:23.8025380Z 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-24T18:50:23.8025701Z 2026-10-24T18:50:23.8025757Z 470 listMergeRequests: (input) => 2026-10-24T18:50:23.8025890Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8025961Z 2026-10-24T18:50:23.8026236Z 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-24T18:50:23.8026734Z 2026-10-24T18:50:23.8026828Z 507 getMergeRequest: (input) => 2026-10-24T18:50:23.8026986Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8027059Z 2026-10-24T18:50:23.8027515Z 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-24T18:50:23.8027855Z 2026-10-24T18:50:23.8027921Z 534 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8028068Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8028146Z 2026-10-24T18:50:23.8028430Z 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-24T18:50:23.8028748Z 2026-10-24T18:50:23.8028804Z 556 createRepository: (input) => { 2026-10-24T18:50:23.8028936Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8029004Z 2026-10-24T18:50:23.8029285Z 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-24T18:50:23.8029607Z 2026-10-24T18:50:23.8029663Z 621 createMergeRequest: (input) => { 2026-10-24T18:50:23.8029795Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8029869Z 2026-10-24T18:50:23.8030146Z 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-24T18:50:23.8030456Z 2026-10-24T18:50:23.8030510Z 642 getDefaultBranch: (input) => 2026-10-24T18:50:23.8030641Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8030707Z 2026-10-24T18:50:23.8030988Z 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-24T18:50:23.8031309Z 2026-10-24T18:50:23.8031366Z 663 checkoutMergeRequest: (input) => 2026-10-24T18:50:23.8031563Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8031637Z 2026-10-24T18:50:23.8031965Z 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-24T18:50:23.8032327Z 2026-10-24T18:50:23.8032383Z 1139 listMergeRequests: (input) => { 2026-10-24T18:50:23.8032516Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8032584Z 2026-10-24T18:50:23.8032888Z 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-24T18:50:23.8033230Z 2026-10-24T18:50:23.8033334Z 1147 listNotes: (input) => notesPage({ ...input, page: 1, collected: [] }), 2026-10-24T18:50:23.8033518Z ~~~~~~~~~ 2026-10-24T18:50:23.8033580Z 2026-10-24T18:50:23.8033895Z 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-24T18:50:23.8034252Z 2026-10-24T18:50:23.8034377Z 1149 listReactions: (input) => awardsPage({ ...input, cursor: null, page: 1, collected: null }), 2026-10-24T18:50:23.8034589Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8034656Z 2026-10-24T18:50:23.8034962Z 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-24T18:50:23.8035308Z 2026-10-24T18:50:23.8035359Z 1187 listCommits: (input) => 2026-10-24T18:50:23.8035479Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8035545Z 2026-10-24T18:50:23.8035864Z 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-24T18:50:23.8036230Z 2026-10-24T18:50:23.8036285Z 1212 getMergeRequestDiff: (input) => { 2026-10-24T18:50:23.8036467Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8036574Z 2026-10-24T18:50:23.8036908Z 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-24T18:50:23.8037285Z 2026-10-24T18:50:23.8037350Z 1283 getProjectMergeCapabilities: (input) => 2026-10-24T18:50:23.8037500Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8037582Z 2026-10-24T18:50:23.8037896Z 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-24T18:50:23.8038261Z 2026-10-24T18:50:23.8038313Z 1303 listProjectLabels: (input) => 2026-10-24T18:50:23.8038446Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8038519Z 2026-10-24T18:50:23.8038839Z 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-24T18:50:23.8039197Z 2026-10-24T18:50:23.8039254Z 1329 listProjectUsers: (input) => 2026-10-24T18:50:23.8039383Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8039454Z 2026-10-24T18:50:23.8039781Z 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-24T18:50:23.8040153Z 2026-10-24T18:50:23.8040212Z 1337 listReviewerCandidates: (input) => 2026-10-24T18:50:23.8040395Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8040471Z 2026-10-24T18:50:23.8040791Z 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-24T18:50:23.8041147Z 2026-10-24T18:50:23.8041202Z 1355 setReviewerRequest: (input) => 2026-10-24T18:50:23.8041337Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8041407Z 2026-10-24T18:50:23.8041726Z 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-24T18:50:23.8042086Z 2026-10-24T18:50:23.8042139Z 1408 updateMergeRequest: (input) => 2026-10-24T18:50:23.8042271Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8042342Z 2026-10-24T18:50:23.8042674Z 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-24T18:50:23.8043041Z 2026-10-24T18:50:23.8043102Z 1422 commentOnMergeRequest: (input) => 2026-10-24T18:50:23.8043244Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8043316Z 2026-10-24T18:50:23.8043623Z 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-24T18:50:23.8043967Z 2026-10-24T18:50:23.8044017Z 1432 updateNote: (input) => 2026-10-24T18:50:23.8044135Z ~~~~~~~~~~ 2026-10-24T18:50:23.8044199Z 2026-10-24T18:50:23.8044511Z 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-24T18:50:23.8044868Z 2026-10-24T18:50:23.8044983Z 1442 listDiscussions: (input) => discussionsPage({ ...input, page: 1, collected: [] }), 2026-10-24T18:50:23.8045220Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8045288Z 2026-10-24T18:50:23.8045604Z 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-24T18:50:23.8045970Z 2026-10-24T18:50:23.8046025Z 1493 replyToDiscussion: (input) => 2026-10-24T18:50:23.8046159Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8046230Z 2026-10-24T18:50:23.8046581Z 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-24T18:50:23.8046953Z 2026-10-24T18:50:23.8047010Z 1503 setDiscussionResolution: (input) => 2026-10-24T18:50:23.8047161Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8047256Z 2026-10-24T18:50:23.8047741Z 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-24T18:50:23.8048167Z 2026-10-24T18:50:23.8048240Z 211 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-24T18:50:23.8048397Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8048478Z 2026-10-24T18:50:23.8048856Z 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-24T18:50:23.8049276Z 2026-10-24T18:50:23.8049407Z 226 listChangeRequests: (input) => { 2026-10-24T18:50:23.8049540Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8049609Z 2026-10-24T18:50:23.8049979Z 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-24T18:50:23.8050392Z 2026-10-24T18:50:23.8050444Z 254 getChangeRequest: (input) => 2026-10-24T18:50:23.8050571Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8050636Z 2026-10-24T18:50:23.8051011Z 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-24T18:50:23.8051430Z 2026-10-24T18:50:23.8051485Z 272 createChangeRequest: (input) => { 2026-10-24T18:50:23.8051617Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8051693Z 2026-10-24T18:50:23.8052075Z 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-24T18:50:23.8052499Z 2026-10-24T18:50:23.8052556Z 301 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8052693Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8052765Z 2026-10-24T18:50:23.8053135Z 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-24T18:50:23.8053555Z 2026-10-24T18:50:23.8053611Z 318 createRepository: (input) => 2026-10-24T18:50:23.8053739Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8053806Z 2026-10-24T18:50:23.8054229Z 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-24T18:50:23.8054638Z 2026-10-24T18:50:23.8054688Z 335 getDefaultBranch: (input) => 2026-10-24T18:50:23.8054817Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8054885Z 2026-10-24T18:50:23.8055261Z 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-24T18:50:23.8055680Z 2026-10-24T18:50:23.8055737Z 349 checkoutChangeRequest: (input) => 2026-10-24T18:50:23.8055877Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8055954Z 2026-10-24T18:50:23.8055956Z 2026-10-24T18:50:23.8056026Z ~/packages/source-control-bitbucket$ tsc --noEmit 2026-10-24T18:50:23.8056437Z 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-24T18:50:23.8056825Z 2026-10-24T18:50:23.8056879Z 403 listPullRequests: (input) => 2026-10-24T18:50:23.8057004Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8057074Z 2026-10-24T18:50:23.8057364Z 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-24T18:50:23.8057697Z 2026-10-24T18:50:23.8057746Z 443 getPullRequest: (input) => 2026-10-24T18:50:23.8057878Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8057945Z 2026-10-24T18:50:23.8058248Z 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-24T18:50:23.8058640Z 2026-10-24T18:50:23.8058699Z 477 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8058838Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8058916Z 2026-10-24T18:50:23.8059210Z 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-24T18:50:23.8059542Z 2026-10-24T18:50:23.8059594Z 493 createRepository: (input) => { 2026-10-24T18:50:23.8059727Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8059799Z 2026-10-24T18:50:23.8060092Z 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-24T18:50:23.8060429Z 2026-10-24T18:50:23.8060484Z 518 createPullRequest: (input) => 2026-10-24T18:50:23.8073446Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8073582Z 2026-10-24T18:50:23.8074007Z 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-24T18:50:23.8074367Z 2026-10-24T18:50:23.8074421Z 538 getDefaultBranch: (input) => 2026-10-24T18:50:23.8074551Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8074616Z 2026-10-24T18:50:23.8074918Z 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-24T18:50:23.8075257Z 2026-10-24T18:50:23.8075312Z 549 checkoutPullRequest: (input) => 2026-10-24T18:50:23.8075470Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8075565Z 2026-10-24T18:50:23.8075887Z 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-24T18:50:23.8076357Z 2026-10-24T18:50:23.8076406Z 494 getViewer: (input) => 2026-10-24T18:50:23.8076560Z ~~~~~~~~~ 2026-10-24T18:50:23.8076624Z 2026-10-24T18:50:23.8076959Z 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-24T18:50:23.8077336Z 2026-10-24T18:50:23.8077387Z 548 listPullRequests: (input) => 2026-10-24T18:50:23.8077511Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8077576Z 2026-10-24T18:50:23.8077905Z 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-24T18:50:23.8078276Z 2026-10-24T18:50:23.8078327Z 562 getPullRequest: (input) => 2026-10-24T18:50:23.8078451Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8078517Z 2026-10-24T18:50:23.8078838Z 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-24T18:50:23.8079199Z 2026-10-24T18:50:23.8079247Z 593 listThreads: (input) => 2026-10-24T18:50:23.8079363Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8079423Z 2026-10-24T18:50:23.8079749Z 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-24T18:50:23.8080118Z 2026-10-24T18:50:23.8080168Z 603 listIterations: (input) => 2026-10-24T18:50:23.8080346Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8080411Z 2026-10-24T18:50:23.8080753Z 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-24T18:50:23.8081138Z 2026-10-24T18:50:23.8081202Z 613 listIterationChanges: (input) => { 2026-10-24T18:50:23.8081339Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8081415Z 2026-10-24T18:50:23.8081747Z 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-24T18:50:23.8082122Z 2026-10-24T18:50:23.8082176Z 640 readItemContent: (input) => 2026-10-24T18:50:23.8082303Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8082369Z 2026-10-24T18:50:23.8082719Z 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-24T18:50:23.8083106Z 2026-10-24T18:50:23.8083167Z 663 setPullRequestReviewers: (input) => 2026-10-24T18:50:23.8083310Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8083384Z 2026-10-24T18:50:23.8083726Z 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-24T18:50:23.8084106Z 2026-10-24T18:50:23.8084163Z 688 runPullRequestAction: (input) => 2026-10-24T18:50:23.8084299Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8084372Z 2026-10-24T18:50:23.8084706Z 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-24T18:50:23.8085081Z 2026-10-24T18:50:23.8085179Z 707 updatePullRequest: (input) => 2026-10-24T18:50:23.8085313Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8085380Z 2026-10-24T18:50:23.8085767Z 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-24T18:50:23.8086192Z 2026-10-24T18:50:23.8086250Z 81 listChangeRequests: (input) => { 2026-10-24T18:50:23.8086382Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8086450Z 2026-10-24T18:50:23.8086867Z 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-24T18:50:23.8087376Z 2026-10-24T18:50:23.8087427Z 109 getChangeRequest: (input) => 2026-10-24T18:50:23.8087560Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8087627Z 2026-10-24T18:50:23.8088015Z 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-24T18:50:23.8088444Z 2026-10-24T18:50:23.8088500Z 127 createChangeRequest: (input) => { 2026-10-24T18:50:23.8088637Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8088711Z 2026-10-24T18:50:23.8089109Z 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-24T18:50:23.8089617Z 2026-10-24T18:50:23.8089673Z 156 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8089814Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8089890Z 2026-10-24T18:50:23.8090268Z 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-24T18:50:23.8090685Z 2026-10-24T18:50:23.8090737Z 173 createRepository: (input) => 2026-10-24T18:50:23.8090863Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8090932Z 2026-10-24T18:50:23.8091313Z 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-24T18:50:23.8091734Z 2026-10-24T18:50:23.8091789Z 190 getDefaultBranch: (input) => 2026-10-24T18:50:23.8091915Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8091982Z 2026-10-24T18:50:23.8092375Z 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-24T18:50:23.8092803Z 2026-10-24T18:50:23.8092860Z 204 checkoutChangeRequest: (input) => 2026-10-24T18:50:23.8092998Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8093071Z 2026-10-24T18:50:23.8093073Z 2026-10-24T18:50:23.8093145Z ~/packages/source-control-gitcafe$ tsc --noEmit 2026-10-24T18:50:23.8093554Z 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-24T18:50:23.8093889Z 2026-10-24T18:50:23.8093944Z 245 invalidate: (rawHost) => { 2026-10-24T18:50:23.8094070Z ~~~~~~~~~~ 2026-10-24T18:50:23.8094129Z 2026-10-24T18:50:23.8094484Z 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-24T18:50:23.8094822Z 2026-10-24T18:50:23.8094895Z 992 GitHubApiResponseError: (error) => 2026-10-24T18:50:23.8095057Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8095148Z 2026-10-24T18:50:23.8095500Z 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-24T18:50:23.8095890Z 2026-10-24T18:50:23.8095942Z 1629 Effect.flatMap((runs) => 2026-10-24T18:50:23.8096078Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8096178Z 2026-10-24T18:50:23.8096527Z 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-24T18:50:23.8096892Z 2026-10-24T18:50:23.8096946Z 1776 getViewerLogin: (input) => 2026-10-24T18:50:23.8097072Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8097141Z 2026-10-24T18:50:23.8097459Z 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-24T18:50:23.8097819Z 2026-10-24T18:50:23.8097874Z 1779 listPullRequests: (input) => { 2026-10-24T18:50:23.8098012Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8098083Z 2026-10-24T18:50:23.8098429Z 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-24T18:50:23.8098867Z 2026-10-24T18:50:23.8098925Z 1908 Effect.flatMap((batch) => { 2026-10-24T18:50:23.8099059Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8099134Z 2026-10-24T18:50:23.8099460Z 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-24T18:50:23.8099823Z 2026-10-24T18:50:23.8099877Z 1947 searchPullRequests: (input) => { 2026-10-24T18:50:23.8100018Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8100090Z 2026-10-24T18:50:23.8100415Z 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-24T18:50:23.8100786Z 2026-10-24T18:50:23.8100847Z 2021 getPullRequestPreview: (input) => { 2026-10-24T18:50:23.8100993Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8101073Z 2026-10-24T18:50:23.8101396Z 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-24T18:50:23.8101759Z 2026-10-24T18:50:23.8101816Z 2034 getPullRequestStack: (input) => { 2026-10-24T18:50:23.8101955Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8102031Z 2026-10-24T18:50:23.8102349Z 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-24T18:50:23.8102709Z 2026-10-24T18:50:23.8102767Z 2112 getPullRequestDiff: (input) => { 2026-10-24T18:50:23.8102902Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8102972Z 2026-10-24T18:50:23.8103346Z 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-24T18:50:23.8103715Z 2026-10-24T18:50:23.8103777Z 2160 getReviewThreadComments: (input) => { 2026-10-24T18:50:23.8103919Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8103998Z 2026-10-24T18:50:23.8104311Z 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-24T18:50:23.8104669Z 2026-10-24T18:50:23.8104726Z 2302 listActorAvatars: (input) => { 2026-10-24T18:50:23.8104862Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8104931Z 2026-10-24T18:50:23.8105247Z 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-24T18:50:23.8105602Z 2026-10-24T18:50:23.8105657Z 2311 getViewerAccess: (input) => { 2026-10-24T18:50:23.8105787Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8105855Z 2026-10-24T18:50:23.8106185Z 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-24T18:50:23.8106561Z 2026-10-24T18:50:23.8106648Z 2323 listReviewerCandidates: (input) => { 2026-10-24T18:50:23.8106795Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8106869Z 2026-10-24T18:50:23.8107193Z 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-24T18:50:23.8107599Z 2026-10-24T18:50:23.8107657Z 2335 setReviewerRequest: (input) => { 2026-10-24T18:50:23.8107791Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8107864Z 2026-10-24T18:50:23.8108189Z 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-24T18:50:23.8108557Z 2026-10-24T18:50:23.8108612Z 2348 listLabelCandidates: (input) => { 2026-10-24T18:50:23.8108752Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8108824Z 2026-10-24T18:50:23.8109148Z 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-24T18:50:23.8109516Z 2026-10-24T18:50:23.8109575Z 2360 listRepositoryLabels: (input) => { 2026-10-24T18:50:23.8109714Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8109791Z 2026-10-24T18:50:23.8110126Z 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-24T18:50:23.8110500Z 2026-10-24T18:50:23.8110560Z 2372 searchRepositoryAuthors: (input) => { 2026-10-24T18:50:23.8110708Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8110788Z 2026-10-24T18:50:23.8111090Z 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-24T18:50:23.8111441Z 2026-10-24T18:50:23.8111494Z 2384 setLabels: (input) => { 2026-10-24T18:50:23.8111619Z ~~~~~~~~~ 2026-10-24T18:50:23.8111683Z 2026-10-24T18:50:23.8112053Z 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-24T18:50:23.8112417Z 2026-10-24T18:50:23.8112474Z 2411 runPullRequestAction: (input) => { 2026-10-24T18:50:23.8112614Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8112690Z 2026-10-24T18:50:23.8113012Z 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-24T18:50:23.8113381Z 2026-10-24T18:50:23.8113439Z 2670 commentOnPullRequest: (input) => 2026-10-24T18:50:23.8113572Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8113650Z 2026-10-24T18:50:23.8113961Z 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-24T18:50:23.8114313Z 2026-10-24T18:50:23.8114362Z 2680 submitReview: (input) => { 2026-10-24T18:50:23.8114484Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8114550Z 2026-10-24T18:50:23.8114871Z 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-24T18:50:23.8115233Z 2026-10-24T18:50:23.8115289Z 2697 replyToReviewThread: (input) => 2026-10-24T18:50:23.8115426Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8115497Z 2026-10-24T18:50:23.8115831Z 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-24T18:50:23.8116263Z 2026-10-24T18:50:23.8116330Z 2702 getPullRequestFilesViewed: (input) => { 2026-10-24T18:50:23.8116480Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8116584Z 2026-10-24T18:50:23.8116910Z 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-24T18:50:23.8117278Z 2026-10-24T18:50:23.8117339Z 2730 getPullRequestFileStats: (input) => { 2026-10-24T18:50:23.8117477Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8117551Z 2026-10-24T18:50:23.8117884Z 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-24T18:50:23.8118260Z 2026-10-24T18:50:23.8118323Z 2758 setPullRequestFilesViewed: (input) => { 2026-10-24T18:50:23.8118470Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8118547Z 2026-10-24T18:50:23.8118884Z 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-24T18:50:23.8119259Z 2026-10-24T18:50:23.8119319Z 2779 setReviewThreadResolution: (input) => 2026-10-24T18:50:23.8119461Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8119536Z 2026-10-24T18:50:23.8119849Z 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-24T18:50:23.8120198Z 2026-10-24T18:50:23.8120249Z 2785 setReaction: (input) => { 2026-10-24T18:50:23.8120371Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8120434Z 2026-10-24T18:50:23.8120800Z 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-24T18:50:23.8121164Z 2026-10-24T18:50:23.8121217Z 2818 updatePullRequest: (input) => 2026-10-24T18:50:23.8121355Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8121425Z 2026-10-24T18:50:23.8121736Z 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-24T18:50:23.8122092Z 2026-10-24T18:50:23.8122145Z 2834 updateComment: (input) => 2026-10-24T18:50:23.8122267Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8122335Z 2026-10-24T18:50:23.8122726Z 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-24T18:50:23.8123158Z 2026-10-24T18:50:23.8123233Z 897 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-24T18:50:23.8123390Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8123469Z 2026-10-24T18:50:23.8123840Z 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-24T18:50:23.8124251Z 2026-10-24T18:50:23.8124327Z 935 recordBranchBase: ({ cwd, branch, baseBranch }) => 2026-10-24T18:50:23.8124486Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8124552Z 2026-10-24T18:50:23.8124936Z 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-24T18:50:23.8125401Z 2026-10-24T18:50:23.8125459Z 957 listChangeRequests: (input) => 2026-10-24T18:50:23.8125591Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8125661Z 2026-10-24T18:50:23.8126039Z 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-24T18:50:23.8126451Z 2026-10-24T18:50:23.8126516Z 975 getChangeRequest: (input) => 2026-10-24T18:50:23.8126670Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8126737Z 2026-10-24T18:50:23.8127124Z 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-24T18:50:23.8127722Z 2026-10-24T18:50:23.8127783Z 1088 checkoutChangeRequest: (input) => 2026-10-24T18:50:23.8127923Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8128001Z 2026-10-24T18:50:23.8128352Z 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-24T18:50:23.8128730Z 2026-10-24T18:50:23.8128785Z 118 return yield* Effect.fail(error); 2026-10-24T18:50:23.8128923Z ~~~~~ 2026-10-24T18:50:23.8128989Z 2026-10-24T18:50:23.8129287Z 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-24T18:50:23.8129627Z 2026-10-24T18:50:23.8129684Z 1013 listPullRequests: (input) => 2026-10-24T18:50:23.8129819Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8129891Z 2026-10-24T18:50:23.8130241Z 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-24T18:50:23.8130576Z 2026-10-24T18:50:23.8130628Z 1040 getPullRequest: (input) => 2026-10-24T18:50:23.8130762Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8130830Z 2026-10-24T18:50:23.8131136Z 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-24T18:50:23.8131483Z 2026-10-24T18:50:23.8131544Z 1042 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8131688Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8131768Z 2026-10-24T18:50:23.8132065Z 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-24T18:50:23.8132401Z 2026-10-24T18:50:23.8132455Z 1044 createRepository: (input) => 2026-10-24T18:50:23.8132591Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8132661Z 2026-10-24T18:50:23.8132954Z 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-24T18:50:23.8133288Z 2026-10-24T18:50:23.8133343Z 1109 getDefaultBranch: (input) => 2026-10-24T18:50:23.8133473Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8133543Z 2026-10-24T18:50:23.8133861Z 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-24T18:50:23.8134276Z 2026-10-24T18:50:23.8134323Z 555 getViewer: () => 2026-10-24T18:50:23.8134441Z ~~~~~~~~~ 2026-10-24T18:50:23.8134505Z 2026-10-24T18:50:23.8134840Z 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-24T18:50:23.8135220Z 2026-10-24T18:50:23.8135276Z 570 listPullRequests: (input) => 2026-10-24T18:50:23.8135409Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8135481Z 2026-10-24T18:50:23.8135814Z 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-24T18:50:23.8136187Z 2026-10-24T18:50:23.8136243Z 594 getPullRequest: (input) => 2026-10-24T18:50:23.8136374Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8136444Z 2026-10-24T18:50:23.8136833Z 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-24T18:50:23.8137225Z 2026-10-24T18:50:23.8137288Z 609 getRepositoryPermission: (input) => 2026-10-24T18:50:23.8137434Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8137511Z 2026-10-24T18:50:23.8137848Z 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-24T18:50:23.8138225Z 2026-10-24T18:50:23.8138279Z 622 getFileRevisions: (input) => 2026-10-24T18:50:23.8138409Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8138481Z 2026-10-24T18:50:23.8138804Z 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-24T18:50:23.8139207Z 2026-10-24T18:50:23.8139261Z 639 getDiffStat: (input) => 2026-10-24T18:50:23.8139386Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8139449Z 2026-10-24T18:50:23.8139779Z 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-24T18:50:23.8140151Z 2026-10-24T18:50:23.8140205Z 647 getMergeability: (input) => 2026-10-24T18:50:23.8140337Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8140406Z 2026-10-24T18:50:23.8140732Z 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-24T18:50:23.8141099Z 2026-10-24T18:50:23.8141154Z 656 listComments: (input) => 2026-10-24T18:50:23.8141280Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8141346Z 2026-10-24T18:50:23.8141668Z 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-24T18:50:23.8142033Z 2026-10-24T18:50:23.8142084Z 666 listCommits: (input) => 2026-10-24T18:50:23.8142205Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8142269Z 2026-10-24T18:50:23.8142591Z 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-24T18:50:23.8142955Z 2026-10-24T18:50:23.8143005Z 677 listChecks: (input) => 2026-10-24T18:50:23.8143177Z ~~~~~~~~~~ 2026-10-24T18:50:23.8143237Z 2026-10-24T18:50:23.8143587Z 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-24T18:50:23.8143979Z 2026-10-24T18:50:23.8144041Z 688 listReviewerCandidates: (input) => 2026-10-24T18:50:23.8144187Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8144264Z 2026-10-24T18:50:23.8144602Z 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-24T18:50:23.8144981Z 2026-10-24T18:50:23.8145035Z 722 setReviewerRequest: (input) => 2026-10-24T18:50:23.8145173Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8145245Z 2026-10-24T18:50:23.8145561Z 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-24T18:50:23.8145934Z 2026-10-24T18:50:23.8145985Z 749 runAction: (input) => 2026-10-24T18:50:23.8146106Z ~~~~~~~~~ 2026-10-24T18:50:23.8146169Z 2026-10-24T18:50:23.8146546Z 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-24T18:50:23.8146929Z 2026-10-24T18:50:23.8146984Z 766 updateChangeRequest: (input) => 2026-10-24T18:50:23.8147124Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8147198Z 2026-10-24T18:50:23.8147513Z 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-24T18:50:23.8147876Z 2026-10-24T18:50:23.8147926Z 784 comment: (input) => 2026-10-24T18:50:23.8148042Z ~~~~~~~ 2026-10-24T18:50:23.8148145Z 2026-10-24T18:50:23.8148473Z 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-24T18:50:23.8148842Z 2026-10-24T18:50:23.8148893Z 795 updateComment: (input) => 2026-10-24T18:50:23.8149025Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8149094Z 2026-10-24T18:50:23.8149417Z 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-24T18:50:23.8149785Z 2026-10-24T18:50:23.8149839Z 808 submitReview: (input) => 2026-10-24T18:50:23.8149965Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8150031Z 2026-10-24T18:50:23.8150365Z 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-24T18:50:23.8150735Z 2026-10-24T18:50:23.8150788Z 848 replyToComment: (input) => 2026-10-24T18:50:23.8150917Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8150983Z 2026-10-24T18:50:23.8151321Z 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-24T18:50:23.8151704Z 2026-10-24T18:50:23.8151764Z 862 setCommentResolution: (input) => 2026-10-24T18:50:23.8151906Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8151979Z 2026-10-24T18:50:23.8152375Z 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-24T18:50:23.8152854Z 2026-10-24T18:50:23.8152911Z 47 listChangeRequests: (input) => { 2026-10-24T18:50:23.8153046Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8153117Z 2026-10-24T18:50:23.8153503Z 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-24T18:50:23.8153925Z 2026-10-24T18:50:23.8153981Z 75 getChangeRequest: (input) => 2026-10-24T18:50:23.8154111Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8154176Z 2026-10-24T18:50:23.8154566Z 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-24T18:50:23.8154995Z 2026-10-24T18:50:23.8155054Z 92 createChangeRequest: (input) => { 2026-10-24T18:50:23.8155190Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8155261Z 2026-10-24T18:50:23.8155664Z 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-24T18:50:23.8156117Z 2026-10-24T18:50:23.8156174Z 121 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8156314Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8156390Z 2026-10-24T18:50:23.8156797Z 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-24T18:50:23.8157224Z 2026-10-24T18:50:23.8157279Z 137 createRepository: (input) => 2026-10-24T18:50:23.8157444Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8157516Z 2026-10-24T18:50:23.8157901Z 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-24T18:50:23.8158326Z 2026-10-24T18:50:23.8158376Z 153 getDefaultBranch: (input) => 2026-10-24T18:50:23.8158508Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8158575Z 2026-10-24T18:50:23.8158967Z 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-24T18:50:23.8159409Z 2026-10-24T18:50:23.8159468Z 171 checkoutChangeRequest: (input) => 2026-10-24T18:50:23.8159607Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8159686Z 2026-10-24T18:50:23.8159689Z 2026-10-24T18:50:23.8159760Z ~/packages/source-control-forgejo$ tsc --noEmit 2026-10-24T18:50:23.8159871Z 2026-10-24T18:50:23.8159927Z ~/packages/provider-grok$ tsc --noEmit 2026-10-24T18:50:23.8160402Z 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-24T18:50:23.8160839Z 2026-10-24T18:50:23.8160893Z 362 getChangeRequest: (input) => 2026-10-24T18:50:23.8161023Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8161091Z 2026-10-24T18:50:23.8161093Z 2026-10-24T18:50:23.8161148Z ~/packages/provider-pi$ tsc --noEmit 2026-10-24T18:50:23.8161528Z 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-24T18:50:23.8161904Z 2026-10-24T18:50:23.8161951Z 170 get: (host) => 2026-10-24T18:50:23.8162059Z ~~~ 2026-10-24T18:50:23.8162117Z 2026-10-24T18:50:23.8162419Z 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-24T18:50:23.8162760Z 2026-10-24T18:50:23.8162859Z 183 invalidate: (host) => Cache.invalidate(cache, normalizeHost(host)), 2026-10-24T18:50:23.8163041Z ~~~~~~~~~~ 2026-10-24T18:50:23.8163104Z 2026-10-24T18:50:23.8163402Z 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-24T18:50:23.8163738Z 2026-10-24T18:50:23.8163785Z 184 cliEnv: (host) => 2026-10-24T18:50:23.8163896Z ~~~~~~ 2026-10-24T18:50:23.8163956Z 2026-10-24T18:50:23.8164209Z src/server/GitCafePullRequestProvider.ts:341:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8164500Z 2026-10-24T18:50:23.8164554Z 341 Effect.map(Option.some), 2026-10-24T18:50:23.8164679Z ~~~~~~~~~~ 2026-10-24T18:50:23.8164744Z 2026-10-24T18:50:23.8164989Z src/server/GitCafePullRequestProvider.ts:346:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8165273Z 2026-10-24T18:50:23.8165335Z 346 : Effect.succeed(Option.none()), 2026-10-24T18:50:23.8165481Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8165563Z 2026-10-24T18:50:23.8165808Z src/server/GitCafePullRequestProvider.ts:655:13 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8166093Z 2026-10-24T18:50:23.8166190Z 655 Effect.map(Option.some), 2026-10-24T18:50:23.8166324Z ~~~~~~~~~~ 2026-10-24T18:50:23.8166396Z 2026-10-24T18:50:23.8166676Z src/server/GitCafePullRequestProvider.ts:660:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8166958Z 2026-10-24T18:50:23.8167022Z 660 : Effect.succeed(Option.none()), 2026-10-24T18:50:23.8167175Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8167340Z 2026-10-24T18:50:23.8167650Z 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-24T18:50:23.8167983Z 2026-10-24T18:50:23.8168071Z 673 const readPage = (rows: number, after: string | null) => { 2026-10-24T18:50:23.8168243Z ~~~~~~~~ 2026-10-24T18:50:23.8168314Z 2026-10-24T18:50:23.8168661Z 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-24T18:50:23.8169043Z 2026-10-24T18:50:23.8169097Z 790 Effect.catch((error) => 2026-10-24T18:50:23.8169232Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8169308Z 2026-10-24T18:50:23.8169647Z src/server/GitCafePullRequestProvider.ts:868:19 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T18:50:23.8170022Z 2026-10-24T18:50:23.8170082Z 868 Effect.catch((error) => 2026-10-24T18:50:23.8170286Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8170365Z 2026-10-24T18:50:23.8170367Z 2026-10-24T18:50:23.8170427Z ~/packages/provider-muse$ tsc --noEmit 2026-10-24T18:50:23.8170849Z 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-24T18:50:23.8171216Z 2026-10-24T18:50:23.8171267Z 174 Effect.flatMap((snapshot) => 2026-10-24T18:50:23.8171403Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8171471Z 2026-10-24T18:50:23.8171714Z 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-24T18:50:23.8171990Z 2026-10-24T18:50:23.8172060Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-24T18:50:23.8172212Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8172290Z 2026-10-24T18:50:23.8172551Z 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-24T18:50:23.8172857Z 2026-10-24T18:50:23.8172921Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-24T18:50:23.8173069Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8173143Z 2026-10-24T18:50:23.8173495Z 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-24T18:50:23.8173888Z 2026-10-24T18:50:23.8173950Z 1588 Effect.catchCause((cause) => 2026-10-24T18:50:23.8174095Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8174178Z 2026-10-24T18:50:23.8174180Z 2026-10-24T18:50:23.8174241Z ~/packages/provider-opencode$ tsc --noEmit 2026-10-24T18:50:23.8174660Z 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-24T18:50:23.8175076Z 2026-10-24T18:50:23.8175173Z 440 getCapabilities: () => Effect.succeed(PiProviderCapabilitiesV2), 2026-10-24T18:50:23.8175354Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8175423Z 2026-10-24T18:50:23.8175751Z 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-24T18:50:23.8176120Z 2026-10-24T18:50:23.8176239Z 441 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8176453Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8176545Z 2026-10-24T18:50:23.8176794Z src/server/adapter.ts:1694:31 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8177055Z 2026-10-24T18:50:23.8177125Z 1694 Effect.map(Option.some), 2026-10-24T18:50:23.8177287Z ~~~~~~~~~~ 2026-10-24T18:50:23.8177382Z 2026-10-24T18:50:23.8177595Z src/server/adapter.ts:1697:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8177847Z 2026-10-24T18:50:23.8177916Z 1697 : Effect.succeed(Option.none()), 2026-10-24T18:50:23.8178080Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8178174Z 2026-10-24T18:50:23.8178418Z 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-24T18:50:23.8178704Z 2026-10-24T18:50:23.8178754Z 334 onSuccess: () => 2026-10-24T18:50:23.8178916Z ~~~~~~~~~ 2026-10-24T18:50:23.8178981Z 2026-10-24T18:50:23.8179191Z src/server/rpc.ts:342:17 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8179437Z 2026-10-24T18:50:23.8179494Z 342 Effect.map(Option.some), 2026-10-24T18:50:23.8179641Z ~~~~~~~~~~ 2026-10-24T18:50:23.8179717Z 2026-10-24T18:50:23.8179719Z 2026-10-24T18:50:23.8179776Z ~/packages/provider-cursor$ tsc --noEmit 2026-10-24T18:50:23.8180189Z 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-24T18:50:23.8180548Z 2026-10-24T18:50:23.8180645Z 284 getCapabilities: () => Effect.succeed(MuseProviderCapabilitiesV2), 2026-10-24T18:50:23.8180833Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8180904Z 2026-10-24T18:50:23.8181237Z 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-24T18:50:23.8181609Z 2026-10-24T18:50:23.8181731Z 285 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8181940Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8182018Z 2026-10-24T18:50:23.8182284Z 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-24T18:50:23.8182593Z 2026-10-24T18:50:23.8182648Z 388 TimeoutError: (cause) => 2026-10-24T18:50:23.8182786Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8182861Z 2026-10-24T18:50:23.8183073Z src/server/adapter.ts:1366:35 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8183331Z 2026-10-24T18:50:23.8183497Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-24T18:50:23.8183718Z ~~~~~~~~~~ 2026-10-24T18:50:23.8183811Z 2026-10-24T18:50:23.8184025Z src/server/adapter.ts:1366:71 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8184274Z 2026-10-24T18:50:23.8184399Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-24T18:50:23.8184632Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8184747Z 2026-10-24T18:50:23.8184749Z 2026-10-24T18:50:23.8184818Z ~/packages/provider-acp-registry$ tsc --noEmit 2026-10-24T18:50:23.8185200Z 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-24T18:50:23.8185517Z 2026-10-24T18:50:23.8185576Z 147 return Effect.succeed(undefined); 2026-10-24T18:50:23.8185717Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8185802Z 2026-10-24T18:50:23.8186195Z 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-24T18:50:23.8186642Z 2026-10-24T18:50:23.8186701Z 188 if (!recordable) return Effect.void; 2026-10-24T18:50:23.8186849Z ~~~~~~ 2026-10-24T18:50:23.8186929Z 2026-10-24T18:50:23.8187313Z 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-24T18:50:23.8187774Z 2026-10-24T18:50:23.8187830Z 208 return Effect.void; 2026-10-24T18:50:23.8187949Z ~~~~~~ 2026-10-24T18:50:23.8188013Z 2026-10-24T18:50:23.8188394Z 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-24T18:50:23.8188818Z 2026-10-24T18:50:23.8188859Z 228 return fs 2026-10-24T18:50:23.8188970Z ~~~~~~ 2026-10-24T18:50:23.8189031Z 2026-10-24T18:50:23.8189329Z 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-24T18:50:23.8189672Z 2026-10-24T18:50:23.8189784Z 311 OpenCodeServerLedger.of({ track: () => Effect.succeed(Effect.void) }), 2026-10-24T18:50:23.8189978Z ~~~~~ 2026-10-24T18:50:23.8190064Z 2026-10-24T18:50:23.8190379Z 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-24T18:50:23.8190728Z 2026-10-24T18:50:23.8190776Z 169 withServer: (use) => 2026-10-24T18:50:23.8190898Z ~~~~~~~~~~ 2026-10-24T18:50:23.8190964Z 2026-10-24T18:50:23.8191352Z 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-24T18:50:23.8191785Z 2026-10-24T18:50:23.8191906Z 103 const OPENCODE_TEST_SETTINGS = Schema.decodeUnknownSync(OpenCodeSettings)({}); 2026-10-24T18:50:23.8192129Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8192229Z 2026-10-24T18:50:23.8192589Z 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-24T18:50:23.8192944Z 2026-10-24T18:50:23.8193057Z 938 getCapabilities: () => Effect.succeed(OpenCodeProviderCapabilitiesV2), 2026-10-24T18:50:23.8193252Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8193323Z 2026-10-24T18:50:23.8193658Z 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-24T18:50:23.8194027Z 2026-10-24T18:50:23.8194151Z 939 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8194363Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8194438Z 2026-10-24T18:50:23.8194731Z 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-24T18:50:23.8195057Z 2026-10-24T18:50:23.8195134Z 1011 const abortController = new AbortController(); 2026-10-24T18:50:23.8195307Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8195408Z 2026-10-24T18:50:23.8195730Z 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-24T18:50:23.8196086Z 2026-10-24T18:50:23.8196159Z 1088 if (failure) return yield* Effect.fail(failure); 2026-10-24T18:50:23.8196325Z ~~~~~ 2026-10-24T18:50:23.8196453Z 2026-10-24T18:50:23.8196760Z 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-24T18:50:23.8197073Z 2026-10-24T18:50:23.8197157Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-24T18:50:23.8197318Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8197396Z 2026-10-24T18:50:23.8197648Z 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-24T18:50:23.8197940Z 2026-10-24T18:50:23.8198012Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-24T18:50:23.8198186Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8198287Z 2026-10-24T18:50:23.8198572Z 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-24T18:50:23.8198901Z 2026-10-24T18:50:23.8198989Z 3194 admissionAbortController: new AbortController(), 2026-10-24T18:50:23.8199172Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8199277Z 2026-10-24T18:50:23.8199559Z 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-24T18:50:23.8199881Z 2026-10-24T18:50:23.8199973Z 3354 turn.admissionAbortController = new AbortController(); 2026-10-24T18:50:23.8200162Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8200268Z 2026-10-24T18:50:23.8200559Z 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-24T18:50:23.8200884Z 2026-10-24T18:50:23.8200986Z 158 connect: ({ baseUrl, password }) => { 2026-10-24T18:50:23.8201134Z ~~~~~~~ 2026-10-24T18:50:23.8201193Z 2026-10-24T18:50:23.8201494Z 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-24T18:50:23.8201836Z 2026-10-24T18:50:23.8201892Z 160 withConnection: (use) => 2026-10-24T18:50:23.8202021Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8202092Z 2026-10-24T18:50:23.8202390Z 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-24T18:50:23.8202729Z 2026-10-24T18:50:23.8202785Z 175 withConnection: (use) => 2026-10-24T18:50:23.8202914Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8202978Z 2026-10-24T18:50:23.8203199Z src/server/v2/adapter.ts:1544:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8203457Z 2026-10-24T18:50:23.8203584Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-24T18:50:23.8203797Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8203888Z 2026-10-24T18:50:23.8204111Z src/server/v2/adapter.ts:1544:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8204369Z 2026-10-24T18:50:23.8204494Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-24T18:50:23.8204718Z ~~~~~~~~~~ 2026-10-24T18:50:23.8204864Z 2026-10-24T18:50:23.8205193Z 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-24T18:50:23.8205560Z 2026-10-24T18:50:23.8205670Z 4137 getCapabilities: () => Effect.succeed(OpenCode2ProviderCapabilities), 2026-10-24T18:50:23.8205863Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8205934Z 2026-10-24T18:50:23.8206272Z 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-24T18:50:23.8206677Z 2026-10-24T18:50:23.8206797Z 4138 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8207017Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8207098Z 2026-10-24T18:50:23.8207102Z 2026-10-24T18:50:23.8207174Z ~/packages/source-control-definitions$ tsc --noEmit 2026-10-24T18:50:23.8207747Z 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-24T18:50:23.8208123Z 2026-10-24T18:50:23.8208191Z 31 read: (credentialSource, sinceMs, untilMs) => 2026-10-24T18:50:23.8208344Z ~~~~ 2026-10-24T18:50:23.8208403Z 2026-10-24T18:50:23.8208686Z 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-24T18:50:23.8209007Z 2026-10-24T18:50:23.8209056Z 82 read: (apiKey) => 2026-10-24T18:50:23.8209167Z ~~~~ 2026-10-24T18:50:23.8209225Z 2026-10-24T18:50:23.8209502Z 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-24T18:50:23.8209818Z 2026-10-24T18:50:23.8209923Z 360 Effect.catch(() => 2026-10-24T18:50:23.8210041Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8210107Z 2026-10-24T18:50:23.8210421Z 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-24T18:50:23.8210778Z 2026-10-24T18:50:23.8210881Z 904 getCapabilities: () => Effect.succeed(CursorProviderCapabilitiesV2), 2026-10-24T18:50:23.8211064Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8211132Z 2026-10-24T18:50:23.8211459Z 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-24T18:50:23.8211830Z 2026-10-24T18:50:23.8211948Z 905 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8212156Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8212233Z 2026-10-24T18:50:23.8212678Z 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-24T18:50:23.8213159Z 2026-10-24T18:50:23.8213212Z 55 Effect.runPromise( 2026-10-24T18:50:23.8213334Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8213402Z 2026-10-24T18:50:23.8213666Z 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-24T18:50:23.8214014Z 2026-10-24T18:50:23.8214080Z 59 onNone: () => Effect.succeed(undefined), 2026-10-24T18:50:23.8214241Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8214337Z 2026-10-24T18:50:23.8214777Z 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-24T18:50:23.8215255Z 2026-10-24T18:50:23.8215303Z 69 Effect.runPromise( 2026-10-24T18:50:23.8215424Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8215491Z 2026-10-24T18:50:23.8215925Z 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-24T18:50:23.8216396Z 2026-10-24T18:50:23.8216468Z 82 clear: () => Effect.runPromise(credentials.remove), 2026-10-24T18:50:23.8216678Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8216762Z 2026-10-24T18:50:23.8217091Z 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-24T18:50:23.8217456Z 2026-10-24T18:50:23.8217512Z 228 Effect.flatMap((snapshot) => 2026-10-24T18:50:23.8217653Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8217730Z 2026-10-24T18:50:23.8217920Z src/server/usageLimits.test.ts:74:5 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T18:50:23.8218155Z 2026-10-24T18:50:23.8218206Z 74 Effect.gen(function* () { 2026-10-24T18:50:23.8218330Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8218459Z 75 yield* withNodeServices( 2026-10-24T18:50:23.8218589Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8218711Z ... 2026-10-24T18:50:23.8218842Z 115 ); 2026-10-24T18:50:23.8218935Z ~~~~~~~~ 2026-10-24T18:50:23.8219030Z 116 }), 2026-10-24T18:50:23.8219123Z ~~~~~~ 2026-10-24T18:50:23.8219180Z 2026-10-24T18:50:23.8219182Z 2026-10-24T18:50:23.8219184Z 2026-10-24T18:50:23.8219241Z ~/packages/client-runtime$ tsc --noEmit 2026-10-24T18:50:23.8219587Z src/server/AcpRegistryRuntimeCoordinator.ts:154:52 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8219874Z 2026-10-24T18:50:23.8220010Z 154 return yield* Effect.raceFirst(effect.pipe(Effect.map(Option.some)), foregroundStarted); 2026-10-24T18:50:23.8220241Z ~~~~~~~~~~ 2026-10-24T18:50:23.8220343Z 2026-10-24T18:50:23.8220674Z 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-24T18:50:23.8221041Z 2026-10-24T18:50:23.8221092Z 1301 Effect.catch((error) => 2026-10-24T18:50:23.8221217Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8221287Z 2026-10-24T18:50:23.8221573Z 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-24T18:50:23.8221899Z 2026-10-24T18:50:23.8221953Z 146 Option.isSome(result) 2026-10-24T18:50:23.8222084Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8222161Z 2026-10-24T18:50:23.8222410Z 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-24T18:50:23.8222740Z 2026-10-24T18:50:23.8222840Z 640 enrichSnapshot: ({ snapshot, getSnapshot, publishSnapshot }) => { 2026-10-24T18:50:23.8223023Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8223095Z 2026-10-24T18:50:23.8223302Z src/server/driver.ts:650:51 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8223552Z 2026-10-24T18:50:23.8223650Z 650 : enrichProviderCached(snapshot).pipe(Effect.map(Option.some)) 2026-10-24T18:50:23.8223855Z ~~~~~~~~~~ 2026-10-24T18:50:23.8223953Z 2026-10-24T18:50:23.8223955Z 2026-10-24T18:50:23.8224002Z Result (22 files): 2026-10-24T18:50:23.8224106Z - 0 errors 2026-10-24T18:50:23.8224208Z - 0 warnings 2026-10-24T18:50:23.8224305Z - 0 hints 2026-10-24T18:50:23.8224362Z 2026-10-24T18:50:23.8224364Z 2026-10-24T18:50:23.8224592Z src/authorization/remote.test.ts:232:25 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8224861Z 2026-10-24T18:50:23.8224968Z 232 identity: Effect.succeed(Option.some({ accountId: "user_connect" })), 2026-10-24T18:50:23.8225164Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8225252Z 2026-10-24T18:50:23.8225473Z src/authorization/remote.test.ts:237:17 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8225737Z 2026-10-24T18:50:23.8225811Z 237 id: Effect.succeed(Option.some("device-1")), 2026-10-24T18:50:23.8225966Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8226047Z 2026-10-24T18:50:23.8226377Z 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-24T18:50:23.8226781Z 2026-10-24T18:50:23.8226831Z 553 authorizeDpop: (input) => 2026-10-24T18:50:23.8226956Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8227023Z 2026-10-24T18:50:23.8227385Z 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-24T18:50:23.8227754Z 2026-10-24T18:50:23.8228008Z 555 authorizeDpopHttp: (input) => 2026-10-24T18:50:23.8228140Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8228211Z 2026-10-24T18:50:23.8228517Z 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-24T18:50:23.8228862Z 2026-10-24T18:50:23.8228916Z 298 registerPairing: (input) => 2026-10-24T18:50:23.8229046Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8229116Z 2026-10-24T18:50:23.8229415Z 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-24T18:50:23.8229750Z 2026-10-24T18:50:23.8229802Z 304 registerSsh: (input) => 2026-10-24T18:50:23.8229925Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8229986Z 2026-10-24T18:50:23.8230289Z 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-24T18:50:23.8230629Z 2026-10-24T18:50:23.8230684Z 309 updateBearer: (input) => 2026-10-24T18:50:23.8230812Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8230879Z 2026-10-24T18:50:23.8231213Z 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-24T18:50:23.8231635Z 2026-10-24T18:50:23.8231682Z 138 get: (entry) => 2026-10-24T18:50:23.8231797Z ~~~ 2026-10-24T18:50:23.8231853Z 2026-10-24T18:50:23.8232205Z 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-24T18:50:23.8232593Z 2026-10-24T18:50:23.8232649Z 143 set: (entry, permission) => { 2026-10-24T18:50:23.8232779Z ~~~ 2026-10-24T18:50:23.8232837Z 2026-10-24T18:50:23.8233190Z 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-24T18:50:23.8233583Z 2026-10-24T18:50:23.8233635Z 159 forget: (environmentId) => 2026-10-24T18:50:23.8233764Z ~~~~~~ 2026-10-24T18:50:23.8233823Z 2026-10-24T18:50:23.8234094Z 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-24T18:50:23.8234401Z 2026-10-24T18:50:23.8234458Z 1392 ? Effect.succeed(undefined) 2026-10-24T18:50:23.8234602Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8234692Z 2026-10-24T18:50:23.8234954Z 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-24T18:50:23.8235259Z 2026-10-24T18:50:23.8235312Z 1476 ? Effect.succeed(undefined) 2026-10-24T18:50:23.8235455Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8235540Z 2026-10-24T18:50:23.8235804Z 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-24T18:50:23.8236141Z 2026-10-24T18:50:23.8236209Z 1489 : Effect.succeed(undefined), 2026-10-24T18:50:23.8236366Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8236461Z 2026-10-24T18:50:23.8236739Z src/platform/orchestrationCache.test.ts:104:15 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8237019Z 2026-10-24T18:50:23.8237076Z 104 }).pipe(Effect.map(Option.some)); 2026-10-24T18:50:23.8237223Z ~~~~~~~~~~ 2026-10-24T18:50:23.8237299Z 2026-10-24T18:50:23.8237665Z 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-24T18:50:23.8238071Z 2026-10-24T18:50:23.8238164Z 72 load: (prepared: PreparedConnection, threadId: ThreadId) => { 2026-10-24T18:50:23.8238337Z ~~~~ 2026-10-24T18:50:23.8238398Z 2026-10-24T18:50:23.8238685Z 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-24T18:50:23.8239010Z 2026-10-24T18:50:23.8239110Z 56 Effect.catch(() => Effect.succeed(Option.none())), 2026-10-24T18:50:23.8239296Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8239370Z 2026-10-24T18:50:23.8239703Z 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-24T18:50:23.8240112Z 2026-10-24T18:50:23.8240168Z 62 return yield* Effect.fail( 2026-10-24T18:50:23.8240302Z ~~~~~ 2026-10-24T18:50:23.8240376Z 2026-10-24T18:50:23.8240670Z 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-24T18:50:23.8240997Z 2026-10-24T18:50:23.8241093Z 57 execute: (target: OutdatedServerUpdateTarget, atomRegistry) => { 2026-10-24T18:50:23.8241274Z ~~~~~~~ 2026-10-24T18:50:23.8241333Z 2026-10-24T18:50:23.8241643Z 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-24T18:50:23.8241995Z 2026-10-24T18:50:23.8242051Z 90 load: (prepared, input) => 2026-10-24T18:50:23.8242177Z ~~~~ 2026-10-24T18:50:23.8242237Z 2026-10-24T18:50:23.8242641Z 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-24T18:50:23.8243074Z 2026-10-24T18:50:23.8243178Z 34 return yield* Schema.decodeUnknownEffect(codec)(stored.value).pipe( 2026-10-24T18:50:23.8243372Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8243467Z 2026-10-24T18:50:23.8243693Z src/state/queryPersistence.ts:35:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8243951Z 2026-10-24T18:50:23.8244007Z 35 Effect.map(Option.some), 2026-10-24T18:50:23.8244137Z ~~~~~~~~~~ 2026-10-24T18:50:23.8244202Z 2026-10-24T18:50:23.8244465Z 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-24T18:50:23.8244768Z 2026-10-24T18:50:23.8244869Z 680 execute: (target, atomRegistry) => { 2026-10-24T18:50:23.8245006Z ~~~~~~~ 2026-10-24T18:50:23.8245067Z 2026-10-24T18:50:23.8245390Z 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-24T18:50:23.8245750Z 2026-10-24T18:50:23.8245808Z 1125 Effect.flatMap((summary) => 2026-10-24T18:50:23.8245950Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8246025Z 2026-10-24T18:50:23.8246247Z src/state/shell-sync.test.ts:90:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8246529Z 2026-10-24T18:50:23.8246604Z 90 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8246764Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8246851Z 2026-10-24T18:50:23.8247071Z src/state/shell-sync.test.ts:96:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8247376Z 2026-10-24T18:50:23.8247452Z 96 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8247616Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8247706Z 2026-10-24T18:50:23.8247923Z src/state/shell-sync.test.ts:99:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8248178Z 2026-10-24T18:50:23.8248261Z 99 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8248431Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8248523Z 2026-10-24T18:50:23.8248799Z src/state/shell-sync.test.ts:101:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8249052Z 2026-10-24T18:50:23.8249133Z 101 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8249303Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8249392Z 2026-10-24T18:50:23.8249612Z src/state/shell-sync.test.ts:108:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8249868Z 2026-10-24T18:50:23.8249937Z 108 load: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8250092Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8250177Z 2026-10-24T18:50:23.8250394Z src/state/shell-sync.test.ts:229:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8250652Z 2026-10-24T18:50:23.8250724Z 229 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8250887Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8250972Z 2026-10-24T18:50:23.8251188Z src/state/shell-sync.test.ts:238:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8251443Z 2026-10-24T18:50:23.8251519Z 238 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8251683Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8251773Z 2026-10-24T18:50:23.8251989Z src/state/shell-sync.test.ts:241:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8252245Z 2026-10-24T18:50:23.8252328Z 241 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8252504Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8252596Z 2026-10-24T18:50:23.8252813Z src/state/shell-sync.test.ts:243:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8253069Z 2026-10-24T18:50:23.8253191Z 243 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8253356Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8253446Z 2026-10-24T18:50:23.8253662Z src/state/shell-sync.test.ts:250:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8253922Z 2026-10-24T18:50:23.8253987Z 250 load: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8254142Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8254228Z 2026-10-24T18:50:23.8254443Z src/state/shell-sync.test.ts:349:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8254699Z 2026-10-24T18:50:23.8254773Z 349 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8254933Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8255022Z 2026-10-24T18:50:23.8255242Z src/state/shell-sync.test.ts:355:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8255501Z 2026-10-24T18:50:23.8255572Z 355 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8255735Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8255823Z 2026-10-24T18:50:23.8256040Z src/state/shell-sync.test.ts:358:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8256298Z 2026-10-24T18:50:23.8261513Z 358 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8261696Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8261699Z 2026-10-24T18:50:23.8261996Z src/state/shell-sync.test.ts:360:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8261998Z 2026-10-24T18:50:23.8262073Z 360 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8262123Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8262125Z 2026-10-24T18:50:23.8262338Z src/state/shell-sync.test.ts:367:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8262340Z 2026-10-24T18:50:23.8262404Z 367 load: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8262453Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8262455Z 2026-10-24T18:50:23.8262667Z src/state/shell-sync.test.ts:446:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8262669Z 2026-10-24T18:50:23.8262760Z 446 loadShell: () => Effect.succeed(Option.some(cachedSnapshot)), 2026-10-24T18:50:23.8262807Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8262809Z 2026-10-24T18:50:23.8263021Z src/state/shell-sync.test.ts:448:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8263024Z 2026-10-24T18:50:23.8263095Z 448 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8263142Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8263144Z 2026-10-24T18:50:23.8263353Z src/state/shell-sync.test.ts:451:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8263356Z 2026-10-24T18:50:23.8263433Z 451 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8263484Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8263488Z 2026-10-24T18:50:23.8263697Z src/state/shell-sync.test.ts:453:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8263740Z 2026-10-24T18:50:23.8263810Z 453 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8263858Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8263860Z 2026-10-24T18:50:23.8264071Z src/state/shell-sync.test.ts:460:21 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8264073Z 2026-10-24T18:50:23.8264149Z 460 load: () => Effect.succeed(Option.some(httpSnapshot)), 2026-10-24T18:50:23.8264195Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8264197Z 2026-10-24T18:50:23.8264494Z 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-24T18:50:23.8264498Z 2026-10-24T18:50:23.8264559Z 98 load: (prepared: PreparedConnection) => 2026-10-24T18:50:23.8264600Z ~~~~ 2026-10-24T18:50:23.8264604Z 2026-10-24T18:50:23.8264962Z 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-24T18:50:23.8264964Z 2026-10-24T18:50:23.8265036Z 52 register: (environmentId, threadId, handler) => 2026-10-24T18:50:23.8265078Z ~~~~~~~~ 2026-10-24T18:50:23.8265080Z 2026-10-24T18:50:23.8265403Z 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-24T18:50:23.8265406Z 2026-10-24T18:50:23.8265501Z 64 unregister: (registration) => 2026-10-24T18:50:23.8265544Z ~~~~~~~~~~ 2026-10-24T18:50:23.8265547Z 2026-10-24T18:50:23.8265914Z 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-24T18:50:23.8265917Z 2026-10-24T18:50:23.8265998Z 79 loadEarlier: (environmentId, threadId, throughEntryId) => 2026-10-24T18:50:23.8266040Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8266042Z 2026-10-24T18:50:23.8266401Z 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-24T18:50:23.8266403Z 2026-10-24T18:50:23.8266479Z 89 reconcilePendingWork: (environmentId, threadId) => 2026-10-24T18:50:23.8266562Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8266565Z 2026-10-24T18:50:23.8266792Z src/state/threads-sync.test.ts:1458:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8266795Z 2026-10-24T18:50:23.8266878Z 1458 : { loadCached: Effect.succeed(Option.some(saved!)) }, 2026-10-24T18:50:23.8266932Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8266934Z 2026-10-24T18:50:23.8267192Z 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-24T18:50:23.8267194Z 2026-10-24T18:50:23.8267282Z 447 execute: (input: RunVcsStackedActionInput, registry) => { 2026-10-24T18:50:23.8267322Z ~~~~~~~ 2026-10-24T18:50:23.8267327Z 2026-10-24T18:50:23.8267329Z 2026-10-24T18:50:23.8267380Z ~/apps/mobile$ tsc --noEmit 2026-10-24T18:50:23.8267434Z ~/infra/relay$ tsc --noEmit 2026-10-24T18:50:23.8267483Z ~/apps/web$ tsc --noEmit 2026-10-24T18:50:23.8267532Z ~/apps/desktop$ tsc --noEmit 2026-10-24T18:50:23.8267881Z 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-24T18:50:23.8267885Z 2026-10-24T18:50:23.8267986Z 389 complete: (response) => Effect.sync(() => broker.complete(response)), 2026-10-24T18:50:23.8268029Z ~~~~~~~~ 2026-10-24T18:50:23.8268032Z 2026-10-24T18:50:23.8268252Z src/app/DesktopClerk.test.ts:300:27 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8268254Z 2026-10-24T18:50:23.8268336Z 300 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-24T18:50:23.8268385Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8268390Z 2026-10-24T18:50:23.8268663Z 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-24T18:50:23.8268666Z 2026-10-24T18:50:23.8268717Z 461 onSome: (logFile) => 2026-10-24T18:50:23.8268760Z ~~~~~~ 2026-10-24T18:50:23.8268762Z 2026-10-24T18:50:23.8269080Z 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-24T18:50:23.8269082Z 2026-10-24T18:50:23.8269141Z 591 forInstance: (id) => makeForId(id), 2026-10-24T18:50:23.8269185Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8269187Z 2026-10-24T18:50:23.8269409Z src/app/DesktopWebLinks.test.ts:29:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8269460Z 2026-10-24T18:50:23.8269546Z 29 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-24T18:50:23.8269599Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8269601Z 2026-10-24T18:50:23.8269876Z 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-24T18:50:23.8269879Z 2026-10-24T18:50:23.8269925Z 72 receive: (url) => 2026-10-24T18:50:23.8269968Z ~~~~~~~ 2026-10-24T18:50:23.8269970Z 2026-10-24T18:50:23.8270259Z 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-24T18:50:23.8270264Z 2026-10-24T18:50:23.8270316Z 77 setRendererReady: (ready) => 2026-10-24T18:50:23.8270363Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8270365Z 2026-10-24T18:50:23.8270649Z 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-24T18:50:23.8270652Z 2026-10-24T18:50:23.8270699Z 1062 onSome: (run) => 2026-10-24T18:50:23.8270739Z ~~~~~~ 2026-10-24T18:50:23.8270741Z 2026-10-24T18:50:23.8271024Z 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-24T18:50:23.8271027Z 2026-10-24T18:50:23.8271071Z 307 get: (id) => 2026-10-24T18:50:23.8271113Z ~~~ 2026-10-24T18:50:23.8271115Z 2026-10-24T18:50:23.8271397Z 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-24T18:50:23.8271402Z 2026-10-24T18:50:23.8271493Z 342 get: (id) => Effect.succeed(Option.fromNullishOr(byId.get(id))), 2026-10-24T18:50:23.8271574Z ~~~ 2026-10-24T18:50:23.8271577Z 2026-10-24T18:50:23.8271864Z 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-24T18:50:23.8271866Z 2026-10-24T18:50:23.8271993Z 345 register: () => Effect.die("DesktopBackendPool.layerTest does not support register"), 2026-10-24T18:50:23.8272034Z ~~~~~~~~ 2026-10-24T18:50:23.8272039Z 2026-10-24T18:50:23.8272328Z 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-24T18:50:23.8272333Z 2026-10-24T18:50:23.8272464Z 346 unregister: () => Effect.die("DesktopBackendPool.layerTest does not support unregister"), 2026-10-24T18:50:23.8272507Z ~~~~~~~~~~ 2026-10-24T18:50:23.8272511Z 2026-10-24T18:50:23.8272773Z 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-24T18:50:23.8272775Z 2026-10-24T18:50:23.8272821Z 145 exit: (code) => 2026-10-24T18:50:23.8272861Z ~~~~ 2026-10-24T18:50:23.8272863Z 2026-10-24T18:50:23.8273138Z 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-24T18:50:23.8273141Z 2026-10-24T18:50:23.8273190Z 149 relaunch: (options) => 2026-10-24T18:50:23.8273232Z ~~~~~~~~ 2026-10-24T18:50:23.8273234Z 2026-10-24T18:50:23.8273548Z 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-24T18:50:23.8273552Z 2026-10-24T18:50:23.8273605Z 153 setPath: (name, path) => 2026-10-24T18:50:23.8273647Z ~~~~~~~ 2026-10-24T18:50:23.8273649Z 2026-10-24T18:50:23.8273915Z 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-24T18:50:23.8273917Z 2026-10-24T18:50:23.8273964Z 157 setName: (name) => 2026-10-24T18:50:23.8274003Z ~~~~~~~ 2026-10-24T18:50:23.8274005Z 2026-10-24T18:50:23.8274306Z 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-24T18:50:23.8274311Z 2026-10-24T18:50:23.8274369Z 161 setAboutPanelOptions: (options) => 2026-10-24T18:50:23.8274414Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8274417Z 2026-10-24T18:50:23.8274698Z 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-24T18:50:23.8274703Z 2026-10-24T18:50:23.8274754Z 165 setAppUserModelId: (id) => 2026-10-24T18:50:23.8274800Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8274802Z 2026-10-24T18:50:23.8275131Z 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-24T18:50:23.8275133Z 2026-10-24T18:50:23.8275216Z 170 setAsDefaultProtocolClient: (protocol, path, args) => 2026-10-24T18:50:23.8275260Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8275264Z 2026-10-24T18:50:23.8275592Z 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-24T18:50:23.8275595Z 2026-10-24T18:50:23.8275652Z 177 setDesktopName: (desktopName) => 2026-10-24T18:50:23.8275697Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8275700Z 2026-10-24T18:50:23.8275979Z 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-24T18:50:23.8275982Z 2026-10-24T18:50:23.8276030Z 184 setDockIcon: (iconPath) => 2026-10-24T18:50:23.8276074Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8276076Z 2026-10-24T18:50:23.8276398Z 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-24T18:50:23.8276403Z 2026-10-24T18:50:23.8276480Z 188 appendCommandLineSwitch: (switchName, value) => 2026-10-24T18:50:23.8276538Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8276541Z 2026-10-24T18:50:23.8276872Z 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-24T18:50:23.8276875Z 2026-10-24T18:50:23.8276936Z 196 onBeforeQuitForUpdate: (listener) => 2026-10-24T18:50:23.8276981Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8276984Z 2026-10-24T18:50:23.8277288Z 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-24T18:50:23.8277334Z 2026-10-24T18:50:23.8277396Z 206 removeCommandLineSwitch: (switchName) => 2026-10-24T18:50:23.8277439Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8277441Z 2026-10-24T18:50:23.8277748Z 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-24T18:50:23.8277750Z 2026-10-24T18:50:23.8277806Z 169 showMessageBox: (options, owner) => 2026-10-24T18:50:23.8277850Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8277852Z 2026-10-24T18:50:23.8278152Z 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-24T18:50:23.8278157Z 2026-10-24T18:50:23.8278210Z 185 showErrorBox: (title, content) => 2026-10-24T18:50:23.8278254Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8278258Z 2026-10-24T18:50:23.8278559Z 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-24T18:50:23.8278561Z 2026-10-24T18:50:23.8278615Z 193 setApplicationMenu: (template) => 2026-10-24T18:50:23.8278658Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8278660Z 2026-10-24T18:50:23.8278947Z 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-24T18:50:23.8278949Z 2026-10-24T18:50:23.8279005Z 207 popupTemplate: (input) => 2026-10-24T18:50:23.8279050Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8279052Z 2026-10-24T18:50:23.8279339Z 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-24T18:50:23.8279343Z 2026-10-24T18:50:23.8279395Z 225 showContextMenu: (input) => 2026-10-24T18:50:23.8279479Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8279482Z 2026-10-24T18:50:23.8279831Z 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-24T18:50:23.8279834Z 2026-10-24T18:50:23.8279904Z 82 getSystemIdleState: (idleThresholdSeconds) => 2026-10-24T18:50:23.8279949Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8279951Z 2026-10-24T18:50:23.8280259Z 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-24T18:50:23.8280264Z 2026-10-24T18:50:23.8280316Z 77 encryptString: (value) => 2026-10-24T18:50:23.8280361Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8280363Z 2026-10-24T18:50:23.8280675Z 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-24T18:50:23.8280677Z 2026-10-24T18:50:23.8280728Z 82 decryptString: (value) => 2026-10-24T18:50:23.8280768Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8280770Z 2026-10-24T18:50:23.8281057Z 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-24T18:50:23.8281059Z 2026-10-24T18:50:23.8281109Z 68 openExternal: (rawUrl) => 2026-10-24T18:50:23.8281151Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8281153Z 2026-10-24T18:50:23.8281444Z 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-24T18:50:23.8281490Z 2026-10-24T18:50:23.8281544Z 79 openSystemSettings: (pane) => 2026-10-24T18:50:23.8281588Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8281590Z 2026-10-24T18:50:23.8281869Z 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-24T18:50:23.8281871Z 2026-10-24T18:50:23.8281919Z 86 copyText: (text) => 2026-10-24T18:50:23.8281957Z ~~~~~~~~ 2026-10-24T18:50:23.8281959Z 2026-10-24T18:50:23.8282238Z 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-24T18:50:23.8282242Z 2026-10-24T18:50:23.8282290Z 34 setSource: (theme) => 2026-10-24T18:50:23.8282331Z ~~~~~~~~~ 2026-10-24T18:50:23.8282334Z 2026-10-24T18:50:23.8282618Z 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-24T18:50:23.8282621Z 2026-10-24T18:50:23.8282669Z 41 onUpdated: (listener) => 2026-10-24T18:50:23.8282713Z ~~~~~~~~~ 2026-10-24T18:50:23.8282715Z 2026-10-24T18:50:23.8283010Z 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-24T18:50:23.8283012Z 2026-10-24T18:50:23.8283063Z 85 setFeedURL: (options) => 2026-10-24T18:50:23.8283102Z ~~~~~~~~~~ 2026-10-24T18:50:23.8283104Z 2026-10-24T18:50:23.8283404Z 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-24T18:50:23.8283408Z 2026-10-24T18:50:23.8283499Z 90 setAutoDownload: (value) => 2026-10-24T18:50:23.8283542Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8283544Z 2026-10-24T18:50:23.8283856Z 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-24T18:50:23.8283859Z 2026-10-24T18:50:23.8283915Z 95 setAutoInstallOnAppQuit: (value) => 2026-10-24T18:50:23.8283961Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8283963Z 2026-10-24T18:50:23.8284254Z 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-24T18:50:23.8284258Z 2026-10-24T18:50:23.8284308Z 100 setChannel: (channel) => 2026-10-24T18:50:23.8284349Z ~~~~~~~~~~ 2026-10-24T18:50:23.8284351Z 2026-10-24T18:50:23.8284652Z 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-24T18:50:23.8284654Z 2026-10-24T18:50:23.8284709Z 105 setAllowPrerelease: (value) => 2026-10-24T18:50:23.8284751Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8284753Z 2026-10-24T18:50:23.8285055Z 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-24T18:50:23.8285057Z 2026-10-24T18:50:23.8285110Z 111 setAllowDowngrade: (value) => 2026-10-24T18:50:23.8285150Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8285202Z 2026-10-24T18:50:23.8285501Z 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-24T18:50:23.8285503Z 2026-10-24T18:50:23.8285555Z 116 setFullChangelog: (value) => 2026-10-24T18:50:23.8285598Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8285601Z 2026-10-24T18:50:23.8285926Z 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-24T18:50:23.8285931Z 2026-10-24T18:50:23.8285996Z 121 setDisableDifferentialDownload: (value) => 2026-10-24T18:50:23.8286045Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8286048Z 2026-10-24T18:50:23.8286335Z 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-24T18:50:23.8286339Z 2026-10-24T18:50:23.8286413Z 140 quitAndInstall: ({ isSilent, isForceRunAfter }) => 2026-10-24T18:50:23.8286453Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8286455Z 2026-10-24T18:50:23.8286776Z 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-24T18:50:23.8286779Z 2026-10-24T18:50:23.8286831Z 154 on: (eventName, listener) => { 2026-10-24T18:50:23.8286872Z ~~ 2026-10-24T18:50:23.8286875Z 2026-10-24T18:50:23.8287153Z 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-24T18:50:23.8287155Z 2026-10-24T18:50:23.8287204Z 211 create: (options) => { 2026-10-24T18:50:23.8287313Z ~~~~~~ 2026-10-24T18:50:23.8287316Z 2026-10-24T18:50:23.8287651Z 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-24T18:50:23.8287653Z 2026-10-24T18:50:23.8287748Z 243 setMain: (window) => Ref.set(mainWindowRef, Option.some(window)), 2026-10-24T18:50:23.8287791Z ~~~~~~~ 2026-10-24T18:50:23.8287794Z 2026-10-24T18:50:23.8288076Z 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-24T18:50:23.8288078Z 2026-10-24T18:50:23.8288127Z 244 clearMain: (window) => 2026-10-24T18:50:23.8288169Z ~~~~~~~~~ 2026-10-24T18:50:23.8288171Z 2026-10-24T18:50:23.8288462Z 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-24T18:50:23.8288468Z 2026-10-24T18:50:23.8288521Z 254 prepareReveal: (window) => 2026-10-24T18:50:23.8288564Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8288566Z 2026-10-24T18:50:23.8288842Z 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-24T18:50:23.8288844Z 2026-10-24T18:50:23.8288892Z 264 reveal: (window) => 2026-10-24T18:50:23.8288935Z ~~~~~~ 2026-10-24T18:50:23.8288937Z 2026-10-24T18:50:23.8289279Z 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-24T18:50:23.8289335Z 2026-10-24T18:50:23.8289404Z 526 setMainWindowBounds: (bounds, isMaximized) => 2026-10-24T18:50:23.8289449Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8289453Z 2026-10-24T18:50:23.8289775Z 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-24T18:50:23.8289778Z 2026-10-24T18:50:23.8289834Z 538 setServerExposureMode: (mode) => 2026-10-24T18:50:23.8289879Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8289881Z 2026-10-24T18:50:23.8290192Z 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-24T18:50:23.8290194Z 2026-10-24T18:50:23.8290250Z 542 setTailscaleServe: (input) => 2026-10-24T18:50:23.8290298Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8290301Z 2026-10-24T18:50:23.8290617Z 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-24T18:50:23.8290619Z 2026-10-24T18:50:23.8290671Z 546 setUpdateChannel: (channel) => 2026-10-24T18:50:23.8290715Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8290717Z 2026-10-24T18:50:23.8291038Z 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-24T18:50:23.8291040Z 2026-10-24T18:50:23.8291097Z 550 setWslBackendEnabled: (enabled) => 2026-10-24T18:50:23.8291142Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8291147Z 2026-10-24T18:50:23.8291451Z 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-24T18:50:23.8291491Z 2026-10-24T18:50:23.8291544Z 554 setWslDistro: (distro) => 2026-10-24T18:50:23.8291585Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8291587Z 2026-10-24T18:50:23.8291890Z 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-24T18:50:23.8291892Z 2026-10-24T18:50:23.8291941Z 560 setWslOnly: (enabled) => 2026-10-24T18:50:23.8291981Z ~~~~~~~~~~ 2026-10-24T18:50:23.8291983Z 2026-10-24T18:50:23.8292315Z 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-24T18:50:23.8292320Z 2026-10-24T18:50:23.8292384Z 564 setLocalEnvironmentEnabled: (enabled) => 2026-10-24T18:50:23.8292432Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8292434Z 2026-10-24T18:50:23.8292771Z 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-24T18:50:23.8292776Z 2026-10-24T18:50:23.8292846Z 599 setMainWindowBounds: (bounds, isMaximized) => 2026-10-24T18:50:23.8292894Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8292896Z 2026-10-24T18:50:23.8293218Z 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-24T18:50:23.8293262Z 2026-10-24T18:50:23.8293322Z 601 setServerExposureMode: (mode) => 2026-10-24T18:50:23.8293367Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8293369Z 2026-10-24T18:50:23.8293691Z 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-24T18:50:23.8293693Z 2026-10-24T18:50:23.8293820Z 603 setTailscaleServe: (input) => update((settings) => setTailscaleServe(settings, input)), 2026-10-24T18:50:23.8293864Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8293866Z 2026-10-24T18:50:23.8294186Z 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-24T18:50:23.8294189Z 2026-10-24T18:50:23.8294312Z 604 setUpdateChannel: (channel) => update((settings) => setUpdateChannel(settings, channel)), 2026-10-24T18:50:23.8294359Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8294361Z 2026-10-24T18:50:23.8294683Z 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-24T18:50:23.8294685Z 2026-10-24T18:50:23.8294742Z 605 setWslBackendEnabled: (enabled) => 2026-10-24T18:50:23.8294787Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8294790Z 2026-10-24T18:50:23.8295092Z 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-24T18:50:23.8295096Z 2026-10-24T18:50:23.8295209Z 607 setWslDistro: (distro) => update((settings) => setWslDistro(settings, distro)), 2026-10-24T18:50:23.8295255Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8295257Z 2026-10-24T18:50:23.8295600Z 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-24T18:50:23.8295603Z 2026-10-24T18:50:23.8295710Z 608 setWslOnly: (enabled) => update((settings) => setWslOnly(settings, enabled)), 2026-10-24T18:50:23.8295751Z ~~~~~~~~~~ 2026-10-24T18:50:23.8295753Z 2026-10-24T18:50:23.8296091Z 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-24T18:50:23.8296093Z 2026-10-24T18:50:23.8296159Z 609 setLocalEnvironmentEnabled: (enabled) => 2026-10-24T18:50:23.8296205Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8296209Z 2026-10-24T18:50:23.8296546Z 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-24T18:50:23.8296549Z 2026-10-24T18:50:23.8296593Z 197 set: (settings) => 2026-10-24T18:50:23.8296633Z ~~~ 2026-10-24T18:50:23.8296636Z 2026-10-24T18:50:23.8296937Z 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-24T18:50:23.8296940Z 2026-10-24T18:50:23.8297029Z 231 set: (settings) => Ref.set(settingsRef, Option.some(settings)), 2026-10-24T18:50:23.8297069Z ~~~ 2026-10-24T18:50:23.8297071Z 2026-10-24T18:50:23.8297400Z 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-24T18:50:23.8297443Z 2026-10-24T18:50:23.8297517Z 1729 setAnimationDestination: (id, destination) => 2026-10-24T18:50:23.8297562Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8297565Z 2026-10-24T18:50:23.8297865Z 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-24T18:50:23.8297868Z 2026-10-24T18:50:23.8297917Z 1740 dismissAnimation: (id) => 2026-10-24T18:50:23.8297958Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8297961Z 2026-10-24T18:50:23.8298247Z 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-24T18:50:23.8298251Z 2026-10-24T18:50:23.8298298Z 1745 acknowledge: (id) => 2026-10-24T18:50:23.8298340Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8298342Z 2026-10-24T18:50:23.8298652Z 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-24T18:50:23.8298656Z 2026-10-24T18:50:23.8298703Z 136 discoverHosts: (input) => 2026-10-24T18:50:23.8298745Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8298748Z 2026-10-24T18:50:23.8299051Z 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-24T18:50:23.8299054Z 2026-10-24T18:50:23.8299102Z 141 resolveHost: (alias) => 2026-10-24T18:50:23.8299141Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8299143Z 2026-10-24T18:50:23.8299526Z 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-24T18:50:23.8299529Z 2026-10-24T18:50:23.8299597Z 146 ensureEnvironment: (target, ensureOptions) => 2026-10-24T18:50:23.8299640Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8299642Z 2026-10-24T18:50:23.8299968Z 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-24T18:50:23.8299971Z 2026-10-24T18:50:23.8300027Z 154 disconnectEnvironment: (target) => 2026-10-24T18:50:23.8300075Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8300077Z 2026-10-24T18:50:23.8300390Z 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-24T18:50:23.8300395Z 2026-10-24T18:50:23.8300523Z 1171 installPrepared: (expectedVersion) => installWithExpectedVersion(expectedVersion), 2026-10-24T18:50:23.8300566Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8300568Z 2026-10-24T18:50:23.8300859Z 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-24T18:50:23.8300863Z 2026-10-24T18:50:23.8300912Z 1101 preWarm: () => Effect.void, 2026-10-24T18:50:23.8300953Z ~~~~~~~ 2026-10-24T18:50:23.8300955Z 2026-10-24T18:50:23.8301292Z 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-24T18:50:23.8301334Z 2026-10-24T18:50:23.8301402Z 1102 windowsToWslPath: (distro, windowsPath) => 2026-10-24T18:50:23.8301444Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8301448Z 2026-10-24T18:50:23.8301756Z 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-24T18:50:23.8301758Z 2026-10-24T18:50:23.8301894Z 1104 getUserHome: (distro) => Effect.succeed(stub.getUserHome?.(distro) ?? Option.none()), 2026-10-24T18:50:23.8301937Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8301939Z 2026-10-24T18:50:23.8302244Z 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-24T18:50:23.8302249Z 2026-10-24T18:50:23.8302380Z 1105 getDistroIp: (distro) => Effect.succeed(stub.getDistroIp?.(distro) ?? Option.none()), 2026-10-24T18:50:23.8302422Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8302424Z 2026-10-24T18:50:23.8302755Z 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-24T18:50:23.8302757Z 2026-10-24T18:50:23.8302818Z 1106 prepareRuntime: (distro, archive) => 2026-10-24T18:50:23.8302865Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8302867Z 2026-10-24T18:50:23.8303192Z 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-24T18:50:23.8303195Z 2026-10-24T18:50:23.8303324Z 1113 pruneRuntimes: (distro, runtimeId) => stub.pruneRuntimes?.(distro, runtimeId) ?? Effect.void, 2026-10-24T18:50:23.8303371Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8303373Z 2026-10-24T18:50:23.8303746Z 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-24T18:50:23.8303748Z 2026-10-24T18:50:23.8303815Z 1114 invalidateRuntime: (distro, runtimeId) => 2026-10-24T18:50:23.8303857Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8303859Z 2026-10-24T18:50:23.8304189Z 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-24T18:50:23.8304191Z 2026-10-24T18:50:23.8304252Z 1116 probeRuntime: (distro, linuxAppRoot) => 2026-10-24T18:50:23.8304295Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8304297Z 2026-10-24T18:50:23.8304643Z 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-24T18:50:23.8304646Z 2026-10-24T18:50:23.8304718Z 1120 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-24T18:50:23.8304761Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8304763Z 2026-10-24T18:50:23.8305063Z 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-24T18:50:23.8305065Z 2026-10-24T18:50:23.8305115Z 1187 preWarm: (distro) => 2026-10-24T18:50:23.8305158Z ~~~~~~~ 2026-10-24T18:50:23.8305160Z 2026-10-24T18:50:23.8305485Z 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-24T18:50:23.8305530Z 2026-10-24T18:50:23.8305591Z 1192 prepareRuntime: (distro, archive) => 2026-10-24T18:50:23.8305635Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8305637Z 2026-10-24T18:50:23.8305962Z 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-24T18:50:23.8305964Z 2026-10-24T18:50:23.8306021Z 1196 pruneRuntimes: (distro, runtimeId) => 2026-10-24T18:50:23.8306062Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8306064Z 2026-10-24T18:50:23.8306396Z 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-24T18:50:23.8306401Z 2026-10-24T18:50:23.8306466Z 1200 invalidateRuntime: (distro, runtimeId) => 2026-10-24T18:50:23.8306522Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8306525Z 2026-10-24T18:50:23.8306884Z 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-24T18:50:23.8306886Z 2026-10-24T18:50:23.8306944Z 1204 probeRuntime: (distro, linuxAppRoot) => 2026-10-24T18:50:23.8306987Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8306989Z 2026-10-24T18:50:23.8307332Z 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-24T18:50:23.8307336Z 2026-10-24T18:50:23.8307410Z 1208 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-24T18:50:23.8307451Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8307489Z 2026-10-24T18:50:23.8307491Z 2026-10-24T18:50:23.8307800Z 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-24T18:50:23.8307802Z 2026-10-24T18:50:23.8307850Z 220 send: (body) => 2026-10-24T18:50:23.8307890Z ~~~~ 2026-10-24T18:50:23.8307892Z 2026-10-24T18:50:23.8308186Z 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-24T18:50:23.8308188Z 2026-10-24T18:50:23.8308236Z 12 onFailure: (error) => 2026-10-24T18:50:23.8308277Z ~~~~~~~~~ 2026-10-24T18:50:23.8308279Z 2026-10-24T18:50:23.8308598Z 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-24T18:50:23.8308601Z 2026-10-24T18:50:23.8308652Z 64 pauseUntil: (untilMillis) => 2026-10-24T18:50:23.8308695Z ~~~~~~~~~~ 2026-10-24T18:50:23.8308697Z 2026-10-24T18:50:23.8308930Z 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-24T18:50:23.8308934Z 2026-10-24T18:50:23.8308979Z 198 onNone: () => 2026-10-24T18:50:23.8309021Z ~~~~~~ 2026-10-24T18:50:23.8309023Z 2026-10-24T18:50:23.8309287Z src/previewTunnelSweep.test.ts:53:11 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-24T18:50:23.8309340Z 2026-10-24T18:50:23.8309460Z 53 }).pipe(Effect.provide(Layer.succeed(HttpClient.HttpClient, cloudflare.client))); 2026-10-24T18:50:23.8309504Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8309506Z 2026-10-24T18:50:23.8309787Z 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-24T18:50:23.8309789Z 2026-10-24T18:50:23.8309898Z 92 fileResponse: () => Effect.die("Relay API does not serve filesystem responses"), 2026-10-24T18:50:23.8309940Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8309942Z 2026-10-24T18:50:23.8310223Z 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-24T18:50:23.8310226Z 2026-10-24T18:50:23.8310332Z 93 fileWebResponse: () => Effect.die("Relay API does not serve file responses"), 2026-10-24T18:50:23.8310375Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8310377Z 2026-10-24T18:50:23.8310631Z 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-24T18:50:23.8310634Z 2026-10-24T18:50:23.8310697Z 242 hold: ({ endpointKey, baseUrl, hook }) => 2026-10-24T18:50:23.8310738Z ~~~~ 2026-10-24T18:50:23.8310740Z 2026-10-24T18:50:23.8310990Z 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-24T18:50:23.8310993Z 2026-10-24T18:50:23.8311051Z 244 wake: ({ endpointKey, baseUrl }) => 2026-10-24T18:50:23.8311092Z ~~~~ 2026-10-24T18:50:23.8311094Z 2026-10-24T18:50:23.8311344Z 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-24T18:50:23.8311349Z 2026-10-24T18:50:23.8311439Z 246 clear: ({ endpointKey }) => 2026-10-24T18:50:23.8311482Z ~~~~~ 2026-10-24T18:50:23.8311484Z 2026-10-24T18:50:23.8311792Z 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-24T18:50:23.8311794Z 2026-10-24T18:50:23.8311842Z 275 send: (body) => 2026-10-24T18:50:23.8311885Z ~~~~ 2026-10-24T18:50:23.8311887Z 2026-10-24T18:50:23.8311889Z 2026-10-24T18:50:23.8311891Z 2026-10-24T18:50:23.8312218Z 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-24T18:50:23.8312223Z 2026-10-24T18:50:23.8312271Z 820 clear: (environmentId) => 2026-10-24T18:50:23.8312313Z ~~~~~ 2026-10-24T18:50:23.8312315Z 2026-10-24T18:50:23.8312611Z 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-24T18:50:23.8312613Z 2026-10-24T18:50:23.8312698Z 830 observe: ({ environmentId, environmentLabel, method }) => 2026-10-24T18:50:23.8312737Z ~~~~~~~ 2026-10-24T18:50:23.8312739Z 2026-10-24T18:50:23.8313032Z 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-24T18:50:23.8313034Z 2026-10-24T18:50:23.8313078Z 551 get: (entry) => 2026-10-24T18:50:23.8313159Z ~~~ 2026-10-24T18:50:23.8313161Z 2026-10-24T18:50:23.8313468Z 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-24T18:50:23.8313470Z 2026-10-24T18:50:23.8313519Z 578 set: (entry, permission) => { 2026-10-24T18:50:23.8313559Z ~~~ 2026-10-24T18:50:23.8313561Z 2026-10-24T18:50:23.8313868Z 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-24T18:50:23.8313871Z 2026-10-24T18:50:23.8313947Z 598 forget: (environmentId) => write(environmentId, null), 2026-10-24T18:50:23.8313987Z ~~~~~~ 2026-10-24T18:50:23.8313989Z 2026-10-24T18:50:23.8314329Z 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-24T18:50:23.8314335Z 2026-10-24T18:50:23.8314394Z 645 register: (registration, routes) => 2026-10-24T18:50:23.8314437Z ~~~~~~~~ 2026-10-24T18:50:23.8314439Z 2026-10-24T18:50:23.8314786Z 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-24T18:50:23.8314788Z 2026-10-24T18:50:23.8314849Z 649 setRoutes: (environmentId, routes) => 2026-10-24T18:50:23.8314889Z ~~~~~~~~~ 2026-10-24T18:50:23.8314891Z 2026-10-24T18:50:23.8315219Z 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-24T18:50:23.8315223Z 2026-10-24T18:50:23.8315274Z 653 remove: (environmentId) => 2026-10-24T18:50:23.8315356Z ~~~~~~ 2026-10-24T18:50:23.8315359Z 2026-10-24T18:50:23.8315709Z 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-24T18:50:23.8315711Z 2026-10-24T18:50:23.8315771Z 657 setEnabled: (environmentId, enabled) => 2026-10-24T18:50:23.8315813Z ~~~~~~~~~~ 2026-10-24T18:50:23.8315816Z 2026-10-24T18:50:23.8316138Z 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-24T18:50:23.8316140Z 2026-10-24T18:50:23.8316199Z 734 loadShell: (environmentId) => 2026-10-24T18:50:23.8316239Z ~~~~~~~~~ 2026-10-24T18:50:23.8316241Z 2026-10-24T18:50:23.8316589Z 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-24T18:50:23.8316619Z 2026-10-24T18:50:23.8316682Z 770 loadServerConfig: (environmentId) => 2026-10-24T18:50:23.8316729Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8316731Z 2026-10-24T18:50:23.8317071Z 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-24T18:50:23.8317073Z 2026-10-24T18:50:23.8317133Z 804 loadThread: (environmentId, threadId) => 2026-10-24T18:50:23.8317175Z ~~~~~~~~~~ 2026-10-24T18:50:23.8317222Z 2026-10-24T18:50:23.8317558Z 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-24T18:50:23.8317560Z 2026-10-24T18:50:23.8317618Z 853 loadVcsRefs: (environmentId, cwd) => 2026-10-24T18:50:23.8317661Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8317663Z 2026-10-24T18:50:23.8317998Z 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-24T18:50:23.8318003Z 2026-10-24T18:50:23.8318062Z 895 removeVcsRefs: (environmentId, cwd) => 2026-10-24T18:50:23.8318106Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8318108Z 2026-10-24T18:50:23.8318436Z 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-24T18:50:23.8318442Z 2026-10-24T18:50:23.8318498Z 901 clearVcsRefs: (environmentId) => 2026-10-24T18:50:23.8318539Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8318541Z 2026-10-24T18:50:23.8318885Z 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-24T18:50:23.8318888Z 2026-10-24T18:50:23.8318955Z 907 removeThread: (environmentId, threadId) => 2026-10-24T18:50:23.8318997Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8318999Z 2026-10-24T18:50:23.8319316Z 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-24T18:50:23.8319319Z 2026-10-24T18:50:23.8319369Z 913 clear: (environmentId) => 2026-10-24T18:50:23.8319450Z ~~~~~ 2026-10-24T18:50:23.8319452Z 2026-10-24T18:50:23.8319454Z 2026-10-24T18:50:23.8319504Z ~/apps/server$ tsc --noEmit 2026-10-24T18:50:23.8319751Z 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-24T18:50:23.8319753Z 2026-10-24T18:50:23.8319809Z 941 yield* Effect.sleep("1200 millis") 2026-10-24T18:50:23.8319857Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8319901Z 942 .pipe( 2026-10-24T18:50:23.8319943Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8319983Z ... 2026-10-24T18:50:23.8320024Z 954 ) 2026-10-24T18:50:23.8320065Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8320118Z 955 .pipe(Effect.forkDetach); 2026-10-24T18:50:23.8320165Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8320167Z 2026-10-24T18:50:23.8320471Z 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-24T18:50:23.8320474Z 2026-10-24T18:50:23.8320524Z 1175 logger: (event) => { 2026-10-24T18:50:23.8320566Z ~~~~~~ 2026-10-24T18:50:23.8320568Z 2026-10-24T18:50:23.8320988Z 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-24T18:50:23.8320990Z 2026-10-24T18:50:23.8321093Z 376 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-24T18:50:23.8321152Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8321194Z 2026-10-24T18:50:23.8321588Z 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-24T18:50:23.8321591Z 2026-10-24T18:50:23.8321703Z 975 const { resource } = yield* Schema.decodeUnknownEffect(AssetCreateUrlInput)({ 2026-10-24T18:50:23.8321765Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8321767Z 2026-10-24T18:50:23.8322056Z 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-24T18:50:23.8322061Z 2026-10-24T18:50:23.8322109Z 1346 getDescriptor: () => 2026-10-24T18:50:23.8322152Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8322156Z 2026-10-24T18:50:23.8322465Z 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-24T18:50:23.8322468Z 2026-10-24T18:50:23.8322517Z 55 getDescriptor: () => 2026-10-24T18:50:23.8322557Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8322559Z 2026-10-24T18:50:23.8322882Z 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-24T18:50:23.8322884Z 2026-10-24T18:50:23.8322936Z 540 authenticate: (request) => 2026-10-24T18:50:23.8322979Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8322981Z 2026-10-24T18:50:23.8323225Z 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-24T18:50:23.8323229Z 2026-10-24T18:50:23.8323282Z 468 : Effect.succeed(undefined), 2026-10-24T18:50:23.8323367Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8323369Z 2026-10-24T18:50:23.8323651Z 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-24T18:50:23.8323653Z 2026-10-24T18:50:23.8323706Z 328 HttpClientError: (cause) => 2026-10-24T18:50:23.8323749Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8323751Z 2026-10-24T18:50:23.8323986Z src/cloud/CloudLink.lifecycle.test.ts:166:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8323988Z 2026-10-24T18:50:23.8324055Z 166 latest: Effect.succeed(Option.none()), 2026-10-24T18:50:23.8324103Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8324105Z 2026-10-24T18:50:23.8324322Z src/cloud/CloudLink.test.ts:99:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8324325Z 2026-10-24T18:50:23.8324384Z 99 latest: Effect.succeed(Option.none()), 2026-10-24T18:50:23.8324431Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8324433Z 2026-10-24T18:50:23.8324767Z 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-24T18:50:23.8324769Z 2026-10-24T18:50:23.8324898Z 791 requestRecovery: (config) => Queue.offer(recoveryRequests, config).pipe(Effect.asVoid), 2026-10-24T18:50:23.8324941Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8324944Z 2026-10-24T18:50:23.8325148Z src/cloud/http.test.ts:81:67 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8325188Z 2026-10-24T18:50:23.8325335Z 81 Layer.mock(ConnectReachability.ConnectReachability)({ latest: Effect.succeed(Option.none()) }), 2026-10-24T18:50:23.8325405Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8325408Z 2026-10-24T18:50:23.8325740Z 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-24T18:50:23.8325742Z 2026-10-24T18:50:23.8325826Z 371 commitDesktopUpdate: (requestId, onHandoffAccepted) => 2026-10-24T18:50:23.8325869Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8325871Z 2026-10-24T18:50:23.8326153Z 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-24T18:50:23.8326158Z 2026-10-24T18:50:23.8326208Z 808 updateTool: (tool) => 2026-10-24T18:50:23.8326252Z ~~~~~~~~~~ 2026-10-24T18:50:23.8326254Z 2026-10-24T18:50:23.8326558Z 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-24T18:50:23.8326561Z 2026-10-24T18:50:23.8326607Z 823 easAccount: () => 2026-10-24T18:50:23.8326649Z ~~~~~~~~~~ 2026-10-24T18:50:23.8326651Z 2026-10-24T18:50:23.8326958Z 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-24T18:50:23.8326960Z 2026-10-24T18:50:23.8327014Z 868 ensureAgentReady: (onPhase) => 2026-10-24T18:50:23.8327059Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8327061Z 2026-10-24T18:50:23.8327371Z src/device/easProjectId.ts:201:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8327374Z 2026-10-24T18:50:23.8327428Z 201 Effect.map(Option.some), 2026-10-24T18:50:23.8327470Z ~~~~~~~~~~ 2026-10-24T18:50:23.8327472Z 2026-10-24T18:50:23.8327757Z 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-24T18:50:23.8327759Z 2026-10-24T18:50:23.8327836Z 141 return DirectEndpoints.of({ resolve: () => resolve }); 2026-10-24T18:50:23.8327885Z ~~~~~~~ 2026-10-24T18:50:23.8327888Z 2026-10-24T18:50:23.8328193Z 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-24T18:50:23.8328198Z 2026-10-24T18:50:23.8328302Z 83 return RemoteOpenTargets.of({ resolveTargets: () => resolveTargets }); 2026-10-24T18:50:23.8328357Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8328359Z 2026-10-24T18:50:23.8328654Z 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-24T18:50:23.8328656Z 2026-10-24T18:50:23.8328708Z 302 isRepository: (cwd) => 2026-10-24T18:50:23.8328750Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8328752Z 2026-10-24T18:50:23.8329040Z 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-24T18:50:23.8329096Z 2026-10-24T18:50:23.8329147Z 315 hasCommit: (input) => 2026-10-24T18:50:23.8329187Z ~~~~~~~~~ 2026-10-24T18:50:23.8329189Z 2026-10-24T18:50:23.8329485Z 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-24T18:50:23.8329488Z 2026-10-24T18:50:23.8329538Z 327 hasRefNamed: (input) => 2026-10-24T18:50:23.8329579Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8329582Z 2026-10-24T18:50:23.8329864Z 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-24T18:50:23.8329868Z 2026-10-24T18:50:23.8329913Z 346 status: (input) => 2026-10-24T18:50:23.8329955Z ~~~~~~ 2026-10-24T18:50:23.8329957Z 2026-10-24T18:50:23.8330252Z 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-24T18:50:23.8330255Z 2026-10-24T18:50:23.8330304Z 352 localStatus: (input) => 2026-10-24T18:50:23.8330344Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8330346Z 2026-10-24T18:50:23.8330656Z 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-24T18:50:23.8330658Z 2026-10-24T18:50:23.8330715Z 360 remoteStatus: (input, options) => 2026-10-24T18:50:23.8330757Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8330759Z 2026-10-24T18:50:23.8331059Z 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-24T18:50:23.8331063Z 2026-10-24T18:50:23.8331114Z 369 pullCurrentBranch: (cwd) => 2026-10-24T18:50:23.8331159Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8331202Z 2026-10-24T18:50:23.8331516Z 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-24T18:50:23.8331519Z 2026-10-24T18:50:23.8331579Z 373 runStackedAction: (input, options) => 2026-10-24T18:50:23.8331621Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8331625Z 2026-10-24T18:50:23.8331945Z 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-24T18:50:23.8331948Z 2026-10-24T18:50:23.8332009Z 388 preparePullRequestThread: (input) => 2026-10-24T18:50:23.8332059Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8332062Z 2026-10-24T18:50:23.8332350Z 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-24T18:50:23.8332352Z 2026-10-24T18:50:23.8332400Z 399 listRefs: (input) => 2026-10-24T18:50:23.8332441Z ~~~~~~~~ 2026-10-24T18:50:23.8332443Z 2026-10-24T18:50:23.8332756Z 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-24T18:50:23.8332758Z 2026-10-24T18:50:23.8332817Z 405 createWorktree: (input, options) => 2026-10-24T18:50:23.8332860Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8332863Z 2026-10-24T18:50:23.8333170Z 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-24T18:50:23.8333221Z 2026-10-24T18:50:23.8333274Z 409 listLocalBranchNames: (cwd) => 2026-10-24T18:50:23.8333319Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8333322Z 2026-10-24T18:50:23.8333615Z 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-24T18:50:23.8333618Z 2026-10-24T18:50:23.8333669Z 413 fetchRemote: (input) => 2026-10-24T18:50:23.8333710Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8333712Z 2026-10-24T18:50:23.8334006Z 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-24T18:50:23.8334010Z 2026-10-24T18:50:23.8334061Z 417 remoteExists: (input) => 2026-10-24T18:50:23.8334107Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8334110Z 2026-10-24T18:50:23.8334423Z 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-24T18:50:23.8334426Z 2026-10-24T18:50:23.8334477Z 421 remoteBranchExists: (input) => 2026-10-24T18:50:23.8334523Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8334525Z 2026-10-24T18:50:23.8334850Z 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-24T18:50:23.8334852Z 2026-10-24T18:50:23.8334916Z 425 resolveRemoteTrackingCommit: (input) => 2026-10-24T18:50:23.8334963Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8334967Z 2026-10-24T18:50:23.8335327Z 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-24T18:50:23.8335330Z 2026-10-24T18:50:23.8335393Z 429 resolveWorktreeBaseRemote: (input) => 2026-10-24T18:50:23.8335440Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8335442Z 2026-10-24T18:50:23.8335757Z 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-24T18:50:23.8335760Z 2026-10-24T18:50:23.8335815Z 433 fetchWorktreeBaseCommit: (input) => 2026-10-24T18:50:23.8335861Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8335863Z 2026-10-24T18:50:23.8336170Z 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-24T18:50:23.8336174Z 2026-10-24T18:50:23.8336226Z 437 removeWorktree: (input) => 2026-10-24T18:50:23.8336269Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8336272Z 2026-10-24T18:50:23.8336582Z 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-24T18:50:23.8336588Z 2026-10-24T18:50:23.8336657Z 441 pruneWorktrees: (input) => 2026-10-24T18:50:23.8336700Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8336702Z 2026-10-24T18:50:23.8337007Z 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-24T18:50:23.8337054Z 2026-10-24T18:50:23.8337107Z 445 deleteLocalBranch: (input) => 2026-10-24T18:50:23.8337149Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8337153Z 2026-10-24T18:50:23.8337442Z 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-24T18:50:23.8337445Z 2026-10-24T18:50:23.8337493Z 449 createRef: (input) => 2026-10-24T18:50:23.8337535Z ~~~~~~~~~ 2026-10-24T18:50:23.8337538Z 2026-10-24T18:50:23.8337828Z 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-24T18:50:23.8337830Z 2026-10-24T18:50:23.8337876Z 457 switchRef: (input) => 2026-10-24T18:50:23.8337920Z ~~~~~~~~~ 2026-10-24T18:50:23.8337925Z 2026-10-24T18:50:23.8338221Z 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-24T18:50:23.8338223Z 2026-10-24T18:50:23.8338274Z 463 renameBranch: (input) => 2026-10-24T18:50:23.8338315Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8338317Z 2026-10-24T18:50:23.8338579Z 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-24T18:50:23.8338582Z 2026-10-24T18:50:23.8338636Z 281 const receive = (raw: string) => { 2026-10-24T18:50:23.8338677Z ~~~~~~~ 2026-10-24T18:50:23.8338679Z 2026-10-24T18:50:23.8339048Z 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-24T18:50:23.8339053Z 2026-10-24T18:50:23.8339094Z 284 try { 2026-10-24T18:50:23.8339183Z ~~~~~ 2026-10-24T18:50:23.8339238Z 285 parsed = JSON.parse(line); 2026-10-24T18:50:23.8339285Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8339326Z ... 2026-10-24T18:50:23.8339424Z 287 return yield* respondWithError(null, "Parse error", -32700); 2026-10-24T18:50:23.8339494Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8339538Z 288 } 2026-10-24T18:50:23.8339579Z ~~~~~~~ 2026-10-24T18:50:23.8339582Z 2026-10-24T18:50:23.8339851Z 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-24T18:50:23.8339853Z 2026-10-24T18:50:23.8339912Z 324 Effect.catchCause(() => Effect.void), 2026-10-24T18:50:23.8339960Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8339962Z 2026-10-24T18:50:23.8340192Z src/mcp/McpDeviceToolkit.test.ts:105:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8340196Z 2026-10-24T18:50:23.8340259Z 105 getById: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8340307Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8340310Z 2026-10-24T18:50:23.8340591Z 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-24T18:50:23.8340593Z 2026-10-24T18:50:23.8340687Z 421 const previewSnapshotFailure = (cause: Cause.Cause) => { 2026-10-24T18:50:23.8340733Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8340735Z 2026-10-24T18:50:23.8341019Z 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-24T18:50:23.8341066Z 2026-10-24T18:50:23.8341119Z 938 addTool: (options) => 2026-10-24T18:50:23.8341161Z ~~~~~~~ 2026-10-24T18:50:23.8341164Z 2026-10-24T18:50:23.8341439Z 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-24T18:50:23.8341442Z 2026-10-24T18:50:23.8341500Z 22 resolve: () => Effect.succeed(undefined), 2026-10-24T18:50:23.8341552Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8341554Z 2026-10-24T18:50:23.8341838Z 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-24T18:50:23.8341843Z 2026-10-24T18:50:23.8341902Z 112 Effect.flatMap(() => writingCaller), 2026-10-24T18:50:23.8341946Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8341949Z 2026-10-24T18:50:23.8342443Z 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-24T18:50:23.8342448Z 2026-10-24T18:50:23.8342521Z 2465 const cancelOrphan = Effect.gen(function* () { 2026-10-24T18:50:23.8342578Z ~~~~~~~~~ 2026-10-24T18:50:23.8342580Z 2026-10-24T18:50:23.8342815Z src/mcp/OrchestratorMcpService.ts:2480:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-24T18:50:23.8342901Z 2480 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-24T18:50:23.8342948Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8342950Z 2026-10-24T18:50:23.8343219Z src/mcp/OrchestratorMcpService.ts:2483:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-24T18:50:23.8343300Z 2483 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-24T18:50:23.8343348Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8343350Z 2026-10-24T18:50:23.8343617Z 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-24T18:50:23.8343623Z 2026-10-24T18:50:23.8343669Z 651 onNone: () => 2026-10-24T18:50:23.8343712Z ~~~~~~ 2026-10-24T18:50:23.8343714Z 2026-10-24T18:50:23.8343914Z src/mcp/WorktreeMcpService.test.ts:355:3 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T18:50:23.8343918Z 2026-10-24T18:50:23.8343968Z 355 Effect.gen(function* () { 2026-10-24T18:50:23.8344011Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8344096Z 356 return yield* WorktreeMcpService.WorktreeMcpService; 2026-10-24T18:50:23.8344161Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8344224Z 357 }).pipe(Effect.provide(harness.layer)); 2026-10-24T18:50:23.8344266Z ~~~~ 2026-10-24T18:50:23.8344268Z 2026-10-24T18:50:23.8344537Z 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-24T18:50:23.8344540Z 2026-10-24T18:50:23.8344591Z 217 const thread = yield* engine 2026-10-24T18:50:23.8344638Z ~~~~~~ 2026-10-24T18:50:23.8344686Z 218 .getThreadShell(threadId) 2026-10-24T18:50:23.8344785Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8344852Z 219 .pipe(Effect.map(Option.fromNullishOr)) 2026-10-24T18:50:23.8344907Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8344991Z 220 .pipe(Effect.mapError((cause) => new Failure({ cause }))); 2026-10-24T18:50:23.8345059Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8345061Z 2026-10-24T18:50:23.8345344Z 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-24T18:50:23.8345347Z 2026-10-24T18:50:23.8345468Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-24T18:50:23.8345512Z ~~~ 2026-10-24T18:50:23.8345519Z 2026-10-24T18:50:23.8345813Z 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-24T18:50:23.8345817Z 2026-10-24T18:50:23.8345936Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-24T18:50:23.8345999Z ~~~~~~~~~ 2026-10-24T18:50:23.8346002Z 2026-10-24T18:50:23.8346319Z 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-24T18:50:23.8346322Z 2026-10-24T18:50:23.8346372Z 16 record: (records) => 2026-10-24T18:50:23.8346413Z ~~~~~~ 2026-10-24T18:50:23.8346415Z 2026-10-24T18:50:23.8346729Z 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-24T18:50:23.8346734Z 2026-10-24T18:50:23.8346836Z 41 defaultValue: () => ({ latestNoticeableStall: Effect.succeed(undefined) }), 2026-10-24T18:50:23.8346943Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8346946Z 2026-10-24T18:50:23.8347391Z 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-24T18:50:23.8347393Z 2026-10-24T18:50:23.8347493Z 30 const REPLAY_SETTINGS = Schema.decodeUnknownSync(AcpRegistrySettings)({ 2026-10-24T18:50:23.8347549Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8347551Z 2026-10-24T18:50:23.8347858Z 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-24T18:50:23.8347862Z 2026-10-24T18:50:23.8347924Z 48 defaultModel: Effect.succeed(undefined), 2026-10-24T18:50:23.8347972Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8347976Z 2026-10-24T18:50:23.8348282Z 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-24T18:50:23.8348284Z 2026-10-24T18:50:23.8348350Z 169 defaultModel: Effect.succeed(undefined), 2026-10-24T18:50:23.8348403Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8348405Z 2026-10-24T18:50:23.8348711Z 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-24T18:50:23.8348759Z 2026-10-24T18:50:23.8348824Z 306 defaultModel: Effect.succeed(undefined), 2026-10-24T18:50:23.8348875Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8348877Z 2026-10-24T18:50:23.8349181Z 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-24T18:50:23.8349184Z 2026-10-24T18:50:23.8349246Z 542 defaultModel: Effect.succeed(undefined), 2026-10-24T18:50:23.8349299Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8349301Z 2026-10-24T18:50:23.8349635Z 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-24T18:50:23.8349641Z 2026-10-24T18:50:23.8349700Z 974 const controller = new AbortController(); 2026-10-24T18:50:23.8349752Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8349755Z 2026-10-24T18:50:23.8350047Z 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-24T18:50:23.8350049Z 2026-10-24T18:50:23.8350116Z 1326 const requestEvent = yield* runtime.events 2026-10-24T18:50:23.8350168Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8350214Z 1327 .pipe( 2026-10-24T18:50:23.8350260Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8350303Z ... 2026-10-24T18:50:23.8350344Z 1330 ) 2026-10-24T18:50:23.8350388Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8350443Z 1331 .pipe(Effect.forkScoped); 2026-10-24T18:50:23.8350490Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8350495Z 2026-10-24T18:50:23.8350871Z 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-24T18:50:23.8350874Z 2026-10-24T18:50:23.8350943Z 1332 const controller = new AbortController(); 2026-10-24T18:50:23.8350999Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8351001Z 2026-10-24T18:50:23.8351335Z 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-24T18:50:23.8351337Z 2026-10-24T18:50:23.8351421Z 1355 const cancelledController = new AbortController(); 2026-10-24T18:50:23.8351481Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8351486Z 2026-10-24T18:50:23.8351856Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4018:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8351858Z 2026-10-24T18:50:23.8351964Z 4018 getCapabilities: () => Effect.succeed(ClaudeProviderCapabilitiesV2), 2026-10-24T18:50:23.8352008Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8352010Z 2026-10-24T18:50:23.8352388Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4019:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8352391Z 2026-10-24T18:50:23.8352510Z 4019 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8352557Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8352606Z 2026-10-24T18:50:23.8352961Z 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-24T18:50:23.8352964Z 2026-10-24T18:50:23.8353027Z 201 signal: new AbortController().signal, 2026-10-24T18:50:23.8353076Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8353079Z 2026-10-24T18:50:23.8353467Z 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-24T18:50:23.8353472Z 2026-10-24T18:50:23.8353523Z 74 const pause = Effect.raceFirst( 2026-10-24T18:50:23.8353570Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8353572Z 2026-10-24T18:50:23.8353863Z 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-24T18:50:23.8353868Z 2026-10-24T18:50:23.8353977Z 1741 threadId === null ? Effect.succeed(undefined) : mcpSessions.read(threadId); 2026-10-24T18:50:23.8354031Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8354033Z 2026-10-24T18:50:23.8354391Z 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-24T18:50:23.8354393Z 2026-10-24T18:50:23.8354495Z 1748 getCapabilities: () => Effect.succeed(CodexProviderCapabilitiesV2), 2026-10-24T18:50:23.8354540Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8354542Z 2026-10-24T18:50:23.8354914Z 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-24T18:50:23.8354959Z 2026-10-24T18:50:23.8355075Z 1749 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T18:50:23.8355122Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8355124Z 2026-10-24T18:50:23.8355437Z 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-24T18:50:23.8355440Z 2026-10-24T18:50:23.8355513Z 3045 Effect.catch(() => Effect.succeed(null)), 2026-10-24T18:50:23.8355560Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8355562Z 2026-10-24T18:50:23.8355929Z 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-24T18:50:23.8355937Z 2026-10-24T18:50:23.8355997Z 3046 Effect.flatMap((response) => 2026-10-24T18:50:23.8356047Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8356049Z 2026-10-24T18:50:23.8356328Z 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-24T18:50:23.8356330Z 2026-10-24T18:50:23.8356393Z 3068 Effect.catch(() => Effect.void), 2026-10-24T18:50:23.8356437Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8356439Z 2026-10-24T18:50:23.8356837Z 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-24T18:50:23.8356884Z 2026-10-24T18:50:23.8356970Z 7268 return yield* Effect.fail(failedTermination.error); 2026-10-24T18:50:23.8357017Z ~~~~~ 2026-10-24T18:50:23.8357019Z 2026-10-24T18:50:23.8357455Z 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-24T18:50:23.8357457Z 2026-10-24T18:50:23.8357557Z 33 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-24T18:50:23.8357616Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8357618Z 2026-10-24T18:50:23.8358053Z 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-24T18:50:23.8358057Z 2026-10-24T18:50:23.8358183Z 414 const DEFAULT_MUSE_SETTINGS = Schema.decodeUnknownSync(MuseSettings)({ enabled: true }); 2026-10-24T18:50:23.8358240Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8358243Z 2026-10-24T18:50:23.8358584Z 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-24T18:50:23.8358586Z 2026-10-24T18:50:23.8358636Z 242 execute: (input) => 2026-10-24T18:50:23.8358681Z ~~~~~~~ 2026-10-24T18:50:23.8358683Z 2026-10-24T18:50:23.8358944Z src/orchestration-v2/CheckpointRestoreSafety.test.ts:104:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8358948Z 2026-10-24T18:50:23.8359102Z 104 get: () => Effect.succeed(Option.some({ workspaceRoot: parent } as never)), 2026-10-24T18:50:23.8359151Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8359153Z 2026-10-24T18:50:23.8359504Z 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-24T18:50:23.8359506Z 2026-10-24T18:50:23.8359559Z 41 Effect.catch((error) => 2026-10-24T18:50:23.8359604Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8359607Z 2026-10-24T18:50:23.8359947Z 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-24T18:50:23.8359951Z 2026-10-24T18:50:23.8360002Z 83 Effect.catch((error) => 2026-10-24T18:50:23.8360051Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8360054Z 2026-10-24T18:50:23.8360320Z src/orchestration-v2/CheckpointRollbackService.test.ts:233:22 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8360322Z 2026-10-24T18:50:23.8360421Z 233 return Effect.succeed(Option.some({ workspaceRoot } as never)); 2026-10-24T18:50:23.8360469Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8360472Z 2026-10-24T18:50:23.8360824Z 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-24T18:50:23.8360876Z 2026-10-24T18:50:23.8360940Z 142 const batchAbort = new AbortController(); 2026-10-24T18:50:23.8360997Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8360999Z 2026-10-24T18:50:23.8361363Z 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-24T18:50:23.8361366Z 2026-10-24T18:50:23.8361420Z 168 Effect.flatMap((frame) => 2026-10-24T18:50:23.8361461Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8361464Z 2026-10-24T18:50:23.8361707Z src/orchestration-v2/CommandReceiptStore.ts:164:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8361709Z 2026-10-24T18:50:23.8361780Z 164 onNone: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8361832Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8361836Z 2026-10-24T18:50:23.8362082Z src/orchestration-v2/CommandReceiptStore.ts:167:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8362085Z 2026-10-24T18:50:23.8362145Z 167 ? Effect.succeed(Option.none()) 2026-10-24T18:50:23.8362195Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8362197Z 2026-10-24T18:50:23.8362441Z src/orchestration-v2/CommandReceiptStore.ts:168:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8362444Z 2026-10-24T18:50:23.8362545Z 168 : fromApplicationReceipt(receipt).pipe(Effect.map(Option.some)), 2026-10-24T18:50:23.8362608Z ~~~~~~~~~~ 2026-10-24T18:50:23.8362610Z 2026-10-24T18:50:23.8362847Z src/orchestration-v2/CommandReceiptStore.ts:183:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8362851Z 2026-10-24T18:50:23.8362951Z 183 ? Effect.succeed(Option.none()) 2026-10-24T18:50:23.8363000Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8363003Z 2026-10-24T18:50:23.8363246Z src/orchestration-v2/CommandReceiptStore.ts:192:25 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8363249Z 2026-10-24T18:50:23.8363312Z 192 }).pipe(Effect.map(Option.some)), 2026-10-24T18:50:23.8363357Z ~~~~~~~~~~ 2026-10-24T18:50:23.8363359Z 2026-10-24T18:50:23.8363590Z src/orchestration-v2/EffectOutbox.ts:429:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8363592Z 2026-10-24T18:50:23.8363650Z 429 ? Effect.succeed(Option.none()) 2026-10-24T18:50:23.8363700Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8363702Z 2026-10-24T18:50:23.8363934Z src/orchestration-v2/EffectOutbox.ts:430:39 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8363939Z 2026-10-24T18:50:23.8364016Z 430 : rowToEffect(row).pipe(Effect.map(Option.some)); 2026-10-24T18:50:23.8364070Z ~~~~~~~~~~ 2026-10-24T18:50:23.8364072Z 2026-10-24T18:50:23.8364309Z src/orchestration-v2/EffectWorker.test.ts:107:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8364312Z 2026-10-24T18:50:23.8364377Z 107 get: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8364424Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8364427Z 2026-10-24T18:50:23.8364661Z src/orchestration-v2/EffectWorker.test.ts:302:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8364708Z 2026-10-24T18:50:23.8364798Z 302 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T18:50:23.8364846Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8364849Z 2026-10-24T18:50:23.8365081Z src/orchestration-v2/EffectWorker.test.ts:369:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8365083Z 2026-10-24T18:50:23.8365164Z 369 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T18:50:23.8365215Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8365217Z 2026-10-24T18:50:23.8365451Z src/orchestration-v2/EffectWorker.test.ts:436:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8365455Z 2026-10-24T18:50:23.8365538Z 436 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T18:50:23.8365583Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8365590Z 2026-10-24T18:50:23.8365821Z src/orchestration-v2/EffectWorker.test.ts:437:18 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8365823Z 2026-10-24T18:50:23.8365901Z 437 get: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T18:50:23.8365950Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8365952Z 2026-10-24T18:50:23.8366288Z 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-24T18:50:23.8366291Z 2026-10-24T18:50:23.8366342Z 98 execute: (effect, options) => { 2026-10-24T18:50:23.8366387Z ~~~~~~~ 2026-10-24T18:50:23.8366389Z 2026-10-24T18:50:23.8366785Z 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-24T18:50:23.8366787Z 2026-10-24T18:50:23.8366841Z 180 Effect.catch((cause) => 2026-10-24T18:50:23.8366889Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8366891Z 2026-10-24T18:50:23.8367173Z 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-24T18:50:23.8367179Z 2026-10-24T18:50:23.8367267Z 110 append: (input) => 2026-10-24T18:50:23.8367310Z ~~~~~~ 2026-10-24T18:50:23.8367312Z 2026-10-24T18:50:23.8367619Z 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-24T18:50:23.8367623Z 2026-10-24T18:50:23.8367682Z 120 appendProjectEvent: (event) => 2026-10-24T18:50:23.8367725Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8367727Z 2026-10-24T18:50:23.8368025Z 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-24T18:50:23.8368027Z 2026-10-24T18:50:23.8368080Z 131 latestSequence: (input) => 2026-10-24T18:50:23.8368127Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8368129Z 2026-10-24T18:50:23.8368387Z src/orchestration-v2/FoundationPersistence.test.ts:1791:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8368390Z 2026-10-24T18:50:23.8368534Z 1791 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T18:50:23.8368585Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8368587Z 2026-10-24T18:50:23.8368844Z src/orchestration-v2/FoundationPersistence.test.ts:1793:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8368847Z 2026-10-24T18:50:23.8368895Z 1793 Effect.succeed( 2026-10-24T18:50:23.8368939Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8368941Z 2026-10-24T18:50:23.8369193Z src/orchestration-v2/FoundationPersistence.test.ts:2663:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8369195Z 2026-10-24T18:50:23.8369276Z 2663 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-24T18:50:23.8369329Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8369333Z 2026-10-24T18:50:23.8369588Z src/orchestration-v2/FoundationPersistence.test.ts:2880:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8369590Z 2026-10-24T18:50:23.8369665Z 2880 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-24T18:50:23.8369717Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8369719Z 2026-10-24T18:50:23.8370073Z src/orchestration-v2/Orchestrator.ts:11796:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T18:50:23.8370075Z 2026-10-24T18:50:23.8370129Z 11796 Effect.flatMap((planned) => 2026-10-24T18:50:23.8370175Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8370177Z 2026-10-24T18:50:23.8370506Z src/orchestration-v2/Orchestrator.ts:12219:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8370511Z 2026-10-24T18:50:23.8370623Z 12219 restartContinuationPending: (run) => 2026-10-24T18:50:23.8370672Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8370674Z 2026-10-24T18:50:23.8370996Z src/orchestration-v2/Orchestrator.ts:12221:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8370998Z 2026-10-24T18:50:23.8371058Z 12221 awaitRestartContinuation: (run) => 2026-10-24T18:50:23.8371105Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8371107Z 2026-10-24T18:50:23.8371423Z src/orchestration-v2/Orchestrator.ts:12224:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8371427Z 2026-10-24T18:50:23.8371486Z 12224 autoArmLimitRecovery: (input) => 2026-10-24T18:50:23.8371533Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8371537Z 2026-10-24T18:50:23.8371840Z src/orchestration-v2/Orchestrator.ts:12252:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8371842Z 2026-10-24T18:50:23.8371890Z 12252 searchThread: (input) => 2026-10-24T18:50:23.8371936Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8371938Z 2026-10-24T18:50:23.8372327Z src/orchestration-v2/Orchestrator.ts:12260: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-24T18:50:23.8372329Z 2026-10-24T18:50:23.8372492Z 12260 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-24T18:50:23.8372537Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8372539Z 2026-10-24T18:50:23.8372863Z src/orchestration-v2/Orchestrator.ts:12264:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8372865Z 2026-10-24T18:50:23.8372934Z 12264 getTimelinePage: (threadId, options) => 2026-10-24T18:50:23.8372979Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8372981Z 2026-10-24T18:50:23.8373292Z src/orchestration-v2/Orchestrator.ts:12268:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8373294Z 2026-10-24T18:50:23.8373348Z 12268 getMessageCount: (threadId) => 2026-10-24T18:50:23.8373394Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8373396Z 2026-10-24T18:50:23.8373701Z src/orchestration-v2/Orchestrator.ts:12272:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8373703Z 2026-10-24T18:50:23.8373754Z 12272 getTurnItem: (input) => 2026-10-24T18:50:23.8373798Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8373800Z 2026-10-24T18:50:23.8374134Z src/orchestration-v2/Orchestrator.ts:12280:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8374139Z 2026-10-24T18:50:23.8374211Z 12280 getThreadRecords: (threadId, fields, filter) => 2026-10-24T18:50:23.8374257Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8374259Z 2026-10-24T18:50:23.8374579Z src/orchestration-v2/Orchestrator.ts:12284:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8374630Z 2026-10-24T18:50:23.8374689Z 12284 getThreadProjection: (threadId) => 2026-10-24T18:50:23.8374732Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8374735Z 2026-10-24T18:50:23.8375053Z src/orchestration-v2/Orchestrator.ts:12288:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8375055Z 2026-10-24T18:50:23.8375115Z 12288 getCheckpointContext: (threadId) => 2026-10-24T18:50:23.8375162Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8375164Z 2026-10-24T18:50:23.8375474Z src/orchestration-v2/Orchestrator.ts:12292:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8375478Z 2026-10-24T18:50:23.8375533Z 12292 getThreadSnapshot: (threadId) => 2026-10-24T18:50:23.8375581Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8375583Z 2026-10-24T18:50:23.8375927Z src/orchestration-v2/Orchestrator.ts:12296:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8375930Z 2026-10-24T18:50:23.8376005Z 12296 getThreadSnapshotWindow: (threadId, options) => 2026-10-24T18:50:23.8376052Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8376055Z 2026-10-24T18:50:23.8376362Z src/orchestration-v2/Orchestrator.ts:12300:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8376414Z 2026-10-24T18:50:23.8376468Z 12300 getShellSnapshot: (options) => 2026-10-24T18:50:23.8376523Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8376526Z 2026-10-24T18:50:23.8376870Z src/orchestration-v2/Orchestrator.ts:12302:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.listActiveSubagentThreadIds")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8376873Z 2026-10-24T18:50:23.8376933Z 12302 listActiveSubagentThreadIds: () => 2026-10-24T18:50:23.8376979Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8376981Z 2026-10-24T18:50:23.8377298Z src/orchestration-v2/Orchestrator.ts:12304:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8377300Z 2026-10-24T18:50:23.8377354Z 12304 readShellSnapshot: (options) => 2026-10-24T18:50:23.8377402Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8377404Z 2026-10-24T18:50:23.8377712Z src/orchestration-v2/Orchestrator.ts:12311:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8377714Z 2026-10-24T18:50:23.8377765Z 12311 getThreadShell: (threadId) => 2026-10-24T18:50:23.8377810Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8377812Z 2026-10-24T18:50:23.8378135Z src/orchestration-v2/Orchestrator.ts:12315:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T18:50:23.8378137Z 2026-10-24T18:50:23.8378201Z 12315 getThreadEventSequence: (threadId) => 2026-10-24T18:50:23.8378246Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8378249Z 2026-10-24T18:50:23.8378565Z 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-24T18:50:23.8378703Z 2026-10-24T18:50:23.8378775Z 160 getInstance: () => Effect.succeed(undefined), 2026-10-24T18:50:23.8378837Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8378840Z 2026-10-24T18:50:23.8379138Z 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-24T18:50:23.8379140Z 2026-10-24T18:50:23.8379250Z 269 getShell: (projectId) => get(projectId).pipe(Effect.map(Option.map(toShell))), 2026-10-24T18:50:23.8379291Z ~~~~~~~~ 2026-10-24T18:50:23.8379293Z 2026-10-24T18:50:23.8379590Z 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-24T18:50:23.8379593Z 2026-10-24T18:50:23.8379645Z 270 listShells: (options) => 2026-10-24T18:50:23.8379687Z ~~~~~~~~~~ 2026-10-24T18:50:23.8379689Z 2026-10-24T18:50:23.8379947Z src/orchestration-v2/ProjectionControlReads.test.ts:279:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8379953Z 2026-10-24T18:50:23.8379998Z 279 Effect.succeed( 2026-10-24T18:50:23.8380044Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8380046Z 2026-10-24T18:50:23.8380380Z 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-24T18:50:23.8380382Z 2026-10-24T18:50:23.8380471Z 78 get: (instanceId) => 2026-10-24T18:50:23.8380511Z ~~~ 2026-10-24T18:50:23.8380513Z 2026-10-24T18:50:23.8380830Z 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-24T18:50:23.8380832Z 2026-10-24T18:50:23.8380876Z 135 list: () => 2026-10-24T18:50:23.8380920Z ~~~~ 2026-10-24T18:50:23.8380922Z 2026-10-24T18:50:23.8381244Z 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-24T18:50:23.8381246Z 2026-10-24T18:50:23.8381329Z 93 record: (properties: Readonly>) => 2026-10-24T18:50:23.8381371Z ~~~~~~ 2026-10-24T18:50:23.8381373Z 2026-10-24T18:50:23.8381740Z 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-24T18:50:23.8381744Z 2026-10-24T18:50:23.8381804Z 818 Effect.flatMap((storedEvents) => 2026-10-24T18:50:23.8381849Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8381851Z 2026-10-24T18:50:23.8382106Z src/orchestration-v2/ProviderSessionManager.test.ts:1155:19 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8382108Z 2026-10-24T18:50:23.8382230Z 1155 : Effect.succeed(Option.some(makeBrowserAccessProject(requestedProjectId))), 2026-10-24T18:50:23.8382278Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8382280Z 2026-10-24T18:50:23.8382540Z src/orchestration-v2/ProviderTurnStartService.test.ts:150:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8382544Z 2026-10-24T18:50:23.8382595Z 150 Effect.succeed( 2026-10-24T18:50:23.8382681Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8382683Z 2026-10-24T18:50:23.8382940Z src/orchestration-v2/ProviderTurnStartService.test.ts:703:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8382942Z 2026-10-24T18:50:23.8383077Z 703 Effect.succeed(Option.some({ workspaceRoot: "/tmp/native-account-project" } as never)), 2026-10-24T18:50:23.8383123Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8383125Z 2026-10-24T18:50:23.8383383Z src/orchestration-v2/ProviderTurnStartService.testkit.ts:14:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8383388Z 2026-10-24T18:50:23.8383453Z 14 getById: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8383504Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8383507Z 2026-10-24T18:50:23.8383797Z 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-24T18:50:23.8383799Z 2026-10-24T18:50:23.8383881Z 205 Effect.catchCause(() => Effect.succeed(undefined)), 2026-10-24T18:50:23.8383940Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8383942Z 2026-10-24T18:50:23.8384317Z 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-24T18:50:23.8384319Z 2026-10-24T18:50:23.8384379Z 512 Effect.catchCause((cause) => 2026-10-24T18:50:23.8384469Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8384472Z 2026-10-24T18:50:23.8384881Z 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-24T18:50:23.8384883Z 2026-10-24T18:50:23.8384945Z 1302 return runExecution.startRootRun({ 2026-10-24T18:50:23.8384985Z ~~~~~~ 2026-10-24T18:50:23.8384987Z 2026-10-24T18:50:23.8385242Z src/orchestration-v2/PullRequestWatchReactor.ts:478:53 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T18:50:23.8385244Z 2026-10-24T18:50:23.8385344Z 478 ? pullRequests.activity(reference).pipe(Effect.map(Option.some)) 2026-10-24T18:50:23.8385406Z ~~~~~~~~~~ 2026-10-24T18:50:23.8385410Z 2026-10-24T18:50:23.8385766Z 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-24T18:50:23.8385771Z 2026-10-24T18:50:23.8385841Z 49 cleanupScheduledTasks: (threadId: ThreadId) => 2026-10-24T18:50:23.8385887Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8385889Z 2026-10-24T18:50:23.8386233Z 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-24T18:50:23.8386235Z 2026-10-24T18:50:23.8386297Z 58 cleanupTerminals: (threadId: string) => 2026-10-24T18:50:23.8386340Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8386342Z 2026-10-24T18:50:23.8386762Z 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-24T18:50:23.8386765Z 2026-10-24T18:50:23.8386826Z 66 cleanupPreviews: (threadId: string) => 2026-10-24T18:50:23.8386871Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8386873Z 2026-10-24T18:50:23.8387229Z 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-24T18:50:23.8387232Z 2026-10-24T18:50:23.8387321Z 74 cleanupAttachments: (attachmentIds: ReadonlyArray) => 2026-10-24T18:50:23.8387367Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8387369Z 2026-10-24T18:50:23.8387626Z 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-24T18:50:23.8387630Z 2026-10-24T18:50:23.8387691Z 1812 ).pipe(Effect.map(Option.some)), 2026-10-24T18:50:23.8387737Z ~~~~~~~~~~ 2026-10-24T18:50:23.8387739Z 2026-10-24T18:50:23.8388101Z 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-24T18:50:23.8388106Z 2026-10-24T18:50:23.8388161Z 931 Effect.catchCause((cause) => 2026-10-24T18:50:23.8388210Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8388212Z 2026-10-24T18:50:23.8388450Z src/orchestration-v2/RuntimePolicy.test.ts:90:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8388559Z 2026-10-24T18:50:23.8388607Z 90 Effect.succeed( 2026-10-24T18:50:23.8388650Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8388652Z 2026-10-24T18:50:23.8388948Z 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-24T18:50:23.8388951Z 2026-10-24T18:50:23.8389001Z 54 resolve: (input) => 2026-10-24T18:50:23.8389044Z ~~~~~~~ 2026-10-24T18:50:23.8389046Z 2026-10-24T18:50:23.8389293Z src/orchestration-v2/RuntimeRequestService.test.ts:29:7 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8389299Z 2026-10-24T18:50:23.8389344Z 29 Effect.succeed( 2026-10-24T18:50:23.8389390Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8389392Z 2026-10-24T18:50:23.8389640Z src/orchestration-v2/ThreadLaunchService.test.ts:189:33 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8389645Z 2026-10-24T18:50:23.8389741Z 189 getByWorkspaceRoot: () => Effect.succeed(Option.some(project)), 2026-10-24T18:50:23.8389793Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8389795Z 2026-10-24T18:50:23.8390041Z src/orchestration-v2/ThreadLaunchService.test.ts:220:32 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8390043Z 2026-10-24T18:50:23.8390125Z 220 folderForThread: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8390177Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8390179Z 2026-10-24T18:50:23.8390501Z 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-24T18:50:23.8390505Z 2026-10-24T18:50:23.8390551Z 91 archive: (input) => 2026-10-24T18:50:23.8390595Z ~~~~~~~ 2026-10-24T18:50:23.8390597Z 2026-10-24T18:50:23.8390966Z 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-24T18:50:23.8390968Z 2026-10-24T18:50:23.8391019Z 97 unarchive: (input) => 2026-10-24T18:50:23.8391061Z ~~~~~~~~~ 2026-10-24T18:50:23.8391063Z 2026-10-24T18:50:23.8391382Z 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-24T18:50:23.8391385Z 2026-10-24T18:50:23.8391433Z 103 delete: (input) => 2026-10-24T18:50:23.8391474Z ~~~~~~ 2026-10-24T18:50:23.8391478Z 2026-10-24T18:50:23.8391818Z 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-24T18:50:23.8391821Z 2026-10-24T18:50:23.8391875Z 109 updateMetadata: (input) => 2026-10-24T18:50:23.8391918Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8391920Z 2026-10-24T18:50:23.8392255Z 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-24T18:50:23.8392257Z 2026-10-24T18:50:23.8392310Z 118 setRuntimeMode: (input) => 2026-10-24T18:50:23.8392355Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8392357Z 2026-10-24T18:50:23.8392697Z 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-24T18:50:23.8392744Z 2026-10-24T18:50:23.8392800Z 125 setInteractionMode: (input) => 2026-10-24T18:50:23.8392845Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8392848Z 2026-10-24T18:50:23.8393191Z 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-24T18:50:23.8393193Z 2026-10-24T18:50:23.8393254Z 132 setModelSelection: (input) => 2026-10-24T18:50:23.8393297Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8393299Z 2026-10-24T18:50:23.8393670Z 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-24T18:50:23.8393675Z 2026-10-24T18:50:23.8393731Z 689 Effect.flatMap((projection) => 2026-10-24T18:50:23.8393778Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8393780Z 2026-10-24T18:50:23.8394057Z 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-24T18:50:23.8394060Z 2026-10-24T18:50:23.8394125Z 706 ensureProjectionTranscript(input.threadId) 2026-10-24T18:50:23.8394179Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8394314Z 707 .pipe(Effect.andThen(orchestrator.getThreadRecords(input.threadId, fields, filter))) 2026-10-24T18:50:23.8394399Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8394439Z ... 2026-10-24T18:50:23.8394481Z 726 ), 2026-10-24T18:50:23.8394525Z ~~~~~~~~~~ 2026-10-24T18:50:23.8394568Z 727 ); 2026-10-24T18:50:23.8394609Z ~~~~~~~ 2026-10-24T18:50:23.8394612Z 2026-10-24T18:50:23.8395019Z 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-24T18:50:23.8395022Z 2026-10-24T18:50:23.8395080Z 717 Effect.flatMap((projection) => 2026-10-24T18:50:23.8395126Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8395128Z 2026-10-24T18:50:23.8395490Z 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-24T18:50:23.8395493Z 2026-10-24T18:50:23.8395592Z 1131 if (failures[0] !== undefined) return yield* Effect.fail(failures[0]); 2026-10-24T18:50:23.8395649Z ~~~~~ 2026-10-24T18:50:23.8395651Z 2026-10-24T18:50:23.8395995Z 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-24T18:50:23.8395997Z 2026-10-24T18:50:23.8396049Z 1142 searchThread: (input) => 2026-10-24T18:50:23.8396093Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8396095Z 2026-10-24T18:50:23.8396526Z 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-24T18:50:23.8396528Z 2026-10-24T18:50:23.8396674Z 1147 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-24T18:50:23.8396765Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8396767Z 2026-10-24T18:50:23.8397128Z 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-24T18:50:23.8397130Z 2026-10-24T18:50:23.8397196Z 1153 getTimelinePage: (threadId, options) => 2026-10-24T18:50:23.8397238Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8397240Z 2026-10-24T18:50:23.8397587Z 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-24T18:50:23.8397589Z 2026-10-24T18:50:23.8397645Z 1157 getMessageCount: (threadId) => 2026-10-24T18:50:23.8397689Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8397693Z 2026-10-24T18:50:23.8398031Z 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-24T18:50:23.8398033Z 2026-10-24T18:50:23.8398084Z 1161 getTurnItem: (input) => 2026-10-24T18:50:23.8398130Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8398133Z 2026-10-24T18:50:23.8398505Z 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-24T18:50:23.8398508Z 2026-10-24T18:50:23.8398579Z 1166 getThreadRecords: (threadId, fields, filter) => 2026-10-24T18:50:23.8398622Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8398626Z 2026-10-24T18:50:23.8399041Z 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-24T18:50:23.8399045Z 2026-10-24T18:50:23.8399179Z 1206 ensureTranscript: () => Effect.succeed({ importedThreadCount: 0, importedMessageCount: 0 }), 2026-10-24T18:50:23.8399223Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8399225Z 2026-10-24T18:50:23.8399489Z src/orchestration-v2/ThreadPullRequestService.test.ts:119:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8399491Z 2026-10-24T18:50:23.8399572Z 119 getShell: () => Effect.succeed(Option.some(project)), 2026-10-24T18:50:23.8399620Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8399623Z 2026-10-24T18:50:23.8399881Z src/orchestration-v2/ThreadPullRequestService.test.ts:238:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8399885Z 2026-10-24T18:50:23.8399969Z 238 getShell: () => Effect.succeed(Option.some(project)), 2026-10-24T18:50:23.8400021Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8400024Z 2026-10-24T18:50:23.8400401Z 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-24T18:50:23.8400403Z 2026-10-24T18:50:23.8400458Z 326 Effect.catchCause((cause) => 2026-10-24T18:50:23.8400507Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8400510Z 2026-10-24T18:50:23.8400879Z 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-24T18:50:23.8400920Z 2026-10-24T18:50:23.8400977Z 342 Effect.catchCause((cause) => 2026-10-24T18:50:23.8401023Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8401028Z 2026-10-24T18:50:23.8401396Z 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-24T18:50:23.8401398Z 2026-10-24T18:50:23.8401454Z 505 Effect.catchCause((cause) => 2026-10-24T18:50:23.8401499Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8401502Z 2026-10-24T18:50:23.8401868Z 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-24T18:50:23.8401873Z 2026-10-24T18:50:23.8401925Z 523 Effect.catchCause((cause) => 2026-10-24T18:50:23.8401968Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8401972Z 2026-10-24T18:50:23.8402337Z 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-24T18:50:23.8402339Z 2026-10-24T18:50:23.8402393Z 565 Effect.catchCause((cause) => 2026-10-24T18:50:23.8402440Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8402442Z 2026-10-24T18:50:23.8402783Z 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-24T18:50:23.8402788Z 2026-10-24T18:50:23.8402843Z 106 normalize: (item, runOrdinal) => 2026-10-24T18:50:23.8402885Z ~~~~~~~~~ 2026-10-24T18:50:23.8402887Z 2026-10-24T18:50:23.8403318Z 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-24T18:50:23.8403321Z 2026-10-24T18:50:23.8403420Z 54 const thread = Schema.decodeUnknownSync(OrchestrationV2AppThread)({ 2026-10-24T18:50:23.8403467Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8403470Z 2026-10-24T18:50:23.8403833Z 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-24T18:50:23.8403835Z 2026-10-24T18:50:23.8403882Z 231 try { 2026-10-24T18:50:23.8403924Z ~~~~~ 2026-10-24T18:50:23.8404006Z 232 decodeThreadHistoryCursor(args.query.cursor); 2026-10-24T18:50:23.8404070Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8404112Z ... 2026-10-24T18:50:23.8404245Z 236 return yield* failEnvironmentInternal("orchestration_thread_history_failed", cause); 2026-10-24T18:50:23.8404332Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8404372Z 237 } 2026-10-24T18:50:23.8404414Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8404416Z 2026-10-24T18:50:23.8404656Z src/orchestration-v2/runtimeLayer.test.ts:120:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8404658Z 2026-10-24T18:50:23.8404725Z 120 getById: () => Effect.succeed(Option.none()), 2026-10-24T18:50:23.8404770Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8404819Z 2026-10-24T18:50:23.8405057Z src/orchestration-v2/runtimeLayer.test.ts:997:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8405059Z 2026-10-24T18:50:23.8405108Z 997 Effect.succeed( 2026-10-24T18:50:23.8405154Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8405156Z 2026-10-24T18:50:23.8405518Z 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-24T18:50:23.8405521Z 2026-10-24T18:50:23.8405567Z 40 append: (input) => 2026-10-24T18:50:23.8405609Z ~~~~~~ 2026-10-24T18:50:23.8405611Z 2026-10-24T18:50:23.8405921Z 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-24T18:50:23.8405925Z 2026-10-24T18:50:23.8405987Z 283 const awaitDispatch = (key: string) => 2026-10-24T18:50:23.8406035Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8406037Z 2026-10-24T18:50:23.8406442Z 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-24T18:50:23.8406445Z 2026-10-24T18:50:23.8406508Z 447 execute: () => Effect.void, 2026-10-24T18:50:23.8406550Z ~~~~~~~ 2026-10-24T18:50:23.8406552Z 2026-10-24T18:50:23.8406920Z 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-24T18:50:23.8406924Z 2026-10-24T18:50:23.8406971Z 92 list: (input) => 2026-10-24T18:50:23.8407011Z ~~~~ 2026-10-24T18:50:23.8407013Z 2026-10-24T18:50:23.8407433Z 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-24T18:50:23.8407436Z 2026-10-24T18:50:23.8407481Z 102 set: (input) => 2026-10-24T18:50:23.8407522Z ~~~ 2026-10-24T18:50:23.8407524Z 2026-10-24T18:50:23.8407845Z 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-24T18:50:23.8407849Z 2026-10-24T18:50:23.8407891Z 54 get: (key) => 2026-10-24T18:50:23.8407933Z ~~~ 2026-10-24T18:50:23.8407936Z 2026-10-24T18:50:23.8408272Z 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-24T18:50:23.8408274Z 2026-10-24T18:50:23.8408322Z 64 put: (key, guide) => 2026-10-24T18:50:23.8408361Z ~~~ 2026-10-24T18:50:23.8408363Z 2026-10-24T18:50:23.8408697Z 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-24T18:50:23.8408699Z 2026-10-24T18:50:23.8408750Z 45 Effect.catch((error) => 2026-10-24T18:50:23.8408794Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8408796Z 2026-10-24T18:50:23.8409111Z 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-24T18:50:23.8409163Z 2026-10-24T18:50:23.8409227Z 75 awaitAttached: () => Effect.succeed(false), 2026-10-24T18:50:23.8409273Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8409275Z 2026-10-24T18:50:23.8409580Z 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-24T18:50:23.8409582Z 2026-10-24T18:50:23.8409641Z 78 isAttached: () => Effect.succeed(false), 2026-10-24T18:50:23.8409681Z ~~~~~~~~~~ 2026-10-24T18:50:23.8409686Z 2026-10-24T18:50:23.8409979Z 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-24T18:50:23.8409981Z 2026-10-24T18:50:23.8410082Z 79 endpoint: () => Effect.die("No desktop app is attached to this server."), 2026-10-24T18:50:23.8410125Z ~~~~~~~~ 2026-10-24T18:50:23.8410127Z 2026-10-24T18:50:23.8410421Z 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-24T18:50:23.8410423Z 2026-10-24T18:50:23.8410475Z 80 pointer: () => Effect.void, 2026-10-24T18:50:23.8410514Z ~~~~~~~ 2026-10-24T18:50:23.8410517Z 2026-10-24T18:50:23.8410840Z 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-24T18:50:23.8410842Z 2026-10-24T18:50:23.8410896Z 194 awaitAttached: (key, timeout) => 2026-10-24T18:50:23.8410940Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8410942Z 2026-10-24T18:50:23.8411287Z 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-24T18:50:23.8411292Z 2026-10-24T18:50:23.8411388Z 216 isAttached: (key) => Effect.sync(() => attachedTabs.has(keyOf(key))), 2026-10-24T18:50:23.8411430Z ~~~~~~~~~~ 2026-10-24T18:50:23.8411432Z 2026-10-24T18:50:23.8411745Z 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-24T18:50:23.8411747Z 2026-10-24T18:50:23.8411850Z 218 pointer: (key, pointer) => command({ type: "pointer", ...key, ...pointer }), 2026-10-24T18:50:23.8411890Z ~~~~~~~ 2026-10-24T18:50:23.8411892Z 2026-10-24T18:50:23.8412339Z 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-24T18:50:23.8412343Z 2026-10-24T18:50:23.8412439Z 481 executable: () => Effect.runPromise(previewBrowser.executable), 2026-10-24T18:50:23.8412488Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8412490Z 2026-10-24T18:50:23.8412925Z 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-24T18:50:23.8412928Z 2026-10-24T18:50:23.8412979Z 688 ? Effect.runPromise( 2026-10-24T18:50:23.8413023Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8413026Z 2026-10-24T18:50:23.8413500Z 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-24T18:50:23.8413502Z 2026-10-24T18:50:23.8413581Z 697 const scope = await Effect.runPromise(Scope.make()); 2026-10-24T18:50:23.8413633Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8413636Z 2026-10-24T18:50:23.8414067Z 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-24T18:50:23.8414069Z 2026-10-24T18:50:23.8414133Z 699 const endpoint = await Effect.runPromise( 2026-10-24T18:50:23.8414188Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8414191Z 2026-10-24T18:50:23.8414627Z 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-24T18:50:23.8414630Z 2026-10-24T18:50:23.8414713Z 709 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-24T18:50:23.8414763Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8414765Z 2026-10-24T18:50:23.8415194Z 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-24T18:50:23.8415201Z 2026-10-24T18:50:23.8415283Z 713 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-24T18:50:23.8415330Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8415333Z 2026-10-24T18:50:23.8415806Z 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-24T18:50:23.8415809Z 2026-10-24T18:50:23.8415859Z 1200 await Effect.runPromise( 2026-10-24T18:50:23.8415903Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8415906Z 2026-10-24T18:50:23.8416343Z 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-24T18:50:23.8416347Z 2026-10-24T18:50:23.8416402Z 1693 : await Effect.runPromise( 2026-10-24T18:50:23.8416452Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8416455Z 2026-10-24T18:50:23.8416912Z 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-24T18:50:23.8416915Z 2026-10-24T18:50:23.8416971Z 1757 ? await Effect.runPromise( 2026-10-24T18:50:23.8417017Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8417019Z 2026-10-24T18:50:23.8417280Z 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-24T18:50:23.8417327Z 2026-10-24T18:50:23.8417433Z 1760 ServerBrowserTabNotFoundError: () => Effect.succeed(undefined), 2026-10-24T18:50:23.8417505Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8417507Z 2026-10-24T18:50:23.8417938Z 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-24T18:50:23.8417940Z 2026-10-24T18:50:23.8418011Z 1766 const { sessions } = await Effect.runPromise( 2026-10-24T18:50:23.8418070Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8418072Z 2026-10-24T18:50:23.8418506Z 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-24T18:50:23.8418512Z 2026-10-24T18:50:23.8418566Z 1794 await Effect.runPromise( 2026-10-24T18:50:23.8418613Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8418615Z 2026-10-24T18:50:23.8419048Z 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-24T18:50:23.8419053Z 2026-10-24T18:50:23.8419105Z 1825 await Effect.runPromise( 2026-10-24T18:50:23.8419152Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8419154Z 2026-10-24T18:50:23.8419640Z 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-24T18:50:23.8419644Z 2026-10-24T18:50:23.8419773Z 1889 await Effect.runPromise(manager.close({ threadId: tab.threadId, tabId: tab.tabId })); 2026-10-24T18:50:23.8419819Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8419823Z 2026-10-24T18:50:23.8420252Z 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-24T18:50:23.8420254Z 2026-10-24T18:50:23.8420305Z 1957 await Effect.runPromise( 2026-10-24T18:50:23.8420351Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8420355Z 2026-10-24T18:50:23.8420787Z 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-24T18:50:23.8420790Z 2026-10-24T18:50:23.8420858Z 1969 const snapshot = await Effect.runPromise( 2026-10-24T18:50:23.8420910Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8420912Z 2026-10-24T18:50:23.8421344Z 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-24T18:50:23.8421346Z 2026-10-24T18:50:23.8421397Z 2215 await Effect.runPromise( 2026-10-24T18:50:23.8421487Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8421489Z 2026-10-24T18:50:23.8421761Z 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-24T18:50:23.8421763Z 2026-10-24T18:50:23.8421834Z 179 const receive = (chunk: Uint8Array | string) => { 2026-10-24T18:50:23.8421879Z ~~~~~~~ 2026-10-24T18:50:23.8421881Z 2026-10-24T18:50:23.8422173Z 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-24T18:50:23.8422175Z 2026-10-24T18:50:23.8422269Z 209 Effect.catch(() => Effect.succeed(HttpServerResponse.empty())), 2026-10-24T18:50:23.8422311Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8422314Z 2026-10-24T18:50:23.8422632Z 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-24T18:50:23.8422635Z 2026-10-24T18:50:23.8422723Z 860 resolveAvailableEditors: () => cachedAvailableEditors, 2026-10-24T18:50:23.8422769Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8422772Z 2026-10-24T18:50:23.8423087Z 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-24T18:50:23.8423090Z 2026-10-24T18:50:23.8423149Z 861 resolveFileManagerRevealKind: () => 2026-10-24T18:50:23.8423193Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8423195Z 2026-10-24T18:50:23.8423495Z 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-24T18:50:23.8423500Z 2026-10-24T18:50:23.8423550Z 865 launchBrowser: (target) => 2026-10-24T18:50:23.8423636Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8423638Z 2026-10-24T18:50:23.8423932Z 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-24T18:50:23.8423937Z 2026-10-24T18:50:23.8423987Z 869 launchEditor: (input) => 2026-10-24T18:50:23.8424031Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8424033Z 2026-10-24T18:50:23.8424274Z src/project/AgentSessionImporter.test.ts:212:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8424276Z 2026-10-24T18:50:23.8424326Z 212 Effect.succeed( 2026-10-24T18:50:23.8424371Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8424373Z 2026-10-24T18:50:23.8458189Z src/project/ManagedProjectFolders.ts:346:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8458200Z 2026-10-24T18:50:23.8458344Z 346 ? Effect.succeed(Option.some(folderFor(id.slice(-8)))) 2026-10-24T18:50:23.8458411Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8458414Z 2026-10-24T18:50:23.8458786Z src/project/ManagedProjectFolders.ts:348:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8458789Z 2026-10-24T18:50:23.8458890Z 348 ? Effect.succeed(Option.some(fullFolder)) 2026-10-24T18:50:23.8458957Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8458960Z 2026-10-24T18:50:23.8459454Z 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-24T18:50:23.8459616Z 2026-10-24T18:50:23.8459737Z 432 start: (input, hooks) => locked(start(input, hooks)), 2026-10-24T18:50:23.8459787Z ~~~~~ 2026-10-24T18:50:23.8459790Z 2026-10-24T18:50:23.8460094Z 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-24T18:50:23.8460096Z 2026-10-24T18:50:23.8460163Z 433 cancel: (projectId) => locked(cancel(projectId)), 2026-10-24T18:50:23.8460201Z ~~~~~~ 2026-10-24T18:50:23.8460203Z 2026-10-24T18:50:23.8460496Z 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-24T18:50:23.8460500Z 2026-10-24T18:50:23.8460563Z 434 retry: (projectId) => locked(retry(projectId)), 2026-10-24T18:50:23.8460600Z ~~~~~ 2026-10-24T18:50:23.8460602Z 2026-10-24T18:50:23.8460900Z 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-24T18:50:23.8460902Z 2026-10-24T18:50:23.8460973Z 435 discard: (projectId) => locked(discard(projectId)), 2026-10-24T18:50:23.8461010Z ~~~~~~~ 2026-10-24T18:50:23.8461013Z 2026-10-24T18:50:23.8461324Z 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-24T18:50:23.8461327Z 2026-10-24T18:50:23.8461420Z 21 get: (key) => Effect.sync(() => Option.fromUndefinedOr(bytes.get(key))), 2026-10-24T18:50:23.8461460Z ~~~ 2026-10-24T18:50:23.8461462Z 2026-10-24T18:50:23.8461841Z 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-24T18:50:23.8461844Z 2026-10-24T18:50:23.8461892Z 22 set: (key, value) => 2026-10-24T18:50:23.8461927Z ~~~ 2026-10-24T18:50:23.8461929Z 2026-10-24T18:50:23.8462246Z 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-24T18:50:23.8462248Z 2026-10-24T18:50:23.8462292Z 26 remove: (key) => 2026-10-24T18:50:23.8462332Z ~~~~~~ 2026-10-24T18:50:23.8462334Z 2026-10-24T18:50:23.8462645Z 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-24T18:50:23.8462650Z 2026-10-24T18:50:23.8462744Z 30 create: () => Effect.die("Handoff does not create persistent secrets."), 2026-10-24T18:50:23.8462782Z ~~~~~~ 2026-10-24T18:50:23.8462784Z 2026-10-24T18:50:23.8463120Z 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-24T18:50:23.8463122Z 2026-10-24T18:50:23.8463245Z 31 getOrCreateRandom: () => Effect.die("Handoff uses the destination environment identity."), 2026-10-24T18:50:23.8463288Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8463290Z 2026-10-24T18:50:23.8463694Z 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-24T18:50:23.8463734Z 2026-10-24T18:50:23.8463840Z 205 return yield* Schema.decodeUnknownEffect(Schema.fromJsonString(schema))( 2026-10-24T18:50:23.8463892Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8463894Z 2026-10-24T18:50:23.8464151Z 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-24T18:50:23.8464153Z 2026-10-24T18:50:23.8464202Z 569 ? Effect.succeed(undefined) 2026-10-24T18:50:23.8464246Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8464248Z 2026-10-24T18:50:23.8464551Z 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-24T18:50:23.8464555Z 2026-10-24T18:50:23.8464603Z 284 current: (driverKind) => 2026-10-24T18:50:23.8464643Z ~~~~~~~ 2026-10-24T18:50:23.8464645Z 2026-10-24T18:50:23.8464989Z 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-24T18:50:23.8464993Z 2026-10-24T18:50:23.8465046Z 284 return yield* Effect.fail( 2026-10-24T18:50:23.8465089Z ~~~~~ 2026-10-24T18:50:23.8465091Z 2026-10-24T18:50:23.8465399Z 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-24T18:50:23.8465401Z 2026-10-24T18:50:23.8465454Z 211 importProfile: (input) => 2026-10-24T18:50:23.8465493Z ~~~~~~~~~~~~~ 2026-10-24T18:50:23.8465495Z 2026-10-24T18:50:23.8465865Z 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-24T18:50:23.8465867Z 2026-10-24T18:50:23.8465926Z 39 credentials: (namespace, bindingId) => 2026-10-24T18:50:23.8465966Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8465968Z 2026-10-24T18:50:23.8466322Z 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-24T18:50:23.8466324Z 2026-10-24T18:50:23.8466372Z 2984 Effect.catchCause((cause) => 2026-10-24T18:50:23.8466416Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8466420Z 2026-10-24T18:50:23.8466823Z 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-24T18:50:23.8466825Z 2026-10-24T18:50:23.8466874Z 3387 Effect.catchCause((cause) => 2026-10-24T18:50:23.8466913Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8466916Z 2026-10-24T18:50:23.8467219Z 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-24T18:50:23.8467222Z 2026-10-24T18:50:23.8467269Z 3607 listStats: (input) => 2026-10-24T18:50:23.8467309Z ~~~~~~~~~ 2026-10-24T18:50:23.8467311Z 2026-10-24T18:50:23.8467538Z src/relay/AgentAwarenessRelay.test.ts:271:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T18:50:23.8467581Z 2026-10-24T18:50:23.8467625Z 271 Effect.succeed( 2026-10-24T18:50:23.8467669Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8467672Z 2026-10-24T18:50:23.8467970Z 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-24T18:50:23.8467973Z 2026-10-24T18:50:23.8468088Z 822 requestCatchUp: () => Queue.offer(catchUpRequests, undefined).pipe(Effect.asVoid), 2026-10-24T18:50:23.8468128Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8468130Z 2026-10-24T18:50:23.8468492Z 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-24T18:50:23.8468497Z 2026-10-24T18:50:23.8468554Z 641 requestDesktopUpdate: (requestId) => 2026-10-24T18:50:23.8468595Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8468597Z 2026-10-24T18:50:23.8468955Z 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-24T18:50:23.8468957Z 2026-10-24T18:50:23.8469012Z 647 commitDesktopUpdate: (requestId) => 2026-10-24T18:50:23.8469052Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8469054Z 2026-10-24T18:50:23.8469407Z 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-24T18:50:23.8469410Z 2026-10-24T18:50:23.8469463Z 649 cancelDesktopUpdate: (requestId) => 2026-10-24T18:50:23.8469505Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8469507Z 2026-10-24T18:50:23.8469886Z 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-24T18:50:23.8469889Z 2026-10-24T18:50:23.8469949Z 698 setDiagnosticsDemand: () => Effect.void, 2026-10-24T18:50:23.8469994Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8469996Z 2026-10-24T18:50:23.8470343Z 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-24T18:50:23.8470345Z 2026-10-24T18:50:23.8470405Z 699 requestDesktopUpdate: () => Effect.void, 2026-10-24T18:50:23.8470446Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8470450Z 2026-10-24T18:50:23.8470793Z 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-24T18:50:23.8470795Z 2026-10-24T18:50:23.8470854Z 700 commitDesktopUpdate: () => Effect.void, 2026-10-24T18:50:23.8470896Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8470898Z 2026-10-24T18:50:23.8471240Z 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-24T18:50:23.8471242Z 2026-10-24T18:50:23.8471300Z 701 cancelDesktopUpdate: () => Effect.void, 2026-10-24T18:50:23.8471341Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8471343Z 2026-10-24T18:50:23.8471709Z 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-24T18:50:23.8471711Z 2026-10-24T18:50:23.8471754Z 1091 readHistory: () => 2026-10-24T18:50:23.8471794Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8471796Z 2026-10-24T18:50:23.8472126Z 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-24T18:50:23.8472128Z 2026-10-24T18:50:23.8472187Z 1097 setExternalProcesses: () => Effect.void, 2026-10-24T18:50:23.8472230Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8472232Z 2026-10-24T18:50:23.8472563Z 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-24T18:50:23.8472567Z 2026-10-24T18:50:23.8472626Z 1098 setHostPowerState: () => Effect.void, 2026-10-24T18:50:23.8472668Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8472670Z 2026-10-24T18:50:23.8472949Z 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-24T18:50:23.8472951Z 2026-10-24T18:50:23.8473017Z 1136 ? Effect.succeed(undefined) 2026-10-24T18:50:23.8473072Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8473074Z 2026-10-24T18:50:23.8473340Z 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-24T18:50:23.8473344Z 2026-10-24T18:50:23.8473398Z 166 const results = yield* Effect.all( 2026-10-24T18:50:23.8473444Z ~~~~~~~~~~ 2026-10-24T18:50:23.8473446Z 2026-10-24T18:50:23.8473826Z 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-24T18:50:23.8473829Z 2026-10-24T18:50:23.8473880Z 481 return Effect.gen(function* () { 2026-10-24T18:50:23.8473919Z ~~~~~~ 2026-10-24T18:50:23.8473921Z 2026-10-24T18:50:23.8474180Z 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-24T18:50:23.8474183Z 2026-10-24T18:50:23.8474246Z 209 prepareTrial: Effect.succeed(undefined), 2026-10-24T18:50:23.8474301Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8474304Z 2026-10-24T18:50:23.8474562Z 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-24T18:50:23.8474564Z 2026-10-24T18:50:23.8474617Z 413 const results = yield* Effect.all( 2026-10-24T18:50:23.8474659Z ~~~~~~~~~~ 2026-10-24T18:50:23.8474662Z 2026-10-24T18:50:23.8475057Z 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-24T18:50:23.8475059Z 2026-10-24T18:50:23.8475112Z 204 listChangeRequests: (input) => 2026-10-24T18:50:23.8475154Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8475156Z 2026-10-24T18:50:23.8475586Z 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-24T18:50:23.8475589Z 2026-10-24T18:50:23.8475638Z 209 getChangeRequest: (input) => 2026-10-24T18:50:23.8475679Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8475681Z 2026-10-24T18:50:23.8476069Z 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-24T18:50:23.8476071Z 2026-10-24T18:50:23.8476122Z 214 createChangeRequest: (input) => 2026-10-24T18:50:23.8476163Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8476165Z 2026-10-24T18:50:23.8476580Z 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-24T18:50:23.8476588Z 2026-10-24T18:50:23.8476642Z 219 getRepositoryCloneUrls: (input) => 2026-10-24T18:50:23.8476684Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8476686Z 2026-10-24T18:50:23.8477065Z 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-24T18:50:23.8477068Z 2026-10-24T18:50:23.8477159Z 224 createRepository: (input) => provider.createRepository(input), 2026-10-24T18:50:23.8477199Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8477201Z 2026-10-24T18:50:23.8477579Z 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-24T18:50:23.8477618Z 2026-10-24T18:50:23.8477667Z 225 getDefaultBranch: (input) => 2026-10-24T18:50:23.8477706Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8477709Z 2026-10-24T18:50:23.8478102Z 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-24T18:50:23.8478104Z 2026-10-24T18:50:23.8478157Z 230 checkoutChangeRequest: (input) => 2026-10-24T18:50:23.8478198Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8478201Z 2026-10-24T18:50:23.8478546Z 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-24T18:50:23.8478550Z 2026-10-24T18:50:23.8478677Z 345 resolve: (input) => resolveHandle(input).pipe(Effect.map((handle) => handle.provider)), 2026-10-24T18:50:23.8478716Z ~~~~~~~ 2026-10-24T18:50:23.8478718Z 2026-10-24T18:50:23.8479066Z 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-24T18:50:23.8479070Z 2026-10-24T18:50:23.8479117Z 406 Effect.catch((sshError) => 2026-10-24T18:50:23.8479156Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8479158Z 2026-10-24T18:50:23.8479524Z 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-24T18:50:23.8479566Z 2026-10-24T18:50:23.8479616Z 553 lookupRepository: (input) => 2026-10-24T18:50:23.8479656Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8479660Z 2026-10-24T18:50:23.8480016Z 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-24T18:50:23.8480018Z 2026-10-24T18:50:23.8480068Z 555 prepareClone: (input) => 2026-10-24T18:50:23.8480107Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8480110Z 2026-10-24T18:50:23.8480481Z 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-24T18:50:23.8480483Z 2026-10-24T18:50:23.8480540Z 562 cloneRepository: (input, options) => 2026-10-24T18:50:23.8480580Z ~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8480583Z 2026-10-24T18:50:23.8480955Z 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-24T18:50:23.8480957Z 2026-10-24T18:50:23.8481011Z 569 discardClone: (destinationPath) => 2026-10-24T18:50:23.8481050Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8481052Z 2026-10-24T18:50:23.8481416Z 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-24T18:50:23.8481418Z 2026-10-24T18:50:23.8481470Z 573 publishRepository: (input) => 2026-10-24T18:50:23.8481514Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8481516Z 2026-10-24T18:50:23.8481868Z 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-24T18:50:23.8481871Z 2026-10-24T18:50:23.8481918Z 708 return yield* Effect.fail( 2026-10-24T18:50:23.8481956Z ~~~~~ 2026-10-24T18:50:23.8481958Z 2026-10-24T18:50:23.8482236Z 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-24T18:50:23.8482238Z 2026-10-24T18:50:23.8482284Z 113 record: () => Effect.void, 2026-10-24T18:50:23.8482323Z ~~~~~~ 2026-10-24T18:50:23.8482325Z 2026-10-24T18:50:23.8482613Z 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-24T18:50:23.8482618Z 2026-10-24T18:50:23.8482669Z 115 recordOwners: () => Effect.void, 2026-10-24T18:50:23.8482709Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8482711Z 2026-10-24T18:50:23.8483006Z 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-24T18:50:23.8483008Z 2026-10-24T18:50:23.8483148Z 329 yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.flatMap(() => flushWhenDue)), { 2026-10-24T18:50:23.8483212Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8483215Z 2026-10-24T18:50:23.8483485Z 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-24T18:50:23.8483526Z 2026-10-24T18:50:23.8483584Z 90 .pipe(Effect.catch(() => Effect.void)); 2026-10-24T18:50:23.8483628Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8483630Z 2026-10-24T18:50:23.8483943Z 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-24T18:50:23.8483945Z 2026-10-24T18:50:23.8483997Z 60 generateCommitMessage: (input) => 2026-10-24T18:50:23.8484040Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8484042Z 2026-10-24T18:50:23.8484348Z 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-24T18:50:23.8484351Z 2026-10-24T18:50:23.8484402Z 64 generatePrContent: (input) => 2026-10-24T18:50:23.8484446Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8484448Z 2026-10-24T18:50:23.8484753Z 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-24T18:50:23.8484755Z 2026-10-24T18:50:23.8484806Z 68 generateBranchName: (input) => 2026-10-24T18:50:23.8484848Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8484850Z 2026-10-24T18:50:23.8485153Z 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-24T18:50:23.8485156Z 2026-10-24T18:50:23.8485208Z 72 generateReviewGuide: (input) => 2026-10-24T18:50:23.8485249Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8485252Z 2026-10-24T18:50:23.8485597Z 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-24T18:50:23.8485599Z 2026-10-24T18:50:23.8485651Z 76 generateThreadTitle: (input) => 2026-10-24T18:50:23.8485693Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8485695Z 2026-10-24T18:50:23.8485969Z 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-24T18:50:23.8485971Z 2026-10-24T18:50:23.8486019Z 172 readSummary: (input) => 2026-10-24T18:50:23.8486059Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8486061Z 2026-10-24T18:50:23.8486300Z 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-24T18:50:23.8486304Z 2026-10-24T18:50:23.8486357Z 642 usageInstances(driver, settings) 2026-10-24T18:50:23.8486403Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8486446Z 643 .pipe( 2026-10-24T18:50:23.8486485Z ~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8486533Z ... 2026-10-24T18:50:23.8486619Z 664 Effect.provideContext(readerContext), 2026-10-24T18:50:23.8486674Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8486713Z 665 ), 2026-10-24T18:50:23.8486751Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8486753Z 2026-10-24T18:50:23.8487082Z 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-24T18:50:23.8487085Z 2026-10-24T18:50:23.8487134Z 4020 Effect.flatMap((result) => 2026-10-24T18:50:23.8487176Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8487239Z 2026-10-24T18:50:23.8487656Z 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-24T18:50:23.8487659Z 2026-10-24T18:50:23.8487719Z 4511 commit: (cwd, subject, body, options) => 2026-10-24T18:50:23.8487756Z ~~~~~~ 2026-10-24T18:50:23.8487758Z 2026-10-24T18:50:23.8488104Z 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-24T18:50:23.8488107Z 2026-10-24T18:50:23.8488186Z 4513 pushCurrentBranch: (cwd, fallbackBranch, options) => 2026-10-24T18:50:23.8488229Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8488231Z 2026-10-24T18:50:23.8488540Z 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-24T18:50:23.8488546Z 2026-10-24T18:50:23.8488666Z 4515 pullCurrentBranch: (cwd) => withListRefsInvalidation(cwd, pullCurrentBranch(cwd)), 2026-10-24T18:50:23.8488707Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8488710Z 2026-10-24T18:50:23.8489029Z 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-24T18:50:23.8489031Z 2026-10-24T18:50:23.8489085Z 4523 createWorktree: (input, options) => 2026-10-24T18:50:23.8489124Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8489128Z 2026-10-24T18:50:23.8489439Z 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-24T18:50:23.8489443Z 2026-10-24T18:50:23.8489634Z 4525 fetchRefIntoBranch: (input) => withListRefsInvalidation(input.cwd, fetchRefIntoBranch(input)), 2026-10-24T18:50:23.8489676Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8489678Z 2026-10-24T18:50:23.8490002Z 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-24T18:50:23.8490004Z 2026-10-24T18:50:23.8490059Z 4528 refreshCheckedOutBranch: (input) => 2026-10-24T18:50:23.8490101Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8490103Z 2026-10-24T18:50:23.8490405Z 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-24T18:50:23.8490409Z 2026-10-24T18:50:23.8490526Z 4530 ensureRemote: (input) => withListRefsInvalidation(input.cwd, ensureRemote(input)), 2026-10-24T18:50:23.8490569Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8490571Z 2026-10-24T18:50:23.8490873Z 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-24T18:50:23.8490877Z 2026-10-24T18:50:23.8490924Z 4533 fetchRemote: (input) => 2026-10-24T18:50:23.8490964Z ~~~~~~~~~~~ 2026-10-24T18:50:23.8490966Z 2026-10-24T18:50:23.8491290Z 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-24T18:50:23.8491292Z 2026-10-24T18:50:23.8491397Z 4548 fetchWorktreeBaseCommit: (input) => 2026-10-24T18:50:23.8491438Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8491440Z 2026-10-24T18:50:23.8491753Z 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-24T18:50:23.8491755Z 2026-10-24T18:50:23.8491889Z 4550 fetchRemoteBranch: (input) => withListRefsInvalidation(input.cwd, fetchRemoteBranch(input)), 2026-10-24T18:50:23.8491931Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8491933Z 2026-10-24T18:50:23.8492262Z 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-24T18:50:23.8492265Z 2026-10-24T18:50:23.8492323Z 4551 fetchRemoteTrackingBranch: (input) => 2026-10-24T18:50:23.8492370Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8492372Z 2026-10-24T18:50:23.8492685Z 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-24T18:50:23.8492687Z 2026-10-24T18:50:23.8492820Z 4553 setBranchUpstream: (input) => withListRefsInvalidation(input.cwd, setBranchUpstream(input)), 2026-10-24T18:50:23.8492860Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8492863Z 2026-10-24T18:50:23.8493171Z 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-24T18:50:23.8493174Z 2026-10-24T18:50:23.8493296Z 4554 removeWorktree: (input) => withListRefsInvalidation(input.cwd, removeWorktree(input)), 2026-10-24T18:50:23.8493338Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8493341Z 2026-10-24T18:50:23.8493689Z 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-24T18:50:23.8493692Z 2026-10-24T18:50:23.8493815Z 4555 pruneWorktrees: (input) => withListRefsInvalidation(input.cwd, pruneWorktrees(input)), 2026-10-24T18:50:23.8493854Z ~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8493856Z 2026-10-24T18:50:23.8494170Z 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-24T18:50:23.8494172Z 2026-10-24T18:50:23.8494304Z 4556 deleteLocalBranch: (input) => withListRefsInvalidation(input.cwd, deleteLocalBranch(input)), 2026-10-24T18:50:23.8494345Z ~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8494349Z 2026-10-24T18:50:23.8494665Z 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-24T18:50:23.8494668Z 2026-10-24T18:50:23.8494783Z 4557 renameBranch: (input) => withListRefsInvalidation(input.cwd, renameBranch(input)), 2026-10-24T18:50:23.8494823Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8494825Z 2026-10-24T18:50:23.8495129Z 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-24T18:50:23.8495132Z 2026-10-24T18:50:23.8495238Z 4558 createRef: (input) => withListRefsInvalidation(input.cwd, createRef(input)), 2026-10-24T18:50:23.8495278Z ~~~~~~~~~ 2026-10-24T18:50:23.8495280Z 2026-10-24T18:50:23.8495619Z 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-24T18:50:23.8495623Z 2026-10-24T18:50:23.8495724Z 4559 switchRef: (input) => withListRefsInvalidation(input.cwd, switchRef(input)), 2026-10-24T18:50:23.8495763Z ~~~~~~~~~ 2026-10-24T18:50:23.8495765Z 2026-10-24T18:50:23.8496140Z 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-24T18:50:23.8496143Z 2026-10-24T18:50:23.8496209Z 153 return serverSettings.getSettings.pipe( 2026-10-24T18:50:23.8496247Z ~~~~~~ 2026-10-24T18:50:23.8496249Z 2026-10-24T18:50:23.8496582Z 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-24T18:50:23.8496586Z 2026-10-24T18:50:23.8496676Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-24T18:50:23.8496720Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8496722Z 2026-10-24T18:50:23.8496989Z 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-24T18:50:23.8496991Z 2026-10-24T18:50:23.8497066Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-24T18:50:23.8497124Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8497126Z 2026-10-24T18:50:23.8497355Z 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-24T18:50:23.8497359Z 2026-10-24T18:50:23.8497455Z 401 resolveFileManagerRevealKind: () => Effect.succeed(undefined), 2026-10-24T18:50:23.8497552Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T18:50:23.8497555Z 2026-10-24T18:50:23.8497824Z 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-24T18:50:23.8497826Z 2026-10-24T18:50:23.8497887Z 1385 return yield* Option.match(project, { 2026-10-24T18:50:23.8497931Z ~~~~~~~~~~~~ 2026-10-24T18:50:23.8497934Z 2026-10-24T18:50:23.8498227Z 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-24T18:50:23.8498229Z 2026-10-24T18:50:23.8498285Z 2320 return yield* Effect.fail( 2026-10-24T18:50:23.8498329Z ~~~~~ 2026-10-24T18:50:23.8498331Z 2026-10-24T18:50:23.8498622Z 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-24T18:50:23.8498624Z 2026-10-24T18:50:23.8498678Z 2329 return yield* Effect.fail( 2026-10-24T18:50:23.8498722Z ~~~~~ 2026-10-24T18:50:23.8498724Z 2026-10-24T18:50:23.8499009Z 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-24T18:50:23.8499011Z 2026-10-24T18:50:23.8499063Z 2337 return yield* Effect.fail( 2026-10-24T18:50:23.8499105Z ~~~~~ 2026-10-24T18:50:23.8499147Z 2026-10-24T18:50:23.8499149Z 2026-10-24T18:50:23.8499187Z --- 2026-10-24T18:50:23.8499455Z 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-24T18:50:23.8922363Z Post job cleanup. 2026-10-24T18:50:23.9526193Z Cache hit occurred on the primary key electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309, not saving cache. 2026-10-24T18:50:23.9589632Z Post job cleanup. 2026-10-24T18:50:23.9602561Z ##[start-action display=Cache full pnpm store;id=__88be52ad-6254-479a-9bea-5f33b9150066.__actions_cache] 2026-10-24T18:50:24.0342706Z Post job cleanup. 2026-10-24T18:50:24.0940959Z Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-fa50cf9b003d547cd32552f61b874eb4abe5dace3fdb4b1abd9610da2da24074, not saving cache. 2026-10-24T18:50:24.0968509Z ##[end-action id=__88be52ad-6254-479a-9bea-5f33b9150066.__actions_cache;outcome=success;conclusion=success;duration_ms=136] 2026-10-24T18:50:24.0970166Z ##[start-action display=Cache Vite+;id=__88be52ad-6254-479a-9bea-5f33b9150066.vp_cache] 2026-10-24T18:50:24.0991375Z Post job cleanup. 2026-10-24T18:50:24.1549362Z 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-24T18:50:24.1578224Z ##[end-action id=__88be52ad-6254-479a-9bea-5f33b9150066.vp_cache;outcome=success;conclusion=success;duration_ms=60] 2026-10-24T18:50:24.1622594Z Post job cleanup. 2026-10-24T18:50:24.2021926Z [command]/usr/local/bin/git version 2026-10-24T18:50:24.2049289Z git version 2.55.0 2026-10-24T18:50:24.2065801Z Temporarily overriding HOME='/home/runner/_work/_temp/e827eafa-ee51-4f77-a41d-323eda7cd60c' before making global git config changes 2026-10-24T18:50:24.2066153Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T18:50:24.2068716Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-24T18:50:24.2090022Z Removing SSH command configuration 2026-10-24T18:50:24.2092998Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T18:50:24.2113553Z [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-24T18:50:24.2222548Z fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules 2026-10-24T18:50:24.2243227Z ##[warning]The process '/usr/local/bin/git' failed with exit code 128 2026-10-24T18:50:24.2276853Z A job completed hook has been configured by the self-hosted runner administrator 2026-10-24T18:50:24.2292109Z ##[group]Run '/job_completed.sh' 2026-10-24T18:50:24.2298701Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T18:50:24.2298869Z env: 2026-10-24T18:50:24.2298980Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 195 2026-10-24T18:50:24.2299135Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-24T18:50:24.2299272Z BLACKSMITH_CHECK_RUN_ID: 120956850391 2026-10-24T18:50:24.2299494Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-24T18:50:24.2299647Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-24T18:50:24.2299777Z ##[endgroup] 2026-10-24T18:50:24.2371161Z Docker container cache not activated, skipping hash computation. 2026-10-24T18:50:24.2614425Z No active SSH sessions detected. Proceeding with shutdown immediately. 2026-10-24T18:50:24.2656061Z Cleaning up orphan processes