Skip to content

Conversation

@umaannamalai
Copy link
Contributor

This PR adds new logic to capture token counts directly from LLM response objects in OpenAI, Bedrock, and Gemini.

umaannamalai and others added 11 commits October 7, 2025 10:57
* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* Linting

* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* [MegaLinter] Apply linters fixes

* Bump tests.

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* Linting

* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* [MegaLinter] Apply linters fixes

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking
* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking
* Add bedrock token counting.

* [MegaLinter] Apply linters fixes

* Add bedrock token counting.

* Add safeguards when grabbing token counts.

* Remove extra None defaults.

* Cleanup default None checks.

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Add tests file.

* Cleanup instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* [MegaLinter] Apply linters fixes

* Strands Mock Model (#1551)

* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking

* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Add tests file.

* Cleanup instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* Handle additional args in mock model.

* Add test to force exception and exercise _handle_tool_streaming_completion_error.

* Strands Mock Model (#1551)

* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking

* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Add tests file.

* Cleanup instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* Handle additional args in mock model.

* Strands Mock Model (#1551)

* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking

* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* [MegaLinter] Apply linters fixes

* Add test to force exception and exercise _handle_tool_streaming_completion_error.

* Implement strands context passing instrumentation.

* Address review feedback.

* [MegaLinter] Apply linters fixes

* Remove test_simple.py file.

---------

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* Linting

* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* [MegaLinter] Apply linters fixes

* Bump tests.

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* Linting

* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* [MegaLinter] Apply linters fixes

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
…ic-python-agent into feature-llm-token-counts
@github-actions
Copy link

github-actions bot commented Nov 17, 2025

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 7 0 0 0.95s
✅ MARKDOWN markdownlint 7 0 0 0 1.4s
✅ PYTHON ruff 960 0 0 0 0.98s
✅ PYTHON ruff-format 960 0 0 0 0.39s
✅ YAML prettier 15 0 0 0 1.54s
✅ YAML v8r 15 0 0 5.85s
✅ YAML yamllint 15 0 0 0.7s

See detailed reports in MegaLinter artifacts

MegaLinter is graciously provided by OX Security

@mergify mergify bot added the tests-failing Tests failing in CI. label Nov 17, 2025
@codecov-commenter
Copy link

codecov-commenter commented Nov 17, 2025

Codecov Report

❌ Patch coverage is 79.86301% with 147 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.74%. Comparing base (8d18c0a) to head (7452d97).
⚠️ Report is 32 commits behind head on main.

Files with missing lines Patch % Lines
newrelic/hooks/mlmodel_strands.py 68.45% 67 Missing and 33 partials ⚠️
newrelic/hooks/external_botocore.py 89.63% 11 Missing and 12 partials ⚠️
newrelic/hooks/mlmodel_gemini.py 70.49% 8 Missing and 10 partials ⚠️
newrelic/hooks/mlmodel_langchain.py 66.66% 0 Missing and 3 partials ⚠️
newrelic/hooks/mlmodel_openai.py 96.15% 0 Missing and 2 partials ⚠️
newrelic/hooks/coroutines_asyncio.py 95.45% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1583      +/-   ##
==========================================
- Coverage   81.82%   81.74%   -0.09%     
==========================================
  Files         207      209       +2     
  Lines       23953    24520     +567     
  Branches     3799     3883      +84     
==========================================
+ Hits        19599    20043     +444     
- Misses       3086     3160      +74     
- Partials     1268     1317      +49     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

TimPansino and others added 6 commits November 17, 2025 14:54
Bumps the github_actions group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `5.0.1` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `5.8.0` | `5.9.0` |
| [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `3.6.0` | `3.7.0` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `7.1.2` | `7.1.3` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.2` | `4.31.3` |



Updates `actions/checkout` from 5.0.0 to 5.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@08c6903...93cb6ef)

Updates `docker/metadata-action` from 5.8.0 to 5.9.0
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@c1e5197...318604b)

Updates `docker/setup-qemu-action` from 3.6.0 to 3.7.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@2910929...c7c5346)

Updates `astral-sh/setup-uv` from 7.1.2 to 7.1.3
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@8585678...5a7eac6)

Updates `github/codeql-action` from 4.31.2 to 4.31.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@0499de3...014f16e)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
- dependency-name: docker/metadata-action
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: docker/setup-qemu-action
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Runner instrumentation in asyncio

* Clean up asyncio instrumentation

* Add asyncio tests for loop_factory

* Modify uvicorn test for loop_factory

* Fix linter errors

* [MegaLinter] Apply linters fixes

* Apply suggestions from code review

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Correct code for Sanic instrumentation

* Correct handling of headers in ASGIWebTransaction

* Correct handling of headers in ASGIBrowserMiddleware

* Add regression test for ASGI headers issues

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add more formatting to custom event validatators

* Add streamed responses to converse mock server

* Add streaming fixtures for testing for converse

* Rename other bedrock test files

* Add tests for converse streaming

* Instrument converse streaming

* Move GeneratorProxy adjacent functions to mixin

* Fix checking of supported models

* Reorganize converse error tests

* Port new converse botocore tests to aiobotocore

* Instrument response streaming in aiobotocore converse

* Fix suggestions from code review

* Port in converse changes from strands PR

* Delete commented code

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
@mergify mergify bot added the merge-conflicts Merge conflicts detected. label Nov 18, 2025
TimPansino and others added 9 commits November 18, 2025 15:17
* Skip hypercorn tests for v0.18 (#1579)

* Skip hypercorn tests for v0.18

* Remove tornadomaster for 3.14

* Fix instability in CI caused by health check tests (#1584)

* Bump the github_actions group across 1 directory with 5 updates (#1582)

Bumps the github_actions group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `5.0.1` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `5.8.0` | `5.9.0` |
| [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `3.6.0` | `3.7.0` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `7.1.2` | `7.1.3` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.2` | `4.31.3` |



Updates `actions/checkout` from 5.0.0 to 5.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@08c6903...93cb6ef)

Updates `docker/metadata-action` from 5.8.0 to 5.9.0
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@c1e5197...318604b)

Updates `docker/setup-qemu-action` from 3.6.0 to 3.7.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@2910929...c7c5346)

Updates `astral-sh/setup-uv` from 7.1.2 to 7.1.3
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@8585678...5a7eac6)

Updates `github/codeql-action` from 4.31.2 to 4.31.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@0499de3...014f16e)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
- dependency-name: docker/metadata-action
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: docker/setup-qemu-action
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add new Redis methods

* Add RedisCluster methods to ignore list
Bumps the github_actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 5.0.1 to 6.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@93cb6ef...1af3b93)

Updates `astral-sh/setup-uv` from 7.1.3 to 7.1.4
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@5a7eac6...1e862df)

Updates `github/codeql-action` from 4.31.3 to 4.31.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@014f16e...fdbfb4d)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github_actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Bedrock support (#1580)

* Record the request message as the time the request started for LangChain.

* Tracking the original timestamp of the request for input messages that are
recorded as LlmChatCompletionMessage event types.

* First pass at preserving LlmChatCompletionMessage timestamp for the request
with Bedrock methods.

* the `kwargs` was being mapped directly to the OpenAI client
and having timestamp in there caused a problem. As a quick test,
only add the request timestamp after the wrapped function has been
invoked.

* Moved the request timestamp to its own variable instead of part of kwargs.

* OpenAI async request messages were not being assigned the correct timestamp.

* Trying to improve the passing of the request timestamp through for Bedrock.

* Passing too many parameters.

* Set a default role on input/output messages within LangChain.

* [MegaLinter] Apply linters fixes

* Fix request_timestamp for LlmChatCompletionSummary table

* Fix request_timestamp for LlmChatCompletionSummary table

* [MegaLinter] Apply linters fixes

* Bedrock Converse Streaming Support (#1565)

* Add more formatting to custom event validatators

* Add streamed responses to converse mock server

* Add streaming fixtures for testing for converse

* Rename other bedrock test files

* Add tests for converse streaming

* Instrument converse streaming

* Move GeneratorProxy adjacent functions to mixin

* Fix checking of supported models

* Reorganize converse error tests

* Port new converse botocore tests to aiobotocore

* Instrument response streaming in aiobotocore converse

* Fix suggestions from code review

* Port in converse changes from strands PR

* Delete commented code

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Bedrock Converse Streaming Support (#1565)

* Add more formatting to custom event validatators

* Add streamed responses to converse mock server

* Add streaming fixtures for testing for converse

* Rename other bedrock test files

* Add tests for converse streaming

* Instrument converse streaming

* Move GeneratorProxy adjacent functions to mixin

* Fix checking of supported models

* Reorganize converse error tests

* Port new converse botocore tests to aiobotocore

* Instrument response streaming in aiobotocore converse

* Fix suggestions from code review

* Port in converse changes from strands PR

* Delete commented code

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* [MegaLinter] Apply linters fixes

* request_timestamp is now passed across different method

* Fixed gemini model kwargs issue

* [MegaLinter] Apply linters fixes

* Update tests to validate presence of timestamp/ role and fix bugs in instrumentation.

* Update aiobotocore instrumentation to receive request timestamp.

---------

Co-authored-by: Josh Bonczkowski <jbonczkowski@newrelic.com>
Co-authored-by: sgoel-nr <236423107+sgoel-nr@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Bumps the github_actions group with 4 updates: [actions/setup-python](https://github.com/actions/setup-python), [docker/metadata-action](https://github.com/docker/metadata-action), [oxsecurity/megalinter](https://github.com/oxsecurity/megalinter) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/setup-python` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@e797f83...83679a8)

Updates `docker/metadata-action` from 5.9.0 to 5.10.0
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@318604b...c299e40)

Updates `oxsecurity/megalinter` from 9.1.0 to 9.2.0
- [Release notes](https://github.com/oxsecurity/megalinter/releases)
- [Changelog](https://github.com/oxsecurity/megalinter/blob/main/CHANGELOG.md)
- [Commits](oxsecurity/megalinter@62c799d...55a59b2)

Updates `github/codeql-action` from 4.31.5 to 4.31.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@fdbfb4d...fe4161a)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: docker/metadata-action
  dependency-version: 5.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: oxsecurity/megalinter
  dependency-version: 9.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github_actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Rename strands instrument functions

* Add instrumentation for strands multiagent

* Reorganize strands tests

* Strands multiagent tests

* Remove timestamp from test expected events.

---------

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking
* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Add tests file.

* Cleanup instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* [MegaLinter] Apply linters fixes

* Strands Mock Model (#1551)

* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking

* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Add tests file.

* Cleanup instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* Handle additional args in mock model.

* Add test to force exception and exercise _handle_tool_streaming_completion_error.

* Strands Mock Model (#1551)

* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking

* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Add tests file.

* Cleanup instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* Handle additional args in mock model.

* Strands Mock Model (#1551)

* Add strands to tox.ini

* Add mock models for strands testing

* Add simple test file to validate strands mocking

* Add baseline instrumentation.

* Add tool and agent instrumentation.

* Cleanup.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>

* [MegaLinter] Apply linters fixes

* Add test to force exception and exercise _handle_tool_streaming_completion_error.

* Implement strands context passing instrumentation.

* Address review feedback.

* [MegaLinter] Apply linters fixes

* Remove test_simple.py file.

---------

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
TimPansino and others added 21 commits December 5, 2025 14:32
* Rename strands instrument functions

* Add instrumentation for strands multiagent

* Reorganize strands tests

* Strands multiagent tests

* Remove timestamp from test expected events.

---------

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
[Draft] Fixed tool type bug  for strands
* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* Linting

* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* [MegaLinter] Apply linters fixes

* Bump tests.

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* Linting

* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* [MegaLinter] Apply linters fixes

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* Linting

* Add response token count logic to Gemini instrumentation.

* Update token counting util functions.

* [MegaLinter] Apply linters fixes

* Bump tests.

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* Linting

* Add OpenAI token counts.

* Add token counts to langchain + openai tests.

* Remove unused expected events.

* [MegaLinter] Apply linters fixes

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>
* Add bedrock token counting.

* [MegaLinter] Apply linters fixes

* Add bedrock token counting.

* Add safeguards when grabbing token counts.

* Remove extra None defaults.

* Cleanup default None checks.

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…ic-python-agent into feature-llm-token-counts
@mergify mergify bot removed the merge-conflicts Merge conflicts detected. label Dec 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests-failing Tests failing in CI.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants