Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions src/splunk_ao/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,6 @@
)
from galileo_core.schemas.logging.step import StepType
from galileo_core.schemas.logging.trace import Trace
from galileo_core.schemas.protect.execution_status import ExecutionStatus
from galileo_core.schemas.protect.payload import Payload
from galileo_core.schemas.protect.request import Request
from galileo_core.schemas.protect.response import Response
from galileo_core.schemas.protect.ruleset import Ruleset
from galileo_core.schemas.protect.stage import StageType
from splunk_ao.agent_control import AgentControlTarget, AgentControlTargetUnresolvedError, get_agent_control_target
from splunk_ao.collaborator import Collaborator, CollaboratorRole
from splunk_ao.configuration import Configuration
Expand All @@ -54,7 +48,6 @@
from splunk_ao.model import Model
from splunk_ao.project import Project
from splunk_ao.prompt import Prompt
from splunk_ao.protect import ainvoke_protect, invoke_protect
from splunk_ao.provider import AnthropicProvider, AzureProvider, BedrockProvider, OpenAIProvider, Provider
from splunk_ao.schema.message import Message
from splunk_ao.schema.metrics import SplunkAOMetrics
Expand All @@ -67,13 +60,6 @@
SplunkAOFutureError,
ValidationError,
)
from splunk_ao.stages import (
create_protect_stage,
get_protect_stage,
pause_protect_stage,
resume_protect_stage,
update_protect_stage,
)
from splunk_ao.tracing import get_tracing_headers
from splunk_ao.types import MetricSpec
from splunk_ao.utils.log_config import enable_console_logging
Expand Down Expand Up @@ -104,7 +90,6 @@
"ControlSpan",
"Dataset",
"Document",
"ExecutionStatus",
"Experiment",
"ForbiddenError",
"Integration",
Expand All @@ -119,17 +104,13 @@
"Model",
"NotFoundError",
"OpenAIProvider",
"Payload",
"Project",
"Prompt",
"Provider",
"RateLimitError",
"Request",
"ResourceConflictError",
"ResourceNotFoundError",
"Response",
"RetrieverSpan",
"Ruleset",
"ServerError",
"Session",
"Span",
Expand All @@ -141,7 +122,6 @@
"SplunkAOLoggerException",
"SplunkAOMetric",
"SplunkAOMetrics",
"StageType",
"StepType",
"StepWithChildSpans",
"SyncState",
Expand All @@ -151,22 +131,15 @@
"Trace",
"ValidationError",
"WorkflowSpan",
"ainvoke_protect",
"create_api_key",
"create_protect_stage",
"delete_api_key",
"enable_console_logging",
"splunk_ao_context",
"get_agent_control_target",
"get_protect_stage",
"get_tracing_headers",
"invoke_protect",
"is_dependency_available",
"list_api_keys",
"log",
"pause_protect_stage",
"resume_protect_stage",
"setup_agent_control_bridge",
"start_session",
"update_protect_stage",
]
1 change: 0 additions & 1 deletion src/splunk_ao/constants/protect.py

This file was deleted.

164 changes: 0 additions & 164 deletions src/splunk_ao/handlers/langchain/tool.py

This file was deleted.

81 changes: 0 additions & 81 deletions src/splunk_ao/logger/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@
)
from galileo_core.schemas.logging.step import BaseStep, Metrics, StepType
from galileo_core.schemas.logging.trace import Trace
from galileo_core.schemas.protect.payload import Payload
from galileo_core.schemas.protect.response import Response
from galileo_core.schemas.shared.traces_logger import TracesLogger
from splunk_ao.config import SplunkAOConfig
from splunk_ao.constants import LoggerModeType
Expand Down Expand Up @@ -1578,85 +1576,6 @@ def add_tool_span(

return span

@nop_sync
@warn_catch_exception(exceptions=(Exception,))
def add_protect_span(
self,
payload: Payload,
redacted_payload: Payload | None = None,
response: Response | None = None,
redacted_response: Response | None = None,
created_at: datetime | None = None,
metadata: dict[str, MetadataValue] | None = None,
tags: list[str] | None = None,
status_code: int | None = None,
step_number: int | None = None,
) -> ToolSpan:
"""
Add a new Protect tool span to the current parent.

Parameters
----------
payload: Payload
Input to the node. This is the input to the Protect `invoke` method.
Expected format: Payload object with input_ and/or output attributes.
Example: `Payload(input_="User input text", output="Model output text")`
redacted_payload: Optional[Payload]
Input that removes any sensitive information (redacted input to the node).
Same format as payload parameter.
response: Optional[Response]
Output of the node. This is the output from the Protect `invoke` method.
Expected format: Response object with text, trace_metadata, and status.
Example: `Response(text="Processed text", status=ExecutionStatus.triggered)`
redacted_response: Optional[Response]
Output that removes any sensitive information (redacted output of the node).
Same format as response parameter.
created_at: Optional[datetime]
Timestamp of the span's creation.
metadata: Optional[dict[str, str]]
Metadata associated with this span.
Expected format: `{"key1": "value1", "key2": "value2"}`
tags: Optional[list[str]]
Tags associated with this span.
Expected format: `["tag1", "tag2", "tag3"]`
status_code: Optional[int]
Status code of the node execution.
Expected values: 200 (success), 400 (client error), 500 (server error)
step_number: Optional[int]
Step number of the span.

Returns
-------
ToolSpan
The created Protect tool span.
"""
# Auto-convert non-string metadata values to strings
if metadata:
metadata = {k: SplunkAOLogger._convert_metadata_value(v) for k, v in metadata.items()}

kwargs = {
"input": json.dumps(payload.model_dump(mode="json")),
"redacted_input": json.dumps(redacted_payload.model_dump(mode="json")) if redacted_payload else None,
"output": json.dumps(response.model_dump(mode="json")) if response else None,
"redacted_output": json.dumps(redacted_response.model_dump(mode="json")) if redacted_response else None,
"name": "GalileoProtect",
"duration_ns": response.trace_metadata.response_at - response.trace_metadata.received_at
if response
else None,
"created_at": created_at,
"user_metadata": metadata,
"tags": tags,
"status_code": status_code,
"step_number": step_number,
"id": uuid.uuid4(),
}
span = super().add_tool_span(**kwargs)

if self.mode == "distributed":
self._ingest_step_streaming(span)

return span

def _attach_parentable_span(self, span: StepWithChildSpans, status_code: int | None = None) -> StepWithChildSpans:
parent = self.current_parent()
span._parent = parent
Expand Down
Loading
Loading