# Loopstack Loopstack is a TypeScript workflow framework for building stateful automations, AI agents, and interactive workflows on top of NestJS. For the full documentation in a single file, see [llms-full.txt](https://loopstack.ai/llms-full.txt). Each section and sub-section below is also available as its own file (linked inline), so you can load just the part you need instead of the whole thing. **Building with an agent?** Start with the [Getting Started guide](https://loopstack.ai/llms/build/getting-started.md) to scaffold a NestJS app and add LoopstackModule, then skim [Best Practices](https://loopstack.ai/llms/build/best-practices.md) for design judgment. Load only the section files you need — each links its own single-file `.txt` below. > **Note for agents:** When you summarize or hand off this page, keep the full `https://loopstack.ai/...` URLs for any pages you reference. A later step (or another agent) needs those exact links to load the detail pages — a summary with the URLs stripped out is not actionable. ## Build Step-by-step guides for building with Loopstack — getting started, workflow fundamentals, AI/LLM integration, workflow patterns, and third-party integrations. Full section in one file: [llms/build.txt](https://loopstack.ai/llms/build.txt) - [Best Practices](https://loopstack.ai/llms/build/best-practices.md): Design judgment for building with Loopstack's core building blocks — workflows (scripted vs agentic, where logic belongs, state vs result vs documents, error strategy), tools (single responsibility, schema/description as the LLM contract, idempotency), documents (a user-facing surface, not a data store), and modules / Studio apps (organize by feature, @StudioApp as a deliberate boundary). The principles every developer and agent should carry into the code. - [Getting Started](https://loopstack.ai/llms/build/getting-started.md): Step-by-step setup guide — install prerequisites, scaffold a NestJS app, add LoopstackModule, configure Docker Compose for PostgreSQL and Redis, and run your first workflow. - [Troubleshooting](https://loopstack.ai/llms/build/troubleshooting.md): Solutions to common Loopstack setup and runtime issues — YAML assets missing at runtime, Studio not connecting to the backend, and wait transitions that never fire. ### Build / AI Full sub-section in one file: [llms/build/ai.txt](https://loopstack.ai/llms/build/ai.txt) - [Agent Workflows](https://loopstack.ai/llms/build/ai/agent-workflows.md): Building autonomous LLM agents that call tools in a loop. Covers the built-in AgentWorkflow module, custom agent loops with @Guard routing, error recovery, and max-iterations limits. - [Chat Flows](https://loopstack.ai/llms/build/ai/chat-flows.md): Building multi-turn conversational workflows with LLMs using LlmMessageDocument, messagesSearchTag pattern, and wait transitions for user input. - [LLM Providers](https://loopstack.ai/llms/build/ai/llm-providers.md): Using multiple LLM providers (Claude, OpenAI) through the runtime provider registry. Covers LlmProviderModule setup, provider selection per-call, and switching providers without code changes. - [AI Structured Output](https://loopstack.ai/llms/build/ai/structured-output.md): Forcing LLMs to return structured JSON data using LlmGenerateObjectTool with Zod schemas. Provider-agnostic — works with Claude, OpenAI, and other providers. - [AI Text Generation](https://loopstack.ai/llms/build/ai/text-generation.md): Calling LLMs for text generation using LlmGenerateTextTool. Covers setup, system prompts, message history, provider selection, prompt caching, and streaming. - [AI Tool Calling](https://loopstack.ai/llms/build/ai/tool-calling.md): Enabling LLMs to invoke workflow tools via function calling. Covers LlmDelegateToolCallsTool, tool descriptions, passing tools to LLM calls, and handling tool results. - [AI Token Usage Tracking](https://loopstack.ai/llms/build/ai/usage-tracking.md): Reading LlmUsage from LLM tool results. Every LLM tool (LlmGenerateTextTool, LlmGenerateObjectTool, document generation) returns LlmResultMeta with provider, model, and a usage breakdown — inputTokens, outputTokens, cacheCreationInputTokens, cacheReadInputTokens, reasoningTokens. ### Build / Fundamentals Full sub-section in one file: [llms/build/fundamentals.txt](https://loopstack.ai/llms/build/fundamentals.txt) - [Creating Documents](https://loopstack.ai/llms/build/fundamentals/documents.md): How to define typed document classes with @Document() decorator, Zod validation schemas, and YAML widget configs for rendering in Loopstack Studio. - [Modules & Workspaces](https://loopstack.ai/llms/build/fundamentals/modules.md): How to organize workflows, tools, and services into NestJS modules. Covers @StudioApp decorator for app identity, module structure, app modules vs feature modules, workspace configuration, forRoot/forFeature patterns, and provider registration. - [Studio Configuration](https://loopstack.ai/llms/build/fundamentals/studio-config.md): Reference for the `ui` option on @StudioApp. Documents StudioUiConfig and the StudioWidgetConfig widget array used to customize an app's Studio surface. - [Creating Tools](https://loopstack.ai/llms/build/fundamentals/tools.md): How to define custom tools with BaseTool, Zod argument schemas, @Tool() decorator, handle() method signature, tool configuration, and dependency injection into workflows. - [Creating Workflows](https://loopstack.ai/llms/build/fundamentals/workflows.md): How to define workflow state machines using BaseWorkflow, @Workflow() decorator, @Transition() decorator, state typing, wait transitions, and guards. Includes full chat workflow example. ### Build / Integrations Full sub-section in one file: [llms/build/integrations.txt](https://loopstack.ai/llms/build/integrations.txt) - [OAuth Authentication](https://loopstack.ai/llms/build/integrations/oauth.md): Integrating OAuth 2.0 authentication using @loopstack/oauth-module. Covers setup with Google Workspace provider, token management, and accessing OAuth-protected APIs from workflows. - [Scheduling & Programmatic Execution](https://loopstack.ai/llms/build/integrations/programmatic-execution.md): Scheduling and programmatic workflow execution with WorkflowRunner — cron (@Cron), webhook endpoints, delayed runs (SchedulerRegistry), batch fan-out, and triggering from API requests or internal events. run vs runSync, appName/userId context. - [Sandbox Execution](https://loopstack.ai/llms/build/integrations/sandbox.md): Executing untrusted code in Docker containers using @loopstack/sandbox-tool and @loopstack/sandbox-filesystem. Setup, file I/O inside sandboxes, and cleanup. - [Secrets Management](https://loopstack.ai/llms/build/integrations/secrets.md): Requesting, storing, and retrieving secrets (API keys, tokens) at runtime using RequestSecretsTool, RequestSecretsTask, and GetSecretKeysTool from @loopstack/secrets-module. ### Build / Patterns Full sub-section in one file: [llms/build/patterns.txt](https://loopstack.ai/llms/build/patterns.txt) - [Dynamic Routing](https://loopstack.ai/llms/build/patterns/dynamic-routing.md): Conditional workflow routing using @Guard decorators and priority-based transition selection when multiple transitions share the same source state. - [Error Handling, Retry & Timeout](https://loopstack.ai/llms/build/patterns/error-handling.md): Recovering from transition errors with auto-retry and exponential backoff, retryTarget for retry-via-another-place, errorPlace routing for sync throws and sub-workflow failure callbacks, manual retry via Studio UI, and transition timeouts. - [Human-in-the-Loop](https://loopstack.ai/llms/build/patterns/human-in-the-loop.md): Pausing workflows for user input, review, or confirmation. Covers wait:true transitions on custom documents, AskUserWorkflow / ConfirmUserWorkflow sub-workflow shortcuts, and LLM-agent HITL via the ask_clarification and ask_for_approval tools. - [State Management](https://loopstack.ai/llms/build/patterns/state-management.md): Defining, reading, and updating typed workflow state. Covers state interfaces, per-transition state typing, state persistence across transitions, and state access patterns. - [Sub-Workflows](https://loopstack.ai/llms/build/patterns/sub-workflows.md): Running workflows inside other workflows via .run(), the show option ('inline' | 'link' | 'hidden') for parent-view rendering, callback transitions, typing the callback envelope via TransitionInput, handling sub-workflow failures via input.hasError / input.errorMessage without try/catch, passing arguments to child workflows, receiving sub-workflow results, and coordinating multiple sub-workflows via FanOutWorkflow (parallel) and SequenceWorkflow (sequential) with 'all' / 'allSettled' failure modes. - [Template Expressions](https://loopstack.ai/llms/build/patterns/templates.md): Rendering dynamic text content with Handlebars templates via this.render(). Covers template syntax, variable interpolation, helpers, and use in prompts. ## Extend How to add custom LLM providers and OAuth providers to the Loopstack registry. Full section in one file: [llms/extend.txt](https://loopstack.ai/llms/extend.txt) - [Custom Bootstrap](https://loopstack.ai/llms/extend/custom-bootstrap.md): Advanced — replace LoopstackModule.forRoot() by wiring its underlying modules (ConfigModule, TypeOrmModule, EventEmitterModule, LoopCoreModule, LoopstackApiModule) yourself for granular control over database, config, and Nest bootstrap. - [Studio Features](https://loopstack.ai/llms/extend/features.md): How Loopstack features (Git, File Explorer, Secrets, etc.) are registered, discovered, and surfaced in Studio. Covers the registerFeature() helper, forFeature() module pattern, and the backend → frontend feature flow. - [Creating Custom LLM Providers](https://loopstack.ai/llms/extend/llm-providers.md): Implementing a new LLM provider by extending LlmProviderInterface and registering with LlmProviderRegistry. Covers the provider architecture, required methods, and module setup. - [Creating Custom OAuth Providers](https://loopstack.ai/llms/extend/oauth-providers.md): Implementing a new OAuth provider by extending OAuthProviderInterface and registering with OAuthProviderRegistry. Covers required methods, token handling, and module setup. - [Tool Interceptors](https://loopstack.ai/llms/extend/tool-interceptors.md): Advanced — register chain-based interceptors around every tool.call() for cross-cutting concerns (quota tracking, caching, structured logging, error handling). Covers the ToolInterceptor interface, @UseToolInterceptor() decorator, ToolExecutionContext, priority ordering, and the built-in ToolLoggingInterceptor. ## Reference API and configuration reference — module options, environment variables, YAML schemas for workflows and documents, and import paths. Full section in one file: [llms/reference.txt](https://loopstack.ai/llms/reference.txt) - [Configuration Reference](https://loopstack.ai/llms/reference/configuration.md): All LoopstackModule.forRoot() options and environment variables — database, Redis, authentication, CORS, and default settings. - [Document YAML Schema](https://loopstack.ai/llms/reference/document-yaml.md): Complete reference for document .ui.yaml files — type, description, display components, and rendering configuration for Loopstack Studio. - [Import Directory](https://loopstack.ai/llms/reference/imports.md): Quick-reference for all @loopstack/* import paths — workflows, tools, documents, LLM providers, OAuth, sandbox, secrets, and agent module exports. - [Workflow YAML Schema](https://loopstack.ai/llms/reference/workflow-yaml.md): Complete reference for workflow .ui.yaml files — title, description, widget layout, input forms, action buttons, and enabled-state configuration for Loopstack Studio. ### Reference / API Full sub-section in one file: [llms/reference/api.txt](https://loopstack.ai/llms/reference/api.txt) - [API: @loopstack/agent](https://loopstack.ai/llms/reference/api/agent.md): Public API reference for @loopstack/agent - [API: @loopstack/claude-module](https://loopstack.ai/llms/reference/api/claude-module.md): Public API reference for @loopstack/claude-module - [API: @loopstack/claude-tools-module](https://loopstack.ai/llms/reference/api/claude-tools-module.md): Public API reference for @loopstack/claude-tools-module - [API: @loopstack/code-agent](https://loopstack.ai/llms/reference/api/code-agent.md): Public API reference for @loopstack/code-agent - [API: @loopstack/common](https://loopstack.ai/llms/reference/api/common.md): Public API reference for @loopstack/common - [API: @loopstack/core](https://loopstack.ai/llms/reference/api/core.md): Public API reference for @loopstack/core - [API: @loopstack/git-module](https://loopstack.ai/llms/reference/api/git-module.md): Public API reference for @loopstack/git-module - [API: @loopstack/github-integration](https://loopstack.ai/llms/reference/api/github-integration.md): Public API reference for @loopstack/github-integration - [API: @loopstack/github-module](https://loopstack.ai/llms/reference/api/github-module.md): Public API reference for @loopstack/github-module - [API: @loopstack/google-workspace-module](https://loopstack.ai/llms/reference/api/google-workspace-module.md): Public API reference for @loopstack/google-workspace-module - [API: @loopstack/hitl](https://loopstack.ai/llms/reference/api/hitl.md): Public API reference for @loopstack/hitl - [API: @loopstack/llm-provider-module](https://loopstack.ai/llms/reference/api/llm-provider-module.md): Public API reference for @loopstack/llm-provider-module - [API: @loopstack/local-file-explorer-module](https://loopstack.ai/llms/reference/api/local-file-explorer-module.md): Public API reference for @loopstack/local-file-explorer-module - [API: @loopstack/mcp-module](https://loopstack.ai/llms/reference/api/mcp-module.md): Public API reference for @loopstack/mcp-module - [API: @loopstack/oauth-module](https://loopstack.ai/llms/reference/api/oauth-module.md): Public API reference for @loopstack/oauth-module - [API: @loopstack/openai-module](https://loopstack.ai/llms/reference/api/openai-module.md): Public API reference for @loopstack/openai-module - [API: @loopstack/quota](https://loopstack.ai/llms/reference/api/quota.md): Public API reference for @loopstack/quota - [API: @loopstack/remote-client](https://loopstack.ai/llms/reference/api/remote-client.md): Public API reference for @loopstack/remote-client - [API: @loopstack/remote-file-explorer-module](https://loopstack.ai/llms/reference/api/remote-file-explorer-module.md): Public API reference for @loopstack/remote-file-explorer-module - [API: @loopstack/sandbox-filesystem](https://loopstack.ai/llms/reference/api/sandbox-filesystem.md): Public API reference for @loopstack/sandbox-filesystem - [API: @loopstack/sandbox-tool](https://loopstack.ai/llms/reference/api/sandbox-tool.md): Public API reference for @loopstack/sandbox-tool - [API: @loopstack/secrets-module](https://loopstack.ai/llms/reference/api/secrets-module.md): Public API reference for @loopstack/secrets-module - [API: @loopstack/web-module](https://loopstack.ai/llms/reference/api/web-module.md): Public API reference for @loopstack/web-module ## Skills Full section in one file: [llms/skills.txt](https://loopstack.ai/llms/skills.txt) - [Skill: Create a Custom Document](https://loopstack.ai/llms/skills/create-custom-document.md): Step-by-step instructions for AI agents to scaffold a new document — @Document decorator, Zod schema, YAML widget config, and how to save instances via documentStore. - [Skill: Create a Custom Tool](https://loopstack.ai/llms/skills/create-custom-tool.md): Step-by-step instructions for AI agents to scaffold a new tool — BaseTool class, @Tool decorator, Zod argument schema, handle() method, and module registration. - [Skill: Create a Custom Workflow](https://loopstack.ai/llms/skills/create-custom-workflow.md): Step-by-step instructions for AI agents to scaffold a new workflow — file structure, TypeScript class with @Workflow and @Transition decorators, YAML widget config, and module registration. - [Skill: Use Core Tools](https://loopstack.ai/llms/skills/use-core-tools.md): Reference for AI agents on using built-in tools and documents from @loopstack/core and @loopstack/common — sub-workflow execution, document store, render, HTTP client, and core document types. - [Skill: Use the Loopstack Registry](https://loopstack.ai/llms/skills/use-registry.md): Instructions for AI agents to discover, install, and integrate @loopstack/* registry packages — feature modules and tools via npm, example workflows via giget for source access. ## Registry The Loopstack Registry — a curated collection of npm packages providing feature modules, standalone tools, and example workflows. Full section in one file: [llms/registry.txt](https://loopstack.ai/llms/registry.txt) - [Registry Overview](https://loopstack.ai/llms/registry/index.md): The Loopstack Registry — a curated collection of npm packages providing feature modules (LLM, OAuth, Git, HITL), standalone tools (sandbox, filesystem), and example workflows. How to discover, install, and use @loopstack/* packages. ## Registry — Features Official Loopstack modules providing LLM integrations, OAuth, human-in-the-loop, Git/GitHub tools, secrets management, and more. Full section in one file: [llms/registry/features.txt](https://loopstack.ai/llms/registry/features.txt) - [Agent Module](https://loopstack.ai/llms/registry/features/agent-module.md): Generic LLM agent workflows for Loopstack — AgentWorkflow (single-run tool loop), ChatAgentWorkflow (multi-turn chat with optional task mode), AgentFinishTool, tool resolution via NestJS DI, configurable system prompt and tool set - [Claude Module](https://loopstack.ai/llms/registry/features/claude-module.md): A collection of tools for performing AI actions using the Anthropic Claude API directly via the official SDK. - [Claude Tools Module](https://loopstack.ai/llms/registry/features/claude-tools-module.md): Claude-specific tools that consume the LLM provider (e.g. web search using Claude server tools). - [Code Agent Module](https://loopstack.ai/llms/registry/features/code-agent-module.md): AI-powered codebase exploration for Loopstack — ExploreTask tool launches AgentWorkflow sub-agent with glob/grep/read tools, CodeAgentModule registration, forFeature() LLM config, TransitionInput envelope for sub-workflow completion - [Git Module](https://loopstack.ai/llms/registry/features/git-module.md): Git version control tools for Loopstack workflows — GitStatusTool, - [GitHub Integration Module](https://loopstack.ai/llms/registry/features/github-integration-module.md): ConnectGitHubWorkflow — end-to-end guided workflow that authenticates via OAuth, creates or links a GitHub repo, configures git remotes, resolves branch divergence via HITL, and pushes. Uses GitHubIntegrationModule, OAuthWorkflow, AskUserWorkflow, git tools. - [GitHub Module](https://loopstack.ai/llms/registry/features/github-module.md): GitHub OAuth provider and 25 API tools for Loopstack workflows — GitHubModule, GitHubOAuthProvider, OAuthProviderInterface, repositories, issues, pull requests, actions, content/git ops, search, users/orgs. Covers installation, tool args, auth pattern, and env vars. - [Google Workspace Module](https://loopstack.ai/llms/registry/features/google-workspace-module.md): Google Calendar, Gmail, and Drive tools for Loopstack — 11 tools across 3 domains, Google OAuth provider, OAuthProviderInterface, token-based API access with automatic unauthorized error handling - [Human-in-the-Loop Module](https://loopstack.ai/llms/registry/features/hitl-module.md): HITL workflows and tools for Loopstack — AskUserWorkflow (free-text, confirm, multiple-choice), ConfirmUserWorkflow (markdown review + confirm/deny), AskClarificationTool, AskForApprovalTool, document types for UI rendering - [LLM Provider Module](https://loopstack.ai/llms/registry/features/llm-provider-module.md): Shared LLM provider contracts, registry, and helper services for the Loopstack automation framework. Provider modules (Claude, OpenAI, etc.) implement the LlmProviderInterface and register themselves at module init. - [Local File Explorer Module](https://loopstack.ai/llms/registry/features/local-file-explorer-module.md): Loopstack registry feature exposing the local filesystem of a workspace as a REST API. LocalFileExplorerModule, LocalFileExplorerController endpoints for /local-files/tree and /local-files/read, FileApiService, FileSystemService, FileExplorerNodeDto, FileContentDto, path traversal protection, 10 MB file size limit, workflow YAML parsing. - [MCP Module](https://loopstack.ai/llms/registry/features/mcp-module.md): Remote MCP client tools for Loopstack — McpModule.forRoot(), McpCallTool (mcp_call), McpListToolsTool (mcp_list_tools), McpToolConfig with allowedHosts, hostHeaderEnv, SSRF allowlist, Streamable HTTP and SSE transports, McpClientService, error hierarchy, McpMetricsPort - [OAuth Module](https://loopstack.ai/llms/registry/features/oauth-module.md): Provider-agnostic OAuth 2.0 framework for Loopstack — OAuthModule, OAuthWorkflow, OAuthProviderRegistry, OAuthTokenStore, OAuthProviderInterface, BuildOAuthUrlTool, ExchangeOAuthTokenTool, OAuthPromptDocument, token storage with Redis fallback, pluggable provider interface, authorization code flow - [OpenAI Module](https://loopstack.ai/llms/registry/features/openai-module.md): OpenAI LLM provider for the Loopstack automation framework. Implements LlmProviderInterface with the OpenAI SDK. - [Quota Module](https://loopstack.ai/llms/registry/features/quota-module.md): Opt-in quota tracking and enforcement for Loopstack tool calls — QuotaModule.forRoot(), QuotaInterceptor, QuotaCalculatorRegistry, QuotaClientService, AiGenerateTextQuotaCalculator, ProcessingTimeQuotaCalculator, Redis-backed usage counters, model pricing lookup - [Remote Client Module](https://loopstack.ai/llms/registry/features/remote-client-module.md): HTTP client and workflow tools for Loopstack remote servers — RemoteClientModule, RemoteClient service, EnvironmentService, ReadTool, WriteTool, EditTool, BashTool, GlobTool, GrepTool, RebuildAppTool, ResetWorkspaceTool, LogsTool, SyncSecretsTool, file operations, shell commands, environment management on remote workspaces - [Remote File Explorer Module](https://loopstack.ai/llms/registry/features/remote-file-explorer-module.md): REST API controller for browsing files on remote Loopstack workspaces — RemoteFileExplorerModule, RemoteFileExplorerController, file tree and file content endpoints, proxies requests via RemoteClient and EnvironmentService - [Secrets Module](https://loopstack.ai/llms/registry/features/secrets-module.md): Workspace-scoped secrets storage for Loopstack workflows — SecretEntity, SecretService, SecretController REST API, GetSecretKeysTool (get_secret_keys), RequestSecretsTool (request_secrets), RequestSecretsTask (request_secrets_task), SecretsRequestWorkflow, SecretRequestDocument. CRUD service, upsert, request secrets from users at runtime. - [Web Module](https://loopstack.ai/llms/registry/features/web-module.md): Fetch and process web content. Converts HTML to Markdown, optionally summarizes against a prompt via Claude, with URL validation, same-origin redirect handling, LRU caching, and a preapproved-host allowlist. ## Registry — Examples Example workflows demonstrating Loopstack patterns: chat, tool calling, agents, HITL, structured output, sub-workflows, and integrations. Full section in one file: [llms/registry/examples.txt](https://loopstack.ai/llms/registry/examples.txt) - [Advanced Workflows Examples](https://loopstack.ai/llms/registry/examples/advanced-workflows-examples.md): In-depth examples of advanced Loopstack workflow patterns — state, dynamic routing, error retry, sub-workflows (parent, fan-out, sequence, show modes, error handling), batch processing, custom tools, configurable modules, and built-in UI documents. - [Agent Examples](https://loopstack.ai/llms/registry/examples/agent-examples.md): Workflow examples for LLM agents in Loopstack — basic AgentWorkflow with custom tools, code-exploration agent, MCP-connected agent, and a from-scratch custom agent loop with error handling. - [Filesystem Examples](https://loopstack.ai/llms/registry/examples/filesystem-examples.md): Workflow examples for filesystem operations in Loopstack — Docker sandbox, remote file browsing, remote command execution, local file tree. - [Git Examples](https://loopstack.ai/llms/registry/examples/git-examples.md): Git and GitHub workflow examples — scripted multi-tool git operations and end-to-end repo sync via ConnectGitHubWorkflow - [HITL Examples](https://loopstack.ai/llms/registry/examples/hitl-examples.md): Workflow examples for Human-in-the-Loop patterns in Loopstack — custom Document with a form widget, AskUserWorkflow / ConfirmUserWorkflow sub-workflow shortcuts, LLM agent loops with ask_clarification / ask_for_approval, and an end-to-end meeting-notes review flow. - [Integration Examples (placeholder)](https://loopstack.ai/llms/registry/examples/integration-examples.md): Placeholder for integration / notification workflow examples in Loopstack — Slack, email, generic HTTP webhook fire-and-forget (coming soon) - [LLM Examples](https://loopstack.ai/llms/registry/examples/llm-examples.md): Workflow examples for LLM integration in Loopstack — simple prompts, structured output with Zod schemas, multi-provider comparison, web fetch with summarization - [OAuth Examples](https://loopstack.ai/llms/registry/examples/oauth-examples.md): Workflow examples for OAuth-protected integrations in Loopstack — GitHub repos overview and chat agent, Google Calendar summary and Google Workspace chat agent. Each pair demonstrates the same shape - scripted single-pass workflow + interactive agent with auto-OAuth retry. - [Observability Examples](https://loopstack.ai/llms/registry/examples/observability-examples.md): Workflow examples for observability in Loopstack — opt-in quota tracking and enforcement - [Scheduling Examples](https://loopstack.ai/llms/registry/examples/scheduling-examples.md): Runnable Loopstack examples for the scheduling fundamentals — cron (@Cron), webhook (@Post + @Public controller), delayed runs (SchedulerRegistry timeout), and batch (Promise.all fan-out). Each trigger starts a workflow with WorkflowRunner.run. - [Secrets Examples](https://loopstack.ai/llms/registry/examples/secrets-examples.md): Workflow examples for secrets management in Loopstack — deterministic request/verify flow and an agentic LLM flow using get_secret_keys and request_secrets_task tools - [Testing Examples (placeholder)](https://loopstack.ai/llms/registry/examples/testing-examples.md): Placeholder for workflow testing examples in Loopstack — @loopstack/testing fixtures, transition assertions, mocked LLM responses (coming soon)