feat(acp): SessionService interface + CreateSessionInput

This commit is contained in:
2026-05-07 14:09:42 +08:00
parent 54a69a46cd
commit ce28b822f9
+16 -2
View File
@@ -115,9 +115,23 @@ type AgentKindService interface {
Delete(ctx context.Context, c Caller, id uuid.UUID) error
}
// SessionService 在 Part 2 实施。占位以便 handler.go 编译通过
// SessionService 暴露 Session 聚合根的应用服务方法
type SessionService interface {
// methods filled in Part 2
Create(ctx context.Context, c Caller, in CreateSessionInput) (*Session, error)
Get(ctx context.Context, c Caller, id uuid.UUID) (*Session, error)
List(ctx context.Context, c Caller, all bool) ([]*Session, error)
Terminate(ctx context.Context, c Caller, id uuid.UUID) error
}
// CreateSessionInput 是创建 session 的入参。
// branch / issue_number / requirement_number 三选一或全空(spec §8.1)。
type CreateSessionInput struct {
WorkspaceID uuid.UUID
AgentKindID uuid.UUID
Branch *string
IssueNumber *int
RequirementNumber *int
InitialPrompt *string
}
// CreateAgentKindInput 携带创建必需字段。Args / Env 可为 nil。