forge.core
Python core package; imports are explicit from this package.
Python core package; imports are explicit from this package.
Package contract
| Field | Value |
|---|---|
| Language | python |
| Source version | 0.1.0 |
| Manifest | forge-py/pyproject.toml |
| Source files | 16 |
| Evidence | Source reference; registry publication and runtime conformance are separate checks |
Import boundary
import forge.coreUse a source checkout or your verified private registry. Manifest coordinates identify the package; they do not establish that a public registry release exists.
Source reference
Download package reference JSON. Each original source file and generated declaration artifact has its own SHA-256 digest. Function bodies and constant values are omitted from downloads. These are source declaration inventories, not compiler-resolved rustdoc, TypeDoc, DocC, or Dokka output. Private modules can contain public declarations that are not reachable through the package boundary; consult the entry point before importing.
brew.py
Read declaration text · 34 declaration entries
class JoinMode(Enum)
class JoinModeFirstN()
def to_dict(self) -> dict[str, Any]
def join_mode_to_dict(mode: JoinMode | JoinModeFirstN) -> Any
def join_mode_from_dict(data: Any) -> JoinMode | JoinModeFirstN
class BrewId()
def as_str(self) -> str
class NodeId()
def as_str(self) -> str
class BrewVersion()
def as_str(self) -> str
class BrewEdgeKind(Enum)
class BrewEdge()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> BrewEdge
def sort_key(self) -> tuple[str, str, str]
class AgentStepNode()
class ToolInvocationNode()
class McpCallNode()
class WebOperationNode()
class ConditionalBranchNode()
class ParallelForkNode()
class SubBrewRefNode()
class HumanCheckpointNode()
def brew_node_kind_to_dict(kind: BrewNodeKind) -> dict[str, Any]
def brew_node_kind_from_dict(data: dict[str, Any]) -> BrewNodeKind
class BrewNode()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> BrewNode
class Brew()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> Brew
def to_json(self) -> str
def from_json(data: str) -> Brewbrew_builder.py
Read declaration text · 10 declaration entries
class BrewBuilder()
def __init__(self, brew_id: str, version: str) -> None
def add_node(self, node_id: str, kind: BrewNodeKind) -> BrewBuilder
def add_edge(self, from_id: str, to_id: str, edge_kind: BrewEdgeKind) -> BrewBuilder
def set_entry(self, node_id: str) -> BrewBuilder
def set_exit(self, node_id: str) -> BrewBuilder
def with_topology(self, topology: ModelTopology) -> BrewBuilder
def with_metadata(self, node_id: str, key: str, value: str) -> BrewBuilder
def build(self) -> Brew
def topological_sort(nodes: dict[str, BrewNode], edges: list[BrewEdge]) -> list[str]brew_resolver.py
Read declaration text · 11 declaration entries
class BrewResolutionErrorKind(Enum)
class BrewResolutionError()
def to_dict(self) -> dict[str, Any]
class BrewEnvironment()
def to_dict(self) -> dict[str, Any]
def compute_hash(self) -> str
class ResolvedBrewPlan()
def to_dict(self) -> dict[str, Any]
class BrewResolutionFailed(Exception)
def __init__(self, errors: list[BrewResolutionError]) -> None
def resolve(brew: Brew, env: BrewEnvironment) -> ResolvedBrewPlanconfig.py
Read declaration text · 18 declaration entries
class GenerateOptions()
def with_temperature(self, temperature: float) -> GenerateOptions
def with_max_tokens(self, max_tokens: int) -> GenerateOptions
def with_top_p(self, top_p: float) -> GenerateOptions
def with_stop_sequences(self, sequences: list[str]) -> GenerateOptions
def with_frequency_penalty(self, penalty: float) -> GenerateOptions
def with_presence_penalty(self, penalty: float) -> GenerateOptions
def with_seed(self, seed: int) -> GenerateOptions
def with_output_schema(self, schema: JsonSchema) -> GenerateOptions
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> GenerateOptions
def to_json(self) -> str
def from_json(data: str) -> GenerateOptions
class EmbedOptions()
def with_model(self, model: str) -> EmbedOptions
def with_dimensions(self, dimensions: int) -> EmbedOptions
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> EmbedOptionserror.py
Read declaration text · 39 declaration entries
class ForgeError(Exception)
class ForgeProviderNotFoundError(ForgeError)
def __init__(self, provider_ref: str) -> None
class ForgeInvalidProviderRefError(ForgeError)
def __init__(self, input_str: str) -> None
class ForgeSchemaValidationError(ForgeError)
def __init__(self, path: str, reason: str) -> None
class InvalidLifecycleTransitionError(ForgeError)
def __init__(self, from_state: str, to_state: str, reason: str) -> None
class ForgeToolInvocationDeniedError(ForgeError)
def __init__(self, tool_name: str, agent_did: str, required_capability: str, act_id: str) -> None
class ForgeToolExecutionError(ForgeError)
def __init__(self, tool_name: str, reason: str) -> None
class ForgeJsonError(ForgeError)
def __init__(self, message: str) -> None
class ForgeMissingConfigError(ForgeError)
def __init__(self, field: str, hint: str) -> None
class ForgeStopConditionError(ForgeError)
def __init__(self, reason: str, steps: int, tokens: int) -> None
class ForgeTelemetryError(ForgeError)
def __init__(self, reason: str) -> None
class ForgeUnsupportedOperationError(ForgeError)
def __init__(self, model: str, operation: str) -> None
class ForgeProviderUnavailableError(ForgeError)
def __init__(self, provider_ref: str, reason: str) -> None
class ForgeProviderAuthenticationFailedError(ForgeError)
def __init__(self, provider_ref: str, reason: str) -> None
class ForgeCapabilityUnsupportedError(ForgeError)
def __init__(self, provider_ref: str, capability: str) -> None
class ForgeProviderNegotiationFailedError(ForgeError)
def __init__(self, provider_ref: str, reason: str) -> None
class ForgeProviderSessionExpiredError(ForgeError)
def __init__(self, provider_ref: str, session_id: str) -> None
class ForgeProviderInterruptUnsupportedError(ForgeError)
def __init__(self, provider_ref: str) -> None
class ForgeProviderResumeUnsupportedError(ForgeError)
def __init__(self, provider_ref: str) -> None
class ForgeInternalError(ForgeError)
def __init__(self, message: str) -> Nonemessage.py
Read declaration text · 15 declaration entries
class Role(Enum)
def as_str(self) -> str
class TextPart()
class ImagePart()
class ToolCallPart()
class ToolResultPart()
class ModelMessage()
def new(role: Role, parts: list[MessagePart]) -> ModelMessage
def text(role: Role, text: str) -> ModelMessage
def tool_calls(self) -> list[ToolCallPart]
def text_content(self) -> str
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ModelMessage
def to_json(self) -> str
def from_json(data: str) -> ModelMessagemodel.py
Read declaration text · 9 declaration entries
class LanguageModel(ABC)
def model_id(self) -> str
def provider(self) -> str
async def generate(self, messages: list[object], tools: list[ToolDefinition], options: GenerateOptions) -> GenerateResult
async def stream(self, messages: list[object], tools: list[ToolDefinition], options: GenerateOptions) -> AsyncGenerator[StreamChunk, None]
def supports_tool_calling(self) -> bool
def supports_structured_output(self) -> bool
def supports_image_input(self) -> bool
def supports_streaming(self) -> booloutput.py
Read declaration text · 29 declaration entries
class FinishReason(Enum)
def is_complete(self) -> bool
def is_tool_call(self) -> bool
class Usage()
def zero() -> Usage
def add(self, other: Usage) -> Usage
def to_dict(self) -> dict[str, int]
def from_dict(data: dict[str, Any]) -> Usage
def to_json(self) -> str
def from_json(data: str) -> Usage
class GenerateResult()
def text(self) -> str
def has_tool_calls(self) -> bool
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> GenerateResult
def to_json(self) -> str
def from_json(data: str) -> GenerateResult
class TextDelta()
def as_text(self) -> str | None
class ToolCallDelta()
def as_text(self) -> str | None
class StreamDone()
def as_text(self) -> str | None
def stream_chunk_text_delta(text: str) -> TextDelta
def stream_chunk_done(finish_reason: FinishReason, usage: Usage) -> StreamDone
def is_text_delta(chunk: StreamChunk) -> bool
def is_done(chunk: StreamChunk) -> bool
def stream_chunk_to_dict(chunk: StreamChunk) -> dict[str, Any]
def stream_chunk_from_dict(data: dict[str, Any]) -> StreamChunkprovider.py
Read declaration text · 55 declaration entries
class ProviderRef()
def parse(input_str: str) -> ProviderRef
def as_str(self) -> str
def to_json(self) -> str
def from_json(data: str) -> ProviderRef
class ProviderMetadata()
def to_dict(self) -> dict[str, Any]
class RuntimeCapability(str, Enum)
def ordinal(self) -> int
class ProviderRuntimeCapabilities()
def baseline() -> ProviderRuntimeCapabilities
def with_capability(self, capability: RuntimeCapability) -> ProviderRuntimeCapabilities
def supports(self, capability: RuntimeCapability) -> bool
def to_dict(self) -> dict[str, Any]
class ProviderNegotiationRequest()
class ProviderNegotiationResult()
class ProviderSessionState(str, Enum)
class ProviderUsageSummary()
class ProviderSessionEvent()
class ProviderRegistry()
def __init__(self) -> None
def register(self, provider_ref: str, model: LanguageModel) -> None
def register_with_runtime(self, provider_ref: str, model: LanguageModel, runtime_capabilities: ProviderRuntimeCapabilities) -> None
def get(self, provider_ref: str) -> LanguageModel | None
def require(self, provider_ref: str) -> LanguageModel
def metadata(self, provider_ref: str) -> ProviderMetadata | None
def list(self) -> list[str]
def is_empty(self) -> bool
def negotiate(self, request: ProviderNegotiationRequest) -> ProviderNegotiationResult
class ProviderFamily(str, Enum)
class AuthStrategy(str, Enum)
class ProviderPreset()
class ProviderExecutionRequest()
class ProviderInstallOptions()
def approved_coding_provider_presets() -> list[ProviderPreset]
def approved_direct_provider_presets() -> list[ProviderPreset]
def approved_gateway_provider_presets() -> list[ProviderPreset]
def register_official_coding_providers(registry: ProviderRegistry, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> None
def register_default_core_direct_providers(registry: ProviderRegistry, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> list[str]
def register_openai_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_anthropic_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_google_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_xai_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_deepseek_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_mistral_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_cohere_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_groq_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_moonshot_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_zai_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_minimax_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_openrouter_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_bedrock_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_vertex_ai_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_microsoft_foundry_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> str
def register_foundry_model(registry: ProviderRegistry, model_id: str, *, env: ProviderEnvironment | None=None, generate: ProviderGenerateHook | None=None, stream: ProviderStreamHook | None=None) -> strrouting.py
Read declaration text · 20 declaration entries
class TaskMode(Enum)
def as_role_name(self) -> str
class ExecutionTopology(Enum)
class ModelCapabilities()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ModelCapabilities
class RoutingContext()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> RoutingContext
def to_json(self) -> str
def from_json(data: str) -> RoutingContext
class ResolvedRoute()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ResolvedRoute
class ModelRouter(ABC)
def name(self) -> str
def route(self, context: RoutingContext, topology: ModelTopology) -> ResolvedRoute
class DefaultModelRouter(ModelRouter)
def name(self) -> str
def route(self, context: RoutingContext, topology: ModelTopology) -> ResolvedRouteschema.py
Read declaration text · 24 declaration entries
class SchemaType(Enum)
class JsonSchema()
def string() -> JsonSchema
def number() -> JsonSchema
def integer() -> JsonSchema
def boolean() -> JsonSchema
def array() -> JsonSchema
def object_() -> JsonSchema
def null() -> JsonSchema
def set_description(self, desc: str) -> JsonSchema
def property(self, name: str, schema: JsonSchema) -> JsonSchema
def required_(self, name: str) -> JsonSchema
def items_schema(self, schema: JsonSchema) -> JsonSchema
def set_enum_values(self, values: list[Any]) -> JsonSchema
def set_minimum(self, min_val: float) -> JsonSchema
def set_maximum(self, max_val: float) -> JsonSchema
def set_min_length(self, length: int) -> JsonSchema
def set_max_length(self, length: int) -> JsonSchema
def set_additional_properties(self, allowed: bool) -> JsonSchema
def validate(self, value: Any) -> None
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> JsonSchema
def to_json(self) -> str
def from_json(data: str) -> JsonSchematelemetry.py
Read declaration text · 27 declaration entries
class SpanAttributeString()
class SpanAttributeInt()
class SpanAttributeFloat()
class SpanAttributeBool()
def to_span_attribute(value: str | int | float | bool) -> SpanAttribute
def span_attribute_value(attr: SpanAttribute) -> str | int | float | bool
class SpanStatusCode(Enum)
class SpanStatusUnset()
class SpanStatusOk()
class SpanStatusError()
class ForgeSpan()
def set_attribute(self, key: str, value: str | int | float | bool) -> None
def end(self) -> None
def end_with_error(self, message: str) -> None
def with_parent(self, parent_id: str) -> ForgeSpan
class ForgeEvent()
def set_attribute(self, key: str, value: str | int | float | bool) -> None
class TelemetryEmitter(ABC)
def emit_span(self, span: ForgeSpan) -> None
def emit_event(self, event: ForgeEvent) -> None
class NoopEmitter(TelemetryEmitter)
def emit_span(self, span: ForgeSpan) -> None
def emit_event(self, event: ForgeEvent) -> None
class RecordingEmitter(TelemetryEmitter)
def __init__(self) -> None
def emit_span(self, span: ForgeSpan) -> None
def emit_event(self, event: ForgeEvent) -> Nonetool.py
Read declaration text · 30 declaration entries
class ToolTier(Enum)
def requires_authorization(self) -> bool
def as_str(self) -> str
class ToolDefinition()
def builder(name: str) -> ToolDefinitionBuilder
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ToolDefinition
def to_json(self) -> str
def from_json(data: str) -> ToolDefinition
class ToolDefinitionBuilder()
def __init__(self, name: str) -> None
def description(self, desc: str) -> ToolDefinitionBuilder
def parameters(self, schema: JsonSchema) -> ToolDefinitionBuilder
def tier(self, tier: ToolTier) -> ToolDefinitionBuilder
def build(self) -> ToolDefinition
class ToolCall()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ToolCall
def to_json(self) -> str
def from_json(data: str) -> ToolCall
class ToolResult()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ToolResult
def to_json(self) -> str
def from_json(data: str) -> ToolResult
class ToolApprovalApprove()
class ToolApprovalDeny()
class ToolApprovalModify()
def tool_approval_to_dict(approval: ToolApproval) -> dict[str, Any]
def tool_approval_from_dict(data: dict[str, Any]) -> ToolApprovaltopology.py
Read declaration text · 29 declaration entries
class CostPreference(Enum)
def as_str(self) -> str
class LatencyPreference(Enum)
def as_str(self) -> str
class ModelSlot()
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ModelSlot
class ModelTopology()
def single(provider_ref: ProviderRef) -> ModelTopology
def builder() -> TopologyBuilder
def default_slot(self) -> ModelSlot
def slot_for_role(self, role: str) -> ModelSlot
def has_role(self, role: str) -> bool
def slot_count(self) -> int
def all_provider_refs(self) -> list[ProviderRef]
def to_dict(self) -> dict[str, Any]
def from_dict(data: dict[str, Any]) -> ModelTopology
def to_json(self) -> str
def from_json(data: str) -> ModelTopology
class TopologyBuilder()
def __init__(self) -> None
def name(self, name: str) -> TopologyBuilder
def slot(self, role: str, primary: ProviderRef) -> TopologyBuilder
def with_fallback(self, role: str, fallback: ProviderRef) -> TopologyBuilder
def with_required_capability(self, role: str, cap: RuntimeCapability) -> TopologyBuilder
def with_cost_preference(self, role: str, pref: CostPreference) -> TopologyBuilder
def with_latency_preference(self, role: str, pref: LatencyPreference) -> TopologyBuilder
def with_scope_narrowing(self, role: str, scopes: list[str]) -> TopologyBuilder
def build(self) -> ModelTopologytypes.py
Read declaration text · 12 declaration entries
class AgentDid()
def new(did: str) -> AgentDid | None
def from_trusted(did: str) -> AgentDid
def as_str(self) -> str
def to_json(self) -> str
def from_json(data: str) -> AgentDid
class Timestamp()
def now() -> Timestamp
def from_iso8601(s: str) -> Timestamp | None
def to_iso8601(self) -> str
def to_json(self) -> str
def from_json(data: str) -> Timestamp | None