Files
Agent-System/internal/app/intentflow/service.go
weichenandCursor 9364da4974 feat(intentflow): freeze plan lifecycle contracts and batch policy
Add the app/intentflow skeleton so HITL state, error codes, REST shapes, and BatchActionPolicy live outside intent and default to the legacy tier.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 16:22:52 +00:00

15 lines
621 B
Go

package intentflow
import "context"
// Service is the only surface chat/server may call. Implementations live in
// later units; U1 freezes the signature so HTTP and chat cannot grow a second
// plan owner.
type Service interface {
HandleTurn(ctx context.Context, in TurnInput) (*TurnResult, error)
DecidePlan(ctx context.Context, in DecisionCommand) (*PlanView, error)
GetPlan(ctx context.Context, principal Principal, planID string) (*PlanView, error)
// GetActivePlan returns (nil, nil) when the principal has no visible active plan.
GetActivePlan(ctx context.Context, principal Principal) (*PlanView, error)
}