proxilion 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.
- proxilion/__init__.py +136 -0
- proxilion/audit/__init__.py +133 -0
- proxilion/audit/base_exporters.py +527 -0
- proxilion/audit/compliance/__init__.py +130 -0
- proxilion/audit/compliance/base.py +457 -0
- proxilion/audit/compliance/eu_ai_act.py +603 -0
- proxilion/audit/compliance/iso27001.py +544 -0
- proxilion/audit/compliance/soc2.py +491 -0
- proxilion/audit/events.py +493 -0
- proxilion/audit/explainability.py +1173 -0
- proxilion/audit/exporters/__init__.py +58 -0
- proxilion/audit/exporters/aws_s3.py +636 -0
- proxilion/audit/exporters/azure_storage.py +608 -0
- proxilion/audit/exporters/cloud_base.py +468 -0
- proxilion/audit/exporters/gcp_storage.py +570 -0
- proxilion/audit/exporters/multi_exporter.py +498 -0
- proxilion/audit/hash_chain.py +652 -0
- proxilion/audit/logger.py +543 -0
- proxilion/caching/__init__.py +49 -0
- proxilion/caching/tool_cache.py +633 -0
- proxilion/context/__init__.py +73 -0
- proxilion/context/context_window.py +556 -0
- proxilion/context/message_history.py +505 -0
- proxilion/context/session.py +735 -0
- proxilion/contrib/__init__.py +51 -0
- proxilion/contrib/anthropic.py +609 -0
- proxilion/contrib/google.py +1012 -0
- proxilion/contrib/langchain.py +641 -0
- proxilion/contrib/mcp.py +893 -0
- proxilion/contrib/openai.py +646 -0
- proxilion/core.py +3058 -0
- proxilion/decorators.py +966 -0
- proxilion/engines/__init__.py +287 -0
- proxilion/engines/base.py +266 -0
- proxilion/engines/casbin_engine.py +412 -0
- proxilion/engines/opa_engine.py +493 -0
- proxilion/engines/simple.py +437 -0
- proxilion/exceptions.py +887 -0
- proxilion/guards/__init__.py +54 -0
- proxilion/guards/input_guard.py +522 -0
- proxilion/guards/output_guard.py +634 -0
- proxilion/observability/__init__.py +198 -0
- proxilion/observability/cost_tracker.py +866 -0
- proxilion/observability/hooks.py +683 -0
- proxilion/observability/metrics.py +798 -0
- proxilion/observability/session_cost_tracker.py +1063 -0
- proxilion/policies/__init__.py +67 -0
- proxilion/policies/base.py +304 -0
- proxilion/policies/builtin.py +486 -0
- proxilion/policies/registry.py +376 -0
- proxilion/providers/__init__.py +201 -0
- proxilion/providers/adapter.py +468 -0
- proxilion/providers/anthropic_adapter.py +330 -0
- proxilion/providers/gemini_adapter.py +391 -0
- proxilion/providers/openai_adapter.py +294 -0
- proxilion/py.typed +0 -0
- proxilion/resilience/__init__.py +81 -0
- proxilion/resilience/degradation.py +615 -0
- proxilion/resilience/fallback.py +555 -0
- proxilion/resilience/retry.py +554 -0
- proxilion/scheduling/__init__.py +57 -0
- proxilion/scheduling/priority_queue.py +419 -0
- proxilion/scheduling/scheduler.py +459 -0
- proxilion/security/__init__.py +244 -0
- proxilion/security/agent_trust.py +968 -0
- proxilion/security/behavioral_drift.py +794 -0
- proxilion/security/cascade_protection.py +869 -0
- proxilion/security/circuit_breaker.py +428 -0
- proxilion/security/cost_limiter.py +690 -0
- proxilion/security/idor_protection.py +460 -0
- proxilion/security/intent_capsule.py +849 -0
- proxilion/security/intent_validator.py +495 -0
- proxilion/security/memory_integrity.py +767 -0
- proxilion/security/rate_limiter.py +509 -0
- proxilion/security/scope_enforcer.py +680 -0
- proxilion/security/sequence_validator.py +636 -0
- proxilion/security/trust_boundaries.py +784 -0
- proxilion/streaming/__init__.py +70 -0
- proxilion/streaming/detector.py +761 -0
- proxilion/streaming/transformer.py +674 -0
- proxilion/timeouts/__init__.py +55 -0
- proxilion/timeouts/decorators.py +477 -0
- proxilion/timeouts/manager.py +545 -0
- proxilion/tools/__init__.py +69 -0
- proxilion/tools/decorators.py +493 -0
- proxilion/tools/registry.py +732 -0
- proxilion/types.py +339 -0
- proxilion/validation/__init__.py +93 -0
- proxilion/validation/pydantic_schema.py +351 -0
- proxilion/validation/schema.py +651 -0
- proxilion-0.0.1.dist-info/METADATA +872 -0
- proxilion-0.0.1.dist-info/RECORD +94 -0
- proxilion-0.0.1.dist-info/WHEEL +4 -0
- proxilion-0.0.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Streaming response handling for AI agents.
|
|
3
|
+
|
|
4
|
+
Provides utilities for handling streaming responses from LLMs,
|
|
5
|
+
including tool call detection in streams and incremental authorization.
|
|
6
|
+
Essential for real-time applications and WebSocket-based chatbots.
|
|
7
|
+
|
|
8
|
+
Features:
|
|
9
|
+
- Tool call detection in streaming responses
|
|
10
|
+
- Multi-provider support (OpenAI, Anthropic, Google)
|
|
11
|
+
- Incremental authorization during streaming
|
|
12
|
+
- Stream transformation and filtering
|
|
13
|
+
- Output guard integration for content filtering
|
|
14
|
+
|
|
15
|
+
Example:
|
|
16
|
+
>>> from proxilion.streaming import (
|
|
17
|
+
... StreamingToolCallDetector,
|
|
18
|
+
... StreamTransformer,
|
|
19
|
+
... StreamEvent,
|
|
20
|
+
... create_guarded_stream,
|
|
21
|
+
... )
|
|
22
|
+
>>>
|
|
23
|
+
>>> # Detect tool calls in streaming response
|
|
24
|
+
>>> detector = StreamingToolCallDetector()
|
|
25
|
+
>>> async for chunk in llm_stream:
|
|
26
|
+
... events = detector.process_chunk(chunk)
|
|
27
|
+
... for event in events:
|
|
28
|
+
... if event.type == StreamEvent.TOOL_CALL_END:
|
|
29
|
+
... # Full tool call available, authorize it
|
|
30
|
+
... tool_call = event.tool_call
|
|
31
|
+
... auth.authorize(user, "execute", tool_call.name)
|
|
32
|
+
>>>
|
|
33
|
+
>>> # Filter streaming output
|
|
34
|
+
>>> transformer = StreamTransformer()
|
|
35
|
+
>>> transformer.add_filter(redact_sensitive_data)
|
|
36
|
+
>>> async for chunk in transformer.transform(llm_stream):
|
|
37
|
+
... ws.send(chunk) # Filtered content
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
from proxilion.streaming.detector import (
|
|
41
|
+
DetectedToolCall,
|
|
42
|
+
PartialToolCall,
|
|
43
|
+
StreamEvent,
|
|
44
|
+
StreamEventType,
|
|
45
|
+
StreamingToolCallDetector,
|
|
46
|
+
)
|
|
47
|
+
from proxilion.streaming.transformer import (
|
|
48
|
+
FilteredStream,
|
|
49
|
+
StreamFilter,
|
|
50
|
+
StreamTransformer,
|
|
51
|
+
StreamValidator,
|
|
52
|
+
create_authorization_stream,
|
|
53
|
+
create_guarded_stream,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
__all__ = [
|
|
57
|
+
# Detector classes
|
|
58
|
+
"StreamEvent",
|
|
59
|
+
"StreamEventType",
|
|
60
|
+
"PartialToolCall",
|
|
61
|
+
"StreamingToolCallDetector",
|
|
62
|
+
"DetectedToolCall",
|
|
63
|
+
# Transformer classes
|
|
64
|
+
"StreamTransformer",
|
|
65
|
+
"FilteredStream",
|
|
66
|
+
"StreamFilter",
|
|
67
|
+
"StreamValidator",
|
|
68
|
+
"create_guarded_stream",
|
|
69
|
+
"create_authorization_stream",
|
|
70
|
+
]
|