quraite 0.1.2__py3-none-any.whl → 0.1.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.
Files changed (50) hide show
  1. quraite/__init__.py +4 -0
  2. quraite/adapters/__init__.py +1 -1
  3. quraite/adapters/agno_adapter.py +50 -92
  4. quraite/adapters/base.py +26 -76
  5. quraite/adapters/bedrock_agents_adapter.py +23 -76
  6. quraite/adapters/flowise_adapter.py +31 -72
  7. quraite/adapters/google_adk_adapter.py +28 -94
  8. quraite/adapters/http_adapter.py +28 -44
  9. quraite/adapters/langchain_adapter.py +51 -118
  10. quraite/adapters/langchain_server_adapter.py +37 -89
  11. quraite/adapters/langflow_adapter.py +15 -60
  12. quraite/adapters/n8n_adapter.py +19 -63
  13. quraite/adapters/openai_agents_adapter.py +35 -59
  14. quraite/adapters/pydantic_ai_adapter.py +27 -97
  15. quraite/adapters/smolagents_adapter.py +21 -82
  16. quraite/constants/framework.py +14 -0
  17. quraite/schema/__init__.py +4 -0
  18. quraite/schema/invoke.py +46 -0
  19. quraite/schema/message.py +20 -21
  20. quraite/serve/__init__.py +4 -0
  21. quraite/serve/cloudflared.py +3 -2
  22. quraite/serve/server.py +305 -0
  23. quraite/tracing/__init__.py +8 -5
  24. quraite/tracing/constants.py +0 -14
  25. quraite/tracing/setup.py +129 -0
  26. quraite/tracing/span_exporter.py +6 -6
  27. quraite/tracing/span_processor.py +6 -7
  28. quraite/tracing/tool_extractors.py +1 -1
  29. quraite/tracing/trace.py +36 -24
  30. quraite/utils/json_utils.py +2 -2
  31. {quraite-0.1.2.dist-info → quraite-0.1.4.dist-info}/METADATA +54 -62
  32. quraite-0.1.4.dist-info/RECORD +37 -0
  33. quraite/schema/response.py +0 -16
  34. quraite/serve/local_agent.py +0 -360
  35. quraite/traces/traces_adk_openinference.json +0 -379
  36. quraite/traces/traces_agno_multi_agent.json +0 -669
  37. quraite/traces/traces_agno_openinference.json +0 -321
  38. quraite/traces/traces_crewai_openinference.json +0 -155
  39. quraite/traces/traces_langgraph_openinference.json +0 -349
  40. quraite/traces/traces_langgraph_openinference_multi_agent.json +0 -2705
  41. quraite/traces/traces_langgraph_traceloop.json +0 -510
  42. quraite/traces/traces_openai_agents_multi_agent_1.json +0 -402
  43. quraite/traces/traces_openai_agents_openinference.json +0 -341
  44. quraite/traces/traces_pydantic_openinference.json +0 -286
  45. quraite/traces/traces_pydantic_openinference_multi_agent_1.json +0 -399
  46. quraite/traces/traces_pydantic_openinference_multi_agent_2.json +0 -398
  47. quraite/traces/traces_smol_agents_openinference.json +0 -397
  48. quraite/traces/traces_smol_agents_tool_calling_openinference.json +0 -704
  49. quraite-0.1.2.dist-info/RECORD +0 -49
  50. {quraite-0.1.2.dist-info → quraite-0.1.4.dist-info}/WHEEL +0 -0
@@ -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
- ]