|
3 | 3 | <!-- START doctoc generated TOC please keep comment here to allow auto update --> |
4 | 4 | <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> |
5 | 5 |
|
6 | | -- [samples-typescript](#samples-typescript) |
7 | | - - [Running](#running) |
8 | | - - [Locally](#locally) |
9 | | - - [Scaffold](#scaffold) |
10 | | - - [Samples](#samples) |
11 | | - - [Basic](#basic) |
12 | | - - [API demos](#api-demos) |
13 | | - - [Activity APIs and design patterns](#activity-apis-and-design-patterns) |
14 | | - - [Nexus APIs](#nexus-apis) |
15 | | - - [Workflow APIs](#workflow-apis) |
16 | | - - [Production APIs](#production-apis) |
17 | | - - [Advanced APIs](#advanced-apis) |
18 | | - - [Test APIs](#test-apis) |
19 | | - - [Full-stack apps](#full-stack-apps) |
20 | | - - [External apps \& libraries](#external-apps--libraries) |
21 | | - - [Contributing](#contributing) |
22 | | - - [Dependencies](#dependencies) |
23 | | - - [Upgrading the SDK version in `package.json`s](#upgrading-the-sdk-version-in-packagejsons) |
24 | | - - [Config files](#config-files) |
| 6 | +- [Running](#running) |
| 7 | + - [Locally](#locally) |
| 8 | + - [Scaffold](#scaffold) |
| 9 | +- [Samples](#samples) |
| 10 | + - [Basic](#basic) |
| 11 | + - [API demos](#api-demos) |
| 12 | + - [Activity APIs and design patterns](#activity-apis-and-design-patterns) |
| 13 | + - [Nexus APIs](#nexus-apis) |
| 14 | + - [Workflow APIs](#workflow-apis) |
| 15 | + - [Production APIs](#production-apis) |
| 16 | + - [Advanced APIs](#advanced-apis) |
| 17 | + - [Test APIs](#test-apis) |
| 18 | + - [AI / LLM](#ai--llm) |
| 19 | + - [Full-stack apps](#full-stack-apps) |
| 20 | +- [External apps & libraries](#external-apps--libraries) |
| 21 | +- [Contributing](#contributing) |
| 22 | + - [Dependencies](#dependencies) |
| 23 | + - [Upgrading the SDK version in `package.json`s](#upgrading-the-sdk-version-in-packagejsons) |
| 24 | + - [Config files](#config-files) |
25 | 25 |
|
26 | 26 | <!-- END doctoc generated TOC please keep comment here to allow auto update --> |
27 | 27 |
|
@@ -161,6 +161,24 @@ and you'll be given the list of sample options. |
161 | 161 | - [**Mocha with code coverage or Jest**](https://github.com/temporalio/samples-typescript/tree/main/activities-examples#testing) |
162 | 162 | - [**Time skipping**](https://github.com/temporalio/samples-typescript/tree/main/timer-examples#testing) |
163 | 163 |
|
| 164 | +#### AI / LLM |
| 165 | + |
| 166 | +- [**OpenAI Agents**](./openai-agents): Run [OpenAI Agents SDK](https://github.com/openai/openai-agents-js) agents as Temporal Workflows with the `@temporalio/openai-agents` integration. The [`openai-agents/`](./openai-agents) directory contains fourteen samples: |
| 167 | + - [**Basic**](./openai-agents/basic): A single agent plus the building blocks — Activity-backed and inline tools, local-Activity tools, agent context, structured output, per-run model override, and dynamic instructions. |
| 168 | + - [**Handoffs**](./openai-agents/handoffs): A triage agent routes each request to a specialist agent, using both the `Agent[]` and `handoff()` forms and a per-handoff input filter. |
| 169 | + - [**Agent Patterns**](./openai-agents/agent-patterns): Multi-agent orchestration patterns — deterministic chaining, parallelization, LLM-as-judge, agents-as-tools, and input/output guardrails. |
| 170 | + - [**Sessions**](./openai-agents/sessions): Conversation history with `WorkflowSafeMemorySession`, including carrying history across a `continueAsNew` boundary. |
| 171 | + - [**Human Approval**](./openai-agents/human-approval): A human-in-the-loop tool that pauses the run for an `approve` Signal, then resumes by serializing and rehydrating the run state across `continueAsNew`. |
| 172 | + - [**Tools**](./openai-agents/tools): Server-side hosted tools — web search, image generation, and code interpreter — executed by the model provider in the model Activity. |
| 173 | + - [**Tracing**](./openai-agents/tracing): The three supported tracing paths — a custom `TracingProcessor`, the OpenAI hosted exporter, and OpenTelemetry — plus `temporal:*` orchestration spans. |
| 174 | + - [**Model Providers**](./openai-agents/model-providers): Pass a custom `ModelProvider` to point an agent at any OpenAI-compatible endpoint. |
| 175 | + - [**Reasoning Content**](./openai-agents/reasoning-content): Read a reasoning model's `reasoning_content` field by calling the `openai` SDK directly from an Activity. |
| 176 | + - [**MCP**](./openai-agents/mcp): Stateless and stateful Model Context Protocol servers (stdio, Streamable HTTP, SSE, and prompt servers) running locally. |
| 177 | + - [**Hosted MCP**](./openai-agents/hosted-mcp): A `HostedMCPTool` the model calls server-side, with and without a Signal-driven approval round trip. |
| 178 | + - [**Research Bot**](./openai-agents/research-bot): A planner agent fans out concurrent web searches and a writer agent synthesizes a final report. |
| 179 | + - [**Customer Service**](./openai-agents/customer-service): A long-running, multi-turn Workflow driven by Updates and Queries, with triage handoffs and `continueAsNew` to bound history. |
| 180 | + - [**Nexus Tools**](./openai-agents/nexus-tools): Expose a Nexus Operation as an agent tool with `nexusOperationAsTool`. |
| 181 | + |
164 | 182 | ### Full-stack apps |
165 | 183 |
|
166 | 184 | - **Next.js**: |
|
0 commit comments