Files
vocero-client/s2s-client/s2s_client/models/requests.py
T

48 lines
1.6 KiB
Python

from __future__ import annotations
from typing import Any
from pydantic import BaseModel, ConfigDict
class SearchRequest(BaseModel):
query: str
# Optional user-supplied key (fallback when the deploy has no server key).
# Used for this request only; never stored.
key: str | None = None
class ReasoningRequest(BaseModel):
transcript: str
instructions: str = ""
language: str = ""
user_context: str = ""
# Optional phone number. When S2S_INJECT_PROFILE is true the proxy fetches
# the caller profile from VOCERO_USER_PHONE_AUTH_URL and:
# 1. prepends the serialized profile to user_context before feeding the
# engine (NODE_RED or OPENAI);
# 2. appends the profile context to the LLM instructions prompt.
phoneNumber: str | None = None
# Optional podcast episode ID. When set the proxy fetches the episode from
# the Aquachile AzurianLab API and injects it as the PRIMARY context into
# both user_context (prepended) and LLM instructions prompt (appended first).
episode_id: str | None = None
class ApipilotExecuteRequest(BaseModel):
"""Body for the ApiPilot execute proxy endpoint. Mirrors §2.2 request shape."""
name: str
arguments: dict = {}
class QueueEndPayload(BaseModel):
"""A view of a decoded beacon object, preserving the legacy loose value.
Missing/invalid JSON and non-object bodies are still handled by the route.
In particular, a truthy non-string ID must retain its existing behavior.
"""
model_config = ConfigDict(extra="allow")
queueId: Any = ""