2026-10-22T20:13:57.3920761Z Current runner version: '2.337.0' 2026-10-22T20:13:57.3925241Z Runner name: 'blacksmith-8vcpu-ubuntu-2404-thgqwlimqafmqlkt' 2026-10-22T20:13:57.3926137Z Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404' 2026-10-22T20:13:57.3927057Z Machine name: 'ip-172-31-73-130' 2026-10-22T20:13:57.3928865Z ##[group]GITHUB_TOKEN Permissions 2026-10-22T20:13:57.3930443Z Contents: read 2026-10-22T20:13:57.3930971Z Metadata: read 2026-10-22T20:13:57.3931414Z ##[endgroup] 2026-10-22T20:13:57.3933293Z Secret source: Actions 2026-10-22T20:13:57.3933998Z Cache mode: write 2026-10-22T20:13:57.3934608Z Prepare workflow directory 2026-10-22T20:13:57.4208855Z Prepare all required actions 2026-10-22T20:13:57.4246532Z Getting action download info 2026-10-22T20:13:57.6045485Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-22T20:13:57.6592008Z Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) 2026-10-22T20:13:57.8057389Z Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/ 2026-10-22T20:13:57.8128958Z Complete job name: Build and Typecheck 2026-10-22T20:13:57.8694531Z A job started hook has been configured by the self-hosted runner administrator 2026-10-22T20:13:57.8886923Z ##[group]Run '/setup.sh' 2026-10-22T20:13:57.8924093Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:13:57.8924825Z env: 2026-10-22T20:13:57.8925190Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:13:57.8925658Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:13:57.8926116Z BLACKSMITH_CHECK_RUN_ID: 120062844446 2026-10-22T20:13:57.8926600Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-22T20:13:57.8927092Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-22T20:13:57.8927511Z ##[endgroup] 2026-10-22T20:13:57.9425954Z Logging daemon started (blacksmithd for logs) 2026-10-22T20:13:57.9571511Z Results daemon started (blacksmithd for results) 2026-10-22T20:13:57.9824453Z Background adoption and SSH setup started (PID: 3157) 2026-10-22T20:13:57.9825701Z 2026-10-22T20:13:57.9826154Z ---------------------------------------- 2026-10-22T20:13:57.9827352Z View this job: https://app.blacksmith.sh/pingdotgg/runs/39846979790/jobs/120062844446 2026-10-22T20:13:57.9828133Z SSH Access (using your GitHub SSH key): 2026-10-22T20:13:57.9828885Z ssh -p 64005 runner@blacksmith-8vcpu-ubuntu-2404-thgqwlimqafmqlkt.vm.blacksmith.sh 2026-10-22T20:13:57.9829448Z 2026-10-22T20:13:57.9829640Z No GitHub SSH key? Add one at: 2026-10-22T20:13:57.9830577Z https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 2026-10-22T20:13:57.9831347Z 2026-10-22T20:13:57.9831530Z ---------------------------------------- 2026-10-22T20:13:57.9831850Z 2026-10-22T20:13:57.9832243Z VM ID: blacksmith-8vcpu-ubuntu-2404-thgqwlimqafmqlkt 2026-10-22T20:13:57.9832852Z Host: production-152.236.46.126-x8664 2026-10-22T20:13:57.9833355Z Host Agent PID: 2270780 2026-10-22T20:13:57.9833850Z Host Agent Git SHA: 266f03d96 2026-10-22T20:13:57.9834348Z Host CPU Manufacturer: AuthenticAMD 2026-10-22T20:13:57.9835011Z Blacksmith Host Generation: gen 2 2026-10-22T20:13:57.9835516Z Petname: production-ethical-warthog-a1817fc9 2026-10-22T20:13:57.9836086Z Region: us-east 2026-10-22T20:13:57.9836498Z Rootfs Version: ubuntu24-full-x64-081926 2026-10-22T20:13:57.9847556Z OS Version: Ubuntu 24.04.4 LTS 2026-10-22T20:13:57.9848435Z 2026-10-22T20:13:57.9848629Z Enabling Blacksmith transparent cache 2026-10-22T20:13:58.0357836Z ##[group]Run actions/checkout@v6 2026-10-22T20:13:58.0358218Z with: 2026-10-22T20:13:58.0358783Z sparse-checkout: /* !/.repos/ !/apps/mobile/modules/t3-terminal/Vendor/**/*.a 2026-10-22T20:13:58.0359224Z sparse-checkout-cone-mode: false 2026-10-22T20:13:58.0359534Z repository: pingdotgg/t3code 2026-10-22T20:13:58.0361674Z token: *** 2026-10-22T20:13:58.0361911Z ssh-strict: true 2026-10-22T20:13:58.0362222Z ssh-user: git 2026-10-22T20:13:58.0362787Z persist-credentials: true 2026-10-22T20:13:58.0363052Z clean: true 2026-10-22T20:13:58.0363306Z fetch-depth: 1 2026-10-22T20:13:58.0363542Z fetch-tags: false 2026-10-22T20:13:58.0363788Z show-progress: true 2026-10-22T20:13:58.0364031Z lfs: false 2026-10-22T20:13:58.0364265Z submodules: false 2026-10-22T20:13:58.0364517Z set-safe-directory: true 2026-10-22T20:13:58.0364799Z allow-unsafe-pr-checkout: false 2026-10-22T20:13:58.0365083Z env: 2026-10-22T20:13:58.0365360Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:13:58.0365680Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:13:58.0365999Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:13:58.0366291Z ##[endgroup] 2026-10-22T20:13:58.2041183Z Syncing repository: pingdotgg/t3code 2026-10-22T20:13:58.2043170Z ##[group]Getting Git version info 2026-10-22T20:13:58.2043769Z Working directory is '/home/runner/_work/t3code/t3code' 2026-10-22T20:13:58.2044657Z [command]/usr/local/bin/git version 2026-10-22T20:13:58.2133625Z git version 2.55.0 2026-10-22T20:13:58.2158194Z ##[endgroup] 2026-10-22T20:13:58.2170886Z Temporarily overriding HOME='/home/runner/_work/_temp/fa828b31-38ab-4a32-bf7f-aa86b7395d56' before making global git config changes 2026-10-22T20:13:58.2172193Z Adding repository directory to the temporary git global config as a safe directory 2026-10-22T20:13:58.2176434Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-22T20:13:58.2244892Z Deleting the contents of '/home/runner/_work/t3code/t3code' 2026-10-22T20:13:58.2248346Z ##[group]Determining repository object format 2026-10-22T20:13:58.2249998Z ##[endgroup] 2026-10-22T20:13:58.2250648Z ##[group]Initializing the repository 2026-10-22T20:13:58.2256224Z [command]/usr/local/bin/git init /home/runner/_work/t3code/t3code 2026-10-22T20:13:58.2322502Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-22T20:13:58.2323575Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-22T20:13:58.2324468Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-22T20:13:58.2325108Z hint: call: 2026-10-22T20:13:58.2325472Z hint: 2026-10-22T20:13:58.2325930Z hint: git config --global init.defaultBranch 2026-10-22T20:13:58.2326460Z hint: 2026-10-22T20:13:58.2326961Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-22T20:13:58.2328851Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-22T20:13:58.2329457Z hint: 2026-10-22T20:13:58.2329740Z hint: git branch -m 2026-10-22T20:13:58.2330022Z hint: 2026-10-22T20:13:58.2330414Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-22T20:13:58.2330946Z Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/ 2026-10-22T20:13:58.2335239Z [command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code 2026-10-22T20:13:58.2385770Z ##[endgroup] 2026-10-22T20:13:58.2386341Z ##[group]Disabling automatic garbage collection 2026-10-22T20:13:58.2390994Z [command]/usr/local/bin/git config --local gc.auto 0 2026-10-22T20:13:58.2423718Z ##[endgroup] 2026-10-22T20:13:58.2424107Z ##[group]Setting up auth 2026-10-22T20:13:58.2425623Z Removing SSH command configuration 2026-10-22T20:13:58.2432355Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-22T20:13:58.2475177Z [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-22T20:13:58.2852548Z Removing HTTP extra header 2026-10-22T20:13:58.2864088Z [command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-22T20:13:58.2945242Z [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-22T20:13:58.3145895Z Removing includeIf entries pointing to credentials config files 2026-10-22T20:13:58.3153423Z [command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-22T20:13:58.3198392Z [command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-22T20:13:58.3463324Z [command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-9edc5b64-b7da-4dda-92dc-78da2488eace.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-22T20:13:58.3479706Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-9edc5b64-b7da-4dda-92dc-78da2488eace.config 2026-10-22T20:13:58.3511781Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-9edc5b64-b7da-4dda-92dc-78da2488eace.config 2026-10-22T20:13:58.3551782Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-9edc5b64-b7da-4dda-92dc-78da2488eace.config 2026-10-22T20:13:58.3596536Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-9edc5b64-b7da-4dda-92dc-78da2488eace.config 2026-10-22T20:13:58.3641163Z ##[endgroup] 2026-10-22T20:13:58.3641772Z ##[group]Fetching the repository 2026-10-22T20:13:58.3648674Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +2522a27092d203b5414685d1820d8e8fcffab645:refs/remotes/pull/23364/merge 2026-10-22T20:13:58.8163545Z From https://github.com/pingdotgg/t3code 2026-10-22T20:13:58.8164750Z * [new ref] 2522a27092d203b5414685d1820d8e8fcffab645 -> pull/23364/merge 2026-10-22T20:13:58.8200721Z ##[endgroup] 2026-10-22T20:13:58.8201268Z ##[group]Determining the checkout info 2026-10-22T20:13:58.8202128Z ##[endgroup] 2026-10-22T20:13:58.8202594Z ##[group]Setting up sparse checkout 2026-10-22T20:13:58.8208430Z [command]/usr/local/bin/git config core.sparseCheckout true 2026-10-22T20:13:58.8263278Z [command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout 2026-10-22T20:13:58.8299558Z .git/info/sparse-checkout 2026-10-22T20:13:58.8309180Z ##[endgroup] 2026-10-22T20:13:58.8310070Z ##[group]Checking out the ref 2026-10-22T20:13:58.8315312Z [command]/usr/local/bin/git checkout --progress --force refs/remotes/pull/23364/merge 2026-10-22T20:14:07.3149676Z Updating files: 0% (1/6306) 2026-10-22T20:14:07.3188464Z Updating files: 1% (64/6306) 2026-10-22T20:14:07.3210788Z Updating files: 2% (127/6306) 2026-10-22T20:14:07.3245259Z Updating files: 3% (190/6306) 2026-10-22T20:14:07.3276018Z Updating files: 4% (253/6306) 2026-10-22T20:14:07.3320663Z Updating files: 5% (316/6306) 2026-10-22T20:14:07.3385914Z Updating files: 6% (379/6306) 2026-10-22T20:14:07.3434732Z Updating files: 7% (442/6306) 2026-10-22T20:14:07.3499760Z Updating files: 8% (505/6306) 2026-10-22T20:14:07.3528551Z Updating files: 9% (568/6306) 2026-10-22T20:14:07.3906535Z Updating files: 10% (631/6306) 2026-10-22T20:14:07.3922929Z Updating files: 11% (694/6306) 2026-10-22T20:14:07.3935040Z Updating files: 12% (757/6306) 2026-10-22T20:14:07.3955233Z Updating files: 13% (820/6306) 2026-10-22T20:14:07.3976038Z Updating files: 14% (883/6306) 2026-10-22T20:14:07.3997442Z Updating files: 15% (946/6306) 2026-10-22T20:14:07.4022090Z Updating files: 16% (1009/6306) 2026-10-22T20:14:07.4040638Z Updating files: 17% (1073/6306) 2026-10-22T20:14:07.4065362Z Updating files: 18% (1136/6306) 2026-10-22T20:14:07.4083372Z Updating files: 19% (1199/6306) 2026-10-22T20:14:07.4111844Z Updating files: 20% (1262/6306) 2026-10-22T20:14:07.4134392Z Updating files: 21% (1325/6306) 2026-10-22T20:14:07.4155702Z Updating files: 22% (1388/6306) 2026-10-22T20:14:07.4172801Z Updating files: 23% (1451/6306) 2026-10-22T20:14:07.4187921Z Updating files: 24% (1514/6306) 2026-10-22T20:14:07.4207178Z Updating files: 25% (1577/6306) 2026-10-22T20:14:07.4224138Z Updating files: 26% (1640/6306) 2026-10-22T20:14:07.4240508Z Updating files: 27% (1703/6306) 2026-10-22T20:14:07.4265429Z Updating files: 28% (1766/6306) 2026-10-22T20:14:07.4311085Z Updating files: 29% (1829/6306) 2026-10-22T20:14:07.4334278Z Updating files: 30% (1892/6306) 2026-10-22T20:14:07.4368002Z Updating files: 31% (1955/6306) 2026-10-22T20:14:07.4407487Z Updating files: 32% (2018/6306) 2026-10-22T20:14:07.4454490Z Updating files: 33% (2081/6306) 2026-10-22T20:14:07.4554193Z Updating files: 34% (2145/6306) 2026-10-22T20:14:07.4617266Z Updating files: 35% (2208/6306) 2026-10-22T20:14:07.4659730Z Updating files: 36% (2271/6306) 2026-10-22T20:14:07.4710075Z Updating files: 37% (2334/6306) 2026-10-22T20:14:07.4773571Z Updating files: 38% (2397/6306) 2026-10-22T20:14:07.4813160Z Updating files: 39% (2460/6306) 2026-10-22T20:14:07.4864121Z Updating files: 40% (2523/6306) 2026-10-22T20:14:07.4915324Z Updating files: 41% (2586/6306) 2026-10-22T20:14:07.4939685Z Updating files: 42% (2649/6306) 2026-10-22T20:14:07.4955486Z Updating files: 43% (2712/6306) 2026-10-22T20:14:07.4985332Z Updating files: 44% (2775/6306) 2026-10-22T20:14:07.5031203Z Updating files: 45% (2838/6306) 2026-10-22T20:14:07.5070074Z Updating files: 46% (2901/6306) 2026-10-22T20:14:07.5108722Z Updating files: 47% (2964/6306) 2026-10-22T20:14:07.5149294Z Updating files: 48% (3027/6306) 2026-10-22T20:14:07.5189271Z Updating files: 49% (3090/6306) 2026-10-22T20:14:07.5240173Z Updating files: 50% (3153/6306) 2026-10-22T20:14:07.5260891Z Updating files: 51% (3217/6306) 2026-10-22T20:14:07.5304001Z Updating files: 52% (3280/6306) 2026-10-22T20:14:07.5337506Z Updating files: 53% (3343/6306) 2026-10-22T20:14:07.5365349Z Updating files: 54% (3406/6306) 2026-10-22T20:14:07.5394600Z Updating files: 55% (3469/6306) 2026-10-22T20:14:07.5417233Z Updating files: 56% (3532/6306) 2026-10-22T20:14:07.5441554Z Updating files: 57% (3595/6306) 2026-10-22T20:14:07.5467238Z Updating files: 58% (3658/6306) 2026-10-22T20:14:07.5932406Z Updating files: 59% (3721/6306) 2026-10-22T20:14:07.5950737Z Updating files: 60% (3784/6306) 2026-10-22T20:14:07.5971051Z Updating files: 61% (3847/6306) 2026-10-22T20:14:07.5996686Z Updating files: 62% (3910/6306) 2026-10-22T20:14:07.6022037Z Updating files: 63% (3973/6306) 2026-10-22T20:14:07.6055586Z Updating files: 64% (4036/6306) 2026-10-22T20:14:07.6083164Z Updating files: 65% (4099/6306) 2026-10-22T20:14:07.6105333Z Updating files: 66% (4162/6306) 2026-10-22T20:14:07.6135889Z Updating files: 67% (4226/6306) 2026-10-22T20:14:07.6155555Z Updating files: 68% (4289/6306) 2026-10-22T20:14:07.6177958Z Updating files: 69% (4352/6306) 2026-10-22T20:14:07.6217672Z Updating files: 70% (4415/6306) 2026-10-22T20:14:07.6219145Z Updating files: 71% (4478/6306) 2026-10-22T20:14:07.6241319Z Updating files: 72% (4541/6306) 2026-10-22T20:14:07.6286800Z Updating files: 73% (4604/6306) 2026-10-22T20:14:07.6642326Z Updating files: 74% (4667/6306) 2026-10-22T20:14:07.6818044Z Updating files: 75% (4730/6306) 2026-10-22T20:14:07.6841785Z Updating files: 76% (4793/6306) 2026-10-22T20:14:07.6864159Z Updating files: 77% (4856/6306) 2026-10-22T20:14:07.6895581Z Updating files: 78% (4919/6306) 2026-10-22T20:14:07.6917611Z Updating files: 79% (4982/6306) 2026-10-22T20:14:07.6944811Z Updating files: 80% (5045/6306) 2026-10-22T20:14:07.6964504Z Updating files: 81% (5108/6306) 2026-10-22T20:14:07.6988970Z Updating files: 82% (5171/6306) 2026-10-22T20:14:07.7012007Z Updating files: 83% (5234/6306) 2026-10-22T20:14:07.7037236Z Updating files: 84% (5298/6306) 2026-10-22T20:14:07.7060098Z Updating files: 85% (5361/6306) 2026-10-22T20:14:07.7093684Z Updating files: 86% (5424/6306) 2026-10-22T20:14:07.7184631Z Updating files: 87% (5487/6306) 2026-10-22T20:14:07.7222231Z Updating files: 88% (5550/6306) 2026-10-22T20:14:07.7247186Z Updating files: 89% (5613/6306) 2026-10-22T20:14:07.7281588Z Updating files: 90% (5676/6306) 2026-10-22T20:14:07.7322044Z Updating files: 91% (5739/6306) 2026-10-22T20:14:07.7340451Z Updating files: 92% (5802/6306) 2026-10-22T20:14:07.7363463Z Updating files: 93% (5865/6306) 2026-10-22T20:14:07.7392064Z Updating files: 94% (5928/6306) 2026-10-22T20:14:07.7420645Z Updating files: 95% (5991/6306) 2026-10-22T20:14:07.7488159Z Updating files: 96% (6054/6306) 2026-10-22T20:14:07.7520134Z Updating files: 97% (6117/6306) 2026-10-22T20:14:07.7577702Z Updating files: 98% (6180/6306) 2026-10-22T20:14:07.7598717Z Updating files: 99% (6243/6306) 2026-10-22T20:14:07.7599461Z Updating files: 100% (6306/6306) 2026-10-22T20:14:07.7599761Z Updating files: 100% (6306/6306), done. 2026-10-22T20:14:07.7825917Z Note: switching to 'refs/remotes/pull/23364/merge'. 2026-10-22T20:14:07.7826298Z 2026-10-22T20:14:07.7826605Z You are in 'detached HEAD' state. You can look around, make experimental 2026-10-22T20:14:07.7827066Z changes and commit them, and you can discard any commits you make in this 2026-10-22T20:14:07.7827526Z state without impacting any branches by switching back to a branch. 2026-10-22T20:14:07.7827792Z 2026-10-22T20:14:07.7827969Z If you want to create a new branch to retain commits you create, you may 2026-10-22T20:14:07.7828417Z do so (now or later) by using -c with the switch command. Example: 2026-10-22T20:14:07.7828646Z 2026-10-22T20:14:07.7828750Z git switch -c 2026-10-22T20:14:07.7828918Z 2026-10-22T20:14:07.7829023Z Or undo this operation with: 2026-10-22T20:14:07.7829182Z 2026-10-22T20:14:07.7829267Z git switch - 2026-10-22T20:14:07.7829526Z 2026-10-22T20:14:07.7829808Z Turn off this advice by setting config variable advice.detachedHead to false 2026-10-22T20:14:07.7830118Z 2026-10-22T20:14:07.7830400Z HEAD is now at 2522a27 Merge 23ea5b2b743d022a61998c5814825907bc9df4f3 into 22840ab943b8418744b48223411e46ba4fdcef1a 2026-10-22T20:14:07.7844187Z ##[endgroup] 2026-10-22T20:14:07.7915748Z [command]/usr/local/bin/git log -1 --format=%H 2026-10-22T20:14:07.7959194Z 2522a27092d203b5414685d1820d8e8fcffab645 2026-10-22T20:14:07.8247732Z Prepare all required actions 2026-10-22T20:14:07.8355546Z ##[group]Run ./.github/actions/setup-apt-mirrors 2026-10-22T20:14:07.8355915Z env: 2026-10-22T20:14:07.8356163Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:07.8356454Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:07.8356731Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:07.8356992Z ##[endgroup] 2026-10-22T20:14:07.8446971Z ##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run] 2026-10-22T20:14:07.8495013Z ##[group]Run # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-22T20:14:07.8546750Z # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-22T20:14:07.8547426Z printf '%s\tpriority:%s\n' \ 2026-10-22T20:14:07.8547848Z  https://archive.ubuntu.com/ubuntu 1 \ 2026-10-22T20:14:07.8548476Z  https://mirrors.edge.kernel.org/ubuntu 2 \ 2026-10-22T20:14:07.8548965Z  https://mirror.math.princeton.edu/pub/ubuntu 3 \ 2026-10-22T20:14:07.8549505Z  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null 2026-10-22T20:14:07.8549931Z  2026-10-22T20:14:07.8550298Z # APT's mirror transport retries each file against the next server. 2026-10-22T20:14:07.8551022Z sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \ 2026-10-22T20:14:07.8551501Z  -exec sed -i -E \ 2026-10-22T20:14:07.8552166Z  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} + 2026-10-22T20:14:07.8553152Z  2026-10-22T20:14:07.8553550Z # Move on to a fallback before an unreachable server exhausts the job. 2026-10-22T20:14:07.8554128Z printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \ 2026-10-22T20:14:07.8554745Z  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null 2026-10-22T20:14:07.8594920Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:14:07.8595461Z env: 2026-10-22T20:14:07.8595916Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:07.8596328Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:07.8596690Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:07.8597085Z ##[endgroup] 2026-10-22T20:14:07.9089048Z ##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=64] 2026-10-22T20:14:07.9132134Z ##[group]Run sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-22T20:14:07.9132800Z sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-22T20:14:07.9133209Z ( 2026-10-22T20:14:07.9133420Z  set +e 2026-10-22T20:14:07.9133714Z  sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config 2026-10-22T20:14:07.9134057Z  echo "$?" > "$RUNNER_TEMP/apt-status" 2026-10-22T20:14:07.9134313Z ) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null & 2026-10-22T20:14:07.9158892Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:07.9159134Z env: 2026-10-22T20:14:07.9159393Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:07.9159614Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:07.9159844Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:07.9160045Z ##[endgroup] 2026-10-22T20:14:07.9423248Z Prepare all required actions 2026-10-22T20:14:07.9423844Z Getting action download info 2026-10-22T20:14:08.0827757Z Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb) 2026-10-22T20:14:08.2183955Z ##[group]Run ./.github/actions/setup-ci-deps 2026-10-22T20:14:08.2184277Z env: 2026-10-22T20:14:08.2184506Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:08.2184783Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:08.2185061Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:08.2185313Z ##[endgroup] 2026-10-22T20:14:08.2297043Z ##[start-action display=Resolve Vite+ version;id=__self_2.vp] 2026-10-22T20:14:08.2323928Z ##[group]Run echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-22T20:14:08.2324658Z echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-22T20:14:08.2325252Z echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT" 2026-10-22T20:14:08.2325749Z echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT" 2026-10-22T20:14:08.2358610Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:14:08.2358925Z env: 2026-10-22T20:14:08.2359141Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:08.2359328Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:08.2359513Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:08.2359674Z ##[endgroup] 2026-10-22T20:14:08.2514609Z ##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=21] 2026-10-22T20:14:08.2517634Z ##[start-action display=Cache Vite+;id=__self_2.vp_cache] 2026-10-22T20:14:08.2593872Z ##[group]Run actions/cache@v6 2026-10-22T20:14:08.2594079Z with: 2026-10-22T20:14:08.2594209Z path: ~/.vite-plus 2026-10-22T20:14:08.2594401Z key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-22T20:14:08.2594667Z enableCrossOsArchive: false 2026-10-22T20:14:08.2594837Z fail-on-cache-miss: false 2026-10-22T20:14:08.2595334Z lookup-only: false 2026-10-22T20:14:08.2595499Z save-always: false 2026-10-22T20:14:08.2595635Z env: 2026-10-22T20:14:08.2595764Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:08.2595995Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:08.2596171Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:08.2596326Z ##[endgroup] 2026-10-22T20:14:08.5588408Z Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-22T20:14:09.0539829Z Received 170349591 of 170349591 (100.0%), 349.4 MBs/sec 2026-10-22T20:14:09.0543547Z Cache Size: ~162 MB (170349591 B) 2026-10-22T20:14:09.0585784Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/632d7320-bacd-420f-82d6-24622f95b9ca/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-22T20:14:10.0298790Z Cache restored successfully 2026-10-22T20:14:10.0522446Z Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-22T20:14:10.0635566Z ##[end-action id=__self_2.vp_cache;outcome=success;conclusion=success;duration_ms=1811] 2026-10-22T20:14:10.0639820Z ##[start-action display=Use cached Vite+;id=__self_2.__run] 2026-10-22T20:14:10.0679930Z ##[group]Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-22T20:14:10.0680242Z echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-22T20:14:10.0680444Z "$HOME/.vite-plus/bin/vp" env use "26.12.1" 2026-10-22T20:14:10.0711037Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:14:10.0711251Z env: 2026-10-22T20:14:10.0726537Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:10.0726712Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:10.0726870Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:10.0727025Z ##[endgroup] 2026-10-22T20:14:10.0791169Z Using Node.js v26.12.1 (resolved from 26.12.1) 2026-10-22T20:14:10.0805401Z ##[end-action id=__self_2.__run;outcome=success;conclusion=success;duration_ms=16] 2026-10-22T20:14:10.0807991Z ##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp] 2026-10-22T20:14:10.0816029Z ##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-10-22T20:14:10.0817599Z ##[start-action display=Resolve pnpm store path;id=__self_2.pnpm_store] 2026-10-22T20:14:10.0836544Z ##[group]Run store_path="$(vp pm cache dir)" 2026-10-22T20:14:10.0836787Z store_path="$(vp pm cache dir)" 2026-10-22T20:14:10.0836984Z echo "path=$store_path" >> "$GITHUB_OUTPUT" 2026-10-22T20:14:10.0867912Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:14:10.0868167Z env: 2026-10-22T20:14:10.0868300Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:10.0868475Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:10.0868761Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:10.0869051Z ##[endgroup] 2026-10-22T20:14:10.1133264Z ##[end-action id=__self_2.pnpm_store;outcome=success;conclusion=success;duration_ms=31] 2026-10-22T20:14:10.1135568Z ##[start-action display=Cache full pnpm store;id=__self_2.__actions_cache] 2026-10-22T20:14:10.1902137Z ##[group]Run actions/cache@v6 2026-10-22T20:14:10.1902312Z with: 2026-10-22T20:14:10.1902476Z path: /home/runner/.local/share/pnpm/store/v11 2026-10-22T20:14:10.1902777Z key: pnpm-full-v1-Linux-X64-26aca9b234a64276fce695cfd449de6b85aa0230cc5c8763604ee919eee10c91 2026-10-22T20:14:10.1903070Z restore-keys: pnpm-full-v1-Linux-X64- 2026-10-22T20:14:10.1903247Z enableCrossOsArchive: false 2026-10-22T20:14:10.1903411Z fail-on-cache-miss: false 2026-10-22T20:14:10.1903551Z lookup-only: false 2026-10-22T20:14:10.1903677Z save-always: false 2026-10-22T20:14:10.1903819Z env: 2026-10-22T20:14:10.1903948Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:10.1904125Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:10.1904287Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:10.1904530Z ##[endgroup] 2026-10-22T20:14:10.4199408Z Cache hit for: pnpm-full-v1-Linux-X64-26aca9b234a64276fce695cfd449de6b85aa0230cc5c8763604ee919eee10c91 2026-10-22T20:14:11.4443751Z Received 301989888 of 994976796 (30.4%), 288.0 MBs/sec 2026-10-22T20:14:12.4511416Z Received 671088640 of 994976796 (67.4%), 318.9 MBs/sec 2026-10-22T20:14:13.2865607Z Received 994976796 of 994976796 (100.0%), 333.9 MBs/sec 2026-10-22T20:14:13.2866465Z Cache Size: ~949 MB (994976796 B) 2026-10-22T20:14:13.2996138Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/26ed82ec-9c09-4ae2-a180-98ee45816aaf/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-22T20:14:20.5429604Z Cache restored successfully 2026-10-22T20:14:20.6185929Z Cache restored from key: pnpm-full-v1-Linux-X64-26aca9b234a64276fce695cfd449de6b85aa0230cc5c8763604ee919eee10c91 2026-10-22T20:14:20.6327528Z ##[end-action id=__self_2.__actions_cache;outcome=success;conclusion=success;duration_ms=10519] 2026-10-22T20:14:20.6331854Z ##[start-action display=Install dependencies;id=__self_2.__run_2] 2026-10-22T20:14:20.6350948Z ##[group]Run vp install 2026-10-22T20:14:20.6351189Z vp install 2026-10-22T20:14:20.6386100Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:14:20.6386440Z env: 2026-10-22T20:14:20.6386701Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:20.6386995Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:20.6387253Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:20.6387515Z ##[endgroup] 2026-10-22T20:14:20.6956314Z Scope: all 33 workspace projects 2026-10-22T20:14:20.8534955Z ? Verifying lockfile against supply-chain policies (2088 entries)... 2026-10-22T20:14:21.2400298Z Packages are hard linked from the content-addressable store to the virtual store. 2026-10-22T20:14:21.2420245Z Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11 2026-10-22T20:14:21.2420840Z Virtual store is at: node_modules/.pnpm 2026-10-22T20:14:22.4039481Z Progress: resolved 1718, reused 1718, downloaded 0, added 1716 2026-10-22T20:14:25.3397830Z ✓ Lockfile passes supply-chain policies (2088 entries in 4.5s) 2026-10-22T20:14:25.3398144Z Lockfile is up to date, resolution step is skipped 2026-10-22T20:14:25.3711046Z Packages: +1721 2026-10-22T20:14:25.3711336Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2026-10-22T20:14:25.4268766Z Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done 2026-10-22T20:14:26.8253888Z . prepare$ vp config --no-agent 2026-10-22T20:14:26.9988850Z . prepare: Done 2026-10-22T20:14:27.0010539Z 2026-10-22T20:14:27.0011166Z devDependencies: 2026-10-22T20:14:27.0011476Z + @coderabbitai/config 1.1.0 2026-10-22T20:14:27.0011750Z + @shadcn/lint 0.1.5 2026-10-22T20:14:27.0011959Z + @types/node 24.12.4 2026-10-22T20:14:27.0012174Z + knip 6.34.0 2026-10-22T20:14:27.0012415Z + typescript <- @tsc-rs/typescript 0.8.0 2026-10-22T20:14:27.0012703Z + vite-plus 1.3.0 2026-10-22T20:14:27.0012811Z 2026-10-22T20:14:27.0032578Z Done in 6.3s using pnpm v12.14.0 2026-10-22T20:14:27.0361784Z ##[end-action id=__self_2.__run_2;outcome=success;conclusion=success;duration_ms=6402] 2026-10-22T20:14:27.1335732Z ##[group]Run actions/cache@v6 2026-10-22T20:14:27.1336109Z with: 2026-10-22T20:14:27.1336360Z path: ~/.cache/electron 2026-10-22T20:14:27.1336809Z key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-22T20:14:27.1337280Z enableCrossOsArchive: false 2026-10-22T20:14:27.1337576Z fail-on-cache-miss: false 2026-10-22T20:14:27.1337873Z lookup-only: false 2026-10-22T20:14:27.1338103Z save-always: false 2026-10-22T20:14:27.1338332Z env: 2026-10-22T20:14:27.1338654Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:27.1338951Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:27.1339251Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:27.1339505Z ##[endgroup] 2026-10-22T20:14:27.3855264Z Cache hit for: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-22T20:14:27.6384372Z Received 122906203 of 122906203 (100.0%), 511.8 MBs/sec 2026-10-22T20:14:27.6384860Z Cache Size: ~117 MB (122906203 B) 2026-10-22T20:14:27.6467628Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/de628ff9-f90d-4647-b5d2-20b1c3e78260/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-22T20:14:27.7496693Z Cache restored successfully 2026-10-22T20:14:27.7689636Z Cache restored from key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-22T20:14:27.7863069Z ##[group]Run vp run --filter @t3tools/desktop ensure:electron 2026-10-22T20:14:27.7863350Z vp run --filter @t3tools/desktop ensure:electron 2026-10-22T20:14:27.7894033Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:27.7894196Z env: 2026-10-22T20:14:27.7894336Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:27.7894511Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:27.7894729Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:27.7894879Z ##[endgroup] 2026-10-22T20:14:28.1390646Z ~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled 2026-10-22T20:14:28.8424428Z /home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.9.3_supports-color@8.1.1/node_modules/electron/dist/electron 2026-10-22T20:14:28.8456846Z 2026-10-22T20:14:28.8663807Z ##[group]Run ( 2026-10-22T20:14:28.8664063Z ( 2026-10-22T20:14:28.8664186Z  set +e 2026-10-22T20:14:28.8664336Z  vpr typecheck 2026-10-22T20:14:28.8664558Z  echo "$?" > "$RUNNER_TEMP/typecheck-status" 2026-10-22T20:14:28.8664788Z ) > "$RUNNER_TEMP/typecheck.log" 2>&1 < /dev/null & 2026-10-22T20:14:28.8695013Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:28.8695262Z env: 2026-10-22T20:14:28.8695402Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:28.8695580Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:28.8695749Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:28.8695906Z ##[endgroup] 2026-10-22T20:14:28.8790250Z ##[group]Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-22T20:14:28.8790783Z until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-22T20:14:28.8791112Z cat "$RUNNER_TEMP/apt.log" 2026-10-22T20:14:28.8791400Z exit "$(cat "$RUNNER_TEMP/apt-status")" 2026-10-22T20:14:28.8820798Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:28.8821030Z env: 2026-10-22T20:14:28.8821202Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:28.8821686Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:28.8821901Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:28.8822060Z ##[endgroup] 2026-10-22T20:14:28.8883843Z blacksmith: the apt mirror lists changed since the package indexes were staged; discarding the staged indexes 2026-10-22T20:14:28.8884439Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-22T20:14:28.8884899Z Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease 2026-10-22T20:14:28.8885435Z Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] 2026-10-22T20:14:28.8885915Z Get:8 https://dl.google.com/linux/chrome-stable/deb stable InRelease [2548 B] 2026-10-22T20:14:28.8886429Z Get:9 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [633 kB] 2026-10-22T20:14:28.8886920Z Get:2 https://archive.ubuntu.com/ubuntu noble InRelease [256 kB] 2026-10-22T20:14:28.8887378Z Get:10 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [571 kB] 2026-10-22T20:14:28.8887961Z Get:11 https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages [1407 B] 2026-10-22T20:14:28.8888506Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] 2026-10-22T20:14:28.8888953Z Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] 2026-10-22T20:14:28.8889396Z Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] 2026-10-22T20:14:28.8889852Z Get:12 https://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1401 kB] 2026-10-22T20:14:28.8890293Z Get:13 https://archive.ubuntu.com/ubuntu noble/main Translation-en [513 kB] 2026-10-22T20:14:28.8890749Z Get:14 https://archive.ubuntu.com/ubuntu noble/main amd64 Components [464 kB] 2026-10-22T20:14:28.8891239Z Get:15 https://archive.ubuntu.com/ubuntu noble/main amd64 c-n-f Metadata [30.5 kB] 2026-10-22T20:14:28.8891724Z Get:16 https://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [15.0 MB] 2026-10-22T20:14:28.8892216Z Get:17 https://archive.ubuntu.com/ubuntu noble/universe Translation-en [5982 kB] 2026-10-22T20:14:28.8892718Z Get:18 https://archive.ubuntu.com/ubuntu noble/universe amd64 Components [3871 kB] 2026-10-22T20:14:28.8893214Z Get:19 https://archive.ubuntu.com/ubuntu noble/universe amd64 c-n-f Metadata [301 kB] 2026-10-22T20:14:28.8893712Z Get:20 https://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [93.9 kB] 2026-10-22T20:14:28.8894220Z Get:21 https://archive.ubuntu.com/ubuntu noble/restricted Translation-en [18.7 kB] 2026-10-22T20:14:28.8894708Z Get:22 https://archive.ubuntu.com/ubuntu noble/restricted amd64 c-n-f Metadata [416 B] 2026-10-22T20:14:28.8895216Z Get:23 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [269 kB] 2026-10-22T20:14:28.8895704Z Get:24 https://archive.ubuntu.com/ubuntu noble/multiverse Translation-en [118 kB] 2026-10-22T20:14:28.8896230Z Get:25 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Components [35.0 kB] 2026-10-22T20:14:28.8896738Z Get:26 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 c-n-f Metadata [8328 B] 2026-10-22T20:14:28.8897255Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1400 kB] 2026-10-22T20:14:28.8897745Z Get:28 https://archive.ubuntu.com/ubuntu noble-updates/main Translation-en [310 kB] 2026-10-22T20:14:28.8898304Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] 2026-10-22T20:14:28.8899209Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [17.7 kB] 2026-10-22T20:14:28.8899739Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1706 kB] 2026-10-22T20:14:28.8900249Z Get:32 https://archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [342 kB] 2026-10-22T20:14:28.8900918Z Get:33 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] 2026-10-22T20:14:28.8901460Z Get:34 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [34.9 kB] 2026-10-22T20:14:28.8902333Z Get:35 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1805 kB] 2026-10-22T20:14:28.8902858Z Get:36 https://archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [411 kB] 2026-10-22T20:14:28.8903404Z Get:37 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B] 2026-10-22T20:14:28.8903942Z Get:38 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 c-n-f Metadata [456 B] 2026-10-22T20:14:28.8904499Z Get:39 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [50.7 kB] 2026-10-22T20:14:28.8905030Z Get:40 https://archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en [14.0 kB] 2026-10-22T20:14:28.8905560Z Get:41 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] 2026-10-22T20:14:28.8906750Z Get:42 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 c-n-f Metadata [656 B] 2026-10-22T20:14:28.8907277Z Get:43 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] 2026-10-22T20:14:28.8907812Z Get:44 https://archive.ubuntu.com/ubuntu noble-backports/main Translation-en [9172 B] 2026-10-22T20:14:28.8908394Z Get:45 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5764 B] 2026-10-22T20:14:28.8908926Z Get:46 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 c-n-f Metadata [368 B] 2026-10-22T20:14:28.8909481Z Get:47 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] 2026-10-22T20:14:28.8910007Z Get:48 https://archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] 2026-10-22T20:14:28.8910563Z Get:49 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] 2026-10-22T20:14:28.8911110Z Get:50 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 c-n-f Metadata [1588 B] 2026-10-22T20:14:28.8911663Z Get:51 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B] 2026-10-22T20:14:28.8912234Z Get:52 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 c-n-f Metadata [116 B] 2026-10-22T20:14:28.8912798Z Get:53 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [748 B] 2026-10-22T20:14:28.8913334Z Get:54 https://archive.ubuntu.com/ubuntu noble-backports/multiverse Translation-en [340 B] 2026-10-22T20:14:28.8913879Z Get:55 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B] 2026-10-22T20:14:28.8914435Z Get:56 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 c-n-f Metadata [116 B] 2026-10-22T20:14:28.8914975Z Get:57 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1146 kB] 2026-10-22T20:14:28.8915469Z Get:58 https://archive.ubuntu.com/ubuntu noble-security/main Translation-en [231 kB] 2026-10-22T20:14:28.8915988Z Get:59 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.4 kB] 2026-10-22T20:14:28.8916516Z Get:60 https://archive.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [11.9 kB] 2026-10-22T20:14:28.8917062Z Get:61 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1222 kB] 2026-10-22T20:14:28.8917591Z Get:62 https://archive.ubuntu.com/ubuntu noble-security/universe Translation-en [246 kB] 2026-10-22T20:14:28.8918141Z Get:63 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.2 kB] 2026-10-22T20:14:28.8919021Z Get:64 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [24.2 kB] 2026-10-22T20:14:28.8919557Z Get:65 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1713 kB] 2026-10-22T20:14:28.8920096Z Get:66 https://archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [392 kB] 2026-10-22T20:14:28.8920635Z Get:67 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B] 2026-10-22T20:14:28.8921191Z Get:68 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 c-n-f Metadata [444 B] 2026-10-22T20:14:28.8921846Z Get:69 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [45.4 kB] 2026-10-22T20:14:28.8922391Z Get:70 https://archive.ubuntu.com/ubuntu noble-security/multiverse Translation-en [12.1 kB] 2026-10-22T20:14:28.8922939Z Get:71 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B] 2026-10-22T20:14:28.8923509Z Get:72 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [468 B] 2026-10-22T20:14:28.8923932Z Fetched 41.9 MB in 3s (12.1 MB/s) 2026-10-22T20:14:28.8924188Z Reading package lists... 2026-10-22T20:14:28.8924413Z Reading package lists... 2026-10-22T20:14:28.8924655Z Building dependency tree... 2026-10-22T20:14:28.8924887Z Reading state information... 2026-10-22T20:14:28.8925175Z pkg-config is already the newest version (1.8.1-2build1). 2026-10-22T20:14:28.8925530Z The following additional packages will be installed: 2026-10-22T20:14:28.8925923Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 gir1.2-secret-1 2026-10-22T20:14:28.8926356Z libblkid-dev libblkid1 libfdisk1 libgcrypt20 libgcrypt20-dev 2026-10-22T20:14:28.8926777Z libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-bin libglib2.0-data 2026-10-22T20:14:28.8927247Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev libmount1 2026-10-22T20:14:28.8927720Z libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libsmartcols1 2026-10-22T20:14:28.8928120Z libuuid1 mount util-linux uuid-dev uuid-runtime 2026-10-22T20:14:28.8928473Z Suggested packages: 2026-10-22T20:14:28.8928771Z rng-tools libgcrypt20-doc low-memory-monitor gir1.2-glib-2.0-dev 2026-10-22T20:14:28.8929205Z libglib2.0-doc libxml2-utils nfs-common util-linux-extra util-linux-locales 2026-10-22T20:14:28.8929595Z The following NEW packages will be installed: 2026-10-22T20:14:28.8929954Z gir1.2-secret-1 libblkid-dev libgcrypt20-dev libgirepository-2.0-0 2026-10-22T20:14:28.8930374Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev 2026-10-22T20:14:28.8930831Z libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev libsepol-dev 2026-10-22T20:14:28.8931188Z uuid-dev 2026-10-22T20:14:28.8932186Z The following packages will be upgraded: 2026-10-22T20:14:28.8932632Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 libblkid1 libfdisk1 2026-10-22T20:14:28.8932930Z libgcrypt20 libglib2.0-0t64 libglib2.0-bin libglib2.0-data libmount1 2026-10-22T20:14:28.8933170Z libsmartcols1 libuuid1 mount util-linux uuid-runtime 2026-10-22T20:14:28.8933497Z 17 upgraded, 14 newly installed, 0 to remove and 241 not upgraded. 2026-10-22T20:14:28.8933705Z Need to get 8378 kB of archives. 2026-10-22T20:14:28.8933917Z After this operation, 23.0 MB of additional disk space will be used. 2026-10-22T20:14:28.8934175Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-22T20:14:28.8934526Z Get:2 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdutils amd64 1:2.39.3-9ubuntu6.6 [96.4 kB] 2026-10-22T20:14:28.8934910Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 util-linux amd64 2.39.3-9ubuntu6.6 [1128 kB] 2026-10-22T20:14:28.8935288Z Get:4 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 mount amd64 2.39.3-9ubuntu6.6 [118 kB] 2026-10-22T20:14:28.8935667Z Get:5 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu6.6 [66.3 kB] 2026-10-22T20:14:28.8936040Z Get:6 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libuuid1 amd64 2.39.3-9ubuntu6.6 [36.6 kB] 2026-10-22T20:14:28.8937331Z Get:7 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-runtime amd64 2.39.3-9ubuntu6.6 [33.1 kB] 2026-10-22T20:14:28.8937732Z Get:8 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid1 amd64 2.39.3-9ubuntu6.6 [124 kB] 2026-10-22T20:14:28.8938094Z Get:9 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20 amd64 1.10.3-2ubuntu0.2 [536 kB] 2026-10-22T20:14:28.8938553Z Get:10 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount1 amd64 2.39.3-9ubuntu6.6 [134 kB] 2026-10-22T20:14:28.8939061Z Get:11 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 eject amd64 2.39.3-9ubuntu6.6 [26.3 kB] 2026-10-22T20:14:28.8939440Z 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-22T20:14:28.8939821Z 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-22T20:14:28.8940223Z 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-22T20:14:28.8940823Z Get:15 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-0t64 amd64 2.80.0-6ubuntu3.10 [1548 kB] 2026-10-22T20:14:28.8941203Z Get:16 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libfdisk1 amd64 2.39.3-9ubuntu6.6 [146 kB] 2026-10-22T20:14:28.8941566Z Get:17 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdextrautils amd64 2.39.3-9ubuntu6.6 [73.7 kB] 2026-10-22T20:14:28.8941942Z Get:18 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 fdisk amd64 2.39.3-9ubuntu6.6 [122 kB] 2026-10-22T20:14:28.8942289Z Get:19 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-common all 0.21.4-1build3 [4962 B] 2026-10-22T20:14:28.8942640Z Get:20 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-1-0 amd64 0.21.4-1build3 [116 kB] 2026-10-22T20:14:28.8942981Z Get:21 https://archive.ubuntu.com/ubuntu noble/main amd64 gir1.2-secret-1 amd64 0.21.4-1build3 [9424 B] 2026-10-22T20:14:28.8943338Z Get:22 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgpg-error-dev amd64 1.47-3build2.1 [128 kB] 2026-10-22T20:14:28.8943720Z Get:23 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20-dev amd64 1.10.3-2ubuntu0.2 [596 kB] 2026-10-22T20:14:28.8944123Z 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-22T20:14:28.8944527Z 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-22T20:14:28.8944909Z Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.6 [33.5 kB] 2026-10-22T20:14:28.8945271Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.6 [205 kB] 2026-10-22T20:14:28.8945631Z Get:28 https://archive.ubuntu.com/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB] 2026-10-22T20:14:28.8945983Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB] 2026-10-22T20:14:28.8946365Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.6 [14.9 kB] 2026-10-22T20:14:28.8946751Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.10 [1861 kB] 2026-10-22T20:14:28.8947155Z Get:32 https://archive.ubuntu.com/ubuntu noble/universe amd64 libsecret-1-dev amd64 0.21.4-1build3 [129 kB] 2026-10-22T20:14:28.8947424Z Fetched 8378 kB in 5s (1845 kB/s) 2026-10-22T20:14:28.8947586Z (Reading database ... 2026-10-22T20:14:28.8947718Z (Reading database ... 5% 2026-10-22T20:14:28.8947853Z (Reading database ... 10% 2026-10-22T20:14:28.8947987Z (Reading database ... 15% 2026-10-22T20:14:28.8948131Z (Reading database ... 20% 2026-10-22T20:14:28.8948362Z (Reading database ... 25% 2026-10-22T20:14:28.8948490Z (Reading database ... 30% 2026-10-22T20:14:28.8948944Z (Reading database ... 35% 2026-10-22T20:14:28.8949069Z (Reading database ... 40% 2026-10-22T20:14:28.8949204Z (Reading database ... 45% 2026-10-22T20:14:28.8949328Z (Reading database ... 50% 2026-10-22T20:14:28.8949453Z (Reading database ... 55% 2026-10-22T20:14:28.8949587Z (Reading database ... 60% 2026-10-22T20:14:28.8949711Z (Reading database ... 65% 2026-10-22T20:14:28.8949844Z (Reading database ... 70% 2026-10-22T20:14:28.8949967Z (Reading database ... 75% 2026-10-22T20:14:28.8950093Z (Reading database ... 80% 2026-10-22T20:14:28.8950321Z (Reading database ... 85% 2026-10-22T20:14:28.8950446Z (Reading database ... 90% 2026-10-22T20:14:28.8950571Z (Reading database ... 95% 2026-10-22T20:14:28.8950698Z (Reading database ... 100% 2026-10-22T20:14:28.8950889Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8951148Z Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8951405Z Unpacking bsdutils (1:2.39.3-9ubuntu6.6) over (1:2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8951614Z Setting up bsdutils (1:2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.8951783Z (Reading database ... 2026-10-22T20:14:28.8951930Z (Reading database ... 5% 2026-10-22T20:14:28.8952132Z (Reading database ... 10% 2026-10-22T20:14:28.8952274Z (Reading database ... 15% 2026-10-22T20:14:28.8952399Z (Reading database ... 20% 2026-10-22T20:14:28.8952545Z (Reading database ... 25% 2026-10-22T20:14:28.8952690Z (Reading database ... 30% 2026-10-22T20:14:28.8952824Z (Reading database ... 35% 2026-10-22T20:14:28.8952960Z (Reading database ... 40% 2026-10-22T20:14:28.8953090Z (Reading database ... 45% 2026-10-22T20:14:28.8953231Z (Reading database ... 50% 2026-10-22T20:14:28.8953362Z (Reading database ... 55% 2026-10-22T20:14:28.8953500Z (Reading database ... 60% 2026-10-22T20:14:28.8953635Z (Reading database ... 65% 2026-10-22T20:14:28.8953774Z (Reading database ... 70% 2026-10-22T20:14:28.8953900Z (Reading database ... 75% 2026-10-22T20:14:28.8954033Z (Reading database ... 80% 2026-10-22T20:14:28.8954176Z (Reading database ... 85% 2026-10-22T20:14:28.8954300Z (Reading database ... 90% 2026-10-22T20:14:28.8954432Z (Reading database ... 95% 2026-10-22T20:14:28.8954573Z (Reading database ... 100% 2026-10-22T20:14:28.8954778Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8955020Z Preparing to unpack .../util-linux_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8955274Z Unpacking util-linux (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8955484Z Setting up util-linux (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.8955779Z update-alternatives: warning: forcing reinstallation of alternative /usr/bin/less because link group pager is broken 2026-10-22T20:14:28.8956264Z 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-22T20:14:28.8956682Z fstrim.service is a disabled or a static unit not running, not starting it. 2026-10-22T20:14:28.8956901Z (Reading database ... 2026-10-22T20:14:28.8957034Z (Reading database ... 5% 2026-10-22T20:14:28.8957218Z (Reading database ... 10% 2026-10-22T20:14:28.8957354Z (Reading database ... 15% 2026-10-22T20:14:28.8957499Z (Reading database ... 20% 2026-10-22T20:14:28.8957631Z (Reading database ... 25% 2026-10-22T20:14:28.8957765Z (Reading database ... 30% 2026-10-22T20:14:28.8957903Z (Reading database ... 35% 2026-10-22T20:14:28.8958037Z (Reading database ... 40% 2026-10-22T20:14:28.8958182Z (Reading database ... 45% 2026-10-22T20:14:28.8958395Z (Reading database ... 50% 2026-10-22T20:14:28.8958542Z (Reading database ... 55% 2026-10-22T20:14:28.8958673Z (Reading database ... 60% 2026-10-22T20:14:28.8958813Z (Reading database ... 65% 2026-10-22T20:14:28.8958944Z (Reading database ... 70% 2026-10-22T20:14:28.8959091Z (Reading database ... 75% 2026-10-22T20:14:28.8959229Z (Reading database ... 80% 2026-10-22T20:14:28.8959360Z (Reading database ... 85% 2026-10-22T20:14:28.8959676Z (Reading database ... 90% 2026-10-22T20:14:28.8959808Z (Reading database ... 95% 2026-10-22T20:14:28.8959957Z (Reading database ... 100% 2026-10-22T20:14:28.8960144Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8960380Z Preparing to unpack .../mount_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8960623Z Unpacking mount (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8960855Z Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8961221Z Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8961460Z Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.8961644Z (Reading database ... 2026-10-22T20:14:28.8961773Z (Reading database ... 5% 2026-10-22T20:14:28.8961911Z (Reading database ... 10% 2026-10-22T20:14:28.8962048Z (Reading database ... 15% 2026-10-22T20:14:28.8962177Z (Reading database ... 20% 2026-10-22T20:14:28.8962320Z (Reading database ... 25% 2026-10-22T20:14:28.8962451Z (Reading database ... 30% 2026-10-22T20:14:28.8962594Z (Reading database ... 35% 2026-10-22T20:14:28.8962721Z (Reading database ... 40% 2026-10-22T20:14:28.8962879Z (Reading database ... 45% 2026-10-22T20:14:28.8963015Z (Reading database ... 50% 2026-10-22T20:14:28.8963150Z (Reading database ... 55% 2026-10-22T20:14:28.8963354Z (Reading database ... 60% 2026-10-22T20:14:28.8963571Z (Reading database ... 65% 2026-10-22T20:14:28.8963793Z (Reading database ... 70% 2026-10-22T20:14:28.8964001Z (Reading database ... 75% 2026-10-22T20:14:28.8964210Z (Reading database ... 80% 2026-10-22T20:14:28.8964411Z (Reading database ... 85% 2026-10-22T20:14:28.8964623Z (Reading database ... 90% 2026-10-22T20:14:28.8964751Z (Reading database ... 95% 2026-10-22T20:14:28.8964888Z (Reading database ... 100% 2026-10-22T20:14:28.8965085Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8965344Z Preparing to unpack .../libuuid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8965585Z Unpacking libuuid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8965803Z Setting up libuuid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.8965981Z (Reading database ... 2026-10-22T20:14:28.8966109Z (Reading database ... 5% 2026-10-22T20:14:28.8966249Z (Reading database ... 10% 2026-10-22T20:14:28.8966390Z (Reading database ... 15% 2026-10-22T20:14:28.8966520Z (Reading database ... 20% 2026-10-22T20:14:28.8966654Z (Reading database ... 25% 2026-10-22T20:14:28.8966787Z (Reading database ... 30% 2026-10-22T20:14:28.8966921Z (Reading database ... 35% 2026-10-22T20:14:28.8967053Z (Reading database ... 40% 2026-10-22T20:14:28.8967192Z (Reading database ... 45% 2026-10-22T20:14:28.8967322Z (Reading database ... 50% 2026-10-22T20:14:28.8967447Z (Reading database ... 55% 2026-10-22T20:14:28.8967592Z (Reading database ... 60% 2026-10-22T20:14:28.8967732Z (Reading database ... 65% 2026-10-22T20:14:28.8967872Z (Reading database ... 70% 2026-10-22T20:14:28.8968007Z (Reading database ... 75% 2026-10-22T20:14:28.8968142Z (Reading database ... 80% 2026-10-22T20:14:28.8968350Z (Reading database ... 85% 2026-10-22T20:14:28.8968484Z (Reading database ... 90% 2026-10-22T20:14:28.8968625Z (Reading database ... 95% 2026-10-22T20:14:28.8968753Z (Reading database ... 100% 2026-10-22T20:14:28.8968951Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8969201Z Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8969455Z Unpacking uuid-runtime (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8969698Z Preparing to unpack .../libblkid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8969939Z Unpacking libblkid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8970160Z Setting up libblkid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.8970328Z (Reading database ... 2026-10-22T20:14:28.8970633Z (Reading database ... 5% 2026-10-22T20:14:28.8970767Z (Reading database ... 10% 2026-10-22T20:14:28.8970903Z (Reading database ... 15% 2026-10-22T20:14:28.8971042Z (Reading database ... 20% 2026-10-22T20:14:28.8971180Z (Reading database ... 25% 2026-10-22T20:14:28.8971315Z (Reading database ... 30% 2026-10-22T20:14:28.8971450Z (Reading database ... 35% 2026-10-22T20:14:28.8971577Z (Reading database ... 40% 2026-10-22T20:14:28.8971707Z (Reading database ... 45% 2026-10-22T20:14:28.8971841Z (Reading database ... 50% 2026-10-22T20:14:28.8972065Z (Reading database ... 55% 2026-10-22T20:14:28.8972194Z (Reading database ... 60% 2026-10-22T20:14:28.8972323Z (Reading database ... 65% 2026-10-22T20:14:28.8972462Z (Reading database ... 70% 2026-10-22T20:14:28.8972590Z (Reading database ... 75% 2026-10-22T20:14:28.8972722Z (Reading database ... 80% 2026-10-22T20:14:28.8972857Z (Reading database ... 85% 2026-10-22T20:14:28.8972986Z (Reading database ... 90% 2026-10-22T20:14:28.8973121Z (Reading database ... 95% 2026-10-22T20:14:28.8973264Z (Reading database ... 100% 2026-10-22T20:14:28.8973448Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8973688Z Preparing to unpack .../libgcrypt20_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-22T20:14:28.8973940Z Unpacking libgcrypt20:amd64 (1.10.3-2ubuntu0.2) over (1.10.3-2ubuntu0.1) ... 2026-10-22T20:14:28.8974176Z Setting up libgcrypt20:amd64 (1.10.3-2ubuntu0.2) ... 2026-10-22T20:14:28.8974349Z (Reading database ... 2026-10-22T20:14:28.8974483Z (Reading database ... 5% 2026-10-22T20:14:28.8974625Z (Reading database ... 10% 2026-10-22T20:14:28.8974764Z (Reading database ... 15% 2026-10-22T20:14:28.8974889Z (Reading database ... 20% 2026-10-22T20:14:28.8975031Z (Reading database ... 25% 2026-10-22T20:14:28.8975159Z (Reading database ... 30% 2026-10-22T20:14:28.8975286Z (Reading database ... 35% 2026-10-22T20:14:28.8975422Z (Reading database ... 40% 2026-10-22T20:14:28.8975550Z (Reading database ... 45% 2026-10-22T20:14:28.8975681Z (Reading database ... 50% 2026-10-22T20:14:28.8975814Z (Reading database ... 55% 2026-10-22T20:14:28.8975947Z (Reading database ... 60% 2026-10-22T20:14:28.8976073Z (Reading database ... 65% 2026-10-22T20:14:28.8976214Z (Reading database ... 70% 2026-10-22T20:14:28.8976345Z (Reading database ... 75% 2026-10-22T20:14:28.8976471Z (Reading database ... 80% 2026-10-22T20:14:28.8976614Z (Reading database ... 85% 2026-10-22T20:14:28.8976746Z (Reading database ... 90% 2026-10-22T20:14:28.8976883Z (Reading database ... 95% 2026-10-22T20:14:28.8977015Z (Reading database ... 100% 2026-10-22T20:14:28.8977213Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8977573Z Preparing to unpack .../libmount1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8977953Z Unpacking libmount1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8978362Z Setting up libmount1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.8978630Z (Reading database ... 2026-10-22T20:14:28.8978848Z (Reading database ... 5% 2026-10-22T20:14:28.8979052Z (Reading database ... 10% 2026-10-22T20:14:28.8979299Z (Reading database ... 15% 2026-10-22T20:14:28.8979496Z (Reading database ... 20% 2026-10-22T20:14:28.8979716Z (Reading database ... 25% 2026-10-22T20:14:28.8979941Z (Reading database ... 30% 2026-10-22T20:14:28.8980156Z (Reading database ... 35% 2026-10-22T20:14:28.8980576Z (Reading database ... 40% 2026-10-22T20:14:28.8980786Z (Reading database ... 45% 2026-10-22T20:14:28.8981005Z (Reading database ... 50% 2026-10-22T20:14:28.8981233Z (Reading database ... 55% 2026-10-22T20:14:28.8981456Z (Reading database ... 60% 2026-10-22T20:14:28.8981681Z (Reading database ... 65% 2026-10-22T20:14:28.8981899Z (Reading database ... 70% 2026-10-22T20:14:28.8982127Z (Reading database ... 75% 2026-10-22T20:14:28.8982348Z (Reading database ... 80% 2026-10-22T20:14:28.8982569Z (Reading database ... 85% 2026-10-22T20:14:28.8982793Z (Reading database ... 90% 2026-10-22T20:14:28.8983007Z (Reading database ... 95% 2026-10-22T20:14:28.8983733Z (Reading database ... 100% 2026-10-22T20:14:28.8984044Z (Reading database ... 207973 files and directories currently installed.) 2026-10-22T20:14:28.8984629Z Preparing to unpack .../00-eject_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.8985091Z Unpacking eject (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.8985788Z Preparing to unpack .../01-libglib2.0-data_2.80.0-6ubuntu3.10_all.deb ... 2026-10-22T20:14:28.8986330Z Unpacking libglib2.0-data (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-22T20:14:28.9004579Z Preparing to unpack .../02-libglib2.0-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-22T20:14:28.9005049Z Unpacking libglib2.0-bin (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-22T20:14:28.9005478Z Preparing to unpack .../03-gir1.2-glib-2.0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-22T20:14:28.9005905Z Unpacking gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-22T20:14:28.9006378Z Preparing to unpack .../04-libglib2.0-0t64_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-22T20:14:28.9006803Z Unpacking libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-22T20:14:28.9007210Z Preparing to unpack .../05-libfdisk1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.9007639Z Unpacking libfdisk1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.9008043Z Preparing to unpack .../06-bsdextrautils_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.9008579Z Unpacking bsdextrautils (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.9008970Z Preparing to unpack .../07-fdisk_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.9009331Z Unpacking fdisk (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-22T20:14:28.9009689Z Selecting previously unselected package libsecret-common. 2026-10-22T20:14:28.9010070Z Preparing to unpack .../08-libsecret-common_0.21.4-1build3_all.deb ... 2026-10-22T20:14:28.9010433Z Unpacking libsecret-common (0.21.4-1build3) ... 2026-10-22T20:14:28.9010656Z Selecting previously unselected package libsecret-1-0:amd64. 2026-10-22T20:14:28.9010895Z Preparing to unpack .../09-libsecret-1-0_0.21.4-1build3_amd64.deb ... 2026-10-22T20:14:28.9011110Z Unpacking libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-22T20:14:28.9011327Z Selecting previously unselected package gir1.2-secret-1:amd64. 2026-10-22T20:14:28.9011575Z Preparing to unpack .../10-gir1.2-secret-1_0.21.4-1build3_amd64.deb ... 2026-10-22T20:14:28.9011802Z Unpacking gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-22T20:14:28.9012186Z Selecting previously unselected package libgpg-error-dev. 2026-10-22T20:14:28.9012581Z Preparing to unpack .../11-libgpg-error-dev_1.47-3build2.1_amd64.deb ... 2026-10-22T20:14:28.9012943Z Unpacking libgpg-error-dev (1.47-3build2.1) ... 2026-10-22T20:14:28.9013250Z Selecting previously unselected package libgcrypt20-dev. 2026-10-22T20:14:28.9013619Z Preparing to unpack .../12-libgcrypt20-dev_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-22T20:14:28.9014021Z Unpacking libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-22T20:14:28.9014396Z Selecting previously unselected package libgirepository-2.0-0:amd64. 2026-10-22T20:14:28.9014835Z Preparing to unpack .../13-libgirepository-2.0-0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-22T20:14:28.9015270Z Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9015633Z Selecting previously unselected package libglib2.0-dev-bin. 2026-10-22T20:14:28.9016052Z Preparing to unpack .../14-libglib2.0-dev-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-22T20:14:28.9016429Z Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9016775Z Selecting previously unselected package uuid-dev:amd64. 2026-10-22T20:14:28.9017120Z Preparing to unpack .../15-uuid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.9017454Z Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9017784Z Selecting previously unselected package libblkid-dev:amd64. 2026-10-22T20:14:28.9018612Z Preparing to unpack .../16-libblkid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.9018971Z Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9019312Z Selecting previously unselected package libsepol-dev:amd64. 2026-10-22T20:14:28.9019686Z Preparing to unpack .../17-libsepol-dev_3.5-2build1_amd64.deb ... 2026-10-22T20:14:28.9020017Z Unpacking libsepol-dev:amd64 (3.5-2build1) ... 2026-10-22T20:14:28.9020571Z Selecting previously unselected package libselinux1-dev:amd64. 2026-10-22T20:14:28.9020956Z Preparing to unpack .../18-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ... 2026-10-22T20:14:28.9021659Z Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-22T20:14:28.9021992Z Selecting previously unselected package libmount-dev:amd64. 2026-10-22T20:14:28.9022370Z Preparing to unpack .../19-libmount-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-22T20:14:28.9022718Z Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9022928Z Selecting previously unselected package libglib2.0-dev:amd64. 2026-10-22T20:14:28.9023176Z Preparing to unpack .../20-libglib2.0-dev_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-22T20:14:28.9023409Z Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9023624Z Selecting previously unselected package libsecret-1-dev:amd64. 2026-10-22T20:14:28.9023859Z Preparing to unpack .../21-libsecret-1-dev_0.21.4-1build3_amd64.deb ... 2026-10-22T20:14:28.9024089Z Unpacking libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-22T20:14:28.9024275Z Setting up bsdextrautils (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9024469Z Setting up eject (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9024652Z Setting up libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9024851Z Setting up libglib2.0-data (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9025044Z Setting up libgpg-error-dev (1.47-3build2.1) ... 2026-10-22T20:14:28.9025231Z Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9025418Z Setting up libsepol-dev:amd64 (3.5-2build1) ... 2026-10-22T20:14:28.9025627Z Setting up gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9025824Z Setting up libfdisk1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9026000Z Setting up mount (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9026184Z Setting up uuid-runtime (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9026405Z uuidd.service is a disabled or a static unit not running, not starting it. 2026-10-22T20:14:28.9026698Z Setting up libsecret-common (0.21.4-1build3) ... 2026-10-22T20:14:28.9026981Z Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9027188Z Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9027400Z Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9027635Z Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-22T20:14:28.9027842Z Setting up libglib2.0-bin (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9028032Z Setting up fdisk (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9028292Z Setting up libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-22T20:14:28.9028479Z Setting up gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-22T20:14:28.9028667Z Setting up libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-22T20:14:28.9028852Z Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-22T20:14:28.9029054Z Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-22T20:14:28.9029254Z Setting up libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-22T20:14:28.9029458Z Processing triggers for libc-bin (2.39-0ubuntu8.8) ... 2026-10-22T20:14:28.9029660Z Processing triggers for man-db (2.12.0-4build2) ... 2026-10-22T20:14:28.9029859Z Not building database; man-db/auto-update is not 'true'. 2026-10-22T20:14:28.9030069Z Processing triggers for install-info (7.1-3build2) ... 2026-10-22T20:14:28.9030200Z 2026-10-22T20:14:28.9030257Z Restarting services... 2026-10-22T20:14:28.9030981Z 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-udevd.service udisks2.service 2026-10-22T20:14:28.9031617Z Failed to restart systemd-manager.service: Unit systemd-manager.service not found. 2026-10-22T20:14:28.9031788Z 2026-10-22T20:14:28.9031873Z Service restarts being deferred: 2026-10-22T20:14:28.9032089Z systemctl restart ModemManager.service 2026-10-22T20:14:28.9032254Z systemctl restart dbus.service 2026-10-22T20:14:28.9032406Z systemctl restart getty@tty1.service 2026-10-22T20:14:28.9032690Z systemctl restart networkd-dispatcher.service 2026-10-22T20:14:28.9032877Z systemctl restart serial-getty@ttyS0.service 2026-10-22T20:14:28.9033070Z systemctl restart setup_and_run_blacksmith.service 2026-10-22T20:14:28.9033252Z systemctl restart systemd-logind.service 2026-10-22T20:14:28.9033367Z 2026-10-22T20:14:28.9033437Z No containers need to be restarted. 2026-10-22T20:14:28.9033533Z 2026-10-22T20:14:28.9033603Z User sessions running outdated binaries: 2026-10-22T20:14:28.9033780Z runner @ user manager service: systemd[1844] 2026-10-22T20:14:28.9033888Z 2026-10-22T20:14:28.9033996Z No VM guests are running outdated hypervisor (qemu) binaries on this host. 2026-10-22T20:14:28.9072116Z ##[group]Run vp run build:desktop 2026-10-22T20:14:28.9072393Z vp run build:desktop 2026-10-22T20:14:28.9099534Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:28.9099765Z env: 2026-10-22T20:14:28.9099939Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:28.9100176Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:28.9100637Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:28.9100800Z ##[endgroup] 2026-10-22T20:14:29.2404675Z ~/apps/web$ vp build ⊘ cache disabled 2026-10-22T20:14:30.6756043Z transforming... 2026-10-22T20:14:37.7143622Z ✓ 6657 modules transformed. 2026-10-22T20:14:39.4862433Z rendering chunks... 2026-10-22T20:14:45.4344297Z computing gzip size... 2026-10-22T20:14:45.5822665Z dist/assets/ghostty-write-pty-hgyAvVbe.wasm 0.11 kB │ gzip: 0.12 kB 2026-10-22T20:14:45.5902945Z dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB 2026-10-22T20:14:45.5982324Z dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB 2026-10-22T20:14:45.5982825Z dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB 2026-10-22T20:14:45.5983218Z dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB 2026-10-22T20:14:45.5983645Z dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB 2026-10-22T20:14:45.5984055Z dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB 2026-10-22T20:14:45.5984342Z dist/assets/snap-shot-click-CJiuxMEv.mp3 6.38 kB 2026-10-22T20:14:45.5984681Z dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB 2026-10-22T20:14:45.5985144Z dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB 2026-10-22T20:14:45.5985488Z dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB 2026-10-22T20:14:45.5985754Z dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB 2026-10-22T20:14:45.5986206Z dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB 2026-10-22T20:14:45.5986773Z dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB 2026-10-22T20:14:45.5987098Z dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB 2026-10-22T20:14:45.5987381Z dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB 2026-10-22T20:14:45.5987661Z dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB 2026-10-22T20:14:45.5987998Z dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB 2026-10-22T20:14:45.5988294Z dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB 2026-10-22T20:14:45.5988611Z dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB 2026-10-22T20:14:45.5988922Z dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB 2026-10-22T20:14:45.5989354Z dist/assets/notification-input-BJS4voY1.mp3 11.63 kB 2026-10-22T20:14:45.5989950Z dist/assets/notification-completion-vyCCbYsz.mp3 11.94 kB 2026-10-22T20:14:45.5990457Z dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB 2026-10-22T20:14:45.5990939Z dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB 2026-10-22T20:14:45.5991344Z dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB 2026-10-22T20:14:45.5991607Z dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB 2026-10-22T20:14:45.5991904Z dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB 2026-10-22T20:14:45.5992373Z dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB 2026-10-22T20:14:45.6033807Z dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB 2026-10-22T20:14:45.6082278Z dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB 2026-10-22T20:14:45.6142876Z dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB 2026-10-22T20:14:45.6222480Z dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB 2026-10-22T20:14:45.6303437Z dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB 2026-10-22T20:14:45.6346548Z dist/assets/snap-shot-whoosh-CQZ59XJc.mp3 15.02 kB 2026-10-22T20:14:45.6387173Z dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB 2026-10-22T20:14:45.6430341Z dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB 2026-10-22T20:14:45.6522614Z dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB 2026-10-22T20:14:45.6622488Z dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB 2026-10-22T20:14:45.6664580Z dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB 2026-10-22T20:14:45.6743152Z dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB 2026-10-22T20:14:45.6782808Z dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB 2026-10-22T20:14:45.6863009Z dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB 2026-10-22T20:14:45.6902639Z dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB 2026-10-22T20:14:45.6943295Z dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB 2026-10-22T20:14:45.6982696Z dist/index.html 19.49 kB │ gzip: 5.03 kB 2026-10-22T20:14:45.7022213Z dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB 2026-10-22T20:14:45.7062551Z dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB 2026-10-22T20:14:45.7102098Z dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB 2026-10-22T20:14:45.7142882Z dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB 2026-10-22T20:14:45.7182442Z dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB 2026-10-22T20:14:45.7262436Z dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB 2026-10-22T20:14:45.7342448Z dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB 2026-10-22T20:14:45.7382742Z dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB 2026-10-22T20:14:45.7462752Z dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB 2026-10-22T20:14:45.7502352Z dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB 2026-10-22T20:14:45.7543651Z dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB 2026-10-22T20:14:45.7582673Z dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB 2026-10-22T20:14:45.7662681Z dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB 2026-10-22T20:14:45.7742414Z dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB 2026-10-22T20:14:45.7822262Z dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB 2026-10-22T20:14:45.7822914Z dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB 2026-10-22T20:14:45.7823377Z dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB 2026-10-22T20:14:45.7823899Z dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB 2026-10-22T20:14:45.7824346Z dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB 2026-10-22T20:14:45.7825405Z dist/.vite/manifest.json 297.06 kB │ gzip: 30.94 kB 2026-10-22T20:14:45.7825963Z dist/assets/ghostty-vt-DdA0Zryv.wasm 630.93 kB │ gzip: 187.91 kB 2026-10-22T20:14:45.7826576Z dist/assets/worker-3-uhxiAg.js 836.41 kB 2026-10-22T20:14:45.7827214Z dist/third-party-licenses.json 852.62 kB │ gzip: 102.38 kB 2026-10-22T20:14:45.7827716Z dist/assets/SymbolsNerdFontMono-Regular-aK5vsLov.woff2 1,177.57 kB 2026-10-22T20:14:45.7828171Z dist/assets/ipad-pro-13-m5-DCWznkpd.glb 1,815.87 kB 2026-10-22T20:14:45.7828588Z dist/assets/ipad-pro-13-m5-magic-keyboard-l8da3bBi.glb 2,341.88 kB 2026-10-22T20:14:45.7829050Z dist/assets/iphone-18-pro-max-B3H2Zbeg.glb 2,399.02 kB 2026-10-22T20:14:45.7829466Z dist/assets/iphone-18-pro-Crheuaz9.glb 2,422.54 kB 2026-10-22T20:14:45.7829910Z dist/assets/iphone-duo-Cu4Xx1NH.glb 3,097.72 kB 2026-10-22T20:14:45.7830497Z dist/assets/MathTypeset-DEcVZfaU.css 28.83 kB │ gzip: 7.92 kB 2026-10-22T20:14:45.7831029Z dist/assets/main-aCsIvNdA.css 527.32 kB │ gzip: 70.75 kB 2026-10-22T20:14:45.7831556Z dist/assets/JZOYTAAL-k02Y8gvu.js 0.05 kB │ gzip: 0.07 kB 2026-10-22T20:14:45.7833164Z dist/assets/_chat.draft._draftId-DJ7LAi8J.js 0.09 kB │ gzip: 0.11 kB │ map: 0.55 kB 2026-10-22T20:14:45.7834027Z dist/assets/legalLinks-BaIJY52l.js 0.10 kB │ gzip: 0.12 kB │ map: 0.24 kB 2026-10-22T20:14:45.7834666Z dist/assets/_chat._environmentId._threadId-DJ7LAi8J.js 0.10 kB │ gzip: 0.12 kB │ map: 0.57 kB 2026-10-22T20:14:45.7835299Z dist/assets/minus-DKH4hjj6.js 0.15 kB │ gzip: 0.16 kB │ map: 0.79 kB 2026-10-22T20:14:45.7835878Z dist/assets/circle-CaCHYqvF.js 0.17 kB │ gzip: 0.16 kB │ map: 0.84 kB 2026-10-22T20:14:45.7836521Z dist/assets/chevron-up-Bb8vaQ3u.js 0.17 kB │ gzip: 0.17 kB │ map: 0.83 kB 2026-10-22T20:14:45.7837142Z dist/assets/chevron-left-DHLa5DiV.js 0.17 kB │ gzip: 0.17 kB │ map: 0.84 kB 2026-10-22T20:14:45.7837734Z dist/assets/x-C6h0h8O_.js 0.19 kB │ gzip: 0.18 kB │ map: 0.87 kB 2026-10-22T20:14:45.7838330Z dist/assets/loader-circle-BbME6w-x.js 0.19 kB │ gzip: 0.18 kB │ map: 0.87 kB 2026-10-22T20:14:45.7838926Z dist/assets/plus-CKiABgGf.js 0.19 kB │ gzip: 0.18 kB │ map: 0.89 kB 2026-10-22T20:14:45.7839557Z dist/assets/FieldItemContext-D7F7CWCg.js 0.19 kB │ gzip: 0.18 kB │ map: 0.88 kB 2026-10-22T20:14:45.7840186Z dist/assets/itemRows-DNgi4sqO.js 0.20 kB │ gzip: 0.17 kB │ map: 0.43 kB 2026-10-22T20:14:45.7840881Z dist/assets/RVARI57O-CgA1WoRv.js 0.20 kB │ gzip: 0.19 kB │ map: 0.64 kB 2026-10-22T20:14:45.7841482Z dist/assets/arrow-up-iBwWdwXz.js 0.20 kB │ gzip: 0.19 kB │ map: 0.92 kB 2026-10-22T20:14:45.7842118Z dist/assets/terminal-N1ttVNM9.js 0.20 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-22T20:14:45.7842714Z dist/assets/arrow-down-BpAp1H7y.js 0.21 kB │ gzip: 0.19 kB │ map: 0.93 kB 2026-10-22T20:14:45.7843344Z dist/assets/arrow-right-JjDqycuq.js 0.21 kB │ gzip: 0.19 kB │ map: 0.94 kB 2026-10-22T20:14:45.7843908Z dist/assets/gauge-BpqJvaWG.js 0.21 kB │ gzip: 0.20 kB │ map: 0.92 kB 2026-10-22T20:14:45.7844507Z dist/assets/play-ZOfoiINU.js 0.22 kB │ gzip: 0.21 kB │ map: 0.90 kB 2026-10-22T20:14:45.7845290Z dist/assets/smartphone-UhtwfBhN.js 0.24 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-22T20:14:45.7845886Z dist/assets/undo-2-DGh3CBmO.js 0.24 kB │ gzip: 0.21 kB │ map: 0.96 kB 2026-10-22T20:14:45.7846539Z dist/assets/circle-x-B0qjd8cM.js 0.25 kB │ gzip: 0.21 kB │ map: 1.05 kB 2026-10-22T20:14:45.7847210Z dist/assets/authRedirect-DWE5a_T9.js 0.25 kB │ gzip: 0.18 kB │ map: 1.23 kB 2026-10-22T20:14:45.7847815Z dist/assets/useNavigate-BUBIzAKV.js 0.26 kB │ gzip: 0.22 kB │ map: 2.30 kB 2026-10-22T20:14:45.7848423Z dist/assets/useSearch-kXgHZ2sQ.js 0.26 kB │ gzip: 0.20 kB │ map: 1.53 kB 2026-10-22T20:14:45.7849052Z dist/assets/circle-arrow-up-Cii4Wrnf.js 0.26 kB │ gzip: 0.22 kB │ map: 1.11 kB 2026-10-22T20:14:45.7849676Z dist/assets/ellipsis-KoBCGSaG.js 0.26 kB │ gzip: 0.19 kB │ map: 1.13 kB 2026-10-22T20:14:45.7850270Z dist/assets/log-in-eAb76HDx.js 0.27 kB │ gzip: 0.22 kB │ map: 1.04 kB 2026-10-22T20:14:45.7850912Z dist/assets/cloneFileDiffMetadata-zVRGqYgv.js 0.27 kB │ gzip: 0.19 kB │ map: 1.23 kB 2026-10-22T20:14:45.7852099Z dist/assets/copy-D8I86qNy.js 0.27 kB │ gzip: 0.24 kB │ map: 1.04 kB 2026-10-22T20:14:45.7852869Z dist/assets/ellipsis-vertical-lNAaDwyH.js 0.28 kB │ gzip: 0.20 kB │ map: 1.19 kB 2026-10-22T20:14:45.7853494Z dist/assets/square-terminal-BHOQFwzj.js 0.29 kB │ gzip: 0.24 kB │ map: 1.18 kB 2026-10-22T20:14:45.7854096Z dist/assets/eye-BkpvNL6R.js 0.29 kB │ gzip: 0.23 kB │ map: 1.05 kB 2026-10-22T20:14:45.7854670Z dist/assets/circle-alert-D2xd10fD.js 0.29 kB │ gzip: 0.22 kB │ map: 1.20 kB 2026-10-22T20:14:45.7855293Z dist/assets/external-link-DFt3Pjuk.js 0.29 kB │ gzip: 0.23 kB │ map: 1.10 kB 2026-10-22T20:14:45.7855901Z dist/assets/mouse-pointer-2-BYXo2nSz.js 0.30 kB │ gzip: 0.25 kB │ map: 1.02 kB 2026-10-22T20:14:45.7859050Z dist/assets/pencil-BWMy7xyN.js 0.31 kB │ gzip: 0.26 kB │ map: 1.06 kB 2026-10-22T20:14:45.7859636Z dist/assets/pen-line-C1_pNRsL.js 0.32 kB │ gzip: 0.25 kB │ map: 1.07 kB 2026-10-22T20:14:45.7860187Z dist/assets/plug-2-BdbiiMxs.js 0.32 kB │ gzip: 0.24 kB │ map: 1.21 kB 2026-10-22T20:14:45.7942500Z dist/assets/list-checks-CTA5KhK9.js 0.32 kB │ gzip: 0.22 kB │ map: 1.24 kB 2026-10-22T20:14:45.7943182Z dist/assets/FormContext-Dp9as5wo.js 0.33 kB │ gzip: 0.26 kB │ map: 1.13 kB 2026-10-22T20:14:45.7943756Z dist/assets/search-De3drblR.js 0.33 kB │ gzip: 0.25 kB │ map: 1.80 kB 2026-10-22T20:14:45.7944363Z dist/assets/archive-x-D6HEmZMr.js 0.34 kB │ gzip: 0.26 kB │ map: 1.24 kB 2026-10-22T20:14:45.7945056Z dist/assets/settings.general-dhYSvITO.js 0.36 kB │ gzip: 0.28 kB │ map: 0.84 kB 2026-10-22T20:14:45.7945698Z dist/assets/message-square-off-BXuqxzYn.js 0.36 kB │ gzip: 0.27 kB │ map: 1.22 kB 2026-10-22T20:14:45.7946353Z dist/assets/refresh-cw-DCz0BQm-.js 0.36 kB │ gzip: 0.26 kB │ map: 1.22 kB 2026-10-22T20:14:45.7946919Z dist/assets/trash-2-CRN78Gcr.js 0.37 kB │ gzip: 0.24 kB │ map: 1.27 kB 2026-10-22T20:14:45.7947470Z dist/assets/camera-DT3TYDgL.js 0.37 kB │ gzip: 0.28 kB │ map: 1.15 kB 2026-10-22T20:14:45.7948028Z dist/assets/server-_j08gBzE.js 0.37 kB │ gzip: 0.24 kB │ map: 1.43 kB 2026-10-22T20:14:45.7948623Z dist/assets/unlink-2-KSjeGNrS.js 0.39 kB │ gzip: 0.27 kB │ map: 1.83 kB 2026-10-22T20:14:45.7949193Z dist/assets/useLocation-DYcHpLfA.js 0.39 kB │ gzip: 0.28 kB │ map: 2.27 kB 2026-10-22T20:14:45.7949788Z dist/assets/lock-pjiXDZmE.js 0.40 kB │ gzip: 0.25 kB │ map: 1.93 kB 2026-10-22T20:14:45.7950419Z dist/assets/settings.scheduled-tasks-CqMD73RU.js 0.40 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-22T20:14:45.7951089Z dist/assets/toastHelpers-CSQRKo4F.js 0.40 kB │ gzip: 0.26 kB │ map: 2.12 kB 2026-10-22T20:14:45.7951740Z dist/assets/useT3ConnectAuthPrompt-CXLrMwyo.js 0.41 kB │ gzip: 0.30 kB │ map: 0.95 kB 2026-10-22T20:14:45.7952416Z dist/assets/grip-vertical-B5Aftk_r.js 0.41 kB │ gzip: 0.23 kB │ map: 1.57 kB 2026-10-22T20:14:45.7953226Z dist/assets/previewBridge-oyyhkswp.js 0.42 kB │ gzip: 0.29 kB │ map: 1.92 kB 2026-10-22T20:14:45.7954052Z dist/assets/K3MD6TGW-7tvveHze.js 0.42 kB │ gzip: 0.32 kB │ map: 1.02 kB 2026-10-22T20:14:45.7957433Z dist/assets/hammer-B7EFjYlp.js 0.43 kB │ gzip: 0.31 kB │ map: 1.24 kB 2026-10-22T20:14:45.7969699Z dist/assets/inbox-CN3ya0vW.js 0.44 kB │ gzip: 0.32 kB │ map: 1.89 kB 2026-10-22T20:14:45.7970300Z dist/assets/mouse-pointer-click-Cj6AcOdh.js 0.46 kB │ gzip: 0.31 kB │ map: 1.46 kB 2026-10-22T20:14:45.7970911Z dist/assets/eye-off-CoD5Qb_C.js 0.47 kB │ gzip: 0.30 kB │ map: 1.37 kB 2026-10-22T20:14:45.7971505Z dist/assets/sliders-horizontal-DsxPTnDn.js 0.47 kB │ gzip: 0.27 kB │ map: 1.68 kB 2026-10-22T20:14:45.7972089Z dist/assets/folder-DJ3YbjP0.js 0.48 kB │ gzip: 0.32 kB │ map: 1.87 kB 2026-10-22T20:14:45.7972691Z dist/assets/fileCommentAnnotations-BgdL_7u9.js 0.48 kB │ gzip: 0.30 kB │ map: 2.48 kB 2026-10-22T20:14:45.7973331Z dist/assets/redirect-D3L17tzd.js 0.49 kB │ gzip: 0.32 kB │ map: 3.46 kB 2026-10-22T20:14:45.7973924Z dist/assets/radio-tower-BjpCdYTW.js 0.50 kB │ gzip: 0.33 kB │ map: 1.58 kB 2026-10-22T20:14:45.7974529Z dist/assets/star-B3-Y5zhu.js 0.51 kB │ gzip: 0.32 kB │ map: 1.18 kB 2026-10-22T20:14:45.7975081Z dist/assets/file-braces-C39X6fyK.js 0.51 kB │ gzip: 0.30 kB │ map: 1.44 kB 2026-10-22T20:14:45.7975678Z dist/assets/5THPTBWS-Ce_hS451.js 0.52 kB │ gzip: 0.34 kB │ map: 1.60 kB 2026-10-22T20:14:45.7976323Z dist/assets/folder-tree-EiJK-cbZ.js 0.52 kB │ gzip: 0.30 kB │ map: 1.45 kB 2026-10-22T20:14:45.7976927Z dist/assets/ScopedSwitch-BTD0kHay.js 0.53 kB │ gzip: 0.39 kB │ map: 1.47 kB 2026-10-22T20:14:45.7977541Z dist/assets/sparkles-Cx2EeeLK.js 0.53 kB │ gzip: 0.31 kB │ map: 1.44 kB 2026-10-22T20:14:45.7978180Z dist/assets/browserLinkTarget-DczsjImS.js 0.53 kB │ gzip: 0.36 kB │ map: 2.48 kB 2026-10-22T20:14:45.7978837Z dist/assets/TSHNXIZL-D2lxK_E-.js 0.53 kB │ gzip: 0.39 kB │ map: 1.34 kB 2026-10-22T20:14:45.7979443Z dist/assets/onboarding-CexkjCSB.js 0.54 kB │ gzip: 0.32 kB │ map: 2.20 kB 2026-10-22T20:14:45.7980006Z dist/assets/rows-3-BNRz_a7U.js 0.54 kB │ gzip: 0.32 kB │ map: 2.87 kB 2026-10-22T20:14:45.8022895Z dist/assets/triangle-alert-wgg9zXpD.js 0.58 kB │ gzip: 0.33 kB │ map: 2.93 kB 2026-10-22T20:14:45.8023559Z dist/assets/useAriaLabelledBy-DU4oaXB_.js 0.58 kB │ gzip: 0.40 kB │ map: 3.53 kB 2026-10-22T20:14:45.8024175Z dist/assets/paintbrush-ByEmbEIN.js 0.58 kB │ gzip: 0.37 kB │ map: 1.44 kB 2026-10-22T20:14:45.8024781Z dist/assets/codeowners-C8r90Shi.js 0.58 kB │ gzip: 0.34 kB │ map: 1.09 kB 2026-10-22T20:14:45.8025346Z dist/assets/G3MDBVQH-BZmnMkFw.js 0.60 kB │ gzip: 0.38 kB │ map: 1.76 kB 2026-10-22T20:14:45.8025896Z dist/assets/trending-up-Zar6-H_A.js 0.60 kB │ gzip: 0.34 kB │ map: 2.90 kB 2026-10-22T20:14:45.8026525Z dist/assets/use-atom-command-Dlv38TgH.js 0.60 kB │ gzip: 0.39 kB │ map: 1.86 kB 2026-10-22T20:14:45.8027088Z dist/assets/usageAccess-8PM_sQeH.js 0.62 kB │ gzip: 0.33 kB │ map: 2.05 kB 2026-10-22T20:14:45.8027628Z dist/assets/square-BInYzWOk.js 0.63 kB │ gzip: 0.39 kB │ map: 3.08 kB 2026-10-22T20:14:45.8028175Z dist/assets/composerTrigger-BP81K-4K.js 0.63 kB │ gzip: 0.38 kB │ map: 6.62 kB 2026-10-22T20:14:45.8029530Z dist/assets/jsx-runtime-DVMLLmEC.js 0.64 kB │ gzip: 0.44 kB │ map: 3.54 kB 2026-10-22T20:14:45.8030258Z dist/assets/5GK6JWQ2-DbcY2PEJ.js 0.64 kB │ gzip: 0.47 kB │ map: 1.68 kB 2026-10-22T20:14:45.8030872Z dist/assets/runtimeModeConfig-Dc5Vc3VA.js 0.64 kB │ gzip: 0.38 kB │ map: 1.52 kB 2026-10-22T20:14:45.8031489Z dist/assets/monitor-CdfAZHdn.js 0.64 kB │ gzip: 0.42 kB │ map: 2.90 kB 2026-10-22T20:14:45.8032078Z dist/assets/upload-DBysyaE6.js 0.67 kB │ gzip: 0.40 kB │ map: 2.48 kB 2026-10-22T20:14:45.8032700Z dist/assets/WorkspacePageContainer-D1a6sMNZ.js 0.67 kB │ gzip: 0.48 kB │ map: 2.06 kB 2026-10-22T20:14:45.8033448Z dist/assets/CSPContext-L0FF4knb.js 0.71 kB │ gzip: 0.47 kB │ map: 4.09 kB 2026-10-22T20:14:45.8034591Z dist/assets/use-atom-query-runner-DpmnX5eh.js 0.71 kB │ gzip: 0.44 kB │ map: 2.46 kB 2026-10-22T20:14:45.8035297Z dist/assets/skeleton-BbifEpoy.js 0.72 kB │ gzip: 0.48 kB │ map: 1.79 kB 2026-10-22T20:14:45.8035863Z dist/assets/layers-BMVCHmYY.js 0.73 kB │ gzip: 0.39 kB │ map: 2.42 kB 2026-10-22T20:14:45.8036481Z dist/assets/pullRequestIcons-CQ83H8cW.js 0.75 kB │ gzip: 0.39 kB │ map: 2.40 kB 2026-10-22T20:14:45.8037118Z dist/assets/shellsession-B6LP6YJG.js 0.76 kB │ gzip: 0.46 kB │ map: 1.37 kB 2026-10-22T20:14:45.8037731Z dist/assets/usageShortcuts-B23rHJ9f.js 0.76 kB │ gzip: 0.44 kB │ map: 2.41 kB 2026-10-22T20:14:45.8038281Z dist/assets/tsv-sltzmVWM.js 0.77 kB │ gzip: 0.37 kB │ map: 1.38 kB 2026-10-22T20:14:45.8039195Z dist/assets/MathTypeset-CrdO7gSd.js 0.82 kB │ gzip: 0.56 kB │ map: 26.87 kB 2026-10-22T20:14:45.8040510Z dist/assets/DKTLEL5E-DciMwFJ1.js 0.87 kB │ gzip: 0.43 kB │ map: 2.42 kB 2026-10-22T20:14:45.8041793Z dist/assets/useNavigateBack-D6E7B5tj.js 0.88 kB │ gzip: 0.56 kB │ map: 3.67 kB 2026-10-22T20:14:45.8042940Z dist/assets/pair-DtWqiTfz.js 0.88 kB │ gzip: 0.55 kB │ map: 3.77 kB 2026-10-22T20:14:45.8043546Z dist/assets/html-derivative-QfWcQxux.js 0.89 kB │ gzip: 0.49 kB │ map: 1.46 kB 2026-10-22T20:14:45.8044186Z dist/assets/useRelativeTimeState-B8Lvd7C7.js 0.90 kB │ gzip: 0.54 kB │ map: 3.30 kB 2026-10-22T20:14:45.8047020Z dist/assets/SecretInput-CX_mlTfY.js 0.90 kB │ gzip: 0.59 kB │ map: 2.97 kB 2026-10-22T20:14:45.8047852Z dist/assets/linkedPrompt-CwIbJltv.js 0.91 kB │ gzip: 0.53 kB │ map: 2.66 kB 2026-10-22T20:14:45.8048465Z dist/assets/kbd-C24OLs4y.js 0.99 kB │ gzip: 0.51 kB │ map: 2.57 kB 2026-10-22T20:14:45.8049080Z dist/assets/useScopedModelAvailability-DNhDkAGV.js 0.99 kB │ gzip: 0.60 kB │ map: 4.94 kB 2026-10-22T20:14:45.8049758Z dist/assets/74OO7NKP-BXYc5Yxr.js 1.01 kB │ gzip: 0.62 kB │ map: 2.78 kB 2026-10-22T20:14:45.8050362Z dist/assets/draft-input-CbtyBqNv.js 1.02 kB │ gzip: 0.66 kB │ map: 4.35 kB 2026-10-22T20:14:45.8050969Z dist/assets/git-rebase-Bl-U2xaZ.js 1.03 kB │ gzip: 0.47 kB │ map: 1.72 kB 2026-10-22T20:14:45.8051573Z dist/assets/qmldir-DCQb3MpD.js 1.03 kB │ gzip: 0.48 kB │ map: 1.74 kB 2026-10-22T20:14:45.8052155Z dist/assets/WEVWDWVA-ZeCTN846.js 1.07 kB │ gzip: 0.57 kB │ map: 2.98 kB 2026-10-22T20:14:45.8052707Z dist/assets/type-Ekh0FF1c.js 1.08 kB │ gzip: 0.53 kB │ map: 4.84 kB 2026-10-22T20:14:45.8054456Z dist/assets/git-pull-request-draft-xsTIjZxi.js 1.09 kB │ gzip: 0.45 kB │ map: 5.05 kB 2026-10-22T20:14:45.8055415Z dist/assets/user-lock-CLWgU1JP.js 1.09 kB │ gzip: 0.50 kB │ map: 4.74 kB 2026-10-22T20:14:45.8055952Z dist/assets/sun-CAihxMFD.js 1.12 kB │ gzip: 0.53 kB │ map: 4.01 kB 2026-10-22T20:14:45.8056537Z dist/assets/route-BbU3-y4j.js 1.13 kB │ gzip: 0.51 kB │ map: 4.41 kB 2026-10-22T20:14:45.8057153Z dist/assets/pullRequestReviewStore-CCs6rV-u.js 1.15 kB │ gzip: 0.57 kB │ map: 5.66 kB 2026-10-22T20:14:45.8057739Z dist/assets/wrench-Cxir1Ryg.js 1.15 kB │ gzip: 0.57 kB │ map: 3.90 kB 2026-10-22T20:14:45.8058307Z dist/assets/csv-Dx-8-gkx.js 1.17 kB │ gzip: 0.40 kB │ map: 2.00 kB 2026-10-22T20:14:45.8058864Z dist/assets/observeResize-CUY4xcYe.js 1.19 kB │ gzip: 0.64 kB │ map: 5.33 kB 2026-10-22T20:14:45.8059495Z dist/assets/minimize-2-CaoxtzFK.js 1.21 kB │ gzip: 0.60 kB │ map: 5.47 kB 2026-10-22T20:14:45.8060121Z dist/assets/ExpandableText-BWOPQKGX.js 1.23 kB │ gzip: 0.78 kB │ map: 5.16 kB 2026-10-22T20:14:45.8060951Z dist/assets/git-commit-BSykSTBG.js 1.27 kB │ gzip: 0.56 kB │ map: 2.07 kB 2026-10-22T20:14:45.8061539Z dist/assets/WorkspacePageHeader-fdk_txty.js 1.30 kB │ gzip: 0.69 kB │ map: 4.15 kB 2026-10-22T20:14:45.8062148Z dist/assets/discovery-list-B2Nkc9ye.js 1.39 kB │ gzip: 0.76 kB │ map: 4.07 kB 2026-10-22T20:14:45.8062756Z dist/assets/xsl-Bqr2UbU6.js 1.40 kB │ gzip: 0.53 kB │ map: 2.22 kB 2026-10-22T20:14:45.8063378Z dist/assets/AuthSurfaceShell-BMGKb9q6.js 1.42 kB │ gzip: 0.76 kB │ map: 5.23 kB 2026-10-22T20:14:45.8063966Z dist/assets/semver-CFbvOQKc.js 1.42 kB │ gzip: 0.64 kB │ map: 9.55 kB 2026-10-22T20:14:45.8064510Z dist/assets/6IMQ5BUJ-D6KWdUZY.js 1.43 kB │ gzip: 0.80 kB │ map: 3.49 kB 2026-10-22T20:14:45.8065066Z dist/assets/dotenv-_5a1GRtc.js 1.45 kB │ gzip: 0.56 kB │ map: 2.34 kB 2026-10-22T20:14:45.8065632Z dist/assets/CommandBlock--RTY4n-E.js 1.48 kB │ gzip: 0.89 kB │ map: 4.75 kB 2026-10-22T20:14:45.8066234Z dist/assets/sparql-D_iOobhT.js 1.52 kB │ gzip: 0.84 kB │ map: 2.14 kB 2026-10-22T20:14:45.8066764Z dist/assets/ini-B5eOa1yu.js 1.55 kB │ gzip: 0.52 kB │ map: 2.47 kB 2026-10-22T20:14:45.8067298Z dist/assets/sourceControl-CQKqtPza.js 1.56 kB │ gzip: 0.52 kB │ map: 5.30 kB 2026-10-22T20:14:45.8067873Z dist/assets/RedactedSensitiveText-Bnw36Gu7.js 1.56 kB │ gzip: 0.96 kB │ map: 6.24 kB 2026-10-22T20:14:45.8068527Z dist/assets/previewMiniPlayerStore-B3hsdLs1.js 1.56 kB │ gzip: 0.70 kB │ map: 8.23 kB 2026-10-22T20:14:45.8069103Z dist/assets/FieldControl-3Uvw5n0g.js 1.63 kB │ gzip: 0.92 kB │ map: 9.07 kB 2026-10-22T20:14:45.8069705Z dist/assets/EnvironmentMachineIcon-C_mLGB43.js 1.66 kB │ gzip: 0.80 kB │ map: 4.92 kB 2026-10-22T20:14:45.8070270Z dist/assets/5N7A7DKN-BK3MF102.js 1.67 kB │ gzip: 0.96 kB │ map: 4.05 kB 2026-10-22T20:14:45.8070822Z dist/assets/preview-3Sbzo15S.js 1.71 kB │ gzip: 0.59 kB │ map: 6.09 kB 2026-10-22T20:14:45.8071399Z dist/assets/fortran-fixed-form-DEKoE2YW.js 1.71 kB │ gzip: 0.72 kB │ map: 2.77 kB 2026-10-22T20:14:45.8073470Z dist/assets/ConnectionStatusDot-zoxCeuQp.js 1.73 kB │ gzip: 0.92 kB │ map: 5.60 kB 2026-10-22T20:14:45.8074602Z dist/assets/T3ConnectSidebarSignIn-KJIpZ9Km.js 1.75 kB │ gzip: 0.81 kB │ map: 5.39 kB 2026-10-22T20:14:45.8075181Z dist/assets/docker-IyjqRm3v.js 1.77 kB │ gzip: 0.63 kB │ map: 2.65 kB 2026-10-22T20:14:45.8075706Z dist/assets/hxml-B0Qn7Nwc.js 1.78 kB │ gzip: 0.91 kB │ map: 2.51 kB 2026-10-22T20:14:45.8076345Z dist/assets/WorkspaceBreadcrumb-CtHqq5sR.js 1.80 kB │ gzip: 0.89 kB │ map: 5.93 kB 2026-10-22T20:14:45.8076938Z dist/assets/session-BfMCVXDa.js 1.81 kB │ gzip: 0.90 kB │ map: 8.91 kB 2026-10-22T20:14:45.8077497Z dist/assets/query-BDlW1eMA.js 1.81 kB │ gzip: 0.97 kB │ map: 8.50 kB 2026-10-22T20:14:45.8078068Z dist/assets/mediaSource-B8SYed7Z.js 1.84 kB │ gzip: 0.91 kB │ map: 9.78 kB 2026-10-22T20:14:45.8078661Z dist/assets/desktop-Dlh5hvp9.js 1.87 kB │ gzip: 0.78 kB │ map: 2.76 kB 2026-10-22T20:14:45.8079460Z dist/assets/user-round-D5TN81PF.js 1.87 kB │ gzip: 0.76 kB │ map: 8.43 kB 2026-10-22T20:14:45.8080134Z dist/assets/memory-stick-DaULCuUd.js 1.89 kB │ gzip: 0.78 kB │ map: 7.67 kB 2026-10-22T20:14:45.8080848Z dist/assets/chevron-right-DaKszrrm.js 1.96 kB │ gzip: 1.04 kB │ map: 11.56 kB 2026-10-22T20:14:45.8081528Z dist/assets/7WLXJQOR-D6QVYUu9.js 1.99 kB │ gzip: 1.00 kB │ map: 2.80 kB 2026-10-22T20:14:45.8082084Z dist/assets/spinner-CB6ikf8b.js 2.00 kB │ gzip: 0.98 kB │ map: 6.25 kB 2026-10-22T20:14:45.8082823Z dist/assets/attachments-CT96AqT6.js 2.05 kB │ gzip: 0.89 kB │ map: 10.19 kB 2026-10-22T20:14:45.8083559Z dist/assets/NoProjectsHero-CPyZCdFT.js 2.05 kB │ gzip: 1.06 kB │ map: 8.31 kB 2026-10-22T20:14:45.8086010Z dist/assets/textarea-COKZq-Rf.js 2.09 kB │ gzip: 1.04 kB │ map: 7.13 kB 2026-10-22T20:14:45.8086755Z dist/assets/ProviderAuthTerminal-D_bsMB7V.js 2.13 kB │ gzip: 1.13 kB │ map: 8.51 kB 2026-10-22T20:14:45.8087309Z dist/assets/erb-C0PT2tVJ.js 2.17 kB │ gzip: 0.65 kB │ map: 3.34 kB 2026-10-22T20:14:45.8087826Z dist/assets/5B3SVYGG-CpurHRUS.js 2.17 kB │ gzip: 1.10 kB │ map: 5.94 kB 2026-10-22T20:14:45.8088354Z dist/assets/wenyan-C8pVoKbM.js 2.19 kB │ gzip: 1.13 kB │ map: 3.19 kB 2026-10-22T20:14:45.8088932Z dist/assets/AnimatedHeight-DLPFOYBv.js 2.20 kB │ gzip: 1.11 kB │ map: 10.50 kB 2026-10-22T20:14:45.8089533Z dist/assets/assetUrls-kkBHyPOb.js 2.23 kB │ gzip: 1.16 kB │ map: 8.60 kB 2026-10-22T20:14:45.8090123Z dist/assets/jssm-DXw9l8Rf.js 2.27 kB │ gzip: 0.64 kB │ map: 3.39 kB 2026-10-22T20:14:45.8090750Z dist/assets/EnvironmentRow-BdZoMQUR.js 2.29 kB │ gzip: 1.23 kB │ map: 8.55 kB 2026-10-22T20:14:45.8091335Z dist/assets/fileLinks-BB7n-oHe.js 2.33 kB │ gzip: 1.10 kB │ map: 11.00 kB 2026-10-22T20:14:45.8091878Z dist/assets/edge-DbocH-4h.js 2.34 kB │ gzip: 0.70 kB │ map: 3.63 kB 2026-10-22T20:14:45.8092421Z dist/assets/reg-CRGYupPL.js 2.37 kB │ gzip: 0.72 kB │ map: 3.51 kB 2026-10-22T20:14:45.8092983Z dist/assets/usePermissionStatus-BtmnhPGR.js 2.41 kB │ gzip: 1.26 kB │ map: 10.74 kB 2026-10-22T20:14:45.8094602Z dist/assets/useResizeDrag-K16rNICO.js 2.52 kB │ gzip: 1.17 kB │ map: 10.38 kB 2026-10-22T20:14:45.8095730Z dist/assets/square-pen-CLoWAxJ0.js 2.54 kB │ gzip: 1.08 kB │ map: 11.16 kB 2026-10-22T20:14:45.8096335Z dist/assets/FTXIJQGB-CggtIYAM.js 2.58 kB │ gzip: 1.15 kB │ map: 4.98 kB 2026-10-22T20:14:45.8096927Z dist/assets/diff-woXpYk--.js 2.60 kB │ gzip: 0.72 kB │ map: 3.86 kB 2026-10-22T20:14:45.8097505Z dist/assets/gleam-CSRkHgEL.js 2.61 kB │ gzip: 0.85 kB │ map: 3.99 kB 2026-10-22T20:14:45.8098066Z dist/assets/connect-hzIcunbt.js 2.63 kB │ gzip: 1.41 kB │ map: 10.10 kB 2026-10-22T20:14:45.8098603Z dist/assets/hy-CZbG8q4J.js 2.68 kB │ gzip: 1.21 kB │ map: 3.69 kB 2026-10-22T20:14:45.8099187Z dist/assets/sidebarProjectGrouping-COFOivxa.js 2.75 kB │ gzip: 1.00 kB │ map: 11.52 kB 2026-10-22T20:14:45.8099754Z dist/assets/openscad-BUDT5pXO.js 2.86 kB │ gzip: 1.04 kB │ map: 4.23 kB 2026-10-22T20:14:45.8100452Z dist/assets/log-BNLmms1o.js 2.88 kB │ gzip: 0.93 kB │ map: 4.35 kB 2026-10-22T20:14:45.8101016Z dist/assets/standalone-page-BuwC2fNh.js 2.89 kB │ gzip: 1.25 kB │ map: 10.07 kB 2026-10-22T20:14:45.8101574Z dist/assets/json-CU5hZXC7.js 2.92 kB │ gzip: 0.85 kB │ map: 4.35 kB 2026-10-22T20:14:45.8102118Z dist/assets/preview-BBJvq2vL.js 2.95 kB │ gzip: 1.40 kB │ map: 11.90 kB 2026-10-22T20:14:45.8102704Z dist/assets/cairo-DLTphjLi.js 2.97 kB │ gzip: 0.83 kB │ map: 4.57 kB 2026-10-22T20:14:45.8103244Z dist/assets/berry-DKpUyyne.js 3.04 kB │ gzip: 0.84 kB │ map: 4.85 kB 2026-10-22T20:14:45.8103787Z dist/assets/jsonl-CmCQp5Yx.js 3.04 kB │ gzip: 0.82 kB │ map: 4.51 kB 2026-10-22T20:14:45.8104308Z dist/assets/jsonc-CYpm1nAK.js 3.14 kB │ gzip: 0.82 kB │ map: 4.61 kB 2026-10-22T20:14:45.8104855Z dist/assets/logo-Cluzi2Zq.js 3.16 kB │ gzip: 1.50 kB │ map: 3.82 kB 2026-10-22T20:14:45.8105397Z dist/assets/textDirection-BrvH8_RV.js 3.22 kB │ gzip: 1.47 kB │ map: 9.42 kB 2026-10-22T20:14:45.8105950Z dist/assets/device-BODaA9I5.js 3.24 kB │ gzip: 1.42 kB │ map: 15.42 kB 2026-10-22T20:14:45.8106517Z dist/assets/po-BiJDBrnU.js 3.27 kB │ gzip: 0.94 kB │ map: 5.09 kB 2026-10-22T20:14:45.8107047Z dist/assets/json5-BR5RXkoi.js 3.29 kB │ gzip: 0.86 kB │ map: 4.96 kB 2026-10-22T20:14:45.8107575Z dist/assets/mipsasm-BMqwQI7S.js 3.29 kB │ gzip: 1.21 kB │ map: 4.68 kB 2026-10-22T20:14:45.8108144Z dist/assets/tasl-DMoTqEGO.js 3.32 kB │ gzip: 0.88 kB │ map: 5.13 kB 2026-10-22T20:14:45.8108696Z dist/assets/genie-CV2tkWYe.js 3.39 kB │ gzip: 1.24 kB │ map: 4.87 kB 2026-10-22T20:14:45.8109243Z dist/assets/rel-BtDbiS_P.js 3.40 kB │ gzip: 1.14 kB │ map: 4.88 kB 2026-10-22T20:14:45.8109814Z dist/assets/vala-zf12oZj6.js 3.40 kB │ gzip: 1.22 kB │ map: 4.90 kB 2026-10-22T20:14:45.8110406Z dist/assets/6OLKWJ4F-XGQOO8Pe.js 3.47 kB │ gzip: 1.65 kB │ map: 8.16 kB 2026-10-22T20:14:45.8110962Z dist/assets/splunk-BC2Px7Mm.js 3.47 kB │ gzip: 1.55 kB │ map: 4.45 kB 2026-10-22T20:14:45.8112202Z dist/assets/FoldedSettingsSection-Bgv8HGhz.js 3.52 kB │ gzip: 1.64 kB │ map: 18.85 kB 2026-10-22T20:14:45.8112960Z dist/assets/users-PmXY7jSh.js 3.53 kB │ gzip: 1.35 kB │ map: 15.98 kB 2026-10-22T20:14:45.8113530Z dist/assets/hurl-Bjvvc9lj.js 3.55 kB │ gzip: 1.13 kB │ map: 5.48 kB 2026-10-22T20:14:45.8114072Z dist/assets/input-BP4LAdTT.js 3.59 kB │ gzip: 1.63 kB │ map: 12.70 kB 2026-10-22T20:14:45.8114638Z dist/assets/panel-tab-close-button-HI2EHHi3.js 3.63 kB │ gzip: 1.89 kB │ map: 15.33 kB 2026-10-22T20:14:45.8115291Z dist/assets/usageFormat-DnECoisk.js 3.63 kB │ gzip: 1.47 kB │ map: 14.84 kB 2026-10-22T20:14:45.8115863Z dist/assets/fluent-C03EYrpw.js 3.64 kB │ gzip: 0.93 kB │ map: 5.21 kB 2026-10-22T20:14:45.8116478Z dist/assets/jsonnet-CJTPZ8u_.js 3.65 kB │ gzip: 1.07 kB │ map: 5.43 kB 2026-10-22T20:14:45.8117036Z dist/assets/ssh-config-BgfXC-Er.js 3.65 kB │ gzip: 1.63 kB │ map: 4.50 kB 2026-10-22T20:14:45.8117587Z dist/assets/kdl-CsD5j6eV.js 3.66 kB │ gzip: 1.07 kB │ map: 5.51 kB 2026-10-22T20:14:45.8118089Z dist/assets/narrat-_X_XdTYD.js 3.70 kB │ gzip: 1.13 kB │ map: 5.43 kB 2026-10-22T20:14:45.8118600Z dist/assets/glsl-B3Z4Qj6t.js 3.73 kB │ gzip: 1.48 kB │ map: 4.44 kB 2026-10-22T20:14:45.8119124Z dist/assets/t3ProjectFile-CbbExcYl.js 3.73 kB │ gzip: 1.54 kB │ map: 21.81 kB 2026-10-22T20:14:45.8119667Z dist/assets/turtle-ByJddavk.js 3.73 kB │ gzip: 1.00 kB │ map: 5.50 kB 2026-10-22T20:14:45.8120228Z dist/assets/lazyRouteComponent-8dbcmSMQ.js 3.80 kB │ gzip: 1.39 kB │ map: 25.98 kB 2026-10-22T20:14:45.8120825Z dist/assets/ProjectMonogram-CQM0FAg1.js 3.83 kB │ gzip: 1.57 kB │ map: 12.77 kB 2026-10-22T20:14:45.8121370Z dist/assets/ron-VUp2lXgN.js 3.94 kB │ gzip: 1.01 kB │ map: 6.03 kB 2026-10-22T20:14:45.8121902Z dist/assets/zenscript-BnlCZFoB.js 3.95 kB │ gzip: 1.31 kB │ map: 5.76 kB 2026-10-22T20:14:45.8122444Z dist/assets/toggle-group-CwGstZyh.js 3.98 kB │ gzip: 1.70 kB │ map: 17.27 kB 2026-10-22T20:14:45.8122982Z dist/assets/workflow-C9sa_Qaa.js 4.00 kB │ gzip: 1.44 kB │ map: 18.04 kB 2026-10-22T20:14:45.8123531Z dist/assets/gn-ilITqXS6.js 4.03 kB │ gzip: 1.52 kB │ map: 5.28 kB 2026-10-22T20:14:45.8124175Z dist/assets/SettingsPanels.logic-B7AeFVDa.js 4.08 kB │ gzip: 1.35 kB │ map: 14.38 kB 2026-10-22T20:14:45.8124793Z dist/assets/alert-9U4D4dQK.js 4.12 kB │ gzip: 1.62 kB │ map: 13.51 kB 2026-10-22T20:14:45.8125370Z dist/assets/CompositeRoot-DIFnJcER.js 4.13 kB │ gzip: 1.93 kB │ map: 20.99 kB 2026-10-22T20:14:45.8125930Z dist/assets/toggle-DKyDogBE.js 4.13 kB │ gzip: 1.72 kB │ map: 11.55 kB 2026-10-22T20:14:45.8126738Z dist/assets/SettingsScopeNotice-zLOEXm2C.js 4.15 kB │ gzip: 1.91 kB │ map: 19.31 kB 2026-10-22T20:14:45.8127824Z dist/assets/CXAC5362-D3fO8Iv5.js 4.17 kB │ gzip: 1.97 kB │ map: 10.66 kB 2026-10-22T20:14:45.8128449Z dist/assets/pascal-4ZHwLPI5.js 4.18 kB │ gzip: 1.71 kB │ map: 5.54 kB 2026-10-22T20:14:45.8129132Z dist/assets/empty-Cy3gNdha.js 4.19 kB │ gzip: 1.46 kB │ map: 11.56 kB 2026-10-22T20:14:45.8129762Z dist/assets/desktopUpdate.logic-Bx2jbsGD.js 4.20 kB │ gzip: 1.69 kB │ map: 15.14 kB 2026-10-22T20:14:45.8131038Z dist/assets/vcsRefInvalidation-DiprxSP6.js 4.23 kB │ gzip: 2.06 kB │ map: 30.70 kB 2026-10-22T20:14:45.8154118Z dist/assets/http-Dz--gbJ7.js 4.45 kB │ gzip: 1.09 kB │ map: 6.78 kB 2026-10-22T20:14:45.8154654Z dist/assets/tcl-CZd0xW_V.js 4.46 kB │ gzip: 1.54 kB │ map: 6.48 kB 2026-10-22T20:14:45.8155182Z dist/assets/timestampFormat-BBUHLb6E.js 4.46 kB │ gzip: 1.58 kB │ map: 20.84 kB 2026-10-22T20:14:45.8155740Z dist/assets/useParams-B0CBjHPU.js 4.53 kB │ gzip: 2.00 kB │ map: 26.30 kB 2026-10-22T20:14:45.8156306Z dist/assets/nextflow-BJtWHP5T.js 4.55 kB │ gzip: 1.20 kB │ map: 6.87 kB 2026-10-22T20:14:45.8156819Z dist/assets/rosmsg-CAekHB0j.js 4.56 kB │ gzip: 1.09 kB │ map: 6.76 kB 2026-10-22T20:14:45.8157418Z dist/assets/projectFilesQueryState-blwtumr_.js 4.59 kB │ gzip: 2.23 kB │ map: 20.24 kB 2026-10-22T20:14:45.8158002Z dist/assets/polar-C7UOKdEL.js 4.70 kB │ gzip: 1.16 kB │ map: 7.26 kB 2026-10-22T20:14:45.8158522Z dist/assets/assets-B1ekBLAL.js 4.72 kB │ gzip: 2.11 kB │ map: 22.56 kB 2026-10-22T20:14:45.8159052Z dist/assets/sdbl-bTVj8UrX.js 4.73 kB │ gzip: 2.04 kB │ map: 5.90 kB 2026-10-22T20:14:45.8159577Z dist/assets/fennel-DQxkIbk2.js 4.80 kB │ gzip: 1.57 kB │ map: 6.43 kB 2026-10-22T20:14:45.8160099Z dist/assets/bibtex-Ci_nEsc7.js 4.83 kB │ gzip: 0.86 kB │ map: 7.03 kB 2026-10-22T20:14:45.8160627Z dist/assets/settings.archived-C0VihO2B.js 5.05 kB │ gzip: 2.18 kB │ map: 31.79 kB 2026-10-22T20:14:45.8161198Z dist/assets/llvm-Cm23YOpf.js 5.08 kB │ gzip: 2.04 kB │ map: 6.68 kB 2026-10-22T20:14:45.8161808Z dist/assets/HDGCDEEZ-tSe0pFl8.js 5.17 kB │ gzip: 2.48 kB │ map: 13.05 kB 2026-10-22T20:14:45.8162341Z dist/assets/wgsl-BsKzXJz4.js 5.17 kB │ gzip: 1.42 kB │ map: 7.51 kB 2026-10-22T20:14:45.8162862Z dist/assets/keybindings-D3s68SUB.js 5.29 kB │ gzip: 2.11 kB │ map: 28.22 kB 2026-10-22T20:14:45.8163404Z dist/assets/gdresource-C0sCabJj.js 5.33 kB │ gzip: 1.36 kB │ map: 7.81 kB 2026-10-22T20:14:45.8163940Z dist/assets/5S6HY5KT-BTeleHY1.js 5.35 kB │ gzip: 2.67 kB │ map: 13.95 kB 2026-10-22T20:14:45.8164453Z dist/assets/zig-CMLA9XwU.js 5.37 kB │ gzip: 1.59 kB │ map: 7.87 kB 2026-10-22T20:14:45.8164942Z dist/assets/qml-DyjGyXLX.js 5.37 kB │ gzip: 1.41 kB │ map: 8.17 kB 2026-10-22T20:14:45.8167516Z dist/assets/dax-BkyTk9wS.js 5.39 kB │ gzip: 2.25 kB │ map: 6.77 kB 2026-10-22T20:14:45.8168514Z dist/assets/bicep-CUHmPFLl.js 5.41 kB │ gzip: 1.18 kB │ map: 7.92 kB 2026-10-22T20:14:45.8169073Z dist/assets/ReadOnlySourcePreview-XHqVX8RH.js 5.45 kB │ gzip: 2.21 kB │ map: 19.88 kB 2026-10-22T20:14:45.8169632Z dist/assets/xml-D1Mu8RCW.js 5.47 kB │ gzip: 1.27 kB │ map: 7.90 kB 2026-10-22T20:14:45.8170168Z dist/assets/awk-BWXHIvNe.js 5.49 kB │ gzip: 1.41 kB │ map: 8.00 kB 2026-10-22T20:14:45.8170668Z dist/assets/coq-BrsZFFmf.js 5.58 kB │ gzip: 1.95 kB │ map: 7.52 kB 2026-10-22T20:14:45.8171211Z dist/assets/jinja-C4P3y_qB.js 5.67 kB │ gzip: 1.39 kB │ map: 8.57 kB 2026-10-22T20:14:45.8171753Z dist/assets/guideRunStore-Ca8YknKf.js 5.75 kB │ gzip: 2.56 kB │ map: 26.93 kB 2026-10-22T20:14:45.8172348Z dist/assets/mediaReference-a2U54DeB.js 5.76 kB │ gzip: 2.53 kB │ map: 26.43 kB 2026-10-22T20:14:45.8172900Z dist/assets/UQJE5E4I-DAH-6DQC.js 5.77 kB │ gzip: 2.88 kB │ map: 16.01 kB 2026-10-22T20:14:45.8173428Z dist/assets/settings-CxJUanYz.js 5.78 kB │ gzip: 2.48 kB │ map: 23.03 kB 2026-10-22T20:14:45.8173952Z dist/assets/primary-CTca2Tlc.js 5.80 kB │ gzip: 2.27 kB │ map: 25.91 kB 2026-10-22T20:14:45.8174474Z dist/assets/lean-CewbzKMR.js 5.81 kB │ gzip: 1.95 kB │ map: 7.88 kB 2026-10-22T20:14:45.8174989Z dist/assets/moonbit-CaWjb8XO.js 5.93 kB │ gzip: 1.71 kB │ map: 8.68 kB 2026-10-22T20:14:45.8175530Z dist/assets/powerquery-DNMTfnFr.js 5.94 kB │ gzip: 1.54 kB │ map: 8.52 kB 2026-10-22T20:14:45.8176074Z dist/assets/shaderlab-TOUzSsQk.js 5.96 kB │ gzip: 2.11 kB │ map: 7.73 kB 2026-10-22T20:14:45.8176676Z dist/assets/verilog-CiiDBU1e.js 5.96 kB │ gzip: 1.93 kB │ map: 8.03 kB 2026-10-22T20:14:45.8177188Z dist/assets/cypher-ClKdZ_lG.js 5.99 kB │ gzip: 1.75 kB │ map: 8.44 kB 2026-10-22T20:14:45.8177700Z dist/assets/vb-Djn5o6TS.js 6.12 kB │ gzip: 2.37 kB │ map: 8.05 kB 2026-10-22T20:14:45.8178196Z dist/assets/zap-DXxGVTLZ.js 6.13 kB │ gzip: 2.29 kB │ map: 26.87 kB 2026-10-22T20:14:45.8178709Z dist/assets/input-group-Svvj9DJa.js 6.18 kB │ gzip: 1.95 kB │ map: 11.42 kB 2026-10-22T20:14:45.8179251Z dist/assets/color-picker-M5ZhtjVZ.js 6.27 kB │ gzip: 2.94 kB │ map: 27.68 kB 2026-10-22T20:14:45.8179837Z dist/assets/KeybindingsSettings.logic-YztquhzX.js 6.28 kB │ gzip: 2.55 kB │ map: 27.02 kB 2026-10-22T20:14:45.8180752Z dist/assets/red-CJ3rzSJv.js 6.30 kB │ gzip: 1.63 kB │ map: 8.89 kB 2026-10-22T20:14:45.8181288Z dist/assets/min-dark-BSWPekZh.js 6.33 kB │ gzip: 1.74 kB │ map: 8.63 kB 2026-10-22T20:14:45.8181815Z dist/assets/gdshader-CBce3t8t.js 6.36 kB │ gzip: 1.75 kB │ map: 9.20 kB 2026-10-22T20:14:45.8182332Z dist/assets/prisma-BsRQq5mF.js 6.36 kB │ gzip: 1.42 kB │ map: 9.28 kB 2026-10-22T20:14:45.8182859Z dist/assets/ara-4CJ0cIlV.js 6.39 kB │ gzip: 1.84 kB │ map: 9.26 kB 2026-10-22T20:14:45.8183560Z dist/assets/ConnectionDiagnosisDetails-Cx3KT_6H.js 6.41 kB │ gzip: 2.81 kB │ map: 28.56 kB 2026-10-22T20:14:45.8185270Z dist/assets/DYY6UVD2-DWucM3Zr.js 6.44 kB │ gzip: 3.05 kB │ map: 16.52 kB 2026-10-22T20:14:45.8186239Z dist/assets/clojure-DqKBuwfJ.js 6.45 kB │ gzip: 1.45 kB │ map: 9.29 kB 2026-10-22T20:14:45.8186755Z dist/assets/postcss-BXeXVLqQ.js 6.45 kB │ gzip: 1.94 kB │ map: 9.12 kB 2026-10-22T20:14:45.8187273Z dist/assets/toml-CcmNWLt0.js 6.46 kB │ gzip: 1.31 kB │ map: 9.48 kB 2026-10-22T20:14:45.8187818Z dist/assets/solarized-light-DSh2HLQt.js 6.53 kB │ gzip: 1.75 kB │ map: 9.25 kB 2026-10-22T20:14:45.8188449Z dist/assets/scheduledTasksSettings.logic-D-2ZBMI9.js 6.53 kB │ gzip: 2.67 kB │ map: 25.74 kB 2026-10-22T20:14:45.8189024Z dist/assets/proto-DB4EqR-F.js 6.58 kB │ gzip: 1.45 kB │ map: 9.91 kB 2026-10-22T20:14:45.8189564Z dist/assets/smalltalk-B16xEiuN.js 6.62 kB │ gzip: 1.65 kB │ map: 9.26 kB 2026-10-22T20:14:45.8190084Z dist/assets/r-D4tONY_S.js 6.63 kB │ gzip: 1.86 kB │ map: 10.16 kB 2026-10-22T20:14:45.8190597Z dist/assets/talonscript-CohzipZa.js 6.79 kB │ gzip: 1.52 kB │ map: 10.08 kB 2026-10-22T20:14:45.8191163Z dist/assets/solarized-dark-DV17i1UV.js 6.89 kB │ gzip: 1.81 kB │ map: 9.71 kB 2026-10-22T20:14:45.8191687Z dist/assets/riscv-Ckw8ddFX.js 6.95 kB │ gzip: 2.01 kB │ map: 9.60 kB 2026-10-22T20:14:45.8192184Z dist/assets/soy-BZidhfq9.js 6.96 kB │ gzip: 1.66 kB │ map: 10.74 kB 2026-10-22T20:14:45.8192698Z dist/assets/min-light-DDpmG2fV.js 7.01 kB │ gzip: 1.92 kB │ map: 9.56 kB 2026-10-22T20:14:45.8193246Z dist/assets/4UO7MD6I-DAevehfw.js 7.08 kB │ gzip: 3.24 kB │ map: 18.76 kB 2026-10-22T20:14:45.8193771Z dist/assets/scheme-DQCgrYNe.js 7.20 kB │ gzip: 2.08 kB │ map: 9.80 kB 2026-10-22T20:14:45.8194292Z dist/assets/O7XIQ6OM-B40lE9Ms.js 7.27 kB │ gzip: 3.30 kB │ map: 19.44 kB 2026-10-22T20:14:45.8194813Z dist/assets/hlsl-Cvrh5tZx.js 7.29 kB │ gzip: 2.21 kB │ map: 9.25 kB 2026-10-22T20:14:45.8195318Z dist/assets/YVG2LODB-a_ShwRTS.js 7.34 kB │ gzip: 3.35 kB │ map: 18.98 kB 2026-10-22T20:14:45.8195828Z dist/assets/qss-Fe1Jh2GI.js 7.50 kB │ gzip: 2.60 kB │ map: 9.41 kB 2026-10-22T20:14:45.8196403Z dist/assets/collapsible-C_48mFh_.js 7.51 kB │ gzip: 3.04 kB │ map: 47.01 kB 2026-10-22T20:14:45.8196933Z dist/assets/CEQABKGZ-BFoqJLNI.js 7.59 kB │ gzip: 3.52 kB │ map: 19.22 kB 2026-10-22T20:14:45.8197497Z dist/assets/primaryCloudLinkState-LjYoxLIh.js 7.66 kB │ gzip: 3.05 kB │ map: 32.29 kB 2026-10-22T20:14:45.8198096Z dist/assets/htmlRender-BC0U4qqq.js 7.71 kB │ gzip: 3.15 kB │ map: 30.90 kB 2026-10-22T20:14:45.8198636Z dist/assets/DiffFileTree-DzwLuwM3.js 7.75 kB │ gzip: 3.61 kB │ map: 42.65 kB 2026-10-22T20:14:45.8199187Z dist/assets/checkbox-DYpS3xco.js 7.77 kB │ gzip: 3.40 kB │ map: 42.78 kB 2026-10-22T20:14:45.8199713Z dist/assets/radio-group-DFpjjjmE.js 7.86 kB │ gzip: 3.35 kB │ map: 38.48 kB 2026-10-22T20:14:45.8200303Z dist/assets/systemd-BxMlprV5.js 7.90 kB │ gzip: 2.57 kB │ map: 10.64 kB 2026-10-22T20:14:45.8200863Z dist/assets/monokai-CdkpiU2Y.js 7.92 kB │ gzip: 1.94 kB │ map: 11.12 kB 2026-10-22T20:14:45.8202230Z dist/assets/_chat.index-CHdp4VW-.js 7.93 kB │ gzip: 3.10 kB │ map: 31.56 kB 2026-10-22T20:14:45.8203083Z dist/assets/regexp-C160j5mr.js 8.08 kB │ gzip: 1.49 kB │ map: 11.23 kB 2026-10-22T20:14:45.8203608Z dist/assets/index-CZky224w.js 8.14 kB │ gzip: 3.93 kB │ map: 1.93 kB 2026-10-22T20:14:45.8204135Z dist/assets/LUXOKEGN-CkvgS22H.js 8.24 kB │ gzip: 3.73 kB │ map: 21.07 kB 2026-10-22T20:14:45.8204651Z dist/assets/haml-78M2RzJ5.js 8.36 kB │ gzip: 1.88 kB │ map: 12.45 kB 2026-10-22T20:14:45.8205161Z dist/assets/typst-DI99ib-x.js 8.42 kB │ gzip: 1.70 kB │ map: 12.31 kB 2026-10-22T20:14:45.8205696Z dist/assets/vue-html-_q5YSMOd.js 8.52 kB │ gzip: 1.72 kB │ map: 12.03 kB 2026-10-22T20:14:45.8206272Z dist/assets/plsql-DGHpHOYJ.js 8.54 kB │ gzip: 3.03 kB │ map: 10.90 kB 2026-10-22T20:14:45.8206804Z dist/assets/dart-CnvKMtbv.js 8.65 kB │ gzip: 2.03 kB │ map: 12.66 kB 2026-10-22T20:14:45.8207335Z dist/assets/horizon-CE9ld1lL.js 8.82 kB │ gzip: 1.98 kB │ map: 12.09 kB 2026-10-22T20:14:45.8207862Z dist/assets/kotlin-DhhofPvG.js 8.82 kB │ gzip: 2.16 kB │ map: 12.79 kB 2026-10-22T20:14:45.8208406Z dist/assets/horizon-bright-DSNQnXHK.js 8.83 kB │ gzip: 1.99 kB │ map: 12.14 kB 2026-10-22T20:14:45.8209008Z dist/assets/ProjectIconPickerDialog-Dl2jnDlp.js 8.95 kB │ gzip: 3.75 kB │ map: 52.01 kB 2026-10-22T20:14:45.8209567Z dist/assets/react-beAb49SJ.js 8.97 kB │ gzip: 3.50 kB │ map: 31.05 kB 2026-10-22T20:14:45.8210081Z dist/assets/make-Dixweg8N.js 8.99 kB │ gzip: 1.79 kB │ map: 12.87 kB 2026-10-22T20:14:45.8210612Z dist/assets/andromeeda-vGVdxbeo.js 9.06 kB │ gzip: 2.39 kB │ map: 11.97 kB 2026-10-22T20:14:45.8211152Z dist/assets/sas-DNZ6OI-k.js 9.10 kB │ gzip: 3.85 kB │ map: 11.14 kB 2026-10-22T20:14:45.8211671Z dist/assets/dark-plus-Cs2F2srj.js 9.14 kB │ gzip: 2.13 kB │ map: 12.44 kB 2026-10-22T20:14:45.8212220Z dist/assets/slack-dark-DnToyrRv.js 9.16 kB │ gzip: 1.99 kB │ map: 12.54 kB 2026-10-22T20:14:45.8212769Z dist/assets/terminalSessions-DpLmRxam.js 9.20 kB │ gzip: 3.20 kB │ map: 42.87 kB 2026-10-22T20:14:45.8213324Z dist/assets/connect-agent-BPdD68l5.js 9.23 kB │ gzip: 4.01 kB │ map: 39.84 kB 2026-10-22T20:14:45.8213877Z dist/assets/2NI2N5EU-hZCj327Z.js 9.32 kB │ gzip: 4.19 kB │ map: 24.57 kB 2026-10-22T20:14:45.8214417Z dist/assets/sass-DXrisJhu.js 9.32 kB │ gzip: 2.52 kB │ map: 13.42 kB 2026-10-22T20:14:45.8214940Z dist/assets/plastic-DQwYfKfQ.js 9.33 kB │ gzip: 2.00 kB │ map: 12.50 kB 2026-10-22T20:14:45.8215467Z dist/assets/XBNEOJTC-B5EyP427.js 9.44 kB │ gzip: 4.24 kB │ map: 25.57 kB 2026-10-22T20:14:45.8216038Z dist/assets/use-orchestration-command-CnQ8DY6v.js 9.47 kB │ gzip: 3.02 kB │ map: 38.41 kB 2026-10-22T20:14:45.8216682Z dist/assets/slack-ochin-B2OO5cIa.js 9.47 kB │ gzip: 2.12 kB │ map: 13.13 kB 2026-10-22T20:14:45.8217182Z dist/assets/tex-D4kYGkpD.js 9.71 kB │ gzip: 3.10 kB │ map: 12.45 kB 2026-10-22T20:14:45.8217698Z dist/assets/jison-Byt20Y-H.js 9.73 kB │ gzip: 1.90 kB │ map: 14.14 kB 2026-10-22T20:14:45.8218930Z dist/assets/cmake-Bj61d0ZC.js 9.89 kB │ gzip: 3.41 kB │ map: 11.27 kB 2026-10-22T20:14:45.8219819Z dist/assets/imageCompression-BUeM4YFV.js 9.95 kB │ gzip: 3.99 kB │ map: 43.57 kB 2026-10-22T20:14:45.8220556Z dist/assets/light-plus-DVQuIRkW.js 9.98 kB │ gzip: 2.31 kB │ map: 13.44 kB 2026-10-22T20:14:45.8221172Z dist/assets/settings.open-source-licenses-CNbfFdk2.js 10.03 kB │ gzip: 4.10 kB │ map: 46.85 kB 2026-10-22T20:14:45.8221765Z dist/assets/hcl-Dh228itO.js 10.08 kB │ gzip: 1.96 kB │ map: 14.80 kB 2026-10-22T20:14:45.8222285Z dist/assets/rst-OA9zXOEF.js 10.35 kB │ gzip: 2.28 kB │ map: 15.73 kB 2026-10-22T20:14:45.8222798Z dist/assets/pkl-ot-7Btpt.js 10.40 kB │ gzip: 1.41 kB │ map: 15.48 kB 2026-10-22T20:14:45.8223332Z dist/assets/beancount-D-usSTwE.js 10.41 kB │ gzip: 1.46 kB │ map: 15.05 kB 2026-10-22T20:14:45.8223878Z dist/assets/nextflow-groovy-DJMQeKeT.js 10.48 kB │ gzip: 2.17 kB │ map: 15.26 kB 2026-10-22T20:14:45.8224428Z dist/assets/YURCZMG2-UIqY3OU5.js 10.49 kB │ gzip: 4.56 kB │ map: 25.28 kB 2026-10-22T20:14:45.8224936Z dist/assets/raku-B3gFvitq.js 10.50 kB │ gzip: 2.97 kB │ map: 12.92 kB 2026-10-22T20:14:45.8225496Z dist/assets/dream-maker-DW3nJb8Q.js 10.51 kB │ gzip: 2.29 kB │ map: 15.13 kB 2026-10-22T20:14:45.8226045Z dist/assets/_chat.new-Bq_SGsF_.js 10.58 kB │ gzip: 4.55 kB │ map: 45.07 kB 2026-10-22T20:14:45.8226624Z dist/assets/yaml-DqrBPYEo.js 10.60 kB │ gzip: 2.34 kB │ map: 14.93 kB 2026-10-22T20:14:45.8227193Z dist/assets/browserHistoryStore-DwbI7gfE.js 10.61 kB │ gzip: 4.19 kB │ map: 55.77 kB 2026-10-22T20:14:45.8227765Z dist/assets/just-DDwlfhUt.js 10.85 kB │ gzip: 2.64 kB │ map: 15.45 kB 2026-10-22T20:14:45.8228300Z dist/assets/elm-ByOPkR8C.js 10.98 kB │ gzip: 2.13 kB │ map: 16.07 kB 2026-10-22T20:14:45.8228832Z dist/assets/phoneViewer-BLu8KRkP.js 11.04 kB │ gzip: 4.64 kB │ map: 49.75 kB 2026-10-22T20:14:45.8229387Z dist/assets/K7RP3OMA-D6NIGFFi.js 11.18 kB │ gzip: 5.02 kB │ map: 29.89 kB 2026-10-22T20:14:45.8229923Z dist/assets/github-light-EUqPIrTm.js 11.23 kB │ gzip: 2.53 kB │ map: 15.44 kB 2026-10-22T20:14:45.8230476Z dist/assets/prolog-iXnhIJG7.js 11.39 kB │ gzip: 3.88 kB │ map: 13.31 kB 2026-10-22T20:14:45.8231008Z dist/assets/terraform-DswuEJGm.js 11.42 kB │ gzip: 2.54 kB │ map: 16.23 kB 2026-10-22T20:14:45.8231554Z dist/assets/github-dark-C-LZuMrd.js 11.45 kB │ gzip: 2.56 kB │ map: 15.70 kB 2026-10-22T20:14:45.8232083Z dist/assets/puppet-CDv2pdJW.js 11.47 kB │ gzip: 2.14 kB │ map: 16.33 kB 2026-10-22T20:14:45.8232600Z dist/assets/77XECAW3-DscA6h2r.js 11.54 kB │ gzip: 5.35 kB │ map: 27.96 kB 2026-10-22T20:14:45.8233108Z dist/assets/laserwave-C_8bwKvT.js 11.54 kB │ gzip: 2.61 kB │ map: 14.72 kB 2026-10-22T20:14:45.8233652Z dist/assets/ProjectFavicon-BHipkriu.js 11.89 kB │ gzip: 5.24 kB │ map: 15.88 kB 2026-10-22T20:14:45.8234182Z dist/assets/gherkin-DExj1W_8.js 11.98 kB │ gzip: 5.08 kB │ map: 13.13 kB 2026-10-22T20:14:45.8234699Z dist/assets/wasm-ByWQv1Qj.js 12.04 kB │ gzip: 2.21 kB │ map: 16.85 kB 2026-10-22T20:14:45.8235210Z dist/assets/hjson-CxZEssPk.js 12.08 kB │ gzip: 1.67 kB │ map: 17.29 kB 2026-10-22T20:14:45.8236512Z dist/assets/YHV2MVVZ-D0kOVn4w.js 12.09 kB │ gzip: 5.11 kB │ map: 36.55 kB 2026-10-22T20:14:45.8237366Z dist/assets/ABYRPUBD-DY6mADYK.js 12.11 kB │ gzip: 3.25 kB │ map: 36.28 kB 2026-10-22T20:14:45.8237890Z dist/assets/handlebars-C2O4g9kv.js 12.21 kB │ gzip: 2.41 kB │ map: 17.46 kB 2026-10-22T20:14:45.8238459Z dist/assets/ProjectDefaultsSettings-rRHZq0Xq.js 12.42 kB │ gzip: 4.47 kB │ map: 67.99 kB 2026-10-22T20:14:45.8239039Z dist/assets/apache-U0d_L8uA.js 12.49 kB │ gzip: 3.74 kB │ map: 15.96 kB 2026-10-22T20:14:45.8239565Z dist/assets/vesper-DdrHHSXu.js 12.77 kB │ gzip: 2.03 kB │ map: 16.24 kB 2026-10-22T20:14:45.8240090Z dist/assets/bat-Bo4NYOV-.js 12.92 kB │ gzip: 3.26 kB │ map: 17.40 kB 2026-10-22T20:14:45.8240645Z dist/assets/ProviderSettingsForm-DIhyc7EB.js 12.95 kB │ gzip: 4.89 kB │ map: 60.05 kB 2026-10-22T20:14:45.8241201Z dist/assets/fish-BJitypiv.js 13.07 kB │ gzip: 1.76 kB │ map: 16.86 kB 2026-10-22T20:14:45.8241708Z dist/assets/qr-code-CmPFsYWt.js 13.19 kB │ gzip: 5.02 kB │ map: 49.58 kB 2026-10-22T20:14:45.8242212Z dist/assets/v-DETTlOr0.js 13.24 kB │ gzip: 2.76 kB │ map: 19.27 kB 2026-10-22T20:14:45.8242710Z dist/assets/NUIALGQ3-B6VA_2SQ.js 13.25 kB │ gzip: 5.62 kB │ map: 40.22 kB 2026-10-22T20:14:45.8243239Z dist/assets/OFQON5FD-OvYu6kL7.js 13.49 kB │ gzip: 5.51 kB │ map: 34.02 kB 2026-10-22T20:14:45.8243776Z dist/assets/vitesse-light-VbXTXTou.js 13.66 kB │ gzip: 3.06 kB │ map: 18.57 kB 2026-10-22T20:14:45.8244364Z dist/assets/aurora-x-CDeNXAV0.js 13.70 kB │ gzip: 2.32 kB │ map: 17.59 kB 2026-10-22T20:14:45.8244932Z dist/assets/vitesse-black-fwtXNY1n.js 13.72 kB │ gzip: 3.09 kB │ map: 18.66 kB 2026-10-22T20:14:45.8245478Z dist/assets/vitesse-dark-BZCL-v6S.js 13.80 kB │ gzip: 3.10 kB │ map: 18.73 kB 2026-10-22T20:14:45.8246043Z dist/assets/DeviceSetup-BdmA9LNc.js 13.86 kB │ gzip: 5.13 kB │ map: 59.86 kB 2026-10-22T20:14:45.8246613Z dist/assets/pug-H48468vj.js 13.89 kB │ gzip: 2.62 kB │ map: 20.57 kB 2026-10-22T20:14:45.8247153Z dist/assets/synthwave-84-nFMaYfgc.js 14.08 kB │ gzip: 2.88 kB │ map: 19.12 kB 2026-10-22T20:14:45.8247716Z dist/assets/PJQHF43J-D5uIjfET.js 14.12 kB │ gzip: 5.87 kB │ map: 39.03 kB 2026-10-22T20:14:45.8248259Z dist/assets/github-light-default-BXViO-2h.js 14.21 kB │ gzip: 3.05 kB │ map: 19.30 kB 2026-10-22T20:14:45.8248814Z dist/assets/clarity-SemFz856.js 14.31 kB │ gzip: 2.50 kB │ map: 19.95 kB 2026-10-22T20:14:45.8249372Z dist/assets/github-light-high-contrast-B68TUdTA.js 14.33 kB │ gzip: 3.03 kB │ map: 19.48 kB 2026-10-22T20:14:45.8249963Z dist/assets/github-dark-dimmed-Bx1FflLF.js 14.48 kB │ gzip: 3.15 kB │ map: 19.67 kB 2026-10-22T20:14:45.8250524Z dist/assets/github-dark-default-DXG-b-1a.js 14.48 kB │ gzip: 3.15 kB │ map: 19.68 kB 2026-10-22T20:14:45.8251073Z dist/assets/X62E3GBT-DtQQTekx.js 14.54 kB │ gzip: 6.34 kB │ map: 39.30 kB 2026-10-22T20:14:45.8251632Z dist/assets/github-dark-high-contrast-B_tTalzw.js 14.65 kB │ gzip: 3.11 kB │ map: 19.91 kB 2026-10-22T20:14:45.8252209Z dist/assets/gnuplot-7GGW24-e.js 14.82 kB │ gzip: 3.31 kB │ map: 20.83 kB 2026-10-22T20:14:45.8253287Z dist/assets/rust-Cfkwpbl8.js 15.10 kB │ gzip: 2.75 kB │ map: 21.47 kB 2026-10-22T20:14:45.8254089Z dist/assets/FNOVOB4O-CU8SxVYL.js 15.14 kB │ gzip: 5.88 kB │ map: 38.44 kB 2026-10-22T20:14:45.8254617Z dist/assets/threadSort-C-aR_At6.js 15.16 kB │ gzip: 4.74 kB │ map: 61.77 kB 2026-10-22T20:14:45.8255132Z dist/assets/kusto-C7mF5XQf.js 15.20 kB │ gzip: 3.96 kB │ map: 19.63 kB 2026-10-22T20:14:45.8255659Z dist/assets/actionscript-3--17pq3dv.js 15.25 kB │ gzip: 2.71 kB │ map: 21.47 kB 2026-10-22T20:14:45.8256294Z dist/assets/usePullRequestActions-C4M0JwtS.js 15.40 kB │ gzip: 5.14 kB │ map: 64.21 kB 2026-10-22T20:14:45.8256849Z dist/assets/duoViewer-D8Je8QxP.js 15.46 kB │ gzip: 6.05 kB │ map: 65.43 kB 2026-10-22T20:14:45.8257372Z dist/assets/nix-IvuFDN5E.js 15.54 kB │ gzip: 2.51 kB │ map: 22.93 kB 2026-10-22T20:14:45.8257875Z dist/assets/lua-1Va2DEvn.js 15.63 kB │ gzip: 3.22 kB │ map: 22.17 kB 2026-10-22T20:14:45.8258378Z dist/assets/luau-FMPmPwt6.js 15.66 kB │ gzip: 3.42 kB │ map: 21.88 kB 2026-10-22T20:14:45.8258876Z dist/assets/abap-CLvhMVsD.js 15.88 kB │ gzip: 5.96 kB │ map: 18.85 kB 2026-10-22T20:14:45.8259405Z dist/assets/solidity-CKzVLygQ.js 16.11 kB │ gzip: 3.13 kB │ map: 23.46 kB 2026-10-22T20:14:45.8259917Z dist/assets/matlab-D7qyCx1q.js 16.12 kB │ gzip: 3.10 kB │ map: 23.37 kB 2026-10-22T20:14:45.8260497Z dist/assets/cue-CE9AQfxI.js 16.23 kB │ gzip: 2.08 kB │ map: 23.80 kB 2026-10-22T20:14:45.8260996Z dist/assets/elixir-CrKEldnf.js 16.30 kB │ gzip: 2.79 kB │ map: 23.18 kB 2026-10-22T20:14:45.8261520Z dist/assets/dialog-DkbumJvc.js 16.37 kB │ gzip: 5.61 kB │ map: 77.01 kB 2026-10-22T20:14:45.8262067Z dist/assets/rightPanelStore-DcZ25mlT.js 16.38 kB │ gzip: 4.69 kB │ map: 78.50 kB 2026-10-22T20:14:45.8262629Z dist/assets/pullRequests-DoPKKjsA.js 16.53 kB │ gzip: 5.87 kB │ map: 81.30 kB 2026-10-22T20:14:45.8263153Z dist/assets/odin-B1RWQWA5.js 16.54 kB │ gzip: 2.96 kB │ map: 23.80 kB 2026-10-22T20:14:45.8263680Z dist/assets/X5RFHQXM-CtR1a_bI.js 16.59 kB │ gzip: 7.04 kB │ map: 42.63 kB 2026-10-22T20:14:45.8264200Z dist/assets/ts-tags-iKEdjM6n.js 16.59 kB │ gzip: 2.09 kB │ map: 24.94 kB 2026-10-22T20:14:45.8264729Z dist/assets/scroll-area-B9USp-a-.js 16.78 kB │ gzip: 5.99 kB │ map: 85.84 kB 2026-10-22T20:14:45.8265271Z dist/assets/popover-B6GzIQb3.js 17.13 kB │ gzip: 6.45 kB │ map: 90.10 kB 2026-10-22T20:14:45.8265839Z dist/assets/kanagawa-wave-CTweb8Dz.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-22T20:14:45.8266440Z dist/assets/kanagawa-lotus-BN08jTvb.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-22T20:14:45.8266997Z dist/assets/kanagawa-dragon-CXtmUGW6.js 17.17 kB │ gzip: 2.96 kB │ map: 22.31 kB 2026-10-22T20:14:45.8267558Z dist/assets/projectScriptEditor-ynbx8734.js 17.42 kB │ gzip: 6.68 kB │ map: 100.01 kB 2026-10-22T20:14:45.8268120Z dist/assets/move-B1IS1UjX.js 17.54 kB │ gzip: 3.10 kB │ map: 26.27 kB 2026-10-22T20:14:45.8268643Z dist/assets/command-DrTtB7eO.js 17.79 kB │ gzip: 4.78 kB │ map: 70.69 kB 2026-10-22T20:14:45.8270048Z dist/assets/link-CAsNBgMW.js 17.95 kB │ gzip: 6.74 kB │ map: 91.88 kB 2026-10-22T20:14:45.8270892Z dist/assets/graphql-f7MMklYv.js 18.12 kB │ gzip: 2.56 kB │ map: 25.58 kB 2026-10-22T20:14:45.8271440Z dist/assets/liquid-NR0kReLd.js 18.14 kB │ gzip: 3.18 kB │ map: 25.31 kB 2026-10-22T20:14:45.8271997Z dist/assets/T3ConnectAccountPages-BLhiMlie.js 18.25 kB │ gzip: 6.37 kB │ map: 80.99 kB 2026-10-22T20:14:45.8272561Z dist/assets/svelte-D_LLVCZp.js 18.29 kB │ gzip: 3.18 kB │ map: 25.82 kB 2026-10-22T20:14:45.8273117Z dist/assets/pullRequestDetail.logic-WrzHq-5L.js 18.58 kB │ gzip: 6.62 kB │ map: 75.65 kB 2026-10-22T20:14:45.8273725Z dist/assets/material-theme-Bm3Qr25_.js 18.66 kB │ gzip: 3.14 kB │ map: 24.14 kB 2026-10-22T20:14:45.8274306Z dist/assets/material-theme-ocean-CHQ94UKr.js 18.68 kB │ gzip: 3.16 kB │ map: 24.18 kB 2026-10-22T20:14:45.8274918Z dist/assets/material-theme-darker-2IIEA8gg.js 18.68 kB │ gzip: 3.13 kB │ map: 24.18 kB 2026-10-22T20:14:45.8275500Z dist/assets/material-theme-lighter-uhdI0v04.js 18.69 kB │ gzip: 3.14 kB │ map: 24.19 kB 2026-10-22T20:14:45.8276083Z dist/assets/material-theme-palenight-B5W6OYN7.js 18.69 kB │ gzip: 3.15 kB │ map: 24.20 kB 2026-10-22T20:14:45.8276695Z dist/assets/gdscript-Cp2uCuqX.js 19.03 kB │ gzip: 3.78 kB │ map: 26.26 kB 2026-10-22T20:14:45.8277210Z dist/assets/USNYFO5S-CtG-gv1l.js 19.10 kB │ gzip: 7.42 kB │ map: 47.26 kB 2026-10-22T20:14:45.8277714Z dist/assets/groovy-CacY0gHj.js 19.21 kB │ gzip: 3.63 kB │ map: 27.53 kB 2026-10-22T20:14:45.8278233Z dist/assets/settings.storage-C5HfjQeP.js 19.46 kB │ gzip: 7.02 kB │ map: 104.83 kB 2026-10-22T20:14:45.8278780Z dist/assets/mdc-BszP3a5M.js 19.58 kB │ gzip: 6.70 kB │ map: 23.16 kB 2026-10-22T20:14:45.8279294Z dist/assets/server-Cfv3EPYA.js 19.96 kB │ gzip: 6.16 kB │ map: 117.05 kB 2026-10-22T20:14:45.8279818Z dist/assets/ayu-dark-DluEY0Gj.js 20.12 kB │ gzip: 3.96 kB │ map: 27.06 kB 2026-10-22T20:14:45.8280343Z dist/assets/ayu-mirage-Bqwy1Gya.js 20.13 kB │ gzip: 3.95 kB │ map: 27.08 kB 2026-10-22T20:14:45.8280880Z dist/assets/glimmer-js-BDXa_Fyc.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-22T20:14:45.8281414Z dist/assets/glimmer-ts-Bj66Y8fi.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-22T20:14:45.8281957Z dist/assets/powershell-DshXNtvi.js 20.19 kB │ gzip: 4.09 kB │ map: 26.60 kB 2026-10-22T20:14:45.8282496Z dist/assets/ayu-light-C3h-C4tm.js 20.19 kB │ gzip: 3.93 kB │ map: 27.14 kB 2026-10-22T20:14:45.8283035Z dist/assets/entities-BGLQRBwW.js 20.36 kB │ gzip: 6.89 kB │ map: 134.74 kB 2026-10-22T20:14:45.8283543Z dist/assets/viml-DvXPmvsu.js 20.40 kB │ gzip: 6.77 kB │ map: 23.51 kB 2026-10-22T20:14:45.8284070Z dist/assets/DRLTVNUE-D6xG2OO-.js 20.40 kB │ gzip: 7.66 kB │ map: 50.95 kB 2026-10-22T20:14:45.8284595Z dist/assets/nushell-DcLAeLz5.js 20.45 kB │ gzip: 5.25 kB │ map: 27.67 kB 2026-10-22T20:14:45.8285120Z dist/assets/HSJLKHB7-CYfmfWx3.js 20.80 kB │ gzip: 8.63 kB │ map: 57.03 kB 2026-10-22T20:14:45.8285664Z dist/assets/snazzy-light-4G7pJPwS.js 20.82 kB │ gzip: 3.84 kB │ map: 28.03 kB 2026-10-22T20:14:45.8286769Z dist/assets/twig-Ci9rMG4p.js 20.94 kB │ gzip: 3.70 kB │ map: 29.33 kB 2026-10-22T20:14:45.8287624Z dist/assets/dracula-BHWKrbxM.js 21.10 kB │ gzip: 4.03 kB │ map: 27.51 kB 2026-10-22T20:14:45.8288171Z dist/assets/dracula-soft-5eyTD99u.js 21.12 kB │ gzip: 4.06 kB │ map: 27.54 kB 2026-10-22T20:14:45.8288724Z dist/assets/number-field-p588jgt_.js 21.17 kB │ gzip: 8.06 kB │ map: 104.64 kB 2026-10-22T20:14:45.8289252Z dist/assets/wit-DdvCle-K.js 21.50 kB │ gzip: 2.91 kB │ map: 30.11 kB 2026-10-22T20:14:45.8289961Z dist/assets/rose-pine-BthvhNj6.js 21.78 kB │ gzip: 3.90 kB │ map: 28.78 kB 2026-10-22T20:14:45.8290515Z dist/assets/rose-pine-moon-hon4tzzS.js 21.80 kB │ gzip: 3.91 kB │ map: 28.81 kB 2026-10-22T20:14:45.8291061Z dist/assets/rose-pine-dawn-Dg85fqjY.js 21.80 kB │ gzip: 3.92 kB │ map: 28.81 kB 2026-10-22T20:14:45.8291661Z dist/assets/useStableCallback-z_SONSIp.js 22.26 kB │ gzip: 9.25 kB │ map: 690.61 kB 2026-10-22T20:14:45.8292220Z dist/assets/nim-BM9Yvas0.js 22.49 kB │ gzip: 3.19 kB │ map: 32.88 kB 2026-10-22T20:14:45.8292744Z dist/assets/common-lisp-Cv5bFMCO.js 22.62 kB │ gzip: 6.11 kB │ map: 26.69 kB 2026-10-22T20:14:45.8293271Z dist/assets/surrealql-BhXwxFwT.js 22.63 kB │ gzip: 4.34 kB │ map: 32.51 kB 2026-10-22T20:14:45.8293850Z dist/assets/gruvbox-dark-hard-C820rvS2.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-22T20:14:45.8294430Z dist/assets/gruvbox-dark-soft-MrdJrrXF.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-22T20:14:45.8295028Z dist/assets/gruvbox-light-hard-BC_s9l72.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-22T20:14:45.8295603Z dist/assets/gruvbox-light-soft-BSMLrYjP.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-22T20:14:45.8296263Z dist/assets/gruvbox-dark-medium-BPjhmG05.js 22.69 kB │ gzip: 4.19 kB │ map: 30.60 kB 2026-10-22T20:14:45.8296838Z dist/assets/gruvbox-light-medium-BAWPOn9u.js 22.69 kB │ gzip: 4.20 kB │ map: 30.61 kB 2026-10-22T20:14:45.8297401Z dist/assets/bird2-C6vDhewU.js 22.97 kB │ gzip: 4.69 kB │ map: 31.06 kB 2026-10-22T20:14:45.8297917Z dist/assets/5OC2THR4-BjzjHk1f.js 23.28 kB │ gzip: 9.39 kB │ map: 61.59 kB 2026-10-22T20:14:45.8298441Z dist/assets/sql-DJtPbMSQ.js 23.52 kB │ gzip: 7.54 kB │ map: 27.96 kB 2026-10-22T20:14:45.8298950Z dist/assets/cadence-CQ2zXKGN.js 23.70 kB │ gzip: 3.69 kB │ map: 33.59 kB 2026-10-22T20:14:45.8299498Z dist/assets/astro-BmmE1wns.js 24.06 kB │ gzip: 7.63 kB │ map: 29.26 kB 2026-10-22T20:14:45.8300022Z dist/assets/apl-Dbn5QvGU.js 24.07 kB │ gzip: 4.20 kB │ map: 33.43 kB 2026-10-22T20:14:45.8300667Z dist/assets/templ-ChNxr6tm.js 24.10 kB │ gzip: 5.45 kB │ map: 30.96 kB 2026-10-22T20:14:45.8301175Z dist/assets/SLD4V6NK-DbWhaq1F.js 24.20 kB │ gzip: 10.11 kB │ map: 66.35 kB 2026-10-22T20:14:45.8301746Z dist/assets/angular-html-CHSubNNg.js 24.28 kB │ gzip: 4.02 kB │ map: 35.88 kB 2026-10-22T20:14:45.8302290Z dist/assets/vhdl-BroJfC0k.js 24.29 kB │ gzip: 3.90 kB │ map: 33.38 kB 2026-10-22T20:14:45.8302802Z dist/assets/vue-DhtZA_zP.js 24.53 kB │ gzip: 2.99 kB │ map: 36.98 kB 2026-10-22T20:14:45.8303322Z dist/assets/purescript-9MfHhQsQ.js 24.72 kB │ gzip: 3.27 kB │ map: 34.90 kB 2026-10-22T20:14:45.8304668Z dist/assets/typespec-BRdr0IET.js 25.08 kB │ gzip: 2.66 kB │ map: 34.70 kB 2026-10-22T20:14:45.8306048Z dist/assets/one-light-D7Lr4KcI.js 25.34 kB │ gzip: 3.67 kB │ map: 33.81 kB 2026-10-22T20:14:45.8306615Z dist/assets/fsharp-D13ZGOAj.js 25.34 kB │ gzip: 4.16 kB │ map: 35.90 kB 2026-10-22T20:14:45.8307119Z dist/assets/marko-BaagTwf0.js 25.52 kB │ gzip: 3.62 kB │ map: 35.92 kB 2026-10-22T20:14:45.8307676Z dist/assets/night-owl-light-eJ-hLW7d.js 25.95 kB │ gzip: 4.27 kB │ map: 35.17 kB 2026-10-22T20:14:45.8308260Z dist/assets/system-verilog-DJ5XKQeo.js 26.24 kB │ gzip: 4.86 kB │ map: 36.27 kB 2026-10-22T20:14:45.8308894Z dist/assets/useThreadActions-J8rjkhuL.js 26.35 kB │ gzip: 8.51 kB │ map: 129.82 kB 2026-10-22T20:14:45.8309462Z dist/assets/nord-Cb4Vim4T.js 26.76 kB │ gzip: 4.39 kB │ map: 35.36 kB 2026-10-22T20:14:45.8310004Z dist/assets/codeql-oeQT6MSM.js 26.92 kB │ gzip: 3.83 kB │ map: 36.02 kB 2026-10-22T20:14:45.8310554Z dist/assets/c3-BFHwR3_K.js 27.00 kB │ gzip: 3.96 kB │ map: 39.15 kB 2026-10-22T20:14:45.8311132Z dist/assets/T3PCR2KE-Citr4hZQ.js 27.06 kB │ gzip: 11.16 kB │ map: 74.49 kB 2026-10-22T20:14:45.8311683Z dist/assets/scss-DQyDwCYy.js 27.30 kB │ gzip: 4.26 kB │ map: 38.39 kB 2026-10-22T20:14:45.8312243Z dist/assets/java-CF-jL4AX.js 27.31 kB │ gzip: 4.34 kB │ map: 38.66 kB 2026-10-22T20:14:45.8312746Z dist/assets/coffee-BHyBL9L1.js 27.46 kB │ gzip: 6.39 kB │ map: 36.12 kB 2026-10-22T20:14:45.8313258Z dist/assets/razor-CRS4rNJT.js 27.49 kB │ gzip: 3.58 kB │ map: 38.35 kB 2026-10-22T20:14:45.8313765Z dist/assets/BB2UYUI2-D6o1j_1f.js 28.18 kB │ gzip: 10.96 kB │ map: 75.19 kB 2026-10-22T20:14:45.8314357Z dist/assets/sidebar-M_Si9b0R.js 28.36 kB │ gzip: 9.12 kB │ map: 123.41 kB 2026-10-22T20:14:45.8314882Z dist/assets/scala-DKOlJaKm.js 28.92 kB │ gzip: 3.96 kB │ map: 40.12 kB 2026-10-22T20:14:45.8315399Z dist/assets/night-owl-DhmEMT88.js 28.95 kB │ gzip: 5.18 kB │ map: 39.06 kB 2026-10-22T20:14:45.8315926Z dist/assets/select-BP9RZn-d.js 29.05 kB │ gzip: 10.90 kB │ map: 139.91 kB 2026-10-22T20:14:45.8316511Z dist/assets/crystal-xgOldvWp.js 29.45 kB │ gzip: 4.47 kB │ map: 41.29 kB 2026-10-22T20:14:45.8317038Z dist/assets/mermaid-Bk4SNUv9.js 29.54 kB │ gzip: 3.68 kB │ map: 44.12 kB 2026-10-22T20:14:45.8318294Z dist/assets/applescript-CCn79oCD.js 29.61 kB │ gzip: 5.98 kB │ map: 39.35 kB 2026-10-22T20:14:45.8319213Z dist/assets/BUM34MOA-D8CUwzuK.js 30.12 kB │ gzip: 11.45 kB │ map: 75.42 kB 2026-10-22T20:14:45.8319728Z dist/assets/75O6YZUN-Bldz_j3C.js 30.19 kB │ gzip: 11.64 kB │ map: 77.70 kB 2026-10-22T20:14:45.8320256Z dist/assets/pierre-dark-CpLgRqie.js 30.59 kB │ gzip: 4.77 kB │ map: 34.24 kB 2026-10-22T20:14:45.8320807Z dist/assets/pierre-light-CoaEpmwp.js 30.59 kB │ gzip: 4.77 kB │ map: 34.25 kB 2026-10-22T20:14:45.8321384Z dist/assets/pierre-dark-soft-kZQmAZld.js 30.61 kB │ gzip: 4.81 kB │ map: 34.27 kB 2026-10-22T20:14:45.8321939Z dist/assets/pierre-light-soft-lWLdNTOI.js 30.61 kB │ gzip: 4.77 kB │ map: 34.27 kB 2026-10-22T20:14:45.8322543Z dist/assets/pierre-dark-tritanopia-CpjhbsIL.js 30.62 kB │ gzip: 4.72 kB │ map: 34.30 kB 2026-10-22T20:14:45.8323134Z dist/assets/pierre-light-tritanopia-CEbqgOJL.js 30.63 kB │ gzip: 4.73 kB │ map: 34.30 kB 2026-10-22T20:14:45.8323756Z dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js 30.66 kB │ gzip: 4.80 kB │ map: 34.36 kB 2026-10-22T20:14:45.8324419Z dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js 30.67 kB │ gzip: 4.76 kB │ map: 34.37 kB 2026-10-22T20:14:45.8325050Z dist/assets/ChatGptUsageButton-CmZQEb9a.js 30.79 kB │ gzip: 12.00 kB │ map: 117.44 kB 2026-10-22T20:14:45.8325636Z dist/assets/julia-BAkj-Grs.js 31.05 kB │ gzip: 4.34 kB │ map: 40.65 kB 2026-10-22T20:14:45.8326206Z dist/assets/stylus-B6D30XZt.js 31.11 kB │ gzip: 8.05 kB │ map: 38.88 kB 2026-10-22T20:14:45.8326734Z dist/assets/N3JZAHOW-BD8piwND.js 32.62 kB │ gzip: 13.28 kB │ map: 101.23 kB 2026-10-22T20:14:45.8327254Z dist/assets/queries-D_UB3WUs.js 32.75 kB │ gzip: 12.07 kB │ map: 163.38 kB 2026-10-22T20:14:45.8327771Z dist/assets/poimandres-DRFjx7u4.js 33.53 kB │ gzip: 5.53 kB │ map: 43.07 kB 2026-10-22T20:14:45.8328300Z dist/assets/one-dark-pro-CLwyXe_n.js 33.83 kB │ gzip: 5.54 kB │ map: 44.51 kB 2026-10-22T20:14:45.8328808Z dist/assets/bsl-BkkzgIyY.js 33.90 kB │ gzip: 8.38 kB │ map: 37.63 kB 2026-10-22T20:14:45.8329315Z dist/assets/O65XPQGZ-6APNxZSN.js 34.10 kB │ gzip: 12.69 kB │ map: 86.95 kB 2026-10-22T20:14:45.8329836Z dist/assets/UsageLimits-BlRMGHIQ.js 34.24 kB │ gzip: 11.85 kB │ map: 148.25 kB 2026-10-22T20:14:45.8330369Z dist/assets/haxe-OTjmBuCE.js 35.19 kB │ gzip: 5.94 kB │ map: 49.52 kB 2026-10-22T20:14:45.8330872Z dist/assets/nginx-Bunv6cTi.js 35.39 kB │ gzip: 4.49 kB │ map: 48.50 kB 2026-10-22T20:14:45.8331401Z dist/assets/houston-CsvMBhTu.js 35.46 kB │ gzip: 5.80 kB │ map: 46.40 kB 2026-10-22T20:14:45.8331924Z dist/assets/tokyo-night-oM2G3aXe.js 35.71 kB │ gzip: 6.26 kB │ map: 45.35 kB 2026-10-22T20:14:45.8332511Z dist/assets/CodexSetupSection.logic-rxNsHleB.js 36.15 kB │ gzip: 12.97 kB │ map: 164.42 kB 2026-10-22T20:14:45.8333113Z dist/assets/settings.keybindings-CgKP7X5T.js 37.26 kB │ gzip: 12.50 kB │ map: 164.58 kB 2026-10-22T20:14:45.8333672Z dist/assets/erlang-Cphh6RMH.js 37.52 kB │ gzip: 4.39 kB │ map: 51.59 kB 2026-10-22T20:14:45.8334181Z dist/assets/lazy-DpqP_N7m.js 38.37 kB │ gzip: 16.01 kB │ map: 81.90 kB 2026-10-22T20:14:45.8335411Z dist/assets/useSettings-2B5doi-x.js 39.05 kB │ gzip: 13.39 kB │ map: 176.26 kB 2026-10-22T20:14:45.8336398Z dist/assets/PullRequestCodeTab-CuvJ8sRF.js 39.07 kB │ gzip: 14.40 kB │ map: 181.73 kB 2026-10-22T20:14:45.8336973Z dist/assets/cobol-DlmPKder.js 39.11 kB │ gzip: 10.92 kB │ map: 47.39 kB 2026-10-22T20:14:45.8337520Z dist/assets/settings.projects-DtD4WMIU.js 39.20 kB │ gzip: 15.34 kB │ map: 163.46 kB 2026-10-22T20:14:45.8338071Z dist/assets/TKWO2OVW-CuZdth4I.js 39.43 kB │ gzip: 14.77 kB │ map: 97.94 kB 2026-10-22T20:14:45.8338643Z dist/assets/ThemeEditorPanel-BNPqWKMI.js 40.17 kB │ gzip: 14.51 kB │ map: 189.10 kB 2026-10-22T20:14:45.8339174Z dist/assets/asm-Cmm7eHzH.js 40.75 kB │ gzip: 8.20 kB │ map: 53.00 kB 2026-10-22T20:14:45.8339730Z dist/assets/RHNBAITX-BYVw-Wjl.js 41.31 kB │ gzip: 15.53 kB │ map: 105.33 kB 2026-10-22T20:14:45.8340258Z dist/assets/haskell-D8IpX4py.js 41.52 kB │ gzip: 6.44 kB │ map: 57.85 kB 2026-10-22T20:14:45.8341111Z dist/assets/shellscript-y5xaAa26.js 41.58 kB │ gzip: 6.16 kB │ map: 56.57 kB 2026-10-22T20:14:45.8341634Z dist/assets/combobox-CZuocKO1.js 41.96 kB │ gzip: 14.24 kB │ map: 212.72 kB 2026-10-22T20:14:45.8342152Z dist/assets/perl-AhzhpTrP.js 43.18 kB │ gzip: 4.68 kB │ map: 60.84 kB 2026-10-22T20:14:45.8342671Z dist/assets/DiffPanel-DtKMqirC.js 43.27 kB │ gzip: 16.70 kB │ map: 244.00 kB 2026-10-22T20:14:45.8343185Z dist/assets/d-qD-0Kul2.js 43.82 kB │ gzip: 8.46 kB │ map: 62.69 kB 2026-10-22T20:14:45.8343716Z dist/assets/LHDIQX7Q-CMN6vegy.js 44.04 kB │ gzip: 16.12 kB │ map: 107.24 kB 2026-10-22T20:14:45.8344332Z dist/assets/DiffCommentAnnotation-BYfz1nsx.js 44.48 kB │ gzip: 15.81 kB │ map: 120.50 kB 2026-10-22T20:14:45.8344915Z dist/assets/pierre-dark-vibrant-CpQYzh95.js 44.81 kB │ gzip: 5.33 kB │ map: 48.48 kB 2026-10-22T20:14:45.8345502Z dist/assets/pierre-light-vibrant-D80Fkn33.js 44.81 kB │ gzip: 5.31 kB │ map: 48.48 kB 2026-10-22T20:14:45.8346093Z dist/assets/ProviderModelPicker-COh_ulJu.js 44.83 kB │ gzip: 16.03 kB │ map: 233.48 kB 2026-10-22T20:14:45.8346750Z dist/assets/settingsLayout-es3PQanp.js 45.05 kB │ gzip: 15.82 kB │ map: 227.20 kB 2026-10-22T20:14:45.8347288Z dist/assets/DevicePanel-BprpTnPs.js 46.10 kB │ gzip: 15.64 kB │ map: 246.52 kB 2026-10-22T20:14:45.8347815Z dist/assets/toast-Chgcf9So.js 46.44 kB │ gzip: 15.39 kB │ map: 273.08 kB 2026-10-22T20:14:45.8348365Z dist/assets/settings.source-control-CimPltb3.js 46.45 kB │ gzip: 15.21 kB │ map: 259.47 kB 2026-10-22T20:14:45.8348920Z dist/assets/ruby-ubltFHEX.js 46.64 kB │ gzip: 5.74 kB │ map: 66.38 kB 2026-10-22T20:14:45.8349409Z dist/assets/go-rLFTqkRN.js 46.85 kB │ gzip: 5.18 kB │ map: 66.61 kB 2026-10-22T20:14:45.8349946Z dist/assets/settings.snap-shot-CX1KCOWE.js 46.99 kB │ gzip: 16.64 kB │ map: 252.94 kB 2026-10-22T20:14:45.8350518Z dist/assets/catppuccin-mocha-DYhrFGRu.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-22T20:14:45.8351111Z dist/assets/catppuccin-latte-DwIHMF0Q.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-22T20:14:45.8351682Z dist/assets/catppuccin-frappe-3VR1Za6u.js 47.31 kB │ gzip: 8.03 kB │ map: 62.04 kB 2026-10-22T20:14:45.8353070Z dist/assets/catppuccin-macchiato-DYnBP6_5.js 47.31 kB │ gzip: 8.03 kB │ map: 62.06 kB 2026-10-22T20:14:45.8354015Z dist/assets/PreviewPanel-BSVsgQao.js 47.35 kB │ gzip: 17.22 kB │ map: 255.28 kB 2026-10-22T20:14:45.8354559Z dist/assets/apex-VAyPSnFM.js 47.80 kB │ gzip: 6.85 kB │ map: 66.78 kB 2026-10-22T20:14:45.8355057Z dist/assets/ada-C5qYipkI.js 48.11 kB │ gzip: 6.00 kB │ map: 70.96 kB 2026-10-22T20:14:45.8355577Z dist/assets/css-kzGS2ZwB.js 49.13 kB │ gzip: 11.99 kB │ map: 60.67 kB 2026-10-22T20:14:45.8356082Z dist/assets/welcome-BbgPewbq.js 49.80 kB │ gzip: 17.03 kB │ map: 266.54 kB 2026-10-22T20:14:45.8356636Z dist/assets/imba-DsUTQ-LC.js 49.96 kB │ gzip: 9.51 kB │ map: 68.08 kB 2026-10-22T20:14:45.8357174Z dist/assets/sortable.esm-rrTGf6ZO.js 50.51 kB │ gzip: 16.26 kB │ map: 236.47 kB 2026-10-22T20:14:45.8357747Z dist/assets/everforest-dark-sB-x3p7T.js 53.79 kB │ gzip: 8.41 kB │ map: 68.28 kB 2026-10-22T20:14:45.8358305Z dist/assets/everforest-light-Df2xbC6M.js 53.79 kB │ gzip: 8.41 kB │ map: 68.29 kB 2026-10-22T20:14:45.8358857Z dist/assets/Virtualizer-Ds0QBaze.js 55.69 kB │ gzip: 14.32 kB │ map: 177.52 kB 2026-10-22T20:14:45.8359383Z dist/assets/wikitext-ClFFjSW2.js 55.92 kB │ gzip: 4.85 kB │ map: 77.64 kB 2026-10-22T20:14:45.8359953Z dist/assets/ScheduledTasksSettings-Cb7jS7lZ.js 56.64 kB │ gzip: 19.22 kB │ map: 343.59 kB 2026-10-22T20:14:45.8360497Z dist/assets/stata-Ciuk7_mY.js 57.03 kB │ gzip: 12.44 kB │ map: 74.20 kB 2026-10-22T20:14:45.8361012Z dist/assets/html-DIIndQnv.js 57.35 kB │ gzip: 11.82 kB │ map: 73.07 kB 2026-10-22T20:14:45.8361536Z dist/assets/ballerina-B7ZEbQpA.js 58.73 kB │ gzip: 8.14 kB │ map: 81.54 kB 2026-10-22T20:14:45.8362076Z dist/assets/markdown-BYOwaDjH.js 59.37 kB │ gzip: 5.70 kB │ map: 82.33 kB 2026-10-22T20:14:45.8362599Z dist/assets/pierre-icons-DMVyB35G.js 60.69 kB │ gzip: 22.05 kB │ map: 82.50 kB 2026-10-22T20:14:45.8363126Z dist/assets/ocaml-O90oeIOV.js 62.48 kB │ gzip: 5.08 kB │ map: 81.11 kB 2026-10-22T20:14:45.8363627Z dist/assets/mojo-BgCJLMeH.js 69.83 kB │ gzip: 9.25 kB │ map: 94.94 kB 2026-10-22T20:14:45.8364137Z dist/assets/python-gzcpVVnB.js 69.98 kB │ gzip: 9.13 kB │ map: 95.24 kB 2026-10-22T20:14:45.8364676Z dist/assets/useHandleNewThread-COphRsE1.js 70.53 kB │ gzip: 22.44 kB │ map: 335.68 kB 2026-10-22T20:14:45.8365219Z dist/assets/c-esFkreWu.js 72.20 kB │ gzip: 10.58 kB │ map: 95.41 kB 2026-10-22T20:14:45.8365717Z dist/assets/latex-b0569jTU.js 72.91 kB │ gzip: 6.78 kB │ map: 100.96 kB 2026-10-22T20:14:45.8366298Z dist/assets/vyper-CgoNMtux.js 74.68 kB │ gzip: 10.73 kB │ map: 100.71 kB 2026-10-22T20:14:45.8366800Z dist/assets/Icons-CpZjYqeN.js 75.01 kB │ gzip: 33.97 kB │ map: 215.89 kB 2026-10-22T20:14:45.8367335Z dist/assets/SettingsPanels-BKwAryJT.js 80.52 kB │ gzip: 25.18 kB │ map: 498.76 kB 2026-10-22T20:14:45.8367857Z dist/assets/hack-mYo6lwOk.js 81.09 kB │ gzip: 26.47 kB │ map: 98.63 kB 2026-10-22T20:14:45.8368382Z dist/assets/themePalette-B3gKK5JE.js 83.31 kB │ gzip: 23.89 kB │ map: 284.11 kB 2026-10-22T20:14:45.8369361Z dist/assets/swift-DonLKvLd.js 86.72 kB │ gzip: 14.72 kB │ map: 114.51 kB 2026-10-22T20:14:45.8370226Z dist/assets/DiffWorkerPoolProvider-SeenIqHU.js 87.11 kB │ gzip: 23.11 kB │ map: 273.90 kB 2026-10-22T20:14:45.8370812Z dist/assets/fortran-free-form-CYNrtFtB.js 89.01 kB │ gzip: 11.23 kB │ map: 124.06 kB 2026-10-22T20:14:45.8371375Z dist/assets/_chat.pull-requests-BlCAdAQN.js 89.56 kB │ gzip: 32.24 kB │ map: 448.87 kB 2026-10-22T20:14:45.8371908Z dist/assets/csharp-oqKa8noW.js 90.22 kB │ gzip: 10.75 kB │ map: 126.35 kB 2026-10-22T20:14:45.8372444Z dist/assets/FileDiff-DNE6QJCx.js 91.16 kB │ gzip: 23.35 kB │ map: 307.03 kB 2026-10-22T20:14:45.8372958Z dist/assets/racket-DcIDlBhZ.js 92.42 kB │ gzip: 15.11 kB │ map: 106.19 kB 2026-10-22T20:14:45.8373506Z dist/assets/settings.diagnostics-BPle38-N.js 92.56 kB │ gzip: 26.75 kB │ map: 492.17 kB 2026-10-22T20:14:45.8374070Z dist/assets/embeddedScripts-Gn3NFv6c.js 94.06 kB │ gzip: 24.28 kB │ map: 399.57 kB 2026-10-22T20:14:45.8374606Z dist/assets/usage-X8WT9oSg.js 96.02 kB │ gzip: 32.14 kB │ map: 559.17 kB 2026-10-22T20:14:45.8375140Z dist/assets/settings.integrations-CpP0usGw.js 96.69 kB │ gzip: 31.48 kB │ map: 566.35 kB 2026-10-22T20:14:45.8375686Z dist/assets/less-DVTAwKKz.js 97.66 kB │ gzip: 14.88 kB │ map: 131.85 kB 2026-10-22T20:14:45.8376248Z dist/assets/blade-DBGhfhIu.js 105.01 kB │ gzip: 28.34 kB │ map: 131.09 kB 2026-10-22T20:14:45.8376777Z dist/assets/objective-c-D1A_Heim.js 105.45 kB │ gzip: 23.67 kB │ map: 129.66 kB 2026-10-22T20:14:45.8377332Z dist/assets/settings.connections-DYzpS-Ql.js 107.30 kB │ gzip: 36.17 kB │ map: 612.60 kB 2026-10-22T20:14:45.8377888Z dist/assets/php-BrskDoCo.js 113.12 kB │ gzip: 28.89 kB │ map: 142.15 kB 2026-10-22T20:14:45.8378434Z dist/assets/ThreadTerminalDrawer-CRflt8Tl.js 113.83 kB │ gzip: 33.64 kB │ map: 458.92 kB 2026-10-22T20:14:45.8379002Z dist/assets/getDiffFileInput-mYb0gI_s.js 124.36 kB │ gzip: 30.75 kB │ map: 375.11 kB 2026-10-22T20:14:45.8379538Z dist/assets/asciidoc-DE70LPWp.js 131.56 kB │ gzip: 9.35 kB │ map: 189.11 kB 2026-10-22T20:14:45.8380065Z dist/assets/mdx-DQZ5AkYe.js 136.14 kB │ gzip: 23.57 kB │ map: 176.72 kB 2026-10-22T20:14:45.8380979Z dist/assets/RenderErrorBoundary-AxDm1vlV.js 152.95 kB │ gzip: 45.59 kB │ map: 936.14 kB 2026-10-22T20:14:45.8381583Z dist/assets/settings.providers-JTv8plQS.js 161.82 kB │ gzip: 53.49 kB │ map: 828.11 kB 2026-10-22T20:14:45.8382167Z dist/assets/objective-cpp-BsSzOQcm.js 172.01 kB │ gzip: 31.02 kB │ map: 218.54 kB 2026-10-22T20:14:45.8382717Z dist/assets/javascript-DM2jNGak.js 174.93 kB │ gzip: 16.72 kB │ map: 236.10 kB 2026-10-22T20:14:45.8383238Z dist/assets/runtime-BGUhUMK2.js 175.43 kB │ gzip: 56.12 kB │ map: 1,084.00 kB 2026-10-22T20:14:45.8383770Z dist/assets/runtime-BIq4VVDo.js 175.56 kB │ gzip: 50.44 kB │ map: 810.12 kB 2026-10-22T20:14:45.8384281Z dist/assets/tsx-BeGYnVHn.js 175.63 kB │ gzip: 16.71 kB │ map: 236.76 kB 2026-10-22T20:14:45.8384791Z dist/assets/jsx-DQaT7vKh.js 177.88 kB │ gzip: 16.80 kB │ map: 239.02 kB 2026-10-22T20:14:45.8385311Z dist/assets/typescript-BEWCPeCr.js 181.18 kB │ gzip: 16.32 kB │ map: 244.44 kB 2026-10-22T20:14:45.8385837Z dist/assets/angular-ts-B9yvU4g3.js 183.77 kB │ gzip: 16.82 kB │ map: 249.70 kB 2026-10-22T20:14:45.8386943Z dist/assets/vue-vine-DBK802jz.js 190.10 kB │ gzip: 18.11 kB │ map: 255.27 kB 2026-10-22T20:14:45.8387834Z dist/assets/fileTreeExpansion-BvqfPbSw.js 199.35 kB │ gzip: 54.49 kB │ map: 731.80 kB 2026-10-22T20:14:45.8388424Z dist/assets/FilePreviewPanel-Bfim1Gse.js 204.19 kB │ gzip: 67.04 kB │ map: 946.03 kB 2026-10-22T20:14:45.8388998Z dist/assets/settings.appearance-CMkdVO5q.js 214.52 kB │ gzip: 68.42 kB │ map: 897.08 kB 2026-10-22T20:14:45.8389569Z dist/assets/diffRendering-ugQyTstU.js 254.85 kB │ gzip: 81.54 kB │ map: 946.66 kB 2026-10-22T20:14:45.8390101Z dist/assets/katex-DJhrJSbw.js 258.63 kB │ gzip: 77.46 kB │ map: 969.65 kB 2026-10-22T20:14:45.8390681Z dist/assets/wolfram-DLL8P-h_.js 262.42 kB │ gzip: 77.67 kB │ map: 279.66 kB 2026-10-22T20:14:45.8391234Z dist/assets/dist-xruHaiAZ.js 332.34 kB │ gzip: 97.19 kB │ map: 1,652.92 kB 2026-10-22T20:14:45.8391835Z dist/assets/PanelLayoutControls-DiupSjmA.js 389.52 kB │ gzip: 122.02 kB │ map: 1,817.25 kB 2026-10-22T20:14:45.8392409Z dist/assets/ChatMarkdown-B8eubhx9.js 439.18 kB │ gzip: 146.38 kB │ map: 1,867.30 kB 2026-10-22T20:14:45.8392995Z dist/assets/ComposerPromptEditor-PaSuicY5.js 519.97 kB │ gzip: 167.91 kB │ map: 2,358.45 kB 2026-10-22T20:14:45.8393564Z dist/assets/lucideIconByName-B7Wpd_vV.js 553.55 kB │ gzip: 141.19 kB │ map: 2,035.78 kB 2026-10-22T20:14:45.8394140Z dist/assets/renderScheduler-CxXpb1GQ.js 608.04 kB │ gzip: 156.02 kB │ map: 3,048.60 kB 2026-10-22T20:14:45.8394671Z dist/assets/wasm-BnjxR4X6.js 622.36 kB │ gzip: 232.13 kB │ map: 622.90 kB 2026-10-22T20:14:45.8395195Z dist/assets/cpp-5pYxG9nn.js 626.16 kB │ gzip: 48.12 kB │ map: 816.28 kB 2026-10-22T20:14:45.8395727Z dist/assets/emacs-lisp-B4R74twV.js 779.92 kB │ gzip: 197.59 kB │ map: 789.85 kB 2026-10-22T20:14:45.8396342Z dist/assets/utils-BBD4QrsS.js 976.98 kB │ gzip: 302.37 kB │ map: 7,657.37 kB 2026-10-22T20:14:45.8396849Z dist/assets/main-Dz2AW6H5.js 1,047.91 kB │ gzip: 343.08 kB │ map: 5,077.36 kB 2026-10-22T20:14:45.8397368Z dist/assets/_chat-qtY6SrSI.js 1,308.62 kB │ gzip: 435.99 kB │ map: 6,515.99 kB 2026-10-22T20:14:45.8397876Z dist/assets/heic-to-DeD09f__.js 2,995.22 kB │ gzip: 750.97 kB │ map: 2,998.72 kB 2026-10-22T20:14:45.8398148Z 2026-10-22T20:14:45.8398385Z [plugin builtin:vite-reporter] 2026-10-22T20:14:45.8398677Z (!) Some chunks are larger than 500 kB after minification. Consider: 2026-10-22T20:14:45.8399012Z - Using dynamic import() to code-split the application 2026-10-22T20:14:45.8399581Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting 2026-10-22T20:14:45.8400235Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. 2026-10-22T20:14:45.8593224Z ✓ built in 15.23s 2026-10-22T20:14:46.0221056Z 2026-10-22T20:14:46.0302490Z ~/apps/server$ node scripts/cli.ts build ⊘ cache disabled 2026-10-22T20:14:46.5734205Z [20:14:46.572] INFO (#1): [cli] Running tsdown... 2026-10-22T20:14:50.1627707Z [20:14:50.162] INFO (#1): [cli] Applied development icon overrides to dist/client 2026-10-22T20:14:50.1628105Z [20:14:50.162] INFO (#1): [cli] Bundled web app into dist/client 2026-10-22T20:14:50.1803986Z 2026-10-22T20:14:50.1805534Z ~/apps/desktop$ node scripts/build-browser-secret.mjs ⊘ cache disabled 2026-10-22T20:14:50.5009152Z 2026-10-22T20:14:50.5011370Z ~/apps/desktop$ node scripts/build-preview-annotation-css.mjs ⊘ cache disabled 2026-10-22T20:14:50.6092321Z 2026-10-22T20:14:50.6093635Z ~/apps/desktop$ vp pack ⊘ cache disabled 2026-10-22T20:14:50.8848577Z ℹ entry: src/main.ts 2026-10-22T20:14:50.8849672Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8865732Z ℹ entry: src/electron/WindowsForegroundFocusWorker.ts, src/snapShot/GlobalShiftShortcutWorker.ts, src/snapShot/RegionSnapShotWorker.ts, src/snapShot/SnapShotAccessibilityWorker.ts 2026-10-22T20:14:50.8866894Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8873321Z ℹ entry: src/boot.ts, src/compileCache.ts 2026-10-22T20:14:50.8883221Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8883558Z ℹ entry: src/preload.ts 2026-10-22T20:14:50.8886632Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8887684Z ℹ entry: src/preview-pick-preload.ts 2026-10-22T20:14:50.8888095Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8888613Z ℹ entry: src/preview-pip-preload.ts 2026-10-22T20:14:50.8889249Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8894414Z ℹ entry: src/mac-permission-preload.ts 2026-10-22T20:14:50.8901129Z ℹ tsconfig: tsconfig.json 2026-10-22T20:14:50.8901461Z ℹ Build start 2026-10-22T20:14:50.9606686Z ℹ dist-electron/preview-pip-preload.cjs 0.68 kB │ gzip: 0.36 kB 2026-10-22T20:14:50.9616377Z ℹ dist-electron/preview-pip-preload.cjs.map 10.93 kB │ gzip: 2.83 kB 2026-10-22T20:14:50.9652287Z ℹ 2 files, total: 11.61 kB 2026-10-22T20:14:50.9702068Z ℹ dist-electron/mac-permission-preload.cjs 0.79 kB │ gzip: 0.38 kB 2026-10-22T20:14:50.9702990Z ℹ dist-electron/mac-permission-preload.cjs.map 11.01 kB │ gzip: 2.80 kB 2026-10-22T20:14:50.9734840Z ℹ 2 files, total: 11.80 kB 2026-10-22T20:14:50.9779446Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-22T20:14:50.9780074Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-22T20:14:50.9780605Z Detected dependencies in bundle: 2026-10-22T20:14:50.9780854Z - @clerk/electron 2026-10-22T20:14:50.9781234Z ✔ Build complete in 84ms 2026-10-22T20:14:50.9781463Z ✔ Build complete in 84ms 2026-10-22T20:14:51.0366758Z ℹ dist-electron/preload.cjs 32.04 kB │ gzip: 7.35 kB 2026-10-22T20:14:51.0383280Z ℹ dist-electron/preload.cjs.map 58.74 kB │ gzip: 13.13 kB 2026-10-22T20:14:51.0384029Z ℹ 2 files, total: 90.78 kB 2026-10-22T20:14:51.0384875Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-22T20:14:51.0385808Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-22T20:14:51.0386293Z Detected dependencies in bundle: 2026-10-22T20:14:51.0386777Z - react-grab 2026-10-22T20:14:51.0664456Z ℹ dist-electron/compileCache.cjs 1.61 kB │ gzip: 0.75 kB 2026-10-22T20:14:51.0702792Z ℹ dist-electron/boot.cjs 0.12 kB │ gzip: 0.12 kB 2026-10-22T20:14:51.0740930Z ℹ dist-electron/compileCache.cjs.map 1.29 kB │ gzip: 0.74 kB 2026-10-22T20:14:51.0783806Z ℹ dist-electron/boot.cjs.map 0.31 kB │ gzip: 0.22 kB 2026-10-22T20:14:51.0784894Z ℹ 4 files, total: 3.33 kB 2026-10-22T20:14:51.0822793Z ✔ Build complete in 188ms 2026-10-22T20:14:51.1263203Z ✔ Build complete in 233ms 2026-10-22T20:14:51.2175375Z ℹ dist-electron/preview-pick-preload.cjs 136.33 kB │ gzip: 36.31 kB 2026-10-22T20:14:51.2231217Z ℹ dist-electron/preview-pick-preload.cjs.map 241.89 kB │ gzip: 62.07 kB 2026-10-22T20:14:51.2263472Z ℹ 2 files, total: 378.22 kB 2026-10-22T20:14:51.2585590Z ✔ Build complete in 367ms 2026-10-22T20:14:51.7984425Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs 6.35 kB │ gzip: 1.97 kB 2026-10-22T20:14:51.7985255Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs 5.71 kB │ gzip: 1.60 kB 2026-10-22T20:14:51.7985878Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs 2.32 kB │ gzip: 0.89 kB 2026-10-22T20:14:51.7987329Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs 0.77 kB │ gzip: 0.43 kB 2026-10-22T20:14:51.7988173Z ℹ dist-electron/snapShot-BsvV_Uj9.cjs.map 4.58 MB 2026-10-22T20:14:51.7988629Z ℹ dist-electron/snapShot-BsvV_Uj9.cjs 1.19 MB 2026-10-22T20:14:51.7989153Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs.map 13.86 kB │ gzip: 4.10 kB 2026-10-22T20:14:51.7989725Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs.map 13.29 kB │ gzip: 3.40 kB 2026-10-22T20:14:51.7990321Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs.map 5.07 kB │ gzip: 1.69 kB 2026-10-22T20:14:51.7990911Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs.map 1.73 kB │ gzip: 0.82 kB 2026-10-22T20:14:51.7991488Z ℹ dist-electron/rolldown-runtime-VH7oDXx4.cjs 1.13 kB │ gzip: 0.54 kB 2026-10-22T20:14:51.7991923Z ℹ 11 files, total: 5.82 MB 2026-10-22T20:14:51.7997646Z ✔ Build complete in 909ms 2026-10-22T20:14:52.5017229Z ℹ dist-electron/main.cjs 5.47 MB 2026-10-22T20:14:52.5018069Z ℹ dist-electron/main.cjs.map 13.88 MB 2026-10-22T20:14:52.5018489Z ℹ 2 files, total: 19.36 MB 2026-10-22T20:14:52.5031835Z ../../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-22T20:14:52.5033986Z ╭─[ ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js:7:23 ] 2026-10-22T20:14:52.5034781Z │ 2026-10-22T20:14:52.5036012Z 7 │   const x11 = require('x11'); 2026-10-22T20:14:52.5036950Z  │ ──┬── 2026-10-22T20:14:52.5037398Z  │ ╰──── Module not found, treating it as an external dependency 2026-10-22T20:14:52.5037762Z ───╯ 2026-10-22T20:14:52.5038030Z 2026-10-22T20:14:52.5041192Z ../../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-22T20:14:52.5042679Z ╭─[ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/ConfigProvider.js:725:8 ] 2026-10-22T20:14:52.5043276Z │ 2026-10-22T20:14:52.5044028Z 725 │     ...import.meta?.env 2026-10-22T20:14:52.5044723Z  │ ─────┬───── 2026-10-22T20:14:52.5045006Z ✔ Build complete in 1614ms 2026-10-22T20:14:52.5046121Z  │ ╰─────── 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-22T20:14:52.5047055Z ─────╯ 2026-10-22T20:14:52.5047215Z 2026-10-22T20:14:52.5317008Z 2026-10-22T20:14:52.5319308Z --- 2026-10-22T20:14:52.5319834Z vp run: 5/5 successful. (Run `vp run --last-details` for full details) 2026-10-22T20:14:52.5524229Z ##[group]Run node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-22T20:14:52.5524838Z node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-22T20:14:52.5559981Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:52.5560231Z env: 2026-10-22T20:14:52.5560416Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:52.5560681Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:52.5560926Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:52.5561159Z ##[endgroup] 2026-10-22T20:14:52.6226016Z ##[group]Run until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-22T20:14:52.6226467Z until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-22T20:14:52.6226777Z cat "$RUNNER_TEMP/typecheck.log" 2026-10-22T20:14:52.6227051Z exit "$(cat "$RUNNER_TEMP/typecheck-status")" 2026-10-22T20:14:52.6256887Z shell: /usr/bin/bash -e {0} 2026-10-22T20:14:52.6257147Z env: 2026-10-22T20:14:52.6257349Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:52.6257616Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:52.6257895Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-22T20:14:52.6258140Z ##[endgroup] 2026-10-22T20:14:56.6374512Z ~/packages/effect-acp$ tsc --noEmit 2026-10-22T20:14:56.6375914Z ~/packages/effect-codex-app-server$ tsc --noEmit 2026-10-22T20:14:56.6376236Z ~/oxlint-plugin-t3code$ tsc --noEmit 2026-10-22T20:14:56.6376513Z ~/packages/contracts$ tsc --noEmit 2026-10-22T20:14:56.6376685Z 2026-10-22T20:14:56.6377420Z 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-22T20:14:56.6378147Z 2026-10-22T20:14:56.6378236Z 40 error: Schema.Struct({ 2026-10-22T20:14:56.6378473Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6378704Z 41 _tag: Schema.Literal("Cause"), 2026-10-22T20:14:56.6378953Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6379283Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-22T20:14:56.6379677Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6379969Z 43 }), 2026-10-22T20:14:56.6380147Z ~~~~ 2026-10-22T20:14:56.6380246Z 2026-10-22T20:14:56.6381038Z 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-22T20:14:56.6381743Z 2026-10-22T20:14:56.6381937Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-22T20:14:56.6382321Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6382535Z 2026-10-22T20:14:56.6383078Z 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-22T20:14:56.6383678Z 2026-10-22T20:14:56.6383780Z 422 handleInitialize: (handler) => 2026-10-22T20:14:56.6384030Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6384157Z 2026-10-22T20:14:56.6384706Z 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-22T20:14:56.6385388Z 2026-10-22T20:14:56.6385493Z 427 handleAuthenticate: (handler) => 2026-10-22T20:14:56.6385724Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6385851Z 2026-10-22T20:14:56.6386353Z 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-22T20:14:56.6386936Z 2026-10-22T20:14:56.6387034Z 432 handleLogout: (handler) => 2026-10-22T20:14:56.6387280Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6387394Z 2026-10-22T20:14:56.6387931Z 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-22T20:14:56.6388544Z 2026-10-22T20:14:56.6388650Z 437 handleCreateSession: (handler) => 2026-10-22T20:14:56.6388909Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6389048Z 2026-10-22T20:14:56.6390060Z 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-22T20:14:56.6390658Z 2026-10-22T20:14:56.6390762Z 442 handleLoadSession: (handler) => 2026-10-22T20:14:56.6391010Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6391136Z 2026-10-22T20:14:56.6391657Z 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-22T20:14:56.6392262Z 2026-10-22T20:14:56.6392366Z 447 handleListSessions: (handler) => 2026-10-22T20:14:56.6392615Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6392746Z 2026-10-22T20:14:56.6393259Z 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-22T20:14:56.6393899Z 2026-10-22T20:14:56.6394000Z 452 handleForkSession: (handler) => 2026-10-22T20:14:56.6394249Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6394372Z 2026-10-22T20:14:56.6394931Z 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-22T20:14:56.6395535Z 2026-10-22T20:14:56.6395638Z 457 handleResumeSession: (handler) => 2026-10-22T20:14:56.6395888Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6396020Z 2026-10-22T20:14:56.6396544Z 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-22T20:14:56.6397277Z 2026-10-22T20:14:56.6397387Z 462 handleCloseSession: (handler) => 2026-10-22T20:14:56.6397657Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6397786Z 2026-10-22T20:14:56.6398326Z 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-22T20:14:56.6398914Z 2026-10-22T20:14:56.6399010Z 467 handleDeleteSession: (handler) => 2026-10-22T20:14:56.6399255Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6399389Z 2026-10-22T20:14:56.6399907Z 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-22T20:14:56.6400514Z 2026-10-22T20:14:56.6400613Z 472 handleListProviders: (handler) => 2026-10-22T20:14:56.6400873Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6401010Z 2026-10-22T20:14:56.6401525Z 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-22T20:14:56.6402127Z 2026-10-22T20:14:56.6402226Z 477 handleSetProvider: (handler) => 2026-10-22T20:14:56.6402466Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6402594Z 2026-10-22T20:14:56.6403107Z 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-22T20:14:56.6403720Z 2026-10-22T20:14:56.6403822Z 482 handleDisableProvider: (handler) => 2026-10-22T20:14:56.6404090Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6404228Z 2026-10-22T20:14:56.6404839Z 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-22T20:14:56.6405527Z 2026-10-22T20:14:56.6405631Z 487 handleSetSessionConfigOption: (handler) => 2026-10-22T20:14:56.6405819Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6406075Z 2026-10-22T20:14:56.6406380Z 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-22T20:14:56.6406709Z 2026-10-22T20:14:56.6406771Z 492 handlePrompt: (handler) => 2026-10-22T20:14:56.6406927Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6407001Z 2026-10-22T20:14:56.6407280Z 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-22T20:14:56.6407602Z 2026-10-22T20:14:56.6407665Z 497 handleCancel: (handler) => 2026-10-22T20:14:56.6407805Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6407883Z 2026-10-22T20:14:56.6408189Z 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-22T20:14:56.6408535Z 2026-10-22T20:14:56.6408603Z 502 handleUnknownExtRequest: (handler) => 2026-10-22T20:14:56.6408772Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6408858Z 2026-10-22T20:14:56.6409164Z 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-22T20:14:56.6409520Z 2026-10-22T20:14:56.6409599Z 507 handleUnknownExtNotification: (handler) => 2026-10-22T20:14:56.6409778Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6409880Z 2026-10-22T20:14:56.6410195Z 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-22T20:14:56.6410620Z 2026-10-22T20:14:56.6410696Z 512 handleExtRequest: (method, payload, handler) => 2026-10-22T20:14:56.6410879Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6410965Z 2026-10-22T20:14:56.6411288Z 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-22T20:14:56.6411657Z 2026-10-22T20:14:56.6411751Z 517 handleExtNotification: (method, payload, handler) => 2026-10-22T20:14:56.6411937Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6412026Z 2026-10-22T20:14:56.6412385Z 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-22T20:14:56.6412784Z 2026-10-22T20:14:56.6412842Z 56 error: Schema.Struct({ 2026-10-22T20:14:56.6412978Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6413118Z 57 _tag: Schema.Literal("Cause"), 2026-10-22T20:14:56.6413276Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6413476Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-22T20:14:56.6413718Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6413886Z 59 }), 2026-10-22T20:14:56.6413994Z ~~~~ 2026-10-22T20:14:56.6414052Z 2026-10-22T20:14:56.6414403Z 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-22T20:14:56.6414854Z 2026-10-22T20:14:56.6414960Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-22T20:14:56.6415176Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6415303Z 2026-10-22T20:14:56.6415657Z 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-22T20:14:56.6415983Z 2026-10-22T20:14:56.6416047Z 1071 yield* Effect.all( 2026-10-22T20:14:56.6416197Z ~~~~~~~~~~ 2026-10-22T20:14:56.6416284Z 2026-10-22T20:14:56.6416598Z 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-22T20:14:56.6416947Z 2026-10-22T20:14:56.6417019Z 1244 handleRequestPermission: (handler) => 2026-10-22T20:14:56.6417193Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6417281Z 2026-10-22T20:14:56.6417576Z 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-22T20:14:56.6417916Z 2026-10-22T20:14:56.6417982Z 1249 handleElicitation: (handler) => 2026-10-22T20:14:56.6418130Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6418214Z 2026-10-22T20:14:56.6418506Z 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-22T20:14:56.6418842Z 2026-10-22T20:14:56.6418904Z 1254 handleMcpConnect: (handler) => 2026-10-22T20:14:56.6419066Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6419147Z 2026-10-22T20:14:56.6419426Z 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-22T20:14:56.6419754Z 2026-10-22T20:14:56.6419816Z 1258 handleMcpMessage: (handler) => 2026-10-22T20:14:56.6420044Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6420127Z 2026-10-22T20:14:56.6420635Z 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-22T20:14:56.6420981Z 2026-10-22T20:14:56.6421045Z 1262 handleMcpDisconnect: (handler) => 2026-10-22T20:14:56.6421210Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6421295Z 2026-10-22T20:14:56.6421592Z 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-22T20:14:56.6421938Z 2026-10-22T20:14:56.6422007Z 1266 handleMcpNotification: (handler) => 2026-10-22T20:14:56.6422159Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6422247Z 2026-10-22T20:14:56.6422542Z 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-22T20:14:56.6422881Z 2026-10-22T20:14:56.6422939Z 1275 handleReadTextFile: (handler) => 2026-10-22T20:14:56.6423091Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6423173Z 2026-10-22T20:14:56.6423467Z 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-22T20:14:56.6423811Z 2026-10-22T20:14:56.6423877Z 1279 handleWriteTextFile: (handler) => 2026-10-22T20:14:56.6424029Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6424113Z 2026-10-22T20:14:56.6424414Z 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-22T20:14:56.6424766Z 2026-10-22T20:14:56.6424862Z 1283 handleCreateTerminal: (handler) => 2026-10-22T20:14:56.6425023Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6425110Z 2026-10-22T20:14:56.6425508Z 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-22T20:14:56.6425853Z 2026-10-22T20:14:56.6425918Z 1287 handleTerminalOutput: (handler) => 2026-10-22T20:14:56.6426067Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6426151Z 2026-10-22T20:14:56.6426461Z 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-22T20:14:56.6426817Z 2026-10-22T20:14:56.6426890Z 1291 handleTerminalWaitForExit: (handler) => 2026-10-22T20:14:56.6427061Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6427153Z 2026-10-22T20:14:56.6427446Z 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-22T20:14:56.6427785Z 2026-10-22T20:14:56.6427848Z 1295 handleTerminalKill: (handler) => 2026-10-22T20:14:56.6427998Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6428087Z 2026-10-22T20:14:56.6428388Z 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-22T20:14:56.6428730Z 2026-10-22T20:14:56.6428793Z 1299 handleTerminalRelease: (handler) => 2026-10-22T20:14:56.6428951Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6429035Z 2026-10-22T20:14:56.6429332Z 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-22T20:14:56.6429759Z 2026-10-22T20:14:56.6429822Z 1303 handleSessionUpdate: (handler) => 2026-10-22T20:14:56.6429978Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6430056Z 2026-10-22T20:14:56.6430368Z 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-22T20:14:56.6430714Z 2026-10-22T20:14:56.6430790Z 1308 handleElicitationComplete: (handler) => 2026-10-22T20:14:56.6430952Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6431039Z 2026-10-22T20:14:56.6431343Z 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-22T20:14:56.6431684Z 2026-10-22T20:14:56.6431756Z 1313 handleUnknownExtRequest: (handler) => 2026-10-22T20:14:56.6431923Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6432005Z 2026-10-22T20:14:56.6432319Z 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-22T20:14:56.6432676Z 2026-10-22T20:14:56.6432752Z 1318 handleUnknownExtNotification: (handler) => 2026-10-22T20:14:56.6432923Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6433019Z 2026-10-22T20:14:56.6433338Z 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-22T20:14:56.6433703Z 2026-10-22T20:14:56.6433780Z 1323 handleExtRequest: (method, payload, handler) => 2026-10-22T20:14:56.6433962Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6434035Z 2026-10-22T20:14:56.6434412Z 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-22T20:14:56.6445190Z 2026-10-22T20:14:56.6445405Z 1328 handleExtNotification: (method, payload, handler) => 2026-10-22T20:14:56.6445709Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6445849Z 2026-10-22T20:14:56.6446622Z 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-22T20:14:56.6447476Z 2026-10-22T20:14:56.6447620Z 500 const response = yield* Schema.decodeUnknownEffect( 2026-10-22T20:14:56.6447954Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6448126Z 2026-10-22T20:14:56.6448605Z 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-22T20:14:56.6449191Z 2026-10-22T20:14:56.6449284Z 875 run: (_clientId, f) => 2026-10-22T20:14:56.6449500Z ~~~ 2026-10-22T20:14:56.6449607Z 2026-10-22T20:14:56.6450162Z 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-22T20:14:56.6450803Z 2026-10-22T20:14:56.6450896Z 880 send: (_clientId, request) => 2026-10-22T20:14:56.6451135Z ~~~~ 2026-10-22T20:14:56.6451239Z 2026-10-22T20:14:56.6451697Z 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-22T20:14:56.6452472Z 2026-10-22T20:14:56.6452546Z 898 run: (f) => 2026-10-22T20:14:56.6452713Z ~~~ 2026-10-22T20:14:56.6452805Z 2026-10-22T20:14:56.6453320Z 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-22T20:14:56.6453907Z 2026-10-22T20:14:56.6453993Z 904 send: (_clientId, response) => 2026-10-22T20:14:56.6454216Z ~~~~ 2026-10-22T20:14:56.6454312Z 2026-10-22T20:14:56.6454862Z 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-22T20:14:56.6455427Z 2026-10-22T20:14:56.6455506Z 913 end: (_clientId) => 2026-10-22T20:14:56.6455698Z ~~~ 2026-10-22T20:14:56.6455795Z 2026-10-22T20:14:56.6456197Z 2026-10-22T20:14:56.6456846Z 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-22T20:14:56.6457563Z 2026-10-22T20:14:56.6457788Z 17 expect(Schema.decodeUnknownSync(AuthEnvironmentScopes)(["review:write"])).toEqual([ 2026-10-22T20:14:56.6458170Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6458314Z 2026-10-22T20:14:56.6458317Z 2026-10-22T20:14:56.6458407Z ~/packages/shared$ tsc --noEmit 2026-10-22T20:14:56.6459003Z 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-22T20:14:56.6459538Z 2026-10-22T20:14:56.6459623Z 91 defaultValue: () => 2026-10-22T20:14:56.6459818Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6459924Z 2026-10-22T20:14:56.6460527Z 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-22T20:14:56.6461046Z 2026-10-22T20:14:56.6461122Z 121 onNone: () => 2026-10-22T20:14:56.6461496Z ~~~~~~ 2026-10-22T20:14:56.6461707Z 2026-10-22T20:14:56.6462208Z src/nodeSqliteClient.ts:105:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("checkNodeSqliteCompat")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6462764Z 2026-10-22T20:14:56.6462862Z 105 const checkNodeSqliteCompat = () => { 2026-10-22T20:14:56.6463110Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6463245Z 2026-10-22T20:14:56.6463726Z src/nodeSqliteClient.ts:433:31 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.6464281Z 2026-10-22T20:14:56.6464420Z 433 if (unavailable) return Effect.succeed(undefined); 2026-10-22T20:14:56.6464743Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6464967Z 2026-10-22T20:14:56.6465718Z src/nodeSqliteClient.ts:440: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-22T20:14:56.6466515Z 2026-10-22T20:14:56.6466696Z 440 return Effect.suspend((): Effect.Effect => { 2026-10-22T20:14:56.6467021Z ~~~~~~ 2026-10-22T20:14:56.6467124Z 2026-10-22T20:14:56.6467631Z src/nodeSqliteClient.ts:441:29 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.6468205Z 2026-10-22T20:14:56.6468343Z 441 if (unavailable) return Effect.succeed(undefined); 2026-10-22T20:14:56.6468656Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6468994Z 2026-10-22T20:14:56.6469500Z src/nodeSqliteClient.ts:462:13 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.6470076Z 2026-10-22T20:14:56.6470180Z 462 ? Effect.succeed(undefined) 2026-10-22T20:14:56.6470432Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6470602Z 2026-10-22T20:14:56.6471316Z src/nodeSqliteClient.ts:627: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-22T20:14:56.6472112Z 2026-10-22T20:14:56.6472185Z 627 try { 2026-10-22T20:14:56.6472348Z ~~~~~ 2026-10-22T20:14:56.6472599Z 628 worker = new NodeWorkerThreads.Worker(checkpointWorkerSource, { 2026-10-22T20:14:56.6472951Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6473206Z ... 2026-10-22T20:14:56.6473379Z 639 return undefined; 2026-10-22T20:14:56.6473586Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6473767Z 640 } 2026-10-22T20:14:56.6473933Z ~~~ 2026-10-22T20:14:56.6474023Z 2026-10-22T20:14:56.6474387Z src/symlink.ts:28:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6474881Z 2026-10-22T20:14:56.6474976Z 28 Effect.map(Option.some), 2026-10-22T20:14:56.6475193Z ~~~~~~~~~~ 2026-10-22T20:14:56.6475301Z 2026-10-22T20:14:56.6475304Z 2026-10-22T20:14:56.6475393Z ~/apps/marketing$ astro check 2026-10-22T20:14:56.6475638Z ~/packages/source-control-core$ tsc --noEmit 2026-10-22T20:14:56.6475905Z ~/packages/tailscale$ tsc --noEmit 2026-10-22T20:14:56.6476630Z 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-22T20:14:56.6477268Z 2026-10-22T20:14:56.6477379Z 243 handleServerRequest: (method, handler) => 2026-10-22T20:14:56.6477742Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6477874Z 2026-10-22T20:14:56.6478480Z 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-22T20:14:56.6479113Z 2026-10-22T20:14:56.6479237Z 247 handleServerNotification: (method, handler) => 2026-10-22T20:14:56.6479510Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6479637Z 2026-10-22T20:14:56.6480200Z 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-22T20:14:56.6480878Z 2026-10-22T20:14:56.6480994Z 253 handleUnknownServerRequest: (handler) => 2026-10-22T20:14:56.6481264Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6481411Z 2026-10-22T20:14:56.6482038Z 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-22T20:14:56.6482729Z 2026-10-22T20:14:56.6482861Z 257 handleUnknownServerNotification: (handler) => 2026-10-22T20:14:56.6483158Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6483324Z 2026-10-22T20:14:56.6483327Z 2026-10-22T20:14:56.6483414Z ~/packages/ssh$ tsc --noEmit 2026-10-22T20:14:56.6483556Z 2026-10-22T20:14:56.6483666Z ~/packages/provider-core$ tsc --noEmit 2026-10-22T20:14:56.6483824Z 2026-10-22T20:14:56.6483901Z ~/scripts$ tsc --noEmit 2026-10-22T20:14:56.6484488Z 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-22T20:14:56.6485209Z 2026-10-22T20:14:56.6485315Z 51 request: () => Effect.succeed(null), 2026-10-22T20:14:56.6485576Z ~~~~~~~ 2026-10-22T20:14:56.6485686Z 2026-10-22T20:14:56.6486143Z 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-22T20:14:56.6486670Z 2026-10-22T20:14:56.6486754Z 311 onNone: () => 2026-10-22T20:14:56.6486950Z ~~~~~~ 2026-10-22T20:14:56.6487054Z 2026-10-22T20:14:56.6487057Z 2026-10-22T20:14:56.6487169Z ~/packages/source-control-testing$ tsc --noEmit 2026-10-22T20:14:56.6487869Z 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-22T20:14:56.6488508Z 2026-10-22T20:14:56.6488741Z 95 read: (threadId) => Ref.get(sessions).pipe(Effect.map((current) => current.get(threadId))), 2026-10-22T20:14:56.6489085Z ~~~~ 2026-10-22T20:14:56.6489216Z 2026-10-22T20:14:56.6489736Z 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-22T20:14:56.6490322Z 2026-10-22T20:14:56.6490394Z 96 clear: (threadId) => 2026-10-22T20:14:56.6490585Z ~~~~~ 2026-10-22T20:14:56.6490672Z 2026-10-22T20:14:56.6491284Z 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-22T20:14:56.6491991Z 2026-10-22T20:14:56.6492122Z 110 recordHtmlRender: (threadId, input, reference) => 2026-10-22T20:14:56.6492421Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6492552Z 2026-10-22T20:14:56.6493373Z 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-22T20:14:56.6494133Z 2026-10-22T20:14:56.6494256Z 130 takeHtmlRender: (threadId, input, reported) => 2026-10-22T20:14:56.6494530Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6494647Z 2026-10-22T20:14:56.6495350Z 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-22T20:14:56.6496068Z 2026-10-22T20:14:56.6496194Z 55 offer: (request: ProviderContinuationRequest) => 2026-10-22T20:14:56.6496445Z ~~~~~ 2026-10-22T20:14:56.6496547Z 2026-10-22T20:14:56.6497130Z 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-22T20:14:56.6497843Z 2026-10-22T20:14:56.6497927Z 53 invalidate: (key) => 2026-10-22T20:14:56.6498151Z ~~~~~~~~~~ 2026-10-22T20:14:56.6498263Z 2026-10-22T20:14:56.6498739Z src/server/snapshotProbe.test.ts:139:9 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-22T20:14:56.6499301Z 2026-10-22T20:14:56.6499524Z 139 Effect.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, spawner)), 2026-10-22T20:14:56.6499879Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6500000Z 2026-10-22T20:14:56.6500003Z 2026-10-22T20:14:56.6500119Z ~/packages/source-control-bitbucket$ tsc --noEmit 2026-10-22T20:14:56.6500539Z 20:14:32 [types] Generated 381ms 2026-10-22T20:14:56.6501111Z 20:14:32 [check] Getting diagnostics for Astro files in /home/runner/_work/t3code/t3code/apps/marketing... 2026-10-22T20:14:56.6501417Z 2026-10-22T20:14:56.6501509Z ~/packages/provider-acp$ tsc --noEmit 2026-10-22T20:14:56.6501671Z 2026-10-22T20:14:56.6501774Z ~/packages/provider-testing$ tsc --noEmit 2026-10-22T20:14:56.6502490Z src/server/BitbucketApi.ts:965:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6503137Z 2026-10-22T20:14:56.6503234Z 965 listPullRequests: (input) => 2026-10-22T20:14:56.6503472Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6503601Z 2026-10-22T20:14:56.6504170Z src/server/BitbucketApi.ts:992:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6504864Z 2026-10-22T20:14:56.6504954Z 992 getPullRequest: (input) => 2026-10-22T20:14:56.6505183Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6505300Z 2026-10-22T20:14:56.6505820Z src/server/BitbucketApi.ts:994:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6506453Z 2026-10-22T20:14:56.6506555Z 994 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.6506809Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6506945Z 2026-10-22T20:14:56.6507520Z src/server/BitbucketApi.ts:996:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6508169Z 2026-10-22T20:14:56.6508258Z 996 createRepository: (input) => 2026-10-22T20:14:56.6508498Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6508622Z 2026-10-22T20:14:56.6509325Z src/server/BitbucketApi.ts:1061:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6509909Z 2026-10-22T20:14:56.6510006Z 1061 getDefaultBranch: (input) => 2026-10-22T20:14:56.6510227Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6510348Z 2026-10-22T20:14:56.6510947Z src/server/BitbucketPullRequestApi.ts:547:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getViewer")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6511590Z 2026-10-22T20:14:56.6511702Z 547 getViewer: () => 2026-10-22T20:14:56.6511883Z ~~~~~~~~~ 2026-10-22T20:14:56.6511986Z 2026-10-22T20:14:56.6512602Z src/server/BitbucketPullRequestApi.ts:562:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6513287Z 2026-10-22T20:14:56.6513378Z 562 listPullRequests: (input) => 2026-10-22T20:14:56.6513603Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6513727Z 2026-10-22T20:14:56.6514348Z src/server/BitbucketPullRequestApi.ts:584:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6515094Z 2026-10-22T20:14:56.6515180Z 584 getPullRequest: (input) => 2026-10-22T20:14:56.6515398Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6515506Z 2026-10-22T20:14:56.6516156Z src/server/BitbucketPullRequestApi.ts:599:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getRepositoryPermission")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6516859Z 2026-10-22T20:14:56.6516961Z 599 getRepositoryPermission: (input) => 2026-10-22T20:14:56.6517304Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6517431Z 2026-10-22T20:14:56.6518056Z src/server/BitbucketPullRequestApi.ts:612:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getFileRevisions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6518777Z 2026-10-22T20:14:56.6518870Z 612 getFileRevisions: (input) => 2026-10-22T20:14:56.6519096Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6519215Z 2026-10-22T20:14:56.6519850Z src/server/BitbucketPullRequestApi.ts:629:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getDiffStat")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6520540Z 2026-10-22T20:14:56.6520622Z 629 getDiffStat: (input) => 2026-10-22T20:14:56.6520821Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6520918Z 2026-10-22T20:14:56.6521487Z src/server/BitbucketPullRequestApi.ts:637:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getMergeability")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6521954Z 2026-10-22T20:14:56.6522042Z 637 getMergeability: (input) => 2026-10-22T20:14:56.6522259Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6522370Z 2026-10-22T20:14:56.6522943Z src/server/BitbucketPullRequestApi.ts:646:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listComments")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6523638Z 2026-10-22T20:14:56.6523715Z 646 listComments: (input) => 2026-10-22T20:14:56.6523930Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6524031Z 2026-10-22T20:14:56.6524632Z src/server/BitbucketPullRequestApi.ts:656:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listCommits")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6525395Z 2026-10-22T20:14:56.6525479Z 656 listCommits: (input) => 2026-10-22T20:14:56.6525677Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6525925Z 2026-10-22T20:14:56.6526570Z src/server/BitbucketPullRequestApi.ts:667:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listChecks")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6527248Z 2026-10-22T20:14:56.6527331Z 667 listChecks: (input) => 2026-10-22T20:14:56.6527566Z ~~~~~~~~~~ 2026-10-22T20:14:56.6527693Z 2026-10-22T20:14:56.6528360Z src/server/BitbucketPullRequestApi.ts:678:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6529098Z 2026-10-22T20:14:56.6529205Z 678 listReviewerCandidates: (input) => 2026-10-22T20:14:56.6529462Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6529597Z 2026-10-22T20:14:56.6530249Z src/server/BitbucketPullRequestApi.ts:712:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6530955Z 2026-10-22T20:14:56.6531046Z 712 setReviewerRequest: (input) => 2026-10-22T20:14:56.6531291Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6531421Z 2026-10-22T20:14:56.6531998Z src/server/BitbucketPullRequestApi.ts:739:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.runAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6532675Z 2026-10-22T20:14:56.6532768Z 739 runAction: (input) => 2026-10-22T20:14:56.6532979Z ~~~~~~~~~ 2026-10-22T20:14:56.6533089Z 2026-10-22T20:14:56.6533734Z src/server/BitbucketPullRequestApi.ts:756:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.updateChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6534498Z 2026-10-22T20:14:56.6534558Z 756 updateChangeRequest: (input) => 2026-10-22T20:14:56.6534712Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6534834Z 2026-10-22T20:14:56.6535181Z src/server/BitbucketPullRequestApi.ts:774:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.comment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6535564Z 2026-10-22T20:14:56.6535616Z 774 comment: (input) => 2026-10-22T20:14:56.6535740Z ~~~~~~~ 2026-10-22T20:14:56.6535806Z 2026-10-22T20:14:56.6536163Z src/server/BitbucketPullRequestApi.ts:785:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.updateComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6536565Z 2026-10-22T20:14:56.6536627Z 785 updateComment: (input) => 2026-10-22T20:14:56.6536768Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6536847Z 2026-10-22T20:14:56.6537191Z src/server/BitbucketPullRequestApi.ts:798:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.submitReview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6537583Z 2026-10-22T20:14:56.6537642Z 798 submitReview: (input) => 2026-10-22T20:14:56.6537780Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6537859Z 2026-10-22T20:14:56.6538220Z src/server/BitbucketPullRequestApi.ts:838:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.replyToComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6538614Z 2026-10-22T20:14:56.6538679Z 838 replyToComment: (input) => 2026-10-22T20:14:56.6538817Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6538888Z 2026-10-22T20:14:56.6539323Z src/server/BitbucketPullRequestApi.ts:852:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.setCommentResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6539739Z 2026-10-22T20:14:56.6539808Z 852 setCommentResolution: (input) => 2026-10-22T20:14:56.6539963Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6540041Z 2026-10-22T20:14:56.6540595Z src/server/BitbucketSourceControlProvider.ts:40:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6541063Z 2026-10-22T20:14:56.6541127Z 40 listChangeRequests: (input) => { 2026-10-22T20:14:56.6541277Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6541364Z 2026-10-22T20:14:56.6541783Z src/server/BitbucketSourceControlProvider.ts:68:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6542246Z 2026-10-22T20:14:56.6542303Z 68 getChangeRequest: (input) => 2026-10-22T20:14:56.6542454Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6542525Z 2026-10-22T20:14:56.6542963Z src/server/BitbucketSourceControlProvider.ts:85:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6543453Z 2026-10-22T20:14:56.6543519Z 85 createChangeRequest: (input) => { 2026-10-22T20:14:56.6543663Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6543748Z 2026-10-22T20:14:56.6544187Z src/server/BitbucketSourceControlProvider.ts:114:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6544832Z 2026-10-22T20:14:56.6544903Z 114 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.6545068Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6545152Z 2026-10-22T20:14:56.6545562Z src/server/BitbucketSourceControlProvider.ts:130:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6546026Z 2026-10-22T20:14:56.6546085Z 130 createRepository: (input) => 2026-10-22T20:14:56.6546230Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6546308Z 2026-10-22T20:14:56.6546730Z src/server/BitbucketSourceControlProvider.ts:146:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6547196Z 2026-10-22T20:14:56.6547254Z 146 getDefaultBranch: (input) => 2026-10-22T20:14:56.6547408Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6547485Z 2026-10-22T20:14:56.6547908Z src/server/BitbucketSourceControlProvider.ts:164:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6548395Z 2026-10-22T20:14:56.6548463Z 164 checkoutChangeRequest: (input) => 2026-10-22T20:14:56.6548617Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6548704Z 2026-10-22T20:14:56.6548706Z 2026-10-22T20:14:56.6548787Z ~/packages/source-control-gitlab$ tsc --noEmit 2026-10-22T20:14:56.6549410Z 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-22T20:14:56.6550038Z 2026-10-22T20:14:56.6550420Z 59 shouldRunBackgroundWork: () => Effect.succeed(options.runBackgroundWork ?? true), 2026-10-22T20:14:56.6550788Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6550923Z 2026-10-22T20:14:56.6551501Z 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-22T20:14:56.6552160Z 2026-10-22T20:14:56.6552268Z 61 credentials: (namespace, bindingId) => 2026-10-22T20:14:56.6552529Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6552648Z 2026-10-22T20:14:56.6552651Z 2026-10-22T20:14:56.6552775Z ~/packages/source-control-github$ tsc --noEmit 2026-10-22T20:14:56.6553658Z 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-22T20:14:56.6554434Z 2026-10-22T20:14:56.6554516Z 501 try { 2026-10-22T20:14:56.6554682Z ~~~~~ 2026-10-22T20:14:56.6554923Z 502 lease.kill(); 2026-10-22T20:14:56.6555114Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6555291Z ... 2026-10-22T20:14:56.6555461Z 508 continue; 2026-10-22T20:14:56.6555646Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6555828Z 509 } 2026-10-22T20:14:56.6555971Z ~~~~~~~ 2026-10-22T20:14:56.6556036Z 2026-10-22T20:14:56.6556443Z 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-22T20:14:56.6557013Z 2026-10-22T20:14:56.6557061Z 511 try { 2026-10-22T20:14:56.6557178Z ~~~~~ 2026-10-22T20:14:56.6557302Z 512 populated = lease.populated(); 2026-10-22T20:14:56.6557472Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6557606Z ... 2026-10-22T20:14:56.6557745Z 520 return yield* failure("read state for", cause); 2026-10-22T20:14:56.6557940Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6558096Z 521 } 2026-10-22T20:14:56.6558210Z ~~~~~~~ 2026-10-22T20:14:56.6558264Z 2026-10-22T20:14:56.6558672Z 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-22T20:14:56.6559120Z 2026-10-22T20:14:56.6559214Z 527 try { 2026-10-22T20:14:56.6559328Z ~~~~~ 2026-10-22T20:14:56.6559468Z 528 lease.remove(); 2026-10-22T20:14:56.6559612Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6559740Z ... 2026-10-22T20:14:56.6559867Z 536 lastRemovalFailure = { cause }; 2026-10-22T20:14:56.6560033Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6560188Z 537 } 2026-10-22T20:14:56.6560294Z ~~~~~~~ 2026-10-22T20:14:56.6560361Z 2026-10-22T20:14:56.6560731Z src/server/AcpSessionRuntime.ts:1977: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-22T20:14:56.6561123Z 2026-10-22T20:14:56.6561180Z 1977 Option.match(result, { 2026-10-22T20:14:56.6561337Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6561423Z 2026-10-22T20:14:56.6578538Z src/server/AcpSessionRuntime.ts:2024:7 - suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-10-22T20:14:56.6578970Z 2026-10-22T20:14:56.6579051Z 2024 Effect.flatMap(() => getStartedState), 2026-10-22T20:14:56.6579218Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6579298Z 2026-10-22T20:14:56.6579748Z src/server/AcpSessionRuntime.ts:2241:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.6580149Z 2026-10-22T20:14:56.6580209Z 2241 Effect.catch((error) => 2026-10-22T20:14:56.6580480Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6580551Z 2026-10-22T20:14:56.6580938Z src/server/AcpSessionRuntime.ts:2598:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.6581477Z 2026-10-22T20:14:56.6581574Z 2598 Effect.catchCause((cause) => 2026-10-22T20:14:56.6581825Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6581970Z 2026-10-22T20:14:56.6582554Z 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-22T20:14:56.6583197Z 2026-10-22T20:14:56.6583354Z 1389 getCapabilities: () => Effect.succeed(flavor.capabilities), 2026-10-22T20:14:56.6583694Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6583815Z 2026-10-22T20:14:56.6584437Z 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-22T20:14:56.6585155Z 2026-10-22T20:14:56.6585365Z 1390 planSelectionTransition: (input) => Effect.succeed(acpSelectionTransition(input)), 2026-10-22T20:14:56.6585720Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6585993Z 2026-10-22T20:14:56.6586295Z src/server/adapter.ts:5398:23 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-22T20:14:56.6586670Z 2026-10-22T20:14:56.6586773Z 5398 Effect.gen(function* () { 2026-10-22T20:14:56.6587025Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6587322Z 5399 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-22T20:14:56.6587669Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6587929Z ... 2026-10-22T20:14:56.6588083Z 5403 }); 2026-10-22T20:14:56.6588281Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6588472Z 5404 }), 2026-10-22T20:14:56.6588665Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6588786Z 2026-10-22T20:14:56.6589087Z src/server/adapter.ts:6092:21 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-22T20:14:56.6589464Z 2026-10-22T20:14:56.6589560Z 6092 Effect.gen(function* () { 2026-10-22T20:14:56.6589806Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6590109Z 6093 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-22T20:14:56.6590457Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6590718Z ... 2026-10-22T20:14:56.6590878Z 6097 }); 2026-10-22T20:14:56.6591071Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6591267Z 6098 }), 2026-10-22T20:14:56.6591454Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6591571Z 2026-10-22T20:14:56.6592082Z 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-22T20:14:56.6592668Z 2026-10-22T20:14:56.6592771Z 7128 scheduleDeferredFinalize = (context) => 2026-10-22T20:14:56.6593016Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6593296Z 2026-10-22T20:14:56.6593772Z 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-22T20:14:56.6594322Z 2026-10-22T20:14:56.6594415Z 243 const results = yield* Effect.all( 2026-10-22T20:14:56.6594650Z ~~~~~~~~~~ 2026-10-22T20:14:56.6594853Z 2026-10-22T20:14:56.6594856Z 2026-10-22T20:14:56.6594980Z ~/packages/source-control-azure-devops$ tsc --noEmit 2026-10-22T20:14:56.6595658Z src/server/GitLabCli.ts:459:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.listMergeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6596235Z 2026-10-22T20:14:56.6596326Z 459 listMergeRequests: (input) => 2026-10-22T20:14:56.6596539Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6596656Z 2026-10-22T20:14:56.6597141Z src/server/GitLabCli.ts:496:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6597690Z 2026-10-22T20:14:56.6597776Z 496 getMergeRequest: (input) => 2026-10-22T20:14:56.6597985Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6598096Z 2026-10-22T20:14:56.6598600Z src/server/GitLabCli.ts:523:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6599185Z 2026-10-22T20:14:56.6599291Z 523 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.6599532Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6599649Z 2026-10-22T20:14:56.6600252Z src/server/GitLabCli.ts:545:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6600798Z 2026-10-22T20:14:56.6600888Z 545 createRepository: (input) => { 2026-10-22T20:14:56.6601099Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6601212Z 2026-10-22T20:14:56.6601703Z src/server/GitLabCli.ts:610:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.createMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6602249Z 2026-10-22T20:14:56.6602345Z 610 createMergeRequest: (input) => { 2026-10-22T20:14:56.6602564Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6602673Z 2026-10-22T20:14:56.6603143Z src/server/GitLabCli.ts:631:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6603695Z 2026-10-22T20:14:56.6603780Z 631 getDefaultBranch: (input) => 2026-10-22T20:14:56.6603990Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6604101Z 2026-10-22T20:14:56.6604587Z src/server/GitLabCli.ts:652:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.checkoutMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6605172Z 2026-10-22T20:14:56.6605273Z 652 checkoutMergeRequest: (input) => 2026-10-22T20:14:56.6605509Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6605622Z 2026-10-22T20:14:56.6606182Z src/server/GitLabPullRequestCli.ts:1077:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listMergeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6606820Z 2026-10-22T20:14:56.6606913Z 1077 listMergeRequests: (input) => { 2026-10-22T20:14:56.6607134Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6607251Z 2026-10-22T20:14:56.6607917Z src/server/GitLabPullRequestCli.ts:1085:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listNotes")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6608523Z 2026-10-22T20:14:56.6608688Z 1085 listNotes: (input) => notesPage({ ...input, page: 1, collected: [] }), 2026-10-22T20:14:56.6608992Z ~~~~~~~~~ 2026-10-22T20:14:56.6609090Z 2026-10-22T20:14:56.6609643Z src/server/GitLabPullRequestCli.ts:1087:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listReactions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6610260Z 2026-10-22T20:14:56.6610471Z 1087 listReactions: (input) => awardsPage({ ...input, cursor: null, page: 1, collected: null }), 2026-10-22T20:14:56.6610808Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6610922Z 2026-10-22T20:14:56.6611463Z src/server/GitLabPullRequestCli.ts:1125:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listCommits")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6612069Z 2026-10-22T20:14:56.6612146Z 1125 listCommits: (input) => 2026-10-22T20:14:56.6612351Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6612455Z 2026-10-22T20:14:56.6613009Z src/server/GitLabPullRequestCli.ts:1150:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.getMergeRequestDiff")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6613637Z 2026-10-22T20:14:56.6613736Z 1150 getMergeRequestDiff: (input) => { 2026-10-22T20:14:56.6613962Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6614079Z 2026-10-22T20:14:56.6614671Z src/server/GitLabPullRequestCli.ts:1221:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.getProjectMergeCapabilities")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6615506Z 2026-10-22T20:14:56.6615607Z 1221 getProjectMergeCapabilities: (input) => 2026-10-22T20:14:56.6615849Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6615983Z 2026-10-22T20:14:56.6616555Z src/server/GitLabPullRequestCli.ts:1241:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6617201Z 2026-10-22T20:14:56.6617297Z 1241 listReviewerCandidates: (input) => 2026-10-22T20:14:56.6617521Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6617647Z 2026-10-22T20:14:56.6618209Z src/server/GitLabPullRequestCli.ts:1259:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6618852Z 2026-10-22T20:14:56.6618942Z 1259 setReviewerRequest: (input) => 2026-10-22T20:14:56.6619159Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6619282Z 2026-10-22T20:14:56.6619840Z src/server/GitLabPullRequestCli.ts:1312:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.updateMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6620574Z 2026-10-22T20:14:56.6620662Z 1312 updateMergeRequest: (input) => 2026-10-22T20:14:56.6620881Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6620991Z 2026-10-22T20:14:56.6621567Z src/server/GitLabPullRequestCli.ts:1326:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.commentOnMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6622211Z 2026-10-22T20:14:56.6622303Z 1326 commentOnMergeRequest: (input) => 2026-10-22T20:14:56.6622533Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6622658Z 2026-10-22T20:14:56.6623330Z src/server/GitLabPullRequestCli.ts:1336:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.updateNote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6623938Z 2026-10-22T20:14:56.6624020Z 1336 updateNote: (input) => 2026-10-22T20:14:56.6624221Z ~~~~~~~~~~ 2026-10-22T20:14:56.6624317Z 2026-10-22T20:14:56.6624910Z src/server/GitLabPullRequestCli.ts:1346:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listDiscussions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6625536Z 2026-10-22T20:14:56.6625731Z 1346 listDiscussions: (input) => discussionsPage({ ...input, page: 1, collected: [] }), 2026-10-22T20:14:56.6626065Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6626179Z 2026-10-22T20:14:56.6626752Z src/server/GitLabPullRequestCli.ts:1397:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.replyToDiscussion")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6627386Z 2026-10-22T20:14:56.6627472Z 1397 replyToDiscussion: (input) => 2026-10-22T20:14:56.6627694Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6627805Z 2026-10-22T20:14:56.6628420Z src/server/GitLabPullRequestCli.ts:1407:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.setDiscussionResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6629122Z 2026-10-22T20:14:56.6629227Z 1407 setDiscussionResolution: (input) => 2026-10-22T20:14:56.6629460Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6629590Z 2026-10-22T20:14:56.6630283Z src/server/GitLabSourceControlProvider.ts:209:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.readChangeRequestTemplate")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6631224Z 2026-10-22T20:14:56.6631343Z 209 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-22T20:14:56.6631612Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6631747Z 2026-10-22T20:14:56.6632407Z src/server/GitLabSourceControlProvider.ts:224:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6633152Z 2026-10-22T20:14:56.6633241Z 224 listChangeRequests: (input) => { 2026-10-22T20:14:56.6633486Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6633596Z 2026-10-22T20:14:56.6634263Z src/server/GitLabSourceControlProvider.ts:252:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6635052Z 2026-10-22T20:14:56.6635144Z 252 getChangeRequest: (input) => 2026-10-22T20:14:56.6635361Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6635480Z 2026-10-22T20:14:56.6636159Z src/server/GitLabSourceControlProvider.ts:270:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6636912Z 2026-10-22T20:14:56.6637002Z 270 createChangeRequest: (input) => { 2026-10-22T20:14:56.6637253Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6637386Z 2026-10-22T20:14:56.6638070Z src/server/GitLabSourceControlProvider.ts:299:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6638842Z 2026-10-22T20:14:56.6638955Z 299 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.6639195Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6639416Z 2026-10-22T20:14:56.6640089Z src/server/GitLabSourceControlProvider.ts:316:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6640831Z 2026-10-22T20:14:56.6640915Z 316 createRepository: (input) => 2026-10-22T20:14:56.6641135Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6641242Z 2026-10-22T20:14:56.6641899Z src/server/GitLabSourceControlProvider.ts:333:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6642671Z 2026-10-22T20:14:56.6642762Z 333 getDefaultBranch: (input) => 2026-10-22T20:14:56.6642987Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6643100Z 2026-10-22T20:14:56.6643851Z src/server/GitLabSourceControlProvider.ts:347:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6644624Z 2026-10-22T20:14:56.6644727Z 347 checkoutChangeRequest: (input) => 2026-10-22T20:14:56.6645008Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6645147Z 2026-10-22T20:14:56.6645151Z 2026-10-22T20:14:56.6645266Z ~/packages/source-control-gitcafe$ tsc --noEmit 2026-10-22T20:14:56.6645981Z src/server/GitHubCredentials.ts:238:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubCredentials.invalidate")((rawHost) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6646586Z 2026-10-22T20:14:56.6646811Z 238 invalidate: (rawHost) => { 2026-10-22T20:14:56.6647029Z ~~~~~~~~~~ 2026-10-22T20:14:56.6647137Z 2026-10-22T20:14:56.6647682Z src/server/GitHubPullRequestApi.ts:969:21 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubApiResponseError")(function*(error) { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6648300Z 2026-10-22T20:14:56.6648416Z 969 GitHubApiResponseError: (error) => 2026-10-22T20:14:56.6648685Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6648831Z 2026-10-22T20:14:56.6649489Z src/server/GitHubPullRequestApi.ts:1606:13 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.6650231Z 2026-10-22T20:14:56.6650324Z 1606 Effect.flatMap((runs) => 2026-10-22T20:14:56.6650562Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6650698Z 2026-10-22T20:14:56.6651301Z src/server/GitHubPullRequestApi.ts:1753:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getViewerLogin")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6651969Z 2026-10-22T20:14:56.6652069Z 1753 getViewerLogin: (input) => 2026-10-22T20:14:56.6652320Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6652439Z 2026-10-22T20:14:56.6653071Z src/server/GitHubPullRequestApi.ts:1756:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6653759Z 2026-10-22T20:14:56.6653859Z 1756 listPullRequests: (input) => { 2026-10-22T20:14:56.6654102Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6654239Z 2026-10-22T20:14:56.6654999Z src/server/GitHubPullRequestApi.ts:1885:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.6655798Z 2026-10-22T20:14:56.6656003Z 1885 Effect.flatMap((batch) => { 2026-10-22T20:14:56.6656265Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6656402Z 2026-10-22T20:14:56.6657100Z src/server/GitHubPullRequestApi.ts:1924:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.searchPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6657886Z 2026-10-22T20:14:56.6657989Z 1924 searchPullRequests: (input) => { 2026-10-22T20:14:56.6658238Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6658368Z 2026-10-22T20:14:56.6659046Z src/server/GitHubPullRequestApi.ts:1998:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestPreview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6659799Z 2026-10-22T20:14:56.6659893Z 1998 getPullRequestPreview: (input) => { 2026-10-22T20:14:56.6660142Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6660276Z 2026-10-22T20:14:56.6661045Z src/server/GitHubPullRequestApi.ts:2011:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestStack")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6661740Z 2026-10-22T20:14:56.6661844Z 2011 getPullRequestStack: (input) => { 2026-10-22T20:14:56.6662082Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6662212Z 2026-10-22T20:14:56.6662821Z src/server/GitHubPullRequestApi.ts:2089:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestDiff")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6663490Z 2026-10-22T20:14:56.6663732Z 2089 getPullRequestDiff: (input) => { 2026-10-22T20:14:56.6663965Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6664090Z 2026-10-22T20:14:56.6664707Z src/server/GitHubPullRequestApi.ts:2137:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getReviewThreadComments")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6665427Z 2026-10-22T20:14:56.6665535Z 2137 getReviewThreadComments: (input) => { 2026-10-22T20:14:56.6665797Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6665942Z 2026-10-22T20:14:56.6666570Z src/server/GitHubPullRequestApi.ts:2279:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listActorAvatars")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6667244Z 2026-10-22T20:14:56.6667336Z 2279 listActorAvatars: (input) => { 2026-10-22T20:14:56.6667557Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6667674Z 2026-10-22T20:14:56.6668296Z src/server/GitHubPullRequestApi.ts:2288:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getViewerAccess")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6668934Z 2026-10-22T20:14:56.6669023Z 2288 getViewerAccess: (input) => { 2026-10-22T20:14:56.6669261Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6669377Z 2026-10-22T20:14:56.6670036Z src/server/GitHubPullRequestApi.ts:2300:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6670774Z 2026-10-22T20:14:56.6670881Z 2300 listReviewerCandidates: (input) => { 2026-10-22T20:14:56.6671133Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6671273Z 2026-10-22T20:14:56.6671901Z src/server/GitHubPullRequestApi.ts:2312:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6672571Z 2026-10-22T20:14:56.6672896Z 2312 setReviewerRequest: (input) => { 2026-10-22T20:14:56.6673145Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6673266Z 2026-10-22T20:14:56.6673913Z src/server/GitHubPullRequestApi.ts:2325:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listLabelCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6674622Z 2026-10-22T20:14:56.6674721Z 2325 listLabelCandidates: (input) => { 2026-10-22T20:14:56.6675007Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6675133Z 2026-10-22T20:14:56.6675695Z src/server/GitHubPullRequestApi.ts:2337:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6676364Z 2026-10-22T20:14:56.6676451Z 2337 setLabels: (input) => { 2026-10-22T20:14:56.6676676Z ~~~~~~~~~ 2026-10-22T20:14:56.6676780Z 2026-10-22T20:14:56.6677430Z src/server/GitHubPullRequestApi.ts:2364:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.runPullRequestAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6678141Z 2026-10-22T20:14:56.6678241Z 2364 runPullRequestAction: (input) => { 2026-10-22T20:14:56.6678492Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6678635Z 2026-10-22T20:14:56.6679283Z src/server/GitHubPullRequestApi.ts:2623:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.commentOnPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6679988Z 2026-10-22T20:14:56.6680082Z 2623 commentOnPullRequest: (input) => 2026-10-22T20:14:56.6680516Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6680656Z 2026-10-22T20:14:56.6681290Z src/server/GitHubPullRequestApi.ts:2633:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.submitReview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6682002Z 2026-10-22T20:14:56.6682095Z 2633 submitReview: (input) => { 2026-10-22T20:14:56.6682328Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6682449Z 2026-10-22T20:14:56.6683073Z src/server/GitHubPullRequestApi.ts:2650:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.replyToReviewThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6683776Z 2026-10-22T20:14:56.6683876Z 2650 replyToReviewThread: (input) => 2026-10-22T20:14:56.6684136Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6684278Z 2026-10-22T20:14:56.6684962Z src/server/GitHubPullRequestApi.ts:2655:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestFilesViewed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6685732Z 2026-10-22T20:14:56.6685853Z 2655 getPullRequestFilesViewed: (input) => { 2026-10-22T20:14:56.6686122Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6686264Z 2026-10-22T20:14:56.6686909Z src/server/GitHubPullRequestApi.ts:2683:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestFileStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6687626Z 2026-10-22T20:14:56.6687738Z 2683 getPullRequestFileStats: (input) => { 2026-10-22T20:14:56.6688009Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6688154Z 2026-10-22T20:14:56.6688837Z src/server/GitHubPullRequestApi.ts:2711:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setPullRequestFilesViewed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6689591Z 2026-10-22T20:14:56.6689722Z 2711 setPullRequestFilesViewed: (input) => { 2026-10-22T20:14:56.6690094Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6690247Z 2026-10-22T20:14:56.6690912Z src/server/GitHubPullRequestApi.ts:2732:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReviewThreadResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6691613Z 2026-10-22T20:14:56.6691721Z 2732 setReviewThreadResolution: (input) => 2026-10-22T20:14:56.6691967Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6692108Z 2026-10-22T20:14:56.6692675Z src/server/GitHubPullRequestApi.ts:2738:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReaction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6693191Z 2026-10-22T20:14:56.6693248Z 2738 setReaction: (input) => { 2026-10-22T20:14:56.6693394Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6693503Z 2026-10-22T20:14:56.6694153Z src/server/GitHubPullRequestApi.ts:2771:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.updatePullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6694736Z 2026-10-22T20:14:56.6694854Z 2771 updatePullRequest: (input) => 2026-10-22T20:14:56.6695014Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6695093Z 2026-10-22T20:14:56.6695448Z src/server/GitHubPullRequestApi.ts:2787:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.updateComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6695838Z 2026-10-22T20:14:56.6695898Z 2787 updateComment: (input) => 2026-10-22T20:14:56.6696036Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6696221Z 2026-10-22T20:14:56.6696774Z src/server/GitHubSourceControlProvider.ts:894:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.readChangeRequestTemplate")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6697561Z 2026-10-22T20:14:56.6697689Z 894 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-22T20:14:56.6697951Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6698092Z 2026-10-22T20:14:56.6698798Z src/server/GitHubSourceControlProvider.ts:905:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6699590Z 2026-10-22T20:14:56.6699683Z 905 listChangeRequests: (input) => 2026-10-22T20:14:56.6699914Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6700035Z 2026-10-22T20:14:56.6700876Z src/server/GitHubSourceControlProvider.ts:923:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6701647Z 2026-10-22T20:14:56.6701746Z 923 getChangeRequest: (input) => 2026-10-22T20:14:56.6701977Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6702100Z 2026-10-22T20:14:56.6702901Z src/server/GitHubSourceControlProvider.ts:1036:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6703751Z 2026-10-22T20:14:56.6703850Z 1036 checkoutChangeRequest: (input) => 2026-10-22T20:14:56.6704100Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6704245Z 2026-10-22T20:14:56.6704968Z 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-22T20:14:56.6705732Z 2026-10-22T20:14:56.6706045Z 118 return yield* Effect.fail(error); 2026-10-22T20:14:56.6706286Z ~~~~~ 2026-10-22T20:14:56.6706401Z 2026-10-22T20:14:56.6706404Z 2026-10-22T20:14:56.6706534Z ~/packages/source-control-forgejo$ tsc --noEmit 2026-10-22T20:14:56.6707271Z src/server/AzureDevOpsCli.ts:389:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6707915Z 2026-10-22T20:14:56.6708007Z 389 listPullRequests: (input) => 2026-10-22T20:14:56.6708228Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6708349Z 2026-10-22T20:14:56.6708894Z src/server/AzureDevOpsCli.ts:429:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6709521Z 2026-10-22T20:14:56.6709611Z 429 getPullRequest: (input) => 2026-10-22T20:14:56.6709835Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6709943Z 2026-10-22T20:14:56.6710503Z src/server/AzureDevOpsCli.ts:463:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6711151Z 2026-10-22T20:14:56.6711250Z 463 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.6711482Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6711606Z 2026-10-22T20:14:56.6712146Z src/server/AzureDevOpsCli.ts:479:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6712767Z 2026-10-22T20:14:56.6713021Z 479 createRepository: (input) => { 2026-10-22T20:14:56.6713246Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6713384Z 2026-10-22T20:14:56.6713940Z src/server/AzureDevOpsCli.ts:504:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.createPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6714556Z 2026-10-22T20:14:56.6714647Z 504 createPullRequest: (input) => 2026-10-22T20:14:56.6714931Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6715046Z 2026-10-22T20:14:56.6715589Z src/server/AzureDevOpsCli.ts:524:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6716243Z 2026-10-22T20:14:56.6716340Z 524 getDefaultBranch: (input) => 2026-10-22T20:14:56.6716573Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6716700Z 2026-10-22T20:14:56.6717291Z src/server/AzureDevOpsCli.ts:535:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.checkoutPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6717953Z 2026-10-22T20:14:56.6718058Z 535 checkoutPullRequest: (input) => 2026-10-22T20:14:56.6718307Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6718430Z 2026-10-22T20:14:56.6719038Z src/server/AzureDevOpsPullRequestCli.ts:488:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.getViewer")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6719774Z 2026-10-22T20:14:56.6719857Z 488 getViewer: (input) => 2026-10-22T20:14:56.6720051Z ~~~~~~~~~ 2026-10-22T20:14:56.6720154Z 2026-10-22T20:14:56.6720787Z src/server/AzureDevOpsPullRequestCli.ts:542:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6721494Z 2026-10-22T20:14:56.6721585Z 542 listPullRequests: (input) => 2026-10-22T20:14:56.6721953Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6722077Z 2026-10-22T20:14:56.6722698Z src/server/AzureDevOpsPullRequestCli.ts:555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6723324Z 2026-10-22T20:14:56.6723417Z 555 getPullRequest: (input) => 2026-10-22T20:14:56.6723637Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6723753Z 2026-10-22T20:14:56.6724399Z src/server/AzureDevOpsPullRequestCli.ts:586:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listThreads")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6725154Z 2026-10-22T20:14:56.6725256Z 586 listThreads: (input) => 2026-10-22T20:14:56.6725484Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6725595Z 2026-10-22T20:14:56.6726288Z src/server/AzureDevOpsPullRequestCli.ts:596:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listIterations")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6727063Z 2026-10-22T20:14:56.6727165Z 596 listIterations: (input) => 2026-10-22T20:14:56.6727398Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6727523Z 2026-10-22T20:14:56.6728182Z src/server/AzureDevOpsPullRequestCli.ts:606:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listIterationChanges")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6728914Z 2026-10-22T20:14:56.6729017Z 606 listIterationChanges: (input) => { 2026-10-22T20:14:56.6729284Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6729425Z 2026-10-22T20:14:56.6730353Z src/server/AzureDevOpsPullRequestCli.ts:633:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.readItemContent")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6731138Z 2026-10-22T20:14:56.6731238Z 633 readItemContent: (input) => 2026-10-22T20:14:56.6731477Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6731587Z 2026-10-22T20:14:56.6732244Z src/server/AzureDevOpsPullRequestCli.ts:656:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.setPullRequestReviewers")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6733022Z 2026-10-22T20:14:56.6733125Z 656 setPullRequestReviewers: (input) => 2026-10-22T20:14:56.6733394Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6733544Z 2026-10-22T20:14:56.6734230Z src/server/AzureDevOpsPullRequestCli.ts:681:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.runPullRequestAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6735072Z 2026-10-22T20:14:56.6735185Z 681 runPullRequestAction: (input) => 2026-10-22T20:14:56.6735435Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6735581Z 2026-10-22T20:14:56.6736249Z src/server/AzureDevOpsPullRequestCli.ts:700:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.updatePullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6736987Z 2026-10-22T20:14:56.6737091Z 700 updatePullRequest: (input) => 2026-10-22T20:14:56.6737321Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6737441Z 2026-10-22T20:14:56.6738285Z 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-22T20:14:56.6739187Z 2026-10-22T20:14:56.6739302Z 81 listChangeRequests: (input) => { 2026-10-22T20:14:56.6739564Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6739854Z 2026-10-22T20:14:56.6740719Z 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-22T20:14:56.6741567Z 2026-10-22T20:14:56.6741663Z 109 getChangeRequest: (input) => 2026-10-22T20:14:56.6741898Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6742018Z 2026-10-22T20:14:56.6742806Z 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-22T20:14:56.6743677Z 2026-10-22T20:14:56.6743776Z 127 createChangeRequest: (input) => { 2026-10-22T20:14:56.6744040Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6744168Z 2026-10-22T20:14:56.6745017Z 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-22T20:14:56.6745929Z 2026-10-22T20:14:56.6746036Z 156 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.6746305Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6746452Z 2026-10-22T20:14:56.6747273Z 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-22T20:14:56.6748171Z 2026-10-22T20:14:56.6748469Z 173 createRepository: (input) => 2026-10-22T20:14:56.6748723Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6748857Z 2026-10-22T20:14:56.6749661Z 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-22T20:14:56.6750548Z 2026-10-22T20:14:56.6750652Z 190 getDefaultBranch: (input) => 2026-10-22T20:14:56.6750878Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6750998Z 2026-10-22T20:14:56.6751766Z 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-22T20:14:56.6752645Z 2026-10-22T20:14:56.6752756Z 204 checkoutChangeRequest: (input) => 2026-10-22T20:14:56.6753020Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6753167Z 2026-10-22T20:14:56.6753170Z 2026-10-22T20:14:56.6753269Z ~/packages/provider-pi$ tsc --noEmit 2026-10-22T20:14:56.6754032Z 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-22T20:14:56.6754699Z 2026-10-22T20:14:56.6754865Z 170 get: (host) => 2026-10-22T20:14:56.6755060Z ~~~ 2026-10-22T20:14:56.6755162Z 2026-10-22T20:14:56.6755769Z 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-22T20:14:56.6756467Z 2026-10-22T20:14:56.6756654Z 183 invalidate: (host) => Cache.invalidate(cache, normalizeHost(host)), 2026-10-22T20:14:56.6756996Z ~~~~~~~~~~ 2026-10-22T20:14:56.6757114Z 2026-10-22T20:14:56.6757853Z 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-22T20:14:56.6758539Z 2026-10-22T20:14:56.6758624Z 184 cliEnv: (host) => 2026-10-22T20:14:56.6758836Z ~~~~~~ 2026-10-22T20:14:56.6758943Z 2026-10-22T20:14:56.6759448Z src/server/GitCafePullRequestProvider.ts:554:13 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6760031Z 2026-10-22T20:14:56.6760124Z 554 Effect.map(Option.some), 2026-10-22T20:14:56.6760350Z ~~~~~~~~~~ 2026-10-22T20:14:56.6760478Z 2026-10-22T20:14:56.6760946Z src/server/GitCafePullRequestProvider.ts:559:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6761505Z 2026-10-22T20:14:56.6761620Z 559 : Effect.succeed(Option.none()), 2026-10-22T20:14:56.6761880Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6762028Z 2026-10-22T20:14:56.6762692Z src/server/GitCafePullRequestProvider.ts:651:13 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.6763408Z 2026-10-22T20:14:56.6763505Z 651 Effect.catch((error) => 2026-10-22T20:14:56.6763749Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6763881Z 2026-10-22T20:14:56.6763883Z 2026-10-22T20:14:56.6763989Z ~/packages/provider-muse$ tsc --noEmit 2026-10-22T20:14:56.6764965Z src/server/ForgejoSourceControlProvider.ts:340:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6765910Z 2026-10-22T20:14:56.6766009Z 340 getChangeRequest: (input) => 2026-10-22T20:14:56.6766234Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6766348Z 2026-10-22T20:14:56.6766948Z 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-22T20:14:56.6767644Z 2026-10-22T20:14:56.6767823Z 440 getCapabilities: () => Effect.succeed(PiProviderCapabilitiesV2), 2026-10-22T20:14:56.6768146Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6768271Z 2026-10-22T20:14:56.6768937Z 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-22T20:14:56.6769654Z 2026-10-22T20:14:56.6769868Z 441 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.6770273Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6770408Z 2026-10-22T20:14:56.6770842Z src/server/adapter.ts:1682:31 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6771312Z 2026-10-22T20:14:56.6771431Z 1682 Effect.map(Option.some), 2026-10-22T20:14:56.6771716Z ~~~~~~~~~~ 2026-10-22T20:14:56.6771895Z 2026-10-22T20:14:56.6772324Z src/server/adapter.ts:1685:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6772788Z 2026-10-22T20:14:56.6772902Z 1685 : Effect.succeed(Option.none()), 2026-10-22T20:14:56.6773187Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6773341Z 2026-10-22T20:14:56.6773818Z 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-22T20:14:56.6774371Z 2026-10-22T20:14:56.6774463Z 334 onSuccess: () => 2026-10-22T20:14:56.6774761Z ~~~~~~~~~ 2026-10-22T20:14:56.6774909Z 2026-10-22T20:14:56.6775292Z src/server/rpc.ts:342:17 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6775589Z 2026-10-22T20:14:56.6775649Z 342 Effect.map(Option.some), 2026-10-22T20:14:56.6775811Z ~~~~~~~~~~ 2026-10-22T20:14:56.6775893Z 2026-10-22T20:14:56.6775895Z 2026-10-22T20:14:56.6775965Z ~/packages/provider-opencode$ tsc --noEmit 2026-10-22T20:14:56.6776075Z 2026-10-22T20:14:56.6776141Z ~/packages/provider-cursor$ tsc --noEmit 2026-10-22T20:14:56.6776631Z 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-22T20:14:56.6777319Z 2026-10-22T20:14:56.6777499Z 284 getCapabilities: () => Effect.succeed(MuseProviderCapabilitiesV2), 2026-10-22T20:14:56.6777837Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6777959Z 2026-10-22T20:14:56.6778603Z 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-22T20:14:56.6779347Z 2026-10-22T20:14:56.6779567Z 285 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.6779973Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6780122Z 2026-10-22T20:14:56.6780777Z 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-22T20:14:56.6781628Z 2026-10-22T20:14:56.6781729Z 388 TimeoutError: (cause) => 2026-10-22T20:14:56.6781978Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6782112Z 2026-10-22T20:14:56.6782528Z src/server/adapter.ts:1366:35 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6783026Z 2026-10-22T20:14:56.6783249Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-22T20:14:56.6783658Z ~~~~~~~~~~ 2026-10-22T20:14:56.6783834Z 2026-10-22T20:14:56.6784235Z src/server/adapter.ts:1366:71 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6784716Z 2026-10-22T20:14:56.6784986Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-22T20:14:56.6785429Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6785636Z 2026-10-22T20:14:56.6785639Z 2026-10-22T20:14:56.6785743Z ~/packages/provider-grok$ tsc --noEmit 2026-10-22T20:14:56.6786446Z 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-22T20:14:56.6787069Z 2026-10-22T20:14:56.6787178Z 147 return Effect.succeed(undefined); 2026-10-22T20:14:56.6787432Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6787594Z 2026-10-22T20:14:56.6788359Z 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-22T20:14:56.6789161Z 2026-10-22T20:14:56.6789268Z 188 if (!recordable) return Effect.void; 2026-10-22T20:14:56.6789530Z ~~~~~~ 2026-10-22T20:14:56.6789672Z 2026-10-22T20:14:56.6790551Z 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-22T20:14:56.6791344Z 2026-10-22T20:14:56.6791437Z 208 return Effect.void; 2026-10-22T20:14:56.6791669Z ~~~~~~ 2026-10-22T20:14:56.6791774Z 2026-10-22T20:14:56.6792485Z 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-22T20:14:56.6793319Z 2026-10-22T20:14:56.6793396Z 228 return fs 2026-10-22T20:14:56.6793580Z ~~~~~~ 2026-10-22T20:14:56.6793708Z 2026-10-22T20:14:56.6794296Z 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-22T20:14:56.6795018Z 2026-10-22T20:14:56.6795210Z 311 OpenCodeServerLedger.of({ track: () => Effect.succeed(Effect.void) }), 2026-10-22T20:14:56.6795581Z ~~~~~ 2026-10-22T20:14:56.6795727Z 2026-10-22T20:14:56.6796316Z 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-22T20:14:56.6796987Z 2026-10-22T20:14:56.6797075Z 169 withServer: (use) => 2026-10-22T20:14:56.6797289Z ~~~~~~~~~~ 2026-10-22T20:14:56.6797401Z 2026-10-22T20:14:56.6798149Z 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-22T20:14:56.6799214Z 2026-10-22T20:14:56.6799428Z 103 const OPENCODE_TEST_SETTINGS = Schema.decodeUnknownSync(OpenCodeSettings)({}); 2026-10-22T20:14:56.6799831Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6800014Z 2026-10-22T20:14:56.6800609Z 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-22T20:14:56.6801268Z 2026-10-22T20:14:56.6801461Z 938 getCapabilities: () => Effect.succeed(OpenCodeProviderCapabilitiesV2), 2026-10-22T20:14:56.6801805Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6801933Z 2026-10-22T20:14:56.6802563Z 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-22T20:14:56.6803308Z 2026-10-22T20:14:56.6803539Z 939 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.6803930Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6804069Z 2026-10-22T20:14:56.6804620Z 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-22T20:14:56.6805345Z 2026-10-22T20:14:56.6805479Z 1011 const abortController = new AbortController(); 2026-10-22T20:14:56.6805793Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6805969Z 2026-10-22T20:14:56.6806569Z 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-22T20:14:56.6807248Z 2026-10-22T20:14:56.6807543Z 1088 if (failure) return yield* Effect.fail(failure); 2026-10-22T20:14:56.6807841Z ~~~~~ 2026-10-22T20:14:56.6808003Z 2026-10-22T20:14:56.6808516Z 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-22T20:14:56.6809112Z 2026-10-22T20:14:56.6809255Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-22T20:14:56.6809561Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6809698Z 2026-10-22T20:14:56.6810189Z 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-22T20:14:56.6810754Z 2026-10-22T20:14:56.6810898Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-22T20:14:56.6811218Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6811417Z 2026-10-22T20:14:56.6811981Z 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-22T20:14:56.6812661Z 2026-10-22T20:14:56.6812810Z 3194 admissionAbortController: new AbortController(), 2026-10-22T20:14:56.6813153Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6813335Z 2026-10-22T20:14:56.6813855Z 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-22T20:14:56.6814489Z 2026-10-22T20:14:56.6814646Z 3354 turn.admissionAbortController = new AbortController(); 2026-10-22T20:14:56.6815209Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6815400Z 2026-10-22T20:14:56.6815994Z 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-22T20:14:56.6816693Z 2026-10-22T20:14:56.6816794Z 158 connect: ({ baseUrl, password }) => { 2026-10-22T20:14:56.6817063Z ~~~~~~~ 2026-10-22T20:14:56.6817178Z 2026-10-22T20:14:56.6817816Z 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-22T20:14:56.6818559Z 2026-10-22T20:14:56.6818661Z 160 withConnection: (use) => 2026-10-22T20:14:56.6818916Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6819059Z 2026-10-22T20:14:56.6819709Z 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-22T20:14:56.6820603Z 2026-10-22T20:14:56.6820692Z 175 withConnection: (use) => 2026-10-22T20:14:56.6820938Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6821065Z 2026-10-22T20:14:56.6821504Z src/server/v2/adapter.ts:1544:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6822029Z 2026-10-22T20:14:56.6822273Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-22T20:14:56.6822695Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6822876Z 2026-10-22T20:14:56.6823319Z src/server/v2/adapter.ts:1544:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6823852Z 2026-10-22T20:14:56.6824057Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-22T20:14:56.6824616Z ~~~~~~~~~~ 2026-10-22T20:14:56.6824884Z 2026-10-22T20:14:56.6825501Z 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-22T20:14:56.6826235Z 2026-10-22T20:14:56.6826446Z 4137 getCapabilities: () => Effect.succeed(OpenCode2ProviderCapabilities), 2026-10-22T20:14:56.6826785Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6826911Z 2026-10-22T20:14:56.6827593Z 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-22T20:14:56.6828341Z 2026-10-22T20:14:56.6828575Z 4138 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.6828978Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6829117Z 2026-10-22T20:14:56.6829121Z 2026-10-22T20:14:56.6829247Z ~/packages/provider-acp-registry$ tsc --noEmit 2026-10-22T20:14:56.6830087Z 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-22T20:14:56.6830823Z 2026-10-22T20:14:56.6830932Z 174 Effect.flatMap((snapshot) => 2026-10-22T20:14:56.6831179Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6831293Z 2026-10-22T20:14:56.6831755Z 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-22T20:14:56.6832465Z 2026-10-22T20:14:56.6832587Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-22T20:14:56.6832854Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6832988Z 2026-10-22T20:14:56.6833496Z 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-22T20:14:56.6834083Z 2026-10-22T20:14:56.6834195Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-22T20:14:56.6834444Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6834588Z 2026-10-22T20:14:56.6835336Z 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-22T20:14:56.6836079Z 2026-10-22T20:14:56.6836178Z 1588 Effect.catchCause((cause) => 2026-10-22T20:14:56.6836447Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6836594Z 2026-10-22T20:14:56.6836605Z 2026-10-22T20:14:56.6836709Z ~/packages/client-runtime$ tsc --noEmit 2026-10-22T20:14:56.6837509Z 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-22T20:14:56.6838242Z 2026-10-22T20:14:56.6838366Z 31 read: (credentialSource, sinceMs, untilMs) => 2026-10-22T20:14:56.6838625Z ~~~~ 2026-10-22T20:14:56.6838733Z 2026-10-22T20:14:56.6839278Z 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-22T20:14:56.6839902Z 2026-10-22T20:14:56.6839993Z 82 read: (apiKey) => 2026-10-22T20:14:56.6840189Z ~~~~ 2026-10-22T20:14:56.6840294Z 2026-10-22T20:14:56.6840950Z 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-22T20:14:56.6841591Z 2026-10-22T20:14:56.6841676Z 360 Effect.catch(() => 2026-10-22T20:14:56.6841883Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6841986Z 2026-10-22T20:14:56.6842591Z 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-22T20:14:56.6843269Z 2026-10-22T20:14:56.6843460Z 904 getCapabilities: () => Effect.succeed(CursorProviderCapabilitiesV2), 2026-10-22T20:14:56.6843803Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6843929Z 2026-10-22T20:14:56.6844571Z 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-22T20:14:56.6845332Z 2026-10-22T20:14:56.6845536Z 905 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.6845917Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6846053Z 2026-10-22T20:14:56.6846888Z 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-22T20:14:56.6847810Z 2026-10-22T20:14:56.6847901Z 55 Effect.runPromise( 2026-10-22T20:14:56.6848123Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6848265Z 2026-10-22T20:14:56.6848790Z 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-22T20:14:56.6849656Z 2026-10-22T20:14:56.6849776Z 59 onNone: () => Effect.succeed(undefined), 2026-10-22T20:14:56.6850073Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6850252Z 2026-10-22T20:14:56.6851143Z 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-22T20:14:56.6852119Z 2026-10-22T20:14:56.6852222Z 69 Effect.runPromise( 2026-10-22T20:14:56.6852441Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6852565Z 2026-10-22T20:14:56.6853456Z 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-22T20:14:56.6854436Z 2026-10-22T20:14:56.6854572Z 82 clear: () => Effect.runPromise(credentials.remove), 2026-10-22T20:14:56.6854924Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6855090Z 2026-10-22T20:14:56.6855752Z 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-22T20:14:56.6856494Z 2026-10-22T20:14:56.6856594Z 228 Effect.flatMap((snapshot) => 2026-10-22T20:14:56.6856858Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6857002Z 2026-10-22T20:14:56.6857467Z src/server/usageLimits.test.ts:74:5 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-22T20:14:56.6857926Z 2026-10-22T20:14:56.6858020Z 74 Effect.gen(function* () { 2026-10-22T20:14:56.6858271Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6858528Z 75 yield* withNodeServices( 2026-10-22T20:14:56.6858886Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6859110Z ... 2026-10-22T20:14:56.6859282Z 115 ); 2026-10-22T20:14:56.6859460Z ~~~~~~~~ 2026-10-22T20:14:56.6859652Z 116 }), 2026-10-22T20:14:56.6859824Z ~~~~~~ 2026-10-22T20:14:56.6859923Z 2026-10-22T20:14:56.6859926Z 2026-10-22T20:14:56.6860547Z src/server/AcpRegistryRuntimeCoordinator.ts:154:52 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6861143Z 2026-10-22T20:14:56.6861394Z 154 return yield* Effect.raceFirst(effect.pipe(Effect.map(Option.some)), foregroundStarted); 2026-10-22T20:14:56.6861850Z ~~~~~~~~~~ 2026-10-22T20:14:56.6862042Z 2026-10-22T20:14:56.6862701Z 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-22T20:14:56.6863447Z 2026-10-22T20:14:56.6863543Z 1301 Effect.catch((error) => 2026-10-22T20:14:56.6863786Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6863920Z 2026-10-22T20:14:56.6864499Z 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-22T20:14:56.6865211Z 2026-10-22T20:14:56.6865302Z 146 Option.isSome(result) 2026-10-22T20:14:56.6865552Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6865692Z 2026-10-22T20:14:56.6866180Z 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-22T20:14:56.6866903Z 2026-10-22T20:14:56.6867099Z 640 enrichSnapshot: ({ snapshot, getSnapshot, publishSnapshot }) => { 2026-10-22T20:14:56.6867438Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6867574Z 2026-10-22T20:14:56.6867990Z src/server/driver.ts:650:51 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6868481Z 2026-10-22T20:14:56.6868662Z 650 : enrichProviderCached(snapshot).pipe(Effect.map(Option.some)) 2026-10-22T20:14:56.6869035Z ~~~~~~~~~~ 2026-10-22T20:14:56.6869207Z 2026-10-22T20:14:56.6869210Z 2026-10-22T20:14:56.6869282Z Result (22 files): 2026-10-22T20:14:56.6869471Z - 0 errors 2026-10-22T20:14:56.6869621Z - 0 warnings 2026-10-22T20:14:56.6869793Z - 0 hints 2026-10-22T20:14:56.6869877Z 2026-10-22T20:14:56.6869887Z 2026-10-22T20:14:56.6870312Z src/authorization/remote.test.ts:232:25 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6870845Z 2026-10-22T20:14:56.6871047Z 232 identity: Effect.succeed(Option.some({ accountId: "user_connect" })), 2026-10-22T20:14:56.6871417Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6871585Z 2026-10-22T20:14:56.6872035Z src/authorization/remote.test.ts:237:17 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6872574Z 2026-10-22T20:14:56.6872703Z 237 id: Effect.succeed(Option.some("device-1")), 2026-10-22T20:14:56.6873009Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6873162Z 2026-10-22T20:14:56.6873823Z 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-22T20:14:56.6874571Z 2026-10-22T20:14:56.6874670Z 553 authorizeDpop: (input) => 2026-10-22T20:14:56.6874952Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6875084Z 2026-10-22T20:14:56.6875882Z 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-22T20:14:56.6876642Z 2026-10-22T20:14:56.6876738Z 555 authorizeDpopHttp: (input) => 2026-10-22T20:14:56.6877003Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6877141Z 2026-10-22T20:14:56.6877776Z src/connection/githubRoutingPermissions.ts:138:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubRoutingPermissions.get")((entry) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6878501Z 2026-10-22T20:14:56.6878594Z 138 get: (entry) => 2026-10-22T20:14:56.6878812Z ~~~ 2026-10-22T20:14:56.6878932Z 2026-10-22T20:14:56.6879630Z src/connection/githubRoutingPermissions.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubRoutingPermissions.set")((entry, permission) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6880403Z 2026-10-22T20:14:56.6880510Z 143 set: (entry, permission) => { 2026-10-22T20:14:56.6880772Z ~~~ 2026-10-22T20:14:56.6880889Z 2026-10-22T20:14:56.6881546Z src/connection/githubRoutingPermissions.ts:159:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubRoutingPermissions.forget")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6882306Z 2026-10-22T20:14:56.6882410Z 159 forget: (environmentId) => 2026-10-22T20:14:56.6882648Z ~~~~~~ 2026-10-22T20:14:56.6882789Z 2026-10-22T20:14:56.6883451Z 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-22T20:14:56.6884294Z 2026-10-22T20:14:56.6884405Z 298 registerPairing: (input) => 2026-10-22T20:14:56.6884661Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6884807Z 2026-10-22T20:14:56.6885350Z 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-22T20:14:56.6885952Z 2026-10-22T20:14:56.6886039Z 304 registerSsh: (input) => 2026-10-22T20:14:56.6886256Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6886358Z 2026-10-22T20:14:56.6886918Z 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-22T20:14:56.6887540Z 2026-10-22T20:14:56.6887631Z 309 updateBearer: (input) => 2026-10-22T20:14:56.6887841Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6887953Z 2026-10-22T20:14:56.6888447Z 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-22T20:14:56.6888994Z 2026-10-22T20:14:56.6889111Z 1392 ? Effect.succeed(undefined) 2026-10-22T20:14:56.6889397Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6889565Z 2026-10-22T20:14:56.6890112Z 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-22T20:14:56.6890742Z 2026-10-22T20:14:56.6890858Z 1476 ? Effect.succeed(undefined) 2026-10-22T20:14:56.6891138Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6891309Z 2026-10-22T20:14:56.6891858Z 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-22T20:14:56.6892505Z 2026-10-22T20:14:56.6892769Z 1489 : Effect.succeed(undefined), 2026-10-22T20:14:56.6893100Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6893288Z 2026-10-22T20:14:56.6893818Z src/platform/orchestrationCache.test.ts:104:15 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6894422Z 2026-10-22T20:14:56.6894537Z 104 }).pipe(Effect.map(Option.some)); 2026-10-22T20:14:56.6894869Z ~~~~~~~~~~ 2026-10-22T20:14:56.6895026Z 2026-10-22T20:14:56.6895820Z 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-22T20:14:56.6896705Z 2026-10-22T20:14:56.6896881Z 72 load: (prepared: PreparedConnection, threadId: ThreadId) => { 2026-10-22T20:14:56.6897223Z ~~~~ 2026-10-22T20:14:56.6897335Z 2026-10-22T20:14:56.6897949Z 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-22T20:14:56.6898648Z 2026-10-22T20:14:56.6898897Z 56 Effect.catch(() => Effect.succeed(Option.none())), 2026-10-22T20:14:56.6899281Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6899438Z 2026-10-22T20:14:56.6900161Z 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-22T20:14:56.6901061Z 2026-10-22T20:14:56.6901364Z 62 return yield* Effect.fail( 2026-10-22T20:14:56.6901659Z ~~~~~ 2026-10-22T20:14:56.6901806Z 2026-10-22T20:14:56.6902407Z 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-22T20:14:56.6903093Z 2026-10-22T20:14:56.6903282Z 57 execute: (target: OutdatedServerUpdateTarget, atomRegistry) => { 2026-10-22T20:14:56.6903646Z ~~~~~~~ 2026-10-22T20:14:56.6903780Z 2026-10-22T20:14:56.6904450Z 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-22T20:14:56.6905206Z 2026-10-22T20:14:56.6905292Z 90 load: (prepared, input) => 2026-10-22T20:14:56.6905475Z ~~~~ 2026-10-22T20:14:56.6905561Z 2026-10-22T20:14:56.6906014Z 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-22T20:14:56.6906510Z 2026-10-22T20:14:56.6906635Z 34 return yield* Schema.decodeUnknownEffect(codec)(stored.value).pipe( 2026-10-22T20:14:56.6906852Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6906969Z 2026-10-22T20:14:56.6907234Z src/state/queryPersistence.ts:35:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.6907535Z 2026-10-22T20:14:56.6907716Z 35 Effect.map(Option.some), 2026-10-22T20:14:56.6907869Z ~~~~~~~~~~ 2026-10-22T20:14:56.6907950Z 2026-10-22T20:14:56.6908247Z 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-22T20:14:56.6908593Z 2026-10-22T20:14:56.6908669Z 680 execute: (target, atomRegistry) => { 2026-10-22T20:14:56.6908914Z ~~~~~~~ 2026-10-22T20:14:56.6909065Z 2026-10-22T20:14:56.6909477Z 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-22T20:14:56.6910209Z 2026-10-22T20:14:56.6910284Z 1125 Effect.flatMap((summary) => 2026-10-22T20:14:56.6910534Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6910660Z 2026-10-22T20:14:56.6910923Z src/state/shell-sync.test.ts:90:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6911245Z 2026-10-22T20:14:56.6911371Z 90 loadShell: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6911614Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6911749Z 2026-10-22T20:14:56.6912131Z src/state/shell-sync.test.ts:96:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6912521Z 2026-10-22T20:14:56.6912615Z 96 loadThread: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6912984Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6913128Z 2026-10-22T20:14:56.6913388Z src/state/shell-sync.test.ts:99:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6913752Z 2026-10-22T20:14:56.6913922Z 99 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6914186Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6914325Z 2026-10-22T20:14:56.6914690Z src/state/shell-sync.test.ts:101:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6915186Z 2026-10-22T20:14:56.6915318Z 101 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6915575Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6915733Z 2026-10-22T20:14:56.6915992Z src/state/shell-sync.test.ts:108:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6932700Z 2026-10-22T20:14:56.6932790Z 108 load: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6932957Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6933047Z 2026-10-22T20:14:56.6933291Z src/state/shell-sync.test.ts:229:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6933574Z 2026-10-22T20:14:56.6933651Z 229 loadShell: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6933829Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6933918Z 2026-10-22T20:14:56.6934161Z src/state/shell-sync.test.ts:238:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6934443Z 2026-10-22T20:14:56.6934520Z 238 loadThread: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6934691Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6934846Z 2026-10-22T20:14:56.6935078Z src/state/shell-sync.test.ts:241:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6935350Z 2026-10-22T20:14:56.6935437Z 241 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6935617Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6935714Z 2026-10-22T20:14:56.6935941Z src/state/shell-sync.test.ts:243:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6936217Z 2026-10-22T20:14:56.6936399Z 243 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6936567Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6936660Z 2026-10-22T20:14:56.6936889Z src/state/shell-sync.test.ts:250:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6937163Z 2026-10-22T20:14:56.6937231Z 250 load: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6937388Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6937474Z 2026-10-22T20:14:56.6937701Z src/state/shell-sync.test.ts:349:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6937977Z 2026-10-22T20:14:56.6938052Z 349 loadShell: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6938217Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6938310Z 2026-10-22T20:14:56.6938542Z src/state/shell-sync.test.ts:355:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6938817Z 2026-10-22T20:14:56.6938891Z 355 loadThread: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6939059Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6939151Z 2026-10-22T20:14:56.6939378Z src/state/shell-sync.test.ts:358:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6939650Z 2026-10-22T20:14:56.6939736Z 358 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6939913Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6940010Z 2026-10-22T20:14:56.6940237Z src/state/shell-sync.test.ts:360:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6940782Z 2026-10-22T20:14:56.6940860Z 360 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6941028Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6941119Z 2026-10-22T20:14:56.6941349Z src/state/shell-sync.test.ts:367:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6941627Z 2026-10-22T20:14:56.6941693Z 367 load: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6941847Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6941934Z 2026-10-22T20:14:56.6942161Z src/state/shell-sync.test.ts:446:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6942437Z 2026-10-22T20:14:56.6942530Z 446 loadShell: () => Effect.succeed(Option.some(cachedSnapshot)), 2026-10-22T20:14:56.6942719Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6942813Z 2026-10-22T20:14:56.6943047Z src/state/shell-sync.test.ts:448:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6943328Z 2026-10-22T20:14:56.6943409Z 448 loadThread: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6943587Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6943687Z 2026-10-22T20:14:56.6943926Z src/state/shell-sync.test.ts:451:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6944209Z 2026-10-22T20:14:56.6944296Z 451 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6944492Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6944599Z 2026-10-22T20:14:56.6944870Z src/state/shell-sync.test.ts:453:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6945152Z 2026-10-22T20:14:56.6945323Z 453 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.6945505Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6945612Z 2026-10-22T20:14:56.6945850Z src/state/shell-sync.test.ts:460:21 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6946130Z 2026-10-22T20:14:56.6946215Z 460 load: () => Effect.succeed(Option.some(httpSnapshot)), 2026-10-22T20:14:56.6946404Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6946493Z 2026-10-22T20:14:56.6946821Z 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-22T20:14:56.6947192Z 2026-10-22T20:14:56.6947264Z 98 load: (prepared: PreparedConnection) => 2026-10-22T20:14:56.6947421Z ~~~~ 2026-10-22T20:14:56.6947489Z 2026-10-22T20:14:56.6947891Z src/state/threadHistoryController.ts:47:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.register")((environmentId, threadId, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6948328Z 2026-10-22T20:14:56.6948412Z 47 register: (environmentId, threadId, handler) => 2026-10-22T20:14:56.6948581Z ~~~~~~~~ 2026-10-22T20:14:56.6948653Z 2026-10-22T20:14:56.6949019Z src/state/threadHistoryController.ts:59:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.unregister")((registration) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6949022Z 2026-10-22T20:14:56.6949079Z 59 unregister: (registration) => 2026-10-22T20:14:56.6949224Z ~~~~~~~~~~ 2026-10-22T20:14:56.6949226Z 2026-10-22T20:14:56.6949626Z src/state/threadHistoryController.ts:74:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.loadEarlier")((environmentId, threadId, throughEntryId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6949629Z 2026-10-22T20:14:56.6949727Z 74 loadEarlier: (environmentId, threadId, throughEntryId) => 2026-10-22T20:14:56.6949772Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6949783Z 2026-10-22T20:14:56.6950028Z src/state/threads-sync.test.ts:1006:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6950031Z 2026-10-22T20:14:56.6950124Z 1006 : { loadCached: Effect.succeed(Option.some(saved!)) }, 2026-10-22T20:14:56.6950182Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6950185Z 2026-10-22T20:14:56.6950473Z 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-22T20:14:56.6950478Z 2026-10-22T20:14:56.6950569Z 447 execute: (input: RunVcsStackedActionInput, registry) => { 2026-10-22T20:14:56.6950615Z ~~~~~~~ 2026-10-22T20:14:56.6950617Z 2026-10-22T20:14:56.6950620Z 2026-10-22T20:14:56.6950679Z ~/apps/mobile$ tsc --noEmit 2026-10-22T20:14:56.6950732Z ~/infra/relay$ tsc --noEmit 2026-10-22T20:14:56.6950782Z ~/apps/web$ tsc --noEmit 2026-10-22T20:14:56.6950845Z ~/apps/desktop$ tsc --noEmit 2026-10-22T20:14:56.6951190Z 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-22T20:14:56.6951193Z 2026-10-22T20:14:56.6951247Z 220 send: (body) => 2026-10-22T20:14:56.6951295Z ~~~~ 2026-10-22T20:14:56.6951297Z 2026-10-22T20:14:56.6951686Z 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-22T20:14:56.6951690Z 2026-10-22T20:14:56.6951748Z 12 onFailure: (error) => 2026-10-22T20:14:56.6951798Z ~~~~~~~~~ 2026-10-22T20:14:56.6951800Z 2026-10-22T20:14:56.6952146Z 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-22T20:14:56.6952148Z 2026-10-22T20:14:56.6952207Z 64 pauseUntil: (untilMillis) => 2026-10-22T20:14:56.6952250Z ~~~~~~~~~~ 2026-10-22T20:14:56.6952252Z 2026-10-22T20:14:56.6952515Z 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-22T20:14:56.6952519Z 2026-10-22T20:14:56.6952572Z 198 onNone: () => 2026-10-22T20:14:56.6952619Z ~~~~~~ 2026-10-22T20:14:56.6952624Z 2026-10-22T20:14:56.6952931Z 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-22T20:14:56.6952937Z 2026-10-22T20:14:56.6953053Z 92 fileResponse: () => Effect.die("Relay API does not serve filesystem responses"), 2026-10-22T20:14:56.6953099Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6953102Z 2026-10-22T20:14:56.6953410Z 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-22T20:14:56.6953413Z 2026-10-22T20:14:56.6953529Z 93 fileWebResponse: () => Effect.die("Relay API does not serve file responses"), 2026-10-22T20:14:56.6953638Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6953641Z 2026-10-22T20:14:56.6953920Z 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-22T20:14:56.6953923Z 2026-10-22T20:14:56.6953994Z 242 hold: ({ endpointKey, baseUrl, hook }) => 2026-10-22T20:14:56.6954042Z ~~~~ 2026-10-22T20:14:56.6954044Z 2026-10-22T20:14:56.6954317Z 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-22T20:14:56.6954320Z 2026-10-22T20:14:56.6954382Z 244 wake: ({ endpointKey, baseUrl }) => 2026-10-22T20:14:56.6954429Z ~~~~ 2026-10-22T20:14:56.6954431Z 2026-10-22T20:14:56.6954706Z 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-22T20:14:56.6954710Z 2026-10-22T20:14:56.6954811Z 246 clear: ({ endpointKey }) => 2026-10-22T20:14:56.6954861Z ~~~~~ 2026-10-22T20:14:56.6954869Z 2026-10-22T20:14:56.6955204Z 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-22T20:14:56.6955207Z 2026-10-22T20:14:56.6955261Z 275 send: (body) => 2026-10-22T20:14:56.6955313Z ~~~~ 2026-10-22T20:14:56.6955316Z 2026-10-22T20:14:56.6955318Z 2026-10-22T20:14:56.6955652Z 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-22T20:14:56.6955656Z 2026-10-22T20:14:56.6955766Z 389 complete: (response) => Effect.sync(() => broker.complete(response)), 2026-10-22T20:14:56.6955809Z ~~~~~~~~ 2026-10-22T20:14:56.6955815Z 2026-10-22T20:14:56.6956111Z src/app/DesktopClerk.test.ts:300:27 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6956114Z 2026-10-22T20:14:56.6956211Z 300 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-22T20:14:56.6956270Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6956272Z 2026-10-22T20:14:56.6956563Z src/app/DesktopObservability.ts:459:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onSome")(function*(logFile) { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6956569Z 2026-10-22T20:14:56.6956619Z 459 onSome: (logFile) => 2026-10-22T20:14:56.6956667Z ~~~~~~ 2026-10-22T20:14:56.6956669Z 2026-10-22T20:14:56.6957027Z src/app/DesktopObservability.ts:589:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendOutputLogFactory.forInstance")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.6957030Z 2026-10-22T20:14:56.6957099Z 589 forInstance: (id) => makeForId(id), 2026-10-22T20:14:56.6957145Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6957148Z 2026-10-22T20:14:56.6957392Z src/app/DesktopWebLinks.test.ts:29:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.6957394Z 2026-10-22T20:14:56.6957497Z 29 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-22T20:14:56.6957556Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6957559Z 2026-10-22T20:14:56.6957857Z 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-22T20:14:56.6957924Z 2026-10-22T20:14:56.6957973Z 72 receive: (url) => 2026-10-22T20:14:56.6958026Z ~~~~~~~ 2026-10-22T20:14:56.6958030Z 2026-10-22T20:14:56.6958357Z 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-22T20:14:56.6958359Z 2026-10-22T20:14:56.6958422Z 77 setRendererReady: (ready) => 2026-10-22T20:14:56.6958471Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6958473Z 2026-10-22T20:14:56.6958772Z 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-22T20:14:56.6958776Z 2026-10-22T20:14:56.6958834Z 1062 onSome: (run) => 2026-10-22T20:14:56.6958881Z ~~~~~~ 2026-10-22T20:14:56.6958885Z 2026-10-22T20:14:56.6959197Z 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-22T20:14:56.6959200Z 2026-10-22T20:14:56.6959247Z 307 get: (id) => 2026-10-22T20:14:56.6959297Z ~~~ 2026-10-22T20:14:56.6959299Z 2026-10-22T20:14:56.6959606Z 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-22T20:14:56.6959608Z 2026-10-22T20:14:56.6959710Z 342 get: (id) => Effect.succeed(Option.fromNullishOr(byId.get(id))), 2026-10-22T20:14:56.6959765Z ~~~ 2026-10-22T20:14:56.6959767Z 2026-10-22T20:14:56.6960079Z 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-22T20:14:56.6960083Z 2026-10-22T20:14:56.6960274Z 345 register: () => Effect.die("DesktopBackendPool.layerTest does not support register"), 2026-10-22T20:14:56.6960324Z ~~~~~~~~ 2026-10-22T20:14:56.6960327Z 2026-10-22T20:14:56.6960647Z 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-22T20:14:56.6960649Z 2026-10-22T20:14:56.6960792Z 346 unregister: () => Effect.die("DesktopBackendPool.layerTest does not support unregister"), 2026-10-22T20:14:56.6960838Z ~~~~~~~~~~ 2026-10-22T20:14:56.6960840Z 2026-10-22T20:14:56.6961135Z 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-22T20:14:56.6961139Z 2026-10-22T20:14:56.6961188Z 145 exit: (code) => 2026-10-22T20:14:56.6961235Z ~~~~ 2026-10-22T20:14:56.6961238Z 2026-10-22T20:14:56.6961539Z 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-22T20:14:56.6961547Z 2026-10-22T20:14:56.6961602Z 149 relaunch: (options) => 2026-10-22T20:14:56.6961650Z ~~~~~~~~ 2026-10-22T20:14:56.6961652Z 2026-10-22T20:14:56.6961958Z 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-22T20:14:56.6961960Z 2026-10-22T20:14:56.6962016Z 153 setPath: (name, path) => 2026-10-22T20:14:56.6962060Z ~~~~~~~ 2026-10-22T20:14:56.6962062Z 2026-10-22T20:14:56.6962365Z 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-22T20:14:56.6962432Z 2026-10-22T20:14:56.6962491Z 157 setName: (name) => 2026-10-22T20:14:56.6962540Z ~~~~~~~ 2026-10-22T20:14:56.6962542Z 2026-10-22T20:14:56.6962868Z 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-22T20:14:56.6962870Z 2026-10-22T20:14:56.6962936Z 161 setAboutPanelOptions: (options) => 2026-10-22T20:14:56.6962988Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6962991Z 2026-10-22T20:14:56.6963302Z 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-22T20:14:56.6963306Z 2026-10-22T20:14:56.6963366Z 165 setAppUserModelId: (id) => 2026-10-22T20:14:56.6963411Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6963417Z 2026-10-22T20:14:56.6963775Z 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-22T20:14:56.6963778Z 2026-10-22T20:14:56.6963875Z 170 setAsDefaultProtocolClient: (protocol, path, args) => 2026-10-22T20:14:56.6963929Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6963931Z 2026-10-22T20:14:56.6964254Z 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-22T20:14:56.6964256Z 2026-10-22T20:14:56.6964319Z 177 setDesktopName: (desktopName) => 2026-10-22T20:14:56.6964363Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6964367Z 2026-10-22T20:14:56.6964727Z 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-22T20:14:56.6964729Z 2026-10-22T20:14:56.6964817Z 184 setDockIcon: (iconPath) => 2026-10-22T20:14:56.6964868Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6964870Z 2026-10-22T20:14:56.6965217Z 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-22T20:14:56.6965223Z 2026-10-22T20:14:56.6965302Z 188 appendCommandLineSwitch: (switchName, value) => 2026-10-22T20:14:56.6965358Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6965360Z 2026-10-22T20:14:56.6965697Z 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-22T20:14:56.6965702Z 2026-10-22T20:14:56.6965776Z 196 onBeforeQuitForUpdate: (listener) => 2026-10-22T20:14:56.6965826Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6965829Z 2026-10-22T20:14:56.6966176Z 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-22T20:14:56.6966178Z 2026-10-22T20:14:56.6966249Z 206 removeCommandLineSwitch: (switchName) => 2026-10-22T20:14:56.6966300Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6966303Z 2026-10-22T20:14:56.6966644Z 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-22T20:14:56.6966694Z 2026-10-22T20:14:56.6966756Z 169 showMessageBox: (options, owner) => 2026-10-22T20:14:56.6966805Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6966808Z 2026-10-22T20:14:56.6967149Z 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-22T20:14:56.6967152Z 2026-10-22T20:14:56.6967214Z 185 showErrorBox: (title, content) => 2026-10-22T20:14:56.6967256Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6967262Z 2026-10-22T20:14:56.6967593Z 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-22T20:14:56.6967595Z 2026-10-22T20:14:56.6967661Z 193 setApplicationMenu: (template) => 2026-10-22T20:14:56.6967717Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6967721Z 2026-10-22T20:14:56.6968038Z 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-22T20:14:56.6968040Z 2026-10-22T20:14:56.6968097Z 207 popupTemplate: (input) => 2026-10-22T20:14:56.6968147Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6968149Z 2026-10-22T20:14:56.6968463Z 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-22T20:14:56.6968466Z 2026-10-22T20:14:56.6968526Z 225 showContextMenu: (input) => 2026-10-22T20:14:56.6968578Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6968581Z 2026-10-22T20:14:56.6968961Z 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-22T20:14:56.6968972Z 2026-10-22T20:14:56.6969047Z 82 getSystemIdleState: (idleThresholdSeconds) => 2026-10-22T20:14:56.6969145Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6969148Z 2026-10-22T20:14:56.6969483Z 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-22T20:14:56.6969485Z 2026-10-22T20:14:56.6969539Z 77 encryptString: (value) => 2026-10-22T20:14:56.6969580Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6969583Z 2026-10-22T20:14:56.6969920Z 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-22T20:14:56.6969924Z 2026-10-22T20:14:56.6969984Z 82 decryptString: (value) => 2026-10-22T20:14:56.6970035Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6970038Z 2026-10-22T20:14:56.6970357Z 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-22T20:14:56.6970360Z 2026-10-22T20:14:56.6970413Z 68 openExternal: (rawUrl) => 2026-10-22T20:14:56.6970462Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6970464Z 2026-10-22T20:14:56.6970788Z 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-22T20:14:56.6970790Z 2026-10-22T20:14:56.6970851Z 79 openSystemSettings: (pane) => 2026-10-22T20:14:56.6970898Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6970901Z 2026-10-22T20:14:56.6971206Z 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-22T20:14:56.6971268Z 2026-10-22T20:14:56.6971324Z 86 copyText: (text) => 2026-10-22T20:14:56.6971371Z ~~~~~~~~ 2026-10-22T20:14:56.6971373Z 2026-10-22T20:14:56.6971672Z 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-22T20:14:56.6971675Z 2026-10-22T20:14:56.6971723Z 34 setSource: (theme) => 2026-10-22T20:14:56.6971768Z ~~~~~~~~~ 2026-10-22T20:14:56.6971770Z 2026-10-22T20:14:56.6972075Z 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-22T20:14:56.6972078Z 2026-10-22T20:14:56.6972135Z 41 onUpdated: (listener) => 2026-10-22T20:14:56.6972182Z ~~~~~~~~~ 2026-10-22T20:14:56.6972185Z 2026-10-22T20:14:56.6972503Z 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-22T20:14:56.6972506Z 2026-10-22T20:14:56.6972560Z 85 setFeedURL: (options) => 2026-10-22T20:14:56.6972612Z ~~~~~~~~~~ 2026-10-22T20:14:56.6972614Z 2026-10-22T20:14:56.6972946Z 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-22T20:14:56.6972948Z 2026-10-22T20:14:56.6973002Z 90 setAutoDownload: (value) => 2026-10-22T20:14:56.6973045Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6973047Z 2026-10-22T20:14:56.6973391Z 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-22T20:14:56.6973395Z 2026-10-22T20:14:56.6973513Z 95 setAutoInstallOnAppQuit: (value) => 2026-10-22T20:14:56.6973569Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6973571Z 2026-10-22T20:14:56.6973889Z 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-22T20:14:56.6973895Z 2026-10-22T20:14:56.6973948Z 100 setChannel: (channel) => 2026-10-22T20:14:56.6974002Z ~~~~~~~~~~ 2026-10-22T20:14:56.6974004Z 2026-10-22T20:14:56.6974335Z 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-22T20:14:56.6974339Z 2026-10-22T20:14:56.6974402Z 105 setAllowPrerelease: (value) => 2026-10-22T20:14:56.6974448Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6974450Z 2026-10-22T20:14:56.6974805Z 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-22T20:14:56.6974812Z 2026-10-22T20:14:56.6974870Z 111 setAllowDowngrade: (value) => 2026-10-22T20:14:56.6974921Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6974923Z 2026-10-22T20:14:56.6975255Z 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-22T20:14:56.6975258Z 2026-10-22T20:14:56.6975310Z 116 setFullChangelog: (value) => 2026-10-22T20:14:56.6975360Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6975419Z 2026-10-22T20:14:56.6975785Z 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-22T20:14:56.6975788Z 2026-10-22T20:14:56.6975864Z 121 setDisableDifferentialDownload: (value) => 2026-10-22T20:14:56.6975930Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6975932Z 2026-10-22T20:14:56.6976250Z 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-22T20:14:56.6976252Z 2026-10-22T20:14:56.6976335Z 140 quitAndInstall: ({ isSilent, isForceRunAfter }) => 2026-10-22T20:14:56.6976381Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6976383Z 2026-10-22T20:14:56.6976713Z 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-22T20:14:56.6976717Z 2026-10-22T20:14:56.6976780Z 154 on: (eventName, listener) => { 2026-10-22T20:14:56.6976826Z ~~ 2026-10-22T20:14:56.6976828Z 2026-10-22T20:14:56.6977145Z 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-22T20:14:56.6977149Z 2026-10-22T20:14:56.6977207Z 211 create: (options) => { 2026-10-22T20:14:56.6977256Z ~~~~~~ 2026-10-22T20:14:56.6977258Z 2026-10-22T20:14:56.6977560Z 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-22T20:14:56.6977567Z 2026-10-22T20:14:56.6977667Z 243 setMain: (window) => Ref.set(mainWindowRef, Option.some(window)), 2026-10-22T20:14:56.6977720Z ~~~~~~~ 2026-10-22T20:14:56.6977723Z 2026-10-22T20:14:56.6978087Z 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-22T20:14:56.6978090Z 2026-10-22T20:14:56.6978151Z 244 clearMain: (window) => 2026-10-22T20:14:56.6978196Z ~~~~~~~~~ 2026-10-22T20:14:56.6978198Z 2026-10-22T20:14:56.6978522Z 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-22T20:14:56.6978524Z 2026-10-22T20:14:56.6978592Z 254 prepareReveal: (window) => 2026-10-22T20:14:56.6978643Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6978645Z 2026-10-22T20:14:56.6978959Z 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-22T20:14:56.6978962Z 2026-10-22T20:14:56.6979016Z 264 reveal: (window) => 2026-10-22T20:14:56.6979068Z ~~~~~~ 2026-10-22T20:14:56.6979070Z 2026-10-22T20:14:56.6979449Z 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-22T20:14:56.6979451Z 2026-10-22T20:14:56.6979532Z 526 setMainWindowBounds: (bounds, isMaximized) => 2026-10-22T20:14:56.6979582Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6979590Z 2026-10-22T20:14:56.6979936Z 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-22T20:14:56.6980001Z 2026-10-22T20:14:56.6980074Z 538 setServerExposureMode: (mode) => 2026-10-22T20:14:56.6980131Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6980135Z 2026-10-22T20:14:56.6980583Z 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-22T20:14:56.6980586Z 2026-10-22T20:14:56.6980650Z 542 setTailscaleServe: (input) => 2026-10-22T20:14:56.6980699Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6980701Z 2026-10-22T20:14:56.6981049Z 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-22T20:14:56.6981052Z 2026-10-22T20:14:56.6981114Z 546 setUpdateChannel: (channel) => 2026-10-22T20:14:56.6981175Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6981177Z 2026-10-22T20:14:56.6981527Z 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-22T20:14:56.6981534Z 2026-10-22T20:14:56.6981595Z 550 setWslBackendEnabled: (enabled) => 2026-10-22T20:14:56.6981648Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6981655Z 2026-10-22T20:14:56.6981996Z 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-22T20:14:56.6981998Z 2026-10-22T20:14:56.6982057Z 554 setWslDistro: (distro) => 2026-10-22T20:14:56.6982103Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6982105Z 2026-10-22T20:14:56.6982435Z 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-22T20:14:56.6982523Z 2026-10-22T20:14:56.6982586Z 560 setWslOnly: (enabled) => 2026-10-22T20:14:56.6982633Z ~~~~~~~~~~ 2026-10-22T20:14:56.6982635Z 2026-10-22T20:14:56.6982999Z 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-22T20:14:56.6983002Z 2026-10-22T20:14:56.6983070Z 564 setLocalEnvironmentEnabled: (enabled) => 2026-10-22T20:14:56.6983121Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6983124Z 2026-10-22T20:14:56.6983493Z 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-22T20:14:56.6983497Z 2026-10-22T20:14:56.6983582Z 599 setMainWindowBounds: (bounds, isMaximized) => 2026-10-22T20:14:56.6983643Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6983646Z 2026-10-22T20:14:56.6983998Z 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-22T20:14:56.6984001Z 2026-10-22T20:14:56.6984073Z 601 setServerExposureMode: (mode) => 2026-10-22T20:14:56.6984128Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6984131Z 2026-10-22T20:14:56.6984479Z 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-22T20:14:56.6984552Z 2026-10-22T20:14:56.6984697Z 603 setTailscaleServe: (input) => update((settings) => setTailscaleServe(settings, input)), 2026-10-22T20:14:56.6984749Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6984753Z 2026-10-22T20:14:56.6985118Z 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-22T20:14:56.6985120Z 2026-10-22T20:14:56.6985259Z 604 setUpdateChannel: (channel) => update((settings) => setUpdateChannel(settings, channel)), 2026-10-22T20:14:56.6985307Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6985309Z 2026-10-22T20:14:56.6985666Z 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-22T20:14:56.6985670Z 2026-10-22T20:14:56.6985736Z 605 setWslBackendEnabled: (enabled) => 2026-10-22T20:14:56.6985793Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6985797Z 2026-10-22T20:14:56.6986136Z 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-22T20:14:56.6986139Z 2026-10-22T20:14:56.6986271Z 607 setWslDistro: (distro) => update((settings) => setWslDistro(settings, distro)), 2026-10-22T20:14:56.6986324Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6986326Z 2026-10-22T20:14:56.6986661Z 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-22T20:14:56.6986663Z 2026-10-22T20:14:56.6986785Z 608 setWslOnly: (enabled) => update((settings) => setWslOnly(settings, enabled)), 2026-10-22T20:14:56.6986842Z ~~~~~~~~~~ 2026-10-22T20:14:56.6986844Z 2026-10-22T20:14:56.6987270Z 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-22T20:14:56.6987273Z 2026-10-22T20:14:56.6987347Z 609 setLocalEnvironmentEnabled: (enabled) => 2026-10-22T20:14:56.6987396Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6987398Z 2026-10-22T20:14:56.6987732Z 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-22T20:14:56.6987734Z 2026-10-22T20:14:56.6987787Z 197 set: (settings) => 2026-10-22T20:14:56.6987834Z ~~~ 2026-10-22T20:14:56.6987837Z 2026-10-22T20:14:56.6988163Z 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-22T20:14:56.6988169Z 2026-10-22T20:14:56.6988264Z 231 set: (settings) => Ref.set(settingsRef, Option.some(settings)), 2026-10-22T20:14:56.6988311Z ~~~ 2026-10-22T20:14:56.6988313Z 2026-10-22T20:14:56.6988680Z 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-22T20:14:56.6988682Z 2026-10-22T20:14:56.6988764Z 1729 setAnimationDestination: (id, destination) => 2026-10-22T20:14:56.6988811Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6988814Z 2026-10-22T20:14:56.6989143Z 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-22T20:14:56.6989215Z 2026-10-22T20:14:56.6989283Z 1740 dismissAnimation: (id) => 2026-10-22T20:14:56.6989336Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6989339Z 2026-10-22T20:14:56.6989657Z 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-22T20:14:56.6989660Z 2026-10-22T20:14:56.6989716Z 1745 acknowledge: (id) => 2026-10-22T20:14:56.6989761Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6989764Z 2026-10-22T20:14:56.6990109Z 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-22T20:14:56.6990112Z 2026-10-22T20:14:56.6990174Z 136 discoverHosts: (input) => 2026-10-22T20:14:56.6990223Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6990225Z 2026-10-22T20:14:56.6990563Z 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-22T20:14:56.6990565Z 2026-10-22T20:14:56.6990629Z 141 resolveHost: (alias) => 2026-10-22T20:14:56.6990679Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6990681Z 2026-10-22T20:14:56.6991054Z 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-22T20:14:56.6991056Z 2026-10-22T20:14:56.6991132Z 146 ensureEnvironment: (target, ensureOptions) => 2026-10-22T20:14:56.6991181Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6991185Z 2026-10-22T20:14:56.6991590Z 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-22T20:14:56.6991593Z 2026-10-22T20:14:56.6991658Z 154 disconnectEnvironment: (target) => 2026-10-22T20:14:56.6991711Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6991714Z 2026-10-22T20:14:56.6992056Z 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-22T20:14:56.6992059Z 2026-10-22T20:14:56.6992197Z 1171 installPrepared: (expectedVersion) => installWithExpectedVersion(expectedVersion), 2026-10-22T20:14:56.6992252Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6992255Z 2026-10-22T20:14:56.6992577Z 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-22T20:14:56.6992581Z 2026-10-22T20:14:56.6992642Z 1101 preWarm: () => Effect.void, 2026-10-22T20:14:56.6992687Z ~~~~~~~ 2026-10-22T20:14:56.6992696Z 2026-10-22T20:14:56.6993058Z 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-22T20:14:56.6993061Z 2026-10-22T20:14:56.6993136Z 1102 windowsToWslPath: (distro, windowsPath) => 2026-10-22T20:14:56.6993185Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6993187Z 2026-10-22T20:14:56.6993526Z 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-22T20:14:56.6993679Z 2026-10-22T20:14:56.6993834Z 1104 getUserHome: (distro) => Effect.succeed(stub.getUserHome?.(distro) ?? Option.none()), 2026-10-22T20:14:56.6993884Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6993888Z 2026-10-22T20:14:56.6994233Z 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-22T20:14:56.6994236Z 2026-10-22T20:14:56.6994389Z 1105 getDistroIp: (distro) => Effect.succeed(stub.getDistroIp?.(distro) ?? Option.none()), 2026-10-22T20:14:56.6994441Z ~~~~~~~~~~~ 2026-10-22T20:14:56.6994444Z 2026-10-22T20:14:56.6994821Z 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-22T20:14:56.6994830Z 2026-10-22T20:14:56.6994901Z 1106 prepareRuntime: (distro, archive) => 2026-10-22T20:14:56.6994963Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6994967Z 2026-10-22T20:14:56.6995326Z 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-22T20:14:56.6995329Z 2026-10-22T20:14:56.6995476Z 1113 pruneRuntimes: (distro, runtimeId) => stub.pruneRuntimes?.(distro, runtimeId) ?? Effect.void, 2026-10-22T20:14:56.6995520Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6995525Z 2026-10-22T20:14:56.6995893Z 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-22T20:14:56.6995897Z 2026-10-22T20:14:56.6995970Z 1114 invalidateRuntime: (distro, runtimeId) => 2026-10-22T20:14:56.6996018Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6996020Z 2026-10-22T20:14:56.6996435Z 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-22T20:14:56.6996438Z 2026-10-22T20:14:56.6996507Z 1116 probeRuntime: (distro, linuxAppRoot) => 2026-10-22T20:14:56.6996559Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6996561Z 2026-10-22T20:14:56.6996939Z 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-22T20:14:56.6996942Z 2026-10-22T20:14:56.6997025Z 1120 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-22T20:14:56.6997077Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6997080Z 2026-10-22T20:14:56.6997409Z 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-22T20:14:56.6997416Z 2026-10-22T20:14:56.6997467Z 1187 preWarm: (distro) => 2026-10-22T20:14:56.6997513Z ~~~~~~~ 2026-10-22T20:14:56.6997516Z 2026-10-22T20:14:56.6997871Z 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-22T20:14:56.6997873Z 2026-10-22T20:14:56.6997938Z 1192 prepareRuntime: (distro, archive) => 2026-10-22T20:14:56.6997982Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6997985Z 2026-10-22T20:14:56.6998411Z 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-22T20:14:56.6998414Z 2026-10-22T20:14:56.6998480Z 1196 pruneRuntimes: (distro, runtimeId) => 2026-10-22T20:14:56.6998526Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.6998528Z 2026-10-22T20:14:56.6998894Z 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-22T20:14:56.6998896Z 2026-10-22T20:14:56.6998965Z 1200 invalidateRuntime: (distro, runtimeId) => 2026-10-22T20:14:56.6999014Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.6999016Z 2026-10-22T20:14:56.6999378Z 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-22T20:14:56.6999382Z 2026-10-22T20:14:56.6999454Z 1204 probeRuntime: (distro, linuxAppRoot) => 2026-10-22T20:14:56.6999503Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.6999505Z 2026-10-22T20:14:56.6999880Z 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-22T20:14:56.6999882Z 2026-10-22T20:14:56.6999972Z 1208 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-22T20:14:56.7000023Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7000026Z 2026-10-22T20:14:56.7000028Z 2026-10-22T20:14:56.7000030Z 2026-10-22T20:14:56.7000391Z src/connection/platform.ts:805:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentOwnedDataCleanup.clear")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7000397Z 2026-10-22T20:14:56.7000452Z 805 clear: (environmentId) => 2026-10-22T20:14:56.7000565Z ~~~~~ 2026-10-22T20:14:56.7000569Z 2026-10-22T20:14:56.7000895Z src/connection/platform.ts:815:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentRpcRequestObserver.observe")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7000897Z 2026-10-22T20:14:56.7000994Z 815 observe: ({ environmentId, environmentLabel, method }) => 2026-10-22T20:14:56.7001041Z ~~~~~~~ 2026-10-22T20:14:56.7001043Z 2026-10-22T20:14:56.7001351Z src/connection/storage.ts:549:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubRoutingPermissions.get")((entry) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7001354Z 2026-10-22T20:14:56.7001404Z 549 get: (entry) => 2026-10-22T20:14:56.7001462Z ~~~ 2026-10-22T20:14:56.7001465Z 2026-10-22T20:14:56.7001797Z src/connection/storage.ts:576:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubRoutingPermissions.set")((entry, permission) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7001800Z 2026-10-22T20:14:56.7001860Z 576 set: (entry, permission) => { 2026-10-22T20:14:56.7001901Z ~~~ 2026-10-22T20:14:56.7001908Z 2026-10-22T20:14:56.7002238Z src/connection/storage.ts:596:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubRoutingPermissions.forget")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7002241Z 2026-10-22T20:14:56.7002330Z 596 forget: (environmentId) => write(environmentId, null), 2026-10-22T20:14:56.7002379Z ~~~~~~ 2026-10-22T20:14:56.7002381Z 2026-10-22T20:14:56.7002762Z src/connection/storage.ts:643:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.register")((registration, routes) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7002856Z 2026-10-22T20:14:56.7002923Z 643 register: (registration, routes) => 2026-10-22T20:14:56.7002967Z ~~~~~~~~ 2026-10-22T20:14:56.7002969Z 2026-10-22T20:14:56.7003346Z src/connection/storage.ts:647:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.setRoutes")((environmentId, routes) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7003349Z 2026-10-22T20:14:56.7003415Z 647 setRoutes: (environmentId, routes) => 2026-10-22T20:14:56.7003462Z ~~~~~~~~~ 2026-10-22T20:14:56.7003464Z 2026-10-22T20:14:56.7003818Z src/connection/storage.ts:651:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.remove")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7003825Z 2026-10-22T20:14:56.7003877Z 651 remove: (environmentId) => 2026-10-22T20:14:56.7003924Z ~~~~~~ 2026-10-22T20:14:56.7003927Z 2026-10-22T20:14:56.7004306Z src/connection/storage.ts:655:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.setEnabled")((environmentId, enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7004309Z 2026-10-22T20:14:56.7004378Z 655 setEnabled: (environmentId, enabled) => 2026-10-22T20:14:56.7004420Z ~~~~~~~~~~ 2026-10-22T20:14:56.7004422Z 2026-10-22T20:14:56.7004805Z src/connection/storage.ts:732:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadShell")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7004809Z 2026-10-22T20:14:56.7004870Z 732 loadShell: (environmentId) => 2026-10-22T20:14:56.7004918Z ~~~~~~~~~ 2026-10-22T20:14:56.7004920Z 2026-10-22T20:14:56.7005358Z src/connection/storage.ts:768:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadServerConfig")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7005361Z 2026-10-22T20:14:56.7005424Z 768 loadServerConfig: (environmentId) => 2026-10-22T20:14:56.7005480Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7005483Z 2026-10-22T20:14:56.7005856Z src/connection/storage.ts:802:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadThread")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7005858Z 2026-10-22T20:14:56.7005930Z 802 loadThread: (environmentId, threadId) => 2026-10-22T20:14:56.7005985Z ~~~~~~~~~~ 2026-10-22T20:14:56.7005987Z 2026-10-22T20:14:56.7006352Z src/connection/storage.ts:851:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadVcsRefs")((environmentId, cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7006354Z 2026-10-22T20:14:56.7006418Z 851 loadVcsRefs: (environmentId, cwd) => 2026-10-22T20:14:56.7006466Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7006468Z 2026-10-22T20:14:56.7006836Z src/connection/storage.ts:893:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.removeVcsRefs")((environmentId, cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7006838Z 2026-10-22T20:14:56.7006906Z 893 removeVcsRefs: (environmentId, cwd) => 2026-10-22T20:14:56.7006952Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7006955Z 2026-10-22T20:14:56.7007315Z src/connection/storage.ts:899:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.clearVcsRefs")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7007393Z 2026-10-22T20:14:56.7007460Z 899 clearVcsRefs: (environmentId) => 2026-10-22T20:14:56.7007510Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7007513Z 2026-10-22T20:14:56.7007887Z src/connection/storage.ts:905:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.removeThread")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7007889Z 2026-10-22T20:14:56.7007959Z 905 removeThread: (environmentId, threadId) => 2026-10-22T20:14:56.7008009Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7008012Z 2026-10-22T20:14:56.7008361Z src/connection/storage.ts:911:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.clear")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7008366Z 2026-10-22T20:14:56.7008425Z 911 clear: (environmentId) => 2026-10-22T20:14:56.7008469Z ~~~~~ 2026-10-22T20:14:56.7008478Z 2026-10-22T20:14:56.7008480Z 2026-10-22T20:14:56.7008532Z ~/apps/server$ tsc --noEmit 2026-10-22T20:14:56.7008807Z 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-22T20:14:56.7008809Z 2026-10-22T20:14:56.7008874Z 941 yield* Effect.sleep("1200 millis") 2026-10-22T20:14:56.7008929Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7008974Z 942 .pipe( 2026-10-22T20:14:56.7009021Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7009066Z ... 2026-10-22T20:14:56.7009113Z 954 ) 2026-10-22T20:14:56.7009159Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7009221Z 955 .pipe(Effect.forkDetach); 2026-10-22T20:14:56.7009274Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7009277Z 2026-10-22T20:14:56.7009654Z 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-22T20:14:56.7009657Z 2026-10-22T20:14:56.7009708Z 1175 logger: (event) => { 2026-10-22T20:14:56.7009754Z ~~~~~~ 2026-10-22T20:14:56.7009756Z 2026-10-22T20:14:56.7010214Z 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-22T20:14:56.7010218Z 2026-10-22T20:14:56.7010335Z 376 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-22T20:14:56.7010397Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7010402Z 2026-10-22T20:14:56.7010718Z 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-22T20:14:56.7010721Z 2026-10-22T20:14:56.7010775Z 1346 getDescriptor: () => 2026-10-22T20:14:56.7010821Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7010824Z 2026-10-22T20:14:56.7011160Z 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-22T20:14:56.7011163Z 2026-10-22T20:14:56.7011218Z 55 getDescriptor: () => 2026-10-22T20:14:56.7011264Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7011266Z 2026-10-22T20:14:56.7011624Z 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-22T20:14:56.7011687Z 2026-10-22T20:14:56.7011752Z 540 authenticate: (request) => 2026-10-22T20:14:56.7011803Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7011805Z 2026-10-22T20:14:56.7012070Z 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-22T20:14:56.7012073Z 2026-10-22T20:14:56.7012138Z 468 : Effect.succeed(undefined), 2026-10-22T20:14:56.7012189Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7012191Z 2026-10-22T20:14:56.7012501Z 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-22T20:14:56.7012504Z 2026-10-22T20:14:56.7012570Z 328 HttpClientError: (cause) => 2026-10-22T20:14:56.7012615Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7012617Z 2026-10-22T20:14:56.7012887Z src/cloud/CloudLink.lifecycle.test.ts:166:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7012890Z 2026-10-22T20:14:56.7012969Z 166 latest: Effect.succeed(Option.none()), 2026-10-22T20:14:56.7013023Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7013025Z 2026-10-22T20:14:56.7013262Z src/cloud/CloudLink.test.ts:99:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7013272Z 2026-10-22T20:14:56.7013337Z 99 latest: Effect.succeed(Option.none()), 2026-10-22T20:14:56.7013393Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7013395Z 2026-10-22T20:14:56.7013767Z 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-22T20:14:56.7013771Z 2026-10-22T20:14:56.7013962Z 791 requestRecovery: (config) => Queue.offer(recoveryRequests, config).pipe(Effect.asVoid), 2026-10-22T20:14:56.7014008Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7014010Z 2026-10-22T20:14:56.7014238Z src/cloud/http.test.ts:81:67 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7014240Z 2026-10-22T20:14:56.7014405Z 81 Layer.mock(ConnectReachability.ConnectReachability)({ latest: Effect.succeed(Option.none()) }), 2026-10-22T20:14:56.7014484Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7014487Z 2026-10-22T20:14:56.7014882Z 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-22T20:14:56.7014886Z 2026-10-22T20:14:56.7014977Z 371 commitDesktopUpdate: (requestId, onHandoffAccepted) => 2026-10-22T20:14:56.7015027Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7015029Z 2026-10-22T20:14:56.7015337Z 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-22T20:14:56.7015340Z 2026-10-22T20:14:56.7015397Z 808 updateTool: (tool) => 2026-10-22T20:14:56.7015457Z ~~~~~~~~~~ 2026-10-22T20:14:56.7015459Z 2026-10-22T20:14:56.7015755Z 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-22T20:14:56.7015758Z 2026-10-22T20:14:56.7015888Z 823 easAccount: () => 2026-10-22T20:14:56.7015935Z ~~~~~~~~~~ 2026-10-22T20:14:56.7015937Z 2026-10-22T20:14:56.7016280Z 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-22T20:14:56.7016283Z 2026-10-22T20:14:56.7016343Z 868 ensureAgentReady: (onPhase) => 2026-10-22T20:14:56.7016392Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7016394Z 2026-10-22T20:14:56.7016638Z src/device/easProjectId.ts:201:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.7016640Z 2026-10-22T20:14:56.7016702Z 201 Effect.map(Option.some), 2026-10-22T20:14:56.7016753Z ~~~~~~~~~~ 2026-10-22T20:14:56.7016755Z 2026-10-22T20:14:56.7017068Z 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-22T20:14:56.7017079Z 2026-10-22T20:14:56.7017167Z 141 return DirectEndpoints.of({ resolve: () => resolve }); 2026-10-22T20:14:56.7017223Z ~~~~~~~ 2026-10-22T20:14:56.7017225Z 2026-10-22T20:14:56.7017572Z 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-22T20:14:56.7017574Z 2026-10-22T20:14:56.7017690Z 83 return RemoteOpenTargets.of({ resolveTargets: () => resolveTargets }); 2026-10-22T20:14:56.7017746Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7017748Z 2026-10-22T20:14:56.7018074Z 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-22T20:14:56.7018078Z 2026-10-22T20:14:56.7018135Z 302 isRepository: (cwd) => 2026-10-22T20:14:56.7018185Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7018239Z 2026-10-22T20:14:56.7018570Z 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-22T20:14:56.7018573Z 2026-10-22T20:14:56.7018651Z 315 hasCommit: (input) => 2026-10-22T20:14:56.7018728Z ~~~~~~~~~ 2026-10-22T20:14:56.7018731Z 2026-10-22T20:14:56.7019191Z 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-22T20:14:56.7019193Z 2026-10-22T20:14:56.7019254Z 327 hasRefNamed: (input) => 2026-10-22T20:14:56.7019305Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7019307Z 2026-10-22T20:14:56.7019621Z 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-22T20:14:56.7019624Z 2026-10-22T20:14:56.7019683Z 346 status: (input) => 2026-10-22T20:14:56.7019739Z ~~~~~~ 2026-10-22T20:14:56.7019742Z 2026-10-22T20:14:56.7020070Z 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-22T20:14:56.7020073Z 2026-10-22T20:14:56.7020133Z 352 localStatus: (input) => 2026-10-22T20:14:56.7020180Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7020182Z 2026-10-22T20:14:56.7020629Z 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-22T20:14:56.7020744Z 2026-10-22T20:14:56.7020812Z 360 remoteStatus: (input, options) => 2026-10-22T20:14:56.7020865Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7020868Z 2026-10-22T20:14:56.7021202Z 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-22T20:14:56.7021207Z 2026-10-22T20:14:56.7021265Z 369 pullCurrentBranch: (cwd) => 2026-10-22T20:14:56.7021316Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7021318Z 2026-10-22T20:14:56.7021674Z 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-22T20:14:56.7021677Z 2026-10-22T20:14:56.7021746Z 373 runStackedAction: (input, options) => 2026-10-22T20:14:56.7021792Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7021794Z 2026-10-22T20:14:56.7022175Z 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-22T20:14:56.7022178Z 2026-10-22T20:14:56.7022255Z 388 preparePullRequestThread: (input) => 2026-10-22T20:14:56.7022315Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7022319Z 2026-10-22T20:14:56.7022644Z 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-22T20:14:56.7022646Z 2026-10-22T20:14:56.7022699Z 399 listRefs: (input) => 2026-10-22T20:14:56.7022749Z ~~~~~~~~ 2026-10-22T20:14:56.7022751Z 2026-10-22T20:14:56.7023167Z 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-22T20:14:56.7023170Z 2026-10-22T20:14:56.7023242Z 405 createWorktree: (input, options) => 2026-10-22T20:14:56.7023298Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7023300Z 2026-10-22T20:14:56.7023643Z 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-22T20:14:56.7023646Z 2026-10-22T20:14:56.7023711Z 409 listLocalBranchNames: (cwd) => 2026-10-22T20:14:56.7023764Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7023766Z 2026-10-22T20:14:56.7024095Z 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-22T20:14:56.7024098Z 2026-10-22T20:14:56.7024157Z 413 fetchRemote: (input) => 2026-10-22T20:14:56.7024204Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7024207Z 2026-10-22T20:14:56.7024539Z 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-22T20:14:56.7024541Z 2026-10-22T20:14:56.7024609Z 417 remoteExists: (input) => 2026-10-22T20:14:56.7024662Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7024664Z 2026-10-22T20:14:56.7025059Z 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-22T20:14:56.7025070Z 2026-10-22T20:14:56.7025126Z 421 remoteBranchExists: (input) => 2026-10-22T20:14:56.7025261Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7025264Z 2026-10-22T20:14:56.7025633Z 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-22T20:14:56.7025639Z 2026-10-22T20:14:56.7025715Z 425 resolveRemoteTrackingCommit: (input) => 2026-10-22T20:14:56.7025765Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7025767Z 2026-10-22T20:14:56.7026124Z 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-22T20:14:56.7026126Z 2026-10-22T20:14:56.7026199Z 429 resolveWorktreeBaseRemote: (input) => 2026-10-22T20:14:56.7026257Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7026260Z 2026-10-22T20:14:56.7026611Z 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-22T20:14:56.7026614Z 2026-10-22T20:14:56.7026679Z 433 fetchWorktreeBaseCommit: (input) => 2026-10-22T20:14:56.7026738Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7026740Z 2026-10-22T20:14:56.7027089Z 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-22T20:14:56.7027092Z 2026-10-22T20:14:56.7027152Z 437 removeWorktree: (input) => 2026-10-22T20:14:56.7027202Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7027204Z 2026-10-22T20:14:56.7027537Z 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-22T20:14:56.7027541Z 2026-10-22T20:14:56.7027605Z 441 pruneWorktrees: (input) => 2026-10-22T20:14:56.7027712Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7027715Z 2026-10-22T20:14:56.7028053Z 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-22T20:14:56.7028056Z 2026-10-22T20:14:56.7028120Z 445 deleteLocalBranch: (input) => 2026-10-22T20:14:56.7028167Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7028169Z 2026-10-22T20:14:56.7028497Z 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-22T20:14:56.7028499Z 2026-10-22T20:14:56.7028558Z 449 createRef: (input) => 2026-10-22T20:14:56.7028615Z ~~~~~~~~~ 2026-10-22T20:14:56.7028617Z 2026-10-22T20:14:56.7028936Z 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-22T20:14:56.7028944Z 2026-10-22T20:14:56.7028994Z 457 switchRef: (input) => 2026-10-22T20:14:56.7029046Z ~~~~~~~~~ 2026-10-22T20:14:56.7029049Z 2026-10-22T20:14:56.7029388Z 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-22T20:14:56.7029392Z 2026-10-22T20:14:56.7029452Z 463 renameBranch: (input) => 2026-10-22T20:14:56.7029497Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7029499Z 2026-10-22T20:14:56.7029794Z 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-22T20:14:56.7029855Z 2026-10-22T20:14:56.7029918Z 281 const receive = (raw: string) => { 2026-10-22T20:14:56.7029972Z ~~~~~~~ 2026-10-22T20:14:56.7029975Z 2026-10-22T20:14:56.7030389Z src/mcp/AcpMcpStdioBridge.ts:282: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-22T20:14:56.7030392Z 2026-10-22T20:14:56.7030440Z 282 try { 2026-10-22T20:14:56.7030492Z ~~~~~ 2026-10-22T20:14:56.7030561Z 283 parsed = JSON.parse(line); 2026-10-22T20:14:56.7030614Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7030656Z ... 2026-10-22T20:14:56.7030807Z 285 return yield* respondWithError(null, "Parse error", -32700); 2026-10-22T20:14:56.7030887Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7030938Z 286 } 2026-10-22T20:14:56.7030991Z ~~~~~~~ 2026-10-22T20:14:56.7030994Z 2026-10-22T20:14:56.7031299Z src/mcp/AcpMcpStdioBridge.ts:322:7 - suggestion TS377099: `Effect.ignoreCause` expresses ignored failure more directly than `Effect.catchCause` returning `Effect.void`. effect(catchToIgnore) 2026-10-22T20:14:56.7031302Z 2026-10-22T20:14:56.7031373Z 322 Effect.catchCause(() => Effect.void), 2026-10-22T20:14:56.7031428Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7031430Z 2026-10-22T20:14:56.7031677Z src/mcp/McpDeviceToolkit.test.ts:105:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7031680Z 2026-10-22T20:14:56.7031761Z 105 getById: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.7031816Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7031819Z 2026-10-22T20:14:56.7032135Z 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-22T20:14:56.7032141Z 2026-10-22T20:14:56.7032328Z 421 const previewSnapshotFailure = (cause: Cause.Cause) => { 2026-10-22T20:14:56.7032379Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7032381Z 2026-10-22T20:14:56.7032696Z src/mcp/McpHttpServer.ts:933:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpServer.McpServer.addTool")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7032698Z 2026-10-22T20:14:56.7032756Z 933 addTool: (options) => 2026-10-22T20:14:56.7032808Z ~~~~~~~ 2026-10-22T20:14:56.7032811Z 2026-10-22T20:14:56.7033107Z 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-22T20:14:56.7033123Z 2026-10-22T20:14:56.7033189Z 22 resolve: () => Effect.succeed(undefined), 2026-10-22T20:14:56.7033251Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7033255Z 2026-10-22T20:14:56.7033567Z 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-22T20:14:56.7033570Z 2026-10-22T20:14:56.7033638Z 112 Effect.flatMap(() => writingCaller), 2026-10-22T20:14:56.7033684Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7033687Z 2026-10-22T20:14:56.7034235Z src/mcp/OrchestratorMcpService.ts:2459: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-22T20:14:56.7034313Z 2026-10-22T20:14:56.7034403Z 2459 const cancelOrphan = Effect.gen(function* () { 2026-10-22T20:14:56.7034475Z ~~~~~~~~~ 2026-10-22T20:14:56.7034479Z 2026-10-22T20:14:56.7034739Z src/mcp/OrchestratorMcpService.ts:2474:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-22T20:14:56.7034853Z 2474 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-22T20:14:56.7034936Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7034939Z 2026-10-22T20:14:56.7035204Z src/mcp/OrchestratorMcpService.ts:2477:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-22T20:14:56.7035299Z 2477 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-22T20:14:56.7035360Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7035364Z 2026-10-22T20:14:56.7035666Z 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-22T20:14:56.7035668Z 2026-10-22T20:14:56.7035724Z 651 onNone: () => 2026-10-22T20:14:56.7035777Z ~~~~~~ 2026-10-22T20:14:56.7035779Z 2026-10-22T20:14:56.7036002Z src/mcp/WorktreeMcpService.test.ts:355:3 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-22T20:14:56.7036005Z 2026-10-22T20:14:56.7036057Z 355 Effect.gen(function* () { 2026-10-22T20:14:56.7036117Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7036218Z 356 return yield* WorktreeMcpService.WorktreeMcpService; 2026-10-22T20:14:56.7036296Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7036361Z 357 }).pipe(Effect.provide(harness.layer)); 2026-10-22T20:14:56.7036415Z ~~~~ 2026-10-22T20:14:56.7036419Z 2026-10-22T20:14:56.7036772Z src/mcp/toolkits/pullRequests/handlers.ts:222:27 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-22T20:14:56.7036775Z 2026-10-22T20:14:56.7036842Z 222 const thread = yield* engine 2026-10-22T20:14:56.7036897Z ~~~~~~ 2026-10-22T20:14:56.7036955Z 223 .getThreadShell(threadId) 2026-10-22T20:14:56.7037011Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7037089Z 224 .pipe(Effect.map(Option.fromNullishOr)) 2026-10-22T20:14:56.7037149Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7037245Z 225 .pipe(Effect.mapError((cause) => new Failure({ cause }))); 2026-10-22T20:14:56.7037318Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7037322Z 2026-10-22T20:14:56.7037640Z src/mcpApps/McpAppModelContext.ts:95:27 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.set")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7037644Z 2026-10-22T20:14:56.7037788Z 95 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-22T20:14:56.7037838Z ~~~ 2026-10-22T20:14:56.7037840Z 2026-10-22T20:14:56.7038164Z src/mcpApps/McpAppModelContext.ts:95:51 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.forThread")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7038167Z 2026-10-22T20:14:56.7038297Z 95 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-22T20:14:56.7038363Z ~~~~~~~~~ 2026-10-22T20:14:56.7038365Z 2026-10-22T20:14:56.7038718Z 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-22T20:14:56.7038784Z 2026-10-22T20:14:56.7038842Z 16 record: (records) => 2026-10-22T20:14:56.7038890Z ~~~~~~ 2026-10-22T20:14:56.7038893Z 2026-10-22T20:14:56.7039197Z 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-22T20:14:56.7039200Z 2026-10-22T20:14:56.7039313Z 41 defaultValue: () => ({ latestNoticeableStall: Effect.succeed(undefined) }), 2026-10-22T20:14:56.7039392Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7039394Z 2026-10-22T20:14:56.7039880Z 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-22T20:14:56.7039888Z 2026-10-22T20:14:56.7040006Z 30 const REPLAY_SETTINGS = Schema.decodeUnknownSync(AcpRegistrySettings)({ 2026-10-22T20:14:56.7040076Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7040079Z 2026-10-22T20:14:56.7040424Z 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-22T20:14:56.7040427Z 2026-10-22T20:14:56.7040499Z 48 defaultModel: Effect.succeed(undefined), 2026-10-22T20:14:56.7040552Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7040555Z 2026-10-22T20:14:56.7040905Z 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-22T20:14:56.7040912Z 2026-10-22T20:14:56.7040987Z 169 defaultModel: Effect.succeed(undefined), 2026-10-22T20:14:56.7041108Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7041111Z 2026-10-22T20:14:56.7041453Z 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-22T20:14:56.7041456Z 2026-10-22T20:14:56.7041528Z 306 defaultModel: Effect.succeed(undefined), 2026-10-22T20:14:56.7041586Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7041590Z 2026-10-22T20:14:56.7041925Z 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-22T20:14:56.7041928Z 2026-10-22T20:14:56.7042001Z 542 defaultModel: Effect.succeed(undefined), 2026-10-22T20:14:56.7042056Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7042058Z 2026-10-22T20:14:56.7042440Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:971:26 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-22T20:14:56.7042443Z 2026-10-22T20:14:56.7042516Z 971 const controller = new AbortController(); 2026-10-22T20:14:56.7042574Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7042576Z 2026-10-22T20:14:56.7042895Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1323:37 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-22T20:14:56.7042897Z 2026-10-22T20:14:56.7042981Z 1323 const requestEvent = yield* runtime.events 2026-10-22T20:14:56.7043112Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7043168Z 1324 .pipe( 2026-10-22T20:14:56.7043220Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7043273Z ... 2026-10-22T20:14:56.7043317Z 1327 ) 2026-10-22T20:14:56.7043363Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7043424Z 1328 .pipe(Effect.forkScoped); 2026-10-22T20:14:56.7043474Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7043476Z 2026-10-22T20:14:56.7043845Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1329:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-22T20:14:56.7043849Z 2026-10-22T20:14:56.7043926Z 1329 const controller = new AbortController(); 2026-10-22T20:14:56.7043987Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7043990Z 2026-10-22T20:14:56.7044360Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1352:37 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-22T20:14:56.7044366Z 2026-10-22T20:14:56.7044454Z 1352 const cancelledController = new AbortController(); 2026-10-22T20:14:56.7044525Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7044529Z 2026-10-22T20:14:56.7044961Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:3999:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7044964Z 2026-10-22T20:14:56.7045083Z 3999 getCapabilities: () => Effect.succeed(ClaudeProviderCapabilitiesV2), 2026-10-22T20:14:56.7045132Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7045135Z 2026-10-22T20:14:56.7045597Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4000:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7045606Z 2026-10-22T20:14:56.7045741Z 4000 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.7045797Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7045800Z 2026-10-22T20:14:56.7046193Z src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:184:17 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-22T20:14:56.7046196Z 2026-10-22T20:14:56.7046264Z 184 signal: new AbortController().signal, 2026-10-22T20:14:56.7046315Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7046321Z 2026-10-22T20:14:56.7046750Z 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-22T20:14:56.7046754Z 2026-10-22T20:14:56.7046821Z 74 const pause = Effect.raceFirst( 2026-10-22T20:14:56.7046878Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7046880Z 2026-10-22T20:14:56.7047201Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1729:25 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.7047204Z 2026-10-22T20:14:56.7047324Z 1729 threadId === null ? Effect.succeed(undefined) : mcpSessions.read(threadId); 2026-10-22T20:14:56.7047386Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7047388Z 2026-10-22T20:14:56.7047782Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1736:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7047844Z 2026-10-22T20:14:56.7047959Z 1736 getCapabilities: () => Effect.succeed(CodexProviderCapabilitiesV2), 2026-10-22T20:14:56.7048012Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7048014Z 2026-10-22T20:14:56.7048432Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1737:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7048437Z 2026-10-22T20:14:56.7048568Z 1737 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-22T20:14:56.7048622Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7048624Z 2026-10-22T20:14:56.7048979Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3033:19 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-22T20:14:56.7048983Z 2026-10-22T20:14:56.7049071Z 3033 Effect.catch(() => Effect.succeed(null)), 2026-10-22T20:14:56.7049117Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7049124Z 2026-10-22T20:14:56.7049533Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3034:19 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.7049536Z 2026-10-22T20:14:56.7049607Z 3034 Effect.flatMap((response) => 2026-10-22T20:14:56.7049661Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7049663Z 2026-10-22T20:14:56.7049974Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3056:19 - suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-10-22T20:14:56.7049978Z 2026-10-22T20:14:56.7050053Z 3056 Effect.catch(() => Effect.void), 2026-10-22T20:14:56.7050173Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7050176Z 2026-10-22T20:14:56.7050571Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:7221: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-22T20:14:56.7050573Z 2026-10-22T20:14:56.7050674Z 7221 return yield* Effect.fail(failedTermination.error); 2026-10-22T20:14:56.7050727Z ~~~~~ 2026-10-22T20:14:56.7050729Z 2026-10-22T20:14:56.7051206Z 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-22T20:14:56.7051210Z 2026-10-22T20:14:56.7051323Z 33 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-22T20:14:56.7051387Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7051389Z 2026-10-22T20:14:56.7051861Z 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-22T20:14:56.7051863Z 2026-10-22T20:14:56.7052006Z 414 const DEFAULT_MUSE_SETTINGS = Schema.decodeUnknownSync(MuseSettings)({ enabled: true }); 2026-10-22T20:14:56.7052068Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7052071Z 2026-10-22T20:14:56.7052450Z 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-22T20:14:56.7052529Z 2026-10-22T20:14:56.7052584Z 242 execute: (input) => 2026-10-22T20:14:56.7052631Z ~~~~~~~ 2026-10-22T20:14:56.7052633Z 2026-10-22T20:14:56.7052925Z src/orchestration-v2/CheckpointRestoreSafety.test.ts:104:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7052928Z 2026-10-22T20:14:56.7053049Z 104 get: () => Effect.succeed(Option.some({ workspaceRoot: parent } as never)), 2026-10-22T20:14:56.7053101Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7053104Z 2026-10-22T20:14:56.7053494Z 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-22T20:14:56.7053499Z 2026-10-22T20:14:56.7053560Z 41 Effect.catch((error) => 2026-10-22T20:14:56.7053619Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7053623Z 2026-10-22T20:14:56.7054001Z 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-22T20:14:56.7054004Z 2026-10-22T20:14:56.7054062Z 83 Effect.catch((error) => 2026-10-22T20:14:56.7054117Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7054120Z 2026-10-22T20:14:56.7054415Z src/orchestration-v2/CheckpointRollbackService.test.ts:233:22 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7054417Z 2026-10-22T20:14:56.7054526Z 233 return Effect.succeed(Option.some({ workspaceRoot } as never)); 2026-10-22T20:14:56.7054580Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7054586Z 2026-10-22T20:14:56.7055065Z 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-22T20:14:56.7055068Z 2026-10-22T20:14:56.7055148Z 142 const batchAbort = new AbortController(); 2026-10-22T20:14:56.7055213Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7055215Z 2026-10-22T20:14:56.7055628Z 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-22T20:14:56.7055630Z 2026-10-22T20:14:56.7055692Z 168 Effect.flatMap((frame) => 2026-10-22T20:14:56.7055738Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7055741Z 2026-10-22T20:14:56.7056015Z src/orchestration-v2/CommandReceiptStore.ts:164:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7056018Z 2026-10-22T20:14:56.7056097Z 164 onNone: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.7056155Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7056157Z 2026-10-22T20:14:56.7056426Z src/orchestration-v2/CommandReceiptStore.ts:167:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7056434Z 2026-10-22T20:14:56.7056501Z 167 ? Effect.succeed(Option.none()) 2026-10-22T20:14:56.7056558Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7056560Z 2026-10-22T20:14:56.7056830Z src/orchestration-v2/CommandReceiptStore.ts:168:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.7056896Z 2026-10-22T20:14:56.7057013Z 168 : fromApplicationReceipt(receipt).pipe(Effect.map(Option.some)), 2026-10-22T20:14:56.7057083Z ~~~~~~~~~~ 2026-10-22T20:14:56.7057086Z 2026-10-22T20:14:56.7057356Z src/orchestration-v2/CommandReceiptStore.ts:183:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7057358Z 2026-10-22T20:14:56.7057428Z 183 ? Effect.succeed(Option.none()) 2026-10-22T20:14:56.7057480Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7057483Z 2026-10-22T20:14:56.7057756Z src/orchestration-v2/CommandReceiptStore.ts:192:25 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.7057760Z 2026-10-22T20:14:56.7057827Z 192 }).pipe(Effect.map(Option.some)), 2026-10-22T20:14:56.7057883Z ~~~~~~~~~~ 2026-10-22T20:14:56.7057885Z 2026-10-22T20:14:56.7058137Z src/orchestration-v2/EffectOutbox.ts:426:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7058140Z 2026-10-22T20:14:56.7058211Z 426 ? Effect.succeed(Option.none()) 2026-10-22T20:14:56.7058264Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7058267Z 2026-10-22T20:14:56.7058518Z src/orchestration-v2/EffectOutbox.ts:427:39 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.7058520Z 2026-10-22T20:14:56.7058613Z 427 : rowToEffect(row).pipe(Effect.map(Option.some)); 2026-10-22T20:14:56.7058674Z ~~~~~~~~~~ 2026-10-22T20:14:56.7058679Z 2026-10-22T20:14:56.7058944Z src/orchestration-v2/EffectWorker.test.ts:107:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7058997Z 2026-10-22T20:14:56.7059067Z 107 get: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.7059123Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7059125Z 2026-10-22T20:14:56.7059382Z src/orchestration-v2/EffectWorker.test.ts:302:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7059384Z 2026-10-22T20:14:56.7059485Z 302 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-22T20:14:56.7059544Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7059546Z 2026-10-22T20:14:56.7059802Z src/orchestration-v2/EffectWorker.test.ts:369:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7059813Z 2026-10-22T20:14:56.7059904Z 369 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-22T20:14:56.7059965Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7059967Z 2026-10-22T20:14:56.7060223Z src/orchestration-v2/EffectWorker.test.ts:436:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7060227Z 2026-10-22T20:14:56.7060519Z 436 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-22T20:14:56.7060572Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7060575Z 2026-10-22T20:14:56.7060839Z src/orchestration-v2/EffectWorker.test.ts:437:18 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7060842Z 2026-10-22T20:14:56.7060938Z 437 get: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-22T20:14:56.7061079Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7061082Z 2026-10-22T20:14:56.7061459Z 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-22T20:14:56.7061462Z 2026-10-22T20:14:56.7061520Z 98 execute: (effect, options) => { 2026-10-22T20:14:56.7061575Z ~~~~~~~ 2026-10-22T20:14:56.7061577Z 2026-10-22T20:14:56.7061937Z 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-22T20:14:56.7061939Z 2026-10-22T20:14:56.7062003Z 180 Effect.catch((cause) => 2026-10-22T20:14:56.7062051Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7062058Z 2026-10-22T20:14:56.7062368Z 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-22T20:14:56.7062374Z 2026-10-22T20:14:56.7062432Z 110 append: (input) => 2026-10-22T20:14:56.7062484Z ~~~~~~ 2026-10-22T20:14:56.7062487Z 2026-10-22T20:14:56.7062833Z 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-22T20:14:56.7062836Z 2026-10-22T20:14:56.7062897Z 120 appendProjectEvent: (event) => 2026-10-22T20:14:56.7062957Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7062960Z 2026-10-22T20:14:56.7063291Z 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-22T20:14:56.7063294Z 2026-10-22T20:14:56.7063358Z 131 latestSequence: (input) => 2026-10-22T20:14:56.7063417Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7063419Z 2026-10-22T20:14:56.7063772Z src/orchestration-v2/FoundationPersistence.test.ts:1791:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7063774Z 2026-10-22T20:14:56.7063884Z 1791 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-22T20:14:56.7063942Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7063944Z 2026-10-22T20:14:56.7064234Z src/orchestration-v2/FoundationPersistence.test.ts:1793:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7064238Z 2026-10-22T20:14:56.7064300Z 1793 Effect.succeed( 2026-10-22T20:14:56.7064347Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7064351Z 2026-10-22T20:14:56.7064641Z src/orchestration-v2/FoundationPersistence.test.ts:2663:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7064643Z 2026-10-22T20:14:56.7064738Z 2663 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-22T20:14:56.7064829Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7064831Z 2026-10-22T20:14:56.7065119Z src/orchestration-v2/FoundationPersistence.test.ts:2880:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7065121Z 2026-10-22T20:14:56.7065203Z 2880 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-22T20:14:56.7065267Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7065269Z 2026-10-22T20:14:56.7065668Z src/orchestration-v2/Orchestrator.ts:11650:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.7065792Z 2026-10-22T20:14:56.7065856Z 11650 Effect.flatMap((planned) => 2026-10-22T20:14:56.7065909Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7065918Z 2026-10-22T20:14:56.7066284Z src/orchestration-v2/Orchestrator.ts:12073:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7066287Z 2026-10-22T20:14:56.7066364Z 12073 restartContinuationPending: (run) => 2026-10-22T20:14:56.7066422Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7066424Z 2026-10-22T20:14:56.7066782Z src/orchestration-v2/Orchestrator.ts:12075:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7066787Z 2026-10-22T20:14:56.7066850Z 12075 awaitRestartContinuation: (run) => 2026-10-22T20:14:56.7066910Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7066913Z 2026-10-22T20:14:56.7067278Z src/orchestration-v2/Orchestrator.ts:12078:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7067280Z 2026-10-22T20:14:56.7067344Z 12078 autoArmLimitRecovery: (input) => 2026-10-22T20:14:56.7067395Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7067397Z 2026-10-22T20:14:56.7067730Z src/orchestration-v2/Orchestrator.ts:12106:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7067739Z 2026-10-22T20:14:56.7067796Z 12106 searchThread: (input) => 2026-10-22T20:14:56.7067848Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7067851Z 2026-10-22T20:14:56.7068329Z src/orchestration-v2/Orchestrator.ts:12114: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-22T20:14:56.7068335Z 2026-10-22T20:14:56.7068476Z 12114 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-22T20:14:56.7068526Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7068528Z 2026-10-22T20:14:56.7068890Z src/orchestration-v2/Orchestrator.ts:12118:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7068892Z 2026-10-22T20:14:56.7068968Z 12118 getTimelinePage: (threadId, options) => 2026-10-22T20:14:56.7069028Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7069034Z 2026-10-22T20:14:56.7069376Z src/orchestration-v2/Orchestrator.ts:12122:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7069379Z 2026-10-22T20:14:56.7069441Z 12122 getMessageCount: (threadId) => 2026-10-22T20:14:56.7069499Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7069501Z 2026-10-22T20:14:56.7069835Z src/orchestration-v2/Orchestrator.ts:12126:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7069837Z 2026-10-22T20:14:56.7069896Z 12126 getTurnItem: (input) => 2026-10-22T20:14:56.7069952Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7069954Z 2026-10-22T20:14:56.7070324Z src/orchestration-v2/Orchestrator.ts:12134:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7070899Z 2026-10-22T20:14:56.7070986Z 12134 getThreadRecords: (threadId, fields, filter) => 2026-10-22T20:14:56.7071163Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7071250Z 2026-10-22T20:14:56.7071613Z src/orchestration-v2/Orchestrator.ts:12138:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7072024Z 2026-10-22T20:14:56.7072097Z 12138 getThreadProjection: (threadId) => 2026-10-22T20:14:56.7072263Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7072353Z 2026-10-22T20:14:56.7072713Z src/orchestration-v2/Orchestrator.ts:12142:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7073121Z 2026-10-22T20:14:56.7073197Z 12142 getCheckpointContext: (threadId) => 2026-10-22T20:14:56.7073361Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7073440Z 2026-10-22T20:14:56.7073792Z src/orchestration-v2/Orchestrator.ts:12146:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7074189Z 2026-10-22T20:14:56.7074255Z 12146 getThreadSnapshot: (threadId) => 2026-10-22T20:14:56.7074411Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7074493Z 2026-10-22T20:14:56.7074910Z src/orchestration-v2/Orchestrator.ts:12150:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7075339Z 2026-10-22T20:14:56.7075425Z 12150 getThreadSnapshotWindow: (threadId, options) => 2026-10-22T20:14:56.7075610Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7075697Z 2026-10-22T20:14:56.7076126Z src/orchestration-v2/Orchestrator.ts:12154:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7077153Z 2026-10-22T20:14:56.7077230Z 12154 getShellSnapshot: (options) => 2026-10-22T20:14:56.7077440Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7077578Z 2026-10-22T20:14:56.7077930Z src/orchestration-v2/Orchestrator.ts:12156:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7078327Z 2026-10-22T20:14:56.7078386Z 12156 readShellSnapshot: (options) => 2026-10-22T20:14:56.7078550Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7078627Z 2026-10-22T20:14:56.7078975Z src/orchestration-v2/Orchestrator.ts:12163:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7079371Z 2026-10-22T20:14:56.7079436Z 12163 getThreadShell: (threadId) => 2026-10-22T20:14:56.7079584Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7079671Z 2026-10-22T20:14:56.7080044Z src/orchestration-v2/Orchestrator.ts:12167:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7080447Z 2026-10-22T20:14:56.7080514Z 12167 getThreadEventSequence: (threadId) => 2026-10-22T20:14:56.7080689Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7080780Z 2026-10-22T20:14:56.7081133Z 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-22T20:14:56.7081615Z 2026-10-22T20:14:56.7081695Z 160 getInstance: () => Effect.succeed(undefined), 2026-10-22T20:14:56.7081878Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7081988Z 2026-10-22T20:14:56.7082322Z src/orchestration-v2/ProjectStore.ts:266:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.getShell")((projectId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7082704Z 2026-10-22T20:14:56.7082827Z 266 getShell: (projectId) => get(projectId).pipe(Effect.map(Option.map(toShell))), 2026-10-22T20:14:56.7083040Z ~~~~~~~~ 2026-10-22T20:14:56.7083109Z 2026-10-22T20:14:56.7083439Z src/orchestration-v2/ProjectStore.ts:267:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.listShells")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7083820Z 2026-10-22T20:14:56.7083882Z 267 listShells: (options) => 2026-10-22T20:14:56.7084018Z ~~~~~~~~~~ 2026-10-22T20:14:56.7084092Z 2026-10-22T20:14:56.7085023Z src/orchestration-v2/ProjectionControlReads.test.ts:279:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7085357Z 2026-10-22T20:14:56.7085413Z 279 Effect.succeed( 2026-10-22T20:14:56.7085553Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7085640Z 2026-10-22T20:14:56.7086003Z 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-22T20:14:56.7086506Z 2026-10-22T20:14:56.7086571Z 78 get: (instanceId) => 2026-10-22T20:14:56.7086709Z ~~~ 2026-10-22T20:14:56.7086778Z 2026-10-22T20:14:56.7087226Z 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-22T20:14:56.7087626Z 2026-10-22T20:14:56.7087681Z 135 list: () => 2026-10-22T20:14:56.7087803Z ~~~~ 2026-10-22T20:14:56.7087872Z 2026-10-22T20:14:56.7088232Z 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-22T20:14:56.7088631Z 2026-10-22T20:14:56.7088727Z 93 record: (properties: Readonly>) => 2026-10-22T20:14:56.7088919Z ~~~~~~ 2026-10-22T20:14:56.7088986Z 2026-10-22T20:14:56.7089425Z 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-22T20:14:56.7089886Z 2026-10-22T20:14:56.7089955Z 818 Effect.flatMap((storedEvents) => 2026-10-22T20:14:56.7090117Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7090210Z 2026-10-22T20:14:56.7090505Z src/orchestration-v2/ProviderSessionManager.test.ts:1155:19 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7090837Z 2026-10-22T20:14:56.7090973Z 1155 : Effect.succeed(Option.some(makeBrowserAccessProject(requestedProjectId))), 2026-10-22T20:14:56.7091206Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7091295Z 2026-10-22T20:14:56.7091583Z src/orchestration-v2/ProviderTurnStartService.test.ts:150:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7092054Z 2026-10-22T20:14:56.7092107Z 150 Effect.succeed( 2026-10-22T20:14:56.7092249Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7092335Z 2026-10-22T20:14:56.7092623Z src/orchestration-v2/ProviderTurnStartService.test.ts:703:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7092957Z 2026-10-22T20:14:56.7093102Z 703 Effect.succeed(Option.some({ workspaceRoot: "/tmp/native-account-project" } as never)), 2026-10-22T20:14:56.7093348Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7093429Z 2026-10-22T20:14:56.7093724Z src/orchestration-v2/ProviderTurnStartService.testkit.ts:14:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7094063Z 2026-10-22T20:14:56.7094140Z 14 getById: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.7094443Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7094538Z 2026-10-22T20:14:56.7094998Z src/orchestration-v2/ProviderTurnStartService.ts:499:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7095465Z 2026-10-22T20:14:56.7095529Z 499 Effect.catchCause((cause) => 2026-10-22T20:14:56.7095695Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7095793Z 2026-10-22T20:14:56.7096237Z src/orchestration-v2/ProviderTurnStartService.ts:1289: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-22T20:14:56.7096736Z 2026-10-22T20:14:56.7096807Z 1289 return runExecution.startRootRun({ 2026-10-22T20:14:56.7096968Z ~~~~~~ 2026-10-22T20:14:56.7097046Z 2026-10-22T20:14:56.7097458Z src/orchestration-v2/PullRequestWatchReactor.ts:476:53 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-22T20:14:56.7097808Z 2026-10-22T20:14:56.7097921Z 476 ? pullRequests.activity(reference).pipe(Effect.map(Option.some)) 2026-10-22T20:14:56.7098273Z ~~~~~~~~~~ 2026-10-22T20:14:56.7098518Z 2026-10-22T20:14:56.7098917Z 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-22T20:14:56.7099351Z 2026-10-22T20:14:56.7099434Z 49 cleanupScheduledTasks: (threadId: ThreadId) => 2026-10-22T20:14:56.7099609Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7099692Z 2026-10-22T20:14:56.7100084Z 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-22T20:14:56.7100645Z 2026-10-22T20:14:56.7100716Z 58 cleanupTerminals: (threadId: string) => 2026-10-22T20:14:56.7100879Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7100965Z 2026-10-22T20:14:56.7101347Z 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-22T20:14:56.7101769Z 2026-10-22T20:14:56.7101841Z 66 cleanupPreviews: (threadId: string) => 2026-10-22T20:14:56.7102001Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7102075Z 2026-10-22T20:14:56.7102472Z 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-22T20:14:56.7103047Z 2026-10-22T20:14:56.7103154Z 74 cleanupAttachments: (attachmentIds: ReadonlyArray) => 2026-10-22T20:14:56.7103350Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7103437Z 2026-10-22T20:14:56.7103734Z 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-22T20:14:56.7104072Z 2026-10-22T20:14:56.7104137Z 1812 ).pipe(Effect.map(Option.some)), 2026-10-22T20:14:56.7104301Z ~~~~~~~~~~ 2026-10-22T20:14:56.7104384Z 2026-10-22T20:14:56.7104850Z src/orchestration-v2/RunExecutionService.ts:919:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7105303Z 2026-10-22T20:14:56.7105369Z 919 Effect.catchCause((cause) => 2026-10-22T20:14:56.7105522Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7105613Z 2026-10-22T20:14:56.7105873Z src/orchestration-v2/RuntimePolicy.test.ts:90:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7106189Z 2026-10-22T20:14:56.7106240Z 90 Effect.succeed( 2026-10-22T20:14:56.7106387Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7106470Z 2026-10-22T20:14:56.7107039Z 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-22T20:14:56.7107411Z 2026-10-22T20:14:56.7107464Z 54 resolve: (input) => 2026-10-22T20:14:56.7107584Z ~~~~~~~ 2026-10-22T20:14:56.7107648Z 2026-10-22T20:14:56.7108067Z src/orchestration-v2/RuntimeRequestService.test.ts:27:5 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7108390Z 2026-10-22T20:14:56.7108442Z 27 Effect.succeed( 2026-10-22T20:14:56.7108591Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7108669Z 2026-10-22T20:14:56.7108948Z src/orchestration-v2/ThreadLaunchService.test.ts:189:33 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7109273Z 2026-10-22T20:14:56.7109389Z 189 getByWorkspaceRoot: () => Effect.succeed(Option.some(project)), 2026-10-22T20:14:56.7109600Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7109706Z 2026-10-22T20:14:56.7109979Z src/orchestration-v2/ThreadLaunchService.test.ts:220:32 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7110301Z 2026-10-22T20:14:56.7110393Z 220 folderForThread: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.7110594Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7110697Z 2026-10-22T20:14:56.7111056Z 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-22T20:14:56.7111459Z 2026-10-22T20:14:56.7111513Z 91 archive: (input) => 2026-10-22T20:14:56.7111635Z ~~~~~~~ 2026-10-22T20:14:56.7111702Z 2026-10-22T20:14:56.7112059Z 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-22T20:14:56.7112525Z 2026-10-22T20:14:56.7112576Z 97 unarchive: (input) => 2026-10-22T20:14:56.7112709Z ~~~~~~~~~ 2026-10-22T20:14:56.7112780Z 2026-10-22T20:14:56.7113135Z 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-22T20:14:56.7113536Z 2026-10-22T20:14:56.7113590Z 103 delete: (input) => 2026-10-22T20:14:56.7113713Z ~~~~~~ 2026-10-22T20:14:56.7113779Z 2026-10-22T20:14:56.7114151Z 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-22T20:14:56.7114572Z 2026-10-22T20:14:56.7114630Z 109 updateMetadata: (input) => 2026-10-22T20:14:56.7114783Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7114861Z 2026-10-22T20:14:56.7115250Z 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-22T20:14:56.7115665Z 2026-10-22T20:14:56.7115725Z 118 setRuntimeMode: (input) => 2026-10-22T20:14:56.7115864Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7124413Z 2026-10-22T20:14:56.7124877Z 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-22T20:14:56.7125321Z 2026-10-22T20:14:56.7125390Z 125 setInteractionMode: (input) => 2026-10-22T20:14:56.7125543Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7125623Z 2026-10-22T20:14:56.7126011Z 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-22T20:14:56.7126440Z 2026-10-22T20:14:56.7126598Z 132 setModelSelection: (input) => 2026-10-22T20:14:56.7126756Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7126831Z 2026-10-22T20:14:56.7127261Z src/orchestration-v2/ThreadManagementService.ts:688:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.7127740Z 2026-10-22T20:14:56.7127804Z 688 Effect.flatMap((projection) => 2026-10-22T20:14:56.7127954Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7128042Z 2026-10-22T20:14:56.7128360Z src/orchestration-v2/ThreadManagementService.ts:705:5 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-22T20:14:56.7128714Z 2026-10-22T20:14:56.7128788Z 705 ensureProjectionTranscript(input.threadId) 2026-10-22T20:14:56.7128972Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7129224Z 706 .pipe(Effect.andThen(orchestrator.getThreadRecords(input.threadId, fields, filter))) 2026-10-22T20:14:56.7129518Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7129699Z ... 2026-10-22T20:14:56.7129813Z 725 ), 2026-10-22T20:14:56.7129922Z ~~~~~~~~~~ 2026-10-22T20:14:56.7130034Z 726 ); 2026-10-22T20:14:56.7130152Z ~~~~~~~ 2026-10-22T20:14:56.7130215Z 2026-10-22T20:14:56.7130631Z src/orchestration-v2/ThreadManagementService.ts:716:9 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.7131090Z 2026-10-22T20:14:56.7131159Z 716 Effect.flatMap((projection) => 2026-10-22T20:14:56.7131382Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7131464Z 2026-10-22T20:14:56.7131867Z src/orchestration-v2/ThreadManagementService.ts:1129: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-22T20:14:56.7132305Z 2026-10-22T20:14:56.7132417Z 1129 if (failures[0] !== undefined) return yield* Effect.fail(failures[0]); 2026-10-22T20:14:56.7132628Z ~~~~~ 2026-10-22T20:14:56.7132732Z 2026-10-22T20:14:56.7133116Z src/orchestration-v2/ThreadManagementService.ts:1140:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7133541Z 2026-10-22T20:14:56.7133602Z 1140 searchThread: (input) => 2026-10-22T20:14:56.7133751Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7133821Z 2026-10-22T20:14:56.7134295Z src/orchestration-v2/ThreadManagementService.ts:1145: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-22T20:14:56.7134851Z 2026-10-22T20:14:56.7134986Z 1145 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-22T20:14:56.7135213Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7135300Z 2026-10-22T20:14:56.7135709Z src/orchestration-v2/ThreadManagementService.ts:1151:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7136160Z 2026-10-22T20:14:56.7136230Z 1151 getTimelinePage: (threadId, options) => 2026-10-22T20:14:56.7136402Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7136477Z 2026-10-22T20:14:56.7136922Z src/orchestration-v2/ThreadManagementService.ts:1155:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7137361Z 2026-10-22T20:14:56.7137424Z 1155 getMessageCount: (threadId) => 2026-10-22T20:14:56.7137577Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7137654Z 2026-10-22T20:14:56.7138035Z src/orchestration-v2/ThreadManagementService.ts:1159:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7138456Z 2026-10-22T20:14:56.7138510Z 1159 getTurnItem: (input) => 2026-10-22T20:14:56.7138651Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7138726Z 2026-10-22T20:14:56.7139136Z src/orchestration-v2/ThreadManagementService.ts:1164:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7139608Z 2026-10-22T20:14:56.7139695Z 1164 getThreadRecords: (threadId, fields, filter) => 2026-10-22T20:14:56.7139870Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7139950Z 2026-10-22T20:14:56.7140507Z src/orchestration-v2/ThreadManagementService.ts:1203:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("LegacyV1ThreadImporter.LegacyV1ThreadImporter.ensureTranscript")(() => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7140982Z 2026-10-22T20:14:56.7141139Z 1203 ensureTranscript: () => Effect.succeed({ importedThreadCount: 0, importedMessageCount: 0 }), 2026-10-22T20:14:56.7141377Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7141458Z 2026-10-22T20:14:56.7141857Z src/orchestration-v2/ThreadPullRequestService.test.ts:135:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7142199Z 2026-10-22T20:14:56.7142294Z 135 getShell: () => Effect.succeed(Option.some(project)), 2026-10-22T20:14:56.7142492Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7142590Z 2026-10-22T20:14:56.7143020Z src/orchestration-v2/ThreadPullRequestService.ts:327:17 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7143489Z 2026-10-22T20:14:56.7143563Z 327 Effect.catchCause((cause) => 2026-10-22T20:14:56.7143726Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7143823Z 2026-10-22T20:14:56.7144247Z src/orchestration-v2/ThreadSettlementService.ts:353:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7144708Z 2026-10-22T20:14:56.7144799Z 353 Effect.catchCause((cause) => 2026-10-22T20:14:56.7144959Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7145047Z 2026-10-22T20:14:56.7145465Z src/orchestration-v2/ThreadSettlementService.ts:516:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7145931Z 2026-10-22T20:14:56.7145994Z 516 Effect.catchCause((cause) => 2026-10-22T20:14:56.7146146Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7146239Z 2026-10-22T20:14:56.7146653Z src/orchestration-v2/ThreadSettlementService.ts:534:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7147113Z 2026-10-22T20:14:56.7147170Z 534 Effect.catchCause((cause) => 2026-10-22T20:14:56.7147419Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7147505Z 2026-10-22T20:14:56.7147909Z src/orchestration-v2/ThreadSettlementService.ts:576:9 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7148366Z 2026-10-22T20:14:56.7148432Z 576 Effect.catchCause((cause) => 2026-10-22T20:14:56.7148580Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7148670Z 2026-10-22T20:14:56.7149063Z 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-22T20:14:56.7149497Z 2026-10-22T20:14:56.7149556Z 106 normalize: (item, runOrdinal) => 2026-10-22T20:14:56.7149715Z ~~~~~~~~~ 2026-10-22T20:14:56.7149791Z 2026-10-22T20:14:56.7150235Z 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-22T20:14:56.7150722Z 2026-10-22T20:14:56.7150839Z 54 const thread = Schema.decodeUnknownSync(OrchestrationV2AppThread)({ 2026-10-22T20:14:56.7151052Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7151152Z 2026-10-22T20:14:56.7151560Z 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-22T20:14:56.7152075Z 2026-10-22T20:14:56.7152127Z 231 try { 2026-10-22T20:14:56.7152245Z ~~~~~ 2026-10-22T20:14:56.7152404Z 232 decodeThreadHistoryCursor(args.query.cursor); 2026-10-22T20:14:56.7152618Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7152777Z ... 2026-10-22T20:14:56.7152986Z 236 return yield* failEnvironmentInternal("orchestration_thread_history_failed", cause); 2026-10-22T20:14:56.7153271Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7153457Z 237 } 2026-10-22T20:14:56.7153567Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7153632Z 2026-10-22T20:14:56.7153905Z src/orchestration-v2/runtimeLayer.test.ts:120:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7154226Z 2026-10-22T20:14:56.7154295Z 120 getById: () => Effect.succeed(Option.none()), 2026-10-22T20:14:56.7154476Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7154568Z 2026-10-22T20:14:56.7154880Z src/orchestration-v2/runtimeLayer.test.ts:996:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7155189Z 2026-10-22T20:14:56.7155243Z 996 Effect.succeed( 2026-10-22T20:14:56.7155389Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7155474Z 2026-10-22T20:14:56.7155874Z 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-22T20:14:56.7156314Z 2026-10-22T20:14:56.7156365Z 40 append: (input) => 2026-10-22T20:14:56.7156501Z ~~~~~~ 2026-10-22T20:14:56.7156566Z 2026-10-22T20:14:56.7156921Z 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-22T20:14:56.7157314Z 2026-10-22T20:14:56.7157446Z 283 const awaitDispatch = (key: string) => 2026-10-22T20:14:56.7157618Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7157708Z 2026-10-22T20:14:56.7158164Z 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-22T20:14:56.7158670Z 2026-10-22T20:14:56.7158726Z 447 execute: () => Effect.void, 2026-10-22T20:14:56.7158875Z ~~~~~~~ 2026-10-22T20:14:56.7158947Z 2026-10-22T20:14:56.7159322Z src/persistence/PullRequestFilesViewed.ts:91:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.list")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7159746Z 2026-10-22T20:14:56.7159804Z 91 list: (input) => 2026-10-22T20:14:56.7159930Z ~~~~ 2026-10-22T20:14:56.7159995Z 2026-10-22T20:14:56.7160360Z src/persistence/PullRequestFilesViewed.ts:100:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.set")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7160776Z 2026-10-22T20:14:56.7160828Z 100 set: (input) => 2026-10-22T20:14:56.7160952Z ~~~ 2026-10-22T20:14:56.7161019Z 2026-10-22T20:14:56.7161386Z src/persistence/PullRequestReviewGuides.ts:53:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.get")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7161795Z 2026-10-22T20:14:56.7161847Z 53 get: (key) => 2026-10-22T20:14:56.7162041Z ~~~ 2026-10-22T20:14:56.7162112Z 2026-10-22T20:14:56.7162484Z src/persistence/PullRequestReviewGuides.ts:62:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.put")((key, guide) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7162912Z 2026-10-22T20:14:56.7162963Z 62 put: (key, guide) => 2026-10-22T20:14:56.7163105Z ~~~ 2026-10-22T20:14:56.7163167Z 2026-10-22T20:14:56.7163532Z 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-22T20:14:56.7163950Z 2026-10-22T20:14:56.7164013Z 45 Effect.catch((error) => 2026-10-22T20:14:56.7164161Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7164238Z 2026-10-22T20:14:56.7164589Z 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-22T20:14:56.7165002Z 2026-10-22T20:14:56.7165082Z 75 awaitAttached: () => Effect.succeed(false), 2026-10-22T20:14:56.7165252Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7165330Z 2026-10-22T20:14:56.7165668Z 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-22T20:14:56.7166060Z 2026-10-22T20:14:56.7166132Z 78 isAttached: () => Effect.succeed(false), 2026-10-22T20:14:56.7166307Z ~~~~~~~~~~ 2026-10-22T20:14:56.7166374Z 2026-10-22T20:14:56.7166708Z 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-22T20:14:56.7167091Z 2026-10-22T20:14:56.7167203Z 79 endpoint: () => Effect.die("No desktop app is attached to this server."), 2026-10-22T20:14:56.7167409Z ~~~~~~~~ 2026-10-22T20:14:56.7167544Z 2026-10-22T20:14:56.7167880Z 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-22T20:14:56.7168246Z 2026-10-22T20:14:56.7168307Z 80 pointer: () => Effect.void, 2026-10-22T20:14:56.7168457Z ~~~~~~~ 2026-10-22T20:14:56.7168522Z 2026-10-22T20:14:56.7168897Z 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-22T20:14:56.7169308Z 2026-10-22T20:14:56.7169374Z 194 awaitAttached: (key, timeout) => 2026-10-22T20:14:56.7169527Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7169606Z 2026-10-22T20:14:56.7169957Z 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-22T20:14:56.7170344Z 2026-10-22T20:14:56.7170459Z 216 isAttached: (key) => Effect.sync(() => attachedTabs.has(keyOf(key))), 2026-10-22T20:14:56.7170677Z ~~~~~~~~~~ 2026-10-22T20:14:56.7170743Z 2026-10-22T20:14:56.7171097Z 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-22T20:14:56.7171494Z 2026-10-22T20:14:56.7171610Z 218 pointer: (key, pointer) => command({ type: "pointer", ...key, ...pointer }), 2026-10-22T20:14:56.7171815Z ~~~~~~~ 2026-10-22T20:14:56.7171886Z 2026-10-22T20:14:56.7172435Z src/preview/ServerBrowser.ts:480: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-22T20:14:56.7172976Z 2026-10-22T20:14:56.7173077Z 480 executable: () => Effect.runPromise(previewBrowser.executable), 2026-10-22T20:14:56.7173296Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7173397Z 2026-10-22T20:14:56.7173872Z src/preview/ServerBrowser.ts:687: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-22T20:14:56.7174393Z 2026-10-22T20:14:56.7174460Z 687 ? Effect.runPromise( 2026-10-22T20:14:56.7174605Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7174694Z 2026-10-22T20:14:56.7175208Z src/preview/ServerBrowser.ts:696: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-22T20:14:56.7175724Z 2026-10-22T20:14:56.7175811Z 696 const scope = await Effect.runPromise(Scope.make()); 2026-10-22T20:14:56.7175999Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7176099Z 2026-10-22T20:14:56.7176597Z src/preview/ServerBrowser.ts:698: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-22T20:14:56.7177119Z 2026-10-22T20:14:56.7177197Z 698 const endpoint = await Effect.runPromise( 2026-10-22T20:14:56.7177381Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7177480Z 2026-10-22T20:14:56.7178012Z src/preview/ServerBrowser.ts:708: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-22T20:14:56.7178549Z 2026-10-22T20:14:56.7178648Z 708 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-22T20:14:56.7178845Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7178936Z 2026-10-22T20:14:56.7179422Z src/preview/ServerBrowser.ts:712: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-22T20:14:56.7179957Z 2026-10-22T20:14:56.7180053Z 712 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-22T20:14:56.7180236Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7180398Z 2026-10-22T20:14:56.7180883Z src/preview/ServerBrowser.ts:1199: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-22T20:14:56.7181416Z 2026-10-22T20:14:56.7181475Z 1199 await Effect.runPromise( 2026-10-22T20:14:56.7181628Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7181715Z 2026-10-22T20:14:56.7182192Z src/preview/ServerBrowser.ts:1688: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-22T20:14:56.7182808Z 2026-10-22T20:14:56.7182874Z 1688 : await Effect.runPromise( 2026-10-22T20:14:56.7183028Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7183128Z 2026-10-22T20:14:56.7183616Z src/preview/ServerBrowser.ts:1752: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-22T20:14:56.7184150Z 2026-10-22T20:14:56.7184214Z 1752 ? await Effect.runPromise( 2026-10-22T20:14:56.7184371Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7184473Z 2026-10-22T20:14:56.7184804Z src/preview/ServerBrowser.ts:1755:58 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.7185139Z 2026-10-22T20:14:56.7185261Z 1755 ServerBrowserTabNotFoundError: () => Effect.succeed(undefined), 2026-10-22T20:14:56.7185510Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7185631Z 2026-10-22T20:14:56.7186123Z src/preview/ServerBrowser.ts:1761: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-22T20:14:56.7186656Z 2026-10-22T20:14:56.7186742Z 1761 const { sessions } = await Effect.runPromise( 2026-10-22T20:14:56.7186933Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7187044Z 2026-10-22T20:14:56.7187607Z src/preview/ServerBrowser.ts:1789: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-22T20:14:56.7188132Z 2026-10-22T20:14:56.7188190Z 1789 await Effect.runPromise( 2026-10-22T20:14:56.7188346Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7188443Z 2026-10-22T20:14:56.7188929Z src/preview/ServerBrowser.ts:1820: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-22T20:14:56.7189455Z 2026-10-22T20:14:56.7189521Z 1820 await Effect.runPromise( 2026-10-22T20:14:56.7189680Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7189776Z 2026-10-22T20:14:56.7190269Z src/preview/ServerBrowser.ts:1884: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-22T20:14:56.7190797Z 2026-10-22T20:14:56.7190947Z 1884 await Effect.runPromise(manager.close({ threadId: tab.threadId, tabId: tab.tabId })); 2026-10-22T20:14:56.7191181Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7191280Z 2026-10-22T20:14:56.7191768Z src/preview/ServerBrowser.ts:1952: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-22T20:14:56.7192287Z 2026-10-22T20:14:56.7192342Z 1952 await Effect.runPromise( 2026-10-22T20:14:56.7192556Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7192648Z 2026-10-22T20:14:56.7193125Z src/preview/ServerBrowser.ts:1964: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-22T20:14:56.7193652Z 2026-10-22T20:14:56.7193733Z 1964 const snapshot = await Effect.runPromise( 2026-10-22T20:14:56.7193908Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7194010Z 2026-10-22T20:14:56.7194486Z src/preview/ServerBrowser.ts:2210: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-22T20:14:56.7195036Z 2026-10-22T20:14:56.7195095Z 2210 await Effect.runPromise( 2026-10-22T20:14:56.7195236Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7195327Z 2026-10-22T20:14:56.7195631Z 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-22T20:14:56.7195970Z 2026-10-22T20:14:56.7196055Z 179 const receive = (chunk: Uint8Array | string) => { 2026-10-22T20:14:56.7196230Z ~~~~~~~ 2026-10-22T20:14:56.7196301Z 2026-10-22T20:14:56.7196628Z 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-22T20:14:56.7196992Z 2026-10-22T20:14:56.7197097Z 209 Effect.catch(() => Effect.succeed(HttpServerResponse.empty())), 2026-10-22T20:14:56.7197287Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7197359Z 2026-10-22T20:14:56.7197770Z 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-22T20:14:56.7198159Z 2026-10-22T20:14:56.7198253Z 860 resolveAvailableEditors: () => cachedAvailableEditors, 2026-10-22T20:14:56.7198440Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7198524Z 2026-10-22T20:14:56.7198879Z 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-22T20:14:56.7199275Z 2026-10-22T20:14:56.7199340Z 861 resolveFileManagerRevealKind: () => 2026-10-22T20:14:56.7199496Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7199587Z 2026-10-22T20:14:56.7199921Z 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-22T20:14:56.7200311Z 2026-10-22T20:14:56.7200369Z 865 launchBrowser: (target) => 2026-10-22T20:14:56.7200518Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7200587Z 2026-10-22T20:14:56.7200921Z 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-22T20:14:56.7201298Z 2026-10-22T20:14:56.7201359Z 869 launchEditor: (input) => 2026-10-22T20:14:56.7201496Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7201569Z 2026-10-22T20:14:56.7201841Z src/project/AgentSessionImporter.test.ts:212:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7202220Z 2026-10-22T20:14:56.7202273Z 212 Effect.succeed( 2026-10-22T20:14:56.7202422Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7202509Z 2026-10-22T20:14:56.7202773Z src/project/ManagedProjectFolders.ts:346:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7203077Z 2026-10-22T20:14:56.7203173Z 346 ? Effect.succeed(Option.some(folderFor(id.slice(-8)))) 2026-10-22T20:14:56.7203367Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7203457Z 2026-10-22T20:14:56.7203716Z src/project/ManagedProjectFolders.ts:348:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7204018Z 2026-10-22T20:14:56.7204091Z 348 ? Effect.succeed(Option.some(fullFolder)) 2026-10-22T20:14:56.7204275Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7204357Z 2026-10-22T20:14:56.7204701Z 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-22T20:14:56.7205142Z 2026-10-22T20:14:56.7205231Z 432 start: (input, hooks) => locked(start(input, hooks)), 2026-10-22T20:14:56.7205405Z ~~~~~ 2026-10-22T20:14:56.7205475Z 2026-10-22T20:14:56.7205816Z 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-22T20:14:56.7206194Z 2026-10-22T20:14:56.7206271Z 433 cancel: (projectId) => locked(cancel(projectId)), 2026-10-22T20:14:56.7206451Z ~~~~~~ 2026-10-22T20:14:56.7206520Z 2026-10-22T20:14:56.7206851Z 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-22T20:14:56.7207230Z 2026-10-22T20:14:56.7207317Z 434 retry: (projectId) => locked(retry(projectId)), 2026-10-22T20:14:56.7207477Z ~~~~~ 2026-10-22T20:14:56.7207622Z 2026-10-22T20:14:56.7207959Z 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-22T20:14:56.7208346Z 2026-10-22T20:14:56.7208428Z 435 discard: (projectId) => locked(discard(projectId)), 2026-10-22T20:14:56.7208612Z ~~~~~~~ 2026-10-22T20:14:56.7208686Z 2026-10-22T20:14:56.7209038Z 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-22T20:14:56.7209436Z 2026-10-22T20:14:56.7209555Z 21 get: (key) => Effect.sync(() => Option.fromUndefinedOr(bytes.get(key))), 2026-10-22T20:14:56.7209756Z ~~~ 2026-10-22T20:14:56.7209826Z 2026-10-22T20:14:56.7210193Z 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-22T20:14:56.7210602Z 2026-10-22T20:14:56.7210660Z 22 set: (key, value) => 2026-10-22T20:14:56.7210795Z ~~~ 2026-10-22T20:14:56.7210862Z 2026-10-22T20:14:56.7211223Z 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-22T20:14:56.7211623Z 2026-10-22T20:14:56.7211683Z 26 remove: (key) => 2026-10-22T20:14:56.7211811Z ~~~~~~ 2026-10-22T20:14:56.7211875Z 2026-10-22T20:14:56.7212287Z 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-22T20:14:56.7212689Z 2026-10-22T20:14:56.7212805Z 30 create: () => Effect.die("Handoff does not create persistent secrets."), 2026-10-22T20:14:56.7213013Z ~~~~~~ 2026-10-22T20:14:56.7213082Z 2026-10-22T20:14:56.7213468Z 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-22T20:14:56.7213894Z 2026-10-22T20:14:56.7214044Z 31 getOrCreateRandom: () => Effect.die("Handoff uses the destination environment identity."), 2026-10-22T20:14:56.7214281Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7214359Z 2026-10-22T20:14:56.7214851Z 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-22T20:14:56.7215352Z 2026-10-22T20:14:56.7215476Z 205 return yield* Schema.decodeUnknownEffect(Schema.fromJsonString(schema))( 2026-10-22T20:14:56.7215698Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7215802Z 2026-10-22T20:14:56.7216098Z 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-22T20:14:56.7216444Z 2026-10-22T20:14:56.7216507Z 569 ? Effect.succeed(undefined) 2026-10-22T20:14:56.7216660Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7216754Z 2026-10-22T20:14:56.7217097Z 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-22T20:14:56.7217492Z 2026-10-22T20:14:56.7217607Z 284 current: (driverKind) => 2026-10-22T20:14:56.7217748Z ~~~~~~~ 2026-10-22T20:14:56.7217819Z 2026-10-22T20:14:56.7218213Z 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-22T20:14:56.7218649Z 2026-10-22T20:14:56.7218708Z 284 return yield* Effect.fail( 2026-10-22T20:14:56.7218872Z ~~~~~ 2026-10-22T20:14:56.7218968Z 2026-10-22T20:14:56.7219326Z 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-22T20:14:56.7219726Z 2026-10-22T20:14:56.7219794Z 211 importProfile: (input) => 2026-10-22T20:14:56.7219936Z ~~~~~~~~~~~~~ 2026-10-22T20:14:56.7220012Z 2026-10-22T20:14:56.7220500Z 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-22T20:14:56.7220917Z 2026-10-22T20:14:56.7220987Z 39 credentials: (namespace, bindingId) => 2026-10-22T20:14:56.7221143Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7221216Z 2026-10-22T20:14:56.7221619Z src/pullRequest/PullRequestService.ts:2773:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7222060Z 2026-10-22T20:14:56.7222122Z 2773 Effect.catchCause((cause) => 2026-10-22T20:14:56.7222375Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7222458Z 2026-10-22T20:14:56.7222855Z src/pullRequest/PullRequestService.ts:3172:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7223294Z 2026-10-22T20:14:56.7223357Z 3172 Effect.catchCause((cause) => 2026-10-22T20:14:56.7223510Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7223590Z 2026-10-22T20:14:56.7223935Z src/pullRequest/PullRequestService.ts:3391:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestService.listStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7224318Z 2026-10-22T20:14:56.7224383Z 3391 listStats: (input) => 2026-10-22T20:14:56.7224524Z ~~~~~~~~~ 2026-10-22T20:14:56.7224590Z 2026-10-22T20:14:56.7224884Z src/relay/AgentAwarenessRelay.test.ts:270:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-22T20:14:56.7225186Z 2026-10-22T20:14:56.7225242Z 270 Effect.succeed( 2026-10-22T20:14:56.7225370Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7225457Z 2026-10-22T20:14:56.7225799Z 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-22T20:14:56.7226173Z 2026-10-22T20:14:56.7226306Z 822 requestCatchUp: () => Queue.offer(catchUpRequests, undefined).pipe(Effect.asVoid), 2026-10-22T20:14:56.7226531Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7226602Z 2026-10-22T20:14:56.7227019Z 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-22T20:14:56.7227482Z 2026-10-22T20:14:56.7227553Z 641 requestDesktopUpdate: (requestId) => 2026-10-22T20:14:56.7227788Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7227876Z 2026-10-22T20:14:56.7228288Z 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-22T20:14:56.7228733Z 2026-10-22T20:14:56.7228794Z 647 commitDesktopUpdate: (requestId) => 2026-10-22T20:14:56.7228949Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7229027Z 2026-10-22T20:14:56.7229429Z 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-22T20:14:56.7229887Z 2026-10-22T20:14:56.7229950Z 649 cancelDesktopUpdate: (requestId) => 2026-10-22T20:14:56.7230099Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7230179Z 2026-10-22T20:14:56.7230574Z 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-22T20:14:56.7231006Z 2026-10-22T20:14:56.7231073Z 698 setDiagnosticsDemand: () => Effect.void, 2026-10-22T20:14:56.7231242Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7231328Z 2026-10-22T20:14:56.7231712Z 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-22T20:14:56.7232152Z 2026-10-22T20:14:56.7232221Z 699 requestDesktopUpdate: () => Effect.void, 2026-10-22T20:14:56.7232440Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7232523Z 2026-10-22T20:14:56.7232915Z 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-22T20:14:56.7233348Z 2026-10-22T20:14:56.7233417Z 700 commitDesktopUpdate: () => Effect.void, 2026-10-22T20:14:56.7233575Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7233659Z 2026-10-22T20:14:56.7234043Z 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-22T20:14:56.7234474Z 2026-10-22T20:14:56.7234543Z 701 cancelDesktopUpdate: () => Effect.void, 2026-10-22T20:14:56.7234717Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7234811Z 2026-10-22T20:14:56.7235196Z 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-22T20:14:56.7235598Z 2026-10-22T20:14:56.7235654Z 1091 readHistory: () => 2026-10-22T20:14:56.7235783Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7235856Z 2026-10-22T20:14:56.7236230Z 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-22T20:14:56.7236644Z 2026-10-22T20:14:56.7236718Z 1097 setExternalProcesses: () => Effect.void, 2026-10-22T20:14:56.7236890Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7236970Z 2026-10-22T20:14:56.7237342Z 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-22T20:14:56.7237812Z 2026-10-22T20:14:56.7237883Z 1098 setHostPowerState: () => Effect.void, 2026-10-22T20:14:56.7238036Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7238117Z 2026-10-22T20:14:56.7238437Z src/scheduledTasks/ScheduledTaskService.ts:1132:31 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.7238795Z 2026-10-22T20:14:56.7238865Z 1132 ? Effect.succeed(undefined) 2026-10-22T20:14:56.7239048Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7239151Z 2026-10-22T20:14:56.7239455Z 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-22T20:14:56.7239802Z 2026-10-22T20:14:56.7239867Z 166 const results = yield* Effect.all( 2026-10-22T20:14:56.7240022Z ~~~~~~~~~~ 2026-10-22T20:14:56.7240120Z 2026-10-22T20:14:56.7240506Z src/server.ts:479: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-22T20:14:56.7240932Z 2026-10-22T20:14:56.7240989Z 479 return Effect.gen(function* () { 2026-10-22T20:14:56.7241134Z ~~~~~~ 2026-10-22T20:14:56.7241199Z 2026-10-22T20:14:56.7241492Z 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-22T20:14:56.7241834Z 2026-10-22T20:14:56.7241974Z 209 prepareTrial: Effect.succeed(undefined), 2026-10-22T20:14:56.7242150Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7242255Z 2026-10-22T20:14:56.7242541Z 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-22T20:14:56.7242870Z 2026-10-22T20:14:56.7242928Z 413 const results = yield* Effect.all( 2026-10-22T20:14:56.7243088Z ~~~~~~~~~~ 2026-10-22T20:14:56.7243179Z 2026-10-22T20:14:56.7243624Z 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-22T20:14:56.7244114Z 2026-10-22T20:14:56.7244174Z 204 listChangeRequests: (input) => 2026-10-22T20:14:56.7244320Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7244401Z 2026-10-22T20:14:56.7244858Z 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-22T20:14:56.7245335Z 2026-10-22T20:14:56.7245393Z 209 getChangeRequest: (input) => 2026-10-22T20:14:56.7245532Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7245608Z 2026-10-22T20:14:56.7246052Z 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-22T20:14:56.7246533Z 2026-10-22T20:14:56.7246596Z 214 createChangeRequest: (input) => 2026-10-22T20:14:56.7246742Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7246819Z 2026-10-22T20:14:56.7247314Z 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-22T20:14:56.7247807Z 2026-10-22T20:14:56.7247874Z 219 getRepositoryCloneUrls: (input) => 2026-10-22T20:14:56.7248027Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7248115Z 2026-10-22T20:14:56.7248547Z 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-22T20:14:56.7249027Z 2026-10-22T20:14:56.7249127Z 224 createRepository: (input) => provider.createRepository(input), 2026-10-22T20:14:56.7249328Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7249401Z 2026-10-22T20:14:56.7249840Z 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-22T20:14:56.7250318Z 2026-10-22T20:14:56.7250377Z 225 getDefaultBranch: (input) => 2026-10-22T20:14:56.7250516Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7250591Z 2026-10-22T20:14:56.7251033Z 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-22T20:14:56.7251528Z 2026-10-22T20:14:56.7251590Z 230 checkoutChangeRequest: (input) => 2026-10-22T20:14:56.7251757Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7251840Z 2026-10-22T20:14:56.7252224Z 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-22T20:14:56.7252704Z 2026-10-22T20:14:56.7252849Z 345 resolve: (input) => resolveHandle(input).pipe(Effect.map((handle) => handle.provider)), 2026-10-22T20:14:56.7253076Z ~~~~~~~ 2026-10-22T20:14:56.7253145Z 2026-10-22T20:14:56.7253546Z src/sourceControl/SourceControlRepositoryService.ts:405:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-22T20:14:56.7253981Z 2026-10-22T20:14:56.7254042Z 405 Effect.catch((sshError) => 2026-10-22T20:14:56.7254187Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7254260Z 2026-10-22T20:14:56.7254681Z src/sourceControl/SourceControlRepositoryService.ts:552:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.lookupRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7255158Z 2026-10-22T20:14:56.7255219Z 552 lookupRepository: (input) => 2026-10-22T20:14:56.7255360Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7255433Z 2026-10-22T20:14:56.7255828Z src/sourceControl/SourceControlRepositoryService.ts:554:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.prepareClone")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7256265Z 2026-10-22T20:14:56.7256322Z 554 prepareClone: (input) => 2026-10-22T20:14:56.7256455Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7256526Z 2026-10-22T20:14:56.7256938Z src/sourceControl/SourceControlRepositoryService.ts:561:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.cloneRepository")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7257401Z 2026-10-22T20:14:56.7257467Z 561 cloneRepository: (input, options) => 2026-10-22T20:14:56.7257618Z ~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7257734Z 2026-10-22T20:14:56.7258146Z src/sourceControl/SourceControlRepositoryService.ts:568:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.discardClone")((destinationPath) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7258608Z 2026-10-22T20:14:56.7258675Z 568 discardClone: (destinationPath) => 2026-10-22T20:14:56.7258820Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7258889Z 2026-10-22T20:14:56.7259292Z src/sourceControl/SourceControlRepositoryService.ts:572:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.publishRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7259744Z 2026-10-22T20:14:56.7259804Z 572 publishRepository: (input) => 2026-10-22T20:14:56.7259952Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7260030Z 2026-10-22T20:14:56.7260448Z src/storageCleanup.ts:706: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-22T20:14:56.7260833Z 2026-10-22T20:14:56.7260888Z 706 return yield* Effect.fail( 2026-10-22T20:14:56.7261023Z ~~~~~ 2026-10-22T20:14:56.7261097Z 2026-10-22T20:14:56.7261418Z 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-22T20:14:56.7261776Z 2026-10-22T20:14:56.7261832Z 113 record: () => Effect.void, 2026-10-22T20:14:56.7261980Z ~~~~~~ 2026-10-22T20:14:56.7262047Z 2026-10-22T20:14:56.7262449Z 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-22T20:14:56.7262820Z 2026-10-22T20:14:56.7262884Z 115 recordOwners: () => Effect.void, 2026-10-22T20:14:56.7263028Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7263106Z 2026-10-22T20:14:56.7263445Z 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-22T20:14:56.7263823Z 2026-10-22T20:14:56.7263978Z 329 yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.flatMap(() => flushWhenDue)), { 2026-10-22T20:14:56.7264256Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7264385Z 2026-10-22T20:14:56.7264687Z 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-22T20:14:56.7265112Z 2026-10-22T20:14:56.7265181Z 90 .pipe(Effect.catch(() => Effect.void)); 2026-10-22T20:14:56.7265339Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7265420Z 2026-10-22T20:14:56.7265780Z 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-22T20:14:56.7266176Z 2026-10-22T20:14:56.7266240Z 60 generateCommitMessage: (input) => 2026-10-22T20:14:56.7266388Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7266468Z 2026-10-22T20:14:56.7266808Z 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-22T20:14:56.7267190Z 2026-10-22T20:14:56.7267248Z 64 generatePrContent: (input) => 2026-10-22T20:14:56.7267390Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7267462Z 2026-10-22T20:14:56.7267864Z 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-22T20:14:56.7268252Z 2026-10-22T20:14:56.7268313Z 68 generateBranchName: (input) => 2026-10-22T20:14:56.7268458Z ~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7268535Z 2026-10-22T20:14:56.7268880Z 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-22T20:14:56.7269265Z 2026-10-22T20:14:56.7269326Z 72 generateReviewGuide: (input) => 2026-10-22T20:14:56.7269380Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7269384Z 2026-10-22T20:14:56.7269729Z 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-22T20:14:56.7269732Z 2026-10-22T20:14:56.7269792Z 76 generateThreadTitle: (input) => 2026-10-22T20:14:56.7269840Z ~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7269842Z 2026-10-22T20:14:56.7270156Z 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-22T20:14:56.7270159Z 2026-10-22T20:14:56.7270213Z 172 readSummary: (input) => 2026-10-22T20:14:56.7270260Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7270263Z 2026-10-22T20:14:56.7270523Z 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-22T20:14:56.7270575Z 2026-10-22T20:14:56.7270637Z 642 usageInstances(driver, settings) 2026-10-22T20:14:56.7270695Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7270745Z 643 .pipe( 2026-10-22T20:14:56.7270787Z ~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7270832Z ... 2026-10-22T20:14:56.7270909Z 664 Effect.provideContext(readerContext), 2026-10-22T20:14:56.7270972Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7271015Z 665 ), 2026-10-22T20:14:56.7271060Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7271063Z 2026-10-22T20:14:56.7271440Z src/vcs/GitVcsDriverCore.ts:4005:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-22T20:14:56.7271443Z 2026-10-22T20:14:56.7271501Z 4005 Effect.flatMap((result) => 2026-10-22T20:14:56.7271548Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7271554Z 2026-10-22T20:14:56.7271913Z src/vcs/GitVcsDriverCore.ts:4496: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-22T20:14:56.7271915Z 2026-10-22T20:14:56.7271984Z 4496 commit: (cwd, subject, body, options) => 2026-10-22T20:14:56.7272029Z ~~~~~~ 2026-10-22T20:14:56.7272032Z 2026-10-22T20:14:56.7272417Z src/vcs/GitVcsDriverCore.ts:4498: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-22T20:14:56.7272420Z 2026-10-22T20:14:56.7272512Z 4498 pushCurrentBranch: (cwd, fallbackBranch, options) => 2026-10-22T20:14:56.7272558Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7272563Z 2026-10-22T20:14:56.7272955Z src/vcs/GitVcsDriverCore.ts:4500:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7272958Z 2026-10-22T20:14:56.7273097Z 4500 pullCurrentBranch: (cwd) => withListRefsInvalidation(cwd, pullCurrentBranch(cwd)), 2026-10-22T20:14:56.7273147Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7273149Z 2026-10-22T20:14:56.7273502Z src/vcs/GitVcsDriverCore.ts:4507:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7273507Z 2026-10-22T20:14:56.7273573Z 4507 createWorktree: (input, options) => 2026-10-22T20:14:56.7273621Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7273624Z 2026-10-22T20:14:56.7273983Z src/vcs/GitVcsDriverCore.ts:4509:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchPullRequestBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7273989Z 2026-10-22T20:14:56.7274057Z 4509 fetchPullRequestBranch: (input) => 2026-10-22T20:14:56.7274105Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7274107Z 2026-10-22T20:14:56.7274470Z src/vcs/GitVcsDriverCore.ts:4513:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.refreshCheckedOutBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7274473Z 2026-10-22T20:14:56.7274536Z 4513 refreshCheckedOutBranch: (input) => 2026-10-22T20:14:56.7274588Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7274590Z 2026-10-22T20:14:56.7274965Z src/vcs/GitVcsDriverCore.ts:4515:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.ensureRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7275018Z 2026-10-22T20:14:56.7275154Z 4515 ensureRemote: (input) => withListRefsInvalidation(input.cwd, ensureRemote(input)), 2026-10-22T20:14:56.7275202Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7275205Z 2026-10-22T20:14:56.7275544Z src/vcs/GitVcsDriverCore.ts:4518:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7275547Z 2026-10-22T20:14:56.7275603Z 4518 fetchRemote: (input) => 2026-10-22T20:14:56.7275650Z ~~~~~~~~~~~ 2026-10-22T20:14:56.7275652Z 2026-10-22T20:14:56.7276008Z src/vcs/GitVcsDriverCore.ts:4533:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7276013Z 2026-10-22T20:14:56.7276078Z 4533 fetchWorktreeBaseCommit: (input) => 2026-10-22T20:14:56.7276130Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7276132Z 2026-10-22T20:14:56.7276484Z src/vcs/GitVcsDriverCore.ts:4535:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7276486Z 2026-10-22T20:14:56.7276640Z 4535 fetchRemoteBranch: (input) => withListRefsInvalidation(input.cwd, fetchRemoteBranch(input)), 2026-10-22T20:14:56.7276686Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7276688Z 2026-10-22T20:14:56.7277060Z src/vcs/GitVcsDriverCore.ts:4536:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteTrackingBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7277062Z 2026-10-22T20:14:56.7277130Z 4536 fetchRemoteTrackingBranch: (input) => 2026-10-22T20:14:56.7277187Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7277189Z 2026-10-22T20:14:56.7277580Z src/vcs/GitVcsDriverCore.ts:4538:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.setBranchUpstream")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7277583Z 2026-10-22T20:14:56.7277733Z 4538 setBranchUpstream: (input) => withListRefsInvalidation(input.cwd, setBranchUpstream(input)), 2026-10-22T20:14:56.7277784Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7277787Z 2026-10-22T20:14:56.7278136Z src/vcs/GitVcsDriverCore.ts:4539:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7278139Z 2026-10-22T20:14:56.7278282Z 4539 removeWorktree: (input) => withListRefsInvalidation(input.cwd, removeWorktree(input)), 2026-10-22T20:14:56.7278334Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7278336Z 2026-10-22T20:14:56.7278681Z src/vcs/GitVcsDriverCore.ts:4540:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7278684Z 2026-10-22T20:14:56.7278826Z 4540 pruneWorktrees: (input) => withListRefsInvalidation(input.cwd, pruneWorktrees(input)), 2026-10-22T20:14:56.7278876Z ~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7278880Z 2026-10-22T20:14:56.7279229Z src/vcs/GitVcsDriverCore.ts:4541:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7279232Z 2026-10-22T20:14:56.7279383Z 4541 deleteLocalBranch: (input) => withListRefsInvalidation(input.cwd, deleteLocalBranch(input)), 2026-10-22T20:14:56.7279506Z ~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7279508Z 2026-10-22T20:14:56.7279858Z src/vcs/GitVcsDriverCore.ts:4542:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7279861Z 2026-10-22T20:14:56.7279995Z 4542 renameBranch: (input) => withListRefsInvalidation(input.cwd, renameBranch(input)), 2026-10-22T20:14:56.7280045Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7280048Z 2026-10-22T20:14:56.7280382Z src/vcs/GitVcsDriverCore.ts:4543:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7280389Z 2026-10-22T20:14:56.7280511Z 4543 createRef: (input) => withListRefsInvalidation(input.cwd, createRef(input)), 2026-10-22T20:14:56.7280559Z ~~~~~~~~~ 2026-10-22T20:14:56.7280564Z 2026-10-22T20:14:56.7280903Z src/vcs/GitVcsDriverCore.ts:4544:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-22T20:14:56.7280905Z 2026-10-22T20:14:56.7281025Z 4544 switchRef: (input) => withListRefsInvalidation(input.cwd, switchRef(input)), 2026-10-22T20:14:56.7281073Z ~~~~~~~~~ 2026-10-22T20:14:56.7281076Z 2026-10-22T20:14:56.7281496Z 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-22T20:14:56.7281498Z 2026-10-22T20:14:56.7281579Z 153 return serverSettings.getSettings.pipe( 2026-10-22T20:14:56.7281631Z ~~~~~~ 2026-10-22T20:14:56.7281633Z 2026-10-22T20:14:56.7281963Z 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-22T20:14:56.7281967Z 2026-10-22T20:14:56.7282166Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-22T20:14:56.7282214Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7282217Z 2026-10-22T20:14:56.7282519Z 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-22T20:14:56.7282523Z 2026-10-22T20:14:56.7282615Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-22T20:14:56.7282685Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7282688Z 2026-10-22T20:14:56.7282951Z src/ws.test.ts:400:47 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-22T20:14:56.7282955Z 2026-10-22T20:14:56.7283064Z 400 resolveFileManagerRevealKind: () => Effect.succeed(undefined), 2026-10-22T20:14:56.7283142Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-22T20:14:56.7283148Z 2026-10-22T20:14:56.7283454Z src/ws.ts:1370: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-22T20:14:56.7283456Z 2026-10-22T20:14:56.7283529Z 1370 return yield* Option.match(project, { 2026-10-22T20:14:56.7283580Z ~~~~~~~~~~~~ 2026-10-22T20:14:56.7283588Z 2026-10-22T20:14:56.7283919Z src/ws.ts:2289: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-22T20:14:56.7283988Z 2026-10-22T20:14:56.7284054Z 2289 return yield* Effect.fail( 2026-10-22T20:14:56.7284115Z ~~~~~ 2026-10-22T20:14:56.7284117Z 2026-10-22T20:14:56.7284438Z src/ws.ts:2298: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-22T20:14:56.7284441Z 2026-10-22T20:14:56.7284503Z 2298 return yield* Effect.fail( 2026-10-22T20:14:56.7284550Z ~~~~~ 2026-10-22T20:14:56.7284553Z 2026-10-22T20:14:56.7284893Z src/ws.ts:2306: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-22T20:14:56.7284895Z 2026-10-22T20:14:56.7284959Z 2306 return yield* Effect.fail( 2026-10-22T20:14:56.7285009Z ~~~~~ 2026-10-22T20:14:56.7285012Z 2026-10-22T20:14:56.7285015Z 2026-10-22T20:14:56.7285057Z --- 2026-10-22T20:14:56.7285355Z vp run: 0/32 cache hit (0%), 32/32 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-22T20:14:56.8012285Z Post job cleanup. 2026-10-22T20:14:56.8875932Z Cache hit occurred on the primary key electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309, not saving cache. 2026-10-22T20:14:56.9016381Z Post job cleanup. 2026-10-22T20:14:57.0401900Z ##[start-action display=Cache full pnpm store;id=__32bec33f-a394-45d1-bbe9-1afd40418def.__actions_cache] 2026-10-22T20:14:57.0898596Z Post job cleanup. 2026-10-22T20:14:57.1873180Z Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-26aca9b234a64276fce695cfd449de6b85aa0230cc5c8763604ee919eee10c91, not saving cache. 2026-10-22T20:14:57.1926766Z ##[end-action id=__32bec33f-a394-45d1-bbe9-1afd40418def.__actions_cache;outcome=success;conclusion=success;duration_ms=152] 2026-10-22T20:14:57.1929601Z ##[start-action display=Cache Vite+;id=__32bec33f-a394-45d1-bbe9-1afd40418def.vp_cache] 2026-10-22T20:14:57.1967270Z Post job cleanup. 2026-10-22T20:14:57.2901353Z 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-22T20:14:57.2965505Z ##[end-action id=__32bec33f-a394-45d1-bbe9-1afd40418def.vp_cache;outcome=success;conclusion=success;duration_ms=103] 2026-10-22T20:14:57.3011158Z Post job cleanup. 2026-10-22T20:14:57.3613908Z [command]/usr/local/bin/git version 2026-10-22T20:14:57.3677771Z git version 2.55.0 2026-10-22T20:14:57.3708765Z Temporarily overriding HOME='/home/runner/_work/_temp/1087e0c8-de29-4fdd-8ff7-39510f571fac' before making global git config changes 2026-10-22T20:14:57.3709195Z Adding repository directory to the temporary git global config as a safe directory 2026-10-22T20:14:57.3713739Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-22T20:14:57.3757871Z Removing SSH command configuration 2026-10-22T20:14:57.3763750Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-22T20:14:57.3799406Z [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-22T20:14:57.4032610Z fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules 2026-10-22T20:14:57.4081761Z ##[warning]The process '/usr/local/bin/git' failed with exit code 128 2026-10-22T20:14:57.4152176Z A job completed hook has been configured by the self-hosted runner administrator 2026-10-22T20:14:57.4187877Z ##[group]Run '/job_completed.sh' 2026-10-22T20:14:57.4203941Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-22T20:14:57.4204154Z env: 2026-10-22T20:14:57.4204494Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 200 2026-10-22T20:14:57.4204667Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 576 2026-10-22T20:14:57.4204863Z BLACKSMITH_CHECK_RUN_ID: 120062844446 2026-10-22T20:14:57.4205045Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-22T20:14:57.4205231Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-22T20:14:57.4205395Z ##[endgroup] 2026-10-22T20:14:57.4317057Z Docker container cache not activated, skipping hash computation. 2026-10-22T20:14:57.4656539Z No active SSH sessions detected. Proceeding with shutdown immediately. 2026-10-22T20:14:57.4730541Z Cleaning up orphan processes