function DiyAppView({kind:e}){const[t,a]=React.useState("library"),[n,d]=React.useState("pkg-prompt-cache"),o=e.packages||[],s=o.find(c=>c.id===n)||o[0];return React.createElement("div",{className:"view view-diyApp"},React.createElement("div",{className:"dy-tabs"},[{id:"library",label:"Library",icon:"grid_view",count:o.length},{id:"detail",label:"Detail",icon:"description",count:null},{id:"ingest",label:"Ingest",icon:"add_link",count:null},{id:"runs",label:"Runs",icon:"auto_awesome",count:e.runs?.length||0}].map(c=>React.createElement("button",{key:c.id,className:`dy-tab ${t===c.id?"on":""}`,onClick:()=>a(c.id)},React.createElement(MIcon,{name:c.icon,size:14}),React.createElement("span",null,c.label),c.count!=null&&React.createElement("span",{className:"dy-tab-count mono"},c.count))),React.createElement("div",{className:"dy-tabs-right"},React.createElement("span",{className:"dy-tier mono"},"FREE \xB7 7/10 packages this month"),React.createElement("button",{className:"dy-upgrade"},"Upgrade to Pro"))),t==="library"&&React.createElement(DiyLibrary,{packages:o,onPick:c=>{d(c),a("detail")}}),t==="detail"&&s&&React.createElement(DiyDetail,{pkg:s,onIngest:()=>a("ingest")}),t==="ingest"&&React.createElement(DiyIngest,{sources:e.sources}),t==="runs"&&React.createElement(DiyRuns,{runs:e.runs}))}function DiyLibrary({packages:e,onPick:t}){const[a,n]=React.useState("all"),d=a==="all"?e:e.filter(s=>s.source_type===a);return React.createElement("div",{className:"dy-library"},React.createElement("div",{className:"dy-filter"},["all","youtube","article","podcast","reddit","github"].map(s=>React.createElement("button",{key:s,className:`dy-filter-chip ${a===s?"on":""}`,onClick:()=>n(s)},React.createElement(MIcon,{name:SOURCE_ICONS[s]||"category",size:12}),React.createElement("span",null,s)))),React.createElement("div",{className:"dy-grid"},d.map(s=>React.createElement("article",{key:s.id,className:"dy-card",onClick:()=>t(s.id)},React.createElement("div",{className:"dy-card-thumb",style:{background:`linear-gradient(135deg, ${SOURCE_TINT[s.source_type]||"#1a1a1c"}, var(--app-elevated))`}},React.createElement("span",{className:"dy-card-source mono"},React.createElement(MIcon,{name:SOURCE_ICONS[s.source_type]||"description",size:12}),s.source_type),s.duration&&React.createElement("span",{className:"dy-card-dur mono"},s.duration),s.proOnly&&React.createElement("span",{className:"dy-card-pro mono"},"PRO")),React.createElement("div",{className:"dy-card-body"},React.createElement("div",{className:"dy-card-title"},s.name),React.createElement("div",{className:"dy-card-creator mono"},"@",s.creator),React.createElement("div",{className:"dy-card-stats mono"},React.createElement("span",null,s.installs," installs"),React.createElement("span",null,"\xB7 ",s.formats.length," formats")))))))}function DiyDetail({pkg:e,onIngest:t}){const a=e.formats||[],[n,d]=React.useState(a[0]);return React.createElement("div",{className:"dy-detail"},React.createElement("header",{className:"dy-detail-head"},React.createElement("div",null,React.createElement("h2",{className:"dy-detail-title"},e.name),React.createElement("div",{className:"dy-detail-meta mono"},"creator ",React.createElement("span",{className:"dy-detail-creator"},"@",e.creator)," \xB7 generated ",e.generated," \xB7 mode ",React.createElement("span",{className:"dy-mode-tag"},e.mode))),React.createElement("div",{className:"dy-detail-actions"},React.createElement("button",{className:"dy-act"},React.createElement(MIcon,{name:"favorite",size:12}),"Favorite"),React.createElement("button",{className:"dy-act"},React.createElement(MIcon,{name:"ios_share",size:12}),"Share"),React.createElement("button",{className:"dy-act dy-act-primary",onClick:t},React.createElement(MIcon,{name:"auto_awesome",size:12}),"Use as source"))),React.createElement("div",{className:"dy-detail-source"},React.createElement(DiySourcePlayer,{source:e.source})),React.createElement("div",{className:"dy-format-tabs"},a.map(o=>React.createElement("button",{key:o.id,className:`dy-format-tab ${n?.id===o.id?"on":""}`,onClick:()=>d(o)},React.createElement(MIcon,{name:FORMAT_ICONS[o.id]||"description",size:14}),React.createElement("span",null,o.label))),React.createElement("button",{className:"dy-format-tab dy-format-add"},React.createElement(MIcon,{name:"add",size:14}),"Generate another format")),n&&React.createElement("div",{className:"dy-format-pane"},n.id==="ide_package"&&React.createElement(DiyIdeViewer,{files:n.files,preview:n.readme}),n.id==="briefing"&&React.createElement(DiyBriefing,{body:n.body}),n.id==="podcast_notes"&&React.createElement(DiyShowNotes,{notes:n.notes}),n.id==="social_content"&&React.createElement(DiySocialDeck,{variants:n.variants}),n.id==="mcp_server"&&React.createElement(DiyMcpDescriptor,{mcp:n.mcp})))}function DiySourcePlayer({source:e}){return e?e.type==="youtube"?React.createElement("div",{className:"dy-src dy-src-yt"},React.createElement("div",{className:"dy-yt-screen"},React.createElement("button",{className:"dy-yt-play"},React.createElement(MIcon,{name:"play_arrow",size:32})),React.createElement("div",{className:"dy-yt-overlay"},React.createElement("div",{className:"dy-yt-eyebrow mono"},"YOUTUBE \xB7 ",e.duration),React.createElement("div",{className:"dy-yt-title"},e.title),React.createElement("div",{className:"dy-yt-channel mono"},e.channel))),React.createElement("div",{className:"dy-yt-rail"},React.createElement("div",{className:"dy-yt-rail-head mono"},"Transcript \xB7 412 lines \xB7 auto-translated"),(e.transcript||[]).map((t,a)=>React.createElement("div",{key:a,className:"dy-yt-line"},React.createElement("span",{className:"dy-yt-line-t mono"},t.t),React.createElement("span",{className:"dy-yt-line-text"},t.text))))):e.type==="podcast"?React.createElement("div",{className:"dy-src dy-src-pod"},React.createElement("div",{className:"dy-pod-art"},React.createElement(MIcon,{name:"graphic_eq",size:36})),React.createElement("div",{className:"dy-pod-meta"},React.createElement("div",{className:"dy-pod-eyebrow mono"},"PODCAST \xB7 ",e.duration),React.createElement("div",{className:"dy-pod-title"},e.title),React.createElement("div",{className:"dy-pod-channel mono"},e.channel),React.createElement("div",{className:"dy-pod-controls"},React.createElement("button",{className:"dy-pod-play"},React.createElement(MIcon,{name:"play_arrow",size:20})),React.createElement("div",{className:"dy-pod-wave"},Array.from({length:60}).map((t,a)=>React.createElement("span",{key:a,className:`dy-pod-bar ${a<12?"on":""}`,style:{height:15+Math.random()*70+"%"}}))),React.createElement("span",{className:"dy-pod-time mono"},"04:18 / ",e.duration)))):e.type==="article"?React.createElement("div",{className:"dy-src dy-src-art"},React.createElement("div",{className:"dy-art-eyebrow mono"},"ARTICLE \xB7 ",e.readMin," min"),React.createElement("div",{className:"dy-art-title"},e.title),React.createElement("div",{className:"dy-art-domain mono"},e.domain),React.createElement("p",{className:"dy-art-lead"},e.lead),React.createElement("button",{className:"dy-art-open"},React.createElement(MIcon,{name:"open_in_new",size:12}),"Open article in reader")):null:null}function DiyIdeViewer({files:e,preview:t}){return React.createElement("div",{className:"dy-ide"},React.createElement("aside",{className:"dy-ide-files"},React.createElement("div",{className:"dy-ide-head mono"},"FILES \xB7 ",e.length),e.map(a=>React.createElement("div",{key:a.path,className:`dy-ide-file ${a.active?"on":""}`},React.createElement(MIcon,{name:a.path.endsWith(".md")?"description":a.path.endsWith(".py")?"code":"data_object",size:12}),React.createElement("span",{className:"mono"},a.path)))),React.createElement("div",{className:"dy-ide-preview"},React.createElement("div",{className:"dy-ide-preview-head mono"},"README.md \xB7 preview"),React.createElement("pre",{className:"dy-ide-preview-body mono"},t),React.createElement("div",{className:"dy-ide-install"},React.createElement("button",{className:"dy-ide-cta"},React.createElement(MIcon,{name:"terminal",size:14}),"Install in Claude Code"),React.createElement("button",{className:"dy-ide-cta dy-ide-cta-ghost"},React.createElement(MIcon,{name:"code",size:14}),"Cursor"),React.createElement("button",{className:"dy-ide-cta dy-ide-cta-ghost"},React.createElement(MIcon,{name:"developer_board",size:14}),"VS Code"))))}function DiyBriefing({body:e}){return React.createElement("div",{className:"dy-briefing"},e.split(`

`).map((t,a)=>React.createElement("p",{key:a},t)))}function DiyShowNotes({notes:e}){return React.createElement("div",{className:"dy-notes"},React.createElement("div",{className:"dy-notes-head mono"},"PODCAST SHOW NOTES"),e.map((t,a)=>React.createElement("div",{key:a,className:"dy-notes-row"},React.createElement("span",{className:"dy-notes-t mono"},t.t),React.createElement("span",{className:"dy-notes-text"},t.text))))}function DiySocialDeck({variants:e}){return React.createElement("div",{className:"dy-social"},e.map(t=>React.createElement("div",{key:t.platform,className:`dy-social-card dy-soc-${t.platform.toLowerCase()}`},React.createElement("div",{className:"dy-social-head mono"},t.platform," \xB7 ",t.chars,"/",t.limit),React.createElement("div",{className:"dy-social-body"},t.text),React.createElement("div",{className:"dy-social-foot"},React.createElement("button",{className:"dy-social-btn"},React.createElement(MIcon,{name:"content_copy",size:12}),"Copy"),React.createElement("button",{className:"dy-social-btn dy-social-btn-primary"},React.createElement(MIcon,{name:"event",size:12}),"Schedule via Postiz")))))}function DiyMcpDescriptor({mcp:e}){return React.createElement("div",{className:"dy-mcp"},React.createElement("div",{className:"dy-mcp-banner"},React.createElement(MIcon,{name:"lock",size:14}),React.createElement("span",null,"MCP server format \xB7 Team tier required"),React.createElement("button",{className:"dy-upgrade"},"Upgrade to Team")),React.createElement("div",{className:"dy-mcp-grid"},React.createElement("section",null,React.createElement("div",{className:"dy-mcp-head mono"},"Tools \xB7 ",e.tools.length),e.tools.map(t=>React.createElement("div",{key:t,className:"dy-mcp-item mono"},t))),React.createElement("section",null,React.createElement("div",{className:"dy-mcp-head mono"},"Resources \xB7 ",e.resources.length),e.resources.map(t=>React.createElement("div",{key:t,className:"dy-mcp-item mono"},t))),React.createElement("section",null,React.createElement("div",{className:"dy-mcp-head mono"},"Prompts \xB7 ",e.prompts.length),e.prompts.map(t=>React.createElement("div",{key:t,className:"dy-mcp-item mono"},t)))),React.createElement("pre",{className:"dy-mcp-install mono"},"claude mcp add anthropic-prompt-cache --config ./mcp.json"))}function DiyIngest({sources:e}){const[t,a]=React.useState("https://youtube.com/watch?v=xyz123"),[n,d]=React.useState("implementation"),[o,s]=React.useState(["ide_package","briefing","podcast_notes"]),c=detectSource(t);function l(i){s(r=>r.includes(i)?r.filter(m=>m!==i):[...r,i])}return React.createElement("div",{className:"dy-ingest"},React.createElement("h2",{className:"dy-ingest-title"},"Paste a URL \u2014 or pick from your inbox"),React.createElement("div",{className:"dy-ingest-url"},React.createElement("input",{className:"mono",value:t,onChange:i=>a(i.target.value)}),React.createElement("button",{className:"dy-ingest-go"},"Go")),React.createElement("div",{className:"dy-ingest-detected"},React.createElement(MIcon,{name:SOURCE_ICONS[c]||"category",size:14}),React.createElement("span",null,"Source type auto-detected: ",React.createElement("strong",null,c))),React.createElement("div",{className:"dy-ingest-section"},React.createElement("div",{className:"dy-ingest-label mono"},"MODE"),React.createElement("div",{className:"dy-ingest-opts"},["implementation","briefing","extract","study","compare"].map(i=>React.createElement("button",{key:i,className:`dy-ingest-chip ${n===i?"on":""} ${i==="extract"||i==="study"||i==="compare"?"pro":""}`,onClick:()=>d(i)},i,(i==="extract"||i==="study"||i==="compare")&&React.createElement("span",{className:"dy-pro-tag mono"},"PRO"))))),React.createElement("div",{className:"dy-ingest-section"},React.createElement("div",{className:"dy-ingest-label mono"},"FORMATS \xB7 pick up to 5"),React.createElement("div",{className:"dy-ingest-opts"},[{id:"ide_package",label:"IDE Package"},{id:"checklist",label:"Checklist"},{id:"slide_deck",label:"Slide Deck"},{id:"email_course",label:"Email Course"},{id:"notion",label:"Notion Page"},{id:"obsidian",label:"Obsidian Vault"},{id:"rag_chunks",label:"RAG Chunks"},{id:"mcp_server",label:"MCP Server",team:!0},{id:"social_content",label:"Social Content"},{id:"podcast_notes",label:"Podcast Notes"}].map(i=>React.createElement("button",{key:i.id,className:`dy-ingest-chip ${o.includes(i.id)?"on":""} ${i.team?"team":""}`,onClick:()=>l(i.id)},i.label,i.team&&React.createElement("span",{className:"dy-pro-tag mono"},"TEAM"))))),React.createElement("div",{className:"dy-ingest-foot"},React.createElement("div",{className:"dy-ingest-cost mono"},"est. cost \xB7 \u20AC 0,038 \xB7 ",o.length," formats"),React.createElement("button",{className:"dy-ingest-preview"},React.createElement(MIcon,{name:"preview",size:14}),"Preview source"),React.createElement("button",{className:"dy-ingest-go dy-ingest-go-primary"},React.createElement(MIcon,{name:"auto_awesome",size:14}),"Generate package")))}function DiyRuns({runs:e}){return React.createElement("div",{className:"dy-runs"},React.createElement("div",{className:"dy-runs-head mono"},"Live generation stream \xB7 ",e.length," active"),e.map(t=>React.createElement("div",{key:t.id,className:`dy-run dy-run-${t.stage}`},React.createElement("div",{className:"dy-run-head"},React.createElement("span",{className:"dy-run-id mono"},t.id),React.createElement("span",{className:"dy-run-stage mono"},t.stage),React.createElement("span",{className:"dy-run-cost mono"},"\u20AC ",t.cost)),React.createElement("div",{className:"dy-run-source mono"},t.source),React.createElement("div",{className:"dy-run-pipeline mono"},["transcribe","extract","generate","render"].map((a,n)=>{const d=["transcribe","extract","generate","render"].indexOf(t.stage),o=n<=d;return React.createElement("span",{key:a,className:`dy-run-stage-dot ${o?"on":""}`},a)})))))}const SOURCE_ICONS={youtube:"smart_display",article:"article",podcast:"podcasts",reddit:"forum",github:"code",newsletter:"mail",rss:"rss_feed",pdf:"picture_as_pdf",twitter:"tag",notion:"description",upload:"upload",all:"apps"},SOURCE_TINT={youtube:"#cc0000",article:"#3a3a3e",podcast:"oklch(0.5 0.18 290)",reddit:"#ff4500",github:"#24292e",newsletter:"#0080ff"},FORMAT_ICONS={ide_package:"terminal",checklist:"check_box",slide_deck:"slideshow",email_course:"mail",notion:"description",obsidian:"hub",rag_chunks:"data_object",mcp_server:"dns",social_content:"share",podcast_notes:"podcasts"};function detectSource(e){return/youtube\.com|youtu\.be/.test(e)?"youtube":/reddit\.com/.test(e)?"reddit":/github\.com/.test(e)?"github":/twitter\.com|x\.com/.test(e)?"twitter":/substack\.com|beehiiv\.com/.test(e)?"newsletter":/\.pdf$/.test(e)?"pdf":/notion\.so/.test(e)?"notion":/podcast|rss|mp3/.test(e)?"podcast":"article"}Object.assign(window.VIEWS,{diyApp:DiyAppView}),window.VIEW_OPTIONS.push({value:"diyApp",label:".diy app",icon:"handyman"}),(function(){const t=window.KIND_REGISTRY||{};t.domDiy&&Object.assign(t.domDiy,{defaultView:"diyApp",defaultDetail:"none",description:".diy upgraded \xB7 11 sources \xB7 5 modes \xB7 10 formats \xB7 source player inline.",sources:[{type:"youtube",label:"YouTube",free:!0},{type:"article",label:"Articles",free:!0},{type:"podcast",label:"Podcasts",free:!0},{type:"reddit",label:"Reddit",free:!1},{type:"github",label:"GitHub repos",free:!1},{type:"newsletter",label:"Newsletters",free:!1},{type:"rss",label:"RSS feeds",free:!1},{type:"pdf",label:"PDFs",free:!1},{type:"twitter",label:"X threads",free:!1},{type:"notion",label:"Notion",free:!1},{type:"upload",label:"Manual upload",free:!1}],packages:[{id:"pkg-prompt-cache",name:"Anthropic prompt caching deep-dive",creator:"benjamin",source_type:"youtube",duration:"43:21",mode:"Implementation",generated:"27.05.2026 17:42",installs:"4,182",proOnly:!1,formats:[{id:"ide_package",label:"IDE Package",files:[{path:"CLAUDE.md",active:!1},{path:"README.md",active:!0},{path:"prompts/system.md",active:!1},{path:"prompts/cache_template.md",active:!1},{path:"code/cache_call.py",active:!1},{path:"tests/cache_test.py",active:!1}],readme:`# Anthropic Prompt Caching Deep-Dive

A working implementation of prompt caching with 90% cost reduction.

## Setup

1. claude mcp add anthropic-prompt-cache
2. Set ANTHROPIC_API_KEY env var
3. Run: python code/cache_call.py

## Files

- prompts/system.md       \u2014 the cacheable system prompt
- prompts/cache_template.md \u2014 the dynamic user prompt template
- code/cache_call.py       \u2014 the cached completion handler
- tests/cache_test.py      \u2014 verification suite

## Cost savings

Measured: 92.4 % token-cost reduction on conversations >5 turns.
Source: Anthropic announcement (2026-05-24, 43-min talk).`},{id:"briefing",label:"Briefing",body:`# Briefing \xB7 Anthropic prompt caching deep-dive

**Problem:** Long-context agents re-pay full prompt tokens on every turn. At Claude Sonnet 4.5 rates, a 50K-token system prompt costs ~\u20AC0.15 per turn.

**Approach:** Anthropic ships a server-side prompt cache. Mark the cacheable prefix; first call writes, subsequent calls reuse for ~5 min. Cost on cache hits drops to ~10 % of full call.

**Key insights:**
1. Cache breakpoints must be explicit \u2014 no auto-detection
2. Cache TTL is 5 min by default; extendable to 1 hour on enterprise
3. Cache survives across users \u2014 verify isolation requirements

**TL;DR:** Drop-in optimization for agents with stable system prompts + variable user inputs. 90 % cost reduction at production scale.`},{id:"podcast_notes",label:"Show Notes",notes:[{t:"00:00",text:"Intro \u2014 what changes when system prompts are cached"},{t:"04:18",text:"Live demo \u2014 cache hit on second turn, latency drop 220\u219248 ms"},{t:"12:40",text:"Cost math \u2014 \u20AC0.15 \u2192 \u20AC0.014 per turn at 50K system prompt"},{t:"24:50",text:"Edge case \u2014 cache key collision across users (and how to avoid it)"},{t:"38:12",text:"Production checklist \u2014 what to verify before rolling out"}]},{id:"social_content",label:"Social",variants:[{platform:"LinkedIn",chars:1248,limit:3e3,text:`Anthropic just shipped prompt caching \u2014 and the numbers are wild.

92.4 % token-cost reduction on multi-turn agent conversations. We tested it on AaaS Decisions runs over the weekend; the drop in our LLM bill was instant.

Three things worth knowing:

1. Cache breakpoints are explicit. You mark the cacheable prefix yourself \u2014 no magic auto-detection.
2. TTL is 5 min by default. For sticky agents (think: support chat, ops dashboards), extend to 1 hour.
3. Cache survives across users by default. Make sure your prompt structure doesn't leak per-user context above the breakpoint.

Link to the IDE package in comments \u2014 drop-in implementation including the verification suite.`},{platform:"X",chars:268,limit:280,text:`Anthropic prompt caching = 92 % cost cut on multi-turn agents.

Mark cacheable prefix \u2192 cache hits drop calls to ~10 % of full cost.
TTL 5 min default, 1 hour on enterprise.

IDE package + tests below \u2193`},{platform:"Mastodon",chars:412,limit:500,text:`Anthropic prompt caching ships \u2014 92 % cost cut on multi-turn agents.

Mark the cacheable prefix explicitly; cache hits cost ~10 % of a fresh call. TTL 5 min default.

We tested it on AaaS Decisions runs over the weekend, full drop in LLM bill immediately.

Full IDE package with tests linked.`}]},{id:"mcp_server",label:"MCP Server",mcp:{tools:["cache_breakpoint","cache_status","cache_metrics"],resources:["cache_keys","cache_metrics_24h"],prompts:["cache_optimization_review","cache_breakpoint_suggest"]}}],source:{type:"youtube",duration:"43:21",title:"Prompt caching for 90% cost reduction \xB7 Anthropic dev talk",channel:"Anthropic \xB7 28 K subscribers",transcript:[{t:"00:00",text:"Welcome \u2014 today we're walking through prompt caching, a server-side optimization we just shipped."},{t:"00:24",text:"The headline: 90 % token-cost reduction for agents with stable system prompts and variable user inputs."},{t:"00:48",text:"Let's start with the cost math, then walk through the implementation, then the gotchas."},{t:"01:12",text:"A 50K-token system prompt costs \u20AC0.15 per turn at Sonnet 4.5 rates. Cached: \u20AC0.014."},{t:"01:38",text:"That math holds at any prompt size \u2014 it's about turn-count, not absolute cost."}]}},{id:"pkg-vector-rerank",name:"Vector reranking \xB7 production patterns",creator:"gauri",source_type:"article",mode:"Briefing",generated:"24.05.2026",installs:"1,820",proOnly:!0,formats:[],source:{type:"article",readMin:12,title:"Why you reranker matters more than your embedder",domain:"gauri.dev/blog",lead:"When your retrieval relevance plateaus at ~0.78, the next gain comes from reranking \u2014 not from a better embedder. Here's how to wire one in without breaking your latency budget."}},{id:"pkg-finetune-econ",name:"Fine-tuning economics in 2026",creator:"sarah",source_type:"podcast",mode:"Briefing",generated:"20.05.2026",installs:"2,840",proOnly:!1,formats:[],source:{type:"podcast",duration:"54:18",title:"The fine-tuning calculator \xB7 Practical AI #318",channel:"changelog.com/practicalai"}},{id:"pkg-mcp-intro",name:"MCP servers \xB7 the missing intro",creator:"alex",source_type:"youtube",mode:"Implementation",generated:"14.05.2026",installs:"6,820",proOnly:!1,formats:[],source:{type:"youtube",duration:"18:42",title:"MCP in 18 minutes",channel:"AaaS \xB7 12 K subscribers"}},{id:"pkg-langgraph",name:"LangGraph 0.2 parallel branches",creator:"patrick",source_type:"github",mode:"Extract",generated:"12.05.2026",installs:"942",proOnly:!0,formats:[],source:{type:"article",readMin:6,title:"LangGraph 0.2 release notes",domain:"github.com/langchain-ai/langgraph",lead:"Native fan-out for decision-branch patterns."}},{id:"pkg-eval-frameworks",name:"Eval frameworks \xB7 2026 landscape",creator:"demir",source_type:"newsletter",mode:"Compare",generated:"08.05.2026",installs:"1,142",proOnly:!0,formats:[],source:{type:"article",readMin:8,title:"Comparing 12 eval frameworks side-by-side",domain:"demir.substack.com",lead:"MT-Bench, MMLU, HumanEval, GAIA, and 8 others \u2014 when to use which."}}],runs:[{id:"rn-018",stage:"generate",source:"youtube.com/watch?v=xyz123 \xB7 43m",cost:"0,028"},{id:"rn-017",stage:"transcribe",source:"changelog.com/practicalai/318",cost:"0,012"},{id:"rn-016",stage:"render",source:"github.com/langchain-ai/langgraph",cost:"0,008"}]})})();
