René's URL Explorer Experiment


Title: refactor: migrate billing and test files to dependency injection pattern by brandonkachen · Pull Request #408 · CodebuffAI/codebuff · GitHub

Open Graph Title: refactor: migrate billing and test files to dependency injection pattern by brandonkachen · Pull Request #408 · CodebuffAI/codebuff

X Title: refactor: migrate billing and test files to dependency injection pattern by brandonkachen · Pull Request #408 · CodebuffAI/codebuff

Description: Non-Test Files Changed (22 files, +1,393 / -157 lines) File +/- Description TESTING.md +518 New comprehensive testing guide common/src/types/contracts/billing.ts +334 New DI contract types packages/billing/src/auto-topup.ts +128/-40 DI refactor packages/billing/src/grant-credits.ts +84/-39 DI refactor packages/billing/src/billing.knowledge.md +81/-3 Updated docs packages/billing/src/org-billing.ts +54/-13 DI refactor packages/billing/src/stripe-metering.ts +42/-14 DI refactor packages/billing/src/balance-calculator.ts +40/-14 DI refactor packages/internal/src/db/types.ts +39 New transaction types packages/billing/src/usage-service.ts +25/-5 DI refactor packages/billing/src/credit-delegation.ts +16/-4 DI refactor packages/agent-runtime/src/llm-api/linkup-api.ts +10/-2 Minor update web/src/app/api/admin/relabel-for-user/route.ts +4/-6 TEST_USER_ID removal packages/billing/src/org-monitoring.ts +4/-4 Minor update evals/buffbench/main*.ts (4 files) +3 each CI=true env packages/internal/src/db/index.ts +2 Exports common/src/old-constants.ts -1 TEST_USER_ID removal web/src/app/api/v1/agent-runs/[runId]/steps/_post.ts -6 TEST_USER_ID removal web/src/app/api/v1/agent-runs/_post.ts -6 TEST_USER_ID removal Summary This PR refactors billing code and tests to use dependency injection (DI) instead of module mocking, following the patterns outlined in TESTING.md. Changes DI Infrastructure Add DI contract types for billing dependencies (BillingDbConnection, UsageServiceDeps, etc.) Create mock database helpers (createMockDb, createMockTransaction, createTrackedMockDb) Create test fixtures for billing (createMockCreditGrant, createMockUser, etc.) Billing Package Refactor Refactor grant-credits.ts to accept optional deps with transaction for DI Refactor usage-service.ts to accept UsageServiceDeps for testing Update all billing tests to use DI instead of mockModule Add getBillingDbClient() helper for centralized DB client handling Fix transactional consistency in triggerMonthlyResetAndGrant TEST_USER_ID Removal Remove hardcoded TEST_USER_ID bypass from production billing code Remove from balance-calculator.ts, stripe-metering.ts, and agent-runs API endpoints Evals now set CI=true at entry points to skip Stripe billing Test Coverage 158 billing tests passing ~5,300+ lines of new test infrastructure code Zero mockModule usage remains in billing tests Documentation Add TESTING.md with comprehensive DI patterns and test fixture documentation Update billing.knowledge.md with DI patterns reference Validation ✅ All 158 billing tests pass ✅ All 13 packages pass typecheck ✅ All 17 CI jobs pass ✅ Zero mockModule usage remains in billing tests ✅ Reviewed by Gemini CLI, Codex CLI, and Claude Code - all approved

Open Graph Description: Non-Test Files Changed (22 files, +1,393 / -157 lines) File +/- Description TESTING.md +518 New comprehensive testing guide common/src/types/contracts/billing.ts +334 New DI contract types...

X Description: Non-Test Files Changed (22 files, +1,393 / -157 lines) File +/- Description TESTING.md +518 New comprehensive testing guide common/src/types/contracts/billing.ts +334 New DI contract types...

Opengraph URL: https://github.com/CodebuffAI/codebuff/pull/408

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:ea26ce70-2724-e16b-5c0b-52f03f7b9449
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id84EC:28D7C7:8C553C:B6AEF2:69954635
html-safe-noncea7df4084837b58275e3ca509a1f8f63c41302e00e642a5dca8fe978fe145cd3f
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NEVDOjI4RDdDNzo4QzU1M0M6QjZBRUYyOjY5OTU0NjM1IiwidmlzaXRvcl9pZCI6IjE2NjY1ODM3NTA4NDU0ODI1NDkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacb727a2ac73ce6ab0be3e8802d9c8d0e7de0a893107df44f1607d1ab615445b19
hovercard-subject-tagpull_request:3167609605
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
twitter:imagehttps://avatars.githubusercontent.com/u/9735006?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/9735006?s=400&v=4
og:image:altNon-Test Files Changed (22 files, +1,393 / -157 lines) File +/- Description TESTING.md +518 New comprehensive testing guide common/src/types/contracts/billing.ts +334 New DI contract types...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None4bd759bc5f83244e2a0de29b937365905c0fefd238b6f077c24a49830375b4df
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/CodebuffAI/codebuff git https://github.com/CodebuffAI/codebuff.git
octolytics-dimension-user_id189203002
octolytics-dimension-user_loginCodebuffAI
octolytics-dimension-repository_id826515105
octolytics-dimension-repository_nwoCodebuffAI/codebuff
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id826515105
octolytics-dimension-repository_network_root_nwoCodebuffAI/codebuff
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasecac7d4a5a6053f6655d0c3e8bfe5fd7a55c216fd
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FCodebuffAI%2Fcodebuff%2Fpull%2F408%2Fcommits%2Fd56740c47cf92401fe1504cd107d5a4c7e56b966
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FCodebuffAI%2Fcodebuff%2Fpull%2F408%2Fcommits%2Fd56740c47cf92401fe1504cd107d5a4c7e56b966
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=CodebuffAI%2Fcodebuff
Reloadhttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
Reloadhttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
Reloadhttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
CodebuffAI https://github.com/CodebuffAI
codebuffhttps://github.com/CodebuffAI/codebuff
Notifications https://github.com/login?return_to=%2FCodebuffAI%2Fcodebuff
Fork 367 https://github.com/login?return_to=%2FCodebuffAI%2Fcodebuff
Star 2.8k https://github.com/login?return_to=%2FCodebuffAI%2Fcodebuff
Code https://github.com/CodebuffAI/codebuff
Issues 29 https://github.com/CodebuffAI/codebuff/issues
Pull requests 5 https://github.com/CodebuffAI/codebuff/pulls
Discussions https://github.com/CodebuffAI/codebuff/discussions
Actions https://github.com/CodebuffAI/codebuff/actions
Projects 0 https://github.com/CodebuffAI/codebuff/projects
Security 0 https://github.com/CodebuffAI/codebuff/security
Insights https://github.com/CodebuffAI/codebuff/pulse
Code https://github.com/CodebuffAI/codebuff
Issues https://github.com/CodebuffAI/codebuff/issues
Pull requests https://github.com/CodebuffAI/codebuff/pulls
Discussions https://github.com/CodebuffAI/codebuff/discussions
Actions https://github.com/CodebuffAI/codebuff/actions
Projects https://github.com/CodebuffAI/codebuff/projects
Security https://github.com/CodebuffAI/codebuff/security
Insights https://github.com/CodebuffAI/codebuff/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FCodebuffAI%2Fcodebuff%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FCodebuffAI%2Fcodebuff%2Fissues%2Fnew%2Fchoose
brandonkachenhttps://github.com/brandonkachen
mainhttps://github.com/CodebuffAI/codebuff/tree/main
billing-di-refactor-v2https://github.com/CodebuffAI/codebuff/tree/billing-di-refactor-v2
Conversation 0 https://github.com/CodebuffAI/codebuff/pull/408
Commits 34 https://github.com/CodebuffAI/codebuff/pull/408/commits
Checks 26 https://github.com/CodebuffAI/codebuff/pull/408/checks
Files changed https://github.com/CodebuffAI/codebuff/pull/408/files
Please reload this pagehttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
refactor: migrate billing and test files to dependency injection pattern https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#top
Show all changes 34 commits https://github.com/CodebuffAI/codebuff/pull/408/files
88ddefb refactor: migrate billing and test files to dependency injection pattern brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/88ddefbcd6bf78f64a14a47db973cb25059c15b0
6da0a4d refactor: remove TEST_USER_ID from production code entirely brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/6da0a4d6dde7aa32bbfbd0f8b7374cc475968c86
44aede8 test: remove obsolete test user handling tests brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/44aede8379af646608854fd03921b0dc18ed1f38
a5345cc feat: skip Stripe billing in evals by setting CI=true brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/a5345cc8416f2f31e8ab9751057afcd991857a40
414f0ed test: add comprehensive unit tests for billing DI patterns brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/414f0ed1a1ae6893e4700da4d5d74ec94a01c43e
3fd62df docs: remove TEST_USER_ID references from TESTING.md brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/3fd62dfce0fee5a7df9eb588896e73d33b783ca5
cc429e9 test: add comprehensive integration tests for billing DI patterns brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/cc429e92f55f456fe496f78e5c31a511f424ce7f
6d1e9ee fix: address PR review feedback brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/6d1e9eeb0e2ca6a4c6b7da7d53ab375476865fdb
4b0916e feat: add DI support to organization billing functions with tests brandonkachen Jan 12, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/4b0916ed6eb0a216b4e5ff1a351e8d31894b2738
8b59c4b refactor: add stricter TypeScript types to mock-db helpers brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/8b59c4b966f4f45fa4e801aeb2e854cfb7ceece5
1156896 docs: add JSDoc explaining why BillingTransactionFn uses any brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/115689646e24270cc02629952f5d4447224c59c8
11ea354 refactor: replace any types with unknown and proper types in billing brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/11ea3547b5c1ab4e21b09c05cd1ce0cc20f176be
a9f3556 chore: remove billing-di-refactor plan files after completion brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/a9f35567d689fb74475bcb0c2cb50b80451ec089
44f246c refactor: remove non-billing DI changes to keep PR focused brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/44f246cb0ff20e85bd5970680fbdf23b89db6ca8
c7bc739 feat: add DI support and tests for remaining billing functions brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/c7bc739cecdd0821d0f205681e5a4608b70b61f9
9ee0194 feat: add DI support to org-billing functions brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/9ee01945f2d69820283a5b58fc273909f70839ad
907be38 feat: add DI support to consumeCreditsAndAddAgentStep and calculateUs… brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/907be38279d82280a991a811793be5e72003e5af
80d5a92 docs: update billing knowledge with comprehensive DI testing document… brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/80d5a920b982d34aff36e79cb12c6f561b952859
972244d feat(cli): add Clickable component and fix button text selection brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/972244da1f1828d9766c732840c5189870beb184
ea1be56 Merge main to get latest tooling brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/ea1be56b27ea468fd984afc2f40b3e02d23b2e7d
85d87d7 feat: add CodebuffTransactionFn type and improve BillingTransactionFn… brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/85d87d7cf9dcfa5b2d3d3c9b43122ec678d786cb
9c2a4d2 refactor: improve type safety by replacing any with unknown and prope… brandonkachen Jan 13, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/9c2a4d272dfedc486962894f68b8a6aafd133dec
d56740c Merge origin/main into billing-di-refactor-v2 brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
6b294b2 refactor: trim verbose JSDoc comments and use CodebuffTransaction type brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/6b294b27b5413c8d5f0a1e1ac30d50062eeeaf45
a3457b4 revert: reset non-billing files back to main brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/a3457b4f52bad18bfd831cfea1ac93420478919f
ebccd29 fix: reset local-agents.test.ts to match main (was accidentally modif… brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/ebccd29c45746976e9674566c3cb40ec145e9553
a0d6953 ci: re-run CI to verify billing tests pass brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/a0d69538f7b9324f91421281ace4cb0aff5cecf7
3c2592c fix: replace thenable array patterns with proper Promises in grant-cr… brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/3c2592cc4ec2b1eca8f662bd12291dc98d8f2d85
41217c1 chore: address reviewer feedback - fix import spacing and document mo… brandonkachen Jan 14, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/41217c1b428c90f1cd10239dc8c6788f97faf79c
c28dcd1 fix: address code review issues from codex and claude CLI reviews brandonkachen Jan 15, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/c28dcd17691f7981f5ba4218afbff519a0a09051
2eb1bd9 fix: replace typeof db with BillingDbConnection in all billing depend… brandonkachen Jan 16, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/2eb1bd91f28ac1e0b1fae83794f6f415039f659b
28923bc refactor: clean up ugly type casting patterns in billing package brandonkachen Jan 16, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/28923bc09c608fd49f4a53aca405e203f1b7858c
0af83cf refactor: clean up grant-credits.ts type patterns and fix transaction… brandonkachen Jan 16, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/0af83cf0b15132e78aafb0cf98c1c843c1ff1921
1bca1eb refactor: standardize getBillingDbClient helper across all billing files brandonkachen Jan 16, 2026 https://github.com/CodebuffAI/codebuff/pull/408/commits/1bca1eba55243af81a31e75e81ca88f80572ccee
Clear filters https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
Please reload this pagehttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
Please reload this pagehttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
copy-button.test.ts https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-b626ce02dadbcc4b1908e3aaf6fe462bcbd05316165c665a39220a2e15e916b2
copy-icon-button.test.ts https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-dd0a7d64ff098358924c5bf603b69271a49f8e55dd2d080b161f17b5f189f197
copy-button.tsx https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-6ae2d10a41fe7754d1ba60ceb0d0b66d09b13ee131148e6ab841bdc2b5d57b49
copy-icon-button.tsx https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-4dbf1a8095ec1a258e7794bd3a8e996773a68bf481f5d9a2b0f11975d28fce5d
message-block.tsx https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-70b1adb3e7df5cbc008583f9686bf8db3c8ae70c455f77831c89e9f4344dbf40
message-footer.tsx https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-ff1ff2efd7392392275af009ac42ea16f5cbfaa9b7d100efe05ca545bc283906
index.tsx https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-6314c298e9d0bf1427c20548da7e06acf193215bd5fe9d7baf829618c9cddfcb
utils.ts https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-cdd6de1b93c82c6279142bcef011bddf657574544e295a01d1b9bf9d549f3b0d
local-agent-registry.ts https://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-2fbd72341045f5fb687b42b7c3341476fea610f99e4f24ded58bec0da42dbe7e
Prev https://github.com/CodebuffAI/codebuff/pull/408/commits/9c2a4d272dfedc486962894f68b8a6aafd133dec
Next https://github.com/CodebuffAI/codebuff/pull/408/commits/6b294b27b5413c8d5f0a1e1ac30d50062eeeaf45
Please reload this pagehttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
https://github.com/brandonkachen
brandonkachenhttps://github.com/CodebuffAI/codebuff/commits?author=brandonkachen
cli/src/__tests__/unit/copy-button.test.tshttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-b626ce02dadbcc4b1908e3aaf6fe462bcbd05316165c665a39220a2e15e916b2
View file https://github.com/CodebuffAI/codebuff/blob/d56740c47cf92401fe1504cd107d5a4c7e56b966/cli/src/__tests__/unit/copy-button.test.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/CodebuffAI/codebuff/pull/408/commits/{{ revealButtonHref }}
cli/src/__tests__/unit/copy-icon-button.test.tshttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966#diff-dd0a7d64ff098358924c5bf603b69271a49f8e55dd2d080b161f17b5f189f197
View file https://github.com/CodebuffAI/codebuff/blob/9c2a4d272dfedc486962894f68b8a6aafd133dec/cli/src/__tests__/unit/copy-icon-button.test.ts
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
Please reload this pagehttps://github.com/CodebuffAI/codebuff/pull/408/commits/d56740c47cf92401fe1504cd107d5a4c7e56b966
full changes herehttps://github.com/CodebuffAI/codebuff/commit/d56740c47cf92401fe1504cd107d5a4c7e56b966
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.