{"catalogRevision":"cat_f13ab9a494120b5e","nodeId":"workload:ai-workflow-runner","label":"AI workflow runner","facet":"workload","nodeType":"atom","canonicalPath":"/discover/workload/ai-workflow-runner","breadcrumbs":[{"id":"discovery","label":"Agent hosting discovery","canonicalPath":"/discover/discovery","kind":"root"},{"id":"workload","label":"Applications and workloads","canonicalPath":"/discover/workload","kind":"facet"},{"id":"workload:agents-and-backends","label":"Agents and backends","canonicalPath":"/discover/workload/agents-and-backends","kind":"group"},{"id":"workload:ai-workflow-runner","label":"AI workflow runner","canonicalPath":"/discover/workload/ai-workflow-runner","kind":"atom"}],"parents":{"items":[{"id":"workload:agents-and-backends","label":"Agents and backends","canonicalPath":"/discover/workload/agents-and-backends","kind":"group"}],"total":1,"offset":0,"limit":100},"children":{"items":[],"total":0,"offset":0,"limit":50},"recipes":{"items":[{"id":"page:recipes:ai-workflow-runner:express:persistent-state","label":"Host ai workflow runner with Express: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/express/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:express:artifact-storage","label":"Host ai workflow runner with Express: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/express/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:express:response-streaming","label":"Host ai workflow runner with Express: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/express/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:express:worker-state","label":"Host ai workflow runner with Express: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/express/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastify:persistent-state","label":"Host ai workflow runner with Fastify: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/fastify/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastify:artifact-storage","label":"Host ai workflow runner with Fastify: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/fastify/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastify:response-streaming","label":"Host ai workflow runner with Fastify: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/fastify/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastify:worker-state","label":"Host ai workflow runner with Fastify: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/fastify/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:nestjs:persistent-state","label":"Host ai workflow runner with NestJS: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/nestjs/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:nestjs:artifact-storage","label":"Host ai workflow runner with NestJS: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/nestjs/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:nestjs:response-streaming","label":"Host ai workflow runner with NestJS: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/nestjs/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:nestjs:worker-state","label":"Host ai workflow runner with NestJS: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/nestjs/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:hono:persistent-state","label":"Host ai workflow runner with Hono: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/hono/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:hono:artifact-storage","label":"Host ai workflow runner with Hono: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/hono/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:hono:response-streaming","label":"Host ai workflow runner with Hono: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/hono/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:hono:worker-state","label":"Host ai workflow runner with Hono: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/hono/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastapi:persistent-state","label":"Host ai workflow runner with FastAPI: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/fastapi/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastapi:artifact-storage","label":"Host ai workflow runner with FastAPI: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/fastapi/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastapi:response-streaming","label":"Host ai workflow runner with FastAPI: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/fastapi/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:fastapi:worker-state","label":"Host ai workflow runner with FastAPI: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/fastapi/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:flask:persistent-state","label":"Host ai workflow runner with Flask: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/flask/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:flask:artifact-storage","label":"Host ai workflow runner with Flask: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/flask/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:flask:response-streaming","label":"Host ai workflow runner with Flask: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/flask/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:flask:worker-state","label":"Host ai workflow runner with Flask: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/flask/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:starlette:persistent-state","label":"Host ai workflow runner with Starlette: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/starlette/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:starlette:artifact-storage","label":"Host ai workflow runner with Starlette: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/starlette/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:starlette:response-streaming","label":"Host ai workflow runner with Starlette: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/starlette/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:starlette:worker-state","label":"Host ai workflow runner with Starlette: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/starlette/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:gin:persistent-state","label":"Host ai workflow runner with Gin: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/gin/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:gin:artifact-storage","label":"Host ai workflow runner with Gin: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/gin/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:gin:response-streaming","label":"Host ai workflow runner with Gin: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/gin/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:gin:worker-state","label":"Host ai workflow runner with Gin: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/gin/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:echo:persistent-state","label":"Host ai workflow runner with Echo: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/echo/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:echo:artifact-storage","label":"Host ai workflow runner with Echo: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/echo/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:echo:response-streaming","label":"Host ai workflow runner with Echo: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/echo/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:echo:worker-state","label":"Host ai workflow runner with Echo: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/echo/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:asp-net-core:persistent-state","label":"Host ai workflow runner with ASP.NET Core: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/asp-net-core/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:asp-net-core:artifact-storage","label":"Host ai workflow runner with ASP.NET Core: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/asp-net-core/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:asp-net-core:response-streaming","label":"Host ai workflow runner with ASP.NET Core: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/asp-net-core/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:asp-net-core:worker-state","label":"Host ai workflow runner with ASP.NET Core: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/asp-net-core/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:axum:persistent-state","label":"Host ai workflow runner with Axum: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/axum/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:axum:artifact-storage","label":"Host ai workflow runner with Axum: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/axum/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:axum:response-streaming","label":"Host ai workflow runner with Axum: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/axum/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:axum:worker-state","label":"Host ai workflow runner with Axum: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/axum/worker-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:spring-boot:persistent-state","label":"Host ai workflow runner with Spring Boot: Postgres-backed state","canonicalPath":"/recipes/ai-workflow-runner/spring-boot/persistent-state","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:spring-boot:artifact-storage","label":"Host ai workflow runner with Spring Boot: stored input and output artifacts","canonicalPath":"/recipes/ai-workflow-runner/spring-boot/artifact-storage","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:spring-boot:response-streaming","label":"Host ai workflow runner with Spring Boot: streamed responses","canonicalPath":"/recipes/ai-workflow-runner/spring-boot/response-streaming","kind":"recipe"},{"id":"page:recipes:ai-workflow-runner:spring-boot:worker-state","label":"Host ai workflow runner with Spring Boot: worker execution and job state","canonicalPath":"/recipes/ai-workflow-runner/spring-boot/worker-state","kind":"recipe"}],"total":48,"offset":0,"limit":50},"related":[],"requiredBy":{"items":[],"total":0,"offset":0,"limit":50},"publishedRecipeCount":48,"nextActions":[{"actionId":"browse-catalog","label":"Browse the catalog index","operationId":"catalog_index","method":"GET","relativePath":"/v1/catalog","origin":"api","parameters":{},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"search-recipes","label":"Search published recipes by intent, stack and constraints","operationId":"search_recipes","method":"POST","relativePath":"/v1/catalog/search","origin":"api","parameters":{"body":{"limit":5,"query":"AI workflow runner"}},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:ai-workflow-runner:express:persistent-state","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Aai-workflow-runner%3Aexpress%3Apersistent-state","origin":"api","parameters":{"recipeId":"page:recipes:ai-workflow-runner:express:persistent-state"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:ai-workflow-runner:express:artifact-storage","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Aai-workflow-runner%3Aexpress%3Aartifact-storage","origin":"api","parameters":{"recipeId":"page:recipes:ai-workflow-runner:express:artifact-storage"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:ai-workflow-runner:express:response-streaming","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Aai-workflow-runner%3Aexpress%3Aresponse-streaming","origin":"api","parameters":{"recipeId":"page:recipes:ai-workflow-runner:express:response-streaming"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:ai-workflow-runner:express:worker-state","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Aai-workflow-runner%3Aexpress%3Aworker-state","origin":"api","parameters":{"recipeId":"page:recipes:ai-workflow-runner:express:worker-state"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:ai-workflow-runner:fastify:persistent-state","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Aai-workflow-runner%3Afastify%3Apersistent-state","origin":"api","parameters":{"recipeId":"page:recipes:ai-workflow-runner:fastify:persistent-state"},"requiresAuthentication":false,"requiresApproval":false}]}