Flattened from stack.yaml in the repository examples; imports already merged.
90 days of the enterprise, pro and team plans free, no card needed. See the plans
Route support traffic to the cheapest capable model; anything with personal data stays on-prem.
Free account. Installing gives you the manifest plus copy-paste snippets.
See reviewsFlattened from stack.yaml in the repository examples; imports already merged.
Copy one of these into your project. Installing also returns the manifest and these snippets.
osr stack plan registry://support-desk@1.0.0 --registry https://osr-api.kindrock-caaab1a2.centralindia.azurecontainerapps.io
osr stack apply registry://support-desk@1.0.0 --registry https://osr-api.kindrock-caaab1a2.centralindia.azurecontainerapps.ioA declarative stack: models, rules and settings in one file. `osr stack apply` turns it into a running router.
{
"osr": "1",
"kind": "stack",
"name": "support-desk",
"description": "Route support traffic to the cheapest capable model; anything with personal data stays on-prem.",
"targets": [
{
"ocm": "1",
"id": "llm-small",
"kind": "llm",
"name": "Small fast model",
"description": "Cheap, fast generalist for simple chat, short answers, classification and extraction.",
"capabilities": {
"domains": [
"general",
"general_chat",
"customer_support"
],
"actions": [
"qa",
"classify",
"extract",
"summarize",
"generation",
"translate"
],
"languages": [
"en",
"ta",
"hi",
"es",
"fr"
],
"modalities": [
"text"
],
"max_complexity": 0.45,
"min_complexity": 0,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": false
},
"cost": {
"usd_per_1k_tokens": 0.0002
},
"latency_ms": 300,
"quality_prior": 0.55,
"examples": [
"Hi, how are you today?",
"What is the capital of France?",
"Is this email spam? 'Congratulations you won a prize'",
"Summarize this paragraph in one sentence."
],
"metadata": {
"model": "openai/gpt-4.1-nano"
}
},
{
"ocm": "1",
"id": "llm-mid",
"kind": "llm",
"name": "Mid-tier model",
"description": "Balanced model for moderate reasoning, drafting, data analysis and marketing copy.",
"capabilities": {
"domains": [
"general",
"marketing",
"data_analysis",
"hr",
"travel",
"creative"
],
"actions": [
"generation",
"summarize",
"reasoning",
"planning",
"extract",
"qa"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.75,
"min_complexity": 0.25,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": false
},
"cost": {
"usd_per_1k_tokens": 0.003
},
"latency_ms": 900,
"quality_prior": 0.75,
"examples": [
"Draft a newsletter announcing our new pricing tiers.",
"Analyze this CSV of monthly sales and describe the trend.",
"Write a short story about a lighthouse keeper."
],
"metadata": {
"model": "openai/gpt-4.1-mini"
}
},
{
"ocm": "1",
"id": "llm-frontier",
"kind": "llm",
"name": "Frontier reasoning model",
"description": "Most capable model for hard multi-step reasoning, math proofs, architecture design.",
"capabilities": {
"domains": [
"general",
"math",
"coding",
"legal",
"medical",
"finance",
"data_analysis"
],
"actions": [
"reasoning",
"planning",
"code_generation",
"code_review",
"generation"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0.5,
"context_window": 200000,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": false
},
"cost": {
"usd_per_1k_tokens": 0.015
},
"latency_ms": 2500,
"quality_prior": 0.93,
"examples": [
"Prove that the square root of two is irrational, step by step.",
"Design a multi-region event-driven architecture with exactly-once semantics and explain trade-offs.",
"Compare three approaches to consensus and analyze their failure modes."
],
"metadata": {
"model": "openai/gpt-4.1"
}
},
{
"ocm": "1",
"id": "llm-onprem",
"kind": "llm",
"name": "On-prem Llama",
"description": "Private model for regulated and personal data; never leaves the network",
"capabilities": {
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "on_prem",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.0004
},
"latency_ms": 900,
"quality_prior": 0.72
},
{
"ocm": "1",
"id": "writer-small",
"kind": "llm",
"name": "Small writing model",
"description": "Self-hosted small (4B-class) instruct model for clear multilingual prose - posts, emails, summaries, product copy, translations and everyday communication at near-zero cost. The browser extension's writing help and the desktop bar's fixes land here.",
"capabilities": {
"domains": [
"general",
"marketing",
"creative"
],
"actions": [
"generation",
"summarize",
"translate"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.5,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "on_prem",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.00005
},
"latency_ms": 700,
"quality_prior": 0.6,
"examples": [
"Write a short, friendly email announcing our office move next month.",
"Turn these release notes into a two-paragraph blog post.",
"Rewrite this paragraph so it reads clearly for a non-technical audience.",
"Fix the spelling and grammar in this paragraph and keep my meaning.",
"Shorten this draft to half its length without dropping any requirement.",
"Reply to this e-mail politely declining the meeting and proposing another day.",
"Give me three short subject lines for this announcement."
],
"metadata": {
"model": "google/gemma-3-4b-it",
"hosted": "self"
}
},
{
"ocm": "1",
"id": "gpt-oss",
"kind": "llm",
"name": "gpt-oss-20b (self-hosted)",
"description": "OpenAI's open-weight 20B reasoning model under Apache-2.0, served on our own hardware - strong general reasoning, coding and agentic tool use without data leaving the deployment.",
"capabilities": {
"domains": [
"general",
"marketing",
"finance"
],
"actions": [
"reasoning",
"generation",
"summarize",
"qa"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.7,
"min_complexity": 0.35,
"context_window": 128000,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"regions": [
"us"
],
"data_boundary": "on_prem",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.0004
},
"latency_ms": 1800,
"quality_prior": 0.78,
"examples": [
"Explain the trade-offs between speculative decoding and batching for a 20B model on one GPU.",
"Draft a technical blog post comparing three open-weight models for on-prem agents.",
"Plan the steps an agent needs to migrate a Flask app to FastAPI."
],
"metadata": {
"model": "openai/gpt-oss-20b",
"hosted": "self"
}
},
{
"ocm": "1",
"id": "vision-ocr",
"kind": "llm",
"name": "Document and image reader (OCR)",
"description": "Self-hosted compact vision-language model that reads scanned documents, receipts, invoices, forms, screenshots, charts and photos of text in many languages and returns the text, the fields or a table - OCR, transcription and document understanding of an attached image without it leaving the deployment. It reads pictures; it does not create them.",
"capabilities": {
"domains": [
"general",
"finance",
"legal",
"customer_support",
"data_analysis"
],
"actions": [
"ocr",
"extract"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.6,
"min_complexity": 0,
"context_window": 256000,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"data_boundary": "on_prem",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.0001
},
"latency_ms": 1500,
"quality_prior": 0.74,
"examples": [
"Read this scanned invoice image and extract the vendor, invoice number, total and due date.",
"OCR this photo of a receipt and list every line item with its price.",
"Transcribe the text in this screenshot exactly.",
"Extract the table from this scanned PDF page as CSV.",
"Read the handwritten notes in the attached picture."
],
"metadata": {
"model": "qwen/qwen3-vl-4b-instruct",
"hosted": "self",
"modalities": [
"text",
"image"
]
}
},
{
"ocm": "1",
"id": "coder-small",
"kind": "llm",
"name": "Code model",
"description": "Self-hosted 7B code model for quick single-file coding help - explain a snippet, a regex or an error message, write a small helper or shell one-liner, convert between languages - across 40+ programming languages; code stays inside the deployment. Repository-wide changes, refactors with tests and reviews go to the coding agent.",
"capabilities": {
"domains": [
"coding"
],
"actions": [
"code_generation",
"qa",
"reasoning"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.4,
"min_complexity": 0,
"context_window": 32000,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "on_prem",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.0001
},
"latency_ms": 1200,
"quality_prior": 0.66,
"examples": [
"Explain what this regular expression matches.",
"Give me a one-line shell command that counts the lines in every .py file.",
"Convert this small bash snippet to PowerShell.",
"What does this Python error mean: TypeError: 'NoneType' object is not subscriptable?"
],
"metadata": {
"model": "qwen/qwen2.5-coder-7b-instruct",
"hosted": "self"
}
},
{
"ocm": "1",
"id": "embed-small",
"kind": "llm",
"name": "Embedding model",
"description": "Text embeddings for search, clustering and retrieval; answers the OpenAI-compatible /v1/embeddings endpoint (never chat).",
"capabilities": {
"domains": [
"general"
],
"actions": [
"embed"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true,
"tags": [
"embeddings"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": false
},
"cost": {
"usd_per_1k_tokens": 0.00002
},
"latency_ms": 150,
"quality_prior": 0.7,
"examples": [
"Embed these product descriptions for semantic search.",
"Vectorise this paragraph."
],
"metadata": {
"model": "openai/text-embedding-3-small",
"embeddings": true
}
},
{
"ocm": "1",
"id": "transcribe-small",
"kind": "tool",
"name": "Speech to text",
"description": "Transcribes uploaded audio - meetings, voice notes, calls, dictation - into text with timestamps and language detection; answers the OpenAI-compatible /v1/audio/transcriptions endpoint (never chat).",
"capabilities": {
"domains": [
"general",
"customer_support"
],
"actions": [
"transcribe",
"extract"
],
"languages": [
"*"
],
"modalities": [
"audio",
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true,
"tags": [
"transcription"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {},
"latency_ms": 4000,
"quality_prior": 0.8,
"examples": [
"Transcribe the attached audio file meeting.mp3.",
"Turn this voice note into text."
],
"metadata": {
"model": "openai/whisper-1",
"transcription": true,
"usd_per_minute": 0.006
}
},
{
"ocm": "1",
"id": "speak-small",
"kind": "tool",
"name": "Text to speech",
"description": "Reads text aloud in a natural voice and returns audio (mp3, opus, wav ...); answers the OpenAI-compatible /v1/audio/speech endpoint (never chat).",
"capabilities": {
"domains": [
"general",
"customer_support",
"marketing"
],
"actions": [
"speech"
],
"languages": [
"*"
],
"modalities": [
"text",
"audio"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true,
"tags": [
"speech"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.06
},
"latency_ms": 2500,
"quality_prior": 0.8,
"examples": [
"Read this paragraph aloud.",
"Generate the audio for this announcement."
],
"metadata": {
"model": "openai/gpt-4o-mini-tts",
"speech": true
}
},
{
"ocm": "1",
"id": "coding-agent",
"kind": "agent",
"name": "Coding agent",
"description": "Autonomous agent with repo access; writes, refactors, tests and reviews code.",
"capabilities": {
"domains": [
"coding"
],
"actions": [
"code_generation",
"code_review",
"reasoning",
"action"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0.3,
"supports_tools": true,
"supports_streaming": true,
"tags": [
"autonomous"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.008
},
"latency_ms": 6000,
"quality_prior": 0.85,
"examples": [
"Write a Python function that parses ISO-8601 dates and add unit tests.",
"Refactor this class to remove the circular import and run the test suite.",
"Find the bug in this stack trace and fix it."
]
},
{
"ocm": "1",
"id": "research-agent",
"kind": "agent",
"name": "Research agent",
"description": "Web-search + synthesis agent for open-ended research and comparisons.",
"capabilities": {
"domains": [
"general",
"finance",
"marketing",
"travel",
"legal",
"science"
],
"actions": [
"reasoning",
"planning",
"summarize",
"qa",
"search"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0.4,
"supports_tools": true,
"supports_streaming": true,
"tags": [
"web",
"search"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": false
},
"cost": {
"usd_per_1k_tokens": 0.006
},
"latency_ms": 8000,
"quality_prior": 0.8,
"examples": [
"Research the latest papers on LLM routing and summarize the key approaches.",
"Compare the top three CRM vendors for a 50-person startup."
]
},
{
"ocm": "1",
"id": "automation-agent",
"kind": "agent",
"name": "Browser and desktop automation agent",
"description": "Drives a web browser or a desktop application on the person's behalf - opens pages, logs in, fills forms, clicks through a checkout, downloads statements, moves and renames files, pastes into the field in front - and reports what it did. Acts; does not write essays.",
"capabilities": {
"domains": [
"general",
"customer_support",
"finance",
"travel",
"hr"
],
"actions": [
"browse",
"action",
"extract"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 0.8,
"min_complexity": 0.2,
"supports_tools": true,
"supports_streaming": true,
"tags": [
"browsing",
"autonomous"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.005
},
"latency_ms": 12000,
"quality_prior": 0.78,
"examples": [
"Open the bank portal, log in and download last month's statement as PDF.",
"Fill in the visa application form on the embassy site with the details below.",
"Rename every invoice in this folder to <date>-<vendor>.pdf.",
"Go to the checkout, apply the coupon and stop before paying."
]
},
{
"ocm": "1",
"id": "sre-agent",
"kind": "agent",
"name": "SRE and observability agent",
"description": "Reads logs, traces, metrics and alerts to find the root cause of an incident, ranks the errors by impact, correlates them with deploys and proposes the fix and the runbook step; writes the postmortem timeline.",
"capabilities": {
"domains": [
"observability",
"coding"
],
"actions": [
"reasoning",
"extract",
"planning",
"action",
"summarize",
"generation",
"qa"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0.25,
"supports_tools": true,
"supports_streaming": true,
"tags": [
"autonomous",
"observability"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.008
},
"latency_ms": 9000,
"quality_prior": 0.84,
"examples": [
"Find the root cause of the checkout latency alert from these traces and logs.",
"Why did the error rate of the payments service spike after the 14:00 deploy?",
"Summarise the errors in this log excerpt and rank them by impact.",
"Write the postmortem timeline for last night's outage from these alerts."
]
},
{
"ocm": "1",
"id": "support-agent",
"kind": "agent",
"name": "Customer support agent",
"description": "Handles orders, refunds, subscriptions and account issues via internal tools.",
"capabilities": {
"domains": [
"customer_support"
],
"actions": [
"action",
"qa",
"extract",
"escalate"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.7,
"min_complexity": 0,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.002
},
"latency_ms": 1500,
"quality_prior": 0.8,
"examples": [
"I want a refund for order #12345, it arrived damaged.",
"Cancel my subscription and confirm by email.",
"My account is locked, help me reset my password."
]
},
{
"ocm": "1",
"id": "skill-sql",
"kind": "skill",
"name": "SQL skill",
"description": "Generates and validates SQL against the warehouse schema.",
"capabilities": {
"domains": [
"data_analysis"
],
"actions": [
"code_generation",
"extract"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.001
},
"latency_ms": 700,
"quality_prior": 0.8,
"examples": [
"Write a SQL query for monthly active users by region.",
"Aggregate revenue per product for Q3 from the orders table."
],
"instructions": "Write ANSI SQL for the analytics warehouse. Always qualify table names with\nthe schema, never SELECT *, and add a one-line comment above each CTE.\n"
},
{
"ocm": "1",
"id": "skill-translate",
"kind": "skill",
"name": "Translation skill",
"description": "High-quality translation with glossary enforcement.",
"capabilities": {
"domains": [
"general"
],
"actions": [
"translate"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.0005
},
"latency_ms": 400,
"quality_prior": 0.85,
"examples": [
"Translate this product description into French and German.",
"Translate to English: 'வணக்கம், எப்படி இருக்கிறீர்கள்?'"
],
"instructions": "Translate faithfully, preserve formatting and placeholders such as {name},\nand keep product names untranslated.\n"
},
{
"ocm": "1",
"id": "skill-summarize",
"kind": "skill",
"name": "Summarization skill",
"description": "Map-reduce summarizer for long documents.",
"capabilities": {
"domains": [
"general",
"legal",
"finance"
],
"actions": [
"summarize"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.0008
},
"latency_ms": 1200,
"quality_prior": 0.82,
"examples": [
"Summarize this 40-page contract into key obligations.",
"TL;DR of the attached quarterly report."
],
"instructions": "Summarise as bullet points grouped by theme, each with a source reference.\nLead with the three most decision-relevant facts.\n"
},
{
"ocm": "1",
"id": "persona-legal-counsel",
"kind": "persona",
"name": "Legal counsel persona",
"description": "Cautious, cites statutes, flags jurisdiction; never gives definitive legal advice.",
"capabilities": {
"domains": [
"legal"
],
"actions": [
"reasoning",
"summarize",
"qa",
"extract"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {},
"latency_ms": 0,
"quality_prior": 0.8,
"examples": [
"Review this NDA clause for liability exposure under GDPR.",
"Is this indemnification clause enforceable in California?"
],
"instructions": "You are cautious in-house legal counsel. Cite the governing statute or\nclause, flag jurisdiction-specific risk, and recommend escalation to a\nqualified lawyer instead of giving definitive legal advice.\n",
"primary": false
},
{
"ocm": "1",
"id": "persona-friendly-support",
"kind": "persona",
"name": "Friendly support persona",
"description": "Warm, concise, de-escalating tone for customer conversations.",
"capabilities": {
"domains": [
"customer_support",
"general_chat"
],
"actions": [
"qa",
"action",
"generation"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {},
"latency_ms": 0,
"quality_prior": 0.75,
"examples": [
"I'm frustrated, my order still hasn't arrived."
],
"instructions": "You are a warm, concise support agent. If the customer sounds frustrated\nor something has gone wrong for them, acknowledge that first; otherwise\nanswer directly. Give one clear next step. Never blame the customer, and\nnever assume a problem the customer has not mentioned.\n",
"primary": false
},
{
"ocm": "1",
"id": "persona-senior-engineer",
"kind": "persona",
"name": "Senior engineer persona",
"description": "Precise, opinionated about trade-offs, writes idiomatic code with tests.",
"capabilities": {
"domains": [
"coding",
"data_analysis"
],
"actions": [
"code_generation",
"code_review",
"reasoning",
"planning"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {},
"latency_ms": 0,
"quality_prior": 0.85,
"examples": [
"Review this pull request for concurrency issues."
],
"instructions": "You are a senior engineer. State trade-offs explicitly, prefer idiomatic\ncode over clever code, and include tests with every non-trivial change.\n",
"primary": false
},
{
"ocm": "1",
"id": "tool-web-search",
"kind": "tool",
"name": "Web search",
"description": "Searches the live web (DuckDuckGo and Wikipedia without a key; SearXNG or Brave when configured) and returns the top results with titles, links and snippets - for a quick lookup, the latest news or a price check. It finds pages; it does not write the answer.",
"capabilities": {
"domains": [
"general",
"finance",
"marketing",
"travel",
"science",
"education"
],
"actions": [
"search"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 0.5,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true,
"tags": [
"web",
"search",
"live"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": false
},
"cost": {},
"latency_ms": 1200,
"quality_prior": 0.7,
"examples": [
"Search the web for the latest news about the EU AI Act.",
"Look up the current price of Bitcoin and give me the source.",
"Find three recent articles about heat pumps and link them."
],
"metadata": {
"builtin": "web-search"
}
},
{
"ocm": "1",
"id": "tool-calculator",
"kind": "tool",
"name": "Calculator",
"description": "Deterministic arithmetic and unit conversion.",
"capabilities": {
"domains": [
"math"
],
"actions": [
"qa"
],
"languages": [
"en"
],
"modalities": [
"text"
],
"max_complexity": 0.3,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {},
"latency_ms": 5,
"quality_prior": 0.99,
"examples": [
"What is 17% of 2,450?",
"Convert 5 miles to kilometers."
]
},
{
"ocm": "1",
"id": "tool-image-gen",
"kind": "tool",
"name": "Image generator",
"description": "Text-to-image generation.",
"capabilities": {
"domains": [
"creative",
"marketing"
],
"actions": [
"image"
],
"languages": [
"en"
],
"modalities": [
"text",
"image"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.04
},
"latency_ms": 9000,
"quality_prior": 0.85,
"examples": [
"Draw a picture of a fox reading a book in a forest.",
"Generate a hero image for our landing page."
]
},
{
"ocm": "1",
"id": "workflow-notify-customer",
"kind": "workflow",
"name": "Customer notification workflow",
"description": "Sends order, shipping and delivery status updates to the customer over email and SMS.",
"capabilities": {
"domains": [
"customer_support"
],
"actions": [
"action"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 0.5,
"min_complexity": 0,
"supports_tools": true,
"supports_streaming": true
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_call": 0.004
},
"latency_ms": 2000,
"quality_prior": 0.9,
"examples": [
"Notify the customer that order #4521 has shipped.",
"Send a delivery update for the delayed order.",
"Run the customer notification workflow."
]
},
{
"ocm": "1",
"id": "human-escalation",
"kind": "human",
"name": "Human escalation queue",
"description": "Live human agent for escalations, safety issues, or when confidence is low.",
"capabilities": {
"domains": [
"general",
"customer_support",
"legal",
"medical",
"finance"
],
"actions": [
"escalate",
"action",
"qa"
],
"languages": [
"*"
],
"modalities": [
"text"
],
"max_complexity": 1,
"min_complexity": 0,
"supports_tools": false,
"supports_streaming": true,
"tags": [
"safety"
]
},
"constraints": {
"data_boundary": "public",
"pii_allowed": true
},
"cost": {
"usd_per_1k_tokens": 0.5
},
"latency_ms": 300000,
"quality_prior": 0.9,
"examples": [
"I want to speak to a real person right now.",
"Let me talk to your manager."
]
}
],
"rules": [
{
"name": "pii-stays-onprem",
"prefer": [
"llm-onprem",
"support-agent",
"human-escalation"
],
"avoid": [
"llm-frontier",
"llm-mid",
"llm-small"
],
"when": {
"contains_pii": true
}
},
{
"name": "escalation-intent",
"prefer": [
"human-escalation"
],
"when": {
"actions": [
"escalate"
]
},
"pin": true
},
{
"name": "translation-goes-to-skill",
"prefer": [
"skill-translate"
],
"when": {
"actions": [
"translate"
]
},
"weight": 0.9,
"pin": true
},
{
"name": "read-images-with-ocr",
"prefer": [
"vision-ocr"
],
"when": {
"all_actions": [
"image"
],
"actions": [
"ocr",
"extract"
]
},
"pin": true
},
{
"name": "images-to-image-tool",
"prefer": [
"tool-image-gen"
],
"when": {
"actions": [
"image"
]
},
"pin": true
},
{
"name": "trivial-math-to-calculator",
"prefer": [
"tool-calculator"
],
"when": {
"domains": [
"math"
],
"max_complexity": 0.3
},
"weight": 0.8
},
{
"name": "sql-to-skill",
"prefer": [
"skill-sql"
],
"when": {
"domains": [
"data_analysis"
],
"actions": [
"code_generation"
]
},
"weight": 0.9
},
{
"name": "hard-coding-to-agent",
"prefer": [
"coding-agent"
],
"when": {
"domains": [
"coding"
],
"actions": [
"code_generation",
"code_review",
"action"
],
"min_complexity": 0.45
},
"weight": 0.7
},
{
"name": "support-domain",
"prefer": [
"support-agent"
],
"when": {
"domains": [
"customer_support"
]
},
"weight": 0.6
},
{
"name": "legal-persona",
"prefer": [
"llm-frontier",
"skill-summarize"
],
"when": {
"domains": [
"legal"
]
},
"weight": 0.4
},
{
"name": "order-events-to-notification-workflow",
"prefer": [
"workflow-notify-customer"
],
"when": {
"event": [
"order.*",
"shipment.*"
]
},
"pin": true
},
{
"name": "named-workflows",
"prefer": [
"workflow-notify-customer"
],
"when": {
"workflow": true,
"domains": [
"customer_support"
]
},
"weight": 0.8
},
{
"name": "pii-stays-home",
"prefer": [
"llm-onprem"
],
"when": {
"contains_pii": true
},
"pin": true
}
],
"settings": {
"routing": {
"min_confidence": 0.35
},
"weights": {
"rules": 2.5
},
"slm": {
"embedder_timeout_s": 5
}
},
"objective": {
"quality": 1,
"cost": 0.4,
"latency": 0.1
},
"metadata": {
"owner": "support-platform-team",
"template": "registry://opensmartroute/support-desk"
}
}Photo: RDNE Stock project
Fetch it by URL: GET /api/v1/registry/support-desk/manifest?version=1.0.0
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.