Repository navigation
v0.110.0
What's Changed
- feat(providers): GPT-6.1 Terra in the OpenAI catalog
- docs(changelog): 0.110.0
- test(broadcast): a transport's updates are written whatever it delivered (RMK-976)
- fix(realtime): a hook an injection fires injects at its own body's depth (RFC §8.3, RMK-983)
- fix(turns): a turn that waited its place is read on the room it starts in (RMK-900)
- test(api): the snapshot is the exact public surface, which roomkit-rs pins (RMK-1010)
- test(conformance): the runner streams, and syncs the streaming scenarios
- fix(delivery): a caller holding any room's lock delivers past a queue under way; a streamed reply really streams in its test, per review (RMK-997, RMK-998)
- refactor(realtime): one list of what a realtime session forgets, at its end or once its start failed (RMK-1000)
- fix(delivery): a caller holding a room's lock delivers into it past a queue another caller drains (RFC §9.5.1, §22.2, RMK-997)
- fix(voice): a hook on what a voice agent says, or on a model's delegation, runs at its answer's depth (RFC §8.3, RMK-998)
- test(conformance): sync the scenarios from roomkit-specs 509039e
- test(conformance): the runner drives a scripted agent, and syncs the tool scenarios
- fix(hooks): a hook body's floor is its depth only, said of every hook run asynchronously, per review (RMK-1004)
- fix(hooks): a hook's body continues the chain that fired it, a task it starts begins a new one (RFC §8.3, §9.5.1, RMK-1004)
- fix(tool-search): a tool asked for by its name comes first, and a word counts once (RMK-993)
- test(conference): wait for the recordings to open before reading their tracks (RMK-900)
- fix(core): the widened read of a turn that waited long stays under the context ceiling (RMK-900)
- fix(core): a turn that waited long keeps the history it was asked with, per light review (RMK-900)
- test(core): a turn's own-room message through its turn host too, the kit-object doors in process only (RMK-900)
- fix(core): a serialized turn takes its place when asked and keeps it until its text is written, per review (RMK-900)
- test(reentrance): the RMK-930 observer test runs with in-process turns only (RMK-983)
- fix(delivery): a request a cut batch carried learns its outcome is unknown, per review (RMK-983)
- fix(realtime): nothing outlives a session's end, on either host (RMK-983)
- fix(delivery): each queued caller delivers the batch it heads (RFC §8.3, §22.2, RMK-983)
- fix(realtime): a hook on the model's words runs at its answer's depth (RFC §8.3, RMK-983)
- feat(ai): serialize_room_turns runs an agent's turns in a room one after the other (RMK-900)
- refactor(core): extract reading one stream of a cascade from _read_cascade_streams (RMK-900)
- fix(realtime): last words before a drop recorded, a delivery's depth kept, per review (RMK-983)
- fix(realtime): a text injected from a turn, a tool call or a hook takes its depth (RFC §8.3, RMK-983)
- fix(realtime): a session that ended keeps no transcription state (RMK-983)
- docs: the light review's nits on RMK-983, RMK-984, RMK-985
- fix(turns)!: a request's events are records nothing changes, one wire encoder, per review (RMK-985)
- docs(store): what a shared snapshot reaches, and the stores' copy-in, per review (RMK-984)
- fix(realtime): the call's depth read as it arrives, the limit at each injection (RMK-983)
- perf(turns): in memory, a request's committed events cross as they are (RFC §10.6.1, RMK-985)
- perf(store)!: InMemoryStore shares the records it returns, copies on write (RFC §14.4, RMK-984)
- fix(realtime): a model's tool-call loop ends at max_chain_depth (RFC §8.3, §12.4, RMK-983)
- test(conformance): sync the scenarios from roomkit-specs 0c11340
- fix(hooks): a tool call's observer sends at least as deep as the call's turn was, once it is over too (RFC §8.3, RMK-978)
- fix(hooks): the observers of a trigger that fires per tool call run as on 2d6e626 (RFC §9.5.1, RMK-978)
- docs(changelog): the review's text fixes on RMK-978 (C1, the awaited case, update_event)
- fix(hooks): a tool call's observer keeps a budget of its own but the depth of the call's turn (RFC §8.3, §9.5.1, RMK-978)
- fix(hooks): an off-lock hook stands in the admission order only while its body runs (RFC §9.5.1, RMK-978)
- fix(hooks): the observers of a trigger that fires per tool call keep a budget of their own (RFC §9.5.1, RMK-978)
- fix(rooms): a key only the framework writes is dropped with a warning from every writer, not refused (RFC §5.1, §14.1, RMK-978)
- fix(rooms): every roomkit: key of a room's metadata is the framework's alone (RFC §5.1, §7.5 rule 7, RMK-978)
- docs(llms): rebuild llms-full.txt from docs/c7 (RMK-978 observers, awaited case)
- fix(hooks): an ASYNC hook on a SYNC trigger draws on the cascade's hook calls (RFC §9.5.1, §10.1 step 16, RMK-978)
- test(hooks): a later hook awaiting a task its pass's earlier hook left running waits until its timeout (RFC §9.5.1, RMK-978)
- docs(llms): rebuild llms-full.txt from docs/c7 (RMK-976, RMK-977, RMK-978)
- fix(events): send_event refuses a channel the kit does not register (RFC §10.5, RMK-977)
- fix(broadcast): a channel's metadata_updates are written on the room (RFC §10.1 step 15, RMK-976)
- fix(hooks): a task a locked hook left running calls as a new arrival once the hook is over (RFC §9.5.1, §13.5, RMK-978)
- fix(events): update_event keeps the author record fixed at the commit (RFC §10.1 step 12, RMK-978)
- fix(rooms): a room's private-state keys are the runtime's alone in its metadata (RFC §14.1, RMK-978)
- test(conformance): a scripted turn that calls the kit runs in process only
- test(conformance): sync the scenarios from roomkit-specs cd7d74f
- build(conformance): make all refuses a copy synced from an unpushed commit
- test(conformance): each scenario's own test refuses an unknown member
- test(conformance): the review's pass on the Python runner
- test(conformance): the shared conformance suite, run on the Python core
- fix(voice): output_latency_ms's cost and bound documented, a capped echo delay warned, inf refused (RMK-554)
- feat(voice): LocalAudioBackend(output_latency_ms=...), the speaker's PortAudio output latency (RMK-554)
- fix(turns): an answer's text is published only while a delegation reads its turn as a trace (RFC §6.4, §23.3, RMK-972)
- Begin 0.110.0.dev0 development
Full Changelog: v0.109.0...v0.110.0