progress-observability 1.4.3__tar.gz → 1.4.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. {progress_observability-1.4.3 → progress_observability-1.4.6}/PKG-INFO +3 -5
  2. {progress_observability-1.4.3 → progress_observability-1.4.6}/notices.txt +28 -62
  3. {progress_observability-1.4.3 → progress_observability-1.4.6}/pyproject.toml +4 -9
  4. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/enums.py +5 -1
  5. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/genai_message_processor.py +1 -1
  6. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/helpers.py +1 -4
  7. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/model_fix_processor.py +184 -57
  8. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/sdk.py +18 -2
  9. progress_observability-1.4.6/uv.lock +2149 -0
  10. progress_observability-1.4.3/uv.lock +0 -2171
  11. {progress_observability-1.4.3 → progress_observability-1.4.6}/.gitignore +0 -0
  12. {progress_observability-1.4.3 → progress_observability-1.4.6}/.python-version +0 -0
  13. {progress_observability-1.4.3 → progress_observability-1.4.6}/LICENSE +0 -0
  14. {progress_observability-1.4.3 → progress_observability-1.4.6}/README.md +0 -0
  15. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/__init__.py +0 -0
  16. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/constants.py +0 -0
  17. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/decorators.py +0 -0
  18. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/exceptions.py +0 -0
  19. {progress_observability-1.4.3 → progress_observability-1.4.6}/src/progress/observability/tags.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: progress-observability
3
- Version: 1.4.3
3
+ Version: 1.4.6
4
4
  Summary: Progress Observability instrumentation for Python agents
5
5
  Project-URL: Homepage, https://github.com/telerik/agentclarity
6
6
  Project-URL: Repository, https://github.com/telerik/agentclarity
@@ -10,10 +10,8 @@ License: MIT
10
10
  License-File: LICENSE
11
11
  License-File: notices.txt
12
12
  Requires-Python: <4.0.0,>=3.10.0
13
- Requires-Dist: traceloop-sdk==0.59.2
14
- Provides-Extra: dev
15
- Requires-Dist: autopep8>=2.3.1; extra == 'dev'
16
- Requires-Dist: flake8>=7.1.0; extra == 'dev'
13
+ Requires-Dist: httpx>=0.23.0
14
+ Requires-Dist: traceloop-sdk==0.62.3
17
15
  Description-Content-Type: text/markdown
18
16
 
19
17
  # Progress Observability Instrumentation (Python)
@@ -1,4 +1,5 @@
1
- Progress Observability Platform for Python Instrumentation 1.4.3 Updated May 2026
1
+
2
+ Progress Observability Platform for Python Instrumentation 1.4.6 Updated August 2026
2
3
 
3
4
  ----------------------------------------------------------------------------------------------------------------------------
4
5
  NOTICES REPORT
@@ -24,19 +25,20 @@
24
25
 
25
26
  ----------------------------------------------------------------------------------------------------------------------------
26
27
 
27
- GENERATIVE ARTIFICIAL INTELLIGENCE INTEGRATION
28
- If the Software documentation specifies integration with some form of generative artificial intelligence (AI), then the Software
29
- will include a configuration to connect to AI. You acknowledge that a separate license or subscription access to AI governed by
30
- the terms and conditions of a license agreement from AI licensor will be required for use and access of AI capabilities
31
- integrated with the Software. You will be responsible to comply with the terms of such license agreement for a valid use of AI.
32
- You acknowledge and accept that Progress is not a party to the license agreement between You and AI licensor for AI use,
33
- and as a result Progress does not have any control over AI and its availability, and Progress disclaims any and all liabilities for
34
- any output, error, damages, loss, etc., or any other result of Your use of AI integrated with the Software.
28
+ GENERATIVE ARTIFICIAL INTELLIGENCE INTEGRATION
29
+ If the Software documentation specifies integration with some form of generative artificial intelligence (AI), then the
30
+ Software will include a configuration to connect to AI. You acknowledge that a separate license or subscription access
31
+ to AI governed by the terms and conditions of a license agreement from AI licensor will be required for use and access of
32
+ AI capabilities integrated with the Software. You will be responsible to comply with the terms of such license agreement
33
+ for a valid use of AI. You acknowledge and accept that Progress is not a party to the license agreement between You
34
+ and AI licensor for AI use, and as a result Progress does not have any control over AI and its availability, and Progress
35
+ disclaims any and all liabilities for any output, error, damages, loss, etc., or any other result of Your use of AI
36
+ integrated with the Software.
35
37
 
36
38
  ----------------------------------------------------------------------------------------------------------------------------
37
39
 
38
40
  NOTICE FROM PROGRESS SOFTWARE CORPORATION: Additional notices may be included in the release notes or other
39
- documentation that accompanies updates received in connection with support of the Product.
41
+ documentation that accompanies updates received in connection with support of the Product.
40
42
 
41
43
  ----------------------------------------------------------------------------------------------------------------------------
42
44
 
@@ -58,35 +60,30 @@ Components:
58
60
  | -------------------------------------- | ------------------------------------- | ---------------------------------------- |
59
61
  | aiohappyeyeballs 2.6.1 | https://github.com/aio-libs/aiohappye | Python Software Foundation License 2.0 |
60
62
  | | yeballs | |
61
- | aiohttp 3.13.5 | http://aiohttp.readthedocs.io | Apache License 2.0 |
63
+ | aiohttp 3.14.3 | http://aiohttp.readthedocs.io | (MIT License AND Apache License 2.0) |
62
64
  | aio-libs/propcache 0.4.1 | https://github.com/aio-libs/propcache | Apache License 2.0 |
63
65
  | aiosignal 1.4.0 | https://aiosignal.readthedocs.io/ | Apache License 2.0 |
64
66
  | annotated-types 0.7.0 | https://github.com/annotated-types/an | MIT License |
65
67
  | | notated-types | |
66
68
  | async-timeout 5.0.1 | https://github.com/aio-libs/async_tim | Apache License 2.0 |
67
69
  | | eout/ | |
68
- | autopep8 2.3.2 | https://pypi.python.org/pypi/autopep8 | MIT License |
69
- | | / | |
70
70
  | colorama 0.4.6 | https://github.com/tartley/colorama | BSD 3-clause "New" or "Revised" License |
71
71
  | cuid 0.4 | http://github.com/necaris/cuid.py | Apache License 2.0 |
72
72
  | Deprecated 1.3.1 | https://github.com/tantale/deprecated | MIT License |
73
- | flake8 7.3.0 | https://gitlab.com/pycqa/flake8 | MIT License |
74
73
  | frozenlist 1.8.0 | https://github.com/aio-libs/frozenlis | Apache License 2.0 |
75
74
  | | t | |
76
75
  | googleapis-common-protos 1.72.0 | https://github.com/googleapis/python- | Apache License 2.0 |
77
76
  | | api-common-protos | |
78
77
  | grpc 1.76.0 | https://github.com/grpc/grpc | Apache License 2.0 |
79
- | importlib_metadata 8.7.1 | https://importlib-metadata.readthedoc | Apache License 2.0 |
80
- | | s.io | |
78
+ | idna 3.15 | https://github.com/kjd/idna | BSD 3-clause "New" or "Revised" License |
81
79
  | inflection 0.5.1 | http://www.nitrojs.org | MIT License |
82
80
  | jinjapython 3.1.6 | https://jinja.palletsprojects.com | BSD 3-clause "New" or "Revised" License |
83
81
  | MarkupSafe 3.0.3 | https://www.palletsprojects.com/p/mar | BSD 3-clause "New" or "Revised" License |
84
82
  | | kupsafe/ | |
85
- | mccabe 0.7.0 | http://pypi.python.org/pypi/mccabe | Expat License |
86
83
  | multidict 6.7.0 | https://github.com/aio-libs/multidict | Apache License 2.0 |
87
84
  | | / | |
88
85
  | opentelemetry-exporter-otlp-proto-comm | | Apache License 2.0 |
89
- | on 1.39.1 | | |
86
+ | on 1.44.0 | | |
90
87
  | opentelemetry-instrumentation-anthropi | https://github.com/traceloop/openllme | Apache License 2.0 |
91
88
  | c 0.59.2 | try/tree/main/packages/opentelemetr | |
92
89
  | | y-instrumentation-anthropic | |
@@ -105,6 +102,8 @@ Components:
105
102
  | opentelemetry-instrumentation-langchai | https://github.com/traceloop/openllme | Apache License 2.0 |
106
103
  | n 0.59.2 | try/tree/main/packages/opentelemetr | |
107
104
  | | y-instrumentation-langchain | |
105
+ | opentelemetry-instrumentation-litellm | | Apache License 2.0 |
106
+ | 0.1.0 | | |
108
107
  | opentelemetry-instrumentation-llamaind | https://github.com/traceloop/openllme | Apache License 2.0 |
109
108
  | ex 0.59.2 | try/tree/main/packages/opentelemetr | |
110
109
  | | y-instrumentation-llamaindex | |
@@ -128,7 +127,7 @@ Components:
128
127
  | e 0.59.2 | try/tree/main/packages/opentelemetr | |
129
128
  | | y-instrumentation-replicate | |
130
129
  | opentelemetry-instrumentation-threadin | | Apache License 2.0 |
131
- | g 0.60b1 | | |
130
+ | g 0.65b0 | | |
132
131
  | opentelemetry-instrumentation-transfor | https://github.com/traceloop/openllme | Apache License 2.0 |
133
132
  | mers 0.59.2 | try/tree/main/packages/opentelemetr | |
134
133
  | | y-instrumentation-transformers | |
@@ -143,26 +142,24 @@ Components:
143
142
  | opentelemetry-instrumentation-weaviate | https://github.com/traceloop/openllme | Apache License 2.0 |
144
143
  | 0.59.2 | try/tree/main/packages/opentelemetr | |
145
144
  | | y-instrumentation-weaviate | |
146
- | opentelemetry packages 0.60b1 | https://github.com/open-telemetry/ope | Apache License 2.0 |
145
+ | opentelemetry packages 0.65b0 | https://github.com/open-telemetry/ope | Apache License 2.0 |
147
146
  | | ntelemetry-python | |
148
- | opentelemetry-python 0.60b1 | https://opentelemetry.io | Apache License 2.0 |
149
- | opentelemetry-python 1.39.1 | https://opentelemetry.io | Apache License 2.0 |
150
- | opentelemetry-sdk 1.39.1 | https://github.com/open-telemetry/ope | Apache License 2.0 |
147
+ | opentelemetry-python 0.65b0 | https://opentelemetry.io | Apache License 2.0 |
148
+ | opentelemetry-python 1.44.0 | https://opentelemetry.io | Apache License 2.0 |
149
+ | opentelemetry-sdk 1.44.0 | https://github.com/open-telemetry/ope | Apache License 2.0 |
151
150
  | | ntelemetry-python/tree/master/opent | |
152
151
  | | elemetry-sdk | |
153
152
  | opentelemetry-semantic-conventions | https://github.com/open-telemetry/ope | Apache License 2.0 |
154
- | 0.60b1 | ntelemetry-python/tree/main/opentel | |
153
+ | 0.65b0 | ntelemetry-python/tree/main/opentel | |
155
154
  | | emetry-semantic-conventions | |
156
155
  | opentelemetry-semantic-conventions-ai | | Apache License 2.0 |
157
156
  | 0.5.1 | | |
158
157
  | Packaging 25.0 | https://github.com/pypa/packaging | Apache License 2.0 |
158
+ | progress-observability 1.4.3 | | MIT License |
159
159
  | psf-requests 2.33.1 | http://docs.python-requests.org | Apache License 2.0 |
160
- | pycodestyle 2.14.0 | https://pypi.python.org/pypi/pycodest | MIT License |
161
- | | yle | |
162
160
  | pydantic 2.12.5 | https://pydantic-docs.helpmanual.io/ | MIT License |
163
161
  | pydantic-core 2.41.5 | https://github.com/pydantic/pydantic- | MIT License |
164
162
  | | core | |
165
- | Pyflakes 3.4.0 | https://github.com/pyflakes/pyflakes | MIT License |
166
163
  | python3-charset-normalizer 3.4.4 | https://github.com/ousret/charset_nor | MIT License |
167
164
  | | malizer | |
168
165
  | python-attrs 25.4.0 | https://attrs.readthedocs.org/ | MIT License |
@@ -171,20 +168,18 @@ Components:
171
168
  | python-protobuf 6.33.5 | https://code.google.com/p/protobuf/ | BSD 3-clause "New" or "Revised" License |
172
169
  | python-typing-extensions 4.15.0 | | Python Software Foundation License 2.0 |
173
170
  | tenacity 9.1.2 | https://github.com/jd/tenacity | Apache License 2.0 |
174
- | tomli 2.4.0 | https://github.com/hukkin/tomli | MIT License |
175
171
  | traceloop/openllmetry 0.50.1 | https://github.com/traceloop/openllme | Apache License 2.0 |
176
172
  | | try/tree/main/packages/opentelemetr | |
177
173
  | | y-instrumentation-mistralai | |
178
174
  | traceloop/openllmetry 0.59.2 | https://github.com/traceloop/openllme | Apache License 2.0 |
179
175
  | | try/tree/main/packages/opentelemetr | |
180
176
  | | y-instrumentation-mistralai | |
181
- | traceloop-sdk 0.59.2 | https://github.com/traceloop/openllme | Apache License 2.0 |
177
+ | traceloop-sdk 0.62.1 | https://github.com/traceloop/openllme | Apache License 2.0 |
182
178
  | | try | |
183
179
  | typing-inspection 0.4.2 | | MIT License |
184
180
  | wrapt 1.17.3 | https://github.com/GrahamDumpleton/wr | BSD 3-clause "New" or "Revised" License |
185
181
  | | apt | |
186
182
  | yarl 1.22.0 | https://github.com/aio-libs/yarl/ | Apache License 2.0 |
187
- | zipp 3.23.0 | https://github.com/jaraco/zipp | MIT License |
188
183
  | -------------------------------------- | ------------------------------------- | ---------------------------------------- |
189
184
 
190
185
  -------------------------------------------------------------------------------------------------------------------------
@@ -192,7 +187,7 @@ License Data and Text:
192
187
  -------------------------------------------------------------------------------------------------------------------------
193
188
 
194
189
  Apache License 2.0
195
- (aio-libs/propcache 0.4.1, aiohttp 3.13.5, aiosignal 1.4.0, async-timeout 5.0.1, cuid 0.4, frozenlist 1.8.0, googleapis-common-protos 1.72.0, grpc 1.76.0, importlib_metadata 8.7.1, multidict 6.7.0, opentelemetry packages 0.60b1, opentelemetry-exporter-otlp-proto-common 1.39.1, opentelemetry-instrumentation-anthropic 0.59.2, opentelemetry-instrumentation-bedrock 0.59.2, opentelemetry-instrumentation-chromadb 0.59.2, opentelemetry-instrumentation-cohere 0.59.2, opentelemetry-instrumentation-haystack 0.59.2, opentelemetry-instrumentation-langchain 0.59.2, opentelemetry-instrumentation-llamaindex 0.59.2, opentelemetry-instrumentation-mcp 0.59.2, opentelemetry-instrumentation-milvus 0.59.2, opentelemetry-instrumentation-openai 0.59.2, opentelemetry-instrumentation-openai-agents 0.59.2, opentelemetry-instrumentation-pinecone 0.59.2, opentelemetry-instrumentation-qdrant 0.59.2, opentelemetry-instrumentation-replicate 0.59.2, opentelemetry-instrumentation-threading 0.60b1, opentelemetry-instrumentation-transformers 0.59.2, opentelemetry-instrumentation-vertexai 0.59.2, opentelemetry-instrumentation-voyageai 0.59.2, opentelemetry-instrumentation-watsonx 0.59.2, opentelemetry-instrumentation-weaviate 0.59.2, opentelemetry-python 0.60b1, opentelemetry-python 1.39.1, opentelemetry-sdk 1.39.1, opentelemetry-semantic-conventions 0.60b1, opentelemetry-semantic-conventions-ai 0.5.1, Packaging 25.0, psf-requests 2.33.1, tenacity 9.1.2, traceloop-sdk 0.59.2, traceloop/openllmetry 0.50.1, traceloop/openllmetry 0.59.2, yarl 1.22.0)
190
+ (aio-libs/propcache 0.4.1, aiohttp 3.14.3, aiosignal 1.4.0, async-timeout 5.0.1, cuid 0.4, frozenlist 1.8.0, googleapis-common-protos 1.72.0, grpc 1.76.0, multidict 6.7.0, opentelemetry packages 0.65b0, opentelemetry-exporter-otlp-proto-common 1.44.0, opentelemetry-instrumentation-anthropic 0.59.2, opentelemetry-instrumentation-bedrock 0.59.2, opentelemetry-instrumentation-chromadb 0.59.2, opentelemetry-instrumentation-cohere 0.59.2, opentelemetry-instrumentation-haystack 0.59.2, opentelemetry-instrumentation-langchain 0.59.2, opentelemetry-instrumentation-litellm 0.1.0, opentelemetry-instrumentation-llamaindex 0.59.2, opentelemetry-instrumentation-mcp 0.59.2, opentelemetry-instrumentation-milvus 0.59.2, opentelemetry-instrumentation-openai 0.59.2, opentelemetry-instrumentation-openai-agents 0.59.2, opentelemetry-instrumentation-pinecone 0.59.2, opentelemetry-instrumentation-qdrant 0.59.2, opentelemetry-instrumentation-replicate 0.59.2, opentelemetry-instrumentation-threading 0.65b0, opentelemetry-instrumentation-transformers 0.59.2, opentelemetry-instrumentation-vertexai 0.59.2, opentelemetry-instrumentation-voyageai 0.59.2, opentelemetry-instrumentation-watsonx 0.59.2, opentelemetry-instrumentation-weaviate 0.59.2, opentelemetry-python 0.65b0, opentelemetry-python 1.44.0, opentelemetry-sdk 1.44.0, opentelemetry-semantic-conventions 0.65b0, opentelemetry-semantic-conventions-ai 0.5.1, Packaging 25.0, psf-requests 2.33.1, tenacity 9.1.2, traceloop-sdk 0.62.1, traceloop/openllmetry 0.50.1, traceloop/openllmetry 0.59.2, yarl 1.22.0)
196
191
 
197
192
  Apache License
198
193
  Version 2.0, January 2004
@@ -378,7 +373,7 @@ third-party archives.
378
373
  ---
379
374
 
380
375
  BSD 3-clause "New" or "Revised" License
381
- (colorama 0.4.6, jinjapython 3.1.6, MarkupSafe 3.0.3, python-protobuf 6.33.5, wrapt 1.17.3)
376
+ (colorama 0.4.6, idna 3.15, jinjapython 3.1.6, MarkupSafe 3.0.3, python-protobuf 6.33.5, wrapt 1.17.3)
382
377
 
383
378
  [Copyright notice for each component version subject to this license can be located via the origin url provided in the Component Summary above]
384
379
 
@@ -409,37 +404,8 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
409
404
 
410
405
  ---
411
406
 
412
- Expat License
413
- (mccabe 0.7.0)
414
-
415
- Expat License
416
- =============
417
-
418
- Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
419
-                                and Clark Cooper
420
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
421
-
422
- Permission is hereby granted, free of charge, to any person obtaining a copy of
423
- this software and associated documentation files (the "Software"), to deal in the
424
- Software without restriction, including without limitation the rights to use,
425
- copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
426
- Software, and to permit persons to whom the Software is furnished to do so,
427
- subject to the following conditions:
428
-
429
- The above copyright notice and this permission notice shall be included in all
430
- copies or substantial portions of the Software.
431
-
432
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
433
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
434
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
435
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
436
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
437
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
438
-
439
- ---
440
-
441
407
  MIT License
442
- (annotated-types 0.7.0, autopep8 2.3.2, Deprecated 1.3.1, flake8 7.3.0, inflection 0.5.1, pycodestyle 2.14.0, pydantic 2.12.5, pydantic-core 2.41.5, Pyflakes 3.4.0, python-attrs 25.4.0, python3-charset-normalizer 3.4.4, tomli 2.4.0, typing-inspection 0.4.2, zipp 3.23.0)
408
+ (aiohttp 3.14.3, annotated-types 0.7.0, Deprecated 1.3.1, inflection 0.5.1, progress-observability 1.4.3, pydantic 2.12.5, pydantic-core 2.41.5, python-attrs 25.4.0, python3-charset-normalizer 3.4.4, typing-inspection 0.4.2)
443
409
 
444
410
  The MIT License
445
411
  ===============
@@ -1,17 +1,18 @@
1
1
  [build-system]
2
- requires = ["hatchling"]
2
+ requires = ["hatchling==1.30.1"]
3
3
  build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "progress-observability"
7
- version = "1.4.3"
7
+ version = "1.4.6"
8
8
  description = "Progress Observability instrumentation for Python agents"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
11
11
  license-files = ["LICENSE", "notices.txt"]
12
12
  requires-python = ">=3.10.0,<4.0.0"
13
13
  dependencies = [
14
- "traceloop-sdk==0.59.2",
14
+ "traceloop-sdk==0.62.3",
15
+ "httpx>=0.23.0",
15
16
  ]
16
17
  [project.urls]
17
18
  Homepage = "https://github.com/telerik/agentclarity"
@@ -19,12 +20,6 @@ Repository = "https://github.com/telerik/agentclarity"
19
20
  Documentation = "https://docs.telerik.com/agentclarity"
20
21
  "Bug Reports" = "https://github.com/telerik/agentclarity/issues"
21
22
 
22
- [project.optional-dependencies]
23
- dev = [
24
- "autopep8>=2.3.1",
25
- "flake8>=7.1.0",
26
- ]
27
-
28
23
  [tool.uv]
29
24
  managed = true
30
25
 
@@ -13,6 +13,9 @@ class ObservabilityInstruments(Enum):
13
13
  # LLM Providers
14
14
  OPENAI = Instruments.OPENAI
15
15
  ANTHROPIC = Instruments.ANTHROPIC
16
+ AGNO = Instruments.AGNO
17
+ VOYAGEAI = Instruments.VOYAGEAI
18
+ WRITER = Instruments.WRITER
16
19
  COHERE = Instruments.COHERE
17
20
  BEDROCK = Instruments.BEDROCK
18
21
  VERTEXAI = Instruments.VERTEXAI
@@ -30,7 +33,8 @@ class ObservabilityInstruments(Enum):
30
33
  # Agent and Chain Frameworks
31
34
  LANGCHAIN = Instruments.LANGCHAIN
32
35
  LLAMA_INDEX = Instruments.LLAMA_INDEX
33
- CREW = Instruments.CREW
36
+ CREW = Instruments.CREW # may be deprecated in favor of CREWAI, waiting for removal from Traceloop
37
+ CREWAI = Instruments.CREWAI
34
38
  HAYSTACK = Instruments.HAYSTACK
35
39
  OPENAI_AGENTS = Instruments.OPENAI_AGENTS
36
40
  MCP = Instruments.MCP
@@ -71,7 +71,7 @@ class GenAIMessageProcessor:
71
71
  return
72
72
 
73
73
  # Get writable attributes
74
- writable_attrs = get_writable_attributes(span, debug=self.debug_enabled)
74
+ writable_attrs = get_writable_attributes(span)
75
75
  if not writable_attrs:
76
76
  return
77
77
 
@@ -185,22 +185,19 @@ def safe_extract_nested(data: Any, *keys: str, default: Any = None, debug: bool
185
185
  return result
186
186
 
187
187
 
188
- def get_writable_attributes(readable_span, debug: bool = False) -> Optional[Dict[str, Any]]:
188
+ def get_writable_attributes(readable_span) -> Optional[Dict[str, Any]]:
189
189
  """Return writable attributes dict from span or None.
190
190
 
191
191
  Prefers `_attributes` over public `attributes` (may be read-only).
192
192
 
193
193
  Args:
194
194
  readable_span: Span to access.
195
- debug: If True, emit debug logs.
196
195
 
197
196
  Returns:
198
197
  Writable attributes dict or None.
199
198
  """
200
199
  if hasattr(readable_span, '_attributes'):
201
200
  readable_span._attributes = readable_span._attributes or {}
202
- if debug:
203
- logger.debug(f"Got writable attributes via _attributes, type={type(readable_span._attributes)}")
204
201
  return readable_span._attributes
205
202
  elif hasattr(readable_span, 'attributes') and isinstance(readable_span.attributes, dict):
206
203
  logger.warning("Using attributes property directly (may not persist changes)")