2026-10-25T00:57:20.0660352Z Current runner version: '2.338.1' 2026-10-25T00:57:20.0663762Z Runner name: 'blacksmith-8vcpu-ubuntu-2404-wmh7ikoqnedicf5d' 2026-10-25T00:57:20.0664502Z Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404' 2026-10-25T00:57:20.0665171Z Machine name: 'ip-172-31-73-130' 2026-10-25T00:57:20.0666803Z ##[group]GITHUB_TOKEN Permissions 2026-10-25T00:57:20.0668058Z Contents: read 2026-10-25T00:57:20.0668497Z Metadata: read 2026-10-25T00:57:20.0668879Z ##[endgroup] 2026-10-25T00:57:20.0670151Z Secret source: Actions 2026-10-25T00:57:20.0670809Z Cache mode: write 2026-10-25T00:57:20.0671322Z Prepare workflow directory 2026-10-25T00:57:20.0849588Z Prepare all required actions 2026-10-25T00:57:20.0875513Z Getting action download info 2026-10-25T00:57:20.2152070Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-25T00:57:20.2422725Z Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) 2026-10-25T00:57:20.3508517Z Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/ 2026-10-25T00:57:20.3548218Z Complete job name: Build and Typecheck 2026-10-25T00:57:20.3926072Z A job started hook has been configured by the self-hosted runner administrator 2026-10-25T00:57:20.3984500Z ##[group]Run '/setup.sh' 2026-10-25T00:57:20.3992612Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:57:20.3993082Z env: 2026-10-25T00:57:20.3993335Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:20.3993623Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:20.3993957Z BLACKSMITH_CHECK_RUN_ID: 121035460902 2026-10-25T00:57:20.3994256Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-25T00:57:20.3994567Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-25T00:57:20.3994827Z ##[endgroup] 2026-10-25T00:57:20.4213284Z Logging daemon started (blacksmithd for logs) 2026-10-25T00:57:20.4297820Z Results daemon started (blacksmithd for results) 2026-10-25T00:57:20.4420989Z Background adoption and SSH setup started (PID: 3176) 2026-10-25T00:57:20.4423247Z 2026-10-25T00:57:20.4423368Z ---------------------------------------- 2026-10-25T00:57:20.4423884Z View this job: https://app.blacksmith.sh/pingdotgg/runs/40148688970/jobs/121035460902 2026-10-25T00:57:20.4424308Z SSH Access (using your GitHub SSH key): 2026-10-25T00:57:20.4424731Z ssh -p 64000 runner@blacksmith-8vcpu-ubuntu-2404-wmh7ikoqnedicf5d.vm.blacksmith.sh 2026-10-25T00:57:20.4425038Z 2026-10-25T00:57:20.4425143Z No GitHub SSH key? Add one at: 2026-10-25T00:57:20.4425628Z https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 2026-10-25T00:57:20.4426028Z 2026-10-25T00:57:20.4426131Z ---------------------------------------- 2026-10-25T00:57:20.4426307Z 2026-10-25T00:57:20.4426445Z VM ID: blacksmith-8vcpu-ubuntu-2404-wmh7ikoqnedicf5d 2026-10-25T00:57:20.4426765Z Host: production-152.236.39.225-x8664 2026-10-25T00:57:20.4427036Z Host Agent PID: 3769583 2026-10-25T00:57:20.4427283Z Host Agent Git SHA: 1637818df 2026-10-25T00:57:20.4427537Z Host CPU Manufacturer: AuthenticAMD 2026-10-25T00:57:20.4427813Z Blacksmith Host Generation: gen 2 2026-10-25T00:57:20.4428082Z Petname: production-in-yak-f088f83e 2026-10-25T00:57:20.4428347Z Region: us-east 2026-10-25T00:57:20.4428577Z Rootfs Version: ubuntu24-full-x64-081926 2026-10-25T00:57:20.4433700Z OS Version: Ubuntu 24.04.4 LTS 2026-10-25T00:57:20.4434134Z 2026-10-25T00:57:20.4434245Z Enabling Blacksmith transparent cache 2026-10-25T00:57:20.4641563Z ##[group]Run actions/checkout@v6 2026-10-25T00:57:20.4641866Z with: 2026-10-25T00:57:20.4642192Z sparse-checkout: /* !/.repos/ !/apps/mobile/modules/t3-terminal/Vendor/**/*.a 2026-10-25T00:57:20.4642592Z sparse-checkout-cone-mode: false 2026-10-25T00:57:20.4642871Z repository: pingdotgg/t3code 2026-10-25T00:57:20.4644625Z token: *** 2026-10-25T00:57:20.4644836Z ssh-strict: true 2026-10-25T00:57:20.4645060Z ssh-user: git 2026-10-25T00:57:20.4645288Z persist-credentials: true 2026-10-25T00:57:20.4645750Z clean: true 2026-10-25T00:57:20.4645963Z fetch-depth: 1 2026-10-25T00:57:20.4646181Z fetch-tags: false 2026-10-25T00:57:20.4646407Z show-progress: true 2026-10-25T00:57:20.4707780Z lfs: false 2026-10-25T00:57:20.4708042Z submodules: false 2026-10-25T00:57:20.4708336Z set-safe-directory: true 2026-10-25T00:57:20.4708660Z allow-unsafe-pr-checkout: false 2026-10-25T00:57:20.4708995Z env: 2026-10-25T00:57:20.4709263Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:20.4709548Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:20.4709859Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:20.4710120Z ##[endgroup] 2026-10-25T00:57:20.5790373Z Syncing repository: pingdotgg/t3code 2026-10-25T00:57:20.5791327Z ##[group]Getting Git version info 2026-10-25T00:57:20.5791666Z Working directory is '/home/runner/_work/t3code/t3code' 2026-10-25T00:57:20.5792275Z [command]/usr/local/bin/git version 2026-10-25T00:57:20.5855556Z git version 2.55.0 2026-10-25T00:57:20.5867861Z ##[endgroup] 2026-10-25T00:57:20.5874581Z Temporarily overriding HOME='/home/runner/_work/_temp/5a9c3757-109e-47f2-9a17-81f9d6fc9d5e' before making global git config changes 2026-10-25T00:57:20.5875244Z Adding repository directory to the temporary git global config as a safe directory 2026-10-25T00:57:20.5877775Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-25T00:57:20.5907321Z Deleting the contents of '/home/runner/_work/t3code/t3code' 2026-10-25T00:57:20.5908971Z ##[group]Determining repository object format 2026-10-25T00:57:20.5910050Z ##[endgroup] 2026-10-25T00:57:20.5910446Z ##[group]Initializing the repository 2026-10-25T00:57:20.5912336Z [command]/usr/local/bin/git init /home/runner/_work/t3code/t3code 2026-10-25T00:57:20.5946202Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-25T00:57:20.5946681Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-25T00:57:20.5947146Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-25T00:57:20.5947509Z hint: call: 2026-10-25T00:57:20.5947710Z hint: 2026-10-25T00:57:20.5947981Z hint: git config --global init.defaultBranch 2026-10-25T00:57:20.5948286Z hint: 2026-10-25T00:57:20.5948572Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-25T00:57:20.5949027Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-25T00:57:20.5949387Z hint: 2026-10-25T00:57:20.5949598Z hint: git branch -m 2026-10-25T00:57:20.5949832Z hint: 2026-10-25T00:57:20.5950143Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-25T00:57:20.5950652Z Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/ 2026-10-25T00:57:20.5951434Z [command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code 2026-10-25T00:57:20.5974598Z ##[endgroup] 2026-10-25T00:57:20.5974975Z ##[group]Disabling automatic garbage collection 2026-10-25T00:57:20.5976739Z [command]/usr/local/bin/git config --local gc.auto 0 2026-10-25T00:57:20.5995691Z ##[endgroup] 2026-10-25T00:57:20.5996266Z ##[group]Setting up auth 2026-10-25T00:57:20.5996693Z Removing SSH command configuration 2026-10-25T00:57:20.5999323Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-25T00:57:20.6026175Z [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-25T00:57:20.6152173Z Removing HTTP extra header 2026-10-25T00:57:20.6155145Z [command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-25T00:57:20.6178241Z [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-25T00:57:20.6276780Z Removing includeIf entries pointing to credentials config files 2026-10-25T00:57:20.6281051Z [command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-25T00:57:20.6303809Z [command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-25T00:57:20.6398906Z [command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-09eb8f00-7b8c-4efa-9d7a-39028e6f6b82.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-25T00:57:20.6424280Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-09eb8f00-7b8c-4efa-9d7a-39028e6f6b82.config 2026-10-25T00:57:20.6442548Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-09eb8f00-7b8c-4efa-9d7a-39028e6f6b82.config 2026-10-25T00:57:20.6460470Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-09eb8f00-7b8c-4efa-9d7a-39028e6f6b82.config 2026-10-25T00:57:20.6477659Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-09eb8f00-7b8c-4efa-9d7a-39028e6f6b82.config 2026-10-25T00:57:20.6493845Z ##[endgroup] 2026-10-25T00:57:20.6494220Z ##[group]Fetching the repository 2026-10-25T00:57:20.6498348Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +5ed8b54860c6128012c2b13d489814758f794320:refs/remotes/origin/main 2026-10-25T00:57:20.8555923Z From https://github.com/pingdotgg/t3code 2026-10-25T00:57:20.8557046Z * [new ref] 5ed8b54860c6128012c2b13d489814758f794320 -> origin/main 2026-10-25T00:57:20.8578194Z [command]/usr/local/bin/git branch --list --remote origin/main 2026-10-25T00:57:20.8597128Z origin/main 2026-10-25T00:57:20.8601602Z [command]/usr/local/bin/git rev-parse refs/remotes/origin/main 2026-10-25T00:57:20.8618510Z 5ed8b54860c6128012c2b13d489814758f794320 2026-10-25T00:57:20.8620284Z ##[endgroup] 2026-10-25T00:57:20.8621052Z ##[group]Determining the checkout info 2026-10-25T00:57:20.8621890Z ##[endgroup] 2026-10-25T00:57:20.8622638Z ##[group]Setting up sparse checkout 2026-10-25T00:57:20.8623424Z [command]/usr/local/bin/git config core.sparseCheckout true 2026-10-25T00:57:20.8643895Z [command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout 2026-10-25T00:57:20.8660199Z .git/info/sparse-checkout 2026-10-25T00:57:20.8663529Z ##[endgroup] 2026-10-25T00:57:20.8664494Z ##[group]Checking out the ref 2026-10-25T00:57:20.8665794Z [command]/usr/local/bin/git checkout --progress --force -B main refs/remotes/origin/main 2026-10-25T00:57:28.3725711Z Updating files: 0% (1/6433) 2026-10-25T00:57:28.3754995Z Updating files: 1% (65/6433) 2026-10-25T00:57:28.3772893Z Updating files: 2% (129/6433) 2026-10-25T00:57:28.3794348Z Updating files: 3% (193/6433) 2026-10-25T00:57:28.3815806Z Updating files: 4% (258/6433) 2026-10-25T00:57:28.3847296Z Updating files: 5% (322/6433) 2026-10-25T00:57:28.3870026Z Updating files: 6% (386/6433) 2026-10-25T00:57:28.3923115Z Updating files: 7% (451/6433) 2026-10-25T00:57:28.3955872Z Updating files: 8% (515/6433) 2026-10-25T00:57:28.4033867Z Updating files: 9% (579/6433) 2026-10-25T00:57:28.4254847Z Updating files: 10% (644/6433) 2026-10-25T00:57:28.4341205Z Updating files: 11% (708/6433) 2026-10-25T00:57:28.4353776Z Updating files: 12% (772/6433) 2026-10-25T00:57:28.4365992Z Updating files: 13% (837/6433) 2026-10-25T00:57:28.4383279Z Updating files: 14% (901/6433) 2026-10-25T00:57:28.4401037Z Updating files: 15% (965/6433) 2026-10-25T00:57:28.4418907Z Updating files: 16% (1030/6433) 2026-10-25T00:57:28.4434986Z Updating files: 17% (1094/6433) 2026-10-25T00:57:28.4454343Z Updating files: 18% (1158/6433) 2026-10-25T00:57:28.4469382Z Updating files: 19% (1223/6433) 2026-10-25T00:57:28.4486617Z Updating files: 20% (1287/6433) 2026-10-25T00:57:28.4511626Z Updating files: 21% (1351/6433) 2026-10-25T00:57:28.4529774Z Updating files: 22% (1416/6433) 2026-10-25T00:57:28.4545088Z Updating files: 23% (1480/6433) 2026-10-25T00:57:28.4559429Z Updating files: 24% (1544/6433) 2026-10-25T00:57:28.4573044Z Updating files: 25% (1609/6433) 2026-10-25T00:57:28.4588973Z Updating files: 26% (1673/6433) 2026-10-25T00:57:28.4603270Z Updating files: 27% (1737/6433) 2026-10-25T00:57:28.4623489Z Updating files: 28% (1802/6433) 2026-10-25T00:57:28.4652950Z Updating files: 29% (1866/6433) 2026-10-25T00:57:28.4674736Z Updating files: 30% (1930/6433) 2026-10-25T00:57:28.4702420Z Updating files: 31% (1995/6433) 2026-10-25T00:57:28.4730596Z Updating files: 32% (2059/6433) 2026-10-25T00:57:28.4760090Z Updating files: 33% (2123/6433) 2026-10-25T00:57:28.4828932Z Updating files: 34% (2188/6433) 2026-10-25T00:57:28.4885370Z Updating files: 35% (2252/6433) 2026-10-25T00:57:28.4922080Z Updating files: 36% (2316/6433) 2026-10-25T00:57:28.4959167Z Updating files: 37% (2381/6433) 2026-10-25T00:57:28.5001901Z Updating files: 38% (2445/6433) 2026-10-25T00:57:28.5030591Z Updating files: 39% (2509/6433) 2026-10-25T00:57:28.5061712Z Updating files: 40% (2574/6433) 2026-10-25T00:57:28.5089936Z Updating files: 41% (2638/6433) 2026-10-25T00:57:28.5107043Z Updating files: 42% (2702/6433) 2026-10-25T00:57:28.5117435Z Updating files: 43% (2767/6433) 2026-10-25T00:57:28.5133481Z Updating files: 44% (2831/6433) 2026-10-25T00:57:28.5168112Z Updating files: 45% (2895/6433) 2026-10-25T00:57:28.5192728Z Updating files: 46% (2960/6433) 2026-10-25T00:57:28.5221189Z Updating files: 47% (3024/6433) 2026-10-25T00:57:28.5249253Z Updating files: 48% (3088/6433) 2026-10-25T00:57:28.5279210Z Updating files: 49% (3153/6433) 2026-10-25T00:57:28.5316970Z Updating files: 50% (3217/6433) 2026-10-25T00:57:28.5332743Z Updating files: 51% (3281/6433) 2026-10-25T00:57:28.5370022Z Updating files: 52% (3346/6433) 2026-10-25T00:57:28.5394791Z Updating files: 53% (3410/6433) 2026-10-25T00:57:28.5416480Z Updating files: 54% (3474/6433) 2026-10-25T00:57:28.5441083Z Updating files: 55% (3539/6433) 2026-10-25T00:57:28.5458848Z Updating files: 56% (3603/6433) 2026-10-25T00:57:28.5476953Z Updating files: 57% (3667/6433) 2026-10-25T00:57:28.5495926Z Updating files: 58% (3732/6433) 2026-10-25T00:57:28.5853200Z Updating files: 59% (3796/6433) 2026-10-25T00:57:28.5871624Z Updating files: 60% (3860/6433) 2026-10-25T00:57:28.5892507Z Updating files: 61% (3925/6433) 2026-10-25T00:57:28.5913379Z Updating files: 62% (3989/6433) 2026-10-25T00:57:28.5939782Z Updating files: 63% (4053/6433) 2026-10-25T00:57:28.5974223Z Updating files: 64% (4118/6433) 2026-10-25T00:57:28.5993785Z Updating files: 65% (4182/6433) 2026-10-25T00:57:28.6012256Z Updating files: 66% (4246/6433) 2026-10-25T00:57:28.6038194Z Updating files: 67% (4311/6433) 2026-10-25T00:57:28.6051879Z Updating files: 68% (4375/6433) 2026-10-25T00:57:28.6071267Z Updating files: 69% (4439/6433) 2026-10-25T00:57:28.6083179Z Updating files: 70% (4504/6433) 2026-10-25T00:57:28.6102414Z Updating files: 71% (4568/6433) 2026-10-25T00:57:28.6116276Z Updating files: 72% (4632/6433) 2026-10-25T00:57:28.6163272Z Updating files: 73% (4697/6433) 2026-10-25T00:57:28.6561858Z Updating files: 74% (4761/6433) 2026-10-25T00:57:28.6588020Z Updating files: 75% (4825/6433) 2026-10-25T00:57:28.6608832Z Updating files: 76% (4890/6433) 2026-10-25T00:57:28.6631455Z Updating files: 77% (4954/6433) 2026-10-25T00:57:28.6655026Z Updating files: 78% (5018/6433) 2026-10-25T00:57:28.6671937Z Updating files: 79% (5083/6433) 2026-10-25T00:57:28.6694029Z Updating files: 80% (5147/6433) 2026-10-25T00:57:28.6711308Z Updating files: 81% (5211/6433) 2026-10-25T00:57:28.6729429Z Updating files: 82% (5276/6433) 2026-10-25T00:57:28.6751823Z Updating files: 83% (5340/6433) 2026-10-25T00:57:28.6774034Z Updating files: 84% (5404/6433) 2026-10-25T00:57:28.6791908Z Updating files: 85% (5469/6433) 2026-10-25T00:57:28.6816466Z Updating files: 86% (5533/6433) 2026-10-25T00:57:28.6887342Z Updating files: 87% (5597/6433) 2026-10-25T00:57:28.6917328Z Updating files: 88% (5662/6433) 2026-10-25T00:57:28.6937064Z Updating files: 89% (5726/6433) 2026-10-25T00:57:28.6965367Z Updating files: 90% (5790/6433) 2026-10-25T00:57:28.6993045Z Updating files: 91% (5855/6433) 2026-10-25T00:57:28.7007493Z Updating files: 92% (5919/6433) 2026-10-25T00:57:28.7029704Z Updating files: 93% (5983/6433) 2026-10-25T00:57:28.7049822Z Updating files: 94% (6048/6433) 2026-10-25T00:57:28.7073690Z Updating files: 95% (6112/6433) 2026-10-25T00:57:28.7130953Z Updating files: 96% (6176/6433) 2026-10-25T00:57:28.7153519Z Updating files: 97% (6241/6433) 2026-10-25T00:57:28.7201809Z Updating files: 98% (6305/6433) 2026-10-25T00:57:28.7221184Z Updating files: 99% (6369/6433) 2026-10-25T00:57:28.7221652Z Updating files: 100% (6433/6433) 2026-10-25T00:57:28.7221848Z Updating files: 100% (6433/6433), done. 2026-10-25T00:57:28.7378194Z Switched to a new branch 'main' 2026-10-25T00:57:28.7378878Z branch 'main' set up to track 'origin/main'. 2026-10-25T00:57:28.7390922Z ##[endgroup] 2026-10-25T00:57:28.7422607Z [command]/usr/local/bin/git log -1 --format=%H 2026-10-25T00:57:28.7440139Z 5ed8b54860c6128012c2b13d489814758f794320 2026-10-25T00:57:28.7564268Z Prepare all required actions 2026-10-25T00:57:28.7584716Z ##[group]Run ./.github/actions/setup-apt-mirrors 2026-10-25T00:57:28.7584906Z env: 2026-10-25T00:57:28.7585046Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:28.7585226Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:28.7585396Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:28.7585559Z ##[endgroup] 2026-10-25T00:57:28.7733719Z ##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run] 2026-10-25T00:57:28.7752084Z ##[group]Run # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-25T00:57:28.7752528Z # Replace the existing Blacksmith mirror list as well as direct sources. 2026-10-25T00:57:28.7752782Z printf '%s\tpriority:%s\n' \ 2026-10-25T00:57:28.7753004Z  https://archive.ubuntu.com/ubuntu 1 \ 2026-10-25T00:57:28.7753254Z  https://mirrors.edge.kernel.org/ubuntu 2 \ 2026-10-25T00:57:28.7753491Z  https://mirror.math.princeton.edu/pub/ubuntu 3 \ 2026-10-25T00:57:28.7753752Z  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null 2026-10-25T00:57:28.7753966Z  2026-10-25T00:57:28.7754156Z # APT's mirror transport retries each file against the next server. 2026-10-25T00:57:28.7754462Z sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \ 2026-10-25T00:57:28.7754722Z  -exec sed -i -E \ 2026-10-25T00:57:28.7755022Z  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} + 2026-10-25T00:57:28.7755327Z  2026-10-25T00:57:28.7755517Z # Move on to a fallback before an unreachable server exhausts the job. 2026-10-25T00:57:28.7755836Z printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \ 2026-10-25T00:57:28.7756154Z  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null 2026-10-25T00:57:28.7765177Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:57:28.7765382Z env: 2026-10-25T00:57:28.7765531Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:28.7765711Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:28.7765889Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:28.7766058Z ##[endgroup] 2026-10-25T00:57:28.7996940Z ##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=26] 2026-10-25T00:57:28.8022133Z ##[group]Run sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-25T00:57:28.8023015Z sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-10-25T00:57:28.8023450Z ( 2026-10-25T00:57:28.8023647Z  set +e 2026-10-25T00:57:28.8023951Z  sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config 2026-10-25T00:57:28.8024329Z  echo "$?" > "$RUNNER_TEMP/apt-status" 2026-10-25T00:57:28.8024644Z ) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null & 2026-10-25T00:57:28.8032815Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:28.8032965Z env: 2026-10-25T00:57:28.8033105Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:28.8033275Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:28.8033441Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:28.8033597Z ##[endgroup] 2026-10-25T00:57:28.8180662Z Prepare all required actions 2026-10-25T00:57:28.8181024Z Getting action download info 2026-10-25T00:57:28.9090584Z Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb) 2026-10-25T00:57:28.9954425Z ##[group]Run ./.github/actions/setup-ci-deps 2026-10-25T00:57:28.9954628Z env: 2026-10-25T00:57:28.9954779Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:28.9954964Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:28.9955146Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:28.9955317Z ##[endgroup] 2026-10-25T00:57:29.0015626Z ##[start-action display=Resolve Vite+ version;id=__self_2.vp] 2026-10-25T00:57:29.0024778Z ##[group]Run echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-25T00:57:29.0025174Z echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-10-25T00:57:29.0025523Z echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT" 2026-10-25T00:57:29.0025808Z echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT" 2026-10-25T00:57:29.0034224Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:57:29.0034423Z env: 2026-10-25T00:57:29.0034574Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:29.0034755Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:29.0034934Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:29.0035104Z ##[endgroup] 2026-10-25T00:57:29.0106133Z ##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=9] 2026-10-25T00:57:29.0107898Z ##[start-action display=Cache Vite+;id=__self_2.vp_cache] 2026-10-25T00:57:29.0147868Z ##[group]Run actions/cache@v6 2026-10-25T00:57:29.0148039Z with: 2026-10-25T00:57:29.0148177Z path: ~/.vite-plus 2026-10-25T00:57:29.0148371Z key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-25T00:57:29.0148606Z enableCrossOsArchive: false 2026-10-25T00:57:29.0148765Z fail-on-cache-miss: false 2026-10-25T00:57:29.0148920Z lookup-only: false 2026-10-25T00:57:29.0149069Z save-always: false 2026-10-25T00:57:29.0149213Z env: 2026-10-25T00:57:29.0149355Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:29.0149531Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:29.0149704Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:29.0149863Z ##[endgroup] 2026-10-25T00:57:29.2203200Z Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-25T00:57:29.6125236Z Received 170349591 of 170349591 (100.0%), 436.7 MBs/sec 2026-10-25T00:57:29.6126023Z Cache Size: ~162 MB (170349591 B) 2026-10-25T00:57:29.6181008Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/26ade6e5-95b0-4569-b2ea-156e4b400178/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-25T00:57:30.2648800Z Cache restored successfully 2026-10-25T00:57:30.2836830Z Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0 2026-10-25T00:57:30.2917414Z ##[end-action id=__self_2.vp_cache;outcome=success;conclusion=success;duration_ms=1280] 2026-10-25T00:57:30.2920247Z ##[start-action display=Use cached Vite+;id=__self_2.__run] 2026-10-25T00:57:30.2955892Z ##[group]Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-25T00:57:30.2956123Z echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH" 2026-10-25T00:57:30.2956309Z "$HOME/.vite-plus/bin/vp" env use "26.12.1" 2026-10-25T00:57:30.2965693Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:57:30.2965870Z env: 2026-10-25T00:57:30.2965997Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:30.2966151Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:30.2966311Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:30.2966451Z ##[endgroup] 2026-10-25T00:57:30.3005930Z Using Node.js v26.12.1 (resolved from 26.12.1) 2026-10-25T00:57:30.3017490Z ##[end-action id=__self_2.__run;outcome=success;conclusion=success;duration_ms=9] 2026-10-25T00:57:30.3019573Z ##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp] 2026-10-25T00:57:30.3025651Z ##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-10-25T00:57:30.3027013Z ##[start-action display=Resolve pnpm store path;id=__self_2.pnpm_store] 2026-10-25T00:57:30.3039056Z ##[group]Run store_path="$(vp pm cache dir)" 2026-10-25T00:57:30.3039263Z store_path="$(vp pm cache dir)" 2026-10-25T00:57:30.3039439Z echo "path=$store_path" >> "$GITHUB_OUTPUT" 2026-10-25T00:57:30.3052044Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:57:30.3052237Z env: 2026-10-25T00:57:30.3052376Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:30.3052566Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:30.3052726Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:30.3052873Z ##[endgroup] 2026-10-25T00:57:30.3186596Z ##[end-action id=__self_2.pnpm_store;outcome=success;conclusion=success;duration_ms=15] 2026-10-25T00:57:30.3188335Z ##[start-action display=Cache full pnpm store;id=__self_2.__actions_cache] 2026-10-25T00:57:30.3600459Z ##[group]Run actions/cache@v6 2026-10-25T00:57:30.3600607Z with: 2026-10-25T00:57:30.3600750Z path: /home/runner/.local/share/pnpm/store/v11 2026-10-25T00:57:30.3601017Z key: pnpm-full-v1-Linux-X64-fe33cf74552d68b43bd4929ad8f74b63f776b4470e2e3533f781441d5e4f188c 2026-10-25T00:57:30.3601279Z restore-keys: pnpm-full-v1-Linux-X64- 2026-10-25T00:57:30.3601436Z enableCrossOsArchive: false 2026-10-25T00:57:30.3601576Z fail-on-cache-miss: false 2026-10-25T00:57:30.3601705Z lookup-only: false 2026-10-25T00:57:30.3601824Z save-always: false 2026-10-25T00:57:30.3601950Z env: 2026-10-25T00:57:30.3602063Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:30.3602226Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:30.3602373Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:30.3602527Z ##[endgroup] 2026-10-25T00:57:30.5690375Z Cache hit for: pnpm-full-v1-Linux-X64-fe33cf74552d68b43bd4929ad8f74b63f776b4470e2e3533f781441d5e4f188c 2026-10-25T00:57:31.6508844Z Received 671088640 of 996034848 (67.4%), 605.5 MBs/sec 2026-10-25T00:57:32.0893828Z Received 996034848 of 996034848 (100.0%), 635.0 MBs/sec 2026-10-25T00:57:32.0894202Z Cache Size: ~950 MB (996034848 B) 2026-10-25T00:57:32.0913360Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/2595185b-1d26-4eb6-97c3-aa521b8a4b1b/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-25T00:57:37.4144235Z Cache restored successfully 2026-10-25T00:57:37.4672320Z Cache restored from key: pnpm-full-v1-Linux-X64-fe33cf74552d68b43bd4929ad8f74b63f776b4470e2e3533f781441d5e4f188c 2026-10-25T00:57:37.4767197Z ##[end-action id=__self_2.__actions_cache;outcome=success;conclusion=success;duration_ms=7157] 2026-10-25T00:57:37.4769557Z ##[start-action display=Install dependencies;id=__self_2.__run_2] 2026-10-25T00:57:37.4780221Z ##[group]Run vp install 2026-10-25T00:57:37.4780367Z vp install 2026-10-25T00:57:37.4788940Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:57:37.4789111Z env: 2026-10-25T00:57:37.4789231Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:37.4789383Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:37.4789526Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:37.4789667Z ##[endgroup] 2026-10-25T00:57:37.5112877Z Scope: all 34 workspace projects 2026-10-25T00:57:37.6465096Z ? Verifying lockfile against supply-chain policies (2088 entries)... 2026-10-25T00:57:37.9177161Z Packages are hard linked from the content-addressable store to the virtual store. 2026-10-25T00:57:37.9178018Z Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11 2026-10-25T00:57:37.9218187Z Virtual store is at: node_modules/.pnpm 2026-10-25T00:57:40.3061350Z ✓ Lockfile passes supply-chain policies (2088 entries in 2.7s) 2026-10-25T00:57:40.3061670Z Lockfile is up to date, resolution step is skipped 2026-10-25T00:57:40.3224657Z Packages: +1721 2026-10-25T00:57:40.3224823Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2026-10-25T00:57:40.3520927Z Progress: resolved 1721, reused 1717, downloaded 0, added 1721, done 2026-10-25T00:57:41.2267319Z . prepare$ vp config --no-agent 2026-10-25T00:57:41.3173212Z . prepare: Done 2026-10-25T00:57:41.3187523Z 2026-10-25T00:57:41.3187685Z devDependencies: 2026-10-25T00:57:41.3187833Z + @coderabbitai/config 1.1.0 2026-10-25T00:57:41.3187972Z + @shadcn/lint 0.1.5 2026-10-25T00:57:41.3188113Z + @types/node 24.12.4 2026-10-25T00:57:41.3188237Z + knip 6.34.0 2026-10-25T00:57:41.3188377Z + typescript <- @tsc-rs/typescript 0.8.0 2026-10-25T00:57:41.3188516Z + vite-plus 1.3.0 2026-10-25T00:57:41.3188582Z 2026-10-25T00:57:41.3199994Z Done in 3.8s using pnpm v12.14.0 2026-10-25T00:57:41.3348999Z ##[end-action id=__self_2.__run_2;outcome=success;conclusion=success;duration_ms=3857] 2026-10-25T00:57:41.3796353Z ##[group]Run actions/cache@v6 2026-10-25T00:57:41.3796501Z with: 2026-10-25T00:57:41.3796670Z path: ~/.cache/electron 2026-10-25T00:57:41.3797022Z key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-25T00:57:41.3797304Z enableCrossOsArchive: false 2026-10-25T00:57:41.3797441Z fail-on-cache-miss: false 2026-10-25T00:57:41.3797567Z lookup-only: false 2026-10-25T00:57:41.3797685Z save-always: false 2026-10-25T00:57:41.3797795Z env: 2026-10-25T00:57:41.3797908Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:41.3798064Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:41.3798226Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:41.3798361Z ##[endgroup] 2026-10-25T00:57:41.5617811Z Cache hit for: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-25T00:57:41.7211179Z Received 122906203 of 122906203 (100.0%), 825.4 MBs/sec 2026-10-25T00:57:41.7211736Z Cache Size: ~117 MB (122906203 B) 2026-10-25T00:57:41.7252200Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/3de3a6e5-9ede-460a-8cf2-83128e06aad6/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-10-25T00:57:41.7967171Z Cache restored successfully 2026-10-25T00:57:41.8396116Z Cache restored from key: electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309 2026-10-25T00:57:41.8525932Z ##[group]Run vp run --filter @t3tools/desktop ensure:electron 2026-10-25T00:57:41.8526199Z vp run --filter @t3tools/desktop ensure:electron 2026-10-25T00:57:41.8535459Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:41.8535894Z env: 2026-10-25T00:57:41.8536060Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:41.8536266Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:41.8536422Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:41.8536563Z ##[endgroup] 2026-10-25T00:57:42.0419499Z ~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled 2026-10-25T00:57:42.6145972Z /home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.9.3_supports-color@8.1.1/node_modules/electron/dist/electron 2026-10-25T00:57:42.6162939Z 2026-10-25T00:57:42.6248142Z ##[group]Run ( 2026-10-25T00:57:42.6248291Z ( 2026-10-25T00:57:42.6248395Z  set +e 2026-10-25T00:57:42.6248520Z  vpr typecheck 2026-10-25T00:57:42.6248668Z  echo "$?" > "$RUNNER_TEMP/typecheck-status" 2026-10-25T00:57:42.6248873Z ) > "$RUNNER_TEMP/typecheck.log" 2>&1 < /dev/null & 2026-10-25T00:57:42.6258124Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:42.6258255Z env: 2026-10-25T00:57:42.6258367Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:42.6258518Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:42.6258663Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:42.6258799Z ##[endgroup] 2026-10-25T00:57:42.6293298Z ##[group]Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-25T00:57:42.6293569Z until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-10-25T00:57:42.6293763Z cat "$RUNNER_TEMP/apt.log" 2026-10-25T00:57:42.6293939Z exit "$(cat "$RUNNER_TEMP/apt-status")" 2026-10-25T00:57:42.6299743Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:42.6299876Z env: 2026-10-25T00:57:42.6299989Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:42.6300140Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:42.6300284Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:42.6300421Z ##[endgroup] 2026-10-25T00:57:42.6320890Z blacksmith: the apt mirror lists changed since the package indexes were staged; discarding the staged indexes 2026-10-25T00:57:42.6321200Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-25T00:57:42.6321454Z Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease 2026-10-25T00:57:42.6321727Z Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] 2026-10-25T00:57:42.6321986Z Get:8 https://dl.google.com/linux/chrome-stable/deb stable InRelease [2548 B] 2026-10-25T00:57:42.6322266Z Get:9 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [660 kB] 2026-10-25T00:57:42.6322559Z Get:10 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [598 kB] 2026-10-25T00:57:42.6322846Z Get:11 https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages [1411 B] 2026-10-25T00:57:42.6323100Z Get:2 https://archive.ubuntu.com/ubuntu noble InRelease [256 kB] 2026-10-25T00:57:42.6323336Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] 2026-10-25T00:57:42.6323576Z Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] 2026-10-25T00:57:42.6323820Z Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] 2026-10-25T00:57:42.6324067Z Get:12 https://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1401 kB] 2026-10-25T00:57:42.6324318Z Get:13 https://archive.ubuntu.com/ubuntu noble/main Translation-en [513 kB] 2026-10-25T00:57:42.6324567Z Get:14 https://archive.ubuntu.com/ubuntu noble/main amd64 Components [464 kB] 2026-10-25T00:57:42.6324825Z Get:15 https://archive.ubuntu.com/ubuntu noble/main amd64 c-n-f Metadata [30.5 kB] 2026-10-25T00:57:42.6325087Z Get:16 https://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [15.0 MB] 2026-10-25T00:57:42.6325339Z Get:17 https://archive.ubuntu.com/ubuntu noble/universe Translation-en [5982 kB] 2026-10-25T00:57:42.6325595Z Get:18 https://archive.ubuntu.com/ubuntu noble/universe amd64 Components [3871 kB] 2026-10-25T00:57:42.6325856Z Get:19 https://archive.ubuntu.com/ubuntu noble/universe amd64 c-n-f Metadata [301 kB] 2026-10-25T00:57:42.6326125Z Get:20 https://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [93.9 kB] 2026-10-25T00:57:42.6326433Z Get:21 https://archive.ubuntu.com/ubuntu noble/restricted Translation-en [18.7 kB] 2026-10-25T00:57:42.6326699Z Get:22 https://archive.ubuntu.com/ubuntu noble/restricted amd64 c-n-f Metadata [416 B] 2026-10-25T00:57:42.6326964Z Get:23 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [269 kB] 2026-10-25T00:57:42.6327224Z Get:24 https://archive.ubuntu.com/ubuntu noble/multiverse Translation-en [118 kB] 2026-10-25T00:57:42.6327491Z Get:25 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 Components [35.0 kB] 2026-10-25T00:57:42.6327764Z Get:26 https://archive.ubuntu.com/ubuntu noble/multiverse amd64 c-n-f Metadata [8328 B] 2026-10-25T00:57:42.6328038Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1400 kB] 2026-10-25T00:57:42.6328404Z Get:28 https://archive.ubuntu.com/ubuntu noble-updates/main Translation-en [310 kB] 2026-10-25T00:57:42.6328674Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] 2026-10-25T00:57:42.6329125Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [17.7 kB] 2026-10-25T00:57:42.6329410Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1706 kB] 2026-10-25T00:57:42.6329733Z Get:32 https://archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [342 kB] 2026-10-25T00:57:42.6330012Z Get:33 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] 2026-10-25T00:57:42.6330396Z Get:34 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [34.9 kB] 2026-10-25T00:57:42.6330690Z Get:35 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1805 kB] 2026-10-25T00:57:42.6330972Z Get:36 https://archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [411 kB] 2026-10-25T00:57:42.6331255Z Get:37 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B] 2026-10-25T00:57:42.6331547Z Get:38 https://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 c-n-f Metadata [456 B] 2026-10-25T00:57:42.6331840Z Get:39 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [50.7 kB] 2026-10-25T00:57:42.6332120Z Get:40 https://archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en [14.0 kB] 2026-10-25T00:57:42.6332406Z Get:41 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] 2026-10-25T00:57:42.6332696Z Get:42 https://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 c-n-f Metadata [656 B] 2026-10-25T00:57:42.6332984Z Get:43 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] 2026-10-25T00:57:42.6333257Z Get:44 https://archive.ubuntu.com/ubuntu noble-backports/main Translation-en [9172 B] 2026-10-25T00:57:42.6333537Z Get:45 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5764 B] 2026-10-25T00:57:42.6333817Z Get:46 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 c-n-f Metadata [368 B] 2026-10-25T00:57:42.6334102Z Get:47 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] 2026-10-25T00:57:42.6334382Z Get:48 https://archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] 2026-10-25T00:57:42.6334674Z Get:49 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] 2026-10-25T00:57:42.6334974Z Get:50 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 c-n-f Metadata [1588 B] 2026-10-25T00:57:42.6335279Z Get:51 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B] 2026-10-25T00:57:42.6335644Z Get:52 https://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 c-n-f Metadata [116 B] 2026-10-25T00:57:42.6335941Z Get:53 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [748 B] 2026-10-25T00:57:42.6336224Z Get:54 https://archive.ubuntu.com/ubuntu noble-backports/multiverse Translation-en [340 B] 2026-10-25T00:57:42.6336514Z Get:55 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B] 2026-10-25T00:57:42.6336811Z Get:56 https://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 c-n-f Metadata [116 B] 2026-10-25T00:57:42.6337097Z Get:57 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1146 kB] 2026-10-25T00:57:42.6337368Z Get:58 https://archive.ubuntu.com/ubuntu noble-security/main Translation-en [231 kB] 2026-10-25T00:57:42.6337641Z Get:59 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.4 kB] 2026-10-25T00:57:42.6337928Z Get:60 https://archive.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [11.9 kB] 2026-10-25T00:57:42.6338213Z Get:61 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1222 kB] 2026-10-25T00:57:42.6338495Z Get:62 https://archive.ubuntu.com/ubuntu noble-security/universe Translation-en [246 kB] 2026-10-25T00:57:42.6338780Z Get:63 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.3 kB] 2026-10-25T00:57:42.6339162Z Get:64 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [24.2 kB] 2026-10-25T00:57:42.6339456Z Get:65 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1713 kB] 2026-10-25T00:57:42.6339788Z Get:66 https://archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [392 kB] 2026-10-25T00:57:42.6340076Z Get:67 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B] 2026-10-25T00:57:42.6340430Z Get:68 https://archive.ubuntu.com/ubuntu noble-security/restricted amd64 c-n-f Metadata [444 B] 2026-10-25T00:57:42.6340729Z Get:69 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [45.4 kB] 2026-10-25T00:57:42.6341014Z Get:70 https://archive.ubuntu.com/ubuntu noble-security/multiverse Translation-en [12.1 kB] 2026-10-25T00:57:42.6341307Z Get:71 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B] 2026-10-25T00:57:42.6341599Z Get:72 https://archive.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [468 B] 2026-10-25T00:57:42.6341832Z Fetched 42.0 MB in 3s (14.2 MB/s) 2026-10-25T00:57:42.6341977Z Reading package lists... 2026-10-25T00:57:42.6342102Z Reading package lists... 2026-10-25T00:57:42.6342225Z Building dependency tree... 2026-10-25T00:57:42.6342361Z Reading state information... 2026-10-25T00:57:42.6342519Z pkg-config is already the newest version (1.8.1-2build1). 2026-10-25T00:57:42.6342710Z The following additional packages will be installed: 2026-10-25T00:57:42.6342918Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 gir1.2-secret-1 2026-10-25T00:57:42.6343146Z libblkid-dev libblkid1 libfdisk1 libgcrypt20 libgcrypt20-dev 2026-10-25T00:57:42.6343375Z libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-bin libglib2.0-data 2026-10-25T00:57:42.6343619Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev libmount1 2026-10-25T00:57:42.6343873Z libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libsmartcols1 2026-10-25T00:57:42.6344085Z libuuid1 mount util-linux uuid-dev uuid-runtime 2026-10-25T00:57:42.6344243Z Suggested packages: 2026-10-25T00:57:42.6344404Z rng-tools libgcrypt20-doc low-memory-monitor gir1.2-glib-2.0-dev 2026-10-25T00:57:42.6344646Z libglib2.0-doc libxml2-utils nfs-common util-linux-extra util-linux-locales 2026-10-25T00:57:42.6344856Z The following NEW packages will be installed: 2026-10-25T00:57:42.6345057Z gir1.2-secret-1 libblkid-dev libgcrypt20-dev libgirepository-2.0-0 2026-10-25T00:57:42.6345285Z libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev 2026-10-25T00:57:42.6345524Z libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev libsepol-dev 2026-10-25T00:57:42.6345725Z uuid-dev 2026-10-25T00:57:42.6345841Z The following packages will be upgraded: 2026-10-25T00:57:42.6346037Z bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 libblkid1 libfdisk1 2026-10-25T00:57:42.6346273Z libgcrypt20 libglib2.0-0t64 libglib2.0-bin libglib2.0-data libmount1 2026-10-25T00:57:42.6346485Z libsmartcols1 libuuid1 mount util-linux uuid-runtime 2026-10-25T00:57:42.6346687Z 17 upgraded, 14 newly installed, 0 to remove and 241 not upgraded. 2026-10-25T00:57:42.6346866Z Need to get 8378 kB of archives. 2026-10-25T00:57:42.6347039Z After this operation, 23.0 MB of additional disk space will be used. 2026-10-25T00:57:42.6347263Z Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B] 2026-10-25T00:57:42.6347556Z Get:2 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdutils amd64 1:2.39.3-9ubuntu6.6 [96.4 kB] 2026-10-25T00:57:42.6347901Z Get:3 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 util-linux amd64 2.39.3-9ubuntu6.6 [1128 kB] 2026-10-25T00:57:42.6348243Z Get:4 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 mount amd64 2.39.3-9ubuntu6.6 [118 kB] 2026-10-25T00:57:42.6348579Z Get:5 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu6.6 [66.3 kB] 2026-10-25T00:57:42.6348996Z Get:6 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libuuid1 amd64 2.39.3-9ubuntu6.6 [36.6 kB] 2026-10-25T00:57:42.6349397Z Get:7 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-runtime amd64 2.39.3-9ubuntu6.6 [33.1 kB] 2026-10-25T00:57:42.6349776Z Get:8 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid1 amd64 2.39.3-9ubuntu6.6 [124 kB] 2026-10-25T00:57:42.6350115Z Get:9 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20 amd64 1.10.3-2ubuntu0.2 [536 kB] 2026-10-25T00:57:42.6350503Z Get:10 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount1 amd64 2.39.3-9ubuntu6.6 [134 kB] 2026-10-25T00:57:42.6350841Z Get:11 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 eject amd64 2.39.3-9ubuntu6.6 [26.3 kB] 2026-10-25T00:57:42.6351187Z 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-25T00:57:42.6351551Z 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-25T00:57:42.6351910Z 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-25T00:57:42.6352270Z Get:15 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-0t64 amd64 2.80.0-6ubuntu3.10 [1548 kB] 2026-10-25T00:57:42.6352616Z Get:16 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libfdisk1 amd64 2.39.3-9ubuntu6.6 [146 kB] 2026-10-25T00:57:42.6352967Z Get:17 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdextrautils amd64 2.39.3-9ubuntu6.6 [73.7 kB] 2026-10-25T00:57:42.6353304Z Get:18 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 fdisk amd64 2.39.3-9ubuntu6.6 [122 kB] 2026-10-25T00:57:42.6353625Z Get:19 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-common all 0.21.4-1build3 [4962 B] 2026-10-25T00:57:42.6353939Z Get:20 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-1-0 amd64 0.21.4-1build3 [116 kB] 2026-10-25T00:57:42.6354261Z Get:21 https://archive.ubuntu.com/ubuntu noble/main amd64 gir1.2-secret-1 amd64 0.21.4-1build3 [9424 B] 2026-10-25T00:57:42.6354593Z Get:22 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgpg-error-dev amd64 1.47-3build2.1 [128 kB] 2026-10-25T00:57:42.6354950Z Get:23 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20-dev amd64 1.10.3-2ubuntu0.2 [596 kB] 2026-10-25T00:57:42.6355322Z 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-25T00:57:42.6355699Z 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-25T00:57:42.6356049Z Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.6 [33.5 kB] 2026-10-25T00:57:42.6356392Z Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.6 [205 kB] 2026-10-25T00:57:42.6356720Z Get:28 https://archive.ubuntu.com/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB] 2026-10-25T00:57:42.6357049Z Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB] 2026-10-25T00:57:42.6357395Z Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.6 [14.9 kB] 2026-10-25T00:57:42.6357748Z Get:31 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.10 [1861 kB] 2026-10-25T00:57:42.6358090Z Get:32 https://archive.ubuntu.com/ubuntu noble/universe amd64 libsecret-1-dev amd64 0.21.4-1build3 [129 kB] 2026-10-25T00:57:42.6358334Z Fetched 8378 kB in 1s (11.6 MB/s) 2026-10-25T00:57:42.6358472Z (Reading database ... 2026-10-25T00:57:42.6358596Z (Reading database ... 5% 2026-10-25T00:57:42.6358717Z (Reading database ... 10% 2026-10-25T00:57:42.6358840Z (Reading database ... 15% 2026-10-25T00:57:42.6358960Z (Reading database ... 20% 2026-10-25T00:57:42.6359076Z (Reading database ... 25% 2026-10-25T00:57:42.6359197Z (Reading database ... 30% 2026-10-25T00:57:42.6359374Z (Reading database ... 35% 2026-10-25T00:57:42.6359494Z (Reading database ... 40% 2026-10-25T00:57:42.6359629Z (Reading database ... 45% 2026-10-25T00:57:42.6359745Z (Reading database ... 50% 2026-10-25T00:57:42.6359865Z (Reading database ... 55% 2026-10-25T00:57:42.6359983Z (Reading database ... 60% 2026-10-25T00:57:42.6360155Z (Reading database ... 65% 2026-10-25T00:57:42.6360272Z (Reading database ... 70% 2026-10-25T00:57:42.6360396Z (Reading database ... 75% 2026-10-25T00:57:42.6360515Z (Reading database ... 80% 2026-10-25T00:57:42.6360631Z (Reading database ... 85% 2026-10-25T00:57:42.6360753Z (Reading database ... 90% 2026-10-25T00:57:42.6360869Z (Reading database ... 95% 2026-10-25T00:57:42.6360992Z (Reading database ... 100% 2026-10-25T00:57:42.6361165Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6361398Z Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6361625Z Unpacking bsdutils (1:2.39.3-9ubuntu6.6) over (1:2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6361821Z Setting up bsdutils (1:2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6361966Z (Reading database ... 2026-10-25T00:57:42.6362082Z (Reading database ... 5% 2026-10-25T00:57:42.6362202Z (Reading database ... 10% 2026-10-25T00:57:42.6362319Z (Reading database ... 15% 2026-10-25T00:57:42.6362439Z (Reading database ... 20% 2026-10-25T00:57:42.6362554Z (Reading database ... 25% 2026-10-25T00:57:42.6362675Z (Reading database ... 30% 2026-10-25T00:57:42.6362791Z (Reading database ... 35% 2026-10-25T00:57:42.6362906Z (Reading database ... 40% 2026-10-25T00:57:42.6363022Z (Reading database ... 45% 2026-10-25T00:57:42.6363139Z (Reading database ... 50% 2026-10-25T00:57:42.6363258Z (Reading database ... 55% 2026-10-25T00:57:42.6363373Z (Reading database ... 60% 2026-10-25T00:57:42.6363491Z (Reading database ... 65% 2026-10-25T00:57:42.6363606Z (Reading database ... 70% 2026-10-25T00:57:42.6363720Z (Reading database ... 75% 2026-10-25T00:57:42.6363838Z (Reading database ... 80% 2026-10-25T00:57:42.6363952Z (Reading database ... 85% 2026-10-25T00:57:42.6364070Z (Reading database ... 90% 2026-10-25T00:57:42.6364186Z (Reading database ... 95% 2026-10-25T00:57:42.6364307Z (Reading database ... 100% 2026-10-25T00:57:42.6364475Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6364704Z Preparing to unpack .../util-linux_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6364925Z Unpacking util-linux (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6365115Z Setting up util-linux (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6365387Z update-alternatives: warning: forcing reinstallation of alternative /usr/bin/less because link group pager is broken 2026-10-25T00:57:42.6365836Z 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-25T00:57:42.6366220Z fstrim.service is a disabled or a static unit not running, not starting it. 2026-10-25T00:57:42.6366408Z (Reading database ... 2026-10-25T00:57:42.6366529Z (Reading database ... 5% 2026-10-25T00:57:42.6366649Z (Reading database ... 10% 2026-10-25T00:57:42.6366769Z (Reading database ... 15% 2026-10-25T00:57:42.6366886Z (Reading database ... 20% 2026-10-25T00:57:42.6367007Z (Reading database ... 25% 2026-10-25T00:57:42.6367121Z (Reading database ... 30% 2026-10-25T00:57:42.6367243Z (Reading database ... 35% 2026-10-25T00:57:42.6367361Z (Reading database ... 40% 2026-10-25T00:57:42.6367477Z (Reading database ... 45% 2026-10-25T00:57:42.6367597Z (Reading database ... 50% 2026-10-25T00:57:42.6367712Z (Reading database ... 55% 2026-10-25T00:57:42.6367832Z (Reading database ... 60% 2026-10-25T00:57:42.6367948Z (Reading database ... 65% 2026-10-25T00:57:42.6368064Z (Reading database ... 70% 2026-10-25T00:57:42.6368180Z (Reading database ... 75% 2026-10-25T00:57:42.6368295Z (Reading database ... 80% 2026-10-25T00:57:42.6368413Z (Reading database ... 85% 2026-10-25T00:57:42.6368584Z (Reading database ... 90% 2026-10-25T00:57:42.6368704Z (Reading database ... 95% 2026-10-25T00:57:42.6368821Z (Reading database ... 100% 2026-10-25T00:57:42.6368986Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6369209Z Preparing to unpack .../mount_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6369471Z Unpacking mount (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6369724Z Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6369970Z Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6370203Z Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6370365Z (Reading database ... 2026-10-25T00:57:42.6370489Z (Reading database ... 5% 2026-10-25T00:57:42.6370613Z (Reading database ... 10% 2026-10-25T00:57:42.6370739Z (Reading database ... 15% 2026-10-25T00:57:42.6370861Z (Reading database ... 20% 2026-10-25T00:57:42.6370982Z (Reading database ... 25% 2026-10-25T00:57:42.6371105Z (Reading database ... 30% 2026-10-25T00:57:42.6371223Z (Reading database ... 35% 2026-10-25T00:57:42.6371345Z (Reading database ... 40% 2026-10-25T00:57:42.6371464Z (Reading database ... 45% 2026-10-25T00:57:42.6371588Z (Reading database ... 50% 2026-10-25T00:57:42.6371709Z (Reading database ... 55% 2026-10-25T00:57:42.6371831Z (Reading database ... 60% 2026-10-25T00:57:42.6371953Z (Reading database ... 65% 2026-10-25T00:57:42.6372070Z (Reading database ... 70% 2026-10-25T00:57:42.6372193Z (Reading database ... 75% 2026-10-25T00:57:42.6372312Z (Reading database ... 80% 2026-10-25T00:57:42.6372436Z (Reading database ... 85% 2026-10-25T00:57:42.6372555Z (Reading database ... 90% 2026-10-25T00:57:42.6372676Z (Reading database ... 95% 2026-10-25T00:57:42.6372798Z (Reading database ... 100% 2026-10-25T00:57:42.6372970Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6373201Z Preparing to unpack .../libuuid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6373427Z Unpacking libuuid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6373633Z Setting up libuuid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6373787Z (Reading database ... 2026-10-25T00:57:42.6373908Z (Reading database ... 5% 2026-10-25T00:57:42.6374034Z (Reading database ... 10% 2026-10-25T00:57:42.6374154Z (Reading database ... 15% 2026-10-25T00:57:42.6374274Z (Reading database ... 20% 2026-10-25T00:57:42.6374392Z (Reading database ... 25% 2026-10-25T00:57:42.6374512Z (Reading database ... 30% 2026-10-25T00:57:42.6374632Z (Reading database ... 35% 2026-10-25T00:57:42.6374752Z (Reading database ... 40% 2026-10-25T00:57:42.6374871Z (Reading database ... 45% 2026-10-25T00:57:42.6374987Z (Reading database ... 50% 2026-10-25T00:57:42.6375108Z (Reading database ... 55% 2026-10-25T00:57:42.6375225Z (Reading database ... 60% 2026-10-25T00:57:42.6375961Z (Reading database ... 65% 2026-10-25T00:57:42.6376087Z (Reading database ... 70% 2026-10-25T00:57:42.6376210Z (Reading database ... 75% 2026-10-25T00:57:42.6376329Z (Reading database ... 80% 2026-10-25T00:57:42.6376447Z (Reading database ... 85% 2026-10-25T00:57:42.6376570Z (Reading database ... 90% 2026-10-25T00:57:42.6376690Z (Reading database ... 95% 2026-10-25T00:57:42.6376817Z (Reading database ... 100% 2026-10-25T00:57:42.6376987Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6377222Z Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6377452Z Unpacking uuid-runtime (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6377678Z Preparing to unpack .../libblkid1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6377905Z Unpacking libblkid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6378111Z Setting up libblkid1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6378272Z (Reading database ... 2026-10-25T00:57:42.6378488Z (Reading database ... 5% 2026-10-25T00:57:42.6378613Z (Reading database ... 10% 2026-10-25T00:57:42.6378735Z (Reading database ... 15% 2026-10-25T00:57:42.6378856Z (Reading database ... 20% 2026-10-25T00:57:42.6378976Z (Reading database ... 25% 2026-10-25T00:57:42.6379097Z (Reading database ... 30% 2026-10-25T00:57:42.6379217Z (Reading database ... 35% 2026-10-25T00:57:42.6379401Z (Reading database ... 40% 2026-10-25T00:57:42.6379561Z (Reading database ... 45% 2026-10-25T00:57:42.6379681Z (Reading database ... 50% 2026-10-25T00:57:42.6379804Z (Reading database ... 55% 2026-10-25T00:57:42.6379925Z (Reading database ... 60% 2026-10-25T00:57:42.6380050Z (Reading database ... 65% 2026-10-25T00:57:42.6380172Z (Reading database ... 70% 2026-10-25T00:57:42.6380292Z (Reading database ... 75% 2026-10-25T00:57:42.6380417Z (Reading database ... 80% 2026-10-25T00:57:42.6380536Z (Reading database ... 85% 2026-10-25T00:57:42.6380658Z (Reading database ... 90% 2026-10-25T00:57:42.6380778Z (Reading database ... 95% 2026-10-25T00:57:42.6380907Z (Reading database ... 100% 2026-10-25T00:57:42.6381083Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6381319Z Preparing to unpack .../libgcrypt20_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-25T00:57:42.6381564Z Unpacking libgcrypt20:amd64 (1.10.3-2ubuntu0.2) over (1.10.3-2ubuntu0.1) ... 2026-10-25T00:57:42.6381788Z Setting up libgcrypt20:amd64 (1.10.3-2ubuntu0.2) ... 2026-10-25T00:57:42.6381956Z (Reading database ... 2026-10-25T00:57:42.6382078Z (Reading database ... 5% 2026-10-25T00:57:42.6382206Z (Reading database ... 10% 2026-10-25T00:57:42.6382331Z (Reading database ... 15% 2026-10-25T00:57:42.6382454Z (Reading database ... 20% 2026-10-25T00:57:42.6382575Z (Reading database ... 25% 2026-10-25T00:57:42.6382697Z (Reading database ... 30% 2026-10-25T00:57:42.6382821Z (Reading database ... 35% 2026-10-25T00:57:42.6382943Z (Reading database ... 40% 2026-10-25T00:57:42.6383066Z (Reading database ... 45% 2026-10-25T00:57:42.6383187Z (Reading database ... 50% 2026-10-25T00:57:42.6383310Z (Reading database ... 55% 2026-10-25T00:57:42.6383430Z (Reading database ... 60% 2026-10-25T00:57:42.6383550Z (Reading database ... 65% 2026-10-25T00:57:42.6383674Z (Reading database ... 70% 2026-10-25T00:57:42.6383796Z (Reading database ... 75% 2026-10-25T00:57:42.6383920Z (Reading database ... 80% 2026-10-25T00:57:42.6384041Z (Reading database ... 85% 2026-10-25T00:57:42.6384165Z (Reading database ... 90% 2026-10-25T00:57:42.6384284Z (Reading database ... 95% 2026-10-25T00:57:42.6384409Z (Reading database ... 100% 2026-10-25T00:57:42.6384583Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6384810Z Preparing to unpack .../libmount1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6385047Z Unpacking libmount1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6385260Z Setting up libmount1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6385419Z (Reading database ... 2026-10-25T00:57:42.6385541Z (Reading database ... 5% 2026-10-25T00:57:42.6385666Z (Reading database ... 10% 2026-10-25T00:57:42.6385788Z (Reading database ... 15% 2026-10-25T00:57:42.6385909Z (Reading database ... 20% 2026-10-25T00:57:42.6386034Z (Reading database ... 25% 2026-10-25T00:57:42.6386154Z (Reading database ... 30% 2026-10-25T00:57:42.6386279Z (Reading database ... 35% 2026-10-25T00:57:42.6386400Z (Reading database ... 40% 2026-10-25T00:57:42.6386524Z (Reading database ... 45% 2026-10-25T00:57:42.6386644Z (Reading database ... 50% 2026-10-25T00:57:42.6386765Z (Reading database ... 55% 2026-10-25T00:57:42.6386891Z (Reading database ... 60% 2026-10-25T00:57:42.6387011Z (Reading database ... 65% 2026-10-25T00:57:42.6387142Z (Reading database ... 70% 2026-10-25T00:57:42.6387264Z (Reading database ... 75% 2026-10-25T00:57:42.6387387Z (Reading database ... 80% 2026-10-25T00:57:42.6387510Z (Reading database ... 85% 2026-10-25T00:57:42.6387632Z (Reading database ... 90% 2026-10-25T00:57:42.6387757Z (Reading database ... 95% 2026-10-25T00:57:42.6387936Z (Reading database ... 100% 2026-10-25T00:57:42.6388117Z (Reading database ... 207973 files and directories currently installed.) 2026-10-25T00:57:42.6388346Z Preparing to unpack .../00-eject_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6388568Z Unpacking eject (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6388854Z Preparing to unpack .../01-libglib2.0-data_2.80.0-6ubuntu3.10_all.deb ... 2026-10-25T00:57:42.6389109Z Unpacking libglib2.0-data (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-25T00:57:42.6389359Z Preparing to unpack .../02-libglib2.0-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-25T00:57:42.6389637Z Unpacking libglib2.0-bin (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-25T00:57:42.6389882Z Preparing to unpack .../03-gir1.2-glib-2.0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-25T00:57:42.6390140Z Unpacking gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-25T00:57:42.6390396Z Preparing to unpack .../04-libglib2.0-0t64_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-25T00:57:42.6390651Z Unpacking libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ... 2026-10-25T00:57:42.6390904Z Preparing to unpack .../05-libfdisk1_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6391141Z Unpacking libfdisk1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6391389Z Preparing to unpack .../06-bsdextrautils_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6391632Z Unpacking bsdextrautils (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6391863Z Preparing to unpack .../07-fdisk_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6392077Z Unpacking fdisk (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ... 2026-10-25T00:57:42.6392295Z Selecting previously unselected package libsecret-common. 2026-10-25T00:57:42.6392529Z Preparing to unpack .../08-libsecret-common_0.21.4-1build3_all.deb ... 2026-10-25T00:57:42.6392739Z Unpacking libsecret-common (0.21.4-1build3) ... 2026-10-25T00:57:42.6392940Z Selecting previously unselected package libsecret-1-0:amd64. 2026-10-25T00:57:42.6393169Z Preparing to unpack .../09-libsecret-1-0_0.21.4-1build3_amd64.deb ... 2026-10-25T00:57:42.6393374Z Unpacking libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-25T00:57:42.6393574Z Selecting previously unselected package gir1.2-secret-1:amd64. 2026-10-25T00:57:42.6393810Z Preparing to unpack .../10-gir1.2-secret-1_0.21.4-1build3_amd64.deb ... 2026-10-25T00:57:42.6394065Z Unpacking gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-25T00:57:42.6394273Z Selecting previously unselected package libgpg-error-dev. 2026-10-25T00:57:42.6394502Z Preparing to unpack .../11-libgpg-error-dev_1.47-3build2.1_amd64.deb ... 2026-10-25T00:57:42.6394712Z Unpacking libgpg-error-dev (1.47-3build2.1) ... 2026-10-25T00:57:42.6394901Z Selecting previously unselected package libgcrypt20-dev. 2026-10-25T00:57:42.6395128Z Preparing to unpack .../12-libgcrypt20-dev_1.10.3-2ubuntu0.2_amd64.deb ... 2026-10-25T00:57:42.6395345Z Unpacking libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-25T00:57:42.6395562Z Selecting previously unselected package libgirepository-2.0-0:amd64. 2026-10-25T00:57:42.6395821Z Preparing to unpack .../13-libgirepository-2.0-0_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-25T00:57:42.6396072Z Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6396295Z Selecting previously unselected package libglib2.0-dev-bin. 2026-10-25T00:57:42.6396535Z Preparing to unpack .../14-libglib2.0-dev-bin_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-25T00:57:42.6396763Z Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6396963Z Selecting previously unselected package uuid-dev:amd64. 2026-10-25T00:57:42.6397180Z Preparing to unpack .../15-uuid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6397382Z Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6397584Z Selecting previously unselected package libblkid-dev:amd64. 2026-10-25T00:57:42.6397860Z Preparing to unpack .../16-libblkid-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6398075Z Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6398277Z Selecting previously unselected package libsepol-dev:amd64. 2026-10-25T00:57:42.6398501Z Preparing to unpack .../17-libsepol-dev_3.5-2build1_amd64.deb ... 2026-10-25T00:57:42.6409749Z Unpacking libsepol-dev:amd64 (3.5-2build1) ... 2026-10-25T00:57:42.6409962Z Selecting previously unselected package libselinux1-dev:amd64. 2026-10-25T00:57:42.6410205Z Preparing to unpack .../18-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ... 2026-10-25T00:57:42.6410420Z Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-25T00:57:42.6410623Z Selecting previously unselected package libmount-dev:amd64. 2026-10-25T00:57:42.6410845Z Preparing to unpack .../19-libmount-dev_2.39.3-9ubuntu6.6_amd64.deb ... 2026-10-25T00:57:42.6411054Z Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6411254Z Selecting previously unselected package libglib2.0-dev:amd64. 2026-10-25T00:57:42.6411491Z Preparing to unpack .../20-libglib2.0-dev_2.80.0-6ubuntu3.10_amd64.deb ... 2026-10-25T00:57:42.6411710Z Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6411916Z Selecting previously unselected package libsecret-1-dev:amd64. 2026-10-25T00:57:42.6412147Z Preparing to unpack .../21-libsecret-1-dev_0.21.4-1build3_amd64.deb ... 2026-10-25T00:57:42.6412356Z Unpacking libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-25T00:57:42.6412534Z Setting up bsdextrautils (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6412699Z Setting up eject (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6412872Z Setting up libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6413058Z Setting up libglib2.0-data (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6413234Z Setting up libgpg-error-dev (1.47-3build2.1) ... 2026-10-25T00:57:42.6413405Z Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6413578Z Setting up libsepol-dev:amd64 (3.5-2build1) ... 2026-10-25T00:57:42.6413763Z Setting up gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6413946Z Setting up libfdisk1:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6414113Z Setting up mount (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6414272Z Setting up uuid-runtime (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6414485Z uuidd.service is a disabled or a static unit not running, not starting it. 2026-10-25T00:57:42.6414698Z Setting up libsecret-common (0.21.4-1build3) ... 2026-10-25T00:57:42.6414880Z Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6415063Z Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6415264Z Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6415661Z Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ... 2026-10-25T00:57:42.6415840Z Setting up libglib2.0-bin (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6416004Z Setting up fdisk (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6416166Z Setting up libsecret-1-0:amd64 (0.21.4-1build3) ... 2026-10-25T00:57:42.6416348Z Setting up gir1.2-secret-1:amd64 (0.21.4-1build3) ... 2026-10-25T00:57:42.6416524Z Setting up libgcrypt20-dev (1.10.3-2ubuntu0.2) ... 2026-10-25T00:57:42.6416702Z Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.6) ... 2026-10-25T00:57:42.6416886Z Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ... 2026-10-25T00:57:42.6417075Z Setting up libsecret-1-dev:amd64 (0.21.4-1build3) ... 2026-10-25T00:57:42.6417259Z Processing triggers for libc-bin (2.39-0ubuntu8.8) ... 2026-10-25T00:57:42.6417444Z Processing triggers for man-db (2.12.0-4build2) ... 2026-10-25T00:57:42.6417631Z Not building database; man-db/auto-update is not 'true'. 2026-10-25T00:57:42.6417826Z Processing triggers for install-info (7.1-3build2) ... 2026-10-25T00:57:42.6417943Z 2026-10-25T00:57:42.6417997Z Restarting services... 2026-10-25T00:57:42.6418622Z systemctl restart irqbalance.service packagekit.service php8.3-fpm.service polkit.service rsyslog.service systemd-journald.service systemd-manager.service systemd-networkd.service systemd-resolved.service systemd-timedated.service systemd-udevd.service udisks2.service 2026-10-25T00:57:42.6419238Z Failed to restart systemd-manager.service: Unit systemd-manager.service not found. 2026-10-25T00:57:42.6419409Z 2026-10-25T00:57:42.6419466Z Service restarts being deferred: 2026-10-25T00:57:42.6419713Z systemctl restart ModemManager.service 2026-10-25T00:57:42.6419865Z systemctl restart dbus.service 2026-10-25T00:57:42.6420009Z systemctl restart getty@tty1.service 2026-10-25T00:57:42.6420172Z systemctl restart networkd-dispatcher.service 2026-10-25T00:57:42.6420347Z systemctl restart serial-getty@ttyS0.service 2026-10-25T00:57:42.6420522Z systemctl restart setup_and_run_blacksmith.service 2026-10-25T00:57:42.6420691Z systemctl restart systemd-logind.service 2026-10-25T00:57:42.6420789Z 2026-10-25T00:57:42.6420846Z No containers need to be restarted. 2026-10-25T00:57:42.6420939Z 2026-10-25T00:57:42.6420997Z User sessions running outdated binaries: 2026-10-25T00:57:42.6421154Z runner @ user manager service: systemd[1844] 2026-10-25T00:57:42.6421257Z 2026-10-25T00:57:42.6421358Z No VM guests are running outdated hypervisor (qemu) binaries on this host. 2026-10-25T00:57:42.6437566Z ##[group]Run vp run build:desktop 2026-10-25T00:57:42.6437736Z vp run build:desktop 2026-10-25T00:57:42.6443739Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:42.6443863Z env: 2026-10-25T00:57:42.6443976Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:42.6444123Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:42.6444270Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:42.6444405Z ##[endgroup] 2026-10-25T00:57:42.8815559Z ~/apps/web$ vp build ⊘ cache disabled 2026-10-25T00:57:43.6815535Z transforming... 2026-10-25T00:57:48.4857881Z ✓ 6675 modules transformed. 2026-10-25T00:57:49.5639576Z rendering chunks... 2026-10-25T00:57:53.4536506Z computing gzip size... 2026-10-25T00:57:53.5218424Z dist/assets/ghostty-write-pty-hgyAvVbe.wasm 0.11 kB │ gzip: 0.12 kB 2026-10-25T00:57:53.5219420Z dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB 2026-10-25T00:57:53.5219883Z dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB 2026-10-25T00:57:53.5220380Z dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB 2026-10-25T00:57:53.5220849Z dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB 2026-10-25T00:57:53.5221379Z dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB 2026-10-25T00:57:53.5221837Z dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB 2026-10-25T00:57:53.5222240Z dist/assets/snap-shot-click-CJiuxMEv.mp3 6.38 kB 2026-10-25T00:57:53.5222731Z dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB 2026-10-25T00:57:53.5223192Z dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB 2026-10-25T00:57:53.5223624Z dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB 2026-10-25T00:57:53.5224122Z dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB 2026-10-25T00:57:53.5224688Z dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB 2026-10-25T00:57:53.5225187Z dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB 2026-10-25T00:57:53.5225686Z dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB 2026-10-25T00:57:53.5226097Z dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB 2026-10-25T00:57:53.5226600Z dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB 2026-10-25T00:57:53.5227039Z dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB 2026-10-25T00:57:53.5227455Z dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB 2026-10-25T00:57:53.5227920Z dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB 2026-10-25T00:57:53.5228236Z dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB 2026-10-25T00:57:53.5228547Z dist/assets/notification-input-BJS4voY1.mp3 11.63 kB 2026-10-25T00:57:53.5228860Z dist/assets/notification-completion-vyCCbYsz.mp3 11.94 kB 2026-10-25T00:57:53.5229211Z dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB 2026-10-25T00:57:53.5229522Z dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB 2026-10-25T00:57:53.5229826Z dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB 2026-10-25T00:57:53.5230137Z dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB 2026-10-25T00:57:53.5230448Z dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB 2026-10-25T00:57:53.5230789Z dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB 2026-10-25T00:57:53.5231097Z dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB 2026-10-25T00:57:53.5231407Z dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB 2026-10-25T00:57:53.5231716Z dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB 2026-10-25T00:57:53.5232029Z dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB 2026-10-25T00:57:53.5232339Z dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB 2026-10-25T00:57:53.5232648Z dist/assets/snap-shot-whoosh-CQZ59XJc.mp3 15.02 kB 2026-10-25T00:57:53.5232953Z dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB 2026-10-25T00:57:53.5233264Z dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB 2026-10-25T00:57:53.5233569Z dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB 2026-10-25T00:57:53.5233878Z dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB 2026-10-25T00:57:53.5234184Z dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB 2026-10-25T00:57:53.5234492Z dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB 2026-10-25T00:57:53.5234799Z dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB 2026-10-25T00:57:53.5235101Z dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB 2026-10-25T00:57:53.5235404Z dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB 2026-10-25T00:57:53.5235717Z dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB 2026-10-25T00:57:53.5236117Z dist/index.html 19.49 kB │ gzip: 5.03 kB 2026-10-25T00:57:53.5236426Z dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB 2026-10-25T00:57:53.5236749Z dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB 2026-10-25T00:57:53.5237053Z dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB 2026-10-25T00:57:53.5237356Z dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB 2026-10-25T00:57:53.5238035Z dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB 2026-10-25T00:57:53.5238724Z dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB 2026-10-25T00:57:53.5239059Z dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB 2026-10-25T00:57:53.5239385Z dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB 2026-10-25T00:57:53.5241264Z dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB 2026-10-25T00:57:53.5241577Z dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB 2026-10-25T00:57:53.5241884Z dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB 2026-10-25T00:57:53.5242190Z dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB 2026-10-25T00:57:53.5242494Z dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB 2026-10-25T00:57:53.5242796Z dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB 2026-10-25T00:57:53.5243110Z dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB 2026-10-25T00:57:53.5243418Z dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB 2026-10-25T00:57:53.5243721Z dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB 2026-10-25T00:57:53.5244022Z dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB 2026-10-25T00:57:53.5244328Z dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB 2026-10-25T00:57:53.5244748Z dist/.vite/manifest.json 292.12 kB │ gzip: 30.52 kB 2026-10-25T00:57:53.5245130Z dist/assets/ghostty-vt-DdA0Zryv.wasm 630.93 kB │ gzip: 187.91 kB 2026-10-25T00:57:53.5245481Z dist/assets/worker-3-uhxiAg.js 836.41 kB 2026-10-25T00:57:53.5245841Z dist/third-party-licenses.json 852.62 kB │ gzip: 102.38 kB 2026-10-25T00:57:53.5246181Z dist/assets/SymbolsNerdFontMono-Regular-aK5vsLov.woff2 1,177.57 kB 2026-10-25T00:57:53.5246502Z dist/assets/ipad-pro-13-m5-DCWznkpd.glb 1,815.87 kB 2026-10-25T00:57:53.5246815Z dist/assets/ipad-pro-13-m5-magic-keyboard-l8da3bBi.glb 2,341.88 kB 2026-10-25T00:57:53.5247129Z dist/assets/iphone-18-pro-max-B3H2Zbeg.glb 2,399.02 kB 2026-10-25T00:57:53.5247431Z dist/assets/iphone-18-pro-Crheuaz9.glb 2,422.54 kB 2026-10-25T00:57:53.5247736Z dist/assets/iphone-duo-Cu4Xx1NH.glb 3,097.72 kB 2026-10-25T00:57:53.5248096Z dist/assets/MathTypeset-DEcVZfaU.css 28.83 kB │ gzip: 7.92 kB 2026-10-25T00:57:53.5248478Z dist/assets/main-DWXnz41v.css 528.06 kB │ gzip: 70.81 kB 2026-10-25T00:57:53.5248850Z dist/assets/JZOYTAAL-BArEEN7n.js 0.05 kB │ gzip: 0.07 kB 2026-10-25T00:57:53.5249442Z dist/assets/_chat.draft._draftId-DJ7LAi8J.js 0.09 kB │ gzip: 0.11 kB │ map: 0.55 kB 2026-10-25T00:57:53.5250288Z dist/assets/legalLinks-BaIJY52l.js 0.10 kB │ gzip: 0.12 kB │ map: 0.24 kB 2026-10-25T00:57:53.5250893Z dist/assets/_chat._environmentId._threadId-DJ7LAi8J.js 0.10 kB │ gzip: 0.12 kB │ map: 0.57 kB 2026-10-25T00:57:53.5251453Z dist/assets/minus-DvZBHEtU.js 0.15 kB │ gzip: 0.16 kB │ map: 0.79 kB 2026-10-25T00:57:53.5251964Z dist/assets/circle-O_62Kz6M.js 0.16 kB │ gzip: 0.16 kB │ map: 0.84 kB 2026-10-25T00:57:53.5252487Z dist/assets/chevron-up-D-eqv5xz.js 0.16 kB │ gzip: 0.16 kB │ map: 0.83 kB 2026-10-25T00:57:53.5253025Z dist/assets/chevron-left-VzWFFfJV.js 0.17 kB │ gzip: 0.17 kB │ map: 0.84 kB 2026-10-25T00:57:53.5253550Z dist/assets/x-CtDhSmo0.js 0.18 kB │ gzip: 0.17 kB │ map: 0.87 kB 2026-10-25T00:57:53.5254075Z dist/assets/plus-DRJnlync.js 0.18 kB │ gzip: 0.17 kB │ map: 0.89 kB 2026-10-25T00:57:53.5254612Z dist/assets/FieldItemContext-D7F7CWCg.js 0.19 kB │ gzip: 0.18 kB │ map: 0.88 kB 2026-10-25T00:57:53.5255152Z dist/assets/arrow-up-Dxmh-8a4.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-25T00:57:53.5255752Z dist/assets/terminal-B7_CcXzt.js 0.19 kB │ gzip: 0.18 kB │ map: 0.92 kB 2026-10-25T00:57:53.5256268Z dist/assets/itemRows-DNgi4sqO.js 0.20 kB │ gzip: 0.17 kB │ map: 0.43 kB 2026-10-25T00:57:53.5256795Z dist/assets/arrow-down-CwiX2zUI.js 0.20 kB │ gzip: 0.18 kB │ map: 0.93 kB 2026-10-25T00:57:53.5257367Z dist/assets/RVARI57O-CgA1WoRv.js 0.20 kB │ gzip: 0.19 kB │ map: 0.64 kB 2026-10-25T00:57:53.5257908Z dist/assets/arrow-right-BV_nDoCV.js 0.20 kB │ gzip: 0.19 kB │ map: 0.94 kB 2026-10-25T00:57:53.5258494Z dist/assets/gauge--BDm3ivd.js 0.20 kB │ gzip: 0.19 kB │ map: 0.92 kB 2026-10-25T00:57:53.5259128Z dist/assets/chevrons-up-down-BkLK4jrE.js 0.21 kB │ gzip: 0.18 kB │ map: 0.98 kB 2026-10-25T00:57:53.5259701Z dist/assets/play-RXGUYyl2.js 0.22 kB │ gzip: 0.21 kB │ map: 0.90 kB 2026-10-25T00:57:53.5260360Z dist/assets/smartphone-D0Mgfa7D.js 0.23 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-25T00:57:53.5260927Z dist/assets/undo-2-CzUHuoIy.js 0.24 kB │ gzip: 0.20 kB │ map: 0.96 kB 2026-10-25T00:57:53.5261489Z dist/assets/circle-x-DkgNqhsK.js 0.24 kB │ gzip: 0.20 kB │ map: 1.05 kB 2026-10-25T00:57:53.5262070Z dist/assets/authRedirect-DWE5a_T9.js 0.25 kB │ gzip: 0.18 kB │ map: 1.23 kB 2026-10-25T00:57:53.5262652Z dist/assets/circle-arrow-up-Cnd0b-9q.js 0.26 kB │ gzip: 0.21 kB │ map: 1.11 kB 2026-10-25T00:57:53.5263228Z dist/assets/ellipsis-Ba3jR4KI.js 0.26 kB │ gzip: 0.19 kB │ map: 1.13 kB 2026-10-25T00:57:53.5263781Z dist/assets/log-in-axSX1Ul6.js 0.26 kB │ gzip: 0.21 kB │ map: 1.04 kB 2026-10-25T00:57:53.5264339Z dist/assets/useNavigate-Ce2_IWF0.js 0.26 kB │ gzip: 0.22 kB │ map: 2.30 kB 2026-10-25T00:57:53.5264905Z dist/assets/useSearch-DQYrjGL5.js 0.26 kB │ gzip: 0.20 kB │ map: 1.53 kB 2026-10-25T00:57:53.5265484Z dist/assets/copy-tx2aQfww.js 0.26 kB │ gzip: 0.23 kB │ map: 1.04 kB 2026-10-25T00:57:53.5266112Z dist/assets/cloneFileDiffMetadata-zVRGqYgv.js 0.27 kB │ gzip: 0.19 kB │ map: 1.23 kB 2026-10-25T00:57:53.5267072Z dist/assets/ellipsis-vertical-BmW5_1NR.js 0.28 kB │ gzip: 0.20 kB │ map: 1.19 kB 2026-10-25T00:57:53.5267663Z dist/assets/square-terminal-DLKd3WZs.js 0.28 kB │ gzip: 0.23 kB │ map: 1.18 kB 2026-10-25T00:57:53.5268261Z dist/assets/eye-DcrgQArc.js 0.28 kB │ gzip: 0.23 kB │ map: 1.05 kB 2026-10-25T00:57:53.5268867Z dist/assets/circle-alert-pHfDBynR.js 0.29 kB │ gzip: 0.21 kB │ map: 1.20 kB 2026-10-25T00:57:53.5269584Z dist/assets/external-link-C-DWxBJN.js 0.29 kB │ gzip: 0.23 kB │ map: 1.10 kB 2026-10-25T00:57:53.5270197Z dist/assets/mouse-pointer-2--4WLvE3e.js 0.29 kB │ gzip: 0.24 kB │ map: 1.02 kB 2026-10-25T00:57:53.5270811Z dist/assets/pencil-60m8KW76.js 0.31 kB │ gzip: 0.25 kB │ map: 1.06 kB 2026-10-25T00:57:53.5271392Z dist/assets/pen-line-CmhjfyJg.js 0.31 kB │ gzip: 0.25 kB │ map: 1.07 kB 2026-10-25T00:57:53.5271991Z dist/assets/plug-2-D0EPU-J9.js 0.31 kB │ gzip: 0.23 kB │ map: 1.21 kB 2026-10-25T00:57:53.5272574Z dist/assets/list-checks-C0UyaVrI.js 0.31 kB │ gzip: 0.22 kB │ map: 1.24 kB 2026-10-25T00:57:53.5273186Z dist/assets/FormContext-C6MzByBA.js 0.33 kB │ gzip: 0.26 kB │ map: 1.13 kB 2026-10-25T00:57:53.5273778Z dist/assets/archive-x-B1Lxt_ae.js 0.33 kB │ gzip: 0.25 kB │ map: 1.24 kB 2026-10-25T00:57:53.5274375Z dist/assets/message-square-off-CC4CSLfF.js 0.35 kB │ gzip: 0.27 kB │ map: 1.22 kB 2026-10-25T00:57:53.5274961Z dist/assets/refresh-cw-f0sYLYFw.js 0.35 kB │ gzip: 0.25 kB │ map: 1.22 kB 2026-10-25T00:57:53.5275581Z dist/assets/settings.general-C9MbhzVw.js 0.36 kB │ gzip: 0.28 kB │ map: 0.84 kB 2026-10-25T00:57:53.5276186Z dist/assets/trash-2-BLtjvmSA.js 0.36 kB │ gzip: 0.24 kB │ map: 1.27 kB 2026-10-25T00:57:53.5276764Z dist/assets/camera-BPh_dJif.js 0.37 kB │ gzip: 0.28 kB │ map: 1.15 kB 2026-10-25T00:57:53.5277329Z dist/assets/server-CYq90Ros.js 0.37 kB │ gzip: 0.24 kB │ map: 1.43 kB 2026-10-25T00:57:53.5277913Z dist/assets/unlink-2-DC75hwNQ.js 0.38 kB │ gzip: 0.27 kB │ map: 1.83 kB 2026-10-25T00:57:53.5278478Z dist/assets/lock-B_0jes9T.js 0.39 kB │ gzip: 0.25 kB │ map: 1.93 kB 2026-10-25T00:57:53.5279096Z dist/assets/useLocation-BQetEYK_.js 0.39 kB │ gzip: 0.28 kB │ map: 2.27 kB 2026-10-25T00:57:53.5279732Z dist/assets/settings.scheduled-tasks-DAnhVrc9.js 0.40 kB │ gzip: 0.29 kB │ map: 1.24 kB 2026-10-25T00:57:53.5280378Z dist/assets/toastHelpers-CSQRKo4F.js 0.40 kB │ gzip: 0.26 kB │ map: 2.12 kB 2026-10-25T00:57:53.5280965Z dist/assets/grip-vertical-B4CDIMqL.js 0.41 kB │ gzip: 0.23 kB │ map: 1.57 kB 2026-10-25T00:57:53.5281600Z dist/assets/useT3ConnectAuthPrompt-D28VvJE8.js 0.41 kB │ gzip: 0.31 kB │ map: 0.95 kB 2026-10-25T00:57:53.5282238Z dist/assets/previewBridge-CigdRwA-.js 0.42 kB │ gzip: 0.29 kB │ map: 1.92 kB 2026-10-25T00:57:53.5282845Z dist/assets/K3MD6TGW-DrNdFF20.js 0.42 kB │ gzip: 0.33 kB │ map: 1.02 kB 2026-10-25T00:57:53.5283407Z dist/assets/hammer-BtSyZFYT.js 0.42 kB │ gzip: 0.30 kB │ map: 1.24 kB 2026-10-25T00:57:53.5283968Z dist/assets/inbox-BGGCARsb.js 0.43 kB │ gzip: 0.32 kB │ map: 1.89 kB 2026-10-25T00:57:53.5284700Z dist/assets/mouse-pointer-click-BFW6AziF.js 0.46 kB │ gzip: 0.31 kB │ map: 1.46 kB 2026-10-25T00:57:53.5285366Z dist/assets/eye-off-CGiC01Xr.js 0.46 kB │ gzip: 0.30 kB │ map: 1.37 kB 2026-10-25T00:57:53.5285983Z dist/assets/sliders-horizontal-BHkPcwje.js 0.47 kB │ gzip: 0.26 kB │ map: 1.68 kB 2026-10-25T00:57:53.5286600Z dist/assets/folder-BUa2a6zj.js 0.47 kB │ gzip: 0.31 kB │ map: 1.87 kB 2026-10-25T00:57:53.5287216Z dist/assets/fileCommentAnnotations-BgdL_7u9.js 0.48 kB │ gzip: 0.30 kB │ map: 2.48 kB 2026-10-25T00:57:53.5287862Z dist/assets/radio-tower-B-fb5gOx.js 0.49 kB │ gzip: 0.32 kB │ map: 1.58 kB 2026-10-25T00:57:53.5288459Z dist/assets/redirect-D3L17tzd.js 0.49 kB │ gzip: 0.32 kB │ map: 3.46 kB 2026-10-25T00:57:53.5289035Z dist/assets/star-CSH4IHn1.js 0.50 kB │ gzip: 0.32 kB │ map: 1.18 kB 2026-10-25T00:57:53.5289640Z dist/assets/file-braces-DgOzaxUZ.js 0.50 kB │ gzip: 0.29 kB │ map: 1.44 kB 2026-10-25T00:57:53.5290239Z dist/assets/onboarding-BZsXzjr9.js 0.51 kB │ gzip: 0.31 kB │ map: 2.20 kB 2026-10-25T00:57:53.5290843Z dist/assets/folder-tree-BjnUo84q.js 0.51 kB │ gzip: 0.29 kB │ map: 1.45 kB 2026-10-25T00:57:53.5291449Z dist/assets/5THPTBWS-Ce_hS451.js 0.52 kB │ gzip: 0.34 kB │ map: 1.60 kB 2026-10-25T00:57:53.5292011Z dist/assets/sparkles-RZkyvAwn.js 0.53 kB │ gzip: 0.31 kB │ map: 1.44 kB 2026-10-25T00:57:53.5292621Z dist/assets/ScopedSwitch-CruYc89l.js 0.53 kB │ gzip: 0.39 kB │ map: 1.47 kB 2026-10-25T00:57:53.5293259Z dist/assets/browserLinkTarget-BdUGNYxG.js 0.53 kB │ gzip: 0.36 kB │ map: 2.48 kB 2026-10-25T00:57:53.5293891Z dist/assets/TSHNXIZL-BCpSCQyr.js 0.53 kB │ gzip: 0.39 kB │ map: 1.34 kB 2026-10-25T00:57:53.5294492Z dist/assets/rows-3-DMely9jx.js 0.54 kB │ gzip: 0.31 kB │ map: 2.87 kB 2026-10-25T00:57:53.5295102Z dist/assets/triangle-alert-C5aZTDBX.js 0.57 kB │ gzip: 0.33 kB │ map: 2.93 kB 2026-10-25T00:57:53.5295860Z dist/assets/use-atom-command-CnqwsyCQ.js 0.57 kB │ gzip: 0.38 kB │ map: 1.86 kB 2026-10-25T00:57:53.5296492Z dist/assets/paintbrush-DCImhdDK.js 0.57 kB │ gzip: 0.37 kB │ map: 1.44 kB 2026-10-25T00:57:53.5297118Z dist/assets/useAriaLabelledBy-CCUNNhkB.js 0.58 kB │ gzip: 0.40 kB │ map: 3.53 kB 2026-10-25T00:57:53.5297756Z dist/assets/codeowners-C8r90Shi.js 0.58 kB │ gzip: 0.34 kB │ map: 1.09 kB 2026-10-25T00:57:53.5298382Z dist/assets/trending-up-PW95SRBw.js 0.59 kB │ gzip: 0.34 kB │ map: 2.90 kB 2026-10-25T00:57:53.5299004Z dist/assets/G3MDBVQH-BZmnMkFw.js 0.60 kB │ gzip: 0.38 kB │ map: 1.76 kB 2026-10-25T00:57:53.5299641Z dist/assets/usageAccess-DXiA1oNc.js 0.62 kB │ gzip: 0.33 kB │ map: 2.05 kB 2026-10-25T00:57:53.5300244Z dist/assets/square-v7Oo0Y38.js 0.63 kB │ gzip: 0.38 kB │ map: 3.08 kB 2026-10-25T00:57:53.5300872Z dist/assets/composerTrigger-BP81K-4K.js 0.63 kB │ gzip: 0.38 kB │ map: 6.62 kB 2026-10-25T00:57:53.5301506Z dist/assets/jsx-runtime-DVMLLmEC.js 0.64 kB │ gzip: 0.44 kB │ map: 3.54 kB 2026-10-25T00:57:53.5302100Z dist/assets/monitor-DKhPzqUQ.js 0.64 kB │ gzip: 0.41 kB │ map: 2.90 kB 2026-10-25T00:57:53.5302832Z dist/assets/5GK6JWQ2-D5c_83rO.js 0.64 kB │ gzip: 0.47 kB │ map: 1.68 kB 2026-10-25T00:57:53.5303530Z dist/assets/runtimeModeConfig-C97PIe3m.js 0.64 kB │ gzip: 0.38 kB │ map: 1.52 kB 2026-10-25T00:57:53.5304168Z dist/assets/upload-BcSejyNp.js 0.66 kB │ gzip: 0.39 kB │ map: 2.48 kB 2026-10-25T00:57:53.5304819Z dist/assets/WorkspacePageContainer-Rr8GxBvX.js 0.67 kB │ gzip: 0.48 kB │ map: 2.06 kB 2026-10-25T00:57:53.5305515Z dist/assets/use-atom-query-runner-DcynpBBe.js 0.68 kB │ gzip: 0.42 kB │ map: 2.46 kB 2026-10-25T00:57:53.5306159Z dist/assets/CSPContext-L0FF4knb.js 0.71 kB │ gzip: 0.47 kB │ map: 4.09 kB 2026-10-25T00:57:53.5306751Z dist/assets/skeleton-DS8O4iWe.js 0.72 kB │ gzip: 0.48 kB │ map: 1.79 kB 2026-10-25T00:57:53.5307352Z dist/assets/layers-Dl99swt-.js 0.73 kB │ gzip: 0.38 kB │ map: 2.42 kB 2026-10-25T00:57:53.5307977Z dist/assets/shellsession-B6LP6YJG.js 0.76 kB │ gzip: 0.46 kB │ map: 1.37 kB 2026-10-25T00:57:53.5308636Z dist/assets/usageShortcuts-D0ipiFQj.js 0.76 kB │ gzip: 0.44 kB │ map: 2.41 kB 2026-10-25T00:57:53.5309299Z dist/assets/tsv-sltzmVWM.js 0.77 kB │ gzip: 0.37 kB │ map: 1.38 kB 2026-10-25T00:57:53.5309924Z dist/assets/MathTypeset-DSrwJ9x6.js 0.82 kB │ gzip: 0.57 kB │ map: 26.87 kB 2026-10-25T00:57:53.5310554Z dist/assets/DKTLEL5E-DciMwFJ1.js 0.87 kB │ gzip: 0.43 kB │ map: 2.42 kB 2026-10-25T00:57:53.5311198Z dist/assets/useNavigateBack-DXV0MzXz.js 0.88 kB │ gzip: 0.56 kB │ map: 3.67 kB 2026-10-25T00:57:53.5311826Z dist/assets/pair-Cul10Fj2.js 0.88 kB │ gzip: 0.55 kB │ map: 3.77 kB 2026-10-25T00:57:53.5312467Z dist/assets/html-derivative-QfWcQxux.js 0.89 kB │ gzip: 0.49 kB │ map: 1.46 kB 2026-10-25T00:57:53.5313151Z dist/assets/useRelativeTimeState-B8Lvd7C7.js 0.90 kB │ gzip: 0.54 kB │ map: 3.30 kB 2026-10-25T00:57:53.5313818Z dist/assets/SecretInput-C111Hsqo.js 0.90 kB │ gzip: 0.59 kB │ map: 2.97 kB 2026-10-25T00:57:53.5314479Z dist/assets/linkedPrompt-CSTuw7HO.js 0.91 kB │ gzip: 0.53 kB │ map: 2.66 kB 2026-10-25T00:57:53.5315100Z dist/assets/kbd-MmOxSHTG.js 0.99 kB │ gzip: 0.51 kB │ map: 2.57 kB 2026-10-25T00:57:53.5315764Z dist/assets/useScopedModelAvailability-DQkx60S8.js 0.99 kB │ gzip: 0.60 kB │ map: 4.94 kB 2026-10-25T00:57:53.5316444Z dist/assets/74OO7NKP-Mp0NUIL-.js 1.01 kB │ gzip: 0.62 kB │ map: 2.78 kB 2026-10-25T00:57:53.5317071Z dist/assets/draft-input-D6gN2pss.js 1.02 kB │ gzip: 0.66 kB │ map: 4.35 kB 2026-10-25T00:57:53.5317680Z dist/assets/git-rebase-Bl-U2xaZ.js 1.03 kB │ gzip: 0.47 kB │ map: 1.72 kB 2026-10-25T00:57:53.5318266Z dist/assets/qmldir-DCQb3MpD.js 1.03 kB │ gzip: 0.48 kB │ map: 1.74 kB 2026-10-25T00:57:53.5318860Z dist/assets/WEVWDWVA-DHDroJoj.js 1.07 kB │ gzip: 0.57 kB │ map: 2.98 kB 2026-10-25T00:57:53.5319326Z dist/assets/type-IZznv1At.js 1.07 kB │ gzip: 0.52 kB │ map: 4.84 kB 2026-10-25T00:57:53.5319708Z dist/assets/git-pull-request-draft-Dd5x8xqM.js 1.09 kB │ gzip: 0.44 kB │ map: 5.05 kB 2026-10-25T00:57:53.5320090Z dist/assets/user-lock-3dt3yw_X.js 1.09 kB │ gzip: 0.50 kB │ map: 4.74 kB 2026-10-25T00:57:53.5320535Z dist/assets/sun-B8Xysd5K.js 1.11 kB │ gzip: 0.52 kB │ map: 4.01 kB 2026-10-25T00:57:53.5321210Z dist/assets/route-DV_JcBsb.js 1.12 kB │ gzip: 0.51 kB │ map: 4.41 kB 2026-10-25T00:57:53.5321835Z dist/assets/wrench-Ct0tGnPy.js 1.15 kB │ gzip: 0.57 kB │ map: 3.90 kB 2026-10-25T00:57:53.5322503Z dist/assets/pullRequestReviewStore-Byp7vPZe.js 1.15 kB │ gzip: 0.57 kB │ map: 5.66 kB 2026-10-25T00:57:53.5323173Z dist/assets/csv-Dx-8-gkx.js 1.17 kB │ gzip: 0.40 kB │ map: 2.00 kB 2026-10-25T00:57:53.5323799Z dist/assets/observeResize-eb21m8lU.js 1.19 kB │ gzip: 0.64 kB │ map: 5.33 kB 2026-10-25T00:57:53.5324453Z dist/assets/minimize-2-BWhrEW73.js 1.20 kB │ gzip: 0.59 kB │ map: 5.47 kB 2026-10-25T00:57:53.5325102Z dist/assets/ExpandableText-BP69Siyy.js 1.23 kB │ gzip: 0.78 kB │ map: 5.16 kB 2026-10-25T00:57:53.5325761Z dist/assets/git-commit-BSykSTBG.js 1.27 kB │ gzip: 0.56 kB │ map: 2.07 kB 2026-10-25T00:57:53.5326432Z dist/assets/WorkspacePageHeader-D5WbeGFj.js 1.30 kB │ gzip: 0.69 kB │ map: 4.15 kB 2026-10-25T00:57:53.5327115Z dist/assets/discovery-list-B2Nkc9ye.js 1.39 kB │ gzip: 0.76 kB │ map: 4.07 kB 2026-10-25T00:57:53.5327748Z dist/assets/xsl-Bqr2UbU6.js 1.40 kB │ gzip: 0.53 kB │ map: 2.22 kB 2026-10-25T00:57:53.5328204Z dist/assets/AuthSurfaceShell-DjkNAXkC.js 1.42 kB │ gzip: 0.75 kB │ map: 5.23 kB 2026-10-25T00:57:53.5328580Z dist/assets/semver-CFbvOQKc.js 1.42 kB │ gzip: 0.64 kB │ map: 9.55 kB 2026-10-25T00:57:53.5328981Z dist/assets/6IMQ5BUJ-BL_JIpsq.js 1.43 kB │ gzip: 0.79 kB │ map: 3.49 kB 2026-10-25T00:57:53.5329641Z dist/assets/dotenv-_5a1GRtc.js 1.45 kB │ gzip: 0.56 kB │ map: 2.34 kB 2026-10-25T00:57:53.5330218Z dist/assets/CommandBlock-BIxovbLe.js 1.48 kB │ gzip: 0.89 kB │ map: 4.75 kB 2026-10-25T00:57:53.5330580Z dist/assets/sparql-D_iOobhT.js 1.52 kB │ gzip: 0.84 kB │ map: 2.14 kB 2026-10-25T00:57:53.5330948Z dist/assets/sourceControl-Bqs-ohyK.js 1.53 kB │ gzip: 0.51 kB │ map: 5.30 kB 2026-10-25T00:57:53.5331462Z dist/assets/ini-B5eOa1yu.js 1.55 kB │ gzip: 0.52 kB │ map: 2.47 kB 2026-10-25T00:57:53.5332129Z dist/assets/RedactedSensitiveText-Bmr33YuP.js 1.56 kB │ gzip: 0.96 kB │ map: 6.24 kB 2026-10-25T00:57:53.5332855Z dist/assets/previewMiniPlayerStore-0ZEZG-AA.js 1.56 kB │ gzip: 0.70 kB │ map: 8.23 kB 2026-10-25T00:57:53.5333573Z dist/assets/EnvironmentMachineIcon-Du3g_Fit.js 1.66 kB │ gzip: 0.80 kB │ map: 4.92 kB 2026-10-25T00:57:53.5334023Z dist/assets/5N7A7DKN-CyT_qwAS.js 1.67 kB │ gzip: 0.96 kB │ map: 4.05 kB 2026-10-25T00:57:53.5334382Z dist/assets/preview-BAIIxzyY.js 1.68 kB │ gzip: 0.59 kB │ map: 6.09 kB 2026-10-25T00:57:53.5335043Z dist/assets/fortran-fixed-form-DEKoE2YW.js 1.71 kB │ gzip: 0.72 kB │ map: 2.77 kB 2026-10-25T00:57:53.5335825Z dist/assets/ConnectionStatusDot-DpyCIrZc.js 1.73 kB │ gzip: 0.92 kB │ map: 5.60 kB 2026-10-25T00:57:53.5336532Z dist/assets/T3ConnectSidebarSignIn-CdJSJ2le.js 1.75 kB │ gzip: 0.81 kB │ map: 5.39 kB 2026-10-25T00:57:53.5337179Z dist/assets/docker-IyjqRm3v.js 1.77 kB │ gzip: 0.63 kB │ map: 2.65 kB 2026-10-25T00:57:53.5337564Z dist/assets/session-SRkIKMO8.js 1.77 kB │ gzip: 0.90 kB │ map: 8.92 kB 2026-10-25T00:57:53.5338019Z dist/assets/hxml-B0Qn7Nwc.js 1.78 kB │ gzip: 0.91 kB │ map: 2.51 kB 2026-10-25T00:57:53.5338744Z dist/assets/WorkspaceBreadcrumb-CsHf04BG.js 1.80 kB │ gzip: 0.89 kB │ map: 5.93 kB 2026-10-25T00:57:53.5339451Z dist/assets/query-Be6Rlm7d.js 1.81 kB │ gzip: 0.97 kB │ map: 8.50 kB 2026-10-25T00:57:53.5340083Z dist/assets/mediaSource-cLsYEfrN.js 1.84 kB │ gzip: 0.91 kB │ map: 9.78 kB 2026-10-25T00:57:53.5340729Z dist/assets/desktop-Dlh5hvp9.js 1.87 kB │ gzip: 0.78 kB │ map: 2.76 kB 2026-10-25T00:57:53.5341337Z dist/assets/user-round-DIWQPoBt.js 1.87 kB │ gzip: 0.76 kB │ map: 8.43 kB 2026-10-25T00:57:53.5341961Z dist/assets/memory-stick-CTKyzUTl.js 1.89 kB │ gzip: 0.77 kB │ map: 7.67 kB 2026-10-25T00:57:53.5342589Z dist/assets/openFileInPreview-BXoT9vga.js 1.89 kB │ gzip: 0.98 kB │ map: 8.45 kB 2026-10-25T00:57:53.5343264Z dist/assets/7WLXJQOR-D6QVYUu9.js 1.99 kB │ gzip: 1.00 kB │ map: 2.80 kB 2026-10-25T00:57:53.5343893Z dist/assets/NoProjectsHero-C8_D8aj8.js 2.05 kB │ gzip: 1.06 kB │ map: 8.31 kB 2026-10-25T00:57:53.5344517Z dist/assets/textarea-DqyHsfCd.js 2.05 kB │ gzip: 1.02 kB │ map: 7.13 kB 2026-10-25T00:57:53.5345159Z dist/assets/ProviderAuthTerminal-Bpagxtpy.js 2.13 kB │ gzip: 1.14 kB │ map: 8.51 kB 2026-10-25T00:57:53.5345719Z dist/assets/search-xLME8fgJ.js 2.16 kB │ gzip: 1.13 kB │ map: 13.13 kB 2026-10-25T00:57:53.5346341Z dist/assets/erb-C0PT2tVJ.js 2.17 kB │ gzip: 0.65 kB │ map: 3.34 kB 2026-10-25T00:57:53.5346977Z dist/assets/5B3SVYGG-JUEnawCk.js 2.17 kB │ gzip: 1.10 kB │ map: 5.94 kB 2026-10-25T00:57:53.5347619Z dist/assets/wenyan-C8pVoKbM.js 2.19 kB │ gzip: 1.13 kB │ map: 3.19 kB 2026-10-25T00:57:53.5348127Z dist/assets/assetUrls-B0XLbpdq.js 2.19 kB │ gzip: 1.15 kB │ map: 8.60 kB 2026-10-25T00:57:53.5348501Z dist/assets/AnimatedHeight-CQax9PGX.js 2.20 kB │ gzip: 1.11 kB │ map: 10.50 kB 2026-10-25T00:57:53.5348886Z dist/assets/EnvironmentRow-CTEL1bq5.js 2.25 kB │ gzip: 1.21 kB │ map: 8.55 kB 2026-10-25T00:57:53.5349437Z dist/assets/jssm-DXw9l8Rf.js 2.27 kB │ gzip: 0.64 kB │ map: 3.39 kB 2026-10-25T00:57:53.5350067Z dist/assets/fileLinks-sbS66qOw.js 2.33 kB │ gzip: 1.11 kB │ map: 11.00 kB 2026-10-25T00:57:53.5350692Z dist/assets/edge-DbocH-4h.js 2.34 kB │ gzip: 0.70 kB │ map: 3.63 kB 2026-10-25T00:57:53.5351314Z dist/assets/reg-CRGYupPL.js 2.37 kB │ gzip: 0.72 kB │ map: 3.51 kB 2026-10-25T00:57:53.5351843Z dist/assets/usePermissionStatus-DLYvO-2i.js 2.41 kB │ gzip: 1.26 kB │ map: 10.74 kB 2026-10-25T00:57:53.5352236Z dist/assets/useResizeDrag-K16rNICO.js 2.52 kB │ gzip: 1.17 kB │ map: 10.38 kB 2026-10-25T00:57:53.5352758Z dist/assets/square-pen-Bre3KHiZ.js 2.53 kB │ gzip: 1.08 kB │ map: 11.16 kB 2026-10-25T00:57:53.5353399Z dist/assets/FTXIJQGB-CggtIYAM.js 2.58 kB │ gzip: 1.15 kB │ map: 4.98 kB 2026-10-25T00:57:53.5354030Z dist/assets/diff-woXpYk--.js 2.60 kB │ gzip: 0.72 kB │ map: 3.86 kB 2026-10-25T00:57:53.5354641Z dist/assets/sourceControlPresentation-BXnAjc_u.js 2.60 kB │ gzip: 1.35 kB │ map: 13.27 kB 2026-10-25T00:57:53.5355369Z dist/assets/gleam-CSRkHgEL.js 2.61 kB │ gzip: 0.85 kB │ map: 3.99 kB 2026-10-25T00:57:53.5355912Z dist/assets/connect-DSaQU9yA.js 2.63 kB │ gzip: 1.40 kB │ map: 10.10 kB 2026-10-25T00:57:53.5356384Z dist/assets/hy-CZbG8q4J.js 2.68 kB │ gzip: 1.21 kB │ map: 3.69 kB 2026-10-25T00:57:53.5357054Z dist/assets/sidebarProjectGrouping-CiH06WY4.js 2.75 kB │ gzip: 1.00 kB │ map: 11.52 kB 2026-10-25T00:57:53.5357748Z dist/assets/openscad-BUDT5pXO.js 2.86 kB │ gzip: 1.04 kB │ map: 4.23 kB 2026-10-25T00:57:53.5358342Z dist/assets/log-BNLmms1o.js 2.88 kB │ gzip: 0.93 kB │ map: 4.35 kB 2026-10-25T00:57:53.5358716Z dist/assets/standalone-page-BuwC2fNh.js 2.89 kB │ gzip: 1.25 kB │ map: 10.07 kB 2026-10-25T00:57:53.5359123Z dist/assets/json-CU5hZXC7.js 2.92 kB │ gzip: 0.85 kB │ map: 4.35 kB 2026-10-25T00:57:53.5359493Z dist/assets/preview-B3R2tm9a.js 2.92 kB │ gzip: 1.38 kB │ map: 11.90 kB 2026-10-25T00:57:53.5359848Z dist/assets/cairo-DLTphjLi.js 2.97 kB │ gzip: 0.83 kB │ map: 4.57 kB 2026-10-25T00:57:53.5360208Z dist/assets/berry-DKpUyyne.js 3.04 kB │ gzip: 0.84 kB │ map: 4.85 kB 2026-10-25T00:57:53.5360592Z dist/assets/jsonl-CmCQp5Yx.js 3.04 kB │ gzip: 0.82 kB │ map: 4.51 kB 2026-10-25T00:57:53.5361217Z dist/assets/jsonc-CYpm1nAK.js 3.14 kB │ gzip: 0.82 kB │ map: 4.61 kB 2026-10-25T00:57:53.5361833Z dist/assets/logo-Cluzi2Zq.js 3.16 kB │ gzip: 1.50 kB │ map: 3.82 kB 2026-10-25T00:57:53.5362483Z dist/assets/textDirection-B3QObKRS.js 3.22 kB │ gzip: 1.47 kB │ map: 9.42 kB 2026-10-25T00:57:53.5362857Z dist/assets/device-yy6uoOmu.js 3.25 kB │ gzip: 1.43 kB │ map: 15.56 kB 2026-10-25T00:57:53.5363215Z dist/assets/po-BiJDBrnU.js 3.27 kB │ gzip: 0.94 kB │ map: 5.09 kB 2026-10-25T00:57:53.5363565Z dist/assets/json5-BR5RXkoi.js 3.29 kB │ gzip: 0.86 kB │ map: 4.96 kB 2026-10-25T00:57:53.5363926Z dist/assets/mipsasm-BMqwQI7S.js 3.29 kB │ gzip: 1.21 kB │ map: 4.68 kB 2026-10-25T00:57:53.5364358Z dist/assets/tasl-DMoTqEGO.js 3.32 kB │ gzip: 0.88 kB │ map: 5.13 kB 2026-10-25T00:57:53.5364977Z dist/assets/genie-CV2tkWYe.js 3.39 kB │ gzip: 1.24 kB │ map: 4.87 kB 2026-10-25T00:57:53.5365590Z dist/assets/rel-BtDbiS_P.js 3.40 kB │ gzip: 1.14 kB │ map: 4.88 kB 2026-10-25T00:57:53.5366207Z dist/assets/vala-zf12oZj6.js 3.40 kB │ gzip: 1.22 kB │ map: 4.90 kB 2026-10-25T00:57:53.5366806Z dist/assets/6OLKWJ4F-CX7WbUVz.js 3.47 kB │ gzip: 1.65 kB │ map: 8.16 kB 2026-10-25T00:57:53.5367167Z dist/assets/splunk-BC2Px7Mm.js 3.47 kB │ gzip: 1.55 kB │ map: 4.45 kB 2026-10-25T00:57:53.5367649Z dist/assets/FoldedSettingsSection-D2tDxrCO.js 3.51 kB │ gzip: 1.63 kB │ map: 18.85 kB 2026-10-25T00:57:53.5368320Z dist/assets/users-JCKA3SAz.js 3.52 kB │ gzip: 1.35 kB │ map: 15.98 kB 2026-10-25T00:57:53.5368938Z dist/assets/hurl-Bjvvc9lj.js 3.55 kB │ gzip: 1.13 kB │ map: 5.48 kB 2026-10-25T00:57:53.5369634Z dist/assets/panel-tab-close-button-JriWZkrY.js 3.63 kB │ gzip: 1.89 kB │ map: 15.33 kB 2026-10-25T00:57:53.5370228Z dist/assets/usageFormat-C6qE08Pm.js 3.63 kB │ gzip: 1.47 kB │ map: 14.84 kB 2026-10-25T00:57:53.5370634Z dist/assets/fluent-C03EYrpw.js 3.64 kB │ gzip: 0.93 kB │ map: 5.21 kB 2026-10-25T00:57:53.5370991Z dist/assets/jsonnet-CJTPZ8u_.js 3.65 kB │ gzip: 1.07 kB │ map: 5.43 kB 2026-10-25T00:57:53.5371361Z dist/assets/ssh-config-BgfXC-Er.js 3.65 kB │ gzip: 1.63 kB │ map: 4.50 kB 2026-10-25T00:57:53.5371717Z dist/assets/kdl-CsD5j6eV.js 3.66 kB │ gzip: 1.07 kB │ map: 5.51 kB 2026-10-25T00:57:53.5372069Z dist/assets/narrat-_X_XdTYD.js 3.70 kB │ gzip: 1.13 kB │ map: 5.43 kB 2026-10-25T00:57:53.5372417Z dist/assets/glsl-B3Z4Qj6t.js 3.73 kB │ gzip: 1.48 kB │ map: 4.44 kB 2026-10-25T00:57:53.5372778Z dist/assets/t3ProjectFile-DK1BJA_O.js 3.73 kB │ gzip: 1.54 kB │ map: 21.81 kB 2026-10-25T00:57:53.5373280Z dist/assets/turtle-ByJddavk.js 3.73 kB │ gzip: 1.00 kB │ map: 5.50 kB 2026-10-25T00:57:53.5373645Z dist/assets/threadSort-bjHzZAxR.js 3.75 kB │ gzip: 1.60 kB │ map: 20.16 kB 2026-10-25T00:57:53.5374029Z dist/assets/lazyRouteComponent-CCTc1Pgm.js 3.80 kB │ gzip: 1.38 kB │ map: 25.98 kB 2026-10-25T00:57:53.5374424Z dist/assets/ProjectMonogram-CfBYC-Py.js 3.83 kB │ gzip: 1.57 kB │ map: 12.77 kB 2026-10-25T00:57:53.5374789Z dist/assets/ron-VUp2lXgN.js 3.94 kB │ gzip: 1.01 kB │ map: 6.03 kB 2026-10-25T00:57:53.5375530Z dist/assets/zenscript-BnlCZFoB.js 3.95 kB │ gzip: 1.31 kB │ map: 5.76 kB 2026-10-25T00:57:53.5375942Z dist/assets/toggle-group-B4lnYU37.js 3.98 kB │ gzip: 1.71 kB │ map: 17.27 kB 2026-10-25T00:57:53.5376322Z dist/assets/workflow-DZg1siTd.js 3.99 kB │ gzip: 1.44 kB │ map: 18.04 kB 2026-10-25T00:57:53.5376705Z dist/assets/gn-ilITqXS6.js 4.03 kB │ gzip: 1.52 kB │ map: 5.28 kB 2026-10-25T00:57:53.5377366Z dist/assets/SettingsPanels.logic-CZxLUvK1.js 4.08 kB │ gzip: 1.34 kB │ map: 14.38 kB 2026-10-25T00:57:53.5378035Z dist/assets/alert-DLmCT2uL.js 4.12 kB │ gzip: 1.62 kB │ map: 13.51 kB 2026-10-25T00:57:53.5378684Z dist/assets/CompositeRoot-DGVWUvEp.js 4.13 kB │ gzip: 1.93 kB │ map: 20.98 kB 2026-10-25T00:57:53.5379091Z dist/assets/toggle-bhfI9jmO.js 4.13 kB │ gzip: 1.72 kB │ map: 11.55 kB 2026-10-25T00:57:53.5379479Z dist/assets/SettingsScopeNotice-DrthOWlv.js 4.14 kB │ gzip: 1.90 kB │ map: 19.31 kB 2026-10-25T00:57:53.5379887Z dist/assets/CXAC5362-GAJycIQn.js 4.17 kB │ gzip: 1.97 kB │ map: 10.66 kB 2026-10-25T00:57:53.5380528Z dist/assets/pascal-4ZHwLPI5.js 4.18 kB │ gzip: 1.71 kB │ map: 5.54 kB 2026-10-25T00:57:53.5381896Z dist/assets/empty-oN9Nf02M.js 4.19 kB │ gzip: 1.46 kB │ map: 11.56 kB 2026-10-25T00:57:53.5382562Z dist/assets/vcsRefInvalidation-Dup1Hkcb.js 4.19 kB │ gzip: 2.05 kB │ map: 30.70 kB 2026-10-25T00:57:53.5383270Z dist/assets/desktopUpdate.logic-xKS8U77O.js 4.20 kB │ gzip: 1.69 kB │ map: 15.14 kB 2026-10-25T00:57:53.5383913Z dist/assets/http-Dz--gbJ7.js 4.45 kB │ gzip: 1.09 kB │ map: 6.78 kB 2026-10-25T00:57:53.5384261Z dist/assets/tcl-CZd0xW_V.js 4.46 kB │ gzip: 1.54 kB │ map: 6.48 kB 2026-10-25T00:57:53.5384630Z dist/assets/timestampFormat-BBUHLb6E.js 4.46 kB │ gzip: 1.58 kB │ map: 20.84 kB 2026-10-25T00:57:53.5385269Z dist/assets/useParams-CYlyddlS.js 4.53 kB │ gzip: 2.00 kB │ map: 26.30 kB 2026-10-25T00:57:53.5385980Z dist/assets/nextflow-BJtWHP5T.js 4.55 kB │ gzip: 1.20 kB │ map: 6.87 kB 2026-10-25T00:57:53.5386619Z dist/assets/rosmsg-CAekHB0j.js 4.56 kB │ gzip: 1.09 kB │ map: 6.76 kB 2026-10-25T00:57:53.5387315Z dist/assets/projectFilesQueryState-BF2-t0jG.js 4.56 kB │ gzip: 2.23 kB │ map: 20.22 kB 2026-10-25T00:57:53.5387981Z dist/assets/assets-C9Ps6RA4.js 4.68 kB │ gzip: 2.12 kB │ map: 22.56 kB 2026-10-25T00:57:53.5388406Z dist/assets/polar-C7UOKdEL.js 4.70 kB │ gzip: 1.16 kB │ map: 7.26 kB 2026-10-25T00:57:53.5388760Z dist/assets/sdbl-bTVj8UrX.js 4.73 kB │ gzip: 2.04 kB │ map: 5.90 kB 2026-10-25T00:57:53.5389150Z dist/assets/fennel-DQxkIbk2.js 4.80 kB │ gzip: 1.57 kB │ map: 6.43 kB 2026-10-25T00:57:53.5389508Z dist/assets/bibtex-Ci_nEsc7.js 4.83 kB │ gzip: 0.86 kB │ map: 7.03 kB 2026-10-25T00:57:53.5389883Z dist/assets/settings.archived-DjGcJRah.js 4.99 kB │ gzip: 2.16 kB │ map: 31.79 kB 2026-10-25T00:57:53.5390251Z dist/assets/llvm-Cm23YOpf.js 5.08 kB │ gzip: 2.04 kB │ map: 6.68 kB 2026-10-25T00:57:53.5390765Z dist/assets/HDGCDEEZ-BNYxKc9q.js 5.17 kB │ gzip: 2.48 kB │ map: 13.05 kB 2026-10-25T00:57:53.5391385Z dist/assets/wgsl-BsKzXJz4.js 5.17 kB │ gzip: 1.42 kB │ map: 7.51 kB 2026-10-25T00:57:53.5392027Z dist/assets/keybindings-CW4qIDZe.js 5.32 kB │ gzip: 2.12 kB │ map: 28.47 kB 2026-10-25T00:57:53.5392685Z dist/assets/gdresource-C0sCabJj.js 5.33 kB │ gzip: 1.36 kB │ map: 7.81 kB 2026-10-25T00:57:53.5393329Z dist/assets/5S6HY5KT-D84me8_V.js 5.35 kB │ gzip: 2.67 kB │ map: 13.95 kB 2026-10-25T00:57:53.5393943Z dist/assets/zig-CMLA9XwU.js 5.37 kB │ gzip: 1.59 kB │ map: 7.87 kB 2026-10-25T00:57:53.5394538Z dist/assets/qml-DyjGyXLX.js 5.37 kB │ gzip: 1.41 kB │ map: 8.17 kB 2026-10-25T00:57:53.5394889Z dist/assets/dax-BkyTk9wS.js 5.39 kB │ gzip: 2.25 kB │ map: 6.77 kB 2026-10-25T00:57:53.5395241Z dist/assets/bicep-CUHmPFLl.js 5.41 kB │ gzip: 1.18 kB │ map: 7.92 kB 2026-10-25T00:57:53.5395626Z dist/assets/ReadOnlySourcePreview-BHTUgT7S.js 5.45 kB │ gzip: 2.22 kB │ map: 19.88 kB 2026-10-25T00:57:53.5396291Z dist/assets/xml-D1Mu8RCW.js 5.47 kB │ gzip: 1.27 kB │ map: 7.90 kB 2026-10-25T00:57:53.5396960Z dist/assets/awk-BWXHIvNe.js 5.49 kB │ gzip: 1.41 kB │ map: 8.00 kB 2026-10-25T00:57:53.5397568Z dist/assets/coq-BrsZFFmf.js 5.58 kB │ gzip: 1.95 kB │ map: 7.52 kB 2026-10-25T00:57:53.5398195Z dist/assets/jinja-C4P3y_qB.js 5.67 kB │ gzip: 1.39 kB │ map: 8.57 kB 2026-10-25T00:57:53.5398844Z dist/assets/mediaReference-Dgrc-Yvk.js 5.76 kB │ gzip: 2.53 kB │ map: 26.43 kB 2026-10-25T00:57:53.5399398Z dist/assets/guideRunStore-C2ZiAXf9.js 5.76 kB │ gzip: 2.55 kB │ map: 26.90 kB 2026-10-25T00:57:53.5399775Z dist/assets/UQJE5E4I-CA1BOyEf.js 5.77 kB │ gzip: 2.88 kB │ map: 16.01 kB 2026-10-25T00:57:53.5400145Z dist/assets/settings-CDbOpcJI.js 5.78 kB │ gzip: 2.48 kB │ map: 23.03 kB 2026-10-25T00:57:53.5400509Z dist/assets/primary-BSg3oZ7i.js 5.80 kB │ gzip: 2.27 kB │ map: 25.91 kB 2026-10-25T00:57:53.5400878Z dist/assets/lean-CewbzKMR.js 5.81 kB │ gzip: 1.95 kB │ map: 7.88 kB 2026-10-25T00:57:53.5401322Z dist/assets/moonbit-CaWjb8XO.js 5.93 kB │ gzip: 1.71 kB │ map: 8.68 kB 2026-10-25T00:57:53.5401961Z dist/assets/powerquery-DNMTfnFr.js 5.94 kB │ gzip: 1.54 kB │ map: 8.52 kB 2026-10-25T00:57:53.5402606Z dist/assets/shaderlab-TOUzSsQk.js 5.96 kB │ gzip: 2.11 kB │ map: 7.73 kB 2026-10-25T00:57:53.5403252Z dist/assets/verilog-CiiDBU1e.js 5.96 kB │ gzip: 1.93 kB │ map: 8.03 kB 2026-10-25T00:57:53.5403880Z dist/assets/cypher-ClKdZ_lG.js 5.99 kB │ gzip: 1.75 kB │ map: 8.44 kB 2026-10-25T00:57:53.5404500Z dist/assets/zap-CU6xHUKO.js 6.12 kB │ gzip: 2.29 kB │ map: 26.87 kB 2026-10-25T00:57:53.5405013Z dist/assets/vb-Djn5o6TS.js 6.12 kB │ gzip: 2.37 kB │ map: 8.05 kB 2026-10-25T00:57:53.5405374Z dist/assets/input-group-tzNYnBWR.js 6.15 kB │ gzip: 1.94 kB │ map: 11.42 kB 2026-10-25T00:57:53.5405750Z dist/assets/color-picker-Dc57VidV.js 6.27 kB │ gzip: 2.94 kB │ map: 27.68 kB 2026-10-25T00:57:53.5406463Z dist/assets/KeybindingsSettings.logic-UUqWjPej.js 6.28 kB │ gzip: 2.55 kB │ map: 27.02 kB 2026-10-25T00:57:53.5406891Z dist/assets/red-CJ3rzSJv.js 6.30 kB │ gzip: 1.63 kB │ map: 8.89 kB 2026-10-25T00:57:53.5407595Z dist/assets/min-dark-BSWPekZh.js 6.33 kB │ gzip: 1.74 kB │ map: 8.63 kB 2026-10-25T00:57:53.5408282Z dist/assets/gdshader-CBce3t8t.js 6.36 kB │ gzip: 1.75 kB │ map: 9.20 kB 2026-10-25T00:57:53.5425325Z dist/assets/prisma-BsRQq5mF.js 6.36 kB │ gzip: 1.42 kB │ map: 9.28 kB 2026-10-25T00:57:53.5425732Z dist/assets/ConnectionDiagnosisDetails-Cou6ZAfC.js 6.37 kB │ gzip: 2.81 kB │ map: 28.56 kB 2026-10-25T00:57:53.5426126Z dist/assets/ara-4CJ0cIlV.js 6.39 kB │ gzip: 1.84 kB │ map: 9.26 kB 2026-10-25T00:57:53.5426483Z dist/assets/DYY6UVD2-DCXbwU-i.js 6.44 kB │ gzip: 3.05 kB │ map: 16.52 kB 2026-10-25T00:57:53.5426856Z dist/assets/clojure-DqKBuwfJ.js 6.45 kB │ gzip: 1.45 kB │ map: 9.29 kB 2026-10-25T00:57:53.5427216Z dist/assets/postcss-BXeXVLqQ.js 6.45 kB │ gzip: 1.94 kB │ map: 9.12 kB 2026-10-25T00:57:53.5427582Z dist/assets/toml-CcmNWLt0.js 6.46 kB │ gzip: 1.31 kB │ map: 9.48 kB 2026-10-25T00:57:53.5428167Z dist/assets/solarized-light-DSh2HLQt.js 6.53 kB │ gzip: 1.75 kB │ map: 9.25 kB 2026-10-25T00:57:53.5428658Z dist/assets/scheduledTasksSettings.logic-CZ1NzqXc.js 6.53 kB │ gzip: 2.67 kB │ map: 25.74 kB 2026-10-25T00:57:53.5429108Z dist/assets/proto-DB4EqR-F.js 6.58 kB │ gzip: 1.45 kB │ map: 9.91 kB 2026-10-25T00:57:53.5429750Z dist/assets/smalltalk-B16xEiuN.js 6.62 kB │ gzip: 1.65 kB │ map: 9.26 kB 2026-10-25T00:57:53.5430359Z dist/assets/r-D4tONY_S.js 6.63 kB │ gzip: 1.86 kB │ map: 10.16 kB 2026-10-25T00:57:53.5430974Z dist/assets/talonscript-CohzipZa.js 6.79 kB │ gzip: 1.52 kB │ map: 10.08 kB 2026-10-25T00:57:53.5431620Z dist/assets/solarized-dark-DV17i1UV.js 6.89 kB │ gzip: 1.81 kB │ map: 9.71 kB 2026-10-25T00:57:53.5432263Z dist/assets/riscv-Ckw8ddFX.js 6.95 kB │ gzip: 2.01 kB │ map: 9.60 kB 2026-10-25T00:57:53.5432811Z dist/assets/soy-BZidhfq9.js 6.96 kB │ gzip: 1.66 kB │ map: 10.74 kB 2026-10-25T00:57:53.5433163Z dist/assets/min-light-DDpmG2fV.js 7.01 kB │ gzip: 1.92 kB │ map: 9.56 kB 2026-10-25T00:57:53.5433523Z dist/assets/4UO7MD6I-Bo9tuH5I.js 7.08 kB │ gzip: 3.24 kB │ map: 18.76 kB 2026-10-25T00:57:53.5433884Z dist/assets/scheme-DQCgrYNe.js 7.20 kB │ gzip: 2.08 kB │ map: 9.80 kB 2026-10-25T00:57:53.5434229Z dist/assets/O7XIQ6OM-F65NWpxl.js 7.27 kB │ gzip: 3.30 kB │ map: 19.44 kB 2026-10-25T00:57:53.5434581Z dist/assets/hlsl-Cvrh5tZx.js 7.29 kB │ gzip: 2.21 kB │ map: 9.25 kB 2026-10-25T00:57:53.5434934Z dist/assets/YVG2LODB-C2TGc0J_.js 7.34 kB │ gzip: 3.35 kB │ map: 18.98 kB 2026-10-25T00:57:53.5435283Z dist/assets/qss-Fe1Jh2GI.js 7.50 kB │ gzip: 2.60 kB │ map: 9.41 kB 2026-10-25T00:57:53.5435634Z dist/assets/collapsible-BdQ9OEHj.js 7.51 kB │ gzip: 3.05 kB │ map: 47.01 kB 2026-10-25T00:57:53.5435995Z dist/assets/CEQABKGZ-DP8Aq8cG.js 7.59 kB │ gzip: 3.52 kB │ map: 19.22 kB 2026-10-25T00:57:53.5436372Z dist/assets/primaryCloudLinkState-CKdndKVj.js 7.66 kB │ gzip: 3.05 kB │ map: 32.30 kB 2026-10-25T00:57:53.5436750Z dist/assets/htmlRender-Bi-k-mRg.js 7.71 kB │ gzip: 3.15 kB │ map: 30.90 kB 2026-10-25T00:57:53.5437104Z dist/assets/checkbox-ClGu5fnQ.js 7.73 kB │ gzip: 3.39 kB │ map: 42.78 kB 2026-10-25T00:57:53.5437464Z dist/assets/DiffFileTree-Cxc1KhiG.js 7.75 kB │ gzip: 3.61 kB │ map: 42.65 kB 2026-10-25T00:57:53.5437835Z dist/assets/radio-group-tyGIx5o-.js 7.82 kB │ gzip: 3.34 kB │ map: 38.47 kB 2026-10-25T00:57:53.5438190Z dist/assets/systemd-BxMlprV5.js 7.90 kB │ gzip: 2.57 kB │ map: 10.64 kB 2026-10-25T00:57:53.5438541Z dist/assets/_chat.index-COCGSoSD.js 7.92 kB │ gzip: 3.10 kB │ map: 31.56 kB 2026-10-25T00:57:53.5438896Z dist/assets/monokai-CdkpiU2Y.js 7.92 kB │ gzip: 1.94 kB │ map: 11.12 kB 2026-10-25T00:57:53.5439299Z dist/assets/index-CJRuH68-.js 7.98 kB │ gzip: 3.86 kB │ map: 1.93 kB 2026-10-25T00:57:53.5439697Z dist/assets/regexp-C160j5mr.js 8.08 kB │ gzip: 1.49 kB │ map: 11.23 kB 2026-10-25T00:57:53.5440308Z dist/assets/LUXOKEGN-B-I7BXqO.js 8.24 kB │ gzip: 3.73 kB │ map: 21.07 kB 2026-10-25T00:57:53.5440992Z dist/assets/haml-78M2RzJ5.js 8.36 kB │ gzip: 1.88 kB │ map: 12.45 kB 2026-10-25T00:57:53.5441632Z dist/assets/typst-DI99ib-x.js 8.42 kB │ gzip: 1.70 kB │ map: 12.31 kB 2026-10-25T00:57:53.5442248Z dist/assets/vue-html-_q5YSMOd.js 8.52 kB │ gzip: 1.72 kB │ map: 12.03 kB 2026-10-25T00:57:53.5442860Z dist/assets/plsql-DGHpHOYJ.js 8.54 kB │ gzip: 3.03 kB │ map: 10.90 kB 2026-10-25T00:57:53.5443476Z dist/assets/dart-CnvKMtbv.js 8.65 kB │ gzip: 2.03 kB │ map: 12.66 kB 2026-10-25T00:57:53.5444084Z dist/assets/horizon-CE9ld1lL.js 8.82 kB │ gzip: 1.98 kB │ map: 12.09 kB 2026-10-25T00:57:53.5444513Z dist/assets/kotlin-DhhofPvG.js 8.82 kB │ gzip: 2.16 kB │ map: 12.79 kB 2026-10-25T00:57:53.5444880Z dist/assets/horizon-bright-DSNQnXHK.js 8.83 kB │ gzip: 1.99 kB │ map: 12.14 kB 2026-10-25T00:57:53.5445275Z dist/assets/ProjectIconPickerDialog-Ctu2Hesb.js 8.92 kB │ gzip: 3.73 kB │ map: 52.01 kB 2026-10-25T00:57:53.5445646Z dist/assets/react-beAb49SJ.js 8.97 kB │ gzip: 3.50 kB │ map: 31.05 kB 2026-10-25T00:57:53.5445995Z dist/assets/make-Dixweg8N.js 8.99 kB │ gzip: 1.79 kB │ map: 12.87 kB 2026-10-25T00:57:53.5446343Z dist/assets/andromeeda-vGVdxbeo.js 9.06 kB │ gzip: 2.39 kB │ map: 11.97 kB 2026-10-25T00:57:53.5446700Z dist/assets/sas-DNZ6OI-k.js 9.10 kB │ gzip: 3.85 kB │ map: 11.14 kB 2026-10-25T00:57:53.5447048Z dist/assets/dark-plus-Cs2F2srj.js 9.14 kB │ gzip: 2.13 kB │ map: 12.44 kB 2026-10-25T00:57:53.5447412Z dist/assets/slack-dark-DnToyrRv.js 9.16 kB │ gzip: 1.99 kB │ map: 12.54 kB 2026-10-25T00:57:53.5447778Z dist/assets/connect-agent-Rk2g7Idc.js 9.16 kB │ gzip: 3.98 kB │ map: 39.85 kB 2026-10-25T00:57:53.5448166Z dist/assets/terminalSessions-D38vwzPw.js 9.17 kB │ gzip: 3.19 kB │ map: 42.87 kB 2026-10-25T00:57:53.5448533Z dist/assets/2NI2N5EU-Dt6roZ2h.js 9.32 kB │ gzip: 4.19 kB │ map: 24.57 kB 2026-10-25T00:57:53.5448893Z dist/assets/sass-DXrisJhu.js 9.32 kB │ gzip: 2.52 kB │ map: 13.42 kB 2026-10-25T00:57:53.5449309Z dist/assets/plastic-DQwYfKfQ.js 9.33 kB │ gzip: 2.00 kB │ map: 12.50 kB 2026-10-25T00:57:53.5449703Z dist/assets/use-orchestration-command-CB3CWMGJ.js 9.43 kB │ gzip: 3.01 kB │ map: 38.41 kB 2026-10-25T00:57:53.5450086Z dist/assets/XBNEOJTC-DGumfAJK.js 9.44 kB │ gzip: 4.24 kB │ map: 25.57 kB 2026-10-25T00:57:53.5450459Z dist/assets/slack-ochin-B2OO5cIa.js 9.47 kB │ gzip: 2.12 kB │ map: 13.13 kB 2026-10-25T00:57:53.5450820Z dist/assets/tex-D4kYGkpD.js 9.71 kB │ gzip: 3.10 kB │ map: 12.45 kB 2026-10-25T00:57:53.5451170Z dist/assets/jison-Byt20Y-H.js 9.73 kB │ gzip: 1.90 kB │ map: 14.14 kB 2026-10-25T00:57:53.5451519Z dist/assets/cmake-Bj61d0ZC.js 9.89 kB │ gzip: 3.41 kB │ map: 11.27 kB 2026-10-25T00:57:53.5451878Z dist/assets/light-plus-DVQuIRkW.js 9.98 kB │ gzip: 2.31 kB │ map: 13.44 kB 2026-10-25T00:57:53.5452274Z dist/assets/settings.open-source-licenses-TnbvpCPk.js 9.99 kB │ gzip: 4.09 kB │ map: 46.85 kB 2026-10-25T00:57:53.5452664Z dist/assets/hcl-Dh228itO.js 10.08 kB │ gzip: 1.96 kB │ map: 14.80 kB 2026-10-25T00:57:53.5453140Z dist/assets/rst-OA9zXOEF.js 10.35 kB │ gzip: 2.28 kB │ map: 15.73 kB 2026-10-25T00:57:53.5453801Z dist/assets/pkl-ot-7Btpt.js 10.40 kB │ gzip: 1.41 kB │ map: 15.48 kB 2026-10-25T00:57:53.5454417Z dist/assets/beancount-D-usSTwE.js 10.41 kB │ gzip: 1.46 kB │ map: 15.05 kB 2026-10-25T00:57:53.5455090Z dist/assets/nextflow-groovy-DJMQeKeT.js 10.48 kB │ gzip: 2.17 kB │ map: 15.26 kB 2026-10-25T00:57:53.5456896Z dist/assets/YURCZMG2-_F0CihH_.js 10.49 kB │ gzip: 4.56 kB │ map: 25.28 kB 2026-10-25T00:57:53.5457521Z dist/assets/raku-B3gFvitq.js 10.50 kB │ gzip: 2.97 kB │ map: 12.92 kB 2026-10-25T00:57:53.5458154Z dist/assets/dream-maker-DW3nJb8Q.js 10.51 kB │ gzip: 2.29 kB │ map: 15.13 kB 2026-10-25T00:57:53.5458798Z dist/assets/_chat.new-2njQqPfU.js 10.55 kB │ gzip: 4.53 kB │ map: 45.05 kB 2026-10-25T00:57:53.5459529Z dist/assets/browserHistoryStore-DthjDuCe.js 10.58 kB │ gzip: 4.18 kB │ map: 55.77 kB 2026-10-25T00:57:53.5459945Z dist/assets/yaml-DqrBPYEo.js 10.60 kB │ gzip: 2.34 kB │ map: 14.93 kB 2026-10-25T00:57:53.5460293Z dist/assets/just-DDwlfhUt.js 10.85 kB │ gzip: 2.64 kB │ map: 15.45 kB 2026-10-25T00:57:53.5460661Z dist/assets/elm-ByOPkR8C.js 10.98 kB │ gzip: 2.13 kB │ map: 16.07 kB 2026-10-25T00:57:53.5461032Z dist/assets/phoneViewer-U9EtiEPK.js 11.04 kB │ gzip: 4.64 kB │ map: 49.75 kB 2026-10-25T00:57:53.5461422Z dist/assets/K7RP3OMA-Cap0TqAF.js 11.18 kB │ gzip: 5.02 kB │ map: 29.89 kB 2026-10-25T00:57:53.5461801Z dist/assets/github-light-EUqPIrTm.js 11.23 kB │ gzip: 2.53 kB │ map: 15.44 kB 2026-10-25T00:57:53.5462183Z dist/assets/prolog-iXnhIJG7.js 11.39 kB │ gzip: 3.88 kB │ map: 13.31 kB 2026-10-25T00:57:53.5462557Z dist/assets/terraform-DswuEJGm.js 11.42 kB │ gzip: 2.54 kB │ map: 16.23 kB 2026-10-25T00:57:53.5462941Z dist/assets/github-dark-C-LZuMrd.js 11.45 kB │ gzip: 2.56 kB │ map: 15.70 kB 2026-10-25T00:57:53.5463316Z dist/assets/puppet-CDv2pdJW.js 11.47 kB │ gzip: 2.14 kB │ map: 16.33 kB 2026-10-25T00:57:53.5463687Z dist/assets/77XECAW3-Brf9jN27.js 11.54 kB │ gzip: 5.35 kB │ map: 27.96 kB 2026-10-25T00:57:53.5464051Z dist/assets/laserwave-C_8bwKvT.js 11.54 kB │ gzip: 2.61 kB │ map: 14.72 kB 2026-10-25T00:57:53.5464440Z dist/assets/ProjectFavicon-D-0N2VN1.js 11.73 kB │ gzip: 5.18 kB │ map: 15.88 kB 2026-10-25T00:57:53.5464821Z dist/assets/gherkin-DExj1W_8.js 11.98 kB │ gzip: 5.08 kB │ map: 13.13 kB 2026-10-25T00:57:53.5465185Z dist/assets/wasm-ByWQv1Qj.js 12.04 kB │ gzip: 2.21 kB │ map: 16.85 kB 2026-10-25T00:57:53.5465535Z dist/assets/hjson-CxZEssPk.js 12.08 kB │ gzip: 1.67 kB │ map: 17.29 kB 2026-10-25T00:57:53.5465901Z dist/assets/YHV2MVVZ-CiXx4BVE.js 12.09 kB │ gzip: 5.11 kB │ map: 36.55 kB 2026-10-25T00:57:53.5466265Z dist/assets/ABYRPUBD-B6Zskfax.js 12.11 kB │ gzip: 3.25 kB │ map: 36.28 kB 2026-10-25T00:57:53.5466636Z dist/assets/handlebars-C2O4g9kv.js 12.21 kB │ gzip: 2.41 kB │ map: 17.46 kB 2026-10-25T00:57:53.5467029Z dist/assets/ProjectDefaultsSettings-BcyGwOIA.js 12.43 kB │ gzip: 4.48 kB │ map: 68.04 kB 2026-10-25T00:57:53.5467518Z dist/assets/apache-U0d_L8uA.js 12.49 kB │ gzip: 3.74 kB │ map: 15.96 kB 2026-10-25T00:57:53.5467924Z dist/assets/vesper-DdrHHSXu.js 12.77 kB │ gzip: 2.03 kB │ map: 16.24 kB 2026-10-25T00:57:53.5468314Z dist/assets/ProviderSettingsForm-ClHryqhv.js 12.91 kB │ gzip: 4.89 kB │ map: 60.05 kB 2026-10-25T00:57:53.5468716Z dist/assets/bat-Bo4NYOV-.js 12.92 kB │ gzip: 3.26 kB │ map: 17.40 kB 2026-10-25T00:57:53.5469136Z dist/assets/fish-BJitypiv.js 13.07 kB │ gzip: 1.76 kB │ map: 16.86 kB 2026-10-25T00:57:53.5469506Z dist/assets/qr-code-CmPFsYWt.js 13.19 kB │ gzip: 5.02 kB │ map: 49.58 kB 2026-10-25T00:57:53.5469867Z dist/assets/v-DETTlOr0.js 13.24 kB │ gzip: 2.76 kB │ map: 19.27 kB 2026-10-25T00:57:53.5470227Z dist/assets/NUIALGQ3-Bax5Hy6K.js 13.25 kB │ gzip: 5.62 kB │ map: 40.22 kB 2026-10-25T00:57:53.5470610Z dist/assets/OFQON5FD-BPCO1vjF.js 13.49 kB │ gzip: 5.51 kB │ map: 34.02 kB 2026-10-25T00:57:53.5470990Z dist/assets/vitesse-light-VbXTXTou.js 13.66 kB │ gzip: 3.06 kB │ map: 18.57 kB 2026-10-25T00:57:53.5471366Z dist/assets/aurora-x-CDeNXAV0.js 13.70 kB │ gzip: 2.32 kB │ map: 17.59 kB 2026-10-25T00:57:53.5471742Z dist/assets/vitesse-black-fwtXNY1n.js 13.72 kB │ gzip: 3.09 kB │ map: 18.66 kB 2026-10-25T00:57:53.5472126Z dist/assets/vitesse-dark-BZCL-v6S.js 13.80 kB │ gzip: 3.10 kB │ map: 18.73 kB 2026-10-25T00:57:53.5472507Z dist/assets/DeviceSetup-vBpbcs00.js 13.81 kB │ gzip: 5.11 kB │ map: 59.86 kB 2026-10-25T00:57:53.5472883Z dist/assets/pug-H48468vj.js 13.89 kB │ gzip: 2.62 kB │ map: 20.57 kB 2026-10-25T00:57:53.5473253Z dist/assets/synthwave-84-nFMaYfgc.js 14.08 kB │ gzip: 2.88 kB │ map: 19.12 kB 2026-10-25T00:57:53.5473637Z dist/assets/PJQHF43J-DiqEHi6k.js 14.12 kB │ gzip: 5.87 kB │ map: 39.03 kB 2026-10-25T00:57:53.5474032Z dist/assets/github-light-default-BXViO-2h.js 14.21 kB │ gzip: 3.05 kB │ map: 19.30 kB 2026-10-25T00:57:53.5474426Z dist/assets/clarity-SemFz856.js 14.31 kB │ gzip: 2.50 kB │ map: 19.95 kB 2026-10-25T00:57:53.5474849Z dist/assets/github-light-high-contrast-B68TUdTA.js 14.33 kB │ gzip: 3.03 kB │ map: 19.48 kB 2026-10-25T00:57:53.5475266Z dist/assets/github-dark-dimmed-Bx1FflLF.js 14.48 kB │ gzip: 3.15 kB │ map: 19.67 kB 2026-10-25T00:57:53.5475688Z dist/assets/github-dark-default-DXG-b-1a.js 14.48 kB │ gzip: 3.15 kB │ map: 19.68 kB 2026-10-25T00:57:53.5476084Z dist/assets/X62E3GBT-D7ME7rHF.js 14.54 kB │ gzip: 6.34 kB │ map: 39.30 kB 2026-10-25T00:57:53.5476556Z dist/assets/github-dark-high-contrast-B_tTalzw.js 14.65 kB │ gzip: 3.11 kB │ map: 19.91 kB 2026-10-25T00:57:53.5477236Z dist/assets/gnuplot-7GGW24-e.js 14.82 kB │ gzip: 3.31 kB │ map: 20.83 kB 2026-10-25T00:57:53.5477877Z dist/assets/rust-Cfkwpbl8.js 15.10 kB │ gzip: 2.75 kB │ map: 21.47 kB 2026-10-25T00:57:53.5478522Z dist/assets/FNOVOB4O-BYB8rXFw.js 15.14 kB │ gzip: 5.88 kB │ map: 38.44 kB 2026-10-25T00:57:53.5479194Z dist/assets/kusto-C7mF5XQf.js 15.20 kB │ gzip: 3.96 kB │ map: 19.63 kB 2026-10-25T00:57:53.5479847Z dist/assets/actionscript-3--17pq3dv.js 15.25 kB │ gzip: 2.71 kB │ map: 21.47 kB 2026-10-25T00:57:53.5480520Z dist/assets/duoViewer-DxCS289P.js 15.46 kB │ gzip: 6.05 kB │ map: 65.43 kB 2026-10-25T00:57:53.5481237Z dist/assets/nix-IvuFDN5E.js 15.54 kB │ gzip: 2.51 kB │ map: 22.93 kB 2026-10-25T00:57:53.5481766Z dist/assets/usePullRequestActions-DpX0ZHWX.js 15.62 kB │ gzip: 5.27 kB │ map: 66.12 kB 2026-10-25T00:57:53.5482151Z dist/assets/lua-1Va2DEvn.js 15.63 kB │ gzip: 3.22 kB │ map: 22.17 kB 2026-10-25T00:57:53.5482510Z dist/assets/luau-FMPmPwt6.js 15.66 kB │ gzip: 3.42 kB │ map: 21.88 kB 2026-10-25T00:57:53.5482864Z dist/assets/abap-CLvhMVsD.js 15.88 kB │ gzip: 5.96 kB │ map: 18.85 kB 2026-10-25T00:57:53.5483234Z dist/assets/solidity-CKzVLygQ.js 16.11 kB │ gzip: 3.13 kB │ map: 23.46 kB 2026-10-25T00:57:53.5483597Z dist/assets/matlab-D7qyCx1q.js 16.12 kB │ gzip: 3.10 kB │ map: 23.37 kB 2026-10-25T00:57:53.5483963Z dist/assets/cue-CE9AQfxI.js 16.23 kB │ gzip: 2.08 kB │ map: 23.80 kB 2026-10-25T00:57:53.5484322Z dist/assets/elixir-CrKEldnf.js 16.30 kB │ gzip: 2.79 kB │ map: 23.18 kB 2026-10-25T00:57:53.5484782Z dist/assets/dialog-6KtNxZaC.js 16.37 kB │ gzip: 5.60 kB │ map: 77.01 kB 2026-10-25T00:57:53.5485444Z dist/assets/rightPanelStore-Cq3rjAXJ.js 16.38 kB │ gzip: 4.67 kB │ map: 78.50 kB 2026-10-25T00:57:53.5486112Z dist/assets/odin-B1RWQWA5.js 16.54 kB │ gzip: 2.96 kB │ map: 23.80 kB 2026-10-25T00:57:53.5486747Z dist/assets/X5RFHQXM-56BH5woe.js 16.59 kB │ gzip: 7.04 kB │ map: 42.63 kB 2026-10-25T00:57:53.5487402Z dist/assets/ts-tags-iKEdjM6n.js 16.59 kB │ gzip: 2.09 kB │ map: 24.94 kB 2026-10-25T00:57:53.5488062Z dist/assets/scroll-area-Bmbqqwzs.js 16.78 kB │ gzip: 5.99 kB │ map: 85.84 kB 2026-10-25T00:57:53.5488737Z dist/assets/popover-p6kfOBzp.js 17.14 kB │ gzip: 6.45 kB │ map: 90.08 kB 2026-10-25T00:57:53.5489455Z dist/assets/kanagawa-wave-CTweb8Dz.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-25T00:57:53.5489943Z dist/assets/kanagawa-lotus-BN08jTvb.js 17.17 kB │ gzip: 2.94 kB │ map: 22.30 kB 2026-10-25T00:57:53.5490330Z dist/assets/kanagawa-dragon-CXtmUGW6.js 17.17 kB │ gzip: 2.96 kB │ map: 22.31 kB 2026-10-25T00:57:53.5490729Z dist/assets/projectScriptEditor-MSJhIuoh.js 17.35 kB │ gzip: 6.66 kB │ map: 100.01 kB 2026-10-25T00:57:53.5491119Z dist/assets/move-B1IS1UjX.js 17.54 kB │ gzip: 3.10 kB │ map: 26.27 kB 2026-10-25T00:57:53.5491476Z dist/assets/command-BOZow-xA.js 17.80 kB │ gzip: 4.80 kB │ map: 70.69 kB 2026-10-25T00:57:53.5491858Z dist/assets/pullRequests-BtvspPh1.js 17.93 kB │ gzip: 6.22 kB │ map: 87.67 kB 2026-10-25T00:57:53.5492230Z dist/assets/link-Cdrx68Pk.js 17.95 kB │ gzip: 6.74 kB │ map: 91.88 kB 2026-10-25T00:57:53.5492596Z dist/assets/graphql-f7MMklYv.js 18.12 kB │ gzip: 2.56 kB │ map: 25.58 kB 2026-10-25T00:57:53.5492961Z dist/assets/liquid-NR0kReLd.js 18.14 kB │ gzip: 3.18 kB │ map: 25.31 kB 2026-10-25T00:57:53.5493350Z dist/assets/T3ConnectAccountPages-C9vlYOuB.js 18.26 kB │ gzip: 6.37 kB │ map: 80.99 kB 2026-10-25T00:57:53.5493733Z dist/assets/svelte-D_LLVCZp.js 18.29 kB │ gzip: 3.18 kB │ map: 25.82 kB 2026-10-25T00:57:53.5494105Z dist/assets/material-theme-Bm3Qr25_.js 18.66 kB │ gzip: 3.14 kB │ map: 24.14 kB 2026-10-25T00:57:53.5494595Z dist/assets/material-theme-ocean-CHQ94UKr.js 18.68 kB │ gzip: 3.16 kB │ map: 24.18 kB 2026-10-25T00:57:53.5495041Z dist/assets/material-theme-darker-2IIEA8gg.js 18.68 kB │ gzip: 3.13 kB │ map: 24.18 kB 2026-10-25T00:57:53.5495730Z dist/assets/material-theme-lighter-uhdI0v04.js 18.69 kB │ gzip: 3.14 kB │ map: 24.19 kB 2026-10-25T00:57:53.5496162Z dist/assets/material-theme-palenight-B5W6OYN7.js 18.69 kB │ gzip: 3.15 kB │ map: 24.20 kB 2026-10-25T00:57:53.5496579Z dist/assets/pullRequestDetail.logic-zhPTaJwL.js 18.87 kB │ gzip: 6.75 kB │ map: 77.97 kB 2026-10-25T00:57:53.5496974Z dist/assets/gdscript-Cp2uCuqX.js 19.03 kB │ gzip: 3.78 kB │ map: 26.26 kB 2026-10-25T00:57:53.5497339Z dist/assets/USNYFO5S-etzO5Im3.js 19.10 kB │ gzip: 7.42 kB │ map: 47.26 kB 2026-10-25T00:57:53.5497707Z dist/assets/groovy-CacY0gHj.js 19.21 kB │ gzip: 3.63 kB │ map: 27.53 kB 2026-10-25T00:57:53.5498336Z dist/assets/settings.storage-XIdLm60G.js 19.39 kB │ gzip: 6.98 kB │ map: 104.83 kB 2026-10-25T00:57:53.5498987Z dist/assets/mdc-BszP3a5M.js 19.58 kB │ gzip: 6.70 kB │ map: 23.16 kB 2026-10-25T00:57:53.5499651Z dist/assets/server-2Qy0D2Rs.js 19.93 kB │ gzip: 6.16 kB │ map: 117.06 kB 2026-10-25T00:57:53.5500294Z dist/assets/ayu-dark-DluEY0Gj.js 20.12 kB │ gzip: 3.96 kB │ map: 27.06 kB 2026-10-25T00:57:53.5500945Z dist/assets/ayu-mirage-Bqwy1Gya.js 20.13 kB │ gzip: 3.95 kB │ map: 27.08 kB 2026-10-25T00:57:53.5501602Z dist/assets/glimmer-js-BDXa_Fyc.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-25T00:57:53.5502002Z dist/assets/glimmer-ts-Bj66Y8fi.js 20.13 kB │ gzip: 2.97 kB │ map: 28.69 kB 2026-10-25T00:57:53.5502382Z dist/assets/powershell-DshXNtvi.js 20.19 kB │ gzip: 4.09 kB │ map: 26.60 kB 2026-10-25T00:57:53.5502755Z dist/assets/ayu-light-C3h-C4tm.js 20.19 kB │ gzip: 3.93 kB │ map: 27.14 kB 2026-10-25T00:57:53.5503120Z dist/assets/viml-DvXPmvsu.js 20.40 kB │ gzip: 6.77 kB │ map: 23.51 kB 2026-10-25T00:57:53.5503477Z dist/assets/DRLTVNUE-ahtn8WI2.js 20.40 kB │ gzip: 7.66 kB │ map: 50.95 kB 2026-10-25T00:57:53.5503849Z dist/assets/nushell-DcLAeLz5.js 20.45 kB │ gzip: 5.25 kB │ map: 27.67 kB 2026-10-25T00:57:53.5504211Z dist/assets/entities-6XAYYjcM.js 20.57 kB │ gzip: 6.96 kB │ map: 135.96 kB 2026-10-25T00:57:53.5504576Z dist/assets/HSJLKHB7-BBYpvRGk.js 20.80 kB │ gzip: 8.63 kB │ map: 57.03 kB 2026-10-25T00:57:53.5504952Z dist/assets/snazzy-light-4G7pJPwS.js 20.82 kB │ gzip: 3.84 kB │ map: 28.03 kB 2026-10-25T00:57:53.5505326Z dist/assets/twig-Ci9rMG4p.js 20.94 kB │ gzip: 3.70 kB │ map: 29.33 kB 2026-10-25T00:57:53.5505687Z dist/assets/dracula-BHWKrbxM.js 21.10 kB │ gzip: 4.03 kB │ map: 27.51 kB 2026-10-25T00:57:53.5506060Z dist/assets/dracula-soft-5eyTD99u.js 21.12 kB │ gzip: 4.06 kB │ map: 27.54 kB 2026-10-25T00:57:53.5506494Z dist/assets/number-field-BPgjJxdv.js 21.13 kB │ gzip: 8.04 kB │ map: 104.64 kB 2026-10-25T00:57:53.5507132Z dist/assets/wit-DdvCle-K.js 21.50 kB │ gzip: 2.91 kB │ map: 30.11 kB 2026-10-25T00:57:53.5507768Z dist/assets/rose-pine-BthvhNj6.js 21.78 kB │ gzip: 3.90 kB │ map: 28.78 kB 2026-10-25T00:57:53.5508518Z dist/assets/rose-pine-moon-hon4tzzS.js 21.80 kB │ gzip: 3.91 kB │ map: 28.81 kB 2026-10-25T00:57:53.5509314Z dist/assets/rose-pine-dawn-Dg85fqjY.js 21.80 kB │ gzip: 3.92 kB │ map: 28.81 kB 2026-10-25T00:57:53.5509994Z dist/assets/useStableCallback-z_SONSIp.js 22.26 kB │ gzip: 9.25 kB │ map: 690.61 kB 2026-10-25T00:57:53.5510564Z dist/assets/nim-BM9Yvas0.js 22.49 kB │ gzip: 3.19 kB │ map: 32.88 kB 2026-10-25T00:57:53.5510922Z dist/assets/common-lisp-Cv5bFMCO.js 22.62 kB │ gzip: 6.11 kB │ map: 26.69 kB 2026-10-25T00:57:53.5511297Z dist/assets/surrealql-BhXwxFwT.js 22.63 kB │ gzip: 4.34 kB │ map: 32.51 kB 2026-10-25T00:57:53.5511681Z dist/assets/gruvbox-dark-hard-C820rvS2.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-25T00:57:53.5512073Z dist/assets/gruvbox-dark-soft-MrdJrrXF.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-25T00:57:53.5512468Z dist/assets/gruvbox-light-hard-BC_s9l72.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-25T00:57:53.5512869Z dist/assets/gruvbox-light-soft-BSMLrYjP.js 22.68 kB │ gzip: 4.19 kB │ map: 30.59 kB 2026-10-25T00:57:53.5513267Z dist/assets/gruvbox-dark-medium-BPjhmG05.js 22.69 kB │ gzip: 4.19 kB │ map: 30.60 kB 2026-10-25T00:57:53.5513675Z dist/assets/gruvbox-light-medium-BAWPOn9u.js 22.69 kB │ gzip: 4.20 kB │ map: 30.61 kB 2026-10-25T00:57:53.5514055Z dist/assets/bird2-C6vDhewU.js 22.97 kB │ gzip: 4.69 kB │ map: 31.06 kB 2026-10-25T00:57:53.5514423Z dist/assets/5OC2THR4-CLeRZizl.js 23.28 kB │ gzip: 9.39 kB │ map: 61.59 kB 2026-10-25T00:57:53.5514775Z dist/assets/sql-DJtPbMSQ.js 23.52 kB │ gzip: 7.54 kB │ map: 27.96 kB 2026-10-25T00:57:53.5515143Z dist/assets/cadence-CQ2zXKGN.js 23.70 kB │ gzip: 3.69 kB │ map: 33.59 kB 2026-10-25T00:57:53.5515502Z dist/assets/astro-BmmE1wns.js 24.06 kB │ gzip: 7.63 kB │ map: 29.26 kB 2026-10-25T00:57:53.5515858Z dist/assets/apl-Dbn5QvGU.js 24.07 kB │ gzip: 4.20 kB │ map: 33.43 kB 2026-10-25T00:57:53.5516210Z dist/assets/templ-ChNxr6tm.js 24.10 kB │ gzip: 5.45 kB │ map: 30.96 kB 2026-10-25T00:57:53.5516572Z dist/assets/SLD4V6NK-BaShqH2X.js 24.20 kB │ gzip: 10.11 kB │ map: 66.35 kB 2026-10-25T00:57:53.5516943Z dist/assets/angular-html-CHSubNNg.js 24.28 kB │ gzip: 4.02 kB │ map: 35.88 kB 2026-10-25T00:57:53.5517308Z dist/assets/vhdl-BroJfC0k.js 24.29 kB │ gzip: 3.90 kB │ map: 33.38 kB 2026-10-25T00:57:53.5517657Z dist/assets/vue-DhtZA_zP.js 24.53 kB │ gzip: 2.99 kB │ map: 36.98 kB 2026-10-25T00:57:53.5518023Z dist/assets/purescript-9MfHhQsQ.js 24.72 kB │ gzip: 3.27 kB │ map: 34.90 kB 2026-10-25T00:57:53.5518398Z dist/assets/typespec-BRdr0IET.js 25.08 kB │ gzip: 2.66 kB │ map: 34.70 kB 2026-10-25T00:57:53.5519042Z dist/assets/one-light-D7Lr4KcI.js 25.34 kB │ gzip: 3.67 kB │ map: 33.81 kB 2026-10-25T00:57:53.5519725Z dist/assets/fsharp-D13ZGOAj.js 25.34 kB │ gzip: 4.16 kB │ map: 35.90 kB 2026-10-25T00:57:53.5520369Z dist/assets/marko-BaagTwf0.js 25.52 kB │ gzip: 3.62 kB │ map: 35.92 kB 2026-10-25T00:57:53.5521031Z dist/assets/night-owl-light-eJ-hLW7d.js 25.95 kB │ gzip: 4.27 kB │ map: 35.17 kB 2026-10-25T00:57:53.5521719Z dist/assets/system-verilog-DJ5XKQeo.js 26.24 kB │ gzip: 4.86 kB │ map: 36.27 kB 2026-10-25T00:57:53.5522290Z dist/assets/useThreadActions-DocpkN9U.js 26.32 kB │ gzip: 8.49 kB │ map: 129.82 kB 2026-10-25T00:57:53.5522702Z dist/assets/nord-Cb4Vim4T.js 26.76 kB │ gzip: 4.39 kB │ map: 35.36 kB 2026-10-25T00:57:53.5523056Z dist/assets/codeql-oeQT6MSM.js 26.92 kB │ gzip: 3.83 kB │ map: 36.02 kB 2026-10-25T00:57:53.5523415Z dist/assets/c3-BFHwR3_K.js 27.00 kB │ gzip: 3.96 kB │ map: 39.15 kB 2026-10-25T00:57:53.5523772Z dist/assets/T3PCR2KE-D8PDRxuo.js 27.06 kB │ gzip: 11.16 kB │ map: 74.49 kB 2026-10-25T00:57:53.5524132Z dist/assets/scss-DQyDwCYy.js 27.30 kB │ gzip: 4.26 kB │ map: 38.39 kB 2026-10-25T00:57:53.5524487Z dist/assets/java-CF-jL4AX.js 27.31 kB │ gzip: 4.34 kB │ map: 38.66 kB 2026-10-25T00:57:53.5524853Z dist/assets/coffee-BHyBL9L1.js 27.46 kB │ gzip: 6.39 kB │ map: 36.12 kB 2026-10-25T00:57:53.5525216Z dist/assets/razor-CRS4rNJT.js 27.49 kB │ gzip: 3.58 kB │ map: 38.35 kB 2026-10-25T00:57:53.5525585Z dist/assets/BB2UYUI2-Bj8rBI65.js 28.18 kB │ gzip: 10.96 kB │ map: 75.19 kB 2026-10-25T00:57:53.5526014Z dist/assets/sidebar-Z8Q6NZv_.js 28.33 kB │ gzip: 9.11 kB │ map: 123.41 kB 2026-10-25T00:57:53.5526651Z dist/assets/scala-DKOlJaKm.js 28.92 kB │ gzip: 3.96 kB │ map: 40.12 kB 2026-10-25T00:57:53.5527300Z dist/assets/night-owl-DhmEMT88.js 28.95 kB │ gzip: 5.18 kB │ map: 39.06 kB 2026-10-25T00:57:53.5527948Z dist/assets/select-BPLrl658.js 29.01 kB │ gzip: 10.87 kB │ map: 139.91 kB 2026-10-25T00:57:53.5528591Z dist/assets/crystal-xgOldvWp.js 29.45 kB │ gzip: 4.47 kB │ map: 41.29 kB 2026-10-25T00:57:53.5529273Z dist/assets/mermaid-Bk4SNUv9.js 29.54 kB │ gzip: 3.68 kB │ map: 44.12 kB 2026-10-25T00:57:53.5529936Z dist/assets/applescript-CCn79oCD.js 29.61 kB │ gzip: 5.98 kB │ map: 39.35 kB 2026-10-25T00:57:53.5530603Z dist/assets/BUM34MOA-Be9OJwZh.js 30.12 kB │ gzip: 11.46 kB │ map: 75.42 kB 2026-10-25T00:57:53.5531254Z dist/assets/75O6YZUN-DPWLelhm.js 30.19 kB │ gzip: 11.64 kB │ map: 77.70 kB 2026-10-25T00:57:53.5531826Z dist/assets/pierre-dark-CpLgRqie.js 30.59 kB │ gzip: 4.77 kB │ map: 34.24 kB 2026-10-25T00:57:53.5532207Z dist/assets/pierre-light-CoaEpmwp.js 30.59 kB │ gzip: 4.77 kB │ map: 34.25 kB 2026-10-25T00:57:53.5532673Z dist/assets/pierre-dark-soft-kZQmAZld.js 30.61 kB │ gzip: 4.81 kB │ map: 34.27 kB 2026-10-25T00:57:53.5533104Z dist/assets/pierre-light-soft-lWLdNTOI.js 30.61 kB │ gzip: 4.77 kB │ map: 34.27 kB 2026-10-25T00:57:53.5533513Z dist/assets/pierre-dark-tritanopia-CpjhbsIL.js 30.62 kB │ gzip: 4.72 kB │ map: 34.30 kB 2026-10-25T00:57:53.5533929Z dist/assets/pierre-light-tritanopia-CEbqgOJL.js 30.63 kB │ gzip: 4.73 kB │ map: 34.30 kB 2026-10-25T00:57:53.5534379Z dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js 30.66 kB │ gzip: 4.80 kB │ map: 34.36 kB 2026-10-25T00:57:53.5534841Z dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js 30.67 kB │ gzip: 4.76 kB │ map: 34.37 kB 2026-10-25T00:57:53.5535276Z dist/assets/ChatGptUsageButton-CTO6Dg-O.js 30.79 kB │ gzip: 12.00 kB │ map: 117.44 kB 2026-10-25T00:57:53.5535779Z dist/assets/julia-BAkj-Grs.js 31.05 kB │ gzip: 4.34 kB │ map: 40.65 kB 2026-10-25T00:57:53.5536207Z dist/assets/stylus-B6D30XZt.js 31.11 kB │ gzip: 8.05 kB │ map: 38.88 kB 2026-10-25T00:57:53.5536638Z dist/assets/N3JZAHOW-abpgCnXa.js 32.62 kB │ gzip: 13.28 kB │ map: 101.23 kB 2026-10-25T00:57:53.5537013Z dist/assets/poimandres-DRFjx7u4.js 33.53 kB │ gzip: 5.53 kB │ map: 43.07 kB 2026-10-25T00:57:53.5537491Z dist/assets/one-dark-pro-CLwyXe_n.js 33.83 kB │ gzip: 5.54 kB │ map: 44.51 kB 2026-10-25T00:57:53.5537861Z dist/assets/bsl-BkkzgIyY.js 33.90 kB │ gzip: 8.38 kB │ map: 37.63 kB 2026-10-25T00:57:53.5538219Z dist/assets/O65XPQGZ-CCWP_qV4.js 34.10 kB │ gzip: 12.69 kB │ map: 86.95 kB 2026-10-25T00:57:53.5538593Z dist/assets/UsageLimits-CaJ61o6m.js 34.31 kB │ gzip: 11.87 kB │ map: 148.44 kB 2026-10-25T00:57:53.5538964Z dist/assets/haxe-OTjmBuCE.js 35.19 kB │ gzip: 5.94 kB │ map: 49.52 kB 2026-10-25T00:57:53.5539377Z dist/assets/nginx-Bunv6cTi.js 35.39 kB │ gzip: 4.49 kB │ map: 48.50 kB 2026-10-25T00:57:53.5539736Z dist/assets/houston-CsvMBhTu.js 35.46 kB │ gzip: 5.80 kB │ map: 46.40 kB 2026-10-25T00:57:53.5540117Z dist/assets/tokyo-night-oM2G3aXe.js 35.71 kB │ gzip: 6.26 kB │ map: 45.35 kB 2026-10-25T00:57:53.5540515Z dist/assets/CodexSetupSection.logic-ByHra1Vk.js 36.09 kB │ gzip: 12.93 kB │ map: 164.42 kB 2026-10-25T00:57:53.5540930Z dist/assets/settings.keybindings-D6PomBWJ.js 37.15 kB │ gzip: 12.45 kB │ map: 164.58 kB 2026-10-25T00:57:53.5541313Z dist/assets/erlang-Cphh6RMH.js 37.52 kB │ gzip: 4.39 kB │ map: 51.59 kB 2026-10-25T00:57:53.5541699Z dist/assets/lazy-fV6-pjsx.js 38.37 kB │ gzip: 16.02 kB │ map: 81.90 kB 2026-10-25T00:57:53.5542063Z dist/assets/runtime-DXeY63Dt.js 38.55 kB │ gzip: 13.25 kB │ map: 196.19 kB 2026-10-25T00:57:53.5542445Z dist/assets/settings.projects-BSh2YkZO.js 38.96 kB │ gzip: 15.28 kB │ map: 163.46 kB 2026-10-25T00:57:53.5542846Z dist/assets/PullRequestCodeTab-BWnBsXXO.js 38.99 kB │ gzip: 14.41 kB │ map: 180.92 kB 2026-10-25T00:57:53.5543235Z dist/assets/useSettings-Ccf3BSgZ.js 39.06 kB │ gzip: 13.41 kB │ map: 174.19 kB 2026-10-25T00:57:53.5543607Z dist/assets/cobol-DlmPKder.js 39.11 kB │ gzip: 10.92 kB │ map: 47.39 kB 2026-10-25T00:57:53.5543969Z dist/assets/TKWO2OVW-CuCBNpl-.js 39.43 kB │ gzip: 14.77 kB │ map: 97.94 kB 2026-10-25T00:57:53.5544352Z dist/assets/ThemeEditorPanel-BYuVQfin.js 40.14 kB │ gzip: 14.48 kB │ map: 189.11 kB 2026-10-25T00:57:53.5544833Z dist/assets/asm-Cmm7eHzH.js 40.75 kB │ gzip: 8.20 kB │ map: 53.00 kB 2026-10-25T00:57:53.5545242Z dist/assets/RHNBAITX-BekFmgPY.js 41.31 kB │ gzip: 15.53 kB │ map: 105.33 kB 2026-10-25T00:57:53.5545608Z dist/assets/haskell-D8IpX4py.js 41.52 kB │ gzip: 6.44 kB │ map: 57.85 kB 2026-10-25T00:57:53.5545989Z dist/assets/shellscript-y5xaAa26.js 41.58 kB │ gzip: 6.16 kB │ map: 56.57 kB 2026-10-25T00:57:53.5546362Z dist/assets/combobox-PxYtuUNF.js 41.96 kB │ gzip: 14.23 kB │ map: 212.72 kB 2026-10-25T00:57:53.5546729Z dist/assets/perl-AhzhpTrP.js 43.18 kB │ gzip: 4.68 kB │ map: 60.84 kB 2026-10-25T00:57:53.5547091Z dist/assets/queries-9Wz7Iri8.js 43.21 kB │ gzip: 16.07 kB │ map: 239.43 kB 2026-10-25T00:57:53.5547463Z dist/assets/DiffPanel-DYXOaa8V.js 43.23 kB │ gzip: 16.72 kB │ map: 244.00 kB 2026-10-25T00:57:53.5548036Z dist/assets/d-qD-0Kul2.js 43.82 kB │ gzip: 8.46 kB │ map: 62.69 kB 2026-10-25T00:57:53.5548669Z dist/assets/LHDIQX7Q-C6-4QDgh.js 44.04 kB │ gzip: 16.12 kB │ map: 107.24 kB 2026-10-25T00:57:53.5549403Z dist/assets/DiffCommentAnnotation-DNlgXCwt.js 44.48 kB │ gzip: 15.81 kB │ map: 120.50 kB 2026-10-25T00:57:53.5550140Z dist/assets/ProviderModelPicker-RJlcM9y5.js 44.80 kB │ gzip: 16.01 kB │ map: 233.06 kB 2026-10-25T00:57:53.5550865Z dist/assets/pierre-dark-vibrant-CpQYzh95.js 44.81 kB │ gzip: 5.33 kB │ map: 48.48 kB 2026-10-25T00:57:53.5551584Z dist/assets/pierre-light-vibrant-D80Fkn33.js 44.81 kB │ gzip: 5.31 kB │ map: 48.48 kB 2026-10-25T00:57:53.5551989Z dist/assets/settingsLayout-ByksMhog.js 45.02 kB │ gzip: 15.83 kB │ map: 227.20 kB 2026-10-25T00:57:53.5552377Z dist/assets/DevicePanel-D_srwh5i.js 46.03 kB │ gzip: 15.61 kB │ map: 246.51 kB 2026-10-25T00:57:53.5552770Z dist/assets/settings.source-control-DArdlyV0.js 46.24 kB │ gzip: 15.07 kB │ map: 262.11 kB 2026-10-25T00:57:53.5553159Z dist/assets/toast-D1VVuO7M.js 46.38 kB │ gzip: 15.37 kB │ map: 273.09 kB 2026-10-25T00:57:53.5553520Z dist/assets/ruby-ubltFHEX.js 46.64 kB │ gzip: 5.74 kB │ map: 66.38 kB 2026-10-25T00:57:53.5553883Z dist/assets/go-rLFTqkRN.js 46.85 kB │ gzip: 5.18 kB │ map: 66.61 kB 2026-10-25T00:57:53.5554270Z dist/assets/settings.snap-shot-TS45IBEr.js 46.95 kB │ gzip: 16.63 kB │ map: 252.93 kB 2026-10-25T00:57:53.5554669Z dist/assets/catppuccin-mocha-DYhrFGRu.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-25T00:57:53.5555252Z dist/assets/catppuccin-latte-DwIHMF0Q.js 47.30 kB │ gzip: 8.02 kB │ map: 62.03 kB 2026-10-25T00:57:53.5555955Z dist/assets/catppuccin-frappe-3VR1Za6u.js 47.31 kB │ gzip: 8.03 kB │ map: 62.04 kB 2026-10-25T00:57:53.5556650Z dist/assets/PreviewPanel-vB7F4pz_.js 47.31 kB │ gzip: 17.21 kB │ map: 255.28 kB 2026-10-25T00:57:53.5557360Z dist/assets/catppuccin-macchiato-DYnBP6_5.js 47.31 kB │ gzip: 8.03 kB │ map: 62.06 kB 2026-10-25T00:57:53.5558044Z dist/assets/apex-VAyPSnFM.js 47.80 kB │ gzip: 6.85 kB │ map: 66.78 kB 2026-10-25T00:57:53.5558681Z dist/assets/ada-C5qYipkI.js 48.11 kB │ gzip: 6.00 kB │ map: 70.96 kB 2026-10-25T00:57:53.5559253Z dist/assets/css-kzGS2ZwB.js 49.13 kB │ gzip: 11.99 kB │ map: 60.67 kB 2026-10-25T00:57:53.5559679Z dist/assets/welcome-DkGYGM6J.js 49.74 kB │ gzip: 17.02 kB │ map: 266.54 kB 2026-10-25T00:57:53.5560087Z dist/assets/imba-DsUTQ-LC.js 49.96 kB │ gzip: 9.51 kB │ map: 68.08 kB 2026-10-25T00:57:53.5560459Z dist/assets/sortable.esm-CXlmMx3F.js 50.51 kB │ gzip: 16.26 kB │ map: 236.47 kB 2026-10-25T00:57:53.5560852Z dist/assets/everforest-dark-sB-x3p7T.js 53.79 kB │ gzip: 8.41 kB │ map: 68.28 kB 2026-10-25T00:57:53.5561246Z dist/assets/everforest-light-Df2xbC6M.js 53.79 kB │ gzip: 8.41 kB │ map: 68.29 kB 2026-10-25T00:57:53.5561723Z dist/assets/Virtualizer-rAskmiYu.js 55.69 kB │ gzip: 14.33 kB │ map: 177.52 kB 2026-10-25T00:57:53.5562390Z dist/assets/wikitext-ClFFjSW2.js 55.92 kB │ gzip: 4.85 kB │ map: 77.64 kB 2026-10-25T00:57:53.5563096Z dist/assets/ScheduledTasksSettings-BaP7eRB3.js 56.55 kB │ gzip: 19.17 kB │ map: 343.57 kB 2026-10-25T00:57:53.5563780Z dist/assets/stata-Ciuk7_mY.js 57.03 kB │ gzip: 12.44 kB │ map: 74.20 kB 2026-10-25T00:57:53.5564412Z dist/assets/html-DIIndQnv.js 57.35 kB │ gzip: 11.82 kB │ map: 73.07 kB 2026-10-25T00:57:53.5565060Z dist/assets/ballerina-B7ZEbQpA.js 58.73 kB │ gzip: 8.14 kB │ map: 81.54 kB 2026-10-25T00:57:53.5565727Z dist/assets/markdown-BYOwaDjH.js 59.37 kB │ gzip: 5.70 kB │ map: 82.33 kB 2026-10-25T00:57:53.5566361Z dist/assets/pierre-icons-BWrIWU1l.js 60.69 kB │ gzip: 22.05 kB │ map: 82.50 kB 2026-10-25T00:57:53.5566958Z dist/assets/Icons-Bn5IhT4C.js 61.79 kB │ gzip: 30.40 kB │ map: 165.88 kB 2026-10-25T00:57:53.5567518Z dist/assets/ocaml-O90oeIOV.js 62.48 kB │ gzip: 5.08 kB │ map: 81.11 kB 2026-10-25T00:57:53.5568086Z dist/assets/mojo-BgCJLMeH.js 69.83 kB │ gzip: 9.25 kB │ map: 94.94 kB 2026-10-25T00:57:53.5568644Z dist/assets/python-gzcpVVnB.js 69.98 kB │ gzip: 9.13 kB │ map: 95.24 kB 2026-10-25T00:57:53.5569269Z dist/assets/useHandleNewThread-oZzaj5Qy.js 71.00 kB │ gzip: 22.60 kB │ map: 333.69 kB 2026-10-25T00:57:53.5569851Z dist/assets/c-esFkreWu.js 72.20 kB │ gzip: 10.58 kB │ map: 95.41 kB 2026-10-25T00:57:53.5570398Z dist/assets/latex-b0569jTU.js 72.91 kB │ gzip: 6.78 kB │ map: 100.96 kB 2026-10-25T00:57:53.5570941Z dist/assets/vyper-CgoNMtux.js 74.68 kB │ gzip: 10.73 kB │ map: 100.71 kB 2026-10-25T00:57:53.5571491Z dist/assets/hack-mYo6lwOk.js 81.09 kB │ gzip: 26.47 kB │ map: 98.63 kB 2026-10-25T00:57:53.5572068Z dist/assets/SettingsPanels-DJ06myfz.js 82.59 kB │ gzip: 25.82 kB │ map: 507.56 kB 2026-10-25T00:57:53.5572667Z dist/assets/themePalette-UuUS1NyL.js 83.31 kB │ gzip: 23.88 kB │ map: 284.11 kB 2026-10-25T00:57:53.5573231Z dist/assets/swift-DonLKvLd.js 86.72 kB │ gzip: 14.72 kB │ map: 114.51 kB 2026-10-25T00:57:53.5573830Z dist/assets/DiffWorkerPoolProvider-BDUoN8xB.js 87.11 kB │ gzip: 23.11 kB │ map: 273.90 kB 2026-10-25T00:57:53.5574449Z dist/assets/fortran-free-form-CYNrtFtB.js 89.01 kB │ gzip: 11.23 kB │ map: 124.06 kB 2026-10-25T00:57:53.5575031Z dist/assets/csharp-oqKa8noW.js 90.22 kB │ gzip: 10.75 kB │ map: 126.35 kB 2026-10-25T00:57:53.5576421Z dist/assets/FileDiff-Oj3yHpGT.js 91.16 kB │ gzip: 23.35 kB │ map: 307.03 kB 2026-10-25T00:57:53.5577307Z dist/assets/_chat.pull-requests-D8rQdpWS.js 91.35 kB │ gzip: 32.69 kB │ map: 452.85 kB 2026-10-25T00:57:53.5578061Z dist/assets/racket-DcIDlBhZ.js 92.42 kB │ gzip: 15.11 kB │ map: 106.19 kB 2026-10-25T00:57:53.5578651Z dist/assets/settings.diagnostics-CNG4D2jE.js 93.79 kB │ gzip: 27.29 kB │ map: 499.48 kB 2026-10-25T00:57:53.5579302Z dist/assets/embeddedScripts-BLaURTlD.js 94.06 kB │ gzip: 24.28 kB │ map: 399.57 kB 2026-10-25T00:57:53.5579877Z dist/assets/usage-DXqfqyup.js 96.05 kB │ gzip: 32.14 kB │ map: 559.57 kB 2026-10-25T00:57:53.5580455Z dist/assets/settings.integrations-Xaga2UNh.js 96.55 kB │ gzip: 31.38 kB │ map: 566.33 kB 2026-10-25T00:57:53.5581032Z dist/assets/less-DVTAwKKz.js 97.66 kB │ gzip: 14.88 kB │ map: 131.85 kB 2026-10-25T00:57:53.5581583Z dist/assets/blade-DBGhfhIu.js 105.01 kB │ gzip: 28.34 kB │ map: 131.09 kB 2026-10-25T00:57:53.5582156Z dist/assets/objective-c-D1A_Heim.js 105.45 kB │ gzip: 23.67 kB │ map: 129.66 kB 2026-10-25T00:57:53.5582785Z dist/assets/settings.connections-KhMCe3WU.js 107.31 kB │ gzip: 36.23 kB │ map: 612.95 kB 2026-10-25T00:57:53.5583220Z dist/assets/php-BrskDoCo.js 113.12 kB │ gzip: 28.89 kB │ map: 142.15 kB 2026-10-25T00:57:53.5583597Z dist/assets/ThreadTerminalDrawer-BKv4DjmQ.js 113.80 kB │ gzip: 33.61 kB │ map: 458.92 kB 2026-10-25T00:57:53.5584002Z dist/assets/getDiffFileInput-DRq4BQ9-.js 124.36 kB │ gzip: 30.75 kB │ map: 375.11 kB 2026-10-25T00:57:53.5584382Z dist/assets/asciidoc-DE70LPWp.js 131.56 kB │ gzip: 9.35 kB │ map: 189.11 kB 2026-10-25T00:57:53.5584742Z dist/assets/mdx-DQZ5AkYe.js 136.14 kB │ gzip: 23.57 kB │ map: 176.72 kB 2026-10-25T00:57:53.5585120Z dist/assets/RenderErrorBoundary-BdWtDnWP.js 153.38 kB │ gzip: 45.88 kB │ map: 938.43 kB 2026-10-25T00:57:53.5585533Z dist/assets/settings.providers-BBudU1Dl.js 161.55 kB │ gzip: 53.38 kB │ map: 828.10 kB 2026-10-25T00:57:53.5585929Z dist/assets/objective-cpp-BsSzOQcm.js 172.01 kB │ gzip: 31.02 kB │ map: 218.54 kB 2026-10-25T00:57:53.5586320Z dist/assets/javascript-DM2jNGak.js 174.93 kB │ gzip: 16.72 kB │ map: 236.10 kB 2026-10-25T00:57:53.5586678Z dist/assets/tsx-BeGYnVHn.js 175.63 kB │ gzip: 16.71 kB │ map: 236.76 kB 2026-10-25T00:57:53.5587259Z dist/assets/jsx-DQaT7vKh.js 177.88 kB │ gzip: 16.80 kB │ map: 239.02 kB 2026-10-25T00:57:53.5587876Z dist/assets/runtime-ChKt_Xny.js 178.46 kB │ gzip: 51.38 kB │ map: 826.16 kB 2026-10-25T00:57:53.5588523Z dist/assets/typescript-BEWCPeCr.js 181.18 kB │ gzip: 16.32 kB │ map: 244.44 kB 2026-10-25T00:57:53.5589198Z dist/assets/angular-ts-B9yvU4g3.js 183.77 kB │ gzip: 16.82 kB │ map: 249.70 kB 2026-10-25T00:57:53.5589813Z dist/assets/vue-vine-DBK802jz.js 190.10 kB │ gzip: 18.11 kB │ map: 255.27 kB 2026-10-25T00:57:53.5590188Z dist/assets/fileTreeExpansion-DWgu0PZ_.js 199.35 kB │ gzip: 54.49 kB │ map: 731.80 kB 2026-10-25T00:57:53.5590570Z dist/assets/FilePreviewPanel-B3J-FgAf.js 204.10 kB │ gzip: 66.97 kB │ map: 946.02 kB 2026-10-25T00:57:53.5590953Z dist/assets/settings.appearance-Bi2C2oQP.js 213.97 kB │ gzip: 68.29 kB │ map: 896.66 kB 2026-10-25T00:57:53.5591329Z dist/assets/diffRendering-Cw3UBqyS.js 254.85 kB │ gzip: 81.54 kB │ map: 946.66 kB 2026-10-25T00:57:53.5592100Z dist/assets/katex-DJhrJSbw.js 258.63 kB │ gzip: 77.46 kB │ map: 969.65 kB 2026-10-25T00:57:53.5592795Z dist/assets/wolfram-DLL8P-h_.js 262.42 kB │ gzip: 77.67 kB │ map: 279.66 kB 2026-10-25T00:57:53.5593136Z dist/assets/dist-DnHEq9ZD.js 332.34 kB │ gzip: 97.19 kB │ map: 1,652.92 kB 2026-10-25T00:57:53.5593504Z dist/assets/PanelLayoutControls-BmrdsEQy.js 384.63 kB │ gzip: 119.95 kB │ map: 1,813.73 kB 2026-10-25T00:57:53.5593876Z dist/assets/ChatMarkdown-BP_PShWM.js 438.84 kB │ gzip: 146.30 kB │ map: 1,866.44 kB 2026-10-25T00:57:53.5594250Z dist/assets/ComposerPromptEditor-BxvBiUey.js 519.86 kB │ gzip: 167.91 kB │ map: 2,358.60 kB 2026-10-25T00:57:53.5594625Z dist/assets/lucideIconByName-Blg_efNR.js 553.52 kB │ gzip: 141.16 kB │ map: 2,035.78 kB 2026-10-25T00:57:53.5594999Z dist/assets/renderScheduler-B6HefCa6.js 608.04 kB │ gzip: 156.02 kB │ map: 3,048.60 kB 2026-10-25T00:57:53.5595357Z dist/assets/wasm-BnjxR4X6.js 622.36 kB │ gzip: 232.13 kB │ map: 622.90 kB 2026-10-25T00:57:53.5595697Z dist/assets/cpp-5pYxG9nn.js 626.16 kB │ gzip: 48.12 kB │ map: 816.28 kB 2026-10-25T00:57:53.5596044Z dist/assets/emacs-lisp-B4R74twV.js 779.92 kB │ gzip: 197.59 kB │ map: 789.85 kB 2026-10-25T00:57:53.5596391Z dist/assets/main-BO4mhi2V.js 1,055.85 kB │ gzip: 345.66 kB │ map: 5,061.54 kB 2026-10-25T00:57:53.5596735Z dist/assets/utils-CWHkgqU0.js 1,160.33 kB │ gzip: 360.16 kB │ map: 8,589.05 kB 2026-10-25T00:57:53.5597075Z dist/assets/_chat-01U9XQmY.js 1,313.45 kB │ gzip: 438.05 kB │ map: 6,552.16 kB 2026-10-25T00:57:53.5597419Z dist/assets/heic-to-DeD09f__.js 2,995.22 kB │ gzip: 750.97 kB │ map: 2,998.72 kB 2026-10-25T00:57:53.5597601Z 2026-10-25T00:57:53.5597755Z [plugin builtin:vite-reporter] 2026-10-25T00:57:53.5597967Z (!) Some chunks are larger than 500 kB after minification. Consider: 2026-10-25T00:57:53.5598197Z - Using dynamic import() to code-split the application 2026-10-25T00:57:53.5598592Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting 2026-10-25T00:57:53.5599025Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. 2026-10-25T00:57:53.5599723Z ✓ built in 9.89s 2026-10-25T00:57:53.6341010Z 2026-10-25T00:57:53.6341744Z ~/apps/server$ node scripts/cli.ts build ⊘ cache disabled 2026-10-25T00:57:53.9096612Z [00:57:53.908] INFO (#1): [cli] Running tsdown... 2026-10-25T00:57:55.7134541Z [00:57:55.713] INFO (#1): [cli] Applied development icon overrides to dist/client 2026-10-25T00:57:55.7135023Z [00:57:55.713] INFO (#1): [cli] Bundled web app into dist/client 2026-10-25T00:57:55.7267971Z 2026-10-25T00:57:55.7269048Z ~/apps/desktop$ node scripts/build-browser-secret.mjs ⊘ cache disabled 2026-10-25T00:57:55.9132080Z 2026-10-25T00:57:55.9132813Z ~/apps/desktop$ node scripts/build-preview-annotation-css.mjs ⊘ cache disabled 2026-10-25T00:57:55.9673788Z 2026-10-25T00:57:55.9674533Z ~/apps/desktop$ vp pack ⊘ cache disabled 2026-10-25T00:57:56.0958791Z ℹ entry: src/main.ts 2026-10-25T00:57:56.0959609Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0966374Z ℹ entry: src/electron/WindowsForegroundFocusWorker.ts, src/snapShot/GlobalShiftShortcutWorker.ts, src/snapShot/RegionSnapShotWorker.ts, src/snapShot/SnapShotAccessibilityWorker.ts 2026-10-25T00:57:56.0966999Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0970182Z ℹ entry: src/boot.ts, src/compileCache.ts 2026-10-25T00:57:56.0970364Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0973030Z ℹ entry: src/preload.ts 2026-10-25T00:57:56.0973194Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0977270Z ℹ entry: src/preview-pick-preload.ts 2026-10-25T00:57:56.0977431Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0985987Z ℹ entry: src/preview-pip-preload.ts 2026-10-25T00:57:56.0986481Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0986751Z ℹ entry: src/mac-permission-preload.ts 2026-10-25T00:57:56.0986937Z ℹ tsconfig: tsconfig.json 2026-10-25T00:57:56.0987176Z ℹ Build start 2026-10-25T00:57:56.1229601Z ℹ dist-electron/preview-pip-preload.cjs 0.68 kB │ gzip: 0.36 kB 2026-10-25T00:57:56.1252734Z ℹ dist-electron/preview-pip-preload.cjs.map 10.93 kB │ gzip: 2.83 kB 2026-10-25T00:57:56.1311126Z ℹ 2 files, total: 11.61 kB 2026-10-25T00:57:56.1327087Z ✔ Build complete in 24ms 2026-10-25T00:57:56.1327797Z ℹ dist-electron/mac-permission-preload.cjs 0.79 kB │ gzip: 0.38 kB 2026-10-25T00:57:56.1328228Z ℹ dist-electron/mac-permission-preload.cjs.map 11.01 kB │ gzip: 2.80 kB 2026-10-25T00:57:56.1328571Z ℹ 2 files, total: 11.80 kB 2026-10-25T00:57:56.1328890Z ℹ dist-electron/compileCache.cjs 1.61 kB │ gzip: 0.75 kB 2026-10-25T00:57:56.1329324Z ℹ dist-electron/boot.cjs 0.12 kB │ gzip: 0.12 kB 2026-10-25T00:57:56.1329738Z ℹ dist-electron/compileCache.cjs.map 1.29 kB │ gzip: 0.74 kB 2026-10-25T00:57:56.1330113Z ℹ dist-electron/boot.cjs.map 0.31 kB │ gzip: 0.22 kB 2026-10-25T00:57:56.1330421Z ℹ 4 files, total: 3.33 kB 2026-10-25T00:57:56.1368116Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-25T00:57:56.1368729Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-25T00:57:56.1369106Z Detected dependencies in bundle: 2026-10-25T00:57:56.1369329Z - @clerk/electron 2026-10-25T00:57:56.1404833Z ✔ Build complete in 42ms 2026-10-25T00:57:56.1406128Z ✔ Build complete in 42ms 2026-10-25T00:57:56.1657029Z ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint. 2026-10-25T00:57:56.1666742Z See more at https://tsdown.dev/options/dependencies#deps-onlybundle 2026-10-25T00:57:56.1667133Z Detected dependencies in bundle: 2026-10-25T00:57:56.1667470Z - react-grab 2026-10-25T00:57:56.1675382Z ℹ dist-electron/preload.cjs 32.04 kB │ gzip: 7.35 kB 2026-10-25T00:57:56.1675641Z ℹ dist-electron/preload.cjs.map 58.74 kB │ gzip: 13.13 kB 2026-10-25T00:57:56.1675832Z ℹ 2 files, total: 90.78 kB 2026-10-25T00:57:56.1835424Z ✔ Build complete in 85ms 2026-10-25T00:57:56.2109322Z ℹ dist-electron/preview-pick-preload.cjs 136.94 kB │ gzip: 36.46 kB 2026-10-25T00:57:56.2179785Z ℹ dist-electron/preview-pick-preload.cjs.map 243.14 kB │ gzip: 62.42 kB 2026-10-25T00:57:56.2183332Z ℹ 2 files, total: 380.08 kB 2026-10-25T00:57:56.2199167Z ✔ Build complete in 121ms 2026-10-25T00:57:56.4186596Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs 6.35 kB │ gzip: 1.97 kB 2026-10-25T00:57:56.4187363Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs 5.71 kB │ gzip: 1.60 kB 2026-10-25T00:57:56.4188177Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs 2.32 kB │ gzip: 0.89 kB 2026-10-25T00:57:56.4188790Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs 0.77 kB │ gzip: 0.43 kB 2026-10-25T00:57:56.4189328Z ℹ dist-electron/snapShot-DvQtEmjx.cjs.map 4.58 MB 2026-10-25T00:57:56.4189777Z ℹ dist-electron/snapShot-DvQtEmjx.cjs 1.19 MB 2026-10-25T00:57:56.4190258Z ℹ dist-electron/snapShot/SnapShotAccessibilityWorker.cjs.map 13.86 kB │ gzip: 4.10 kB 2026-10-25T00:57:56.4190888Z ℹ dist-electron/snapShot/GlobalShiftShortcutWorker.cjs.map 13.29 kB │ gzip: 3.40 kB 2026-10-25T00:57:56.4191559Z ℹ dist-electron/electron/WindowsForegroundFocusWorker.cjs.map 5.07 kB │ gzip: 1.69 kB 2026-10-25T00:57:56.4192182Z ℹ dist-electron/snapShot/RegionSnapShotWorker.cjs.map 1.73 kB │ gzip: 0.82 kB 2026-10-25T00:57:56.4192814Z ℹ dist-electron/rolldown-runtime-VH7oDXx4.cjs 1.13 kB │ gzip: 0.54 kB 2026-10-25T00:57:56.4193283Z ℹ 11 files, total: 5.83 MB 2026-10-25T00:57:56.4193553Z ✔ Build complete in 320ms 2026-10-25T00:57:56.8694205Z ℹ dist-electron/main.cjs 5.49 MB 2026-10-25T00:57:56.8694573Z ℹ dist-electron/main.cjs.map 13.91 MB 2026-10-25T00:57:56.8694748Z ℹ 2 files, total: 19.40 MB 2026-10-25T00:57:56.8701271Z ../../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-25T00:57:56.8703599Z ╭─[ ../../node_modules/.pnpm/dbus-next@0.10.2_patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4/node_modules/dbus-next/lib/address-x11.js:7:23 ] 2026-10-25T00:57:56.8704049Z │ 2026-10-25T00:57:56.8704708Z 7 │   const x11 = require('x11'); 2026-10-25T00:57:56.8705274Z  │ ──┬── 2026-10-25T00:57:56.8705544Z  │ ╰──── Module not found, treating it as an external dependency 2026-10-25T00:57:56.8705899Z ───╯ 2026-10-25T00:57:56.8705977Z 2026-10-25T00:57:56.8706342Z ../../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-25T00:57:56.8706948Z ╭─[ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/ConfigProvider.js:725:8 ] 2026-10-25T00:57:56.8707258Z │ 2026-10-25T00:57:56.8707664Z 725 │     ...import.meta?.env 2026-10-25T00:57:56.8708026Z  │ ─────┬───── 2026-10-25T00:57:56.8708644Z  │ ╰─────── 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-25T00:57:56.8709205Z ─────╯ 2026-10-25T00:57:56.8709279Z 2026-10-25T00:57:56.8709355Z ✔ Build complete in 772ms 2026-10-25T00:57:56.8870342Z 2026-10-25T00:57:56.8871879Z --- 2026-10-25T00:57:56.8872166Z vp run: 5/5 successful. (Run `vp run --last-details` for full details) 2026-10-25T00:57:56.8997484Z ##[group]Run node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-25T00:57:56.8997941Z node apps/desktop/scripts/verify-preload-bundle.mjs 2026-10-25T00:57:56.9007894Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:56.9008033Z env: 2026-10-25T00:57:56.9008155Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:56.9008315Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:56.9008468Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:56.9008688Z ##[endgroup] 2026-10-25T00:57:56.9410901Z ##[group]Run until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-25T00:57:56.9411204Z until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-10-25T00:57:56.9411409Z cat "$RUNNER_TEMP/typecheck.log" 2026-10-25T00:57:56.9411592Z exit "$(cat "$RUNNER_TEMP/typecheck-status")" 2026-10-25T00:57:56.9421368Z shell: /usr/bin/bash -e {0} 2026-10-25T00:57:56.9421504Z env: 2026-10-25T00:57:56.9421623Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:57:56.9421788Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:57:56.9422077Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-10-25T00:57:56.9422222Z ##[endgroup] 2026-10-25T00:57:59.9485055Z ~/packages/effect-acp$ tsc --noEmit 2026-10-25T00:57:59.9485540Z ~/packages/effect-codex-app-server$ tsc --noEmit 2026-10-25T00:57:59.9485722Z ~/oxlint-plugin-t3code$ tsc --noEmit 2026-10-25T00:57:59.9485872Z ~/packages/contracts$ tsc --noEmit 2026-10-25T00:57:59.9485964Z 2026-10-25T00:57:59.9486345Z 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-25T00:57:59.9486739Z 2026-10-25T00:57:59.9486796Z 40 error: Schema.Struct({ 2026-10-25T00:57:59.9486921Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9487053Z 41 _tag: Schema.Literal("Cause"), 2026-10-25T00:57:59.9487188Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9487372Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-25T00:57:59.9487588Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9487750Z 43 }), 2026-10-25T00:57:59.9487854Z ~~~~ 2026-10-25T00:57:59.9487911Z 2026-10-25T00:57:59.9488237Z 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-25T00:57:59.9488595Z 2026-10-25T00:57:59.9488692Z 42 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-25T00:57:59.9488932Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9489044Z 2026-10-25T00:57:59.9489327Z 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-25T00:57:59.9489639Z 2026-10-25T00:57:59.9489698Z 422 handleInitialize: (handler) => 2026-10-25T00:57:59.9489838Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9489909Z 2026-10-25T00:57:59.9490183Z 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-25T00:57:59.9490500Z 2026-10-25T00:57:59.9490559Z 427 handleAuthenticate: (handler) => 2026-10-25T00:57:59.9490699Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9490774Z 2026-10-25T00:57:59.9491035Z 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-25T00:57:59.9491337Z 2026-10-25T00:57:59.9491392Z 432 handleLogout: (handler) => 2026-10-25T00:57:59.9491527Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9491590Z 2026-10-25T00:57:59.9491863Z 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-25T00:57:59.9492492Z 2026-10-25T00:57:59.9492549Z 437 handleCreateSession: (handler) => 2026-10-25T00:57:59.9492692Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9492764Z 2026-10-25T00:57:59.9493198Z 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-25T00:57:59.9493506Z 2026-10-25T00:57:59.9493561Z 442 handleLoadSession: (handler) => 2026-10-25T00:57:59.9493693Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9493766Z 2026-10-25T00:57:59.9494035Z 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-25T00:57:59.9494344Z 2026-10-25T00:57:59.9494397Z 447 handleListSessions: (handler) => 2026-10-25T00:57:59.9494539Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9494608Z 2026-10-25T00:57:59.9494874Z 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-25T00:57:59.9495182Z 2026-10-25T00:57:59.9495237Z 452 handleForkSession: (handler) => 2026-10-25T00:57:59.9495455Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9495527Z 2026-10-25T00:57:59.9495798Z 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-25T00:57:59.9496109Z 2026-10-25T00:57:59.9496166Z 457 handleResumeSession: (handler) => 2026-10-25T00:57:59.9496306Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9496380Z 2026-10-25T00:57:59.9496643Z 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-25T00:57:59.9497043Z 2026-10-25T00:57:59.9497098Z 462 handleCloseSession: (handler) => 2026-10-25T00:57:59.9497302Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9497377Z 2026-10-25T00:57:59.9497652Z 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-25T00:57:59.9497964Z 2026-10-25T00:57:59.9498022Z 467 handleDeleteSession: (handler) => 2026-10-25T00:57:59.9498157Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9498229Z 2026-10-25T00:57:59.9498497Z 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-25T00:57:59.9498835Z 2026-10-25T00:57:59.9498893Z 472 handleListProviders: (handler) => 2026-10-25T00:57:59.9499032Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9499101Z 2026-10-25T00:57:59.9499368Z 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-25T00:57:59.9499676Z 2026-10-25T00:57:59.9499731Z 477 handleSetProvider: (handler) => 2026-10-25T00:57:59.9499862Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9499932Z 2026-10-25T00:57:59.9500207Z 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-25T00:57:59.9500519Z 2026-10-25T00:57:59.9500580Z 482 handleDisableProvider: (handler) => 2026-10-25T00:57:59.9500727Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9500800Z 2026-10-25T00:57:59.9501090Z 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-25T00:57:59.9501424Z 2026-10-25T00:57:59.9501496Z 487 handleSetSessionConfigOption: (handler) => 2026-10-25T00:57:59.9501652Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9501812Z 2026-10-25T00:57:59.9502068Z 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-25T00:57:59.9502362Z 2026-10-25T00:57:59.9502417Z 492 handlePrompt: (handler) => 2026-10-25T00:57:59.9502549Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9502612Z 2026-10-25T00:57:59.9502871Z 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-25T00:57:59.9503170Z 2026-10-25T00:57:59.9503221Z 497 handleCancel: (handler) => 2026-10-25T00:57:59.9503344Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9503412Z 2026-10-25T00:57:59.9503694Z 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-25T00:57:59.9504014Z 2026-10-25T00:57:59.9504075Z 502 handleUnknownExtRequest: (handler) => 2026-10-25T00:57:59.9504226Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9504303Z 2026-10-25T00:57:59.9504592Z 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-25T00:57:59.9504922Z 2026-10-25T00:57:59.9504990Z 507 handleUnknownExtNotification: (handler) => 2026-10-25T00:57:59.9505143Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9505226Z 2026-10-25T00:57:59.9505519Z 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-25T00:57:59.9505902Z 2026-10-25T00:57:59.9505971Z 512 handleExtRequest: (method, payload, handler) => 2026-10-25T00:57:59.9506132Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9506201Z 2026-10-25T00:57:59.9506502Z 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-25T00:57:59.9506840Z 2026-10-25T00:57:59.9506921Z 517 handleExtNotification: (method, payload, handler) => 2026-10-25T00:57:59.9507085Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9507162Z 2026-10-25T00:57:59.9507489Z 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-25T00:57:59.9507861Z 2026-10-25T00:57:59.9507908Z 56 error: Schema.Struct({ 2026-10-25T00:57:59.9508031Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9508153Z 57 _tag: Schema.Literal("Cause"), 2026-10-25T00:57:59.9508290Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9508466Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-25T00:57:59.9508677Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9508845Z 59 }), 2026-10-25T00:57:59.9508961Z ~~~~ 2026-10-25T00:57:59.9509014Z 2026-10-25T00:57:59.9509330Z 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-25T00:57:59.9509686Z 2026-10-25T00:57:59.9509781Z 58 data: Schema.Tuple([Schema.Struct({ _tag: Schema.Literal("Die") })]), 2026-10-25T00:57:59.9509979Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9510093Z 2026-10-25T00:57:59.9510393Z 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-25T00:57:59.9510681Z 2026-10-25T00:57:59.9510746Z 1071 yield* Effect.all( 2026-10-25T00:57:59.9510878Z ~~~~~~~~~~ 2026-10-25T00:57:59.9510955Z 2026-10-25T00:57:59.9511252Z src/client.ts:1245:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleRequestPermission")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9511580Z 2026-10-25T00:57:59.9511645Z 1245 handleRequestPermission: (handler) => 2026-10-25T00:57:59.9511794Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9511871Z 2026-10-25T00:57:59.9512143Z src/client.ts:1250:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleElicitation")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9512453Z 2026-10-25T00:57:59.9512511Z 1250 handleElicitation: (handler) => 2026-10-25T00:57:59.9512650Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9512718Z 2026-10-25T00:57:59.9512987Z src/client.ts:1255:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpConnect")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9513297Z 2026-10-25T00:57:59.9513351Z 1255 handleMcpConnect: (handler) => 2026-10-25T00:57:59.9513484Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9513554Z 2026-10-25T00:57:59.9513823Z src/client.ts:1259:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpMessage")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9514127Z 2026-10-25T00:57:59.9514181Z 1259 handleMcpMessage: (handler) => 2026-10-25T00:57:59.9514367Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9514435Z 2026-10-25T00:57:59.9514711Z src/client.ts:1263:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpDisconnect")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9515026Z 2026-10-25T00:57:59.9515085Z 1263 handleMcpDisconnect: (handler) => 2026-10-25T00:57:59.9515226Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9515301Z 2026-10-25T00:57:59.9515579Z src/client.ts:1267:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleMcpNotification")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9515899Z 2026-10-25T00:57:59.9515958Z 1267 handleMcpNotification: (handler) => 2026-10-25T00:57:59.9516105Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9516180Z 2026-10-25T00:57:59.9516455Z src/client.ts:1276:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleReadTextFile")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9516770Z 2026-10-25T00:57:59.9516828Z 1276 handleReadTextFile: (handler) => 2026-10-25T00:57:59.9516966Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9517039Z 2026-10-25T00:57:59.9517314Z src/client.ts:1280:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleWriteTextFile")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9517627Z 2026-10-25T00:57:59.9517682Z 1280 handleWriteTextFile: (handler) => 2026-10-25T00:57:59.9517824Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9517895Z 2026-10-25T00:57:59.9518173Z src/client.ts:1284:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleCreateTerminal")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9518495Z 2026-10-25T00:57:59.9518553Z 1284 handleCreateTerminal: (handler) => 2026-10-25T00:57:59.9518701Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9518814Z 2026-10-25T00:57:59.9519231Z src/client.ts:1288:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalOutput")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9519550Z 2026-10-25T00:57:59.9519606Z 1288 handleTerminalOutput: (handler) => 2026-10-25T00:57:59.9519748Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9519823Z 2026-10-25T00:57:59.9520112Z src/client.ts:1292:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalWaitForExit")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9520444Z 2026-10-25T00:57:59.9520512Z 1292 handleTerminalWaitForExit: (handler) => 2026-10-25T00:57:59.9520665Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9520749Z 2026-10-25T00:57:59.9521022Z src/client.ts:1296:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalKill")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9521331Z 2026-10-25T00:57:59.9521384Z 1296 handleTerminalKill: (handler) => 2026-10-25T00:57:59.9521526Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9521600Z 2026-10-25T00:57:59.9521880Z src/client.ts:1300:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleTerminalRelease")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9522208Z 2026-10-25T00:57:59.9522270Z 1300 handleTerminalRelease: (handler) => 2026-10-25T00:57:59.9522414Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9522494Z 2026-10-25T00:57:59.9522772Z src/client.ts:1304:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleSessionUpdate")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9523146Z 2026-10-25T00:57:59.9523202Z 1304 handleSessionUpdate: (handler) => 2026-10-25T00:57:59.9523347Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9523423Z 2026-10-25T00:57:59.9523710Z src/client.ts:1309:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleElicitationComplete")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9524042Z 2026-10-25T00:57:59.9524109Z 1309 handleElicitationComplete: (handler) => 2026-10-25T00:57:59.9524260Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9524343Z 2026-10-25T00:57:59.9524631Z src/client.ts:1314:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleUnknownExtRequest")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9524976Z 2026-10-25T00:57:59.9525036Z 1314 handleUnknownExtRequest: (handler) => 2026-10-25T00:57:59.9525195Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9525277Z 2026-10-25T00:57:59.9525572Z src/client.ts:1319:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleUnknownExtNotification")((handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9525913Z 2026-10-25T00:57:59.9525985Z 1319 handleUnknownExtNotification: (handler) => 2026-10-25T00:57:59.9526146Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9526232Z 2026-10-25T00:57:59.9526534Z src/client.ts:1324:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleExtRequest")((method, payload, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9526875Z 2026-10-25T00:57:59.9526952Z 1324 handleExtRequest: (method, payload, handler) => 2026-10-25T00:57:59.9527111Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9527182Z 2026-10-25T00:57:59.9527534Z src/client.ts:1329:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AcpClient.handleExtNotification")((method, payload, handler) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9527884Z 2026-10-25T00:57:59.9527970Z 1329 handleExtNotification: (method, payload, handler) => 2026-10-25T00:57:59.9528144Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9528219Z 2026-10-25T00:57:59.9528620Z 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-25T00:57:59.9529088Z 2026-10-25T00:57:59.9529169Z 500 const response = yield* Schema.decodeUnknownEffect( 2026-10-25T00:57:59.9529347Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9529448Z 2026-10-25T00:57:59.9529726Z 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-25T00:57:59.9530037Z 2026-10-25T00:57:59.9530089Z 875 run: (_clientId, f) => 2026-10-25T00:57:59.9530214Z ~~~ 2026-10-25T00:57:59.9530268Z 2026-10-25T00:57:59.9530552Z 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-25T00:57:59.9530879Z 2026-10-25T00:57:59.9530934Z 880 send: (_clientId, request) => 2026-10-25T00:57:59.9531064Z ~~~~ 2026-10-25T00:57:59.9531123Z 2026-10-25T00:57:59.9531383Z 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-25T00:57:59.9531727Z 2026-10-25T00:57:59.9531775Z 898 run: (f) => 2026-10-25T00:57:59.9531887Z ~~~ 2026-10-25T00:57:59.9531948Z 2026-10-25T00:57:59.9532248Z 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-25T00:57:59.9532586Z 2026-10-25T00:57:59.9532642Z 904 send: (_clientId, response) => 2026-10-25T00:57:59.9532780Z ~~~~ 2026-10-25T00:57:59.9532841Z 2026-10-25T00:57:59.9533117Z 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-25T00:57:59.9533430Z 2026-10-25T00:57:59.9533482Z 913 end: (_clientId) => 2026-10-25T00:57:59.9533605Z ~~~ 2026-10-25T00:57:59.9533660Z 2026-10-25T00:57:59.9533662Z 2026-10-25T00:57:59.9534050Z 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-25T00:57:59.9534482Z 2026-10-25T00:57:59.9534617Z 17 expect(Schema.decodeUnknownSync(AuthEnvironmentScopes)(["review:write"])).toEqual([ 2026-10-25T00:57:59.9534845Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9534937Z 2026-10-25T00:57:59.9534939Z 2026-10-25T00:57:59.9534996Z ~/packages/shared$ tsc --noEmit 2026-10-25T00:57:59.9535420Z 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-25T00:57:59.9535745Z 2026-10-25T00:57:59.9535798Z 91 defaultValue: () => 2026-10-25T00:57:59.9535918Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9535983Z 2026-10-25T00:57:59.9536248Z 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-25T00:57:59.9536552Z 2026-10-25T00:57:59.9536600Z 121 onNone: () => 2026-10-25T00:57:59.9536781Z ~~~~~~ 2026-10-25T00:57:59.9536842Z 2026-10-25T00:57:59.9537125Z src/nodeSqliteClient.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("checkNodeSqliteCompat")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9537450Z 2026-10-25T00:57:59.9537510Z 143 const checkNodeSqliteCompat = () => { 2026-10-25T00:57:59.9537657Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9537740Z 2026-10-25T00:57:59.9538007Z 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-25T00:57:59.9538315Z 2026-10-25T00:57:59.9538393Z 471 if (unavailable) return Effect.succeed(undefined); 2026-10-25T00:57:59.9538583Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9538688Z 2026-10-25T00:57:59.9539325Z 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-25T00:57:59.9539831Z 2026-10-25T00:57:59.9539956Z 478 return Effect.suspend((): Effect.Effect => { 2026-10-25T00:57:59.9540155Z ~~~~~~ 2026-10-25T00:57:59.9540223Z 2026-10-25T00:57:59.9540506Z 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-25T00:57:59.9540822Z 2026-10-25T00:57:59.9540902Z 479 if (unavailable) return Effect.succeed(undefined); 2026-10-25T00:57:59.9541094Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9541380Z 2026-10-25T00:57:59.9541648Z 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-25T00:57:59.9541966Z 2026-10-25T00:57:59.9542030Z 500 ? Effect.succeed(undefined) 2026-10-25T00:57:59.9542180Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9542275Z 2026-10-25T00:57:59.9542679Z 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-25T00:57:59.9543126Z 2026-10-25T00:57:59.9543175Z 665 try { 2026-10-25T00:57:59.9543281Z ~~~~~ 2026-10-25T00:57:59.9543446Z 666 worker = new NodeWorkerThreads.Worker(checkpointWorkerSource, { 2026-10-25T00:57:59.9543675Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9543842Z ... 2026-10-25T00:57:59.9543958Z 677 return undefined; 2026-10-25T00:57:59.9544090Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9544218Z 678 } 2026-10-25T00:57:59.9544321Z ~~~ 2026-10-25T00:57:59.9544380Z 2026-10-25T00:57:59.9544606Z src/symlink.ts:28:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9544867Z 2026-10-25T00:57:59.9544928Z 28 Effect.map(Option.some), 2026-10-25T00:57:59.9545071Z ~~~~~~~~~~ 2026-10-25T00:57:59.9545142Z 2026-10-25T00:57:59.9545144Z 2026-10-25T00:57:59.9545202Z ~/apps/marketing$ astro check 2026-10-25T00:57:59.9545362Z ~/packages/source-control-core$ tsc --noEmit 2026-10-25T00:57:59.9545541Z ~/packages/tailscale$ tsc --noEmit 2026-10-25T00:57:59.9545985Z 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-25T00:57:59.9546371Z 2026-10-25T00:57:59.9546442Z 243 handleServerRequest: (method, handler) => 2026-10-25T00:57:59.9546667Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9546754Z 2026-10-25T00:57:59.9547102Z 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-25T00:57:59.9547494Z 2026-10-25T00:57:59.9547570Z 247 handleServerNotification: (method, handler) => 2026-10-25T00:57:59.9547751Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9547840Z 2026-10-25T00:57:59.9548180Z 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-25T00:57:59.9548567Z 2026-10-25T00:57:59.9548639Z 253 handleUnknownServerRequest: (handler) => 2026-10-25T00:57:59.9548838Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9548930Z 2026-10-25T00:57:59.9549280Z 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-25T00:57:59.9549674Z 2026-10-25T00:57:59.9549757Z 257 handleUnknownServerNotification: (handler) => 2026-10-25T00:57:59.9549930Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9550025Z 2026-10-25T00:57:59.9550028Z 2026-10-25T00:57:59.9550086Z ~/packages/ssh$ tsc --noEmit 2026-10-25T00:57:59.9550172Z 2026-10-25T00:57:59.9550237Z ~/packages/provider-core$ tsc --noEmit 2026-10-25T00:57:59.9550341Z 2026-10-25T00:57:59.9550393Z ~/scripts$ tsc --noEmit 2026-10-25T00:57:59.9550758Z 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-25T00:57:59.9551130Z 2026-10-25T00:57:59.9551198Z 51 request: () => Effect.succeed(null), 2026-10-25T00:57:59.9551361Z ~~~~~~~ 2026-10-25T00:57:59.9551431Z 2026-10-25T00:57:59.9551690Z 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-25T00:57:59.9551994Z 2026-10-25T00:57:59.9552048Z 311 onNone: () => 2026-10-25T00:57:59.9552172Z ~~~~~~ 2026-10-25T00:57:59.9552241Z 2026-10-25T00:57:59.9552243Z 2026-10-25T00:57:59.9552317Z ~/packages/source-control-testing$ tsc --noEmit 2026-10-25T00:57:59.9552763Z 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-25T00:57:59.9553134Z 2026-10-25T00:57:59.9553276Z 95 read: (threadId) => Ref.get(sessions).pipe(Effect.map((current) => current.get(threadId))), 2026-10-25T00:57:59.9553497Z ~~~~ 2026-10-25T00:57:59.9553559Z 2026-10-25T00:57:59.9553873Z 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-25T00:57:59.9554232Z 2026-10-25T00:57:59.9554283Z 96 clear: (threadId) => 2026-10-25T00:57:59.9554404Z ~~~~~ 2026-10-25T00:57:59.9554466Z 2026-10-25T00:57:59.9554831Z 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-25T00:57:59.9555249Z 2026-10-25T00:57:59.9555328Z 110 recordHtmlRender: (threadId, input, reference) => 2026-10-25T00:57:59.9555502Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9555573Z 2026-10-25T00:57:59.9555991Z 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-25T00:57:59.9556394Z 2026-10-25T00:57:59.9556469Z 130 takeHtmlRender: (threadId, input, reported) => 2026-10-25T00:57:59.9556628Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9556698Z 2026-10-25T00:57:59.9557052Z 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-25T00:57:59.9557440Z 2026-10-25T00:57:59.9557518Z 55 offer: (request: ProviderContinuationRequest) => 2026-10-25T00:57:59.9557683Z ~~~~~ 2026-10-25T00:57:59.9557744Z 2026-10-25T00:57:59.9558087Z 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-25T00:57:59.9558465Z 2026-10-25T00:57:59.9558518Z 53 invalidate: (key) => 2026-10-25T00:57:59.9558639Z ~~~~~~~~~~ 2026-10-25T00:57:59.9558705Z 2026-10-25T00:57:59.9559212Z src/server/snapshotProbe.test.ts:139:9 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-25T00:57:59.9559616Z 2026-10-25T00:57:59.9559773Z 139 Effect.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, spawner)), 2026-10-25T00:57:59.9560009Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9560089Z 2026-10-25T00:57:59.9560091Z 2026-10-25T00:57:59.9560160Z ~/packages/provider-acp$ tsc --noEmit 2026-10-25T00:57:59.9560316Z 00:57:44 [types] Generated 144ms 2026-10-25T00:57:59.9560741Z 00:57:44 [check] Getting diagnostics for Astro files in /home/runner/_work/t3code/t3code/apps/marketing... 2026-10-25T00:57:59.9560934Z 2026-10-25T00:57:59.9561002Z ~/packages/provider-testing$ tsc --noEmit 2026-10-25T00:57:59.9561102Z 2026-10-25T00:57:59.9561175Z ~/packages/source-control-gitlab$ tsc --noEmit 2026-10-25T00:57:59.9561696Z 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-25T00:57:59.9562137Z 2026-10-25T00:57:59.9562185Z 501 try { 2026-10-25T00:57:59.9562296Z ~~~~~ 2026-10-25T00:57:59.9562409Z 502 lease.kill(); 2026-10-25T00:57:59.9562531Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9562648Z ... 2026-10-25T00:57:59.9562750Z 508 continue; 2026-10-25T00:57:59.9562868Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9562974Z 509 } 2026-10-25T00:57:59.9563075Z ~~~~~~~ 2026-10-25T00:57:59.9563128Z 2026-10-25T00:57:59.9563510Z 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-25T00:57:59.9563929Z 2026-10-25T00:57:59.9563971Z 511 try { 2026-10-25T00:57:59.9564075Z ~~~~~ 2026-10-25T00:57:59.9564194Z 512 populated = lease.populated(); 2026-10-25T00:57:59.9564342Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9564468Z ... 2026-10-25T00:57:59.9564599Z 520 return yield* failure("read state for", cause); 2026-10-25T00:57:59.9564776Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9564922Z 521 } 2026-10-25T00:57:59.9565018Z ~~~~~~~ 2026-10-25T00:57:59.9565073Z 2026-10-25T00:57:59.9565501Z 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-25T00:57:59.9565916Z 2026-10-25T00:57:59.9565956Z 527 try { 2026-10-25T00:57:59.9566059Z ~~~~~ 2026-10-25T00:57:59.9566167Z 528 lease.remove(); 2026-10-25T00:57:59.9566290Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9566402Z ... 2026-10-25T00:57:59.9566507Z 536 lastRemovalFailure = { cause }; 2026-10-25T00:57:59.9566653Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9566795Z 537 } 2026-10-25T00:57:59.9566893Z ~~~~~~~ 2026-10-25T00:57:59.9566946Z 2026-10-25T00:57:59.9567280Z 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-25T00:57:59.9567644Z 2026-10-25T00:57:59.9567706Z 1990 Option.match(result, { 2026-10-25T00:57:59.9567846Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9567927Z 2026-10-25T00:57:59.9568238Z 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-25T00:57:59.9568581Z 2026-10-25T00:57:59.9568643Z 2037 Effect.flatMap(() => getStartedState), 2026-10-25T00:57:59.9568842Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9568915Z 2026-10-25T00:57:59.9569242Z 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-25T00:57:59.9569617Z 2026-10-25T00:57:59.9569672Z 2254 Effect.catch((error) => 2026-10-25T00:57:59.9569807Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9569932Z 2026-10-25T00:57:59.9570289Z 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-25T00:57:59.9570693Z 2026-10-25T00:57:59.9570752Z 2611 Effect.catchCause((cause) => 2026-10-25T00:57:59.9570905Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9570993Z 2026-10-25T00:57:59.9571322Z src/server/adapter.ts:1398:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9571690Z 2026-10-25T00:57:59.9571784Z 1398 getCapabilities: () => Effect.succeed(flavor.capabilities), 2026-10-25T00:57:59.9571962Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9572035Z 2026-10-25T00:57:59.9572390Z src/server/adapter.ts:1399:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9572785Z 2026-10-25T00:57:59.9572916Z 1399 planSelectionTransition: (input) => Effect.succeed(acpSelectionTransition(input)), 2026-10-25T00:57:59.9573135Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9573221Z 2026-10-25T00:57:59.9573411Z src/server/adapter.ts:5423:23 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-25T00:57:59.9573636Z 2026-10-25T00:57:59.9573703Z 5423 Effect.gen(function* () { 2026-10-25T00:57:59.9573865Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9574060Z 5424 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-25T00:57:59.9574278Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9574445Z ... 2026-10-25T00:57:59.9574548Z 5428 }); 2026-10-25T00:57:59.9574678Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9574843Z 5429 }), 2026-10-25T00:57:59.9574970Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9575045Z 2026-10-25T00:57:59.9575236Z src/server/adapter.ts:6117:21 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-25T00:57:59.9575578Z 2026-10-25T00:57:59.9575644Z 6117 Effect.gen(function* () { 2026-10-25T00:57:59.9575802Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9575992Z 6118 yield* Ref.update(pendingRuntimeRequests, (current) => { 2026-10-25T00:57:59.9576204Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9576364Z ... 2026-10-25T00:57:59.9576467Z 6122 }); 2026-10-25T00:57:59.9576593Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9576719Z 6123 }), 2026-10-25T00:57:59.9576840Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9576917Z 2026-10-25T00:57:59.9577228Z src/server/adapter.ts:7157:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("scheduleDeferredFinalize")(function*(context) { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9577573Z 2026-10-25T00:57:59.9577643Z 7157 scheduleDeferredFinalize = (context) => 2026-10-25T00:57:59.9577804Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9577892Z 2026-10-25T00:57:59.9578172Z src/server/clientTerminals.test.ts:364:32 - suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-10-25T00:57:59.9578491Z 2026-10-25T00:57:59.9578553Z 364 const results = yield* Effect.all( 2026-10-25T00:57:59.9578705Z ~~~~~~~~~~ 2026-10-25T00:57:59.9578945Z 2026-10-25T00:57:59.9578947Z 2026-10-25T00:57:59.9579014Z ~/packages/source-control-github$ tsc --noEmit 2026-10-25T00:57:59.9579411Z src/server/GitLabCli.ts:470:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.listMergeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9579742Z 2026-10-25T00:57:59.9579798Z 470 listMergeRequests: (input) => 2026-10-25T00:57:59.9579934Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9580008Z 2026-10-25T00:57:59.9580293Z src/server/GitLabCli.ts:507:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9580615Z 2026-10-25T00:57:59.9580668Z 507 getMergeRequest: (input) => 2026-10-25T00:57:59.9580805Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9580875Z 2026-10-25T00:57:59.9581170Z src/server/GitLabCli.ts:534:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9581512Z 2026-10-25T00:57:59.9581575Z 534 getRepositoryCloneUrls: (input) => 2026-10-25T00:57:59.9581719Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9581799Z 2026-10-25T00:57:59.9582085Z src/server/GitLabCli.ts:556:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9582410Z 2026-10-25T00:57:59.9582464Z 556 createRepository: (input) => { 2026-10-25T00:57:59.9582600Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9582673Z 2026-10-25T00:57:59.9582957Z src/server/GitLabCli.ts:621:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.createMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9583287Z 2026-10-25T00:57:59.9583345Z 621 createMergeRequest: (input) => { 2026-10-25T00:57:59.9583481Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9583554Z 2026-10-25T00:57:59.9583889Z src/server/GitLabCli.ts:642:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9584209Z 2026-10-25T00:57:59.9584262Z 642 getDefaultBranch: (input) => 2026-10-25T00:57:59.9584397Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9584467Z 2026-10-25T00:57:59.9584757Z src/server/GitLabCli.ts:663:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitLabCli.checkoutMergeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9585088Z 2026-10-25T00:57:59.9585146Z 663 checkoutMergeRequest: (input) => 2026-10-25T00:57:59.9585285Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9585367Z 2026-10-25T00:57:59.9585702Z 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-25T00:57:59.9586086Z 2026-10-25T00:57:59.9586141Z 1139 listMergeRequests: (input) => { 2026-10-25T00:57:59.9586275Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9586348Z 2026-10-25T00:57:59.9586657Z 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-25T00:57:59.9587013Z 2026-10-25T00:57:59.9587119Z 1147 listNotes: (input) => notesPage({ ...input, page: 1, collected: [] }), 2026-10-25T00:57:59.9587310Z ~~~~~~~~~ 2026-10-25T00:57:59.9587373Z 2026-10-25T00:57:59.9587699Z 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-25T00:57:59.9588112Z 2026-10-25T00:57:59.9588248Z 1149 listReactions: (input) => awardsPage({ ...input, cursor: null, page: 1, collected: null }), 2026-10-25T00:57:59.9588464Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9588535Z 2026-10-25T00:57:59.9588867Z 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-25T00:57:59.9589256Z 2026-10-25T00:57:59.9589311Z 1187 listCommits: (input) => 2026-10-25T00:57:59.9589441Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9589506Z 2026-10-25T00:57:59.9589842Z 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-25T00:57:59.9590221Z 2026-10-25T00:57:59.9590281Z 1212 getMergeRequestDiff: (input) => { 2026-10-25T00:57:59.9590426Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9590504Z 2026-10-25T00:57:59.9590857Z 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-25T00:57:59.9591250Z 2026-10-25T00:57:59.9591316Z 1283 getProjectMergeCapabilities: (input) => 2026-10-25T00:57:59.9591477Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9591559Z 2026-10-25T00:57:59.9591890Z 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-25T00:57:59.9592264Z 2026-10-25T00:57:59.9592322Z 1303 listProjectLabels: (input) => 2026-10-25T00:57:59.9592457Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9592531Z 2026-10-25T00:57:59.9592919Z 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-25T00:57:59.9593288Z 2026-10-25T00:57:59.9593340Z 1329 listProjectUsers: (input) => 2026-10-25T00:57:59.9593478Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9593550Z 2026-10-25T00:57:59.9593884Z 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-25T00:57:59.9594268Z 2026-10-25T00:57:59.9594331Z 1337 listReviewerCandidates: (input) => 2026-10-25T00:57:59.9594476Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9594559Z 2026-10-25T00:57:59.9594887Z 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-25T00:57:59.9595257Z 2026-10-25T00:57:59.9595309Z 1355 setReviewerRequest: (input) => 2026-10-25T00:57:59.9595453Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9595530Z 2026-10-25T00:57:59.9595856Z 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-25T00:57:59.9596226Z 2026-10-25T00:57:59.9596281Z 1408 updateMergeRequest: (input) => 2026-10-25T00:57:59.9596417Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9596491Z 2026-10-25T00:57:59.9596826Z 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-25T00:57:59.9597249Z 2026-10-25T00:57:59.9597310Z 1422 commentOnMergeRequest: (input) => 2026-10-25T00:57:59.9597451Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9597528Z 2026-10-25T00:57:59.9597839Z 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-25T00:57:59.9598197Z 2026-10-25T00:57:59.9598251Z 1432 updateNote: (input) => 2026-10-25T00:57:59.9598373Z ~~~~~~~~~~ 2026-10-25T00:57:59.9598438Z 2026-10-25T00:57:59.9598763Z 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-25T00:57:59.9599177Z 2026-10-25T00:57:59.9599298Z 1442 listDiscussions: (input) => discussionsPage({ ...input, page: 1, collected: [] }), 2026-10-25T00:57:59.9599509Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9599584Z 2026-10-25T00:57:59.9599911Z 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-25T00:57:59.9600275Z 2026-10-25T00:57:59.9600332Z 1493 replyToDiscussion: (input) => 2026-10-25T00:57:59.9600473Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9600542Z 2026-10-25T00:57:59.9600886Z 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-25T00:57:59.9601273Z 2026-10-25T00:57:59.9601339Z 1503 setDiscussionResolution: (input) => 2026-10-25T00:57:59.9601488Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9601569Z 2026-10-25T00:57:59.9602016Z src/server/GitLabSourceControlProvider.ts:211:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.readChangeRequestTemplate")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9602465Z 2026-10-25T00:57:59.9602541Z 211 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-25T00:57:59.9602713Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9602795Z 2026-10-25T00:57:59.9603195Z src/server/GitLabSourceControlProvider.ts:226:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9603629Z 2026-10-25T00:57:59.9603686Z 226 listChangeRequests: (input) => { 2026-10-25T00:57:59.9603827Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9603903Z 2026-10-25T00:57:59.9604298Z src/server/GitLabSourceControlProvider.ts:254:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9604727Z 2026-10-25T00:57:59.9604781Z 254 getChangeRequest: (input) => 2026-10-25T00:57:59.9604918Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9604990Z 2026-10-25T00:57:59.9605379Z src/server/GitLabSourceControlProvider.ts:272:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9605816Z 2026-10-25T00:57:59.9605877Z 272 createChangeRequest: (input) => { 2026-10-25T00:57:59.9606020Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9606138Z 2026-10-25T00:57:59.9606539Z src/server/GitLabSourceControlProvider.ts:301:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9606980Z 2026-10-25T00:57:59.9607041Z 301 getRepositoryCloneUrls: (input) => 2026-10-25T00:57:59.9607185Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9607265Z 2026-10-25T00:57:59.9607648Z src/server/GitLabSourceControlProvider.ts:318:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9608080Z 2026-10-25T00:57:59.9608138Z 318 createRepository: (input) => 2026-10-25T00:57:59.9608278Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9608347Z 2026-10-25T00:57:59.9608736Z src/server/GitLabSourceControlProvider.ts:335:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9609205Z 2026-10-25T00:57:59.9609261Z 335 getDefaultBranch: (input) => 2026-10-25T00:57:59.9609393Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9609464Z 2026-10-25T00:57:59.9609863Z src/server/GitLabSourceControlProvider.ts:349:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9610299Z 2026-10-25T00:57:59.9610361Z 349 checkoutChangeRequest: (input) => 2026-10-25T00:57:59.9610510Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9610586Z 2026-10-25T00:57:59.9610588Z 2026-10-25T00:57:59.9610667Z ~/packages/source-control-azure-devops$ tsc --noEmit 2026-10-25T00:57:59.9611158Z 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-25T00:57:59.9611523Z 2026-10-25T00:57:59.9611653Z 59 shouldRunBackgroundWork: () => Effect.succeed(options.runBackgroundWork ?? true), 2026-10-25T00:57:59.9611877Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9611961Z 2026-10-25T00:57:59.9612306Z 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-25T00:57:59.9612689Z 2026-10-25T00:57:59.9612766Z 61 credentials: (namespace, bindingId) => 2026-10-25T00:57:59.9612923Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9612997Z 2026-10-25T00:57:59.9612999Z 2026-10-25T00:57:59.9613073Z ~/packages/source-control-bitbucket$ tsc --noEmit 2026-10-25T00:57:59.9613510Z src/server/AzureDevOpsCli.ts:403:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9613879Z 2026-10-25T00:57:59.9613940Z 403 listPullRequests: (input) => 2026-10-25T00:57:59.9614080Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9614153Z 2026-10-25T00:57:59.9614468Z src/server/AzureDevOpsCli.ts:443:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9614826Z 2026-10-25T00:57:59.9614880Z 443 getPullRequest: (input) => 2026-10-25T00:57:59.9615023Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9615095Z 2026-10-25T00:57:59.9615537Z src/server/AzureDevOpsCli.ts:477:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9615973Z 2026-10-25T00:57:59.9616038Z 477 getRepositoryCloneUrls: (input) => 2026-10-25T00:57:59.9616188Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9616272Z 2026-10-25T00:57:59.9616585Z src/server/AzureDevOpsCli.ts:493:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9616942Z 2026-10-25T00:57:59.9616999Z 493 createRepository: (input) => { 2026-10-25T00:57:59.9617141Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9617215Z 2026-10-25T00:57:59.9617527Z src/server/AzureDevOpsCli.ts:518:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.createPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9617884Z 2026-10-25T00:57:59.9617943Z 518 createPullRequest: (input) => 2026-10-25T00:57:59.9618081Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9618156Z 2026-10-25T00:57:59.9618469Z src/server/AzureDevOpsCli.ts:538:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9618853Z 2026-10-25T00:57:59.9618919Z 538 getDefaultBranch: (input) => 2026-10-25T00:57:59.9619063Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9619137Z 2026-10-25T00:57:59.9619455Z src/server/AzureDevOpsCli.ts:549:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AzureDevOpsCli.checkoutPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9619820Z 2026-10-25T00:57:59.9619880Z 549 checkoutPullRequest: (input) => 2026-10-25T00:57:59.9620025Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9620103Z 2026-10-25T00:57:59.9620449Z 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-25T00:57:59.9620895Z 2026-10-25T00:57:59.9620949Z 494 getViewer: (input) => 2026-10-25T00:57:59.9621076Z ~~~~~~~~~ 2026-10-25T00:57:59.9621143Z 2026-10-25T00:57:59.9621502Z 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-25T00:57:59.9635170Z 2026-10-25T00:57:59.9635281Z 548 listPullRequests: (input) => 2026-10-25T00:57:59.9635516Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9635628Z 2026-10-25T00:57:59.9636258Z 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-25T00:57:59.9636930Z 2026-10-25T00:57:59.9637025Z 562 getPullRequest: (input) => 2026-10-25T00:57:59.9637244Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9637362Z 2026-10-25T00:57:59.9637965Z 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-25T00:57:59.9638657Z 2026-10-25T00:57:59.9638748Z 593 listThreads: (input) => 2026-10-25T00:57:59.9639029Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9639138Z 2026-10-25T00:57:59.9639737Z 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-25T00:57:59.9640183Z 2026-10-25T00:57:59.9640238Z 603 listIterations: (input) => 2026-10-25T00:57:59.9640531Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9640599Z 2026-10-25T00:57:59.9640973Z 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-25T00:57:59.9641386Z 2026-10-25T00:57:59.9641450Z 613 listIterationChanges: (input) => { 2026-10-25T00:57:59.9641601Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9641679Z 2026-10-25T00:57:59.9642037Z 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-25T00:57:59.9642436Z 2026-10-25T00:57:59.9642492Z 640 readItemContent: (input) => 2026-10-25T00:57:59.9642630Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9642702Z 2026-10-25T00:57:59.9643085Z 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-25T00:57:59.9643489Z 2026-10-25T00:57:59.9643550Z 663 setPullRequestReviewers: (input) => 2026-10-25T00:57:59.9643695Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9643775Z 2026-10-25T00:57:59.9644131Z 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-25T00:57:59.9644529Z 2026-10-25T00:57:59.9644585Z 688 runPullRequestAction: (input) => 2026-10-25T00:57:59.9644726Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9644801Z 2026-10-25T00:57:59.9645149Z 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-25T00:57:59.9645543Z 2026-10-25T00:57:59.9645649Z 707 updatePullRequest: (input) => 2026-10-25T00:57:59.9645787Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9645862Z 2026-10-25T00:57:59.9646268Z 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-25T00:57:59.9646717Z 2026-10-25T00:57:59.9646777Z 81 listChangeRequests: (input) => { 2026-10-25T00:57:59.9646916Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9646991Z 2026-10-25T00:57:59.9647390Z 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-25T00:57:59.9647827Z 2026-10-25T00:57:59.9647884Z 109 getChangeRequest: (input) => 2026-10-25T00:57:59.9648025Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9648096Z 2026-10-25T00:57:59.9648503Z 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-25T00:57:59.9648988Z 2026-10-25T00:57:59.9649048Z 127 createChangeRequest: (input) => { 2026-10-25T00:57:59.9649192Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9649268Z 2026-10-25T00:57:59.9649683Z 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-25T00:57:59.9650184Z 2026-10-25T00:57:59.9650243Z 156 getRepositoryCloneUrls: (input) => 2026-10-25T00:57:59.9650392Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9650470Z 2026-10-25T00:57:59.9650870Z 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-25T00:57:59.9651309Z 2026-10-25T00:57:59.9651365Z 173 createRepository: (input) => 2026-10-25T00:57:59.9651498Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9651571Z 2026-10-25T00:57:59.9651969Z 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-25T00:57:59.9652412Z 2026-10-25T00:57:59.9652465Z 190 getDefaultBranch: (input) => 2026-10-25T00:57:59.9652602Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9652673Z 2026-10-25T00:57:59.9653083Z 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-25T00:57:59.9653533Z 2026-10-25T00:57:59.9653592Z 204 checkoutChangeRequest: (input) => 2026-10-25T00:57:59.9653735Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9653813Z 2026-10-25T00:57:59.9653815Z 2026-10-25T00:57:59.9653889Z ~/packages/source-control-gitcafe$ tsc --noEmit 2026-10-25T00:57:59.9654310Z src/server/BitbucketApi.ts:1013:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.listPullRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9654651Z 2026-10-25T00:57:59.9654711Z 1013 listPullRequests: (input) => 2026-10-25T00:57:59.9654843Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9654916Z 2026-10-25T00:57:59.9655258Z src/server/BitbucketApi.ts:1040:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getPullRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9655748Z 2026-10-25T00:57:59.9655801Z 1040 getPullRequest: (input) => 2026-10-25T00:57:59.9655935Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9656005Z 2026-10-25T00:57:59.9656314Z src/server/BitbucketApi.ts:1042:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9656665Z 2026-10-25T00:57:59.9656726Z 1042 getRepositoryCloneUrls: (input) => 2026-10-25T00:57:59.9656870Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9656950Z 2026-10-25T00:57:59.9657252Z src/server/BitbucketApi.ts:1044:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9657591Z 2026-10-25T00:57:59.9657646Z 1044 createRepository: (input) => 2026-10-25T00:57:59.9657777Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9657849Z 2026-10-25T00:57:59.9658141Z src/server/BitbucketApi.ts:1109:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BitbucketApi.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9658480Z 2026-10-25T00:57:59.9658534Z 1109 getDefaultBranch: (input) => 2026-10-25T00:57:59.9658664Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9658735Z 2026-10-25T00:57:59.9659107Z 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-25T00:57:59.9659546Z 2026-10-25T00:57:59.9659596Z 555 getViewer: () => 2026-10-25T00:57:59.9659711Z ~~~~~~~~~ 2026-10-25T00:57:59.9659775Z 2026-10-25T00:57:59.9660116Z 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-25T00:57:59.9660493Z 2026-10-25T00:57:59.9660551Z 570 listPullRequests: (input) => 2026-10-25T00:57:59.9660685Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9660753Z 2026-10-25T00:57:59.9661089Z 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-25T00:57:59.9661466Z 2026-10-25T00:57:59.9661522Z 594 getPullRequest: (input) => 2026-10-25T00:57:59.9661656Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9661726Z 2026-10-25T00:57:59.9662083Z 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-25T00:57:59.9662482Z 2026-10-25T00:57:59.9662546Z 609 getRepositoryPermission: (input) => 2026-10-25T00:57:59.9662698Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9662775Z 2026-10-25T00:57:59.9663126Z 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-25T00:57:59.9663520Z 2026-10-25T00:57:59.9663577Z 622 getFileRevisions: (input) => 2026-10-25T00:57:59.9663709Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9663782Z 2026-10-25T00:57:59.9664120Z 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-25T00:57:59.9664556Z 2026-10-25T00:57:59.9664607Z 639 getDiffStat: (input) => 2026-10-25T00:57:59.9664737Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9664801Z 2026-10-25T00:57:59.9665145Z 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-25T00:57:59.9665533Z 2026-10-25T00:57:59.9665590Z 647 getMergeability: (input) => 2026-10-25T00:57:59.9665722Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9665791Z 2026-10-25T00:57:59.9666128Z 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-25T00:57:59.9666511Z 2026-10-25T00:57:59.9666563Z 656 listComments: (input) => 2026-10-25T00:57:59.9666692Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9666761Z 2026-10-25T00:57:59.9667097Z 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-25T00:57:59.9667475Z 2026-10-25T00:57:59.9667529Z 666 listCommits: (input) => 2026-10-25T00:57:59.9667653Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9667719Z 2026-10-25T00:57:59.9668050Z 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-25T00:57:59.9668426Z 2026-10-25T00:57:59.9668477Z 677 listChecks: (input) => 2026-10-25T00:57:59.9668653Z ~~~~~~~~~~ 2026-10-25T00:57:59.9668719Z 2026-10-25T00:57:59.9669107Z 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-25T00:57:59.9669514Z 2026-10-25T00:57:59.9669578Z 688 listReviewerCandidates: (input) => 2026-10-25T00:57:59.9669723Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9669803Z 2026-10-25T00:57:59.9670153Z 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-25T00:57:59.9670550Z 2026-10-25T00:57:59.9670606Z 722 setReviewerRequest: (input) => 2026-10-25T00:57:59.9670750Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9670826Z 2026-10-25T00:57:59.9671158Z 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-25T00:57:59.9671536Z 2026-10-25T00:57:59.9671591Z 749 runAction: (input) => 2026-10-25T00:57:59.9671714Z ~~~~~~~~~ 2026-10-25T00:57:59.9671780Z 2026-10-25T00:57:59.9672137Z 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-25T00:57:59.9672542Z 2026-10-25T00:57:59.9672602Z 766 updateChangeRequest: (input) => 2026-10-25T00:57:59.9672748Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9672824Z 2026-10-25T00:57:59.9673160Z 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-25T00:57:59.9673539Z 2026-10-25T00:57:59.9673597Z 784 comment: (input) => 2026-10-25T00:57:59.9673720Z ~~~~~~~ 2026-10-25T00:57:59.9673786Z 2026-10-25T00:57:59.9674194Z 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-25T00:57:59.9674586Z 2026-10-25T00:57:59.9674644Z 795 updateComment: (input) => 2026-10-25T00:57:59.9674779Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9674851Z 2026-10-25T00:57:59.9675201Z 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-25T00:57:59.9675588Z 2026-10-25T00:57:59.9675646Z 808 submitReview: (input) => 2026-10-25T00:57:59.9675784Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9675852Z 2026-10-25T00:57:59.9676205Z 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-25T00:57:59.9676604Z 2026-10-25T00:57:59.9676663Z 848 replyToComment: (input) => 2026-10-25T00:57:59.9676799Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9676872Z 2026-10-25T00:57:59.9677233Z 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-25T00:57:59.9677635Z 2026-10-25T00:57:59.9677694Z 862 setCommentResolution: (input) => 2026-10-25T00:57:59.9677837Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9677912Z 2026-10-25T00:57:59.9678325Z src/server/BitbucketSourceControlProvider.ts:47:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9678844Z 2026-10-25T00:57:59.9678928Z 47 listChangeRequests: (input) => { 2026-10-25T00:57:59.9679070Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9679143Z 2026-10-25T00:57:59.9679556Z src/server/BitbucketSourceControlProvider.ts:75:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9680007Z 2026-10-25T00:57:59.9680061Z 75 getChangeRequest: (input) => 2026-10-25T00:57:59.9680202Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9680272Z 2026-10-25T00:57:59.9680691Z src/server/BitbucketSourceControlProvider.ts:92:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9681147Z 2026-10-25T00:57:59.9681207Z 92 createChangeRequest: (input) => { 2026-10-25T00:57:59.9681347Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9681422Z 2026-10-25T00:57:59.9681848Z src/server/BitbucketSourceControlProvider.ts:121:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9682320Z 2026-10-25T00:57:59.9682381Z 121 getRepositoryCloneUrls: (input) => 2026-10-25T00:57:59.9682531Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9682616Z 2026-10-25T00:57:59.9683033Z src/server/BitbucketSourceControlProvider.ts:137:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9683501Z 2026-10-25T00:57:59.9683559Z 137 createRepository: (input) => 2026-10-25T00:57:59.9683856Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9683931Z 2026-10-25T00:57:59.9684344Z src/server/BitbucketSourceControlProvider.ts:153:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9684801Z 2026-10-25T00:57:59.9684859Z 153 getDefaultBranch: (input) => 2026-10-25T00:57:59.9684993Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9685067Z 2026-10-25T00:57:59.9685489Z src/server/BitbucketSourceControlProvider.ts:171:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9685961Z 2026-10-25T00:57:59.9686023Z 171 checkoutChangeRequest: (input) => 2026-10-25T00:57:59.9686174Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9686253Z 2026-10-25T00:57:59.9686256Z 2026-10-25T00:57:59.9686329Z ~/packages/source-control-forgejo$ tsc --noEmit 2026-10-25T00:57:59.9686770Z src/server/GitHubCredentials.ts:245:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubCredentials.invalidate")((rawHost) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9687139Z 2026-10-25T00:57:59.9687197Z 245 invalidate: (rawHost) => { 2026-10-25T00:57:59.9687346Z ~~~~~~~~~~ 2026-10-25T00:57:59.9687412Z 2026-10-25T00:57:59.9687748Z 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-25T00:57:59.9688125Z 2026-10-25T00:57:59.9688264Z 992 GitHubApiResponseError: (error) => 2026-10-25T00:57:59.9688441Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9688545Z 2026-10-25T00:57:59.9688980Z 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-25T00:57:59.9689405Z 2026-10-25T00:57:59.9689462Z 1629 Effect.flatMap((runs) => 2026-10-25T00:57:59.9689612Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9689694Z 2026-10-25T00:57:59.9690045Z 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-25T00:57:59.9690439Z 2026-10-25T00:57:59.9690499Z 1776 getViewerLogin: (input) => 2026-10-25T00:57:59.9690646Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9690720Z 2026-10-25T00:57:59.9691073Z 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-25T00:57:59.9691473Z 2026-10-25T00:57:59.9691530Z 1779 listPullRequests: (input) => { 2026-10-25T00:57:59.9691678Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9691756Z 2026-10-25T00:57:59.9692136Z 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-25T00:57:59.9692563Z 2026-10-25T00:57:59.9692624Z 1908 Effect.flatMap((batch) => { 2026-10-25T00:57:59.9692770Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9692851Z 2026-10-25T00:57:59.9693208Z 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-25T00:57:59.9693654Z 2026-10-25T00:57:59.9693715Z 1947 searchPullRequests: (input) => { 2026-10-25T00:57:59.9693865Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9693947Z 2026-10-25T00:57:59.9694305Z 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-25T00:57:59.9694714Z 2026-10-25T00:57:59.9694782Z 2021 getPullRequestPreview: (input) => { 2026-10-25T00:57:59.9694943Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9695027Z 2026-10-25T00:57:59.9695499Z 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-25T00:57:59.9695924Z 2026-10-25T00:57:59.9695989Z 2034 getPullRequestStack: (input) => { 2026-10-25T00:57:59.9696142Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9696224Z 2026-10-25T00:57:59.9696575Z 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-25T00:57:59.9696983Z 2026-10-25T00:57:59.9697045Z 2112 getPullRequestDiff: (input) => { 2026-10-25T00:57:59.9697195Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9697273Z 2026-10-25T00:57:59.9697637Z 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-25T00:57:59.9698050Z 2026-10-25T00:57:59.9698185Z 2160 getReviewThreadComments: (input) => { 2026-10-25T00:57:59.9698345Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9698430Z 2026-10-25T00:57:59.9698825Z 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-25T00:57:59.9699219Z 2026-10-25T00:57:59.9699280Z 2302 listActorAvatars: (input) => { 2026-10-25T00:57:59.9699426Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9699500Z 2026-10-25T00:57:59.9699849Z 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-25T00:57:59.9700242Z 2026-10-25T00:57:59.9700302Z 2311 getViewerAccess: (input) => { 2026-10-25T00:57:59.9700445Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9700525Z 2026-10-25T00:57:59.9700891Z 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-25T00:57:59.9701297Z 2026-10-25T00:57:59.9701363Z 2323 listReviewerCandidates: (input) => { 2026-10-25T00:57:59.9701525Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9701606Z 2026-10-25T00:57:59.9701961Z 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-25T00:57:59.9702357Z 2026-10-25T00:57:59.9702419Z 2335 setReviewerRequest: (input) => { 2026-10-25T00:57:59.9702566Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9702644Z 2026-10-25T00:57:59.9703001Z 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-25T00:57:59.9703401Z 2026-10-25T00:57:59.9703518Z 2348 listLabelCandidates: (input) => { 2026-10-25T00:57:59.9703673Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9703753Z 2026-10-25T00:57:59.9704107Z 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-25T00:57:59.9704510Z 2026-10-25T00:57:59.9704574Z 2360 listRepositoryLabels: (input) => { 2026-10-25T00:57:59.9704726Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9704810Z 2026-10-25T00:57:59.9705176Z 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-25T00:57:59.9705584Z 2026-10-25T00:57:59.9705649Z 2372 searchRepositoryAuthors: (input) => { 2026-10-25T00:57:59.9705811Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9705898Z 2026-10-25T00:57:59.9706229Z 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-25T00:57:59.9706610Z 2026-10-25T00:57:59.9706666Z 2384 setLabels: (input) => { 2026-10-25T00:57:59.9706799Z ~~~~~~~~~ 2026-10-25T00:57:59.9706869Z 2026-10-25T00:57:59.9707223Z 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-25T00:57:59.9707621Z 2026-10-25T00:57:59.9707684Z 2411 runPullRequestAction: (input) => { 2026-10-25T00:57:59.9707892Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9707975Z 2026-10-25T00:57:59.9708325Z 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-25T00:57:59.9708723Z 2026-10-25T00:57:59.9708814Z 2670 commentOnPullRequest: (input) => 2026-10-25T00:57:59.9708963Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9709046Z 2026-10-25T00:57:59.9709387Z 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-25T00:57:59.9709774Z 2026-10-25T00:57:59.9709831Z 2680 submitReview: (input) => { 2026-10-25T00:57:59.9709968Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9710040Z 2026-10-25T00:57:59.9710394Z 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-25T00:57:59.9710795Z 2026-10-25T00:57:59.9710856Z 2697 replyToReviewThread: (input) => 2026-10-25T00:57:59.9711006Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9711084Z 2026-10-25T00:57:59.9711453Z 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-25T00:57:59.9711865Z 2026-10-25T00:57:59.9711938Z 2702 getPullRequestFilesViewed: (input) => { 2026-10-25T00:57:59.9712103Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9712191Z 2026-10-25T00:57:59.9712554Z 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-25T00:57:59.9712959Z 2026-10-25T00:57:59.9713074Z 2730 getPullRequestFileStats: (input) => { 2026-10-25T00:57:59.9713237Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9713319Z 2026-10-25T00:57:59.9713686Z 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-25T00:57:59.9714094Z 2026-10-25T00:57:59.9714166Z 2758 setPullRequestFilesViewed: (input) => { 2026-10-25T00:57:59.9714328Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9714416Z 2026-10-25T00:57:59.9714784Z 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-25T00:57:59.9715194Z 2026-10-25T00:57:59.9715260Z 2779 setReviewThreadResolution: (input) => 2026-10-25T00:57:59.9715420Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9715509Z 2026-10-25T00:57:59.9715842Z 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-25T00:57:59.9716222Z 2026-10-25T00:57:59.9716280Z 2785 setReaction: (input) => { 2026-10-25T00:57:59.9716414Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9716488Z 2026-10-25T00:57:59.9716837Z 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-25T00:57:59.9717235Z 2026-10-25T00:57:59.9717294Z 2818 updatePullRequest: (input) => 2026-10-25T00:57:59.9717493Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9717571Z 2026-10-25T00:57:59.9717909Z 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-25T00:57:59.9718296Z 2026-10-25T00:57:59.9718354Z 2834 updateComment: (input) => 2026-10-25T00:57:59.9718487Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9718562Z 2026-10-25T00:57:59.9719029Z src/server/GitHubSourceControlProvider.ts:897:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.readChangeRequestTemplate")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9719495Z 2026-10-25T00:57:59.9719575Z 897 readChangeRequestTemplate: ({ cwd, treeish }) => 2026-10-25T00:57:59.9719752Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9719840Z 2026-10-25T00:57:59.9720245Z src/server/GitHubSourceControlProvider.ts:935:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.recordBranchBase")((_) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9720692Z 2026-10-25T00:57:59.9720773Z 935 recordBranchBase: ({ cwd, branch, baseBranch }) => 2026-10-25T00:57:59.9720943Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9721019Z 2026-10-25T00:57:59.9721432Z src/server/GitHubSourceControlProvider.ts:957:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9721888Z 2026-10-25T00:57:59.9721948Z 957 listChangeRequests: (input) => 2026-10-25T00:57:59.9722092Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9722168Z 2026-10-25T00:57:59.9722577Z src/server/GitHubSourceControlProvider.ts:975:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9723066Z 2026-10-25T00:57:59.9723128Z 975 getChangeRequest: (input) => 2026-10-25T00:57:59.9723271Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9723343Z 2026-10-25T00:57:59.9723762Z src/server/GitHubSourceControlProvider.ts:1088:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9724223Z 2026-10-25T00:57:59.9724286Z 1088 checkoutChangeRequest: (input) => 2026-10-25T00:57:59.9724437Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9724521Z 2026-10-25T00:57:59.9724894Z 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-25T00:57:59.9725303Z 2026-10-25T00:57:59.9725362Z 118 return yield* Effect.fail(error); 2026-10-25T00:57:59.9725507Z ~~~~~ 2026-10-25T00:57:59.9725576Z 2026-10-25T00:57:59.9725581Z 2026-10-25T00:57:59.9725640Z ~/packages/provider-grok$ tsc --noEmit 2026-10-25T00:57:59.9726056Z 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-25T00:57:59.9726410Z 2026-10-25T00:57:59.9726457Z 170 get: (host) => 2026-10-25T00:57:59.9726584Z ~~~ 2026-10-25T00:57:59.9726644Z 2026-10-25T00:57:59.9726968Z 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-25T00:57:59.9727377Z 2026-10-25T00:57:59.9727483Z 183 invalidate: (host) => Cache.invalidate(cache, normalizeHost(host)), 2026-10-25T00:57:59.9727679Z ~~~~~~~~~~ 2026-10-25T00:57:59.9727748Z 2026-10-25T00:57:59.9728068Z 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-25T00:57:59.9728431Z 2026-10-25T00:57:59.9728481Z 184 cliEnv: (host) => 2026-10-25T00:57:59.9728605Z ~~~~~~ 2026-10-25T00:57:59.9728672Z 2026-10-25T00:57:59.9728982Z src/server/GitCafePullRequestProvider.ts:341:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9729291Z 2026-10-25T00:57:59.9729350Z 341 Effect.map(Option.some), 2026-10-25T00:57:59.9729491Z ~~~~~~~~~~ 2026-10-25T00:57:59.9729566Z 2026-10-25T00:57:59.9729828Z src/server/GitCafePullRequestProvider.ts:346:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9730132Z 2026-10-25T00:57:59.9730198Z 346 : Effect.succeed(Option.none()), 2026-10-25T00:57:59.9730361Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9730449Z 2026-10-25T00:57:59.9730710Z src/server/GitCafePullRequestProvider.ts:655:13 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9731017Z 2026-10-25T00:57:59.9731076Z 655 Effect.map(Option.some), 2026-10-25T00:57:59.9731221Z ~~~~~~~~~~ 2026-10-25T00:57:59.9731299Z 2026-10-25T00:57:59.9731554Z src/server/GitCafePullRequestProvider.ts:660:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9731858Z 2026-10-25T00:57:59.9731928Z 660 : Effect.succeed(Option.none()), 2026-10-25T00:57:59.9732095Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9732187Z 2026-10-25T00:57:59.9732545Z 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-25T00:57:59.9732902Z 2026-10-25T00:57:59.9732995Z 673 const readPage = (rows: number, after: string | null) => { 2026-10-25T00:57:59.9733176Z ~~~~~~~~ 2026-10-25T00:57:59.9733254Z 2026-10-25T00:57:59.9733625Z 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-25T00:57:59.9734035Z 2026-10-25T00:57:59.9734089Z 790 Effect.catch((error) => 2026-10-25T00:57:59.9734241Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9734323Z 2026-10-25T00:57:59.9734685Z src/server/GitCafePullRequestProvider.ts:872:19 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9735092Z 2026-10-25T00:57:59.9735156Z 872 Effect.catch((error) => 2026-10-25T00:57:59.9735369Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9735495Z 2026-10-25T00:57:59.9735497Z 2026-10-25T00:57:59.9735559Z ~/packages/provider-pi$ tsc --noEmit 2026-10-25T00:57:59.9736066Z src/server/ForgejoSourceControlProvider.ts:362:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9736520Z 2026-10-25T00:57:59.9736578Z 362 getChangeRequest: (input) => 2026-10-25T00:57:59.9736787Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9736865Z 2026-10-25T00:57:59.9736867Z 2026-10-25T00:57:59.9736930Z ~/packages/provider-muse$ tsc --noEmit 2026-10-25T00:57:59.9737376Z 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-25T00:57:59.9737766Z 2026-10-25T00:57:59.9737825Z 174 Effect.flatMap((snapshot) => 2026-10-25T00:57:59.9737967Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9738043Z 2026-10-25T00:57:59.9738298Z 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-25T00:57:59.9738600Z 2026-10-25T00:57:59.9738672Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-25T00:57:59.9738868Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9738967Z 2026-10-25T00:57:59.9739241Z 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-25T00:57:59.9739560Z 2026-10-25T00:57:59.9739630Z 1507 }).pipe(Effect.catch(() => Effect.void)); 2026-10-25T00:57:59.9739789Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9739872Z 2026-10-25T00:57:59.9740245Z 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-25T00:57:59.9740663Z 2026-10-25T00:57:59.9740729Z 1588 Effect.catchCause((cause) => 2026-10-25T00:57:59.9740886Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9740974Z 2026-10-25T00:57:59.9740976Z 2026-10-25T00:57:59.9741044Z ~/packages/provider-opencode$ tsc --noEmit 2026-10-25T00:57:59.9741487Z 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-25T00:57:59.9741929Z 2026-10-25T00:57:59.9742037Z 440 getCapabilities: () => Effect.succeed(PiProviderCapabilitiesV2), 2026-10-25T00:57:59.9742234Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9742310Z 2026-10-25T00:57:59.9742669Z 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-25T00:57:59.9743065Z 2026-10-25T00:57:59.9743199Z 441 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9743427Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9743507Z 2026-10-25T00:57:59.9743742Z src/server/adapter.ts:1694:31 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9744020Z 2026-10-25T00:57:59.9744097Z 1694 Effect.map(Option.some), 2026-10-25T00:57:59.9744270Z ~~~~~~~~~~ 2026-10-25T00:57:59.9744369Z 2026-10-25T00:57:59.9744598Z src/server/adapter.ts:1697:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9744866Z 2026-10-25T00:57:59.9744942Z 1697 : Effect.succeed(Option.none()), 2026-10-25T00:57:59.9745117Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9745216Z 2026-10-25T00:57:59.9745484Z 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-25T00:57:59.9745790Z 2026-10-25T00:57:59.9745843Z 334 onSuccess: () => 2026-10-25T00:57:59.9746012Z ~~~~~~~~~ 2026-10-25T00:57:59.9746081Z 2026-10-25T00:57:59.9746303Z src/server/rpc.ts:342:17 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9746562Z 2026-10-25T00:57:59.9746626Z 342 Effect.map(Option.some), 2026-10-25T00:57:59.9746780Z ~~~~~~~~~~ 2026-10-25T00:57:59.9746861Z 2026-10-25T00:57:59.9746863Z 2026-10-25T00:57:59.9746926Z ~/packages/provider-cursor$ tsc --noEmit 2026-10-25T00:57:59.9747366Z 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-25T00:57:59.9747743Z 2026-10-25T00:57:59.9747850Z 284 getCapabilities: () => Effect.succeed(MuseProviderCapabilitiesV2), 2026-10-25T00:57:59.9748049Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9748120Z 2026-10-25T00:57:59.9748481Z 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-25T00:57:59.9748919Z 2026-10-25T00:57:59.9749048Z 285 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9749268Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9749356Z 2026-10-25T00:57:59.9749642Z 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-25T00:57:59.9749968Z 2026-10-25T00:57:59.9750024Z 388 TimeoutError: (cause) => 2026-10-25T00:57:59.9750170Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9750249Z 2026-10-25T00:57:59.9750475Z src/server/adapter.ts:1366:35 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9750749Z 2026-10-25T00:57:59.9750934Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-25T00:57:59.9751164Z ~~~~~~~~~~ 2026-10-25T00:57:59.9751268Z 2026-10-25T00:57:59.9751494Z src/server/adapter.ts:1366:71 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9751763Z 2026-10-25T00:57:59.9751889Z 1366 wake === held ? Effect.map(dispatch, Option.some) : Effect.succeed(Option.none()), 2026-10-25T00:57:59.9752140Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9752264Z 2026-10-25T00:57:59.9752266Z 2026-10-25T00:57:59.9752337Z ~/packages/provider-acp-registry$ tsc --noEmit 2026-10-25T00:57:59.9752750Z 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-25T00:57:59.9753087Z 2026-10-25T00:57:59.9753146Z 147 return Effect.succeed(undefined); 2026-10-25T00:57:59.9753297Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9753389Z 2026-10-25T00:57:59.9753810Z 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-25T00:57:59.9754269Z 2026-10-25T00:57:59.9754335Z 188 if (!recordable) return Effect.void; 2026-10-25T00:57:59.9754491Z ~~~~~~ 2026-10-25T00:57:59.9754577Z 2026-10-25T00:57:59.9754995Z 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-25T00:57:59.9755491Z 2026-10-25T00:57:59.9755547Z 208 return Effect.void; 2026-10-25T00:57:59.9755679Z ~~~~~~ 2026-10-25T00:57:59.9755748Z 2026-10-25T00:57:59.9756155Z 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-25T00:57:59.9756601Z 2026-10-25T00:57:59.9756651Z 228 return fs 2026-10-25T00:57:59.9756768Z ~~~~~~ 2026-10-25T00:57:59.9756832Z 2026-10-25T00:57:59.9757154Z 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-25T00:57:59.9757520Z 2026-10-25T00:57:59.9757636Z 311 OpenCodeServerLedger.of({ track: () => Effect.succeed(Effect.void) }), 2026-10-25T00:57:59.9757843Z ~~~~~ 2026-10-25T00:57:59.9757935Z 2026-10-25T00:57:59.9758267Z 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-25T00:57:59.9758638Z 2026-10-25T00:57:59.9758690Z 169 withServer: (use) => 2026-10-25T00:57:59.9758834Z ~~~~~~~~~~ 2026-10-25T00:57:59.9758933Z 2026-10-25T00:57:59.9759352Z 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-25T00:57:59.9759810Z 2026-10-25T00:57:59.9759938Z 103 const OPENCODE_TEST_SETTINGS = Schema.decodeUnknownSync(OpenCodeSettings)({}); 2026-10-25T00:57:59.9760167Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9760277Z 2026-10-25T00:57:59.9760662Z 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-25T00:57:59.9761043Z 2026-10-25T00:57:59.9761158Z 938 getCapabilities: () => Effect.succeed(OpenCodeProviderCapabilitiesV2), 2026-10-25T00:57:59.9761366Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9761440Z 2026-10-25T00:57:59.9761794Z 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-25T00:57:59.9762191Z 2026-10-25T00:57:59.9762320Z 939 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9762542Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9762625Z 2026-10-25T00:57:59.9762937Z 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-25T00:57:59.9763290Z 2026-10-25T00:57:59.9763373Z 1011 const abortController = new AbortController(); 2026-10-25T00:57:59.9763554Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9763661Z 2026-10-25T00:57:59.9764002Z 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-25T00:57:59.9764380Z 2026-10-25T00:57:59.9764464Z 1088 if (failure) return yield* Effect.fail(failure); 2026-10-25T00:57:59.9764640Z ~~~~~ 2026-10-25T00:57:59.9764779Z 2026-10-25T00:57:59.9765074Z 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-25T00:57:59.9765411Z 2026-10-25T00:57:59.9765497Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-25T00:57:59.9765669Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9765752Z 2026-10-25T00:57:59.9766022Z 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-25T00:57:59.9766331Z 2026-10-25T00:57:59.9766414Z 1584 Effect.catch(() => Effect.succeed(undefined)), 2026-10-25T00:57:59.9766599Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9766704Z 2026-10-25T00:57:59.9767016Z 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-25T00:57:59.9767365Z 2026-10-25T00:57:59.9767458Z 3194 admissionAbortController: new AbortController(), 2026-10-25T00:57:59.9767654Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9767764Z 2026-10-25T00:57:59.9768066Z 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-25T00:57:59.9768417Z 2026-10-25T00:57:59.9768510Z 3354 turn.admissionAbortController = new AbortController(); 2026-10-25T00:57:59.9768717Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9768841Z 2026-10-25T00:57:59.9769178Z 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-25T00:57:59.9769529Z 2026-10-25T00:57:59.9769643Z 158 connect: ({ baseUrl, password }) => { 2026-10-25T00:57:59.9769797Z ~~~~~~~ 2026-10-25T00:57:59.9769864Z 2026-10-25T00:57:59.9770181Z 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-25T00:57:59.9770544Z 2026-10-25T00:57:59.9770601Z 160 withConnection: (use) => 2026-10-25T00:57:59.9770741Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9770817Z 2026-10-25T00:57:59.9771133Z 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-25T00:57:59.9771492Z 2026-10-25T00:57:59.9771551Z 175 withConnection: (use) => 2026-10-25T00:57:59.9771681Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9771755Z 2026-10-25T00:57:59.9771991Z src/server/v2/adapter.ts:1544:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9772265Z 2026-10-25T00:57:59.9772397Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-25T00:57:59.9772627Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9772724Z 2026-10-25T00:57:59.9772958Z src/server/v2/adapter.ts:1544:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9773236Z 2026-10-25T00:57:59.9773367Z 1544 wake.dropped ? Effect.succeed(Option.none()) : Effect.map(dispatch, Option.some), 2026-10-25T00:57:59.9773601Z ~~~~~~~~~~ 2026-10-25T00:57:59.9773759Z 2026-10-25T00:57:59.9774104Z 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-25T00:57:59.9774492Z 2026-10-25T00:57:59.9774609Z 4137 getCapabilities: () => Effect.succeed(OpenCode2ProviderCapabilities), 2026-10-25T00:57:59.9774810Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9774883Z 2026-10-25T00:57:59.9775242Z 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-25T00:57:59.9775723Z 2026-10-25T00:57:59.9775853Z 4138 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9776074Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9776156Z 2026-10-25T00:57:59.9776160Z 2026-10-25T00:57:59.9776240Z ~/packages/source-control-definitions$ tsc --noEmit 2026-10-25T00:57:59.9776727Z 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-25T00:57:59.9777129Z 2026-10-25T00:57:59.9777204Z 31 read: (credentialSource, sinceMs, untilMs) => 2026-10-25T00:57:59.9777370Z ~~~~ 2026-10-25T00:57:59.9777432Z 2026-10-25T00:57:59.9777738Z 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-25T00:57:59.9778084Z 2026-10-25T00:57:59.9778137Z 82 read: (apiKey) => 2026-10-25T00:57:59.9778258Z ~~~~ 2026-10-25T00:57:59.9778321Z 2026-10-25T00:57:59.9778622Z 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-25T00:57:59.9779002Z 2026-10-25T00:57:59.9779117Z 360 Effect.catch(() => 2026-10-25T00:57:59.9779246Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9779314Z 2026-10-25T00:57:59.9779655Z src/server/adapter.ts:911:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9780040Z 2026-10-25T00:57:59.9780152Z 911 getCapabilities: () => Effect.succeed(CursorProviderCapabilitiesV2), 2026-10-25T00:57:59.9780352Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9780426Z 2026-10-25T00:57:59.9780779Z src/server/adapter.ts:912:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9781175Z 2026-10-25T00:57:59.9781301Z 912 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9781527Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9781610Z 2026-10-25T00:57:59.9782083Z 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-25T00:57:59.9782599Z 2026-10-25T00:57:59.9782657Z 55 Effect.runPromise( 2026-10-25T00:57:59.9782789Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9782868Z 2026-10-25T00:57:59.9783152Z 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-25T00:57:59.9783535Z 2026-10-25T00:57:59.9783605Z 59 onNone: () => Effect.succeed(undefined), 2026-10-25T00:57:59.9783782Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9783884Z 2026-10-25T00:57:59.9784360Z 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-25T00:57:59.9784874Z 2026-10-25T00:57:59.9784930Z 69 Effect.runPromise( 2026-10-25T00:57:59.9785057Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9785135Z 2026-10-25T00:57:59.9785609Z 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-25T00:57:59.9786127Z 2026-10-25T00:57:59.9786205Z 82 clear: () => Effect.runPromise(credentials.remove), 2026-10-25T00:57:59.9786382Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9786474Z 2026-10-25T00:57:59.9786824Z 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-25T00:57:59.9787210Z 2026-10-25T00:57:59.9787276Z 228 Effect.flatMap((snapshot) => 2026-10-25T00:57:59.9787428Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9787507Z 2026-10-25T00:57:59.9787716Z src/server/usageLimits.test.ts:74:5 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-25T00:57:59.9787964Z 2026-10-25T00:57:59.9788021Z 74 Effect.gen(function* () { 2026-10-25T00:57:59.9788158Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9788300Z 75 yield* withNodeServices( 2026-10-25T00:57:59.9788439Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9788565Z ... 2026-10-25T00:57:59.9788710Z 115 ); 2026-10-25T00:57:59.9788821Z ~~~~~~~~ 2026-10-25T00:57:59.9788954Z 116 }), 2026-10-25T00:57:59.9789054Z ~~~~~~ 2026-10-25T00:57:59.9789113Z 2026-10-25T00:57:59.9789115Z 2026-10-25T00:57:59.9789117Z 2026-10-25T00:57:59.9789179Z ~/packages/client-runtime$ tsc --noEmit 2026-10-25T00:57:59.9789552Z src/server/AcpRegistryRuntimeCoordinator.ts:154:52 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9789874Z 2026-10-25T00:57:59.9790020Z 154 return yield* Effect.raceFirst(effect.pipe(Effect.map(Option.some)), foregroundStarted); 2026-10-25T00:57:59.9790269Z ~~~~~~~~~~ 2026-10-25T00:57:59.9790379Z 2026-10-25T00:57:59.9790738Z 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-25T00:57:59.9791134Z 2026-10-25T00:57:59.9791187Z 1301 Effect.catch((error) => 2026-10-25T00:57:59.9791327Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9791400Z 2026-10-25T00:57:59.9791713Z 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-25T00:57:59.9792068Z 2026-10-25T00:57:59.9792124Z 146 Option.isSome(result) 2026-10-25T00:57:59.9792261Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9792346Z 2026-10-25T00:57:59.9792617Z 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-25T00:57:59.9792976Z 2026-10-25T00:57:59.9793083Z 640 enrichSnapshot: ({ snapshot, getSnapshot, publishSnapshot }) => { 2026-10-25T00:57:59.9793285Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9793363Z 2026-10-25T00:57:59.9793586Z src/server/driver.ts:650:51 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9793852Z 2026-10-25T00:57:59.9793961Z 650 : enrichProviderCached(snapshot).pipe(Effect.map(Option.some)) 2026-10-25T00:57:59.9794171Z ~~~~~~~~~~ 2026-10-25T00:57:59.9794279Z 2026-10-25T00:57:59.9794281Z 2026-10-25T00:57:59.9794329Z Result (22 files): 2026-10-25T00:57:59.9794442Z - 0 errors 2026-10-25T00:57:59.9794547Z - 0 warnings 2026-10-25T00:57:59.9794652Z - 0 hints 2026-10-25T00:57:59.9794711Z 2026-10-25T00:57:59.9794713Z 2026-10-25T00:57:59.9794959Z src/authorization/remote.test.ts:334:25 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9795249Z 2026-10-25T00:57:59.9795365Z 334 identity: Effect.succeed(Option.some({ accountId: "user_connect" })), 2026-10-25T00:57:59.9795572Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9795663Z 2026-10-25T00:57:59.9795904Z src/authorization/remote.test.ts:339:17 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9796187Z 2026-10-25T00:57:59.9796268Z 339 id: Effect.succeed(Option.some("device-1")), 2026-10-25T00:57:59.9796441Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9796526Z 2026-10-25T00:57:59.9796881Z src/authorization/service.ts:547:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteEnvironmentAuthorization.authorizeDpop")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9797272Z 2026-10-25T00:57:59.9797328Z 547 authorizeDpop: (input) => 2026-10-25T00:57:59.9797468Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9797539Z 2026-10-25T00:57:59.9797937Z src/authorization/service.ts:549:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteEnvironmentAuthorization.authorizeDpopHttp")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9798338Z 2026-10-25T00:57:59.9798398Z 549 authorizeDpopHttp: (input) => 2026-10-25T00:57:59.9798541Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9798617Z 2026-10-25T00:57:59.9798993Z 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-25T00:57:59.9799373Z 2026-10-25T00:57:59.9799430Z 298 registerPairing: (input) => 2026-10-25T00:57:59.9799575Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9799652Z 2026-10-25T00:57:59.9799974Z 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-25T00:57:59.9800342Z 2026-10-25T00:57:59.9800399Z 304 registerSsh: (input) => 2026-10-25T00:57:59.9800532Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9800601Z 2026-10-25T00:57:59.9800933Z 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-25T00:57:59.9801305Z 2026-10-25T00:57:59.9801362Z 309 updateBearer: (input) => 2026-10-25T00:57:59.9801502Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9801576Z 2026-10-25T00:57:59.9801941Z src/connection/pullRequestRoutingPermissions.ts:138:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.get")((entry) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9802396Z 2026-10-25T00:57:59.9802449Z 138 get: (entry) => 2026-10-25T00:57:59.9802569Z ~~~ 2026-10-25T00:57:59.9802635Z 2026-10-25T00:57:59.9803018Z src/connection/pullRequestRoutingPermissions.ts:143:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.set")((entry, permission) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9803442Z 2026-10-25T00:57:59.9803498Z 143 set: (entry, permission) => { 2026-10-25T00:57:59.9803644Z ~~~ 2026-10-25T00:57:59.9803707Z 2026-10-25T00:57:59.9804088Z src/connection/pullRequestRoutingPermissions.ts:159:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.forget")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9804514Z 2026-10-25T00:57:59.9804572Z 159 forget: (environmentId) => 2026-10-25T00:57:59.9804711Z ~~~~~~ 2026-10-25T00:57:59.9804777Z 2026-10-25T00:57:59.9805071Z 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-25T00:57:59.9805407Z 2026-10-25T00:57:59.9805467Z 1392 ? Effect.succeed(undefined) 2026-10-25T00:57:59.9805627Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9805723Z 2026-10-25T00:57:59.9806005Z 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-25T00:57:59.9806336Z 2026-10-25T00:57:59.9806396Z 1476 ? Effect.succeed(undefined) 2026-10-25T00:57:59.9806546Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9806641Z 2026-10-25T00:57:59.9806926Z 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-25T00:57:59.9807297Z 2026-10-25T00:57:59.9807370Z 1489 : Effect.succeed(undefined), 2026-10-25T00:57:59.9807538Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9807640Z 2026-10-25T00:57:59.9807905Z src/platform/orchestrationCache.test.ts:110:15 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9808213Z 2026-10-25T00:57:59.9808277Z 110 }).pipe(Effect.map(Option.some)); 2026-10-25T00:57:59.9808433Z ~~~~~~~~~~ 2026-10-25T00:57:59.9808511Z 2026-10-25T00:57:59.9808952Z 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-25T00:57:59.9809389Z 2026-10-25T00:57:59.9809488Z 72 load: (prepared: PreparedConnection, threadId: ThreadId) => { 2026-10-25T00:57:59.9809675Z ~~~~ 2026-10-25T00:57:59.9809740Z 2026-10-25T00:57:59.9810052Z 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-25T00:57:59.9810401Z 2026-10-25T00:57:59.9810512Z 56 Effect.catch(() => Effect.succeed(Option.none())), 2026-10-25T00:57:59.9810721Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9810800Z 2026-10-25T00:57:59.9811163Z 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-25T00:57:59.9811608Z 2026-10-25T00:57:59.9811668Z 62 return yield* Effect.fail( 2026-10-25T00:57:59.9811817Z ~~~~~ 2026-10-25T00:57:59.9811897Z 2026-10-25T00:57:59.9812220Z 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-25T00:57:59.9812576Z 2026-10-25T00:57:59.9812676Z 57 execute: (target: OutdatedServerUpdateTarget, atomRegistry) => { 2026-10-25T00:57:59.9812874Z ~~~~~~~ 2026-10-25T00:57:59.9812937Z 2026-10-25T00:57:59.9813276Z 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-25T00:57:59.9813657Z 2026-10-25T00:57:59.9813719Z 90 load: (prepared, input) => 2026-10-25T00:57:59.9813857Z ~~~~ 2026-10-25T00:57:59.9813924Z 2026-10-25T00:57:59.9814362Z 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-25T00:57:59.9814834Z 2026-10-25T00:57:59.9814942Z 34 return yield* Schema.decodeUnknownEffect(codec)(stored.value).pipe( 2026-10-25T00:57:59.9815159Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9815265Z 2026-10-25T00:57:59.9815604Z src/state/queryPersistence.ts:35:9 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9815891Z 2026-10-25T00:57:59.9815948Z 35 Effect.map(Option.some), 2026-10-25T00:57:59.9816087Z ~~~~~~~~~~ 2026-10-25T00:57:59.9816163Z 2026-10-25T00:57:59.9816453Z 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-25T00:57:59.9816783Z 2026-10-25T00:57:59.9816900Z 680 execute: (target, atomRegistry) => { 2026-10-25T00:57:59.9817053Z ~~~~~~~ 2026-10-25T00:57:59.9817118Z 2026-10-25T00:57:59.9817469Z 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-25T00:57:59.9817866Z 2026-10-25T00:57:59.9817929Z 1125 Effect.flatMap((summary) => 2026-10-25T00:57:59.9818079Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9818165Z 2026-10-25T00:57:59.9818407Z src/state/shell-sync.test.ts:90:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9818686Z 2026-10-25T00:57:59.9818763Z 90 loadShell: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9818985Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9819080Z 2026-10-25T00:57:59.9819314Z src/state/shell-sync.test.ts:96:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9819592Z 2026-10-25T00:57:59.9819673Z 96 loadThread: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9819849Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9819947Z 2026-10-25T00:57:59.9820182Z src/state/shell-sync.test.ts:99:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9820460Z 2026-10-25T00:57:59.9820547Z 99 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9820735Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9820839Z 2026-10-25T00:57:59.9821134Z src/state/shell-sync.test.ts:101:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9821413Z 2026-10-25T00:57:59.9821497Z 101 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9821674Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9821774Z 2026-10-25T00:57:59.9822009Z src/state/shell-sync.test.ts:108:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9822291Z 2026-10-25T00:57:59.9822362Z 108 load: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9822528Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9822621Z 2026-10-25T00:57:59.9822850Z src/state/shell-sync.test.ts:229:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9823130Z 2026-10-25T00:57:59.9823211Z 229 loadShell: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9823386Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9823482Z 2026-10-25T00:57:59.9823721Z src/state/shell-sync.test.ts:238:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9824001Z 2026-10-25T00:57:59.9824080Z 238 loadThread: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9824258Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9824353Z 2026-10-25T00:57:59.9824584Z src/state/shell-sync.test.ts:241:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9824863Z 2026-10-25T00:57:59.9824954Z 241 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9825139Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9825243Z 2026-10-25T00:57:59.9825479Z src/state/shell-sync.test.ts:243:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9825756Z 2026-10-25T00:57:59.9825894Z 243 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9826071Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9826169Z 2026-10-25T00:57:59.9826403Z src/state/shell-sync.test.ts:250:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9826676Z 2026-10-25T00:57:59.9826749Z 250 load: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9826913Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9827006Z 2026-10-25T00:57:59.9827244Z src/state/shell-sync.test.ts:349:26 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9827524Z 2026-10-25T00:57:59.9827604Z 349 loadShell: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9827775Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9827870Z 2026-10-25T00:57:59.9828110Z src/state/shell-sync.test.ts:355:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9828384Z 2026-10-25T00:57:59.9828465Z 355 loadThread: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9828640Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9828734Z 2026-10-25T00:57:59.9828999Z src/state/shell-sync.test.ts:358:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9829276Z 2026-10-25T00:57:59.9829366Z 358 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9829550Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9829553Z 2026-10-25T00:57:59.9829939Z src/state/shell-sync.test.ts:360:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9829941Z 2026-10-25T00:57:59.9830024Z 360 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9830078Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9830080Z 2026-10-25T00:57:59.9830312Z src/state/shell-sync.test.ts:367:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9830315Z 2026-10-25T00:57:59.9830386Z 367 load: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9830440Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9830442Z 2026-10-25T00:57:59.9830675Z src/state/shell-sync.test.ts:446:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9830677Z 2026-10-25T00:57:59.9830775Z 446 loadShell: () => Effect.succeed(Option.some(cachedSnapshot)), 2026-10-25T00:57:59.9830828Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9830830Z 2026-10-25T00:57:59.9831065Z src/state/shell-sync.test.ts:448:27 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9831067Z 2026-10-25T00:57:59.9831145Z 448 loadThread: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9831196Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9831202Z 2026-10-25T00:57:59.9831434Z src/state/shell-sync.test.ts:451:33 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9831436Z 2026-10-25T00:57:59.9831523Z 451 loadServerConfig: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9831581Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9831586Z 2026-10-25T00:57:59.9831817Z src/state/shell-sync.test.ts:453:28 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9831859Z 2026-10-25T00:57:59.9831936Z 453 loadVcsRefs: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9831994Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9831996Z 2026-10-25T00:57:59.9832231Z src/state/shell-sync.test.ts:460:21 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9832233Z 2026-10-25T00:57:59.9832320Z 460 load: () => Effect.succeed(Option.some(httpSnapshot)), 2026-10-25T00:57:59.9832373Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9832375Z 2026-10-25T00:57:59.9832695Z 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-25T00:57:59.9832700Z 2026-10-25T00:57:59.9832770Z 98 load: (prepared: PreparedConnection) => 2026-10-25T00:57:59.9837974Z ~~~~ 2026-10-25T00:57:59.9837981Z 2026-10-25T00:57:59.9838375Z 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-25T00:57:59.9838378Z 2026-10-25T00:57:59.9838457Z 52 register: (environmentId, threadId, handler) => 2026-10-25T00:57:59.9838502Z ~~~~~~~~ 2026-10-25T00:57:59.9838505Z 2026-10-25T00:57:59.9838901Z 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-25T00:57:59.9838903Z 2026-10-25T00:57:59.9839031Z 64 unregister: (registration) => 2026-10-25T00:57:59.9839075Z ~~~~~~~~~~ 2026-10-25T00:57:59.9839078Z 2026-10-25T00:57:59.9839478Z 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-25T00:57:59.9839480Z 2026-10-25T00:57:59.9839572Z 79 loadEarlier: (environmentId, threadId, throughEntryId) => 2026-10-25T00:57:59.9839618Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9839620Z 2026-10-25T00:57:59.9840014Z 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-25T00:57:59.9840016Z 2026-10-25T00:57:59.9840098Z 89 reconcilePendingWork: (environmentId, threadId) => 2026-10-25T00:57:59.9840148Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9840152Z 2026-10-25T00:57:59.9840581Z src/state/threads-sync.test.ts:374:18 - 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-25T00:57:59.9840584Z 2026-10-25T00:57:59.9840671Z 374 Schema.decodeUnknownEffect(schema)(stale).pipe( 2026-10-25T00:57:59.9840722Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9840724Z 2026-10-25T00:57:59.9840966Z src/state/threads-sync.test.ts:1520:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9840968Z 2026-10-25T00:57:59.9841060Z 1520 : { loadCached: Effect.succeed(Option.some(saved!)) }, 2026-10-25T00:57:59.9841116Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9841120Z 2026-10-25T00:57:59.9841447Z 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-25T00:57:59.9841450Z 2026-10-25T00:57:59.9841543Z 447 execute: (input: RunVcsStackedActionInput, registry) => { 2026-10-25T00:57:59.9841587Z ~~~~~~~ 2026-10-25T00:57:59.9841589Z 2026-10-25T00:57:59.9841591Z 2026-10-25T00:57:59.9841644Z ~/apps/mobile$ tsc --noEmit 2026-10-25T00:57:59.9841694Z ~/infra/relay$ tsc --noEmit 2026-10-25T00:57:59.9841745Z ~/apps/web$ tsc --noEmit 2026-10-25T00:57:59.9841798Z ~/apps/desktop$ tsc --noEmit 2026-10-25T00:57:59.9842133Z 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-25T00:57:59.9842139Z 2026-10-25T00:57:59.9842190Z 220 send: (body) => 2026-10-25T00:57:59.9842235Z ~~~~ 2026-10-25T00:57:59.9842237Z 2026-10-25T00:57:59.9842558Z 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-25T00:57:59.9842561Z 2026-10-25T00:57:59.9842613Z 12 onFailure: (error) => 2026-10-25T00:57:59.9842655Z ~~~~~~~~~ 2026-10-25T00:57:59.9842657Z 2026-10-25T00:57:59.9843001Z 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-25T00:57:59.9843003Z 2026-10-25T00:57:59.9843061Z 64 pauseUntil: (untilMillis) => 2026-10-25T00:57:59.9843103Z ~~~~~~~~~~ 2026-10-25T00:57:59.9843106Z 2026-10-25T00:57:59.9843358Z 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-25T00:57:59.9843406Z 2026-10-25T00:57:59.9843456Z 198 onNone: () => 2026-10-25T00:57:59.9843501Z ~~~~~~ 2026-10-25T00:57:59.9843503Z 2026-10-25T00:57:59.9843779Z src/previewTunnelSweep.test.ts:53:11 - suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-10-25T00:57:59.9843781Z 2026-10-25T00:57:59.9843908Z 53 }).pipe(Effect.provide(Layer.succeed(HttpClient.HttpClient, cloudflare.client))); 2026-10-25T00:57:59.9843953Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9843955Z 2026-10-25T00:57:59.9844248Z 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-25T00:57:59.9844250Z 2026-10-25T00:57:59.9844368Z 92 fileResponse: () => Effect.die("Relay API does not serve filesystem responses"), 2026-10-25T00:57:59.9844411Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9844413Z 2026-10-25T00:57:59.9844711Z 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-25T00:57:59.9844714Z 2026-10-25T00:57:59.9844824Z 93 fileWebResponse: () => Effect.die("Relay API does not serve file responses"), 2026-10-25T00:57:59.9844868Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9844871Z 2026-10-25T00:57:59.9845138Z 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-25T00:57:59.9845141Z 2026-10-25T00:57:59.9845208Z 242 hold: ({ endpointKey, baseUrl, hook }) => 2026-10-25T00:57:59.9845253Z ~~~~ 2026-10-25T00:57:59.9845257Z 2026-10-25T00:57:59.9845564Z 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-25T00:57:59.9845567Z 2026-10-25T00:57:59.9845630Z 244 wake: ({ endpointKey, baseUrl }) => 2026-10-25T00:57:59.9845677Z ~~~~ 2026-10-25T00:57:59.9845679Z 2026-10-25T00:57:59.9845948Z 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-25T00:57:59.9845950Z 2026-10-25T00:57:59.9846008Z 246 clear: ({ endpointKey }) => 2026-10-25T00:57:59.9846050Z ~~~~~ 2026-10-25T00:57:59.9846052Z 2026-10-25T00:57:59.9846384Z 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-25T00:57:59.9846388Z 2026-10-25T00:57:59.9846442Z 275 send: (body) => 2026-10-25T00:57:59.9846490Z ~~~~ 2026-10-25T00:57:59.9846492Z 2026-10-25T00:57:59.9846496Z 2026-10-25T00:57:59.9846815Z 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-25T00:57:59.9846821Z 2026-10-25T00:57:59.9846926Z 389 complete: (response) => Effect.sync(() => broker.complete(response)), 2026-10-25T00:57:59.9846972Z ~~~~~~~~ 2026-10-25T00:57:59.9846974Z 2026-10-25T00:57:59.9847210Z src/app/DesktopClerk.test.ts:300:27 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9847212Z 2026-10-25T00:57:59.9847304Z 300 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-25T00:57:59.9847400Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9847402Z 2026-10-25T00:57:59.9847693Z 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-25T00:57:59.9847695Z 2026-10-25T00:57:59.9847749Z 461 onSome: (logFile) => 2026-10-25T00:57:59.9847793Z ~~~~~~ 2026-10-25T00:57:59.9847795Z 2026-10-25T00:57:59.9848134Z 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-25T00:57:59.9848136Z 2026-10-25T00:57:59.9848194Z 591 forInstance: (id) => makeForId(id), 2026-10-25T00:57:59.9848241Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9848243Z 2026-10-25T00:57:59.9848485Z src/app/DesktopWebLinks.test.ts:29:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9848490Z 2026-10-25T00:57:59.9848584Z 29 currentMainOrFirst: Effect.succeed(Option.some(window)), 2026-10-25T00:57:59.9848642Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9848644Z 2026-10-25T00:57:59.9848970Z 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-25T00:57:59.9848972Z 2026-10-25T00:57:59.9849025Z 72 receive: (url) => 2026-10-25T00:57:59.9849069Z ~~~~~~~ 2026-10-25T00:57:59.9849071Z 2026-10-25T00:57:59.9849384Z 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-25T00:57:59.9849386Z 2026-10-25T00:57:59.9849446Z 77 setRendererReady: (ready) => 2026-10-25T00:57:59.9849491Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9849493Z 2026-10-25T00:57:59.9849829Z 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-25T00:57:59.9849832Z 2026-10-25T00:57:59.9849882Z 1062 onSome: (run) => 2026-10-25T00:57:59.9849927Z ~~~~~~ 2026-10-25T00:57:59.9849930Z 2026-10-25T00:57:59.9850227Z 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-25T00:57:59.9850232Z 2026-10-25T00:57:59.9850277Z 307 get: (id) => 2026-10-25T00:57:59.9850322Z ~~~ 2026-10-25T00:57:59.9850324Z 2026-10-25T00:57:59.9850623Z 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-25T00:57:59.9850627Z 2026-10-25T00:57:59.9850727Z 342 get: (id) => Effect.succeed(Option.fromNullishOr(byId.get(id))), 2026-10-25T00:57:59.9850768Z ~~~ 2026-10-25T00:57:59.9850771Z 2026-10-25T00:57:59.9851078Z 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-25T00:57:59.9851081Z 2026-10-25T00:57:59.9851215Z 345 register: () => Effect.die("DesktopBackendPool.layerTest does not support register"), 2026-10-25T00:57:59.9851260Z ~~~~~~~~ 2026-10-25T00:57:59.9851262Z 2026-10-25T00:57:59.9851574Z 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-25T00:57:59.9851622Z 2026-10-25T00:57:59.9851759Z 346 unregister: () => Effect.die("DesktopBackendPool.layerTest does not support unregister"), 2026-10-25T00:57:59.9851807Z ~~~~~~~~~~ 2026-10-25T00:57:59.9851809Z 2026-10-25T00:57:59.9852090Z 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-25T00:57:59.9852093Z 2026-10-25T00:57:59.9852141Z 145 exit: (code) => 2026-10-25T00:57:59.9852182Z ~~~~ 2026-10-25T00:57:59.9852187Z 2026-10-25T00:57:59.9852476Z 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-25T00:57:59.9852479Z 2026-10-25T00:57:59.9852531Z 149 relaunch: (options) => 2026-10-25T00:57:59.9852575Z ~~~~~~~~ 2026-10-25T00:57:59.9852579Z 2026-10-25T00:57:59.9852878Z 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-25T00:57:59.9852880Z 2026-10-25T00:57:59.9852933Z 153 setPath: (name, path) => 2026-10-25T00:57:59.9852978Z ~~~~~~~ 2026-10-25T00:57:59.9852980Z 2026-10-25T00:57:59.9853264Z 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-25T00:57:59.9853267Z 2026-10-25T00:57:59.9853316Z 157 setName: (name) => 2026-10-25T00:57:59.9853362Z ~~~~~~~ 2026-10-25T00:57:59.9853364Z 2026-10-25T00:57:59.9853679Z 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-25T00:57:59.9853684Z 2026-10-25T00:57:59.9853747Z 161 setAboutPanelOptions: (options) => 2026-10-25T00:57:59.9853796Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9853839Z 2026-10-25T00:57:59.9854142Z 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-25T00:57:59.9854144Z 2026-10-25T00:57:59.9854202Z 165 setAppUserModelId: (id) => 2026-10-25T00:57:59.9854248Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9854250Z 2026-10-25T00:57:59.9854600Z 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-25T00:57:59.9854602Z 2026-10-25T00:57:59.9854691Z 170 setAsDefaultProtocolClient: (protocol, path, args) => 2026-10-25T00:57:59.9854742Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9854745Z 2026-10-25T00:57:59.9855052Z 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-25T00:57:59.9855058Z 2026-10-25T00:57:59.9855115Z 177 setDesktopName: (desktopName) => 2026-10-25T00:57:59.9855161Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9855163Z 2026-10-25T00:57:59.9855628Z 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-25T00:57:59.9855631Z 2026-10-25T00:57:59.9855685Z 184 setDockIcon: (iconPath) => 2026-10-25T00:57:59.9855727Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9855730Z 2026-10-25T00:57:59.9856075Z 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-25T00:57:59.9856146Z 2026-10-25T00:57:59.9856228Z 188 appendCommandLineSwitch: (switchName, value) => 2026-10-25T00:57:59.9856278Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9856281Z 2026-10-25T00:57:59.9856603Z 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-25T00:57:59.9856606Z 2026-10-25T00:57:59.9856667Z 196 onBeforeQuitForUpdate: (listener) => 2026-10-25T00:57:59.9856716Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9856718Z 2026-10-25T00:57:59.9857043Z 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-25T00:57:59.9857047Z 2026-10-25T00:57:59.9857114Z 206 removeCommandLineSwitch: (switchName) => 2026-10-25T00:57:59.9857164Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9857167Z 2026-10-25T00:57:59.9857493Z 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-25T00:57:59.9857495Z 2026-10-25T00:57:59.9857556Z 169 showMessageBox: (options, owner) => 2026-10-25T00:57:59.9857602Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9857604Z 2026-10-25T00:57:59.9857923Z 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-25T00:57:59.9857925Z 2026-10-25T00:57:59.9857984Z 185 showErrorBox: (title, content) => 2026-10-25T00:57:59.9858029Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9858031Z 2026-10-25T00:57:59.9858400Z 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-25T00:57:59.9858403Z 2026-10-25T00:57:59.9858464Z 193 setApplicationMenu: (template) => 2026-10-25T00:57:59.9858512Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9858515Z 2026-10-25T00:57:59.9858859Z 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-25T00:57:59.9858865Z 2026-10-25T00:57:59.9858921Z 207 popupTemplate: (input) => 2026-10-25T00:57:59.9858968Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9858970Z 2026-10-25T00:57:59.9859274Z 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-25T00:57:59.9859279Z 2026-10-25T00:57:59.9859339Z 225 showContextMenu: (input) => 2026-10-25T00:57:59.9859385Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9859387Z 2026-10-25T00:57:59.9859761Z 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-25T00:57:59.9859764Z 2026-10-25T00:57:59.9859838Z 82 getSystemIdleState: (idleThresholdSeconds) => 2026-10-25T00:57:59.9859885Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9859887Z 2026-10-25T00:57:59.9860216Z 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-25T00:57:59.9860264Z 2026-10-25T00:57:59.9860317Z 77 encryptString: (value) => 2026-10-25T00:57:59.9860364Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9860366Z 2026-10-25T00:57:59.9860693Z 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-25T00:57:59.9860695Z 2026-10-25T00:57:59.9860749Z 82 decryptString: (value) => 2026-10-25T00:57:59.9860796Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9860798Z 2026-10-25T00:57:59.9861100Z 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-25T00:57:59.9861103Z 2026-10-25T00:57:59.9861158Z 68 openExternal: (rawUrl) => 2026-10-25T00:57:59.9861203Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9861207Z 2026-10-25T00:57:59.9861525Z 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-25T00:57:59.9861527Z 2026-10-25T00:57:59.9861586Z 79 openSystemSettings: (pane) => 2026-10-25T00:57:59.9861630Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9861633Z 2026-10-25T00:57:59.9861927Z 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-25T00:57:59.9861929Z 2026-10-25T00:57:59.9861979Z 86 copyText: (text) => 2026-10-25T00:57:59.9862023Z ~~~~~~~~ 2026-10-25T00:57:59.9862025Z 2026-10-25T00:57:59.9862319Z 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-25T00:57:59.9862326Z 2026-10-25T00:57:59.9862376Z 34 setSource: (theme) => 2026-10-25T00:57:59.9862421Z ~~~~~~~~~ 2026-10-25T00:57:59.9862423Z 2026-10-25T00:57:59.9862774Z 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-25T00:57:59.9862777Z 2026-10-25T00:57:59.9862832Z 41 onUpdated: (listener) => 2026-10-25T00:57:59.9862873Z ~~~~~~~~~ 2026-10-25T00:57:59.9862875Z 2026-10-25T00:57:59.9863189Z 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-25T00:57:59.9863192Z 2026-10-25T00:57:59.9863244Z 85 setFeedURL: (options) => 2026-10-25T00:57:59.9863291Z ~~~~~~~~~~ 2026-10-25T00:57:59.9863293Z 2026-10-25T00:57:59.9863612Z 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-25T00:57:59.9863618Z 2026-10-25T00:57:59.9863669Z 90 setAutoDownload: (value) => 2026-10-25T00:57:59.9863715Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9863717Z 2026-10-25T00:57:59.9864053Z 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-25T00:57:59.9864056Z 2026-10-25T00:57:59.9864118Z 95 setAutoInstallOnAppQuit: (value) => 2026-10-25T00:57:59.9864166Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9864168Z 2026-10-25T00:57:59.9864479Z 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-25T00:57:59.9864526Z 2026-10-25T00:57:59.9864580Z 100 setChannel: (channel) => 2026-10-25T00:57:59.9864625Z ~~~~~~~~~~ 2026-10-25T00:57:59.9864629Z 2026-10-25T00:57:59.9864955Z 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-25T00:57:59.9864957Z 2026-10-25T00:57:59.9865012Z 105 setAllowPrerelease: (value) => 2026-10-25T00:57:59.9865062Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9865064Z 2026-10-25T00:57:59.9865393Z 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-25T00:57:59.9865395Z 2026-10-25T00:57:59.9865451Z 111 setAllowDowngrade: (value) => 2026-10-25T00:57:59.9865501Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9865503Z 2026-10-25T00:57:59.9865827Z 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-25T00:57:59.9865829Z 2026-10-25T00:57:59.9865885Z 116 setFullChangelog: (value) => 2026-10-25T00:57:59.9865931Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9865933Z 2026-10-25T00:57:59.9866288Z 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-25T00:57:59.9866290Z 2026-10-25T00:57:59.9866362Z 121 setDisableDifferentialDownload: (value) => 2026-10-25T00:57:59.9866411Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9866413Z 2026-10-25T00:57:59.9866725Z 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-25T00:57:59.9866729Z 2026-10-25T00:57:59.9866850Z 140 quitAndInstall: ({ isSilent, isForceRunAfter }) => 2026-10-25T00:57:59.9866899Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9866901Z 2026-10-25T00:57:59.9867213Z 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-25T00:57:59.9867217Z 2026-10-25T00:57:59.9867270Z 154 on: (eventName, listener) => { 2026-10-25T00:57:59.9867316Z ~~ 2026-10-25T00:57:59.9867318Z 2026-10-25T00:57:59.9867618Z 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-25T00:57:59.9867622Z 2026-10-25T00:57:59.9867675Z 211 create: (options) => { 2026-10-25T00:57:59.9867722Z ~~~~~~ 2026-10-25T00:57:59.9867725Z 2026-10-25T00:57:59.9868027Z 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-25T00:57:59.9868030Z 2026-10-25T00:57:59.9868128Z 243 setMain: (window) => Ref.set(mainWindowRef, Option.some(window)), 2026-10-25T00:57:59.9868171Z ~~~~~~~ 2026-10-25T00:57:59.9868174Z 2026-10-25T00:57:59.9868479Z 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-25T00:57:59.9868481Z 2026-10-25T00:57:59.9868531Z 244 clearMain: (window) => 2026-10-25T00:57:59.9868576Z ~~~~~~~~~ 2026-10-25T00:57:59.9868622Z 2026-10-25T00:57:59.9868970Z 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-25T00:57:59.9868973Z 2026-10-25T00:57:59.9869030Z 254 prepareReveal: (window) => 2026-10-25T00:57:59.9869075Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9869079Z 2026-10-25T00:57:59.9869377Z 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-25T00:57:59.9869380Z 2026-10-25T00:57:59.9869433Z 264 reveal: (window) => 2026-10-25T00:57:59.9869477Z ~~~~~~ 2026-10-25T00:57:59.9869480Z 2026-10-25T00:57:59.9869851Z 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-25T00:57:59.9869855Z 2026-10-25T00:57:59.9869931Z 526 setMainWindowBounds: (bounds, isMaximized) => 2026-10-25T00:57:59.9869983Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9869985Z 2026-10-25T00:57:59.9870338Z 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-25T00:57:59.9870340Z 2026-10-25T00:57:59.9870401Z 538 setServerExposureMode: (mode) => 2026-10-25T00:57:59.9870451Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9870453Z 2026-10-25T00:57:59.9870792Z 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-25T00:57:59.9870798Z 2026-10-25T00:57:59.9870856Z 542 setTailscaleServe: (input) => 2026-10-25T00:57:59.9870905Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9870907Z 2026-10-25T00:57:59.9871291Z 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-25T00:57:59.9871294Z 2026-10-25T00:57:59.9871355Z 546 setUpdateChannel: (channel) => 2026-10-25T00:57:59.9871401Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9871403Z 2026-10-25T00:57:59.9871749Z 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-25T00:57:59.9871751Z 2026-10-25T00:57:59.9871813Z 550 setWslBackendEnabled: (enabled) => 2026-10-25T00:57:59.9871862Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9871866Z 2026-10-25T00:57:59.9872195Z 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-25T00:57:59.9872197Z 2026-10-25T00:57:59.9872249Z 554 setWslDistro: (distro) => 2026-10-25T00:57:59.9872293Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9872295Z 2026-10-25T00:57:59.9872618Z 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-25T00:57:59.9872620Z 2026-10-25T00:57:59.9872672Z 560 setWslOnly: (enabled) => 2026-10-25T00:57:59.9872715Z ~~~~~~~~~~ 2026-10-25T00:57:59.9872719Z 2026-10-25T00:57:59.9873080Z 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-25T00:57:59.9873129Z 2026-10-25T00:57:59.9873197Z 564 setLocalEnvironmentEnabled: (enabled) => 2026-10-25T00:57:59.9873247Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9873250Z 2026-10-25T00:57:59.9873616Z 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-25T00:57:59.9873618Z 2026-10-25T00:57:59.9873694Z 599 setMainWindowBounds: (bounds, isMaximized) => 2026-10-25T00:57:59.9873742Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9873744Z 2026-10-25T00:57:59.9874091Z 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-25T00:57:59.9874096Z 2026-10-25T00:57:59.9874159Z 601 setServerExposureMode: (mode) => 2026-10-25T00:57:59.9874209Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9874213Z 2026-10-25T00:57:59.9874552Z 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-25T00:57:59.9874557Z 2026-10-25T00:57:59.9874691Z 603 setTailscaleServe: (input) => update((settings) => setTailscaleServe(settings, input)), 2026-10-25T00:57:59.9874741Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9874743Z 2026-10-25T00:57:59.9875086Z 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-25T00:57:59.9875089Z 2026-10-25T00:57:59.9875227Z 604 setUpdateChannel: (channel) => update((settings) => setUpdateChannel(settings, channel)), 2026-10-25T00:57:59.9875273Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9875277Z 2026-10-25T00:57:59.9875667Z 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-25T00:57:59.9875669Z 2026-10-25T00:57:59.9875733Z 605 setWslBackendEnabled: (enabled) => 2026-10-25T00:57:59.9875781Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9875783Z 2026-10-25T00:57:59.9876113Z 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-25T00:57:59.9876116Z 2026-10-25T00:57:59.9876237Z 607 setWslDistro: (distro) => update((settings) => setWslDistro(settings, distro)), 2026-10-25T00:57:59.9876285Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9876287Z 2026-10-25T00:57:59.9876619Z 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-25T00:57:59.9876622Z 2026-10-25T00:57:59.9876737Z 608 setWslOnly: (enabled) => update((settings) => setWslOnly(settings, enabled)), 2026-10-25T00:57:59.9876781Z ~~~~~~~~~~ 2026-10-25T00:57:59.9876783Z 2026-10-25T00:57:59.9877144Z 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-25T00:57:59.9877149Z 2026-10-25T00:57:59.9877219Z 609 setLocalEnvironmentEnabled: (enabled) => 2026-10-25T00:57:59.9877320Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9877322Z 2026-10-25T00:57:59.9877651Z 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-25T00:57:59.9877653Z 2026-10-25T00:57:59.9877704Z 197 set: (settings) => 2026-10-25T00:57:59.9877748Z ~~~ 2026-10-25T00:57:59.9877750Z 2026-10-25T00:57:59.9878074Z 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-25T00:57:59.9878077Z 2026-10-25T00:57:59.9878178Z 231 set: (settings) => Ref.set(settingsRef, Option.some(settings)), 2026-10-25T00:57:59.9878223Z ~~~ 2026-10-25T00:57:59.9878226Z 2026-10-25T00:57:59.9878581Z 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-25T00:57:59.9878585Z 2026-10-25T00:57:59.9878662Z 1729 setAnimationDestination: (id, destination) => 2026-10-25T00:57:59.9878713Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9878715Z 2026-10-25T00:57:59.9879082Z 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-25T00:57:59.9879085Z 2026-10-25T00:57:59.9879142Z 1740 dismissAnimation: (id) => 2026-10-25T00:57:59.9879191Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9879193Z 2026-10-25T00:57:59.9879501Z 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-25T00:57:59.9879506Z 2026-10-25T00:57:59.9879559Z 1745 acknowledge: (id) => 2026-10-25T00:57:59.9879606Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9879608Z 2026-10-25T00:57:59.9879984Z 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-25T00:57:59.9879987Z 2026-10-25T00:57:59.9880042Z 136 discoverHosts: (input) => 2026-10-25T00:57:59.9880087Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9880089Z 2026-10-25T00:57:59.9880418Z 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-25T00:57:59.9880420Z 2026-10-25T00:57:59.9880476Z 141 resolveHost: (alias) => 2026-10-25T00:57:59.9880520Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9880524Z 2026-10-25T00:57:59.9880889Z 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-25T00:57:59.9880894Z 2026-10-25T00:57:59.9880967Z 146 ensureEnvironment: (target, ensureOptions) => 2026-10-25T00:57:59.9881014Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9881016Z 2026-10-25T00:57:59.9881367Z 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-25T00:57:59.9881369Z 2026-10-25T00:57:59.9881428Z 154 disconnectEnvironment: (target) => 2026-10-25T00:57:59.9881473Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9881475Z 2026-10-25T00:57:59.9881814Z 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-25T00:57:59.9881860Z 2026-10-25T00:57:59.9882001Z 1171 installPrepared: (expectedVersion) => installWithExpectedVersion(expectedVersion), 2026-10-25T00:57:59.9882047Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9882049Z 2026-10-25T00:57:59.9882365Z 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-25T00:57:59.9882367Z 2026-10-25T00:57:59.9882421Z 1101 preWarm: () => Effect.void, 2026-10-25T00:57:59.9882468Z ~~~~~~~ 2026-10-25T00:57:59.9882470Z 2026-10-25T00:57:59.9882835Z 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-25T00:57:59.9882839Z 2026-10-25T00:57:59.9882912Z 1102 windowsToWslPath: (distro, windowsPath) => 2026-10-25T00:57:59.9882962Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9882964Z 2026-10-25T00:57:59.9883293Z 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-25T00:57:59.9883296Z 2026-10-25T00:57:59.9883441Z 1104 getUserHome: (distro) => Effect.succeed(stub.getUserHome?.(distro) ?? Option.none()), 2026-10-25T00:57:59.9883490Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9883492Z 2026-10-25T00:57:59.9883825Z 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-25T00:57:59.9883829Z 2026-10-25T00:57:59.9883972Z 1105 getDistroIp: (distro) => Effect.succeed(stub.getDistroIp?.(distro) ?? Option.none()), 2026-10-25T00:57:59.9884058Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9884060Z 2026-10-25T00:57:59.9884419Z 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-25T00:57:59.9884421Z 2026-10-25T00:57:59.9884487Z 1106 prepareRuntime: (distro, archive) => 2026-10-25T00:57:59.9884535Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9884537Z 2026-10-25T00:57:59.9884894Z 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-25T00:57:59.9884899Z 2026-10-25T00:57:59.9885041Z 1113 pruneRuntimes: (distro, runtimeId) => stub.pruneRuntimes?.(distro, runtimeId) ?? Effect.void, 2026-10-25T00:57:59.9885088Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9885091Z 2026-10-25T00:57:59.9885454Z 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-25T00:57:59.9885457Z 2026-10-25T00:57:59.9885526Z 1114 invalidateRuntime: (distro, runtimeId) => 2026-10-25T00:57:59.9885574Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9885576Z 2026-10-25T00:57:59.9885930Z 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-25T00:57:59.9885935Z 2026-10-25T00:57:59.9886002Z 1116 probeRuntime: (distro, linuxAppRoot) => 2026-10-25T00:57:59.9886095Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9886097Z 2026-10-25T00:57:59.9886477Z 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-25T00:57:59.9886480Z 2026-10-25T00:57:59.9886564Z 1120 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-25T00:57:59.9886609Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9886611Z 2026-10-25T00:57:59.9886936Z 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-25T00:57:59.9886939Z 2026-10-25T00:57:59.9886990Z 1187 preWarm: (distro) => 2026-10-25T00:57:59.9887036Z ~~~~~~~ 2026-10-25T00:57:59.9887040Z 2026-10-25T00:57:59.9887395Z 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-25T00:57:59.9887398Z 2026-10-25T00:57:59.9887459Z 1192 prepareRuntime: (distro, archive) => 2026-10-25T00:57:59.9887506Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9887508Z 2026-10-25T00:57:59.9887865Z 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-25T00:57:59.9887867Z 2026-10-25T00:57:59.9887932Z 1196 pruneRuntimes: (distro, runtimeId) => 2026-10-25T00:57:59.9887976Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9887981Z 2026-10-25T00:57:59.9888343Z 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-25T00:57:59.9888347Z 2026-10-25T00:57:59.9888459Z 1200 invalidateRuntime: (distro, runtimeId) => 2026-10-25T00:57:59.9888510Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9888512Z 2026-10-25T00:57:59.9888907Z 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-25T00:57:59.9888909Z 2026-10-25T00:57:59.9888981Z 1204 probeRuntime: (distro, linuxAppRoot) => 2026-10-25T00:57:59.9889026Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9889028Z 2026-10-25T00:57:59.9889398Z 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-25T00:57:59.9889402Z 2026-10-25T00:57:59.9889484Z 1208 ensureNodePty: (distro, linuxAppRoot, options) => 2026-10-25T00:57:59.9889531Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9889534Z 2026-10-25T00:57:59.9889536Z 2026-10-25T00:57:59.9889538Z 2026-10-25T00:57:59.9889896Z 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-25T00:57:59.9889898Z 2026-10-25T00:57:59.9889951Z 820 clear: (environmentId) => 2026-10-25T00:57:59.9889996Z ~~~~~ 2026-10-25T00:57:59.9889998Z 2026-10-25T00:57:59.9890320Z 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-25T00:57:59.9890366Z 2026-10-25T00:57:59.9890457Z 830 observe: ({ environmentId, environmentLabel, method }) => 2026-10-25T00:57:59.9890504Z ~~~~~~~ 2026-10-25T00:57:59.9890506Z 2026-10-25T00:57:59.9890824Z src/connection/storage.ts:551:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.get")((entry) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9890827Z 2026-10-25T00:57:59.9890874Z 551 get: (entry) => 2026-10-25T00:57:59.9890917Z ~~~ 2026-10-25T00:57:59.9890919Z 2026-10-25T00:57:59.9891254Z src/connection/storage.ts:578:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.set")((entry, permission) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9891257Z 2026-10-25T00:57:59.9891314Z 578 set: (entry, permission) => { 2026-10-25T00:57:59.9891358Z ~~~ 2026-10-25T00:57:59.9891362Z 2026-10-25T00:57:59.9891702Z src/connection/storage.ts:598:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestRoutingPermissions.forget")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9891705Z 2026-10-25T00:57:59.9891792Z 598 forget: (environmentId) => write(environmentId, null), 2026-10-25T00:57:59.9891837Z ~~~~~~ 2026-10-25T00:57:59.9891840Z 2026-10-25T00:57:59.9892212Z src/connection/storage.ts:645:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.register")((registration, routes) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9892217Z 2026-10-25T00:57:59.9892278Z 645 register: (registration, routes) => 2026-10-25T00:57:59.9892323Z ~~~~~~~~ 2026-10-25T00:57:59.9892326Z 2026-10-25T00:57:59.9892705Z src/connection/storage.ts:649:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.setRoutes")((environmentId, routes) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9892709Z 2026-10-25T00:57:59.9892815Z 649 setRoutes: (environmentId, routes) => 2026-10-25T00:57:59.9892860Z ~~~~~~~~~ 2026-10-25T00:57:59.9892862Z 2026-10-25T00:57:59.9893222Z src/connection/storage.ts:653:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.remove")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9893224Z 2026-10-25T00:57:59.9893282Z 653 remove: (environmentId) => 2026-10-25T00:57:59.9893327Z ~~~~~~ 2026-10-25T00:57:59.9893330Z 2026-10-25T00:57:59.9893715Z src/connection/storage.ts:657:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.ConnectionRegistrationStore.setEnabled")((environmentId, enabled) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9893719Z 2026-10-25T00:57:59.9893786Z 657 setEnabled: (environmentId, enabled) => 2026-10-25T00:57:59.9893834Z ~~~~~~~~~~ 2026-10-25T00:57:59.9893838Z 2026-10-25T00:57:59.9894190Z src/connection/storage.ts:734:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadShell")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9894192Z 2026-10-25T00:57:59.9894251Z 734 loadShell: (environmentId) => 2026-10-25T00:57:59.9894298Z ~~~~~~~~~ 2026-10-25T00:57:59.9894301Z 2026-10-25T00:57:59.9894668Z src/connection/storage.ts:770:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadServerConfig")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9894670Z 2026-10-25T00:57:59.9894737Z 770 loadServerConfig: (environmentId) => 2026-10-25T00:57:59.9894838Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9894840Z 2026-10-25T00:57:59.9895211Z src/connection/storage.ts:804:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadThread")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9895214Z 2026-10-25T00:57:59.9895283Z 804 loadThread: (environmentId, threadId) => 2026-10-25T00:57:59.9895381Z ~~~~~~~~~~ 2026-10-25T00:57:59.9895383Z 2026-10-25T00:57:59.9895746Z src/connection/storage.ts:853:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.loadVcsRefs")((environmentId, cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9895748Z 2026-10-25T00:57:59.9895812Z 853 loadVcsRefs: (environmentId, cwd) => 2026-10-25T00:57:59.9895859Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9895862Z 2026-10-25T00:57:59.9896235Z src/connection/storage.ts:895:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.removeVcsRefs")((environmentId, cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9896237Z 2026-10-25T00:57:59.9896301Z 895 removeVcsRefs: (environmentId, cwd) => 2026-10-25T00:57:59.9896349Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9896351Z 2026-10-25T00:57:59.9896705Z src/connection/storage.ts:901:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.clearVcsRefs")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9896707Z 2026-10-25T00:57:59.9896767Z 901 clearVcsRefs: (environmentId) => 2026-10-25T00:57:59.9896811Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9896813Z 2026-10-25T00:57:59.9897189Z src/connection/storage.ts:907:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.removeThread")((environmentId, threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9897194Z 2026-10-25T00:57:59.9897322Z 907 removeThread: (environmentId, threadId) => 2026-10-25T00:57:59.9897371Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9897374Z 2026-10-25T00:57:59.9897718Z src/connection/storage.ts:913:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("Persistence.EnvironmentCacheStore.clear")((environmentId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9897720Z 2026-10-25T00:57:59.9897776Z 913 clear: (environmentId) => 2026-10-25T00:57:59.9897822Z ~~~~~ 2026-10-25T00:57:59.9897825Z 2026-10-25T00:57:59.9897827Z 2026-10-25T00:57:59.9897884Z ~/apps/server$ tsc --noEmit 2026-10-25T00:57:59.9898161Z 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-25T00:57:59.9898165Z 2026-10-25T00:57:59.9898230Z 941 yield* Effect.sleep("1200 millis") 2026-10-25T00:57:59.9898285Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9898335Z 942 .pipe( 2026-10-25T00:57:59.9898381Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9898430Z ... 2026-10-25T00:57:59.9898475Z 954 ) 2026-10-25T00:57:59.9898521Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9898582Z 955 .pipe(Effect.forkDetach); 2026-10-25T00:57:59.9898633Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9898635Z 2026-10-25T00:57:59.9899001Z 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-25T00:57:59.9899004Z 2026-10-25T00:57:59.9899060Z 1175 logger: (event) => { 2026-10-25T00:57:59.9899107Z ~~~~~~ 2026-10-25T00:57:59.9899163Z 2026-10-25T00:57:59.9899621Z 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-25T00:57:59.9899624Z 2026-10-25T00:57:59.9899740Z 376 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-25T00:57:59.9899805Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9899807Z 2026-10-25T00:57:59.9900241Z src/assets/AssetAccess.test.ts:975:42 - suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-10-25T00:57:59.9900244Z 2026-10-25T00:57:59.9900368Z 975 const { resource } = yield* Schema.decodeUnknownEffect(AssetCreateUrlInput)({ 2026-10-25T00:57:59.9900439Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9900441Z 2026-10-25T00:57:59.9900761Z src/auth/EnvironmentAuth.ts:1396:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuth.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9900763Z 2026-10-25T00:57:59.9900816Z 1396 getDescriptor: () => 2026-10-25T00:57:59.9900865Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9900868Z 2026-10-25T00:57:59.9901206Z 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-25T00:57:59.9901208Z 2026-10-25T00:57:59.9901263Z 55 getDescriptor: () => 2026-10-25T00:57:59.9901307Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9901310Z 2026-10-25T00:57:59.9901705Z 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-25T00:57:59.9901710Z 2026-10-25T00:57:59.9901768Z 540 authenticate: (request) => 2026-10-25T00:57:59.9901816Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9901818Z 2026-10-25T00:57:59.9902084Z 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-25T00:57:59.9902087Z 2026-10-25T00:57:59.9902144Z 468 : Effect.succeed(undefined), 2026-10-25T00:57:59.9902198Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9902200Z 2026-10-25T00:57:59.9902508Z 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-25T00:57:59.9902512Z 2026-10-25T00:57:59.9902571Z 328 HttpClientError: (cause) => 2026-10-25T00:57:59.9902621Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9902623Z 2026-10-25T00:57:59.9902882Z src/cloud/CloudLink.lifecycle.test.ts:166:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9902885Z 2026-10-25T00:57:59.9902960Z 166 latest: Effect.succeed(Option.none()), 2026-10-25T00:57:59.9903013Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9903015Z 2026-10-25T00:57:59.9903253Z src/cloud/CloudLink.test.ts:99:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9903255Z 2026-10-25T00:57:59.9903321Z 99 latest: Effect.succeed(Option.none()), 2026-10-25T00:57:59.9903373Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9903376Z 2026-10-25T00:57:59.9903887Z 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-25T00:57:59.9903889Z 2026-10-25T00:57:59.9904029Z 791 requestRecovery: (config) => Queue.offer(recoveryRequests, config).pipe(Effect.asVoid), 2026-10-25T00:57:59.9904079Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9904081Z 2026-10-25T00:57:59.9904304Z src/cloud/http.test.ts:81:67 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9904309Z 2026-10-25T00:57:59.9904467Z 81 Layer.mock(ConnectReachability.ConnectReachability)({ latest: Effect.succeed(Option.none()) }), 2026-10-25T00:57:59.9904544Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9904547Z 2026-10-25T00:57:59.9904910Z 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-25T00:57:59.9904916Z 2026-10-25T00:57:59.9905006Z 371 commitDesktopUpdate: (requestId, onHandoffAccepted) => 2026-10-25T00:57:59.9905054Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9905056Z 2026-10-25T00:57:59.9905366Z 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-25T00:57:59.9905368Z 2026-10-25T00:57:59.9905424Z 808 updateTool: (tool) => 2026-10-25T00:57:59.9905472Z ~~~~~~~~~~ 2026-10-25T00:57:59.9905474Z 2026-10-25T00:57:59.9905771Z 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-25T00:57:59.9905776Z 2026-10-25T00:57:59.9905826Z 823 easAccount: () => 2026-10-25T00:57:59.9905873Z ~~~~~~~~~~ 2026-10-25T00:57:59.9905875Z 2026-10-25T00:57:59.9906251Z 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-25T00:57:59.9906254Z 2026-10-25T00:57:59.9906319Z 868 ensureAgentReady: (onPhase) => 2026-10-25T00:57:59.9906368Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9906370Z 2026-10-25T00:57:59.9906608Z src/device/easProjectId.ts:201:7 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9906611Z 2026-10-25T00:57:59.9906670Z 201 Effect.map(Option.some), 2026-10-25T00:57:59.9906716Z ~~~~~~~~~~ 2026-10-25T00:57:59.9906718Z 2026-10-25T00:57:59.9907029Z src/environment/DirectEndpoints.ts:174:31 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DirectEndpoints.resolve")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9907033Z 2026-10-25T00:57:59.9907116Z 174 return DirectEndpoints.of({ resolve: () => resolve }); 2026-10-25T00:57:59.9907170Z ~~~~~~~ 2026-10-25T00:57:59.9907172Z 2026-10-25T00:57:59.9907505Z 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-25T00:57:59.9907507Z 2026-10-25T00:57:59.9907619Z 83 return RemoteOpenTargets.of({ resolveTargets: () => resolveTargets }); 2026-10-25T00:57:59.9907678Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9907680Z 2026-10-25T00:57:59.9908000Z 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-25T00:57:59.9908051Z 2026-10-25T00:57:59.9908108Z 302 isRepository: (cwd) => 2026-10-25T00:57:59.9908154Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9908156Z 2026-10-25T00:57:59.9908471Z 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-25T00:57:59.9908473Z 2026-10-25T00:57:59.9908527Z 315 hasCommit: (input) => 2026-10-25T00:57:59.9908570Z ~~~~~~~~~ 2026-10-25T00:57:59.9908572Z 2026-10-25T00:57:59.9908932Z 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-25T00:57:59.9908935Z 2026-10-25T00:57:59.9908993Z 327 hasRefNamed: (input) => 2026-10-25T00:57:59.9909040Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9909042Z 2026-10-25T00:57:59.9909356Z 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-25T00:57:59.9909358Z 2026-10-25T00:57:59.9909409Z 346 status: (input) => 2026-10-25T00:57:59.9909457Z ~~~~~~ 2026-10-25T00:57:59.9909460Z 2026-10-25T00:57:59.9909780Z 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-25T00:57:59.9909782Z 2026-10-25T00:57:59.9909835Z 352 localStatus: (input) => 2026-10-25T00:57:59.9909878Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9909880Z 2026-10-25T00:57:59.9910217Z 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-25T00:57:59.9910221Z 2026-10-25T00:57:59.9910332Z 360 remoteStatus: (input, options) => 2026-10-25T00:57:59.9910380Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9910382Z 2026-10-25T00:57:59.9910710Z 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-25T00:57:59.9910713Z 2026-10-25T00:57:59.9910768Z 369 pullCurrentBranch: (cwd) => 2026-10-25T00:57:59.9910818Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9910821Z 2026-10-25T00:57:59.9911163Z 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-25T00:57:59.9911167Z 2026-10-25T00:57:59.9911233Z 373 runStackedAction: (input, options) => 2026-10-25T00:57:59.9911281Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9911283Z 2026-10-25T00:57:59.9911627Z 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-25T00:57:59.9911630Z 2026-10-25T00:57:59.9911698Z 388 preparePullRequestThread: (input) => 2026-10-25T00:57:59.9911750Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9911752Z 2026-10-25T00:57:59.9912063Z 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-25T00:57:59.9912066Z 2026-10-25T00:57:59.9912119Z 399 listRefs: (input) => 2026-10-25T00:57:59.9912206Z ~~~~~~~~ 2026-10-25T00:57:59.9912209Z 2026-10-25T00:57:59.9912547Z 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-25T00:57:59.9912549Z 2026-10-25T00:57:59.9912611Z 405 createWorktree: (input, options) => 2026-10-25T00:57:59.9912658Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9912660Z 2026-10-25T00:57:59.9912997Z 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-25T00:57:59.9913000Z 2026-10-25T00:57:59.9913058Z 409 listLocalBranchNames: (cwd) => 2026-10-25T00:57:59.9913107Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9913109Z 2026-10-25T00:57:59.9913429Z 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-25T00:57:59.9913433Z 2026-10-25T00:57:59.9913489Z 413 fetchRemote: (input) => 2026-10-25T00:57:59.9913533Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9913536Z 2026-10-25T00:57:59.9913856Z 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-25T00:57:59.9913859Z 2026-10-25T00:57:59.9913913Z 417 remoteExists: (input) => 2026-10-25T00:57:59.9913958Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9913960Z 2026-10-25T00:57:59.9914292Z 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-25T00:57:59.9914294Z 2026-10-25T00:57:59.9914352Z 421 remoteBranchExists: (input) => 2026-10-25T00:57:59.9914402Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9914405Z 2026-10-25T00:57:59.9914794Z 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-25T00:57:59.9914797Z 2026-10-25T00:57:59.9914866Z 425 resolveRemoteTrackingCommit: (input) => 2026-10-25T00:57:59.9914916Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9914919Z 2026-10-25T00:57:59.9915260Z 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-25T00:57:59.9915262Z 2026-10-25T00:57:59.9915329Z 429 resolveWorktreeBaseRemote: (input) => 2026-10-25T00:57:59.9915379Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9915383Z 2026-10-25T00:57:59.9915724Z 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-25T00:57:59.9915726Z 2026-10-25T00:57:59.9915789Z 433 fetchWorktreeBaseCommit: (input) => 2026-10-25T00:57:59.9915836Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9915839Z 2026-10-25T00:57:59.9916164Z 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-25T00:57:59.9916167Z 2026-10-25T00:57:59.9916222Z 437 removeWorktree: (input) => 2026-10-25T00:57:59.9916268Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9916271Z 2026-10-25T00:57:59.9916592Z 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-25T00:57:59.9916639Z 2026-10-25T00:57:59.9916694Z 441 pruneWorktrees: (input) => 2026-10-25T00:57:59.9916742Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9916744Z 2026-10-25T00:57:59.9917072Z 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-25T00:57:59.9917075Z 2026-10-25T00:57:59.9917132Z 445 deleteLocalBranch: (input) => 2026-10-25T00:57:59.9917179Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9917181Z 2026-10-25T00:57:59.9917495Z 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-25T00:57:59.9917500Z 2026-10-25T00:57:59.9917554Z 449 createRef: (input) => 2026-10-25T00:57:59.9917599Z ~~~~~~~~~ 2026-10-25T00:57:59.9917601Z 2026-10-25T00:57:59.9917914Z 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-25T00:57:59.9917916Z 2026-10-25T00:57:59.9917967Z 457 switchRef: (input) => 2026-10-25T00:57:59.9918012Z ~~~~~~~~~ 2026-10-25T00:57:59.9918015Z 2026-10-25T00:57:59.9918337Z 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-25T00:57:59.9918339Z 2026-10-25T00:57:59.9918393Z 463 renameBranch: (input) => 2026-10-25T00:57:59.9918438Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9918440Z 2026-10-25T00:57:59.9918721Z src/htmlRender/headlessChrome.ts:282:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((raw) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9918725Z 2026-10-25T00:57:59.9918833Z 282 const receive = (raw: string) => { 2026-10-25T00:57:59.9918902Z ~~~~~~~ 2026-10-25T00:57:59.9918905Z 2026-10-25T00:57:59.9919308Z 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-25T00:57:59.9919311Z 2026-10-25T00:57:59.9919356Z 284 try { 2026-10-25T00:57:59.9919398Z ~~~~~ 2026-10-25T00:57:59.9919456Z 285 parsed = JSON.parse(line); 2026-10-25T00:57:59.9919506Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9919547Z ... 2026-10-25T00:57:59.9919660Z 287 return yield* respondWithError(null, "Parse error", -32700); 2026-10-25T00:57:59.9919737Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9919783Z 288 } 2026-10-25T00:57:59.9919826Z ~~~~~~~ 2026-10-25T00:57:59.9919830Z 2026-10-25T00:57:59.9920121Z 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-25T00:57:59.9920124Z 2026-10-25T00:57:59.9920188Z 324 Effect.catchCause(() => Effect.void), 2026-10-25T00:57:59.9920237Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9920239Z 2026-10-25T00:57:59.9920485Z src/mcp/McpDeviceToolkit.test.ts:105:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9920488Z 2026-10-25T00:57:59.9920557Z 105 getById: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9920610Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9920660Z 2026-10-25T00:57:59.9920962Z 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-25T00:57:59.9920965Z 2026-10-25T00:57:59.9921067Z 421 const previewSnapshotFailure = (cause: Cause.Cause) => { 2026-10-25T00:57:59.9921115Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9921119Z 2026-10-25T00:57:59.9921422Z src/mcp/McpHttpServer.ts:938:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpServer.McpServer.addTool")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9921425Z 2026-10-25T00:57:59.9921479Z 938 addTool: (options) => 2026-10-25T00:57:59.9921525Z ~~~~~~~ 2026-10-25T00:57:59.9921527Z 2026-10-25T00:57:59.9921823Z 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-25T00:57:59.9921828Z 2026-10-25T00:57:59.9921892Z 22 resolve: () => Effect.succeed(undefined), 2026-10-25T00:57:59.9921950Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9921953Z 2026-10-25T00:57:59.9922260Z 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-25T00:57:59.9922262Z 2026-10-25T00:57:59.9922325Z 112 Effect.flatMap(() => writingCaller), 2026-10-25T00:57:59.9922373Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9922375Z 2026-10-25T00:57:59.9922905Z 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-25T00:57:59.9922912Z 2026-10-25T00:57:59.9922990Z 2465 const cancelOrphan = Effect.gen(function* () { 2026-10-25T00:57:59.9923090Z ~~~~~~~~~ 2026-10-25T00:57:59.9923093Z 2026-10-25T00:57:59.9923345Z src/mcp/OrchestratorMcpService.ts:2480:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-25T00:57:59.9923439Z 2480 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-25T00:57:59.9923488Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9923490Z 2026-10-25T00:57:59.9923736Z src/mcp/OrchestratorMcpService.ts:2483:17 - This repeated `Effect.mapError(...)` site participates in the hoistable generator-wide mapping. effect(redundantMapError) 2026-10-25T00:57:59.9923825Z 2483 .pipe(Effect.mapError(threadManagementFailure)); 2026-10-25T00:57:59.9923879Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9923881Z 2026-10-25T00:57:59.9924179Z src/mcp/PreviewAutomationBroker.ts:664:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9924182Z 2026-10-25T00:57:59.9924231Z 664 onNone: () => 2026-10-25T00:57:59.9924279Z ~~~~~~ 2026-10-25T00:57:59.9924281Z 2026-10-25T00:57:59.9924496Z src/mcp/WorktreeMcpService.test.ts:355:3 - suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-10-25T00:57:59.9924499Z 2026-10-25T00:57:59.9924554Z 355 Effect.gen(function* () { 2026-10-25T00:57:59.9924601Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9924694Z 356 return yield* WorktreeMcpService.WorktreeMcpService; 2026-10-25T00:57:59.9924763Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9924830Z 357 }).pipe(Effect.provide(harness.layer)); 2026-10-25T00:57:59.9924918Z ~~~~ 2026-10-25T00:57:59.9924920Z 2026-10-25T00:57:59.9925214Z src/mcp/toolkits/pullRequests/handlers.ts:217:27 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-25T00:57:59.9925217Z 2026-10-25T00:57:59.9925276Z 217 const thread = yield* engine 2026-10-25T00:57:59.9925327Z ~~~~~~ 2026-10-25T00:57:59.9925381Z 218 .getThreadShell(threadId) 2026-10-25T00:57:59.9925433Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9925504Z 219 .pipe(Effect.map(Option.fromNullishOr)) 2026-10-25T00:57:59.9925564Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9925654Z 220 .pipe(Effect.mapError((cause) => new Failure({ cause }))); 2026-10-25T00:57:59.9925729Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9925731Z 2026-10-25T00:57:59.9926042Z 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-25T00:57:59.9926046Z 2026-10-25T00:57:59.9926178Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-25T00:57:59.9926229Z ~~~ 2026-10-25T00:57:59.9926231Z 2026-10-25T00:57:59.9926546Z 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-25T00:57:59.9926548Z 2026-10-25T00:57:59.9926676Z 96 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), 2026-10-25T00:57:59.9926743Z ~~~~~~~~~ 2026-10-25T00:57:59.9926745Z 2026-10-25T00:57:59.9927091Z 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-25T00:57:59.9927140Z 2026-10-25T00:57:59.9927193Z 16 record: (records) => 2026-10-25T00:57:59.9927236Z ~~~~~~ 2026-10-25T00:57:59.9927239Z 2026-10-25T00:57:59.9927532Z 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-25T00:57:59.9927534Z 2026-10-25T00:57:59.9927645Z 41 defaultValue: () => ({ latestNoticeableStall: Effect.succeed(undefined) }), 2026-10-25T00:57:59.9927717Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9927720Z 2026-10-25T00:57:59.9928204Z 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-25T00:57:59.9928209Z 2026-10-25T00:57:59.9928320Z 30 const REPLAY_SETTINGS = Schema.decodeUnknownSync(AcpRegistrySettings)({ 2026-10-25T00:57:59.9928379Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9928382Z 2026-10-25T00:57:59.9928716Z 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-25T00:57:59.9928718Z 2026-10-25T00:57:59.9928793Z 48 defaultModel: Effect.succeed(undefined), 2026-10-25T00:57:59.9928849Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9928852Z 2026-10-25T00:57:59.9929218Z 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-25T00:57:59.9929265Z 2026-10-25T00:57:59.9929340Z 169 defaultModel: Effect.succeed(undefined), 2026-10-25T00:57:59.9929398Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9929401Z 2026-10-25T00:57:59.9929730Z 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-25T00:57:59.9929733Z 2026-10-25T00:57:59.9929802Z 306 defaultModel: Effect.succeed(undefined), 2026-10-25T00:57:59.9929856Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9929858Z 2026-10-25T00:57:59.9930186Z 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-25T00:57:59.9930191Z 2026-10-25T00:57:59.9930258Z 542 defaultModel: Effect.succeed(undefined), 2026-10-25T00:57:59.9930315Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9930318Z 2026-10-25T00:57:59.9930684Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:976:26 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-25T00:57:59.9930687Z 2026-10-25T00:57:59.9930752Z 976 const controller = new AbortController(); 2026-10-25T00:57:59.9930809Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9930811Z 2026-10-25T00:57:59.9931128Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1328:37 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-25T00:57:59.9931131Z 2026-10-25T00:57:59.9931206Z 1328 const requestEvent = yield* runtime.events 2026-10-25T00:57:59.9931265Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9931314Z 1329 .pipe( 2026-10-25T00:57:59.9931405Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9931452Z ... 2026-10-25T00:57:59.9931497Z 1332 ) 2026-10-25T00:57:59.9931544Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9931606Z 1333 .pipe(Effect.forkScoped); 2026-10-25T00:57:59.9931659Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9931661Z 2026-10-25T00:57:59.9932020Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1334:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-25T00:57:59.9932027Z 2026-10-25T00:57:59.9932097Z 1334 const controller = new AbortController(); 2026-10-25T00:57:59.9932156Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9932161Z 2026-10-25T00:57:59.9932525Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1357:37 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-10-25T00:57:59.9932528Z 2026-10-25T00:57:59.9932615Z 1357 const cancelledController = new AbortController(); 2026-10-25T00:57:59.9932678Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9932680Z 2026-10-25T00:57:59.9933075Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4034:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9933078Z 2026-10-25T00:57:59.9933193Z 4034 getCapabilities: () => Effect.succeed(ClaudeProviderCapabilitiesV2), 2026-10-25T00:57:59.9933242Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9933290Z 2026-10-25T00:57:59.9933701Z src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4035:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9933704Z 2026-10-25T00:57:59.9933837Z 4035 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9933886Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9933888Z 2026-10-25T00:57:59.9934275Z 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-25T00:57:59.9934278Z 2026-10-25T00:57:59.9934345Z 201 signal: new AbortController().signal, 2026-10-25T00:57:59.9934399Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9934403Z 2026-10-25T00:57:59.9934827Z 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-25T00:57:59.9934833Z 2026-10-25T00:57:59.9934889Z 74 const pause = Effect.raceFirst( 2026-10-25T00:57:59.9934942Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9934944Z 2026-10-25T00:57:59.9935264Z 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-25T00:57:59.9935266Z 2026-10-25T00:57:59.9935431Z 1741 threadId === null ? Effect.succeed(undefined) : mcpSessions.read(threadId); 2026-10-25T00:57:59.9935491Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9935498Z 2026-10-25T00:57:59.9935943Z 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-25T00:57:59.9935948Z 2026-10-25T00:57:59.9936059Z 1748 getCapabilities: () => Effect.succeed(CodexProviderCapabilitiesV2), 2026-10-25T00:57:59.9936107Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9936109Z 2026-10-25T00:57:59.9936514Z 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-25T00:57:59.9936516Z 2026-10-25T00:57:59.9936647Z 1749 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), 2026-10-25T00:57:59.9936695Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9936697Z 2026-10-25T00:57:59.9937042Z 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-25T00:57:59.9937048Z 2026-10-25T00:57:59.9937125Z 3045 Effect.catch(() => Effect.succeed(null)), 2026-10-25T00:57:59.9937177Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9937180Z 2026-10-25T00:57:59.9937579Z 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-25T00:57:59.9937585Z 2026-10-25T00:57:59.9937650Z 3046 Effect.flatMap((response) => 2026-10-25T00:57:59.9937705Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9937707Z 2026-10-25T00:57:59.9938008Z 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-25T00:57:59.9938066Z 2026-10-25T00:57:59.9938138Z 3068 Effect.catch(() => Effect.void), 2026-10-25T00:57:59.9938186Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9938189Z 2026-10-25T00:57:59.9938582Z 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-25T00:57:59.9938585Z 2026-10-25T00:57:59.9938676Z 7268 return yield* Effect.fail(failedTermination.error); 2026-10-25T00:57:59.9938726Z ~~~~~ 2026-10-25T00:57:59.9938729Z 2026-10-25T00:57:59.9939231Z 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-25T00:57:59.9939236Z 2026-10-25T00:57:59.9939351Z 33 const DEFAULT_GROK_SETTINGS = Schema.decodeUnknownSync(GrokSettings)({}); 2026-10-25T00:57:59.9939412Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9939414Z 2026-10-25T00:57:59.9939876Z 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-25T00:57:59.9939879Z 2026-10-25T00:57:59.9940018Z 414 const DEFAULT_MUSE_SETTINGS = Schema.decodeUnknownSync(MuseSettings)({ enabled: true }); 2026-10-25T00:57:59.9940080Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9940084Z 2026-10-25T00:57:59.9940499Z 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-25T00:57:59.9940502Z 2026-10-25T00:57:59.9940555Z 242 execute: (input) => 2026-10-25T00:57:59.9940603Z ~~~~~~~ 2026-10-25T00:57:59.9940606Z 2026-10-25T00:57:59.9940890Z src/orchestration-v2/CheckpointRestoreSafety.test.ts:104:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9940893Z 2026-10-25T00:57:59.9941010Z 104 get: () => Effect.succeed(Option.some({ workspaceRoot: parent } as never)), 2026-10-25T00:57:59.9941064Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9941067Z 2026-10-25T00:57:59.9941441Z 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-25T00:57:59.9941446Z 2026-10-25T00:57:59.9941504Z 41 Effect.catch((error) => 2026-10-25T00:57:59.9941555Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9941558Z 2026-10-25T00:57:59.9941930Z 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-25T00:57:59.9941932Z 2026-10-25T00:57:59.9941991Z 83 Effect.catch((error) => 2026-10-25T00:57:59.9942039Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9942042Z 2026-10-25T00:57:59.9942328Z src/orchestration-v2/CheckpointRollbackService.test.ts:233:22 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9942378Z 2026-10-25T00:57:59.9942488Z 233 return Effect.succeed(Option.some({ workspaceRoot } as never)); 2026-10-25T00:57:59.9942540Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9942544Z 2026-10-25T00:57:59.9942932Z 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-25T00:57:59.9942935Z 2026-10-25T00:57:59.9943005Z 142 const batchAbort = new AbortController(); 2026-10-25T00:57:59.9943066Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9943069Z 2026-10-25T00:57:59.9943466Z 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-25T00:57:59.9943470Z 2026-10-25T00:57:59.9943527Z 168 Effect.flatMap((frame) => 2026-10-25T00:57:59.9943572Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9943577Z 2026-10-25T00:57:59.9943844Z src/orchestration-v2/CommandReceiptStore.ts:164:29 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9943847Z 2026-10-25T00:57:59.9943926Z 164 onNone: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9943982Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9943984Z 2026-10-25T00:57:59.9944246Z src/orchestration-v2/CommandReceiptStore.ts:167:21 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9944249Z 2026-10-25T00:57:59.9944314Z 167 ? Effect.succeed(Option.none()) 2026-10-25T00:57:59.9944366Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9944368Z 2026-10-25T00:57:59.9944641Z src/orchestration-v2/CommandReceiptStore.ts:168:58 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9944644Z 2026-10-25T00:57:59.9944797Z 168 : fromApplicationReceipt(receipt).pipe(Effect.map(Option.some)), 2026-10-25T00:57:59.9944869Z ~~~~~~~~~~ 2026-10-25T00:57:59.9944872Z 2026-10-25T00:57:59.9945128Z src/orchestration-v2/CommandReceiptStore.ts:183:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9945131Z 2026-10-25T00:57:59.9945196Z 183 ? Effect.succeed(Option.none()) 2026-10-25T00:57:59.9945249Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9945252Z 2026-10-25T00:57:59.9945518Z src/orchestration-v2/CommandReceiptStore.ts:192:25 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9945522Z 2026-10-25T00:57:59.9945591Z 192 }).pipe(Effect.map(Option.some)), 2026-10-25T00:57:59.9945641Z ~~~~~~~~~~ 2026-10-25T00:57:59.9945644Z 2026-10-25T00:57:59.9945891Z src/orchestration-v2/EffectOutbox.ts:429:17 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9945894Z 2026-10-25T00:57:59.9945958Z 429 ? Effect.succeed(Option.none()) 2026-10-25T00:57:59.9946009Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9946012Z 2026-10-25T00:57:59.9946262Z src/orchestration-v2/EffectOutbox.ts:430:39 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9946267Z 2026-10-25T00:57:59.9946352Z 430 : rowToEffect(row).pipe(Effect.map(Option.some)); 2026-10-25T00:57:59.9946413Z ~~~~~~~~~~ 2026-10-25T00:57:59.9946457Z 2026-10-25T00:57:59.9946714Z src/orchestration-v2/EffectWorker.test.ts:109:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9946716Z 2026-10-25T00:57:59.9946785Z 109 get: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9946836Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9946838Z 2026-10-25T00:57:59.9947091Z src/orchestration-v2/EffectWorker.test.ts:342:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9947093Z 2026-10-25T00:57:59.9947187Z 342 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-25T00:57:59.9947240Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9947242Z 2026-10-25T00:57:59.9947497Z src/orchestration-v2/EffectWorker.test.ts:409:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9947502Z 2026-10-25T00:57:59.9947593Z 409 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-25T00:57:59.9947646Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9947649Z 2026-10-25T00:57:59.9947902Z src/orchestration-v2/EffectWorker.test.ts:476:24 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9947904Z 2026-10-25T00:57:59.9947993Z 476 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-25T00:57:59.9948044Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9948047Z 2026-10-25T00:57:59.9948296Z src/orchestration-v2/EffectWorker.test.ts:477:18 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9948298Z 2026-10-25T00:57:59.9948382Z 477 get: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-25T00:57:59.9948436Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9948438Z 2026-10-25T00:57:59.9948887Z 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-25T00:57:59.9948890Z 2026-10-25T00:57:59.9948950Z 98 execute: (effect, options) => { 2026-10-25T00:57:59.9948996Z ~~~~~~~ 2026-10-25T00:57:59.9948998Z 2026-10-25T00:57:59.9949351Z 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-25T00:57:59.9949354Z 2026-10-25T00:57:59.9949412Z 180 Effect.catch((cause) => 2026-10-25T00:57:59.9949464Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9949468Z 2026-10-25T00:57:59.9949778Z 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-25T00:57:59.9949784Z 2026-10-25T00:57:59.9949836Z 110 append: (input) => 2026-10-25T00:57:59.9949884Z ~~~~~~ 2026-10-25T00:57:59.9949886Z 2026-10-25T00:57:59.9950216Z 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-25T00:57:59.9950219Z 2026-10-25T00:57:59.9950280Z 120 appendProjectEvent: (event) => 2026-10-25T00:57:59.9950327Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9950330Z 2026-10-25T00:57:59.9950653Z 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-25T00:57:59.9950698Z 2026-10-25T00:57:59.9950755Z 131 latestSequence: (input) => 2026-10-25T00:57:59.9950807Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9950810Z 2026-10-25T00:57:59.9951089Z src/orchestration-v2/FoundationPersistence.test.ts:1791:26 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9951092Z 2026-10-25T00:57:59.9951187Z 1791 claimNext: () => Effect.succeed(Option.some(claimedEffect)), 2026-10-25T00:57:59.9951243Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9951245Z 2026-10-25T00:57:59.9951523Z src/orchestration-v2/FoundationPersistence.test.ts:1793:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9951525Z 2026-10-25T00:57:59.9951577Z 1793 Effect.succeed( 2026-10-25T00:57:59.9951629Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9951631Z 2026-10-25T00:57:59.9951906Z src/orchestration-v2/FoundationPersistence.test.ts:2663:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9951908Z 2026-10-25T00:57:59.9951994Z 2663 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-25T00:57:59.9952053Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9952055Z 2026-10-25T00:57:59.9952330Z src/orchestration-v2/FoundationPersistence.test.ts:2880:30 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9952333Z 2026-10-25T00:57:59.9952414Z 2880 nextClaimableAt: Effect.succeed(Option.none()), 2026-10-25T00:57:59.9952470Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9952472Z 2026-10-25T00:57:59.9952896Z src/orchestration-v2/Orchestrator.ts:11879:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-25T00:57:59.9952900Z 2026-10-25T00:57:59.9952960Z 11879 Effect.flatMap((planned) => 2026-10-25T00:57:59.9953009Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9953012Z 2026-10-25T00:57:59.9953371Z src/orchestration-v2/Orchestrator.ts:12307:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9953375Z 2026-10-25T00:57:59.9953441Z 12307 restartContinuationPending: (run) => 2026-10-25T00:57:59.9953495Z ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9953498Z 2026-10-25T00:57:59.9953848Z src/orchestration-v2/Orchestrator.ts:12309:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9953852Z 2026-10-25T00:57:59.9953919Z 12309 awaitRestartContinuation: (run) => 2026-10-25T00:57:59.9953967Z ~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9953970Z 2026-10-25T00:57:59.9954313Z src/orchestration-v2/Orchestrator.ts:12312:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9954315Z 2026-10-25T00:57:59.9954378Z 12312 autoArmLimitRecovery: (input) => 2026-10-25T00:57:59.9954426Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9954428Z 2026-10-25T00:57:59.9954756Z src/orchestration-v2/Orchestrator.ts:12340:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9954802Z 2026-10-25T00:57:59.9954856Z 12340 searchThread: (input) => 2026-10-25T00:57:59.9954905Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9954907Z 2026-10-25T00:57:59.9955335Z src/orchestration-v2/Orchestrator.ts:12348: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-25T00:57:59.9955338Z 2026-10-25T00:57:59.9955468Z 12348 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-25T00:57:59.9955517Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9955519Z 2026-10-25T00:57:59.9955874Z src/orchestration-v2/Orchestrator.ts:12352:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9955878Z 2026-10-25T00:57:59.9955946Z 12352 getTimelinePage: (threadId, options) => 2026-10-25T00:57:59.9955995Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9955997Z 2026-10-25T00:57:59.9956342Z src/orchestration-v2/Orchestrator.ts:12356:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9956345Z 2026-10-25T00:57:59.9956404Z 12356 getMessageCount: (threadId) => 2026-10-25T00:57:59.9956450Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9956452Z 2026-10-25T00:57:59.9956779Z src/orchestration-v2/Orchestrator.ts:12360:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9956782Z 2026-10-25T00:57:59.9956835Z 12360 getTurnItem: (input) => 2026-10-25T00:57:59.9956883Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9956887Z 2026-10-25T00:57:59.9957303Z src/orchestration-v2/Orchestrator.ts:12368:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9957306Z 2026-10-25T00:57:59.9957386Z 12368 getThreadRecords: (threadId, fields, filter) => 2026-10-25T00:57:59.9957439Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9957441Z 2026-10-25T00:57:59.9957788Z src/orchestration-v2/Orchestrator.ts:12372:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9957791Z 2026-10-25T00:57:59.9957855Z 12372 getThreadProjection: (threadId) => 2026-10-25T00:57:59.9957906Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9957908Z 2026-10-25T00:57:59.9958257Z src/orchestration-v2/Orchestrator.ts:12376:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9958261Z 2026-10-25T00:57:59.9958329Z 12376 getCheckpointContext: (threadId) => 2026-10-25T00:57:59.9958381Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9958383Z 2026-10-25T00:57:59.9958724Z src/orchestration-v2/Orchestrator.ts:12380:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9958726Z 2026-10-25T00:57:59.9958819Z 12380 getThreadSnapshot: (threadId) => 2026-10-25T00:57:59.9958870Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9958872Z 2026-10-25T00:57:59.9959241Z src/orchestration-v2/Orchestrator.ts:12384:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9959294Z 2026-10-25T00:57:59.9959379Z 12384 getThreadSnapshotWindow: (threadId, options) => 2026-10-25T00:57:59.9959433Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9959435Z 2026-10-25T00:57:59.9959771Z src/orchestration-v2/Orchestrator.ts:12388:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9959777Z 2026-10-25T00:57:59.9959835Z 12388 getShellSnapshot: (options) => 2026-10-25T00:57:59.9959885Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9959888Z 2026-10-25T00:57:59.9960242Z src/orchestration-v2/Orchestrator.ts:12390:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.listActiveSubagentThreadIds")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9960245Z 2026-10-25T00:57:59.9960313Z 12390 listActiveSubagentThreadIds: () => 2026-10-25T00:57:59.9960364Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9960367Z 2026-10-25T00:57:59.9960707Z src/orchestration-v2/Orchestrator.ts:12392:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9960710Z 2026-10-25T00:57:59.9960771Z 12392 readShellSnapshot: (options) => 2026-10-25T00:57:59.9960820Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9960823Z 2026-10-25T00:57:59.9961158Z src/orchestration-v2/Orchestrator.ts:12399:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9961160Z 2026-10-25T00:57:59.9961217Z 12399 getThreadShell: (threadId) => 2026-10-25T00:57:59.9961266Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9961270Z 2026-10-25T00:57:59.9961676Z src/orchestration-v2/Orchestrator.ts:12403:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9961679Z 2026-10-25T00:57:59.9961747Z 12403 getThreadEventSequence: (threadId) => 2026-10-25T00:57:59.9961798Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9961801Z 2026-10-25T00:57:59.9962150Z 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-25T00:57:59.9962155Z 2026-10-25T00:57:59.9962229Z 160 getInstance: () => Effect.succeed(undefined), 2026-10-25T00:57:59.9962292Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9962294Z 2026-10-25T00:57:59.9962624Z 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-25T00:57:59.9962630Z 2026-10-25T00:57:59.9962754Z 269 getShell: (projectId) => get(projectId).pipe(Effect.map(Option.map(toShell))), 2026-10-25T00:57:59.9962800Z ~~~~~~~~ 2026-10-25T00:57:59.9962802Z 2026-10-25T00:57:59.9963133Z 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-25T00:57:59.9963136Z 2026-10-25T00:57:59.9963193Z 270 listShells: (options) => 2026-10-25T00:57:59.9963241Z ~~~~~~~~~~ 2026-10-25T00:57:59.9963244Z 2026-10-25T00:57:59.9963530Z src/orchestration-v2/ProjectionControlReads.test.ts:279:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9963577Z 2026-10-25T00:57:59.9963628Z 279 Effect.succeed( 2026-10-25T00:57:59.9963679Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9963682Z 2026-10-25T00:57:59.9964046Z 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-25T00:57:59.9964049Z 2026-10-25T00:57:59.9964102Z 78 get: (instanceId) => 2026-10-25T00:57:59.9964145Z ~~~ 2026-10-25T00:57:59.9964151Z 2026-10-25T00:57:59.9964496Z 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-25T00:57:59.9964498Z 2026-10-25T00:57:59.9964547Z 135 list: () => 2026-10-25T00:57:59.9964593Z ~~~~ 2026-10-25T00:57:59.9964597Z 2026-10-25T00:57:59.9964955Z src/orchestration-v2/ProviderEventIngestor.ts:117:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderTurnAnalytics.record")((properties) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9964958Z 2026-10-25T00:57:59.9965051Z 117 record: (properties: Readonly>) => 2026-10-25T00:57:59.9965098Z ~~~~~~ 2026-10-25T00:57:59.9965100Z 2026-10-25T00:57:59.9965502Z src/orchestration-v2/ProviderEventIngestor.ts:843:15 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-25T00:57:59.9965504Z 2026-10-25T00:57:59.9965574Z 843 Effect.flatMap((storedEvents) => 2026-10-25T00:57:59.9965624Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9965626Z 2026-10-25T00:57:59.9965906Z src/orchestration-v2/ProviderSessionManager.test.ts:1155:19 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9965913Z 2026-10-25T00:57:59.9966088Z 1155 : Effect.succeed(Option.some(makeBrowserAccessProject(requestedProjectId))), 2026-10-25T00:57:59.9966144Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9966146Z 2026-10-25T00:57:59.9966429Z src/orchestration-v2/ProviderTurnStartService.test.ts:150:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9966431Z 2026-10-25T00:57:59.9966484Z 150 Effect.succeed( 2026-10-25T00:57:59.9966532Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9966535Z 2026-10-25T00:57:59.9966816Z src/orchestration-v2/ProviderTurnStartService.test.ts:703:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9966820Z 2026-10-25T00:57:59.9966970Z 703 Effect.succeed(Option.some({ workspaceRoot: "/tmp/native-account-project" } as never)), 2026-10-25T00:57:59.9967021Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9967023Z 2026-10-25T00:57:59.9967309Z src/orchestration-v2/ProviderTurnStartService.testkit.ts:14:20 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9967314Z 2026-10-25T00:57:59.9967386Z 14 getById: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9967438Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9967440Z 2026-10-25T00:57:59.9967758Z 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-25T00:57:59.9967760Z 2026-10-25T00:57:59.9967849Z 205 Effect.catchCause(() => Effect.succeed(undefined)), 2026-10-25T00:57:59.9967976Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9967979Z 2026-10-25T00:57:59.9968392Z 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-25T00:57:59.9968395Z 2026-10-25T00:57:59.9968459Z 512 Effect.catchCause((cause) => 2026-10-25T00:57:59.9968514Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9968516Z 2026-10-25T00:57:59.9969014Z 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-25T00:57:59.9969017Z 2026-10-25T00:57:59.9969088Z 1302 return runExecution.startRootRun({ 2026-10-25T00:57:59.9969134Z ~~~~~~ 2026-10-25T00:57:59.9969136Z 2026-10-25T00:57:59.9969418Z src/orchestration-v2/PullRequestWatchReactor.ts:478:53 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9969421Z 2026-10-25T00:57:59.9969531Z 478 ? pullRequests.activity(reference).pipe(Effect.map(Option.some)) 2026-10-25T00:57:59.9969600Z ~~~~~~~~~~ 2026-10-25T00:57:59.9969603Z 2026-10-25T00:57:59.9969997Z 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-25T00:57:59.9969999Z 2026-10-25T00:57:59.9970076Z 49 cleanupScheduledTasks: (threadId: ThreadId) => 2026-10-25T00:57:59.9970129Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9970131Z 2026-10-25T00:57:59.9970660Z 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-25T00:57:59.9970663Z 2026-10-25T00:57:59.9970730Z 58 cleanupTerminals: (threadId: string) => 2026-10-25T00:57:59.9970781Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9970784Z 2026-10-25T00:57:59.9971156Z 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-25T00:57:59.9971159Z 2026-10-25T00:57:59.9971225Z 66 cleanupPreviews: (threadId: string) => 2026-10-25T00:57:59.9971275Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9971278Z 2026-10-25T00:57:59.9971669Z 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-25T00:57:59.9971673Z 2026-10-25T00:57:59.9971775Z 74 cleanupAttachments: (attachmentIds: ReadonlyArray) => 2026-10-25T00:57:59.9971822Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9971825Z 2026-10-25T00:57:59.9972109Z src/orchestration-v2/RunExecutionService.test.ts:1836:16 - suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-10-25T00:57:59.9972111Z 2026-10-25T00:57:59.9972178Z 1836 ).pipe(Effect.map(Option.some)), 2026-10-25T00:57:59.9972229Z ~~~~~~~~~~ 2026-10-25T00:57:59.9972232Z 2026-10-25T00:57:59.9972631Z src/orchestration-v2/RunExecutionService.ts:945:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9972680Z 2026-10-25T00:57:59.9972744Z 945 Effect.catchCause((cause) => 2026-10-25T00:57:59.9972798Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9972800Z 2026-10-25T00:57:59.9973061Z src/orchestration-v2/RuntimePolicy.test.ts:90:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9973064Z 2026-10-25T00:57:59.9973118Z 90 Effect.succeed( 2026-10-25T00:57:59.9973165Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9973167Z 2026-10-25T00:57:59.9973495Z 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-25T00:57:59.9973497Z 2026-10-25T00:57:59.9973551Z 54 resolve: (input) => 2026-10-25T00:57:59.9973600Z ~~~~~~~ 2026-10-25T00:57:59.9973602Z 2026-10-25T00:57:59.9973881Z src/orchestration-v2/RuntimeRequestService.test.ts:29:7 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9973883Z 2026-10-25T00:57:59.9973932Z 29 Effect.succeed( 2026-10-25T00:57:59.9973982Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9973984Z 2026-10-25T00:57:59.9974255Z src/orchestration-v2/ThreadLaunchService.test.ts:189:33 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9974257Z 2026-10-25T00:57:59.9974360Z 189 getByWorkspaceRoot: () => Effect.succeed(Option.some(project)), 2026-10-25T00:57:59.9974416Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9974421Z 2026-10-25T00:57:59.9974690Z src/orchestration-v2/ThreadLaunchService.test.ts:220:32 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9974694Z 2026-10-25T00:57:59.9974788Z 220 folderForThread: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9974896Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9974899Z 2026-10-25T00:57:59.9975254Z 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-25T00:57:59.9975257Z 2026-10-25T00:57:59.9975352Z 91 archive: (input) => 2026-10-25T00:57:59.9975401Z ~~~~~~~ 2026-10-25T00:57:59.9975405Z 2026-10-25T00:57:59.9975758Z 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-25T00:57:59.9975762Z 2026-10-25T00:57:59.9975817Z 97 unarchive: (input) => 2026-10-25T00:57:59.9975864Z ~~~~~~~~~ 2026-10-25T00:57:59.9975866Z 2026-10-25T00:57:59.9976214Z 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-25T00:57:59.9976219Z 2026-10-25T00:57:59.9976270Z 103 delete: (input) => 2026-10-25T00:57:59.9976316Z ~~~~~~ 2026-10-25T00:57:59.9976318Z 2026-10-25T00:57:59.9976686Z 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-25T00:57:59.9976688Z 2026-10-25T00:57:59.9976749Z 109 updateMetadata: (input) => 2026-10-25T00:57:59.9976794Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9976796Z 2026-10-25T00:57:59.9977222Z 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-25T00:57:59.9977225Z 2026-10-25T00:57:59.9977283Z 118 setRuntimeMode: (input) => 2026-10-25T00:57:59.9977332Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9977334Z 2026-10-25T00:57:59.9977714Z 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-25T00:57:59.9977716Z 2026-10-25T00:57:59.9977775Z 125 setInteractionMode: (input) => 2026-10-25T00:57:59.9977825Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9977828Z 2026-10-25T00:57:59.9978200Z 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-25T00:57:59.9978204Z 2026-10-25T00:57:59.9978266Z 132 setModelSelection: (input) => 2026-10-25T00:57:59.9978313Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9978317Z 2026-10-25T00:57:59.9978726Z src/orchestration-v2/ThreadManagementService.ts:717:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-25T00:57:59.9978728Z 2026-10-25T00:57:59.9978802Z 717 Effect.flatMap((projection) => 2026-10-25T00:57:59.9978851Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9978854Z 2026-10-25T00:57:59.9979197Z src/orchestration-v2/ThreadManagementService.ts:734:5 - suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-10-25T00:57:59.9979201Z 2026-10-25T00:57:59.9979277Z 734 ensureProjectionTranscript(input.threadId) 2026-10-25T00:57:59.9979334Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9979528Z 735 .pipe(Effect.andThen(orchestrator.getThreadRecords(input.threadId, fields, filter))) 2026-10-25T00:57:59.9979625Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9979671Z ... 2026-10-25T00:57:59.9979715Z 754 ), 2026-10-25T00:57:59.9979761Z ~~~~~~~~~~ 2026-10-25T00:57:59.9979808Z 755 ); 2026-10-25T00:57:59.9979851Z ~~~~~~~ 2026-10-25T00:57:59.9979854Z 2026-10-25T00:57:59.9980256Z src/orchestration-v2/ThreadManagementService.ts:745:9 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-25T00:57:59.9980259Z 2026-10-25T00:57:59.9980323Z 745 Effect.flatMap((projection) => 2026-10-25T00:57:59.9980375Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9980377Z 2026-10-25T00:57:59.9980780Z src/orchestration-v2/ThreadManagementService.ts:1208: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-25T00:57:59.9980783Z 2026-10-25T00:57:59.9980891Z 1208 if (failures[0] !== undefined) return yield* Effect.fail(failures[0]); 2026-10-25T00:57:59.9980953Z ~~~~~ 2026-10-25T00:57:59.9980956Z 2026-10-25T00:57:59.9981330Z src/orchestration-v2/ThreadManagementService.ts:1219:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9981332Z 2026-10-25T00:57:59.9981390Z 1219 searchThread: (input) => 2026-10-25T00:57:59.9981485Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9981487Z 2026-10-25T00:57:59.9981949Z src/orchestration-v2/ThreadManagementService.ts:1224: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-25T00:57:59.9981956Z 2026-10-25T00:57:59.9982082Z 1224 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => 2026-10-25T00:57:59.9982135Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9982137Z 2026-10-25T00:57:59.9982532Z src/orchestration-v2/ThreadManagementService.ts:1230:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9982535Z 2026-10-25T00:57:59.9982605Z 1230 getTimelinePage: (threadId, options) => 2026-10-25T00:57:59.9982653Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9982656Z 2026-10-25T00:57:59.9983039Z src/orchestration-v2/ThreadManagementService.ts:1234:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9983041Z 2026-10-25T00:57:59.9983103Z 1234 getMessageCount: (threadId) => 2026-10-25T00:57:59.9983153Z ~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9983156Z 2026-10-25T00:57:59.9983527Z src/orchestration-v2/ThreadManagementService.ts:1238:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9983529Z 2026-10-25T00:57:59.9983582Z 1238 getTurnItem: (input) => 2026-10-25T00:57:59.9983630Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9983632Z 2026-10-25T00:57:59.9984088Z src/orchestration-v2/ThreadManagementService.ts:1243:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9984091Z 2026-10-25T00:57:59.9984172Z 1243 getThreadRecords: (threadId, fields, filter) => 2026-10-25T00:57:59.9984222Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9984225Z 2026-10-25T00:57:59.9984640Z src/orchestration-v2/ThreadManagementService.ts:1284:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("LegacyV1ThreadImporter.LegacyV1ThreadImporter.ensureTranscript")(() => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:57:59.9984645Z 2026-10-25T00:57:59.9984791Z 1284 ensureTranscript: () => Effect.succeed({ importedThreadCount: 0, importedMessageCount: 0 }), 2026-10-25T00:57:59.9984841Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9984843Z 2026-10-25T00:57:59.9985134Z src/orchestration-v2/ThreadPullRequestService.test.ts:119:29 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9985138Z 2026-10-25T00:57:59.9985227Z 119 getShell: () => Effect.succeed(Option.some(project)), 2026-10-25T00:57:59.9985283Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9985285Z 2026-10-25T00:57:59.9985570Z src/orchestration-v2/ThreadPullRequestService.test.ts:238:31 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9985572Z 2026-10-25T00:57:59.9985659Z 238 getShell: () => Effect.succeed(Option.some(project)), 2026-10-25T00:57:59.9985716Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9985719Z 2026-10-25T00:57:59.9986132Z src/orchestration-v2/ThreadPullRequestService.ts:326:17 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9986180Z 2026-10-25T00:57:59.9986244Z 326 Effect.catchCause((cause) => 2026-10-25T00:57:59.9986300Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9986302Z 2026-10-25T00:57:59.9986711Z src/orchestration-v2/ThreadSettlementService.ts:350:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9986713Z 2026-10-25T00:57:59.9986775Z 350 Effect.catchCause((cause) => 2026-10-25T00:57:59.9986826Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9986829Z 2026-10-25T00:57:59.9987226Z src/orchestration-v2/ThreadSettlementService.ts:513:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9987230Z 2026-10-25T00:57:59.9987290Z 513 Effect.catchCause((cause) => 2026-10-25T00:57:59.9987342Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9987346Z 2026-10-25T00:57:59.9987749Z src/orchestration-v2/ThreadSettlementService.ts:531:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9987752Z 2026-10-25T00:57:59.9987811Z 531 Effect.catchCause((cause) => 2026-10-25T00:57:59.9987858Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9987860Z 2026-10-25T00:57:59.9988263Z src/orchestration-v2/ThreadSettlementService.ts:573:9 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:57:59.9988268Z 2026-10-25T00:57:59.9988327Z 573 Effect.catchCause((cause) => 2026-10-25T00:57:59.9988378Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9988381Z 2026-10-25T00:57:59.9988812Z 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-25T00:57:59.9988815Z 2026-10-25T00:57:59.9988873Z 106 normalize: (item, runOrdinal) => 2026-10-25T00:57:59.9988952Z ~~~~~~~~~ 2026-10-25T00:57:59.9988954Z 2026-10-25T00:57:59.9989386Z 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-25T00:57:59.9989388Z 2026-10-25T00:57:59.9989498Z 54 const thread = Schema.decodeUnknownSync(OrchestrationV2AppThread)({ 2026-10-25T00:57:59.9989550Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9989552Z 2026-10-25T00:57:59.9989951Z 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-25T00:57:59.9989954Z 2026-10-25T00:57:59.9990002Z 231 try { 2026-10-25T00:57:59.9990049Z ~~~~~ 2026-10-25T00:57:59.9990136Z 232 decodeThreadHistoryCursor(args.query.cursor); 2026-10-25T00:57:59.9990206Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9990252Z ... 2026-10-25T00:57:59.9990396Z 236 return yield* failEnvironmentInternal("orchestration_thread_history_failed", cause); 2026-10-25T00:57:59.9990494Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9990586Z 237 } 2026-10-25T00:57:59.9990634Z ~~~~~~~~~~~ 2026-10-25T00:57:59.9990637Z 2026-10-25T00:57:59.9990898Z src/orchestration-v2/runtimeLayer.test.ts:120:18 - suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9990901Z 2026-10-25T00:57:59.9990974Z 120 getById: () => Effect.succeed(Option.none()), 2026-10-25T00:57:59.9991024Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9991029Z 2026-10-25T00:57:59.9991290Z src/orchestration-v2/runtimeLayer.test.ts:997:11 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:57:59.9991293Z 2026-10-25T00:57:59.9991348Z 997 Effect.succeed( 2026-10-25T00:57:59.9991399Z ~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9991401Z 2026-10-25T00:57:59.9991794Z 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-25T00:57:59.9991800Z 2026-10-25T00:57:59.9991852Z 40 append: (input) => 2026-10-25T00:57:59.9991899Z ~~~~~~ 2026-10-25T00:57:59.9991901Z 2026-10-25T00:57:59.9992250Z 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-25T00:57:59.9992252Z 2026-10-25T00:57:59.9992320Z 283 const awaitDispatch = (key: string) => 2026-10-25T00:57:59.9992369Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9992371Z 2026-10-25T00:57:59.9992822Z 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-25T00:57:59.9992829Z 2026-10-25T00:57:59.9992885Z 447 execute: () => Effect.void, 2026-10-25T00:57:59.9992981Z ~~~~~~~ 2026-10-25T00:57:59.9992984Z 2026-10-25T00:57:59.9993349Z 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-25T00:57:59.9993351Z 2026-10-25T00:57:59.9993402Z 92 list: (input) => 2026-10-25T00:57:59.9993446Z ~~~~ 2026-10-25T00:57:59.9993448Z 2026-10-25T00:57:59.9993807Z 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-25T00:57:59.9993810Z 2026-10-25T00:57:59.9993863Z 102 set: (input) => 2026-10-25T00:57:59.9993910Z ~~~ 2026-10-25T00:57:59.9993912Z 2026-10-25T00:57:59.9994269Z 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-25T00:57:59.9994272Z 2026-10-25T00:57:59.9994320Z 54 get: (key) => 2026-10-25T00:57:59.9994366Z ~~~ 2026-10-25T00:57:59.9994369Z 2026-10-25T00:57:59.9994738Z 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-25T00:57:59.9994740Z 2026-10-25T00:57:59.9994795Z 64 put: (key, guide) => 2026-10-25T00:57:59.9994839Z ~~~ 2026-10-25T00:57:59.9994841Z 2026-10-25T00:57:59.9995207Z 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-25T00:57:59.9995301Z 2026-10-25T00:57:59.9995361Z 45 Effect.catch((error) => 2026-10-25T00:57:59.9995411Z ~~~~~~~~~~~~ 2026-10-25T00:57:59.9995413Z 2026-10-25T00:57:59.9995754Z 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-25T00:57:59.9995756Z 2026-10-25T00:57:59.9995827Z 75 awaitAttached: () => Effect.succeed(false), 2026-10-25T00:57:59.9995877Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9995879Z 2026-10-25T00:57:59.9996212Z 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-25T00:57:59.9996217Z 2026-10-25T00:57:59.9996284Z 78 isAttached: () => Effect.succeed(false), 2026-10-25T00:57:59.9996331Z ~~~~~~~~~~ 2026-10-25T00:57:59.9996334Z 2026-10-25T00:57:59.9996661Z 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-25T00:57:59.9996664Z 2026-10-25T00:57:59.9996776Z 79 endpoint: () => Effect.die("No desktop app is attached to this server."), 2026-10-25T00:57:59.9996823Z ~~~~~~~~ 2026-10-25T00:57:59.9996825Z 2026-10-25T00:57:59.9997149Z 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-25T00:57:59.9997152Z 2026-10-25T00:57:59.9997210Z 80 pointer: () => Effect.void, 2026-10-25T00:57:59.9997255Z ~~~~~~~ 2026-10-25T00:57:59.9997258Z 2026-10-25T00:57:59.9997659Z 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-25T00:57:59.9997662Z 2026-10-25T00:57:59.9997724Z 194 awaitAttached: (key, timeout) => 2026-10-25T00:57:59.9997772Z ~~~~~~~~~~~~~ 2026-10-25T00:57:59.9997775Z 2026-10-25T00:57:59.9998114Z 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-25T00:57:59.9998116Z 2026-10-25T00:57:59.9998221Z 216 isAttached: (key) => Effect.sync(() => attachedTabs.has(keyOf(key))), 2026-10-25T00:57:59.9998271Z ~~~~~~~~~~ 2026-10-25T00:57:59.9998273Z 2026-10-25T00:57:59.9998620Z 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-25T00:57:59.9998624Z 2026-10-25T00:57:59.9998737Z 218 pointer: (key, pointer) => command({ type: "pointer", ...key, ...pointer }), 2026-10-25T00:57:59.9998793Z ~~~~~~~ 2026-10-25T00:57:59.9998799Z 2026-10-25T00:57:59.9999320Z 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-25T00:57:59.9999323Z 2026-10-25T00:57:59.9999428Z 481 executable: () => Effect.runPromise(previewBrowser.executable), 2026-10-25T00:57:59.9999486Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:57:59.9999536Z 2026-10-25T00:58:00.0000016Z 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-25T00:58:00.0000019Z 2026-10-25T00:58:00.0000076Z 688 ? Effect.runPromise( 2026-10-25T00:58:00.0000125Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0000127Z 2026-10-25T00:58:00.0000602Z 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-25T00:58:00.0000604Z 2026-10-25T00:58:00.0000689Z 697 const scope = await Effect.runPromise(Scope.make()); 2026-10-25T00:58:00.0000746Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0000750Z 2026-10-25T00:58:00.0001227Z 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-25T00:58:00.0001230Z 2026-10-25T00:58:00.0001299Z 699 const endpoint = await Effect.runPromise( 2026-10-25T00:58:00.0001360Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0001362Z 2026-10-25T00:58:00.0001832Z 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-25T00:58:00.0001834Z 2026-10-25T00:58:00.0001928Z 709 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-25T00:58:00.0001981Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0001984Z 2026-10-25T00:58:00.0002495Z 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-25T00:58:00.0002498Z 2026-10-25T00:58:00.0002589Z 713 await Effect.runPromise(Scope.close(scope, Exit.void)); 2026-10-25T00:58:00.0002642Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0002644Z 2026-10-25T00:58:00.0003119Z src/preview/ServerBrowser.ts:1202: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-25T00:58:00.0003123Z 2026-10-25T00:58:00.0003180Z 1202 await Effect.runPromise( 2026-10-25T00:58:00.0003232Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0003237Z 2026-10-25T00:58:00.0003708Z src/preview/ServerBrowser.ts:1695: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-25T00:58:00.0003710Z 2026-10-25T00:58:00.0003770Z 1695 : await Effect.runPromise( 2026-10-25T00:58:00.0003823Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0003825Z 2026-10-25T00:58:00.0004300Z src/preview/ServerBrowser.ts:1759: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-25T00:58:00.0004350Z 2026-10-25T00:58:00.0004413Z 1759 ? await Effect.runPromise( 2026-10-25T00:58:00.0004466Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0004468Z 2026-10-25T00:58:00.0004755Z src/preview/ServerBrowser.ts:1762:58 - suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-10-25T00:58:00.0004758Z 2026-10-25T00:58:00.0004875Z 1762 ServerBrowserTabNotFoundError: () => Effect.succeed(undefined), 2026-10-25T00:58:00.0004952Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0004954Z 2026-10-25T00:58:00.0005430Z src/preview/ServerBrowser.ts:1768: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-25T00:58:00.0005434Z 2026-10-25T00:58:00.0005512Z 1768 const { sessions } = await Effect.runPromise( 2026-10-25T00:58:00.0005578Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0005580Z 2026-10-25T00:58:00.0006063Z src/preview/ServerBrowser.ts:1796: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-25T00:58:00.0006065Z 2026-10-25T00:58:00.0006127Z 1796 await Effect.runPromise( 2026-10-25T00:58:00.0006180Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0006182Z 2026-10-25T00:58:00.0006706Z src/preview/ServerBrowser.ts:1827: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-25T00:58:00.0006710Z 2026-10-25T00:58:00.0006769Z 1827 await Effect.runPromise( 2026-10-25T00:58:00.0006824Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0006826Z 2026-10-25T00:58:00.0007300Z src/preview/ServerBrowser.ts:1891: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-25T00:58:00.0007303Z 2026-10-25T00:58:00.0007445Z 1891 await Effect.runPromise(manager.close({ threadId: tab.threadId, tabId: tab.tabId })); 2026-10-25T00:58:00.0007499Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0007503Z 2026-10-25T00:58:00.0007976Z src/preview/ServerBrowser.ts:1959: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-25T00:58:00.0007981Z 2026-10-25T00:58:00.0008036Z 1959 await Effect.runPromise( 2026-10-25T00:58:00.0008090Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0008092Z 2026-10-25T00:58:00.0008562Z src/preview/ServerBrowser.ts:1971: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-25T00:58:00.0008565Z 2026-10-25T00:58:00.0008641Z 1971 const snapshot = await Effect.runPromise( 2026-10-25T00:58:00.0008750Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0008753Z 2026-10-25T00:58:00.0009260Z src/preview/ServerBrowser.ts:2217: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-25T00:58:00.0009263Z 2026-10-25T00:58:00.0009321Z 2217 await Effect.runPromise( 2026-10-25T00:58:00.0009373Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0009375Z 2026-10-25T00:58:00.0009673Z 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-25T00:58:00.0009675Z 2026-10-25T00:58:00.0009754Z 179 const receive = (chunk: Uint8Array | string) => { 2026-10-25T00:58:00.0009805Z ~~~~~~~ 2026-10-25T00:58:00.0009807Z 2026-10-25T00:58:00.0010134Z 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-25T00:58:00.0010137Z 2026-10-25T00:58:00.0010241Z 209 Effect.catch(() => Effect.succeed(HttpServerResponse.empty())), 2026-10-25T00:58:00.0010288Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0010290Z 2026-10-25T00:58:00.0010640Z 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-25T00:58:00.0010642Z 2026-10-25T00:58:00.0010735Z 860 resolveAvailableEditors: () => cachedAvailableEditors, 2026-10-25T00:58:00.0010788Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0010790Z 2026-10-25T00:58:00.0011140Z 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-25T00:58:00.0011184Z 2026-10-25T00:58:00.0011250Z 861 resolveFileManagerRevealKind: () => 2026-10-25T00:58:00.0011300Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0011303Z 2026-10-25T00:58:00.0011631Z 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-25T00:58:00.0011634Z 2026-10-25T00:58:00.0011691Z 865 launchBrowser: (target) => 2026-10-25T00:58:00.0011739Z ~~~~~~~~~~~~~ 2026-10-25T00:58:00.0011741Z 2026-10-25T00:58:00.0012066Z 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-25T00:58:00.0012070Z 2026-10-25T00:58:00.0012124Z 869 launchEditor: (input) => 2026-10-25T00:58:00.0012173Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0012177Z 2026-10-25T00:58:00.0012442Z src/project/AgentSessionImporter.test.ts:212:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:58:00.0012445Z 2026-10-25T00:58:00.0012499Z 212 Effect.succeed( 2026-10-25T00:58:00.0012547Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0012549Z 2026-10-25T00:58:00.0012804Z src/project/ManagedProjectFolders.ts:346:13 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:58:00.0012806Z 2026-10-25T00:58:00.0012898Z 346 ? Effect.succeed(Option.some(folderFor(id.slice(-8)))) 2026-10-25T00:58:00.0012949Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0012996Z 2026-10-25T00:58:00.0013248Z src/project/ManagedProjectFolders.ts:348:15 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:58:00.0013252Z 2026-10-25T00:58:00.0013324Z 348 ? Effect.succeed(Option.some(fullFolder)) 2026-10-25T00:58:00.0013374Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0013377Z 2026-10-25T00:58:00.0013713Z 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-25T00:58:00.0013716Z 2026-10-25T00:58:00.0013802Z 432 start: (input, hooks) => locked(start(input, hooks)), 2026-10-25T00:58:00.0013849Z ~~~~~ 2026-10-25T00:58:00.0013851Z 2026-10-25T00:58:00.0014178Z 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-25T00:58:00.0014182Z 2026-10-25T00:58:00.0014260Z 433 cancel: (projectId) => locked(cancel(projectId)), 2026-10-25T00:58:00.0014311Z ~~~~~~ 2026-10-25T00:58:00.0014313Z 2026-10-25T00:58:00.0014643Z 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-25T00:58:00.0014645Z 2026-10-25T00:58:00.0014720Z 434 retry: (projectId) => locked(retry(projectId)), 2026-10-25T00:58:00.0014765Z ~~~~~ 2026-10-25T00:58:00.0014767Z 2026-10-25T00:58:00.0015097Z 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-25T00:58:00.0015100Z 2026-10-25T00:58:00.0015180Z 435 discard: (projectId) => locked(discard(projectId)), 2026-10-25T00:58:00.0015229Z ~~~~~~~ 2026-10-25T00:58:00.0015232Z 2026-10-25T00:58:00.0015743Z 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-25T00:58:00.0015750Z 2026-10-25T00:58:00.0015855Z 21 get: (key) => Effect.sync(() => Option.fromUndefinedOr(bytes.get(key))), 2026-10-25T00:58:00.0015903Z ~~~ 2026-10-25T00:58:00.0015905Z 2026-10-25T00:58:00.0016264Z 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-25T00:58:00.0016267Z 2026-10-25T00:58:00.0018596Z 22 set: (key, value) => 2026-10-25T00:58:00.0018647Z ~~~ 2026-10-25T00:58:00.0018653Z 2026-10-25T00:58:00.0019068Z 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-25T00:58:00.0019071Z 2026-10-25T00:58:00.0019122Z 26 remove: (key) => 2026-10-25T00:58:00.0019167Z ~~~~~~ 2026-10-25T00:58:00.0019169Z 2026-10-25T00:58:00.0019515Z 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-25T00:58:00.0019517Z 2026-10-25T00:58:00.0019623Z 30 create: () => Effect.die("Handoff does not create persistent secrets."), 2026-10-25T00:58:00.0019669Z ~~~~~~ 2026-10-25T00:58:00.0019671Z 2026-10-25T00:58:00.0020042Z 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-25T00:58:00.0020120Z 2026-10-25T00:58:00.0020260Z 31 getOrCreateRandom: () => Effect.die("Handoff uses the destination environment identity."), 2026-10-25T00:58:00.0020309Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0020312Z 2026-10-25T00:58:00.0020753Z 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-25T00:58:00.0020757Z 2026-10-25T00:58:00.0020873Z 205 return yield* Schema.decodeUnknownEffect(Schema.fromJsonString(schema))( 2026-10-25T00:58:00.0020930Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0020933Z 2026-10-25T00:58:00.0021219Z 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-25T00:58:00.0021223Z 2026-10-25T00:58:00.0021283Z 569 ? Effect.succeed(undefined) 2026-10-25T00:58:00.0021332Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0021334Z 2026-10-25T00:58:00.0021671Z 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-25T00:58:00.0021674Z 2026-10-25T00:58:00.0021730Z 284 current: (driverKind) => 2026-10-25T00:58:00.0021774Z ~~~~~~~ 2026-10-25T00:58:00.0021776Z 2026-10-25T00:58:00.0022160Z 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-25T00:58:00.0022164Z 2026-10-25T00:58:00.0022224Z 284 return yield* Effect.fail( 2026-10-25T00:58:00.0022274Z ~~~~~ 2026-10-25T00:58:00.0022318Z 2026-10-25T00:58:00.0022658Z 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-25T00:58:00.0022660Z 2026-10-25T00:58:00.0022715Z 211 importProfile: (input) => 2026-10-25T00:58:00.0022763Z ~~~~~~~~~~~~~ 2026-10-25T00:58:00.0022765Z 2026-10-25T00:58:00.0023129Z 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-25T00:58:00.0023131Z 2026-10-25T00:58:00.0023197Z 39 credentials: (namespace, bindingId) => 2026-10-25T00:58:00.0023245Z ~~~~~~~~~~~ 2026-10-25T00:58:00.0023247Z 2026-10-25T00:58:00.0023647Z src/pullRequest/PullRequestService.ts:2984:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:58:00.0023650Z 2026-10-25T00:58:00.0023707Z 2984 Effect.catchCause((cause) => 2026-10-25T00:58:00.0023754Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0023756Z 2026-10-25T00:58:00.0024145Z src/pullRequest/PullRequestService.ts:3387:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:58:00.0024147Z 2026-10-25T00:58:00.0024202Z 3387 Effect.catchCause((cause) => 2026-10-25T00:58:00.0024249Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0024294Z 2026-10-25T00:58:00.0024629Z src/pullRequest/PullRequestService.ts:3607:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestService.listStats")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0024633Z 2026-10-25T00:58:00.0024684Z 3607 listStats: (input) => 2026-10-25T00:58:00.0024734Z ~~~~~~~~~ 2026-10-25T00:58:00.0024737Z 2026-10-25T00:58:00.0024987Z src/relay/AgentAwarenessRelay.test.ts:272:9 - suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-10-25T00:58:00.0024989Z 2026-10-25T00:58:00.0025040Z 272 Effect.succeed( 2026-10-25T00:58:00.0025087Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0025089Z 2026-10-25T00:58:00.0025414Z 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-25T00:58:00.0025419Z 2026-10-25T00:58:00.0025550Z 822 requestCatchUp: () => Queue.offer(catchUpRequests, undefined).pipe(Effect.asVoid), 2026-10-25T00:58:00.0025597Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0025599Z 2026-10-25T00:58:00.0025999Z 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-25T00:58:00.0026001Z 2026-10-25T00:58:00.0026063Z 641 requestDesktopUpdate: (requestId) => 2026-10-25T00:58:00.0026110Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0026113Z 2026-10-25T00:58:00.0026502Z 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-25T00:58:00.0026506Z 2026-10-25T00:58:00.0026568Z 647 commitDesktopUpdate: (requestId) => 2026-10-25T00:58:00.0026616Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0026619Z 2026-10-25T00:58:00.0027052Z 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-25T00:58:00.0027055Z 2026-10-25T00:58:00.0027117Z 649 cancelDesktopUpdate: (requestId) => 2026-10-25T00:58:00.0027165Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0027167Z 2026-10-25T00:58:00.0027547Z 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-25T00:58:00.0027549Z 2026-10-25T00:58:00.0027619Z 698 setDiagnosticsDemand: () => Effect.void, 2026-10-25T00:58:00.0027668Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0027670Z 2026-10-25T00:58:00.0028052Z 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-25T00:58:00.0028054Z 2026-10-25T00:58:00.0028123Z 699 requestDesktopUpdate: () => Effect.void, 2026-10-25T00:58:00.0028173Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0028175Z 2026-10-25T00:58:00.0028555Z 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-25T00:58:00.0028557Z 2026-10-25T00:58:00.0028623Z 700 commitDesktopUpdate: () => Effect.void, 2026-10-25T00:58:00.0028673Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0028725Z 2026-10-25T00:58:00.0029136Z 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-25T00:58:00.0029138Z 2026-10-25T00:58:00.0029205Z 701 cancelDesktopUpdate: () => Effect.void, 2026-10-25T00:58:00.0029253Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0029256Z 2026-10-25T00:58:00.0029603Z 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-25T00:58:00.0029605Z 2026-10-25T00:58:00.0029656Z 1091 readHistory: () => 2026-10-25T00:58:00.0029703Z ~~~~~~~~~~~ 2026-10-25T00:58:00.0029706Z 2026-10-25T00:58:00.0030072Z 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-25T00:58:00.0030076Z 2026-10-25T00:58:00.0030146Z 1097 setExternalProcesses: () => Effect.void, 2026-10-25T00:58:00.0030193Z ~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0030196Z 2026-10-25T00:58:00.0030557Z 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-25T00:58:00.0030559Z 2026-10-25T00:58:00.0030624Z 1098 setHostPowerState: () => Effect.void, 2026-10-25T00:58:00.0030673Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0030675Z 2026-10-25T00:58:00.0030985Z 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-25T00:58:00.0030991Z 2026-10-25T00:58:00.0031063Z 1136 ? Effect.succeed(undefined) 2026-10-25T00:58:00.0031166Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0031169Z 2026-10-25T00:58:00.0031465Z 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-25T00:58:00.0031467Z 2026-10-25T00:58:00.0031530Z 166 const results = yield* Effect.all( 2026-10-25T00:58:00.0031580Z ~~~~~~~~~~ 2026-10-25T00:58:00.0031582Z 2026-10-25T00:58:00.0031961Z src/server.ts:493: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-25T00:58:00.0031965Z 2026-10-25T00:58:00.0032025Z 493 return Effect.gen(function* () { 2026-10-25T00:58:00.0032072Z ~~~~~~ 2026-10-25T00:58:00.0032074Z 2026-10-25T00:58:00.0032363Z 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-25T00:58:00.0032366Z 2026-10-25T00:58:00.0032438Z 209 prepareTrial: Effect.succeed(undefined), 2026-10-25T00:58:00.0032500Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0032503Z 2026-10-25T00:58:00.0032784Z 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-25T00:58:00.0032786Z 2026-10-25T00:58:00.0032846Z 413 const results = yield* Effect.all( 2026-10-25T00:58:00.0032899Z ~~~~~~~~~~ 2026-10-25T00:58:00.0032942Z 2026-10-25T00:58:00.0033380Z 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-25T00:58:00.0033384Z 2026-10-25T00:58:00.0033441Z 204 listChangeRequests: (input) => 2026-10-25T00:58:00.0033491Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0033493Z 2026-10-25T00:58:00.0033924Z 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-25T00:58:00.0033926Z 2026-10-25T00:58:00.0033985Z 209 getChangeRequest: (input) => 2026-10-25T00:58:00.0034031Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0034034Z 2026-10-25T00:58:00.0034471Z 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-25T00:58:00.0034475Z 2026-10-25T00:58:00.0034536Z 214 createChangeRequest: (input) => 2026-10-25T00:58:00.0034584Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0034587Z 2026-10-25T00:58:00.0035027Z 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-25T00:58:00.0035030Z 2026-10-25T00:58:00.0035090Z 219 getRepositoryCloneUrls: (input) => 2026-10-25T00:58:00.0035140Z ~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0035142Z 2026-10-25T00:58:00.0035567Z 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-25T00:58:00.0035612Z 2026-10-25T00:58:00.0035718Z 224 createRepository: (input) => provider.createRepository(input), 2026-10-25T00:58:00.0035766Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0035768Z 2026-10-25T00:58:00.0036187Z 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-25T00:58:00.0036193Z 2026-10-25T00:58:00.0036248Z 225 getDefaultBranch: (input) => 2026-10-25T00:58:00.0036296Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0036298Z 2026-10-25T00:58:00.0036731Z 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-25T00:58:00.0036735Z 2026-10-25T00:58:00.0036797Z 230 checkoutChangeRequest: (input) => 2026-10-25T00:58:00.0036844Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0036847Z 2026-10-25T00:58:00.0037223Z 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-25T00:58:00.0037225Z 2026-10-25T00:58:00.0037364Z 345 resolve: (input) => resolveHandle(input).pipe(Effect.map((handle) => handle.provider)), 2026-10-25T00:58:00.0037410Z ~~~~~~~ 2026-10-25T00:58:00.0037412Z 2026-10-25T00:58:00.0037798Z src/sourceControl/SourceControlRepositoryService.ts:406:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-10-25T00:58:00.0037843Z 2026-10-25T00:58:00.0037898Z 406 Effect.catch((sshError) => 2026-10-25T00:58:00.0037945Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0037948Z 2026-10-25T00:58:00.0038349Z src/sourceControl/SourceControlRepositoryService.ts:553:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.lookupRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0038352Z 2026-10-25T00:58:00.0038408Z 553 lookupRepository: (input) => 2026-10-25T00:58:00.0038455Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0038457Z 2026-10-25T00:58:00.0038884Z src/sourceControl/SourceControlRepositoryService.ts:555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.prepareClone")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0038888Z 2026-10-25T00:58:00.0038944Z 555 prepareClone: (input) => 2026-10-25T00:58:00.0038990Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0038993Z 2026-10-25T00:58:00.0039403Z src/sourceControl/SourceControlRepositoryService.ts:562:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.cloneRepository")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0039406Z 2026-10-25T00:58:00.0039468Z 562 cloneRepository: (input, options) => 2026-10-25T00:58:00.0039513Z ~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0039515Z 2026-10-25T00:58:00.0039922Z src/sourceControl/SourceControlRepositoryService.ts:569:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.discardClone")((destinationPath) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0039925Z 2026-10-25T00:58:00.0039986Z 569 discardClone: (destinationPath) => 2026-10-25T00:58:00.0040030Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0040033Z 2026-10-25T00:58:00.0040475Z src/sourceControl/SourceControlRepositoryService.ts:573:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.publishRepository")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0040478Z 2026-10-25T00:58:00.0040536Z 573 publishRepository: (input) => 2026-10-25T00:58:00.0040585Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0040587Z 2026-10-25T00:58:00.0040935Z 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-25T00:58:00.0040938Z 2026-10-25T00:58:00.0040993Z 708 return yield* Effect.fail( 2026-10-25T00:58:00.0041036Z ~~~~~ 2026-10-25T00:58:00.0041042Z 2026-10-25T00:58:00.0041349Z 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-25T00:58:00.0041352Z 2026-10-25T00:58:00.0041405Z 113 record: () => Effect.void, 2026-10-25T00:58:00.0041452Z ~~~~~~ 2026-10-25T00:58:00.0041454Z 2026-10-25T00:58:00.0041779Z 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-25T00:58:00.0041782Z 2026-10-25T00:58:00.0041838Z 115 recordOwners: () => Effect.void, 2026-10-25T00:58:00.0041884Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0041887Z 2026-10-25T00:58:00.0042214Z 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-25T00:58:00.0042259Z 2026-10-25T00:58:00.0042416Z 329 yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.flatMap(() => flushWhenDue)), { 2026-10-25T00:58:00.0042492Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0042494Z 2026-10-25T00:58:00.0042788Z 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-25T00:58:00.0042792Z 2026-10-25T00:58:00.0042856Z 90 .pipe(Effect.catch(() => Effect.void)); 2026-10-25T00:58:00.0042906Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0042908Z 2026-10-25T00:58:00.0043261Z 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-25T00:58:00.0043266Z 2026-10-25T00:58:00.0043328Z 60 generateCommitMessage: (input) => 2026-10-25T00:58:00.0043376Z ~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0043378Z 2026-10-25T00:58:00.0043719Z 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-25T00:58:00.0043721Z 2026-10-25T00:58:00.0043780Z 64 generatePrContent: (input) => 2026-10-25T00:58:00.0043828Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0043830Z 2026-10-25T00:58:00.0044167Z 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-25T00:58:00.0044169Z 2026-10-25T00:58:00.0044226Z 68 generateBranchName: (input) => 2026-10-25T00:58:00.0044277Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0044280Z 2026-10-25T00:58:00.0044767Z 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-25T00:58:00.0044770Z 2026-10-25T00:58:00.0044829Z 72 generateReviewGuide: (input) => 2026-10-25T00:58:00.0044879Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0044882Z 2026-10-25T00:58:00.0045220Z 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-25T00:58:00.0045222Z 2026-10-25T00:58:00.0045281Z 76 generateThreadTitle: (input) => 2026-10-25T00:58:00.0045329Z ~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0045332Z 2026-10-25T00:58:00.0045635Z 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-25T00:58:00.0045639Z 2026-10-25T00:58:00.0045694Z 172 readSummary: (input) => 2026-10-25T00:58:00.0045738Z ~~~~~~~~~~~ 2026-10-25T00:58:00.0045741Z 2026-10-25T00:58:00.0046003Z 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-25T00:58:00.0046006Z 2026-10-25T00:58:00.0046069Z 642 usageInstances(driver, settings) 2026-10-25T00:58:00.0046122Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0046167Z 643 .pipe( 2026-10-25T00:58:00.0046212Z ~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0046257Z ... 2026-10-25T00:58:00.0046331Z 664 Effect.provideContext(readerContext), 2026-10-25T00:58:00.0046393Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0046485Z 665 ), 2026-10-25T00:58:00.0046531Z ~~~~~~~~~~~ 2026-10-25T00:58:00.0046533Z 2026-10-25T00:58:00.0046903Z src/vcs/GitVcsDriverCore.ts:4020:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-10-25T00:58:00.0046906Z 2026-10-25T00:58:00.0046961Z 4020 Effect.flatMap((result) => 2026-10-25T00:58:00.0047011Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0047013Z 2026-10-25T00:58:00.0047373Z src/vcs/GitVcsDriverCore.ts:4511:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.commit")((cwd, subject, body, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0047376Z 2026-10-25T00:58:00.0047442Z 4511 commit: (cwd, subject, body, options) => 2026-10-25T00:58:00.0047485Z ~~~~~~ 2026-10-25T00:58:00.0047490Z 2026-10-25T00:58:00.0047877Z src/vcs/GitVcsDriverCore.ts:4513:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pushCurrentBranch")((cwd, fallbackBranch, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0047880Z 2026-10-25T00:58:00.0047970Z 4513 pushCurrentBranch: (cwd, fallbackBranch, options) => 2026-10-25T00:58:00.0048019Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0048021Z 2026-10-25T00:58:00.0048368Z src/vcs/GitVcsDriverCore.ts:4515:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0048370Z 2026-10-25T00:58:00.0048507Z 4515 pullCurrentBranch: (cwd) => withListRefsInvalidation(cwd, pullCurrentBranch(cwd)), 2026-10-25T00:58:00.0048554Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0048556Z 2026-10-25T00:58:00.0048965Z src/vcs/GitVcsDriverCore.ts:4523:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0049010Z 2026-10-25T00:58:00.0049074Z 4523 createWorktree: (input, options) => 2026-10-25T00:58:00.0049122Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0049124Z 2026-10-25T00:58:00.0049472Z src/vcs/GitVcsDriverCore.ts:4525:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRefIntoBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0049476Z 2026-10-25T00:58:00.0049629Z 4525 fetchRefIntoBranch: (input) => withListRefsInvalidation(input.cwd, fetchRefIntoBranch(input)), 2026-10-25T00:58:00.0049678Z ~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0049680Z 2026-10-25T00:58:00.0050038Z src/vcs/GitVcsDriverCore.ts:4528:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.refreshCheckedOutBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0050042Z 2026-10-25T00:58:00.0050108Z 4528 refreshCheckedOutBranch: (input) => 2026-10-25T00:58:00.0050156Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0050159Z 2026-10-25T00:58:00.0050497Z src/vcs/GitVcsDriverCore.ts:4530:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.ensureRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0050499Z 2026-10-25T00:58:00.0050632Z 4530 ensureRemote: (input) => withListRefsInvalidation(input.cwd, ensureRemote(input)), 2026-10-25T00:58:00.0050678Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0050680Z 2026-10-25T00:58:00.0051013Z src/vcs/GitVcsDriverCore.ts:4533:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0051074Z 2026-10-25T00:58:00.0051127Z 4533 fetchRemote: (input) => 2026-10-25T00:58:00.0051174Z ~~~~~~~~~~~ 2026-10-25T00:58:00.0051178Z 2026-10-25T00:58:00.0051535Z src/vcs/GitVcsDriverCore.ts:4548:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0051538Z 2026-10-25T00:58:00.0051601Z 4548 fetchWorktreeBaseCommit: (input) => 2026-10-25T00:58:00.0051651Z ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0051653Z 2026-10-25T00:58:00.0051997Z src/vcs/GitVcsDriverCore.ts:4550:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0052001Z 2026-10-25T00:58:00.0052148Z 4550 fetchRemoteBranch: (input) => withListRefsInvalidation(input.cwd, fetchRemoteBranch(input)), 2026-10-25T00:58:00.0052199Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0052201Z 2026-10-25T00:58:00.0052569Z src/vcs/GitVcsDriverCore.ts:4551:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteTrackingBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0052572Z 2026-10-25T00:58:00.0052638Z 4551 fetchRemoteTrackingBranch: (input) => 2026-10-25T00:58:00.0052688Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0052690Z 2026-10-25T00:58:00.0053037Z src/vcs/GitVcsDriverCore.ts:4553:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.setBranchUpstream")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0053039Z 2026-10-25T00:58:00.0053189Z 4553 setBranchUpstream: (input) => withListRefsInvalidation(input.cwd, setBranchUpstream(input)), 2026-10-25T00:58:00.0053239Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0053241Z 2026-10-25T00:58:00.0053628Z src/vcs/GitVcsDriverCore.ts:4554:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0053631Z 2026-10-25T00:58:00.0053769Z 4554 removeWorktree: (input) => withListRefsInvalidation(input.cwd, removeWorktree(input)), 2026-10-25T00:58:00.0053816Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0053818Z 2026-10-25T00:58:00.0054163Z src/vcs/GitVcsDriverCore.ts:4555:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0054166Z 2026-10-25T00:58:00.0054302Z 4555 pruneWorktrees: (input) => withListRefsInvalidation(input.cwd, pruneWorktrees(input)), 2026-10-25T00:58:00.0054352Z ~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0054355Z 2026-10-25T00:58:00.0054702Z src/vcs/GitVcsDriverCore.ts:4556:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0054707Z 2026-10-25T00:58:00.0054853Z 4556 deleteLocalBranch: (input) => withListRefsInvalidation(input.cwd, deleteLocalBranch(input)), 2026-10-25T00:58:00.0054904Z ~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0054906Z 2026-10-25T00:58:00.0055249Z src/vcs/GitVcsDriverCore.ts:4557:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0055251Z 2026-10-25T00:58:00.0055476Z 4557 renameBranch: (input) => withListRefsInvalidation(input.cwd, renameBranch(input)), 2026-10-25T00:58:00.0055533Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0055608Z 2026-10-25T00:58:00.0055943Z src/vcs/GitVcsDriverCore.ts:4558:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0055946Z 2026-10-25T00:58:00.0056066Z 4558 createRef: (input) => withListRefsInvalidation(input.cwd, createRef(input)), 2026-10-25T00:58:00.0056115Z ~~~~~~~~~ 2026-10-25T00:58:00.0056117Z 2026-10-25T00:58:00.0056449Z src/vcs/GitVcsDriverCore.ts:4559:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 2026-10-25T00:58:00.0056451Z 2026-10-25T00:58:00.0056567Z 4559 switchRef: (input) => withListRefsInvalidation(input.cwd, switchRef(input)), 2026-10-25T00:58:00.0056611Z ~~~~~~~~~ 2026-10-25T00:58:00.0056614Z 2026-10-25T00:58:00.0057034Z 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-25T00:58:00.0057038Z 2026-10-25T00:58:00.0057110Z 153 return serverSettings.getSettings.pipe( 2026-10-25T00:58:00.0057155Z ~~~~~~ 2026-10-25T00:58:00.0057157Z 2026-10-25T00:58:00.0057480Z 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-25T00:58:00.0057482Z 2026-10-25T00:58:00.0057572Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-25T00:58:00.0057620Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0057623Z 2026-10-25T00:58:00.0057921Z 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-25T00:58:00.0057925Z 2026-10-25T00:58:00.0058064Z 171 }).pipe(Effect.catch(() => Effect.succeed(undefined))); 2026-10-25T00:58:00.0058131Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0058134Z 2026-10-25T00:58:00.0058388Z 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-25T00:58:00.0058391Z 2026-10-25T00:58:00.0058500Z 401 resolveFileManagerRevealKind: () => Effect.succeed(undefined), 2026-10-25T00:58:00.0058571Z ~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-25T00:58:00.0058574Z 2026-10-25T00:58:00.0058913Z src/ws.ts:1391: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-25T00:58:00.0058918Z 2026-10-25T00:58:00.0058986Z 1391 return yield* Option.match(project, { 2026-10-25T00:58:00.0059039Z ~~~~~~~~~~~~ 2026-10-25T00:58:00.0059042Z 2026-10-25T00:58:00.0059372Z src/ws.ts:2333: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-25T00:58:00.0059374Z 2026-10-25T00:58:00.0059438Z 2333 return yield* Effect.fail( 2026-10-25T00:58:00.0059491Z ~~~~~ 2026-10-25T00:58:00.0059493Z 2026-10-25T00:58:00.0059813Z src/ws.ts:2342: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-25T00:58:00.0059815Z 2026-10-25T00:58:00.0059877Z 2342 return yield* Effect.fail( 2026-10-25T00:58:00.0059972Z ~~~~~ 2026-10-25T00:58:00.0059975Z 2026-10-25T00:58:00.0060292Z src/ws.ts:2350: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-25T00:58:00.0060295Z 2026-10-25T00:58:00.0060354Z 2350 return yield* Effect.fail( 2026-10-25T00:58:00.0060401Z ~~~~~ 2026-10-25T00:58:00.0060403Z 2026-10-25T00:58:00.0060405Z 2026-10-25T00:58:00.0060450Z --- 2026-10-25T00:58:00.0060740Z vp run: 0/33 cache hit (0%), 33/33 successful. @t3tools/oxlint-plugin-t3code#typecheck (and 1 more) not cached because they modified their inputs. (Run `vp run --last-details` for full details) 2026-10-25T00:58:00.0495573Z Post job cleanup. 2026-10-25T00:58:00.1105660Z Cache hit occurred on the primary key electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309, not saving cache. 2026-10-25T00:58:00.1170715Z Post job cleanup. 2026-10-25T00:58:00.1184732Z ##[start-action display=Cache full pnpm store;id=__34f21736-cafb-4fa9-ab81-44d440b111b0.__actions_cache] 2026-10-25T00:58:00.1532837Z Post job cleanup. 2026-10-25T00:58:00.2140537Z Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-fe33cf74552d68b43bd4929ad8f74b63f776b4470e2e3533f781441d5e4f188c, not saving cache. 2026-10-25T00:58:00.2172103Z ##[end-action id=__34f21736-cafb-4fa9-ab81-44d440b111b0.__actions_cache;outcome=success;conclusion=success;duration_ms=98] 2026-10-25T00:58:00.2173796Z ##[start-action display=Cache Vite+;id=__34f21736-cafb-4fa9-ab81-44d440b111b0.vp_cache] 2026-10-25T00:58:00.2193760Z Post job cleanup. 2026-10-25T00:58:00.2827301Z 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-25T00:58:00.2858270Z ##[end-action id=__34f21736-cafb-4fa9-ab81-44d440b111b0.vp_cache;outcome=success;conclusion=success;duration_ms=68] 2026-10-25T00:58:00.2899330Z Post job cleanup. 2026-10-25T00:58:00.3308882Z [command]/usr/local/bin/git version 2026-10-25T00:58:00.3337990Z git version 2.55.0 2026-10-25T00:58:00.3355519Z Temporarily overriding HOME='/home/runner/_work/_temp/ed399e94-6965-4b49-9298-c663360fef61' before making global git config changes 2026-10-25T00:58:00.3355899Z Adding repository directory to the temporary git global config as a safe directory 2026-10-25T00:58:00.3358641Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-10-25T00:58:00.3379971Z Removing SSH command configuration 2026-10-25T00:58:00.3383070Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-25T00:58:00.3404448Z [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-25T00:58:00.3522191Z fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules 2026-10-25T00:58:00.3576836Z ##[warning]The process '/usr/local/bin/git' failed with exit code 128 2026-10-25T00:58:00.3610467Z A job completed hook has been configured by the self-hosted runner administrator 2026-10-25T00:58:00.3623927Z ##[group]Run '/job_completed.sh' 2026-10-25T00:58:00.3629989Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-25T00:58:00.3630177Z env: 2026-10-25T00:58:00.3630294Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 163 2026-10-25T00:58:00.3630449Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 386 2026-10-25T00:58:00.3630592Z BLACKSMITH_CHECK_RUN_ID: 121035460902 2026-10-25T00:58:00.3630754Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-10-25T00:58:00.3630916Z GITHUB_ACTIONS_CACHE_MODE: write 2026-10-25T00:58:00.3631058Z ##[endgroup] 2026-10-25T00:58:00.3699161Z Docker container cache not activated, skipping hash computation. 2026-10-25T00:58:00.3946995Z No active SSH sessions detected. Proceeding with shutdown immediately. 2026-10-25T00:58:00.3990457Z Cleaning up orphan processes