@@ -18,21 +18,22 @@ const terminalLines = [
1818 ' ▸ Execution complete · 5/5 nodes · 0 events lost' ,
1919];
2020
21- const card0Code = ` <span class="t-d"># DCI deliberation pattern</span>
22- <span class="t-w">grid</span> <span class="t-p">=</span> <span class="t-b">ExperimentGrid</span><span class="t-p">(</span>
23- <span class="t-w">conditions</span><span class="t-p">={</span><span class="t-s">"strategy"</span><span class="t-p">: [</span><span class="t-s">"consensus"</span><span class="t-p">,</span> <span class="t-s">"debate"</span><span class="t-p">]},</span>
24- <span class="t-w">seeds</span><span class="t-p">=[</span><span class="t-w">42</span><span class="t-p">,</span> <span class="t-w">123</span><span class="t-p">,</span> <span class="t-w">456</span><span class="t-p">],</span>
25- <span class="t-p">)</span> ` ;
21+ const card0Code = ` <span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">model</span><span class="t-p">=</span><span class="t-s">"claude-sonnet-4-6"</span><span class="t-p">,</span> <span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">market_data</span><span class="t-p">,</span> <span class="t-w">sec_filings</span><span class="t-p">])</span>
22+ <span class="t-kw">async def</span> <span class="t-b">analyze_company</span><span class="t-p">(</span><span class="t-w">ticker</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">) -></span> <span class="t-y">Report</span><span class="t-p">:</span>
23+ <span class="t-s">"""Deep financial analysis with risk assessment."""</span> ` ;
2624
27- const card1Code = ` <span class="t-w">results</span><span class="t-p">.</span><span class="t-b">compare</span><span class="t-p">(</span><span class="t-s">"debate"</span><span class="t-p">,</span> <span class="t-s">"react"</span><span class="t-p">,</span> <span class="t-w">test</span><span class="t-p">=</span><span class="t-s">"auto"</span><span class="t-p">,</span> <span class="t-w">alpha</span><span class="t-p">=</span><span class="t-w">0.05</span><span class="t-p">)</span> ` ;
25+ const card1Code = ` <span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">search</span><span class="t-p">,</span> <span class="t-w">retrieve</span><span class="t-p">,</span> <span class="t-w">summarize</span><span class="t-p">])</span>
26+ <span class="t-kw">async def</span> <span class="t-b">answer</span><span class="t-p">(</span><span class="t-w">question</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">) -></span> <span class="t-y">str</span><span class="t-p">:</span>
27+ <span class="t-s">"""Search knowledge base, retrieve docs, synthesize answer."""</span> ` ;
2828
29- const card2Code = ` <span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">web_search</span><span class="t-p">,</span> <span class="t-w">calculator</span><span class="t-p">],</span> <span class="t-w">strategy</span><span class="t-p">=</span><span class="t-s">"react"</span><span class="t-p">)</span>
30- <span class="t-kw">async def</span> <span class="t-b">research</span><span class="t-p">(</span><span class="t-w">q</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">):</span> <span class="t-w">...</span> ` ;
31-
32- const card3Code = ` <span class="t-p">@</span><span class="t-w">workflow</span><span class="t-p">.</span><span class="t-b">step</span><span class="t-p">(</span><span class="t-w">type</span><span class="t-p">=</span><span class="t-s">"human_approval"</span><span class="t-p">)</span>
29+ const card2Code = ` <span class="t-p">@</span><span class="t-b">workflow.step</span><span class="t-p">(</span><span class="t-w">type</span><span class="t-p">=</span><span class="t-s">"human_approval"</span><span class="t-p">)</span>
3330<span class="t-kw">async def</span> <span class="t-b">approve</span><span class="t-p">(</span><span class="t-w">state</span><span class="t-p">):</span>
3431 <span class="t-kw">return await</span> <span class="t-w">state</span><span class="t-p">.</span><span class="t-b">wait_for_approval</span><span class="t-p">()</span> ` ;
3532
33+ const card3Code = ` <span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">web_search</span><span class="t-p">,</span> <span class="t-w">calculator</span><span class="t-p">],</span> <span class="t-w">strategy</span><span class="t-p">=</span><span class="t-s">"react"</span><span class="t-p">)</span>
34+ <span class="t-kw">async def</span> <span class="t-b">research</span><span class="t-p">(</span><span class="t-w">q</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">) -></span> <span class="t-y">str</span><span class="t-p">:</span>
35+ <span class="t-s">"""Research with MCP tools, crash-safe."""</span> ` ;
36+
3637const card4Code = ` <span class="t-w">card</span> <span class="t-p">=</span> <span class="t-kw">await</span> <span class="t-b">discover</span><span class="t-p">(</span><span class="t-s">"/.well-known/agent.json"</span><span class="t-p">)</span>
3738<span class="t-w">result</span> <span class="t-p">=</span> <span class="t-kw">await</span> <span class="t-b">delegate</span><span class="t-p">(</span><span class="t-w">card</span><span class="t-p">,</span> <span class="t-w">task</span><span class="t-p">=</span><span class="t-s">"analyze report"</span><span class="t-p">)</span> ` ;
3839
@@ -124,50 +125,50 @@ const proofCode = `<span class="t-kw">from</span> <span class="t-w">jamjet</span
124125<section style =" background: var(--bg-alt);" >
125126 <div class =" container" >
126127 <span class =" section-label" >Examples</span >
127- <h2 >Built for real work </h2 >
128+ <h2 >Production patterns </h2 >
128129 <p class =" usecase-intro" >Click any card to expand the code.</p >
129130 <div class =" usecase-grid" >
130131 <UseCaseCard
131132 index ={ 0 }
132- title =" Multi-Agent Research "
133- description =" Run structured deliberation experiments across consensus and debate strategies. Cartesian product over seeds, automatic result collection ."
134- tags ={ [" consensus " , " debate " , " eval " ]}
133+ title =" Investment Due Diligence "
134+ description =" Multi-agent pipeline: market analyst, financial reviewer, risk assessor, and compliance checker collaborate on investment reports ."
135+ tags ={ [" multi-agent " , " a2a " , " durable " ]}
135136 code ={ card0Code }
136- codeFile =" deliberation .py"
137- githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/research-deliberation "
137+ codeFile =" due-diligence .py"
138+ githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/wealth-management-agents "
138139 />
139140 <UseCaseCard
140141 index ={ 1 }
141- title =" Strategy Comparison "
142- description =" Compare reasoning strategies with a single call. Auto-selects the right statistical test and reports effect size, p-value, and significance ."
143- tags ={ [" experiment-grid " , " ablation " ]}
142+ title =" RAG Assistant "
143+ description =" Retrieval-augmented agent that searches, retrieves, and synthesizes — with every step checkpointed ."
144+ tags ={ [" rag " , " tools " , " durable " ]}
144145 code ={ card1Code }
145- codeFile =" compare .py"
146- githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/eval-harness "
146+ codeFile =" rag-agent .py"
147+ githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/rag-assistant "
147148 />
148149 <UseCaseCard
149150 index ={ 2 }
150- title =" Tool-Augmented Agent "
151- description =" Attach MCP tools to any task with a single decorator. JamJet handles tool dispatch, retries, and cost tracking automatically ."
152- tags ={ [" mcp " , " tools " , " react " ]}
151+ title =" Human Approval Workflow "
152+ description =" Durable suspension at approval checkpoints. The process sleeps until a human responds — survives restarts ."
153+ tags ={ [" hitl " , " durable " , " production " ]}
153154 code ={ card2Code }
154- codeFile =" tools .py"
155- githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/mcp-tool-consumer "
155+ codeFile =" approval .py"
156+ githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/hitl-approval "
156157 />
157158 <UseCaseCard
158159 index ={ 3 }
159- title =" Human Approval Workflow "
160- description =" Pause a durable workflow for human review. The execution state persists indefinitely — resume it hours or days later with no data loss ."
161- tags ={ [" hitl " , " durable " ]}
160+ title =" MCP Tool Integration "
161+ description =" Connect to any MCP server. Your agent's tool calls are durable workflow steps — crash-safe by default ."
162+ tags ={ [" mcp " , " tools " , " interop " ]}
162163 code ={ card3Code }
163- codeFile =" approval .py"
164- githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/hitl-approval "
164+ codeFile =" mcp-agent .py"
165+ githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/mcp-tool-consumer "
165166 />
166167 <UseCaseCard
167168 index ={ 4 }
168169 title =" Agent-to-Agent Delegation"
169- description =" Discover remote agents via Agent Cards and delegate tasks over the A2A protocol. Identity-aware routing with provenance tracking built in ."
170- tags ={ [" a2a" , " routing" ]}
170+ description =" Route tasks to specialized agents via A2A protocol. Identity-aware, cost-aware, fully durable ."
171+ tags ={ [" a2a" , " routing" , " production " ]}
171172 code ={ card4Code }
172173 codeFile =" delegation.py"
173174 githubUrl =" https://github.com/jamjet-labs/jamjet/tree/main/examples/a2a-delegation"
0 commit comments