import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { Copy, Check, ArrowUpRight, ArrowLeft, Terminal } from 'lucide-react'; import PageBanner from './PageBanner.tsx'; import { NavigationMode } from '../constants/constants.ts'; import { T } from './landingTokens.ts'; // ============================================================ // /for-agents — the machine door // Two jobs, one page: // 1. A human pastes one gateway prompt into any chat. // 2. A scraper reads real, linked resources and learns exactly // how to use Jamie. The page IS the machine map. // ============================================================ const ORIGIN = 'https://www.pullthatupjamie.ai'; const GATEWAY_PROMPT = `Read ${ORIGIN}/llms.txt and the OpenAPI spec it references (${ORIGIN}/api/openapi.json). Jamie is a semantic podcast search API over 343 feeds, 121K episodes, and 24M indexed paragraphs, with a plain-English agent endpoint at POST /api/pull. Use it to help me find, research, and clip what was actually said across podcasts. Start by searching for: `; const CURL = `curl -N ${ORIGIN}/api/pull \\ -H "Content-Type: application/json" \\ -H "X-Free-Tier: true" \\ -d '{"query": "What are people saying about AI agents?", "stream": true}'`; interface Resource { name: string; href: string; desc: string; auth?: string; } const RESOURCES: Resource[] = [ { name: 'llms.txt', href: `${ORIGIN}/llms.txt`, desc: 'The map. Endpoints, canonical workflows, and auth in one LLM-readable file. Start here.', }, { name: 'openapi.json', href: `${ORIGIN}/api/openapi.json`, desc: 'Full machine-readable spec (OpenAPI 3.0): search, discovery, research sessions, clips, transcription.', }, { name: '/api/corpus/spec', href: `${ORIGIN}/api/corpus/spec`, desc: 'Human and LLM-readable markdown reference for the corpus-navigation endpoints.', }, { name: '/api/corpus/stats', href: `${ORIGIN}/api/corpus/stats`, desc: 'Live corpus-wide counts (feeds, episodes, paragraphs, people, topics). No auth.', auth: 'no auth', }, { name: 'ClawHub skill', href: 'https://clawhub.ai/unclejim21/pullthatupjamie', desc: 'Install Jamie as an agent skill: auth flow, search patterns, research-session workflows.', }, ]; // ------------------------------------------------------------ // Copy-to-clipboard hook + button // ------------------------------------------------------------ function useCopy(): [boolean, (text: string) => void] { const [copied, setCopied] = useState(false); const copy = (text: string) => { navigator.clipboard?.writeText(text).then(() => { setCopied(true); window.setTimeout(() => setCopied(false), 1800); }).catch(() => { /* clipboard unavailable; no-op */ }); }; return [copied, copy]; } const CopyButton: React.FC<{ text: string; label?: string }> = ({ text, label = 'Copy' }) => { const [copied, copy] = useCopy(); return ( ); }; // Small mono step marker, e.g. "01" const StepLabel: React.FC<{ n: string; children: React.ReactNode }> = ({ n, children }) => (
{n}

{children}

); // ------------------------------------------------------------ // Page // ------------------------------------------------------------ const ForAgentsPage: React.FC = () => { const navigate = useNavigate(); return (
{/* Restrained glow */}
{/* Intro */}

For agents & developers

Jamie speaks machine.

A public API over 343 feeds, 121K episodes, and 24M semantically indexed paragraphs, with a plain-English orchestration layer at POST /api/pull. Point an agent at it in one paste, or wire the spec into your own tooling.

{/* 01 — Gateway prompt */}
Paste this into any chat

Drop this into Claude, ChatGPT, or any agent. It points the model at Jamie's map and spec, then hands it the keys. Add your topic to the end.

              {GATEWAY_PROMPT}[your topic]
            
{/* 02 — Resources */}
Or read the spec directly

Every resource below is a real, crawlable URL. A scraper can follow them and learn the full API surface without a human in the loop.

{RESOURCES.map((r) => ( {r.name} {r.auth && ( {r.auth} )} {r.desc} ))}
{/* 03 — Call it */}
Or just call it

The orchestration endpoint takes a plain-English task and streams a multi-tool agent response (SSE). The free tier is anonymous, rate-limited by IP.

POST /api/pull · free tier
              {CURL}
            

Need more volume? Hit any paid endpoint unauthenticated to get a 402 with a Lightning invoice, then send{' '} Authorization: L402 <macaroon>:<preimage>. One credential works across every paid endpoint. ~500 sats covers 150+ searches.

{/* Closing */}

Human after all?{' '} {' '}and explore the galaxy yourself.

); }; export default ForAgentsPage;