BusDK Update

bus work tuo kestävät työvirrat Bus Eventsin päälle

bus-work tuo BusDK:hon yleisen bus work -komentopinnan asynkroniseen työhön. Työpyyntö voidaan lähettää yhdelle tai usealle vastaanottajalle, ja jokainen vastaanottaja saa oman iteminsa samaan ryhmään.

Pinta ei aja Codexia, konttia tai skriptia itse. Se antaa kestävän työvirran, jonka päällä ihminen, skripti, LLM-agentti, palvelu tai myöhempi worker-adapteri voi toimia.

27.4.2026bus-workBus Eventswork streams

Tiiviisti

TL;DR

  • bus work new luo yhden ryhmän ja vastaanottajakohtaiset work itemit Bus Events -tapahtumina.
  • bus work next --json hakee ja claimaa seuraavan itemin skriptille sopivassa muodossa.
  • show, watch ja wait lukevat samaa tapahtumahistoriaa replay/follow-lipuilla, joten työhön voi palata myöhemmin ilman avoimeksi jäänyttä terminalia.

Monivastaanottajainen työpyyntö näyttää tarkoituksella samalta kuin lyhyt komentorivikäyttöön sopiva viesti. Sama ryhmä saa numeron repo#1, ja vastaanottajakohtaiset itemit erotetaan suffikseilla:

$ bus work --api-url "$BUS_EVENTS_API_URL" -C ./repo new @alpha @beta "Review e2e"
created repo#1
created repo#1.1 -> alpha
created repo#1.2 -> beta

Worker voi claimata seuraavan oman iteminsa ja pyytää JSON-ulostulon. Oleellinen pala tuloksesta on lyhyt work reference ja tila:

$ bus work --api-url "$BUS_EVENTS_API_URL" -C ./repo next @alpha --json
{
  "work_ref": "repo#1.1",
  "recipient": "alpha",
  "status": "claimed",
  "text": "Review e2e"
}

Työvirta ei ole yhden prosessin muisti. watch --no-follow lukee olemassa olevan historian ja poistuu, joten saman asian voi tarkistaa myöhemmin tai skriptista ilman live-kuuntelun auki pitamista:

$ bus work --api-url "$BUS_EVENTS_API_URL" -C ./repo watch --no-follow 1.1
bus.work.created        repo#1.1  Review e2e
bus.work.claimed        repo#1.1  Review e2e

Kun komento kohdistetaan ryhmään, say, close, fail ja block fanouttaavat viestin vain ryhmän ei-terminaalisiin child-itemeihin. Siksi yksi vastaanottaja voi sulkea oman iteminsa ilman, että muiden itemit katoavat samalla.

Nykyinen komentopinta ja config-sopimus löytyvät bus-work-dokumentaatiosta. Work-eventit kulkevat saman Events API -pinnan kautta, joka on kuvattu bus-eventsin dokumentaatiossa.