quraite 0.0.1__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 (49) hide show
  1. quraite/__init__.py +3 -0
  2. quraite/adapters/__init__.py +134 -0
  3. quraite/adapters/agno_adapter.py +159 -0
  4. quraite/adapters/base.py +123 -0
  5. quraite/adapters/bedrock_agents_adapter.py +343 -0
  6. quraite/adapters/flowise_adapter.py +275 -0
  7. quraite/adapters/google_adk_adapter.py +209 -0
  8. quraite/adapters/http_adapter.py +239 -0
  9. quraite/adapters/langflow_adapter.py +192 -0
  10. quraite/adapters/langgraph_adapter.py +304 -0
  11. quraite/adapters/langgraph_server_adapter.py +252 -0
  12. quraite/adapters/n8n_adapter.py +220 -0
  13. quraite/adapters/openai_agents_adapter.py +269 -0
  14. quraite/adapters/pydantic_ai_adapter.py +312 -0
  15. quraite/adapters/smolagents_adapter.py +152 -0
  16. quraite/logger.py +62 -0
  17. quraite/schema/__init__.py +0 -0
  18. quraite/schema/message.py +54 -0
  19. quraite/schema/response.py +16 -0
  20. quraite/serve/__init__.py +1 -0
  21. quraite/serve/cloudflared.py +210 -0
  22. quraite/serve/local_agent.py +360 -0
  23. quraite/traces/traces_adk_openinference.json +379 -0
  24. quraite/traces/traces_agno_multi_agent.json +669 -0
  25. quraite/traces/traces_agno_openinference.json +321 -0
  26. quraite/traces/traces_crewai_openinference.json +155 -0
  27. quraite/traces/traces_langgraph_openinference.json +349 -0
  28. quraite/traces/traces_langgraph_openinference_multi_agent.json +2705 -0
  29. quraite/traces/traces_langgraph_traceloop.json +510 -0
  30. quraite/traces/traces_openai_agents_multi_agent_1.json +402 -0
  31. quraite/traces/traces_openai_agents_openinference.json +341 -0
  32. quraite/traces/traces_pydantic_openinference.json +286 -0
  33. quraite/traces/traces_pydantic_openinference_multi_agent_1.json +399 -0
  34. quraite/traces/traces_pydantic_openinference_multi_agent_2.json +398 -0
  35. quraite/traces/traces_smol_agents_openinference.json +397 -0
  36. quraite/traces/traces_smol_agents_tool_calling_openinference.json +704 -0
  37. quraite/tracing/__init__.py +24 -0
  38. quraite/tracing/constants.py +16 -0
  39. quraite/tracing/span_exporter.py +115 -0
  40. quraite/tracing/span_processor.py +49 -0
  41. quraite/tracing/tool_extractors.py +290 -0
  42. quraite/tracing/trace.py +494 -0
  43. quraite/tracing/types.py +179 -0
  44. quraite/tracing/utils.py +170 -0
  45. quraite/utils/__init__.py +0 -0
  46. quraite/utils/json_utils.py +269 -0
  47. quraite-0.0.1.dist-info/METADATA +44 -0
  48. quraite-0.0.1.dist-info/RECORD +49 -0
  49. quraite-0.0.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,399 @@
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
+ ]