llama-stack-mirror/client-sdks/stainless
Roy Belio c574db5f1d
fix(inference): AttributeError in streaming response cleanup (#4236)
This PR fixes issue #3185 
The code calls `await event_gen.aclose()` but OpenAI's `AsyncStream`
doesn't have an `aclose()` method - it has `close()` (which is async).
when clients cancel streaming requests, the server tries to clean up
with:

```python
await event_gen.aclose()  #  AsyncStream doesn't have aclose()!
```

But `AsyncStream` has never had a public `aclose()` method. The error
message literally tells us:

```
AttributeError: 'AsyncStream' object has no attribute 'aclose'. Did you mean: 'close'?
                                                                            ^^^^^^^^
```

## Verification
* Reproduction script
[`reproduce_issue_3185.sh`](https://gist.github.com/r-bit-rry/dea4f8fbb81c446f5db50ea7abd6379b)
can be used to verify the fix.
*   Manual checks, validation against original OpenAI library code
2025-12-14 07:51:09 -05:00
..
config.yml feat(openapi): generate stainless config "more" programmatically (#4164) 2025-11-17 12:48:03 -08:00
openapi.yml fix(inference): AttributeError in streaming response cleanup (#4236) 2025-12-14 07:51:09 -05:00
README.md feat(openapi): generate stainless config "more" programmatically (#4164) 2025-11-17 12:48:03 -08:00

These are the source-of-truth configuration files used to generate the Stainless client SDKs via Stainless.

  • openapi.yml: this is the OpenAPI specification for the Llama Stack API.
  • config.yml: this is the Stainless configuration which instructs Stainless how to generate the client SDKs.

A small side note: notice the .yml suffixes since Stainless uses that suffix typically for its configuration files.

These files go hand-in-hand. Both openapi.yml and config.yml are generated by scripts/run_openapi_generator.sh:

  • openapi.yml comes from the FastAPI-based generator.
  • config.yml is rendered from scripts/openapi_generator/stainless_config/config_data.py so the Stainless config stays in lock-step with the spec.