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,103 @@
1
+ name: ai-daily-news-show
2
+ version: 1.0.0
3
+ description: End-to-end pipeline orchestrator for daily AI news show production
4
+ author: PraisonAI
5
+ tags:
6
+ - orchestrator
7
+ - pipeline
8
+ - news
9
+ - video
10
+ - automation
11
+
12
+ config:
13
+ human_approval: false
14
+ approval_stages:
15
+ - script_review
16
+ - final_review
17
+ max_stories: 3
18
+ output_formats:
19
+ - youtube_long
20
+ - youtube_short
21
+ auto_publish: false
22
+
23
+ input:
24
+ type: object
25
+ properties:
26
+ date:
27
+ type: string
28
+ sources:
29
+ type: array
30
+ max_stories:
31
+ type: integer
32
+
33
+ output:
34
+ type: object
35
+ properties:
36
+ bundle_path:
37
+ type: string
38
+ videos:
39
+ type: array
40
+ scripts:
41
+ type: array
42
+ logs:
43
+ type: string
44
+
45
+ requires:
46
+ env:
47
+ - OPENAI_API_KEY
48
+ optional_env:
49
+ - TAVILY_API_KEY
50
+ external:
51
+ - ffmpeg
52
+
53
+ workflow:
54
+ pipeline:
55
+ - stage: crawl
56
+ recipe: ai-news-crawler
57
+ description: Crawl AI news from multiple sources
58
+ - stage: dedupe
59
+ recipe: ai-news-deduper
60
+ description: Remove duplicates and cluster topics
61
+ - stage: rank
62
+ recipe: ai-signal-ranker
63
+ description: Rank by novelty, velocity, relevance
64
+ - stage: enrich
65
+ recipe: ai-context-enricher
66
+ description: Add background and context
67
+ - stage: select
68
+ description: Select top stories for the show
69
+ human_approval: true
70
+ - stage: script
71
+ recipe: ai-script-writer
72
+ description: Generate scripts for each story
73
+ - stage: capture
74
+ recipe: ai-screenshot-capture
75
+ description: Capture visuals from source pages
76
+ - stage: voiceover
77
+ recipe: ai-voiceover-generator
78
+ description: Generate voice overs
79
+ - stage: video
80
+ recipe: ai-broll-builder
81
+ description: Build B-roll from captures
82
+ - stage: merge
83
+ recipe: ai-video-merger
84
+ description: Merge voice and video
85
+ - stage: shorts
86
+ recipe: shorts-generator
87
+ description: Generate short-form clips
88
+ - stage: bundle
89
+ recipe: ai-publisher-pack
90
+ description: Create publisher packs
91
+ - stage: log
92
+ description: Log outputs and metrics
93
+
94
+ agents:
95
+ - name: orchestrator
96
+ role: Pipeline Orchestrator
97
+ goal: Coordinate the daily news show production pipeline
98
+ backstory: Expert at managing complex content production workflows
99
+ tools:
100
+ - run_pipeline
101
+ - check_stage_status
102
+ - request_approval
103
+ - bundle_outputs
@@ -0,0 +1,308 @@
1
+ """
2
+ AI Daily News Show Tools
3
+
4
+ End-to-end pipeline orchestrator for daily AI news show production.
5
+ Coordinates: crawl → rank → select → scripts → capture → voice → video → shorts → bundle
6
+ """
7
+
8
+ import json
9
+ import logging
10
+ import os
11
+ from datetime import datetime, timezone
12
+ from pathlib import Path
13
+ from typing import Any, Dict, List, Optional
14
+
15
+ logger = logging.getLogger(__name__)
16
+
17
+
18
+ def run_pipeline(
19
+ date: Optional[str] = None,
20
+ sources: Optional[List[str]] = None,
21
+ max_stories: int = 3,
22
+ human_approval: bool = False,
23
+ output_dir: Optional[str] = None,
24
+ ) -> Dict[str, Any]:
25
+ """
26
+ Run the complete daily news show pipeline.
27
+
28
+ Args:
29
+ date: Date for the show (default: today)
30
+ sources: News sources to crawl
31
+ max_stories: Maximum stories to include
32
+ human_approval: Require human approval at key stages
33
+ output_dir: Output directory
34
+
35
+ Returns:
36
+ Pipeline results with all outputs
37
+ """
38
+ date = date or datetime.now().strftime("%Y-%m-%d")
39
+ sources = sources or ["hackernews", "reddit", "arxiv"]
40
+ output_dir = output_dir or f"./daily_show_{date.replace('-', '')}"
41
+
42
+ Path(output_dir).mkdir(parents=True, exist_ok=True)
43
+
44
+ pipeline_log = {
45
+ "date": date,
46
+ "started_at": datetime.now(timezone.utc).isoformat(),
47
+ "stages": [],
48
+ "status": "running",
49
+ }
50
+
51
+ try:
52
+ # Stage 1: Crawl
53
+ logger.info("Stage 1: Crawling news sources...")
54
+ from agent_recipes.templates.ai_news_crawler import tools as crawler
55
+ crawl_result = crawler.crawl_ai_news(sources=sources, max_articles=50)
56
+ articles = crawl_result.get("articles", [])
57
+ pipeline_log["stages"].append({"stage": "crawl", "status": "complete", "articles": len(articles)})
58
+
59
+ # Stage 2: Dedupe
60
+ logger.info("Stage 2: Deduplicating articles...")
61
+ from agent_recipes.templates.ai_news_deduper import tools as deduper
62
+ dedup_result = deduper.deduplicate_articles(articles, use_semantic=False)
63
+ articles = dedup_result.get("deduplicated", articles)
64
+ pipeline_log["stages"].append({"stage": "dedupe", "status": "complete", "remaining": len(articles)})
65
+
66
+ # Stage 3: Rank
67
+ logger.info("Stage 3: Ranking articles...")
68
+ from agent_recipes.templates.ai_signal_ranker import tools as ranker
69
+ rank_result = ranker.rank_articles(articles, top_n=max_stories * 2)
70
+ articles = rank_result.get("ranked_articles", articles)
71
+ pipeline_log["stages"].append({"stage": "rank", "status": "complete"})
72
+
73
+ # Stage 4: Select top stories
74
+ logger.info(f"Stage 4: Selecting top {max_stories} stories...")
75
+ selected = articles[:max_stories]
76
+
77
+ if human_approval:
78
+ # Save for human review
79
+ review_path = os.path.join(output_dir, "stories_for_review.json")
80
+ with open(review_path, "w") as f:
81
+ json.dump(selected, f, indent=2)
82
+ pipeline_log["stages"].append({"stage": "select", "status": "awaiting_approval", "path": review_path})
83
+ pipeline_log["status"] = "awaiting_approval"
84
+ return {"pipeline_log": pipeline_log, "awaiting_approval": True}
85
+
86
+ pipeline_log["stages"].append({"stage": "select", "status": "complete", "selected": len(selected)})
87
+
88
+ # Stage 5: Generate scripts
89
+ logger.info("Stage 5: Generating scripts...")
90
+ scripts = []
91
+ from agent_recipes.templates.ai_script_writer import tools as writer
92
+
93
+ for i, story in enumerate(selected):
94
+ script_result = writer.write_youtube_script(
95
+ topic=story.get("title", "AI News"),
96
+ target_length=180,
97
+ key_points=[story.get("content", "")[:200]],
98
+ )
99
+ scripts.append({
100
+ "story_index": i,
101
+ "title": story.get("title"),
102
+ "script": script_result.get("script", ""),
103
+ })
104
+
105
+ # Save script
106
+ script_path = os.path.join(output_dir, f"script_{i}.md")
107
+ with open(script_path, "w") as f:
108
+ f.write(f"# {story.get('title')}\n\n{script_result.get('script', '')}")
109
+
110
+ pipeline_log["stages"].append({"stage": "script", "status": "complete", "scripts": len(scripts)})
111
+
112
+ # Stage 6: Generate voiceovers
113
+ logger.info("Stage 6: Generating voiceovers...")
114
+ voiceovers = []
115
+ from agent_recipes.templates.ai_voiceover_generator import tools as voice
116
+
117
+ for i, script in enumerate(scripts):
118
+ vo_result = voice.generate_voiceover(
119
+ text=script.get("script", "")[:4000],
120
+ output_path=os.path.join(output_dir, f"voiceover_{i}.mp3"),
121
+ )
122
+ if "path" in vo_result:
123
+ voiceovers.append(vo_result["path"])
124
+
125
+ pipeline_log["stages"].append({"stage": "voiceover", "status": "complete", "files": len(voiceovers)})
126
+
127
+ # Stage 7: Bundle outputs
128
+ logger.info("Stage 7: Creating output bundle...")
129
+ bundle_result = bundle_outputs(
130
+ output_dir=output_dir,
131
+ scripts=scripts,
132
+ voiceovers=voiceovers,
133
+ articles=selected,
134
+ )
135
+
136
+ pipeline_log["stages"].append({"stage": "bundle", "status": "complete"})
137
+ pipeline_log["status"] = "complete"
138
+ pipeline_log["completed_at"] = datetime.now(timezone.utc).isoformat()
139
+
140
+ # Save pipeline log
141
+ log_path = os.path.join(output_dir, "pipeline_log.json")
142
+ with open(log_path, "w") as f:
143
+ json.dump(pipeline_log, f, indent=2)
144
+
145
+ return {
146
+ "status": "complete",
147
+ "output_dir": output_dir,
148
+ "bundle": bundle_result,
149
+ "scripts": scripts,
150
+ "voiceovers": voiceovers,
151
+ "pipeline_log": pipeline_log,
152
+ }
153
+
154
+ except Exception as e:
155
+ logger.error(f"Pipeline error: {e}")
156
+ pipeline_log["status"] = "failed"
157
+ pipeline_log["error"] = str(e)
158
+ return {"status": "failed", "error": str(e), "pipeline_log": pipeline_log}
159
+
160
+
161
+ def check_stage_status(
162
+ output_dir: str,
163
+ stage: str,
164
+ ) -> Dict[str, Any]:
165
+ """
166
+ Check the status of a pipeline stage.
167
+
168
+ Args:
169
+ output_dir: Pipeline output directory
170
+ stage: Stage name to check
171
+
172
+ Returns:
173
+ Stage status
174
+ """
175
+ log_path = os.path.join(output_dir, "pipeline_log.json")
176
+
177
+ if not os.path.exists(log_path):
178
+ return {"status": "not_found"}
179
+
180
+ with open(log_path) as f:
181
+ log = json.load(f)
182
+
183
+ for s in log.get("stages", []):
184
+ if s.get("stage") == stage:
185
+ return s
186
+
187
+ return {"status": "not_started"}
188
+
189
+
190
+ def request_approval(
191
+ output_dir: str,
192
+ stage: str,
193
+ items: List[Dict[str, Any]],
194
+ ) -> Dict[str, Any]:
195
+ """
196
+ Request human approval for a stage.
197
+
198
+ Args:
199
+ output_dir: Pipeline output directory
200
+ stage: Stage requiring approval
201
+ items: Items to approve
202
+
203
+ Returns:
204
+ Approval request info
205
+ """
206
+ approval_path = os.path.join(output_dir, f"approval_{stage}.json")
207
+
208
+ approval_request = {
209
+ "stage": stage,
210
+ "requested_at": datetime.now(timezone.utc).isoformat(),
211
+ "items": items,
212
+ "status": "pending",
213
+ }
214
+
215
+ with open(approval_path, "w") as f:
216
+ json.dump(approval_request, f, indent=2)
217
+
218
+ return {
219
+ "approval_path": approval_path,
220
+ "status": "pending",
221
+ "items_count": len(items),
222
+ }
223
+
224
+
225
+ def bundle_outputs(
226
+ output_dir: str,
227
+ scripts: List[Dict[str, Any]],
228
+ voiceovers: List[str],
229
+ articles: List[Dict[str, Any]],
230
+ ) -> Dict[str, Any]:
231
+ """
232
+ Bundle all pipeline outputs.
233
+
234
+ Args:
235
+ output_dir: Output directory
236
+ scripts: Generated scripts
237
+ voiceovers: Voiceover file paths
238
+ articles: Source articles
239
+
240
+ Returns:
241
+ Bundle info
242
+ """
243
+ bundle_manifest = {
244
+ "created_at": datetime.now(timezone.utc).isoformat(),
245
+ "scripts": [
246
+ {"index": s["story_index"], "title": s["title"]}
247
+ for s in scripts
248
+ ],
249
+ "voiceovers": voiceovers,
250
+ "articles": [
251
+ {"title": a.get("title"), "url": a.get("url"), "source": a.get("source")}
252
+ for a in articles
253
+ ],
254
+ }
255
+
256
+ manifest_path = os.path.join(output_dir, "bundle_manifest.json")
257
+ with open(manifest_path, "w") as f:
258
+ json.dump(bundle_manifest, f, indent=2)
259
+
260
+ return {
261
+ "manifest_path": manifest_path,
262
+ "output_dir": output_dir,
263
+ "total_scripts": len(scripts),
264
+ "total_voiceovers": len(voiceovers),
265
+ }
266
+
267
+
268
+ def resume_pipeline(
269
+ output_dir: str,
270
+ approved_items: Optional[List[int]] = None,
271
+ ) -> Dict[str, Any]:
272
+ """
273
+ Resume a pipeline after human approval.
274
+
275
+ Args:
276
+ output_dir: Pipeline output directory
277
+ approved_items: Indices of approved items
278
+
279
+ Returns:
280
+ Resumed pipeline results
281
+ """
282
+ log_path = os.path.join(output_dir, "pipeline_log.json")
283
+
284
+ if not os.path.exists(log_path):
285
+ return {"error": "Pipeline log not found"}
286
+
287
+ with open(log_path) as f:
288
+ log = json.load(f)
289
+
290
+ if log.get("status") != "awaiting_approval":
291
+ return {"error": "Pipeline not awaiting approval"}
292
+
293
+ # Load stories for review
294
+ review_path = os.path.join(output_dir, "stories_for_review.json")
295
+ with open(review_path) as f:
296
+ stories = json.load(f)
297
+
298
+ # Filter to approved items
299
+ if approved_items:
300
+ stories = [stories[i] for i in approved_items if i < len(stories)]
301
+
302
+ # Continue pipeline from script generation
303
+ return run_pipeline(
304
+ date=log.get("date"),
305
+ max_stories=len(stories),
306
+ human_approval=False,
307
+ output_dir=output_dir,
308
+ )
@@ -0,0 +1,60 @@
1
+ # Data Anonymizer
2
+
3
+ Anonymize PII in datasets (GDPR/CCPA-oriented)
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-data-anonymizer <input>
16
+
17
+ # With output directory
18
+ praison recipes run ai-data-anonymizer <input> --output ./output/
19
+
20
+ # Dry run (check dependencies only)
21
+ praison recipes run ai-data-anonymizer <input> --dry-run
22
+
23
+ # Show recipe info
24
+ praison recipes info ai-data-anonymizer
25
+
26
+ # Check dependencies
27
+ praison recipes doctor ai-data-anonymizer
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-data-anonymizer")
38
+ result = recipe.run(input="<your-input>")
39
+ print(result)
40
+ ```
41
+
42
+ ## Requirements
43
+
44
+ ### Packages
45
+ - openai
46
+ - pandas
47
+
48
+ ### Environment Variables
49
+ - OPENAI_API_KEY
50
+
51
+ ### External Tools
52
+ - None
53
+
54
+ ## Tags
55
+
56
+ `data`, `privacy`, `anonymization`, `gdpr`
57
+
58
+ ## License
59
+
60
+ Apache-2.0
@@ -0,0 +1,31 @@
1
+ name: ai-data-anonymizer
2
+ version: "1.0.0"
3
+ description: Anonymize PII in datasets (GDPR/CCPA-oriented)
4
+ author: praison
5
+ license: Apache-2.0
6
+ tags:
7
+ - data
8
+ - privacy
9
+ - anonymization
10
+ - gdpr
11
+
12
+ requires:
13
+ tools:
14
+ - data_tool
15
+ - llm_tool
16
+ packages:
17
+ - openai
18
+ - pandas
19
+ env:
20
+ - OPENAI_API_KEY
21
+
22
+ cli:
23
+ command: praison recipes run ai-data-anonymizer
24
+ examples:
25
+ - praison recipes run ai-data-anonymizer <input>
26
+ - praison recipes run ai-data-anonymizer <input> --output ./output/
27
+ - praison recipes run ai-data-anonymizer <input> --dry-run
28
+
29
+ safety:
30
+ dry_run_default: true
31
+ overwrites_files: true
@@ -0,0 +1,14 @@
1
+ # AI Data Profiler
2
+
3
+ Profile data files with statistics and quality metrics.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-data-profiler data.csv
8
+ praison run ai-data-profiler data.json --sample 1000
9
+ ```
10
+
11
+ ## Output
12
+ - `profile-report.html` - Visual report
13
+ - `stats.json` - Column statistics
14
+ - `quality.json` - Data quality metrics
@@ -0,0 +1,42 @@
1
+ name: ai-data-profiler
2
+ version: "1.0.0"
3
+ description: Profile data files with statistics and quality metrics.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [data, profiling, statistics, quality]
7
+
8
+ requires:
9
+ tools: [shell_tool]
10
+ packages: [praisonai-tools, pandas]
11
+ env: [OPENAI_API_KEY]
12
+
13
+ config:
14
+ input:
15
+ type: string
16
+ required: true
17
+ output:
18
+ type: string
19
+ sample:
20
+ type: integer
21
+
22
+ cli:
23
+ command: ai-data-profiler
24
+ args:
25
+ - name: input
26
+ positional: true
27
+ required: true
28
+ - name: --output
29
+ short: -o
30
+ - name: --sample
31
+ examples:
32
+ - "praison run ai-data-profiler data.csv"
33
+
34
+ outputs:
35
+ - name: profile-report.html
36
+ type: file
37
+ - name: stats.json
38
+ type: file
39
+ - name: quality.json
40
+ type: file
41
+ - name: run.json
42
+ type: file
@@ -0,0 +1,12 @@
1
+ # AI Dependency Auditor
2
+
3
+ Audit project dependencies for updates and vulnerabilities.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-dependency-auditor ./my-project
8
+ ```
9
+
10
+ ## Output
11
+ - `audit-report.md` - Audit findings
12
+ - `updates.json` - Available updates
@@ -0,0 +1,37 @@
1
+ name: ai-dependency-auditor
2
+ version: "1.0.0"
3
+ description: Audit project dependencies for updates and vulnerabilities.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [dependencies, security, audit, updates]
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-dependency-auditor
22
+ args:
23
+ - name: input
24
+ positional: true
25
+ required: true
26
+ - name: --output
27
+ short: -o
28
+ examples:
29
+ - "praison run ai-dependency-auditor ./my-project"
30
+
31
+ outputs:
32
+ - name: audit-report.md
33
+ type: file
34
+ - name: updates.json
35
+ type: file
36
+ - name: run.json
37
+ type: file
@@ -0,0 +1,12 @@
1
+ # AI Doc Translator
2
+
3
+ Translate documents to different languages.
4
+
5
+ ## Usage
6
+ ```bash
7
+ praison run ai-doc-translator document.md --language es
8
+ praison run ai-doc-translator document.txt --language fr
9
+ ```
10
+
11
+ ## Output
12
+ - `translated.md` - Translated document
@@ -0,0 +1,41 @@
1
+ name: ai-doc-translator
2
+ version: "1.0.0"
3
+ description: Translate documents to different languages.
4
+ author: praisonai
5
+ license: Apache-2.0
6
+ tags: [translation, document, language]
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
+ target_language:
20
+ type: string
21
+ default: "en"
22
+
23
+ cli:
24
+ command: ai-doc-translator
25
+ args:
26
+ - name: input
27
+ positional: true
28
+ required: true
29
+ - name: --output
30
+ short: -o
31
+ - name: --language
32
+ short: -l
33
+ default: "en"
34
+ examples:
35
+ - "praison run ai-doc-translator document.md --language es"
36
+
37
+ outputs:
38
+ - name: translated.md
39
+ type: file
40
+ - name: run.json
41
+ type: file