acp-sdk 0.2.3__py3-none-any.whl → 0.2.4__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.
acp_sdk/client/client.py CHANGED
@@ -9,6 +9,7 @@ from httpx_sse import EventSource, aconnect_sse
9
9
  from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor
10
10
  from pydantic import TypeAdapter
11
11
 
12
+ from acp_sdk.instrumentation import get_tracer
12
13
  from acp_sdk.models import (
13
14
  ACPError,
14
15
  Agent,
@@ -62,7 +63,9 @@ class Client:
62
63
 
63
64
  @asynccontextmanager
64
65
  async def session(self, session_id: SessionId | None = None) -> AsyncGenerator[Self]:
65
- yield Client(client=self._client, session_id=session_id or uuid.uuid4(), instrument=False)
66
+ session_id = session_id or uuid.uuid4()
67
+ with get_tracer().start_as_current_span("session", attributes={"acp.session": str(session_id)}):
68
+ yield Client(client=self._client, session_id=session_id, instrument=False)
66
69
 
67
70
  async def agents(self) -> AsyncIterator[Agent]:
68
71
  response = await self._client.get("/agents")
@@ -0,0 +1,7 @@
1
+ from opentelemetry import trace
2
+
3
+ from acp_sdk.version import __version__
4
+
5
+
6
+ def get_tracer() -> trace.Tracer:
7
+ return trace.get_tracer("acp-sdk", __version__)
acp_sdk/server/bundle.py CHANGED
@@ -5,6 +5,7 @@ from concurrent.futures import ThreadPoolExecutor
5
5
 
6
6
  from pydantic import ValidationError
7
7
 
8
+ from acp_sdk.instrumentation import get_tracer
8
9
  from acp_sdk.models import (
9
10
  ACPError,
10
11
  AnyModel,
@@ -30,7 +31,6 @@ from acp_sdk.models import (
30
31
  )
31
32
  from acp_sdk.server.agent import Agent
32
33
  from acp_sdk.server.logging import logger
33
- from acp_sdk.server.telemetry import get_tracer
34
34
 
35
35
 
36
36
  class RunBundle:
@@ -127,6 +127,8 @@ class RunBundle:
127
127
  await_resume = await self.await_()
128
128
  await self.emit(RunInProgressEvent(run=self.run))
129
129
  run_logger.info("Run resumed")
130
+ elif isinstance(next, Error):
131
+ raise ACPError(error=next)
130
132
  else:
131
133
  try:
132
134
  generic = AnyModel.model_validate(next)
@@ -51,7 +51,3 @@ def configure_telemetry() -> None:
51
51
  processor = BatchLogRecordProcessor(OTLPLogExporter())
52
52
  logger_provider.add_log_record_processor(processor)
53
53
  root_logger.addHandler(LoggingHandler(logger_provider=logger_provider))
54
-
55
-
56
- def get_tracer() -> trace.Tracer:
57
- return trace.get_tracer("acp-sdk", __version__)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acp-sdk
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Agent Communication Protocol SDK
5
5
  Author: IBM Corp.
6
6
  Maintainer-email: Tomas Pilar <thomas7pilar@gmail.com>
@@ -1,8 +1,9 @@
1
1
  acp_sdk/__init__.py,sha256=tXdAUM9zcmdSKCAkVrOCrGcXcuVS-yuvQUoQwTe9pek,98
2
+ acp_sdk/instrumentation.py,sha256=JqSyvILN3sGAfOZrmckQq4-M_4_5alyPn95DK0o5lfA,161
2
3
  acp_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
4
  acp_sdk/version.py,sha256=Niy83rgvigB4hL_rR-O4ySvI7dj6xnqkyOe_JTymi9s,73
4
5
  acp_sdk/client/__init__.py,sha256=Bca1DORrswxzZsrR2aUFpATuNG2xNSmYvF1Z2WJaVbc,51
5
- acp_sdk/client/client.py,sha256=N3kkxtSFlz_BzDcnq4xQCGDiu66EWzTzZ9HTpzNEOBk,6113
6
+ acp_sdk/client/client.py,sha256=5aA078pJxedVSGhhJ-NTTfjc19atSkdTyfR8LO6jgyM,6301
6
7
  acp_sdk/models/__init__.py,sha256=numSDBDT1QHx7n_Y3Deb5VOvKWcUBxbOEaMwQBSRHxc,151
7
8
  acp_sdk/models/errors.py,sha256=rEyaMVvQuBi7fwWe_d0PGGySYsD3FZTluQ-SkC0yhAs,444
8
9
  acp_sdk/models/models.py,sha256=Z8qgURpz18uPXpYDYmlbMQ3Du9-hrJUE3GVPf7ufdUY,3994
@@ -10,15 +11,15 @@ acp_sdk/models/schemas.py,sha256=Kj7drJSR8d-N3KHzu_qTnLdagrMtAyhid5swluuhHTw,645
10
11
  acp_sdk/server/__init__.py,sha256=mxBBBFaZuMEUENRMLwp1XZkuLeT9QghcFmNvjnqvAAU,377
11
12
  acp_sdk/server/agent.py,sha256=fGky5MIuknw-Gy-THqhWLt9I9-gUyNIar8qEAvZb3uQ,6195
12
13
  acp_sdk/server/app.py,sha256=qLeQ1STgX8_7cRtG-7Be6V5vS9ooBq6O89cQryqBdII,5903
13
- acp_sdk/server/bundle.py,sha256=89Iu6YjsaqGDmLcP4ScLPIP6oi08Lf2SFQr8WBQ9TK8,6078
14
+ acp_sdk/server/bundle.py,sha256=VchPUW8URH83-qJo9kRQsYCBcuLKbxGXHB3sw9CK0cc,6178
14
15
  acp_sdk/server/context.py,sha256=MgnLV6qcDIhc_0BjW7r4Jj1tHts4ZuwpdTGIBnz2Mgo,1036
15
16
  acp_sdk/server/errors.py,sha256=fWlgVsQ5hs_AXwzc-wvy6QgoDWEMRUBlSrfJfhHHMyE,2085
16
17
  acp_sdk/server/logging.py,sha256=Oc8yZigCsuDnHHPsarRzu0RX3NKaLEgpELM2yovGKDI,411
17
18
  acp_sdk/server/server.py,sha256=-eT3fmnEsBUN44Spi2EP2eV0l4RAlKa8bzqxnhz16SM,5399
18
19
  acp_sdk/server/session.py,sha256=0cDr924HC5x2bBNbK9NSKVHAt5A_mi5dK8P4jP_ugq0,629
19
- acp_sdk/server/telemetry.py,sha256=WIEHK8syOTG9SyWi3Y-cos7CsCF5-IHGiyL9bCaUN0E,1921
20
+ acp_sdk/server/telemetry.py,sha256=1BUxNg-xL_Vqgs27PDWNc3HikrQW2lidAtT_FKlp_Qk,1833
20
21
  acp_sdk/server/types.py,sha256=1bqMCjwZM3JzvJ1h4aBHWzjbldMQ45HqcezBD6hUoYo,175
21
22
  acp_sdk/server/utils.py,sha256=EfrF9VCyVk3AM_ao-BIB9EzGbfTrh4V2Bz-VFr6f6Sg,351
22
- acp_sdk-0.2.3.dist-info/METADATA,sha256=LwqB-ZDr3k6tz5lzjD3rEzWz-h5Ccu4W9AI5-EpACGQ,3463
23
- acp_sdk-0.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
24
- acp_sdk-0.2.3.dist-info/RECORD,,
23
+ acp_sdk-0.2.4.dist-info/METADATA,sha256=JCfcw8ZueUe0WzIBTrfQMcn4yRPIShxt0woTWN0M9sk,3463
24
+ acp_sdk-0.2.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
+ acp_sdk-0.2.4.dist-info/RECORD,,