#!/usr/bin/env python3 """Post one demo artifact of every kind, tagged, dated today. Posts through the real ingest API using the existing agentfeed_post.py helper, so seeded data goes through the same normalization as real agent output. Usage (from project root, with the dev server running): python scripts/seed_demo_artifacts.py """ import subprocess import sys import tempfile from pathlib import Path HELPER = Path(__file__).resolve().parent.parent / "skills" / "agentfeed-posting" / "scripts" / "agentfeed_post.py" PERSONA = "seed-demo" TAGS = "seed-demo,demo" def run_post(args): result = subprocess.run([sys.executable, str(HELPER), *args], capture_output=True, text=True) print(result.stdout.strip()) if result.returncode != 0: print(result.stderr.strip(), file=sys.stderr) return result.returncode def post_text(kind, title, content, extra_tag): with tempfile.NamedTemporaryFile("w", suffix=".txt", delete=False, encoding="utf-8") as tmp: tmp.write(content) content_path = tmp.name return run_post([ "--kind", kind, "--title", title, "--persona", PERSONA, "--tags", f"{TAGS},{extra_tag}", "--content-file", content_path, ]) def post_file(title, file_path, extra_tag): return run_post([ "--file", str(file_path), "--title", title, "--persona", PERSONA, "--tags", f"{TAGS},{extra_tag}", ]) def main(): exit_codes = [] exit_codes.append(post_text( "markdown", "Seed: Markdown Sample", "# Markdown Sample\n\nThis is a **seed** artifact demonstrating markdown rendering.\n\n- item one\n- item two\n", "markdown", )) exit_codes.append(post_text( "html_fragment", "Seed: HTML Fragment Sample", "

HTML Fragment

This is a seed HTML fragment artifact.

", "html-fragment", )) exit_codes.append(post_text( "html_full", "Seed: Full HTML Sample", "Seed Full HTML" "

Full HTML Doc

Seed artifact.

", "html-full", )) exit_codes.append(post_text( "deck", "Seed: Deck Sample", "

Slide One

Seed deck artifact.

" "

Slide Two

More content.

", "deck", )) with tempfile.TemporaryDirectory() as tmp_dir: tmp_dir = Path(tmp_dir) png_path = tmp_dir / "seed_pixel.png" png_path.write_bytes(bytes.fromhex( "89504e470d0a1a0a0000000d494844520000000100000001080600000" "01f15c4890000000a49444154789c6360000002000155e59a1a0000000049454e44ae426082" )) exit_codes.append(post_file("Seed: Image Sample", png_path, "image")) pdf_path = tmp_dir / "seed_doc.pdf" pdf_path.write_bytes( b"%PDF-1.1\n1 0 obj<>endobj\n" b"2 0 obj<>endobj\n" b"3 0 obj<>endobj\n" b"trailer<>\n" ) exit_codes.append(post_file("Seed: PDF Sample", pdf_path, "pdf")) bin_path = tmp_dir / "seed_data.bin" bin_path.write_bytes(b"\x00\x01\x02\x03seed-binary-data\xff\xfe") exit_codes.append(post_file("Seed: Binary Sample", bin_path, "binary")) return 1 if any(exit_codes) else 0 if __name__ == "__main__": raise SystemExit(main())