This commit is contained in:
+22
-8
@@ -14,6 +14,7 @@ import (
|
||||
"data-terminal-cloud/internal/billing"
|
||||
"data-terminal-cloud/internal/cache"
|
||||
"data-terminal-cloud/internal/config"
|
||||
"data-terminal-cloud/internal/contentmodel"
|
||||
"data-terminal-cloud/internal/contentpolicy"
|
||||
"data-terminal-cloud/internal/database"
|
||||
"data-terminal-cloud/internal/dataexport"
|
||||
@@ -137,6 +138,21 @@ func Run(ctx context.Context, serviceName string) error {
|
||||
var opsDeviceService *opsdevice.Service
|
||||
var memoryToolService *memorytool.Service
|
||||
var memoryToolSigner *memorytool.TokenSigner
|
||||
var contentModelService *contentmodel.Service
|
||||
var contentModelRegistry *contentmodel.Registry
|
||||
if serviceName == "api" || serviceName == "worker" {
|
||||
var fallback extraction.Generator = extraction.DeterministicGenerator{}
|
||||
if cfg.ContentGenerator == "ark" {
|
||||
fallback, err = extraction.NewArkGenerator(cfg.ArkBaseURL, cfg.ArkAPIKey, cfg.ArkContentModel, cfg.ArkRequestTimeout)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create fallback Ark content generator: %w", err)
|
||||
}
|
||||
}
|
||||
contentModelRegistry, err = contentmodel.NewRegistry(databasePool, cfg.ContentModelMasterKey, fallback)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create content model registry: %w", err)
|
||||
}
|
||||
}
|
||||
if serviceName == "api" || serviceName == "callbacks" {
|
||||
diagnosticService, err = diagnostics.NewService(databasePool, idempotency.NewExecutor(databasePool), audit.NewRepository())
|
||||
if err != nil {
|
||||
@@ -144,6 +160,10 @@ func Run(ctx context.Context, serviceName string) error {
|
||||
}
|
||||
}
|
||||
if serviceName == "api" {
|
||||
contentModelService, err = contentmodel.NewService(contentModelRegistry, audit.NewRepository())
|
||||
if err != nil {
|
||||
return fmt.Errorf("create content model service: %w", err)
|
||||
}
|
||||
memoryToolSigner, err = memorytool.NewTokenSigner([]byte(cfg.MemoryToolSigningSecret))
|
||||
if err != nil {
|
||||
return fmt.Errorf("create memory tool signer: %w", err)
|
||||
@@ -354,14 +374,7 @@ func Run(ctx context.Context, serviceName string) error {
|
||||
}
|
||||
outboxWorker.Register("conversation.agent_stop_requested", stopProcessor.Handle)
|
||||
outboxWorker.Register("conversation.agent_stop_reconcile_requested", stopProcessor.Handle)
|
||||
var contentGenerator extraction.Generator = extraction.DeterministicGenerator{}
|
||||
if cfg.ContentGenerator == "ark" {
|
||||
arkGenerator, generatorErr := extraction.NewArkGenerator(cfg.ArkBaseURL, cfg.ArkAPIKey, cfg.ArkContentModel, cfg.ArkRequestTimeout)
|
||||
if generatorErr != nil {
|
||||
return fmt.Errorf("create Ark content generator: %w", generatorErr)
|
||||
}
|
||||
contentGenerator = arkGenerator
|
||||
}
|
||||
var contentGenerator extraction.Generator = contentModelRegistry
|
||||
var contentSafety contentpolicy.Classifier = contentpolicy.LocalClassifier{}
|
||||
if cfg.ContentSafetyProvider == "managed_http" {
|
||||
managedSafety, safetyErr := contentpolicy.NewManagedClassifier(cfg.ContentSafetyEndpoint, cfg.ContentSafetyAPIKey, cfg.ContentSafetyPolicyRef, cfg.ContentSafetyTimeout)
|
||||
@@ -476,6 +489,7 @@ func Run(ctx context.Context, serviceName string) error {
|
||||
DiagnosticService: diagnosticService,
|
||||
OpsAccessService: opsAccessService,
|
||||
OpsDeviceService: opsDeviceService,
|
||||
ContentModelService: contentModelService,
|
||||
ConversationCreator: conversationCreator,
|
||||
ConversationActivator: conversationCreator,
|
||||
DeviceConversationStateReader: conversationCreator,
|
||||
|
||||
Reference in New Issue
Block a user