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,204 @@
1
+ """
2
+ AI B-roll Builder Tools
3
+
4
+ Create B-roll video with:
5
+ - Ken Burns effect
6
+ - Pan and zoom
7
+ - Crossfade transitions
8
+ """
9
+
10
+ import logging
11
+ import os
12
+ import subprocess
13
+ from datetime import datetime
14
+ from pathlib import Path
15
+ from typing import Any, Dict, List, Optional
16
+
17
+ logger = logging.getLogger(__name__)
18
+
19
+
20
+ def create_ken_burns(
21
+ image_path: str,
22
+ output_path: str,
23
+ duration: float = 5.0,
24
+ zoom_start: float = 1.0,
25
+ zoom_end: float = 1.2,
26
+ pan_x: float = 0.0,
27
+ pan_y: float = 0.0,
28
+ ) -> Dict[str, Any]:
29
+ """
30
+ Apply Ken Burns effect to an image.
31
+
32
+ Args:
33
+ image_path: Path to input image
34
+ output_path: Path to output video
35
+ duration: Duration in seconds
36
+ zoom_start: Starting zoom level
37
+ zoom_end: Ending zoom level
38
+ pan_x: Horizontal pan (-1 to 1)
39
+ pan_y: Vertical pan (-1 to 1)
40
+
41
+ Returns:
42
+ Dictionary with output info
43
+ """
44
+ try:
45
+ # Use ffmpeg for Ken Burns effect
46
+ zoom_expr = f"zoom+{(zoom_end - zoom_start) / (duration * 25)}"
47
+
48
+ cmd = [
49
+ "ffmpeg", "-y",
50
+ "-loop", "1",
51
+ "-i", image_path,
52
+ "-vf", f"scale=8000:-1,zoompan=z='{zoom_expr}':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':d={int(duration * 25)}:s=1920x1080:fps=25",
53
+ "-c:v", "libx264",
54
+ "-t", str(duration),
55
+ "-pix_fmt", "yuv420p",
56
+ output_path
57
+ ]
58
+
59
+ result = subprocess.run(cmd, capture_output=True, text=True)
60
+
61
+ if result.returncode != 0:
62
+ logger.warning(f"FFmpeg warning: {result.stderr}")
63
+
64
+ return {
65
+ "path": output_path,
66
+ "duration": duration,
67
+ "effect": "ken_burns",
68
+ }
69
+
70
+ except Exception as e:
71
+ logger.error(f"Error creating Ken Burns: {e}")
72
+ return {"error": str(e)}
73
+
74
+
75
+ def apply_pan_zoom(
76
+ image_path: str,
77
+ output_path: str,
78
+ duration: float = 5.0,
79
+ effect: str = "zoom_in",
80
+ ) -> Dict[str, Any]:
81
+ """
82
+ Apply pan or zoom effect to image.
83
+
84
+ Args:
85
+ image_path: Input image path
86
+ output_path: Output video path
87
+ duration: Duration in seconds
88
+ effect: Effect type (zoom_in, zoom_out, pan_left, pan_right)
89
+
90
+ Returns:
91
+ Dictionary with output info
92
+ """
93
+ effects = {
94
+ "zoom_in": "zoompan=z='zoom+0.001':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'",
95
+ "zoom_out": "zoompan=z='1.5-on*0.001':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'",
96
+ "pan_left": "zoompan=z='1.1':x='iw*on/100':y='ih/2-(ih/zoom/2)'",
97
+ "pan_right": "zoompan=z='1.1':x='iw-iw*on/100':y='ih/2-(ih/zoom/2)'",
98
+ }
99
+
100
+ filter_expr = effects.get(effect, effects["zoom_in"])
101
+
102
+ try:
103
+ cmd = [
104
+ "ffmpeg", "-y",
105
+ "-loop", "1",
106
+ "-i", image_path,
107
+ "-vf", f"scale=4000:-1,{filter_expr}:d={int(duration * 25)}:s=1920x1080:fps=25",
108
+ "-c:v", "libx264",
109
+ "-t", str(duration),
110
+ "-pix_fmt", "yuv420p",
111
+ output_path
112
+ ]
113
+
114
+ subprocess.run(cmd, capture_output=True, check=True)
115
+
116
+ return {
117
+ "path": output_path,
118
+ "duration": duration,
119
+ "effect": effect,
120
+ }
121
+
122
+ except Exception as e:
123
+ logger.error(f"Error applying effect: {e}")
124
+ return {"error": str(e)}
125
+
126
+
127
+ def build_broll(
128
+ images: List[str],
129
+ output_path: Optional[str] = None,
130
+ duration_per_image: float = 5.0,
131
+ transition: str = "crossfade",
132
+ transition_duration: float = 0.5,
133
+ ) -> Dict[str, Any]:
134
+ """
135
+ Build B-roll video from multiple images.
136
+
137
+ Args:
138
+ images: List of image paths
139
+ output_path: Output video path
140
+ duration_per_image: Duration per image
141
+ transition: Transition type
142
+ transition_duration: Transition duration
143
+
144
+ Returns:
145
+ Dictionary with output info
146
+ """
147
+ import tempfile
148
+
149
+ if not output_path:
150
+ timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
151
+ output_path = f"broll_{timestamp}.mp4"
152
+
153
+ if not images:
154
+ return {"error": "No images provided"}
155
+
156
+ with tempfile.TemporaryDirectory() as temp_dir:
157
+ clips = []
158
+ effects = ["zoom_in", "zoom_out", "pan_left", "pan_right"]
159
+
160
+ # Create individual clips with effects
161
+ for i, image in enumerate(images):
162
+ if not os.path.exists(image):
163
+ logger.warning(f"Image not found: {image}")
164
+ continue
165
+
166
+ clip_path = os.path.join(temp_dir, f"clip_{i:03d}.mp4")
167
+ effect = effects[i % len(effects)]
168
+
169
+ result = apply_pan_zoom(image, clip_path, duration_per_image, effect)
170
+ if "path" in result:
171
+ clips.append(result["path"])
172
+
173
+ if not clips:
174
+ return {"error": "No clips created"}
175
+
176
+ # Create concat file
177
+ concat_file = os.path.join(temp_dir, "concat.txt")
178
+ with open(concat_file, "w") as f:
179
+ for clip in clips:
180
+ f.write(f"file '{clip}'\n")
181
+
182
+ # Concatenate clips
183
+ try:
184
+ cmd = [
185
+ "ffmpeg", "-y",
186
+ "-f", "concat",
187
+ "-safe", "0",
188
+ "-i", concat_file,
189
+ "-c:v", "libx264",
190
+ "-pix_fmt", "yuv420p",
191
+ output_path
192
+ ]
193
+
194
+ subprocess.run(cmd, capture_output=True, check=True)
195
+
196
+ return {
197
+ "path": output_path,
198
+ "clips": len(clips),
199
+ "total_duration": len(clips) * duration_per_image,
200
+ }
201
+
202
+ except Exception as e:
203
+ logger.error(f"Error building B-roll: {e}")
204
+ return {"error": str(e)}
@@ -0,0 +1,60 @@
1
+ # Calendar Scheduler
2
+
3
+ Parse and schedule events from text to iCal
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-calendar-scheduler <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-calendar-scheduler <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-calendar-scheduler <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-calendar-scheduler
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-calendar-scheduler
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-calendar-scheduler")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+ - icalendar
47
+
48
+ ### Environment Variables
49
+ - OPENAI_API_KEY
50
+
51
+ ### External Tools
52
+ - None
53
+
54
+ ## Tags
55
+
56
+ `productivity`, `calendar`, `scheduling`
57
+
58
+ ## License
59
+
60
+ Apache-2.0
@@ -0,0 +1,29 @@
1
+ name: ai-calendar-scheduler
2
+ version: "1.0.0"
3
+ description: Parse and schedule events from text to iCal
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - productivity
8
+ - calendar
9
+ - scheduling
10
+
11
+ requires:
12
+ tools:
13
+ - llm_tool
14
+ packages:
15
+ - openai
16
+ - icalendar
17
+ env:
18
+ - OPENAI_API_KEY
19
+
20
+ cli:
21
+ command: praison recipes run ai-calendar-scheduler
22
+ examples:
23
+ - praison recipes run ai-calendar-scheduler <input>
24
+ - praison recipes run ai-calendar-scheduler <input> --output ./output/
25
+ - praison recipes run ai-calendar-scheduler <input> --dry-run
26
+
27
+ safety:
28
+ dry_run_default: false
29
+ overwrites_files: true
@@ -0,0 +1,14 @@
1
+ # AI Changelog Generator
2
+
3
+ Generate CHANGELOG.md from git commit history.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-changelog-generator ./my-repo
8
+ praison run ai-changelog-generator ./my-repo --since v1.0.0
9
+ ```
10
+
11
+ ## Output
12
+ - `CHANGELOG.md` - Formatted changelog
13
+ - `release-notes.md` - Human-readable summary
14
+ - `commits.json` - Structured commit data
@@ -0,0 +1,46 @@
1
+ name: ai-changelog-generator
2
+ version: "1.0.0"
3
+ description: Generate CHANGELOG.md from git commit history.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [git, changelog, release-notes, documentation]
7
+
8
+ requires:
9
+ tools: [shell_tool]
10
+ packages: [praisonai-tools]
11
+ env: [OPENAI_API_KEY]
12
+ external:
13
+ - name: git
14
+ check: "git --version"
15
+
16
+ config:
17
+ input:
18
+ type: string
19
+ required: true
20
+ output:
21
+ type: string
22
+ since:
23
+ type: string
24
+
25
+ cli:
26
+ command: ai-changelog-generator
27
+ args:
28
+ - name: input
29
+ positional: true
30
+ required: true
31
+ - name: --output
32
+ short: -o
33
+ - name: --since
34
+ examples:
35
+ - "praison run ai-changelog-generator ./my-repo"
36
+ - "praison run ai-changelog-generator ./my-repo --since v1.0.0"
37
+
38
+ outputs:
39
+ - name: CHANGELOG.md
40
+ type: file
41
+ - name: release-notes.md
42
+ type: file
43
+ - name: commits.json
44
+ type: file
45
+ - name: run.json
46
+ type: file
@@ -0,0 +1,61 @@
1
+ # Chart Generator
2
+
3
+ Generate charts/visualizations from data
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-chart-generator <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-chart-generator <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-chart-generator <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-chart-generator
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-chart-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-chart-generator")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+ - pandas
47
+ - matplotlib
48
+
49
+ ### Environment Variables
50
+ - OPENAI_API_KEY
51
+
52
+ ### External Tools
53
+ - None
54
+
55
+ ## Tags
56
+
57
+ `data`, `chart`, `visualization`
58
+
59
+ ## License
60
+
61
+ Apache-2.0
@@ -0,0 +1,32 @@
1
+ name: ai-chart-generator
2
+ version: "1.0.0"
3
+ description: Generate charts/visualizations from data
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - data
8
+ - chart
9
+ - visualization
10
+
11
+ requires:
12
+ tools:
13
+ - data_tool
14
+ - chart_tool
15
+ - llm_tool
16
+ packages:
17
+ - openai
18
+ - pandas
19
+ - matplotlib
20
+ env:
21
+ - OPENAI_API_KEY
22
+
23
+ cli:
24
+ command: praison recipes run ai-chart-generator
25
+ examples:
26
+ - praison recipes run ai-chart-generator <input>
27
+ - praison recipes run ai-chart-generator <input> --output ./output/
28
+ - praison recipes run ai-chart-generator <input> --dry-run
29
+
30
+ safety:
31
+ dry_run_default: false
32
+ overwrites_files: true
@@ -0,0 +1,12 @@
1
+ # AI Code Documenter
2
+
3
+ Generate documentation from source code.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-code-documenter ./src/
8
+ ```
9
+
10
+ ## Output
11
+ - `docs/` - Generated documentation
12
+ - `api.md` - API documentation
@@ -0,0 +1,37 @@
1
+ name: ai-code-documenter
2
+ version: "1.0.0"
3
+ description: Generate documentation from source code.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [code, documentation, api-docs]
7
+
8
+ requires:
9
+ tools: [shell_tool]
10
+ packages: [praisonai-tools]
11
+ env: [OPENAI_API_KEY]
12
+
13
+ config:
14
+ input:
15
+ type: string
16
+ required: true
17
+ output:
18
+ type: string
19
+
20
+ cli:
21
+ command: ai-code-documenter
22
+ args:
23
+ - name: input
24
+ positional: true
25
+ required: true
26
+ - name: --output
27
+ short: -o
28
+ examples:
29
+ - "praison run ai-code-documenter ./src/"
30
+
31
+ outputs:
32
+ - name: docs/
33
+ type: directory
34
+ - name: api.md
35
+ type: file
36
+ - name: run.json
37
+ type: file
@@ -0,0 +1,59 @@
1
+ # Code Refactorer
2
+
3
+ Refactor code with AI suggestions (patch-based, tests-first option)
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-code-refactorer <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-code-refactorer <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-code-refactorer <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-code-refactorer
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-code-refactorer
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-code-refactorer")
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`, `refactoring`, `improvement`
56
+
57
+ ## License
58
+
59
+ Apache-2.0
@@ -0,0 +1,28 @@
1
+ name: ai-code-refactorer
2
+ version: "1.0.0"
3
+ description: Refactor code with AI suggestions (patch-based, tests-first option)
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - code
8
+ - refactoring
9
+ - improvement
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-code-refactorer
21
+ examples:
22
+ - praison recipes run ai-code-refactorer <input>
23
+ - praison recipes run ai-code-refactorer <input> --output ./output/
24
+ - praison recipes run ai-code-refactorer <input> --dry-run
25
+
26
+ safety:
27
+ dry_run_default: true
28
+ overwrites_files: true
@@ -0,0 +1,59 @@
1
+ # Code Reviewer
2
+
3
+ Automated code review with suggestions
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-code-reviewer <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-code-reviewer <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-code-reviewer <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-code-reviewer
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-code-reviewer
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-code-reviewer")
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
+ - git
52
+
53
+ ## Tags
54
+
55
+ `code`, `review`, `quality`
56
+
57
+ ## License
58
+
59
+ Apache-2.0
@@ -0,0 +1,31 @@
1
+ name: ai-code-reviewer
2
+ version: "1.0.0"
3
+ description: Automated code review with suggestions
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - code
8
+ - review
9
+ - quality
10
+
11
+ requires:
12
+ tools:
13
+ - repo_tool
14
+ - llm_tool
15
+ packages:
16
+ - openai
17
+ env:
18
+ - OPENAI_API_KEY
19
+ external:
20
+ - git
21
+
22
+ cli:
23
+ command: praison recipes run ai-code-reviewer
24
+ examples:
25
+ - praison recipes run ai-code-reviewer <input>
26
+ - praison recipes run ai-code-reviewer <input> --output ./output/
27
+ - praison recipes run ai-code-reviewer <input> --dry-run
28
+
29
+ safety:
30
+ dry_run_default: false
31
+ overwrites_files: true