mseep-agentops 0.4.18__py3-none-any.whl → 0.4.23__py3-none-any.whl
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.
- agentops/__init__.py +0 -0
- agentops/client/api/base.py +28 -30
- agentops/client/api/versions/v3.py +29 -25
- agentops/client/api/versions/v4.py +87 -46
- agentops/client/client.py +98 -29
- agentops/client/http/README.md +87 -0
- agentops/client/http/http_client.py +126 -172
- agentops/config.py +8 -2
- agentops/instrumentation/OpenTelemetry.md +133 -0
- agentops/instrumentation/README.md +167 -0
- agentops/instrumentation/__init__.py +13 -1
- agentops/instrumentation/agentic/ag2/__init__.py +18 -0
- agentops/instrumentation/agentic/ag2/instrumentor.py +922 -0
- agentops/instrumentation/agentic/agno/__init__.py +19 -0
- agentops/instrumentation/agentic/agno/attributes/__init__.py +20 -0
- agentops/instrumentation/agentic/agno/attributes/agent.py +250 -0
- agentops/instrumentation/agentic/agno/attributes/metrics.py +214 -0
- agentops/instrumentation/agentic/agno/attributes/storage.py +158 -0
- agentops/instrumentation/agentic/agno/attributes/team.py +195 -0
- agentops/instrumentation/agentic/agno/attributes/tool.py +210 -0
- agentops/instrumentation/agentic/agno/attributes/workflow.py +254 -0
- agentops/instrumentation/agentic/agno/instrumentor.py +1313 -0
- agentops/instrumentation/agentic/crewai/LICENSE +201 -0
- agentops/instrumentation/agentic/crewai/NOTICE.md +10 -0
- agentops/instrumentation/agentic/crewai/__init__.py +6 -0
- agentops/instrumentation/agentic/crewai/crewai_span_attributes.py +335 -0
- agentops/instrumentation/agentic/crewai/instrumentation.py +535 -0
- agentops/instrumentation/agentic/crewai/version.py +1 -0
- agentops/instrumentation/agentic/google_adk/__init__.py +19 -0
- agentops/instrumentation/agentic/google_adk/instrumentor.py +68 -0
- agentops/instrumentation/agentic/google_adk/patch.py +767 -0
- agentops/instrumentation/agentic/haystack/__init__.py +1 -0
- agentops/instrumentation/agentic/haystack/instrumentor.py +186 -0
- agentops/instrumentation/agentic/langgraph/__init__.py +3 -0
- agentops/instrumentation/agentic/langgraph/attributes.py +54 -0
- agentops/instrumentation/agentic/langgraph/instrumentation.py +598 -0
- agentops/instrumentation/agentic/langgraph/version.py +1 -0
- agentops/instrumentation/agentic/openai_agents/README.md +156 -0
- agentops/instrumentation/agentic/openai_agents/SPANS.md +145 -0
- agentops/instrumentation/agentic/openai_agents/TRACING_API.md +144 -0
- agentops/instrumentation/agentic/openai_agents/__init__.py +30 -0
- agentops/instrumentation/agentic/openai_agents/attributes/common.py +549 -0
- agentops/instrumentation/agentic/openai_agents/attributes/completion.py +172 -0
- agentops/instrumentation/agentic/openai_agents/attributes/model.py +58 -0
- agentops/instrumentation/agentic/openai_agents/attributes/tokens.py +275 -0
- agentops/instrumentation/agentic/openai_agents/exporter.py +469 -0
- agentops/instrumentation/agentic/openai_agents/instrumentor.py +107 -0
- agentops/instrumentation/agentic/openai_agents/processor.py +58 -0
- agentops/instrumentation/agentic/smolagents/README.md +88 -0
- agentops/instrumentation/agentic/smolagents/__init__.py +12 -0
- agentops/instrumentation/agentic/smolagents/attributes/agent.py +354 -0
- agentops/instrumentation/agentic/smolagents/attributes/model.py +205 -0
- agentops/instrumentation/agentic/smolagents/instrumentor.py +286 -0
- agentops/instrumentation/agentic/smolagents/stream_wrapper.py +258 -0
- agentops/instrumentation/agentic/xpander/__init__.py +15 -0
- agentops/instrumentation/agentic/xpander/context.py +112 -0
- agentops/instrumentation/agentic/xpander/instrumentor.py +877 -0
- agentops/instrumentation/agentic/xpander/trace_probe.py +86 -0
- agentops/instrumentation/agentic/xpander/version.py +3 -0
- agentops/instrumentation/common/README.md +65 -0
- agentops/instrumentation/common/attributes.py +1 -2
- agentops/instrumentation/providers/anthropic/__init__.py +24 -0
- agentops/instrumentation/providers/anthropic/attributes/__init__.py +23 -0
- agentops/instrumentation/providers/anthropic/attributes/common.py +64 -0
- agentops/instrumentation/providers/anthropic/attributes/message.py +541 -0
- agentops/instrumentation/providers/anthropic/attributes/tools.py +231 -0
- agentops/instrumentation/providers/anthropic/event_handler_wrapper.py +90 -0
- agentops/instrumentation/providers/anthropic/instrumentor.py +146 -0
- agentops/instrumentation/providers/anthropic/stream_wrapper.py +436 -0
- agentops/instrumentation/providers/google_genai/README.md +33 -0
- agentops/instrumentation/providers/google_genai/__init__.py +24 -0
- agentops/instrumentation/providers/google_genai/attributes/__init__.py +25 -0
- agentops/instrumentation/providers/google_genai/attributes/chat.py +125 -0
- agentops/instrumentation/providers/google_genai/attributes/common.py +88 -0
- agentops/instrumentation/providers/google_genai/attributes/model.py +284 -0
- agentops/instrumentation/providers/google_genai/instrumentor.py +170 -0
- agentops/instrumentation/providers/google_genai/stream_wrapper.py +238 -0
- agentops/instrumentation/providers/ibm_watsonx_ai/__init__.py +28 -0
- agentops/instrumentation/providers/ibm_watsonx_ai/attributes/__init__.py +27 -0
- agentops/instrumentation/providers/ibm_watsonx_ai/attributes/attributes.py +277 -0
- agentops/instrumentation/providers/ibm_watsonx_ai/attributes/common.py +104 -0
- agentops/instrumentation/providers/ibm_watsonx_ai/instrumentor.py +162 -0
- agentops/instrumentation/providers/ibm_watsonx_ai/stream_wrapper.py +302 -0
- agentops/instrumentation/providers/mem0/__init__.py +45 -0
- agentops/instrumentation/providers/mem0/common.py +377 -0
- agentops/instrumentation/providers/mem0/instrumentor.py +270 -0
- agentops/instrumentation/providers/mem0/memory.py +430 -0
- agentops/instrumentation/providers/openai/__init__.py +21 -0
- agentops/instrumentation/providers/openai/attributes/__init__.py +7 -0
- agentops/instrumentation/providers/openai/attributes/common.py +55 -0
- agentops/instrumentation/providers/openai/attributes/response.py +607 -0
- agentops/instrumentation/providers/openai/config.py +36 -0
- agentops/instrumentation/providers/openai/instrumentor.py +312 -0
- agentops/instrumentation/providers/openai/stream_wrapper.py +941 -0
- agentops/instrumentation/providers/openai/utils.py +44 -0
- agentops/instrumentation/providers/openai/v0.py +176 -0
- agentops/instrumentation/providers/openai/v0_wrappers.py +483 -0
- agentops/instrumentation/providers/openai/wrappers/__init__.py +30 -0
- agentops/instrumentation/providers/openai/wrappers/assistant.py +277 -0
- agentops/instrumentation/providers/openai/wrappers/chat.py +259 -0
- agentops/instrumentation/providers/openai/wrappers/completion.py +109 -0
- agentops/instrumentation/providers/openai/wrappers/embeddings.py +94 -0
- agentops/instrumentation/providers/openai/wrappers/image_gen.py +75 -0
- agentops/instrumentation/providers/openai/wrappers/responses.py +191 -0
- agentops/instrumentation/providers/openai/wrappers/shared.py +81 -0
- agentops/instrumentation/utilities/concurrent_futures/__init__.py +10 -0
- agentops/instrumentation/utilities/concurrent_futures/instrumentation.py +206 -0
- agentops/integration/callbacks/dspy/__init__.py +11 -0
- agentops/integration/callbacks/dspy/callback.py +471 -0
- agentops/integration/callbacks/langchain/README.md +59 -0
- agentops/integration/callbacks/langchain/__init__.py +15 -0
- agentops/integration/callbacks/langchain/callback.py +791 -0
- agentops/integration/callbacks/langchain/utils.py +54 -0
- agentops/legacy/crewai.md +121 -0
- agentops/logging/instrument_logging.py +4 -0
- agentops/sdk/README.md +220 -0
- agentops/sdk/core.py +75 -32
- agentops/sdk/descriptors/classproperty.py +28 -0
- agentops/sdk/exporters.py +152 -33
- agentops/semconv/README.md +125 -0
- agentops/semconv/span_kinds.py +0 -2
- agentops/validation.py +102 -63
- {mseep_agentops-0.4.18.dist-info → mseep_agentops-0.4.23.dist-info}/METADATA +30 -40
- mseep_agentops-0.4.23.dist-info/RECORD +178 -0
- {mseep_agentops-0.4.18.dist-info → mseep_agentops-0.4.23.dist-info}/WHEEL +1 -2
- mseep_agentops-0.4.18.dist-info/RECORD +0 -94
- mseep_agentops-0.4.18.dist-info/top_level.txt +0 -2
- tests/conftest.py +0 -10
- tests/unit/client/__init__.py +0 -1
- tests/unit/client/test_http_adapter.py +0 -221
- tests/unit/client/test_http_client.py +0 -206
- tests/unit/conftest.py +0 -54
- tests/unit/sdk/__init__.py +0 -1
- tests/unit/sdk/instrumentation_tester.py +0 -207
- tests/unit/sdk/test_attributes.py +0 -392
- tests/unit/sdk/test_concurrent_instrumentation.py +0 -468
- tests/unit/sdk/test_decorators.py +0 -763
- tests/unit/sdk/test_exporters.py +0 -241
- tests/unit/sdk/test_factory.py +0 -1188
- tests/unit/sdk/test_internal_span_processor.py +0 -397
- tests/unit/sdk/test_resource_attributes.py +0 -35
- tests/unit/test_config.py +0 -82
- tests/unit/test_context_manager.py +0 -777
- tests/unit/test_events.py +0 -27
- tests/unit/test_host_env.py +0 -54
- tests/unit/test_init_py.py +0 -501
- tests/unit/test_serialization.py +0 -433
- tests/unit/test_session.py +0 -676
- tests/unit/test_user_agent.py +0 -34
- tests/unit/test_validation.py +0 -405
- {tests → agentops/instrumentation/agentic/openai_agents/attributes}/__init__.py +0 -0
- /tests/unit/__init__.py → /agentops/instrumentation/providers/openai/attributes/tools.py +0 -0
- {mseep_agentops-0.4.18.dist-info → mseep_agentops-0.4.23.dist-info}/licenses/LICENSE +0 -0
@@ -1,49 +1,39 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mseep-agentops
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.23
|
4
4
|
Summary: Observability and DevTool Platform for AI Agents
|
5
|
-
|
6
|
-
|
7
|
-
Author-email: support@skydeck.ai
|
8
|
-
|
9
|
-
Maintainer-email: support@skydeck.ai
|
10
|
-
Keywords: mseep
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
5
|
+
Project-URL: Homepage, https://github.com/AgentOps-AI/agentops
|
6
|
+
Project-URL: Issues, https://github.com/AgentOps-AI/agentops/issues
|
7
|
+
Author-email: mseep <support@skydeck.ai>
|
8
|
+
License-File: LICENSE
|
12
9
|
Classifier: License :: OSI Approved :: MIT License
|
13
10
|
Classifier: Operating System :: OS Independent
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
Requires-
|
21
|
-
Requires-Dist:
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
17
|
+
Requires-Python: >=3.9
|
18
|
+
Requires-Dist: aiohttp<4.0.0,>=3.8.0
|
22
19
|
Requires-Dist: httpx<0.29.0,>=0.24.0
|
23
|
-
Requires-Dist: opentelemetry-
|
24
|
-
Requires-Dist: opentelemetry-
|
25
|
-
Requires-Dist: opentelemetry-
|
26
|
-
Requires-Dist: opentelemetry-
|
27
|
-
Requires-Dist: opentelemetry-
|
28
|
-
Requires-Dist: opentelemetry-
|
20
|
+
Requires-Dist: opentelemetry-api==1.29.0; python_version < '3.10'
|
21
|
+
Requires-Dist: opentelemetry-api>1.29.0; python_version >= '3.10'
|
22
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.29.0; python_version < '3.10'
|
23
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>1.29.0; python_version >= '3.10'
|
24
|
+
Requires-Dist: opentelemetry-instrumentation==0.50b0; python_version < '3.10'
|
25
|
+
Requires-Dist: opentelemetry-instrumentation>=0.50b0; python_version >= '3.10'
|
26
|
+
Requires-Dist: opentelemetry-sdk==1.29.0; python_version < '3.10'
|
27
|
+
Requires-Dist: opentelemetry-sdk>1.29.0; python_version >= '3.10'
|
28
|
+
Requires-Dist: opentelemetry-semantic-conventions==0.50b0; python_version < '3.10'
|
29
|
+
Requires-Dist: opentelemetry-semantic-conventions>=0.50b0; python_version >= '3.10'
|
29
30
|
Requires-Dist: ordered-set<5.0.0,>=4.0.0
|
31
|
+
Requires-Dist: packaging<25.0,>=21.0
|
32
|
+
Requires-Dist: psutil<7.0.1,>=5.9.8
|
33
|
+
Requires-Dist: pyyaml<7.0,>=5.3
|
34
|
+
Requires-Dist: requests<3.0.0,>=2.0.0
|
35
|
+
Requires-Dist: termcolor<2.5.0,>=2.3.0
|
30
36
|
Requires-Dist: wrapt<2.0.0,>=1.0.0
|
31
|
-
|
32
|
-
Requires-Dist: opentelemetry-instrumentation>=0.50b0; python_version >= "3.10"
|
33
|
-
Requires-Dist: opentelemetry-semantic-conventions==0.50b0; python_version < "3.10"
|
34
|
-
Requires-Dist: opentelemetry-semantic-conventions>=0.50b0; python_version >= "3.10"
|
35
|
-
Dynamic: author
|
36
|
-
Dynamic: author-email
|
37
|
-
Dynamic: classifier
|
38
|
-
Dynamic: description
|
39
|
-
Dynamic: description-content-type
|
40
|
-
Dynamic: home-page
|
41
|
-
Dynamic: keywords
|
42
|
-
Dynamic: license-file
|
43
|
-
Dynamic: maintainer
|
44
|
-
Dynamic: maintainer-email
|
45
|
-
Dynamic: requires-dist
|
46
|
-
Dynamic: requires-python
|
47
|
-
Dynamic: summary
|
37
|
+
Description-Content-Type: text/plain
|
48
38
|
|
49
|
-
Package managed by MseeP.ai
|
39
|
+
Package managed by MseeP.ai
|
@@ -0,0 +1,178 @@
|
|
1
|
+
agentops/__init__.py,sha256=YvY0zsWTEpAhAZOrcb2T2dDs2PxJv-q8rUPuqgdpY0k,18788
|
2
|
+
agentops/config.py,sha256=7FU_e7CLdAvLNr2AEc82CTkPo57O69_0EHtTOjCrhfU,10448
|
3
|
+
agentops/enums.py,sha256=mRvxU_EFzcfXAmlc0vEj2RBe8An0FnIF-3jZdw3ZMa0,980
|
4
|
+
agentops/exceptions.py,sha256=HjHLvB20ZadA4ZGsmMlQxh-SVhPYQLFzKv0Q_1Ujbx8,1177
|
5
|
+
agentops/validation.py,sha256=vB21vqCnQPQKAMvF0_ey_gbm5drA995SBLyH-Hlitx0,14203
|
6
|
+
agentops/client/__init__.py,sha256=9ot9lZs-zqk50W3zT87Bgql9Cb77mvCaXNpl2x3IhPs,120
|
7
|
+
agentops/client/client.py,sha256=5x-FrCfJNkfs167e5ggwPI64HqatLXoXmHQcXQynXpE,13013
|
8
|
+
agentops/client/api/__init__.py,sha256=LJJfrjVmm7weWrIRkc28WcV0iogSxU6XR49rOGv7wfI,1906
|
9
|
+
agentops/client/api/base.py,sha256=jnOOhAgbk_NpDr_o5GHb_Pa40pqnKKhL8099TsCELUM,4673
|
10
|
+
agentops/client/api/types.py,sha256=GOhpOPnZF1QCYJ-_qZudbHayD8l6hebJDImZFJGYElk,407
|
11
|
+
agentops/client/api/versions/__init__.py,sha256=nyZyYD0dY2I8B7opmIxExlBQnH26lVGWgVXc1zDwi3I,254
|
12
|
+
agentops/client/api/versions/v3.py,sha256=5c2nekI_6xNv7t1pIx4vF1A1PnSfcmeU9KiZSbxy2dM,2020
|
13
|
+
agentops/client/api/versions/v4.py,sha256=aTP9Wqkyf6v-4V5K8aLqrJTlZDM1EvePpbzzigr_gWU,4886
|
14
|
+
agentops/client/http/README.md,sha256=EnJWh5EAll3nwS_NfzRoRT8CiYqbrVl_xw96xgFHaTs,2597
|
15
|
+
agentops/client/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
+
agentops/client/http/http_adapter.py,sha256=M4LHvj8LFFptHSy-60LHLi_oTBWl1D7Y4_Bsq5W0P4U,4351
|
17
|
+
agentops/client/http/http_client.py,sha256=QoEWcbm8bwWS90_xcBiOP9cLYwmHQHf1qJ2AG1K1JCs,6073
|
18
|
+
agentops/helpers/__init__.py,sha256=0YVuyl6CVYUiL5mpkPbsADj_Z_4rgSE8XzCK4OuE0p0,1075
|
19
|
+
agentops/helpers/dashboard.py,sha256=T80flB8GlB4ubPj61mB-seAuDTj4lYTa_U-WDstDg4Q,1552
|
20
|
+
agentops/helpers/deprecation.py,sha256=Ndv0FVa52OznNUu_lAOrF698IrIFL-EF_alrRqXtDpw,1573
|
21
|
+
agentops/helpers/env.py,sha256=cENhgB4QBSG-aZuENI15wUajskT4xLbSZ4NSQj5_tF0,1215
|
22
|
+
agentops/helpers/serialization.py,sha256=1XSCfkZGl51R1FQ4NXYu9ceYuDa4Almp0n7ECgHKI5o,3896
|
23
|
+
agentops/helpers/system.py,sha256=4DEnWHMu6ulgIAzSt6bzNFa_O7nzwcCp8Me5zVWD3bg,4872
|
24
|
+
agentops/helpers/time.py,sha256=XyCknaPCgDBI-FM-n-2lfKJwXUsMPvHzWlK8hc5RPaU,301
|
25
|
+
agentops/helpers/version.py,sha256=3kErXu8dtC27L_3BVG1RFbfO4OKtHMgusHxLz-5s5uI,1056
|
26
|
+
agentops/instrumentation/OpenTelemetry.md,sha256=WKXiH_scdZ9Xr3NZ-IczhxVV8RgMwfoYtD5lOg9u0RY,5724
|
27
|
+
agentops/instrumentation/README.md,sha256=D1_Cj19UmXkb2oVsExiuZ_KItggDpAzKI7xqk2Wbk80,4814
|
28
|
+
agentops/instrumentation/__init__.py,sha256=d30lprz3BWyXzAFJva2JCW50aSNVvB2z42shT5uCmPU,25938
|
29
|
+
agentops/instrumentation/agentic/ag2/__init__.py,sha256=-VwikOq-x6Qmvw4wCzcKWnLm2HOzno40oQfamEXBA8s,670
|
30
|
+
agentops/instrumentation/agentic/ag2/instrumentor.py,sha256=tsK48AfheqEc7qsH4H-Z85CmSQSH6WF9RIFdZ6wsSsE,45170
|
31
|
+
agentops/instrumentation/agentic/agno/__init__.py,sha256=zMtcZxn4S43mlypFHX-ZFStCoVbl2BrmTJjExJW7NnU,441
|
32
|
+
agentops/instrumentation/agentic/agno/instrumentor.py,sha256=lzwnwwgmwurbCDGLxrUu2tBci-pNlK4a5Z2DZF9Jwqc,56958
|
33
|
+
agentops/instrumentation/agentic/agno/attributes/__init__.py,sha256=oIkJn-rXZ2MgtFuIEg1xLwCRZzvNFKfVpCiHUSYdUc8,746
|
34
|
+
agentops/instrumentation/agentic/agno/attributes/agent.py,sha256=3CgRW_gdFACwYmQGvYbC2snFubirpDux7fwW-BAuRQg,10769
|
35
|
+
agentops/instrumentation/agentic/agno/attributes/metrics.py,sha256=mOhEVolKaBprGcEgVoZs6V2XTxIyTJHh6s-tGDi_Cc0,11012
|
36
|
+
agentops/instrumentation/agentic/agno/attributes/storage.py,sha256=o7nxSTTR8DgL6Y0BQKcmle5F2RmEBHSv7mRHIE7Ynv4,6586
|
37
|
+
agentops/instrumentation/agentic/agno/attributes/team.py,sha256=LZ0CHOW61j6Jua6KyTG5a9JrShStBsXagGjaCaJzRPM,8347
|
38
|
+
agentops/instrumentation/agentic/agno/attributes/tool.py,sha256=MIvBmZK8tT6tCqarcFAwelj78K7xWIh6A05wH9ikJkc,9530
|
39
|
+
agentops/instrumentation/agentic/agno/attributes/workflow.py,sha256=OREX54kk17mCEQbxGvX1bryZIhVc2hbGQ_nt-I3OLNA,11827
|
40
|
+
agentops/instrumentation/agentic/crewai/LICENSE,sha256=dsHN9L4wfAx3acMZh94UKpdii-BYlURgeetEv6Z74QM,11341
|
41
|
+
agentops/instrumentation/agentic/crewai/NOTICE.md,sha256=a0BwM_DjWAPiipnlSy1bKF_PTxofLOie6Ii-UgW956g,428
|
42
|
+
agentops/instrumentation/agentic/crewai/__init__.py,sha256=BT57CPIp75-sVhCZ54_F0xe__TP42UqxBHNVw3UjZK8,252
|
43
|
+
agentops/instrumentation/agentic/crewai/crewai_span_attributes.py,sha256=GzYlY2rSOQdryc0Pd_-lRSzEFau-oiBMFtgxoZkzNKk,14500
|
44
|
+
agentops/instrumentation/agentic/crewai/instrumentation.py,sha256=u1suTeXMs_mIx7t7MYfHNsli66BzSsgXwRqPkFqFjtU,21488
|
45
|
+
agentops/instrumentation/agentic/crewai/version.py,sha256=ITH8IVCEQOekRajZpPo6sKNlMBNDRQRnzipIN0dqXoc,23
|
46
|
+
agentops/instrumentation/agentic/google_adk/__init__.py,sha256=jgXHazdGRJk6cvW2ngsCjQY9eTqqBXbxDRgNGef4tPY,757
|
47
|
+
agentops/instrumentation/agentic/google_adk/instrumentor.py,sha256=jNhTt3ir8f8xWd8Vtr5zSKV8NBy7xCbULGSOYrmbJbE,2473
|
48
|
+
agentops/instrumentation/agentic/google_adk/patch.py,sha256=Zsm5eD8v4TOO_Wl7eHcrFLOEgs_kSfwdF5oBcAhdix8,32653
|
49
|
+
agentops/instrumentation/agentic/haystack/__init__.py,sha256=31kYS1lC7rwfl-sjiXFeinSkaui3IBemVHZJz6tl_ZE,61
|
50
|
+
agentops/instrumentation/agentic/haystack/instrumentor.py,sha256=rB8AWZeACz2YiOcyU_Axl_jL4aweSWixj6IXP_3WWlA,6162
|
51
|
+
agentops/instrumentation/agentic/langgraph/__init__.py,sha256=8cBbiHnrlWPe3hgtzJcW6c9D9jId1Gt1eevKJEuW6ws,130
|
52
|
+
agentops/instrumentation/agentic/langgraph/attributes.py,sha256=u6B0M6EObmhMbDrSs3yfODtr83V8P-3RXoom27bxDQ0,1874
|
53
|
+
agentops/instrumentation/agentic/langgraph/instrumentation.py,sha256=20RFHtHajqwYsRFPRM16hoZv6cGe7_2gVZJ1aNKjPQs,27914
|
54
|
+
agentops/instrumentation/agentic/langgraph/version.py,sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0,22
|
55
|
+
agentops/instrumentation/agentic/openai_agents/README.md,sha256=3zDJ_cKc0ivSiDugNr8vpEYpG40HQANLyV6SbuaBJp4,7484
|
56
|
+
agentops/instrumentation/agentic/openai_agents/SPANS.md,sha256=RepFG-6eWI9msuLxS1e2CpuN2V7XjuO3pDEogjfV0tI,5128
|
57
|
+
agentops/instrumentation/agentic/openai_agents/TRACING_API.md,sha256=7YnPa7wpOLLA57wMEgC24y-7wUsctCtlXWVS6NXQ0_8,5291
|
58
|
+
agentops/instrumentation/agentic/openai_agents/__init__.py,sha256=0thTXohk1GMStqYp6ube8PD1NYH0pjAOqs1K_Jii0bI,1130
|
59
|
+
agentops/instrumentation/agentic/openai_agents/exporter.py,sha256=Ew1IeyTMJsZbIfpc-HjK9hifgvqB9Z7u61LT1UIz67k,19110
|
60
|
+
agentops/instrumentation/agentic/openai_agents/instrumentor.py,sha256=iBdL66M-ZktujO5UJ4qF7Smjsh4cxcqtiX1vUbdebyY,4696
|
61
|
+
agentops/instrumentation/agentic/openai_agents/processor.py,sha256=EOTZamYxjwKwvicRuaujoJXlo5X8JyvmT2D4QKhASMA,2102
|
62
|
+
agentops/instrumentation/agentic/openai_agents/attributes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
63
|
+
agentops/instrumentation/agentic/openai_agents/attributes/common.py,sha256=DTk_rRmVkL4cm-l9KVHywsV9MoHwroizOYd45p4DiTg,20070
|
64
|
+
agentops/instrumentation/agentic/openai_agents/attributes/completion.py,sha256=0BTDeSymY9Prruffn6iYfTWyNWUpXOILHD88WSRyeAs,7884
|
65
|
+
agentops/instrumentation/agentic/openai_agents/attributes/model.py,sha256=3pTY_E30XOBEY9phGpT8fwEQ4aT3FMH1FEBR2yzX0lU,1969
|
66
|
+
agentops/instrumentation/agentic/openai_agents/attributes/tokens.py,sha256=R_F0W06MOYRtdoGdSGouy5n_9xDahsTv2pBoeGCvhbs,11179
|
67
|
+
agentops/instrumentation/agentic/smolagents/README.md,sha256=Y1dHmRsJVwZixbeP85FVrtr4twP8rbrW0wFehTIzyo8,1951
|
68
|
+
agentops/instrumentation/agentic/smolagents/__init__.py,sha256=1kH0sKHAxznSOmNSOOZ-KaiFTExxB8-16jbO2R8LRVU,419
|
69
|
+
agentops/instrumentation/agentic/smolagents/instrumentor.py,sha256=iAuekWkMRpK6r5rGyL_lh4WMqsMmyS16zn_6P-NZqZ8,10947
|
70
|
+
agentops/instrumentation/agentic/smolagents/stream_wrapper.py,sha256=m4llesoxQZA0I8QBxgai4af5vjViPQysDJ2NuEUu2DQ,9106
|
71
|
+
agentops/instrumentation/agentic/smolagents/attributes/agent.py,sha256=ZXMK_UZNjOnZTSNLDwEDkgTYzgbf4199v8W_LqMQ-_I,11938
|
72
|
+
agentops/instrumentation/agentic/smolagents/attributes/model.py,sha256=F0WQ0X7PDblNkIrNSDOyLcuymOHSBa_MMCEEnIQrPB4,8738
|
73
|
+
agentops/instrumentation/agentic/xpander/__init__.py,sha256=0VSlEigFPOKzpbfDhgq6D-wrGYbvw9DMS4kxYdrtzFg,446
|
74
|
+
agentops/instrumentation/agentic/xpander/context.py,sha256=2AwE21l1mBPJe0Ik_uHtQnJ3-t7SfEqINM7yh5ukeOc,4624
|
75
|
+
agentops/instrumentation/agentic/xpander/instrumentor.py,sha256=YuSX8wo8iqgJreIDgm5Zgh31PNSPRE2iZ-qt-e1go_Q,42433
|
76
|
+
agentops/instrumentation/agentic/xpander/trace_probe.py,sha256=JpTjRqLT3A0uRRcVEgoUGR3uBCM-OT19UdaEWIbxzjs,2731
|
77
|
+
agentops/instrumentation/agentic/xpander/version.py,sha256=g9tnCwuH2Npl7eb4pE3ve_QV4VaueJp-kaOpbaqvyoY,78
|
78
|
+
agentops/instrumentation/common/README.md,sha256=4P9UjGAhSgee_9kOPk_ifTxB_J0tC270wdI4VR1j3m4,2021
|
79
|
+
agentops/instrumentation/common/__init__.py,sha256=CYgIOTPUbxpLh47kjeLwLxhLZVA0lpZM9uzJCkr_c40,2287
|
80
|
+
agentops/instrumentation/common/attributes.py,sha256=kKdjPYIBIPKYoruBigA2IfsXsinLVQXftG9-iWLo_3g,9329
|
81
|
+
agentops/instrumentation/common/instrumentor.py,sha256=qOaukvOjXRWN0ltw0eupsVZkWfMoESX0oFK-U1IK5JY,4926
|
82
|
+
agentops/instrumentation/common/metrics.py,sha256=sRHuKKTBttU8LE1VTuoU6jLv7d9U2dGvMRC96fr4zQU,3885
|
83
|
+
agentops/instrumentation/common/objects.py,sha256=zpMJTsTNDJ-Qgjzqke47uDDYexlmwpGQC83opdmHnkI,982
|
84
|
+
agentops/instrumentation/common/span_management.py,sha256=WluRQTrFwFNtVsERfT2Q4W6xntwPsupyfhwLEVSFwMk,6090
|
85
|
+
agentops/instrumentation/common/streaming.py,sha256=rSjGhsN8k-so0YjyoqFVtpCeateeApwu5jqOB_De0B0,8085
|
86
|
+
agentops/instrumentation/common/token_counting.py,sha256=ZRrmgcR3YCT568l3MU9GH8eb4wO1qu31d0ohWJAkxy8,6502
|
87
|
+
agentops/instrumentation/common/version.py,sha256=6HIqtkLEKql_OkpQo1rbOitwTFGWEmlgSVYjXaybi0E,2474
|
88
|
+
agentops/instrumentation/common/wrappers.py,sha256=utVwTHxjhS4wCsjPPWtGlFaBy-sBpd4mzy9-I9ftLp0,8242
|
89
|
+
agentops/instrumentation/providers/anthropic/__init__.py,sha256=1eB_pBsh_MBkV-9I7qxU9B13WkZinx_9Pos7W36U5yg,665
|
90
|
+
agentops/instrumentation/providers/anthropic/event_handler_wrapper.py,sha256=bgW6ZkdJ08F30CR-MbMsTbmjE4CTL05T9xpDLW6T-Ws,3751
|
91
|
+
agentops/instrumentation/providers/anthropic/instrumentor.py,sha256=5RgiCpyOQs99qN5Ju3mIEAHmE6DDWPao4qR3UtfsdK4,5928
|
92
|
+
agentops/instrumentation/providers/anthropic/stream_wrapper.py,sha256=9yZQ7aUKJsqVTT0E3hCxYC_qOdeg-8cLi13brt20d2o,18946
|
93
|
+
agentops/instrumentation/providers/anthropic/attributes/__init__.py,sha256=u59RoDYNKfh9h7x49d0qkHGmX8vyMZ9DaijDZugpsB4,744
|
94
|
+
agentops/instrumentation/providers/anthropic/attributes/common.py,sha256=Gc4J-ZOM5zt8M_zVWx4dpgxxG83PF8ngratdaJVPGI8,2126
|
95
|
+
agentops/instrumentation/providers/anthropic/attributes/message.py,sha256=CeRHu9g42bChC5uZVCNZhbdt5iw3pMZxj1VhNWquZu4,21955
|
96
|
+
agentops/instrumentation/providers/anthropic/attributes/tools.py,sha256=u5xg3w0J05g1JAVRwuQRE9M9ikZmlV57MFtsHT3UYrM,9144
|
97
|
+
agentops/instrumentation/providers/google_genai/README.md,sha256=LFSkZr8mra0XE3LoJxHXN8mwjcRsoQnwMZ7Yyzk_9Z0,1049
|
98
|
+
agentops/instrumentation/providers/google_genai/__init__.py,sha256=wrIddAokGbLtYpLM7UcPNl8G1XbMxz3ZkTKJX6d_4UY,721
|
99
|
+
agentops/instrumentation/providers/google_genai/instrumentor.py,sha256=-Wa_3MvPdnghBzdqNzOZFlKGd0lDyM9dmVkP51wT0WY,6099
|
100
|
+
agentops/instrumentation/providers/google_genai/stream_wrapper.py,sha256=cgIj8_cPo1PWSTh0pNCxQOSQDhnUupZZ9ii8vdbh84c,9988
|
101
|
+
agentops/instrumentation/providers/google_genai/attributes/__init__.py,sha256=Rgb0rphg6AonFefJnWyMN3nWG9RKEkrm4wUIE_L0rn0,792
|
102
|
+
agentops/instrumentation/providers/google_genai/attributes/chat.py,sha256=s5b-5LuBGyIXd7NYS3NZXQBxfk9IryKKk-YSfdqfiSQ,4059
|
103
|
+
agentops/instrumentation/providers/google_genai/attributes/common.py,sha256=KtyUMIWO4u8mCG_Ds4Uf_fk5Yv44c5d1DwOP9fXZsbI,3168
|
104
|
+
agentops/instrumentation/providers/google_genai/attributes/model.py,sha256=NcPgXXQsy16grYLnu2NbzOWAReyFAvpiNF9Xd6AnBU4,10127
|
105
|
+
agentops/instrumentation/providers/ibm_watsonx_ai/__init__.py,sha256=lytsCQIeD6YUaulI-sFHWzcsx1LyWC0F9pb1xsAH534,864
|
106
|
+
agentops/instrumentation/providers/ibm_watsonx_ai/instrumentor.py,sha256=_9CheH_kW2iRjC5g50FsSLTDhxs5MUm-zev21iKeNxM,6455
|
107
|
+
agentops/instrumentation/providers/ibm_watsonx_ai/stream_wrapper.py,sha256=kAJeZOXxGr9F4hAzZuJHT2cTqcats-sJwDK7eYymqs0,17446
|
108
|
+
agentops/instrumentation/providers/ibm_watsonx_ai/attributes/__init__.py,sha256=XtBAOZRrSVdjwMBFaICA2Usu4BS9umwWmD8Ag6JjQD4,815
|
109
|
+
agentops/instrumentation/providers/ibm_watsonx_ai/attributes/attributes.py,sha256=itiNyBxPBm4RnSKEmjaGvjve_GZX4Y08bSu4ELpJn8c,11811
|
110
|
+
agentops/instrumentation/providers/ibm_watsonx_ai/attributes/common.py,sha256=gvhoKyxLDLgyrVcil2OPzPG4qVQxYr3EnzNPoFOgcDA,3851
|
111
|
+
agentops/instrumentation/providers/mem0/__init__.py,sha256=HjberjlSbjxWYn94k0MfV83C3juy37p3icgKA-_iia0,1245
|
112
|
+
agentops/instrumentation/providers/mem0/common.py,sha256=cAK8BR7o8LkkV5S-HNig_wjp6VccmvgzlLylL_csGxk,16038
|
113
|
+
agentops/instrumentation/providers/mem0/instrumentor.py,sha256=iQXI8QqoRGIHUe8i8OG4TKv1NV4BqEtKfIIRW7DEgHI,8511
|
114
|
+
agentops/instrumentation/providers/mem0/memory.py,sha256=2csZwUW-121PALA5JwXPU2gU8wgoydBSKF2olUP5T2E,15734
|
115
|
+
agentops/instrumentation/providers/openai/__init__.py,sha256=AN1sB1p7Ih5Aw5CYZHdCBkkfnjjj2WiPitojG_BtdXA,650
|
116
|
+
agentops/instrumentation/providers/openai/config.py,sha256=E91LsEySl4e7fwLpx4vCea4bAG96_z1JLuOefuneqWI,1451
|
117
|
+
agentops/instrumentation/providers/openai/instrumentor.py,sha256=n8ZawjjyXzqZjy2ewCP9HiiohAjCitttza4ohYZnNKg,11712
|
118
|
+
agentops/instrumentation/providers/openai/stream_wrapper.py,sha256=7wbwNzCXg98ASh5Y8Nj2H8gv78X7uMHLrNaG1N1qR3Y,40631
|
119
|
+
agentops/instrumentation/providers/openai/utils.py,sha256=pw5Z1alyV70V_Ny95gG_d4QLuOnkd2f3jTj2mvdVGIU,1124
|
120
|
+
agentops/instrumentation/providers/openai/v0.py,sha256=ODHUeC7gM3xzLzBwAnOvGevbWaN9avSVsVAkt5o0aOo,6162
|
121
|
+
agentops/instrumentation/providers/openai/v0_wrappers.py,sha256=8d1xO4B1H6OlXB-fa_n8NAp0ZolZFT8_zWmqZQLEGiU,19237
|
122
|
+
agentops/instrumentation/providers/openai/attributes/__init__.py,sha256=PnvhL3XZRGmy9nR86Ofpl-9jfQSNI_S5oXfvWptzMcs,231
|
123
|
+
agentops/instrumentation/providers/openai/attributes/common.py,sha256=w8zledN4DTsCfQlpiIJEaj57FvjM5GNTs33H1p61mjo,2152
|
124
|
+
agentops/instrumentation/providers/openai/attributes/response.py,sha256=xtS35i9C_y_p4-RC5FqOWgIoI-_MjJ63CkW5JA6MQts,22511
|
125
|
+
agentops/instrumentation/providers/openai/attributes/tools.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
126
|
+
agentops/instrumentation/providers/openai/wrappers/__init__.py,sha256=PPVErfsRODR36UySZ8bhDjqSruWH84T5SuTLjVGWM2g,1221
|
127
|
+
agentops/instrumentation/providers/openai/wrappers/assistant.py,sha256=zvgkSdwnXj50y38jqUK1FOQ-uSRFzBwbDhhWHBeZwPw,10766
|
128
|
+
agentops/instrumentation/providers/openai/wrappers/chat.py,sha256=4yvQvtcaveFpfq3nvIJPqAmqOAvgu4YrI1Kr8_h1jGQ,11895
|
129
|
+
agentops/instrumentation/providers/openai/wrappers/completion.py,sha256=y6qAJk5l1PnWut8CGmh72T31BdZirIc6Sn3AXGK1tYk,4330
|
130
|
+
agentops/instrumentation/providers/openai/wrappers/embeddings.py,sha256=NaEnr7al35nJ1dLqH1Xt3n_jGRy63-7UvqrsHYyYqN8,3766
|
131
|
+
agentops/instrumentation/providers/openai/wrappers/image_gen.py,sha256=Fvv5iRw_R9fsFRvvaTlXh3jHOTqAb4bYAEAc7R8QX5I,2780
|
132
|
+
agentops/instrumentation/providers/openai/wrappers/responses.py,sha256=FnTZPjYaWWiZnYA9gN2zC8538-brRdx10qfiO1mEglg,9433
|
133
|
+
agentops/instrumentation/providers/openai/wrappers/shared.py,sha256=mC0Uzd2za-mJ-ViiD_vzfcA2tD0PIIkEZR6pidicMHI,2528
|
134
|
+
agentops/instrumentation/utilities/concurrent_futures/__init__.py,sha256=9FO6hYDgUr5WVGmPZt4997jaEblHET1MoMrrzaQP5Mg,308
|
135
|
+
agentops/instrumentation/utilities/concurrent_futures/instrumentation.py,sha256=vWeiWuxZMU8_3kJns3rSIzdpeOfexJqtaLxpigRjtxc,7660
|
136
|
+
agentops/integration/callbacks/dspy/__init__.py,sha256=D6sWAvqF-MI6eV9z8dvvBNfUqAs3nCjAGuK7jwr5vi0,247
|
137
|
+
agentops/integration/callbacks/dspy/callback.py,sha256=B6gBr9PcVYfQObSFfBebhHi96c3x4USOBgn3IKOkMtg,16855
|
138
|
+
agentops/integration/callbacks/langchain/README.md,sha256=FkSHnWl-EcUbZSC3XvKH38p7-RQ3OdSphtasuuIDd9I,2729
|
139
|
+
agentops/integration/callbacks/langchain/__init__.py,sha256=A12-TqyA0mqGH2xEicNhJYj-MipT4N1dQeLfsY39JSY,353
|
140
|
+
agentops/integration/callbacks/langchain/callback.py,sha256=gwmQL_IX6-6xUyBdOYIW1KdcCGVqyvBQIvIumKTQI8U,31524
|
141
|
+
agentops/integration/callbacks/langchain/utils.py,sha256=CC0ZUX6tJj-_6pWamfaJGYakVV5gPUTBT09SzgqLxPA,1754
|
142
|
+
agentops/legacy/__init__.py,sha256=8aiLMhFFuzpm_EvwXHAj4mWvYODkBvWFePOjWcBZffc,9749
|
143
|
+
agentops/legacy/crewai.md,sha256=bX2BIJckyBp-72vRYoV9Kg2dGJAHxpe34QN3Algy7Lk,3762
|
144
|
+
agentops/legacy/event.py,sha256=mLlDOaI_WWVOF0uHLYWU0PG5UY3VM8qcux2LCCALcv8,5892
|
145
|
+
agentops/logging/__init__.py,sha256=xIz15LVBsdaMzZze-K-vf3z0v467vAz87Khq46Jr7KA,228
|
146
|
+
agentops/logging/config.py,sha256=KnX3W1YplmqpuI3j3gAbmuegr3wUsffl2avC2JeDg24,3168
|
147
|
+
agentops/logging/formatters.py,sha256=dgi78SUc_yQpL5iga99LNone6OqKeDi-Brgf6ZHjdwY,1062
|
148
|
+
agentops/logging/instrument_logging.py,sha256=EK-9NXhuOeOLtM9PzEX8hJTpPA9hNiONrMQexWMiHCA,2916
|
149
|
+
agentops/sdk/README.md,sha256=pqsKiBcHtiEag0AaeVnCHwOCA_v9B0n2WsbXAbKqjoQ,7185
|
150
|
+
agentops/sdk/__init__.py,sha256=W9SBzJ9dLnbqaSbsJJ2vmJXMtsWDHttdx2FHdWsjE3s,657
|
151
|
+
agentops/sdk/attributes.py,sha256=eSZnHaTRdYFOkoCECuuXPS8Wl-tNM4hZaE6dpDrofAc,4521
|
152
|
+
agentops/sdk/core.py,sha256=Lg_W2g0UwsO0dql4ayede8sPBz10BJe143c7clDkY80,25870
|
153
|
+
agentops/sdk/exporters.py,sha256=qr2naILMQs3JncqMpIVndC0o1NqgLcxFWvt-UjtDZ_Q,7845
|
154
|
+
agentops/sdk/processors.py,sha256=kAp70nj_tnO32J-7C9thY0BSS2Ku7qje2qCrH_giO0Y,2451
|
155
|
+
agentops/sdk/types.py,sha256=7RMcA65zwiv5zx2-g8z8abtui2UVqpaNujJa7ItY6Yg,889
|
156
|
+
agentops/sdk/decorators/__init__.py,sha256=aq1mcjyG6HqxbJIP3JhgjwE_DU1-vKseroWFpbWDg_c,1936
|
157
|
+
agentops/sdk/decorators/factory.py,sha256=yR8Z5cS2l2W8ehPwvAP2rt3bASHXygW4Th4Cj9GcWDs,26621
|
158
|
+
agentops/sdk/decorators/utility.py,sha256=TxL9hYucmFqiCBOGQ4xaLejBQCjJDo_SaP8qRR3Hkh0,8005
|
159
|
+
agentops/sdk/descriptors/classproperty.py,sha256=NK4KObk-6ohBBCCaZjJsDaoDdGSENN19wJ-LqMCf3Z0,803
|
160
|
+
agentops/semconv/README.md,sha256=v6xKiCDN9ZRCk7qWUXLyeHwq7GIf7km_bs6ff32D4oc,4111
|
161
|
+
agentops/semconv/__init__.py,sha256=DxZe_8vlZMsOjlDGGVxysfScfHlRIXHZLOfwyrJLjiA,1357
|
162
|
+
agentops/semconv/agent.py,sha256=55fv7BTbYBa_NokK80QBfrloZBx_NyVODhNMaMUaNWQ,1086
|
163
|
+
agentops/semconv/core.py,sha256=RI9p6fnSROWjdSI6WolHGrxeoyhNjQy1P5aqmklBxa0,609
|
164
|
+
agentops/semconv/enum.py,sha256=oxlWfUyrowFixJDq3fLzbRi9PQQZqr7MU93Ho3oYAKE,215
|
165
|
+
agentops/semconv/instrumentation.py,sha256=YKMfXoKS5zDmUHYXwrWKSlVomts9x9sTB4XCwHAnJZA,470
|
166
|
+
agentops/semconv/langchain.py,sha256=YIxGgyCWpDMkkNbs5916PBr7-uVFk-dyRICMoPka2Zs,2015
|
167
|
+
agentops/semconv/message.py,sha256=YbFwx2ccCs-lrbaeW6kFAF0UhruieGAACdzSQBBJM_M,3644
|
168
|
+
agentops/semconv/meters.py,sha256=DCEH0oD745E78k-iEvGmTJjQLIAg3Bkxd_gApvQt8zw,1099
|
169
|
+
agentops/semconv/resource.py,sha256=MAj8hHSPrHGGCaMbz1C4Lm0CkJ_JR3BLXto4FKbnmWE,1377
|
170
|
+
agentops/semconv/span_attributes.py,sha256=hyTW7KsLB9sp-HDEvbCUiBlkfGXoC5sKMaSSHbcd6JI,5102
|
171
|
+
agentops/semconv/span_kinds.py,sha256=-JuxHLtmGKJ7i_rzH9fpmhFQQG-vSrZtMMOxPTaamhY,1501
|
172
|
+
agentops/semconv/status.py,sha256=dQ6q-B-kEPWqSPNV7VHF7gojtMgbC-nGvLP_kZe5McY,195
|
173
|
+
agentops/semconv/tool.py,sha256=lW1GQWMuMn449TC-Kz-CQCZy7bC76U7fwUbsihWkhSs,514
|
174
|
+
agentops/semconv/workflow.py,sha256=N7WsN9DgOPd3lZulS9MJeJRv4zeVnUwC8ZRl0fUbD5o,4290
|
175
|
+
mseep_agentops-0.4.23.dist-info/METADATA,sha256=PfY9Dwd4fikCqYh6cLj3QVG9Li-HyeRkwcaPfTx_9YQ,1893
|
176
|
+
mseep_agentops-0.4.23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
177
|
+
mseep_agentops-0.4.23.dist-info/licenses/LICENSE,sha256=zWW9oSZpJVAMBUk-iWOCWBk7c7ITYX2BUU-feXmjKYU,1068
|
178
|
+
mseep_agentops-0.4.23.dist-info/RECORD,,
|
@@ -1,94 +0,0 @@
|
|
1
|
-
agentops/__init__.py,sha256=YvY0zsWTEpAhAZOrcb2T2dDs2PxJv-q8rUPuqgdpY0k,18788
|
2
|
-
agentops/config.py,sha256=7eu3crglngSeKK0fQ_pFsHGiOjr1gPCaqual8VP0hCA,10090
|
3
|
-
agentops/enums.py,sha256=mRvxU_EFzcfXAmlc0vEj2RBe8An0FnIF-3jZdw3ZMa0,980
|
4
|
-
agentops/exceptions.py,sha256=HjHLvB20ZadA4ZGsmMlQxh-SVhPYQLFzKv0Q_1Ujbx8,1177
|
5
|
-
agentops/validation.py,sha256=Dsxsoa7RbRagcXK56fCWWqgQ5OyUdbM2KjIQjHUp5XA,13294
|
6
|
-
agentops/client/__init__.py,sha256=9ot9lZs-zqk50W3zT87Bgql9Cb77mvCaXNpl2x3IhPs,120
|
7
|
-
agentops/client/client.py,sha256=jaqzPYSi2Jyyd0Nxjzo97aerN9gsGTIqG4Gjgam0vXQ,10667
|
8
|
-
agentops/client/api/__init__.py,sha256=LJJfrjVmm7weWrIRkc28WcV0iogSxU6XR49rOGv7wfI,1906
|
9
|
-
agentops/client/api/base.py,sha256=-SkPZyfR1W0KsCpn05u2F0cMfyc5OXEuRkE859DL66g,4439
|
10
|
-
agentops/client/api/types.py,sha256=GOhpOPnZF1QCYJ-_qZudbHayD8l6hebJDImZFJGYElk,407
|
11
|
-
agentops/client/api/versions/__init__.py,sha256=nyZyYD0dY2I8B7opmIxExlBQnH26lVGWgVXc1zDwi3I,254
|
12
|
-
agentops/client/api/versions/v3.py,sha256=MvClQ6_G2DiXCUNIFv36d_wNidKtIQsAt-rRv8Yng0M,2067
|
13
|
-
agentops/client/api/versions/v4.py,sha256=PsexNJ5h_AwJXbaKn-6ftoW480ZkHMM3u7ow0vocRfg,3532
|
14
|
-
agentops/client/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
-
agentops/client/http/http_adapter.py,sha256=M4LHvj8LFFptHSy-60LHLi_oTBWl1D7Y4_Bsq5W0P4U,4351
|
16
|
-
agentops/client/http/http_client.py,sha256=O9fggGMgqs5eyKF9jEUAgSoBlbPHvxk0lWQTiOQpuxw,8661
|
17
|
-
agentops/helpers/__init__.py,sha256=0YVuyl6CVYUiL5mpkPbsADj_Z_4rgSE8XzCK4OuE0p0,1075
|
18
|
-
agentops/helpers/dashboard.py,sha256=T80flB8GlB4ubPj61mB-seAuDTj4lYTa_U-WDstDg4Q,1552
|
19
|
-
agentops/helpers/deprecation.py,sha256=Ndv0FVa52OznNUu_lAOrF698IrIFL-EF_alrRqXtDpw,1573
|
20
|
-
agentops/helpers/env.py,sha256=cENhgB4QBSG-aZuENI15wUajskT4xLbSZ4NSQj5_tF0,1215
|
21
|
-
agentops/helpers/serialization.py,sha256=1XSCfkZGl51R1FQ4NXYu9ceYuDa4Almp0n7ECgHKI5o,3896
|
22
|
-
agentops/helpers/system.py,sha256=4DEnWHMu6ulgIAzSt6bzNFa_O7nzwcCp8Me5zVWD3bg,4872
|
23
|
-
agentops/helpers/time.py,sha256=XyCknaPCgDBI-FM-n-2lfKJwXUsMPvHzWlK8hc5RPaU,301
|
24
|
-
agentops/helpers/version.py,sha256=3kErXu8dtC27L_3BVG1RFbfO4OKtHMgusHxLz-5s5uI,1056
|
25
|
-
agentops/instrumentation/__init__.py,sha256=084qkc1Kggo4PPVc5q2GpUbYk-2RoX5O0nLsd7EoN20,25486
|
26
|
-
agentops/instrumentation/common/__init__.py,sha256=CYgIOTPUbxpLh47kjeLwLxhLZVA0lpZM9uzJCkr_c40,2287
|
27
|
-
agentops/instrumentation/common/attributes.py,sha256=WelUjg80CQKKNENAipz2t9vuSIUNuQ6Rdz_poxovRck,9337
|
28
|
-
agentops/instrumentation/common/instrumentor.py,sha256=qOaukvOjXRWN0ltw0eupsVZkWfMoESX0oFK-U1IK5JY,4926
|
29
|
-
agentops/instrumentation/common/metrics.py,sha256=sRHuKKTBttU8LE1VTuoU6jLv7d9U2dGvMRC96fr4zQU,3885
|
30
|
-
agentops/instrumentation/common/objects.py,sha256=zpMJTsTNDJ-Qgjzqke47uDDYexlmwpGQC83opdmHnkI,982
|
31
|
-
agentops/instrumentation/common/span_management.py,sha256=WluRQTrFwFNtVsERfT2Q4W6xntwPsupyfhwLEVSFwMk,6090
|
32
|
-
agentops/instrumentation/common/streaming.py,sha256=rSjGhsN8k-so0YjyoqFVtpCeateeApwu5jqOB_De0B0,8085
|
33
|
-
agentops/instrumentation/common/token_counting.py,sha256=ZRrmgcR3YCT568l3MU9GH8eb4wO1qu31d0ohWJAkxy8,6502
|
34
|
-
agentops/instrumentation/common/version.py,sha256=6HIqtkLEKql_OkpQo1rbOitwTFGWEmlgSVYjXaybi0E,2474
|
35
|
-
agentops/instrumentation/common/wrappers.py,sha256=utVwTHxjhS4wCsjPPWtGlFaBy-sBpd4mzy9-I9ftLp0,8242
|
36
|
-
agentops/legacy/__init__.py,sha256=8aiLMhFFuzpm_EvwXHAj4mWvYODkBvWFePOjWcBZffc,9749
|
37
|
-
agentops/legacy/event.py,sha256=mLlDOaI_WWVOF0uHLYWU0PG5UY3VM8qcux2LCCALcv8,5892
|
38
|
-
agentops/logging/__init__.py,sha256=xIz15LVBsdaMzZze-K-vf3z0v467vAz87Khq46Jr7KA,228
|
39
|
-
agentops/logging/config.py,sha256=KnX3W1YplmqpuI3j3gAbmuegr3wUsffl2avC2JeDg24,3168
|
40
|
-
agentops/logging/formatters.py,sha256=dgi78SUc_yQpL5iga99LNone6OqKeDi-Brgf6ZHjdwY,1062
|
41
|
-
agentops/logging/instrument_logging.py,sha256=WurISKObv0eK70FCHw_21V3Dw_OPbQ7smmD_71qPl34,2870
|
42
|
-
agentops/sdk/__init__.py,sha256=W9SBzJ9dLnbqaSbsJJ2vmJXMtsWDHttdx2FHdWsjE3s,657
|
43
|
-
agentops/sdk/attributes.py,sha256=eSZnHaTRdYFOkoCECuuXPS8Wl-tNM4hZaE6dpDrofAc,4521
|
44
|
-
agentops/sdk/core.py,sha256=FdxI0qRfyoppST3WBJYF16kmBsX52PMdTwaq254P7Mk,23993
|
45
|
-
agentops/sdk/exporters.py,sha256=lDsydlo-mU4C8_7M4WZ8v5n71pjkYkGIHaViWJkaoJA,3145
|
46
|
-
agentops/sdk/processors.py,sha256=kAp70nj_tnO32J-7C9thY0BSS2Ku7qje2qCrH_giO0Y,2451
|
47
|
-
agentops/sdk/types.py,sha256=7RMcA65zwiv5zx2-g8z8abtui2UVqpaNujJa7ItY6Yg,889
|
48
|
-
agentops/sdk/decorators/__init__.py,sha256=aq1mcjyG6HqxbJIP3JhgjwE_DU1-vKseroWFpbWDg_c,1936
|
49
|
-
agentops/sdk/decorators/factory.py,sha256=yR8Z5cS2l2W8ehPwvAP2rt3bASHXygW4Th4Cj9GcWDs,26621
|
50
|
-
agentops/sdk/decorators/utility.py,sha256=TxL9hYucmFqiCBOGQ4xaLejBQCjJDo_SaP8qRR3Hkh0,8005
|
51
|
-
agentops/semconv/__init__.py,sha256=DxZe_8vlZMsOjlDGGVxysfScfHlRIXHZLOfwyrJLjiA,1357
|
52
|
-
agentops/semconv/agent.py,sha256=55fv7BTbYBa_NokK80QBfrloZBx_NyVODhNMaMUaNWQ,1086
|
53
|
-
agentops/semconv/core.py,sha256=RI9p6fnSROWjdSI6WolHGrxeoyhNjQy1P5aqmklBxa0,609
|
54
|
-
agentops/semconv/enum.py,sha256=oxlWfUyrowFixJDq3fLzbRi9PQQZqr7MU93Ho3oYAKE,215
|
55
|
-
agentops/semconv/instrumentation.py,sha256=YKMfXoKS5zDmUHYXwrWKSlVomts9x9sTB4XCwHAnJZA,470
|
56
|
-
agentops/semconv/langchain.py,sha256=YIxGgyCWpDMkkNbs5916PBr7-uVFk-dyRICMoPka2Zs,2015
|
57
|
-
agentops/semconv/message.py,sha256=YbFwx2ccCs-lrbaeW6kFAF0UhruieGAACdzSQBBJM_M,3644
|
58
|
-
agentops/semconv/meters.py,sha256=DCEH0oD745E78k-iEvGmTJjQLIAg3Bkxd_gApvQt8zw,1099
|
59
|
-
agentops/semconv/resource.py,sha256=MAj8hHSPrHGGCaMbz1C4Lm0CkJ_JR3BLXto4FKbnmWE,1377
|
60
|
-
agentops/semconv/span_attributes.py,sha256=hyTW7KsLB9sp-HDEvbCUiBlkfGXoC5sKMaSSHbcd6JI,5102
|
61
|
-
agentops/semconv/span_kinds.py,sha256=NjvowyBDKkWiNW6xND4wuWMYGGcUIxB4bb5xWzTkijc,1564
|
62
|
-
agentops/semconv/status.py,sha256=dQ6q-B-kEPWqSPNV7VHF7gojtMgbC-nGvLP_kZe5McY,195
|
63
|
-
agentops/semconv/tool.py,sha256=lW1GQWMuMn449TC-Kz-CQCZy7bC76U7fwUbsihWkhSs,514
|
64
|
-
agentops/semconv/workflow.py,sha256=N7WsN9DgOPd3lZulS9MJeJRv4zeVnUwC8ZRl0fUbD5o,4290
|
65
|
-
mseep_agentops-0.4.18.dist-info/licenses/LICENSE,sha256=zWW9oSZpJVAMBUk-iWOCWBk7c7ITYX2BUU-feXmjKYU,1068
|
66
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
67
|
-
tests/conftest.py,sha256=JqkAW8DASuGo8kKnc3reM-AUHVu40rbxp5Ko_vUv3bw,156
|
68
|
-
tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
69
|
-
tests/unit/conftest.py,sha256=xXtm0ej-As6TQdCMg6JWuxIMbGqIcar9s_c4VPL34nY,1205
|
70
|
-
tests/unit/test_config.py,sha256=OWbUvB5-a39bnAJIBYCP5tg0tozYwQA3gCfGCCHYWW8,2811
|
71
|
-
tests/unit/test_context_manager.py,sha256=abmPx2Xi0wyRCyWK2Hiq1ykpS0RCgtFHQWRLV2I6ufg,31724
|
72
|
-
tests/unit/test_events.py,sha256=nr8DQdhZffW52Eq_Q713G8V5T6LzsVMGhi-w0PdKR1U,657
|
73
|
-
tests/unit/test_host_env.py,sha256=991m9TL-AIDs2w-mhWGin043p9Ygp0DrysRG3g1hhWk,1777
|
74
|
-
tests/unit/test_init_py.py,sha256=ZsLjj5TOi25uIJn1cOrVeeE1ZEQeyK7o-se17g31RP4,19813
|
75
|
-
tests/unit/test_serialization.py,sha256=xKJLpP5CwFJHnJ6Ipog_BxjHycSgJuucZ2rlpngrq_g,13817
|
76
|
-
tests/unit/test_session.py,sha256=n9qSNIums64NRPd4cTHbr2OraozFRwexj7PD5tn4_Hk,24303
|
77
|
-
tests/unit/test_user_agent.py,sha256=nV02OvG6DCbLYW1I70ty-gtZMrARNHy6wtY7ehgHFig,1329
|
78
|
-
tests/unit/test_validation.py,sha256=GgBZGiiOo5tKaQOva2WsHh44xboMsqop9o_37ldKlRQ,16248
|
79
|
-
tests/unit/client/__init__.py,sha256=wTTEld19ez6ToxcPNsz6CyTm4edP8SLrav0NUNrFjB4,50
|
80
|
-
tests/unit/client/test_http_adapter.py,sha256=pMSCfT0Zk7X-LsGsFRiDDtdgfxnXQpyT3h6ifE7VxMc,9316
|
81
|
-
tests/unit/client/test_http_client.py,sha256=qFWzntM1-aLV03xBFjeEVB7fQ-ZTkBZ5gYV1y-KsWgA,7699
|
82
|
-
tests/unit/sdk/__init__.py,sha256=pSE-h4UCp-teG9p-a4T0aXHdSCVuVQhw1gyVq-T57JQ,27
|
83
|
-
tests/unit/sdk/instrumentation_tester.py,sha256=_LYJRP-SEmfb9FUcAYrzdgC3JbC-gFF-y2-Z3PT_1Ck,7011
|
84
|
-
tests/unit/sdk/test_attributes.py,sha256=a4ecfgdoaVpj41upEzNR92_oXsuGU0uTxUx6vMW2_Ng,16759
|
85
|
-
tests/unit/sdk/test_concurrent_instrumentation.py,sha256=B047ExN8CJgp_AVCrYWV-rgaKS76NIkFVhRcdjoSovg,20606
|
86
|
-
tests/unit/sdk/test_decorators.py,sha256=CQ1OXOmYfJKfPpfBQuSGfXf578YRX0XXkq6AnecY9IY,31492
|
87
|
-
tests/unit/sdk/test_exporters.py,sha256=7rnw3UIi1uZWni9wVd99jb7Rayk1v3y0Z_eUp3TvZeU,10091
|
88
|
-
tests/unit/sdk/test_factory.py,sha256=ju7CyyV1vyL6TqGGRq4YfqMDpp-jrP918z7GEIgTQuo,47627
|
89
|
-
tests/unit/sdk/test_internal_span_processor.py,sha256=Sbs_4QHtQMYqcNUS6yHtRmI7JUXFSpwpShooVOrH8AY,15917
|
90
|
-
tests/unit/sdk/test_resource_attributes.py,sha256=476tVAr4Q-EyyNtBtbkRgA02EMuAGju3NSj9iFLAl8Q,1415
|
91
|
-
mseep_agentops-0.4.18.dist-info/METADATA,sha256=Zn6ty9CDZJEApqphvjX5c1R4DBrzLZhvSfFyRgYrEMo,1868
|
92
|
-
mseep_agentops-0.4.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
93
|
-
mseep_agentops-0.4.18.dist-info/top_level.txt,sha256=UrI_CYrHsaaH2rfrGxmVR9jKHfHV2lv1HVENlV8xEeI,15
|
94
|
-
mseep_agentops-0.4.18.dist-info/RECORD,,
|
tests/conftest.py
DELETED
tests/unit/client/__init__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"""Unit tests for the agentops.client package."""
|
@@ -1,221 +0,0 @@
|
|
1
|
-
"""Tests for the HTTP adapter classes."""
|
2
|
-
|
3
|
-
from urllib3.util import Retry
|
4
|
-
|
5
|
-
from agentops.client.http.http_adapter import BaseHTTPAdapter
|
6
|
-
|
7
|
-
# from agentops.client.auth_manager import AuthManager
|
8
|
-
|
9
|
-
|
10
|
-
class TestBaseHTTPAdapter:
|
11
|
-
"""Tests for the BaseHTTPAdapter class."""
|
12
|
-
|
13
|
-
def test_init_with_default_params(self):
|
14
|
-
"""Test that the adapter initializes with default parameters."""
|
15
|
-
adapter = BaseHTTPAdapter()
|
16
|
-
|
17
|
-
# Verify the adapter was created with the expected parameters
|
18
|
-
assert adapter.poolmanager is not None
|
19
|
-
|
20
|
-
# Check that max_retries was set
|
21
|
-
assert adapter.max_retries is not None
|
22
|
-
assert isinstance(adapter.max_retries, Retry)
|
23
|
-
assert adapter.max_retries.total == 3
|
24
|
-
assert adapter.max_retries.backoff_factor == 0.1
|
25
|
-
assert adapter.max_retries.status_forcelist == [500, 502, 503, 504]
|
26
|
-
|
27
|
-
def test_init_with_custom_params(self):
|
28
|
-
"""Test that the adapter initializes with custom parameters."""
|
29
|
-
custom_retry = Retry(total=5, backoff_factor=0.5, status_forcelist=[429, 500, 502, 503, 504])
|
30
|
-
|
31
|
-
adapter = BaseHTTPAdapter(pool_connections=20, pool_maxsize=300, max_retries=custom_retry)
|
32
|
-
|
33
|
-
# Verify the adapter was created with the expected parameters
|
34
|
-
assert adapter.poolmanager is not None
|
35
|
-
|
36
|
-
# Check that max_retries was set to our custom value
|
37
|
-
assert adapter.max_retries is custom_retry
|
38
|
-
assert adapter.max_retries.total == 5
|
39
|
-
assert adapter.max_retries.backoff_factor == 0.5
|
40
|
-
assert adapter.max_retries.status_forcelist == [429, 500, 502, 503, 504]
|
41
|
-
|
42
|
-
|
43
|
-
# class TestAuthenticatedHttpAdapter:
|
44
|
-
# """Tests for the AuthenticatedHttpAdapter class."""
|
45
|
-
#
|
46
|
-
# @pytest.fixture
|
47
|
-
# def auth_manager(self):
|
48
|
-
# """Create an AuthManager for testing."""
|
49
|
-
# return AuthManager(token_endpoint="https://api.example.com/auth/token")
|
50
|
-
#
|
51
|
-
# @pytest.fixture
|
52
|
-
# def token_fetcher(self):
|
53
|
-
# """Create a token fetcher function for testing."""
|
54
|
-
# return mock.Mock(return_value={"token": "test-token", "project_id": "test-project"})
|
55
|
-
#
|
56
|
-
# def test_init(self, auth_manager, token_fetcher):
|
57
|
-
# """Test that the adapter initializes correctly."""
|
58
|
-
# adapter = AuthenticatedHttpAdapter(
|
59
|
-
# auth_manager=auth_manager,
|
60
|
-
# api_key="test-api-key",
|
61
|
-
# token_fetcher=token_fetcher
|
62
|
-
# )
|
63
|
-
#
|
64
|
-
# # Verify the adapter was created with the expected parameters
|
65
|
-
# assert adapter.auth_manager is auth_manager
|
66
|
-
# assert adapter.api_key == "test-api-key"
|
67
|
-
# assert adapter.token_fetcher is token_fetcher
|
68
|
-
#
|
69
|
-
# # Verify it's a subclass of BaseHTTPAdapter
|
70
|
-
# assert isinstance(adapter, BaseHTTPAdapter)
|
71
|
-
#
|
72
|
-
# def test_add_headers(self, auth_manager, token_fetcher):
|
73
|
-
# """Test that add_headers adds authentication headers to the request."""
|
74
|
-
# # Setup
|
75
|
-
# adapter = AuthenticatedHttpAdapter(
|
76
|
-
# auth_manager=auth_manager,
|
77
|
-
# api_key="test-api-key",
|
78
|
-
# token_fetcher=token_fetcher
|
79
|
-
# )
|
80
|
-
#
|
81
|
-
# # Mock the auth manager methods
|
82
|
-
# auth_manager.maybe_fetch = mock.Mock(return_value={"token": "test-token", "project_id": "test-project"})
|
83
|
-
# auth_manager.prepare_auth_headers = mock.Mock(return_value={
|
84
|
-
# "Authorization": "Bearer test-token",
|
85
|
-
# "Content-Type": "application/json; charset=UTF-8",
|
86
|
-
# "X-Agentops-Api-Key": "test-api-key"
|
87
|
-
# })
|
88
|
-
#
|
89
|
-
# # Create a request
|
90
|
-
# request = requests.Request('GET', 'https://api.example.com/test').prepare()
|
91
|
-
#
|
92
|
-
# # Call add_headers
|
93
|
-
# modified_request = adapter.add_headers(request)
|
94
|
-
#
|
95
|
-
# # Verify the auth manager methods were called
|
96
|
-
# auth_manager.maybe_fetch.assert_called_once_with("test-api-key", token_fetcher)
|
97
|
-
# auth_manager.prepare_auth_headers.assert_called_once_with("test-api-key")
|
98
|
-
#
|
99
|
-
# # Verify the headers were added to the request
|
100
|
-
# assert modified_request.headers["Authorization"] == "Bearer test-token"
|
101
|
-
# assert modified_request.headers["Content-Type"] == "application/json; charset=UTF-8"
|
102
|
-
# assert modified_request.headers["X-Agentops-Api-Key"] == "test-api-key"
|
103
|
-
#
|
104
|
-
# def test_send_success(self, auth_manager, token_fetcher, mocker: MockerFixture):
|
105
|
-
# """Test that send successfully sends a request."""
|
106
|
-
# # Setup
|
107
|
-
# adapter = AuthenticatedHttpAdapter(
|
108
|
-
# auth_manager=auth_manager,
|
109
|
-
# api_key="test-api-key",
|
110
|
-
# token_fetcher=token_fetcher
|
111
|
-
# )
|
112
|
-
#
|
113
|
-
# # Mock the add_headers method
|
114
|
-
# mocker.patch.object(adapter, 'add_headers', side_effect=lambda r, **kw: r)
|
115
|
-
#
|
116
|
-
# # Mock the parent send method
|
117
|
-
# mock_response = mock.Mock(spec=requests.Response)
|
118
|
-
# mock_response.status_code = 200
|
119
|
-
# mocker.patch.object(BaseHTTPAdapter, 'send', return_value=mock_response)
|
120
|
-
#
|
121
|
-
# # Mock the is_token_expired_response method
|
122
|
-
# auth_manager.is_token_expired_response = mock.Mock(return_value=False)
|
123
|
-
#
|
124
|
-
# # Create a request
|
125
|
-
# request = requests.Request('GET', 'https://api.example.com/test').prepare()
|
126
|
-
#
|
127
|
-
# # Call send
|
128
|
-
# response = adapter.send(request)
|
129
|
-
#
|
130
|
-
# # Verify the response
|
131
|
-
# assert response is mock_response
|
132
|
-
# assert response.status_code == 200
|
133
|
-
#
|
134
|
-
# # Verify the methods were called
|
135
|
-
# adapter.add_headers.assert_called_once()
|
136
|
-
# BaseHTTPAdapter.send.assert_called_once()
|
137
|
-
# auth_manager.is_token_expired_response.assert_called_once_with(mock_response)
|
138
|
-
#
|
139
|
-
# def test_send_with_token_refresh(self, auth_manager, token_fetcher, mocker: MockerFixture):
|
140
|
-
# """Test that send refreshes the token if it's expired."""
|
141
|
-
# # Setup
|
142
|
-
# adapter = AuthenticatedHttpAdapter(
|
143
|
-
# auth_manager=auth_manager,
|
144
|
-
# api_key="test-api-key",
|
145
|
-
# token_fetcher=token_fetcher
|
146
|
-
# )
|
147
|
-
#
|
148
|
-
# # Mock the add_headers method
|
149
|
-
# mocker.patch.object(adapter, 'add_headers', side_effect=lambda r, **kw: r)
|
150
|
-
#
|
151
|
-
# # Mock the parent send method to return a 401 response first, then a 200 response
|
152
|
-
# expired_response = mock.Mock(spec=requests.Response)
|
153
|
-
# expired_response.status_code = 401
|
154
|
-
#
|
155
|
-
# success_response = mock.Mock(spec=requests.Response)
|
156
|
-
# success_response.status_code = 200
|
157
|
-
#
|
158
|
-
# mocker.patch.object(
|
159
|
-
# BaseHTTPAdapter,
|
160
|
-
# 'send',
|
161
|
-
# side_effect=[expired_response, success_response]
|
162
|
-
# )
|
163
|
-
#
|
164
|
-
# # Mock the auth manager methods
|
165
|
-
# auth_manager.is_token_expired_response = mock.Mock(return_value=True)
|
166
|
-
# auth_manager.clear_token = mock.Mock()
|
167
|
-
# auth_manager.maybe_fetch = mock.Mock(return_value={"token": "new-token", "project_id": "test-project"})
|
168
|
-
#
|
169
|
-
# # Create a request
|
170
|
-
# request = requests.Request('GET', 'https://api.example.com/test').prepare()
|
171
|
-
#
|
172
|
-
# # Call send
|
173
|
-
# response = adapter.send(request)
|
174
|
-
#
|
175
|
-
# # Verify the auth manager methods were called
|
176
|
-
# auth_manager.is_token_expired_response.assert_called_once_with(expired_response)
|
177
|
-
# auth_manager.clear_token.assert_called_once()
|
178
|
-
# auth_manager.maybe_fetch.assert_called_once_with("test-api-key", token_fetcher)
|
179
|
-
#
|
180
|
-
# # Verify the response is the success response
|
181
|
-
# assert response is success_response
|
182
|
-
#
|
183
|
-
# def test_send_with_token_refresh_failure(self, auth_manager, token_fetcher, mocker: MockerFixture):
|
184
|
-
# """Test that send handles token refresh failures gracefully."""
|
185
|
-
# # Setup
|
186
|
-
# adapter = AuthenticatedHttpAdapter(
|
187
|
-
# auth_manager=auth_manager,
|
188
|
-
# api_key="test-api-key",
|
189
|
-
# token_fetcher=token_fetcher
|
190
|
-
# )
|
191
|
-
#
|
192
|
-
# # Mock the add_headers method
|
193
|
-
# mocker.patch.object(adapter, 'add_headers', side_effect=lambda r, **kw: r)
|
194
|
-
#
|
195
|
-
# # Mock the parent send method to return a 401 response
|
196
|
-
# expired_response = mock.Mock(spec=requests.Response)
|
197
|
-
# expired_response.status_code = 401
|
198
|
-
#
|
199
|
-
# mocker.patch.object(BaseHTTPAdapter, 'send', return_value=expired_response)
|
200
|
-
#
|
201
|
-
# # Mock the auth manager methods
|
202
|
-
# auth_manager.is_token_expired_response = mock.Mock(return_value=True)
|
203
|
-
# auth_manager.clear_token = mock.Mock()
|
204
|
-
# auth_manager.maybe_fetch = mock.Mock(side_effect=AgentOpsApiJwtExpiredException("Failed to refresh token"))
|
205
|
-
#
|
206
|
-
# # Create a request
|
207
|
-
# request = requests.Request('GET', 'https://api.example.com/test').prepare()
|
208
|
-
#
|
209
|
-
# # Call send
|
210
|
-
# response = adapter.send(request)
|
211
|
-
#
|
212
|
-
# # Verify the response is the original 401 response
|
213
|
-
# assert response is expired_response
|
214
|
-
# assert response.status_code == 401
|
215
|
-
#
|
216
|
-
# # Verify the methods were called
|
217
|
-
# adapter.add_headers.assert_called_once() # Only called for initial request
|
218
|
-
# BaseHTTPAdapter.send.assert_called_once() # Only called for initial request
|
219
|
-
# auth_manager.is_token_expired_response.assert_called_once_with(expired_response)
|
220
|
-
# auth_manager.clear_token.assert_called_once()
|
221
|
-
# auth_manager.maybe_fetch.assert_called_once_with("test-api-key", token_fetcher)
|