35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from __future__ import annotations
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
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 = {}
|