quraite 0.0.2__py3-none-any.whl → 0.1.0__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.
Files changed (48) hide show
  1. quraite/__init__.py +3 -3
  2. quraite/adapters/__init__.py +134 -134
  3. quraite/adapters/agno_adapter.py +159 -159
  4. quraite/adapters/base.py +123 -123
  5. quraite/adapters/bedrock_agents_adapter.py +343 -343
  6. quraite/adapters/flowise_adapter.py +275 -275
  7. quraite/adapters/google_adk_adapter.py +209 -209
  8. quraite/adapters/http_adapter.py +239 -239
  9. quraite/adapters/langflow_adapter.py +192 -192
  10. quraite/adapters/langgraph_adapter.py +304 -304
  11. quraite/adapters/langgraph_server_adapter.py +252 -252
  12. quraite/adapters/n8n_adapter.py +220 -220
  13. quraite/adapters/openai_agents_adapter.py +269 -269
  14. quraite/adapters/pydantic_ai_adapter.py +312 -312
  15. quraite/adapters/smolagents_adapter.py +152 -152
  16. quraite/logger.py +61 -64
  17. quraite/schema/message.py +91 -54
  18. quraite/schema/response.py +16 -16
  19. quraite/serve/__init__.py +1 -1
  20. quraite/serve/cloudflared.py +210 -210
  21. quraite/serve/local_agent.py +360 -360
  22. quraite/tracing/__init__.py +24 -24
  23. quraite/tracing/constants.py +16 -16
  24. quraite/tracing/span_exporter.py +115 -115
  25. quraite/tracing/span_processor.py +49 -49
  26. quraite/tracing/tool_extractors.py +290 -290
  27. quraite/tracing/trace.py +564 -494
  28. quraite/tracing/types.py +179 -179
  29. quraite/tracing/utils.py +170 -170
  30. quraite/utils/json_utils.py +269 -269
  31. {quraite-0.0.2.dist-info → quraite-0.1.0.dist-info}/METADATA +9 -9
  32. quraite-0.1.0.dist-info/RECORD +35 -0
  33. {quraite-0.0.2.dist-info → quraite-0.1.0.dist-info}/WHEEL +1 -1
  34. quraite/traces/traces_adk_openinference.json +0 -379
  35. quraite/traces/traces_agno_multi_agent.json +0 -669
  36. quraite/traces/traces_agno_openinference.json +0 -321
  37. quraite/traces/traces_crewai_openinference.json +0 -155
  38. quraite/traces/traces_langgraph_openinference.json +0 -349
  39. quraite/traces/traces_langgraph_openinference_multi_agent.json +0 -2705
  40. quraite/traces/traces_langgraph_traceloop.json +0 -510
  41. quraite/traces/traces_openai_agents_multi_agent_1.json +0 -402
  42. quraite/traces/traces_openai_agents_openinference.json +0 -341
  43. quraite/traces/traces_pydantic_openinference.json +0 -286
  44. quraite/traces/traces_pydantic_openinference_multi_agent_1.json +0 -399
  45. quraite/traces/traces_pydantic_openinference_multi_agent_2.json +0 -398
  46. quraite/traces/traces_smol_agents_openinference.json +0 -397
  47. quraite/traces/traces_smol_agents_tool_calling_openinference.json +0 -704
  48. quraite-0.0.2.dist-info/RECORD +0 -49
@@ -1,399 +0,0 @@
1
- [
2
- {
3
- "trace_id": "964d76c8",
4
- "spans": [
5
- {
6
- "name": "chat gpt-4o-mini",
7
- "context": {
8
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
9
- "span_id": "0x18885a1cf4647101",
10
- "trace_state": "[]"
11
- },
12
- "kind": "SpanKind.INTERNAL",
13
- "parent_id": "0xbdf953749a33f6f6",
14
- "start_time": "2025-11-26T13:14:51.916700Z",
15
- "end_time": "2025-11-26T13:14:52.981055Z",
16
- "status": {
17
- "status_code": "UNSET"
18
- },
19
- "attributes": {
20
- "gen_ai.operation.name": "chat",
21
- "gen_ai.system": "openai",
22
- "gen_ai.request.model": "gpt-4o-mini",
23
- "server.address": "api.openai.com",
24
- "model_request_parameters": "{\"function_tools\": [{\"name\": \"joke_factory\", \"parameters_json_schema\": {\"additionalProperties\": false, \"properties\": {\"count\": {\"type\": \"integer\"}}, \"required\": [\"count\"], \"type\": \"object\"}, \"description\": null, \"outer_typed_dict_key\": null, \"strict\": true, \"sequential\": false, \"kind\": \"function\", \"metadata\": null}], \"builtin_tools\": [], \"output_mode\": \"text\", \"output_object\": null, \"output_tools\": [], \"prompted_output_template\": null, \"allow_text_output\": true, \"allow_image_output\": false}",
25
- "gen_ai.input.messages": "[{\"role\": \"system\", \"parts\": [{\"type\": \"text\", \"content\": \"Use the `joke_factory` to generate some jokes, then choose the best. You must return just a single joke.\"}]}, {\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Tell me a joke.\"}]}]",
26
- "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_l6BhGe5gyVG48quz305N1xZ0\", \"name\": \"joke_factory\", \"arguments\": \"{\\\"count\\\":1}\"}], \"finish_reason\": \"tool_call\"}]",
27
- "logfire.json_schema": "{\"type\": \"object\", \"properties\": {\"gen_ai.input.messages\": {\"type\": \"array\"}, \"gen_ai.output.messages\": {\"type\": \"array\"}, \"model_request_parameters\": {\"type\": \"object\"}}}",
28
- "gen_ai.usage.input_tokens": 67,
29
- "gen_ai.usage.output_tokens": 15,
30
- "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
31
- "operation.cost": 1.905e-05,
32
- "gen_ai.response.id": "chatcmpl-Cg9e8T87Cb0OASOsUou7QUDloTi5t",
33
- "gen_ai.response.finish_reasons": [
34
- "tool_call"
35
- ],
36
- "openinference.span.kind": "LLM",
37
- "llm.system": "openai",
38
- "llm.model_name": "gpt-4o-mini",
39
- "llm.token_count.prompt": 67,
40
- "llm.token_count.completion": 15,
41
- "llm.token_count.total": 82,
42
- "llm.input_messages.0.message.content": "Use the `joke_factory` to generate some jokes, then choose the best. You must return just a single joke.",
43
- "llm.input_messages.0.message.role": "system",
44
- "llm.input_messages.1.message.content": "Tell me a joke.",
45
- "llm.input_messages.1.message.role": "user",
46
- "input.value": "Tell me a joke.",
47
- "llm.output_messages.0.message.role": "assistant",
48
- "llm.output_messages.0.message.tool_calls.0.tool_call.function.name": "joke_factory",
49
- "llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments": "{\"count\":1}",
50
- "llm.output_messages.0.message.tool_calls.0.tool_call.id": "call_l6BhGe5gyVG48quz305N1xZ0"
51
- },
52
- "events": [],
53
- "links": [],
54
- "resource": {
55
- "attributes": {
56
- "telemetry.sdk.language": "python",
57
- "telemetry.sdk.name": "opentelemetry",
58
- "telemetry.sdk.version": "1.38.0",
59
- "service.name": "banking-support-agent",
60
- "service.version": "1.0.0",
61
- "openinference.project.name": "banking-support-agent"
62
- },
63
- "schema_url": ""
64
- }
65
- },
66
- {
67
- "name": "chat gemini-2.5-flash",
68
- "context": {
69
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
70
- "span_id": "0xfa905719d0dce83b",
71
- "trace_state": "[]"
72
- },
73
- "kind": "SpanKind.INTERNAL",
74
- "parent_id": "0xe227e268c3746061",
75
- "start_time": "2025-11-26T13:14:52.982803Z",
76
- "end_time": "2025-11-26T13:14:55.999260Z",
77
- "status": {
78
- "status_code": "UNSET"
79
- },
80
- "attributes": {
81
- "gen_ai.operation.name": "chat",
82
- "gen_ai.system": "google-gla",
83
- "gen_ai.request.model": "gemini-2.5-flash",
84
- "server.address": "generativelanguage.googleapis.com",
85
- "model_request_parameters": "{\"function_tools\": [], \"builtin_tools\": [], \"output_mode\": \"tool\", \"output_object\": null, \"output_tools\": [{\"name\": \"final_result\", \"parameters_json_schema\": {\"properties\": {\"response\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"required\": [\"response\"], \"type\": \"object\"}, \"description\": \"The final response which ends this conversation\", \"outer_typed_dict_key\": \"response\", \"strict\": true, \"sequential\": false, \"kind\": \"output\", \"metadata\": null}], \"prompted_output_template\": null, \"allow_text_output\": false, \"allow_image_output\": false}",
86
- "gen_ai.input.messages": "[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Please generate 1 jokes.\"}]}]",
87
- "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"pyd_ai_983109a5272b46708e39103028b93df7\", \"name\": \"final_result\", \"arguments\": {\"response\": [\"Why don't scientists trust atoms? Because they make up everything!\"]}}], \"finish_reason\": \"stop\"}]",
88
- "logfire.json_schema": "{\"type\": \"object\", \"properties\": {\"gen_ai.input.messages\": {\"type\": \"array\"}, \"gen_ai.output.messages\": {\"type\": \"array\"}, \"model_request_parameters\": {\"type\": \"object\"}}}",
89
- "gen_ai.usage.input_tokens": 48,
90
- "gen_ai.usage.output_tokens": 95,
91
- "gen_ai.usage.details.thoughts_tokens": 67,
92
- "gen_ai.usage.details.text_prompt_tokens": 48,
93
- "gen_ai.response.model": "gemini-2.5-flash",
94
- "operation.cost": 0.0002519,
95
- "gen_ai.response.id": "T_0madbELdCp4-EPuJ-WsA8",
96
- "gen_ai.response.finish_reasons": [
97
- "stop"
98
- ],
99
- "openinference.span.kind": "LLM",
100
- "llm.system": "google-gla",
101
- "llm.model_name": "gemini-2.5-flash",
102
- "llm.token_count.prompt": 48,
103
- "llm.token_count.completion": 95,
104
- "llm.token_count.total": 143,
105
- "llm.tools.0.tool.name": "final_result",
106
- "llm.tools.0.tool.description": "The final response which ends this conversation",
107
- "llm.input_messages.0.message.content": "Please generate 1 jokes.",
108
- "llm.input_messages.0.message.role": "user",
109
- "input.value": "Please generate 1 jokes.",
110
- "llm.output_messages.0.message.role": "assistant",
111
- "llm.output_messages.0.message.tool_calls.0.tool_call.function.name": "final_result",
112
- "llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments": {
113
- "response": [
114
- "Why don't scientists trust atoms? Because they make up everything!"
115
- ]
116
- },
117
- "llm.output_messages.0.message.tool_calls.0.tool_call.id": "pyd_ai_983109a5272b46708e39103028b93df7",
118
- "output.value": {
119
- "response": [
120
- "Why don't scientists trust atoms? Because they make up everything!"
121
- ]
122
- }
123
- },
124
- "events": [],
125
- "links": [],
126
- "resource": {
127
- "attributes": {
128
- "telemetry.sdk.language": "python",
129
- "telemetry.sdk.name": "opentelemetry",
130
- "telemetry.sdk.version": "1.38.0",
131
- "service.name": "banking-support-agent",
132
- "service.version": "1.0.0",
133
- "openinference.project.name": "banking-support-agent"
134
- },
135
- "schema_url": ""
136
- }
137
- },
138
- {
139
- "name": "agent run",
140
- "context": {
141
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
142
- "span_id": "0xe227e268c3746061",
143
- "trace_state": "[]"
144
- },
145
- "kind": "SpanKind.INTERNAL",
146
- "parent_id": "0x47cd41c5b8bf0f23",
147
- "start_time": "2025-11-26T13:14:52.982217Z",
148
- "end_time": "2025-11-26T13:14:55.999814Z",
149
- "status": {
150
- "status_code": "UNSET"
151
- },
152
- "attributes": {
153
- "model_name": "gemini-2.5-flash",
154
- "agent_name": "joke_generation_agent",
155
- "gen_ai.agent.name": "joke_generation_agent",
156
- "logfire.msg": "joke_generation_agent run",
157
- "final_result": "[\"Why don't scientists trust atoms? Because they make up everything!\"]",
158
- "gen_ai.usage.input_tokens": 115,
159
- "gen_ai.usage.output_tokens": 110,
160
- "gen_ai.usage.details.thoughts_tokens": 67,
161
- "gen_ai.usage.details.text_prompt_tokens": 48,
162
- "pydantic_ai.all_messages": "[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Please generate 1 jokes.\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"pyd_ai_983109a5272b46708e39103028b93df7\", \"name\": \"final_result\", \"arguments\": {\"response\": [\"Why don't scientists trust atoms? Because they make up everything!\"]}}], \"finish_reason\": \"stop\"}, {\"role\": \"user\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"pyd_ai_983109a5272b46708e39103028b93df7\", \"name\": \"final_result\", \"result\": \"Final result processed.\"}]}]",
163
- "logfire.json_schema": "{\"type\": \"object\", \"properties\": {\"pydantic_ai.all_messages\": {\"type\": \"array\"}, \"final_result\": {\"type\": \"object\"}}}",
164
- "output.value": "[\"Why don't scientists trust atoms? Because they make up everything!\"]",
165
- "input.value": "Please generate 1 jokes.",
166
- "openinference.span.kind": "AGENT"
167
- },
168
- "events": [],
169
- "links": [],
170
- "resource": {
171
- "attributes": {
172
- "telemetry.sdk.language": "python",
173
- "telemetry.sdk.name": "opentelemetry",
174
- "telemetry.sdk.version": "1.38.0",
175
- "service.name": "banking-support-agent",
176
- "service.version": "1.0.0",
177
- "openinference.project.name": "banking-support-agent"
178
- },
179
- "schema_url": ""
180
- }
181
- },
182
- {
183
- "name": "running tool",
184
- "context": {
185
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
186
- "span_id": "0x47cd41c5b8bf0f23",
187
- "trace_state": "[]"
188
- },
189
- "kind": "SpanKind.INTERNAL",
190
- "parent_id": "0xfe14b3677b5ddbb4",
191
- "start_time": "2025-11-26T13:14:52.981619Z",
192
- "end_time": "2025-11-26T13:14:55.999949Z",
193
- "status": {
194
- "status_code": "UNSET"
195
- },
196
- "attributes": {
197
- "gen_ai.tool.name": "joke_factory",
198
- "gen_ai.tool.call.id": "call_l6BhGe5gyVG48quz305N1xZ0",
199
- "tool_arguments": "{\"count\":1}",
200
- "logfire.msg": "running tool: joke_factory",
201
- "logfire.json_schema": "{\"type\": \"object\", \"properties\": {\"tool_arguments\": {\"type\": \"object\"}, \"tool_response\": {\"type\": \"object\"}, \"gen_ai.tool.name\": {}, \"gen_ai.tool.call.id\": {}}}",
202
- "tool_response": "[\"Why don't scientists trust atoms? Because they make up everything!\"]",
203
- "openinference.span.kind": "TOOL",
204
- "tool.name": "joke_factory",
205
- "tool_call.id": "call_l6BhGe5gyVG48quz305N1xZ0"
206
- },
207
- "events": [],
208
- "links": [],
209
- "resource": {
210
- "attributes": {
211
- "telemetry.sdk.language": "python",
212
- "telemetry.sdk.name": "opentelemetry",
213
- "telemetry.sdk.version": "1.38.0",
214
- "service.name": "banking-support-agent",
215
- "service.version": "1.0.0",
216
- "openinference.project.name": "banking-support-agent"
217
- },
218
- "schema_url": ""
219
- }
220
- },
221
- {
222
- "name": "running tools",
223
- "context": {
224
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
225
- "span_id": "0xfe14b3677b5ddbb4",
226
- "trace_state": "[]"
227
- },
228
- "kind": "SpanKind.INTERNAL",
229
- "parent_id": "0xbdf953749a33f6f6",
230
- "start_time": "2025-11-26T13:14:52.981530Z",
231
- "end_time": "2025-11-26T13:14:56.000058Z",
232
- "status": {
233
- "status_code": "UNSET"
234
- },
235
- "attributes": {
236
- "tools": [
237
- "joke_factory"
238
- ],
239
- "logfire.msg": "running 1 tool",
240
- "openinference.span.kind": "CHAIN"
241
- },
242
- "events": [],
243
- "links": [],
244
- "resource": {
245
- "attributes": {
246
- "telemetry.sdk.language": "python",
247
- "telemetry.sdk.name": "opentelemetry",
248
- "telemetry.sdk.version": "1.38.0",
249
- "service.name": "banking-support-agent",
250
- "service.version": "1.0.0",
251
- "openinference.project.name": "banking-support-agent"
252
- },
253
- "schema_url": ""
254
- }
255
- },
256
- {
257
- "name": "chat gpt-4o-mini",
258
- "context": {
259
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
260
- "span_id": "0x4fe96cf73cc6cbd9",
261
- "trace_state": "[]"
262
- },
263
- "kind": "SpanKind.INTERNAL",
264
- "parent_id": "0xbdf953749a33f6f6",
265
- "start_time": "2025-11-26T13:14:56.000481Z",
266
- "end_time": "2025-11-26T13:14:56.803361Z",
267
- "status": {
268
- "status_code": "UNSET"
269
- },
270
- "attributes": {
271
- "gen_ai.operation.name": "chat",
272
- "gen_ai.system": "openai",
273
- "gen_ai.request.model": "gpt-4o-mini",
274
- "server.address": "api.openai.com",
275
- "model_request_parameters": "{\"function_tools\": [{\"name\": \"joke_factory\", \"parameters_json_schema\": {\"additionalProperties\": false, \"properties\": {\"count\": {\"type\": \"integer\"}}, \"required\": [\"count\"], \"type\": \"object\"}, \"description\": null, \"outer_typed_dict_key\": null, \"strict\": true, \"sequential\": false, \"kind\": \"function\", \"metadata\": null}], \"builtin_tools\": [], \"output_mode\": \"text\", \"output_object\": null, \"output_tools\": [], \"prompted_output_template\": null, \"allow_text_output\": true, \"allow_image_output\": false}",
276
- "gen_ai.input.messages": "[{\"role\": \"system\", \"parts\": [{\"type\": \"text\", \"content\": \"Use the `joke_factory` to generate some jokes, then choose the best. You must return just a single joke.\"}]}, {\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Tell me a joke.\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_l6BhGe5gyVG48quz305N1xZ0\", \"name\": \"joke_factory\", \"arguments\": \"{\\\"count\\\":1}\"}], \"finish_reason\": \"tool_call\"}, {\"role\": \"user\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"call_l6BhGe5gyVG48quz305N1xZ0\", \"name\": \"joke_factory\", \"result\": [\"Why don't scientists trust atoms? Because they make up everything!\"]}]}]",
277
- "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Why don't scientists trust atoms? Because they make up everything!\"}], \"finish_reason\": \"stop\"}]",
278
- "logfire.json_schema": "{\"type\": \"object\", \"properties\": {\"gen_ai.input.messages\": {\"type\": \"array\"}, \"gen_ai.output.messages\": {\"type\": \"array\"}, \"model_request_parameters\": {\"type\": \"object\"}}}",
279
- "gen_ai.usage.input_tokens": 105,
280
- "gen_ai.usage.output_tokens": 13,
281
- "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
282
- "operation.cost": 2.355e-05,
283
- "gen_ai.response.id": "chatcmpl-Cg9eCiCMgWSOpugf1MOINjxtPhYfk",
284
- "gen_ai.response.finish_reasons": [
285
- "stop"
286
- ],
287
- "openinference.span.kind": "LLM",
288
- "llm.system": "openai",
289
- "llm.model_name": "gpt-4o-mini",
290
- "llm.token_count.prompt": 105,
291
- "llm.token_count.completion": 13,
292
- "llm.token_count.total": 118,
293
- "llm.input_messages.0.message.content": "Use the `joke_factory` to generate some jokes, then choose the best. You must return just a single joke.",
294
- "llm.input_messages.0.message.role": "system",
295
- "llm.input_messages.1.message.content": "Tell me a joke.",
296
- "llm.input_messages.1.message.role": "user",
297
- "llm.input_messages.2.message.tool_calls.0.tool_call.function.name": "joke_factory",
298
- "llm.input_messages.2.message.tool_calls.0.tool_call.function.arguments": "{\"count\":1}",
299
- "llm.input_messages.2.message.tool_calls.0.tool_call.id": "call_l6BhGe5gyVG48quz305N1xZ0",
300
- "llm.input_messages.2.message.role": "assistant",
301
- "llm.input_messages.3.message.content": [
302
- "Why don't scientists trust atoms? Because they make up everything!"
303
- ],
304
- "llm.input_messages.3.message.tool_call_id": "call_l6BhGe5gyVG48quz305N1xZ0",
305
- "llm.input_messages.3.message.role": "tool",
306
- "input.value": "Tell me a joke.",
307
- "llm.output_messages.0.message.role": "assistant",
308
- "llm.output_messages.0.message.content": "Why don't scientists trust atoms? Because they make up everything!"
309
- },
310
- "events": [],
311
- "links": [],
312
- "resource": {
313
- "attributes": {
314
- "telemetry.sdk.language": "python",
315
- "telemetry.sdk.name": "opentelemetry",
316
- "telemetry.sdk.version": "1.38.0",
317
- "service.name": "banking-support-agent",
318
- "service.version": "1.0.0",
319
- "openinference.project.name": "banking-support-agent"
320
- },
321
- "schema_url": ""
322
- }
323
- },
324
- {
325
- "name": "agent run",
326
- "context": {
327
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
328
- "span_id": "0xbdf953749a33f6f6",
329
- "trace_state": "[]"
330
- },
331
- "kind": "SpanKind.INTERNAL",
332
- "parent_id": "0x095bd96af76d6664",
333
- "start_time": "2025-11-26T13:14:51.914386Z",
334
- "end_time": "2025-11-26T13:14:56.803771Z",
335
- "status": {
336
- "status_code": "UNSET"
337
- },
338
- "attributes": {
339
- "model_name": "gpt-4o-mini",
340
- "agent_name": "joke_selection_agent",
341
- "gen_ai.agent.name": "joke_selection_agent",
342
- "logfire.msg": "joke_selection_agent run",
343
- "final_result": "Why don't scientists trust atoms? Because they make up everything!",
344
- "gen_ai.usage.input_tokens": 220,
345
- "gen_ai.usage.output_tokens": 123,
346
- "gen_ai.usage.details.thoughts_tokens": 67,
347
- "gen_ai.usage.details.text_prompt_tokens": 48,
348
- "pydantic_ai.all_messages": "[{\"role\": \"system\", \"parts\": [{\"type\": \"text\", \"content\": \"Use the `joke_factory` to generate some jokes, then choose the best. You must return just a single joke.\"}]}, {\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Tell me a joke.\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_l6BhGe5gyVG48quz305N1xZ0\", \"name\": \"joke_factory\", \"arguments\": \"{\\\"count\\\":1}\"}], \"finish_reason\": \"tool_call\"}, {\"role\": \"user\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"call_l6BhGe5gyVG48quz305N1xZ0\", \"name\": \"joke_factory\", \"result\": [\"Why don't scientists trust atoms? Because they make up everything!\"]}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Why don't scientists trust atoms? Because they make up everything!\"}], \"finish_reason\": \"stop\"}]",
349
- "logfire.json_schema": "{\"type\": \"object\", \"properties\": {\"pydantic_ai.all_messages\": {\"type\": \"array\"}, \"final_result\": {\"type\": \"object\"}}}",
350
- "output.value": "Why don't scientists trust atoms? Because they make up everything!",
351
- "input.value": "Tell me a joke.",
352
- "openinference.span.kind": "AGENT"
353
- },
354
- "events": [],
355
- "links": [],
356
- "resource": {
357
- "attributes": {
358
- "telemetry.sdk.language": "python",
359
- "telemetry.sdk.name": "opentelemetry",
360
- "telemetry.sdk.version": "1.38.0",
361
- "service.name": "banking-support-agent",
362
- "service.version": "1.0.0",
363
- "openinference.project.name": "banking-support-agent"
364
- },
365
- "schema_url": ""
366
- }
367
- },
368
- {
369
- "name": "quraite/testcase-1",
370
- "context": {
371
- "trace_id": "0x964d76c8471c637d6b59a3107c32656a",
372
- "span_id": "0x095bd96af76d6664",
373
- "trace_state": "[]"
374
- },
375
- "kind": "SpanKind.INTERNAL",
376
- "parent_id": null,
377
- "start_time": "2025-11-26T13:14:51.913756Z",
378
- "end_time": "2025-11-26T13:14:56.803820Z",
379
- "status": {
380
- "status_code": "UNSET"
381
- },
382
- "attributes": {},
383
- "events": [],
384
- "links": [],
385
- "resource": {
386
- "attributes": {
387
- "telemetry.sdk.language": "python",
388
- "telemetry.sdk.name": "opentelemetry",
389
- "telemetry.sdk.version": "1.38.0",
390
- "service.name": "banking-support-agent",
391
- "service.version": "1.0.0",
392
- "openinference.project.name": "banking-support-agent"
393
- },
394
- "schema_url": ""
395
- }
396
- }
397
- ]
398
- }
399
- ]