• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dg / ai-access
92%

Build:
DEFAULT BRANCH: master
Repo Added 04 Aug 2026 08:29AM UTC
Files 62
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • v1.0.0

10 Aug 2026 04:15AM UTC coverage: 92.061% (+0.03%) from 92.031%
31355232649

push

github

dg
chat: a stream can be cancelled from the loop, not just from a callback

Returning false from the onStream callback already stopped the generation, but a
foreach had no way to say the same thing. Breaking out only pauses: the Fiber
lives on the TextStream rather than in the generator, so the request stays open,
which is exactly what lets a later foreach resume it and getResponse() finish it
without paying twice. Advising unset() instead was a poor substitute, because a
caller cannot know how many references are still held.

cancel() resumes the Fiber with false, which travels back through the emit
callback and aborts the transfer, so the connection closes and the rest of the
answer is neither produced nor billed.

The Fiber's generic types were wrong and PHPStan only noticed once a value other
than null was passed in: resume() takes what suspend() returns, so the order is
Fiber<void, ?bool, Response, string>, not <void, string, Response, string>.

8 of 8 new or added lines in 1 file covered. (100.0%)

2006 of 2179 relevant lines covered (92.06%)

0.92 hits per line

Relevant lines Covered
Build:
Build:
2179 RELEVANT LINES 2006 COVERED LINES
0.92 HITS PER LINE
Source Files on master
  • Tree
  • List 62
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
31355232649 master chat: a stream can be cancelled from the loop, not just from a callback Returning false from the onStream callback already stopped the generation, but a foreach had no way to say the same thing. Breaking out only pauses: the Fiber lives on the Te... push 10 Aug 2026 04:21AM UTC dg github
92.06
31351356924 master readme: the capability matrix covers the generic client, and every row leads somewhere The generic OpenAI-compatible client gets a column of its own. It used to be a sentence underneath, which undersold it, but the mark cannot mean quite the same... push 10 Aug 2026 03:00AM UTC dg github
92.03
31351320745 master readme: the capability matrix covers the generic client, and every row leads somewhere The generic OpenAI-compatible client gets a column of its own. It used to be a sentence underneath, which undersold it, but the mark cannot mean quite the same... push 10 Aug 2026 03:00AM UTC dg github
92.03
31350440048 master x push 10 Aug 2026 02:41AM UTC dg github
92.03
31350383638 master x push 10 Aug 2026 02:39AM UTC dg github
92.03
31350302210 master x push 10 Aug 2026 02:37AM UTC dg github
92.03
31349713828 master typo push 10 Aug 2026 02:24AM UTC dg github
92.03
31346218481 master readme.md: fixed badge push 10 Aug 2026 01:07AM UTC dg github
92.03
31345510988 master curl: connection kept alive between requests, headers matched case-insensitively A tool loop is a burst of requests to one host, and a fresh TCP+TLS handshake for each was the cheapest latency there was to win: the handle now survives in the clie... push 10 Aug 2026 12:50AM UTC dg github
92.03
31345224179 master curl: connection kept alive between requests, headers matched case-insensitively A tool loop is a burst of requests to one host, and a fresh TCP+TLS handshake for each was the cheapest latency there was to win: the handle now survives in the clie... push 10 Aug 2026 12:43AM UTC dg github
92.03
See All Builds (15)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc