refactor: enforce top-level imports for llama-stack-api

Enforce that all imports from llama-stack-api use the form:

from llama_stack_api import <symbol>

 This prevents external code from accessing internal package structure
 (e.g., llama_stack_api.agents, llama_stack_api.common.*) and establishes
 a clear public API boundary.

 Changes:
 - Export 400+ symbols from llama_stack_api/__init__.py
 - Include all API types, common utilities, and strong_typing helpers
 - Update files across src/llama_stack, docs/, tests/, scripts/
 - Convert all submodule imports to top-level imports
 - ensure docs use the proper importing structure

 Addresses PR review feedback requiring explicit __all__ definition to
 prevent "peeking inside" the API package.

Signed-off-by: Charlie Doern <cdoern@redhat.com>
This commit is contained in:
Charlie Doern 2025-11-13 14:03:30 -05:00
parent b7480e9c88
commit 2e5d1c8881
270 changed files with 1587 additions and 750 deletions

View file

@ -12,27 +12,30 @@ import tempfile
from typing import Any
import yaml
from llama_stack_api.agents import Agents
from llama_stack_api.batches import Batches
from llama_stack_api.benchmarks import Benchmarks
from llama_stack_api.conversations import Conversations
from llama_stack_api.datasetio import DatasetIO
from llama_stack_api.datasets import Datasets
from llama_stack_api.datatypes import Api
from llama_stack_api.eval import Eval
from llama_stack_api.files import Files
from llama_stack_api.inference import Inference
from llama_stack_api.inspect import Inspect
from llama_stack_api.models import Models
from llama_stack_api.post_training import PostTraining
from llama_stack_api.prompts import Prompts
from llama_stack_api.providers import Providers
from llama_stack_api.safety import Safety
from llama_stack_api.scoring import Scoring
from llama_stack_api.scoring_functions import ScoringFunctions
from llama_stack_api.shields import Shields
from llama_stack_api.tools import ToolGroups, ToolRuntime
from llama_stack_api.vector_io import VectorIO
from llama_stack_api import (
Agents,
Api,
Batches,
Benchmarks,
Conversations,
DatasetIO,
Datasets,
Eval,
Files,
Inference,
Inspect,
Models,
PostTraining,
Prompts,
Providers,
Safety,
Scoring,
ScoringFunctions,
Shields,
ToolGroups,
ToolRuntime,
VectorIO,
)
from llama_stack.core.conversations.conversations import ConversationServiceConfig, ConversationServiceImpl
from llama_stack.core.datatypes import Provider, SafetyConfig, StackRunConfig, VectorStoresConfig