61 lines
2.7 KiB
Plaintext
61 lines
2.7 KiB
Plaintext
syntax = "v1"
|
|
|
|
// Flow A full copy_mission pipeline removed (stubs / orphan workers).
|
|
// Only topic inspiration remains until Post Project replaces MissionsPage.
|
|
// See docs/post-project-plan.md and docs/cleanup-log.md.
|
|
|
|
type (
|
|
CopyMissionInspirationReq {
|
|
Keyword string `json:"keyword,optional"`
|
|
ContentDirection string `json:"content_direction,optional"`
|
|
UseWebSearch bool `json:"use_web_search,optional"`
|
|
AvoidTopics []string `json:"avoid_topics,optional"`
|
|
}
|
|
|
|
CopyMissionInspirationHandlerReq {
|
|
PersonaID string `path:"personaId" validate:"required"`
|
|
CopyMissionInspirationReq
|
|
}
|
|
|
|
CopyMissionInspirationSourceData {
|
|
Query string `json:"query,omitempty"`
|
|
Title string `json:"title,omitempty"`
|
|
Snippet string `json:"snippet,omitempty"`
|
|
URL string `json:"url,omitempty"`
|
|
}
|
|
|
|
CopyMissionInspirationData {
|
|
TopicCandidateID string `json:"topic_candidate_id,omitempty"`
|
|
ContentPlanID string `json:"content_plan_id,omitempty"`
|
|
Label string `json:"label"`
|
|
SeedQuery string `json:"seed_query"`
|
|
Brief string `json:"brief"`
|
|
TrendReason string `json:"trend_reason,omitempty"`
|
|
TrendKeywords []string `json:"trend_keywords,omitempty"`
|
|
Angles []string `json:"angles,omitempty"`
|
|
Mission string `json:"mission,omitempty"`
|
|
TargetAudience string `json:"target_audience,omitempty"`
|
|
OpeningType string `json:"opening_type,omitempty"`
|
|
BodyType string `json:"body_type,omitempty"`
|
|
Emotion string `json:"emotion,omitempty"`
|
|
CtaType string `json:"cta_type,omitempty"`
|
|
RiskLevel string `json:"risk_level,omitempty"`
|
|
Avoid []string `json:"avoid,omitempty"`
|
|
Sources []CopyMissionInspirationSourceData `json:"sources,omitempty"`
|
|
WebSearchUsed bool `json:"web_search_used"`
|
|
Message string `json:"message"`
|
|
}
|
|
)
|
|
|
|
@server(
|
|
group: copy_mission
|
|
prefix: /api/v1/personas
|
|
middleware: AuthJWT
|
|
tags: "CopyMission"
|
|
summary: "Topic inspiration only (legacy Flow A pipeline removed). Requires Bearer JWT."
|
|
)
|
|
service gateway {
|
|
@handler inspireCopyMission
|
|
post /:personaId/copy-mission-inspiration (CopyMissionInspirationHandlerReq) returns (CopyMissionInspirationData)
|
|
}
|