mechaharness.di
pyiv Config for MechaHarness.
MechaHarnessConfig.configure() binds interfaces from overridable class
hooks. Hosts subclass and override get_inference_class /
get_harness_class. SettingsConfig resolves those classes from string
maps (the OpenAPI/CLI configuration path).
- class mechaharness.di.MechaHarnessConfig[source]
Bases:
ConfigTemplate-method pyiv Config. Override the
get_*_classhooks.- configure() None[source]
Override this method to register dependencies.
Example
- def configure(self):
self.register(AbstractClass, ConcreteClass) self.register_instance(Logger, my_logger_instance)
- get_access_control() mechaharness.core.access.AccessControl[source]
Deny-by-default access control bound into harnesses.
- get_access_policy() AccessPolicy | CompoundPolicy[source]
Grant policy for harness tool gates.
Default wraps
get_grants()in anAccessPolicy. Hosts override to return aCompoundPolicyof reusable grant sets. NotJudgementPolicy.
- get_cost_accountant() mechaharness.core.access.CostAccountant[source]
Ledger used to price inference and tool invocations.
- get_event_log() mechaharness.core.events.EventLog[source]
Shared
EventLogfor harnesses and access/cost policies.
- get_grants() list[object][source]
Deny-by-default grant list. Hosts override; unknown namespaced keys ok.
- get_harness_class() type[AbstractHarness][source]
Required override: class bound to
AbstractHarness.
- get_harness_config() HarnessConfig[source]
Build
HarnessConfigfromget_settings().
- get_inference_class() type[InferenceStrategy][source]
Required override: class bound to
InferenceStrategy.
- get_inference_environment() InferenceEnvironment[source]
Host probe for the active inference profile (default: no-op).
- get_judge_connection() APIConnectionConfig[source]
HTTP connection for the judge lane (override for OAuth, etc.).
- get_judge_provider() JudgeProvider[source]
Judge backend (default: System One over
get_judge_connection()).
- get_settings() mechaharness.config.Settings[source]
Settings instance registered for this config (override to customize).
- get_tools() ToolRegistry[source]
Tools available to the harness (default: empty registry).
- harness_classes() dict[str, type[AbstractHarness]][source]
Named harness family map. Hosts merge via
super().harness_classes().
- class mechaharness.di.SettingsConfig(settings: TypeAliasForwardRef('mechaharness.config.Settings') | None = None, tools: ToolRegistry | None = None)[source]
Bases:
MechaHarnessConfigResolves inference/harness classes from
Settingsname maps.- __init__(settings: TypeAliasForwardRef('mechaharness.config.Settings') | None = None, tools: ToolRegistry | None = None) None[source]
Initialize the configuration.
- get_harness_class() type[AbstractHarness][source]
Required override: class bound to
AbstractHarness.
- get_inference_class() type[InferenceStrategy][source]
Required override: class bound to
InferenceStrategy.
- get_settings() mechaharness.config.Settings[source]
Settings instance registered for this config (override to customize).
- get_tools() ToolRegistry[source]
Tools available to the harness (default: empty registry).
- mechaharness.di.apply_backend_defaults(settings: mechaharness.config.Settings) mechaharness.config.Settings[source]
Fill
base_url/api_keyfrom the named backend when unset.
- mechaharness.di.build_injector(settings: TypeAliasForwardRef('mechaharness.config.Settings') | None = None, tools: ToolRegistry | None = None) Injector[source]
Build a pyiv injector from
SettingsConfig(CLI/API/non-DI path).