quraite 0.1.3__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.
- quraite/__init__.py +4 -0
- quraite/adapters/agno_adapter.py +50 -92
- quraite/adapters/base.py +26 -76
- quraite/adapters/bedrock_agents_adapter.py +23 -76
- quraite/adapters/flowise_adapter.py +31 -72
- quraite/adapters/google_adk_adapter.py +28 -94
- quraite/adapters/http_adapter.py +28 -44
- quraite/adapters/langchain_adapter.py +51 -118
- quraite/adapters/langchain_server_adapter.py +37 -89
- quraite/adapters/langflow_adapter.py +15 -60
- quraite/adapters/n8n_adapter.py +19 -63
- quraite/adapters/openai_agents_adapter.py +35 -59
- quraite/adapters/pydantic_ai_adapter.py +27 -97
- quraite/adapters/smolagents_adapter.py +21 -82
- quraite/constants/framework.py +14 -0
- quraite/schema/__init__.py +4 -0
- quraite/schema/invoke.py +46 -0
- quraite/schema/message.py +20 -21
- quraite/serve/__init__.py +4 -0
- quraite/serve/cloudflared.py +3 -2
- quraite/serve/server.py +305 -0
- quraite/tracing/__init__.py +8 -5
- quraite/tracing/constants.py +0 -14
- quraite/tracing/setup.py +129 -0
- quraite/tracing/span_exporter.py +6 -6
- quraite/tracing/span_processor.py +6 -7
- quraite/tracing/tool_extractors.py +1 -1
- quraite/tracing/trace.py +36 -24
- quraite/utils/json_utils.py +2 -2
- {quraite-0.1.3.dist-info → quraite-0.1.4.dist-info}/METADATA +54 -62
- quraite-0.1.4.dist-info/RECORD +37 -0
- quraite/schema/response.py +0 -16
- quraite/serve/local_agent.py +0 -361
- quraite/traces/traces_adk_openinference.json +0 -379
- quraite/traces/traces_agno_multi_agent.json +0 -669
- quraite/traces/traces_agno_openinference.json +0 -321
- quraite/traces/traces_crewai_openinference.json +0 -155
- quraite/traces/traces_langgraph_openinference.json +0 -349
- quraite/traces/traces_langgraph_openinference_multi_agent.json +0 -2705
- quraite/traces/traces_langgraph_traceloop.json +0 -510
- quraite/traces/traces_openai_agents_multi_agent_1.json +0 -402
- quraite/traces/traces_openai_agents_openinference.json +0 -341
- quraite/traces/traces_pydantic_openinference.json +0 -286
- quraite/traces/traces_pydantic_openinference_multi_agent_1.json +0 -399
- quraite/traces/traces_pydantic_openinference_multi_agent_2.json +0 -398
- quraite/traces/traces_smol_agents_openinference.json +0 -397
- quraite/traces/traces_smol_agents_tool_calling_openinference.json +0 -704
- quraite-0.1.3.dist-info/RECORD +0 -49
- {quraite-0.1.3.dist-info → quraite-0.1.4.dist-info}/WHEEL +0 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import typing
|
|
2
1
|
|
|
3
2
|
from opentelemetry.context import (
|
|
4
3
|
_SUPPRESS_INSTRUMENTATION_KEY,
|
|
@@ -7,24 +6,24 @@ from opentelemetry.context import (
|
|
|
7
6
|
detach,
|
|
8
7
|
set_value,
|
|
9
8
|
)
|
|
10
|
-
from opentelemetry.sdk.trace.export import ReadableSpan,
|
|
9
|
+
from opentelemetry.sdk.trace.export import ReadableSpan, SpanProcessor
|
|
11
10
|
from opentelemetry.trace import Span, logger
|
|
12
11
|
|
|
13
|
-
from quraite.tracing.span_exporter import
|
|
12
|
+
from quraite.tracing.span_exporter import QuraiteSpanExporter
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
class
|
|
15
|
+
class QuraiteSpanProcessor(SpanProcessor):
|
|
17
16
|
"""Simple SpanProcessor implementation.
|
|
18
17
|
|
|
19
18
|
SimpleSpanProcessor is an implementation of `SpanProcessor` that
|
|
20
19
|
passes ended spans directly to the configured `SpanExporter`.
|
|
21
20
|
"""
|
|
22
21
|
|
|
23
|
-
def __init__(self, span_exporter:
|
|
24
|
-
self.span_exporter:
|
|
22
|
+
def __init__(self, span_exporter: QuraiteSpanExporter):
|
|
23
|
+
self.span_exporter: QuraiteSpanExporter = span_exporter
|
|
25
24
|
|
|
26
25
|
def on_start(
|
|
27
|
-
self, span: Span, parent_context:
|
|
26
|
+
self, span: Span, parent_context: Context | None = None
|
|
28
27
|
) -> None:
|
|
29
28
|
pass
|
|
30
29
|
|
quraite/tracing/trace.py
CHANGED
|
@@ -3,23 +3,28 @@ from __future__ import annotations
|
|
|
3
3
|
|
|
4
4
|
import json
|
|
5
5
|
from functools import cached_property
|
|
6
|
-
from typing import Any
|
|
6
|
+
from typing import Any
|
|
7
7
|
|
|
8
8
|
from openinference.semconv.trace import OpenInferenceSpanKindValues, SpanAttributes
|
|
9
9
|
from opentelemetry.sdk.trace import ReadableSpan
|
|
10
10
|
from opentelemetry.sdk.trace import Span as OTelSpan
|
|
11
11
|
from pydantic import BaseModel, ConfigDict, Field
|
|
12
12
|
|
|
13
|
+
from quraite.constants.framework import Framework
|
|
13
14
|
from quraite.logger import get_logger
|
|
14
|
-
from quraite.schema.message import
|
|
15
|
+
from quraite.schema.message import (
|
|
16
|
+
AssistantMessage,
|
|
17
|
+
AssistantMessageMetadata,
|
|
18
|
+
MessageContentText,
|
|
19
|
+
SystemMessage,
|
|
20
|
+
ToolCall,
|
|
21
|
+
ToolMessage,
|
|
22
|
+
ToolMessageMetadata,
|
|
23
|
+
)
|
|
15
24
|
from quraite.schema.message import CostInfo as MessageCostInfo
|
|
16
25
|
from quraite.schema.message import LatencyInfo as MessageLatencyInfo
|
|
17
|
-
from quraite.schema.message import MessageContentText
|
|
18
26
|
from quraite.schema.message import ModelInfo as MessageModelInfo
|
|
19
|
-
from quraite.schema.message import SystemMessage
|
|
20
27
|
from quraite.schema.message import TokenInfo as MessageTokenInfo
|
|
21
|
-
from quraite.schema.message import ToolCall, ToolMessage, ToolMessageMetadata
|
|
22
|
-
from quraite.tracing.constants import Framework
|
|
23
28
|
from quraite.tracing.types import Event, Link, Resource, SpanContext, SpanKind, Status
|
|
24
29
|
from quraite.tracing.utils import unflatten_messages
|
|
25
30
|
|
|
@@ -153,7 +158,7 @@ class AgentSpan(BaseModel):
|
|
|
153
158
|
)
|
|
154
159
|
)
|
|
155
160
|
|
|
156
|
-
def to_llm_messages(self) ->
|
|
161
|
+
def to_llm_messages(self) -> list[dict[str, Any]]:
|
|
157
162
|
"""
|
|
158
163
|
Convert LLM span to output messages.
|
|
159
164
|
|
|
@@ -309,15 +314,21 @@ class AgentTrace(BaseModel):
|
|
|
309
314
|
arguments_str = function.get("arguments", "")
|
|
310
315
|
|
|
311
316
|
# Parse arguments - could be JSON string or already a dict
|
|
312
|
-
arguments = {}
|
|
313
|
-
if arguments_str:
|
|
314
|
-
|
|
317
|
+
arguments = arguments_str if isinstance(arguments_str, dict) else {}
|
|
318
|
+
if isinstance(arguments_str, str):
|
|
319
|
+
result: str | dict = arguments_str
|
|
320
|
+
for _ in range(3):
|
|
315
321
|
try:
|
|
316
|
-
|
|
322
|
+
result = json.loads(result)
|
|
323
|
+
if not isinstance(result, str):
|
|
324
|
+
break
|
|
317
325
|
except (json.JSONDecodeError, TypeError):
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
326
|
+
logger.exception(
|
|
327
|
+
"Error loading JSON from arguments_str"
|
|
328
|
+
)
|
|
329
|
+
result = {}
|
|
330
|
+
break
|
|
331
|
+
arguments = result if isinstance(result, dict) else {}
|
|
321
332
|
|
|
322
333
|
tool_calls_list.append(
|
|
323
334
|
ToolCall(
|
|
@@ -405,9 +416,9 @@ class AgentTrace(BaseModel):
|
|
|
405
416
|
|
|
406
417
|
def to_agent_trajectory(
|
|
407
418
|
self,
|
|
408
|
-
framework:
|
|
409
|
-
only_leaf_llms:
|
|
410
|
-
) ->
|
|
419
|
+
framework: Framework | None = Framework.DEFAULT,
|
|
420
|
+
only_leaf_llms: bool | None = True,
|
|
421
|
+
) -> list[AssistantMessage | ToolMessage]:
|
|
411
422
|
"""
|
|
412
423
|
Convert trace spans to agent trajectory.
|
|
413
424
|
|
|
@@ -468,7 +479,7 @@ class AgentTrace(BaseModel):
|
|
|
468
479
|
return any(child_id in llm_span_ids for child_id in children)
|
|
469
480
|
|
|
470
481
|
# Collect messages from spans
|
|
471
|
-
messages:
|
|
482
|
+
messages: list[AssistantMessage | ToolMessage] = []
|
|
472
483
|
|
|
473
484
|
for span in sorted_spans:
|
|
474
485
|
span_id = str(span.context.span_id) if span.context.span_id else None
|
|
@@ -489,15 +500,16 @@ class AgentTrace(BaseModel):
|
|
|
489
500
|
# Use span method to extract tool message
|
|
490
501
|
tool_msg = span.to_tool_message(framework=framework)
|
|
491
502
|
if tool_msg:
|
|
492
|
-
|
|
493
|
-
if
|
|
494
|
-
|
|
495
|
-
|
|
503
|
+
converted_tool = self._convert_tool_message(tool_msg)
|
|
504
|
+
if converted_tool:
|
|
505
|
+
tool_metadata = self._extract_tool_metadata(span)
|
|
506
|
+
converted_tool.metadata = tool_metadata
|
|
507
|
+
messages.append(converted_tool)
|
|
496
508
|
|
|
497
509
|
return messages
|
|
498
510
|
|
|
499
511
|
@cached_property
|
|
500
|
-
def system_messages(self) ->
|
|
512
|
+
def system_messages(self) -> list[SystemMessage]:
|
|
501
513
|
"""
|
|
502
514
|
Extract unique system messages from all LLM spans in the trace.
|
|
503
515
|
|
|
@@ -505,7 +517,7 @@ class AgentTrace(BaseModel):
|
|
|
505
517
|
List of unique system messages from LLM input messages (deduplicated)
|
|
506
518
|
"""
|
|
507
519
|
seen_messages = set()
|
|
508
|
-
system_messages:
|
|
520
|
+
system_messages: list[SystemMessage] = []
|
|
509
521
|
|
|
510
522
|
for span in self.spans:
|
|
511
523
|
if span.is_llm_call():
|
quraite/utils/json_utils.py
CHANGED
|
@@ -58,7 +58,7 @@ def parse_malformed_object(obj_str: str) -> dict[str, Any]:
|
|
|
58
58
|
"""
|
|
59
59
|
Manually parse a malformed object string with key=value pairs.
|
|
60
60
|
"""
|
|
61
|
-
result = {}
|
|
61
|
+
result: dict[str, Any] = {}
|
|
62
62
|
|
|
63
63
|
# Remove outer braces
|
|
64
64
|
content = obj_str.strip()[1:-1]
|
|
@@ -173,7 +173,7 @@ def parse_content_object(content_str: str) -> dict[str, Any]:
|
|
|
173
173
|
return {"raw": content_str}
|
|
174
174
|
|
|
175
175
|
content = content_str[start:end]
|
|
176
|
-
result = {}
|
|
176
|
+
result: dict[str, Any] = {}
|
|
177
177
|
|
|
178
178
|
# Split by commas, handling nested structures
|
|
179
179
|
parts = []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: quraite
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: This project provides adaptors and methods to integrate with the Quraite platform
|
|
5
5
|
Author: Shiv Mohith
|
|
6
6
|
Author-email: Shiv Mohith <shivmohith8@gmail.com>
|
|
@@ -92,55 +92,43 @@ pip install 'quraite[langchain,pydantic-ai,agno]'
|
|
|
92
92
|
Pass your compiled LangChain agent to the adapter and expose it as an HTTP API:
|
|
93
93
|
|
|
94
94
|
```python
|
|
95
|
-
import asyncio
|
|
96
|
-
import uvicorn
|
|
97
95
|
from dotenv import load_dotenv
|
|
98
|
-
from openinference.instrumentation import TracerProvider
|
|
99
|
-
from openinference.instrumentation.langchain import LangChainInstrumentor
|
|
100
96
|
|
|
101
|
-
from quraite
|
|
102
|
-
from quraite.
|
|
103
|
-
from quraite.tracing
|
|
104
|
-
from quraite.tracing.span_processor import QuraiteSimpleSpanProcessor
|
|
97
|
+
from quraite import run_agent
|
|
98
|
+
from quraite.adapters import LangchainAdapter
|
|
99
|
+
from quraite.tracing import Framework, setup_tracing
|
|
105
100
|
|
|
106
101
|
load_dotenv()
|
|
107
102
|
|
|
108
|
-
# Set up tracing
|
|
109
|
-
# Use Quraite's in-memory span exporter to capture the agent trajectory
|
|
110
|
-
# and use it for evaluation.
|
|
111
|
-
tracer_provider = TracerProvider()
|
|
112
|
-
quraite_span_exporter = QuraiteInMemorySpanExporter()
|
|
113
|
-
quraite_span_processor = QuraiteSimpleSpanProcessor(quraite_span_exporter)
|
|
114
|
-
tracer_provider.add_span_processor(quraite_span_processor)
|
|
115
|
-
LangChainInstrumentor().instrument(tracer_provider=tracer_provider)
|
|
116
|
-
|
|
117
103
|
# Your compiled LangChain agent (created elsewhere)
|
|
118
104
|
# agent = create_agent(...)
|
|
119
105
|
|
|
120
|
-
#
|
|
121
|
-
|
|
106
|
+
# Setup tracing once
|
|
107
|
+
tracer_provider = setup_tracing([Framework.LANGCHAIN])
|
|
108
|
+
|
|
109
|
+
# Create adapter with tracer provider
|
|
110
|
+
adapter = LangchainAdapter(
|
|
122
111
|
agent_graph=agent, # Pass your compiled LangChain agent here
|
|
123
112
|
tracer_provider=tracer_provider,
|
|
124
113
|
)
|
|
125
114
|
|
|
126
|
-
#
|
|
127
|
-
|
|
128
|
-
|
|
115
|
+
# Option 1: Use run_agent to start the server (simplest)
|
|
116
|
+
run_agent(
|
|
117
|
+
adapter,
|
|
129
118
|
agent_id="your-agent-id", # Optional: for Quraite platform integration
|
|
130
|
-
)
|
|
131
|
-
|
|
132
|
-
app = server.create_app(
|
|
133
119
|
port=8080,
|
|
134
120
|
host="0.0.0.0",
|
|
135
121
|
tunnel="cloudflare", # Options: "cloudflare", "ngrok", or "none"
|
|
136
122
|
)
|
|
137
123
|
|
|
138
|
-
# Option
|
|
139
|
-
|
|
124
|
+
# Option 2: Use create_app for more control (e.g., with uvicorn reload)
|
|
125
|
+
from quraite import create_app
|
|
126
|
+
import uvicorn
|
|
127
|
+
|
|
128
|
+
app = create_app(adapter, agent_id="your-agent-id")
|
|
140
129
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
# uvicorn.run("local_server:app", host="0.0.0.0", port=8080, reload=True)
|
|
130
|
+
if __name__ == "__main__":
|
|
131
|
+
uvicorn.run("local_server:app", host="0.0.0.0", port=8080, reload=True)
|
|
144
132
|
```
|
|
145
133
|
|
|
146
134
|
The server exposes:
|
|
@@ -191,20 +179,14 @@ Most agent frameworks return agent steps, but lack critical observability data.
|
|
|
191
179
|
To enable tracing:
|
|
192
180
|
|
|
193
181
|
```python
|
|
194
|
-
from
|
|
195
|
-
from quraite.tracing.span_exporter import QuraiteInMemorySpanExporter
|
|
196
|
-
from quraite.tracing.span_processor import QuraiteSimpleSpanProcessor
|
|
197
|
-
|
|
198
|
-
tracer_provider = TracerProvider()
|
|
182
|
+
from quraite.tracing import Framework, setup_tracing
|
|
199
183
|
|
|
200
|
-
#
|
|
201
|
-
|
|
202
|
-
quraite_span_processor = QuraiteSimpleSpanProcessor(quraite_span_exporter)
|
|
203
|
-
tracer_provider.add_span_processor(quraite_span_processor)
|
|
184
|
+
# Setup tracing once at app startup
|
|
185
|
+
tracer_provider = setup_tracing([Framework.LANGCHAIN])
|
|
204
186
|
|
|
205
|
-
#
|
|
206
|
-
from
|
|
207
|
-
|
|
187
|
+
# Pass to adapter
|
|
188
|
+
from quraite.adapters import LangchainAdapter
|
|
189
|
+
adapter = LangchainAdapter(agent_graph=agent, tracer_provider=tracer_provider)
|
|
208
190
|
```
|
|
209
191
|
|
|
210
192
|
### Message Schema
|
|
@@ -245,16 +227,18 @@ tool_msg = ToolMessage(
|
|
|
245
227
|
)
|
|
246
228
|
```
|
|
247
229
|
|
|
248
|
-
###
|
|
230
|
+
### Invoke Input and Output
|
|
249
231
|
|
|
250
|
-
Agent invocations
|
|
232
|
+
Agent invocations use structured `InvokeInput` and return `InvokeOutput`:
|
|
251
233
|
|
|
252
234
|
```python
|
|
253
|
-
from quraite.schema.
|
|
235
|
+
from quraite.schema.invoke import InvokeInput, InvokeOutput
|
|
254
236
|
|
|
255
|
-
response:
|
|
256
|
-
input=
|
|
257
|
-
|
|
237
|
+
response: InvokeOutput = await adapter.ainvoke(
|
|
238
|
+
input=InvokeInput(
|
|
239
|
+
user_message=user_msg,
|
|
240
|
+
session_id="session-123"
|
|
241
|
+
)
|
|
258
242
|
)
|
|
259
243
|
|
|
260
244
|
# Access trajectory (list of messages)
|
|
@@ -292,37 +276,45 @@ All adapters inherit from `BaseAdapter`:
|
|
|
292
276
|
|
|
293
277
|
```python
|
|
294
278
|
from quraite.adapters.base import BaseAdapter
|
|
279
|
+
from quraite.schema.invoke import InvokeInput, InvokeOutput
|
|
295
280
|
|
|
296
281
|
class MyAdapter(BaseAdapter):
|
|
297
282
|
async def ainvoke(
|
|
298
283
|
self,
|
|
299
|
-
input:
|
|
300
|
-
|
|
301
|
-
) -> AgentInvocationResponse:
|
|
284
|
+
input: InvokeInput,
|
|
285
|
+
) -> InvokeOutput:
|
|
302
286
|
# Implementation
|
|
287
|
+
# Access user_message: input.user_message
|
|
288
|
+
# Access session_id: input.session_id
|
|
303
289
|
pass
|
|
304
290
|
```
|
|
305
291
|
|
|
306
|
-
###
|
|
292
|
+
### Running Your Agent
|
|
307
293
|
|
|
308
|
-
|
|
294
|
+
Use `run_agent` or `create_app` to start a local HTTP server for your agent:
|
|
309
295
|
|
|
310
296
|
```python
|
|
311
|
-
import
|
|
312
|
-
from quraite.serve.local_agent import LocalAgentServer
|
|
297
|
+
from quraite import run_agent, create_app
|
|
313
298
|
|
|
314
|
-
|
|
315
|
-
|
|
299
|
+
# Simple approach: run_agent handles everything
|
|
300
|
+
run_agent(
|
|
301
|
+
adapter,
|
|
316
302
|
agent_id="optional-agent-id",
|
|
317
|
-
)
|
|
318
|
-
|
|
319
|
-
app = server.create_app(
|
|
320
303
|
port=8080,
|
|
321
304
|
host="0.0.0.0",
|
|
322
305
|
tunnel="cloudflare", # or "ngrok" or "none"
|
|
323
306
|
)
|
|
324
307
|
|
|
325
|
-
|
|
308
|
+
# Advanced approach: create_app for more control (e.g., uvicorn reload)
|
|
309
|
+
import uvicorn
|
|
310
|
+
|
|
311
|
+
app = create_app(
|
|
312
|
+
adapter,
|
|
313
|
+
agent_id="optional-agent-id",
|
|
314
|
+
)
|
|
315
|
+
|
|
316
|
+
if __name__ == "__main__":
|
|
317
|
+
uvicorn.run("local_server:app", host="0.0.0.0", port=8080, reload=True)
|
|
326
318
|
```
|
|
327
319
|
|
|
328
320
|
## Development
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
quraite/__init__.py,sha256=7jS37UVvrYYGKwjhChMCHiSFN4zaAFquZL9weIQMJPE,166
|
|
2
|
+
quraite/adapters/__init__.py,sha256=-2FPY_cUHtIKVlB7O3SUkgrEp1iybJ1z3VM52SjYk3I,4842
|
|
3
|
+
quraite/adapters/agno_adapter.py,sha256=pVq5C3mOBAYb62lpjsjmS-2KtDJtnai0mAk4dxvEhyM,4184
|
|
4
|
+
quraite/adapters/base.py,sha256=PIeWZTMzp9SEXtkYyd-Qc2uNhMjie2mRT6U3xTJHSdo,2358
|
|
5
|
+
quraite/adapters/bedrock_agents_adapter.py,sha256=knwz6RA1-aibMIMWCrsf-L81XBAehVWjCWs8s-MI2Zw,12024
|
|
6
|
+
quraite/adapters/flowise_adapter.py,sha256=2uyCbC7mUpZljrJZRnFzdMw3piECZVViQ6jR75FlppA,8682
|
|
7
|
+
quraite/adapters/google_adk_adapter.py,sha256=jxawemzLxQOf0FaCz39Se_0nAWR1h0UHYeUK-9vFSI8,5264
|
|
8
|
+
quraite/adapters/http_adapter.py,sha256=qf0nS8LzC10fbolCQ62HItGoAYoNN0o-qv_Yooqyn-8,7370
|
|
9
|
+
quraite/adapters/langchain_adapter.py,sha256=FCt9K3MCqG-lj71QapKhSELwCjY_Fc3DHhL_-YoQrns,8993
|
|
10
|
+
quraite/adapters/langchain_server_adapter.py,sha256=KbakUla41-mMFhNdb4Q1Ie8rRCmLU-fzMx-lGRolSLI,7504
|
|
11
|
+
quraite/adapters/langflow_adapter.py,sha256=D1dh7L9UrhONPwVGtcfj8G4LguRTpzOyskQJ_mb7TTg,5249
|
|
12
|
+
quraite/adapters/n8n_adapter.py,sha256=TJdDLA2IEd_wCKQRCs9qzs-9iLoPoENefExUGi7H1XY,6417
|
|
13
|
+
quraite/adapters/openai_agents_adapter.py,sha256=lcc2v1Q89E1j9A12IY8UfMoxM39HlJuIrhxZXax0SzI,8537
|
|
14
|
+
quraite/adapters/pydantic_ai_adapter.py,sha256=MzdA-qPZxkMEVYafXcwDG-_7P3JRP1D1__BXAh6GNnA,8171
|
|
15
|
+
quraite/adapters/smolagents_adapter.py,sha256=aJyLf5-6dMh1bQQ91KoaeVBGVyIRz7fbqXFIMO9DsF8,3106
|
|
16
|
+
quraite/constants/framework.py,sha256=ZPTXUP6HtkzGUUQgDBr6rV6AXHC-Uf3RJ-XArmjqsbI,311
|
|
17
|
+
quraite/logger.py,sha256=Py5GRQfD_s5FVb2Ziz5JxJk9AT4ve6w_iePbOSQkwH4,1601
|
|
18
|
+
quraite/schema/__init__.py,sha256=-oZxv5ufJWyzZo8YDrP5USYr-UPtl7qPCzIvV2PvtbI,165
|
|
19
|
+
quraite/schema/invoke.py,sha256=vHgQGro8uGC8sw-JzgQUJ8CrzVRWlC5A14OhIvuyZYM,1317
|
|
20
|
+
quraite/schema/message.py,sha256=84dCcV-Dm4vkM1DGxNerYPd-ybz_hvPBRUky_dcHX20,2226
|
|
21
|
+
quraite/serve/__init__.py,sha256=GCRJSZKCXJXMjvg1e8HhXLTdCbFoR7abcNB7rYS2Gcs,158
|
|
22
|
+
quraite/serve/cloudflared.py,sha256=YIQkUq0pIwJDLkZoVhcO77O3yMyI1rAhN0ywzN4fsws,6518
|
|
23
|
+
quraite/serve/server.py,sha256=Hw7yDdzAfQi-8FtwEpn-mKuJlEUJi-hlZJR5VSlgys8,9756
|
|
24
|
+
quraite/tracing/__init__.py,sha256=eemwel7P00Outi6v0OAP5KnUWPlWzoRrQW-aiRAAEds,843
|
|
25
|
+
quraite/tracing/constants.py,sha256=y43slSQiyoGWoHmos30w20Bts9r-YsrlZYjYxzLmSLw,48
|
|
26
|
+
quraite/tracing/setup.py,sha256=YUEcsJse653uc-TXwczC34MaFc2q952umUROjGKjSgk,4717
|
|
27
|
+
quraite/tracing/span_exporter.py,sha256=3ZM1RwZ53PU7CM_5KZjix0Oi46q7nk4ThNj0eTa53Vo,3880
|
|
28
|
+
quraite/tracing/span_processor.py,sha256=uXnTJKqs89-qGidBE33I5J0e6vZ25GXzfdeKcfnUd58,1383
|
|
29
|
+
quraite/tracing/tool_extractors.py,sha256=3ai2iavPUunf_lZArll6k3qZWHWTLsJDrlnDjLMTUTg,9802
|
|
30
|
+
quraite/tracing/trace.py,sha256=siXt246DACghHmr--I5oazmWG_wRzpr0gaku_lUi-ts,22030
|
|
31
|
+
quraite/tracing/types.py,sha256=sWyp-7Qc8zsWN6ltem8OSTRIgKWbqnQSfsTKX6RrrB8,4948
|
|
32
|
+
quraite/tracing/utils.py,sha256=Vm5q_iN_K1f_nEMpkQzv6jiUPpS2Yzo_VP5ZVmJZdBQ,5673
|
|
33
|
+
quraite/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
quraite/utils/json_utils.py,sha256=7obT8t92z6dK8nerGgfjVL_v5y96e8wX8eglGAHI50Y,18718
|
|
35
|
+
quraite-0.1.4.dist-info/WHEEL,sha256=5w2T7AS2mz1-rW9CNagNYWRCaB0iQqBMYLwKdlgiR4Q,78
|
|
36
|
+
quraite-0.1.4.dist-info/METADATA,sha256=xv9GN6JbHYMvrzEJ2wcxF9IVyo20gBQjghH6jykZBgM,11398
|
|
37
|
+
quraite-0.1.4.dist-info/RECORD,,
|
quraite/schema/response.py
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from typing import List, Optional
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel
|
|
4
|
-
|
|
5
|
-
from quraite.schema.message import AgentMessage
|
|
6
|
-
from quraite.tracing.trace import AgentTrace
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class AgentInvocationResponse(BaseModel):
|
|
10
|
-
"""
|
|
11
|
-
Response model for agent invocation.
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
agent_trace: Optional[AgentTrace] = None
|
|
15
|
-
agent_trajectory: Optional[List[AgentMessage]] = None
|
|
16
|
-
agent_final_response: Optional[str] = None
|