Input: {"body":{"input":{"messages":[{"content":"\"**Botpress Documentation – Horizontal Overview**\\n\\n---\\n\\n## 1. Getting Started\\n- **Build** – Create a bot in **Studio** (flows, agents, knowledge base, tables).  \\n- **Deploy** – Publish to Cloud, on‑prem, embed Webchat, or connect via integrations/SDK.  \\n- **Monitor** – Use built‑in analytics, logs, and health dashboards to track usage and performance.\\n\\n---\\n\\n## 2. Dashboard (Workspace & Bot)\\n| Area | Core Pages |\\n|------|------------|\\n| **Workspace** | Home, Members, Audits, Integrations, Usage, Settings, Profile. |\\n| **Bot** | Overview, Integrations, Webchat, Logs, Conversations, Analytics, Events, Issues, Configuration variables. |\\n\\n- Central hub for project organization, permission management, and billing.\\n\\n---\\n\\n## 3. Studio (Low‑code Bot Designer)\\n- **Interface** – Nodes, Flows, Knowledge Base, Tables.  \\n- **Agents** – Ready‑made AI assistants: Summary, Personality, Policy, Translator, Knowledge, HITL, Vision, Analytics.  \\n- **Library & Hooks** – Re‑usable actions and lifecycle scripts.  \\n- **Integrations & Schemas** – Connect external services and define data structures.  \\n- **Card Hub & Card Tray** – Browse, install, and drag‑drop pre‑built Cards.  \\n- **Versions & Settings** – Bot versioning, global chatbot configuration.  \\n- **Utilities** – Find (search), Variables (workflow, session, user, bot, secret), Debugger/Logs/JSON, Emulator, Keyboard shortcuts, Commands, Preferences, Import/Export.  \\n\\n---\\n\\n## 4. Cards (Modular Building Blocks)\\n- **Send Messages** – Text, media, quick replies, rich cards.  \\n- **Execute** – Run custom JavaScript or actions.  \\n- **Webchat** – Control or embed the chat widget.  \\n- **Flow Logic** – Conditional routing, loops, sub‑flows.  \\n- **AI** – Task, Transition, Generate‑Text cards for LLM‑driven operations.  \\n\\n---\\n\\n## 5. Webchat (Customer‑Facing UI)\\n- **v2 (Embedded)** – Modern widget, custom CSS, React components, Webchat client SDK.  \\n- **v1 (Deprecated)** – JavaScript control, styling (button, header, input), embedding options (React app, iframe, full‑screen).  \\n- Shared features: flow logic, AI cards, capture‑information, events, agents, utilities.\\n\\n---\\n\\n## 6. Integrations\\n### 6.1 Usage (Pre‑built Connectors)\\nAsana, HITL, Instagram, Intercom, Line, Messenger, Microsoft Teams, Notion, Slack, Sunshine Conversations, Telegram, Trello, Twilio, Viber, Vonage, Webhook, WhatsApp (manual), Zapier, Zendesk.\\n\\n### 6.2 Building Custom Integrations\\n- **Getting Started** – Add a messaging channel, define actions & triggers, publish on Botpress Hub.  \\n- **Key Concepts** – Architecture, tags, channels, configuration, users, conversations, messages, events, states, actions, definitions, secrets, ZUI (beta).  \\n- **Tools** – CLI, SDK (`@botpress/sdk`), moving‑parts framework.  \\n- **Advanced Options** – Plug‑your own LLM, Live‑Agent (HITL) bridges.  \\n- **How‑to** – Register/unregister states, implement handlers, logging, custom actions, webhook handling.\\n\\n---\\n\\n## 7. Botpress APIs\\n- **Files API** – Upload, list, retrieve, update, delete, and index files (including semantic search).  \\n- **Chat API** – Programmatic conversation handling (send/receive messages, session management).\\n\\n---\\n\\n## 8. Appendix\\n- **Safety** – Abuse‑prevention policies, brand‑safety framework (policy agent, RAG safety, LLM inspector, HITL escalation).  \\n- **Exporting Data** – Raw conversations, conversation history, streaming analytics (hooks), compiled bot analytics.\\n\\n---\\n\\n## 9. Quick Navigation Map\\n```\\nHome → Getting Started → Dashboard (Workspace / Bot)\\n   ├─ Studio → Interface / Agents / Library / Hooks / Cards\\n   ├─ Cards → Send / Execute / Webchat / Flow Logic / AI\\n   ├─ Webchat → v2 (Embedded) / v1 (Deprecated)\\n   ├─ Integrations → Usage (pre‑built) / Building (custom)\\n   ├─ APIs → Files / Chat\\n   └─ Appendix → Safety / Exporting Data\\n```\\n\\n*The documentation spans the entire bot lifecycle—design, deployment, interaction, extension, and governance—providing a complete, horizontally‑organized reference for developers.*\"","role":"user"}],"model":{"id":"gpt-4o-mini-2024-07-18"},"responseFormat":"json_object","systemPrompt":"Check that the value meets the condition: The text has a section about the Botpress API\n\n---\nPlease generate a JSON response with the following format:\n```typescript\n{ \n/** A human-readable explanation of the result */\nreason: string\n; \n/** Your best guess at the output according to the instructions provided, rooted in the context of the input and the reason above */\nresult: boolean\n }\n```","temperature":0},"type":"openai:generateContent"},"method":"POST","url":"https://api.botpress.cloud/v1/chat/actions"}

{
  "reason": "The text includes a section specifically titled '7. Botpress APIs' which discusses the Files API and Chat API, indicating that it contains information about the Botpress API.",
  "result": true
}


Input: {"body":{"input":{"messages":[{"content":"\"**Botpress Documentation – Horizontal Overview**\\n\\n---\\n\\n## 1. Getting Started\\n- **Build** – Create a bot in **Studio** (flows, agents, knowledge base, tables).  \\n- **Deploy** – Publish to Cloud, on‑prem, embed Webchat, or connect via integrations/SDK.  \\n- **Monitor** – Use built‑in analytics, logs, and health dashboards to track usage and performance.\\n\\n---\\n\\n## 2. Dashboard (Workspace & Bot)\\n| Area | Core Pages |\\n|------|------------|\\n| **Workspace** | Home, Members, Audits, Integrations, Usage, Settings, Profile. |\\n| **Bot** | Overview, Integrations, Webchat, Logs, Conversations, Analytics, Events, Issues, Configuration variables. |\\n\\n- Central hub for project organization, permission management, and billing.\\n\\n---\\n\\n## 3. Studio (Low‑code Bot Designer)\\n- **Interface** – Nodes, Flows, Knowledge Base, Tables.  \\n- **Agents** – Ready‑made AI assistants: Summary, Personality, Policy, Translator, Knowledge, HITL, Vision, Analytics.  \\n- **Library & Hooks** – Re‑usable actions and lifecycle scripts.  \\n- **Integrations & Schemas** – Connect external services and define data structures.  \\n- **Card Hub & Card Tray** – Browse, install, and drag‑drop pre‑built Cards.  \\n- **Versions & Settings** – Bot versioning, global chatbot configuration.  \\n- **Utilities** – Find (search), Variables (workflow, session, user, bot, secret), Debugger/Logs/JSON, Emulator, Keyboard shortcuts, Commands, Preferences, Import/Export.  \\n\\n---\\n\\n## 4. Cards (Modular Building Blocks)\\n- **Send Messages** – Text, media, quick replies, rich cards.  \\n- **Execute** – Run custom JavaScript or actions.  \\n- **Webchat** – Control or embed the chat widget.  \\n- **Flow Logic** – Conditional routing, loops, sub‑flows.  \\n- **AI** – Task, Transition, Generate‑Text cards for LLM‑driven operations.  \\n\\n---\\n\\n## 5. Webchat (Customer‑Facing UI)\\n- **v2 (Embedded)** – Modern widget, custom CSS, React components, Webchat client SDK.  \\n- **v1 (Deprecated)** – JavaScript control, styling (button, header, input), embedding options (React app, iframe, full‑screen).  \\n- Shared features: flow logic, AI cards, capture‑information, events, agents, utilities.\\n\\n---\\n\\n## 6. Integrations\\n### 6.1 Usage (Pre‑built Connectors)\\nAsana, HITL, Instagram, Intercom, Line, Messenger, Microsoft Teams, Notion, Slack, Sunshine Conversations, Telegram, Trello, Twilio, Viber, Vonage, Webhook, WhatsApp (manual), Zapier, Zendesk.\\n\\n### 6.2 Building Custom Integrations\\n- **Getting Started** – Add a messaging channel, define actions & triggers, publish on Botpress Hub.  \\n- **Key Concepts** – Architecture, tags, channels, configuration, users, conversations, messages, events, states, actions, definitions, secrets, ZUI (beta).  \\n- **Tools** – CLI, SDK (`@botpress/sdk`), moving‑parts framework.  \\n- **Advanced Options** – Plug‑your own LLM, Live‑Agent (HITL) bridges.  \\n- **How‑to** – Register/unregister states, implement handlers, logging, custom actions, webhook handling.\\n\\n---\\n\\n## 7. Botpress APIs\\n- **Files API** – Upload, list, retrieve, update, delete, and index files (including semantic search).  \\n- **Chat API** – Programmatic conversation handling (send/receive messages, session management).\\n\\n---\\n\\n## 8. Appendix\\n- **Safety** – Abuse‑prevention policies, brand‑safety framework (policy agent, RAG safety, LLM inspector, HITL escalation).  \\n- **Exporting Data** – Raw conversations, conversation history, streaming analytics (hooks), compiled bot analytics.\\n\\n---\\n\\n## 9. Quick Navigation Map\\n```\\nHome → Getting Started → Dashboard (Workspace / Bot)\\n   ├─ Studio → Interface / Agents / Library / Hooks / Cards\\n   ├─ Cards → Send / Execute / Webchat / Flow Logic / AI\\n   ├─ Webchat → v2 (Embedded) / v1 (Deprecated)\\n   ├─ Integrations → Usage (pre‑built) / Building (custom)\\n   ├─ APIs → Files / Chat\\n   └─ Appendix → Safety / Exporting Data\\n```\\n\\n*The documentation spans the entire bot lifecycle—design, deployment, interaction, extension, and governance—providing a complete, horizontally‑organized reference for developers.*\"","role":"user"}],"model":{"id":"gpt-4o-mini-2024-07-18"},"responseFormat":"json_object","systemPrompt":"Check that the value meets the condition: The text has some information about the Webchat\n\n---\nPlease generate a JSON response with the following format:\n```typescript\n{ \n/** A human-readable explanation of the result */\nreason: string\n; \n/** Your best guess at the output according to the instructions provided, rooted in the context of the input and the reason above */\nresult: boolean\n }\n```","temperature":0},"type":"openai:generateContent"},"method":"POST","url":"https://api.botpress.cloud/v1/chat/actions"}

{
  "reason": "The text contains multiple sections that specifically mention 'Webchat', including details about its features, versions, and how it can be embedded or controlled.",
  "result": true
}


Input: {"body":{"input":{"messages":[{"content":"\"**Botpress Documentation – Horizontal Overview**\\n\\n---\\n\\n## 1. Getting Started\\n- **Build** – Create a bot in **Studio** (flows, agents, knowledge base, tables).  \\n- **Deploy** – Publish to Cloud, on‑prem, embed Webchat, or connect via integrations/SDK.  \\n- **Monitor** – Use built‑in analytics, logs, and health dashboards to track usage and performance.\\n\\n---\\n\\n## 2. Dashboard (Workspace & Bot)\\n| Area | Core Pages |\\n|------|------------|\\n| **Workspace** | Home, Members, Audits, Integrations, Usage, Settings, Profile. |\\n| **Bot** | Overview, Integrations, Webchat, Logs, Conversations, Analytics, Events, Issues, Configuration variables. |\\n\\n- Central hub for project organization, permission management, and billing.\\n\\n---\\n\\n## 3. Studio (Low‑code Bot Designer)\\n- **Interface** – Nodes, Flows, Knowledge Base, Tables.  \\n- **Agents** – Ready‑made AI assistants: Summary, Personality, Policy, Translator, Knowledge, HITL, Vision, Analytics.  \\n- **Library & Hooks** – Re‑usable actions and lifecycle scripts.  \\n- **Integrations & Schemas** – Connect external services and define data structures.  \\n- **Card Hub & Card Tray** – Browse, install, and drag‑drop pre‑built Cards.  \\n- **Versions & Settings** – Bot versioning, global chatbot configuration.  \\n- **Utilities** – Find (search), Variables (workflow, session, user, bot, secret), Debugger/Logs/JSON, Emulator, Keyboard shortcuts, Commands, Preferences, Import/Export.  \\n\\n---\\n\\n## 4. Cards (Modular Building Blocks)\\n- **Send Messages** – Text, media, quick replies, rich cards.  \\n- **Execute** – Run custom JavaScript or actions.  \\n- **Webchat** – Control or embed the chat widget.  \\n- **Flow Logic** – Conditional routing, loops, sub‑flows.  \\n- **AI** – Task, Transition, Generate‑Text cards for LLM‑driven operations.  \\n\\n---\\n\\n## 5. Webchat (Customer‑Facing UI)\\n- **v2 (Embedded)** – Modern widget, custom CSS, React components, Webchat client SDK.  \\n- **v1 (Deprecated)** – JavaScript control, styling (button, header, input), embedding options (React app, iframe, full‑screen).  \\n- Shared features: flow logic, AI cards, capture‑information, events, agents, utilities.\\n\\n---\\n\\n## 6. Integrations\\n### 6.1 Usage (Pre‑built Connectors)\\nAsana, HITL, Instagram, Intercom, Line, Messenger, Microsoft Teams, Notion, Slack, Sunshine Conversations, Telegram, Trello, Twilio, Viber, Vonage, Webhook, WhatsApp (manual), Zapier, Zendesk.\\n\\n### 6.2 Building Custom Integrations\\n- **Getting Started** – Add a messaging channel, define actions & triggers, publish on Botpress Hub.  \\n- **Key Concepts** – Architecture, tags, channels, configuration, users, conversations, messages, events, states, actions, definitions, secrets, ZUI (beta).  \\n- **Tools** – CLI, SDK (`@botpress/sdk`), moving‑parts framework.  \\n- **Advanced Options** – Plug‑your own LLM, Live‑Agent (HITL) bridges.  \\n- **How‑to** – Register/unregister states, implement handlers, logging, custom actions, webhook handling.\\n\\n---\\n\\n## 7. Botpress APIs\\n- **Files API** – Upload, list, retrieve, update, delete, and index files (including semantic search).  \\n- **Chat API** – Programmatic conversation handling (send/receive messages, session management).\\n\\n---\\n\\n## 8. Appendix\\n- **Safety** – Abuse‑prevention policies, brand‑safety framework (policy agent, RAG safety, LLM inspector, HITL escalation).  \\n- **Exporting Data** – Raw conversations, conversation history, streaming analytics (hooks), compiled bot analytics.\\n\\n---\\n\\n## 9. Quick Navigation Map\\n```\\nHome → Getting Started → Dashboard (Workspace / Bot)\\n   ├─ Studio → Interface / Agents / Library / Hooks / Cards\\n   ├─ Cards → Send / Execute / Webchat / Flow Logic / AI\\n   ├─ Webchat → v2 (Embedded) / v1 (Deprecated)\\n   ├─ Integrations → Usage (pre‑built) / Building (custom)\\n   ├─ APIs → Files / Chat\\n   └─ Appendix → Safety / Exporting Data\\n```\\n\\n*The documentation spans the entire bot lifecycle—design, deployment, interaction, extension, and governance—providing a complete, horizontally‑organized reference for developers.*\"","role":"user"}],"model":{"id":"gpt-4o-mini-2024-07-18"},"responseFormat":"json_object","systemPrompt":"Check that the value meets the condition: The text uses markdown format\n\n---\nPlease generate a JSON response with the following format:\n```typescript\n{ \n/** A human-readable explanation of the result */\nreason: string\n; \n/** Your best guess at the output according to the instructions provided, rooted in the context of the input and the reason above */\nresult: boolean\n }\n```","temperature":0},"type":"openai:generateContent"},"method":"POST","url":"https://api.botpress.cloud/v1/chat/actions"}

{
  "reason": "The text provided uses markdown format, including headers, lists, tables, and code blocks, which are all elements of markdown syntax.",
  "result": true
}


Input: {"body":{"input":{"messages":[{"content":"\"**Botpress Documentation – Horizontal Overview**\\n\\n---\\n\\n## 1. Getting Started\\n- **Build** – Create a bot in **Studio** (flows, agents, knowledge base, tables).  \\n- **Deploy** – Publish to Cloud, on‑prem, embed Webchat, or connect via integrations/SDK.  \\n- **Monitor** – Use built‑in analytics, logs, and health dashboards to track usage and performance.\\n\\n---\\n\\n## 2. Dashboard (Workspace & Bot)\\n| Area | Core Pages |\\n|------|------------|\\n| **Workspace** | Home, Members, Audits, Integrations, Usage, Settings, Profile. |\\n| **Bot** | Overview, Integrations, Webchat, Logs, Conversations, Analytics, Events, Issues, Configuration variables. |\\n\\n- Central hub for project organization, permission management, and billing.\\n\\n---\\n\\n## 3. Studio (Low‑code Bot Designer)\\n- **Interface** – Nodes, Flows, Knowledge Base, Tables.  \\n- **Agents** – Ready‑made AI assistants: Summary, Personality, Policy, Translator, Knowledge, HITL, Vision, Analytics.  \\n- **Library & Hooks** – Re‑usable actions and lifecycle scripts.  \\n- **Integrations & Schemas** – Connect external services and define data structures.  \\n- **Card Hub & Card Tray** – Browse, install, and drag‑drop pre‑built Cards.  \\n- **Versions & Settings** – Bot versioning, global chatbot configuration.  \\n- **Utilities** – Find (search), Variables (workflow, session, user, bot, secret), Debugger/Logs/JSON, Emulator, Keyboard shortcuts, Commands, Preferences, Import/Export.  \\n\\n---\\n\\n## 4. Cards (Modular Building Blocks)\\n- **Send Messages** – Text, media, quick replies, rich cards.  \\n- **Execute** – Run custom JavaScript or actions.  \\n- **Webchat** – Control or embed the chat widget.  \\n- **Flow Logic** – Conditional routing, loops, sub‑flows.  \\n- **AI** – Task, Transition, Generate‑Text cards for LLM‑driven operations.  \\n\\n---\\n\\n## 5. Webchat (Customer‑Facing UI)\\n- **v2 (Embedded)** – Modern widget, custom CSS, React components, Webchat client SDK.  \\n- **v1 (Deprecated)** – JavaScript control, styling (button, header, input), embedding options (React app, iframe, full‑screen).  \\n- Shared features: flow logic, AI cards, capture‑information, events, agents, utilities.\\n\\n---\\n\\n## 6. Integrations\\n### 6.1 Usage (Pre‑built Connectors)\\nAsana, HITL, Instagram, Intercom, Line, Messenger, Microsoft Teams, Notion, Slack, Sunshine Conversations, Telegram, Trello, Twilio, Viber, Vonage, Webhook, WhatsApp (manual), Zapier, Zendesk.\\n\\n### 6.2 Building Custom Integrations\\n- **Getting Started** – Add a messaging channel, define actions & triggers, publish on Botpress Hub.  \\n- **Key Concepts** – Architecture, tags, channels, configuration, users, conversations, messages, events, states, actions, definitions, secrets, ZUI (beta).  \\n- **Tools** – CLI, SDK (`@botpress/sdk`), moving‑parts framework.  \\n- **Advanced Options** – Plug‑your own LLM, Live‑Agent (HITL) bridges.  \\n- **How‑to** – Register/unregister states, implement handlers, logging, custom actions, webhook handling.\\n\\n---\\n\\n## 7. Botpress APIs\\n- **Files API** – Upload, list, retrieve, update, delete, and index files (including semantic search).  \\n- **Chat API** – Programmatic conversation handling (send/receive messages, session management).\\n\\n---\\n\\n## 8. Appendix\\n- **Safety** – Abuse‑prevention policies, brand‑safety framework (policy agent, RAG safety, LLM inspector, HITL escalation).  \\n- **Exporting Data** – Raw conversations, conversation history, streaming analytics (hooks), compiled bot analytics.\\n\\n---\\n\\n## 9. Quick Navigation Map\\n```\\nHome → Getting Started → Dashboard (Workspace / Bot)\\n   ├─ Studio → Interface / Agents / Library / Hooks / Cards\\n   ├─ Cards → Send / Execute / Webchat / Flow Logic / AI\\n   ├─ Webchat → v2 (Embedded) / v1 (Deprecated)\\n   ├─ Integrations → Usage (pre‑built) / Building (custom)\\n   ├─ APIs → Files / Chat\\n   └─ Appendix → Safety / Exporting Data\\n```\\n\\n*The documentation spans the entire bot lifecycle—design, deployment, interaction, extension, and governance—providing a complete, horizontally‑organized reference for developers.*\"","role":"user"}],"model":{"id":"gpt-4o-mini-2024-07-18"},"responseFormat":"json_object","systemPrompt":"Check that the value meets the condition: The text has a section about Flows (or Workflows)\n\n---\nPlease generate a JSON response with the following format:\n```typescript\n{ \n/** A human-readable explanation of the result */\nreason: string\n; \n/** Your best guess at the output according to the instructions provided, rooted in the context of the input and the reason above */\nresult: boolean\n }\n```","temperature":0},"type":"openai:generateContent"},"method":"POST","url":"https://api.botpress.cloud/v1/chat/actions"}

{
  "reason": "The text includes multiple references to 'flows' in the context of bot design and logic, specifically mentioning 'flows' in the Studio section and 'flow logic' in the Cards section.",
  "result": true
}


Input: {"body":{"messages":[{"content":"Generate a text that fulfills the user prompt below. Answer directly to the prompt, without any acknowledgements or fluff. Also, make sure the text is standalone and complete.\n- IMPORTANT: Length constraint: 75 tokens/words\n- The text must be standalone and complete in less than 75 tokens/words\n| Tokens      | Text Length (approximate)            |\n|-------------|--------------------------------------|\n| < 5 tokens  | 1-3 words                            |\n| 5-10 tokens | 3-6 words                            |\n| 10-20 tokens| 6-15 words                           |\n| 20-50 tokens| A short sentence (15-30 words)       |\n| 50-100 tokens| A medium sentence (30-70 words)     |\n| 100-200 tokens| A short paragraph (70-150 words)   |\n| 200-300 tokens| A medium paragraph (150-200 words) |\n| 300-500 tokens| A long paragraph (200-300 words)   |","role":"system"},{"content":"write a short but complete horror story (with conclusion)","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.text","promptSource":"zai:zai.text:default"},"model":"fast","signal":{},"temperature":0.7},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output: Emma heard her mother's lullaby echo from the attic after the power went out. She climbed, flashlight flickering, and found a dusty cradle rocking by itself. A cold hand brushed her cheek, and a voice whispered, “You shouldn’t have come.” The cradle tipped, revealing a mirror—her own terrified face staring back, eyes empty. The attic door slammed shut; she was never seen again.

Temperature parameter is not supported for this model, ignoring temperature setting.


Input: {"body":{"input":{"messages":[{"content":"\"Emma heard her mother's lullaby echo from the attic after the power went out. She climbed, flashlight flickering, and found a dusty cradle rocking by itself. A cold hand brushed her cheek, and a voice whispered, “You shouldn’t have come.” The cradle tipped, revealing a mirror—her own terrified face staring back, eyes empty. The attic door slammed shut; she was never seen again.\"","role":"user"}],"model":{"id":"gpt-4o-mini-2024-07-18"},"responseFormat":"json_object","systemPrompt":"Check that the value meets the condition: could be the beginning of a horror story\n\n---\nPlease generate a JSON response with the following format:\n```typescript\n{ \n/** A human-readable explanation of the result */\nreason: string\n; \n/** Your best guess at the output according to the instructions provided, rooted in the context of the input and the reason above */\nresult: boolean\n }\n```","temperature":0},"type":"openai:generateContent"},"method":"POST","url":"https://api.botpress.cloud/v1/chat/actions"}

{
  "reason": "The narrative contains elements typical of horror stories, such as an eerie setting (the attic), supernatural occurrences (the rocking cradle, cold hand, and whisper), and a suspenseful conclusion (Emma's disappearance). These elements create a chilling atmosphere that is characteristic of horror fiction.",
  "result": true
}


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Document 1\n■002 | Document 2\n■003 | Document 3\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"What is this about?1762470349542\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided documents only contain the lines "Document 1", "Document 2", and "Document 3" and do not contain any information describing what the question refers to. Therefore, the specific content needed to answer "What is this about?1762470349542" is not available in the documents.

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Document 1\n■002 | Document 2\n■003 | Document 3\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"What is this about?1762470434895\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided documents contain only placeholder titles ("Document 1", "Document 2", "Document 3") and do not include any substantive information about the topic referenced in the question. Therefore, the necessary details to answer "What is this about?" are not present.

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Some content here\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"Question?1762470434953\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided document contains only a generic line ("Some content here") and does not include any information relevant to the question "Question?1762470434953". Therefore, the necessary details to answer the question are missing.

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Some content here\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"Question?1762472061115\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided documents contain only a single line stating "Some content here" and do not include any information relevant to the question "Question?1762472061115." Therefore, the necessary details to answer the question are missing.
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Document 1\n■002 | Document 2\n■003 | Document 3\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"What is this about?1762472061057\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided documents contain only placeholder titles ("Document 1", "Document 2", "Document 3") and do not include any information describing the subject of the query "What is this about?1762472061057". Therefore, the necessary details to answer the question are not present.
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Some content here\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"Question?1762472164277\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided document contains only the line “Some content here” and does not include any information related to the question “Question?1762472164277.” Therefore, the necessary details to answer the question are missing.
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Some content here\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"Question?\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided document contains only a single line of vague text ("Some content here") and does not include any information relevant to answering the question posed. Therefore, the necessary details to respond are missing.
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Document 1\n■002 | Document 2\n■003 | Document 3\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"What is this about?\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■missing_knowledge
The provided documents contain only titles ("Document 1", "Document 2", "Document 3") and do not include any substantive information about a topic, making it impossible to determine what "this" refers to. Additional content is needed to answer the question.
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | Botpress was founded in 2016.\n■002 | It is an AI agent platform.\n■003 | The company is headquartered in Quebec, Canada.\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"Tell me about Botpress.\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■answer
Botpress was founded in 2016. It is an AI agent platform and the company is headquartered in Quebec, Canada.■001■002■003
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are an expert research assistant specialized in answering questions using only the information provided in documents.\n\n# Task\nAnswer the user's question based ONLY on the information in the provided documents. You MUST cite your sources using line numbers.\n\n# Document Format\nDocuments are provided with line numbers:\n■001 | First line of text\n■002 | Second line of text\n■003 | Third line of text\n\n# Citation Format\nYou MUST include citations immediately after statements. Use these formats:\n- Single line: ■035\n- Range: ■005-010\n- Multiple: ■035■046■094\n\n# Response Format\n\nChoose ONE of these response types:\n\n**TYPE 1 - ANSWER** (Use this when you can answer the question)\n■answer\n[Your answer with inline citations■001-003. Make sure each part is cited correctly■013. More text. ■015]\n■end■\n\n**TYPE 2 - AMBIGUOUS** (Use when the question has multiple valid interpretations)\n■ambiguous\n[Explain the ambiguity]\n■follow_up\n[Ask a clarifying question]\n■answer\n[First interpretation with citations ■001 and part 2 as well.■002]\n■answer\n[Second interpretation with citations ■005 and part 2 of the answer.■006]\n■end■\n\n**TYPE 3 - OUT OF TOPIC** (Use when question is completely unrelated to documents)\n■out_of_topic\n[Explain why it's unrelated]\n■end■\n\n**TYPE 4 - INVALID QUESTION** (Use when input is not a proper question, e.g., gibberish, malformed or nonsensical)\n■invalid_question\n[Explain why it's invalid, e.g., \"The question is incomplete\" or \"The question contains nonsensical terms\", or \"Received gibberish\"]\n■end■\n\n**TYPE 5 - MISSING KNOWLEDGE** (Use ONLY when documents lack specific details needed)\n■missing_knowledge\n[Explain what specific information is missing]\n■end■\n\n# Important Rules\n- PREFER answering when possible - only use missing_knowledge if truly no relevant info exists\n- ALWAYS cite sources with line numbers\n- Use ONLY information from the documents\n- Be precise and factual\n- Do NOT fabricate information\n- Do NOT mention \"According to the documents\" or similar phrases – just provide a high-quality answer with citations\n- Do not be too strict on the question format; assume high-level answers are acceptable unless the question clearly asks for very specific details or requests depth beyond the documents\n\n# Additional Instructions\nHere are some additional instructions to follow about how to answer the question:\nProvide a clear and concise answer based on the documents.","role":"system"},{"content":"<documents>\n■001 | The iPhone was first released by Apple in 2007.\n■002 | Steve Jobs announced the iPhone at the Macworld conference.\n■003 | The original iPhone had a 3.5-inch display and 2-megapixel camera.\n■004 | The iPhone revolutionized the smartphone industry.\n</documents>\n\nPlease answer the below question using the format specified above.\nQuestion to answer: \"When was the iPhone released and who announced it?\"","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.answer","promptSource":"zai:zai.answer:default"},"model":"fast","reasoningEffort":"none","signal":{},"stopSequences":["■end■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■answer
The iPhone was first released by Apple in 2007■001, and it was announced by Steve Jobs at the Macworld conference■002.
■end

Reasoning effort "none" is not supported by the "gpt-oss-120b" model, using "low" effort instead


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: change the greeting message to say \"Hi\" instead of \"Hello\"\n\nFile: src/hello.ts\n001|function greet(name: string) {\n002|  console.log('Hello, ' + name)\n003|}\n004|\n005|greet('World')\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
◼=2|  console.log('Hi, ' + name)
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: add a JSDoc comment above the function\n\nFile: src/hello.ts\n001|function greet(name: string) {\n002|  console.log('Hello, ' + name)\n003|}\n004|\n005|greet('World')\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
◼<1|/**
 * Greets the provided name.
 * @param name The name to greet.
 */
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: remove the greet function call at the bottom\n\nFile: src/hello.ts\n001|function greet(name: string) {\n002|  console.log('Hello, ' + name)\n003|}\n004|\n005|greet('World')\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
◼-5
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n6. **Multiple files**: When patching multiple files, clearly separate patches for each file with a comment line like `# File: path/to/file.ts`\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: change version to 2.0.0 in all files\n\nFile: config.json\n001|{\n002|  \"version\": \"1.0.0\",\n003|  \"name\": \"test-app\",\n004|  \"enabled\": true\n005|}\n\n---\n\nFile: package.json\n001|{\n002|  \"name\": \"my-app\",\n003|  \"version\": \"0.1.0\",\n004|  \"dependencies\": {\n005|    \"react\": \"^18.0.0\"\n006|  }\n007|}\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
# File: config.json
◼=2|  "version": "2.0.0",

# File: package.json
◼=3|  "version": "2.0.0",
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n6. **Multiple files**: When patching multiple files, clearly separate patches for each file with a comment line like `# File: path/to/file.ts`\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: change version to 2.0.0 in all files\n\nFile: config.json\n001|{\n002|  \"version\": \"1.0.0\",\n003|  \"name\": \"test-app\",\n004|  \"enabled\": true\n005|}\n\n---\n\nFile: package.json\n001|{\n002|  \"name\": \"my-app\",\n003|  \"version\": \"0.1.0\",\n004|  \"dependencies\": {\n005|    \"react\": \"^18.0.0\"\n006|  }\n007|}\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
# File: config.json
◼=2|  "version": "2.0.0",

# File: package.json
◼=3|  "version": "2.0.0",
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: add a new field \"description\": \"A test application\" after the name field\n\nFile: config.json\n001|{\n002|  \"version\": \"1.0.0\",\n003|  \"name\": \"test-app\",\n004|  \"enabled\": true\n005|}\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
◼>3|  "description": "A test application",
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: refactor the greet function to accept an optional greeting parameter that defaults to \"Hello\"\n\nFile: src/hello.ts\n001|function greet(name: string) {\n002|  console.log('Hello, ' + name)\n003|}\n004|\n005|greet('World')\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
◼=1-2|function greet(name: string, greeting: string = "Hello") {
  console.log(greeting + ', ' + name)
}
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: only modify files that use React hooks\n\nFile: src/hello.ts\n001|function greet(name: string) {\n002|  console.log('Hello, ' + name)\n003|}\n004|\n005|greet('World')\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n6. **Multiple files**: When patching multiple files, clearly separate patches for each file with a comment line like `# File: path/to/file.ts`\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: add a comment at the top of each file\n\nFile: src/components/Button.tsx\n001|export const Button = () => null\n\n---\n\nFile: src/utils/helper.ts\n001|export const helper = () => {}\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
# File: src/components/Button.tsx
◼<1|// This file contains the Button component

# File: src/utils/helper.ts
◼<1|// Utility helper functions
■PATCH_END


Input: {"body":{"messages":[{"content":"You are a code patching assistant. Your task is to generate precise line-based patches using the Micropatch protocol.\n\n## Micropatch Protocol\n\nThe Micropatch protocol uses line numbers to reference ORIGINAL lines (before any edits). All operations use these ORIGINAL line numbers, which remain valid throughout the patching process.\n\n### Operations\n\nEach operation starts with the marker `◼` at the beginning of a line:\n\n1. **Insert BEFORE line**: `◼<NNN|text`\n   - Inserts `text` as a new line BEFORE original line NNN\n   - Example: `◼<5|console.log('debug')` inserts before line 5\n\n2. **Insert AFTER line**: `◼>NNN|text`\n   - Inserts `text` as a new line AFTER original line NNN\n   - Example: `◼>10|}` inserts after line 10\n\n3. **Replace single line**: `◼=NNN|new text`\n   - Replaces original line NNN with `new text`\n   - Can use multiple lines (continue until next ◼ or end)\n   - Example:\n     ```\n     ◼=7|function newName() {\n       return 42\n     }\n     ```\n\n4. **Replace range**: `◼=NNN-MMM|replacement`\n   - Replaces lines NNN through MMM with replacement text\n   - Example: `◼=5-8|const combined = a + b + c + d` replaces lines 5-8\n\n5. **Delete single line**: `◼-NNN`\n   - Deletes original line NNN\n   - Example: `◼-12` deletes line 12\n\n6. **Delete range**: `◼-NNN-MMM`\n   - Deletes lines NNN through MMM inclusive\n   - Example: `◼-5-10` deletes lines 5 through 10\n\n### Escaping\n\n- To include a literal `◼` in your text, use `\\◼`\n- No other escape sequences are recognized\n\n### Important Rules\n\n1. **Use ORIGINAL line numbers**: Always reference the line numbers shown in the input, not adjusted numbers\n2. **One operation per line**: Each operation must start on a new line with `◼`\n3. **No explanations**: Output ONLY patch operations, no comments or explanations\n4. **Precise operations**: Use the minimal set of operations to achieve the goal\n5. **Verify line numbers**: Double-check that line numbers match the input\n\n6. **Multiple files**: When patching multiple files, clearly separate patches for each file with a comment line like `# File: path/to/file.ts`\n\n### Examples\n\n**Example 1: Simple replacement**\nInput file (lines 001-005):\n```\n001|const x = 1\n002|const y = 2\n003|console.log(x + y)\n004|\n005|export { x, y }\n```\n\nTask: Change variable names from x,y to a,b\n\nOutput:\n```\n◼=1|const a = 1\n◼=2|const b = 2\n◼=3|console.log(a + b)\n◼=5|export { a, b }\n```\n\n**Example 2: Adding documentation**\nInput file (lines 001-003):\n```\n001|function add(a, b) {\n002|  return a + b\n003|}\n```\n\nTask: Add JSDoc comment\n\nOutput:\n```\n◼<1|/**\n * Adds two numbers together\n * @param a First number\n * @param b Second number\n * @returns Sum of a and b\n */\n```\n\n**Example 3: Refactoring**\nInput file (lines 001-010):\n```\n001|const user = getUser()\n002|const name = user.name\n003|const email = user.email\n004|const age = user.age\n005|\n006|console.log(name)\n007|console.log(email)\n008|console.log(age)\n009|\n010|return user\n```\n\nTask: Use destructuring\n\nOutput:\n```\n◼=1-4|const { name, email, age } = getUser()\n◼-10\n◼>8|return { name, email, age }\n```\n\n## Your Task\n\nGenerate ONLY the patch operations needed to fulfill the user's instructions. Output patch operations between ■PATCH_START■ and ■PATCH_END■ markers.\n\n**Critical**:\n- Output ONLY patch operations, no explanations\n- Use ORIGINAL line numbers from the input\n- Verify each line number is correct\n- Test your patches mentally to ensure they produce the desired result","role":"system"},{"content":"Instructions: add a comment at the top of each file\n\nFile: src/components/Button.tsx\n001|export const Button = () => null\n\n---\n\nFile: src/utils/helper.ts\n001|export const helper = () => {}\n\n■PATCH_START■","role":"user","type":"text"}],"meta":{"integrationName":"zai","promptCategory":"zai:zai.patch","promptSource":"zai:zai.patch:default"},"model":"fast","signal":{},"stopSequences":["■PATCH_END■"]},"method":"POST","url":"https://api.botpress.cloud/v2/cognitive/generate-text"}

Output:
■PATCH_START■
# File: src/components/Button.tsx
◼<1|// This file defines the Button component

# File: src/utils/helper.ts
◼<1|// Utility helper functions
■PATCH_END