2026-10-24T10:35:21.3620632Z Current runner version: '2.338.1' 2026-10-24T10:35:21.3625029Z Runner name: 'blacksmith-8vcpu-ubuntu-2404-abn6eyhkpg4fw7fv' 2026-10-24T10:35:21.3625779Z Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404' 2026-10-24T10:35:21.3626622Z Machine name: 'ip-172-31-73-130' 2026-10-24T10:35:21.3628347Z ##[group]GITHUB_TOKEN Permissions 2026-10-24T10:35:21.3629769Z Contents: read 2026-10-24T10:35:21.3630211Z Metadata: read 2026-10-24T10:35:21.3630675Z ##[endgroup] 2026-10-24T10:35:21.3632100Z Secret source: Actions 2026-10-24T10:35:21.3632854Z Cache mode: write 2026-10-24T10:35:21.3633384Z Prepare workflow directory 2026-10-24T10:35:21.3825364Z Prepare all required actions 2026-10-24T10:35:21.3854541Z Getting action download info 2026-10-24T10:35:21.5005224Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-24T10:35:21.5383234Z Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) 2026-10-24T10:35:21.6454847Z Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/ 2026-10-24T10:35:21.6493100Z Complete job name: Build and Typecheck 2026-10-24T10:35:21.6861014Z A job started hook has been configured by the self-hosted runner administrator 2026-10-24T10:35:21.6931076Z ##[group]Run '/setup.sh' 2026-10-24T10:35:21.6941288Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:35:21.6941693Z env: 2026-10-24T10:35:21.6941917Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:21.6942203Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:21.6944358Z BLACKSMITH_CHECK_RUN_ID: 120850430454 2026-10-24T10:35:21.6944659Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-24T10:35:21.6944968Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-24T10:35:21.6945224Z ##[endgroup] 2026-10-24T10:35:21.7162810Z Logging daemon started (blacksmithd for logs) 2026-10-24T10:35:21.7245827Z Results daemon started (blacksmithd for results) 2026-10-24T10:35:21.7365523Z Background adoption and SSH setup started (PID: 3060) 2026-10-24T10:35:21.7365961Z 2026-10-24T10:35:21.7366460Z ---------------------------------------- 2026-10-24T10:35:21.7366992Z View this job: https://app.blacksmith.sh/pingdotgg/runs/40086494175/jobs/120850430454 2026-10-24T10:35:21.7367420Z SSH Access (using your GitHub SSH key): 2026-10-24T10:35:21.7368453Z ssh -p 64000 runner@blacksmith-8vcpu-ubuntu-2404-abn6eyhkpg4fw7fv.vm.blacksmith.sh 2026-10-24T10:35:21.7368767Z 2026-10-24T10:35:21.7368878Z No GitHub SSH key? Add one at: 2026-10-24T10:35:21.7369374Z https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 2026-10-24T10:35:21.7369789Z 2026-10-24T10:35:21.7369898Z ---------------------------------------- 2026-10-24T10:35:21.7370074Z 2026-10-24T10:35:21.7370220Z VM ID: blacksmith-8vcpu-ubuntu-2404-abn6eyhkpg4fw7fv 2026-10-24T10:35:21.7370544Z Host: production-152.236.40.8-x8664 2026-10-24T10:35:21.7370810Z Host Agent PID: 3456775 2026-10-24T10:35:21.7371064Z Host Agent Git SHA: 1637818df 2026-10-24T10:35:21.7371326Z Host CPU Manufacturer: AuthenticAMD 2026-10-24T10:35:21.7371607Z Blacksmith Host Generation: gen 2 2026-10-24T10:35:21.7371893Z Petname: production-casual-hippo-e1b034c0 2026-10-24T10:35:21.7372174Z Region: us-east 2026-10-24T10:35:21.7372409Z Rootfs Version: ubuntu24-full-x64-081926 2026-10-24T10:35:21.7375830Z OS Version: Ubuntu 24.04.4 LTS 2026-10-24T10:35:21.7376243Z 2026-10-24T10:35:21.7376356Z Enabling Blacksmith transparent cache 2026-10-24T10:35:21.7627159Z ##[group]Run actions/checkout@v6 2026-10-24T10:35:21.7627463Z with: 2026-10-24T10:35:21.7627785Z sparse-checkout: /* !/.repos/ !/apps/mobile/modules/t3-terminal/Vendor/**/*.a 2026-10-24T10:35:21.7628220Z sparse-checkout-cone-mode: false 2026-10-24T10:35:21.7628494Z repository: pingdotgg/t3code 2026-10-24T10:35:21.7630374Z token: *** 2026-10-24T10:35:21.7630588Z ssh-strict: true 2026-10-24T10:35:21.7630804Z ssh-user: git 2026-10-24T10:35:21.7631181Z persist-credentials: true 2026-10-24T10:35:21.7631427Z clean: true 2026-10-24T10:35:21.7631630Z fetch-depth: 1 2026-10-24T10:35:21.7631845Z fetch-tags: false 2026-10-24T10:35:21.7632064Z show-progress: true 2026-10-24T10:35:21.7632288Z lfs: false 2026-10-24T10:35:21.7632491Z submodules: false 2026-10-24T10:35:21.7632716Z set-safe-directory: true 2026-10-24T10:35:21.7632968Z allow-unsafe-pr-checkout: false 2026-10-24T10:35:21.7633220Z env: 2026-10-24T10:35:21.7633458Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:21.7633739Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:21.7634014Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:21.7634277Z ##[endgroup] 2026-10-24T10:35:21.8790611Z Syncing repository: pingdotgg/t3code 2026-10-24T10:35:21.8791729Z ##[group]Getting Git version info 2026-10-24T10:35:21.8792066Z Working directory is '/home/runner/_work/t3code/t3code' 2026-10-24T10:35:21.8792548Z [command]/usr/local/bin/git version 2026-10-24T10:35:21.8853250Z git version 2.55.0 2026-10-24T10:35:21.8865976Z ##[endgroup] 2026-10-24T10:35:21.8874200Z Temporarily overriding HOME='/home/runner/_work/_temp/81df8af5-19a0-4552-a260-08b23a2f7627' before making global git config changes 2026-10-24T10:35:21.8875352Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T10:35:21.8878435Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-24T10:35:21.8908773Z Deleting the contents of '/home/runner/_work/t3code/t3code' 2026-10-24T10:35:21.8910688Z ##[group]Determining repository object format 2026-10-24T10:35:21.8912037Z ##[endgroup] 2026-10-24T10:35:21.8912640Z ##[group]Initializing the repository 2026-10-24T10:35:21.8915005Z [command]/usr/local/bin/git init /home/runner/_work/t3code/t3code 2026-10-24T10:35:21.8946094Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-24T10:35:21.8946837Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-24T10:35:21.8947623Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-24T10:35:21.8948227Z hint: call: 2026-10-24T10:35:21.8948431Z hint: 2026-10-24T10:35:21.8948702Z hint: git config --global init.defaultBranch 2026-10-24T10:35:21.8949013Z hint: 2026-10-24T10:35:21.8949296Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-24T10:35:21.8949755Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-24T10:35:21.8950125Z hint: 2026-10-24T10:35:21.8950424Z hint: git branch -m 2026-10-24T10:35:21.8950713Z hint: 2026-10-24T10:35:21.8951037Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-24T10:35:21.8951508Z Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/ 2026-10-24T10:35:21.8952333Z [command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code 2026-10-24T10:35:21.8976038Z ##[endgroup] 2026-10-24T10:35:21.8976423Z ##[group]Disabling automatic garbage collection 2026-10-24T10:35:21.8978620Z [command]/usr/local/bin/git config --local gc.auto 0 2026-10-24T10:35:21.8997177Z ##[endgroup] 2026-10-24T10:35:21.8997537Z ##[group]Setting up auth 2026-10-24T10:35:21.8997811Z Removing SSH command configuration 2026-10-24T10:35:21.9000907Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T10:35:21.9024811Z [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-24T10:35:21.9150018Z Removing HTTP extra header 2026-10-24T10:35:21.9153106Z [command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-24T10:35:21.9174062Z [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-24T10:35:21.9268092Z Removing includeIf entries pointing to credentials config files 2026-10-24T10:35:21.9271859Z [command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-24T10:35:21.9292959Z [command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-24T10:35:21.9385277Z [command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-8c154a4e-8202-4829-87d9-33760824b299.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-24T10:35:21.9407415Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-8c154a4e-8202-4829-87d9-33760824b299.config 2026-10-24T10:35:21.9426504Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-8c154a4e-8202-4829-87d9-33760824b299.config 2026-10-24T10:35:21.9446257Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-8c154a4e-8202-4829-87d9-33760824b299.config 2026-10-24T10:35:21.9466689Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-8c154a4e-8202-4829-87d9-33760824b299.config 2026-10-24T10:35:21.9482738Z ##[endgroup] 2026-10-24T10:35:21.9483093Z ##[group]Fetching the repository 2026-10-24T10:35:21.9486916Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +69c7db8a5c6626733ce48821523fca79f800ec9f:refs/remotes/pull/24391/merge 2026-10-24T10:35:22.2482265Z From https://github.com/pingdotgg/t3code 2026-10-24T10:35:22.2483224Z * [new ref] 69c7db8a5c6626733ce48821523fca79f800ec9f -> pull/24391/merge 2026-10-24T10:35:22.2504559Z ##[endgroup] 2026-10-24T10:35:22.2505268Z ##[group]Determining the checkout info 2026-10-24T10:35:22.2506076Z ##[endgroup] 2026-10-24T10:35:22.2506735Z ##[group]Setting up sparse checkout 2026-10-24T10:35:22.2508410Z [command]/usr/local/bin/git config core.sparseCheckout true 2026-10-24T10:35:22.2532424Z [command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout 2026-10-24T10:35:22.2548240Z .git/info/sparse-checkout 2026-10-24T10:35:22.2552333Z ##[endgroup] 2026-10-24T10:35:22.2553081Z ##[group]Checking out the ref 2026-10-24T10:35:22.2554789Z [command]/usr/local/bin/git checkout --progress --force refs/remotes/pull/24391/merge 2026-10-24T10:35:28.7804434Z Updating files: 0% (1/6336) 2026-10-24T10:35:28.7832372Z Updating files: 1% (64/6336) 2026-10-24T10:35:28.7850223Z Updating files: 2% (127/6336) 2026-10-24T10:35:28.7871423Z Updating files: 3% (191/6336) 2026-10-24T10:35:28.7891673Z Updating files: 4% (254/6336) 2026-10-24T10:35:28.7921820Z Updating files: 5% (317/6336) 2026-10-24T10:35:28.7941741Z Updating files: 6% (381/6336) 2026-10-24T10:35:28.7997319Z Updating files: 7% (444/6336) 2026-10-24T10:35:28.8025968Z Updating files: 8% (507/6336) 2026-10-24T10:35:28.8047949Z Updating files: 9% (571/6336) 2026-10-24T10:35:28.8316752Z Updating files: 10% (634/6336) 2026-10-24T10:35:28.8332984Z Updating files: 11% (697/6336) 2026-10-24T10:35:28.8344877Z Updating files: 12% (761/6336) 2026-10-24T10:35:28.8359138Z Updating files: 13% (824/6336) 2026-10-24T10:35:28.8375004Z Updating files: 14% (888/6336) 2026-10-24T10:35:28.8392434Z Updating files: 15% (951/6336) 2026-10-24T10:35:28.8411301Z Updating files: 16% (1014/6336) 2026-10-24T10:35:28.8426174Z Updating files: 17% (1078/6336) 2026-10-24T10:35:28.8444754Z Updating files: 18% (1141/6336) 2026-10-24T10:35:28.8459687Z Updating files: 19% (1204/6336) 2026-10-24T10:35:28.8481784Z Updating files: 20% (1268/6336) 2026-10-24T10:35:28.8499684Z Updating files: 21% (1331/6336) 2026-10-24T10:35:28.8518390Z Updating files: 22% (1394/6336) 2026-10-24T10:35:28.8531893Z Updating files: 23% (1458/6336) 2026-10-24T10:35:28.8545320Z Updating files: 24% (1521/6336) 2026-10-24T10:35:28.8561659Z Updating files: 25% (1584/6336) 2026-10-24T10:35:28.8575363Z Updating files: 26% (1648/6336) 2026-10-24T10:35:28.8588539Z Updating files: 27% (1711/6336) 2026-10-24T10:35:28.8608512Z Updating files: 28% (1775/6336) 2026-10-24T10:35:28.8641721Z Updating files: 29% (1838/6336) 2026-10-24T10:35:28.8662415Z Updating files: 30% (1901/6336) 2026-10-24T10:35:28.8686197Z Updating files: 31% (1965/6336) 2026-10-24T10:35:28.8716241Z Updating files: 32% (2028/6336) 2026-10-24T10:35:28.8749677Z Updating files: 33% (2091/6336) 2026-10-24T10:35:28.8821999Z Updating files: 34% (2155/6336) 2026-10-24T10:35:28.8881823Z Updating files: 35% (2218/6336) 2026-10-24T10:35:28.8923234Z Updating files: 36% (2281/6336) 2026-10-24T10:35:28.8961072Z Updating files: 37% (2345/6336) 2026-10-24T10:35:28.9009314Z Updating files: 38% (2408/6336) 2026-10-24T10:35:28.9036333Z Updating files: 39% (2472/6336) 2026-10-24T10:35:28.9066890Z Updating files: 40% (2535/6336) 2026-10-24T10:35:28.9095821Z Updating files: 41% (2598/6336) 2026-10-24T10:35:28.9114651Z Updating files: 42% (2662/6336) 2026-10-24T10:35:28.9125038Z Updating files: 43% (2725/6336) 2026-10-24T10:35:28.9148147Z Updating files: 44% (2788/6336) 2026-10-24T10:35:28.9181861Z Updating files: 45% (2852/6336) 2026-10-24T10:35:28.9205474Z Updating files: 46% (2915/6336) 2026-10-24T10:35:28.9234050Z Updating files: 47% (2978/6336) 2026-10-24T10:35:28.9261702Z Updating files: 48% (3042/6336) 2026-10-24T10:35:28.9292144Z Updating files: 49% (3105/6336) 2026-10-24T10:35:28.9330533Z Updating files: 50% (3168/6336) 2026-10-24T10:35:28.9346577Z Updating files: 51% (3232/6336) 2026-10-24T10:35:28.9380065Z Updating files: 52% (3295/6336) 2026-10-24T10:35:28.9406506Z Updating files: 53% (3359/6336) 2026-10-24T10:35:28.9426745Z Updating files: 54% (3422/6336) 2026-10-24T10:35:28.9451309Z Updating files: 55% (3485/6336) 2026-10-24T10:35:28.9469471Z Updating files: 56% (3549/6336) 2026-10-24T10:35:28.9486415Z Updating files: 57% (3612/6336) 2026-10-24T10:35:28.9504619Z Updating files: 58% (3675/6336) 2026-10-24T10:35:28.9872670Z Updating files: 59% (3739/6336) 2026-10-24T10:35:28.9886493Z Updating files: 60% (3802/6336) 2026-10-24T10:35:28.9904622Z Updating files: 61% (3865/6336) 2026-10-24T10:35:28.9922487Z Updating files: 62% (3929/6336) 2026-10-24T10:35:28.9943848Z Updating files: 63% (3992/6336) 2026-10-24T10:35:28.9970525Z Updating files: 64% (4056/6336) 2026-10-24T10:35:28.9992103Z Updating files: 65% (4119/6336) 2026-10-24T10:35:29.0008094Z Updating files: 66% (4182/6336) 2026-10-24T10:35:29.0033994Z Updating files: 67% (4246/6336) 2026-10-24T10:35:29.0047940Z Updating files: 68% (4309/6336) 2026-10-24T10:35:29.0066970Z Updating files: 69% (4372/6336) 2026-10-24T10:35:29.0079527Z Updating files: 70% (4436/6336) 2026-10-24T10:35:29.0095907Z Updating files: 71% (4499/6336) 2026-10-24T10:35:29.0112482Z Updating files: 72% (4562/6336) 2026-10-24T10:35:29.0137398Z Updating files: 73% (4626/6336) 2026-10-24T10:35:29.0394021Z Updating files: 74% (4689/6336) 2026-10-24T10:35:29.0581362Z Updating files: 75% (4752/6336) 2026-10-24T10:35:29.0603488Z Updating files: 76% (4816/6336) 2026-10-24T10:35:29.0624047Z Updating files: 77% (4879/6336) 2026-10-24T10:35:29.0648847Z Updating files: 78% (4943/6336) 2026-10-24T10:35:29.0667483Z Updating files: 79% (5006/6336) 2026-10-24T10:35:29.0686586Z Updating files: 80% (5069/6336) 2026-10-24T10:35:29.0703596Z Updating files: 81% (5133/6336) 2026-10-24T10:35:29.0722571Z Updating files: 82% (5196/6336) 2026-10-24T10:35:29.0741245Z Updating files: 83% (5259/6336) 2026-10-24T10:35:29.0764238Z Updating files: 84% (5323/6336) 2026-10-24T10:35:29.0787004Z Updating files: 85% (5386/6336) 2026-10-24T10:35:29.0811569Z Updating files: 86% (5449/6336) 2026-10-24T10:35:29.0879425Z Updating files: 87% (5513/6336) 2026-10-24T10:35:29.0911006Z Updating files: 88% (5576/6336) 2026-10-24T10:35:29.0931395Z Updating files: 89% (5640/6336) 2026-10-24T10:35:29.0956168Z Updating files: 90% (5703/6336) 2026-10-24T10:35:29.0990184Z Updating files: 91% (5766/6336) 2026-10-24T10:35:29.1005287Z Updating files: 92% (5830/6336) 2026-10-24T10:35:29.1021223Z Updating files: 93% (5893/6336) 2026-10-24T10:35:29.1042196Z Updating files: 94% (5956/6336) 2026-10-24T10:35:29.1065318Z Updating files: 95% (6020/6336) 2026-10-24T10:35:29.1118520Z Updating files: 96% (6083/6336) 2026-10-24T10:35:29.1146447Z Updating files: 97% (6146/6336) 2026-10-24T10:35:29.1191662Z Updating files: 98% (6210/6336) 2026-10-24T10:35:29.1210798Z Updating files: 99% (6273/6336) 2026-10-24T10:35:29.1211014Z Updating files: 100% (6336/6336) 2026-10-24T10:35:29.1211209Z Updating files: 100% (6336/6336), done. 2026-10-24T10:35:29.1361261Z Note: switching to 'refs/remotes/pull/24391/merge'. 2026-10-24T10:35:29.1361398Z 2026-10-24T10:35:29.1361506Z You are in 'detached HEAD' state. You can look around, make experimental 2026-10-24T10:35:29.1361743Z changes and commit them, and you can discard any commits you make in this 2026-10-24T10:35:29.1361974Z state without impacting any branches by switching back to a branch. 2026-10-24T10:35:29.1362110Z 2026-10-24T10:35:29.1362203Z If you want to create a new branch to retain commits you create, you may 2026-10-24T10:35:29.1362432Z do so (now or later) by using -c with the switch command. Example: 2026-10-24T10:35:29.1362557Z 2026-10-24T10:35:29.1362620Z git switch -c 2026-10-24T10:35:29.1362708Z 2026-10-24T10:35:29.1362766Z Or undo this operation with: 2026-10-24T10:35:29.1362848Z 2026-10-24T10:35:29.1362898Z git switch - 2026-10-24T10:35:29.1362982Z 2026-10-24T10:35:29.1363096Z Turn off this advice by setting config variable advice.detachedHead to false 2026-10-24T10:35:29.1363240Z 2026-10-24T10:35:29.1363417Z HEAD is now at 69c7db8 Merge 0a26c94c757e685e910fb3df4390efcebfadbc8a into 27e0c684c585f955252d65f06206dd11a143bff5 2026-10-24T10:35:29.1374191Z ##[endgroup] 2026-10-24T10:35:29.1406109Z [command]/usr/local/bin/git log -1 --format=%H 2026-10-24T10:35:29.1422953Z 69c7db8a5c6626733ce48821523fca79f800ec9f 2026-10-24T10:35:29.1544068Z Prepare all required actions 2026-10-24T10:35:29.1566799Z ##[group]Run ./.github/actions/setup-apt-mirrors 2026-10-24T10:35:29.1566964Z env: 2026-10-24T10:35:29.1567082Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:29.1567230Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:29.1567433Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:29.1567566Z ##[endgroup] 2026-10-24T10:35:29.1605833Z ##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run] 2026-10-24T10:35:29.1621915Z ##[group]Run # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-24T10:35:29.1622461Z # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-24T10:35:29.1622671Z printf '%s\tpriority:%s\n' \ 2026-10-24T10:35:29.1622847Z  https://archive.ubuntu.com/ubuntu 1 \ 2026-10-24T10:35:29.1623057Z  https://mirrors.edge.kernel.org/ubuntu 2 \ 2026-10-24T10:35:29.1623255Z  https://mirror.math.princeton.edu/pub/ubuntu 3 \ 2026-10-24T10:35:29.1623474Z  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null 2026-10-24T10:35:29.1623653Z  2026-10-24T10:35:29.1623813Z # APT's mirror transport retries each file against the next server. 2026-10-24T10:35:29.1624075Z sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \ 2026-10-24T10:35:29.1624293Z  -exec sed -i -E \ 2026-10-24T10:35:29.1624556Z  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} + 2026-10-24T10:35:29.1624945Z  2026-10-24T10:35:29.1625101Z # Move on to a fallback before an unreachable server exhausts the job. 2026-10-24T10:35:29.1625357Z printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \ 2026-10-24T10:35:29.1625603Z  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null 2026-10-24T10:35:29.1638793Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:35:29.1638995Z env: 2026-10-24T10:35:29.1639112Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:29.1639265Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:29.1639410Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:29.1639549Z ##[endgroup] 2026-10-24T10:35:29.1903424Z ##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=29] 2026-10-24T10:35:29.1930958Z ##[group]Run sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-24T10:35:29.1931396Z sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-24T10:35:29.1931645Z ( 2026-10-24T10:35:29.1931748Z  set +e 2026-10-24T10:35:29.1931931Z  sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config 2026-10-24T10:35:29.1932150Z  echo "$?" > "$RUNNER_TEMP/apt-status" 2026-10-24T10:35:29.1932321Z ) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null & 2026-10-24T10:35:29.1943254Z shell: /usr/bin/bash -e {0} 2026-10-24T10:35:29.1943383Z env: 2026-10-24T10:35:29.1943500Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:29.1943650Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:29.1943798Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:29.1943933Z ##[endgroup] 2026-10-24T10:35:29.2076808Z Prepare all required actions 2026-10-24T10:35:29.2077109Z Getting action download info 2026-10-24T10:35:29.2816196Z Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb) 2026-10-24T10:35:29.3950352Z ##[group]Run ./.github/actions/setup-ci-deps 2026-10-24T10:35:29.3950520Z env: 2026-10-24T10:35:29.3950644Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:29.3950796Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:29.3950949Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:29.3951084Z ##[endgroup] 2026-10-24T10:35:29.4011341Z ##[start-action display=Resolve Vite+ version;id=__self_2.vp] 2026-10-24T10:35:29.4026216Z ##[group]Run echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-24T10:35:29.4026768Z echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-24T10:35:29.4027244Z echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT" 2026-10-24T10:35:29.4027681Z echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT" 2026-10-24T10:35:29.4043894Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:35:29.4044166Z env: 2026-10-24T10:35:29.4044356Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:29.4044593Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:29.4044826Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:29.4045048Z ##[endgroup] 2026-10-24T10:35:29.4123813Z ##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=11] 2026-10-24T10:35:29.4125093Z ##[start-action display=Cache Vite+;id=__self_2.vp_cache] 2026-10-24T10:35:29.4178112Z ##[group]Run actions/cache@v6 2026-10-24T10:35:29.4178250Z with: 2026-10-24T10:35:29.4178363Z path: ~/.vite-plus 2026-10-24T10:35:29.4178528Z key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T10:35:29.4178729Z enableCrossOsArchive: false 2026-10-24T10:35:29.4178861Z fail-on-cache-miss: false 2026-10-24T10:35:29.4179126Z lookup-only: false 2026-10-24T10:35:29.4179239Z save-always: false 2026-10-24T10:35:29.4179349Z env: 2026-10-24T10:35:29.4179463Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:29.4179608Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:29.4179756Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:29.4179891Z ##[endgroup] 2026-10-24T10:35:29.9280154Z Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T10:35:30.3046069Z Received 170349591 of 170349591 (100.0%), 461.5 MBs/sec 2026-10-24T10:35:30.3046947Z Cache Size: ~162 MB (170349591 B) 2026-10-24T10:35:30.3072605Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/cc61a6b7-7fef-4b9a-a232-973edfcbd636/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T10:35:30.9665498Z Cache restored successfully 2026-10-24T10:35:30.9804805Z Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-24T10:35:30.9886180Z ##[end-action id=__self_2.vp_cache;outcome=success;conclusion=success;duration_ms=1576] 2026-10-24T10:35:30.9888684Z ##[start-action display=Use cached Vite+;id=__self_2.__run] 2026-10-24T10:35:30.9909539Z ##[group]Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-24T10:35:30.9909762Z echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-24T10:35:30.9909939Z "$HOME/.vite-plus/bin/vp" env use "26.12.1" 2026-10-24T10:35:30.9923535Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:35:30.9923707Z env: 2026-10-24T10:35:30.9923826Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:30.9923981Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:30.9924127Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:30.9924264Z ##[endgroup] 2026-10-24T10:35:30.9963715Z Using Node.js v26.12.1 (resolved from 26.12.1) 2026-10-24T10:35:30.9972105Z ##[end-action id=__self_2.__run;outcome=success;conclusion=success;duration_ms=8] 2026-10-24T10:35:30.9973381Z ##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp] 2026-10-24T10:35:30.9976917Z ##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-10-24T10:35:30.9978584Z ##[start-action display=Resolve pnpm store path;id=__self_2.pnpm_store] 2026-10-24T10:35:30.9989639Z ##[group]Run store_path="$(vp pm cache dir)" 2026-10-24T10:35:30.9989819Z store_path="$(vp pm cache dir)" 2026-10-24T10:35:30.9989987Z echo "path=$store_path" >> "$GITHUB_OUTPUT" 2026-10-24T10:35:31.0001370Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:35:31.0001558Z env: 2026-10-24T10:35:31.0001675Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:31.0001826Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:31.0002006Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:31.0002178Z ##[endgroup] 2026-10-24T10:35:31.0129670Z ##[end-action id=__self_2.pnpm_store;outcome=success;conclusion=success;duration_ms=15] 2026-10-24T10:35:31.0130952Z ##[start-action display=Cache full pnpm store;id=__self_2.__actions_cache] 2026-10-24T10:35:31.0464827Z ##[group]Run actions/cache@v6 2026-10-24T10:35:31.0464971Z with: 2026-10-24T10:35:31.0465101Z path: /home/runner/.local/share/pnpm/store/v11 2026-10-24T10:35:31.0465370Z key: pnpm-full-v1-Linux-X64-8600a8d4a7fcc9519d421cef0c77201c793c5d8afbbef2897636b5b9305a9b7d 2026-10-24T10:35:31.0465628Z restore-keys: pnpm-full-v1-Linux-X64- 2026-10-24T10:35:31.0465782Z enableCrossOsArchive: false 2026-10-24T10:35:31.0465922Z fail-on-cache-miss: false 2026-10-24T10:35:31.0466048Z lookup-only: false 2026-10-24T10:35:31.0466161Z save-always: false 2026-10-24T10:35:31.0466275Z env: 2026-10-24T10:35:31.0466387Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:31.0466542Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:31.0466689Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:31.0466840Z ##[endgroup] 2026-10-24T10:35:31.2450893Z Cache hit for: pnpm-full-v1-Linux-X64-8600a8d4a7fcc9519d421cef0c77201c793c5d8afbbef2897636b5b9305a9b7d 2026-10-24T10:35:32.2686289Z Received 570425344 of 995169257 (57.3%), 543.5 MBs/sec 2026-10-24T10:35:32.8934472Z Received 995169257 of 995169257 (100.0%), 583.7 MBs/sec 2026-10-24T10:35:32.8934880Z Cache Size: ~949 MB (995169257 B) 2026-10-24T10:35:32.8969901Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/15f4af28-e018-4722-b276-ed6b7d4b50b8/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T10:35:38.0663138Z Cache restored successfully 2026-10-24T10:35:38.1191814Z Cache restored from key: pnpm-full-v1-Linux-X64-8600a8d4a7fcc9519d421cef0c77201c793c5d8afbbef2897636b5b9305a9b7d 2026-10-24T10:35:38.1260200Z ##[end-action id=__self_2.__actions_cache;outcome=success;conclusion=success;duration_ms=7112] 2026-10-24T10:35:38.1262401Z ##[start-action display=Install dependencies;id=__self_2.__run_2] 2026-10-24T10:35:38.1273667Z ##[group]Run vp install 2026-10-24T10:35:38.1273820Z vp install 2026-10-24T10:35:38.1287131Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:35:38.1287316Z env: 2026-10-24T10:35:38.1287443Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:38.1287608Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:38.1287767Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:38.1287919Z ##[endgroup] 2026-10-24T10:35:38.1673510Z Scope: all 33 workspace projects 2026-10-24T10:35:38.2841052Z ? Verifying lockfile against supply-chain policies (2088 entries)... 2026-10-24T10:35:38.5484100Z Packages are hard linked from the content-addressable store to the virtual store. 2026-10-24T10:35:38.5485227Z Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11 2026-10-24T10:35:38.5485622Z Virtual store is at: node_modules/.pnpm 2026-10-24T10:35:40.6658239Z ✓ Lockfile passes supply-chain policies (2088 entries in 2.4s) 2026-10-24T10:35:40.6658560Z Lockfile is up to date, resolution step is skipped 2026-10-24T10:35:40.6818699Z Packages: +1721 2026-10-24T10:35:40.6818920Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2026-10-24T10:35:40.7144677Z Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done 2026-10-24T10:35:41.6241753Z . prepare$ vp config --no-agent 2026-10-24T10:35:41.7379648Z . prepare: Done 2026-10-24T10:35:41.7393408Z 2026-10-24T10:35:41.7393494Z devDependencies: 2026-10-24T10:35:41.7393631Z + @coderabbitai/config 1.1.0 2026-10-24T10:35:41.7393761Z + @shadcn/lint 0.1.5 2026-10-24T10:35:41.7393913Z + @types/node 24.12.4 2026-10-24T10:35:41.7394055Z + knip 6.34.0 2026-10-24T10:35:41.7394185Z + typescript <- @tsc-rs/typescript 0.8.0 2026-10-24T10:35:41.7394329Z + vite-plus 1.3.0 2026-10-24T10:35:41.7394397Z 2026-10-24T10:35:41.7411407Z Done in 3.6s using pnpm v12.14.0 2026-10-24T10:35:41.7555254Z ##[end-action id=__self_2.__run_2;outcome=success;conclusion=success;duration_ms=3629] 2026-10-24T10:35:41.8264622Z ##[group]Run actions/cache@v6 2026-10-24T10:35:41.8264774Z with: 2026-10-24T10:35:41.8264887Z path: ~/.cache/electron 2026-10-24T10:35:41.8265112Z key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T10:35:41.8265354Z enableCrossOsArchive: false 2026-10-24T10:35:41.8265486Z fail-on-cache-miss: false 2026-10-24T10:35:41.8265616Z lookup-only: false 2026-10-24T10:35:41.8265739Z save-always: false 2026-10-24T10:35:41.8265847Z env: 2026-10-24T10:35:41.8265970Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:41.8266118Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:41.8266278Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:41.8266412Z ##[endgroup] 2026-10-24T10:35:42.0227660Z Cache hit for: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T10:35:42.1813333Z Received 122906203 of 122906203 (100.0%), 837.2 MBs/sec 2026-10-24T10:35:42.1814058Z Cache Size: ~117 MB (122906203 B) 2026-10-24T10:35:42.1836086Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/886d83e7-b335-466e-a1e3-728f7ebcd4b7/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-24T10:35:42.2673778Z Cache restored successfully 2026-10-24T10:35:42.2802457Z Cache restored from key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-24T10:35:42.2890032Z ##[group]Run vp run --filter @t3tools/desktop ensure:electron 2026-10-24T10:35:42.2890315Z vp run --filter @t3tools/desktop ensure:electron 2026-10-24T10:35:42.2903402Z shell: /usr/bin/bash -e {0} 2026-10-24T10:35:42.2903781Z env: 2026-10-24T10:35:42.2903896Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:42.2904049Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:42.2904194Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:42.2904332Z ##[endgroup] 2026-10-24T10:35:42.4516502Z ~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled 2026-10-24T10:35:43.0236767Z /home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.9.3_supports-color@8.1.1/node_modules/electron/dist/electron 2026-10-24T10:35:43.0252291Z 2026-10-24T10:35:43.0332819Z ##[group]Run ( 2026-10-24T10:35:43.0332985Z ( 2026-10-24T10:35:43.0333087Z  set +e 2026-10-24T10:35:43.0333198Z  vpr typecheck 2026-10-24T10:35:43.0333356Z  echo "$?" > "$RUNNER_TEMP/typecheck-status" 2026-10-24T10:35:43.0333548Z ) > "$RUNNER_TEMP/typecheck.log" 2>&1 < /dev/null & 2026-10-24T10:35:43.0348027Z shell: /usr/bin/bash -e {0} 2026-10-24T10:35:43.0348161Z env: 2026-10-24T10:35:43.0348298Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:43.0348449Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:43.0348599Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:43.0348734Z ##[endgroup] 2026-10-24T10:35:43.0387549Z ##[group]Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-24T10:35:43.0387852Z until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-24T10:35:43.0388034Z cat "$RUNNER_TEMP/apt.log" 2026-10-24T10:35:43.0388203Z exit "$(cat "$RUNNER_TEMP/apt-status")" 2026-10-24T10:35:43.0397080Z shell: /usr/bin/bash -e {0} 2026-10-24T10:35:43.0397212Z env: 2026-10-24T10:35:43.0397327Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:35:43.0397483Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:35:43.0397630Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:35:43.0397767Z ##[endgroup] 2026-10-24T10:37:15.1484337Z blacksmith: the apt mirror lists changed since the package indexes were staged; discarding the staged indexes 2026-10-24T10:37:15.1485112Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-24T10:37:15.1485631Z Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease 2026-10-24T10:37:15.1486175Z Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] 2026-10-24T10:37:15.1486675Z Hit:8 https://dl.google.com/linux/chrome-stable/deb stable InRelease 2026-10-24T10:37:15.1487210Z Get:9 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [652 kB] 2026-10-24T10:37:15.1487831Z Get:10 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [589 kB] 2026-10-24T10:37:15.1488272Z Get:2 https://archive.ubuntu.com/ubuntu noble InRelease [256 kB] 2026-10-24T10:37:15.1488577Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] 2026-10-24T10:37:15.1488890Z Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] 2026-10-24T10:37:15.1489206Z Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] 2026-10-24T10:37:15.1490873Z Get:11 https://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1401 kB] 2026-10-24T10:37:15.1491769Z Get:12 https://archive.ubuntu.com/ubuntu noble/main Translation-en [513 kB] 2026-10-24T10:37:15.1492048Z Get:13 https://archive.ubuntu.com/ubuntu noble/main amd64 Components [464 kB] 2026-10-24T10:37:15.1492338Z Get:14 https://archive.ubuntu.com/ubuntu noble/main amd64 c-n-f Metadata [30.5 kB] 2026-10-24T10:37:15.1492631Z Get:15 https://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [15.0 MB] 2026-10-24T10:37:15.1492906Z Get:16 https://archive.ubuntu.com/ubuntu noble/universe Translation-en [5982 kB] 2026-10-24T10:37:15.1493190Z Get:17 https://archive.ubuntu.com/ubuntu noble/universe amd64 Components [3871 kB] 2026-10-24T10:37:15.1493476Z Get:18 https://archive.ubuntu.com/ubuntu noble/universe amd64 c-n-f Metadata [301 kB] 2026-10-24T10:37:15.1493769Z Get:19 https://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [93.9 kB] 2026-10-24T10:37:15.1494129Z Get:20 https://archive.ubuntu.com/ubuntu noble/restricted Translation-en [18.7 kB] 2026-10-24T10:37:15.1494447Z Get:21 https://archive.ubuntu.com/ubuntu noble/restricted amd64 c-n-f Metadata [416 B] 2026-10-24T10:37:15.1494734Z Get:22 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [269 kB] 2026-10-24T10:37:15.1495022Z Get:23 https://archive.ubuntu.com/ubuntu noble/multiverse Translation-en [118 kB] 2026-10-24T10:37:15.1495303Z Get:24 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Components [35.0 kB] 2026-10-24T10:37:15.1495605Z Get:25 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 c-n-f Metadata [8328 B] 2026-10-24T10:37:15.1495899Z Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1400 kB] 2026-10-24T10:37:15.1496190Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main Translation-en [310 kB] 2026-10-24T10:37:15.1496478Z Get:28 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] 2026-10-24T10:37:15.1496793Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [17.7 kB] 2026-10-24T10:37:15.1497102Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1706 kB] 2026-10-24T10:37:15.1497407Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [342 kB] 2026-10-24T10:37:15.1497710Z Get:32 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] 2026-10-24T10:37:15.1498027Z Get:33 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [34.9 kB] 2026-10-24T10:37:15.1498352Z Get:34 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1805 kB] 2026-10-24T10:37:15.1498863Z Get:35 https://archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [411 kB] 2026-10-24T10:37:15.1499175Z Get:36 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B] 2026-10-24T10:37:15.1499586Z Get:37 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 c-n-f Metadata [456 B] 2026-10-24T10:37:15.1499910Z Get:38 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [50.7 kB] 2026-10-24T10:37:15.1500211Z Get:39 https://archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en [14.0 kB] 2026-10-24T10:37:15.1500522Z Get:40 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] 2026-10-24T10:37:15.1500836Z Get:41 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 c-n-f Metadata [656 B] 2026-10-24T10:37:15.1501147Z Get:42 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] 2026-10-24T10:37:15.1501441Z Get:43 https://archive.ubuntu.com/ubuntu noble-backports/main Translation-en [9172 B] 2026-10-24T10:37:15.1501745Z Get:44 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5760 B] 2026-10-24T10:37:15.1502042Z Get:45 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 c-n-f Metadata [368 B] 2026-10-24T10:37:15.1504095Z Get:46 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] 2026-10-24T10:37:15.1504630Z Get:47 https://archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] 2026-10-24T10:37:15.1504948Z Get:48 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] 2026-10-24T10:37:15.1505268Z Get:49 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 c-n-f Metadata [1588 B] 2026-10-24T10:37:15.1505597Z Get:50 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B] 2026-10-24T10:37:15.1505920Z Get:51 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 c-n-f Metadata [116 B] 2026-10-24T10:37:15.1506240Z Get:52 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [748 B] 2026-10-24T10:37:15.1506544Z Get:53 https://archive.ubuntu.com/ubuntu noble-backports/multiverse Translation-en [340 B] 2026-10-24T10:37:15.1506859Z Get:54 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B] 2026-10-24T10:37:15.1507181Z Get:55 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 c-n-f Metadata [116 B] 2026-10-24T10:37:15.1507495Z Get:56 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1146 kB] 2026-10-24T10:37:15.1507785Z Get:57 https://archive.ubuntu.com/ubuntu noble-security/main Translation-en [231 kB] 2026-10-24T10:37:15.1508077Z Get:58 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.4 kB] 2026-10-24T10:37:15.1508385Z Get:59 https://archive.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [11.9 kB] 2026-10-24T10:37:15.1508690Z Get:60 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1222 kB] 2026-10-24T10:37:15.1508998Z Get:61 https://archive.ubuntu.com/ubuntu noble-security/universe Translation-en [246 kB] 2026-10-24T10:37:15.1509310Z Get:62 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.3 kB] 2026-10-24T10:37:15.1509701Z Get:63 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [24.2 kB] 2026-10-24T10:37:15.1510016Z Get:64 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1713 kB] 2026-10-24T10:37:15.1510332Z Get:65 https://archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [392 kB] 2026-10-24T10:37:15.1510642Z Get:66 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B] 2026-10-24T10:37:15.1510967Z Get:67 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 c-n-f Metadata [444 B] 2026-10-24T10:37:15.1511282Z Get:68 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [45.4 kB] 2026-10-24T10:37:15.1511598Z Get:69 https://archive.ubuntu.com/ubuntu noble-security/multiverse Translation-en [12.1 kB] 2026-10-24T10:37:15.1511903Z Get:70 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B] 2026-10-24T10:37:15.1512229Z Get:71 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [468 B] 2026-10-24T10:37:15.1512478Z Fetched 42.0 MB in 7s (5955 kB/s) 2026-10-24T10:37:15.1512645Z Reading package lists... 2026-10-24T10:37:15.1512789Z Reading package lists... 2026-10-24T10:37:15.1512928Z Building dependency tree... 2026-10-24T10:37:15.1513086Z Reading state information... 2026-10-24T10:37:15.1513263Z pkg-config is already the newest version (1.8.1-2build1). 2026-10-24T10:37:15.1513478Z The following additional packages will be installed: 2026-10-24T10:37:15.1513702Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 gir1.2-secret-1 2026-10-24T10:37:15.1513955Z libblkid-dev libblkid1 libfdisk1 libgcrypt20 libgcrypt20-dev 2026-10-24T10:37:15.1514202Z libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-bin libglib2.0-data 2026-10-24T10:37:15.1514474Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev libmount1 2026-10-24T10:37:15.1514746Z libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libsmartcols1 2026-10-24T10:37:15.1515159Z libuuid1 mount util-linux uuid-dev uuid-runtime 2026-10-24T10:37:15.1515398Z Suggested packages: 2026-10-24T10:37:15.1515575Z rng-tools libgcrypt20-doc low-memory-monitor gir1.2-glib-2.0-dev 2026-10-24T10:37:15.1515836Z libglib2.0-doc libxml2-utils nfs-common util-linux-extra util-linux-locales 2026-10-24T10:37:15.1516066Z The following NEW packages will be installed: 2026-10-24T10:37:15.1516286Z gir1.2-secret-1 libblkid-dev libgcrypt20-dev libgirepository-2.0-0 2026-10-24T10:37:15.1516530Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev 2026-10-24T10:37:15.1516790Z libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev libsepol-dev 2026-10-24T10:37:15.1517001Z uuid-dev 2026-10-24T10:37:15.1517134Z The following packages will be upgraded: 2026-10-24T10:37:15.1517345Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 libblkid1 libfdisk1 2026-10-24T10:37:15.1517606Z libgcrypt20 libglib2.0-0t64 libglib2.0-bin libglib2.0-data libmount1 2026-10-24T10:37:15.1517833Z libsmartcols1 libuuid1 mount util-linux uuid-runtime 2026-10-24T10:37:15.1518059Z 17 upgraded, 14 newly installed, 0 to remove and 241 not upgraded. 2026-10-24T10:37:15.1518263Z Need to get 8378 kB of archives. 2026-10-24T10:37:15.1518451Z After this operation, 23.0 MB of additional disk space will be used. 2026-10-24T10:37:15.1518703Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-24T10:37:15.1519012Z Get:2 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdutils amd64 1:2.39.3-9ubuntu6.6 [96.4 kB] 2026-10-24T10:37:15.1519395Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 util-linux amd64 2.39.3-9ubuntu6.6 [1128 kB] 2026-10-24T10:37:15.1519798Z Get:4 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 mount amd64 2.39.3-9ubuntu6.6 [118 kB] 2026-10-24T10:37:15.1520170Z Get:5 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu6.6 [66.3 kB] 2026-10-24T10:37:15.1520535Z Get:6 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libuuid1 amd64 2.39.3-9ubuntu6.6 [36.6 kB] 2026-10-24T10:37:15.1520907Z Get:7 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-runtime amd64 2.39.3-9ubuntu6.6 [33.1 kB] 2026-10-24T10:37:15.1521335Z Get:8 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid1 amd64 2.39.3-9ubuntu6.6 [124 kB] 2026-10-24T10:37:15.1521700Z Get:9 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20 amd64 1.10.3-2ubuntu0.2 [536 kB] 2026-10-24T10:37:15.1522070Z Get:10 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount1 amd64 2.39.3-9ubuntu6.6 [134 kB] 2026-10-24T10:37:15.1522433Z Get:11 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 eject amd64 2.39.3-9ubuntu6.6 [26.3 kB] 2026-10-24T10:37:15.1522818Z 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-24T10:37:15.1523214Z 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-24T10:37:15.1523609Z 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-24T10:37:15.1524000Z Get:15 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-0t64 amd64 2.80.0-6ubuntu3.10 [1548 kB] 2026-10-24T10:37:15.1524386Z Get:16 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libfdisk1 amd64 2.39.3-9ubuntu6.6 [146 kB] 2026-10-24T10:37:15.1525766Z Get:17 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdextrautils amd64 2.39.3-9ubuntu6.6 [73.7 kB] 2026-10-24T10:37:15.1526126Z Get:18 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 fdisk amd64 2.39.3-9ubuntu6.6 [122 kB] 2026-10-24T10:37:15.1526465Z Get:19 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-common all 0.21.4-1build3 [4962 B] 2026-10-24T10:37:15.1526801Z Get:20 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-1-0 amd64 0.21.4-1build3 [116 kB] 2026-10-24T10:37:15.1527215Z Get:21 https://archive.ubuntu.com/ubuntu noble/main amd64 gir1.2-secret-1 amd64 0.21.4-1build3 [9424 B] 2026-10-24T10:37:15.1527611Z Get:22 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgpg-error-dev amd64 1.47-3build2.1 [128 kB] 2026-10-24T10:37:15.1527983Z Get:23 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20-dev amd64 1.10.3-2ubuntu0.2 [596 kB] 2026-10-24T10:37:15.1528379Z 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-24T10:37:15.1528780Z 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-24T10:37:15.1529148Z Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.6 [33.5 kB] 2026-10-24T10:37:15.1529525Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.6 [205 kB] 2026-10-24T10:37:15.1529988Z Get:28 https://archive.ubuntu.com/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB] 2026-10-24T10:37:15.1530343Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB] 2026-10-24T10:37:15.1530900Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.6 [14.9 kB] 2026-10-24T10:37:15.1531324Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.10 [1861 kB] 2026-10-24T10:37:15.1531758Z Get:32 https://archive.ubuntu.com/ubuntu noble/universe amd64 libsecret-1-dev amd64 0.21.4-1build3 [129 kB] 2026-10-24T10:37:15.1532286Z Fetched 8378 kB in 1s (8566 kB/s) 2026-10-24T10:37:15.1532498Z (Reading database ... 2026-10-24T10:37:15.1545614Z (Reading database ... 5% 2026-10-24T10:37:15.1545801Z (Reading database ... 10% 2026-10-24T10:37:15.1545942Z (Reading database ... 15% 2026-10-24T10:37:15.1546071Z (Reading database ... 20% 2026-10-24T10:37:15.1546214Z (Reading database ... 25% 2026-10-24T10:37:15.1546343Z (Reading database ... 30% 2026-10-24T10:37:15.1546473Z (Reading database ... 35% 2026-10-24T10:37:15.1546609Z (Reading database ... 40% 2026-10-24T10:37:15.1546735Z (Reading database ... 45% 2026-10-24T10:37:15.1546864Z (Reading database ... 50% 2026-10-24T10:37:15.1547014Z (Reading database ... 55% 2026-10-24T10:37:15.1547142Z (Reading database ... 60% 2026-10-24T10:37:15.1547266Z (Reading database ... 65% 2026-10-24T10:37:15.1547397Z (Reading database ... 70% 2026-10-24T10:37:15.1547522Z (Reading database ... 75% 2026-10-24T10:37:15.1547646Z (Reading database ... 80% 2026-10-24T10:37:15.1547776Z (Reading database ... 85% 2026-10-24T10:37:15.1547899Z (Reading database ... 90% 2026-10-24T10:37:15.1548025Z (Reading database ... 95% 2026-10-24T10:37:15.1548153Z (Reading database ... 100% 2026-10-24T10:37:15.1548341Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1548595Z Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1548839Z Unpacking bsdutils (1:2.39.3-9ubuntu6.6) over (1:2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1549048Z Setting up bsdutils (1:2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1549205Z (Reading database ... 2026-10-24T10:37:15.1549337Z (Reading database ... 5% 2026-10-24T10:37:15.1549463Z (Reading database ... 10% 2026-10-24T10:37:15.1549632Z (Reading database ... 15% 2026-10-24T10:37:15.1549757Z (Reading database ... 20% 2026-10-24T10:37:15.1549887Z (Reading database ... 25% 2026-10-24T10:37:15.1550013Z (Reading database ... 30% 2026-10-24T10:37:15.1550138Z (Reading database ... 35% 2026-10-24T10:37:15.1550265Z (Reading database ... 40% 2026-10-24T10:37:15.1550388Z (Reading database ... 45% 2026-10-24T10:37:15.1550514Z (Reading database ... 50% 2026-10-24T10:37:15.1550638Z (Reading database ... 55% 2026-10-24T10:37:15.1550763Z (Reading database ... 60% 2026-10-24T10:37:15.1550885Z (Reading database ... 65% 2026-10-24T10:37:15.1551008Z (Reading database ... 70% 2026-10-24T10:37:15.1551333Z (Reading database ... 75% 2026-10-24T10:37:15.1551534Z (Reading database ... 80% 2026-10-24T10:37:15.1551660Z (Reading database ... 85% 2026-10-24T10:37:15.1551785Z (Reading database ... 90% 2026-10-24T10:37:15.1551913Z (Reading database ... 95% 2026-10-24T10:37:15.1552039Z (Reading database ... 100% 2026-10-24T10:37:15.1552219Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1552463Z Preparing to unpack .../util-linux_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1552700Z Unpacking util-linux (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1552909Z Setting up util-linux (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1553200Z update-alternatives: warning: forcing reinstallation of alternative /usr/bin/less because link group pager is broken 2026-10-24T10:37:15.1553678Z 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-24T10:37:15.1554078Z fstrim.service is a disabled or a static unit not running, not starting it. 2026-10-24T10:37:15.1554281Z (Reading database ... 2026-10-24T10:37:15.1554406Z (Reading database ... 5% 2026-10-24T10:37:15.1554533Z (Reading database ... 10% 2026-10-24T10:37:15.1554658Z (Reading database ... 15% 2026-10-24T10:37:15.1554780Z (Reading database ... 20% 2026-10-24T10:37:15.1554906Z (Reading database ... 25% 2026-10-24T10:37:15.1555027Z (Reading database ... 30% 2026-10-24T10:37:15.1555151Z (Reading database ... 35% 2026-10-24T10:37:15.1555273Z (Reading database ... 40% 2026-10-24T10:37:15.1555398Z (Reading database ... 45% 2026-10-24T10:37:15.1555519Z (Reading database ... 50% 2026-10-24T10:37:15.1555640Z (Reading database ... 55% 2026-10-24T10:37:15.1555765Z (Reading database ... 60% 2026-10-24T10:37:15.1555884Z (Reading database ... 65% 2026-10-24T10:37:15.1556009Z (Reading database ... 70% 2026-10-24T10:37:15.1556128Z (Reading database ... 75% 2026-10-24T10:37:15.1556262Z (Reading database ... 80% 2026-10-24T10:37:15.1556385Z (Reading database ... 85% 2026-10-24T10:37:15.1556511Z (Reading database ... 90% 2026-10-24T10:37:15.1556631Z (Reading database ... 95% 2026-10-24T10:37:15.1556753Z (Reading database ... 100% 2026-10-24T10:37:15.1556933Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1557158Z Preparing to unpack .../mount_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1557376Z Unpacking mount (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1557602Z Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1557849Z Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1558073Z Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1558240Z (Reading database ... 2026-10-24T10:37:15.1558363Z (Reading database ... 5% 2026-10-24T10:37:15.1558490Z (Reading database ... 10% 2026-10-24T10:37:15.1558622Z (Reading database ... 15% 2026-10-24T10:37:15.1558746Z (Reading database ... 20% 2026-10-24T10:37:15.1558872Z (Reading database ... 25% 2026-10-24T10:37:15.1558997Z (Reading database ... 30% 2026-10-24T10:37:15.1559122Z (Reading database ... 35% 2026-10-24T10:37:15.1559244Z (Reading database ... 40% 2026-10-24T10:37:15.1559366Z (Reading database ... 45% 2026-10-24T10:37:15.1559523Z (Reading database ... 50% 2026-10-24T10:37:15.1559646Z (Reading database ... 55% 2026-10-24T10:37:15.1559771Z (Reading database ... 60% 2026-10-24T10:37:15.1559893Z (Reading database ... 65% 2026-10-24T10:37:15.1560017Z (Reading database ... 70% 2026-10-24T10:37:15.1560138Z (Reading database ... 75% 2026-10-24T10:37:15.1560260Z (Reading database ... 80% 2026-10-24T10:37:15.1560382Z (Reading database ... 85% 2026-10-24T10:37:15.1560506Z (Reading database ... 90% 2026-10-24T10:37:15.1560629Z (Reading database ... 95% 2026-10-24T10:37:15.1560753Z (Reading database ... 100% 2026-10-24T10:37:15.1561015Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1561290Z Preparing to unpack .../libuuid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1561524Z Unpacking libuuid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1561734Z Setting up libuuid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1561890Z (Reading database ... 2026-10-24T10:37:15.1562014Z (Reading database ... 5% 2026-10-24T10:37:15.1562136Z (Reading database ... 10% 2026-10-24T10:37:15.1562263Z (Reading database ... 15% 2026-10-24T10:37:15.1562385Z (Reading database ... 20% 2026-10-24T10:37:15.1562508Z (Reading database ... 25% 2026-10-24T10:37:15.1562629Z (Reading database ... 30% 2026-10-24T10:37:15.1562749Z (Reading database ... 35% 2026-10-24T10:37:15.1562872Z (Reading database ... 40% 2026-10-24T10:37:15.1562992Z (Reading database ... 45% 2026-10-24T10:37:15.1563116Z (Reading database ... 50% 2026-10-24T10:37:15.1563237Z (Reading database ... 55% 2026-10-24T10:37:15.1563365Z (Reading database ... 60% 2026-10-24T10:37:15.1563488Z (Reading database ... 65% 2026-10-24T10:37:15.1563610Z (Reading database ... 70% 2026-10-24T10:37:15.1563735Z (Reading database ... 75% 2026-10-24T10:37:15.1563864Z (Reading database ... 80% 2026-10-24T10:37:15.1563989Z (Reading database ... 85% 2026-10-24T10:37:15.1564110Z (Reading database ... 90% 2026-10-24T10:37:15.1564235Z (Reading database ... 95% 2026-10-24T10:37:15.1564359Z (Reading database ... 100% 2026-10-24T10:37:15.1564535Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1564770Z Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1565006Z Unpacking uuid-runtime (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1565234Z Preparing to unpack .../libblkid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1565464Z Unpacking libblkid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1565680Z Setting up libblkid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1565839Z (Reading database ... 2026-10-24T10:37:15.1565964Z (Reading database ... 5% 2026-10-24T10:37:15.1566089Z (Reading database ... 10% 2026-10-24T10:37:15.1566214Z (Reading database ... 15% 2026-10-24T10:37:15.1566336Z (Reading database ... 20% 2026-10-24T10:37:15.1566459Z (Reading database ... 25% 2026-10-24T10:37:15.1566580Z (Reading database ... 30% 2026-10-24T10:37:15.1566701Z (Reading database ... 35% 2026-10-24T10:37:15.1566825Z (Reading database ... 40% 2026-10-24T10:37:15.1566947Z (Reading database ... 45% 2026-10-24T10:37:15.1567071Z (Reading database ... 50% 2026-10-24T10:37:15.1567192Z (Reading database ... 55% 2026-10-24T10:37:15.1567319Z (Reading database ... 60% 2026-10-24T10:37:15.1567442Z (Reading database ... 65% 2026-10-24T10:37:15.1567563Z (Reading database ... 70% 2026-10-24T10:37:15.1567689Z (Reading database ... 75% 2026-10-24T10:37:15.1567809Z (Reading database ... 80% 2026-10-24T10:37:15.1567933Z (Reading database ... 85% 2026-10-24T10:37:15.1568055Z (Reading database ... 90% 2026-10-24T10:37:15.1568179Z (Reading database ... 95% 2026-10-24T10:37:15.1568303Z (Reading database ... 100% 2026-10-24T10:37:15.1568475Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1568709Z Preparing to unpack .../libgcrypt20_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-24T10:37:15.1568948Z Unpacking libgcrypt20:amd64 (1.10.3-2ubuntu0.2) over (1.10.3-2ubuntu0.1) ... 2026-10-24T10:37:15.1569170Z Setting up libgcrypt20:amd64 (1.10.3-2ubuntu0.2) ... 2026-10-24T10:37:15.1569330Z (Reading database ... 2026-10-24T10:37:15.1569453Z (Reading database ... 5% 2026-10-24T10:37:15.1569619Z (Reading database ... 10% 2026-10-24T10:37:15.1569743Z (Reading database ... 15% 2026-10-24T10:37:15.1569863Z (Reading database ... 20% 2026-10-24T10:37:15.1569985Z (Reading database ... 25% 2026-10-24T10:37:15.1570112Z (Reading database ... 30% 2026-10-24T10:37:15.1570233Z (Reading database ... 35% 2026-10-24T10:37:15.1570356Z (Reading database ... 40% 2026-10-24T10:37:15.1570573Z (Reading database ... 45% 2026-10-24T10:37:15.1570739Z (Reading database ... 50% 2026-10-24T10:37:15.1570861Z (Reading database ... 55% 2026-10-24T10:37:15.1570982Z (Reading database ... 60% 2026-10-24T10:37:15.1571105Z (Reading database ... 65% 2026-10-24T10:37:15.1571227Z (Reading database ... 70% 2026-10-24T10:37:15.1571352Z (Reading database ... 75% 2026-10-24T10:37:15.1571472Z (Reading database ... 80% 2026-10-24T10:37:15.1571595Z (Reading database ... 85% 2026-10-24T10:37:15.1571716Z (Reading database ... 90% 2026-10-24T10:37:15.1571836Z (Reading database ... 95% 2026-10-24T10:37:15.1571960Z (Reading database ... 100% 2026-10-24T10:37:15.1572134Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1572370Z Preparing to unpack .../libmount1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1572600Z Unpacking libmount1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1572815Z Setting up libmount1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1572975Z (Reading database ... 2026-10-24T10:37:15.1573102Z (Reading database ... 5% 2026-10-24T10:37:15.1573227Z (Reading database ... 10% 2026-10-24T10:37:15.1573349Z (Reading database ... 15% 2026-10-24T10:37:15.1573477Z (Reading database ... 20% 2026-10-24T10:37:15.1573599Z (Reading database ... 25% 2026-10-24T10:37:15.1573724Z (Reading database ... 30% 2026-10-24T10:37:15.1573846Z (Reading database ... 35% 2026-10-24T10:37:15.1573969Z (Reading database ... 40% 2026-10-24T10:37:15.1574093Z (Reading database ... 45% 2026-10-24T10:37:15.1574216Z (Reading database ... 50% 2026-10-24T10:37:15.1574343Z (Reading database ... 55% 2026-10-24T10:37:15.1574471Z (Reading database ... 60% 2026-10-24T10:37:15.1574598Z (Reading database ... 65% 2026-10-24T10:37:15.1574720Z (Reading database ... 70% 2026-10-24T10:37:15.1574843Z (Reading database ... 75% 2026-10-24T10:37:15.1574965Z (Reading database ... 80% 2026-10-24T10:37:15.1575088Z (Reading database ... 85% 2026-10-24T10:37:15.1575209Z (Reading database ... 90% 2026-10-24T10:37:15.1575331Z (Reading database ... 95% 2026-10-24T10:37:15.1575459Z (Reading database ... 100% 2026-10-24T10:37:15.1575634Z (Reading database ... 207973 files and directories currently installed.) 2026-10-24T10:37:15.1575867Z Preparing to unpack .../00-eject_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1576083Z Unpacking eject (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1576312Z Preparing to unpack .../01-libglib2.0-data_2.80.0-6ubuntu3.10_all.deb ... 2026-10-24T10:37:15.1576563Z Unpacking libglib2.0-data (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T10:37:15.1576808Z Preparing to unpack .../02-libglib2.0-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T10:37:15.1577050Z Unpacking libglib2.0-bin (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T10:37:15.1577290Z Preparing to unpack .../03-gir1.2-glib-2.0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T10:37:15.1577552Z Unpacking gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T10:37:15.1577803Z Preparing to unpack .../04-libglib2.0-0t64_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T10:37:15.1578060Z Unpacking libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-24T10:37:15.1578307Z Preparing to unpack .../05-libfdisk1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1578544Z Unpacking libfdisk1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1578784Z Preparing to unpack .../06-bsdextrautils_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1579026Z Unpacking bsdextrautils (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1579255Z Preparing to unpack .../07-fdisk_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1579475Z Unpacking fdisk (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-24T10:37:15.1579734Z Selecting previously unselected package libsecret-common. 2026-10-24T10:37:15.1579961Z Preparing to unpack .../08-libsecret-common_0.21.4-1build3_all.deb ... 2026-10-24T10:37:15.1580237Z Unpacking libsecret-common (0.21.4-1build3) ... 2026-10-24T10:37:15.1580474Z Selecting previously unselected package libsecret-1-0:amd64. 2026-10-24T10:37:15.1580698Z Preparing to unpack .../09-libsecret-1-0_0.21.4-1build3_amd64.deb ... 2026-10-24T10:37:15.1580900Z Unpacking libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-24T10:37:15.1581105Z Selecting previously unselected package gir1.2-secret-1:amd64. 2026-10-24T10:37:15.1581333Z Preparing to unpack .../10-gir1.2-secret-1_0.21.4-1build3_amd64.deb ... 2026-10-24T10:37:15.1581546Z Unpacking gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-24T10:37:15.1581741Z Selecting previously unselected package libgpg-error-dev. 2026-10-24T10:37:15.1581969Z Preparing to unpack .../11-libgpg-error-dev_1.47-3build2.1_amd64.deb ... 2026-10-24T10:37:15.1582181Z Unpacking libgpg-error-dev (1.47-3build2.1) ... 2026-10-24T10:37:15.1582476Z Selecting previously unselected package libgcrypt20-dev. 2026-10-24T10:37:15.1582702Z Preparing to unpack .../12-libgcrypt20-dev_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-24T10:37:15.1582921Z Unpacking libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-24T10:37:15.1583135Z Selecting previously unselected package libgirepository-2.0-0:amd64. 2026-10-24T10:37:15.1583393Z Preparing to unpack .../13-libgirepository-2.0-0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T10:37:15.1583649Z Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1583871Z Selecting previously unselected package libglib2.0-dev-bin. 2026-10-24T10:37:15.1584115Z Preparing to unpack .../14-libglib2.0-dev-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T10:37:15.1584344Z Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1584546Z Selecting previously unselected package uuid-dev:amd64. 2026-10-24T10:37:15.1584760Z Preparing to unpack .../15-uuid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1584961Z Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1585160Z Selecting previously unselected package libblkid-dev:amd64. 2026-10-24T10:37:15.1585392Z Preparing to unpack .../16-libblkid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1585603Z Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1585801Z Selecting previously unselected package libsepol-dev:amd64. 2026-10-24T10:37:15.1586025Z Preparing to unpack .../17-libsepol-dev_3.5-2build1_amd64.deb ... 2026-10-24T10:37:15.1586223Z Unpacking libsepol-dev:amd64 (3.5-2build1) ... 2026-10-24T10:37:15.1586430Z Selecting previously unselected package libselinux1-dev:amd64. 2026-10-24T10:37:15.1586661Z Preparing to unpack .../18-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ... 2026-10-24T10:37:15.1586914Z Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-24T10:37:15.1587115Z Selecting previously unselected package libmount-dev:amd64. 2026-10-24T10:37:15.1587343Z Preparing to unpack .../19-libmount-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-24T10:37:15.1587556Z Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1587761Z Selecting previously unselected package libglib2.0-dev:amd64. 2026-10-24T10:37:15.1588010Z Preparing to unpack .../20-libglib2.0-dev_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-24T10:37:15.1588234Z Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1588441Z Selecting previously unselected package libsecret-1-dev:amd64. 2026-10-24T10:37:15.1588670Z Preparing to unpack .../21-libsecret-1-dev_0.21.4-1build3_amd64.deb ... 2026-10-24T10:37:15.1588885Z Unpacking libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-24T10:37:15.1589066Z Setting up bsdextrautils (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1589236Z Setting up eject (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1589410Z Setting up libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1589638Z Setting up libglib2.0-data (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1589818Z Setting up libgpg-error-dev (1.47-3build2.1) ... 2026-10-24T10:37:15.1589998Z Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1590291Z Setting up libsepol-dev:amd64 (3.5-2build1) ... 2026-10-24T10:37:15.1590539Z Setting up gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1590729Z Setting up libfdisk1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1590900Z Setting up mount (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1591068Z Setting up uuid-runtime (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1591281Z uuidd.service is a disabled or a static unit not running, not starting it. 2026-10-24T10:37:15.1591504Z Setting up libsecret-common (0.21.4-1build3) ... 2026-10-24T10:37:15.1591689Z Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1591884Z Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1592092Z Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1592306Z Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-24T10:37:15.1592492Z Setting up libglib2.0-bin (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1592665Z Setting up fdisk (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1592836Z Setting up libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-24T10:37:15.1593022Z Setting up gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-24T10:37:15.1593207Z Setting up libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-24T10:37:15.1593391Z Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-24T10:37:15.1593585Z Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-24T10:37:15.1593776Z Setting up libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-24T10:37:15.1593970Z Processing triggers for libc-bin (2.39-0ubuntu8.8) ... 2026-10-24T10:37:15.1594160Z Processing triggers for man-db (2.12.0-4build2) ... 2026-10-24T10:37:15.1594355Z Not building database; man-db/auto-update is not 'true'. 2026-10-24T10:37:15.1594554Z Processing triggers for install-info (7.1-3build2) ... 2026-10-24T10:37:15.1594679Z 2026-10-24T10:37:15.1594730Z Restarting services... 2026-10-24T10:37:15.1595308Z systemctl restart esm-cache.service irqbalance.service packagekit.service php8.3-fpm.service polkit.service rsyslog.service systemd-journald.service systemd-manager.service systemd-networkd.service systemd-resolved.service systemd-timedated.service systemd-udevd.service udisks2.service 2026-10-24T10:37:15.1595999Z Failed to restart systemd-manager.service: Unit systemd-manager.service not found. 2026-10-24T10:37:15.1596173Z 2026-10-24T10:37:15.1596233Z Service restarts being deferred: 2026-10-24T10:37:15.1596388Z systemctl restart ModemManager.service 2026-10-24T10:37:15.1596548Z systemctl restart dbus.service 2026-10-24T10:37:15.1596695Z systemctl restart getty@tty1.service 2026-10-24T10:37:15.1596870Z systemctl restart networkd-dispatcher.service 2026-10-24T10:37:15.1597049Z systemctl restart serial-getty@ttyS0.service 2026-10-24T10:37:15.1597233Z systemctl restart setup_and_run_blacksmith.service 2026-10-24T10:37:15.1597411Z systemctl restart systemd-logind.service 2026-10-24T10:37:15.1597517Z 2026-10-24T10:37:15.1597579Z No containers need to be restarted. 2026-10-24T10:37:15.1597676Z 2026-10-24T10:37:15.1597737Z User sessions running outdated binaries: 2026-10-24T10:37:15.1597906Z runner @ user manager service: systemd[1847] 2026-10-24T10:37:15.1598012Z 2026-10-24T10:37:15.1598119Z No VM guests are running outdated hypervisor (qemu) binaries on this host. 2026-10-24T10:37:15.1620472Z ##[group]Run vp run build:desktop 2026-10-24T10:37:15.1620670Z vp run build:desktop 2026-10-24T10:37:15.1634094Z shell: /usr/bin/bash -e {0} 2026-10-24T10:37:15.1634234Z env: 2026-10-24T10:37:15.1634353Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:37:15.1634513Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:37:15.1634662Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:37:15.1634802Z ##[endgroup] 2026-10-24T10:37:15.3150433Z ~/apps/web$ vp build ⊘ cache disabled 2026-10-24T10:37:15.7846025Z transforming... 2026-10-24T10:37:18.3349747Z ✓ 6661 modules transformed. 2026-10-24T10:37:18.6806063Z rendering chunks... 2026-10-24T10:37:20.1051612Z computing gzip size... 2026-10-24T10:37:20.1387059Z dist/assets/ghostty-write-pty-hgyAvVbe.wasm 0.11 kB │ gzip: 0.12 kB 2026-10-24T10:37:20.1387435Z dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB 2026-10-24T10:37:20.1387784Z dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB 2026-10-24T10:37:20.1388122Z dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB 2026-10-24T10:37:20.1388411Z dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB 2026-10-24T10:37:20.1388702Z dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB 2026-10-24T10:37:20.1388936Z dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB 2026-10-24T10:37:20.1389170Z dist/assets/snap-shot-click-CJiuxMEv.mp3 6.38 kB 2026-10-24T10:37:20.1389399Z dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB 2026-10-24T10:37:20.1389637Z dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB 2026-10-24T10:37:20.1389878Z dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB 2026-10-24T10:37:20.1390137Z dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB 2026-10-24T10:37:20.1390373Z dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB 2026-10-24T10:37:20.1390610Z dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB 2026-10-24T10:37:20.1390848Z dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB 2026-10-24T10:37:20.1391085Z dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB 2026-10-24T10:37:20.1391315Z dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB 2026-10-24T10:37:20.1391546Z dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB 2026-10-24T10:37:20.1391776Z dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB 2026-10-24T10:37:20.1392008Z dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB 2026-10-24T10:37:20.1392235Z dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB 2026-10-24T10:37:20.1392468Z dist/assets/notification-input-BJS4voY1.mp3 11.63 kB 2026-10-24T10:37:20.1392707Z dist/assets/notification-completion-vyCCbYsz.mp3 11.94 kB 2026-10-24T10:37:20.1392944Z dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB 2026-10-24T10:37:20.1393173Z dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB 2026-10-24T10:37:20.1393399Z dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB 2026-10-24T10:37:20.1393631Z dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB 2026-10-24T10:37:20.1393863Z dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB 2026-10-24T10:37:20.1394096Z dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB 2026-10-24T10:37:20.1394328Z dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB 2026-10-24T10:37:20.1394926Z dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB 2026-10-24T10:37:20.1395155Z dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB 2026-10-24T10:37:20.1395526Z dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB 2026-10-24T10:37:20.1395757Z dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB 2026-10-24T10:37:20.1395989Z dist/assets/snap-shot-whoosh-CQZ59XJc.mp3 15.02 kB 2026-10-24T10:37:20.1396220Z dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB 2026-10-24T10:37:20.1396454Z dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB 2026-10-24T10:37:20.1396682Z dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB 2026-10-24T10:37:20.1396911Z dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB 2026-10-24T10:37:20.1397142Z dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB 2026-10-24T10:37:20.1397372Z dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB 2026-10-24T10:37:20.1397602Z dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB 2026-10-24T10:37:20.1397830Z dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB 2026-10-24T10:37:20.1398064Z dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB 2026-10-24T10:37:20.1398293Z dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB 2026-10-24T10:37:20.1398594Z dist/index.html 19.49 kB │ gzip: 5.02 kB 2026-10-24T10:37:20.1398817Z dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB 2026-10-24T10:37:20.1399045Z dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB 2026-10-24T10:37:20.1399267Z dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB 2026-10-24T10:37:20.1399495Z dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB 2026-10-24T10:37:20.1399727Z dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB 2026-10-24T10:37:20.1399953Z dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB 2026-10-24T10:37:20.1400221Z dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB 2026-10-24T10:37:20.1400451Z dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB 2026-10-24T10:37:20.1400739Z dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB 2026-10-24T10:37:20.1400965Z dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB 2026-10-24T10:37:20.1401184Z dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB 2026-10-24T10:37:20.1401409Z dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB 2026-10-24T10:37:20.1401634Z dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB 2026-10-24T10:37:20.1401856Z dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB 2026-10-24T10:37:20.1402085Z dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB 2026-10-24T10:37:20.1402306Z dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB 2026-10-24T10:37:20.1402536Z dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB 2026-10-24T10:37:20.1402756Z dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB 2026-10-24T10:37:20.1402979Z dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB 2026-10-24T10:37:20.1403251Z dist/.vite/manifest.json 293.87 kB │ gzip: 30.69 kB 2026-10-24T10:37:20.1403545Z dist/assets/ghostty-vt-DdA0Zryv.wasm 630.93 kB │ gzip: 187.91 kB 2026-10-24T10:37:20.1403819Z dist/assets/worker-3-uhxiAg.js 836.41 kB 2026-10-24T10:37:20.1404094Z dist/third-party-licenses.json 852.62 kB │ gzip: 102.38 kB 2026-10-24T10:37:20.1404478Z dist/assets/SymbolsNerdFontMono-Regular-aK5vsLov.woff2 1,177.57 kB 2026-10-24T10:37:20.1404720Z dist/assets/ipad-pro-13-m5-DCWznkpd.glb 1,815.87 kB 2026-10-24T10:37:20.1405049Z dist/assets/ipad-pro-13-m5-magic-keyboard-l8da3bBi.glb 2,341.88 kB 2026-10-24T10:37:20.1405282Z dist/assets/iphone-18-pro-max-B3H2Zbeg.glb 2,399.02 kB 2026-10-24T10:37:20.1405509Z dist/assets/iphone-18-pro-Crheuaz9.glb 2,422.54 kB 2026-10-24T10:37:20.1405732Z dist/assets/iphone-duo-Cu4Xx1NH.glb 3,097.72 kB 2026-10-24T10:37:20.1406012Z dist/assets/MathTypeset-DEcVZfaU.css 28.83 kB │ gzip: 7.92 kB 2026-10-24T10:37:20.1406299Z dist/assets/main-5eZhPD8z.css 527.91 kB │ gzip: 70.81 kB 2026-10-24T10:37:20.1406585Z dist/assets/JZOYTAAL-B2xWJxNy.js 0.05 kB │ gzip: 0.07 kB 2026-10-24T10:37:20.1406914Z dist/assets/_chat.draft._draftId-DJ7LAi8J.js 0.09 kB │ gzip: 0.11 kB │ map: 0.55 kB 2026-10-24T10:37:20.1407255Z dist/assets/legalLinks-BaIJY52l.js 0.10 kB │ gzip: 0.12 kB │ map: 0.24 kB 2026-10-24T10:37:20.1407600Z dist/assets/_chat._environmentId._threadId-DJ7LAi8J.js 0.10 kB │ gzip: 0.12 kB │ map: 0.57 kB 2026-10-24T10:37:20.1407937Z dist/assets/minus-DvZBHEtU.js 0.15 kB │ gzip: 0.16 kB │ map: 0.79 kB 2026-10-24T10:37:20.1408240Z dist/assets/circle-O_62Kz6M.js 0.16 kB │ gzip: 0.16 kB │ map: 0.84 kB 2026-10-24T10:37:20.1408554Z dist/assets/chevron-up-D-eqv5xz.js 0.16 kB │ gzip: 0.16 kB │ map: 0.83 kB 2026-10-24T10:37:20.1408873Z dist/assets/chevron-left-VzWFFfJV.js 0.17 kB │ gzip: 0.17 kB │ map: 0.84 kB 2026-10-24T10:37:20.1409194Z dist/assets/x-CtDhSmo0.js 0.18 kB │ gzip: 0.17 kB │ map: 0.87 kB 2026-10-24T10:37:20.1409497Z dist/assets/plus-DRJnlync.js 0.18 kB │ gzip: 0.17 kB │ map: 0.89 kB 2026-10-24T10:37:20.1409826Z dist/assets/FieldItemContext-D7F7CWCg.js 0.19 kB │ gzip: 0.18 kB │ map: 0.88 kB 2026-10-24T10:37:20.1410183Z dist/assets/arrow-up-Dxmh-8a4.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-24T10:37:20.1410497Z dist/assets/terminal-B7_CcXzt.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-24T10:37:20.1410807Z dist/assets/itemRows-DNgi4sqO.js 0.20 kB │ gzip: 0.17 kB │ map: 0.43 kB 2026-10-24T10:37:20.1411127Z dist/assets/arrow-down-CwiX2zUI.js 0.20 kB │ gzip: 0.18 kB │ map: 0.93 kB 2026-10-24T10:37:20.1411441Z dist/assets/RVARI57O-CgA1WoRv.js 0.20 kB │ gzip: 0.19 kB │ map: 0.64 kB 2026-10-24T10:37:20.1411764Z dist/assets/arrow-right-BV_nDoCV.js 0.20 kB │ gzip: 0.19 kB │ map: 0.94 kB 2026-10-24T10:37:20.1412081Z dist/assets/gauge--BDm3ivd.js 0.20 kB │ gzip: 0.19 kB │ map: 0.92 kB 2026-10-24T10:37:20.1412406Z dist/assets/chevrons-up-down-BkLK4jrE.js 0.21 kB │ gzip: 0.18 kB │ map: 0.98 kB 2026-10-24T10:37:20.1412725Z dist/assets/play-RXGUYyl2.js 0.22 kB │ gzip: 0.21 kB │ map: 0.90 kB 2026-10-24T10:37:20.1413040Z dist/assets/smartphone-D0Mgfa7D.js 0.23 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-24T10:37:20.1413354Z dist/assets/undo-2-CzUHuoIy.js 0.24 kB │ gzip: 0.20 kB │ map: 0.96 kB 2026-10-24T10:37:20.1413666Z dist/assets/circle-x-DkgNqhsK.js 0.24 kB │ gzip: 0.20 kB │ map: 1.05 kB 2026-10-24T10:37:20.1414082Z dist/assets/authRedirect-DWE5a_T9.js 0.25 kB │ gzip: 0.18 kB │ map: 1.23 kB 2026-10-24T10:37:20.1414411Z dist/assets/circle-arrow-up-Cnd0b-9q.js 0.26 kB │ gzip: 0.21 kB │ map: 1.11 kB 2026-10-24T10:37:20.1414824Z dist/assets/ellipsis-Ba3jR4KI.js 0.26 kB │ gzip: 0.19 kB │ map: 1.13 kB 2026-10-24T10:37:20.1415139Z dist/assets/log-in-axSX1Ul6.js 0.26 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-24T10:37:20.1415454Z dist/assets/useNavigate-DEuscqGG.js 0.26 kB │ gzip: 0.22 kB │ map: 2.30 kB 2026-10-24T10:37:20.1415776Z dist/assets/useSearch-B6IpxR8Y.js 0.26 kB │ gzip: 0.20 kB │ map: 1.53 kB 2026-10-24T10:37:20.1416085Z dist/assets/copy-tx2aQfww.js 0.26 kB │ gzip: 0.23 kB │ map: 1.04 kB 2026-10-24T10:37:20.1416419Z dist/assets/cloneFileDiffMetadata-zVRGqYgv.js 0.27 kB │ gzip: 0.19 kB │ map: 1.23 kB 2026-10-24T10:37:20.1416795Z dist/assets/ellipsis-vertical-BmW5_1NR.js 0.28 kB │ gzip: 0.20 kB │ map: 1.19 kB 2026-10-24T10:37:20.1417133Z dist/assets/square-terminal-DLKd3WZs.js 0.28 kB │ gzip: 0.23 kB │ map: 1.18 kB 2026-10-24T10:37:20.1417451Z dist/assets/eye-DcrgQArc.js 0.28 kB │ gzip: 0.23 kB │ map: 1.05 kB 2026-10-24T10:37:20.1417770Z dist/assets/circle-alert-pHfDBynR.js 0.29 kB │ gzip: 0.21 kB │ map: 1.20 kB 2026-10-24T10:37:20.1418102Z dist/assets/external-link-C-DWxBJN.js 0.29 kB │ gzip: 0.23 kB │ map: 1.10 kB 2026-10-24T10:37:20.1418432Z dist/assets/mouse-pointer-2--4WLvE3e.js 0.29 kB │ gzip: 0.24 kB │ map: 1.02 kB 2026-10-24T10:37:20.1418756Z dist/assets/pencil-60m8KW76.js 0.31 kB │ gzip: 0.25 kB │ map: 1.06 kB 2026-10-24T10:37:20.1419072Z dist/assets/pen-line-CmhjfyJg.js 0.31 kB │ gzip: 0.25 kB │ map: 1.07 kB 2026-10-24T10:37:20.1419395Z dist/assets/plug-2-D0EPU-J9.js 0.31 kB │ gzip: 0.23 kB │ map: 1.21 kB 2026-10-24T10:37:20.1419712Z dist/assets/list-checks-C0UyaVrI.js 0.31 kB │ gzip: 0.22 kB │ map: 1.24 kB 2026-10-24T10:37:20.1420052Z dist/assets/FormContext-BLJDZwPP.js 0.33 kB │ gzip: 0.26 kB │ map: 1.13 kB 2026-10-24T10:37:20.1420409Z dist/assets/archive-x-B1Lxt_ae.js 0.33 kB │ gzip: 0.25 kB │ map: 1.24 kB 2026-10-24T10:37:20.1420740Z dist/assets/message-square-off-CC4CSLfF.js 0.35 kB │ gzip: 0.27 kB │ map: 1.22 kB 2026-10-24T10:37:20.1421069Z dist/assets/refresh-cw-f0sYLYFw.js 0.35 kB │ gzip: 0.25 kB │ map: 1.22 kB 2026-10-24T10:37:20.1421403Z dist/assets/settings.general-aPQiOGTM.js 0.36 kB │ gzip: 0.28 kB │ map: 0.84 kB 2026-10-24T10:37:20.1421727Z dist/assets/trash-2-BLtjvmSA.js 0.36 kB │ gzip: 0.24 kB │ map: 1.27 kB 2026-10-24T10:37:20.1422044Z dist/assets/camera-BPh_dJif.js 0.37 kB │ gzip: 0.28 kB │ map: 1.15 kB 2026-10-24T10:37:20.1422430Z dist/assets/server-CYq90Ros.js 0.37 kB │ gzip: 0.24 kB │ map: 1.43 kB 2026-10-24T10:37:20.1422742Z dist/assets/unlink-2-DC75hwNQ.js 0.38 kB │ gzip: 0.27 kB │ map: 1.83 kB 2026-10-24T10:37:20.1423048Z dist/assets/lock-B_0jes9T.js 0.39 kB │ gzip: 0.25 kB │ map: 1.93 kB 2026-10-24T10:37:20.1423363Z dist/assets/useLocation-L8gbBlfA.js 0.39 kB │ gzip: 0.28 kB │ map: 2.27 kB 2026-10-24T10:37:20.1423708Z dist/assets/settings.scheduled-tasks-ChhUMjgq.js 0.40 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-24T10:37:20.1424167Z dist/assets/toastHelpers-CSQRKo4F.js 0.40 kB │ gzip: 0.26 kB │ map: 2.12 kB 2026-10-24T10:37:20.1424588Z dist/assets/grip-vertical-B4CDIMqL.js 0.41 kB │ gzip: 0.23 kB │ map: 1.57 kB 2026-10-24T10:37:20.1424936Z dist/assets/useT3ConnectAuthPrompt-D13puWaf.js 0.41 kB │ gzip: 0.30 kB │ map: 0.95 kB 2026-10-24T10:37:20.1425274Z dist/assets/previewBridge-DJB_yQt3.js 0.42 kB │ gzip: 0.29 kB │ map: 1.92 kB 2026-10-24T10:37:20.1425600Z dist/assets/K3MD6TGW-DKrmg4R3.js 0.42 kB │ gzip: 0.32 kB │ map: 1.02 kB 2026-10-24T10:37:20.1425913Z dist/assets/hammer-BtSyZFYT.js 0.42 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-24T10:37:20.1438420Z dist/assets/inbox-BGGCARsb.js 0.43 kB │ gzip: 0.32 kB │ map: 1.89 kB 2026-10-24T10:37:20.1438882Z dist/assets/mouse-pointer-click-BFW6AziF.js 0.46 kB │ gzip: 0.31 kB │ map: 1.46 kB 2026-10-24T10:37:20.1439229Z dist/assets/eye-off-CGiC01Xr.js 0.46 kB │ gzip: 0.30 kB │ map: 1.37 kB 2026-10-24T10:37:20.1439570Z dist/assets/sliders-horizontal-BHkPcwje.js 0.47 kB │ gzip: 0.26 kB │ map: 1.68 kB 2026-10-24T10:37:20.1439904Z dist/assets/folder-BUa2a6zj.js 0.47 kB │ gzip: 0.31 kB │ map: 1.87 kB 2026-10-24T10:37:20.1440299Z dist/assets/fileCommentAnnotations-BgdL_7u9.js 0.48 kB │ gzip: 0.30 kB │ map: 2.48 kB 2026-10-24T10:37:20.1440647Z dist/assets/radio-tower-B-fb5gOx.js 0.49 kB │ gzip: 0.32 kB │ map: 1.58 kB 2026-10-24T10:37:20.1440975Z dist/assets/redirect-D3L17tzd.js 0.49 kB │ gzip: 0.32 kB │ map: 3.46 kB 2026-10-24T10:37:20.1441295Z dist/assets/star-CSH4IHn1.js 0.50 kB │ gzip: 0.32 kB │ map: 1.18 kB 2026-10-24T10:37:20.1441617Z dist/assets/file-braces-DgOzaxUZ.js 0.50 kB │ gzip: 0.29 kB │ map: 1.44 kB 2026-10-24T10:37:20.1441950Z dist/assets/folder-tree-BjnUo84q.js 0.51 kB │ gzip: 0.29 kB │ map: 1.45 kB 2026-10-24T10:37:20.1442279Z dist/assets/5THPTBWS-Ce_hS451.js 0.52 kB │ gzip: 0.34 kB │ map: 1.60 kB 2026-10-24T10:37:20.1442597Z dist/assets/sparkles-RZkyvAwn.js 0.53 kB │ gzip: 0.31 kB │ map: 1.44 kB 2026-10-24T10:37:20.1442929Z dist/assets/ScopedSwitch-D9SbhrGV.js 0.53 kB │ gzip: 0.39 kB │ map: 1.47 kB 2026-10-24T10:37:20.1443272Z dist/assets/browserLinkTarget-qbowNt2x.js 0.53 kB │ gzip: 0.36 kB │ map: 2.48 kB 2026-10-24T10:37:20.1443611Z dist/assets/TSHNXIZL-BrfEdbs1.js 0.53 kB │ gzip: 0.39 kB │ map: 1.34 kB 2026-10-24T10:37:20.1443934Z dist/assets/rows-3-DMely9jx.js 0.54 kB │ gzip: 0.31 kB │ map: 2.87 kB 2026-10-24T10:37:20.1444267Z dist/assets/onboarding-BzYsPPni.js 0.54 kB │ gzip: 0.32 kB │ map: 2.20 kB 2026-10-24T10:37:20.1444602Z dist/assets/triangle-alert-C5aZTDBX.js 0.57 kB │ gzip: 0.33 kB │ map: 2.93 kB 2026-10-24T10:37:20.1444941Z dist/assets/paintbrush-DCImhdDK.js 0.57 kB │ gzip: 0.37 kB │ map: 1.44 kB 2026-10-24T10:37:20.1445281Z dist/assets/useAriaLabelledBy-vLck3YMA.js 0.58 kB │ gzip: 0.40 kB │ map: 3.53 kB 2026-10-24T10:37:20.1445621Z dist/assets/codeowners-C8r90Shi.js 0.58 kB │ gzip: 0.34 kB │ map: 1.09 kB 2026-10-24T10:37:20.1445953Z dist/assets/trending-up-PW95SRBw.js 0.59 kB │ gzip: 0.34 kB │ map: 2.90 kB 2026-10-24T10:37:20.1446462Z dist/assets/G3MDBVQH-BZmnMkFw.js 0.60 kB │ gzip: 0.38 kB │ map: 1.76 kB 2026-10-24T10:37:20.1446875Z dist/assets/use-atom-command-BR7oE688.js 0.60 kB │ gzip: 0.39 kB │ map: 1.86 kB 2026-10-24T10:37:20.1447217Z dist/assets/usageAccess-B0iooLh8.js 0.62 kB │ gzip: 0.33 kB │ map: 2.05 kB 2026-10-24T10:37:20.1447540Z dist/assets/square-v7Oo0Y38.js 0.63 kB │ gzip: 0.38 kB │ map: 3.08 kB 2026-10-24T10:37:20.1447874Z dist/assets/composerTrigger-BP81K-4K.js 0.63 kB │ gzip: 0.38 kB │ map: 6.62 kB 2026-10-24T10:37:20.1448210Z dist/assets/jsx-runtime-DVMLLmEC.js 0.64 kB │ gzip: 0.44 kB │ map: 3.54 kB 2026-10-24T10:37:20.1448538Z dist/assets/monitor-DKhPzqUQ.js 0.64 kB │ gzip: 0.41 kB │ map: 2.90 kB 2026-10-24T10:37:20.1448870Z dist/assets/5GK6JWQ2-C3ESSfEU.js 0.64 kB │ gzip: 0.47 kB │ map: 1.68 kB 2026-10-24T10:37:20.1449213Z dist/assets/runtimeModeConfig-C97PIe3m.js 0.64 kB │ gzip: 0.38 kB │ map: 1.52 kB 2026-10-24T10:37:20.1449543Z dist/assets/upload-BcSejyNp.js 0.66 kB │ gzip: 0.39 kB │ map: 2.48 kB 2026-10-24T10:37:20.1449885Z dist/assets/WorkspacePageContainer-BZBi8WI9.js 0.67 kB │ gzip: 0.48 kB │ map: 2.06 kB 2026-10-24T10:37:20.1450265Z dist/assets/CSPContext-L0FF4knb.js 0.71 kB │ gzip: 0.47 kB │ map: 4.09 kB 2026-10-24T10:37:20.1450611Z dist/assets/use-atom-query-runner-D_xdKUug.js 0.71 kB │ gzip: 0.44 kB │ map: 2.46 kB 2026-10-24T10:37:20.1450947Z dist/assets/skeleton-lXp2sMk_.js 0.72 kB │ gzip: 0.48 kB │ map: 1.79 kB 2026-10-24T10:37:20.1451274Z dist/assets/layers-Dl99swt-.js 0.73 kB │ gzip: 0.38 kB │ map: 2.42 kB 2026-10-24T10:37:20.1451601Z dist/assets/pullRequestIcons-R_x5gN1W.js 0.75 kB │ gzip: 0.40 kB │ map: 2.40 kB 2026-10-24T10:37:20.1451937Z dist/assets/shellsession-B6LP6YJG.js 0.76 kB │ gzip: 0.46 kB │ map: 1.37 kB 2026-10-24T10:37:20.1452273Z dist/assets/usageShortcuts-DTwZR79v.js 0.76 kB │ gzip: 0.44 kB │ map: 2.41 kB 2026-10-24T10:37:20.1452594Z dist/assets/tsv-sltzmVWM.js 0.77 kB │ gzip: 0.37 kB │ map: 1.38 kB 2026-10-24T10:37:20.1452916Z dist/assets/MathTypeset-BFgsTX2z.js 0.82 kB │ gzip: 0.57 kB │ map: 26.87 kB 2026-10-24T10:37:20.1453239Z dist/assets/DKTLEL5E-DciMwFJ1.js 0.87 kB │ gzip: 0.43 kB │ map: 2.42 kB 2026-10-24T10:37:20.1453571Z dist/assets/useNavigateBack-8pGxG6S_.js 0.88 kB │ gzip: 0.56 kB │ map: 3.67 kB 2026-10-24T10:37:20.1453900Z dist/assets/pair-VanDF5bl.js 0.88 kB │ gzip: 0.55 kB │ map: 3.77 kB 2026-10-24T10:37:20.1454232Z dist/assets/html-derivative-QfWcQxux.js 0.89 kB │ gzip: 0.49 kB │ map: 1.46 kB 2026-10-24T10:37:20.1454578Z dist/assets/useRelativeTimeState-B8Lvd7C7.js 0.90 kB │ gzip: 0.54 kB │ map: 3.30 kB 2026-10-24T10:37:20.1454917Z dist/assets/SecretInput-W_OuNeGa.js 0.90 kB │ gzip: 0.60 kB │ map: 2.97 kB 2026-10-24T10:37:20.1455242Z dist/assets/linkedPrompt-DgnRq9J1.js 0.91 kB │ gzip: 0.53 kB │ map: 2.66 kB 2026-10-24T10:37:20.1455561Z dist/assets/kbd-BWxzdxHC.js 0.99 kB │ gzip: 0.50 kB │ map: 2.57 kB 2026-10-24T10:37:20.1455902Z dist/assets/useScopedModelAvailability-DMIIdwMP.js 0.99 kB │ gzip: 0.60 kB │ map: 4.94 kB 2026-10-24T10:37:20.1456337Z dist/assets/74OO7NKP-CDiTbmg8.js 1.01 kB │ gzip: 0.62 kB │ map: 2.78 kB 2026-10-24T10:37:20.1456744Z dist/assets/draft-input-G8CE17gP.js 1.02 kB │ gzip: 0.66 kB │ map: 4.35 kB 2026-10-24T10:37:20.1457076Z dist/assets/git-rebase-Bl-U2xaZ.js 1.03 kB │ gzip: 0.47 kB │ map: 1.72 kB 2026-10-24T10:37:20.1457396Z dist/assets/qmldir-DCQb3MpD.js 1.03 kB │ gzip: 0.48 kB │ map: 1.74 kB 2026-10-24T10:37:20.1457719Z dist/assets/WEVWDWVA-CIDBDLsX.js 1.07 kB │ gzip: 0.57 kB │ map: 2.98 kB 2026-10-24T10:37:20.1458033Z dist/assets/type-IZznv1At.js 1.07 kB │ gzip: 0.52 kB │ map: 4.84 kB 2026-10-24T10:37:20.1458377Z dist/assets/git-pull-request-draft-Dd5x8xqM.js 1.09 kB │ gzip: 0.44 kB │ map: 5.05 kB 2026-10-24T10:37:20.1458730Z dist/assets/user-lock-3dt3yw_X.js 1.09 kB │ gzip: 0.50 kB │ map: 4.74 kB 2026-10-24T10:37:20.1459053Z dist/assets/sun-B8Xysd5K.js 1.11 kB │ gzip: 0.52 kB │ map: 4.01 kB 2026-10-24T10:37:20.1459375Z dist/assets/route-DV_JcBsb.js 1.12 kB │ gzip: 0.51 kB │ map: 4.41 kB 2026-10-24T10:37:20.1459699Z dist/assets/wrench-Ct0tGnPy.js 1.15 kB │ gzip: 0.57 kB │ map: 3.90 kB 2026-10-24T10:37:20.1460059Z dist/assets/pullRequestReviewStore-DK0agUfm.js 1.15 kB │ gzip: 0.57 kB │ map: 5.66 kB 2026-10-24T10:37:20.1460433Z dist/assets/csv-Dx-8-gkx.js 1.17 kB │ gzip: 0.40 kB │ map: 2.00 kB 2026-10-24T10:37:20.1460757Z dist/assets/observeResize-C9bd-fK_.js 1.19 kB │ gzip: 0.64 kB │ map: 5.33 kB 2026-10-24T10:37:20.1461095Z dist/assets/minimize-2-BWhrEW73.js 1.20 kB │ gzip: 0.59 kB │ map: 5.47 kB 2026-10-24T10:37:20.1461437Z dist/assets/ExpandableText-BSxcViji.js 1.23 kB │ gzip: 0.77 kB │ map: 5.16 kB 2026-10-24T10:37:20.1461785Z dist/assets/git-commit-BSykSTBG.js 1.27 kB │ gzip: 0.56 kB │ map: 2.07 kB 2026-10-24T10:37:20.1462132Z dist/assets/WorkspacePageHeader-Bfv4FJ1p.js 1.30 kB │ gzip: 0.69 kB │ map: 4.15 kB 2026-10-24T10:37:20.1462563Z dist/assets/discovery-list-B2Nkc9ye.js 1.39 kB │ gzip: 0.76 kB │ map: 4.07 kB 2026-10-24T10:37:20.1462891Z dist/assets/xsl-Bqr2UbU6.js 1.40 kB │ gzip: 0.53 kB │ map: 2.22 kB 2026-10-24T10:37:20.1463225Z dist/assets/AuthSurfaceShell-CpPVuXI_.js 1.42 kB │ gzip: 0.75 kB │ map: 5.23 kB 2026-10-24T10:37:20.1463559Z dist/assets/semver-CFbvOQKc.js 1.42 kB │ gzip: 0.64 kB │ map: 9.55 kB 2026-10-24T10:37:20.1463904Z dist/assets/6IMQ5BUJ-F69RXib2.js 1.43 kB │ gzip: 0.79 kB │ map: 3.49 kB 2026-10-24T10:37:20.1464233Z dist/assets/dotenv-_5a1GRtc.js 1.45 kB │ gzip: 0.56 kB │ map: 2.34 kB 2026-10-24T10:37:20.1464565Z dist/assets/CommandBlock-BtHamXr2.js 1.48 kB │ gzip: 0.89 kB │ map: 4.75 kB 2026-10-24T10:37:20.1464895Z dist/assets/sparql-D_iOobhT.js 1.52 kB │ gzip: 0.84 kB │ map: 2.14 kB 2026-10-24T10:37:20.1465213Z dist/assets/ini-B5eOa1yu.js 1.55 kB │ gzip: 0.52 kB │ map: 2.47 kB 2026-10-24T10:37:20.1465540Z dist/assets/sourceControl-DAUppGnY.js 1.56 kB │ gzip: 0.52 kB │ map: 5.30 kB 2026-10-24T10:37:20.1465900Z dist/assets/RedactedSensitiveText-DxKINJzi.js 1.56 kB │ gzip: 0.96 kB │ map: 6.24 kB 2026-10-24T10:37:20.1466396Z dist/assets/previewMiniPlayerStore-yey56rof.js 1.56 kB │ gzip: 0.70 kB │ map: 8.23 kB 2026-10-24T10:37:20.1466768Z dist/assets/EnvironmentMachineIcon-itNp2xae.js 1.66 kB │ gzip: 0.80 kB │ map: 4.92 kB 2026-10-24T10:37:20.1467235Z dist/assets/5N7A7DKN-uWDQh8wS.js 1.67 kB │ gzip: 0.96 kB │ map: 4.05 kB 2026-10-24T10:37:20.1467564Z dist/assets/preview-lNiHB3Pz.js 1.71 kB │ gzip: 0.59 kB │ map: 6.09 kB 2026-10-24T10:37:20.1467907Z dist/assets/fortran-fixed-form-DEKoE2YW.js 1.71 kB │ gzip: 0.72 kB │ map: 2.77 kB 2026-10-24T10:37:20.1468266Z dist/assets/ConnectionStatusDot-AoaZkeDa.js 1.73 kB │ gzip: 0.92 kB │ map: 5.60 kB 2026-10-24T10:37:20.1468638Z dist/assets/T3ConnectSidebarSignIn-B1hmLsAr.js 1.75 kB │ gzip: 0.81 kB │ map: 5.39 kB 2026-10-24T10:37:20.1468994Z dist/assets/docker-IyjqRm3v.js 1.77 kB │ gzip: 0.63 kB │ map: 2.65 kB 2026-10-24T10:37:20.1469325Z dist/assets/hxml-B0Qn7Nwc.js 1.78 kB │ gzip: 0.91 kB │ map: 2.51 kB 2026-10-24T10:37:20.1469683Z dist/assets/WorkspaceBreadcrumb-Dc0WGJAr.js 1.80 kB │ gzip: 0.89 kB │ map: 5.93 kB 2026-10-24T10:37:20.1470042Z dist/assets/session-D3UWOoav.js 1.81 kB │ gzip: 0.90 kB │ map: 8.92 kB 2026-10-24T10:37:20.1470409Z dist/assets/query-DcBL41mO.js 1.81 kB │ gzip: 0.97 kB │ map: 8.50 kB 2026-10-24T10:37:20.1470744Z dist/assets/mediaSource-BboY637e.js 1.84 kB │ gzip: 0.91 kB │ map: 9.78 kB 2026-10-24T10:37:20.1471083Z dist/assets/desktop-Dlh5hvp9.js 1.87 kB │ gzip: 0.78 kB │ map: 2.76 kB 2026-10-24T10:37:20.1471418Z dist/assets/user-round-DIWQPoBt.js 1.87 kB │ gzip: 0.76 kB │ map: 8.43 kB 2026-10-24T10:37:20.1471773Z dist/assets/memory-stick-CTKyzUTl.js 1.89 kB │ gzip: 0.77 kB │ map: 7.67 kB 2026-10-24T10:37:20.1472114Z dist/assets/7WLXJQOR-D6QVYUu9.js 1.99 kB │ gzip: 1.00 kB │ map: 2.80 kB 2026-10-24T10:37:20.1472455Z dist/assets/attachments-C6KFH8VG.js 2.05 kB │ gzip: 0.89 kB │ map: 10.19 kB 2026-10-24T10:37:20.1472800Z dist/assets/NoProjectsHero-CPbLkNgv.js 2.05 kB │ gzip: 1.06 kB │ map: 8.31 kB 2026-10-24T10:37:20.1473144Z dist/assets/textarea-OO8BNnjd.js 2.05 kB │ gzip: 1.01 kB │ map: 7.13 kB 2026-10-24T10:37:20.1473500Z dist/assets/ProviderAuthTerminal-PQOhycTT.js 2.13 kB │ gzip: 1.14 kB │ map: 8.51 kB 2026-10-24T10:37:20.1473853Z dist/assets/search-xLME8fgJ.js 2.16 kB │ gzip: 1.13 kB │ map: 13.13 kB 2026-10-24T10:37:20.1474179Z dist/assets/erb-C0PT2tVJ.js 2.17 kB │ gzip: 0.65 kB │ map: 3.34 kB 2026-10-24T10:37:20.1474510Z dist/assets/5B3SVYGG-B1jY6saO.js 2.17 kB │ gzip: 1.10 kB │ map: 5.94 kB 2026-10-24T10:37:20.1474844Z dist/assets/wenyan-C8pVoKbM.js 2.19 kB │ gzip: 1.13 kB │ map: 3.19 kB 2026-10-24T10:37:20.1475189Z dist/assets/AnimatedHeight-B2gRQ3oz.js 2.20 kB │ gzip: 1.11 kB │ map: 10.50 kB 2026-10-24T10:37:20.1475533Z dist/assets/assetUrls-CWQHlthq.js 2.23 kB │ gzip: 1.16 kB │ map: 8.60 kB 2026-10-24T10:37:20.1475867Z dist/assets/jssm-DXw9l8Rf.js 2.27 kB │ gzip: 0.64 kB │ map: 3.39 kB 2026-10-24T10:37:20.1476201Z dist/assets/EnvironmentRow-C8nrkSV-.js 2.29 kB │ gzip: 1.22 kB │ map: 8.55 kB 2026-10-24T10:37:20.1476548Z dist/assets/fileLinks-Dsoxz2kQ.js 2.33 kB │ gzip: 1.11 kB │ map: 11.00 kB 2026-10-24T10:37:20.1477032Z dist/assets/edge-DbocH-4h.js 2.34 kB │ gzip: 0.70 kB │ map: 3.63 kB 2026-10-24T10:37:20.1477436Z dist/assets/reg-CRGYupPL.js 2.37 kB │ gzip: 0.72 kB │ map: 3.51 kB 2026-10-24T10:37:20.1477779Z dist/assets/usePermissionStatus-ewf9eA_D.js 2.41 kB │ gzip: 1.26 kB │ map: 10.74 kB 2026-10-24T10:37:20.1478138Z dist/assets/useResizeDrag-K16rNICO.js 2.52 kB │ gzip: 1.17 kB │ map: 10.38 kB 2026-10-24T10:37:20.1478483Z dist/assets/square-pen-Bre3KHiZ.js 2.53 kB │ gzip: 1.08 kB │ map: 11.16 kB 2026-10-24T10:37:20.1478830Z dist/assets/FTXIJQGB-CggtIYAM.js 2.58 kB │ gzip: 1.15 kB │ map: 4.98 kB 2026-10-24T10:37:20.1479160Z dist/assets/diff-woXpYk--.js 2.60 kB │ gzip: 0.72 kB │ map: 3.86 kB 2026-10-24T10:37:20.1479494Z dist/assets/gleam-CSRkHgEL.js 2.61 kB │ gzip: 0.85 kB │ map: 3.99 kB 2026-10-24T10:37:20.1479830Z dist/assets/connect-Cq-mXS4B.js 2.63 kB │ gzip: 1.40 kB │ map: 10.10 kB 2026-10-24T10:37:20.1480209Z dist/assets/hy-CZbG8q4J.js 2.68 kB │ gzip: 1.21 kB │ map: 3.69 kB 2026-10-24T10:37:20.1480570Z dist/assets/sidebarProjectGrouping-DRysUkXe.js 2.75 kB │ gzip: 1.00 kB │ map: 11.52 kB 2026-10-24T10:37:20.1480930Z dist/assets/openscad-BUDT5pXO.js 2.86 kB │ gzip: 1.04 kB │ map: 4.23 kB 2026-10-24T10:37:20.1481264Z dist/assets/log-BNLmms1o.js 2.88 kB │ gzip: 0.93 kB │ map: 4.35 kB 2026-10-24T10:37:20.1481606Z dist/assets/standalone-page-BuwC2fNh.js 2.89 kB │ gzip: 1.25 kB │ map: 10.07 kB 2026-10-24T10:37:20.1481957Z dist/assets/json-CU5hZXC7.js 2.92 kB │ gzip: 0.85 kB │ map: 4.35 kB 2026-10-24T10:37:20.1482286Z dist/assets/preview-Ck-eilpc.js 2.95 kB │ gzip: 1.40 kB │ map: 11.90 kB 2026-10-24T10:37:20.1482627Z dist/assets/cairo-DLTphjLi.js 2.97 kB │ gzip: 0.83 kB │ map: 4.57 kB 2026-10-24T10:37:20.1482957Z dist/assets/berry-DKpUyyne.js 3.04 kB │ gzip: 0.84 kB │ map: 4.85 kB 2026-10-24T10:37:20.1483290Z dist/assets/jsonl-CmCQp5Yx.js 3.04 kB │ gzip: 0.82 kB │ map: 4.51 kB 2026-10-24T10:37:20.1483618Z dist/assets/jsonc-CYpm1nAK.js 3.14 kB │ gzip: 0.82 kB │ map: 4.61 kB 2026-10-24T10:37:20.1483948Z dist/assets/logo-Cluzi2Zq.js 3.16 kB │ gzip: 1.50 kB │ map: 3.82 kB 2026-10-24T10:37:20.1484284Z dist/assets/textDirection-83k6sPNf.js 3.22 kB │ gzip: 1.47 kB │ map: 9.42 kB 2026-10-24T10:37:20.1484633Z dist/assets/device-B2Z-AmqG.js 3.24 kB │ gzip: 1.42 kB │ map: 15.42 kB 2026-10-24T10:37:20.1485093Z dist/assets/po-BiJDBrnU.js 3.27 kB │ gzip: 0.94 kB │ map: 5.09 kB 2026-10-24T10:37:20.1485418Z dist/assets/json5-BR5RXkoi.js 3.29 kB │ gzip: 0.86 kB │ map: 4.96 kB 2026-10-24T10:37:20.1485751Z dist/assets/mipsasm-BMqwQI7S.js 3.29 kB │ gzip: 1.21 kB │ map: 4.68 kB 2026-10-24T10:37:20.1486079Z dist/assets/tasl-DMoTqEGO.js 3.32 kB │ gzip: 0.88 kB │ map: 5.13 kB 2026-10-24T10:37:20.1486405Z dist/assets/genie-CV2tkWYe.js 3.39 kB │ gzip: 1.24 kB │ map: 4.87 kB 2026-10-24T10:37:20.1486731Z dist/assets/rel-BtDbiS_P.js 3.40 kB │ gzip: 1.14 kB │ map: 4.88 kB 2026-10-24T10:37:20.1487053Z dist/assets/vala-zf12oZj6.js 3.40 kB │ gzip: 1.22 kB │ map: 4.90 kB 2026-10-24T10:37:20.1487457Z dist/assets/6OLKWJ4F-CzlmhnDH.js 3.47 kB │ gzip: 1.65 kB │ map: 8.16 kB 2026-10-24T10:37:20.1487794Z dist/assets/splunk-BC2Px7Mm.js 3.47 kB │ gzip: 1.55 kB │ map: 4.45 kB 2026-10-24T10:37:20.1488149Z dist/assets/FoldedSettingsSection-DK3OnYyZ.js 3.51 kB │ gzip: 1.63 kB │ map: 18.85 kB 2026-10-24T10:37:20.1488498Z dist/assets/users-JCKA3SAz.js 3.52 kB │ gzip: 1.35 kB │ map: 15.98 kB 2026-10-24T10:37:20.1488824Z dist/assets/hurl-Bjvvc9lj.js 3.55 kB │ gzip: 1.13 kB │ map: 5.48 kB 2026-10-24T10:37:20.1489171Z dist/assets/panel-tab-close-button-CEcQ05_F.js 3.63 kB │ gzip: 1.89 kB │ map: 15.33 kB 2026-10-24T10:37:20.1489531Z dist/assets/usageFormat-CdJ43cw1.js 3.63 kB │ gzip: 1.47 kB │ map: 14.84 kB 2026-10-24T10:37:20.1489872Z dist/assets/fluent-C03EYrpw.js 3.64 kB │ gzip: 0.93 kB │ map: 5.21 kB 2026-10-24T10:37:20.1490230Z dist/assets/jsonnet-CJTPZ8u_.js 3.65 kB │ gzip: 1.07 kB │ map: 5.43 kB 2026-10-24T10:37:20.1490570Z dist/assets/ssh-config-BgfXC-Er.js 3.65 kB │ gzip: 1.63 kB │ map: 4.50 kB 2026-10-24T10:37:20.1490904Z dist/assets/kdl-CsD5j6eV.js 3.66 kB │ gzip: 1.07 kB │ map: 5.51 kB 2026-10-24T10:37:20.1491227Z dist/assets/narrat-_X_XdTYD.js 3.70 kB │ gzip: 1.13 kB │ map: 5.43 kB 2026-10-24T10:37:20.1491554Z dist/assets/glsl-B3Z4Qj6t.js 3.73 kB │ gzip: 1.48 kB │ map: 4.44 kB 2026-10-24T10:37:20.1491890Z dist/assets/t3ProjectFile-B2BdUBIM.js 3.73 kB │ gzip: 1.53 kB │ map: 21.81 kB 2026-10-24T10:37:20.1492233Z dist/assets/turtle-ByJddavk.js 3.73 kB │ gzip: 1.00 kB │ map: 5.50 kB 2026-10-24T10:37:20.1492590Z dist/assets/lazyRouteComponent-CRANkb4F.js 3.80 kB │ gzip: 1.39 kB │ map: 25.98 kB 2026-10-24T10:37:20.1492957Z dist/assets/ProjectMonogram-C0EVUg1j.js 3.83 kB │ gzip: 1.57 kB │ map: 12.77 kB 2026-10-24T10:37:20.1493296Z dist/assets/ron-VUp2lXgN.js 3.94 kB │ gzip: 1.01 kB │ map: 6.03 kB 2026-10-24T10:37:20.1493630Z dist/assets/zenscript-BnlCZFoB.js 3.95 kB │ gzip: 1.31 kB │ map: 5.76 kB 2026-10-24T10:37:20.1493975Z dist/assets/toggle-group-Dhsz2P7m.js 3.98 kB │ gzip: 1.70 kB │ map: 17.27 kB 2026-10-24T10:37:20.1494323Z dist/assets/workflow-DZg1siTd.js 3.99 kB │ gzip: 1.44 kB │ map: 18.04 kB 2026-10-24T10:37:20.1494650Z dist/assets/gn-ilITqXS6.js 4.03 kB │ gzip: 1.52 kB │ map: 5.28 kB 2026-10-24T10:37:20.1495002Z dist/assets/SettingsPanels.logic-DCoAFVIZ.js 4.08 kB │ gzip: 1.34 kB │ map: 14.34 kB 2026-10-24T10:37:20.1495455Z dist/assets/alert-BlyqIPfW.js 4.12 kB │ gzip: 1.62 kB │ map: 13.51 kB 2026-10-24T10:37:20.1495801Z dist/assets/CompositeRoot-BaCEdRrZ.js 4.13 kB │ gzip: 1.93 kB │ map: 20.99 kB 2026-10-24T10:37:20.1496147Z dist/assets/toggle-Coff9yIq.js 4.13 kB │ gzip: 1.72 kB │ map: 11.55 kB 2026-10-24T10:37:20.1496503Z dist/assets/SettingsScopeNotice-D927XxH0.js 4.14 kB │ gzip: 1.91 kB │ map: 19.31 kB 2026-10-24T10:37:20.1496859Z dist/assets/CXAC5362-CXOZRkvs.js 4.17 kB │ gzip: 1.97 kB │ map: 10.66 kB 2026-10-24T10:37:20.1497199Z dist/assets/pascal-4ZHwLPI5.js 4.18 kB │ gzip: 1.71 kB │ map: 5.54 kB 2026-10-24T10:37:20.1497611Z dist/assets/empty-CDL6HG03.js 4.19 kB │ gzip: 1.46 kB │ map: 11.56 kB 2026-10-24T10:37:20.1497970Z dist/assets/desktopUpdate.logic-Ca_cRPzu.js 4.20 kB │ gzip: 1.69 kB │ map: 15.14 kB 2026-10-24T10:37:20.1498337Z dist/assets/vcsRefInvalidation-Cf7UdsDM.js 4.23 kB │ gzip: 2.06 kB │ map: 30.70 kB 2026-10-24T10:37:20.1498690Z dist/assets/http-Dz--gbJ7.js 4.45 kB │ gzip: 1.09 kB │ map: 6.78 kB 2026-10-24T10:37:20.1499014Z dist/assets/tcl-CZd0xW_V.js 4.46 kB │ gzip: 1.54 kB │ map: 6.48 kB 2026-10-24T10:37:20.1499360Z dist/assets/timestampFormat-BBUHLb6E.js 4.46 kB │ gzip: 1.58 kB │ map: 20.84 kB 2026-10-24T10:37:20.1499708Z dist/assets/useParams-Bm8esj08.js 4.53 kB │ gzip: 2.00 kB │ map: 26.30 kB 2026-10-24T10:37:20.1500062Z dist/assets/nextflow-BJtWHP5T.js 4.55 kB │ gzip: 1.20 kB │ map: 6.87 kB 2026-10-24T10:37:20.1500441Z dist/assets/rosmsg-CAekHB0j.js 4.56 kB │ gzip: 1.09 kB │ map: 6.76 kB 2026-10-24T10:37:20.1500803Z dist/assets/projectFilesQueryState-DkBSCPb0.js 4.59 kB │ gzip: 2.21 kB │ map: 20.23 kB 2026-10-24T10:37:20.1501158Z dist/assets/polar-C7UOKdEL.js 4.70 kB │ gzip: 1.16 kB │ map: 7.26 kB 2026-10-24T10:37:20.1501491Z dist/assets/assets-BSmTGbui.js 4.72 kB │ gzip: 2.11 kB │ map: 22.56 kB 2026-10-24T10:37:20.1501819Z dist/assets/sdbl-bTVj8UrX.js 4.73 kB │ gzip: 2.04 kB │ map: 5.90 kB 2026-10-24T10:37:20.1502150Z dist/assets/fennel-DQxkIbk2.js 4.80 kB │ gzip: 1.57 kB │ map: 6.43 kB 2026-10-24T10:37:20.1502527Z dist/assets/bibtex-Ci_nEsc7.js 4.83 kB │ gzip: 0.86 kB │ map: 7.03 kB 2026-10-24T10:37:20.1502880Z dist/assets/settings.archived-D13G28Y-.js 5.02 kB │ gzip: 2.17 kB │ map: 31.79 kB 2026-10-24T10:37:20.1503229Z dist/assets/llvm-Cm23YOpf.js 5.08 kB │ gzip: 2.04 kB │ map: 6.68 kB 2026-10-24T10:37:20.1503560Z dist/assets/HDGCDEEZ-DvWPbtH6.js 5.17 kB │ gzip: 2.48 kB │ map: 13.05 kB 2026-10-24T10:37:20.1503895Z dist/assets/wgsl-BsKzXJz4.js 5.17 kB │ gzip: 1.42 kB │ map: 7.51 kB 2026-10-24T10:37:20.1504234Z dist/assets/keybindings-DOpRBkmf.js 5.32 kB │ gzip: 2.13 kB │ map: 28.47 kB 2026-10-24T10:37:20.1504579Z dist/assets/gdresource-C0sCabJj.js 5.33 kB │ gzip: 1.36 kB │ map: 7.81 kB 2026-10-24T10:37:20.1504918Z dist/assets/5S6HY5KT-DpCrdaUH.js 5.35 kB │ gzip: 2.67 kB │ map: 13.95 kB 2026-10-24T10:37:20.1505352Z dist/assets/zig-CMLA9XwU.js 5.37 kB │ gzip: 1.59 kB │ map: 7.87 kB 2026-10-24T10:37:20.1505770Z dist/assets/qml-DyjGyXLX.js 5.37 kB │ gzip: 1.41 kB │ map: 8.17 kB 2026-10-24T10:37:20.1506092Z dist/assets/dax-BkyTk9wS.js 5.39 kB │ gzip: 2.25 kB │ map: 6.77 kB 2026-10-24T10:37:20.1506422Z dist/assets/bicep-CUHmPFLl.js 5.41 kB │ gzip: 1.18 kB │ map: 7.92 kB 2026-10-24T10:37:20.1506779Z dist/assets/ReadOnlySourcePreview-BpQFasjO.js 5.45 kB │ gzip: 2.22 kB │ map: 19.88 kB 2026-10-24T10:37:20.1507131Z dist/assets/xml-D1Mu8RCW.js 5.47 kB │ gzip: 1.27 kB │ map: 7.90 kB 2026-10-24T10:37:20.1507459Z dist/assets/awk-BWXHIvNe.js 5.49 kB │ gzip: 1.41 kB │ map: 8.00 kB 2026-10-24T10:37:20.1507781Z dist/assets/coq-BrsZFFmf.js 5.58 kB │ gzip: 1.95 kB │ map: 7.52 kB 2026-10-24T10:37:20.1508117Z dist/assets/jinja-C4P3y_qB.js 5.67 kB │ gzip: 1.39 kB │ map: 8.57 kB 2026-10-24T10:37:20.1508460Z dist/assets/guideRunStore-BANclb7P.js 5.75 kB │ gzip: 2.56 kB │ map: 26.93 kB 2026-10-24T10:37:20.1508817Z dist/assets/mediaReference-kU1AKWEp.js 5.76 kB │ gzip: 2.53 kB │ map: 26.43 kB 2026-10-24T10:37:20.1509168Z dist/assets/UQJE5E4I-XGBtLeTM.js 5.77 kB │ gzip: 2.87 kB │ map: 16.01 kB 2026-10-24T10:37:20.1509503Z dist/assets/settings-BCGtadGe.js 5.78 kB │ gzip: 2.48 kB │ map: 23.03 kB 2026-10-24T10:37:20.1509840Z dist/assets/primary-C1aa1hew.js 5.80 kB │ gzip: 2.27 kB │ map: 25.91 kB 2026-10-24T10:37:20.1510211Z dist/assets/lean-CewbzKMR.js 5.81 kB │ gzip: 1.95 kB │ map: 7.88 kB 2026-10-24T10:37:20.1510550Z dist/assets/moonbit-CaWjb8XO.js 5.93 kB │ gzip: 1.71 kB │ map: 8.68 kB 2026-10-24T10:37:20.1510892Z dist/assets/powerquery-DNMTfnFr.js 5.94 kB │ gzip: 1.54 kB │ map: 8.52 kB 2026-10-24T10:37:20.1511238Z dist/assets/shaderlab-TOUzSsQk.js 5.96 kB │ gzip: 2.11 kB │ map: 7.73 kB 2026-10-24T10:37:20.1511575Z dist/assets/verilog-CiiDBU1e.js 5.96 kB │ gzip: 1.93 kB │ map: 8.03 kB 2026-10-24T10:37:20.1511909Z dist/assets/cypher-ClKdZ_lG.js 5.99 kB │ gzip: 1.75 kB │ map: 8.44 kB 2026-10-24T10:37:20.1512235Z dist/assets/zap-CU6xHUKO.js 6.12 kB │ gzip: 2.29 kB │ map: 26.87 kB 2026-10-24T10:37:20.1512560Z dist/assets/vb-Djn5o6TS.js 6.12 kB │ gzip: 2.37 kB │ map: 8.05 kB 2026-10-24T10:37:20.1512898Z dist/assets/input-group-Dmq2gBRt.js 6.15 kB │ gzip: 1.93 kB │ map: 11.42 kB 2026-10-24T10:37:20.1513256Z dist/assets/color-picker-CG9q3ceW.js 6.27 kB │ gzip: 2.93 kB │ map: 27.68 kB 2026-10-24T10:37:20.1513628Z dist/assets/KeybindingsSettings.logic-UrZiEQg4.js 6.28 kB │ gzip: 2.54 kB │ map: 27.02 kB 2026-10-24T10:37:20.1513986Z dist/assets/red-CJ3rzSJv.js 6.30 kB │ gzip: 1.63 kB │ map: 8.89 kB 2026-10-24T10:37:20.1514316Z dist/assets/min-dark-BSWPekZh.js 6.33 kB │ gzip: 1.74 kB │ map: 8.63 kB 2026-10-24T10:37:20.1514656Z dist/assets/gdshader-CBce3t8t.js 6.36 kB │ gzip: 1.75 kB │ map: 9.20 kB 2026-10-24T10:37:20.1514988Z dist/assets/prisma-BsRQq5mF.js 6.36 kB │ gzip: 1.42 kB │ map: 9.28 kB 2026-10-24T10:37:20.1515313Z dist/assets/ara-4CJ0cIlV.js 6.39 kB │ gzip: 1.84 kB │ map: 9.26 kB 2026-10-24T10:37:20.1515847Z dist/assets/ConnectionDiagnosisDetails-C7mDEURv.js 6.40 kB │ gzip: 2.80 kB │ map: 28.56 kB 2026-10-24T10:37:20.1516212Z dist/assets/DYY6UVD2-DJPxh3Kr.js 6.44 kB │ gzip: 3.04 kB │ map: 16.52 kB 2026-10-24T10:37:20.1516549Z dist/assets/clojure-DqKBuwfJ.js 6.45 kB │ gzip: 1.45 kB │ map: 9.29 kB 2026-10-24T10:37:20.1516883Z dist/assets/postcss-BXeXVLqQ.js 6.45 kB │ gzip: 1.94 kB │ map: 9.12 kB 2026-10-24T10:37:20.1517218Z dist/assets/toml-CcmNWLt0.js 6.46 kB │ gzip: 1.31 kB │ map: 9.48 kB 2026-10-24T10:37:20.1517560Z dist/assets/solarized-light-DSh2HLQt.js 6.53 kB │ gzip: 1.75 kB │ map: 9.25 kB 2026-10-24T10:37:20.1517943Z dist/assets/scheduledTasksSettings.logic-B29w0ent.js 6.53 kB │ gzip: 2.67 kB │ map: 25.74 kB 2026-10-24T10:37:20.1518311Z dist/assets/proto-DB4EqR-F.js 6.58 kB │ gzip: 1.45 kB │ map: 9.91 kB 2026-10-24T10:37:20.1518656Z dist/assets/smalltalk-B16xEiuN.js 6.62 kB │ gzip: 1.65 kB │ map: 9.26 kB 2026-10-24T10:37:20.1518982Z dist/assets/r-D4tONY_S.js 6.63 kB │ gzip: 1.86 kB │ map: 10.16 kB 2026-10-24T10:37:20.1519318Z dist/assets/talonscript-CohzipZa.js 6.79 kB │ gzip: 1.52 kB │ map: 10.08 kB 2026-10-24T10:37:20.1519667Z dist/assets/solarized-dark-DV17i1UV.js 6.89 kB │ gzip: 1.81 kB │ map: 9.71 kB 2026-10-24T10:37:20.1520021Z dist/assets/riscv-Ckw8ddFX.js 6.95 kB │ gzip: 2.01 kB │ map: 9.60 kB 2026-10-24T10:37:20.1520368Z dist/assets/soy-BZidhfq9.js 6.96 kB │ gzip: 1.66 kB │ map: 10.74 kB 2026-10-24T10:37:20.1520701Z dist/assets/min-light-DDpmG2fV.js 7.01 kB │ gzip: 1.92 kB │ map: 9.56 kB 2026-10-24T10:37:20.1521039Z dist/assets/4UO7MD6I-DESh1PV4.js 7.08 kB │ gzip: 3.24 kB │ map: 18.76 kB 2026-10-24T10:37:20.1521369Z dist/assets/scheme-DQCgrYNe.js 7.20 kB │ gzip: 2.08 kB │ map: 9.80 kB 2026-10-24T10:37:20.1521697Z dist/assets/O7XIQ6OM-DWFlOKvd.js 7.27 kB │ gzip: 3.30 kB │ map: 19.44 kB 2026-10-24T10:37:20.1522026Z dist/assets/hlsl-Cvrh5tZx.js 7.29 kB │ gzip: 2.21 kB │ map: 9.25 kB 2026-10-24T10:37:20.1522354Z dist/assets/YVG2LODB-DronMxiu.js 7.34 kB │ gzip: 3.35 kB │ map: 18.98 kB 2026-10-24T10:37:20.1522686Z dist/assets/qss-Fe1Jh2GI.js 7.50 kB │ gzip: 2.60 kB │ map: 9.41 kB 2026-10-24T10:37:20.1523016Z dist/assets/collapsible-BrUkBS7I.js 7.51 kB │ gzip: 3.04 kB │ map: 47.01 kB 2026-10-24T10:37:20.1523365Z dist/assets/CEQABKGZ-DbFJRJ8s.js 7.59 kB │ gzip: 3.52 kB │ map: 19.22 kB 2026-10-24T10:37:20.1523721Z dist/assets/primaryCloudLinkState-UJINEjty.js 7.66 kB │ gzip: 3.06 kB │ map: 32.30 kB 2026-10-24T10:37:20.1524084Z dist/assets/htmlRender-B0gW0epi.js 7.71 kB │ gzip: 3.15 kB │ map: 30.90 kB 2026-10-24T10:37:20.1524420Z dist/assets/checkbox-BYFBNCN9.js 7.73 kB │ gzip: 3.39 kB │ map: 42.78 kB 2026-10-24T10:37:20.1524762Z dist/assets/DiffFileTree-CrtsjOoq.js 7.75 kB │ gzip: 3.61 kB │ map: 42.65 kB 2026-10-24T10:37:20.1525106Z dist/assets/radio-group-B4aGbx2s.js 7.82 kB │ gzip: 3.33 kB │ map: 38.48 kB 2026-10-24T10:37:20.1525449Z dist/assets/systemd-BxMlprV5.js 7.90 kB │ gzip: 2.57 kB │ map: 10.64 kB 2026-10-24T10:37:20.1525869Z dist/assets/_chat.index-CiWp_GCx.js 7.92 kB │ gzip: 3.10 kB │ map: 31.56 kB 2026-10-24T10:37:20.1526281Z dist/assets/monokai-CdkpiU2Y.js 7.92 kB │ gzip: 1.94 kB │ map: 11.12 kB 2026-10-24T10:37:20.1526610Z dist/assets/index-BgS45dSt.js 8.00 kB │ gzip: 3.88 kB │ map: 1.93 kB 2026-10-24T10:37:20.1526939Z dist/assets/regexp-C160j5mr.js 8.08 kB │ gzip: 1.49 kB │ map: 11.23 kB 2026-10-24T10:37:20.1527268Z dist/assets/LUXOKEGN-DTO6l_uu.js 8.24 kB │ gzip: 3.73 kB │ map: 21.07 kB 2026-10-24T10:37:20.1527601Z dist/assets/haml-78M2RzJ5.js 8.36 kB │ gzip: 1.88 kB │ map: 12.45 kB 2026-10-24T10:37:20.1527924Z dist/assets/typst-DI99ib-x.js 8.42 kB │ gzip: 1.70 kB │ map: 12.31 kB 2026-10-24T10:37:20.1528262Z dist/assets/vue-html-_q5YSMOd.js 8.52 kB │ gzip: 1.72 kB │ map: 12.03 kB 2026-10-24T10:37:20.1528591Z dist/assets/plsql-DGHpHOYJ.js 8.54 kB │ gzip: 3.03 kB │ map: 10.90 kB 2026-10-24T10:37:20.1528915Z dist/assets/dart-CnvKMtbv.js 8.65 kB │ gzip: 2.03 kB │ map: 12.66 kB 2026-10-24T10:37:20.1529241Z dist/assets/horizon-CE9ld1lL.js 8.82 kB │ gzip: 1.98 kB │ map: 12.09 kB 2026-10-24T10:37:20.1529571Z dist/assets/kotlin-DhhofPvG.js 8.82 kB │ gzip: 2.16 kB │ map: 12.79 kB 2026-10-24T10:37:20.1529911Z dist/assets/horizon-bright-DSNQnXHK.js 8.83 kB │ gzip: 1.99 kB │ map: 12.14 kB 2026-10-24T10:37:20.1530316Z dist/assets/ProjectIconPickerDialog-C-hwULZH.js 8.92 kB │ gzip: 3.73 kB │ map: 52.01 kB 2026-10-24T10:37:20.1530670Z dist/assets/react-beAb49SJ.js 8.97 kB │ gzip: 3.50 kB │ map: 31.05 kB 2026-10-24T10:37:20.1531004Z dist/assets/make-Dixweg8N.js 8.99 kB │ gzip: 1.79 kB │ map: 12.87 kB 2026-10-24T10:37:20.1531335Z dist/assets/andromeeda-vGVdxbeo.js 9.06 kB │ gzip: 2.39 kB │ map: 11.97 kB 2026-10-24T10:37:20.1531664Z dist/assets/sas-DNZ6OI-k.js 9.10 kB │ gzip: 3.85 kB │ map: 11.14 kB 2026-10-24T10:37:20.1531994Z dist/assets/dark-plus-Cs2F2srj.js 9.14 kB │ gzip: 2.13 kB │ map: 12.44 kB 2026-10-24T10:37:20.1532332Z dist/assets/slack-dark-DnToyrRv.js 9.16 kB │ gzip: 1.99 kB │ map: 12.54 kB 2026-10-24T10:37:20.1532677Z dist/assets/connect-agent-DDUalBL_.js 9.16 kB │ gzip: 3.98 kB │ map: 39.84 kB 2026-10-24T10:37:20.1533029Z dist/assets/terminalSessions-BtEFxYhl.js 9.20 kB │ gzip: 3.19 kB │ map: 42.87 kB 2026-10-24T10:37:20.1533380Z dist/assets/2NI2N5EU-CwM7-9ni.js 9.32 kB │ gzip: 4.19 kB │ map: 24.57 kB 2026-10-24T10:37:20.1533708Z dist/assets/sass-DXrisJhu.js 9.32 kB │ gzip: 2.52 kB │ map: 13.42 kB 2026-10-24T10:37:20.1534032Z dist/assets/plastic-DQwYfKfQ.js 9.33 kB │ gzip: 2.00 kB │ map: 12.50 kB 2026-10-24T10:37:20.1534366Z dist/assets/XBNEOJTC-CTB7LU61.js 9.44 kB │ gzip: 4.24 kB │ map: 25.57 kB 2026-10-24T10:37:20.1534724Z dist/assets/use-orchestration-command-DnE0Hqwi.js 9.47 kB │ gzip: 3.02 kB │ map: 38.41 kB 2026-10-24T10:37:20.1535089Z dist/assets/slack-ochin-B2OO5cIa.js 9.47 kB │ gzip: 2.12 kB │ map: 13.13 kB 2026-10-24T10:37:20.1535421Z dist/assets/tex-D4kYGkpD.js 9.71 kB │ gzip: 3.10 kB │ map: 12.45 kB 2026-10-24T10:37:20.1535843Z dist/assets/jison-Byt20Y-H.js 9.73 kB │ gzip: 1.90 kB │ map: 14.14 kB 2026-10-24T10:37:20.1536236Z dist/assets/cmake-Bj61d0ZC.js 9.89 kB │ gzip: 3.41 kB │ map: 11.27 kB 2026-10-24T10:37:20.1536574Z dist/assets/light-plus-DVQuIRkW.js 9.98 kB │ gzip: 2.31 kB │ map: 13.44 kB 2026-10-24T10:37:20.1536948Z dist/assets/settings.open-source-licenses-gkwJPZzP.js 9.99 kB │ gzip: 4.09 kB │ map: 46.85 kB 2026-10-24T10:37:20.1537312Z dist/assets/hcl-Dh228itO.js 10.08 kB │ gzip: 1.96 kB │ map: 14.80 kB 2026-10-24T10:37:20.1537660Z dist/assets/imageCompression-CxT0071s.js 10.19 kB │ gzip: 4.08 kB │ map: 45.60 kB 2026-10-24T10:37:20.1538003Z dist/assets/rst-OA9zXOEF.js 10.35 kB │ gzip: 2.28 kB │ map: 15.73 kB 2026-10-24T10:37:20.1538331Z dist/assets/pkl-ot-7Btpt.js 10.40 kB │ gzip: 1.41 kB │ map: 15.48 kB 2026-10-24T10:37:20.1538665Z dist/assets/beancount-D-usSTwE.js 10.41 kB │ gzip: 1.46 kB │ map: 15.05 kB 2026-10-24T10:37:20.1539015Z dist/assets/nextflow-groovy-DJMQeKeT.js 10.48 kB │ gzip: 2.17 kB │ map: 15.26 kB 2026-10-24T10:37:20.1539364Z dist/assets/YURCZMG2-DSeqEvTI.js 10.49 kB │ gzip: 4.56 kB │ map: 25.28 kB 2026-10-24T10:37:20.1539698Z dist/assets/raku-B3gFvitq.js 10.50 kB │ gzip: 2.97 kB │ map: 12.92 kB 2026-10-24T10:37:20.1540063Z dist/assets/dream-maker-DW3nJb8Q.js 10.51 kB │ gzip: 2.29 kB │ map: 15.13 kB 2026-10-24T10:37:20.1540407Z dist/assets/_chat.new-CVbnre54.js 10.58 kB │ gzip: 4.55 kB │ map: 45.06 kB 2026-10-24T10:37:20.1540735Z dist/assets/yaml-DqrBPYEo.js 10.60 kB │ gzip: 2.34 kB │ map: 14.93 kB 2026-10-24T10:37:20.1541098Z dist/assets/browserHistoryStore-BABsZckh.js 10.62 kB │ gzip: 4.21 kB │ map: 55.77 kB 2026-10-24T10:37:20.1541443Z dist/assets/just-DDwlfhUt.js 10.85 kB │ gzip: 2.64 kB │ map: 15.45 kB 2026-10-24T10:37:20.1541768Z dist/assets/elm-ByOPkR8C.js 10.98 kB │ gzip: 2.13 kB │ map: 16.07 kB 2026-10-24T10:37:20.1542099Z dist/assets/phoneViewer-BKEMpWUu.js 11.04 kB │ gzip: 4.64 kB │ map: 49.75 kB 2026-10-24T10:37:20.1542512Z dist/assets/K7RP3OMA-B5JziAwu.js 11.18 kB │ gzip: 5.02 kB │ map: 29.89 kB 2026-10-24T10:37:20.1542852Z dist/assets/github-light-EUqPIrTm.js 11.23 kB │ gzip: 2.53 kB │ map: 15.44 kB 2026-10-24T10:37:20.1543193Z dist/assets/prolog-iXnhIJG7.js 11.39 kB │ gzip: 3.88 kB │ map: 13.31 kB 2026-10-24T10:37:20.1543530Z dist/assets/terraform-DswuEJGm.js 11.42 kB │ gzip: 2.54 kB │ map: 16.23 kB 2026-10-24T10:37:20.1543876Z dist/assets/github-dark-C-LZuMrd.js 11.45 kB │ gzip: 2.56 kB │ map: 15.70 kB 2026-10-24T10:37:20.1544209Z dist/assets/puppet-CDv2pdJW.js 11.47 kB │ gzip: 2.14 kB │ map: 16.33 kB 2026-10-24T10:37:20.1544545Z dist/assets/77XECAW3-4WuT3--M.js 11.54 kB │ gzip: 5.35 kB │ map: 27.96 kB 2026-10-24T10:37:20.1544879Z dist/assets/laserwave-C_8bwKvT.js 11.54 kB │ gzip: 2.61 kB │ map: 14.72 kB 2026-10-24T10:37:20.1545225Z dist/assets/ProjectFavicon-II79gAc_.js 11.76 kB │ gzip: 5.19 kB │ map: 15.88 kB 2026-10-24T10:37:20.1545566Z dist/assets/gherkin-DExj1W_8.js 11.98 kB │ gzip: 5.08 kB │ map: 13.13 kB 2026-10-24T10:37:20.1545997Z dist/assets/wasm-ByWQv1Qj.js 12.04 kB │ gzip: 2.21 kB │ map: 16.85 kB 2026-10-24T10:37:20.1546403Z dist/assets/hjson-CxZEssPk.js 12.08 kB │ gzip: 1.67 kB │ map: 17.29 kB 2026-10-24T10:37:20.1546735Z dist/assets/YHV2MVVZ-AXEQJ397.js 12.09 kB │ gzip: 5.11 kB │ map: 36.55 kB 2026-10-24T10:37:20.1547067Z dist/assets/ABYRPUBD-C42t8KwV.js 12.11 kB │ gzip: 3.25 kB │ map: 36.28 kB 2026-10-24T10:37:20.1547405Z dist/assets/handlebars-C2O4g9kv.js 12.21 kB │ gzip: 2.41 kB │ map: 17.46 kB 2026-10-24T10:37:20.1547772Z dist/assets/ProjectDefaultsSettings-XK34qnHm.js 12.42 kB │ gzip: 4.47 kB │ map: 67.99 kB 2026-10-24T10:37:20.1548131Z dist/assets/apache-U0d_L8uA.js 12.49 kB │ gzip: 3.74 kB │ map: 15.96 kB 2026-10-24T10:37:20.1548458Z dist/assets/vesper-DdrHHSXu.js 12.77 kB │ gzip: 2.03 kB │ map: 16.24 kB 2026-10-24T10:37:20.1548822Z dist/assets/ProviderSettingsForm-h2yzd6CM.js 12.91 kB │ gzip: 4.89 kB │ map: 60.05 kB 2026-10-24T10:37:20.1549170Z dist/assets/bat-Bo4NYOV-.js 12.92 kB │ gzip: 3.26 kB │ map: 17.40 kB 2026-10-24T10:37:20.1549496Z dist/assets/fish-BJitypiv.js 13.07 kB │ gzip: 1.76 kB │ map: 16.86 kB 2026-10-24T10:37:20.1549821Z dist/assets/qr-code-CmPFsYWt.js 13.19 kB │ gzip: 5.02 kB │ map: 49.58 kB 2026-10-24T10:37:20.1550183Z dist/assets/v-DETTlOr0.js 13.24 kB │ gzip: 2.76 kB │ map: 19.27 kB 2026-10-24T10:37:20.1550507Z dist/assets/NUIALGQ3-Dt09rVQp.js 13.25 kB │ gzip: 5.62 kB │ map: 40.22 kB 2026-10-24T10:37:20.1550842Z dist/assets/OFQON5FD-DCkRbLqF.js 13.49 kB │ gzip: 5.51 kB │ map: 34.02 kB 2026-10-24T10:37:20.1551184Z dist/assets/vitesse-light-VbXTXTou.js 13.66 kB │ gzip: 3.06 kB │ map: 18.57 kB 2026-10-24T10:37:20.1551661Z dist/assets/aurora-x-CDeNXAV0.js 13.70 kB │ gzip: 2.32 kB │ map: 17.59 kB 2026-10-24T10:37:20.1552182Z dist/assets/vitesse-black-fwtXNY1n.js 13.72 kB │ gzip: 3.09 kB │ map: 18.66 kB 2026-10-24T10:37:20.1552712Z dist/assets/vitesse-dark-BZCL-v6S.js 13.80 kB │ gzip: 3.10 kB │ map: 18.73 kB 2026-10-24T10:37:20.1553239Z dist/assets/DeviceSetup-BDYkk5it.js 13.81 kB │ gzip: 5.11 kB │ map: 59.86 kB 2026-10-24T10:37:20.1553756Z dist/assets/pug-H48468vj.js 13.89 kB │ gzip: 2.62 kB │ map: 20.57 kB 2026-10-24T10:37:20.1554264Z dist/assets/synthwave-84-nFMaYfgc.js 14.08 kB │ gzip: 2.88 kB │ map: 19.12 kB 2026-10-24T10:37:20.1554795Z dist/assets/PJQHF43J-Canzoatt.js 14.12 kB │ gzip: 5.87 kB │ map: 39.03 kB 2026-10-24T10:37:20.1555338Z dist/assets/github-light-default-BXViO-2h.js 14.21 kB │ gzip: 3.05 kB │ map: 19.30 kB 2026-10-24T10:37:20.1555877Z dist/assets/clarity-SemFz856.js 14.31 kB │ gzip: 2.50 kB │ map: 19.95 kB 2026-10-24T10:37:20.1556426Z dist/assets/github-light-high-contrast-B68TUdTA.js 14.33 kB │ gzip: 3.03 kB │ map: 19.48 kB 2026-10-24T10:37:20.1557000Z dist/assets/github-dark-dimmed-Bx1FflLF.js 14.48 kB │ gzip: 3.15 kB │ map: 19.67 kB 2026-10-24T10:37:20.1557546Z dist/assets/github-dark-default-DXG-b-1a.js 14.48 kB │ gzip: 3.15 kB │ map: 19.68 kB 2026-10-24T10:37:20.1558078Z dist/assets/X62E3GBT-DN8tbdfH.js 14.54 kB │ gzip: 6.34 kB │ map: 39.30 kB 2026-10-24T10:37:20.1558612Z dist/assets/github-dark-high-contrast-B_tTalzw.js 14.65 kB │ gzip: 3.11 kB │ map: 19.91 kB 2026-10-24T10:37:20.1559386Z dist/assets/gnuplot-7GGW24-e.js 14.82 kB │ gzip: 3.31 kB │ map: 20.83 kB 2026-10-24T10:37:20.1559880Z dist/assets/rust-Cfkwpbl8.js 15.10 kB │ gzip: 2.75 kB │ map: 21.47 kB 2026-10-24T10:37:20.1560422Z dist/assets/FNOVOB4O-o7_AuXvK.js 15.14 kB │ gzip: 5.88 kB │ map: 38.44 kB 2026-10-24T10:37:20.1560927Z dist/assets/threadSort-Bhe0gwLq.js 15.17 kB │ gzip: 4.74 kB │ map: 61.83 kB 2026-10-24T10:37:20.1561429Z dist/assets/kusto-C7mF5XQf.js 15.20 kB │ gzip: 3.96 kB │ map: 19.63 kB 2026-10-24T10:37:20.1561939Z dist/assets/actionscript-3--17pq3dv.js 15.25 kB │ gzip: 2.71 kB │ map: 21.47 kB 2026-10-24T10:37:20.1562490Z dist/assets/usePullRequestActions-CO8ZgO-r.js 15.39 kB │ gzip: 5.13 kB │ map: 64.20 kB 2026-10-24T10:37:20.1563029Z dist/assets/duoViewer-CliPsfwJ.js 15.46 kB │ gzip: 6.05 kB │ map: 65.43 kB 2026-10-24T10:37:20.1563546Z dist/assets/nix-IvuFDN5E.js 15.54 kB │ gzip: 2.51 kB │ map: 22.93 kB 2026-10-24T10:37:20.1564052Z dist/assets/lua-1Va2DEvn.js 15.63 kB │ gzip: 3.22 kB │ map: 22.17 kB 2026-10-24T10:37:20.1564580Z dist/assets/luau-FMPmPwt6.js 15.66 kB │ gzip: 3.42 kB │ map: 21.88 kB 2026-10-24T10:37:20.1564916Z dist/assets/abap-CLvhMVsD.js 15.88 kB │ gzip: 5.96 kB │ map: 18.85 kB 2026-10-24T10:37:20.1565243Z dist/assets/solidity-CKzVLygQ.js 16.11 kB │ gzip: 3.13 kB │ map: 23.46 kB 2026-10-24T10:37:20.1565571Z dist/assets/matlab-D7qyCx1q.js 16.12 kB │ gzip: 3.10 kB │ map: 23.37 kB 2026-10-24T10:37:20.1565897Z dist/assets/cue-CE9AQfxI.js 16.23 kB │ gzip: 2.08 kB │ map: 23.80 kB 2026-10-24T10:37:20.1566227Z dist/assets/elixir-CrKEldnf.js 16.30 kB │ gzip: 2.79 kB │ map: 23.18 kB 2026-10-24T10:37:20.1566556Z dist/assets/dialog-CDEP79xV.js 16.37 kB │ gzip: 5.61 kB │ map: 77.01 kB 2026-10-24T10:37:20.1566896Z dist/assets/rightPanelStore-C1Evjvvb.js 16.38 kB │ gzip: 4.67 kB │ map: 78.50 kB 2026-10-24T10:37:20.1567237Z dist/assets/odin-B1RWQWA5.js 16.54 kB │ gzip: 2.96 kB │ map: 23.80 kB 2026-10-24T10:37:20.1567560Z dist/assets/X5RFHQXM-Dt8tHo69.js 16.59 kB │ gzip: 7.04 kB │ map: 42.63 kB 2026-10-24T10:37:20.1567891Z dist/assets/ts-tags-iKEdjM6n.js 16.59 kB │ gzip: 2.09 kB │ map: 24.94 kB 2026-10-24T10:37:20.1568224Z dist/assets/scroll-area-D1NIdzjt.js 16.78 kB │ gzip: 5.98 kB │ map: 85.84 kB 2026-10-24T10:37:20.1568571Z dist/assets/popover-BzVW7F4K.js 17.14 kB │ gzip: 6.45 kB │ map: 90.10 kB 2026-10-24T10:37:20.1568906Z dist/assets/kanagawa-wave-CTweb8Dz.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-24T10:37:20.1569253Z dist/assets/kanagawa-lotus-BN08jTvb.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-24T10:37:20.1569600Z dist/assets/kanagawa-dragon-CXtmUGW6.js 17.17 kB │ gzip: 2.96 kB │ map: 22.31 kB 2026-10-24T10:37:20.1569955Z dist/assets/projectScriptEditor-CJo5almU.js 17.39 kB │ gzip: 6.69 kB │ map: 100.01 kB 2026-10-24T10:37:20.1570328Z dist/assets/move-B1IS1UjX.js 17.54 kB │ gzip: 3.10 kB │ map: 26.27 kB 2026-10-24T10:37:20.1570650Z dist/assets/command-DB-fc2u_.js 17.80 kB │ gzip: 4.81 kB │ map: 70.69 kB 2026-10-24T10:37:20.1571071Z dist/assets/pullRequests-DgKnczF5.js 17.90 kB │ gzip: 6.20 kB │ map: 87.71 kB 2026-10-24T10:37:20.1571470Z dist/assets/link-DtARd8Je.js 17.95 kB │ gzip: 6.74 kB │ map: 91.88 kB 2026-10-24T10:37:20.1571793Z dist/assets/graphql-f7MMklYv.js 18.12 kB │ gzip: 2.56 kB │ map: 25.58 kB 2026-10-24T10:37:20.1572114Z dist/assets/liquid-NR0kReLd.js 18.14 kB │ gzip: 3.18 kB │ map: 25.31 kB 2026-10-24T10:37:20.1572466Z dist/assets/T3ConnectAccountPages-D-qn8118.js 18.25 kB │ gzip: 6.37 kB │ map: 80.99 kB 2026-10-24T10:37:20.1572804Z dist/assets/svelte-D_LLVCZp.js 18.29 kB │ gzip: 3.18 kB │ map: 25.82 kB 2026-10-24T10:37:20.1573139Z dist/assets/material-theme-Bm3Qr25_.js 18.66 kB │ gzip: 3.14 kB │ map: 24.14 kB 2026-10-24T10:37:20.1573494Z dist/assets/material-theme-ocean-CHQ94UKr.js 18.68 kB │ gzip: 3.16 kB │ map: 24.18 kB 2026-10-24T10:37:20.1573935Z dist/assets/material-theme-darker-2IIEA8gg.js 18.68 kB │ gzip: 3.13 kB │ map: 24.18 kB 2026-10-24T10:37:20.1574300Z dist/assets/material-theme-lighter-uhdI0v04.js 18.69 kB │ gzip: 3.14 kB │ map: 24.19 kB 2026-10-24T10:37:20.1574672Z dist/assets/material-theme-palenight-B5W6OYN7.js 18.69 kB │ gzip: 3.15 kB │ map: 24.20 kB 2026-10-24T10:37:20.1575045Z dist/assets/pullRequestDetail.logic-B0eVzlh0.js 18.74 kB │ gzip: 6.68 kB │ map: 76.50 kB 2026-10-24T10:37:20.1575393Z dist/assets/gdscript-Cp2uCuqX.js 19.03 kB │ gzip: 3.78 kB │ map: 26.26 kB 2026-10-24T10:37:20.1575715Z dist/assets/USNYFO5S-YMHKUdIl.js 19.10 kB │ gzip: 7.42 kB │ map: 47.26 kB 2026-10-24T10:37:20.1576036Z dist/assets/groovy-CacY0gHj.js 19.21 kB │ gzip: 3.63 kB │ map: 27.53 kB 2026-10-24T10:37:20.1576372Z dist/assets/settings.storage-D-QYAe48.js 19.43 kB │ gzip: 6.98 kB │ map: 104.83 kB 2026-10-24T10:37:20.1576704Z dist/assets/mdc-BszP3a5M.js 19.58 kB │ gzip: 6.70 kB │ map: 23.16 kB 2026-10-24T10:37:20.1577019Z dist/assets/server-CsATuq4U.js 19.96 kB │ gzip: 6.16 kB │ map: 117.05 kB 2026-10-24T10:37:20.1577342Z dist/assets/ayu-dark-DluEY0Gj.js 20.12 kB │ gzip: 3.96 kB │ map: 27.06 kB 2026-10-24T10:37:20.1577667Z dist/assets/ayu-mirage-Bqwy1Gya.js 20.13 kB │ gzip: 3.95 kB │ map: 27.08 kB 2026-10-24T10:37:20.1578006Z dist/assets/glimmer-js-BDXa_Fyc.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-24T10:37:20.1578333Z dist/assets/glimmer-ts-Bj66Y8fi.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-24T10:37:20.1578674Z dist/assets/powershell-DshXNtvi.js 20.19 kB │ gzip: 4.09 kB │ map: 26.60 kB 2026-10-24T10:37:20.1579007Z dist/assets/ayu-light-C3h-C4tm.js 20.19 kB │ gzip: 3.93 kB │ map: 27.14 kB 2026-10-24T10:37:20.1579337Z dist/assets/entities-n1FjKtmh.js 20.36 kB │ gzip: 6.88 kB │ map: 134.76 kB 2026-10-24T10:37:20.1579658Z dist/assets/viml-DvXPmvsu.js 20.40 kB │ gzip: 6.77 kB │ map: 23.51 kB 2026-10-24T10:37:20.1579979Z dist/assets/DRLTVNUE-D_-HYmVj.js 20.40 kB │ gzip: 7.66 kB │ map: 50.95 kB 2026-10-24T10:37:20.1580333Z dist/assets/nushell-DcLAeLz5.js 20.45 kB │ gzip: 5.25 kB │ map: 27.67 kB 2026-10-24T10:37:20.1580652Z dist/assets/HSJLKHB7-C0Tefnj_.js 20.80 kB │ gzip: 8.63 kB │ map: 57.03 kB 2026-10-24T10:37:20.1581049Z dist/assets/snazzy-light-4G7pJPwS.js 20.82 kB │ gzip: 3.84 kB │ map: 28.03 kB 2026-10-24T10:37:20.1581451Z dist/assets/twig-Ci9rMG4p.js 20.94 kB │ gzip: 3.70 kB │ map: 29.33 kB 2026-10-24T10:37:20.1581764Z dist/assets/dracula-BHWKrbxM.js 21.10 kB │ gzip: 4.03 kB │ map: 27.51 kB 2026-10-24T10:37:20.1582097Z dist/assets/dracula-soft-5eyTD99u.js 21.12 kB │ gzip: 4.06 kB │ map: 27.54 kB 2026-10-24T10:37:20.1582930Z dist/assets/number-field-cAAp2t0P.js 21.14 kB │ gzip: 8.04 kB │ map: 104.64 kB 2026-10-24T10:37:20.1583321Z dist/assets/wit-DdvCle-K.js 21.50 kB │ gzip: 2.91 kB │ map: 30.11 kB 2026-10-24T10:37:20.1583670Z dist/assets/rose-pine-BthvhNj6.js 21.78 kB │ gzip: 3.90 kB │ map: 28.78 kB 2026-10-24T10:37:20.1584017Z dist/assets/rose-pine-moon-hon4tzzS.js 21.80 kB │ gzip: 3.91 kB │ map: 28.81 kB 2026-10-24T10:37:20.1584362Z dist/assets/rose-pine-dawn-Dg85fqjY.js 21.80 kB │ gzip: 3.92 kB │ map: 28.81 kB 2026-10-24T10:37:20.1584709Z dist/assets/useStableCallback-z_SONSIp.js 22.26 kB │ gzip: 9.25 kB │ map: 690.61 kB 2026-10-24T10:37:20.1585036Z dist/assets/nim-BM9Yvas0.js 22.49 kB │ gzip: 3.19 kB │ map: 32.88 kB 2026-10-24T10:37:20.1585358Z dist/assets/common-lisp-Cv5bFMCO.js 22.62 kB │ gzip: 6.11 kB │ map: 26.69 kB 2026-10-24T10:37:20.1585686Z dist/assets/surrealql-BhXwxFwT.js 22.63 kB │ gzip: 4.34 kB │ map: 32.51 kB 2026-10-24T10:37:20.1586028Z dist/assets/gruvbox-dark-hard-C820rvS2.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T10:37:20.1586371Z dist/assets/gruvbox-dark-soft-MrdJrrXF.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T10:37:20.1586730Z dist/assets/gruvbox-light-hard-BC_s9l72.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T10:37:20.1587076Z dist/assets/gruvbox-light-soft-BSMLrYjP.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-24T10:37:20.1587430Z dist/assets/gruvbox-dark-medium-BPjhmG05.js 22.69 kB │ gzip: 4.19 kB │ map: 30.60 kB 2026-10-24T10:37:20.1587786Z dist/assets/gruvbox-light-medium-BAWPOn9u.js 22.69 kB │ gzip: 4.20 kB │ map: 30.61 kB 2026-10-24T10:37:20.1588126Z dist/assets/bird2-C6vDhewU.js 22.97 kB │ gzip: 4.69 kB │ map: 31.06 kB 2026-10-24T10:37:20.1588446Z dist/assets/5OC2THR4-wh3rgeFv.js 23.28 kB │ gzip: 9.38 kB │ map: 61.59 kB 2026-10-24T10:37:20.1588769Z dist/assets/sql-DJtPbMSQ.js 23.52 kB │ gzip: 7.54 kB │ map: 27.96 kB 2026-10-24T10:37:20.1589096Z dist/assets/cadence-CQ2zXKGN.js 23.70 kB │ gzip: 3.69 kB │ map: 33.59 kB 2026-10-24T10:37:20.1589635Z dist/assets/astro-BmmE1wns.js 24.06 kB │ gzip: 7.63 kB │ map: 29.26 kB 2026-10-24T10:37:20.1589955Z dist/assets/apl-Dbn5QvGU.js 24.07 kB │ gzip: 4.20 kB │ map: 33.43 kB 2026-10-24T10:37:20.1590397Z dist/assets/templ-ChNxr6tm.js 24.10 kB │ gzip: 5.45 kB │ map: 30.96 kB 2026-10-24T10:37:20.1590721Z dist/assets/SLD4V6NK-Ct51Z4NK.js 24.20 kB │ gzip: 10.11 kB │ map: 66.35 kB 2026-10-24T10:37:20.1591053Z dist/assets/angular-html-CHSubNNg.js 24.28 kB │ gzip: 4.02 kB │ map: 35.88 kB 2026-10-24T10:37:20.1591378Z dist/assets/vhdl-BroJfC0k.js 24.29 kB │ gzip: 3.90 kB │ map: 33.38 kB 2026-10-24T10:37:20.1591786Z dist/assets/vue-DhtZA_zP.js 24.53 kB │ gzip: 2.99 kB │ map: 36.98 kB 2026-10-24T10:37:20.1592232Z dist/assets/purescript-9MfHhQsQ.js 24.72 kB │ gzip: 3.27 kB │ map: 34.90 kB 2026-10-24T10:37:20.1592602Z dist/assets/typespec-BRdr0IET.js 25.08 kB │ gzip: 2.66 kB │ map: 34.70 kB 2026-10-24T10:37:20.1593092Z dist/assets/one-light-D7Lr4KcI.js 25.34 kB │ gzip: 3.67 kB │ map: 33.81 kB 2026-10-24T10:37:20.1593420Z dist/assets/fsharp-D13ZGOAj.js 25.34 kB │ gzip: 4.16 kB │ map: 35.90 kB 2026-10-24T10:37:20.1593738Z dist/assets/marko-BaagTwf0.js 25.52 kB │ gzip: 3.62 kB │ map: 35.92 kB 2026-10-24T10:37:20.1594075Z dist/assets/night-owl-light-eJ-hLW7d.js 25.95 kB │ gzip: 4.27 kB │ map: 35.17 kB 2026-10-24T10:37:20.1594422Z dist/assets/system-verilog-DJ5XKQeo.js 26.24 kB │ gzip: 4.86 kB │ map: 36.27 kB 2026-10-24T10:37:20.1594780Z dist/assets/useThreadActions-DSd7F5r9.js 26.34 kB │ gzip: 8.48 kB │ map: 129.82 kB 2026-10-24T10:37:20.1595112Z dist/assets/nord-Cb4Vim4T.js 26.76 kB │ gzip: 4.39 kB │ map: 35.36 kB 2026-10-24T10:37:20.1595449Z dist/assets/codeql-oeQT6MSM.js 26.92 kB │ gzip: 3.83 kB │ map: 36.02 kB 2026-10-24T10:37:20.1595764Z dist/assets/c3-BFHwR3_K.js 27.00 kB │ gzip: 3.96 kB │ map: 39.15 kB 2026-10-24T10:37:20.1596084Z dist/assets/T3PCR2KE-Bkac9TmK.js 27.06 kB │ gzip: 11.16 kB │ map: 74.49 kB 2026-10-24T10:37:20.1596404Z dist/assets/scss-DQyDwCYy.js 27.30 kB │ gzip: 4.26 kB │ map: 38.39 kB 2026-10-24T10:37:20.1596722Z dist/assets/java-CF-jL4AX.js 27.31 kB │ gzip: 4.34 kB │ map: 38.66 kB 2026-10-24T10:37:20.1597043Z dist/assets/coffee-BHyBL9L1.js 27.46 kB │ gzip: 6.39 kB │ map: 36.12 kB 2026-10-24T10:37:20.1597368Z dist/assets/razor-CRS4rNJT.js 27.49 kB │ gzip: 3.58 kB │ map: 38.35 kB 2026-10-24T10:37:20.1597692Z dist/assets/BB2UYUI2-CFKPZbPH.js 28.18 kB │ gzip: 10.96 kB │ map: 75.19 kB 2026-10-24T10:37:20.1598019Z dist/assets/sidebar-C4iKxyHZ.js 28.33 kB │ gzip: 9.12 kB │ map: 123.41 kB 2026-10-24T10:37:20.1598338Z dist/assets/scala-DKOlJaKm.js 28.92 kB │ gzip: 3.96 kB │ map: 40.12 kB 2026-10-24T10:37:20.1598664Z dist/assets/night-owl-DhmEMT88.js 28.95 kB │ gzip: 5.18 kB │ map: 39.06 kB 2026-10-24T10:37:20.1598996Z dist/assets/select-B3U6gMRO.js 29.01 kB │ gzip: 10.87 kB │ map: 139.91 kB 2026-10-24T10:37:20.1599418Z dist/assets/crystal-xgOldvWp.js 29.45 kB │ gzip: 4.47 kB │ map: 41.29 kB 2026-10-24T10:37:20.1599854Z dist/assets/mermaid-Bk4SNUv9.js 29.54 kB │ gzip: 3.68 kB │ map: 44.12 kB 2026-10-24T10:37:20.1600292Z dist/assets/applescript-CCn79oCD.js 29.61 kB │ gzip: 5.98 kB │ map: 39.35 kB 2026-10-24T10:37:20.1600653Z dist/assets/BUM34MOA-lse8TkEC.js 30.12 kB │ gzip: 11.45 kB │ map: 75.42 kB 2026-10-24T10:37:20.1600983Z dist/assets/75O6YZUN-CgkVk7wp.js 30.19 kB │ gzip: 11.64 kB │ map: 77.70 kB 2026-10-24T10:37:20.1601321Z dist/assets/pierre-dark-CpLgRqie.js 30.59 kB │ gzip: 4.77 kB │ map: 34.24 kB 2026-10-24T10:37:20.1601665Z dist/assets/pierre-light-CoaEpmwp.js 30.59 kB │ gzip: 4.77 kB │ map: 34.25 kB 2026-10-24T10:37:20.1602017Z dist/assets/pierre-dark-soft-kZQmAZld.js 30.61 kB │ gzip: 4.81 kB │ map: 34.27 kB 2026-10-24T10:37:20.1602386Z dist/assets/pierre-light-soft-lWLdNTOI.js 30.61 kB │ gzip: 4.77 kB │ map: 34.27 kB 2026-10-24T10:37:20.1602759Z dist/assets/pierre-dark-tritanopia-CpjhbsIL.js 30.62 kB │ gzip: 4.72 kB │ map: 34.30 kB 2026-10-24T10:37:20.1603138Z dist/assets/pierre-light-tritanopia-CEbqgOJL.js 30.63 kB │ gzip: 4.73 kB │ map: 34.30 kB 2026-10-24T10:37:20.1603543Z dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js 30.66 kB │ gzip: 4.80 kB │ map: 34.36 kB 2026-10-24T10:37:20.1603965Z dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js 30.67 kB │ gzip: 4.76 kB │ map: 34.37 kB 2026-10-24T10:37:20.1604362Z dist/assets/ChatGptUsageButton-kJc6WPX3.js 30.79 kB │ gzip: 12.01 kB │ map: 117.44 kB 2026-10-24T10:37:20.1604713Z dist/assets/julia-BAkj-Grs.js 31.05 kB │ gzip: 4.34 kB │ map: 40.65 kB 2026-10-24T10:37:20.1605045Z dist/assets/stylus-B6D30XZt.js 31.11 kB │ gzip: 8.05 kB │ map: 38.88 kB 2026-10-24T10:37:20.1605376Z dist/assets/N3JZAHOW-B2IGTfXL.js 32.62 kB │ gzip: 13.28 kB │ map: 101.23 kB 2026-10-24T10:37:20.1605710Z dist/assets/queries-mP1rY_nU.js 32.74 kB │ gzip: 12.07 kB │ map: 163.38 kB 2026-10-24T10:37:20.1606045Z dist/assets/poimandres-DRFjx7u4.js 33.53 kB │ gzip: 5.53 kB │ map: 43.07 kB 2026-10-24T10:37:20.1606389Z dist/assets/one-dark-pro-CLwyXe_n.js 33.83 kB │ gzip: 5.54 kB │ map: 44.51 kB 2026-10-24T10:37:20.1606717Z dist/assets/bsl-BkkzgIyY.js 33.90 kB │ gzip: 8.38 kB │ map: 37.63 kB 2026-10-24T10:37:20.1607047Z dist/assets/O65XPQGZ-Bb9QQXJq.js 34.10 kB │ gzip: 12.69 kB │ map: 86.95 kB 2026-10-24T10:37:20.1607387Z dist/assets/UsageLimits-C8CNa72k.js 34.31 kB │ gzip: 11.87 kB │ map: 148.44 kB 2026-10-24T10:37:20.1607724Z dist/assets/haxe-OTjmBuCE.js 35.19 kB │ gzip: 5.94 kB │ map: 49.52 kB 2026-10-24T10:37:20.1608045Z dist/assets/nginx-Bunv6cTi.js 35.39 kB │ gzip: 4.49 kB │ map: 48.50 kB 2026-10-24T10:37:20.1608374Z dist/assets/houston-CsvMBhTu.js 35.46 kB │ gzip: 5.80 kB │ map: 46.40 kB 2026-10-24T10:37:20.1608711Z dist/assets/tokyo-night-oM2G3aXe.js 35.71 kB │ gzip: 6.26 kB │ map: 45.35 kB 2026-10-24T10:37:20.1609077Z dist/assets/CodexSetupSection.logic-8L2OJlwU.js 36.12 kB │ gzip: 12.96 kB │ map: 164.42 kB 2026-10-24T10:37:20.1609450Z dist/assets/settings.keybindings-CLoXZ_Sy.js 37.18 kB │ gzip: 12.44 kB │ map: 164.58 kB 2026-10-24T10:37:20.1609803Z dist/assets/erlang-Cphh6RMH.js 37.52 kB │ gzip: 4.39 kB │ map: 51.59 kB 2026-10-24T10:37:20.1610404Z dist/assets/lazy-BdA5pKyY.js 38.37 kB │ gzip: 16.01 kB │ map: 81.90 kB 2026-10-24T10:37:20.1610824Z dist/assets/settings.projects-D44xsXUw.js 39.03 kB │ gzip: 15.30 kB │ map: 163.46 kB 2026-10-24T10:37:20.1611193Z dist/assets/PullRequestCodeTab-CcRBSC6V.js 39.04 kB │ gzip: 14.39 kB │ map: 181.69 kB 2026-10-24T10:37:20.1611555Z dist/assets/useSettings-B07dZG0z.js 39.05 kB │ gzip: 13.38 kB │ map: 174.19 kB 2026-10-24T10:37:20.1611892Z dist/assets/cobol-DlmPKder.js 39.11 kB │ gzip: 10.92 kB │ map: 47.39 kB 2026-10-24T10:37:20.1612229Z dist/assets/TKWO2OVW-BE6vXlTs.js 39.43 kB │ gzip: 14.77 kB │ map: 97.94 kB 2026-10-24T10:37:20.1612576Z dist/assets/ThemeEditorPanel-B6zEdenq.js 40.14 kB │ gzip: 14.48 kB │ map: 189.11 kB 2026-10-24T10:37:20.1612925Z dist/assets/asm-Cmm7eHzH.js 40.75 kB │ gzip: 8.20 kB │ map: 53.00 kB 2026-10-24T10:37:20.1613257Z dist/assets/RHNBAITX-5HV1Btnq.js 41.31 kB │ gzip: 15.53 kB │ map: 105.33 kB 2026-10-24T10:37:20.1613594Z dist/assets/haskell-D8IpX4py.js 41.52 kB │ gzip: 6.44 kB │ map: 57.85 kB 2026-10-24T10:37:20.1613934Z dist/assets/shellscript-y5xaAa26.js 41.58 kB │ gzip: 6.16 kB │ map: 56.57 kB 2026-10-24T10:37:20.1614277Z dist/assets/combobox-DrQ0YW6N.js 41.97 kB │ gzip: 14.24 kB │ map: 212.73 kB 2026-10-24T10:37:20.1614606Z dist/assets/perl-AhzhpTrP.js 43.18 kB │ gzip: 4.68 kB │ map: 60.84 kB 2026-10-24T10:37:20.1614941Z dist/assets/DiffPanel-4mv0hsAc.js 43.26 kB │ gzip: 16.71 kB │ map: 244.01 kB 2026-10-24T10:37:20.1615273Z dist/assets/d-qD-0Kul2.js 43.82 kB │ gzip: 8.46 kB │ map: 62.69 kB 2026-10-24T10:37:20.1615609Z dist/assets/LHDIQX7Q-CgGuSqSh.js 44.04 kB │ gzip: 16.12 kB │ map: 107.24 kB 2026-10-24T10:37:20.1615971Z dist/assets/DiffCommentAnnotation-DLPXFimW.js 44.48 kB │ gzip: 15.81 kB │ map: 120.50 kB 2026-10-24T10:37:20.1616348Z dist/assets/pierre-dark-vibrant-CpQYzh95.js 44.81 kB │ gzip: 5.33 kB │ map: 48.48 kB 2026-10-24T10:37:20.1616721Z dist/assets/pierre-light-vibrant-D80Fkn33.js 44.81 kB │ gzip: 5.31 kB │ map: 48.48 kB 2026-10-24T10:37:20.1617094Z dist/assets/ProviderModelPicker-HnbhogOZ.js 44.82 kB │ gzip: 16.00 kB │ map: 233.46 kB 2026-10-24T10:37:20.1617458Z dist/assets/settingsLayout-C4zkzwRK.js 45.05 kB │ gzip: 15.82 kB │ map: 227.20 kB 2026-10-24T10:37:20.1617810Z dist/assets/DevicePanel-CgX9e1Tl.js 46.03 kB │ gzip: 15.62 kB │ map: 246.51 kB 2026-10-24T10:37:20.1618182Z dist/assets/settings.source-control-CBIcNK0T.js 46.41 kB │ gzip: 15.23 kB │ map: 259.47 kB 2026-10-24T10:37:20.1618539Z dist/assets/toast-CVrDdchr.js 46.41 kB │ gzip: 15.38 kB │ map: 273.09 kB 2026-10-24T10:37:20.1618865Z dist/assets/ruby-ubltFHEX.js 46.64 kB │ gzip: 5.74 kB │ map: 66.38 kB 2026-10-24T10:37:20.1619190Z dist/assets/go-rLFTqkRN.js 46.85 kB │ gzip: 5.18 kB │ map: 66.61 kB 2026-10-24T10:37:20.1619532Z dist/assets/settings.snap-shot-CMvn5Ye3.js 46.98 kB │ gzip: 16.61 kB │ map: 252.94 kB 2026-10-24T10:37:20.1619898Z dist/assets/catppuccin-mocha-DYhrFGRu.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-24T10:37:20.1620305Z dist/assets/catppuccin-latte-DwIHMF0Q.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-24T10:37:20.1620867Z dist/assets/catppuccin-frappe-3VR1Za6u.js 47.31 kB │ gzip: 8.03 kB │ map: 62.04 kB 2026-10-24T10:37:20.1621304Z dist/assets/catppuccin-macchiato-DYnBP6_5.js 47.31 kB │ gzip: 8.03 kB │ map: 62.06 kB 2026-10-24T10:37:20.1621724Z dist/assets/PreviewPanel-CAaw_482.js 47.36 kB │ gzip: 17.24 kB │ map: 255.28 kB 2026-10-24T10:37:20.1622076Z dist/assets/apex-VAyPSnFM.js 47.80 kB │ gzip: 6.85 kB │ map: 66.78 kB 2026-10-24T10:37:20.1622554Z dist/assets/ada-C5qYipkI.js 48.11 kB │ gzip: 6.00 kB │ map: 70.96 kB 2026-10-24T10:37:20.1622895Z dist/assets/css-kzGS2ZwB.js 49.13 kB │ gzip: 11.99 kB │ map: 60.67 kB 2026-10-24T10:37:20.1623340Z dist/assets/welcome-BiKoSc44.js 49.73 kB │ gzip: 17.03 kB │ map: 266.54 kB 2026-10-24T10:37:20.1623758Z dist/assets/imba-DsUTQ-LC.js 49.96 kB │ gzip: 9.51 kB │ map: 68.08 kB 2026-10-24T10:37:20.1624249Z dist/assets/sortable.esm-xC-7hApV.js 50.51 kB │ gzip: 16.26 kB │ map: 236.47 kB 2026-10-24T10:37:20.1624830Z dist/assets/everforest-dark-sB-x3p7T.js 53.79 kB │ gzip: 8.41 kB │ map: 68.28 kB 2026-10-24T10:37:20.1625473Z dist/assets/everforest-light-Df2xbC6M.js 53.79 kB │ gzip: 8.41 kB │ map: 68.29 kB 2026-10-24T10:37:20.1626062Z dist/assets/Virtualizer-CpLrXqba.js 55.69 kB │ gzip: 14.33 kB │ map: 177.52 kB 2026-10-24T10:37:20.1626635Z dist/assets/wikitext-ClFFjSW2.js 55.92 kB │ gzip: 4.85 kB │ map: 77.64 kB 2026-10-24T10:37:20.1627234Z dist/assets/ScheduledTasksSettings-BMZVBmNP.js 56.58 kB │ gzip: 19.17 kB │ map: 343.57 kB 2026-10-24T10:37:20.1627824Z dist/assets/stata-Ciuk7_mY.js 57.03 kB │ gzip: 12.44 kB │ map: 74.20 kB 2026-10-24T10:37:20.1628372Z dist/assets/html-DIIndQnv.js 57.35 kB │ gzip: 11.82 kB │ map: 73.07 kB 2026-10-24T10:37:20.1628931Z dist/assets/ballerina-B7ZEbQpA.js 58.73 kB │ gzip: 8.14 kB │ map: 81.54 kB 2026-10-24T10:37:20.1629495Z dist/assets/markdown-BYOwaDjH.js 59.37 kB │ gzip: 5.70 kB │ map: 82.33 kB 2026-10-24T10:37:20.1630100Z dist/assets/pierre-icons-_Z77FEZz.js 60.69 kB │ gzip: 22.05 kB │ map: 82.50 kB 2026-10-24T10:37:20.1630655Z dist/assets/ocaml-O90oeIOV.js 62.48 kB │ gzip: 5.08 kB │ map: 81.11 kB 2026-10-24T10:37:20.1631197Z dist/assets/mojo-BgCJLMeH.js 69.83 kB │ gzip: 9.25 kB │ map: 94.94 kB 2026-10-24T10:37:20.1631740Z dist/assets/python-gzcpVVnB.js 69.98 kB │ gzip: 9.13 kB │ map: 95.24 kB 2026-10-24T10:37:20.1632333Z dist/assets/useHandleNewThread-DV7DvQDe.js 70.64 kB │ gzip: 22.49 kB │ map: 332.18 kB 2026-10-24T10:37:20.1632902Z dist/assets/c-esFkreWu.js 72.20 kB │ gzip: 10.58 kB │ map: 95.41 kB 2026-10-24T10:37:20.1633423Z dist/assets/latex-b0569jTU.js 72.91 kB │ gzip: 6.78 kB │ map: 100.96 kB 2026-10-24T10:37:20.1633751Z dist/assets/vyper-CgoNMtux.js 74.68 kB │ gzip: 10.73 kB │ map: 100.71 kB 2026-10-24T10:37:20.1634075Z dist/assets/Icons-DEKhsnf8.js 75.01 kB │ gzip: 33.97 kB │ map: 215.89 kB 2026-10-24T10:37:20.1634403Z dist/assets/hack-mYo6lwOk.js 81.09 kB │ gzip: 26.47 kB │ map: 98.63 kB 2026-10-24T10:37:20.1634740Z dist/assets/SettingsPanels-B9Oo6sXT.js 82.62 kB │ gzip: 25.82 kB │ map: 507.56 kB 2026-10-24T10:37:20.1635093Z dist/assets/themePalette-CwwFImEb.js 83.31 kB │ gzip: 23.89 kB │ map: 284.11 kB 2026-10-24T10:37:20.1635684Z dist/assets/swift-DonLKvLd.js 86.72 kB │ gzip: 14.72 kB │ map: 114.51 kB 2026-10-24T10:37:20.1636114Z dist/assets/DiffWorkerPoolProvider-BBDkIj0P.js 87.11 kB │ gzip: 23.12 kB │ map: 273.90 kB 2026-10-24T10:37:20.1636486Z dist/assets/fortran-free-form-CYNrtFtB.js 89.01 kB │ gzip: 11.23 kB │ map: 124.06 kB 2026-10-24T10:37:20.1636835Z dist/assets/csharp-oqKa8noW.js 90.22 kB │ gzip: 10.75 kB │ map: 126.35 kB 2026-10-24T10:37:20.1637166Z dist/assets/FileDiff-CNAuPsud.js 91.16 kB │ gzip: 23.35 kB │ map: 307.03 kB 2026-10-24T10:37:20.1637517Z dist/assets/_chat.pull-requests-fL6lJGw3.js 91.23 kB │ gzip: 32.64 kB │ map: 452.33 kB 2026-10-24T10:37:20.1637860Z dist/assets/racket-DcIDlBhZ.js 92.42 kB │ gzip: 15.11 kB │ map: 106.19 kB 2026-10-24T10:37:20.1638222Z dist/assets/settings.diagnostics-F2dAIRrl.js 93.82 kB │ gzip: 27.29 kB │ map: 499.48 kB 2026-10-24T10:37:20.1638580Z dist/assets/embeddedScripts-DMWkXARt.js 94.06 kB │ gzip: 24.28 kB │ map: 399.57 kB 2026-10-24T10:37:20.1638924Z dist/assets/usage-5ulvLk1d.js 96.07 kB │ gzip: 32.15 kB │ map: 559.57 kB 2026-10-24T10:37:20.1639272Z dist/assets/settings.integrations-C7uJEs9O.js 96.61 kB │ gzip: 31.48 kB │ map: 566.33 kB 2026-10-24T10:37:20.1639622Z dist/assets/less-DVTAwKKz.js 97.66 kB │ gzip: 14.88 kB │ map: 131.85 kB 2026-10-24T10:37:20.1639945Z dist/assets/blade-DBGhfhIu.js 105.01 kB │ gzip: 28.34 kB │ map: 131.09 kB 2026-10-24T10:37:20.1640325Z dist/assets/objective-c-D1A_Heim.js 105.45 kB │ gzip: 23.67 kB │ map: 129.66 kB 2026-10-24T10:37:20.1640687Z dist/assets/settings.connections-BnkZH065.js 107.24 kB │ gzip: 36.16 kB │ map: 612.55 kB 2026-10-24T10:37:20.1641033Z dist/assets/php-BrskDoCo.js 113.12 kB │ gzip: 28.89 kB │ map: 142.15 kB 2026-10-24T10:37:20.1641383Z dist/assets/ThreadTerminalDrawer-DE8eKmw9.js 113.83 kB │ gzip: 33.64 kB │ map: 458.91 kB 2026-10-24T10:37:20.1641753Z dist/assets/getDiffFileInput-DY0Vwf8-.js 124.36 kB │ gzip: 30.75 kB │ map: 375.11 kB 2026-10-24T10:37:20.1642101Z dist/assets/asciidoc-DE70LPWp.js 131.56 kB │ gzip: 9.35 kB │ map: 189.11 kB 2026-10-24T10:37:20.1642434Z dist/assets/mdx-DQZ5AkYe.js 136.14 kB │ gzip: 23.57 kB │ map: 176.72 kB 2026-10-24T10:37:20.1642781Z dist/assets/RenderErrorBoundary-CkOM5fkn.js 152.92 kB │ gzip: 45.59 kB │ map: 936.14 kB 2026-10-24T10:37:20.1643151Z dist/assets/settings.providers-BNBphwkC.js 161.57 kB │ gzip: 53.43 kB │ map: 828.11 kB 2026-10-24T10:37:20.1643517Z dist/assets/objective-cpp-BsSzOQcm.js 172.01 kB │ gzip: 31.02 kB │ map: 218.54 kB 2026-10-24T10:37:20.1643870Z dist/assets/javascript-DM2jNGak.js 174.93 kB │ gzip: 16.72 kB │ map: 236.10 kB 2026-10-24T10:37:20.1644209Z dist/assets/runtime-kxPTbBBH.js 175.40 kB │ gzip: 56.11 kB │ map: 1,084.01 kB 2026-10-24T10:37:20.1644539Z dist/assets/tsx-BeGYnVHn.js 175.63 kB │ gzip: 16.71 kB │ map: 236.76 kB 2026-10-24T10:37:20.1644857Z dist/assets/jsx-DQaT7vKh.js 177.88 kB │ gzip: 16.80 kB │ map: 239.02 kB 2026-10-24T10:37:20.1645185Z dist/assets/runtime-DP9dpHam.js 178.18 kB │ gzip: 51.24 kB │ map: 824.48 kB 2026-10-24T10:37:20.1645523Z dist/assets/typescript-BEWCPeCr.js 181.18 kB │ gzip: 16.32 kB │ map: 244.44 kB 2026-10-24T10:37:20.1646092Z dist/assets/angular-ts-B9yvU4g3.js 183.77 kB │ gzip: 16.82 kB │ map: 249.70 kB 2026-10-24T10:37:20.1646492Z dist/assets/vue-vine-DBK802jz.js 190.10 kB │ gzip: 18.11 kB │ map: 255.27 kB 2026-10-24T10:37:20.1646853Z dist/assets/fileTreeExpansion-CnqYCTCN.js 199.35 kB │ gzip: 54.49 kB │ map: 731.80 kB 2026-10-24T10:37:20.1647213Z dist/assets/FilePreviewPanel-CHlyeyaN.js 204.15 kB │ gzip: 67.00 kB │ map: 946.02 kB 2026-10-24T10:37:20.1647582Z dist/assets/settings.appearance-CCq2wAhn.js 214.40 kB │ gzip: 68.36 kB │ map: 897.07 kB 2026-10-24T10:37:20.1647940Z dist/assets/diffRendering-C65AdD4H.js 254.85 kB │ gzip: 81.53 kB │ map: 946.66 kB 2026-10-24T10:37:20.1648281Z dist/assets/katex-DJhrJSbw.js 258.63 kB │ gzip: 77.46 kB │ map: 969.65 kB 2026-10-24T10:37:20.1648617Z dist/assets/wolfram-DLL8P-h_.js 262.42 kB │ gzip: 77.67 kB │ map: 279.66 kB 2026-10-24T10:37:20.1648949Z dist/assets/dist-BflMU8Rw.js 332.34 kB │ gzip: 97.19 kB │ map: 1,652.92 kB 2026-10-24T10:37:20.1649295Z dist/assets/PanelLayoutControls-Ce8vEsn1.js 390.11 kB │ gzip: 122.27 kB │ map: 1,820.65 kB 2026-10-24T10:37:20.1649655Z dist/assets/ChatMarkdown-BBndyWs1.js 439.17 kB │ gzip: 146.39 kB │ map: 1,867.30 kB 2026-10-24T10:37:20.1650053Z dist/assets/ComposerPromptEditor-DtUaT6Z2.js 519.96 kB │ gzip: 167.92 kB │ map: 2,358.60 kB 2026-10-24T10:37:20.1650425Z dist/assets/lucideIconByName-B5dECpKW.js 553.52 kB │ gzip: 141.16 kB │ map: 2,035.78 kB 2026-10-24T10:37:20.1650783Z dist/assets/renderScheduler-BHnPwIL0.js 608.04 kB │ gzip: 156.03 kB │ map: 3,048.60 kB 2026-10-24T10:37:20.1651122Z dist/assets/wasm-BnjxR4X6.js 622.36 kB │ gzip: 232.13 kB │ map: 622.90 kB 2026-10-24T10:37:20.1651449Z dist/assets/cpp-5pYxG9nn.js 626.16 kB │ gzip: 48.12 kB │ map: 816.28 kB 2026-10-24T10:37:20.1651786Z dist/assets/emacs-lisp-B4R74twV.js 779.92 kB │ gzip: 197.59 kB │ map: 789.85 kB 2026-10-24T10:37:20.1658958Z dist/assets/utils-BcEp5-Ev.js 985.42 kB │ gzip: 305.23 kB │ map: 7,692.03 kB 2026-10-24T10:37:20.1659305Z dist/assets/main-BsWMMcM6.js 1,047.90 kB │ gzip: 343.33 kB │ map: 5,080.78 kB 2026-10-24T10:37:20.1659634Z dist/assets/_chat-DBj9Dp7T.js 1,311.80 kB │ gzip: 437.27 kB │ map: 6,544.05 kB 2026-10-24T10:37:20.1659971Z dist/assets/heic-to-DeD09f__.js 2,995.22 kB │ gzip: 750.97 kB │ map: 2,998.72 kB 2026-10-24T10:37:20.1660178Z 2026-10-24T10:37:20.1660296Z [plugin builtin:vite-reporter] 2026-10-24T10:37:20.1660506Z (!) Some chunks are larger than 500 kB after minification. Consider: 2026-10-24T10:37:20.1660733Z - Using dynamic import() to code-split the application 2026-10-24T10:37:20.1661208Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting 2026-10-24T10:37:20.1661632Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. 2026-10-24T10:37:20.1662082Z ✓ built in 4.39s 2026-10-24T10:37:20.2318922Z 2026-10-24T10:37:20.2319689Z ~/apps/server$ node scripts/cli.ts build ⊘ cache disabled 2026-10-24T10:37:20.4652615Z [10:37:20.464] INFO (#1): [cli] Running tsdown... 2026-10-24T10:37:21.8728670Z [10:37:21.872] INFO (#1): [cli] Applied development icon overrides to dist/client 2026-10-24T10:37:21.8728943Z [10:37:21.872] INFO (#1): [cli] Bundled web app into dist/client 2026-10-24T10:37:21.8821520Z 2026-10-24T10:37:21.8822391Z ~/apps/desktop$ node scripts/build-browser-secret.mjs ⊘ cache disabled 2026-10-24T10:37:22.0191408Z 2026-10-24T10:37:22.0192485Z ~/apps/desktop$ node scripts/build-preview-annotation-css.mjs ⊘ cache disabled 2026-10-24T10:37:22.0713557Z 2026-10-24T10:37:22.0714352Z ~/apps/desktop$ vp pack ⊘ cache disabled 2026-10-24T10:37:22.1818349Z ℹ entry: src/main.ts 2026-10-24T10:37:22.1818980Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1827862Z ℹ entry: src/electron/WindowsForegroundFocusWorker.ts, src/snapShot/GlobalShiftShortcutWorker.ts, src/snapShot/RegionSnapShotWorker.ts, src/snapShot/SnapShotAccessibilityWorker.ts 2026-10-24T10:37:22.1828249Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1830900Z ℹ entry: src/boot.ts, src/compileCache.ts 2026-10-24T10:37:22.1831192Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1834185Z ℹ entry: src/preload.ts 2026-10-24T10:37:22.1834351Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1836756Z ℹ entry: src/preview-pick-preload.ts 2026-10-24T10:37:22.1837127Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1839576Z ℹ entry: src/preview-pip-preload.ts 2026-10-24T10:37:22.1839964Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1842834Z ℹ entry: src/mac-permission-preload.ts 2026-10-24T10:37:22.1843133Z ℹ tsconfig: tsconfig.json 2026-10-24T10:37:22.1845336Z ℹ Build start 2026-10-24T10:37:22.2086480Z ℹ dist-electron/preview-pip-preload.cjs 0.68 kB │ gzip: 0.36 kB 2026-10-24T10:37:22.2087060Z ℹ dist-electron/preview-pip-preload.cjs.map 10.93 kB │ gzip: 2.83 kB 2026-10-24T10:37:22.2087449Z ℹ 2 files, total: 11.61 kB 2026-10-24T10:37:22.2336965Z ✔ Build complete in 49ms 2026-10-24T10:37:22.2353882Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-24T10:37:22.2354524Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-24T10:37:22.2354867Z Detected dependencies in bundle: 2026-10-24T10:37:22.2355092Z - @clerk/electron 2026-10-24T10:37:22.2407670Z ℹ dist-electron/mac-permission-preload.cjs 0.79 kB │ gzip: 0.38 kB 2026-10-24T10:37:22.2408208Z ℹ dist-electron/mac-permission-preload.cjs.map 11.01 kB │ gzip: 2.80 kB 2026-10-24T10:37:22.2408583Z ℹ 2 files, total: 11.80 kB 2026-10-24T10:37:22.2475447Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-24T10:37:22.2476122Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-24T10:37:22.2476454Z Detected dependencies in bundle: 2026-10-24T10:37:22.2476686Z - react-grab 2026-10-24T10:37:22.2482724Z ℹ dist-electron/compileCache.cjs 1.61 kB │ gzip: 0.75 kB 2026-10-24T10:37:22.2483122Z ℹ dist-electron/boot.cjs 0.12 kB │ gzip: 0.12 kB 2026-10-24T10:37:22.2483490Z ℹ dist-electron/compileCache.cjs.map 1.29 kB │ gzip: 0.74 kB 2026-10-24T10:37:22.2483863Z ℹ dist-electron/boot.cjs.map 0.31 kB │ gzip: 0.22 kB 2026-10-24T10:37:22.2484169Z ℹ 4 files, total: 3.33 kB 2026-10-24T10:37:22.2488241Z ℹ dist-electron/preload.cjs 32.04 kB │ gzip: 7.35 kB 2026-10-24T10:37:22.2488689Z ℹ dist-electron/preload.cjs.map 58.74 kB │ gzip: 13.13 kB 2026-10-24T10:37:22.2489004Z ℹ 2 files, total: 90.78 kB 2026-10-24T10:37:22.2546512Z ✔ Build complete in 66ms 2026-10-24T10:37:22.2615115Z ✔ Build complete in 75ms 2026-10-24T10:37:22.2663905Z ✔ Build complete in 75ms 2026-10-24T10:37:22.3006360Z ℹ dist-electron/preview-pick-preload.cjs 136.94 kB │ gzip: 36.46 kB 2026-10-24T10:37:22.3006707Z ℹ dist-electron/preview-pick-preload.cjs.map 243.14 kB │ gzip: 62.42 kB 2026-10-24T10:37:22.3006924Z ℹ 2 files, total: 380.08 kB 2026-10-24T10:37:22.3078181Z ✔ Build complete in 123ms 2026-10-24T10:37:22.4161007Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs 6.35 kB │ gzip: 1.97 kB 2026-10-24T10:37:22.4161397Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs 5.71 kB │ gzip: 1.60 kB 2026-10-24T10:37:22.4161724Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs 2.32 kB │ gzip: 0.89 kB 2026-10-24T10:37:22.4162051Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs 0.77 kB │ gzip: 0.43 kB 2026-10-24T10:37:22.4162899Z ℹ dist-electron/snapShot-CF0jRgUh.cjs.map 4.58 MB 2026-10-24T10:37:22.4163173Z ℹ dist-electron/snapShot-CF0jRgUh.cjs 1.19 MB 2026-10-24T10:37:22.4163471Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs.map 13.86 kB │ gzip: 4.10 kB 2026-10-24T10:37:22.4163803Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs.map 13.29 kB │ gzip: 3.40 kB 2026-10-24T10:37:22.4164127Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs.map 5.07 kB │ gzip: 1.69 kB 2026-10-24T10:37:22.4164455Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs.map 1.73 kB │ gzip: 0.82 kB 2026-10-24T10:37:22.4164780Z ℹ dist-electron/rolldown-runtime-VH7oDXx4.cjs 1.13 kB │ gzip: 0.54 kB 2026-10-24T10:37:22.4165040Z ℹ 11 files, total: 5.82 MB 2026-10-24T10:37:22.4165196Z ✔ Build complete in 232ms 2026-10-24T10:37:22.7307144Z ℹ dist-electron/main.cjs 5.48 MB 2026-10-24T10:37:22.7307474Z ℹ dist-electron/main.cjs.map 13.90 MB 2026-10-24T10:37:22.7307687Z ℹ 2 files, total: 19.38 MB 2026-10-24T10:37:22.7313381Z ../../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-24T10:37:22.7314474Z ╭─[ ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js:7:23 ] 2026-10-24T10:37:22.7315068Z │ 2026-10-24T10:37:22.7315679Z 7 │   const x11 = require('x11'); 2026-10-24T10:37:22.7316188Z  │ ──┬── 2026-10-24T10:37:22.7316444Z  │ ╰──── Module not found, treating it as an external dependency 2026-10-24T10:37:22.7316650Z ───╯ 2026-10-24T10:37:22.7316720Z 2026-10-24T10:37:22.7317049Z ../../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-24T10:37:22.7317577Z ╭─[ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/ConfigProvider.js:725:8 ] 2026-10-24T10:37:22.7317864Z │ 2026-10-24T10:37:22.7318248Z 725 │     ...import.meta?.env 2026-10-24T10:37:22.7318617Z  │ ─────┬───── 2026-10-24T10:37:22.7319533Z  │ ╰─────── 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-24T10:37:22.7320125Z ─────╯ 2026-10-24T10:37:22.7320198Z 2026-10-24T10:37:22.7320303Z ✔ Build complete in 547ms 2026-10-24T10:37:22.7450288Z 2026-10-24T10:37:22.7452004Z --- 2026-10-24T10:37:22.7452336Z vp run: 5/5 successful. (Run `vp run --last-details` for full details) 2026-10-24T10:37:22.7524719Z ##[group]Run node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-24T10:37:22.7525149Z node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-24T10:37:22.7537901Z shell: /usr/bin/bash -e {0} 2026-10-24T10:37:22.7538025Z env: 2026-10-24T10:37:22.7538139Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:37:22.7538286Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:37:22.7538428Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:37:22.7538564Z ##[endgroup] 2026-10-24T10:37:22.7898270Z ##[group]Run until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-24T10:37:22.7898569Z until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-24T10:37:22.7898763Z cat "$RUNNER_TEMP/typecheck.log" 2026-10-24T10:37:22.7898934Z exit "$(cat "$RUNNER_TEMP/typecheck-status")" 2026-10-24T10:37:22.7912186Z shell: /usr/bin/bash -e {0} 2026-10-24T10:37:22.7912354Z env: 2026-10-24T10:37:22.7912470Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:37:22.7912636Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:37:22.7912834Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-24T10:37:22.7913052Z ##[endgroup] 2026-10-24T10:37:22.7937882Z ~/packages/effect-acp$ tsc --noEmit 2026-10-24T10:37:22.7938147Z ~/packages/effect-codex-app-server$ tsc --noEmit 2026-10-24T10:37:22.7938402Z ~/oxlint-plugin-t3code$ tsc --noEmit 2026-10-24T10:37:22.7938599Z ~/packages/contracts$ tsc --noEmit 2026-10-24T10:37:22.7938687Z 2026-10-24T10:37:22.7939060Z 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-24T10:37:22.7939628Z 2026-10-24T10:37:22.7939707Z 40 error: Schema.Struct({ 2026-10-24T10:37:22.7939876Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7940084Z 41 _tag: Schema.Literal("Cause"), 2026-10-24T10:37:22.7940332Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7940624Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T10:37:22.7940973Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7941328Z 43 }), 2026-10-24T10:37:22.7941487Z ~~~~ 2026-10-24T10:37:22.7941574Z 2026-10-24T10:37:22.7942119Z 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-24T10:37:22.7942800Z 2026-10-24T10:37:22.7942957Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T10:37:22.7943279Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7943457Z 2026-10-24T10:37:22.7943919Z 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-24T10:37:22.7944618Z 2026-10-24T10:37:22.7944712Z 422 handleInitialize: (handler) => 2026-10-24T10:37:22.7944939Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7945052Z 2026-10-24T10:37:22.7945517Z 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-24T10:37:22.7946056Z 2026-10-24T10:37:22.7946153Z 427 handleAuthenticate: (handler) => 2026-10-24T10:37:22.7946381Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7946500Z 2026-10-24T10:37:22.7946932Z 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-24T10:37:22.7947431Z 2026-10-24T10:37:22.7947516Z 432 handleLogout: (handler) => 2026-10-24T10:37:22.7947720Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.7947823Z 2026-10-24T10:37:22.7948270Z 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-24T10:37:22.7948782Z 2026-10-24T10:37:22.7948873Z 437 handleCreateSession: (handler) => 2026-10-24T10:37:22.7949103Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7949224Z 2026-10-24T10:37:22.7949787Z 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-24T10:37:22.7950339Z 2026-10-24T10:37:22.7950425Z 442 handleLoadSession: (handler) => 2026-10-24T10:37:22.7950651Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7950764Z 2026-10-24T10:37:22.7951208Z 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-24T10:37:22.7951721Z 2026-10-24T10:37:22.7951811Z 447 handleListSessions: (handler) => 2026-10-24T10:37:22.7952031Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7952149Z 2026-10-24T10:37:22.7952592Z 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-24T10:37:22.7952925Z 2026-10-24T10:37:22.7952979Z 452 handleForkSession: (handler) => 2026-10-24T10:37:22.7953115Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7953186Z 2026-10-24T10:37:22.7953454Z 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-24T10:37:22.7953763Z 2026-10-24T10:37:22.7953821Z 457 handleResumeSession: (handler) => 2026-10-24T10:37:22.7953958Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7954038Z 2026-10-24T10:37:22.7954300Z 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-24T10:37:22.7954601Z 2026-10-24T10:37:22.7954654Z 462 handleCloseSession: (handler) => 2026-10-24T10:37:22.7954866Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7954938Z 2026-10-24T10:37:22.7955202Z 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-24T10:37:22.7955511Z 2026-10-24T10:37:22.7955579Z 467 handleDeleteSession: (handler) => 2026-10-24T10:37:22.7955724Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7955802Z 2026-10-24T10:37:22.7956067Z 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-24T10:37:22.7956433Z 2026-10-24T10:37:22.7956490Z 472 handleListProviders: (handler) => 2026-10-24T10:37:22.7956627Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7956705Z 2026-10-24T10:37:22.7956973Z 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-24T10:37:22.7957286Z 2026-10-24T10:37:22.7957338Z 477 handleSetProvider: (handler) => 2026-10-24T10:37:22.7957476Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7957552Z 2026-10-24T10:37:22.7957823Z 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-24T10:37:22.7958138Z 2026-10-24T10:37:22.7958198Z 482 handleDisableProvider: (handler) => 2026-10-24T10:37:22.7958341Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7958424Z 2026-10-24T10:37:22.7958715Z 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-24T10:37:22.7959051Z 2026-10-24T10:37:22.7959119Z 487 handleSetSessionConfigOption: (handler) => 2026-10-24T10:37:22.7959279Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7959409Z 2026-10-24T10:37:22.7959661Z 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-24T10:37:22.7959957Z 2026-10-24T10:37:22.7960012Z 492 handlePrompt: (handler) => 2026-10-24T10:37:22.7960140Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.7960209Z 2026-10-24T10:37:22.7960517Z 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-24T10:37:22.7960814Z 2026-10-24T10:37:22.7960869Z 497 handleCancel: (handler) => 2026-10-24T10:37:22.7960993Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.7961059Z 2026-10-24T10:37:22.7961333Z 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-24T10:37:22.7961650Z 2026-10-24T10:37:22.7961715Z 502 handleUnknownExtRequest: (handler) => 2026-10-24T10:37:22.7961863Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7961944Z 2026-10-24T10:37:22.7962228Z 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-24T10:37:22.7962552Z 2026-10-24T10:37:22.7962621Z 507 handleUnknownExtNotification: (handler) => 2026-10-24T10:37:22.7962774Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7962857Z 2026-10-24T10:37:22.7963144Z 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-24T10:37:22.7963468Z 2026-10-24T10:37:22.7963541Z 512 handleExtRequest: (method, payload, handler) => 2026-10-24T10:37:22.7963702Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7963771Z 2026-10-24T10:37:22.7964068Z 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-24T10:37:22.7964405Z 2026-10-24T10:37:22.7964485Z 517 handleExtNotification: (method, payload, handler) => 2026-10-24T10:37:22.7964652Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7964729Z 2026-10-24T10:37:22.7965090Z 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-24T10:37:22.7965450Z 2026-10-24T10:37:22.7965503Z 56 error: Schema.Struct({ 2026-10-24T10:37:22.7965626Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7965754Z 57 _tag: Schema.Literal("Cause"), 2026-10-24T10:37:22.7965891Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7966073Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T10:37:22.7966283Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7966443Z 59 }), 2026-10-24T10:37:22.7966537Z ~~~~ 2026-10-24T10:37:22.7966592Z 2026-10-24T10:37:22.7966909Z 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-24T10:37:22.7967268Z 2026-10-24T10:37:22.7967360Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-24T10:37:22.7967562Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7967674Z 2026-10-24T10:37:22.7967963Z 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-24T10:37:22.7968252Z 2026-10-24T10:37:22.7968304Z 1071 yield* Effect.all( 2026-10-24T10:37:22.7968439Z ~~~~~~~~~~ 2026-10-24T10:37:22.7968521Z 2026-10-24T10:37:22.7968807Z 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-24T10:37:22.7969130Z 2026-10-24T10:37:22.7969193Z 1244 handleRequestPermission: (handler) => 2026-10-24T10:37:22.7969347Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7969430Z 2026-10-24T10:37:22.7969700Z 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-24T10:37:22.7970013Z 2026-10-24T10:37:22.7970073Z 1249 handleElicitation: (handler) => 2026-10-24T10:37:22.7970214Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7970322Z 2026-10-24T10:37:22.7970593Z 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-24T10:37:22.7970903Z 2026-10-24T10:37:22.7970957Z 1254 handleMcpConnect: (handler) => 2026-10-24T10:37:22.7971097Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7971169Z 2026-10-24T10:37:22.7971435Z 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-24T10:37:22.7971748Z 2026-10-24T10:37:22.7971805Z 1258 handleMcpMessage: (handler) => 2026-10-24T10:37:22.7971938Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7972011Z 2026-10-24T10:37:22.7972287Z 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-24T10:37:22.7972615Z 2026-10-24T10:37:22.7972674Z 1262 handleMcpDisconnect: (handler) => 2026-10-24T10:37:22.7972816Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7972895Z 2026-10-24T10:37:22.7973177Z 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-24T10:37:22.7973532Z 2026-10-24T10:37:22.7973590Z 1266 handleMcpNotification: (handler) => 2026-10-24T10:37:22.7973740Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7973816Z 2026-10-24T10:37:22.7974091Z 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-24T10:37:22.7974410Z 2026-10-24T10:37:22.7974469Z 1275 handleReadTextFile: (handler) => 2026-10-24T10:37:22.7974608Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7974684Z 2026-10-24T10:37:22.7974960Z 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-24T10:37:22.7975274Z 2026-10-24T10:37:22.7975330Z 1279 handleWriteTextFile: (handler) => 2026-10-24T10:37:22.7975476Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7975553Z 2026-10-24T10:37:22.7975826Z 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-24T10:37:22.7976168Z 2026-10-24T10:37:22.7976229Z 1283 handleCreateTerminal: (handler) => 2026-10-24T10:37:22.7976371Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7976452Z 2026-10-24T10:37:22.7976790Z 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-24T10:37:22.7977108Z 2026-10-24T10:37:22.7977166Z 1287 handleTerminalOutput: (handler) => 2026-10-24T10:37:22.7977312Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7977396Z 2026-10-24T10:37:22.7977686Z 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-24T10:37:22.7978018Z 2026-10-24T10:37:22.7978084Z 1291 handleTerminalWaitForExit: (handler) => 2026-10-24T10:37:22.7978239Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7978324Z 2026-10-24T10:37:22.7978598Z 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-24T10:37:22.7978912Z 2026-10-24T10:37:22.7978967Z 1295 handleTerminalKill: (handler) => 2026-10-24T10:37:22.7979110Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7979185Z 2026-10-24T10:37:22.7979463Z 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-24T10:37:22.7979797Z 2026-10-24T10:37:22.7979859Z 1299 handleTerminalRelease: (handler) => 2026-10-24T10:37:22.7980007Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7980090Z 2026-10-24T10:37:22.7980399Z 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-24T10:37:22.7980728Z 2026-10-24T10:37:22.7980786Z 1303 handleSessionUpdate: (handler) => 2026-10-24T10:37:22.7980933Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7981011Z 2026-10-24T10:37:22.7981304Z 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-24T10:37:22.7981644Z 2026-10-24T10:37:22.7981713Z 1308 handleElicitationComplete: (handler) => 2026-10-24T10:37:22.7981870Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7981956Z 2026-10-24T10:37:22.7982618Z 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-24T10:37:22.7983261Z 2026-10-24T10:37:22.7983370Z 1313 handleUnknownExtRequest: (handler) => 2026-10-24T10:37:22.7983619Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7983754Z 2026-10-24T10:37:22.7984262Z 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-24T10:37:22.7984778Z 2026-10-24T10:37:22.7984854Z 1318 handleUnknownExtNotification: (handler) => 2026-10-24T10:37:22.7985019Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7985123Z 2026-10-24T10:37:22.7985630Z 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-24T10:37:22.7985981Z 2026-10-24T10:37:22.7986060Z 1323 handleExtRequest: (method, payload, handler) => 2026-10-24T10:37:22.7986224Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7986299Z 2026-10-24T10:37:22.7986700Z 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-24T10:37:22.7987267Z 2026-10-24T10:37:22.7987405Z 1328 handleExtNotification: (method, payload, handler) => 2026-10-24T10:37:22.7987688Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7987812Z 2026-10-24T10:37:22.7988467Z 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-24T10:37:22.7988912Z 2026-10-24T10:37:22.7988996Z 500 const response = yield* Schema.decodeUnknownEffect( 2026-10-24T10:37:22.7989180Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7989285Z 2026-10-24T10:37:22.7989570Z 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-24T10:37:22.7989906Z 2026-10-24T10:37:22.7989957Z 875 run: (_clientId, f) => 2026-10-24T10:37:22.7990089Z ~~~ 2026-10-24T10:37:22.7990150Z 2026-10-24T10:37:22.7990499Z 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-24T10:37:22.7990842Z 2026-10-24T10:37:22.7990899Z 880 send: (_clientId, request) => 2026-10-24T10:37:22.7991034Z ~~~~ 2026-10-24T10:37:22.7991100Z 2026-10-24T10:37:22.7991372Z 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-24T10:37:22.7991687Z 2026-10-24T10:37:22.7991733Z 898 run: (f) => 2026-10-24T10:37:22.7991849Z ~~~ 2026-10-24T10:37:22.7991908Z 2026-10-24T10:37:22.7992226Z 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-24T10:37:22.7992571Z 2026-10-24T10:37:22.7992630Z 904 send: (_clientId, response) => 2026-10-24T10:37:22.7992769Z ~~~~ 2026-10-24T10:37:22.7992833Z 2026-10-24T10:37:22.7993116Z 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-24T10:37:22.7993547Z 2026-10-24T10:37:22.7993598Z 913 end: (_clientId) => 2026-10-24T10:37:22.7993725Z ~~~ 2026-10-24T10:37:22.7993785Z 2026-10-24T10:37:22.7993792Z 2026-10-24T10:37:22.7994259Z 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-24T10:37:22.7994695Z 2026-10-24T10:37:22.7994833Z 17 expect(Schema.decodeUnknownSync(AuthEnvironmentScopes)(["review:write"])).toEqual([ 2026-10-24T10:37:22.7995060Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7995152Z 2026-10-24T10:37:22.7995154Z 2026-10-24T10:37:22.7995213Z ~/packages/shared$ tsc --noEmit 2026-10-24T10:37:22.7995628Z 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-24T10:37:22.7996000Z 2026-10-24T10:37:22.7996072Z 243 handleServerRequest: (method, handler) => 2026-10-24T10:37:22.7996230Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7996312Z 2026-10-24T10:37:22.7996701Z 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-24T10:37:22.7997121Z 2026-10-24T10:37:22.7997199Z 247 handleServerNotification: (method, handler) => 2026-10-24T10:37:22.7997372Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7997464Z 2026-10-24T10:37:22.7997873Z 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-24T10:37:22.7998248Z 2026-10-24T10:37:22.7998319Z 253 handleUnknownServerRequest: (handler) => 2026-10-24T10:37:22.7998484Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7998572Z 2026-10-24T10:37:22.7998914Z 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-24T10:37:22.7999296Z 2026-10-24T10:37:22.7999378Z 257 handleUnknownServerNotification: (handler) => 2026-10-24T10:37:22.7999551Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.7999642Z 2026-10-24T10:37:22.7999644Z 2026-10-24T10:37:22.7999918Z 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-24T10:37:22.8000228Z 2026-10-24T10:37:22.8000324Z 91 defaultValue: () => 2026-10-24T10:37:22.8000457Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8000524Z 2026-10-24T10:37:22.8000794Z 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-24T10:37:22.8001105Z 2026-10-24T10:37:22.8001158Z 121 onNone: () => 2026-10-24T10:37:22.8001275Z ~~~~~~ 2026-10-24T10:37:22.8001339Z 2026-10-24T10:37:22.8001626Z src/nodeSqliteClient.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("checkNodeSqliteCompat")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8001950Z 2026-10-24T10:37:22.8002016Z 143 const checkNodeSqliteCompat = () => { 2026-10-24T10:37:22.8002169Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8002251Z 2026-10-24T10:37:22.8002527Z src/nodeSqliteClient.ts:471:31 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8002846Z 2026-10-24T10:37:22.8003023Z 471 if (unavailable) return Effect.succeed(undefined); 2026-10-24T10:37:22.8003210Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8003320Z 2026-10-24T10:37:22.8003769Z src/nodeSqliteClient.ts:478:3 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T10:37:22.8004280Z 2026-10-24T10:37:22.8004384Z 478 return Effect.suspend((): Effect.Effect => { 2026-10-24T10:37:22.8004581Z ~~~~~~ 2026-10-24T10:37:22.8004641Z 2026-10-24T10:37:22.8004920Z src/nodeSqliteClient.ts:479:29 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8005234Z 2026-10-24T10:37:22.8005313Z 479 if (unavailable) return Effect.succeed(undefined); 2026-10-24T10:37:22.8005496Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8005604Z 2026-10-24T10:37:22.8005873Z src/nodeSqliteClient.ts:500:13 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8006183Z 2026-10-24T10:37:22.8006241Z 500 ? Effect.succeed(undefined) 2026-10-24T10:37:22.8006440Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8006564Z 2026-10-24T10:37:22.8006953Z src/nodeSqliteClient.ts:665:3 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T10:37:22.8007463Z 2026-10-24T10:37:22.8007510Z 665 try { 2026-10-24T10:37:22.8007614Z ~~~~~ 2026-10-24T10:37:22.8007779Z 666 worker = new NodeWorkerThreads.Worker(checkpointWorkerSource, { 2026-10-24T10:37:22.8008004Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8008168Z ... 2026-10-24T10:37:22.8008277Z 677 return undefined; 2026-10-24T10:37:22.8008422Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8008544Z 678 } 2026-10-24T10:37:22.8008644Z ~~~ 2026-10-24T10:37:22.8008704Z 2026-10-24T10:37:22.8008922Z src/symlink.ts:28:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8009178Z 2026-10-24T10:37:22.8009235Z 28 Effect.map(Option.some), 2026-10-24T10:37:22.8009377Z ~~~~~~~~~~ 2026-10-24T10:37:22.8009447Z 2026-10-24T10:37:22.8009449Z 2026-10-24T10:37:22.8009503Z ~/apps/marketing$ astro check 2026-10-24T10:37:22.8009661Z ~/packages/source-control-core$ tsc --noEmit 2026-10-24T10:37:22.8009831Z ~/packages/tailscale$ tsc --noEmit 2026-10-24T10:37:22.8009981Z ~/packages/ssh$ tsc --noEmit 2026-10-24T10:37:22.8010067Z 2026-10-24T10:37:22.8010132Z ~/packages/provider-core$ tsc --noEmit 2026-10-24T10:37:22.8010233Z 2026-10-24T10:37:22.8010316Z ~/scripts$ tsc --noEmit 2026-10-24T10:37:22.8010679Z 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-24T10:37:22.8010990Z 2026-10-24T10:37:22.8011056Z 51 request: () => Effect.succeed(null), 2026-10-24T10:37:22.8011206Z ~~~~~~~ 2026-10-24T10:37:22.8011273Z 2026-10-24T10:37:22.8011523Z 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-24T10:37:22.8011818Z 2026-10-24T10:37:22.8011871Z 311 onNone: () => 2026-10-24T10:37:22.8011994Z ~~~~~~ 2026-10-24T10:37:22.8012059Z 2026-10-24T10:37:22.8012061Z 2026-10-24T10:37:22.8012136Z ~/packages/source-control-testing$ tsc --noEmit 2026-10-24T10:37:22.8012680Z 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-24T10:37:22.8013059Z 2026-10-24T10:37:22.8013255Z 95 read: (threadId) => Ref.get(sessions).pipe(Effect.map((current) => current.get(threadId))), 2026-10-24T10:37:22.8013480Z ~~~~ 2026-10-24T10:37:22.8013543Z 2026-10-24T10:37:22.8013865Z 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-24T10:37:22.8014226Z 2026-10-24T10:37:22.8014281Z 96 clear: (threadId) => 2026-10-24T10:37:22.8014408Z ~~~~~ 2026-10-24T10:37:22.8014471Z 2026-10-24T10:37:22.8014841Z 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-24T10:37:22.8015256Z 2026-10-24T10:37:22.8015338Z 110 recordHtmlRender: (threadId, input, reference) => 2026-10-24T10:37:22.8015509Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8015583Z 2026-10-24T10:37:22.8016002Z 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-24T10:37:22.8016450Z 2026-10-24T10:37:22.8016526Z 130 takeHtmlRender: (threadId, input, reported) => 2026-10-24T10:37:22.8016690Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8016770Z 2026-10-24T10:37:22.8017209Z 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-24T10:37:22.8017616Z 2026-10-24T10:37:22.8017692Z 55 offer: (request: ProviderContinuationRequest) => 2026-10-24T10:37:22.8017860Z ~~~~~ 2026-10-24T10:37:22.8017923Z 2026-10-24T10:37:22.8018263Z 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-24T10:37:22.8018643Z 2026-10-24T10:37:22.8018697Z 53 invalidate: (key) => 2026-10-24T10:37:22.8018831Z ~~~~~~~~~~ 2026-10-24T10:37:22.8018900Z 2026-10-24T10:37:22.8019189Z src/server/snapshotProbe.test.ts:139:9 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-24T10:37:22.8019516Z 2026-10-24T10:37:22.8028451Z 139 Effect.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, spawner)), 2026-10-24T10:37:22.8028719Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8028803Z 2026-10-24T10:37:22.8028805Z 2026-10-24T10:37:22.8028884Z ~/packages/source-control-bitbucket$ tsc --noEmit 2026-10-24T10:37:22.8029055Z 10:35:45 [types] Generated 188ms 2026-10-24T10:37:22.8029300Z 10:35:45 [check] Getting diagnostics for Astro files in /home/runner/_work/t3code/t3code/apps/marketing... 2026-10-24T10:37:22.8029488Z 2026-10-24T10:37:22.8029555Z ~/packages/provider-acp$ tsc --noEmit 2026-10-24T10:37:22.8029979Z src/server/BitbucketApi.ts:1010:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8030393Z 2026-10-24T10:37:22.8030450Z 1010 listPullRequests: (input) => 2026-10-24T10:37:22.8030593Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8030666Z 2026-10-24T10:37:22.8030970Z src/server/BitbucketApi.ts:1037:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8031500Z 2026-10-24T10:37:22.8031557Z 1037 getPullRequest: (input) => 2026-10-24T10:37:22.8031693Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8031767Z 2026-10-24T10:37:22.8032172Z src/server/BitbucketApi.ts:1039:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8032539Z 2026-10-24T10:37:22.8032601Z 1039 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8032756Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8032837Z 2026-10-24T10:37:22.8033148Z src/server/BitbucketApi.ts:1041:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8033506Z 2026-10-24T10:37:22.8033564Z 1041 createRepository: (input) => 2026-10-24T10:37:22.8033702Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8033777Z 2026-10-24T10:37:22.8034083Z src/server/BitbucketApi.ts:1106:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8034435Z 2026-10-24T10:37:22.8034551Z 1106 getDefaultBranch: (input) => 2026-10-24T10:37:22.8034725Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8034799Z 2026-10-24T10:37:22.8035123Z src/server/BitbucketPullRequestApi.ts:555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getViewer")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8035572Z 2026-10-24T10:37:22.8035624Z 555 getViewer: () => 2026-10-24T10:37:22.8035743Z ~~~~~~~~~ 2026-10-24T10:37:22.8035809Z 2026-10-24T10:37:22.8036160Z src/server/BitbucketPullRequestApi.ts:570:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8036552Z 2026-10-24T10:37:22.8036607Z 570 listPullRequests: (input) => 2026-10-24T10:37:22.8036749Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8036823Z 2026-10-24T10:37:22.8037164Z src/server/BitbucketPullRequestApi.ts:594:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8037552Z 2026-10-24T10:37:22.8037610Z 594 getPullRequest: (input) => 2026-10-24T10:37:22.8037744Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8037818Z 2026-10-24T10:37:22.8038179Z src/server/BitbucketPullRequestApi.ts:609:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getRepositoryPermission")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8038587Z 2026-10-24T10:37:22.8038647Z 609 getRepositoryPermission: (input) => 2026-10-24T10:37:22.8038802Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8038885Z 2026-10-24T10:37:22.8039230Z src/server/BitbucketPullRequestApi.ts:622:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getFileRevisions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8039620Z 2026-10-24T10:37:22.8039678Z 622 getFileRevisions: (input) => 2026-10-24T10:37:22.8039813Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8039886Z 2026-10-24T10:37:22.8040221Z src/server/BitbucketPullRequestApi.ts:639:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getDiffStat")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8040654Z 2026-10-24T10:37:22.8040795Z 639 getDiffStat: (input) => 2026-10-24T10:37:22.8040925Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8040992Z 2026-10-24T10:37:22.8041330Z src/server/BitbucketPullRequestApi.ts:647:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.getMergeability")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8041790Z 2026-10-24T10:37:22.8041849Z 647 getMergeability: (input) => 2026-10-24T10:37:22.8041987Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8042057Z 2026-10-24T10:37:22.8042391Z src/server/BitbucketPullRequestApi.ts:656:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listComments")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8042763Z 2026-10-24T10:37:22.8042817Z 656 listComments: (input) => 2026-10-24T10:37:22.8042945Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8043015Z 2026-10-24T10:37:22.8043345Z src/server/BitbucketPullRequestApi.ts:666:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listCommits")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8043711Z 2026-10-24T10:37:22.8043763Z 666 listCommits: (input) => 2026-10-24T10:37:22.8043892Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8043955Z 2026-10-24T10:37:22.8044327Z src/server/BitbucketPullRequestApi.ts:677:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listChecks")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8044734Z 2026-10-24T10:37:22.8044789Z 677 listChecks: (input) => 2026-10-24T10:37:22.8044915Z ~~~~~~~~~~ 2026-10-24T10:37:22.8044980Z 2026-10-24T10:37:22.8045420Z src/server/BitbucketPullRequestApi.ts:688:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8045818Z 2026-10-24T10:37:22.8045881Z 688 listReviewerCandidates: (input) => 2026-10-24T10:37:22.8046031Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8046107Z 2026-10-24T10:37:22.8046463Z src/server/BitbucketPullRequestApi.ts:722:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8046855Z 2026-10-24T10:37:22.8046913Z 722 setReviewerRequest: (input) => 2026-10-24T10:37:22.8047053Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8047128Z 2026-10-24T10:37:22.8047455Z src/server/BitbucketPullRequestApi.ts:749:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.runAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8047825Z 2026-10-24T10:37:22.8047878Z 749 runAction: (input) => 2026-10-24T10:37:22.8048006Z ~~~~~~~~~ 2026-10-24T10:37:22.8048068Z 2026-10-24T10:37:22.8048415Z src/server/BitbucketPullRequestApi.ts:766:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.updateChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8048805Z 2026-10-24T10:37:22.8048866Z 766 updateChangeRequest: (input) => 2026-10-24T10:37:22.8049006Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8049082Z 2026-10-24T10:37:22.8049408Z src/server/BitbucketPullRequestApi.ts:784:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.comment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8049775Z 2026-10-24T10:37:22.8049824Z 784 comment: (input) => 2026-10-24T10:37:22.8049948Z ~~~~~~~ 2026-10-24T10:37:22.8050013Z 2026-10-24T10:37:22.8050522Z src/server/BitbucketPullRequestApi.ts:795:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.updateComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8050974Z 2026-10-24T10:37:22.8051029Z 795 updateComment: (input) => 2026-10-24T10:37:22.8051162Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8051233Z 2026-10-24T10:37:22.8051566Z src/server/BitbucketPullRequestApi.ts:808:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.submitReview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8051939Z 2026-10-24T10:37:22.8051991Z 808 submitReview: (input) => 2026-10-24T10:37:22.8052123Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8052193Z 2026-10-24T10:37:22.8052525Z src/server/BitbucketPullRequestApi.ts:848:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.replyToComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8052911Z 2026-10-24T10:37:22.8052970Z 848 replyToComment: (input) => 2026-10-24T10:37:22.8053102Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8053173Z 2026-10-24T10:37:22.8053572Z src/server/BitbucketPullRequestApi.ts:862:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketPullRequestApi.setCommentResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8053999Z 2026-10-24T10:37:22.8054057Z 862 setCommentResolution: (input) => 2026-10-24T10:37:22.8054205Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8054283Z 2026-10-24T10:37:22.8054762Z 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-24T10:37:22.8055208Z 2026-10-24T10:37:22.8055267Z 40 listChangeRequests: (input) => { 2026-10-24T10:37:22.8055406Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8055481Z 2026-10-24T10:37:22.8055876Z 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-24T10:37:22.8056315Z 2026-10-24T10:37:22.8056372Z 68 getChangeRequest: (input) => 2026-10-24T10:37:22.8056504Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8056576Z 2026-10-24T10:37:22.8056980Z 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-24T10:37:22.8057421Z 2026-10-24T10:37:22.8057481Z 85 createChangeRequest: (input) => { 2026-10-24T10:37:22.8057625Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8057697Z 2026-10-24T10:37:22.8058109Z 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-24T10:37:22.8058564Z 2026-10-24T10:37:22.8058628Z 114 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8058776Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8058856Z 2026-10-24T10:37:22.8059253Z 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-24T10:37:22.8059693Z 2026-10-24T10:37:22.8059748Z 130 createRepository: (input) => 2026-10-24T10:37:22.8059888Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8060061Z 2026-10-24T10:37:22.8060762Z 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-24T10:37:22.8061247Z 2026-10-24T10:37:22.8061305Z 146 getDefaultBranch: (input) => 2026-10-24T10:37:22.8061442Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8061517Z 2026-10-24T10:37:22.8061928Z 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-24T10:37:22.8062541Z 2026-10-24T10:37:22.8062616Z 164 checkoutChangeRequest: (input) => 2026-10-24T10:37:22.8062768Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8062849Z 2026-10-24T10:37:22.8062852Z 2026-10-24T10:37:22.8062914Z ~/packages/provider-testing$ tsc --noEmit 2026-10-24T10:37:22.8063016Z 2026-10-24T10:37:22.8063086Z ~/packages/source-control-gitlab$ tsc --noEmit 2026-10-24T10:37:22.8063534Z 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-24T10:37:22.8063912Z 2026-10-24T10:37:22.8064109Z 59 shouldRunBackgroundWork: () => Effect.succeed(options.runBackgroundWork ?? true), 2026-10-24T10:37:22.8064469Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8064602Z 2026-10-24T10:37:22.8065023Z 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-24T10:37:22.8065674Z 2026-10-24T10:37:22.8065752Z 61 credentials: (namespace, bindingId) => 2026-10-24T10:37:22.8065913Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8065988Z 2026-10-24T10:37:22.8065990Z 2026-10-24T10:37:22.8066055Z ~/packages/source-control-github$ tsc --noEmit 2026-10-24T10:37:22.8066463Z 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-24T10:37:22.8066801Z 2026-10-24T10:37:22.8066859Z 459 listMergeRequests: (input) => 2026-10-24T10:37:22.8067002Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8067078Z 2026-10-24T10:37:22.8067369Z 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-24T10:37:22.8067704Z 2026-10-24T10:37:22.8067763Z 496 getMergeRequest: (input) => 2026-10-24T10:37:22.8067899Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8067975Z 2026-10-24T10:37:22.8068280Z 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-24T10:37:22.8068626Z 2026-10-24T10:37:22.8068691Z 523 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8068840Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8068923Z 2026-10-24T10:37:22.8069213Z 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-24T10:37:22.8069547Z 2026-10-24T10:37:22.8069616Z 545 createRepository: (input) => { 2026-10-24T10:37:22.8069756Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8069830Z 2026-10-24T10:37:22.8070129Z 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-24T10:37:22.8070625Z 2026-10-24T10:37:22.8070684Z 610 createMergeRequest: (input) => { 2026-10-24T10:37:22.8070834Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8070907Z 2026-10-24T10:37:22.8071281Z 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-24T10:37:22.8071616Z 2026-10-24T10:37:22.8071674Z 631 getDefaultBranch: (input) => 2026-10-24T10:37:22.8071812Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8071887Z 2026-10-24T10:37:22.8072192Z 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-24T10:37:22.8072539Z 2026-10-24T10:37:22.8072597Z 652 checkoutMergeRequest: (input) => 2026-10-24T10:37:22.8072747Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8072828Z 2026-10-24T10:37:22.8073173Z src/server/GitLabPullRequestCli.ts:1139:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listMergeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8073560Z 2026-10-24T10:37:22.8073620Z 1139 listMergeRequests: (input) => { 2026-10-24T10:37:22.8073815Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8073924Z 2026-10-24T10:37:22.8074251Z src/server/GitLabPullRequestCli.ts:1147:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listNotes")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8074676Z 2026-10-24T10:37:22.8074798Z 1147 listNotes: (input) => notesPage({ ...input, page: 1, collected: [] }), 2026-10-24T10:37:22.8074995Z ~~~~~~~~~ 2026-10-24T10:37:22.8075063Z 2026-10-24T10:37:22.8075398Z src/server/GitLabPullRequestCli.ts:1149:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listReactions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8075781Z 2026-10-24T10:37:22.8075922Z 1149 listReactions: (input) => awardsPage({ ...input, cursor: null, page: 1, collected: null }), 2026-10-24T10:37:22.8076168Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8076242Z 2026-10-24T10:37:22.8076575Z src/server/GitLabPullRequestCli.ts:1187:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listCommits")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8076949Z 2026-10-24T10:37:22.8077004Z 1187 listCommits: (input) => 2026-10-24T10:37:22.8077137Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8077209Z 2026-10-24T10:37:22.8077554Z src/server/GitLabPullRequestCli.ts:1212:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.getMergeRequestDiff")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8077949Z 2026-10-24T10:37:22.8078014Z 1212 getMergeRequestDiff: (input) => { 2026-10-24T10:37:22.8078164Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8078245Z 2026-10-24T10:37:22.8078612Z src/server/GitLabPullRequestCli.ts:1283:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.getProjectMergeCapabilities")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8079023Z 2026-10-24T10:37:22.8079096Z 1283 getProjectMergeCapabilities: (input) => 2026-10-24T10:37:22.8079258Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8079364Z 2026-10-24T10:37:22.8079707Z src/server/GitLabPullRequestCli.ts:1303:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listProjectLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8080209Z 2026-10-24T10:37:22.8080312Z 1303 listProjectLabels: (input) => 2026-10-24T10:37:22.8080469Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8080549Z 2026-10-24T10:37:22.8080976Z src/server/GitLabPullRequestCli.ts:1329:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listProjectUsers")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8081368Z 2026-10-24T10:37:22.8081425Z 1329 listProjectUsers: (input) => 2026-10-24T10:37:22.8081568Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8081645Z 2026-10-24T10:37:22.8082010Z src/server/GitLabPullRequestCli.ts:1337:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8082419Z 2026-10-24T10:37:22.8082480Z 1337 listReviewerCandidates: (input) => 2026-10-24T10:37:22.8082653Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8082733Z 2026-10-24T10:37:22.8083079Z src/server/GitLabPullRequestCli.ts:1355:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8083471Z 2026-10-24T10:37:22.8083532Z 1355 setReviewerRequest: (input) => 2026-10-24T10:37:22.8083733Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8083845Z 2026-10-24T10:37:22.8084193Z src/server/GitLabPullRequestCli.ts:1408:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.updateMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8084661Z 2026-10-24T10:37:22.8084719Z 1408 updateMergeRequest: (input) => 2026-10-24T10:37:22.8084866Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8084945Z 2026-10-24T10:37:22.8085297Z src/server/GitLabPullRequestCli.ts:1422:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.commentOnMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8085698Z 2026-10-24T10:37:22.8085762Z 1422 commentOnMergeRequest: (input) => 2026-10-24T10:37:22.8085909Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8085994Z 2026-10-24T10:37:22.8086329Z src/server/GitLabPullRequestCli.ts:1432:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.updateNote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8086709Z 2026-10-24T10:37:22.8086761Z 1432 updateNote: (input) => 2026-10-24T10:37:22.8086893Z ~~~~~~~~~~ 2026-10-24T10:37:22.8086962Z 2026-10-24T10:37:22.8087302Z src/server/GitLabPullRequestCli.ts:1442:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.listDiscussions")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8087686Z 2026-10-24T10:37:22.8087813Z 1442 listDiscussions: (input) => discussionsPage({ ...input, page: 1, collected: [] }), 2026-10-24T10:37:22.8088028Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8088105Z 2026-10-24T10:37:22.8088451Z src/server/GitLabPullRequestCli.ts:1493:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.replyToDiscussion")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8088838Z 2026-10-24T10:37:22.8088898Z 1493 replyToDiscussion: (input) => 2026-10-24T10:37:22.8089040Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8089116Z 2026-10-24T10:37:22.8089472Z src/server/GitLabPullRequestCli.ts:1503:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabPullRequestCli.setDiscussionResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8089962Z 2026-10-24T10:37:22.8090030Z 1503 setDiscussionResolution: (input) => 2026-10-24T10:37:22.8090188Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8090317Z 2026-10-24T10:37:22.8090793Z 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-24T10:37:22.8091256Z 2026-10-24T10:37:22.8091338Z 209 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-24T10:37:22.8091509Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8091596Z 2026-10-24T10:37:22.8092000Z 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-24T10:37:22.8092445Z 2026-10-24T10:37:22.8092507Z 224 listChangeRequests: (input) => { 2026-10-24T10:37:22.8092651Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8092725Z 2026-10-24T10:37:22.8093125Z 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-24T10:37:22.8093569Z 2026-10-24T10:37:22.8093682Z 252 getChangeRequest: (input) => 2026-10-24T10:37:22.8093850Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8093923Z 2026-10-24T10:37:22.8094325Z 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-24T10:37:22.8094849Z 2026-10-24T10:37:22.8094907Z 270 createChangeRequest: (input) => { 2026-10-24T10:37:22.8095057Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8095134Z 2026-10-24T10:37:22.8095544Z 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-24T10:37:22.8096002Z 2026-10-24T10:37:22.8096064Z 299 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8096212Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8096293Z 2026-10-24T10:37:22.8096692Z 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-24T10:37:22.8097144Z 2026-10-24T10:37:22.8097199Z 316 createRepository: (input) => 2026-10-24T10:37:22.8097339Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8097413Z 2026-10-24T10:37:22.8097814Z 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-24T10:37:22.8098261Z 2026-10-24T10:37:22.8098318Z 333 getDefaultBranch: (input) => 2026-10-24T10:37:22.8098451Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8098524Z 2026-10-24T10:37:22.8098938Z 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-24T10:37:22.8099395Z 2026-10-24T10:37:22.8099455Z 347 checkoutChangeRequest: (input) => 2026-10-24T10:37:22.8099605Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8099687Z 2026-10-24T10:37:22.8099689Z 2026-10-24T10:37:22.8099770Z ~/packages/source-control-azure-devops$ tsc --noEmit 2026-10-24T10:37:22.8100398Z 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-24T10:37:22.8100906Z 2026-10-24T10:37:22.8100953Z 501 try { 2026-10-24T10:37:22.8101061Z ~~~~~ 2026-10-24T10:37:22.8101174Z 502 lease.kill(); 2026-10-24T10:37:22.8101296Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8101412Z ... 2026-10-24T10:37:22.8101515Z 508 continue; 2026-10-24T10:37:22.8101629Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8101742Z 509 } 2026-10-24T10:37:22.8101842Z ~~~~~~~ 2026-10-24T10:37:22.8101899Z 2026-10-24T10:37:22.8102361Z 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-24T10:37:22.8102886Z 2026-10-24T10:37:22.8102931Z 511 try { 2026-10-24T10:37:22.8103037Z ~~~~~ 2026-10-24T10:37:22.8103157Z 512 populated = lease.populated(); 2026-10-24T10:37:22.8103306Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8103440Z ... 2026-10-24T10:37:22.8103568Z 520 return yield* failure("read state for", cause); 2026-10-24T10:37:22.8103812Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8104053Z 521 } 2026-10-24T10:37:22.8104214Z ~~~~~~~ 2026-10-24T10:37:22.8104301Z 2026-10-24T10:37:22.8104799Z 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-24T10:37:22.8105484Z 2026-10-24T10:37:22.8105529Z 527 try { 2026-10-24T10:37:22.8105634Z ~~~~~ 2026-10-24T10:37:22.8105747Z 528 lease.remove(); 2026-10-24T10:37:22.8105869Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8105983Z ... 2026-10-24T10:37:22.8106096Z 536 lastRemovalFailure = { cause }; 2026-10-24T10:37:22.8106242Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8106376Z 537 } 2026-10-24T10:37:22.8106472Z ~~~~~~~ 2026-10-24T10:37:22.8106528Z 2026-10-24T10:37:22.8106865Z src/server/AcpSessionRuntime.ts:1990:15 - suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-10-24T10:37:22.8107238Z 2026-10-24T10:37:22.8107293Z 1990 Option.match(result, { 2026-10-24T10:37:22.8107436Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8107515Z 2026-10-24T10:37:22.8107832Z src/server/AcpSessionRuntime.ts:2037:7 - suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-10-24T10:37:22.8108192Z 2026-10-24T10:37:22.8108258Z 2037 Effect.flatMap(() => getStartedState), 2026-10-24T10:37:22.8108413Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8108488Z 2026-10-24T10:37:22.8108830Z src/server/AcpSessionRuntime.ts:2254:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8109210Z 2026-10-24T10:37:22.8109263Z 2254 Effect.catch((error) => 2026-10-24T10:37:22.8109400Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8109471Z 2026-10-24T10:37:22.8109836Z src/server/AcpSessionRuntime.ts:2611:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8110389Z 2026-10-24T10:37:22.8110453Z 2611 Effect.catchCause((cause) => 2026-10-24T10:37:22.8110603Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8110741Z 2026-10-24T10:37:22.8111107Z 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-24T10:37:22.8111489Z 2026-10-24T10:37:22.8111581Z 1389 getCapabilities: () => Effect.succeed(flavor.capabilities), 2026-10-24T10:37:22.8111765Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8111840Z 2026-10-24T10:37:22.8112199Z 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-24T10:37:22.8112601Z 2026-10-24T10:37:22.8112736Z 1390 planSelectionTransition: (input) => Effect.succeed(acpSelectionTransition(input)), 2026-10-24T10:37:22.8112964Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8113049Z 2026-10-24T10:37:22.8113239Z src/server/adapter.ts:5398:23 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T10:37:22.8113470Z 2026-10-24T10:37:22.8113536Z 5398 Effect.gen(function* () { 2026-10-24T10:37:22.8113750Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8113977Z 5399 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-24T10:37:22.8114206Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8114374Z ... 2026-10-24T10:37:22.8114482Z 5403 }); 2026-10-24T10:37:22.8114673Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8114819Z 5404 }), 2026-10-24T10:37:22.8114945Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8115025Z 2026-10-24T10:37:22.8115212Z src/server/adapter.ts:6092:21 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T10:37:22.8115441Z 2026-10-24T10:37:22.8115507Z 6092 Effect.gen(function* () { 2026-10-24T10:37:22.8115669Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8115863Z 6093 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-24T10:37:22.8116078Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8116240Z ... 2026-10-24T10:37:22.8116340Z 6097 }); 2026-10-24T10:37:22.8116468Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8116592Z 6098 }), 2026-10-24T10:37:22.8116712Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8116786Z 2026-10-24T10:37:22.8117095Z 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-24T10:37:22.8117444Z 2026-10-24T10:37:22.8117517Z 7128 scheduleDeferredFinalize = (context) => 2026-10-24T10:37:22.8117676Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8117767Z 2026-10-24T10:37:22.8118058Z 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-24T10:37:22.8118390Z 2026-10-24T10:37:22.8118449Z 243 const results = yield* Effect.all( 2026-10-24T10:37:22.8118602Z ~~~~~~~~~~ 2026-10-24T10:37:22.8118695Z 2026-10-24T10:37:22.8118698Z 2026-10-24T10:37:22.8118769Z ~/packages/source-control-gitcafe$ tsc --noEmit 2026-10-24T10:37:22.8119198Z 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-24T10:37:22.8119918Z 2026-10-24T10:37:22.8119971Z 238 invalidate: (rawHost) => { 2026-10-24T10:37:22.8120177Z ~~~~~~~~~~ 2026-10-24T10:37:22.8120240Z 2026-10-24T10:37:22.8120615Z src/server/GitHubPullRequestApi.ts:992:21 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubApiResponseError")(function*(error) { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8120977Z 2026-10-24T10:37:22.8121051Z 992 GitHubApiResponseError: (error) => 2026-10-24T10:37:22.8121218Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8121314Z 2026-10-24T10:37:22.8121686Z src/server/GitHubPullRequestApi.ts:1629:13 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8122101Z 2026-10-24T10:37:22.8122155Z 1629 Effect.flatMap((runs) => 2026-10-24T10:37:22.8122297Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8122377Z 2026-10-24T10:37:22.8122713Z src/server/GitHubPullRequestApi.ts:1776:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getViewerLogin")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8123097Z 2026-10-24T10:37:22.8123202Z 1776 getViewerLogin: (input) => 2026-10-24T10:37:22.8123369Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8123441Z 2026-10-24T10:37:22.8123778Z src/server/GitHubPullRequestApi.ts:1779:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8124236Z 2026-10-24T10:37:22.8124293Z 1779 listPullRequests: (input) => { 2026-10-24T10:37:22.8124437Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8124512Z 2026-10-24T10:37:22.8124876Z src/server/GitHubPullRequestApi.ts:1908:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8125279Z 2026-10-24T10:37:22.8125333Z 1908 Effect.flatMap((batch) => { 2026-10-24T10:37:22.8125472Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8125549Z 2026-10-24T10:37:22.8125889Z src/server/GitHubPullRequestApi.ts:1947:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.searchPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8126273Z 2026-10-24T10:37:22.8126330Z 1947 searchPullRequests: (input) => { 2026-10-24T10:37:22.8126471Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8126547Z 2026-10-24T10:37:22.8126894Z src/server/GitHubPullRequestApi.ts:2021:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestPreview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8127283Z 2026-10-24T10:37:22.8127348Z 2021 getPullRequestPreview: (input) => { 2026-10-24T10:37:22.8127498Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8127576Z 2026-10-24T10:37:22.8127917Z src/server/GitHubPullRequestApi.ts:2034:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestStack")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8128300Z 2026-10-24T10:37:22.8128361Z 2034 getPullRequestStack: (input) => { 2026-10-24T10:37:22.8128506Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8128584Z 2026-10-24T10:37:22.8128921Z src/server/GitHubPullRequestApi.ts:2112:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestDiff")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8129388Z 2026-10-24T10:37:22.8129449Z 2112 getPullRequestDiff: (input) => { 2026-10-24T10:37:22.8129591Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8129666Z 2026-10-24T10:37:22.8130099Z src/server/GitHubPullRequestApi.ts:2160:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getReviewThreadComments")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8130541Z 2026-10-24T10:37:22.8130608Z 2160 getReviewThreadComments: (input) => { 2026-10-24T10:37:22.8130760Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8130841Z 2026-10-24T10:37:22.8131174Z src/server/GitHubPullRequestApi.ts:2302:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listActorAvatars")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8131551Z 2026-10-24T10:37:22.8131609Z 2302 listActorAvatars: (input) => { 2026-10-24T10:37:22.8131747Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8131819Z 2026-10-24T10:37:22.8132148Z src/server/GitHubPullRequestApi.ts:2311:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getViewerAccess")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8132525Z 2026-10-24T10:37:22.8132634Z 2311 getViewerAccess: (input) => { 2026-10-24T10:37:22.8132808Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8132884Z 2026-10-24T10:37:22.8133234Z src/server/GitHubPullRequestApi.ts:2323:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listReviewerCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8133704Z 2026-10-24T10:37:22.8133767Z 2323 listReviewerCandidates: (input) => { 2026-10-24T10:37:22.8133920Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8134001Z 2026-10-24T10:37:22.8134335Z src/server/GitHubPullRequestApi.ts:2335:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReviewerRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8134715Z 2026-10-24T10:37:22.8134772Z 2335 setReviewerRequest: (input) => { 2026-10-24T10:37:22.8134911Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8134990Z 2026-10-24T10:37:22.8135336Z src/server/GitHubPullRequestApi.ts:2348:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listLabelCandidates")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8135721Z 2026-10-24T10:37:22.8135779Z 2348 listLabelCandidates: (input) => { 2026-10-24T10:37:22.8135929Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8136007Z 2026-10-24T10:37:22.8136349Z src/server/GitHubPullRequestApi.ts:2360:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.listRepositoryLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8136740Z 2026-10-24T10:37:22.8136802Z 2360 listRepositoryLabels: (input) => { 2026-10-24T10:37:22.8136950Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8137033Z 2026-10-24T10:37:22.8137385Z src/server/GitHubPullRequestApi.ts:2372:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.searchRepositoryAuthors")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8137781Z 2026-10-24T10:37:22.8137847Z 2372 searchRepositoryAuthors: (input) => { 2026-10-24T10:37:22.8138001Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8138085Z 2026-10-24T10:37:22.8138409Z src/server/GitHubPullRequestApi.ts:2384:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setLabels")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8138874Z 2026-10-24T10:37:22.8138928Z 2384 setLabels: (input) => { 2026-10-24T10:37:22.8139059Z ~~~~~~~~~ 2026-10-24T10:37:22.8139124Z 2026-10-24T10:37:22.8139547Z src/server/GitHubPullRequestApi.ts:2411:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.runPullRequestAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8139933Z 2026-10-24T10:37:22.8139997Z 2411 runPullRequestAction: (input) => { 2026-10-24T10:37:22.8140147Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8140230Z 2026-10-24T10:37:22.8140606Z src/server/GitHubPullRequestApi.ts:2670:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.commentOnPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8140987Z 2026-10-24T10:37:22.8141050Z 2670 commentOnPullRequest: (input) => 2026-10-24T10:37:22.8141198Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8141275Z 2026-10-24T10:37:22.8141604Z src/server/GitHubPullRequestApi.ts:2680:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.submitReview")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8141972Z 2026-10-24T10:37:22.8142029Z 2680 submitReview: (input) => { 2026-10-24T10:37:22.8142205Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8142362Z 2026-10-24T10:37:22.8142705Z src/server/GitHubPullRequestApi.ts:2697:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.replyToReviewThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8143106Z 2026-10-24T10:37:22.8143202Z 2697 replyToReviewThread: (input) => 2026-10-24T10:37:22.8143371Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8143447Z 2026-10-24T10:37:22.8143801Z src/server/GitHubPullRequestApi.ts:2702:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestFilesViewed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8144201Z 2026-10-24T10:37:22.8144272Z 2702 getPullRequestFilesViewed: (input) => { 2026-10-24T10:37:22.8144434Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8144520Z 2026-10-24T10:37:22.8144871Z src/server/GitHubPullRequestApi.ts:2730:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.getPullRequestFileStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8145264Z 2026-10-24T10:37:22.8145327Z 2730 getPullRequestFileStats: (input) => { 2026-10-24T10:37:22.8145484Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8145568Z 2026-10-24T10:37:22.8145920Z src/server/GitHubPullRequestApi.ts:2758:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setPullRequestFilesViewed")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8146320Z 2026-10-24T10:37:22.8146390Z 2758 setPullRequestFilesViewed: (input) => { 2026-10-24T10:37:22.8146546Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8146632Z 2026-10-24T10:37:22.8146989Z src/server/GitHubPullRequestApi.ts:2779:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReviewThreadResolution")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8147389Z 2026-10-24T10:37:22.8147453Z 2779 setReviewThreadResolution: (input) => 2026-10-24T10:37:22.8147609Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8147694Z 2026-10-24T10:37:22.8148017Z src/server/GitHubPullRequestApi.ts:2785:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.setReaction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8148492Z 2026-10-24T10:37:22.8148547Z 2785 setReaction: (input) => { 2026-10-24T10:37:22.8148677Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8148751Z 2026-10-24T10:37:22.8149168Z src/server/GitHubPullRequestApi.ts:2818:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.updatePullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8149552Z 2026-10-24T10:37:22.8149613Z 2818 updatePullRequest: (input) => 2026-10-24T10:37:22.8149755Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8149832Z 2026-10-24T10:37:22.8150168Z src/server/GitHubPullRequestApi.ts:2834:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubPullRequestApi.updateComment")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8150596Z 2026-10-24T10:37:22.8150653Z 2834 updateComment: (input) => 2026-10-24T10:37:22.8150787Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8150862Z 2026-10-24T10:37:22.8151277Z 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-24T10:37:22.8151738Z 2026-10-24T10:37:22.8151819Z 894 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-24T10:37:22.8152049Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8152170Z 2026-10-24T10:37:22.8152577Z 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-24T10:37:22.8153109Z 2026-10-24T10:37:22.8153169Z 905 listChangeRequests: (input) => 2026-10-24T10:37:22.8153313Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8153389Z 2026-10-24T10:37:22.8153798Z 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-24T10:37:22.8154245Z 2026-10-24T10:37:22.8154305Z 923 getChangeRequest: (input) => 2026-10-24T10:37:22.8154446Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8154523Z 2026-10-24T10:37:22.8154940Z 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-24T10:37:22.8155401Z 2026-10-24T10:37:22.8155461Z 1036 checkoutChangeRequest: (input) => 2026-10-24T10:37:22.8155613Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8155692Z 2026-10-24T10:37:22.8156053Z 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-24T10:37:22.8156454Z 2026-10-24T10:37:22.8156514Z 118 return yield* Effect.fail(error); 2026-10-24T10:37:22.8156657Z ~~~~~ 2026-10-24T10:37:22.8156728Z 2026-10-24T10:37:22.8156731Z 2026-10-24T10:37:22.8156806Z ~/packages/source-control-forgejo$ tsc --noEmit 2026-10-24T10:37:22.8157236Z 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-24T10:37:22.8157596Z 2026-10-24T10:37:22.8157654Z 389 listPullRequests: (input) => 2026-10-24T10:37:22.8157791Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8157864Z 2026-10-24T10:37:22.8158178Z 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-24T10:37:22.8158623Z 2026-10-24T10:37:22.8158678Z 429 getPullRequest: (input) => 2026-10-24T10:37:22.8158818Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8158890Z 2026-10-24T10:37:22.8159297Z 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-24T10:37:22.8159671Z 2026-10-24T10:37:22.8159736Z 463 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8159884Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8159967Z 2026-10-24T10:37:22.8160298Z 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-24T10:37:22.8160690Z 2026-10-24T10:37:22.8160747Z 479 createRepository: (input) => { 2026-10-24T10:37:22.8160890Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8160965Z 2026-10-24T10:37:22.8161278Z 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-24T10:37:22.8161640Z 2026-10-24T10:37:22.8161749Z 504 createPullRequest: (input) => 2026-10-24T10:37:22.8161933Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8162011Z 2026-10-24T10:37:22.8162323Z 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-24T10:37:22.8162759Z 2026-10-24T10:37:22.8162814Z 524 getDefaultBranch: (input) => 2026-10-24T10:37:22.8162956Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8163033Z 2026-10-24T10:37:22.8163354Z 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-24T10:37:22.8163721Z 2026-10-24T10:37:22.8163783Z 535 checkoutPullRequest: (input) => 2026-10-24T10:37:22.8163929Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8164009Z 2026-10-24T10:37:22.8164356Z src/server/AzureDevOpsPullRequestCli.ts:494:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.getViewer")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8164745Z 2026-10-24T10:37:22.8164800Z 494 getViewer: (input) => 2026-10-24T10:37:22.8164928Z ~~~~~~~~~ 2026-10-24T10:37:22.8164996Z 2026-10-24T10:37:22.8165352Z src/server/AzureDevOpsPullRequestCli.ts:548:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8165759Z 2026-10-24T10:37:22.8165819Z 548 listPullRequests: (input) => 2026-10-24T10:37:22.8165960Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8166031Z 2026-10-24T10:37:22.8166390Z src/server/AzureDevOpsPullRequestCli.ts:562:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8166789Z 2026-10-24T10:37:22.8166846Z 562 getPullRequest: (input) => 2026-10-24T10:37:22.8166979Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8167054Z 2026-10-24T10:37:22.8167403Z src/server/AzureDevOpsPullRequestCli.ts:593:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listThreads")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8167792Z 2026-10-24T10:37:22.8167942Z 593 listThreads: (input) => 2026-10-24T10:37:22.8168076Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8168141Z 2026-10-24T10:37:22.8168500Z src/server/AzureDevOpsPullRequestCli.ts:603:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listIterations")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8168977Z 2026-10-24T10:37:22.8169036Z 603 listIterations: (input) => 2026-10-24T10:37:22.8169171Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8169245Z 2026-10-24T10:37:22.8169619Z src/server/AzureDevOpsPullRequestCli.ts:613:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.listIterationChanges")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8170034Z 2026-10-24T10:37:22.8170098Z 613 listIterationChanges: (input) => { 2026-10-24T10:37:22.8170248Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8170364Z 2026-10-24T10:37:22.8170729Z src/server/AzureDevOpsPullRequestCli.ts:640:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.readItemContent")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8171132Z 2026-10-24T10:37:22.8171189Z 640 readItemContent: (input) => 2026-10-24T10:37:22.8171326Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8171399Z 2026-10-24T10:37:22.8171825Z src/server/AzureDevOpsPullRequestCli.ts:663:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.setPullRequestReviewers")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8172280Z 2026-10-24T10:37:22.8172342Z 663 setPullRequestReviewers: (input) => 2026-10-24T10:37:22.8172498Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8172584Z 2026-10-24T10:37:22.8173027Z src/server/AzureDevOpsPullRequestCli.ts:688:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.runPullRequestAction")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8173437Z 2026-10-24T10:37:22.8173501Z 688 runPullRequestAction: (input) => 2026-10-24T10:37:22.8173645Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8173725Z 2026-10-24T10:37:22.8174088Z src/server/AzureDevOpsPullRequestCli.ts:707:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsPullRequestCli.updatePullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8174492Z 2026-10-24T10:37:22.8174548Z 707 updatePullRequest: (input) => 2026-10-24T10:37:22.8174694Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8174772Z 2026-10-24T10:37:22.8175185Z 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-24T10:37:22.8175650Z 2026-10-24T10:37:22.8175710Z 81 listChangeRequests: (input) => { 2026-10-24T10:37:22.8175852Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8175928Z 2026-10-24T10:37:22.8176346Z 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-24T10:37:22.8176806Z 2026-10-24T10:37:22.8176864Z 109 getChangeRequest: (input) => 2026-10-24T10:37:22.8177003Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8177078Z 2026-10-24T10:37:22.8177500Z 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-24T10:37:22.8178064Z 2026-10-24T10:37:22.8178128Z 127 createChangeRequest: (input) => { 2026-10-24T10:37:22.8178278Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8178400Z 2026-10-24T10:37:22.8178856Z 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-24T10:37:22.8179327Z 2026-10-24T10:37:22.8179393Z 156 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8179543Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8179626Z 2026-10-24T10:37:22.8180040Z 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-24T10:37:22.8180537Z 2026-10-24T10:37:22.8180598Z 173 createRepository: (input) => 2026-10-24T10:37:22.8180739Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8180810Z 2026-10-24T10:37:22.8181224Z 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-24T10:37:22.8181681Z 2026-10-24T10:37:22.8181783Z 190 getDefaultBranch: (input) => 2026-10-24T10:37:22.8181950Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8182025Z 2026-10-24T10:37:22.8182557Z 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-24T10:37:22.8183021Z 2026-10-24T10:37:22.8183080Z 204 checkoutChangeRequest: (input) => 2026-10-24T10:37:22.8183233Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8183315Z 2026-10-24T10:37:22.8183317Z 2026-10-24T10:37:22.8183375Z ~/packages/provider-pi$ tsc --noEmit 2026-10-24T10:37:22.8183776Z 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-24T10:37:22.8184124Z 2026-10-24T10:37:22.8184173Z 170 get: (host) => 2026-10-24T10:37:22.8184294Z ~~~ 2026-10-24T10:37:22.8184356Z 2026-10-24T10:37:22.8184672Z 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-24T10:37:22.8185031Z 2026-10-24T10:37:22.8185134Z 183 invalidate: (host) => Cache.invalidate(cache, normalizeHost(host)), 2026-10-24T10:37:22.8185326Z ~~~~~~~~~~ 2026-10-24T10:37:22.8185413Z 2026-10-24T10:37:22.8185726Z 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-24T10:37:22.8186075Z 2026-10-24T10:37:22.8186123Z 184 cliEnv: (host) => 2026-10-24T10:37:22.8186248Z ~~~~~~ 2026-10-24T10:37:22.8186324Z 2026-10-24T10:37:22.8186596Z src/server/GitCafePullRequestProvider.ts:341:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8186903Z 2026-10-24T10:37:22.8186961Z 341 Effect.map(Option.some), 2026-10-24T10:37:22.8187099Z ~~~~~~~~~~ 2026-10-24T10:37:22.8187167Z 2026-10-24T10:37:22.8187428Z src/server/GitCafePullRequestProvider.ts:346:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8187729Z 2026-10-24T10:37:22.8187910Z 346 : Effect.succeed(Option.none()), 2026-10-24T10:37:22.8188072Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8188161Z 2026-10-24T10:37:22.8188419Z src/server/GitCafePullRequestProvider.ts:655:13 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8188798Z 2026-10-24T10:37:22.8188857Z 655 Effect.map(Option.some), 2026-10-24T10:37:22.8189006Z ~~~~~~~~~~ 2026-10-24T10:37:22.8189081Z 2026-10-24T10:37:22.8189335Z src/server/GitCafePullRequestProvider.ts:660:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8189632Z 2026-10-24T10:37:22.8189702Z 660 : Effect.succeed(Option.none()), 2026-10-24T10:37:22.8189862Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8189952Z 2026-10-24T10:37:22.8190275Z src/server/GitCafePullRequestProvider.ts:673:15 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("readPage")((rows, after) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8190694Z 2026-10-24T10:37:22.8190784Z 673 const readPage = (rows: number, after: string | null) => { 2026-10-24T10:37:22.8190967Z ~~~~~~~~ 2026-10-24T10:37:22.8191041Z 2026-10-24T10:37:22.8191459Z src/server/GitCafePullRequestProvider.ts:790:13 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8191899Z 2026-10-24T10:37:22.8191954Z 790 Effect.catch((error) => 2026-10-24T10:37:22.8192096Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8192176Z 2026-10-24T10:37:22.8192618Z src/server/GitCafePullRequestProvider.ts:868:19 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8193022Z 2026-10-24T10:37:22.8193080Z 868 Effect.catch((error) => 2026-10-24T10:37:22.8193236Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8193324Z 2026-10-24T10:37:22.8193326Z 2026-10-24T10:37:22.8193386Z ~/packages/provider-muse$ tsc --noEmit 2026-10-24T10:37:22.8193891Z 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-24T10:37:22.8194360Z 2026-10-24T10:37:22.8194430Z 340 getChangeRequest: (input) => 2026-10-24T10:37:22.8194587Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8194664Z 2026-10-24T10:37:22.8194666Z 2026-10-24T10:37:22.8194729Z ~/packages/provider-opencode$ tsc --noEmit 2026-10-24T10:37:22.8195169Z 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-24T10:37:22.8195546Z 2026-10-24T10:37:22.8195644Z 440 getCapabilities: () => Effect.succeed(PiProviderCapabilitiesV2), 2026-10-24T10:37:22.8195838Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8195911Z 2026-10-24T10:37:22.8196257Z 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-24T10:37:22.8196650Z 2026-10-24T10:37:22.8196778Z 441 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8196999Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8197081Z 2026-10-24T10:37:22.8197313Z src/server/adapter.ts:1694:31 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8197683Z 2026-10-24T10:37:22.8197754Z 1694 Effect.map(Option.some), 2026-10-24T10:37:22.8197927Z ~~~~~~~~~~ 2026-10-24T10:37:22.8198025Z 2026-10-24T10:37:22.8198287Z src/server/adapter.ts:1697:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8198589Z 2026-10-24T10:37:22.8198663Z 1697 : Effect.succeed(Option.none()), 2026-10-24T10:37:22.8198834Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8198935Z 2026-10-24T10:37:22.8199195Z 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-24T10:37:22.8199497Z 2026-10-24T10:37:22.8199546Z 334 onSuccess: () => 2026-10-24T10:37:22.8199674Z ~~~~~~~~~ 2026-10-24T10:37:22.8199743Z 2026-10-24T10:37:22.8199956Z src/server/rpc.ts:342:17 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8200215Z 2026-10-24T10:37:22.8200315Z 342 Effect.map(Option.some), 2026-10-24T10:37:22.8200470Z ~~~~~~~~~~ 2026-10-24T10:37:22.8200553Z 2026-10-24T10:37:22.8200555Z 2026-10-24T10:37:22.8200669Z ~/packages/provider-cursor$ tsc --noEmit 2026-10-24T10:37:22.8201136Z 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-24T10:37:22.8201583Z 2026-10-24T10:37:22.8201686Z 284 getCapabilities: () => Effect.succeed(MuseProviderCapabilitiesV2), 2026-10-24T10:37:22.8201879Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8201953Z 2026-10-24T10:37:22.8202304Z 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-24T10:37:22.8202694Z 2026-10-24T10:37:22.8202820Z 285 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8203037Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8203120Z 2026-10-24T10:37:22.8203398Z 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-24T10:37:22.8203714Z 2026-10-24T10:37:22.8203772Z 388 TimeoutError: (cause) => 2026-10-24T10:37:22.8203917Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8203993Z 2026-10-24T10:37:22.8204218Z src/server/adapter.ts:1366:35 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8204484Z 2026-10-24T10:37:22.8204616Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-24T10:37:22.8204842Z ~~~~~~~~~~ 2026-10-24T10:37:22.8204944Z 2026-10-24T10:37:22.8205169Z src/server/adapter.ts:1366:71 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8205430Z 2026-10-24T10:37:22.8205558Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-24T10:37:22.8205804Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8205923Z 2026-10-24T10:37:22.8205925Z 2026-10-24T10:37:22.8205985Z ~/packages/provider-grok$ tsc --noEmit 2026-10-24T10:37:22.8206372Z 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-24T10:37:22.8206796Z 2026-10-24T10:37:22.8206856Z 147 return Effect.succeed(undefined); 2026-10-24T10:37:22.8207002Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8207089Z 2026-10-24T10:37:22.8207577Z 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-24T10:37:22.8208021Z 2026-10-24T10:37:22.8208084Z 188 if (!recordable) return Effect.void; 2026-10-24T10:37:22.8208237Z ~~~~~~ 2026-10-24T10:37:22.8208323Z 2026-10-24T10:37:22.8208722Z 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-24T10:37:22.8209163Z 2026-10-24T10:37:22.8209214Z 208 return Effect.void; 2026-10-24T10:37:22.8209346Z ~~~~~~ 2026-10-24T10:37:22.8209413Z 2026-10-24T10:37:22.8209857Z 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-24T10:37:22.8210347Z 2026-10-24T10:37:22.8210431Z 228 return fs 2026-10-24T10:37:22.8210542Z ~~~~~~ 2026-10-24T10:37:22.8210629Z 2026-10-24T10:37:22.8211001Z 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-24T10:37:22.8211351Z 2026-10-24T10:37:22.8211469Z 311 OpenCodeServerLedger.of({ track: () => Effect.succeed(Effect.void) }), 2026-10-24T10:37:22.8211672Z ~~~~~ 2026-10-24T10:37:22.8211761Z 2026-10-24T10:37:22.8212079Z 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-24T10:37:22.8212440Z 2026-10-24T10:37:22.8212494Z 169 withServer: (use) => 2026-10-24T10:37:22.8212620Z ~~~~~~~~~~ 2026-10-24T10:37:22.8212686Z 2026-10-24T10:37:22.8213084Z 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-24T10:37:22.8213525Z 2026-10-24T10:37:22.8213652Z 103 const OPENCODE_TEST_SETTINGS = Schema.decodeUnknownSync(OpenCodeSettings)({}); 2026-10-24T10:37:22.8213884Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8213988Z 2026-10-24T10:37:22.8214321Z 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-24T10:37:22.8214691Z 2026-10-24T10:37:22.8214809Z 938 getCapabilities: () => Effect.succeed(OpenCodeProviderCapabilitiesV2), 2026-10-24T10:37:22.8215009Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8215085Z 2026-10-24T10:37:22.8215430Z 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-24T10:37:22.8215813Z 2026-10-24T10:37:22.8215940Z 939 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8216260Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8216339Z 2026-10-24T10:37:22.8216642Z 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-24T10:37:22.8217063Z 2026-10-24T10:37:22.8217142Z 1011 const abortController = new AbortController(); 2026-10-24T10:37:22.8217323Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8217430Z 2026-10-24T10:37:22.8217765Z 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-24T10:37:22.8218136Z 2026-10-24T10:37:22.8218213Z 1088 if (failure) return yield* Effect.fail(failure); 2026-10-24T10:37:22.8218386Z ~~~~~ 2026-10-24T10:37:22.8218482Z 2026-10-24T10:37:22.8218766Z 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-24T10:37:22.8219094Z 2026-10-24T10:37:22.8219177Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-24T10:37:22.8219349Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8219474Z 2026-10-24T10:37:22.8219772Z 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-24T10:37:22.8220083Z 2026-10-24T10:37:22.8220162Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-24T10:37:22.8220619Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8220753Z 2026-10-24T10:37:22.8221078Z 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-24T10:37:22.8221438Z 2026-10-24T10:37:22.8221533Z 3194 admissionAbortController: new AbortController(), 2026-10-24T10:37:22.8261301Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8261424Z 2026-10-24T10:37:22.8261741Z 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-24T10:37:22.8262071Z 2026-10-24T10:37:22.8262163Z 3354 turn.admissionAbortController = new AbortController(); 2026-10-24T10:37:22.8262499Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8262603Z 2026-10-24T10:37:22.8262893Z 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-24T10:37:22.8263261Z 2026-10-24T10:37:22.8263323Z 158 connect: ({ baseUrl, password }) => { 2026-10-24T10:37:22.8263475Z ~~~~~~~ 2026-10-24T10:37:22.8263537Z 2026-10-24T10:37:22.8263835Z 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-24T10:37:22.8264174Z 2026-10-24T10:37:22.8264226Z 160 withConnection: (use) => 2026-10-24T10:37:22.8264354Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8264423Z 2026-10-24T10:37:22.8264714Z 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-24T10:37:22.8265047Z 2026-10-24T10:37:22.8265252Z 175 withConnection: (use) => 2026-10-24T10:37:22.8265423Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8265488Z 2026-10-24T10:37:22.8265705Z src/server/v2/adapter.ts:1544:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8265958Z 2026-10-24T10:37:22.8266119Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-24T10:37:22.8266367Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8266454Z 2026-10-24T10:37:22.8266672Z src/server/v2/adapter.ts:1544:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8266924Z 2026-10-24T10:37:22.8267040Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-24T10:37:22.8267256Z ~~~~~~~~~~ 2026-10-24T10:37:22.8267360Z 2026-10-24T10:37:22.8267679Z 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-24T10:37:22.8268044Z 2026-10-24T10:37:22.8268163Z 4137 getCapabilities: () => Effect.succeed(OpenCode2ProviderCapabilities), 2026-10-24T10:37:22.8268349Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8268483Z 2026-10-24T10:37:22.8268858Z 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-24T10:37:22.8269237Z 2026-10-24T10:37:22.8269431Z 4138 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8269636Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8269712Z 2026-10-24T10:37:22.8269715Z 2026-10-24T10:37:22.8269783Z ~/packages/provider-acp-registry$ tsc --noEmit 2026-10-24T10:37:22.8270209Z 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-24T10:37:22.8270624Z 2026-10-24T10:37:22.8270679Z 174 Effect.flatMap((snapshot) => 2026-10-24T10:37:22.8270811Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8270881Z 2026-10-24T10:37:22.8271120Z 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-24T10:37:22.8271392Z 2026-10-24T10:37:22.8271460Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-24T10:37:22.8271608Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8271684Z 2026-10-24T10:37:22.8271939Z 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-24T10:37:22.8272235Z 2026-10-24T10:37:22.8272300Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-24T10:37:22.8272445Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8272521Z 2026-10-24T10:37:22.8272871Z 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-24T10:37:22.8273255Z 2026-10-24T10:37:22.8273313Z 1588 Effect.catchCause((cause) => 2026-10-24T10:37:22.8273459Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8273539Z 2026-10-24T10:37:22.8273544Z 2026-10-24T10:37:22.8273600Z ~/packages/client-runtime$ tsc --noEmit 2026-10-24T10:37:22.8274034Z 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-24T10:37:22.8274502Z 2026-10-24T10:37:22.8274572Z 31 read: (credentialSource, sinceMs, untilMs) => 2026-10-24T10:37:22.8274724Z ~~~~ 2026-10-24T10:37:22.8274780Z 2026-10-24T10:37:22.8275146Z 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-24T10:37:22.8275471Z 2026-10-24T10:37:22.8275534Z 82 read: (apiKey) => 2026-10-24T10:37:22.8275644Z ~~~~ 2026-10-24T10:37:22.8275699Z 2026-10-24T10:37:22.8275975Z 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-24T10:37:22.8276304Z 2026-10-24T10:37:22.8276352Z 360 Effect.catch(() => 2026-10-24T10:37:22.8276470Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8276534Z 2026-10-24T10:37:22.8276850Z 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-24T10:37:22.8277204Z 2026-10-24T10:37:22.8277307Z 904 getCapabilities: () => Effect.succeed(CursorProviderCapabilitiesV2), 2026-10-24T10:37:22.8277542Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8277640Z 2026-10-24T10:37:22.8277975Z 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-24T10:37:22.8278404Z 2026-10-24T10:37:22.8278537Z 905 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8278742Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8278820Z 2026-10-24T10:37:22.8279260Z 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-24T10:37:22.8279737Z 2026-10-24T10:37:22.8279789Z 55 Effect.runPromise( 2026-10-24T10:37:22.8279909Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8279979Z 2026-10-24T10:37:22.8280242Z 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-24T10:37:22.8280593Z 2026-10-24T10:37:22.8280660Z 59 onNone: () => Effect.succeed(undefined), 2026-10-24T10:37:22.8280820Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8280917Z 2026-10-24T10:37:22.8281355Z 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-24T10:37:22.8281828Z 2026-10-24T10:37:22.8281878Z 69 Effect.runPromise( 2026-10-24T10:37:22.8282000Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8282068Z 2026-10-24T10:37:22.8282503Z 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-24T10:37:22.8282978Z 2026-10-24T10:37:22.8283049Z 82 clear: () => Effect.runPromise(credentials.remove), 2026-10-24T10:37:22.8283210Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8283377Z 2026-10-24T10:37:22.8283706Z 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-24T10:37:22.8284076Z 2026-10-24T10:37:22.8284162Z 228 Effect.flatMap((snapshot) => 2026-10-24T10:37:22.8284337Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8284414Z 2026-10-24T10:37:22.8284604Z src/server/usageLimits.test.ts:74:5 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T10:37:22.8284833Z 2026-10-24T10:37:22.8284885Z 74 Effect.gen(function* () { 2026-10-24T10:37:22.8285011Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8285140Z 75 yield* withNodeServices( 2026-10-24T10:37:22.8285267Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8285385Z ... 2026-10-24T10:37:22.8285478Z 115 ); 2026-10-24T10:37:22.8285574Z ~~~~~~~~ 2026-10-24T10:37:22.8285674Z 116 }), 2026-10-24T10:37:22.8285767Z ~~~~~~ 2026-10-24T10:37:22.8285822Z 2026-10-24T10:37:22.8285824Z 2026-10-24T10:37:22.8286080Z src/server/AcpRegistryRuntimeCoordinator.ts:154:52 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8286374Z 2026-10-24T10:37:22.8286549Z 154 return yield* Effect.raceFirst(effect.pipe(Effect.map(Option.some)), foregroundStarted); 2026-10-24T10:37:22.8286817Z ~~~~~~~~~~ 2026-10-24T10:37:22.8286921Z 2026-10-24T10:37:22.8287248Z 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-24T10:37:22.8287694Z 2026-10-24T10:37:22.8287745Z 1301 Effect.catch((error) => 2026-10-24T10:37:22.8287875Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8287945Z 2026-10-24T10:37:22.8288253Z 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-24T10:37:22.8288585Z 2026-10-24T10:37:22.8288636Z 146 Option.isSome(result) 2026-10-24T10:37:22.8288770Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8288851Z 2026-10-24T10:37:22.8289143Z 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-24T10:37:22.8289437Z 2026-10-24T10:37:22.8289539Z 640 enrichSnapshot: ({ snapshot, getSnapshot, publishSnapshot }) => { 2026-10-24T10:37:22.8289722Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8289793Z 2026-10-24T10:37:22.8290008Z src/server/driver.ts:650:51 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8290296Z 2026-10-24T10:37:22.8290397Z 650 : enrichProviderCached(snapshot).pipe(Effect.map(Option.some)) 2026-10-24T10:37:22.8290602Z ~~~~~~~~~~ 2026-10-24T10:37:22.8290706Z 2026-10-24T10:37:22.8290708Z 2026-10-24T10:37:22.8290940Z src/authorization/remote.test.ts:232:25 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8291214Z 2026-10-24T10:37:22.8291324Z 232 identity: Effect.succeed(Option.some({ accountId: "user_connect" })), 2026-10-24T10:37:22.8291525Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8291613Z 2026-10-24T10:37:22.8291844Z src/authorization/remote.test.ts:237:17 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8292212Z 2026-10-24T10:37:22.8292288Z 237 id: Effect.succeed(Option.some("device-1")), 2026-10-24T10:37:22.8292450Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8292533Z 2026-10-24T10:37:22.8292953Z 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-24T10:37:22.8293331Z 2026-10-24T10:37:22.8293386Z 553 authorizeDpop: (input) => 2026-10-24T10:37:22.8293516Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8293584Z 2026-10-24T10:37:22.8293927Z 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-24T10:37:22.8294312Z 2026-10-24T10:37:22.8294369Z 555 authorizeDpopHttp: (input) => 2026-10-24T10:37:22.8294508Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8294581Z 2026-10-24T10:37:22.8294909Z 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-24T10:37:22.8295278Z 2026-10-24T10:37:22.8295326Z 138 get: (entry) => 2026-10-24T10:37:22.8295442Z ~~~ 2026-10-24T10:37:22.8295499Z 2026-10-24T10:37:22.8295895Z 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-24T10:37:22.8296309Z 2026-10-24T10:37:22.8296365Z 143 set: (entry, permission) => { 2026-10-24T10:37:22.8296498Z ~~~ 2026-10-24T10:37:22.8296557Z 2026-10-24T10:37:22.8296978Z 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-24T10:37:22.8297362Z 2026-10-24T10:37:22.8297415Z 159 forget: (environmentId) => 2026-10-24T10:37:22.8297549Z ~~~~~~ 2026-10-24T10:37:22.8297609Z 2026-10-24T10:37:22.8297929Z 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-24T10:37:22.8298287Z 2026-10-24T10:37:22.8298342Z 298 registerPairing: (input) => 2026-10-24T10:37:22.8298475Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8298544Z 2026-10-24T10:37:22.8298851Z 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-24T10:37:22.8299201Z 2026-10-24T10:37:22.8299251Z 304 registerSsh: (input) => 2026-10-24T10:37:22.8299376Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8299439Z 2026-10-24T10:37:22.8299750Z 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-24T10:37:22.8300103Z 2026-10-24T10:37:22.8300162Z 309 updateBearer: (input) => 2026-10-24T10:37:22.8300333Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8300404Z 2026-10-24T10:37:22.8300687Z 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-24T10:37:22.8301009Z 2026-10-24T10:37:22.8301068Z 1392 ? Effect.succeed(undefined) 2026-10-24T10:37:22.8301223Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8301318Z 2026-10-24T10:37:22.8301684Z 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-24T10:37:22.8302006Z 2026-10-24T10:37:22.8302066Z 1476 ? Effect.succeed(undefined) 2026-10-24T10:37:22.8302337Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8302487Z 2026-10-24T10:37:22.8302769Z 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-24T10:37:22.8303086Z 2026-10-24T10:37:22.8303154Z 1489 : Effect.succeed(undefined), 2026-10-24T10:37:22.8303321Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8303422Z 2026-10-24T10:37:22.8303679Z src/platform/orchestrationCache.test.ts:104:15 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8303982Z 2026-10-24T10:37:22.8304044Z 104 }).pipe(Effect.map(Option.some)); 2026-10-24T10:37:22.8304189Z ~~~~~~~~~~ 2026-10-24T10:37:22.8304268Z 2026-10-24T10:37:22.8304728Z 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-24T10:37:22.8305201Z 2026-10-24T10:37:22.8305296Z 72 load: (prepared: PreparedConnection, threadId: ThreadId) => { 2026-10-24T10:37:22.8305484Z ~~~~ 2026-10-24T10:37:22.8305582Z 2026-10-24T10:37:22.8305913Z 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-24T10:37:22.8306258Z 2026-10-24T10:37:22.8306363Z 56 Effect.catch(() => Effect.succeed(Option.none())), 2026-10-24T10:37:22.8306556Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8306637Z 2026-10-24T10:37:22.8306991Z 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-24T10:37:22.8307383Z 2026-10-24T10:37:22.8307444Z 62 return yield* Effect.fail( 2026-10-24T10:37:22.8307584Z ~~~~~ 2026-10-24T10:37:22.8307668Z 2026-10-24T10:37:22.8307974Z 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-24T10:37:22.8308315Z 2026-10-24T10:37:22.8308415Z 57 execute: (target: OutdatedServerUpdateTarget, atomRegistry) => { 2026-10-24T10:37:22.8308605Z ~~~~~~~ 2026-10-24T10:37:22.8308670Z 2026-10-24T10:37:22.8308999Z 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-24T10:37:22.8309367Z 2026-10-24T10:37:22.8309425Z 90 load: (prepared, input) => 2026-10-24T10:37:22.8309555Z ~~~~ 2026-10-24T10:37:22.8309616Z 2026-10-24T10:37:22.8310038Z 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-24T10:37:22.8310544Z 2026-10-24T10:37:22.8310651Z 34 return yield* Schema.decodeUnknownEffect(codec)(stored.value).pipe( 2026-10-24T10:37:22.8310860Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8310959Z 2026-10-24T10:37:22.8311305Z src/state/queryPersistence.ts:35:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8311587Z 2026-10-24T10:37:22.8311643Z 35 Effect.map(Option.some), 2026-10-24T10:37:22.8311796Z ~~~~~~~~~~ 2026-10-24T10:37:22.8311910Z 2026-10-24T10:37:22.8312204Z 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-24T10:37:22.8312528Z 2026-10-24T10:37:22.8312588Z 680 execute: (target, atomRegistry) => { 2026-10-24T10:37:22.8312734Z ~~~~~~~ 2026-10-24T10:37:22.8312797Z 2026-10-24T10:37:22.8313147Z 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-24T10:37:22.8313538Z 2026-10-24T10:37:22.8313598Z 1125 Effect.flatMap((summary) => 2026-10-24T10:37:22.8313745Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8313827Z 2026-10-24T10:37:22.8314063Z src/state/shell-sync.test.ts:90:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8314341Z 2026-10-24T10:37:22.8314457Z 90 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8314660Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8314755Z 2026-10-24T10:37:22.8314985Z src/state/shell-sync.test.ts:96:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8315265Z 2026-10-24T10:37:22.8315382Z 96 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8315582Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8315676Z 2026-10-24T10:37:22.8315907Z src/state/shell-sync.test.ts:99:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8316181Z 2026-10-24T10:37:22.8316268Z 99 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8316450Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8316452Z 2026-10-24T10:37:22.8316686Z src/state/shell-sync.test.ts:101:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8316689Z 2026-10-24T10:37:22.8316766Z 101 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8316821Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8316823Z 2026-10-24T10:37:22.8317053Z src/state/shell-sync.test.ts:108:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8317057Z 2026-10-24T10:37:22.8317129Z 108 load: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8317184Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8317186Z 2026-10-24T10:37:22.8317415Z src/state/shell-sync.test.ts:229:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8317417Z 2026-10-24T10:37:22.8317496Z 229 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8317550Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8317552Z 2026-10-24T10:37:22.8317782Z src/state/shell-sync.test.ts:238:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8317784Z 2026-10-24T10:37:22.8317863Z 238 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8317916Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8317919Z 2026-10-24T10:37:22.8318232Z src/state/shell-sync.test.ts:241:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8318235Z 2026-10-24T10:37:22.8318324Z 241 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8318381Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8318383Z 2026-10-24T10:37:22.8318613Z src/state/shell-sync.test.ts:243:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8318618Z 2026-10-24T10:37:22.8318701Z 243 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8318788Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8318791Z 2026-10-24T10:37:22.8319052Z src/state/shell-sync.test.ts:250:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8319056Z 2026-10-24T10:37:22.8319126Z 250 load: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8319176Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8319178Z 2026-10-24T10:37:22.8319406Z src/state/shell-sync.test.ts:349:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8319408Z 2026-10-24T10:37:22.8319525Z 349 loadShell: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8319605Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8319609Z 2026-10-24T10:37:22.8319922Z src/state/shell-sync.test.ts:355:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8319925Z 2026-10-24T10:37:22.8319999Z 355 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8320052Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8320055Z 2026-10-24T10:37:22.8320322Z src/state/shell-sync.test.ts:358:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8320325Z 2026-10-24T10:37:22.8320456Z 358 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8320541Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8320544Z 2026-10-24T10:37:22.8320900Z src/state/shell-sync.test.ts:360:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8320902Z 2026-10-24T10:37:22.8320982Z 360 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8321036Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8321038Z 2026-10-24T10:37:22.8321269Z src/state/shell-sync.test.ts:367:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8321273Z 2026-10-24T10:37:22.8321341Z 367 load: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8321392Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8321394Z 2026-10-24T10:37:22.8321623Z src/state/shell-sync.test.ts:446:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8321625Z 2026-10-24T10:37:22.8321723Z 446 loadShell: () => Effect.succeed(Option.some(cachedSnapshot)), 2026-10-24T10:37:22.8321776Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8321778Z 2026-10-24T10:37:22.8322005Z src/state/shell-sync.test.ts:448:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8322008Z 2026-10-24T10:37:22.8322086Z 448 loadThread: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8322139Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8322192Z 2026-10-24T10:37:22.8322575Z src/state/shell-sync.test.ts:451:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8322578Z 2026-10-24T10:37:22.8322715Z 451 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8322799Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8322803Z 2026-10-24T10:37:22.8323189Z src/state/shell-sync.test.ts:453:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8323192Z 2026-10-24T10:37:22.8323315Z 453 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8323399Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8323402Z 2026-10-24T10:37:22.8323782Z src/state/shell-sync.test.ts:460:21 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8323790Z 2026-10-24T10:37:22.8323900Z 460 load: () => Effect.succeed(Option.some(httpSnapshot)), 2026-10-24T10:37:22.8323952Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8323954Z 2026-10-24T10:37:22.8324272Z 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-24T10:37:22.8324316Z 2026-10-24T10:37:22.8324422Z 98 load: (prepared: PreparedConnection) => 2026-10-24T10:37:22.8324490Z ~~~~ 2026-10-24T10:37:22.8324494Z 2026-10-24T10:37:22.8325140Z src/state/threadHistoryController.ts:52:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.register")((environmentId, threadId, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8325144Z 2026-10-24T10:37:22.8325263Z 52 register: (environmentId, threadId, handler) => 2026-10-24T10:37:22.8325339Z ~~~~~~~~ 2026-10-24T10:37:22.8325343Z 2026-10-24T10:37:22.8325940Z src/state/threadHistoryController.ts:64:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.unregister")((registration) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8325944Z 2026-10-24T10:37:22.8326030Z 64 unregister: (registration) => 2026-10-24T10:37:22.8326107Z ~~~~~~~~~~ 2026-10-24T10:37:22.8326111Z 2026-10-24T10:37:22.8326787Z src/state/threadHistoryController.ts:79:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.loadEarlier")((environmentId, threadId, throughEntryId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8326791Z 2026-10-24T10:37:22.8326882Z 79 loadEarlier: (environmentId, threadId, throughEntryId) => 2026-10-24T10:37:22.8326928Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8326933Z 2026-10-24T10:37:22.8327319Z src/state/threadHistoryController.ts:89:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadHistoryController.reconcilePendingWork")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8327321Z 2026-10-24T10:37:22.8327402Z 89 reconcilePendingWork: (environmentId, threadId) => 2026-10-24T10:37:22.8327454Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8327456Z 2026-10-24T10:37:22.8327695Z src/state/threads-sync.test.ts:1458:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8327698Z 2026-10-24T10:37:22.8327786Z 1458 : { loadCached: Effect.succeed(Option.some(saved!)) }, 2026-10-24T10:37:22.8327840Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8327842Z 2026-10-24T10:37:22.8328119Z 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-24T10:37:22.8328267Z 2026-10-24T10:37:22.8328360Z 447 execute: (input: RunVcsStackedActionInput, registry) => { 2026-10-24T10:37:22.8328405Z ~~~~~~~ 2026-10-24T10:37:22.8328407Z 2026-10-24T10:37:22.8328409Z 2026-10-24T10:37:22.8328461Z ~/apps/mobile$ tsc --noEmit 2026-10-24T10:37:22.8328515Z ~/infra/relay$ tsc --noEmit 2026-10-24T10:37:22.8328567Z ~/apps/web$ tsc --noEmit 2026-10-24T10:37:22.8328615Z Result (22 files): 2026-10-24T10:37:22.8328658Z - 0 errors 2026-10-24T10:37:22.8328704Z - 0 warnings 2026-10-24T10:37:22.8328749Z - 0 hints 2026-10-24T10:37:22.8328752Z 2026-10-24T10:37:22.8328754Z 2026-10-24T10:37:22.8328807Z ~/apps/desktop$ tsc --noEmit 2026-10-24T10:37:22.8329223Z 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-24T10:37:22.8329230Z 2026-10-24T10:37:22.8329280Z 220 send: (body) => 2026-10-24T10:37:22.8329326Z ~~~~ 2026-10-24T10:37:22.8329328Z 2026-10-24T10:37:22.8329651Z 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-24T10:37:22.8329697Z 2026-10-24T10:37:22.8329780Z 12 onFailure: (error) => 2026-10-24T10:37:22.8329849Z ~~~~~~~~~ 2026-10-24T10:37:22.8329853Z 2026-10-24T10:37:22.8330251Z 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-24T10:37:22.8330292Z 2026-10-24T10:37:22.8330351Z 64 pauseUntil: (untilMillis) => 2026-10-24T10:37:22.8330398Z ~~~~~~~~~~ 2026-10-24T10:37:22.8330400Z 2026-10-24T10:37:22.8330814Z 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-24T10:37:22.8330818Z 2026-10-24T10:37:22.8330895Z 198 onNone: () => 2026-10-24T10:37:22.8330942Z ~~~~~~ 2026-10-24T10:37:22.8330944Z 2026-10-24T10:37:22.8331230Z src/previewTunnelSweep.test.ts:53:11 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-24T10:37:22.8331233Z 2026-10-24T10:37:22.8331359Z 53 }).pipe(Effect.provide(Layer.succeed(HttpClient.HttpClient, cloudflare.client))); 2026-10-24T10:37:22.8331404Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8331406Z 2026-10-24T10:37:22.8331705Z 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-24T10:37:22.8331710Z 2026-10-24T10:37:22.8331827Z 92 fileResponse: () => Effect.die("Relay API does not serve filesystem responses"), 2026-10-24T10:37:22.8331872Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8331874Z 2026-10-24T10:37:22.8332179Z 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-24T10:37:22.8332181Z 2026-10-24T10:37:22.8332292Z 93 fileWebResponse: () => Effect.die("Relay API does not serve file responses"), 2026-10-24T10:37:22.8332337Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8332339Z 2026-10-24T10:37:22.8332608Z 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-24T10:37:22.8332611Z 2026-10-24T10:37:22.8332755Z 242 hold: ({ endpointKey, baseUrl, hook }) => 2026-10-24T10:37:22.8332800Z ~~~~ 2026-10-24T10:37:22.8332802Z 2026-10-24T10:37:22.8333068Z 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-24T10:37:22.8333070Z 2026-10-24T10:37:22.8333134Z 244 wake: ({ endpointKey, baseUrl }) => 2026-10-24T10:37:22.8333181Z ~~~~ 2026-10-24T10:37:22.8333183Z 2026-10-24T10:37:22.8333503Z 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-24T10:37:22.8333507Z 2026-10-24T10:37:22.8333581Z 246 clear: ({ endpointKey }) => 2026-10-24T10:37:22.8333625Z ~~~~~ 2026-10-24T10:37:22.8333628Z 2026-10-24T10:37:22.8333961Z 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-24T10:37:22.8333965Z 2026-10-24T10:37:22.8334016Z 275 send: (body) => 2026-10-24T10:37:22.8334063Z ~~~~ 2026-10-24T10:37:22.8334065Z 2026-10-24T10:37:22.8334067Z 2026-10-24T10:37:22.8334070Z 2026-10-24T10:37:22.8334439Z 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-24T10:37:22.8334441Z 2026-10-24T10:37:22.8334610Z 389 complete: (response) => Effect.sync(() => broker.complete(response)), 2026-10-24T10:37:22.8334684Z ~~~~~~~~ 2026-10-24T10:37:22.8334687Z 2026-10-24T10:37:22.8334940Z src/app/DesktopClerk.test.ts:300:27 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8334945Z 2026-10-24T10:37:22.8335035Z 300 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-24T10:37:22.8335087Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8335091Z 2026-10-24T10:37:22.8335476Z src/app/DesktopObservability.ts:461:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onSome")(function*(logFile) { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8335482Z 2026-10-24T10:37:22.8335565Z 461 onSome: (logFile) => 2026-10-24T10:37:22.8335635Z ~~~~~~ 2026-10-24T10:37:22.8335638Z 2026-10-24T10:37:22.8336022Z src/app/DesktopObservability.ts:591:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBackendOutputLogFactory.forInstance")((id) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8336025Z 2026-10-24T10:37:22.8336084Z 591 forInstance: (id) => makeForId(id), 2026-10-24T10:37:22.8336132Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8336134Z 2026-10-24T10:37:22.8336374Z src/app/DesktopWebLinks.test.ts:29:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8336377Z 2026-10-24T10:37:22.8336467Z 29 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-24T10:37:22.8336522Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8336526Z 2026-10-24T10:37:22.8336818Z 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-24T10:37:22.8336820Z 2026-10-24T10:37:22.8336872Z 72 receive: (url) => 2026-10-24T10:37:22.8336915Z ~~~~~~~ 2026-10-24T10:37:22.8336918Z 2026-10-24T10:37:22.8337231Z 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-24T10:37:22.8337279Z 2026-10-24T10:37:22.8337368Z 77 setRendererReady: (ready) => 2026-10-24T10:37:22.8337440Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8337443Z 2026-10-24T10:37:22.8337945Z 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-24T10:37:22.8337948Z 2026-10-24T10:37:22.8338026Z 1062 onSome: (run) => 2026-10-24T10:37:22.8338096Z ~~~~~~ 2026-10-24T10:37:22.8338099Z 2026-10-24T10:37:22.8338610Z 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-24T10:37:22.8338615Z 2026-10-24T10:37:22.8338688Z 307 get: (id) => 2026-10-24T10:37:22.8338758Z ~~~ 2026-10-24T10:37:22.8338763Z 2026-10-24T10:37:22.8339148Z 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-24T10:37:22.8339150Z 2026-10-24T10:37:22.8339249Z 342 get: (id) => Effect.succeed(Option.fromNullishOr(byId.get(id))), 2026-10-24T10:37:22.8339291Z ~~~ 2026-10-24T10:37:22.8339335Z 2026-10-24T10:37:22.8339856Z 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-24T10:37:22.8339860Z 2026-10-24T10:37:22.8340075Z 345 register: () => Effect.die("DesktopBackendPool.layerTest does not support register"), 2026-10-24T10:37:22.8340147Z ~~~~~~~~ 2026-10-24T10:37:22.8340150Z 2026-10-24T10:37:22.8340707Z 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-24T10:37:22.8340713Z 2026-10-24T10:37:22.8340935Z 346 unregister: () => Effect.die("DesktopBackendPool.layerTest does not support unregister"), 2026-10-24T10:37:22.8341008Z ~~~~~~~~~~ 2026-10-24T10:37:22.8341012Z 2026-10-24T10:37:22.8341487Z 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-24T10:37:22.8341491Z 2026-10-24T10:37:22.8341565Z 145 exit: (code) => 2026-10-24T10:37:22.8341635Z ~~~~ 2026-10-24T10:37:22.8341638Z 2026-10-24T10:37:22.8342003Z 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-24T10:37:22.8342008Z 2026-10-24T10:37:22.8342061Z 149 relaunch: (options) => 2026-10-24T10:37:22.8342103Z ~~~~~~~~ 2026-10-24T10:37:22.8342106Z 2026-10-24T10:37:22.8342483Z 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-24T10:37:22.8342486Z 2026-10-24T10:37:22.8342541Z 153 setPath: (name, path) => 2026-10-24T10:37:22.8342583Z ~~~~~~~ 2026-10-24T10:37:22.8342585Z 2026-10-24T10:37:22.8342870Z 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-24T10:37:22.8342872Z 2026-10-24T10:37:22.8342922Z 157 setName: (name) => 2026-10-24T10:37:22.8342965Z ~~~~~~~ 2026-10-24T10:37:22.8342967Z 2026-10-24T10:37:22.8343281Z 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-24T10:37:22.8343349Z 2026-10-24T10:37:22.8343444Z 161 setAboutPanelOptions: (options) => 2026-10-24T10:37:22.8343520Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8343524Z 2026-10-24T10:37:22.8343837Z 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-24T10:37:22.8343840Z 2026-10-24T10:37:22.8343896Z 165 setAppUserModelId: (id) => 2026-10-24T10:37:22.8343940Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8343942Z 2026-10-24T10:37:22.8344373Z 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-24T10:37:22.8344379Z 2026-10-24T10:37:22.8344497Z 170 setAsDefaultProtocolClient: (protocol, path, args) => 2026-10-24T10:37:22.8344546Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8344549Z 2026-10-24T10:37:22.8344909Z 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-24T10:37:22.8344912Z 2026-10-24T10:37:22.8345005Z 177 setDesktopName: (desktopName) => 2026-10-24T10:37:22.8345079Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8345082Z 2026-10-24T10:37:22.8345510Z 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-24T10:37:22.8345513Z 2026-10-24T10:37:22.8345565Z 184 setDockIcon: (iconPath) => 2026-10-24T10:37:22.8345609Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8345611Z 2026-10-24T10:37:22.8346120Z 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-24T10:37:22.8346123Z 2026-10-24T10:37:22.8346245Z 188 appendCommandLineSwitch: (switchName, value) => 2026-10-24T10:37:22.8346323Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8346326Z 2026-10-24T10:37:22.8346760Z 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-24T10:37:22.8346763Z 2026-10-24T10:37:22.8346823Z 196 onBeforeQuitForUpdate: (listener) => 2026-10-24T10:37:22.8346870Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8346873Z 2026-10-24T10:37:22.8347197Z 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-24T10:37:22.8347201Z 2026-10-24T10:37:22.8347269Z 206 removeCommandLineSwitch: (switchName) => 2026-10-24T10:37:22.8347316Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8347318Z 2026-10-24T10:37:22.8347642Z 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-24T10:37:22.8347646Z 2026-10-24T10:37:22.8347702Z 169 showMessageBox: (options, owner) => 2026-10-24T10:37:22.8347746Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8347748Z 2026-10-24T10:37:22.8348069Z 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-24T10:37:22.8348115Z 2026-10-24T10:37:22.8348204Z 185 showErrorBox: (title, content) => 2026-10-24T10:37:22.8348247Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8348249Z 2026-10-24T10:37:22.8348573Z 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-24T10:37:22.8348575Z 2026-10-24T10:37:22.8348635Z 193 setApplicationMenu: (template) => 2026-10-24T10:37:22.8348683Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8348685Z 2026-10-24T10:37:22.8349067Z 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-24T10:37:22.8349069Z 2026-10-24T10:37:22.8349123Z 207 popupTemplate: (input) => 2026-10-24T10:37:22.8349170Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8349172Z 2026-10-24T10:37:22.8349478Z 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-24T10:37:22.8349480Z 2026-10-24T10:37:22.8349535Z 225 showContextMenu: (input) => 2026-10-24T10:37:22.8349581Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8349583Z 2026-10-24T10:37:22.8349999Z 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-24T10:37:22.8350002Z 2026-10-24T10:37:22.8350117Z 82 getSystemIdleState: (idleThresholdSeconds) => 2026-10-24T10:37:22.8350189Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8350193Z 2026-10-24T10:37:22.8350584Z 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-24T10:37:22.8350588Z 2026-10-24T10:37:22.8350639Z 77 encryptString: (value) => 2026-10-24T10:37:22.8350686Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8350688Z 2026-10-24T10:37:22.8351216Z 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-24T10:37:22.8351219Z 2026-10-24T10:37:22.8351271Z 82 decryptString: (value) => 2026-10-24T10:37:22.8351315Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8351317Z 2026-10-24T10:37:22.8351616Z 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-24T10:37:22.8351620Z 2026-10-24T10:37:22.8351674Z 68 openExternal: (rawUrl) => 2026-10-24T10:37:22.8351717Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8351719Z 2026-10-24T10:37:22.8352030Z 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-24T10:37:22.8352032Z 2026-10-24T10:37:22.8352091Z 79 openSystemSettings: (pane) => 2026-10-24T10:37:22.8352135Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8352137Z 2026-10-24T10:37:22.8352426Z 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-24T10:37:22.8352428Z 2026-10-24T10:37:22.8352478Z 86 copyText: (text) => 2026-10-24T10:37:22.8352522Z ~~~~~~~~ 2026-10-24T10:37:22.8352524Z 2026-10-24T10:37:22.8352816Z 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-24T10:37:22.8352869Z 2026-10-24T10:37:22.8352947Z 34 setSource: (theme) => 2026-10-24T10:37:22.8352991Z ~~~~~~~~~ 2026-10-24T10:37:22.8352993Z 2026-10-24T10:37:22.8353294Z 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-24T10:37:22.8353297Z 2026-10-24T10:37:22.8353349Z 41 onUpdated: (listener) => 2026-10-24T10:37:22.8353391Z ~~~~~~~~~ 2026-10-24T10:37:22.8353393Z 2026-10-24T10:37:22.8353727Z 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-24T10:37:22.8353733Z 2026-10-24T10:37:22.8353814Z 85 setFeedURL: (options) => 2026-10-24T10:37:22.8353877Z ~~~~~~~~~~ 2026-10-24T10:37:22.8353879Z 2026-10-24T10:37:22.8354197Z 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-24T10:37:22.8354199Z 2026-10-24T10:37:22.8354290Z 90 setAutoDownload: (value) => 2026-10-24T10:37:22.8354361Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8354364Z 2026-10-24T10:37:22.8354788Z 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-24T10:37:22.8354790Z 2026-10-24T10:37:22.8354850Z 95 setAutoInstallOnAppQuit: (value) => 2026-10-24T10:37:22.8354896Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8354901Z 2026-10-24T10:37:22.8355285Z 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-24T10:37:22.8355289Z 2026-10-24T10:37:22.8355371Z 100 setChannel: (channel) => 2026-10-24T10:37:22.8355440Z ~~~~~~~~~~ 2026-10-24T10:37:22.8355443Z 2026-10-24T10:37:22.8355822Z 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-24T10:37:22.8355825Z 2026-10-24T10:37:22.8355878Z 105 setAllowPrerelease: (value) => 2026-10-24T10:37:22.8355925Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8355927Z 2026-10-24T10:37:22.8356250Z 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-24T10:37:22.8356254Z 2026-10-24T10:37:22.8356308Z 111 setAllowDowngrade: (value) => 2026-10-24T10:37:22.8356353Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8356355Z 2026-10-24T10:37:22.8356670Z 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-24T10:37:22.8356674Z 2026-10-24T10:37:22.8356728Z 116 setFullChangelog: (value) => 2026-10-24T10:37:22.8356773Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8356775Z 2026-10-24T10:37:22.8357122Z 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-24T10:37:22.8357125Z 2026-10-24T10:37:22.8357197Z 121 setDisableDifferentialDownload: (value) => 2026-10-24T10:37:22.8357314Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8357318Z 2026-10-24T10:37:22.8357633Z 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-24T10:37:22.8357636Z 2026-10-24T10:37:22.8357712Z 140 quitAndInstall: ({ isSilent, isForceRunAfter }) => 2026-10-24T10:37:22.8357758Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8357761Z 2026-10-24T10:37:22.8358087Z 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-24T10:37:22.8358090Z 2026-10-24T10:37:22.8358172Z 154 on: (eventName, listener) => { 2026-10-24T10:37:22.8358239Z ~~ 2026-10-24T10:37:22.8358242Z 2026-10-24T10:37:22.8358538Z 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-24T10:37:22.8358542Z 2026-10-24T10:37:22.8358592Z 211 create: (options) => { 2026-10-24T10:37:22.8358634Z ~~~~~~ 2026-10-24T10:37:22.8358636Z 2026-10-24T10:37:22.8358985Z 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-24T10:37:22.8358988Z 2026-10-24T10:37:22.8359146Z 243 setMain: (window) => Ref.set(mainWindowRef, Option.some(window)), 2026-10-24T10:37:22.8359217Z ~~~~~~~ 2026-10-24T10:37:22.8359220Z 2026-10-24T10:37:22.8359537Z 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-24T10:37:22.8359543Z 2026-10-24T10:37:22.8359591Z 244 clearMain: (window) => 2026-10-24T10:37:22.8359634Z ~~~~~~~~~ 2026-10-24T10:37:22.8359636Z 2026-10-24T10:37:22.8360057Z 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-24T10:37:22.8360060Z 2026-10-24T10:37:22.8360147Z 254 prepareReveal: (window) => 2026-10-24T10:37:22.8360219Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8360223Z 2026-10-24T10:37:22.8360561Z 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-24T10:37:22.8360564Z 2026-10-24T10:37:22.8360614Z 264 reveal: (window) => 2026-10-24T10:37:22.8360657Z ~~~~~~ 2026-10-24T10:37:22.8360659Z 2026-10-24T10:37:22.8361024Z 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-24T10:37:22.8361028Z 2026-10-24T10:37:22.8361103Z 526 setMainWindowBounds: (bounds, isMaximized) => 2026-10-24T10:37:22.8361147Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8361149Z 2026-10-24T10:37:22.8361490Z 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-24T10:37:22.8361493Z 2026-10-24T10:37:22.8361551Z 538 setServerExposureMode: (mode) => 2026-10-24T10:37:22.8361598Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8361600Z 2026-10-24T10:37:22.8361931Z 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-24T10:37:22.8361980Z 2026-10-24T10:37:22.8362065Z 542 setTailscaleServe: (input) => 2026-10-24T10:37:22.8362114Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8362116Z 2026-10-24T10:37:22.8362454Z 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-24T10:37:22.8362457Z 2026-10-24T10:37:22.8362514Z 546 setUpdateChannel: (channel) => 2026-10-24T10:37:22.8362560Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8362562Z 2026-10-24T10:37:22.8362983Z 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-24T10:37:22.8362988Z 2026-10-24T10:37:22.8363048Z 550 setWslBackendEnabled: (enabled) => 2026-10-24T10:37:22.8363094Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8363096Z 2026-10-24T10:37:22.8363423Z 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-24T10:37:22.8363425Z 2026-10-24T10:37:22.8363514Z 554 setWslDistro: (distro) => 2026-10-24T10:37:22.8363585Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8363588Z 2026-10-24T10:37:22.8363995Z 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-24T10:37:22.8363998Z 2026-10-24T10:37:22.8364049Z 560 setWslOnly: (enabled) => 2026-10-24T10:37:22.8364092Z ~~~~~~~~~~ 2026-10-24T10:37:22.8364094Z 2026-10-24T10:37:22.8364599Z 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-24T10:37:22.8364603Z 2026-10-24T10:37:22.8364711Z 564 setLocalEnvironmentEnabled: (enabled) => 2026-10-24T10:37:22.8364761Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8364764Z 2026-10-24T10:37:22.8365126Z 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-24T10:37:22.8365129Z 2026-10-24T10:37:22.8365205Z 599 setMainWindowBounds: (bounds, isMaximized) => 2026-10-24T10:37:22.8365251Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8365253Z 2026-10-24T10:37:22.8365592Z 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-24T10:37:22.8365596Z 2026-10-24T10:37:22.8365657Z 601 setServerExposureMode: (mode) => 2026-10-24T10:37:22.8365704Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8365707Z 2026-10-24T10:37:22.8366041Z 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-24T10:37:22.8366043Z 2026-10-24T10:37:22.8366177Z 603 setTailscaleServe: (input) => update((settings) => setTailscaleServe(settings, input)), 2026-10-24T10:37:22.8366222Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8366224Z 2026-10-24T10:37:22.8366559Z 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-24T10:37:22.8366607Z 2026-10-24T10:37:22.8366773Z 604 setUpdateChannel: (channel) => update((settings) => setUpdateChannel(settings, channel)), 2026-10-24T10:37:22.8366821Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8366823Z 2026-10-24T10:37:22.8367167Z 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-24T10:37:22.8367169Z 2026-10-24T10:37:22.8367232Z 605 setWslBackendEnabled: (enabled) => 2026-10-24T10:37:22.8367281Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8367283Z 2026-10-24T10:37:22.8367690Z 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-24T10:37:22.8367694Z 2026-10-24T10:37:22.8367814Z 607 setWslDistro: (distro) => update((settings) => setWslDistro(settings, distro)), 2026-10-24T10:37:22.8367858Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8367860Z 2026-10-24T10:37:22.8368220Z 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-24T10:37:22.8368223Z 2026-10-24T10:37:22.8368405Z 608 setWslOnly: (enabled) => update((settings) => setWslOnly(settings, enabled)), 2026-10-24T10:37:22.8368476Z ~~~~~~~~~~ 2026-10-24T10:37:22.8368479Z 2026-10-24T10:37:22.8368845Z 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-24T10:37:22.8368849Z 2026-10-24T10:37:22.8368918Z 609 setLocalEnvironmentEnabled: (enabled) => 2026-10-24T10:37:22.8368972Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8368975Z 2026-10-24T10:37:22.8369483Z 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-24T10:37:22.8369489Z 2026-10-24T10:37:22.8369547Z 197 set: (settings) => 2026-10-24T10:37:22.8369589Z ~~~ 2026-10-24T10:37:22.8369591Z 2026-10-24T10:37:22.8369909Z 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-24T10:37:22.8369912Z 2026-10-24T10:37:22.8370008Z 231 set: (settings) => Ref.set(settingsRef, Option.some(settings)), 2026-10-24T10:37:22.8370051Z ~~~ 2026-10-24T10:37:22.8370054Z 2026-10-24T10:37:22.8370432Z 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-24T10:37:22.8370434Z 2026-10-24T10:37:22.8370510Z 1729 setAnimationDestination: (id, destination) => 2026-10-24T10:37:22.8370559Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8370561Z 2026-10-24T10:37:22.8370878Z 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-24T10:37:22.8370880Z 2026-10-24T10:37:22.8370934Z 1740 dismissAnimation: (id) => 2026-10-24T10:37:22.8370981Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8370983Z 2026-10-24T10:37:22.8371286Z 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-24T10:37:22.8371335Z 2026-10-24T10:37:22.8371414Z 1745 acknowledge: (id) => 2026-10-24T10:37:22.8371462Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8371465Z 2026-10-24T10:37:22.8371795Z 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-24T10:37:22.8371798Z 2026-10-24T10:37:22.8371850Z 136 discoverHosts: (input) => 2026-10-24T10:37:22.8371893Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8371895Z 2026-10-24T10:37:22.8372271Z 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-24T10:37:22.8372277Z 2026-10-24T10:37:22.8372348Z 141 resolveHost: (alias) => 2026-10-24T10:37:22.8372393Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8372395Z 2026-10-24T10:37:22.8372758Z 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-24T10:37:22.8372801Z 2026-10-24T10:37:22.8372915Z 146 ensureEnvironment: (target, ensureOptions) => 2026-10-24T10:37:22.8372989Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8372992Z 2026-10-24T10:37:22.8373376Z 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-24T10:37:22.8373379Z 2026-10-24T10:37:22.8373440Z 154 disconnectEnvironment: (target) => 2026-10-24T10:37:22.8373487Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8373490Z 2026-10-24T10:37:22.8373971Z 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-24T10:37:22.8373974Z 2026-10-24T10:37:22.8374160Z 1171 installPrepared: (expectedVersion) => installWithExpectedVersion(expectedVersion), 2026-10-24T10:37:22.8374206Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8374208Z 2026-10-24T10:37:22.8374518Z 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-24T10:37:22.8374520Z 2026-10-24T10:37:22.8374574Z 1101 preWarm: () => Effect.void, 2026-10-24T10:37:22.8374616Z ~~~~~~~ 2026-10-24T10:37:22.8374618Z 2026-10-24T10:37:22.8374974Z 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-24T10:37:22.8374976Z 2026-10-24T10:37:22.8375047Z 1102 windowsToWslPath: (distro, windowsPath) => 2026-10-24T10:37:22.8375093Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8375095Z 2026-10-24T10:37:22.8375420Z 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-24T10:37:22.8375425Z 2026-10-24T10:37:22.8375570Z 1104 getUserHome: (distro) => Effect.succeed(stub.getUserHome?.(distro) ?? Option.none()), 2026-10-24T10:37:22.8375617Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8375619Z 2026-10-24T10:37:22.8375946Z 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-24T10:37:22.8375994Z 2026-10-24T10:37:22.8376167Z 1105 getDistroIp: (distro) => Effect.succeed(stub.getDistroIp?.(distro) ?? Option.none()), 2026-10-24T10:37:22.8376211Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8376213Z 2026-10-24T10:37:22.8376563Z 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-24T10:37:22.8376565Z 2026-10-24T10:37:22.8376629Z 1106 prepareRuntime: (distro, archive) => 2026-10-24T10:37:22.8376675Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8376677Z 2026-10-24T10:37:22.8377109Z 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-24T10:37:22.8377114Z 2026-10-24T10:37:22.8377251Z 1113 pruneRuntimes: (distro, runtimeId) => stub.pruneRuntimes?.(distro, runtimeId) ?? Effect.void, 2026-10-24T10:37:22.8377298Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8377300Z 2026-10-24T10:37:22.8377701Z 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-24T10:37:22.8377704Z 2026-10-24T10:37:22.8377812Z 1114 invalidateRuntime: (distro, runtimeId) => 2026-10-24T10:37:22.8377885Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8377888Z 2026-10-24T10:37:22.8378275Z 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-24T10:37:22.8378282Z 2026-10-24T10:37:22.8378346Z 1116 probeRuntime: (distro, linuxAppRoot) => 2026-10-24T10:37:22.8378393Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8378395Z 2026-10-24T10:37:22.8378946Z 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-24T10:37:22.8378950Z 2026-10-24T10:37:22.8379047Z 1120 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-24T10:37:22.8379091Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8379093Z 2026-10-24T10:37:22.8379412Z 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-24T10:37:22.8379416Z 2026-10-24T10:37:22.8379470Z 1187 preWarm: (distro) => 2026-10-24T10:37:22.8379514Z ~~~~~~~ 2026-10-24T10:37:22.8379517Z 2026-10-24T10:37:22.8379862Z 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-24T10:37:22.8379864Z 2026-10-24T10:37:22.8379927Z 1192 prepareRuntime: (distro, archive) => 2026-10-24T10:37:22.8379979Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8379981Z 2026-10-24T10:37:22.8380347Z 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-24T10:37:22.8380349Z 2026-10-24T10:37:22.8380445Z 1196 pruneRuntimes: (distro, runtimeId) => 2026-10-24T10:37:22.8380492Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8380541Z 2026-10-24T10:37:22.8381140Z 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-24T10:37:22.8381143Z 2026-10-24T10:37:22.8381252Z 1200 invalidateRuntime: (distro, runtimeId) => 2026-10-24T10:37:22.8381329Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8381332Z 2026-10-24T10:37:22.8381928Z 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-24T10:37:22.8381931Z 2026-10-24T10:37:22.8382037Z 1204 probeRuntime: (distro, linuxAppRoot) => 2026-10-24T10:37:22.8382108Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8382111Z 2026-10-24T10:37:22.8382918Z 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-24T10:37:22.8382924Z 2026-10-24T10:37:22.8383050Z 1208 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-24T10:37:22.8383124Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8383127Z 2026-10-24T10:37:22.8383130Z 2026-10-24T10:37:22.8383793Z src/connection/platform.ts:820:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentOwnedDataCleanup.clear")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8383796Z 2026-10-24T10:37:22.8383880Z 820 clear: (environmentId) => 2026-10-24T10:37:22.8383951Z ~~~~~ 2026-10-24T10:37:22.8383954Z 2026-10-24T10:37:22.8384488Z src/connection/platform.ts:830:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentRpcRequestObserver.observe")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8384494Z 2026-10-24T10:37:22.8384636Z 830 observe: ({ environmentId, environmentLabel, method }) => 2026-10-24T10:37:22.8384707Z ~~~~~~~ 2026-10-24T10:37:22.8384710Z 2026-10-24T10:37:22.8385215Z 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-24T10:37:22.8385218Z 2026-10-24T10:37:22.8385297Z 549 get: (entry) => 2026-10-24T10:37:22.8385368Z ~~~ 2026-10-24T10:37:22.8385371Z 2026-10-24T10:37:22.8385906Z 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-24T10:37:22.8385910Z 2026-10-24T10:37:22.8386001Z 576 set: (entry, permission) => { 2026-10-24T10:37:22.8386069Z ~~~ 2026-10-24T10:37:22.8386072Z 2026-10-24T10:37:22.8386476Z 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-24T10:37:22.8386479Z 2026-10-24T10:37:22.8386566Z 596 forget: (environmentId) => write(environmentId, null), 2026-10-24T10:37:22.8386610Z ~~~~~~ 2026-10-24T10:37:22.8386612Z 2026-10-24T10:37:22.8386973Z 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-24T10:37:22.8386978Z 2026-10-24T10:37:22.8387038Z 643 register: (registration, routes) => 2026-10-24T10:37:22.8387083Z ~~~~~~~~ 2026-10-24T10:37:22.8387085Z 2026-10-24T10:37:22.8387542Z 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-24T10:37:22.8387544Z 2026-10-24T10:37:22.8387607Z 647 setRoutes: (environmentId, routes) => 2026-10-24T10:37:22.8387649Z ~~~~~~~~~ 2026-10-24T10:37:22.8387651Z 2026-10-24T10:37:22.8388041Z 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-24T10:37:22.8388045Z 2026-10-24T10:37:22.8388133Z 651 remove: (environmentId) => 2026-10-24T10:37:22.8388177Z ~~~~~~ 2026-10-24T10:37:22.8388179Z 2026-10-24T10:37:22.8388552Z 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-24T10:37:22.8388556Z 2026-10-24T10:37:22.8388620Z 655 setEnabled: (environmentId, enabled) => 2026-10-24T10:37:22.8388665Z ~~~~~~~~~~ 2026-10-24T10:37:22.8388667Z 2026-10-24T10:37:22.8389049Z 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-24T10:37:22.8389051Z 2026-10-24T10:37:22.8389142Z 732 loadShell: (environmentId) => 2026-10-24T10:37:22.8389214Z ~~~~~~~~~ 2026-10-24T10:37:22.8389217Z 2026-10-24T10:37:22.8389618Z 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-24T10:37:22.8389622Z 2026-10-24T10:37:22.8389686Z 768 loadServerConfig: (environmentId) => 2026-10-24T10:37:22.8389735Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8389737Z 2026-10-24T10:37:22.8390306Z 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-24T10:37:22.8390310Z 2026-10-24T10:37:22.8390631Z 802 loadThread: (environmentId, threadId) => 2026-10-24T10:37:22.8390688Z ~~~~~~~~~~ 2026-10-24T10:37:22.8390692Z 2026-10-24T10:37:22.8391089Z 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-24T10:37:22.8391092Z 2026-10-24T10:37:22.8391163Z 851 loadVcsRefs: (environmentId, cwd) => 2026-10-24T10:37:22.8391222Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8391225Z 2026-10-24T10:37:22.8391592Z 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-24T10:37:22.8391600Z 2026-10-24T10:37:22.8391669Z 893 removeVcsRefs: (environmentId, cwd) => 2026-10-24T10:37:22.8391716Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8391719Z 2026-10-24T10:37:22.8392070Z 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-24T10:37:22.8392072Z 2026-10-24T10:37:22.8392133Z 899 clearVcsRefs: (environmentId) => 2026-10-24T10:37:22.8392176Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8392334Z 2026-10-24T10:37:22.8392704Z 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-24T10:37:22.8392706Z 2026-10-24T10:37:22.8392778Z 905 removeThread: (environmentId, threadId) => 2026-10-24T10:37:22.8392822Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8392827Z 2026-10-24T10:37:22.8393167Z 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-24T10:37:22.8393170Z 2026-10-24T10:37:22.8393223Z 911 clear: (environmentId) => 2026-10-24T10:37:22.8393268Z ~~~~~ 2026-10-24T10:37:22.8393270Z 2026-10-24T10:37:22.8393272Z 2026-10-24T10:37:22.8393328Z ~/apps/server$ tsc --noEmit 2026-10-24T10:37:22.8393596Z 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-24T10:37:22.8393601Z 2026-10-24T10:37:22.8393664Z 941 yield* Effect.sleep("1200 millis") 2026-10-24T10:37:22.8393716Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8393763Z 942 .pipe( 2026-10-24T10:37:22.8393807Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8393902Z ... 2026-10-24T10:37:22.8393946Z 954 ) 2026-10-24T10:37:22.8393989Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8394049Z 955 .pipe(Effect.forkDetach); 2026-10-24T10:37:22.8394096Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8394099Z 2026-10-24T10:37:22.8394426Z 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-24T10:37:22.8394429Z 2026-10-24T10:37:22.8394483Z 1175 logger: (event) => { 2026-10-24T10:37:22.8394526Z ~~~~~~ 2026-10-24T10:37:22.8394529Z 2026-10-24T10:37:22.8394977Z 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-24T10:37:22.8394982Z 2026-10-24T10:37:22.8395095Z 376 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-24T10:37:22.8395157Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8395160Z 2026-10-24T10:37:22.8395470Z 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-24T10:37:22.8395472Z 2026-10-24T10:37:22.8395525Z 1346 getDescriptor: () => 2026-10-24T10:37:22.8395573Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8395576Z 2026-10-24T10:37:22.8395906Z 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-24T10:37:22.8395911Z 2026-10-24T10:37:22.8395960Z 55 getDescriptor: () => 2026-10-24T10:37:22.8396005Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8396008Z 2026-10-24T10:37:22.8396357Z 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-24T10:37:22.8396360Z 2026-10-24T10:37:22.8396414Z 540 authenticate: (request) => 2026-10-24T10:37:22.8396455Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8396458Z 2026-10-24T10:37:22.8396718Z 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-24T10:37:22.8396780Z 2026-10-24T10:37:22.8396838Z 468 : Effect.succeed(undefined), 2026-10-24T10:37:22.8396887Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8396890Z 2026-10-24T10:37:22.8397190Z 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-24T10:37:22.8397192Z 2026-10-24T10:37:22.8397246Z 328 HttpClientError: (cause) => 2026-10-24T10:37:22.8397293Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8397295Z 2026-10-24T10:37:22.8397546Z src/cloud/CloudLink.lifecycle.test.ts:166:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8397549Z 2026-10-24T10:37:22.8397618Z 166 latest: Effect.succeed(Option.none()), 2026-10-24T10:37:22.8397667Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8397670Z 2026-10-24T10:37:22.8397898Z src/cloud/CloudLink.test.ts:99:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8397901Z 2026-10-24T10:37:22.8397966Z 99 latest: Effect.succeed(Option.none()), 2026-10-24T10:37:22.8398056Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8398059Z 2026-10-24T10:37:22.8398422Z 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-24T10:37:22.8398425Z 2026-10-24T10:37:22.8398559Z 791 requestRecovery: (config) => Queue.offer(recoveryRequests, config).pipe(Effect.asVoid), 2026-10-24T10:37:22.8398607Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8398609Z 2026-10-24T10:37:22.8398827Z src/cloud/http.test.ts:81:67 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8398830Z 2026-10-24T10:37:22.8398987Z 81 Layer.mock(ConnectReachability.ConnectReachability)({ latest: Effect.succeed(Option.none()) }), 2026-10-24T10:37:22.8399062Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8399066Z 2026-10-24T10:37:22.8399422Z 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-24T10:37:22.8399424Z 2026-10-24T10:37:22.8399514Z 371 commitDesktopUpdate: (requestId, onHandoffAccepted) => 2026-10-24T10:37:22.8399561Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8399563Z 2026-10-24T10:37:22.8399862Z 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-24T10:37:22.8399866Z 2026-10-24T10:37:22.8399918Z 808 updateTool: (tool) => 2026-10-24T10:37:22.8399960Z ~~~~~~~~~~ 2026-10-24T10:37:22.8399963Z 2026-10-24T10:37:22.8400297Z 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-24T10:37:22.8400300Z 2026-10-24T10:37:22.8400348Z 823 easAccount: () => 2026-10-24T10:37:22.8400392Z ~~~~~~~~~~ 2026-10-24T10:37:22.8400394Z 2026-10-24T10:37:22.8400721Z 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-24T10:37:22.8400773Z 2026-10-24T10:37:22.8400828Z 868 ensureAgentReady: (onPhase) => 2026-10-24T10:37:22.8400875Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8400877Z 2026-10-24T10:37:22.8401110Z src/device/easProjectId.ts:201:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8401112Z 2026-10-24T10:37:22.8401172Z 201 Effect.map(Option.some), 2026-10-24T10:37:22.8401218Z ~~~~~~~~~~ 2026-10-24T10:37:22.8401220Z 2026-10-24T10:37:22.8401524Z 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-24T10:37:22.8401526Z 2026-10-24T10:37:22.8401606Z 141 return DirectEndpoints.of({ resolve: () => resolve }); 2026-10-24T10:37:22.8401655Z ~~~~~~~ 2026-10-24T10:37:22.8401657Z 2026-10-24T10:37:22.8401966Z 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-24T10:37:22.8401971Z 2026-10-24T10:37:22.8402070Z 83 return RemoteOpenTargets.of({ resolveTargets: () => resolveTargets }); 2026-10-24T10:37:22.8402125Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8402127Z 2026-10-24T10:37:22.8402463Z 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-24T10:37:22.8402466Z 2026-10-24T10:37:22.8402517Z 302 isRepository: (cwd) => 2026-10-24T10:37:22.8402559Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8402561Z 2026-10-24T10:37:22.8402852Z 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-24T10:37:22.8402857Z 2026-10-24T10:37:22.8402907Z 315 hasCommit: (input) => 2026-10-24T10:37:22.8402948Z ~~~~~~~~~ 2026-10-24T10:37:22.8402950Z 2026-10-24T10:37:22.8403247Z 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-24T10:37:22.8403250Z 2026-10-24T10:37:22.8403301Z 327 hasRefNamed: (input) => 2026-10-24T10:37:22.8403340Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8403342Z 2026-10-24T10:37:22.8403634Z 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-24T10:37:22.8403636Z 2026-10-24T10:37:22.8403686Z 346 status: (input) => 2026-10-24T10:37:22.8403731Z ~~~~~~ 2026-10-24T10:37:22.8403734Z 2026-10-24T10:37:22.8404029Z 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-24T10:37:22.8404034Z 2026-10-24T10:37:22.8404083Z 352 localStatus: (input) => 2026-10-24T10:37:22.8404126Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8404128Z 2026-10-24T10:37:22.8404444Z 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-24T10:37:22.8404446Z 2026-10-24T10:37:22.8404502Z 360 remoteStatus: (input, options) => 2026-10-24T10:37:22.8404542Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8404544Z 2026-10-24T10:37:22.8404850Z 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-24T10:37:22.8404906Z 2026-10-24T10:37:22.8404959Z 369 pullCurrentBranch: (cwd) => 2026-10-24T10:37:22.8405004Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8405006Z 2026-10-24T10:37:22.8405326Z 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-24T10:37:22.8405329Z 2026-10-24T10:37:22.8405387Z 373 runStackedAction: (input, options) => 2026-10-24T10:37:22.8405431Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8405433Z 2026-10-24T10:37:22.8405756Z 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-24T10:37:22.8405759Z 2026-10-24T10:37:22.8405823Z 388 preparePullRequestThread: (input) => 2026-10-24T10:37:22.8405872Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8405875Z 2026-10-24T10:37:22.8406161Z 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-24T10:37:22.8406163Z 2026-10-24T10:37:22.8406255Z 399 listRefs: (input) => 2026-10-24T10:37:22.8406298Z ~~~~~~~~ 2026-10-24T10:37:22.8406300Z 2026-10-24T10:37:22.8406613Z 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-24T10:37:22.8406616Z 2026-10-24T10:37:22.8406675Z 405 createWorktree: (input, options) => 2026-10-24T10:37:22.8406717Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8406722Z 2026-10-24T10:37:22.8407037Z 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-24T10:37:22.8407040Z 2026-10-24T10:37:22.8407095Z 409 listLocalBranchNames: (cwd) => 2026-10-24T10:37:22.8407140Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8407142Z 2026-10-24T10:37:22.8407437Z 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-24T10:37:22.8407443Z 2026-10-24T10:37:22.8407489Z 413 fetchRemote: (input) => 2026-10-24T10:37:22.8407530Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8407532Z 2026-10-24T10:37:22.8407829Z 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-24T10:37:22.8407833Z 2026-10-24T10:37:22.8407884Z 417 remoteExists: (input) => 2026-10-24T10:37:22.8407924Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8407926Z 2026-10-24T10:37:22.8408239Z 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-24T10:37:22.8408241Z 2026-10-24T10:37:22.8408294Z 421 remoteBranchExists: (input) => 2026-10-24T10:37:22.8408337Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8408339Z 2026-10-24T10:37:22.8408664Z 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-24T10:37:22.8408666Z 2026-10-24T10:37:22.8408728Z 425 resolveRemoteTrackingCommit: (input) => 2026-10-24T10:37:22.8408818Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8408820Z 2026-10-24T10:37:22.8409139Z 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-24T10:37:22.8409142Z 2026-10-24T10:37:22.8409205Z 429 resolveWorktreeBaseRemote: (input) => 2026-10-24T10:37:22.8409249Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8409253Z 2026-10-24T10:37:22.8409568Z 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-24T10:37:22.8409570Z 2026-10-24T10:37:22.8409630Z 433 fetchWorktreeBaseCommit: (input) => 2026-10-24T10:37:22.8409674Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8409678Z 2026-10-24T10:37:22.8409980Z 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-24T10:37:22.8409982Z 2026-10-24T10:37:22.8410035Z 437 removeWorktree: (input) => 2026-10-24T10:37:22.8410080Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8410083Z 2026-10-24T10:37:22.8410451Z 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-24T10:37:22.8410454Z 2026-10-24T10:37:22.8410505Z 441 pruneWorktrees: (input) => 2026-10-24T10:37:22.8410547Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8410550Z 2026-10-24T10:37:22.8410856Z 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-24T10:37:22.8410862Z 2026-10-24T10:37:22.8410914Z 445 deleteLocalBranch: (input) => 2026-10-24T10:37:22.8410958Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8410960Z 2026-10-24T10:37:22.8411253Z 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-24T10:37:22.8411256Z 2026-10-24T10:37:22.8411305Z 449 createRef: (input) => 2026-10-24T10:37:22.8411344Z ~~~~~~~~~ 2026-10-24T10:37:22.8411347Z 2026-10-24T10:37:22.8411641Z 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-24T10:37:22.8411643Z 2026-10-24T10:37:22.8411692Z 457 switchRef: (input) => 2026-10-24T10:37:22.8411735Z ~~~~~~~~~ 2026-10-24T10:37:22.8411737Z 2026-10-24T10:37:22.8412037Z 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-24T10:37:22.8412039Z 2026-10-24T10:37:22.8412088Z 463 renameBranch: (input) => 2026-10-24T10:37:22.8412131Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8412135Z 2026-10-24T10:37:22.8412396Z 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-24T10:37:22.8412398Z 2026-10-24T10:37:22.8412454Z 281 const receive = (raw: string) => { 2026-10-24T10:37:22.8412492Z ~~~~~~~ 2026-10-24T10:37:22.8412494Z 2026-10-24T10:37:22.8412864Z src/mcp/AcpMcpStdioBridge.ts:284:7 - suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-10-24T10:37:22.8412916Z 2026-10-24T10:37:22.8412960Z 284 try { 2026-10-24T10:37:22.8413000Z ~~~~~ 2026-10-24T10:37:22.8413053Z 285 parsed = JSON.parse(line); 2026-10-24T10:37:22.8413097Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8413136Z ... 2026-10-24T10:37:22.8413242Z 287 return yield* respondWithError(null, "Parse error", -32700); 2026-10-24T10:37:22.8413308Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8413349Z 288 } 2026-10-24T10:37:22.8413394Z ~~~~~~~ 2026-10-24T10:37:22.8413396Z 2026-10-24T10:37:22.8413670Z src/mcp/AcpMcpStdioBridge.ts:324:7 - suggestion TS377099: `Effect.ignoreCause` expresses ignored failure more directly than `Effect.catchCause` returning `Effect.void`. effect(catchToIgnore) 2026-10-24T10:37:22.8413675Z 2026-10-24T10:37:22.8413737Z 324 Effect.catchCause(() => Effect.void), 2026-10-24T10:37:22.8413779Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8413781Z 2026-10-24T10:37:22.8414011Z src/mcp/McpDeviceToolkit.test.ts:105:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8414013Z 2026-10-24T10:37:22.8414080Z 105 getById: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8414165Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8414168Z 2026-10-24T10:37:22.8414449Z 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-24T10:37:22.8414454Z 2026-10-24T10:37:22.8414546Z 421 const previewSnapshotFailure = (cause: Cause.Cause) => { 2026-10-24T10:37:22.8414592Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8414595Z 2026-10-24T10:37:22.8414882Z 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-24T10:37:22.8414884Z 2026-10-24T10:37:22.8414935Z 933 addTool: (options) => 2026-10-24T10:37:22.8414974Z ~~~~~~~ 2026-10-24T10:37:22.8414976Z 2026-10-24T10:37:22.8415256Z 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-24T10:37:22.8415259Z 2026-10-24T10:37:22.8415321Z 22 resolve: () => Effect.succeed(undefined), 2026-10-24T10:37:22.8415373Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8415375Z 2026-10-24T10:37:22.8415659Z 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-24T10:37:22.8415663Z 2026-10-24T10:37:22.8415720Z 112 Effect.flatMap(() => writingCaller), 2026-10-24T10:37:22.8415764Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8415766Z 2026-10-24T10:37:22.8416271Z src/mcp/OrchestratorMcpService.ts:2465:39 - suggestion TS377088: This generator applies the same inline `Effect.mapError(...)` to every yielded effect. Keep that `Effect.mapError(...)` inline and hoist it once to the generator result: `Effect.gen(...).pipe(Effect.mapError(...))`, or `Effect.fn(function*(){ ... }, Effect.mapError(...))`. effect(redundantMapError) 2026-10-24T10:37:22.8416273Z 2026-10-24T10:37:22.8416348Z 2465 const cancelOrphan = Effect.gen(function* () { 2026-10-24T10:37:22.8416404Z ~~~~~~~~~ 2026-10-24T10:37:22.8416407Z 2026-10-24T10:37:22.8416639Z src/mcp/OrchestratorMcpService.ts:2480:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-24T10:37:22.8416766Z 2480 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-24T10:37:22.8416814Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8416816Z 2026-10-24T10:37:22.8417043Z src/mcp/OrchestratorMcpService.ts:2483:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-24T10:37:22.8417124Z 2483 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-24T10:37:22.8417169Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8417171Z 2026-10-24T10:37:22.8417446Z 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-24T10:37:22.8417448Z 2026-10-24T10:37:22.8417494Z 651 onNone: () => 2026-10-24T10:37:22.8417536Z ~~~~~~ 2026-10-24T10:37:22.8417538Z 2026-10-24T10:37:22.8417739Z src/mcp/WorktreeMcpService.test.ts:355:3 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-24T10:37:22.8417741Z 2026-10-24T10:37:22.8417791Z 355 Effect.gen(function* () { 2026-10-24T10:37:22.8417835Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8417921Z 356 return yield* WorktreeMcpService.WorktreeMcpService; 2026-10-24T10:37:22.8418027Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8418089Z 357 }).pipe(Effect.provide(harness.layer)); 2026-10-24T10:37:22.8418131Z ~~~~ 2026-10-24T10:37:22.8418133Z 2026-10-24T10:37:22.8418405Z 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-24T10:37:22.8418407Z 2026-10-24T10:37:22.8418459Z 222 const thread = yield* engine 2026-10-24T10:37:22.8418503Z ~~~~~~ 2026-10-24T10:37:22.8418557Z 223 .getThreadShell(threadId) 2026-10-24T10:37:22.8418602Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8418664Z 224 .pipe(Effect.map(Option.fromNullishOr)) 2026-10-24T10:37:22.8418718Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8418802Z 225 .pipe(Effect.mapError((cause) => new Failure({ cause }))); 2026-10-24T10:37:22.8418872Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8418874Z 2026-10-24T10:37:22.8419162Z src/mcpApps/McpAppModelContext.ts:96:27 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.set")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8419164Z 2026-10-24T10:37:22.8419283Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-24T10:37:22.8419331Z ~~~ 2026-10-24T10:37:22.8419333Z 2026-10-24T10:37:22.8419631Z src/mcpApps/McpAppModelContext.ts:96:51 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.forThread")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8419633Z 2026-10-24T10:37:22.8419749Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-24T10:37:22.8419810Z ~~~~~~~~~ 2026-10-24T10:37:22.8419814Z 2026-10-24T10:37:22.8420136Z 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-24T10:37:22.8420139Z 2026-10-24T10:37:22.8420188Z 16 record: (records) => 2026-10-24T10:37:22.8420231Z ~~~~~~ 2026-10-24T10:37:22.8420233Z 2026-10-24T10:37:22.8420535Z 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-24T10:37:22.8420581Z 2026-10-24T10:37:22.8420684Z 41 defaultValue: () => ({ latestNoticeableStall: Effect.succeed(undefined) }), 2026-10-24T10:37:22.8420748Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8420751Z 2026-10-24T10:37:22.8421202Z 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-24T10:37:22.8421205Z 2026-10-24T10:37:22.8421308Z 30 const REPLAY_SETTINGS = Schema.decodeUnknownSync(AcpRegistrySettings)({ 2026-10-24T10:37:22.8421361Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8421363Z 2026-10-24T10:37:22.8421672Z 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-24T10:37:22.8421676Z 2026-10-24T10:37:22.8421734Z 48 defaultModel: Effect.succeed(undefined), 2026-10-24T10:37:22.8421784Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8421786Z 2026-10-24T10:37:22.8422134Z 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-24T10:37:22.8422136Z 2026-10-24T10:37:22.8422201Z 169 defaultModel: Effect.succeed(undefined), 2026-10-24T10:37:22.8422272Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8422275Z 2026-10-24T10:37:22.8422651Z 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-24T10:37:22.8422655Z 2026-10-24T10:37:22.8422721Z 306 defaultModel: Effect.succeed(undefined), 2026-10-24T10:37:22.8422773Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8422775Z 2026-10-24T10:37:22.8423081Z 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-24T10:37:22.8423083Z 2026-10-24T10:37:22.8423146Z 542 defaultModel: Effect.succeed(undefined), 2026-10-24T10:37:22.8423194Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8423197Z 2026-10-24T10:37:22.8423540Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:974:26 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T10:37:22.8423547Z 2026-10-24T10:37:22.8423609Z 974 const controller = new AbortController(); 2026-10-24T10:37:22.8423661Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8423663Z 2026-10-24T10:37:22.8423956Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1326:37 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T10:37:22.8423959Z 2026-10-24T10:37:22.8424025Z 1326 const requestEvent = yield* runtime.events 2026-10-24T10:37:22.8424081Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8424126Z 1327 .pipe( 2026-10-24T10:37:22.8424169Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8424208Z ... 2026-10-24T10:37:22.8424251Z 1330 ) 2026-10-24T10:37:22.8424293Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8424347Z 1331 .pipe(Effect.forkScoped); 2026-10-24T10:37:22.8424469Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8424471Z 2026-10-24T10:37:22.8424812Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1332:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T10:37:22.8424814Z 2026-10-24T10:37:22.8424884Z 1332 const controller = new AbortController(); 2026-10-24T10:37:22.8424941Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8424943Z 2026-10-24T10:37:22.8425275Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1355:37 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T10:37:22.8425277Z 2026-10-24T10:37:22.8425359Z 1355 const cancelledController = new AbortController(); 2026-10-24T10:37:22.8425420Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8425425Z 2026-10-24T10:37:22.8425788Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4018:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8425791Z 2026-10-24T10:37:22.8425897Z 4018 getCapabilities: () => Effect.succeed(ClaudeProviderCapabilitiesV2), 2026-10-24T10:37:22.8425994Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8425996Z 2026-10-24T10:37:22.8426376Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4019:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8426378Z 2026-10-24T10:37:22.8426499Z 4019 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8426545Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8426549Z 2026-10-24T10:37:22.8426908Z src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:201:17 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-24T10:37:22.8426911Z 2026-10-24T10:37:22.8426969Z 201 signal: new AbortController().signal, 2026-10-24T10:37:22.8427018Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8427021Z 2026-10-24T10:37:22.8427416Z 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-24T10:37:22.8427418Z 2026-10-24T10:37:22.8427471Z 74 const pause = Effect.raceFirst( 2026-10-24T10:37:22.8427517Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8427521Z 2026-10-24T10:37:22.8427812Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1741:25 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8427816Z 2026-10-24T10:37:22.8427921Z 1741 threadId === null ? Effect.succeed(undefined) : mcpSessions.read(threadId); 2026-10-24T10:37:22.8427978Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8427980Z 2026-10-24T10:37:22.8428341Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1748:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8428344Z 2026-10-24T10:37:22.8428443Z 1748 getCapabilities: () => Effect.succeed(CodexProviderCapabilitiesV2), 2026-10-24T10:37:22.8428484Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8428486Z 2026-10-24T10:37:22.8428904Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:1749:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8428906Z 2026-10-24T10:37:22.8429024Z 1749 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-24T10:37:22.8429072Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8429074Z 2026-10-24T10:37:22.8429398Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3045:19 - suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-10-24T10:37:22.8429400Z 2026-10-24T10:37:22.8429471Z 3045 Effect.catch(() => Effect.succeed(null)), 2026-10-24T10:37:22.8429516Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8429518Z 2026-10-24T10:37:22.8429889Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3046:19 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8429893Z 2026-10-24T10:37:22.8429954Z 3046 Effect.flatMap((response) => 2026-10-24T10:37:22.8430001Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8430004Z 2026-10-24T10:37:22.8430370Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:3068:19 - suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-10-24T10:37:22.8430376Z 2026-10-24T10:37:22.8430439Z 3068 Effect.catch(() => Effect.void), 2026-10-24T10:37:22.8430486Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8430488Z 2026-10-24T10:37:22.8430849Z src/orchestration-v2/Adapters/CodexAdapterV2.ts:7268:26 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T10:37:22.8430853Z 2026-10-24T10:37:22.8430937Z 7268 return yield* Effect.fail(failedTermination.error); 2026-10-24T10:37:22.8430980Z ~~~~~ 2026-10-24T10:37:22.8430982Z 2026-10-24T10:37:22.8431418Z 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-24T10:37:22.8431421Z 2026-10-24T10:37:22.8431523Z 33 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-24T10:37:22.8431581Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8431583Z 2026-10-24T10:37:22.8432012Z 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-24T10:37:22.8432016Z 2026-10-24T10:37:22.8432142Z 414 const DEFAULT_MUSE_SETTINGS = Schema.decodeUnknownSync(MuseSettings)({ enabled: true }); 2026-10-24T10:37:22.8432199Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8432201Z 2026-10-24T10:37:22.8432543Z 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-24T10:37:22.8432545Z 2026-10-24T10:37:22.8432594Z 242 execute: (input) => 2026-10-24T10:37:22.8432634Z ~~~~~~~ 2026-10-24T10:37:22.8432636Z 2026-10-24T10:37:22.8432900Z src/orchestration-v2/CheckpointRestoreSafety.test.ts:104:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8432945Z 2026-10-24T10:37:22.8433052Z 104 get: () => Effect.succeed(Option.some({ workspaceRoot: parent } as never)), 2026-10-24T10:37:22.8433102Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8433104Z 2026-10-24T10:37:22.8433457Z 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-24T10:37:22.8433459Z 2026-10-24T10:37:22.8433513Z 41 Effect.catch((error) => 2026-10-24T10:37:22.8433555Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8433562Z 2026-10-24T10:37:22.8433906Z 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-24T10:37:22.8433911Z 2026-10-24T10:37:22.8433966Z 83 Effect.catch((error) => 2026-10-24T10:37:22.8434010Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8434012Z 2026-10-24T10:37:22.8434317Z src/orchestration-v2/CheckpointRollbackService.test.ts:233:22 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8434320Z 2026-10-24T10:37:22.8434418Z 233 return Effect.succeed(Option.some({ workspaceRoot } as never)); 2026-10-24T10:37:22.8434465Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8434468Z 2026-10-24T10:37:22.8434829Z 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-24T10:37:22.8434832Z 2026-10-24T10:37:22.8434898Z 142 const batchAbort = new AbortController(); 2026-10-24T10:37:22.8434952Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8434954Z 2026-10-24T10:37:22.8435328Z 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-24T10:37:22.8435334Z 2026-10-24T10:37:22.8435383Z 168 Effect.flatMap((frame) => 2026-10-24T10:37:22.8435428Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8435430Z 2026-10-24T10:37:22.8435677Z src/orchestration-v2/CommandReceiptStore.ts:164:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8435679Z 2026-10-24T10:37:22.8435750Z 164 onNone: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8435801Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8435803Z 2026-10-24T10:37:22.8436047Z src/orchestration-v2/CommandReceiptStore.ts:167:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8436049Z 2026-10-24T10:37:22.8436111Z 167 ? Effect.succeed(Option.none()) 2026-10-24T10:37:22.8436159Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8436161Z 2026-10-24T10:37:22.8436409Z src/orchestration-v2/CommandReceiptStore.ts:168:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8436412Z 2026-10-24T10:37:22.8436512Z 168 : fromApplicationReceipt(receipt).pipe(Effect.map(Option.some)), 2026-10-24T10:37:22.8436577Z ~~~~~~~~~~ 2026-10-24T10:37:22.8436579Z 2026-10-24T10:37:22.8436864Z src/orchestration-v2/CommandReceiptStore.ts:183:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8436866Z 2026-10-24T10:37:22.8436927Z 183 ? Effect.succeed(Option.none()) 2026-10-24T10:37:22.8436974Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8436977Z 2026-10-24T10:37:22.8437221Z src/orchestration-v2/CommandReceiptStore.ts:192:25 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8437224Z 2026-10-24T10:37:22.8437287Z 192 }).pipe(Effect.map(Option.some)), 2026-10-24T10:37:22.8437334Z ~~~~~~~~~~ 2026-10-24T10:37:22.8437336Z 2026-10-24T10:37:22.8437564Z src/orchestration-v2/EffectOutbox.ts:429:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8437568Z 2026-10-24T10:37:22.8437626Z 429 ? Effect.succeed(Option.none()) 2026-10-24T10:37:22.8437672Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8437674Z 2026-10-24T10:37:22.8437906Z src/orchestration-v2/EffectOutbox.ts:430:39 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8437909Z 2026-10-24T10:37:22.8438024Z 430 : rowToEffect(row).pipe(Effect.map(Option.some)); 2026-10-24T10:37:22.8438079Z ~~~~~~~~~~ 2026-10-24T10:37:22.8438081Z 2026-10-24T10:37:22.8438314Z src/orchestration-v2/EffectWorker.test.ts:107:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8438318Z 2026-10-24T10:37:22.8438378Z 107 get: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8438425Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8438429Z 2026-10-24T10:37:22.8438663Z src/orchestration-v2/EffectWorker.test.ts:302:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8438666Z 2026-10-24T10:37:22.8438752Z 302 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T10:37:22.8438798Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8438800Z 2026-10-24T10:37:22.8439035Z src/orchestration-v2/EffectWorker.test.ts:369:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8439037Z 2026-10-24T10:37:22.8439120Z 369 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T10:37:22.8439171Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8439173Z 2026-10-24T10:37:22.8439409Z src/orchestration-v2/EffectWorker.test.ts:436:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8439413Z 2026-10-24T10:37:22.8439493Z 436 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T10:37:22.8439539Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8439542Z 2026-10-24T10:37:22.8439777Z src/orchestration-v2/EffectWorker.test.ts:437:18 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8439779Z 2026-10-24T10:37:22.8439855Z 437 get: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T10:37:22.8439900Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8439904Z 2026-10-24T10:37:22.8440240Z 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-24T10:37:22.8440242Z 2026-10-24T10:37:22.8440371Z 98 execute: (effect, options) => { 2026-10-24T10:37:22.8440414Z ~~~~~~~ 2026-10-24T10:37:22.8440416Z 2026-10-24T10:37:22.8440752Z 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-24T10:37:22.8440754Z 2026-10-24T10:37:22.8440811Z 180 Effect.catch((cause) => 2026-10-24T10:37:22.8440861Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8440863Z 2026-10-24T10:37:22.8441154Z 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-24T10:37:22.8441157Z 2026-10-24T10:37:22.8441208Z 110 append: (input) => 2026-10-24T10:37:22.8441252Z ~~~~~~ 2026-10-24T10:37:22.8441254Z 2026-10-24T10:37:22.8441566Z 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-24T10:37:22.8441570Z 2026-10-24T10:37:22.8441629Z 120 appendProjectEvent: (event) => 2026-10-24T10:37:22.8441676Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8441678Z 2026-10-24T10:37:22.8442028Z 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-24T10:37:22.8442031Z 2026-10-24T10:37:22.8442086Z 131 latestSequence: (input) => 2026-10-24T10:37:22.8442130Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8442133Z 2026-10-24T10:37:22.8442400Z src/orchestration-v2/FoundationPersistence.test.ts:1791:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8442404Z 2026-10-24T10:37:22.8442494Z 1791 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-24T10:37:22.8442545Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8442547Z 2026-10-24T10:37:22.8442809Z src/orchestration-v2/FoundationPersistence.test.ts:1793:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8442812Z 2026-10-24T10:37:22.8442858Z 1793 Effect.succeed( 2026-10-24T10:37:22.8442906Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8442908Z 2026-10-24T10:37:22.8447454Z src/orchestration-v2/FoundationPersistence.test.ts:2663:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8447458Z 2026-10-24T10:37:22.8447553Z 2663 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-24T10:37:22.8447606Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8447611Z 2026-10-24T10:37:22.8447879Z src/orchestration-v2/FoundationPersistence.test.ts:2880:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8447881Z 2026-10-24T10:37:22.8447959Z 2880 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-24T10:37:22.8448011Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8448014Z 2026-10-24T10:37:22.8448377Z src/orchestration-v2/Orchestrator.ts:11782:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8448379Z 2026-10-24T10:37:22.8448431Z 11782 Effect.flatMap((planned) => 2026-10-24T10:37:22.8448478Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8448480Z 2026-10-24T10:37:22.8448819Z src/orchestration-v2/Orchestrator.ts:12205:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8448914Z 2026-10-24T10:37:22.8448983Z 12205 restartContinuationPending: (run) => 2026-10-24T10:37:22.8449030Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8449032Z 2026-10-24T10:37:22.8449364Z src/orchestration-v2/Orchestrator.ts:12207:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8449366Z 2026-10-24T10:37:22.8449426Z 12207 awaitRestartContinuation: (run) => 2026-10-24T10:37:22.8449474Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8449476Z 2026-10-24T10:37:22.8449800Z src/orchestration-v2/Orchestrator.ts:12210:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8449804Z 2026-10-24T10:37:22.8449861Z 12210 autoArmLimitRecovery: (input) => 2026-10-24T10:37:22.8449904Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8449906Z 2026-10-24T10:37:22.8450280Z src/orchestration-v2/Orchestrator.ts:12238:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8450282Z 2026-10-24T10:37:22.8450333Z 12238 searchThread: (input) => 2026-10-24T10:37:22.8450374Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8450377Z 2026-10-24T10:37:22.8450777Z src/orchestration-v2/Orchestrator.ts:12246: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-24T10:37:22.8450781Z 2026-10-24T10:37:22.8450901Z 12246 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-24T10:37:22.8450945Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8450947Z 2026-10-24T10:37:22.8451284Z src/orchestration-v2/Orchestrator.ts:12250:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8451287Z 2026-10-24T10:37:22.8451350Z 12250 getTimelinePage: (threadId, options) => 2026-10-24T10:37:22.8451393Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8451396Z 2026-10-24T10:37:22.8451712Z src/orchestration-v2/Orchestrator.ts:12254:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8451714Z 2026-10-24T10:37:22.8451768Z 12254 getMessageCount: (threadId) => 2026-10-24T10:37:22.8451812Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8451815Z 2026-10-24T10:37:22.8452122Z src/orchestration-v2/Orchestrator.ts:12258:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8452124Z 2026-10-24T10:37:22.8452174Z 12258 getTurnItem: (input) => 2026-10-24T10:37:22.8452217Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8452219Z 2026-10-24T10:37:22.8452565Z src/orchestration-v2/Orchestrator.ts:12266:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8452567Z 2026-10-24T10:37:22.8452641Z 12266 getThreadRecords: (threadId, fields, filter) => 2026-10-24T10:37:22.8452684Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8452730Z 2026-10-24T10:37:22.8453053Z src/orchestration-v2/Orchestrator.ts:12270:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8453057Z 2026-10-24T10:37:22.8453116Z 12270 getThreadProjection: (threadId) => 2026-10-24T10:37:22.8453160Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8453162Z 2026-10-24T10:37:22.8453493Z src/orchestration-v2/Orchestrator.ts:12274:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8453495Z 2026-10-24T10:37:22.8453554Z 12274 getCheckpointContext: (threadId) => 2026-10-24T10:37:22.8453596Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8453598Z 2026-10-24T10:37:22.8453918Z src/orchestration-v2/Orchestrator.ts:12278:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8453923Z 2026-10-24T10:37:22.8453978Z 12278 getThreadSnapshot: (threadId) => 2026-10-24T10:37:22.8454021Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8454023Z 2026-10-24T10:37:22.8454411Z src/orchestration-v2/Orchestrator.ts:12282:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8454414Z 2026-10-24T10:37:22.8454489Z 12282 getThreadSnapshotWindow: (threadId, options) => 2026-10-24T10:37:22.8454534Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8454537Z 2026-10-24T10:37:22.8454856Z src/orchestration-v2/Orchestrator.ts:12286:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8454860Z 2026-10-24T10:37:22.8454915Z 12286 getShellSnapshot: (options) => 2026-10-24T10:37:22.8454957Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8454959Z 2026-10-24T10:37:22.8455290Z src/orchestration-v2/Orchestrator.ts:12288:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.listActiveSubagentThreadIds")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8455293Z 2026-10-24T10:37:22.8455354Z 12288 listActiveSubagentThreadIds: () => 2026-10-24T10:37:22.8455404Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8455406Z 2026-10-24T10:37:22.8455732Z src/orchestration-v2/Orchestrator.ts:12290:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8455735Z 2026-10-24T10:37:22.8455793Z 12290 readShellSnapshot: (options) => 2026-10-24T10:37:22.8455838Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8455840Z 2026-10-24T10:37:22.8456162Z src/orchestration-v2/Orchestrator.ts:12297:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8456164Z 2026-10-24T10:37:22.8456220Z 12297 getThreadShell: (threadId) => 2026-10-24T10:37:22.8456267Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8456269Z 2026-10-24T10:37:22.8456604Z src/orchestration-v2/Orchestrator.ts:12301:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8456606Z 2026-10-24T10:37:22.8456669Z 12301 getThreadEventSequence: (threadId) => 2026-10-24T10:37:22.8456717Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8456762Z 2026-10-24T10:37:22.8457093Z 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-24T10:37:22.8457095Z 2026-10-24T10:37:22.8457165Z 160 getInstance: () => Effect.succeed(undefined), 2026-10-24T10:37:22.8457219Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8457225Z 2026-10-24T10:37:22.8457531Z src/orchestration-v2/ProjectStore.ts:269:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.getShell")((projectId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8457533Z 2026-10-24T10:37:22.8457646Z 269 getShell: (projectId) => get(projectId).pipe(Effect.map(Option.map(toShell))), 2026-10-24T10:37:22.8457689Z ~~~~~~~~ 2026-10-24T10:37:22.8457691Z 2026-10-24T10:37:22.8457997Z src/orchestration-v2/ProjectStore.ts:270:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.listShells")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8458001Z 2026-10-24T10:37:22.8458051Z 270 listShells: (options) => 2026-10-24T10:37:22.8458093Z ~~~~~~~~~~ 2026-10-24T10:37:22.8458095Z 2026-10-24T10:37:22.8458421Z src/orchestration-v2/ProjectionControlReads.test.ts:279:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8458424Z 2026-10-24T10:37:22.8458475Z 279 Effect.succeed( 2026-10-24T10:37:22.8458520Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8458522Z 2026-10-24T10:37:22.8458864Z 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-24T10:37:22.8458871Z 2026-10-24T10:37:22.8458919Z 78 get: (instanceId) => 2026-10-24T10:37:22.8458960Z ~~~ 2026-10-24T10:37:22.8458963Z 2026-10-24T10:37:22.8459287Z 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-24T10:37:22.8459290Z 2026-10-24T10:37:22.8459336Z 135 list: () => 2026-10-24T10:37:22.8459377Z ~~~~ 2026-10-24T10:37:22.8459379Z 2026-10-24T10:37:22.8459713Z 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-24T10:37:22.8459715Z 2026-10-24T10:37:22.8459802Z 93 record: (properties: Readonly>) => 2026-10-24T10:37:22.8459845Z ~~~~~~ 2026-10-24T10:37:22.8459849Z 2026-10-24T10:37:22.8460227Z 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-24T10:37:22.8460229Z 2026-10-24T10:37:22.8460311Z 818 Effect.flatMap((storedEvents) => 2026-10-24T10:37:22.8460357Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8460360Z 2026-10-24T10:37:22.8460624Z src/orchestration-v2/ProviderSessionManager.test.ts:1155:19 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8460627Z 2026-10-24T10:37:22.8460751Z 1155 : Effect.succeed(Option.some(makeBrowserAccessProject(requestedProjectId))), 2026-10-24T10:37:22.8460799Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8460801Z 2026-10-24T10:37:22.8461069Z src/orchestration-v2/ProviderTurnStartService.test.ts:150:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8461118Z 2026-10-24T10:37:22.8461169Z 150 Effect.succeed( 2026-10-24T10:37:22.8461215Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8461217Z 2026-10-24T10:37:22.8461486Z src/orchestration-v2/ProviderTurnStartService.test.ts:703:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8461488Z 2026-10-24T10:37:22.8461623Z 703 Effect.succeed(Option.some({ workspaceRoot: "/tmp/native-account-project" } as never)), 2026-10-24T10:37:22.8461672Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8461674Z 2026-10-24T10:37:22.8461943Z src/orchestration-v2/ProviderTurnStartService.testkit.ts:14:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8461947Z 2026-10-24T10:37:22.8462015Z 14 getById: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8462063Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8462065Z 2026-10-24T10:37:22.8462454Z src/orchestration-v2/ProviderTurnStartService.ts:205:39 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8462458Z 2026-10-24T10:37:22.8462596Z 205 Effect.catchCause(() => Effect.succeed(undefined)), 2026-10-24T10:37:22.8462661Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8462663Z 2026-10-24T10:37:22.8463054Z src/orchestration-v2/ProviderTurnStartService.ts:512:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8463057Z 2026-10-24T10:37:22.8463117Z 512 Effect.catchCause((cause) => 2026-10-24T10:37:22.8463161Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8463163Z 2026-10-24T10:37:22.8463585Z src/orchestration-v2/ProviderTurnStartService.ts:1302:7 - suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-10-24T10:37:22.8463588Z 2026-10-24T10:37:22.8463654Z 1302 return runExecution.startRootRun({ 2026-10-24T10:37:22.8463698Z ~~~~~~ 2026-10-24T10:37:22.8463700Z 2026-10-24T10:37:22.8463962Z src/orchestration-v2/PullRequestWatchReactor.ts:478:53 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-24T10:37:22.8463964Z 2026-10-24T10:37:22.8464063Z 478 ? pullRequests.activity(reference).pipe(Effect.map(Option.some)) 2026-10-24T10:37:22.8464131Z ~~~~~~~~~~ 2026-10-24T10:37:22.8464133Z 2026-10-24T10:37:22.8464498Z 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-24T10:37:22.8464501Z 2026-10-24T10:37:22.8464576Z 49 cleanupScheduledTasks: (threadId: ThreadId) => 2026-10-24T10:37:22.8464622Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8464625Z 2026-10-24T10:37:22.8464975Z 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-24T10:37:22.8464979Z 2026-10-24T10:37:22.8465039Z 58 cleanupTerminals: (threadId: string) => 2026-10-24T10:37:22.8465084Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8465137Z 2026-10-24T10:37:22.8465490Z 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-24T10:37:22.8465493Z 2026-10-24T10:37:22.8465553Z 66 cleanupPreviews: (threadId: string) => 2026-10-24T10:37:22.8465597Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8465600Z 2026-10-24T10:37:22.8465966Z 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-24T10:37:22.8465969Z 2026-10-24T10:37:22.8466063Z 74 cleanupAttachments: (attachmentIds: ReadonlyArray) => 2026-10-24T10:37:22.8466108Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8466110Z 2026-10-24T10:37:22.8466378Z 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-24T10:37:22.8466380Z 2026-10-24T10:37:22.8466437Z 1812 ).pipe(Effect.map(Option.some)), 2026-10-24T10:37:22.8466483Z ~~~~~~~~~~ 2026-10-24T10:37:22.8466485Z 2026-10-24T10:37:22.8466905Z src/orchestration-v2/RunExecutionService.ts:931:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8466908Z 2026-10-24T10:37:22.8466967Z 931 Effect.catchCause((cause) => 2026-10-24T10:37:22.8467016Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8467018Z 2026-10-24T10:37:22.8467257Z src/orchestration-v2/RuntimePolicy.test.ts:90:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8467261Z 2026-10-24T10:37:22.8467312Z 90 Effect.succeed( 2026-10-24T10:37:22.8467356Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8467358Z 2026-10-24T10:37:22.8467658Z 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-24T10:37:22.8467662Z 2026-10-24T10:37:22.8467709Z 54 resolve: (input) => 2026-10-24T10:37:22.8467751Z ~~~~~~~ 2026-10-24T10:37:22.8467753Z 2026-10-24T10:37:22.8468013Z src/orchestration-v2/RuntimeRequestService.test.ts:29:7 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8468016Z 2026-10-24T10:37:22.8468063Z 29 Effect.succeed( 2026-10-24T10:37:22.8468106Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8468108Z 2026-10-24T10:37:22.8468361Z src/orchestration-v2/ThreadLaunchService.test.ts:189:33 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8468364Z 2026-10-24T10:37:22.8468458Z 189 getByWorkspaceRoot: () => Effect.succeed(Option.some(project)), 2026-10-24T10:37:22.8468513Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8468516Z 2026-10-24T10:37:22.8468770Z src/orchestration-v2/ThreadLaunchService.test.ts:220:32 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8468772Z 2026-10-24T10:37:22.8468855Z 220 folderForThread: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8468905Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8468908Z 2026-10-24T10:37:22.8469240Z 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-24T10:37:22.8469287Z 2026-10-24T10:37:22.8469337Z 91 archive: (input) => 2026-10-24T10:37:22.8469380Z ~~~~~~~ 2026-10-24T10:37:22.8469382Z 2026-10-24T10:37:22.8469720Z 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-24T10:37:22.8469722Z 2026-10-24T10:37:22.8469769Z 97 unarchive: (input) => 2026-10-24T10:37:22.8469811Z ~~~~~~~~~ 2026-10-24T10:37:22.8469813Z 2026-10-24T10:37:22.8470141Z 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-24T10:37:22.8470143Z 2026-10-24T10:37:22.8470191Z 103 delete: (input) => 2026-10-24T10:37:22.8470233Z ~~~~~~ 2026-10-24T10:37:22.8470236Z 2026-10-24T10:37:22.8470603Z 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-24T10:37:22.8470606Z 2026-10-24T10:37:22.8470658Z 109 updateMetadata: (input) => 2026-10-24T10:37:22.8470745Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8470748Z 2026-10-24T10:37:22.8471091Z 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-24T10:37:22.8471093Z 2026-10-24T10:37:22.8471142Z 118 setRuntimeMode: (input) => 2026-10-24T10:37:22.8471185Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8471187Z 2026-10-24T10:37:22.8471540Z 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-24T10:37:22.8471544Z 2026-10-24T10:37:22.8471599Z 125 setInteractionMode: (input) => 2026-10-24T10:37:22.8471645Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8471647Z 2026-10-24T10:37:22.8471998Z 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-24T10:37:22.8472003Z 2026-10-24T10:37:22.8472055Z 132 setModelSelection: (input) => 2026-10-24T10:37:22.8472099Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8472102Z 2026-10-24T10:37:22.8472484Z src/orchestration-v2/ThreadManagementService.ts:689:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8472488Z 2026-10-24T10:37:22.8472543Z 689 Effect.flatMap((projection) => 2026-10-24T10:37:22.8472584Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8472587Z 2026-10-24T10:37:22.8472875Z src/orchestration-v2/ThreadManagementService.ts:706:5 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-24T10:37:22.8472878Z 2026-10-24T10:37:22.8472946Z 706 ensureProjectionTranscript(input.threadId) 2026-10-24T10:37:22.8472999Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8473132Z 707 .pipe(Effect.andThen(orchestrator.getThreadRecords(input.threadId, fields, filter))) 2026-10-24T10:37:22.8473218Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8473259Z ... 2026-10-24T10:37:22.8473345Z 726 ), 2026-10-24T10:37:22.8473389Z ~~~~~~~~~~ 2026-10-24T10:37:22.8473432Z 727 ); 2026-10-24T10:37:22.8473474Z ~~~~~~~ 2026-10-24T10:37:22.8473476Z 2026-10-24T10:37:22.8473854Z src/orchestration-v2/ThreadManagementService.ts:717:9 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8473856Z 2026-10-24T10:37:22.8473914Z 717 Effect.flatMap((projection) => 2026-10-24T10:37:22.8473957Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8473959Z 2026-10-24T10:37:22.8474329Z src/orchestration-v2/ThreadManagementService.ts:1131:43 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T10:37:22.8474332Z 2026-10-24T10:37:22.8474432Z 1131 if (failures[0] !== undefined) return yield* Effect.fail(failures[0]); 2026-10-24T10:37:22.8474489Z ~~~~~ 2026-10-24T10:37:22.8474492Z 2026-10-24T10:37:22.8474845Z src/orchestration-v2/ThreadManagementService.ts:1142:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8474889Z 2026-10-24T10:37:22.8474941Z 1142 searchThread: (input) => 2026-10-24T10:37:22.8474986Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8474988Z 2026-10-24T10:37:22.8475429Z src/orchestration-v2/ThreadManagementService.ts:1147:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8475432Z 2026-10-24T10:37:22.8475554Z 1147 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-24T10:37:22.8475601Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8475603Z 2026-10-24T10:37:22.8475974Z src/orchestration-v2/ThreadManagementService.ts:1153:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8475978Z 2026-10-24T10:37:22.8476044Z 1153 getTimelinePage: (threadId, options) => 2026-10-24T10:37:22.8476089Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8476091Z 2026-10-24T10:37:22.8476449Z src/orchestration-v2/ThreadManagementService.ts:1157:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8476452Z 2026-10-24T10:37:22.8476507Z 1157 getMessageCount: (threadId) => 2026-10-24T10:37:22.8476551Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8476553Z 2026-10-24T10:37:22.8476898Z src/orchestration-v2/ThreadManagementService.ts:1161:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8476900Z 2026-10-24T10:37:22.8476952Z 1161 getTurnItem: (input) => 2026-10-24T10:37:22.8476996Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8476998Z 2026-10-24T10:37:22.8477383Z src/orchestration-v2/ThreadManagementService.ts:1166:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8477385Z 2026-10-24T10:37:22.8477458Z 1166 getThreadRecords: (threadId, fields, filter) => 2026-10-24T10:37:22.8477503Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8477505Z 2026-10-24T10:37:22.8477950Z src/orchestration-v2/ThreadManagementService.ts:1206:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("LegacyV1ThreadImporter.LegacyV1ThreadImporter.ensureTranscript")(() => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8477952Z 2026-10-24T10:37:22.8478091Z 1206 ensureTranscript: () => Effect.succeed({ importedThreadCount: 0, importedMessageCount: 0 }), 2026-10-24T10:37:22.8478137Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8478139Z 2026-10-24T10:37:22.8478407Z src/orchestration-v2/ThreadPullRequestService.test.ts:119:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8478409Z 2026-10-24T10:37:22.8478491Z 119 getShell: () => Effect.succeed(Option.some(project)), 2026-10-24T10:37:22.8478545Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8478547Z 2026-10-24T10:37:22.8478811Z src/orchestration-v2/ThreadPullRequestService.test.ts:238:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8478816Z 2026-10-24T10:37:22.8478897Z 238 getShell: () => Effect.succeed(Option.some(project)), 2026-10-24T10:37:22.8478948Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8478950Z 2026-10-24T10:37:22.8479383Z src/orchestration-v2/ThreadPullRequestService.ts:329:17 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8479385Z 2026-10-24T10:37:22.8479444Z 329 Effect.catchCause((cause) => 2026-10-24T10:37:22.8479493Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8479495Z 2026-10-24T10:37:22.8479874Z 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-24T10:37:22.8479879Z 2026-10-24T10:37:22.8479940Z 353 Effect.catchCause((cause) => 2026-10-24T10:37:22.8479987Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8479989Z 2026-10-24T10:37:22.8480392Z 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-24T10:37:22.8480395Z 2026-10-24T10:37:22.8480450Z 516 Effect.catchCause((cause) => 2026-10-24T10:37:22.8480494Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8480500Z 2026-10-24T10:37:22.8480877Z 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-24T10:37:22.8480881Z 2026-10-24T10:37:22.8480936Z 534 Effect.catchCause((cause) => 2026-10-24T10:37:22.8480980Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8480983Z 2026-10-24T10:37:22.8481358Z 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-24T10:37:22.8481361Z 2026-10-24T10:37:22.8481415Z 576 Effect.catchCause((cause) => 2026-10-24T10:37:22.8481459Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8481461Z 2026-10-24T10:37:22.8481815Z 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-24T10:37:22.8481861Z 2026-10-24T10:37:22.8481917Z 106 normalize: (item, runOrdinal) => 2026-10-24T10:37:22.8481960Z ~~~~~~~~~ 2026-10-24T10:37:22.8481962Z 2026-10-24T10:37:22.8482363Z 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-24T10:37:22.8482368Z 2026-10-24T10:37:22.8482464Z 54 const thread = Schema.decodeUnknownSync(OrchestrationV2AppThread)({ 2026-10-24T10:37:22.8482511Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8482513Z 2026-10-24T10:37:22.8482885Z 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-24T10:37:22.8482889Z 2026-10-24T10:37:22.8482932Z 231 try { 2026-10-24T10:37:22.8482972Z ~~~~~ 2026-10-24T10:37:22.8483053Z 232 decodeThreadHistoryCursor(args.query.cursor); 2026-10-24T10:37:22.8483119Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8483161Z ... 2026-10-24T10:37:22.8483290Z 236 return yield* failEnvironmentInternal("orchestration_thread_history_failed", cause); 2026-10-24T10:37:22.8483421Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8483464Z 237 } 2026-10-24T10:37:22.8483506Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8483509Z 2026-10-24T10:37:22.8483751Z src/orchestration-v2/runtimeLayer.test.ts:120:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8483757Z 2026-10-24T10:37:22.8483823Z 120 getById: () => Effect.succeed(Option.none()), 2026-10-24T10:37:22.8483873Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8483875Z 2026-10-24T10:37:22.8484115Z src/orchestration-v2/runtimeLayer.test.ts:996:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8484117Z 2026-10-24T10:37:22.8484165Z 996 Effect.succeed( 2026-10-24T10:37:22.8484208Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8484212Z 2026-10-24T10:37:22.8484577Z 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-24T10:37:22.8484580Z 2026-10-24T10:37:22.8484629Z 40 append: (input) => 2026-10-24T10:37:22.8484670Z ~~~~~~ 2026-10-24T10:37:22.8484673Z 2026-10-24T10:37:22.8484993Z 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-24T10:37:22.8484998Z 2026-10-24T10:37:22.8485057Z 283 const awaitDispatch = (key: string) => 2026-10-24T10:37:22.8485101Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8485103Z 2026-10-24T10:37:22.8485524Z 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-24T10:37:22.8485527Z 2026-10-24T10:37:22.8485580Z 447 execute: () => Effect.void, 2026-10-24T10:37:22.8485621Z ~~~~~~~ 2026-10-24T10:37:22.8485625Z 2026-10-24T10:37:22.8485962Z src/persistence/PullRequestFilesViewed.ts:92:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.list")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8486007Z 2026-10-24T10:37:22.8486056Z 92 list: (input) => 2026-10-24T10:37:22.8486099Z ~~~~ 2026-10-24T10:37:22.8486101Z 2026-10-24T10:37:22.8486438Z src/persistence/PullRequestFilesViewed.ts:102:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.set")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8486440Z 2026-10-24T10:37:22.8486486Z 102 set: (input) => 2026-10-24T10:37:22.8486529Z ~~~ 2026-10-24T10:37:22.8486532Z 2026-10-24T10:37:22.8486866Z src/persistence/PullRequestReviewGuides.ts:54:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.get")((key) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8486868Z 2026-10-24T10:37:22.8486913Z 54 get: (key) => 2026-10-24T10:37:22.8486955Z ~~~ 2026-10-24T10:37:22.8486959Z 2026-10-24T10:37:22.8487303Z src/persistence/PullRequestReviewGuides.ts:64:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.put")((key, guide) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8487307Z 2026-10-24T10:37:22.8487355Z 64 put: (key, guide) => 2026-10-24T10:37:22.8487396Z ~~~ 2026-10-24T10:37:22.8487399Z 2026-10-24T10:37:22.8487783Z 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-24T10:37:22.8487786Z 2026-10-24T10:37:22.8487840Z 45 Effect.catch((error) => 2026-10-24T10:37:22.8487881Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8487884Z 2026-10-24T10:37:22.8488202Z 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-24T10:37:22.8488206Z 2026-10-24T10:37:22.8488271Z 75 awaitAttached: () => Effect.succeed(false), 2026-10-24T10:37:22.8488314Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8488317Z 2026-10-24T10:37:22.8488627Z 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-24T10:37:22.8488630Z 2026-10-24T10:37:22.8488689Z 78 isAttached: () => Effect.succeed(false), 2026-10-24T10:37:22.8488732Z ~~~~~~~~~~ 2026-10-24T10:37:22.8488734Z 2026-10-24T10:37:22.8489038Z 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-24T10:37:22.8489042Z 2026-10-24T10:37:22.8489145Z 79 endpoint: () => Effect.die("No desktop app is attached to this server."), 2026-10-24T10:37:22.8489186Z ~~~~~~~~ 2026-10-24T10:37:22.8489190Z 2026-10-24T10:37:22.8489490Z 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-24T10:37:22.8489494Z 2026-10-24T10:37:22.8489551Z 80 pointer: () => Effect.void, 2026-10-24T10:37:22.8489593Z ~~~~~~~ 2026-10-24T10:37:22.8489595Z 2026-10-24T10:37:22.8489932Z 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-24T10:37:22.8489934Z 2026-10-24T10:37:22.8489989Z 194 awaitAttached: (key, timeout) => 2026-10-24T10:37:22.8490030Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8490079Z 2026-10-24T10:37:22.8490414Z 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-24T10:37:22.8490416Z 2026-10-24T10:37:22.8490517Z 216 isAttached: (key) => Effect.sync(() => attachedTabs.has(keyOf(key))), 2026-10-24T10:37:22.8490562Z ~~~~~~~~~~ 2026-10-24T10:37:22.8490564Z 2026-10-24T10:37:22.8490884Z 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-24T10:37:22.8490886Z 2026-10-24T10:37:22.8490990Z 218 pointer: (key, pointer) => command({ type: "pointer", ...key, ...pointer }), 2026-10-24T10:37:22.8491031Z ~~~~~~~ 2026-10-24T10:37:22.8491033Z 2026-10-24T10:37:22.8491486Z src/preview/ServerBrowser.ts:481:23 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8491490Z 2026-10-24T10:37:22.8491587Z 481 executable: () => Effect.runPromise(previewBrowser.executable), 2026-10-24T10:37:22.8491683Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8491686Z 2026-10-24T10:37:22.8492129Z src/preview/ServerBrowser.ts:688:9 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8492132Z 2026-10-24T10:37:22.8492181Z 688 ? Effect.runPromise( 2026-10-24T10:37:22.8492229Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8492232Z 2026-10-24T10:37:22.8492676Z src/preview/ServerBrowser.ts:697:25 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8492678Z 2026-10-24T10:37:22.8492760Z 697 const scope = await Effect.runPromise(Scope.make()); 2026-10-24T10:37:22.8492812Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8492814Z 2026-10-24T10:37:22.8493253Z src/preview/ServerBrowser.ts:699:30 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8493257Z 2026-10-24T10:37:22.8493321Z 699 const endpoint = await Effect.runPromise( 2026-10-24T10:37:22.8493376Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8493378Z 2026-10-24T10:37:22.8493819Z src/preview/ServerBrowser.ts:709:17 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8493821Z 2026-10-24T10:37:22.8493906Z 709 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-24T10:37:22.8493953Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8493955Z 2026-10-24T10:37:22.8494396Z src/preview/ServerBrowser.ts:713:13 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8494440Z 2026-10-24T10:37:22.8494527Z 713 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-24T10:37:22.8494573Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8494575Z 2026-10-24T10:37:22.8495025Z src/preview/ServerBrowser.ts:1200:11 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8495027Z 2026-10-24T10:37:22.8495078Z 1200 await Effect.runPromise( 2026-10-24T10:37:22.8495122Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8495124Z 2026-10-24T10:37:22.8495570Z src/preview/ServerBrowser.ts:1693:17 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8495574Z 2026-10-24T10:37:22.8495627Z 1693 : await Effect.runPromise( 2026-10-24T10:37:22.8495676Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8495678Z 2026-10-24T10:37:22.8496157Z src/preview/ServerBrowser.ts:1757:21 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8496159Z 2026-10-24T10:37:22.8496214Z 1757 ? await Effect.runPromise( 2026-10-24T10:37:22.8496262Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8496264Z 2026-10-24T10:37:22.8496534Z src/preview/ServerBrowser.ts:1760:58 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8496539Z 2026-10-24T10:37:22.8496646Z 1760 ServerBrowserTabNotFoundError: () => Effect.succeed(undefined), 2026-10-24T10:37:22.8496716Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8496719Z 2026-10-24T10:37:22.8497163Z src/preview/ServerBrowser.ts:1766:38 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8497167Z 2026-10-24T10:37:22.8497240Z 1766 const { sessions } = await Effect.runPromise( 2026-10-24T10:37:22.8497298Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8497300Z 2026-10-24T10:37:22.8497747Z src/preview/ServerBrowser.ts:1794:19 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8497751Z 2026-10-24T10:37:22.8497805Z 1794 await Effect.runPromise( 2026-10-24T10:37:22.8497850Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8497852Z 2026-10-24T10:37:22.8498298Z src/preview/ServerBrowser.ts:1825:21 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8498300Z 2026-10-24T10:37:22.8498356Z 1825 await Effect.runPromise( 2026-10-24T10:37:22.8498403Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8498405Z 2026-10-24T10:37:22.8498936Z src/preview/ServerBrowser.ts:1889:13 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8498939Z 2026-10-24T10:37:22.8499071Z 1889 await Effect.runPromise(manager.close({ threadId: tab.threadId, tabId: tab.tabId })); 2026-10-24T10:37:22.8499118Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8499120Z 2026-10-24T10:37:22.8499561Z src/preview/ServerBrowser.ts:1957:15 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8499563Z 2026-10-24T10:37:22.8499615Z 1957 await Effect.runPromise( 2026-10-24T10:37:22.8499663Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8499665Z 2026-10-24T10:37:22.8500105Z src/preview/ServerBrowser.ts:1969:32 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8500108Z 2026-10-24T10:37:22.8500215Z 1969 const snapshot = await Effect.runPromise( 2026-10-24T10:37:22.8500300Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8500302Z 2026-10-24T10:37:22.8500746Z src/preview/ServerBrowser.ts:2215:15 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-10-24T10:37:22.8500750Z 2026-10-24T10:37:22.8500802Z 2215 await Effect.runPromise( 2026-10-24T10:37:22.8500848Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8500851Z 2026-10-24T10:37:22.8501123Z 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-24T10:37:22.8501125Z 2026-10-24T10:37:22.8501201Z 179 const receive = (chunk: Uint8Array | string) => { 2026-10-24T10:37:22.8501244Z ~~~~~~~ 2026-10-24T10:37:22.8501247Z 2026-10-24T10:37:22.8501543Z 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-24T10:37:22.8501546Z 2026-10-24T10:37:22.8501641Z 209 Effect.catch(() => Effect.succeed(HttpServerResponse.empty())), 2026-10-24T10:37:22.8501681Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8501685Z 2026-10-24T10:37:22.8502008Z 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-24T10:37:22.8502011Z 2026-10-24T10:37:22.8502097Z 860 resolveAvailableEditors: () => cachedAvailableEditors, 2026-10-24T10:37:22.8502142Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8502146Z 2026-10-24T10:37:22.8502548Z 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-24T10:37:22.8502551Z 2026-10-24T10:37:22.8502609Z 861 resolveFileManagerRevealKind: () => 2026-10-24T10:37:22.8502655Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8502657Z 2026-10-24T10:37:22.8502965Z 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-24T10:37:22.8503025Z 2026-10-24T10:37:22.8503077Z 865 launchBrowser: (target) => 2026-10-24T10:37:22.8503119Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8503123Z 2026-10-24T10:37:22.8503426Z 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-24T10:37:22.8503428Z 2026-10-24T10:37:22.8503481Z 869 launchEditor: (input) => 2026-10-24T10:37:22.8503523Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8503525Z 2026-10-24T10:37:22.8503770Z src/project/AgentSessionImporter.test.ts:212:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8503772Z 2026-10-24T10:37:22.8503822Z 212 Effect.succeed( 2026-10-24T10:37:22.8503868Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8503870Z 2026-10-24T10:37:22.8504105Z src/project/ManagedProjectFolders.ts:346:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8504107Z 2026-10-24T10:37:22.8504190Z 346 ? Effect.succeed(Option.some(folderFor(id.slice(-8)))) 2026-10-24T10:37:22.8504285Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8504287Z 2026-10-24T10:37:22.8504519Z src/project/ManagedProjectFolders.ts:348:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8504521Z 2026-10-24T10:37:22.8504590Z 348 ? Effect.succeed(Option.some(fullFolder)) 2026-10-24T10:37:22.8504634Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8504636Z 2026-10-24T10:37:22.8504950Z 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-24T10:37:22.8504954Z 2026-10-24T10:37:22.8505034Z 432 start: (input, hooks) => locked(start(input, hooks)), 2026-10-24T10:37:22.8505076Z ~~~~~ 2026-10-24T10:37:22.8505078Z 2026-10-24T10:37:22.8505389Z 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-24T10:37:22.8505392Z 2026-10-24T10:37:22.8505462Z 433 cancel: (projectId) => locked(cancel(projectId)), 2026-10-24T10:37:22.8505504Z ~~~~~~ 2026-10-24T10:37:22.8505506Z 2026-10-24T10:37:22.8505811Z 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-24T10:37:22.8505816Z 2026-10-24T10:37:22.8505884Z 434 retry: (projectId) => locked(retry(projectId)), 2026-10-24T10:37:22.8505926Z ~~~~~ 2026-10-24T10:37:22.8505928Z 2026-10-24T10:37:22.8506239Z 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-24T10:37:22.8506241Z 2026-10-24T10:37:22.8506316Z 435 discard: (projectId) => locked(discard(projectId)), 2026-10-24T10:37:22.8506355Z ~~~~~~~ 2026-10-24T10:37:22.8506358Z 2026-10-24T10:37:22.8506682Z 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-24T10:37:22.8506684Z 2026-10-24T10:37:22.8506783Z 21 get: (key) => Effect.sync(() => Option.fromUndefinedOr(bytes.get(key))), 2026-10-24T10:37:22.8506866Z ~~~ 2026-10-24T10:37:22.8506868Z 2026-10-24T10:37:22.8507202Z 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-24T10:37:22.8507204Z 2026-10-24T10:37:22.8507252Z 22 set: (key, value) => 2026-10-24T10:37:22.8507293Z ~~~ 2026-10-24T10:37:22.8507295Z 2026-10-24T10:37:22.8507628Z 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-24T10:37:22.8507631Z 2026-10-24T10:37:22.8507678Z 26 remove: (key) => 2026-10-24T10:37:22.8507720Z ~~~~~~ 2026-10-24T10:37:22.8507722Z 2026-10-24T10:37:22.8508044Z 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-24T10:37:22.8508048Z 2026-10-24T10:37:22.8508148Z 30 create: () => Effect.die("Handoff does not create persistent secrets."), 2026-10-24T10:37:22.8508188Z ~~~~~~ 2026-10-24T10:37:22.8508190Z 2026-10-24T10:37:22.8508587Z 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-24T10:37:22.8508589Z 2026-10-24T10:37:22.8508719Z 31 getOrCreateRandom: () => Effect.die("Handoff uses the destination environment identity."), 2026-10-24T10:37:22.8508764Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8508766Z 2026-10-24T10:37:22.8509181Z 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-24T10:37:22.8509185Z 2026-10-24T10:37:22.8509295Z 205 return yield* Schema.decodeUnknownEffect(Schema.fromJsonString(schema))( 2026-10-24T10:37:22.8509347Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8509351Z 2026-10-24T10:37:22.8509618Z 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-24T10:37:22.8509620Z 2026-10-24T10:37:22.8509673Z 569 ? Effect.succeed(undefined) 2026-10-24T10:37:22.8509720Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8509722Z 2026-10-24T10:37:22.8510037Z 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-24T10:37:22.8510041Z 2026-10-24T10:37:22.8510093Z 284 current: (driverKind) => 2026-10-24T10:37:22.8510134Z ~~~~~~~ 2026-10-24T10:37:22.8510136Z 2026-10-24T10:37:22.8510510Z 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-24T10:37:22.8510512Z 2026-10-24T10:37:22.8510568Z 284 return yield* Effect.fail( 2026-10-24T10:37:22.8510612Z ~~~~~ 2026-10-24T10:37:22.8510614Z 2026-10-24T10:37:22.8510933Z 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-24T10:37:22.8510978Z 2026-10-24T10:37:22.8511031Z 211 importProfile: (input) => 2026-10-24T10:37:22.8511072Z ~~~~~~~~~~~~~ 2026-10-24T10:37:22.8511075Z 2026-10-24T10:37:22.8511424Z 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-24T10:37:22.8511428Z 2026-10-24T10:37:22.8511490Z 39 credentials: (namespace, bindingId) => 2026-10-24T10:37:22.8511531Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8511534Z 2026-10-24T10:37:22.8511904Z src/pullRequest/PullRequestService.ts:2933:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8511907Z 2026-10-24T10:37:22.8511958Z 2933 Effect.catchCause((cause) => 2026-10-24T10:37:22.8512005Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8512007Z 2026-10-24T10:37:22.8512372Z src/pullRequest/PullRequestService.ts:3336:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8512374Z 2026-10-24T10:37:22.8512427Z 3336 Effect.catchCause((cause) => 2026-10-24T10:37:22.8512510Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8512514Z 2026-10-24T10:37:22.8512831Z src/pullRequest/PullRequestService.ts:3556:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestService.listStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8512833Z 2026-10-24T10:37:22.8512884Z 3556 listStats: (input) => 2026-10-24T10:37:22.8512924Z ~~~~~~~~~ 2026-10-24T10:37:22.8512926Z 2026-10-24T10:37:22.8513162Z src/relay/AgentAwarenessRelay.test.ts:271:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-24T10:37:22.8513166Z 2026-10-24T10:37:22.8513212Z 271 Effect.succeed( 2026-10-24T10:37:22.8513258Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8513260Z 2026-10-24T10:37:22.8513572Z 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-24T10:37:22.8513574Z 2026-10-24T10:37:22.8513693Z 822 requestCatchUp: () => Queue.offer(catchUpRequests, undefined).pipe(Effect.asVoid), 2026-10-24T10:37:22.8513735Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8513737Z 2026-10-24T10:37:22.8514116Z 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-24T10:37:22.8514120Z 2026-10-24T10:37:22.8514182Z 641 requestDesktopUpdate: (requestId) => 2026-10-24T10:37:22.8514227Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8514229Z 2026-10-24T10:37:22.8514601Z 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-24T10:37:22.8514603Z 2026-10-24T10:37:22.8514665Z 647 commitDesktopUpdate: (requestId) => 2026-10-24T10:37:22.8514708Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8514710Z 2026-10-24T10:37:22.8515081Z 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-24T10:37:22.8515125Z 2026-10-24T10:37:22.8515184Z 649 cancelDesktopUpdate: (requestId) => 2026-10-24T10:37:22.8515228Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8515230Z 2026-10-24T10:37:22.8515590Z 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-24T10:37:22.8515594Z 2026-10-24T10:37:22.8515656Z 698 setDiagnosticsDemand: () => Effect.void, 2026-10-24T10:37:22.8515702Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8515704Z 2026-10-24T10:37:22.8516063Z 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-24T10:37:22.8516065Z 2026-10-24T10:37:22.8516129Z 699 requestDesktopUpdate: () => Effect.void, 2026-10-24T10:37:22.8516178Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8516180Z 2026-10-24T10:37:22.8516536Z 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-24T10:37:22.8516538Z 2026-10-24T10:37:22.8516641Z 700 commitDesktopUpdate: () => Effect.void, 2026-10-24T10:37:22.8516687Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8516689Z 2026-10-24T10:37:22.8517047Z 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-24T10:37:22.8517050Z 2026-10-24T10:37:22.8517112Z 701 cancelDesktopUpdate: () => Effect.void, 2026-10-24T10:37:22.8517155Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8517159Z 2026-10-24T10:37:22.8517491Z 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-24T10:37:22.8517494Z 2026-10-24T10:37:22.8517539Z 1091 readHistory: () => 2026-10-24T10:37:22.8517581Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8517583Z 2026-10-24T10:37:22.8517934Z 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-24T10:37:22.8517936Z 2026-10-24T10:37:22.8517998Z 1097 setExternalProcesses: () => Effect.void, 2026-10-24T10:37:22.8518043Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8518045Z 2026-10-24T10:37:22.8518387Z 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-24T10:37:22.8518391Z 2026-10-24T10:37:22.8518452Z 1098 setHostPowerState: () => Effect.void, 2026-10-24T10:37:22.8518495Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8518499Z 2026-10-24T10:37:22.8518796Z src/scheduledTasks/ScheduledTaskService.ts:1136:31 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8518798Z 2026-10-24T10:37:22.8518867Z 1136 ? Effect.succeed(undefined) 2026-10-24T10:37:22.8518925Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8518927Z 2026-10-24T10:37:22.8519210Z 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-24T10:37:22.8519254Z 2026-10-24T10:37:22.8519310Z 166 const results = yield* Effect.all( 2026-10-24T10:37:22.8519361Z ~~~~~~~~~~ 2026-10-24T10:37:22.8519363Z 2026-10-24T10:37:22.8519717Z src/server.ts:482: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-24T10:37:22.8519720Z 2026-10-24T10:37:22.8519775Z 482 return Effect.gen(function* () { 2026-10-24T10:37:22.8519818Z ~~~~~~ 2026-10-24T10:37:22.8519820Z 2026-10-24T10:37:22.8520088Z 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-24T10:37:22.8520093Z 2026-10-24T10:37:22.8520159Z 209 prepareTrial: Effect.succeed(undefined), 2026-10-24T10:37:22.8520215Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8520217Z 2026-10-24T10:37:22.8520518Z 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-24T10:37:22.8520520Z 2026-10-24T10:37:22.8520581Z 413 const results = yield* Effect.all( 2026-10-24T10:37:22.8520665Z ~~~~~~~~~~ 2026-10-24T10:37:22.8520667Z 2026-10-24T10:37:22.8521081Z 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-24T10:37:22.8521083Z 2026-10-24T10:37:22.8521139Z 204 listChangeRequests: (input) => 2026-10-24T10:37:22.8521185Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8521188Z 2026-10-24T10:37:22.8521592Z 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-24T10:37:22.8521594Z 2026-10-24T10:37:22.8521646Z 209 getChangeRequest: (input) => 2026-10-24T10:37:22.8521693Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8521695Z 2026-10-24T10:37:22.8522104Z 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-24T10:37:22.8522106Z 2026-10-24T10:37:22.8522160Z 214 createChangeRequest: (input) => 2026-10-24T10:37:22.8522206Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8522208Z 2026-10-24T10:37:22.8522622Z 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-24T10:37:22.8522626Z 2026-10-24T10:37:22.8522686Z 219 getRepositoryCloneUrls: (input) => 2026-10-24T10:37:22.8522730Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8522732Z 2026-10-24T10:37:22.8523133Z 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-24T10:37:22.8523136Z 2026-10-24T10:37:22.8523232Z 224 createRepository: (input) => provider.createRepository(input), 2026-10-24T10:37:22.8523274Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8523276Z 2026-10-24T10:37:22.8523675Z 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-24T10:37:22.8523724Z 2026-10-24T10:37:22.8523775Z 225 getDefaultBranch: (input) => 2026-10-24T10:37:22.8523819Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8523821Z 2026-10-24T10:37:22.8524234Z 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-24T10:37:22.8524237Z 2026-10-24T10:37:22.8524292Z 230 checkoutChangeRequest: (input) => 2026-10-24T10:37:22.8524338Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8524340Z 2026-10-24T10:37:22.8524697Z 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-24T10:37:22.8524701Z 2026-10-24T10:37:22.8524829Z 345 resolve: (input) => resolveHandle(input).pipe(Effect.map((handle) => handle.provider)), 2026-10-24T10:37:22.8524871Z ~~~~~~~ 2026-10-24T10:37:22.8524873Z 2026-10-24T10:37:22.8525277Z src/sourceControl/SourceControlRepositoryService.ts:409:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-24T10:37:22.8525281Z 2026-10-24T10:37:22.8525330Z 409 Effect.catch((sshError) => 2026-10-24T10:37:22.8525373Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8525375Z 2026-10-24T10:37:22.8525753Z src/sourceControl/SourceControlRepositoryService.ts:556:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.lookupRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8525757Z 2026-10-24T10:37:22.8525809Z 556 lookupRepository: (input) => 2026-10-24T10:37:22.8525851Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8525853Z 2026-10-24T10:37:22.8526222Z src/sourceControl/SourceControlRepositoryService.ts:558:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.prepareClone")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8526224Z 2026-10-24T10:37:22.8526275Z 558 prepareClone: (input) => 2026-10-24T10:37:22.8526322Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8526324Z 2026-10-24T10:37:22.8526712Z src/sourceControl/SourceControlRepositoryService.ts:565:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.cloneRepository")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8526716Z 2026-10-24T10:37:22.8526775Z 565 cloneRepository: (input, options) => 2026-10-24T10:37:22.8526818Z ~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8526820Z 2026-10-24T10:37:22.8527202Z src/sourceControl/SourceControlRepositoryService.ts:572:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.discardClone")((destinationPath) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8527205Z 2026-10-24T10:37:22.8527262Z 572 discardClone: (destinationPath) => 2026-10-24T10:37:22.8527305Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8527307Z 2026-10-24T10:37:22.8527683Z src/sourceControl/SourceControlRepositoryService.ts:576:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.publishRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8527685Z 2026-10-24T10:37:22.8527782Z 576 publishRepository: (input) => 2026-10-24T10:37:22.8527828Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8527830Z 2026-10-24T10:37:22.8528150Z src/storageCleanup.ts:708:14 - suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-10-24T10:37:22.8528152Z 2026-10-24T10:37:22.8528204Z 708 return yield* Effect.fail( 2026-10-24T10:37:22.8528244Z ~~~~~ 2026-10-24T10:37:22.8528246Z 2026-10-24T10:37:22.8528533Z 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-24T10:37:22.8528535Z 2026-10-24T10:37:22.8528583Z 113 record: () => Effect.void, 2026-10-24T10:37:22.8528625Z ~~~~~~ 2026-10-24T10:37:22.8528627Z 2026-10-24T10:37:22.8528922Z 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-24T10:37:22.8528929Z 2026-10-24T10:37:22.8528982Z 115 recordOwners: () => Effect.void, 2026-10-24T10:37:22.8529024Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8529026Z 2026-10-24T10:37:22.8529377Z 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-24T10:37:22.8529380Z 2026-10-24T10:37:22.8529526Z 329 yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.flatMap(() => flushWhenDue)), { 2026-10-24T10:37:22.8529593Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8529595Z 2026-10-24T10:37:22.8529873Z 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-24T10:37:22.8529877Z 2026-10-24T10:37:22.8529939Z 90 .pipe(Effect.catch(() => Effect.void)); 2026-10-24T10:37:22.8529983Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8529985Z 2026-10-24T10:37:22.8530325Z 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-24T10:37:22.8530328Z 2026-10-24T10:37:22.8530397Z 60 generateCommitMessage: (input) => 2026-10-24T10:37:22.8530443Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8530445Z 2026-10-24T10:37:22.8530762Z 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-24T10:37:22.8530767Z 2026-10-24T10:37:22.8530818Z 64 generatePrContent: (input) => 2026-10-24T10:37:22.8530862Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8530864Z 2026-10-24T10:37:22.8531178Z 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-24T10:37:22.8531180Z 2026-10-24T10:37:22.8531235Z 68 generateBranchName: (input) => 2026-10-24T10:37:22.8531280Z ~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8531282Z 2026-10-24T10:37:22.8531600Z 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-24T10:37:22.8531602Z 2026-10-24T10:37:22.8531655Z 72 generateReviewGuide: (input) => 2026-10-24T10:37:22.8531698Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8531744Z 2026-10-24T10:37:22.8532061Z 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-24T10:37:22.8532063Z 2026-10-24T10:37:22.8532116Z 76 generateThreadTitle: (input) => 2026-10-24T10:37:22.8532161Z ~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8532163Z 2026-10-24T10:37:22.8532449Z 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-24T10:37:22.8532453Z 2026-10-24T10:37:22.8532501Z 172 readSummary: (input) => 2026-10-24T10:37:22.8532544Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8532547Z 2026-10-24T10:37:22.8532793Z 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-24T10:37:22.8532797Z 2026-10-24T10:37:22.8532855Z 642 usageInstances(driver, settings) 2026-10-24T10:37:22.8532903Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8532946Z 643 .pipe( 2026-10-24T10:37:22.8532989Z ~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8533028Z ... 2026-10-24T10:37:22.8533095Z 664 Effect.provideContext(readerContext), 2026-10-24T10:37:22.8533197Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8533240Z 665 ), 2026-10-24T10:37:22.8533280Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8533285Z 2026-10-24T10:37:22.8533628Z src/vcs/GitVcsDriverCore.ts:4009:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-24T10:37:22.8533631Z 2026-10-24T10:37:22.8533685Z 4009 Effect.flatMap((result) => 2026-10-24T10:37:22.8533730Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8533733Z 2026-10-24T10:37:22.8534065Z src/vcs/GitVcsDriverCore.ts:4500: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-24T10:37:22.8534068Z 2026-10-24T10:37:22.8534129Z 4500 commit: (cwd, subject, body, options) => 2026-10-24T10:37:22.8534170Z ~~~~~~ 2026-10-24T10:37:22.8534172Z 2026-10-24T10:37:22.8534529Z src/vcs/GitVcsDriverCore.ts:4502: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-24T10:37:22.8534532Z 2026-10-24T10:37:22.8534616Z 4502 pushCurrentBranch: (cwd, fallbackBranch, options) => 2026-10-24T10:37:22.8534660Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8534662Z 2026-10-24T10:37:22.8534983Z src/vcs/GitVcsDriverCore.ts:4504:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8534987Z 2026-10-24T10:37:22.8535110Z 4504 pullCurrentBranch: (cwd) => withListRefsInvalidation(cwd, pullCurrentBranch(cwd)), 2026-10-24T10:37:22.8535154Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8535157Z 2026-10-24T10:37:22.8535489Z src/vcs/GitVcsDriverCore.ts:4511:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8535491Z 2026-10-24T10:37:22.8535549Z 4511 createWorktree: (input, options) => 2026-10-24T10:37:22.8535592Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8535594Z 2026-10-24T10:37:22.8535933Z src/vcs/GitVcsDriverCore.ts:4513:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchPullRequestBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8535983Z 2026-10-24T10:37:22.8536044Z 4513 fetchPullRequestBranch: (input) => 2026-10-24T10:37:22.8536089Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8536092Z 2026-10-24T10:37:22.8536429Z src/vcs/GitVcsDriverCore.ts:4517:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.refreshCheckedOutBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8536432Z 2026-10-24T10:37:22.8536489Z 4517 refreshCheckedOutBranch: (input) => 2026-10-24T10:37:22.8536536Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8536538Z 2026-10-24T10:37:22.8536855Z src/vcs/GitVcsDriverCore.ts:4519:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.ensureRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8536859Z 2026-10-24T10:37:22.8536984Z 4519 ensureRemote: (input) => withListRefsInvalidation(input.cwd, ensureRemote(input)), 2026-10-24T10:37:22.8537026Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8537029Z 2026-10-24T10:37:22.8537387Z src/vcs/GitVcsDriverCore.ts:4522:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8537391Z 2026-10-24T10:37:22.8537439Z 4522 fetchRemote: (input) => 2026-10-24T10:37:22.8537481Z ~~~~~~~~~~~ 2026-10-24T10:37:22.8537483Z 2026-10-24T10:37:22.8537818Z src/vcs/GitVcsDriverCore.ts:4537:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8537820Z 2026-10-24T10:37:22.8537880Z 4537 fetchWorktreeBaseCommit: (input) => 2026-10-24T10:37:22.8537922Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8537925Z 2026-10-24T10:37:22.8538246Z src/vcs/GitVcsDriverCore.ts:4539:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8538248Z 2026-10-24T10:37:22.8538390Z 4539 fetchRemoteBranch: (input) => withListRefsInvalidation(input.cwd, fetchRemoteBranch(input)), 2026-10-24T10:37:22.8538434Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8538437Z 2026-10-24T10:37:22.8538781Z src/vcs/GitVcsDriverCore.ts:4540:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteTrackingBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8538783Z 2026-10-24T10:37:22.8538844Z 4540 fetchRemoteTrackingBranch: (input) => 2026-10-24T10:37:22.8538894Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8538896Z 2026-10-24T10:37:22.8539219Z src/vcs/GitVcsDriverCore.ts:4542:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.setBranchUpstream")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8539221Z 2026-10-24T10:37:22.8539363Z 4542 setBranchUpstream: (input) => withListRefsInvalidation(input.cwd, setBranchUpstream(input)), 2026-10-24T10:37:22.8539407Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8539410Z 2026-10-24T10:37:22.8539728Z src/vcs/GitVcsDriverCore.ts:4543:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8539731Z 2026-10-24T10:37:22.8539861Z 4543 removeWorktree: (input) => withListRefsInvalidation(input.cwd, removeWorktree(input)), 2026-10-24T10:37:22.8539953Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8539955Z 2026-10-24T10:37:22.8540283Z src/vcs/GitVcsDriverCore.ts:4544:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8540286Z 2026-10-24T10:37:22.8540432Z 4544 pruneWorktrees: (input) => withListRefsInvalidation(input.cwd, pruneWorktrees(input)), 2026-10-24T10:37:22.8540475Z ~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8540477Z 2026-10-24T10:37:22.8540800Z src/vcs/GitVcsDriverCore.ts:4545:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8540802Z 2026-10-24T10:37:22.8540940Z 4545 deleteLocalBranch: (input) => withListRefsInvalidation(input.cwd, deleteLocalBranch(input)), 2026-10-24T10:37:22.8540983Z ~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8540988Z 2026-10-24T10:37:22.8541306Z src/vcs/GitVcsDriverCore.ts:4546:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8541308Z 2026-10-24T10:37:22.8541426Z 4546 renameBranch: (input) => withListRefsInvalidation(input.cwd, renameBranch(input)), 2026-10-24T10:37:22.8541512Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8541515Z 2026-10-24T10:37:22.8541825Z src/vcs/GitVcsDriverCore.ts:4547:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8541827Z 2026-10-24T10:37:22.8541937Z 4547 createRef: (input) => withListRefsInvalidation(input.cwd, createRef(input)), 2026-10-24T10:37:22.8541979Z ~~~~~~~~~ 2026-10-24T10:37:22.8541981Z 2026-10-24T10:37:22.8542334Z src/vcs/GitVcsDriverCore.ts:4548:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-24T10:37:22.8542336Z 2026-10-24T10:37:22.8542444Z 4548 switchRef: (input) => withListRefsInvalidation(input.cwd, switchRef(input)), 2026-10-24T10:37:22.8542486Z ~~~~~~~~~ 2026-10-24T10:37:22.8542488Z 2026-10-24T10:37:22.8542877Z 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-24T10:37:22.8542879Z 2026-10-24T10:37:22.8542946Z 153 return serverSettings.getSettings.pipe( 2026-10-24T10:37:22.8542986Z ~~~~~~ 2026-10-24T10:37:22.8542988Z 2026-10-24T10:37:22.8543293Z 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-24T10:37:22.8543297Z 2026-10-24T10:37:22.8543385Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-24T10:37:22.8543430Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8543432Z 2026-10-24T10:37:22.8543710Z 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-24T10:37:22.8543713Z 2026-10-24T10:37:22.8543790Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-24T10:37:22.8543851Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8543853Z 2026-10-24T10:37:22.8544090Z src/ws.test.ts:401:47 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-24T10:37:22.8544148Z 2026-10-24T10:37:22.8544249Z 401 resolveFileManagerRevealKind: () => Effect.succeed(undefined), 2026-10-24T10:37:22.8544315Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-24T10:37:22.8544317Z 2026-10-24T10:37:22.8544600Z src/ws.ts:1384: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-24T10:37:22.8544602Z 2026-10-24T10:37:22.8544664Z 1384 return yield* Option.match(project, { 2026-10-24T10:37:22.8544710Z ~~~~~~~~~~~~ 2026-10-24T10:37:22.8544712Z 2026-10-24T10:37:22.8545015Z src/ws.ts:2319: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-24T10:37:22.8545017Z 2026-10-24T10:37:22.8545076Z 2319 return yield* Effect.fail( 2026-10-24T10:37:22.8545123Z ~~~~~ 2026-10-24T10:37:22.8545125Z 2026-10-24T10:37:22.8545421Z src/ws.ts:2328: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-24T10:37:22.8545423Z 2026-10-24T10:37:22.8545527Z 2328 return yield* Effect.fail( 2026-10-24T10:37:22.8545573Z ~~~~~ 2026-10-24T10:37:22.8545575Z 2026-10-24T10:37:22.8545868Z src/ws.ts:2336: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-24T10:37:22.8545872Z 2026-10-24T10:37:22.8545927Z 2336 return yield* Effect.fail( 2026-10-24T10:37:22.8545972Z ~~~~~ 2026-10-24T10:37:22.8545976Z 2026-10-24T10:37:22.8545978Z 2026-10-24T10:37:22.8546020Z --- 2026-10-24T10:37:22.8546300Z 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-24T10:37:22.8953255Z Post job cleanup. 2026-10-24T10:37:22.9543042Z Cache hit occurred on the primary key electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309, not saving cache. 2026-10-24T10:37:22.9606969Z Post job cleanup. 2026-10-24T10:37:22.9620854Z ##[start-action display=Cache full pnpm store;id=__259b328d-5014-4f25-a467-c83c2a6496d8.__actions_cache] 2026-10-24T10:37:22.9948003Z Post job cleanup. 2026-10-24T10:37:23.0566733Z Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-8600a8d4a7fcc9519d421cef0c77201c793c5d8afbbef2897636b5b9305a9b7d, not saving cache. 2026-10-24T10:37:23.0595920Z ##[end-action id=__259b328d-5014-4f25-a467-c83c2a6496d8.__actions_cache;outcome=success;conclusion=success;duration_ms=97] 2026-10-24T10:37:23.0597503Z ##[start-action display=Cache Vite+;id=__259b328d-5014-4f25-a467-c83c2a6496d8.vp_cache] 2026-10-24T10:37:23.0616973Z Post job cleanup. 2026-10-24T10:37:23.1210537Z 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-24T10:37:23.1238861Z ##[end-action id=__259b328d-5014-4f25-a467-c83c2a6496d8.vp_cache;outcome=success;conclusion=success;duration_ms=64] 2026-10-24T10:37:23.1274703Z Post job cleanup. 2026-10-24T10:37:23.1675253Z [command]/usr/local/bin/git version 2026-10-24T10:37:23.1700915Z git version 2.55.0 2026-10-24T10:37:23.1717221Z Temporarily overriding HOME='/home/runner/_work/_temp/6df3730f-ea22-4b74-842d-aa950e54268d' before making global git config changes 2026-10-24T10:37:23.1717841Z Adding repository directory to the temporary git global config as a safe directory 2026-10-24T10:37:23.1719813Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-24T10:37:23.1739232Z Removing SSH command configuration 2026-10-24T10:37:23.1742807Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-24T10:37:23.1764163Z [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-24T10:37:23.1875392Z fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules 2026-10-24T10:37:23.1896570Z ##[warning]The process '/usr/local/bin/git' failed with exit code 128 2026-10-24T10:37:23.1932082Z A job completed hook has been configured by the self-hosted runner administrator 2026-10-24T10:37:23.1950823Z ##[group]Run '/job_completed.sh' 2026-10-24T10:37:23.1959897Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-24T10:37:23.1960166Z env: 2026-10-24T10:37:23.1960354Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 143 2026-10-24T10:37:23.1960623Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 367 2026-10-24T10:37:23.1960852Z BLACKSMITH_CHECK_RUN_ID: 120850430454 2026-10-24T10:37:23.1961100Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-24T10:37:23.1961264Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-24T10:37:23.1961400Z ##[endgroup] 2026-10-24T10:37:23.2035026Z Docker container cache not activated, skipping hash computation. 2026-10-24T10:37:23.2286750Z No active SSH sessions detected. Proceeding with shutdown immediately. 2026-10-24T10:37:23.2326609Z Cleaning up orphan processes