agent-recipes 0.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. agent_recipes/__init__.py +27 -0
  2. agent_recipes/recipe_runtime/__init__.py +28 -0
  3. agent_recipes/recipe_runtime/core.py +385 -0
  4. agent_recipes/templates/ai-ab-hook-tester/recipe.yaml +45 -0
  5. agent_recipes/templates/ai-ab-hook-tester/tools.py +169 -0
  6. agent_recipes/templates/ai-angle-generator/recipe.yaml +49 -0
  7. agent_recipes/templates/ai-angle-generator/tools.py +182 -0
  8. agent_recipes/templates/ai-api-doc-generator/README.md +59 -0
  9. agent_recipes/templates/ai-api-doc-generator/TEMPLATE.yaml +29 -0
  10. agent_recipes/templates/ai-api-tester/README.md +60 -0
  11. agent_recipes/templates/ai-api-tester/TEMPLATE.yaml +29 -0
  12. agent_recipes/templates/ai-audio-enhancer/README.md +59 -0
  13. agent_recipes/templates/ai-audio-enhancer/TEMPLATE.yaml +28 -0
  14. agent_recipes/templates/ai-audio-normalizer/README.md +13 -0
  15. agent_recipes/templates/ai-audio-normalizer/TEMPLATE.yaml +44 -0
  16. agent_recipes/templates/ai-audio-splitter/README.md +14 -0
  17. agent_recipes/templates/ai-audio-splitter/TEMPLATE.yaml +47 -0
  18. agent_recipes/templates/ai-background-music-generator/README.md +59 -0
  19. agent_recipes/templates/ai-background-music-generator/TEMPLATE.yaml +28 -0
  20. agent_recipes/templates/ai-background-remover/README.md +60 -0
  21. agent_recipes/templates/ai-background-remover/TEMPLATE.yaml +27 -0
  22. agent_recipes/templates/ai-barcode-scanner/README.md +60 -0
  23. agent_recipes/templates/ai-barcode-scanner/TEMPLATE.yaml +26 -0
  24. agent_recipes/templates/ai-blog-generator/README.md +59 -0
  25. agent_recipes/templates/ai-blog-generator/TEMPLATE.yaml +28 -0
  26. agent_recipes/templates/ai-brief-generator/recipe.yaml +52 -0
  27. agent_recipes/templates/ai-brief-generator/tools.py +231 -0
  28. agent_recipes/templates/ai-broll-builder/recipe.yaml +47 -0
  29. agent_recipes/templates/ai-broll-builder/tools.py +204 -0
  30. agent_recipes/templates/ai-calendar-scheduler/README.md +60 -0
  31. agent_recipes/templates/ai-calendar-scheduler/TEMPLATE.yaml +29 -0
  32. agent_recipes/templates/ai-changelog-generator/README.md +14 -0
  33. agent_recipes/templates/ai-changelog-generator/TEMPLATE.yaml +46 -0
  34. agent_recipes/templates/ai-chart-generator/README.md +61 -0
  35. agent_recipes/templates/ai-chart-generator/TEMPLATE.yaml +32 -0
  36. agent_recipes/templates/ai-code-documenter/README.md +12 -0
  37. agent_recipes/templates/ai-code-documenter/TEMPLATE.yaml +37 -0
  38. agent_recipes/templates/ai-code-refactorer/README.md +59 -0
  39. agent_recipes/templates/ai-code-refactorer/TEMPLATE.yaml +28 -0
  40. agent_recipes/templates/ai-code-reviewer/README.md +59 -0
  41. agent_recipes/templates/ai-code-reviewer/TEMPLATE.yaml +31 -0
  42. agent_recipes/templates/ai-color-palette-extractor/README.md +60 -0
  43. agent_recipes/templates/ai-color-palette-extractor/TEMPLATE.yaml +27 -0
  44. agent_recipes/templates/ai-comment-miner/recipe.yaml +40 -0
  45. agent_recipes/templates/ai-comment-miner/tools.py +141 -0
  46. agent_recipes/templates/ai-commit-message-generator/README.md +59 -0
  47. agent_recipes/templates/ai-commit-message-generator/TEMPLATE.yaml +31 -0
  48. agent_recipes/templates/ai-content-calendar/recipe.yaml +43 -0
  49. agent_recipes/templates/ai-content-calendar/tools.py +170 -0
  50. agent_recipes/templates/ai-context-enricher/recipe.yaml +48 -0
  51. agent_recipes/templates/ai-context-enricher/tools.py +258 -0
  52. agent_recipes/templates/ai-contract-analyzer/README.md +60 -0
  53. agent_recipes/templates/ai-contract-analyzer/TEMPLATE.yaml +34 -0
  54. agent_recipes/templates/ai-csv-cleaner/README.md +13 -0
  55. agent_recipes/templates/ai-csv-cleaner/TEMPLATE.yaml +45 -0
  56. agent_recipes/templates/ai-cta-generator/recipe.yaml +54 -0
  57. agent_recipes/templates/ai-cta-generator/tools.py +174 -0
  58. agent_recipes/templates/ai-daily-news-show/recipe.yaml +103 -0
  59. agent_recipes/templates/ai-daily-news-show/tools.py +308 -0
  60. agent_recipes/templates/ai-data-anonymizer/README.md +60 -0
  61. agent_recipes/templates/ai-data-anonymizer/TEMPLATE.yaml +31 -0
  62. agent_recipes/templates/ai-data-profiler/README.md +14 -0
  63. agent_recipes/templates/ai-data-profiler/TEMPLATE.yaml +42 -0
  64. agent_recipes/templates/ai-dependency-auditor/README.md +12 -0
  65. agent_recipes/templates/ai-dependency-auditor/TEMPLATE.yaml +37 -0
  66. agent_recipes/templates/ai-doc-translator/README.md +12 -0
  67. agent_recipes/templates/ai-doc-translator/TEMPLATE.yaml +41 -0
  68. agent_recipes/templates/ai-duplicate-finder/README.md +59 -0
  69. agent_recipes/templates/ai-duplicate-finder/TEMPLATE.yaml +28 -0
  70. agent_recipes/templates/ai-ebook-converter/README.md +60 -0
  71. agent_recipes/templates/ai-ebook-converter/TEMPLATE.yaml +27 -0
  72. agent_recipes/templates/ai-email-parser/README.md +59 -0
  73. agent_recipes/templates/ai-email-parser/TEMPLATE.yaml +29 -0
  74. agent_recipes/templates/ai-etl-pipeline/README.md +60 -0
  75. agent_recipes/templates/ai-etl-pipeline/TEMPLATE.yaml +30 -0
  76. agent_recipes/templates/ai-excel-formula-generator/README.md +59 -0
  77. agent_recipes/templates/ai-excel-formula-generator/TEMPLATE.yaml +28 -0
  78. agent_recipes/templates/ai-face-blur/README.md +60 -0
  79. agent_recipes/templates/ai-face-blur/TEMPLATE.yaml +28 -0
  80. agent_recipes/templates/ai-fact-checker/recipe.yaml +52 -0
  81. agent_recipes/templates/ai-fact-checker/tools.py +279 -0
  82. agent_recipes/templates/ai-faq-generator/README.md +59 -0
  83. agent_recipes/templates/ai-faq-generator/TEMPLATE.yaml +28 -0
  84. agent_recipes/templates/ai-file-organizer/README.md +59 -0
  85. agent_recipes/templates/ai-file-organizer/TEMPLATE.yaml +29 -0
  86. agent_recipes/templates/ai-folder-packager/README.md +15 -0
  87. agent_recipes/templates/ai-folder-packager/TEMPLATE.yaml +48 -0
  88. agent_recipes/templates/ai-form-filler/README.md +60 -0
  89. agent_recipes/templates/ai-form-filler/TEMPLATE.yaml +30 -0
  90. agent_recipes/templates/ai-hashtag-optimizer/recipe.yaml +45 -0
  91. agent_recipes/templates/ai-hashtag-optimizer/tools.py +134 -0
  92. agent_recipes/templates/ai-hook-generator/recipe.yaml +50 -0
  93. agent_recipes/templates/ai-hook-generator/tools.py +177 -0
  94. agent_recipes/templates/ai-image-captioner/README.md +59 -0
  95. agent_recipes/templates/ai-image-captioner/TEMPLATE.yaml +28 -0
  96. agent_recipes/templates/ai-image-cataloger/README.md +13 -0
  97. agent_recipes/templates/ai-image-cataloger/TEMPLATE.yaml +39 -0
  98. agent_recipes/templates/ai-image-optimizer/README.md +13 -0
  99. agent_recipes/templates/ai-image-optimizer/TEMPLATE.yaml +43 -0
  100. agent_recipes/templates/ai-image-resizer/README.md +12 -0
  101. agent_recipes/templates/ai-image-resizer/TEMPLATE.yaml +39 -0
  102. agent_recipes/templates/ai-image-tagger/README.md +59 -0
  103. agent_recipes/templates/ai-image-tagger/TEMPLATE.yaml +28 -0
  104. agent_recipes/templates/ai-image-upscaler/README.md +60 -0
  105. agent_recipes/templates/ai-image-upscaler/TEMPLATE.yaml +27 -0
  106. agent_recipes/templates/ai-invoice-processor/README.md +60 -0
  107. agent_recipes/templates/ai-invoice-processor/TEMPLATE.yaml +34 -0
  108. agent_recipes/templates/ai-json-to-csv/README.md +12 -0
  109. agent_recipes/templates/ai-json-to-csv/TEMPLATE.yaml +36 -0
  110. agent_recipes/templates/ai-log-analyzer/README.md +59 -0
  111. agent_recipes/templates/ai-log-analyzer/TEMPLATE.yaml +28 -0
  112. agent_recipes/templates/ai-markdown-to-pdf/README.md +12 -0
  113. agent_recipes/templates/ai-markdown-to-pdf/TEMPLATE.yaml +40 -0
  114. agent_recipes/templates/ai-meeting-summarizer/README.md +59 -0
  115. agent_recipes/templates/ai-meeting-summarizer/TEMPLATE.yaml +32 -0
  116. agent_recipes/templates/ai-meta-tag-generator/README.md +59 -0
  117. agent_recipes/templates/ai-meta-tag-generator/TEMPLATE.yaml +28 -0
  118. agent_recipes/templates/ai-news-capture-pack/recipe.yaml +42 -0
  119. agent_recipes/templates/ai-news-capture-pack/tools.py +150 -0
  120. agent_recipes/templates/ai-news-crawler/recipe.yaml +99 -0
  121. agent_recipes/templates/ai-news-crawler/tools.py +417 -0
  122. agent_recipes/templates/ai-news-deduper/recipe.yaml +47 -0
  123. agent_recipes/templates/ai-news-deduper/tools.py +235 -0
  124. agent_recipes/templates/ai-newsletter-generator/README.md +59 -0
  125. agent_recipes/templates/ai-newsletter-generator/TEMPLATE.yaml +28 -0
  126. agent_recipes/templates/ai-note-summarizer/README.md +59 -0
  127. agent_recipes/templates/ai-note-summarizer/TEMPLATE.yaml +28 -0
  128. agent_recipes/templates/ai-pdf-summarizer/README.md +12 -0
  129. agent_recipes/templates/ai-pdf-summarizer/TEMPLATE.yaml +40 -0
  130. agent_recipes/templates/ai-pdf-to-markdown/README.md +19 -0
  131. agent_recipes/templates/ai-pdf-to-markdown/TEMPLATE.yaml +63 -0
  132. agent_recipes/templates/ai-performance-analyzer/recipe.yaml +45 -0
  133. agent_recipes/templates/ai-performance-analyzer/tools.py +159 -0
  134. agent_recipes/templates/ai-podcast-cleaner/README.md +117 -0
  135. agent_recipes/templates/ai-podcast-cleaner/TEMPLATE.yaml +117 -0
  136. agent_recipes/templates/ai-podcast-cleaner/agents.yaml +59 -0
  137. agent_recipes/templates/ai-podcast-cleaner/workflow.yaml +77 -0
  138. agent_recipes/templates/ai-podcast-transcriber/README.md +59 -0
  139. agent_recipes/templates/ai-podcast-transcriber/TEMPLATE.yaml +32 -0
  140. agent_recipes/templates/ai-post-copy-generator/recipe.yaml +41 -0
  141. agent_recipes/templates/ai-post-copy-generator/tools.py +105 -0
  142. agent_recipes/templates/ai-product-description-generator/README.md +59 -0
  143. agent_recipes/templates/ai-product-description-generator/TEMPLATE.yaml +28 -0
  144. agent_recipes/templates/ai-publisher-pack/recipe.yaml +44 -0
  145. agent_recipes/templates/ai-publisher-pack/tools.py +252 -0
  146. agent_recipes/templates/ai-qr-code-generator/README.md +60 -0
  147. agent_recipes/templates/ai-qr-code-generator/TEMPLATE.yaml +26 -0
  148. agent_recipes/templates/ai-regex-generator/README.md +59 -0
  149. agent_recipes/templates/ai-regex-generator/TEMPLATE.yaml +28 -0
  150. agent_recipes/templates/ai-repo-readme/README.md +13 -0
  151. agent_recipes/templates/ai-repo-readme/TEMPLATE.yaml +42 -0
  152. agent_recipes/templates/ai-report-generator/README.md +61 -0
  153. agent_recipes/templates/ai-report-generator/TEMPLATE.yaml +32 -0
  154. agent_recipes/templates/ai-resume-parser/README.md +60 -0
  155. agent_recipes/templates/ai-resume-parser/TEMPLATE.yaml +33 -0
  156. agent_recipes/templates/ai-rss-aggregator/README.md +60 -0
  157. agent_recipes/templates/ai-rss-aggregator/TEMPLATE.yaml +30 -0
  158. agent_recipes/templates/ai-schema-generator/README.md +12 -0
  159. agent_recipes/templates/ai-schema-generator/TEMPLATE.yaml +34 -0
  160. agent_recipes/templates/ai-screen-recorder/recipe.yaml +43 -0
  161. agent_recipes/templates/ai-screen-recorder/tools.py +184 -0
  162. agent_recipes/templates/ai-screenshot-capture/recipe.yaml +45 -0
  163. agent_recipes/templates/ai-screenshot-capture/tools.py +231 -0
  164. agent_recipes/templates/ai-screenshot-ocr/README.md +12 -0
  165. agent_recipes/templates/ai-screenshot-ocr/TEMPLATE.yaml +37 -0
  166. agent_recipes/templates/ai-script-writer/recipe.yaml +58 -0
  167. agent_recipes/templates/ai-script-writer/tools.py +297 -0
  168. agent_recipes/templates/ai-sentiment-analyzer/README.md +59 -0
  169. agent_recipes/templates/ai-sentiment-analyzer/TEMPLATE.yaml +28 -0
  170. agent_recipes/templates/ai-seo-optimizer/README.md +59 -0
  171. agent_recipes/templates/ai-seo-optimizer/TEMPLATE.yaml +28 -0
  172. agent_recipes/templates/ai-signal-ranker/recipe.yaml +54 -0
  173. agent_recipes/templates/ai-signal-ranker/tools.py +256 -0
  174. agent_recipes/templates/ai-sitemap-generator/README.md +59 -0
  175. agent_recipes/templates/ai-sitemap-generator/TEMPLATE.yaml +26 -0
  176. agent_recipes/templates/ai-sitemap-scraper/README.md +13 -0
  177. agent_recipes/templates/ai-sitemap-scraper/TEMPLATE.yaml +41 -0
  178. agent_recipes/templates/ai-slide-generator/README.md +60 -0
  179. agent_recipes/templates/ai-slide-generator/TEMPLATE.yaml +29 -0
  180. agent_recipes/templates/ai-slide-to-notes/README.md +12 -0
  181. agent_recipes/templates/ai-slide-to-notes/TEMPLATE.yaml +37 -0
  182. agent_recipes/templates/ai-social-media-generator/README.md +59 -0
  183. agent_recipes/templates/ai-social-media-generator/TEMPLATE.yaml +28 -0
  184. agent_recipes/templates/ai-sql-generator/README.md +59 -0
  185. agent_recipes/templates/ai-sql-generator/TEMPLATE.yaml +28 -0
  186. agent_recipes/templates/ai-subtitle-generator/README.md +59 -0
  187. agent_recipes/templates/ai-subtitle-generator/TEMPLATE.yaml +31 -0
  188. agent_recipes/templates/ai-test-generator/README.md +59 -0
  189. agent_recipes/templates/ai-test-generator/TEMPLATE.yaml +28 -0
  190. agent_recipes/templates/ai-translation-batch/README.md +59 -0
  191. agent_recipes/templates/ai-translation-batch/TEMPLATE.yaml +28 -0
  192. agent_recipes/templates/ai-url-to-markdown/README.md +14 -0
  193. agent_recipes/templates/ai-url-to-markdown/TEMPLATE.yaml +44 -0
  194. agent_recipes/templates/ai-video-chapter-generator/README.md +59 -0
  195. agent_recipes/templates/ai-video-chapter-generator/TEMPLATE.yaml +32 -0
  196. agent_recipes/templates/ai-video-compressor/README.md +59 -0
  197. agent_recipes/templates/ai-video-compressor/TEMPLATE.yaml +28 -0
  198. agent_recipes/templates/ai-video-editor/README.md +254 -0
  199. agent_recipes/templates/ai-video-editor/TEMPLATE.yaml +139 -0
  200. agent_recipes/templates/ai-video-editor/agents.yaml +36 -0
  201. agent_recipes/templates/ai-video-editor/requirements.txt +8 -0
  202. agent_recipes/templates/ai-video-editor/scripts/run.sh +10 -0
  203. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__init__.py +45 -0
  204. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__main__.py +8 -0
  205. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/__init__.cpython-312.pyc +0 -0
  206. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/cli.cpython-312.pyc +0 -0
  207. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/config.cpython-312.pyc +0 -0
  208. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/ffmpeg_probe.cpython-312.pyc +0 -0
  209. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/heuristics.cpython-312.pyc +0 -0
  210. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/llm_plan.cpython-312.pyc +0 -0
  211. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/models.cpython-312.pyc +0 -0
  212. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/pipeline.cpython-312.pyc +0 -0
  213. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/render.cpython-312.pyc +0 -0
  214. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/timeline.cpython-312.pyc +0 -0
  215. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/transcribe.cpython-312.pyc +0 -0
  216. agent_recipes/templates/ai-video-editor/src/ai_video_editor/__pycache__/utils.cpython-312.pyc +0 -0
  217. agent_recipes/templates/ai-video-editor/src/ai_video_editor/cli.py +343 -0
  218. agent_recipes/templates/ai-video-editor/src/ai_video_editor/config.py +102 -0
  219. agent_recipes/templates/ai-video-editor/src/ai_video_editor/ffmpeg_probe.py +92 -0
  220. agent_recipes/templates/ai-video-editor/src/ai_video_editor/heuristics.py +119 -0
  221. agent_recipes/templates/ai-video-editor/src/ai_video_editor/llm_plan.py +277 -0
  222. agent_recipes/templates/ai-video-editor/src/ai_video_editor/models.py +343 -0
  223. agent_recipes/templates/ai-video-editor/src/ai_video_editor/pipeline.py +287 -0
  224. agent_recipes/templates/ai-video-editor/src/ai_video_editor/render.py +274 -0
  225. agent_recipes/templates/ai-video-editor/src/ai_video_editor/timeline.py +278 -0
  226. agent_recipes/templates/ai-video-editor/src/ai_video_editor/transcribe.py +233 -0
  227. agent_recipes/templates/ai-video-editor/src/ai_video_editor/utils.py +222 -0
  228. agent_recipes/templates/ai-video-editor/src/input.mov +0 -0
  229. agent_recipes/templates/ai-video-editor/src/out.mp4 +0 -0
  230. agent_recipes/templates/ai-video-editor/tests/test_heuristics.py +130 -0
  231. agent_recipes/templates/ai-video-editor/tests/test_models.py +152 -0
  232. agent_recipes/templates/ai-video-editor/tests/test_timeline.py +105 -0
  233. agent_recipes/templates/ai-video-editor/workflow.yaml +51 -0
  234. agent_recipes/templates/ai-video-highlight-extractor/README.md +60 -0
  235. agent_recipes/templates/ai-video-highlight-extractor/TEMPLATE.yaml +33 -0
  236. agent_recipes/templates/ai-video-merger/recipe.yaml +40 -0
  237. agent_recipes/templates/ai-video-merger/tools.py +172 -0
  238. agent_recipes/templates/ai-video-thumbnails/README.md +16 -0
  239. agent_recipes/templates/ai-video-thumbnails/TEMPLATE.yaml +53 -0
  240. agent_recipes/templates/ai-video-to-gif/README.md +14 -0
  241. agent_recipes/templates/ai-video-to-gif/TEMPLATE.yaml +64 -0
  242. agent_recipes/templates/ai-voice-cloner/README.md +59 -0
  243. agent_recipes/templates/ai-voice-cloner/TEMPLATE.yaml +31 -0
  244. agent_recipes/templates/ai-voiceover-generator/recipe.yaml +41 -0
  245. agent_recipes/templates/ai-voiceover-generator/tools.py +194 -0
  246. agent_recipes/templates/ai-watermark-adder/README.md +59 -0
  247. agent_recipes/templates/ai-watermark-adder/TEMPLATE.yaml +26 -0
  248. agent_recipes/templates/ai-watermark-remover/README.md +60 -0
  249. agent_recipes/templates/ai-watermark-remover/TEMPLATE.yaml +32 -0
  250. agent_recipes/templates/data-transformer/README.md +75 -0
  251. agent_recipes/templates/data-transformer/TEMPLATE.yaml +63 -0
  252. agent_recipes/templates/data-transformer/agents.yaml +70 -0
  253. agent_recipes/templates/data-transformer/workflow.yaml +92 -0
  254. agent_recipes/templates/shorts-generator/README.md +61 -0
  255. agent_recipes/templates/shorts-generator/TEMPLATE.yaml +65 -0
  256. agent_recipes/templates/shorts-generator/agents.yaml +66 -0
  257. agent_recipes/templates/shorts-generator/workflow.yaml +86 -0
  258. agent_recipes/templates/transcript-generator/README.md +103 -0
  259. agent_recipes/templates/transcript-generator/TEMPLATE.yaml +57 -0
  260. agent_recipes/templates/transcript-generator/agents.yaml +62 -0
  261. agent_recipes/templates/transcript-generator/workflow.yaml +82 -0
  262. agent_recipes/templates/video-editor/README.md +70 -0
  263. agent_recipes/templates/video-editor/TEMPLATE.yaml +55 -0
  264. agent_recipes/templates/video-editor/agents.yaml +68 -0
  265. agent_recipes/templates/video-editor/workflow.yaml +92 -0
  266. agent_recipes-0.0.5.dist-info/METADATA +145 -0
  267. agent_recipes-0.0.5.dist-info/RECORD +269 -0
  268. agent_recipes-0.0.5.dist-info/WHEEL +5 -0
  269. agent_recipes-0.0.5.dist-info/top_level.txt +1 -0
  270. /236/326/177nE/243/231/214/232/265/322m/201/253/353/022C/372/321/266/b/225^=/272/017t/262/3337/310@/315wb/341pB/277z/216/330/314/004/265B/213/375/236/203/026/373/307/354z41/347#/374q/262/22589/032/276 /277/244Vh/322/017/004/224/215/004/367/377/375/335/n +0 -0
@@ -0,0 +1,182 @@
1
+ """
2
+ AI Angle Generator Tools
3
+
4
+ Generate multiple content angles:
5
+ - Controversial takes
6
+ - Educational approaches
7
+ - Business/ROI focus
8
+ - Risk analysis
9
+ - Future predictions
10
+ - Personal stories
11
+ - Comparisons
12
+ """
13
+
14
+ import logging
15
+ import os
16
+ from typing import Any, Dict, List, Optional
17
+
18
+ logger = logging.getLogger(__name__)
19
+
20
+
21
+ def call_llm(prompt: str, max_tokens: int = 1500) -> str:
22
+ """Call OpenAI API for text generation."""
23
+ import requests
24
+
25
+ api_key = os.environ.get("OPENAI_API_KEY")
26
+ if not api_key:
27
+ raise ValueError("OPENAI_API_KEY not set")
28
+
29
+ response = requests.post(
30
+ "https://api.openai.com/v1/chat/completions",
31
+ headers={
32
+ "Authorization": f"Bearer {api_key}",
33
+ "Content-Type": "application/json",
34
+ },
35
+ json={
36
+ "model": "gpt-4o-mini",
37
+ "messages": [{"role": "user", "content": prompt}],
38
+ "max_tokens": max_tokens,
39
+ "temperature": 0.9,
40
+ },
41
+ timeout=60,
42
+ )
43
+ response.raise_for_status()
44
+ return response.json()["choices"][0]["message"]["content"]
45
+
46
+
47
+ def generate_angles(
48
+ topic: str,
49
+ angle_types: Optional[List[str]] = None,
50
+ num_angles: int = 5,
51
+ ) -> Dict[str, Any]:
52
+ """
53
+ Generate multiple content angles for a topic.
54
+
55
+ Args:
56
+ topic: The topic to generate angles for
57
+ angle_types: Types of angles to generate
58
+ num_angles: Number of angles to generate
59
+
60
+ Returns:
61
+ Dictionary with generated angles
62
+ """
63
+ angle_types = angle_types or [
64
+ "controversial", "educational", "business",
65
+ "risk", "future_prediction"
66
+ ]
67
+
68
+ angle_descriptions = {
69
+ "controversial": "A bold, contrarian take that challenges conventional wisdom",
70
+ "educational": "An informative, step-by-step teaching approach",
71
+ "business": "Focus on ROI, business impact, and practical applications",
72
+ "risk": "Highlight potential dangers, downsides, or things to watch out for",
73
+ "future_prediction": "Make predictions about where this is heading",
74
+ "personal_story": "Frame through personal experience or case study",
75
+ "comparison": "Compare and contrast with alternatives or competitors",
76
+ }
77
+
78
+ angles_text = "\n".join(
79
+ f"- {angle}: {angle_descriptions.get(angle, 'Unique perspective')}"
80
+ for angle in angle_types[:num_angles]
81
+ )
82
+
83
+ prompt = f"""Generate {num_angles} different content angles for this topic: {topic}
84
+
85
+ For each angle type, provide:
86
+ 1. A compelling title/headline
87
+ 2. The main hook or thesis
88
+ 3. 3 key talking points
89
+ 4. Target audience
90
+
91
+ Angle types to generate:
92
+ {angles_text}
93
+
94
+ Format each angle clearly with the type as a header."""
95
+
96
+ result = call_llm(prompt, max_tokens=2000)
97
+
98
+ # Parse angles from response
99
+ angles = []
100
+ current_angle = None
101
+
102
+ for line in result.split("\n"):
103
+ line = line.strip()
104
+ if not line:
105
+ continue
106
+
107
+ # Check if this is a new angle header
108
+ for angle_type in angle_types:
109
+ if angle_type.lower() in line.lower() and (":" in line or "#" in line):
110
+ if current_angle:
111
+ angles.append(current_angle)
112
+ current_angle = {
113
+ "type": angle_type,
114
+ "content": [],
115
+ }
116
+ break
117
+
118
+ if current_angle:
119
+ current_angle["content"].append(line)
120
+
121
+ if current_angle:
122
+ angles.append(current_angle)
123
+
124
+ # Format angles
125
+ formatted_angles = []
126
+ for angle in angles:
127
+ formatted_angles.append({
128
+ "type": angle["type"],
129
+ "content": "\n".join(angle["content"]),
130
+ })
131
+
132
+ return {
133
+ "angles": formatted_angles,
134
+ "topic": topic,
135
+ "raw_response": result,
136
+ }
137
+
138
+
139
+ def evaluate_angles(
140
+ angles: List[Dict[str, Any]],
141
+ criteria: Optional[List[str]] = None,
142
+ ) -> Dict[str, Any]:
143
+ """
144
+ Evaluate and rank generated angles.
145
+
146
+ Args:
147
+ angles: List of angle dictionaries
148
+ criteria: Evaluation criteria
149
+
150
+ Returns:
151
+ Ranked angles with scores
152
+ """
153
+ criteria = criteria or ["engagement_potential", "uniqueness", "clarity"]
154
+
155
+ evaluated = []
156
+ for angle in angles:
157
+ # Simple scoring based on content length and keywords
158
+ content = angle.get("content", "")
159
+ score = 0.5
160
+
161
+ # Engagement indicators
162
+ engagement_words = ["you", "your", "discover", "secret", "truth", "actually"]
163
+ for word in engagement_words:
164
+ if word in content.lower():
165
+ score += 0.1
166
+
167
+ # Uniqueness (longer content often more unique)
168
+ if len(content) > 200:
169
+ score += 0.1
170
+
171
+ evaluated.append({
172
+ **angle,
173
+ "score": min(1.0, score),
174
+ })
175
+
176
+ # Sort by score
177
+ evaluated.sort(key=lambda x: x["score"], reverse=True)
178
+
179
+ return {
180
+ "ranked_angles": evaluated,
181
+ "criteria_used": criteria,
182
+ }
@@ -0,0 +1,59 @@
1
+ # Api Doc Generator
2
+
3
+ Generate OpenAPI/Swagger docs from code
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-recipes
9
+ ```
10
+
11
+ ## CLI Usage
12
+
13
+ ```bash
14
+ # Basic usage
15
+ praison recipes run ai-api-doc-generator <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-api-doc-generator <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-api-doc-generator <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-api-doc-generator
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-api-doc-generator
28
+ ```
29
+
30
+ ## Python Usage
31
+
32
+ ```python
33
+ from praisonaiagents import Agent
34
+ from agent_recipes import load_recipe
35
+
36
+ # Load and run recipe
37
+ recipe = load_recipe("ai-api-doc-generator")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+
47
+ ### Environment Variables
48
+ - OPENAI_API_KEY
49
+
50
+ ### External Tools
51
+ - None
52
+
53
+ ## Tags
54
+
55
+ `code`, `api`, `documentation`, `openapi`
56
+
57
+ ## License
58
+
59
+ Apache-2.0
@@ -0,0 +1,29 @@
1
+ name: ai-api-doc-generator
2
+ version: "1.0.0"
3
+ description: Generate OpenAPI/Swagger docs from code
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - code
8
+ - api
9
+ - documentation
10
+ - openapi
11
+
12
+ requires:
13
+ tools:
14
+ - llm_tool
15
+ packages:
16
+ - openai
17
+ env:
18
+ - OPENAI_API_KEY
19
+
20
+ cli:
21
+ command: praison recipes run ai-api-doc-generator
22
+ examples:
23
+ - praison recipes run ai-api-doc-generator <input>
24
+ - praison recipes run ai-api-doc-generator <input> --output ./output/
25
+ - praison recipes run ai-api-doc-generator <input> --dry-run
26
+
27
+ safety:
28
+ dry_run_default: false
29
+ overwrites_files: true
@@ -0,0 +1,60 @@
1
+ # Api Tester
2
+
3
+ Auto-generate and run API endpoint tests
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-recipes
9
+ ```
10
+
11
+ ## CLI Usage
12
+
13
+ ```bash
14
+ # Basic usage
15
+ praison recipes run ai-api-tester <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-api-tester <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-api-tester <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-api-tester
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-api-tester
28
+ ```
29
+
30
+ ## Python Usage
31
+
32
+ ```python
33
+ from praisonaiagents import Agent
34
+ from agent_recipes import load_recipe
35
+
36
+ # Load and run recipe
37
+ recipe = load_recipe("ai-api-tester")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+ - requests
47
+
48
+ ### Environment Variables
49
+ - OPENAI_API_KEY
50
+
51
+ ### External Tools
52
+ - None
53
+
54
+ ## Tags
55
+
56
+ `code`, `api`, `testing`
57
+
58
+ ## License
59
+
60
+ Apache-2.0
@@ -0,0 +1,29 @@
1
+ name: ai-api-tester
2
+ version: "1.0.0"
3
+ description: Auto-generate and run API endpoint tests
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - code
8
+ - api
9
+ - testing
10
+
11
+ requires:
12
+ tools:
13
+ - llm_tool
14
+ packages:
15
+ - openai
16
+ - requests
17
+ env:
18
+ - OPENAI_API_KEY
19
+
20
+ cli:
21
+ command: praison recipes run ai-api-tester
22
+ examples:
23
+ - praison recipes run ai-api-tester <input>
24
+ - praison recipes run ai-api-tester <input> --output ./output/
25
+ - praison recipes run ai-api-tester <input> --dry-run
26
+
27
+ safety:
28
+ dry_run_default: true
29
+ overwrites_files: true
@@ -0,0 +1,59 @@
1
+ # Audio Enhancer
2
+
3
+ Noise removal, EQ, and loudness normalization for audio
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-recipes
9
+ ```
10
+
11
+ ## CLI Usage
12
+
13
+ ```bash
14
+ # Basic usage
15
+ praison recipes run ai-audio-enhancer <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-audio-enhancer <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-audio-enhancer <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-audio-enhancer
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-audio-enhancer
28
+ ```
29
+
30
+ ## Python Usage
31
+
32
+ ```python
33
+ from praisonaiagents import Agent
34
+ from agent_recipes import load_recipe
35
+
36
+ # Load and run recipe
37
+ recipe = load_recipe("ai-audio-enhancer")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - ffmpeg-python
46
+
47
+ ### Environment Variables
48
+ - None
49
+
50
+ ### External Tools
51
+ - ffmpeg
52
+
53
+ ## Tags
54
+
55
+ `audio`, `enhancement`, `noise-removal`
56
+
57
+ ## License
58
+
59
+ Apache-2.0
@@ -0,0 +1,28 @@
1
+ name: ai-audio-enhancer
2
+ version: "1.0.0"
3
+ description: Noise removal, EQ, and loudness normalization for audio
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - audio
8
+ - enhancement
9
+ - noise-removal
10
+
11
+ requires:
12
+ tools:
13
+ - media_tool
14
+ packages:
15
+ - ffmpeg-python
16
+ external:
17
+ - ffmpeg
18
+
19
+ cli:
20
+ command: praison recipes run ai-audio-enhancer
21
+ examples:
22
+ - praison recipes run ai-audio-enhancer <input>
23
+ - praison recipes run ai-audio-enhancer <input> --output ./output/
24
+ - praison recipes run ai-audio-enhancer <input> --dry-run
25
+
26
+ safety:
27
+ dry_run_default: true
28
+ overwrites_files: true
@@ -0,0 +1,13 @@
1
+ # AI Audio Normalizer
2
+
3
+ Normalize audio loudness using EBU R128 standard.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-audio-normalizer audio.mp3
8
+ praison run ai-audio-normalizer audio.wav --target-lufs -14
9
+ ```
10
+
11
+ ## Output
12
+ - `normalized.mp3` - Normalized audio
13
+ - `loudness-report.json` - Loudness analysis
@@ -0,0 +1,44 @@
1
+ name: ai-audio-normalizer
2
+ version: "1.0.0"
3
+ description: Normalize audio loudness using EBU R128 standard.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [audio, normalization, loudness, ebu-r128]
7
+
8
+ requires:
9
+ tools: [shell_tool]
10
+ packages: [praisonai-tools]
11
+ external:
12
+ - name: ffmpeg
13
+ check: "ffmpeg -version"
14
+
15
+ config:
16
+ input:
17
+ type: string
18
+ required: true
19
+ output:
20
+ type: string
21
+ target_lufs:
22
+ type: number
23
+ default: -16.0
24
+
25
+ cli:
26
+ command: ai-audio-normalizer
27
+ args:
28
+ - name: input
29
+ positional: true
30
+ required: true
31
+ - name: --output
32
+ short: -o
33
+ - name: --target-lufs
34
+ default: "-16"
35
+ examples:
36
+ - "praison run ai-audio-normalizer audio.mp3"
37
+
38
+ outputs:
39
+ - name: normalized.mp3
40
+ type: file
41
+ - name: loudness-report.json
42
+ type: file
43
+ - name: run.json
44
+ type: file
@@ -0,0 +1,14 @@
1
+ # AI Audio Splitter
2
+
3
+ Split long audio files by silence detection or chapter markers.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-audio-splitter long_audio.mp3
8
+ praison run ai-audio-splitter podcast.wav --min-silence 2.0
9
+ ```
10
+
11
+ ## Output
12
+ - `tracks/` - Split audio tracks
13
+ - `manifest.json` - Track metadata
14
+ - `run.json` - Execution metadata
@@ -0,0 +1,47 @@
1
+ name: ai-audio-splitter
2
+ version: "1.0.0"
3
+ description: Split long audio files by silence detection or chapter markers.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [audio, split, chapters, silence-detection]
7
+
8
+ requires:
9
+ tools: [shell_tool]
10
+ packages: [praisonai-tools]
11
+ external:
12
+ - name: ffmpeg
13
+ check: "ffmpeg -version"
14
+
15
+ config:
16
+ input:
17
+ type: string
18
+ required: true
19
+ output:
20
+ type: string
21
+ min_silence_duration:
22
+ type: number
23
+ default: 1.0
24
+ silence_threshold:
25
+ type: string
26
+ default: "-40dB"
27
+
28
+ cli:
29
+ command: ai-audio-splitter
30
+ args:
31
+ - name: input
32
+ positional: true
33
+ required: true
34
+ - name: --output
35
+ short: -o
36
+ - name: --min-silence
37
+ default: "1.0"
38
+ examples:
39
+ - "praison run ai-audio-splitter long_audio.mp3"
40
+
41
+ outputs:
42
+ - name: tracks/
43
+ type: directory
44
+ - name: manifest.json
45
+ type: file
46
+ - name: run.json
47
+ type: file
@@ -0,0 +1,59 @@
1
+ # Background Music Generator
2
+
3
+ Generate royalty-free background music for videos
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-recipes
9
+ ```
10
+
11
+ ## CLI Usage
12
+
13
+ ```bash
14
+ # Basic usage
15
+ praison recipes run ai-background-music-generator <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-background-music-generator <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-background-music-generator <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-background-music-generator
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-background-music-generator
28
+ ```
29
+
30
+ ## Python Usage
31
+
32
+ ```python
33
+ from praisonaiagents import Agent
34
+ from agent_recipes import load_recipe
35
+
36
+ # Load and run recipe
37
+ recipe = load_recipe("ai-background-music-generator")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+
47
+ ### Environment Variables
48
+ - OPENAI_API_KEY
49
+
50
+ ### External Tools
51
+ - None
52
+
53
+ ## Tags
54
+
55
+ `audio`, `music`, `generation`
56
+
57
+ ## License
58
+
59
+ Apache-2.0
@@ -0,0 +1,28 @@
1
+ name: ai-background-music-generator
2
+ version: "1.0.0"
3
+ description: Generate royalty-free background music for videos
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - audio
8
+ - music
9
+ - generation
10
+
11
+ requires:
12
+ tools:
13
+ - llm_tool
14
+ packages:
15
+ - openai
16
+ env:
17
+ - OPENAI_API_KEY
18
+
19
+ cli:
20
+ command: praison recipes run ai-background-music-generator
21
+ examples:
22
+ - praison recipes run ai-background-music-generator <input>
23
+ - praison recipes run ai-background-music-generator <input> --output ./output/
24
+ - praison recipes run ai-background-music-generator <input> --dry-run
25
+
26
+ safety:
27
+ dry_run_default: false
28
+ overwrites_files: true