|
@@ -25,6 +25,7 @@ from script_build_host.agents.prompt_catalog import (
|
|
|
script_prompt_requests,
|
|
script_prompt_requests,
|
|
|
)
|
|
)
|
|
|
from script_build_host.api import ApiSecurity, UploadedTopicGateway, create_app
|
|
from script_build_host.api import ApiSecurity, UploadedTopicGateway, create_app
|
|
|
|
|
+from script_build_host.application.context_semantics import AdaptiveSemanticSelector
|
|
|
from script_build_host.application.input_snapshot_service import ScriptInputSnapshotService
|
|
from script_build_host.application.input_snapshot_service import ScriptInputSnapshotService
|
|
|
from script_build_host.application.mission_factory import ScriptMissionFactory
|
|
from script_build_host.application.mission_factory import ScriptMissionFactory
|
|
|
from script_build_host.application.mission_service import (
|
|
from script_build_host.application.mission_service import (
|
|
@@ -63,7 +64,7 @@ from script_build_host.domain.task_contracts import PhaseTwoLimits
|
|
|
from script_build_host.infrastructure.outbound import OutboundPolicy
|
|
from script_build_host.infrastructure.outbound import OutboundPolicy
|
|
|
from script_build_host.infrastructure.task_contract_store import FileScriptTaskContractStore
|
|
from script_build_host.infrastructure.task_contract_store import FileScriptTaskContractStore
|
|
|
from script_build_host.tools import LegacyScriptToolGateway, register_script_tools
|
|
from script_build_host.tools import LegacyScriptToolGateway, register_script_tools
|
|
|
-from script_build_host.tools.gateway import ImageAdapter, RetrievalAdapter
|
|
|
|
|
|
|
+from script_build_host.tools.gateway import RetrievalAdapter
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
@dataclass(frozen=True)
|
|
@@ -80,7 +81,6 @@ class HostDependencies:
|
|
|
principal_provider: PrincipalProvider
|
|
principal_provider: PrincipalProvider
|
|
|
build_authorizer: BuildAuthorizer
|
|
build_authorizer: BuildAuthorizer
|
|
|
retrieval_adapters: Mapping[str, RetrievalAdapter] = field(default_factory=dict)
|
|
retrieval_adapters: Mapping[str, RetrievalAdapter] = field(default_factory=dict)
|
|
|
- image_adapter: ImageAdapter | None = None
|
|
|
|
|
uploaded_topics: UploadedTopicGateway | None = None
|
|
uploaded_topics: UploadedTopicGateway | None = None
|
|
|
orchestration_config: Any = None
|
|
orchestration_config: Any = None
|
|
|
event_sink: Any = None
|
|
event_sink: Any = None
|
|
@@ -186,6 +186,14 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
task_store=dependencies.task_store,
|
|
task_store=dependencies.task_store,
|
|
|
artifacts=dependencies.business_artifacts,
|
|
artifacts=dependencies.business_artifacts,
|
|
|
)
|
|
)
|
|
|
|
|
+ semantic_call = getattr(dependencies.runner, "utility_llm_call", None) or getattr(
|
|
|
|
|
+ dependencies.runner, "llm_call", None
|
|
|
|
|
+ )
|
|
|
|
|
+ semantic_cache_root = (
|
|
|
|
|
+ dependencies.agent_data_root / "context-broker" / "semantic-cache"
|
|
|
|
|
+ if dependencies.agent_data_root is not None
|
|
|
|
|
+ else None
|
|
|
|
|
+ )
|
|
|
workbench = MissionWorkbench(
|
|
workbench = MissionWorkbench(
|
|
|
task_store=dependencies.task_store,
|
|
task_store=dependencies.task_store,
|
|
|
bindings=dependencies.bindings,
|
|
bindings=dependencies.bindings,
|
|
@@ -193,6 +201,13 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
artifacts=dependencies.business_artifacts,
|
|
artifacts=dependencies.business_artifacts,
|
|
|
contracts=contract_store,
|
|
contracts=contract_store,
|
|
|
candidates=candidate_service,
|
|
candidates=candidate_service,
|
|
|
|
|
+ root_tools=root_delivery,
|
|
|
|
|
+ raw_artifacts=dependencies.raw_artifact_store,
|
|
|
|
|
+ semantic_selector=AdaptiveSemanticSelector(
|
|
|
|
|
+ llm_call=semantic_call,
|
|
|
|
|
+ cache_root=semantic_cache_root,
|
|
|
|
|
+ ),
|
|
|
|
|
+ receipt_store=getattr(dependencies.runner, "trace_store", None),
|
|
|
)
|
|
)
|
|
|
deterministic_worker = ScriptBuildDeterministicWorker(
|
|
deterministic_worker = ScriptBuildDeterministicWorker(
|
|
|
candidate_service, bindings=dependencies.bindings
|
|
candidate_service, bindings=dependencies.bindings
|
|
@@ -262,7 +277,6 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
artifacts=dependencies.business_artifacts,
|
|
artifacts=dependencies.business_artifacts,
|
|
|
coordinator=coordinator,
|
|
coordinator=coordinator,
|
|
|
retrieval_adapters=dependencies.retrieval_adapters,
|
|
retrieval_adapters=dependencies.retrieval_adapters,
|
|
|
- image_adapter=dependencies.image_adapter,
|
|
|
|
|
dispatch_guard=mission_service,
|
|
dispatch_guard=mission_service,
|
|
|
planner_tools=planning_service,
|
|
planner_tools=planning_service,
|
|
|
candidate_tools=candidate_service,
|
|
candidate_tools=candidate_service,
|