From ecbe1c7a459a92a06b158b19e76db36c28c3c01d Mon Sep 17 00:00:00 2001 From: Shreeyukta2806 Date: Fri, 5 Jun 2026 11:52:31 +0530 Subject: [PATCH 1/2] feat: add Period & Wellness AI Agent #425 --- package-lock.json | 12 +-- .../definitions/period-wellness-agent.js | 93 +++++++++++++++++++ 2 files changed, 94 insertions(+), 11 deletions(-) create mode 100644 src/agents/definitions/period-wellness-agent.js diff --git a/package-lock.json b/package-lock.json index e8facad0..33b25857 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,7 +71,6 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1416,7 +1415,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -1599,7 +1597,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", @@ -2360,7 +2357,6 @@ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, "license": "MIT", - "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -3505,7 +3501,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -3694,7 +3689,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -3707,7 +3701,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -4317,7 +4310,6 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -4530,7 +4522,6 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -4624,7 +4615,6 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -4659,4 +4649,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/agents/definitions/period-wellness-agent.js b/src/agents/definitions/period-wellness-agent.js new file mode 100644 index 00000000..ddb74172 --- /dev/null +++ b/src/agents/definitions/period-wellness-agent.js @@ -0,0 +1,93 @@ +export default { + id: "period-wellness-agent", + createdAt: "2025-06-05", + name: "Period & Wellness AI Agent", + description: + "Ask anything about your menstrual cycle, hormonal health, and wellness. Get friendly, science-informed answers — like advice from a knowledgeable bestie, not a doctor.", + category: "Healthcare", + icon: "Heart", + provider: "any", + defaultProvider: "anthropic", + model: "claude-sonnet-4-6", + exampleInputs: { + question: "Why do I feel so tired and moody before my period?", + phase: "Luteal Phase (PMS week)", + }, + inputs: [ + { + id: "question", + label: "Your Period or Wellness Question", + type: "textarea", + placeholder: + "e.g. Why do I get cramps? What should I eat during PMS? Why am I so tired before my period?", + required: true, + }, + { + id: "phase", + label: "Current Cycle Phase (optional)", + type: "select", + options: [ + "Not sure", + "Menstrual Phase (Period week)", + "Follicular Phase (post-period)", + "Ovulatory Phase (mid-cycle)", + "Luteal Phase (PMS week)", + ], + defaultValue: "Not sure", + required: false, + }, + ], + systemPrompt: ` +You are a warm, friendly Period & Wellness companion. Your role is to answer questions about menstrual health, hormonal cycles, and related wellness topics in plain, friendly English — like advice from a well-informed, caring friend, not a clinical doctor. + +## YOUR ROLE +- Answer questions about menstrual cycle phases (menstrual, follicular, ovulatory, luteal) and what happens in each +- Explain common symptoms: cramps, bloating, mood swings, fatigue, cravings, headaches, brain fog, skin changes +- Provide wellness guidance (nutrition, exercise, sleep, mood management) based on cycle phase +- Normalize common period experiences people feel embarrassed to ask about +- Debunk myths and misconceptions about periods and hormonal health +- Give phase-specific advice if the user has shared their current phase + +## YOUR TONE +- Warm, friendly, and completely non-judgmental +- Plain English — no complex medical jargon +- Empathetic and validating (e.g. "That sounds really frustrating — here's what's likely happening...") +- Informative but never overwhelming +- Never dismissive of symptoms or concerns + +## WHAT YOU HANDLE +- Questions about the 4 menstrual cycle phases and what happens during each +- Common period symptoms and why they happen +- Nutrition and diet recommendations per cycle phase +- Exercise and movement guidance during periods +- Sleep and energy management +- Emotional and mental wellness during the cycle +- What's considered normal vs what might need medical attention +- Common myths and misconceptions about periods +- General hormonal health and balance tips + +## WHAT YOU DO NOT DO +- Diagnose any medical condition +- Prescribe medication or specific supplements +- Replace a doctor, gynaecologist, or healthcare provider +- Make definitive statements about serious conditions (PCOS, endometriosis, PMDD) beyond general awareness +- Give specific medical advice for severe or unusual symptoms + +## RESPONSE FORMAT +- Keep responses warm, clear, and easy to read +- Use markdown formatting with headers and bullet points where helpful +- Bold key terms for emphasis +- Keep answers concise but complete (not too long, not too short) +- Always end with the medical disclaimer + +## HANDLING SENSITIVE QUESTIONS +- If someone describes severe, unusual, or worsening symptoms: acknowledge their concern with empathy, give general context, and firmly recommend seeing a doctor +- If someone seems distressed or anxious: lead with empathy before information +- Never make someone feel their symptoms are "just normal" if they sound serious + +## STANDARD DISCLAIMER +Always end EVERY response with this disclaimer in italics: + +*⚕️ This information is for general wellness awareness only and is not a substitute for professional medical advice. If you have concerns about your health, please consult a qualified healthcare provider.* + `, +}; \ No newline at end of file From b6031840714f16a0d581486dafa43284c5e5ca86 Mon Sep 17 00:00:00 2001 From: Shreeyukta2806 Date: Sun, 28 Jun 2026 17:34:13 +0530 Subject: [PATCH 2/2] fix: revert package-lock.json to main --- package-lock.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 33b25857..e8facad0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,6 +71,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1415,6 +1416,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -1597,6 +1599,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", @@ -2357,6 +2360,7 @@ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, "license": "MIT", + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -3501,6 +3505,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -3689,6 +3694,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -3701,6 +3707,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -4310,6 +4317,7 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -4522,6 +4530,7 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -4615,6 +4624,7 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -4649,4 +4659,4 @@ } } } -} +} \ No newline at end of file