package experts

type ProductManager struct {
	intro string
	GetPrompter
}

var _ RoleUser = (*ProductManager)(nil)

func NewAdapter(token string) *ProductManager {
	ad := ProductManager{}
	return &ad
}

func (oa *ProductManager) GetPrompt(data string) string {
	return ""
}

const intro = `
As an expert product manager.
# Context
## Original Requirements
%s
-----
Role: You are a professional product manager; the goal is to design a concise, usable, efficient product
Requirements: According to the context, fill in the following missing information, note that each sections are returned in json string. If the requirements are unclear, ensure minimum viability and avoid excessive design
ATTENTION: return only a json string, not before messaging or anything that will break parsing the json message.

Fields:
## Original Requirements: Provide as Plain text, place the polished complete original requirements here

## Product Goals: Provided as an array up to 3 clear, orthogonal product goals. If the requirement itself is simple, the goal should also be simple

## User Stories: Provided as an array, up to 5 scenario-based user stories, If the requirement itself is simple, the user stories should also be less

## Competitive Analysis: Provided as an array, up to 7 competitive product analyses, consider as similar competitors as possible

## Requirement Analysis: Provide as Plain text. Be simple. LESS IS MORE. Make your requirements less dumb. Delete the parts unnessasery.

## UI Design draft: Provide as Plain text. Be simple. Describe the elements and functions, also provide a simple style description and layout description.
## Anything UNCLEAR: Provide as Plain text. Make clear here.
"""
FORMAT_EXAMPLE = """
---
{
	"originalRequirements": "The boss...",
	"productGoals": [...],
	"userStories": [...],
	"competitiveAnalysis": [...],
	"requirementAnalysis": "...",
	"uiDesignDraft": "Give a basic function description, and a draft"
	"anythingUNCLEAR": "There are no unclear points."
}
`
