Files
Agent-System/internal/server/chat_workflow_adapter.go
T
weichen 0ab4a8bd2d feat(server): 接线对话 workflow.run 并补 P0 验证记录
server 侧窄端口适配 projectworkflow,消除 chat→projectworkflow 边界违规;记录单测与 arch-check 证据,PI 全链路待补证。
2026-09-25 14:37:11 +00:00

37 lines
979 B
Go

package server
import (
"context"
"chat-agent-system/internal/chat"
"chat-agent-system/internal/projectworkflow"
)
// chatWorkflowAdapter adapts projectworkflow.Service to chat.WorkflowRunner
// without letting the chat package import projectworkflow (module boundary).
type chatWorkflowAdapter struct {
svc *projectworkflow.Service
}
func adaptChatWorkflow(svc *projectworkflow.Service) chat.WorkflowRunner {
if svc == nil {
return nil
}
return chatWorkflowAdapter{svc: svc}
}
func (a chatWorkflowAdapter) CreateWorkflowRun(ctx context.Context, req chat.WorkflowStartRequest) (*chat.WorkflowStartResult, error) {
startedBy := req.StartedBy
created, err := a.svc.CreateWorkflowRun(ctx, &projectworkflow.WorkflowRun{
RunID: req.RunID,
ProjectID: req.ProjectID,
WorkflowKey: req.WorkflowKey,
StartedBy: &startedBy,
Status: req.Status,
})
if err != nil {
return nil, err
}
return &chat.WorkflowStartResult{RunID: created.RunID}, nil
}