mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-30 08:32:07 -04:00
refactor(tools): collapse tool_implementations to clean re-export shim
Move shared _INTERNAL_BASE/_internal_headers to src/tools/_common.py and drop the duplicate _parse_tool_args (already in _common). tool_implementations.py is now a pure re-export facade (+ 3 pre-existing email-context helpers, out of scope). Domain files' function-local imports of these names still resolve via the facade re-export. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,9 @@ Extracted from tool_implementations.py as part of slice 1 (#4082/#4071).
|
||||
Domain modules under src/tools/ import from here.
|
||||
"""
|
||||
import json
|
||||
from typing import Dict, Optional
|
||||
|
||||
from core.constants import internal_api_base
|
||||
|
||||
|
||||
def _parse_tool_args(content):
|
||||
@@ -37,3 +40,19 @@ def _parse_tool_args(content):
|
||||
):
|
||||
args = args["body"]
|
||||
return args
|
||||
|
||||
|
||||
# In-process loopback base for agent tools that call Odysseus's own API
|
||||
# (cookbook state, model serve, gallery, email, calendar). We ride the
|
||||
# per-process internal token so require_admin lets us through. See
|
||||
# core/middleware.py. Resolution (override / APP_PORT / 7000) lives in
|
||||
# core.constants.internal_api_base().
|
||||
_INTERNAL_BASE = internal_api_base()
|
||||
|
||||
|
||||
def _internal_headers(owner: Optional[str] = None) -> Dict[str, str]:
|
||||
from core.middleware import INTERNAL_TOOL_HEADER, INTERNAL_TOOL_TOKEN
|
||||
headers = {INTERNAL_TOOL_HEADER: INTERNAL_TOOL_TOKEN}
|
||||
if owner:
|
||||
headers["X-Odysseus-Owner"] = owner
|
||||
return headers
|
||||
|
||||
Reference in New Issue
Block a user