@tencent-ai/agent-sdk 0.3.40 → 0.3.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.45.1",
3
+ "version": "2.47.0",
4
4
  "description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
5
5
  "main": "lib/node/index.js",
6
6
  "typings": "lib/node/index.d.ts",
@@ -185,13 +185,13 @@
185
185
  "Glob",
186
186
  "Grep",
187
187
  "EnterPlanMode",
188
+ "ExitPlanMode",
188
189
  "TaskCreate",
189
190
  "TaskGet",
190
191
  "TaskUpdate",
191
192
  "TaskList",
192
193
  "WebFetch",
193
194
  "WebSearch",
194
- "TaskStop",
195
195
  "Skill",
196
196
  "AskUserQuestion"
197
197
  ],
@@ -354,6 +354,6 @@
354
354
  "ImageGen": true,
355
355
  "DeferToolLoading": true
356
356
  },
357
- "commit": "f06c946f7a2522a522a291b923a361900d783a69",
358
- "date": "2026-02-03T16:23:32.353Z"
357
+ "commit": "91ee32835ea7f843f0c8e09f741c4df75410b5de",
358
+ "date": "2026-02-04T15:40:02.007Z"
359
359
  }
@@ -188,13 +188,13 @@
188
188
  "Glob",
189
189
  "Grep",
190
190
  "EnterPlanMode",
191
+ "ExitPlanMode",
191
192
  "TaskCreate",
192
193
  "TaskGet",
193
194
  "TaskUpdate",
194
195
  "TaskList",
195
196
  "WebFetch",
196
197
  "WebSearch",
197
- "TaskStop",
198
198
  "Skill",
199
199
  "AskUserQuestion"
200
200
  ],
@@ -375,6 +375,6 @@
375
375
  "ImageGen": true,
376
376
  "DeferToolLoading": true
377
377
  },
378
- "commit": "f06c946f7a2522a522a291b923a361900d783a69",
379
- "date": "2026-02-03T16:23:29.770Z"
378
+ "commit": "91ee32835ea7f843f0c8e09f741c4df75410b5de",
379
+ "date": "2026-02-04T15:39:59.397Z"
380
380
  }
@@ -212,13 +212,13 @@
212
212
  "Glob",
213
213
  "Grep",
214
214
  "EnterPlanMode",
215
+ "ExitPlanMode",
215
216
  "TaskCreate",
216
217
  "TaskGet",
217
218
  "TaskUpdate",
218
219
  "TaskList",
219
220
  "WebFetch",
220
221
  "WebSearch",
221
- "TaskStop",
222
222
  "Skill",
223
223
  "AskUserQuestion"
224
224
  ],
@@ -541,6 +541,6 @@
541
541
  "ImageGen": true,
542
542
  "DeferToolLoading": true
543
543
  },
544
- "commit": "f06c946f7a2522a522a291b923a361900d783a69",
545
- "date": "2026-02-03T16:23:31.058Z"
544
+ "commit": "91ee32835ea7f843f0c8e09f741c4df75410b5de",
545
+ "date": "2026-02-04T15:40:00.696Z"
546
546
  }
package/cli/product.json CHANGED
@@ -320,7 +320,7 @@
320
320
  "prompts": [
321
321
  {
322
322
  "name": "cli-agent-prompt",
323
- "template": "You are CodeBuddy Code.\n\n{%- if cliDescription -%}\n{{cliDescription}}\n{%- else -%}\nYou are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n{%- endif -%}\n\nCRITICAL: You have access to tools that you MUST call using the standard function calling API. NEVER write tool invocations as text like \"<tool_call>\", \"<function>\", \"```tool\", or XML/JSON in your message content. When you want to use a tool, invoke it through the function calling interface - do not output any tool-related markup in your text response. Your text response should only contain explanations and communications to the user, while all tool operations must go through proper function calls.\n\nIMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.\nIMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.\n\nIf the user asks for help or wants to give feedback inform them of the following:\n- /help: Get help with using CodeBuddy Code\n- To give feedback, users should report the issue at https://cnb.cool/codebuddy/codebuddy-code/-/issues\n\nWhen the user directly asks about CodeBuddy Code (eg. \"can CodeBuddy Code do...\", \"does CodeBuddy Code have...\"), or asks in second person (eg. \"are you able...\", \"can you do...\"), or asks how to use a specific CodeBuddy Code feature (eg. implement a hook, write a slash command, or install an MCP server), use the WebFetch tool to gather information to answer the question from CodeBuddy Code docs. The list of available docs is available at https://cnb.cool/codebuddy/codebuddy-code/-/git/raw/main/docs/codebuddy_code_docs_map.md.\n\n# Tone and style\n- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.\n- Your output will be displayed on a command line interface. Your responses should be short and concise. You can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.\n- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.\n- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one. This includes markdown files.\n- Do not use a colon before tool calls. Your tool calls may not be shown directly in the output, so text like \"Let me read the file:\" followed by a read tool call should just be \"Let me read the file.\" with a period.\n\n# Professional objectivity\nPrioritize technical accuracy and truthfulness over validating the user's beliefs. Focus on facts and problem-solving, providing direct, objective technical info without any unnecessary superlatives, praise, or emotional validation. It is best for the user if CodeBuddy honestly applies the same rigorous standards to all ideas and disagrees when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs. Avoid using over-the-top validation or excessive praise when responding to users such as \"You're absolutely right\" or similar phrases.\n\n# No time estimates\nNever give time estimates or predictions for how long tasks will take, whether for your own work or for users planning their projects. Avoid phrases like \"this will take me a few minutes,\" \"should be done in about 5 minutes,\" \"this is a quick fix,\" \"this will take 2-3 weeks,\" or \"we can do this later.\" Focus on what needs to be done, not how long it might take. Break work into actionable steps and let users judge timing for themselves.\n\n\n# Task Management\nYou have access to task management tools (TaskCreate, TaskGet, TaskUpdate, TaskList) to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.\nThese tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use these tools when planning, you may forget to do important tasks - and that is unacceptable.\n\nIt is critical that you mark tasks as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.\n\nExamples:\n\n<example>\nuser: Run the build and fix any type errors\nassistant: I'm going to use the TaskCreate tool to create tasks:\n- Run the build\n- Fix any type errors\n\nI'm now going to run the build using Bash.\n\nLooks like I found 10 type errors. I'm going to create 10 tasks to track fixing each error.\n\nUsing TaskUpdate to mark the first task as in_progress\n\nLet me start working on the first item...\n\nThe first item has been fixed, let me mark the first task as completed using TaskUpdate, and move on to the second item...\n..\n..\n</example>\nIn the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.\n\n<example>\nuser: Help me write a new feature that allows users to track their usage metrics and export them to various formats\nassistant: I'll help you implement a usage metrics tracking and export feature. Let me first create tasks to plan this work.\nCreating the following tasks:\n1. Research existing metrics tracking in the codebase\n2. Design the metrics collection system\n3. Implement core metrics tracking functionality\n4. Create export functionality for different formats\n\nLet me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.\n\nI'm going to search for any existing metrics or telemetry code in the project.\n\nI've found some existing telemetry code. Let me mark the first task as in_progress and start designing our metrics tracking system based on what I've learned...\n\n[Assistant continues implementing the feature step by step, marking tasks as in_progress and completed as they go]\n</example>\n\n\n\n# Asking questions as you work\n\nYou have access to the AskUserQuestion tool to ask the user questions when you need clarification, want to validate assumptions, or need to make a decision you're unsure about. When presenting options or plans, never include time estimates - focus on what each option involves, not how long it takes.\n\n\nUsers may configure 'hooks', shell commands that execute in response to events like tool calls, in settings. Treat feedback from hooks, including <user-prompt-submit-hook>, as coming from the user. If you get blocked by a hook, determine if you can adjust your actions in response to the blocked message. If not, ask the user to check their hooks configuration.\n\n{%- if keepCodingInstructions -%}\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- NEVER propose changes to code you haven't read. If a user asks about or wants you to modify a file, read it first. Understand existing code before suggesting modifications.\n- Use task management tools (TaskCreate, TaskUpdate) to plan and track the task if required\n- Use the AskUserQuestion tool to ask questions, clarify and gather information as needed.\n- Be careful not to introduce security vulnerabilities such as command injection, XSS, SQL injection, and other OWASP top 10 vulnerabilities. If you notice that you wrote insecure code, immediately fix it.\n- Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.\n - Don't add features, refactor code, or make \"improvements\" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability. Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.\n - Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use feature flags or backwards-compatibility shims when you can just change the code.\n - Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task—three similar lines of code is better than a premature abstraction.\n- Avoid backwards-compatibility hacks like renaming unused `_vars`, re-exporting types, adding `// removed` comments for removed code, etc. If something is unused, delete it completely.\n\n{%- endif -%}\n\n- Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are automatically added by the system, and bear no direct relation to the specific tool results or user messages in which they appear.\n- The conversation has unlimited context through automatic summarization.\n\n# Tool usage policy\n- When doing file search, prefer to use the Task tool in order to reduce context usage.\n- You should proactively use the Task tool with specialized agents when the task at hand matches the agent's description.\n\n- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL provided in the response.\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks. For example, if you need to launch multiple agents in parallel, send a single message with multiple Task tool calls.\n- Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: Read for reading files instead of cat/head/tail, Edit for editing instead of sed/awk, and Write for creating files instead of cat with heredoc or echo redirection. Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.\n- VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the Task tool with subagent_type=Explore instead of running search commands directly.\n<example>\nuser: Where are errors from the client handled?\nassistant: [Uses the Task tool with subagent_type=Explore to find the files that handle client errors instead of using Glob or Grep directly]\n</example>\n<example>\nuser: What is the codebase structure?\nassistant: [Uses the Task tool with subagent_type=Explore]\n</example>\n\n\n\nHere is useful information about the environment you are running in:\n<env>\nWorking directory: {{workDir}}\nIs directory a git repo: {% if isGitRepo %}Yes{% else %}No{% endif %}\nPlatform: {{platform}}\n{% if isWsl %}Is WSL: Yes\n{% endif %}\nOS Version: {{version}}\nDefault shell: {{defaultShell}}\nToday's date: {{date}}\n</env>\n{% if isWsl %}\nIMPORTANT: You are running in WSL (Windows Subsystem for Linux). When using file paths in Bash commands:\n- Use Linux-style paths: /mnt/c/Users/... or /mnt/d/Work/...\n- Do NOT use Windows-style paths: C:\\Users\\... or D:\\Work\\...\n- Windows paths like \"D:\\...\" will create directories named \"D:\" instead of accessing the D: drive\n{% endif %}\n\n<codebuddy_background_info>\nYou are powered by the model named {{modelName}}. The exact model ID is {{modelId}}.\n</codebuddy_background_info>\n\n{%- if modelSupportsImages === false -%}\nIMPORTANT: The current model does not support image reading capabilities. Do not attempt to use the Read tool on image files or reference images in your responses.\n{%- endif -%}\n\nIMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.\n\n\nIMPORTANT: Always use task management tools (TaskCreate, TaskUpdate, TaskList) to plan and track tasks throughout the conversation.\n\n# Code References\n\nWhen referencing specific functions or pieces of code include the pattern `file_path:line_number` to allow the user to easily navigate to the source code location.\n\n<example>\nuser: Where are errors from the client handled?\nassistant: Clients are marked as failed in the `connectToServer` function in src/services/process.ts:712.\n</example>\n\n{%- if outputStyle -%}\n{{outputStyle}}\n{%- endif -%}\n"
323
+ "template": "You are CodeBuddy Code.\n\n{%- if cliDescription -%}\n{{cliDescription}}\n{%- else -%}\nYou are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n{%- endif -%}\n\nCRITICAL: You have access to tools that you MUST call using the standard function calling API. NEVER write tool invocations as text like \"<tool_call>\", \"<function>\", \"```tool\", or XML/JSON in your message content. When you want to use a tool, invoke it through the function calling interface - do not output any tool-related markup in your text response. Your text response should only contain explanations and communications to the user, while all tool operations must go through proper function calls.\n\nIMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.\nIMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.\n\nIf the user asks for help or wants to give feedback inform them of the following:\n- /help: Get help with using CodeBuddy Code\n- To give feedback, users should report the issue at https://cnb.cool/codebuddy/codebuddy-code/-/issues\n\nWhen the user directly asks about CodeBuddy Code (eg. \"can CodeBuddy Code do...\", \"does CodeBuddy Code have...\"), or asks in second person (eg. \"are you able...\", \"can you do...\"), or asks how to use a specific CodeBuddy Code feature (eg. implement a hook, write a slash command, or install an MCP server), use the WebFetch tool to gather information to answer the question from CodeBuddy Code docs. The list of available docs is available at https://cnb.cool/codebuddy/codebuddy-code/-/git/raw/main/docs/codebuddy_code_docs_map.md.\n\n# Tone and style\n- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.\n- Your output will be displayed on a command line interface. Your responses should be short and concise. You can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.\n- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.\n- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one. This includes markdown files.\n- Do not use a colon before tool calls. Your tool calls may not be shown directly in the output, so text like \"Let me read the file:\" followed by a read tool call should just be \"Let me read the file.\" with a period.\n\n# Professional objectivity\nPrioritize technical accuracy and truthfulness over validating the user's beliefs. Focus on facts and problem-solving, providing direct, objective technical info without any unnecessary superlatives, praise, or emotional validation. It is best for the user if CodeBuddy honestly applies the same rigorous standards to all ideas and disagrees when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs. Avoid using over-the-top validation or excessive praise when responding to users such as \"You're absolutely right\" or similar phrases.\n\n# No time estimates\nNever give time estimates or predictions for how long tasks will take, whether for your own work or for users planning their projects. Avoid phrases like \"this will take me a few minutes,\" \"should be done in about 5 minutes,\" \"this is a quick fix,\" \"this will take 2-3 weeks,\" or \"we can do this later.\" Focus on what needs to be done, not how long it might take. Break work into actionable steps and let users judge timing for themselves.\n\n\n# Task Management\nYou have access to task management tools (TaskCreate, TaskGet, TaskUpdate, TaskList) to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.\nThese tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use these tools when planning, you may forget to do important tasks - and that is unacceptable.\n\nIt is critical that you mark tasks as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.\n\nExamples:\n\n<example>\nuser: Run the build and fix any type errors\nassistant: I'm going to use the TaskCreate tool to create tasks:\n- Run the build\n- Fix any type errors\n\nI'm now going to run the build using Bash.\n\nLooks like I found 10 type errors. I'm going to create 10 tasks to track fixing each error.\n\nUsing TaskUpdate to mark the first task as in_progress\n\nLet me start working on the first item...\n\nThe first item has been fixed, let me mark the first task as completed using TaskUpdate, and move on to the second item...\n..\n..\n</example>\nIn the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.\n\n<example>\nuser: Help me write a new feature that allows users to track their usage metrics and export them to various formats\nassistant: I'll help you implement a usage metrics tracking and export feature. Let me first create tasks to plan this work.\nCreating the following tasks:\n1. Research existing metrics tracking in the codebase\n2. Design the metrics collection system\n3. Implement core metrics tracking functionality\n4. Create export functionality for different formats\n\nLet me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.\n\nI'm going to search for any existing metrics or telemetry code in the project.\n\nI've found some existing telemetry code. Let me mark the first task as in_progress and start designing our metrics tracking system based on what I've learned...\n\n[Assistant continues implementing the feature step by step, marking tasks as in_progress and completed as they go]\n</example>\n\n\n\n# Asking questions as you work\n\nYou have access to the AskUserQuestion tool to ask the user questions when you need clarification, want to validate assumptions, or need to make a decision you're unsure about. When presenting options or plans, never include time estimates - focus on what each option involves, not how long it takes.\n\n\nUsers may configure 'hooks', shell commands that execute in response to events like tool calls, in settings. Treat feedback from hooks, including <user-prompt-submit-hook>, as coming from the user. If you get blocked by a hook, determine if you can adjust your actions in response to the blocked message. If not, ask the user to check their hooks configuration.\n\n{%- if keepCodingInstructions -%}\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- NEVER propose changes to code you haven't read. If a user asks about or wants you to modify a file, read it first. Understand existing code before suggesting modifications.\n- Use task management tools (TaskCreate, TaskUpdate) to plan and track the task if required\n- Use the AskUserQuestion tool to ask questions, clarify and gather information as needed.\n- Be careful not to introduce security vulnerabilities such as command injection, XSS, SQL injection, and other OWASP top 10 vulnerabilities. If you notice that you wrote insecure code, immediately fix it.\n- Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.\n - Don't add features, refactor code, or make \"improvements\" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability. Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.\n - Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use feature flags or backwards-compatibility shims when you can just change the code.\n - Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task—three similar lines of code is better than a premature abstraction.\n- Avoid backwards-compatibility hacks like renaming unused `_vars`, re-exporting types, adding `// removed` comments for removed code, etc. If something is unused, delete it completely.\n\n{%- endif -%}\n\n- Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are automatically added by the system, and bear no direct relation to the specific tool results or user messages in which they appear.\n- The conversation has unlimited context through automatic summarization.\n\n# Tool usage policy\n- When doing file search, prefer to use the Task tool in order to reduce context usage.\n- You should proactively use the Task tool with specialized agents when the task at hand matches the agent's description.\n\n- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL provided in the response.\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks. For example, if you need to launch multiple agents in parallel, send a single message with multiple Task tool calls.\n- Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: Read for reading files instead of cat/head/tail, Edit for editing instead of sed/awk, and Write for creating files instead of cat with heredoc or echo redirection. Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.\n- VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the Task tool with subagent_type=Explore instead of running search commands directly.\n<example>\nuser: Where are errors from the client handled?\nassistant: [Uses the Task tool with subagent_type=Explore to find the files that handle client errors instead of using Glob or Grep directly]\n</example>\n<example>\nuser: What is the codebase structure?\nassistant: [Uses the Task tool with subagent_type=Explore]\n</example>\n\n\n\nHere is useful information about the environment you are running in:\n<env>\nWorking directory: {{workDir}}\nIs directory a git repo: {% if isGitRepo %}Yes{% else %}No{% endif %}\nPlatform: {{platform}}\n{% if isWsl %}Is WSL: Yes\n{% endif %}\nOS Version: {{version}}\nDefault shell: {{defaultShell}}\nToday's date: {{date}}\n</env>\n{% if isWsl %}\nIMPORTANT: You are running in WSL (Windows Subsystem for Linux). When using file paths in Bash commands:\n- Use Linux-style paths: /mnt/c/Users/... or /mnt/d/Work/...\n- Do NOT use Windows-style paths: C:\\Users\\... or D:\\Work\\...\n- Windows paths like \"D:\\...\" will create directories named \"D:\" instead of accessing the D: drive\n{% endif %}\n\n<codebuddy_background_info>\nYou are powered by the model named {{modelName}}. The exact model ID is {{modelId}}.\n</codebuddy_background_info>\n{%- if language -%}\n\n# Language\nAlways respond in {{language}}. Use {{language}} for all explanations, comments, and communications with the user. Technical terms and code identifiers should remain in their original form.\n{%- endif -%}\n\n{%- if modelSupportsImages === false -%}\nIMPORTANT: The current model does not support image reading capabilities. Do not attempt to use the Read tool on image files or reference images in your responses.\n{%- endif -%}\n\nIMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.\n\n\nIMPORTANT: Always use task management tools (TaskCreate, TaskUpdate, TaskList) to plan and track tasks throughout the conversation.\n\n# Code References\n\nWhen referencing specific functions or pieces of code include the pattern `file_path:line_number` to allow the user to easily navigate to the source code location.\n\n<example>\nuser: Where are errors from the client handled?\nassistant: Clients are marked as failed in the `connectToServer` function in src/services/process.ts:712.\n</example>\n\n{%- if outputStyle -%}\n{{outputStyle}}\n{%- endif -%}\n"
324
324
  },
325
325
  {
326
326
  "name": "init-prompt",
@@ -781,13 +781,13 @@
781
781
  "Glob",
782
782
  "Grep",
783
783
  "EnterPlanMode",
784
+ "ExitPlanMode",
784
785
  "TaskCreate",
785
786
  "TaskGet",
786
787
  "TaskUpdate",
787
788
  "TaskList",
788
789
  "WebFetch",
789
790
  "WebSearch",
790
- "TaskStop",
791
791
  "Skill",
792
792
  "AskUserQuestion"
793
793
  ],
@@ -1085,6 +1085,6 @@
1085
1085
  "description": "tool-toolsearch-description"
1086
1086
  }
1087
1087
  ],
1088
- "commit": "f06c946f7a2522a522a291b923a361900d783a69",
1089
- "date": "2026-02-03T16:23:28.473Z"
1088
+ "commit": "91ee32835ea7f843f0c8e09f741c4df75410b5de",
1089
+ "date": "2026-02-04T15:39:58.102Z"
1090
1090
  }
@@ -179,13 +179,13 @@
179
179
  "Glob",
180
180
  "Grep",
181
181
  "EnterPlanMode",
182
+ "ExitPlanMode",
182
183
  "TaskCreate",
183
184
  "TaskGet",
184
185
  "TaskUpdate",
185
186
  "TaskList",
186
187
  "WebFetch",
187
188
  "WebSearch",
188
- "TaskStop",
189
189
  "Skill",
190
190
  "AskUserQuestion"
191
191
  ],
@@ -225,6 +225,6 @@
225
225
  "CustomModelsJSON": true,
226
226
  "DeferToolLoading": true
227
227
  },
228
- "commit": "f06c946f7a2522a522a291b923a361900d783a69",
229
- "date": "2026-02-03T16:23:33.640Z"
228
+ "commit": "91ee32835ea7f843f0c8e09f741c4df75410b5de",
229
+ "date": "2026-02-04T15:40:03.294Z"
230
230
  }
@@ -393,6 +393,17 @@ export declare class AcpAgent implements Agent {
393
393
  * Uses custom notification '_codebuddy.ai/system_init' with model and permissionMode.
394
394
  */
395
395
  private sendSystemInfoNotification;
396
+ /**
397
+ * Send user message echo to client.
398
+ *
399
+ * This sends user_message_chunk updates for the original ACP prompt blocks.
400
+ * The text is formatted as @{uri} for resource_link blocks.
401
+ * The original blocks are preserved in _meta['codebuddy.ai'].sourceContentBlocks.
402
+ *
403
+ * @param sessionId - The session ID
404
+ * @param prompt - The original ACP content blocks from the prompt
405
+ */
406
+ private sendUserMessageEcho;
396
407
  /**
397
408
  * Filter history messages: only keep the last topic message.
398
409
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":"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"}
package/lib/acp/agent.js CHANGED
@@ -256,6 +256,9 @@ class AcpAgent {
256
256
  this.activePromptSessionId = sessionId;
257
257
  this.promptAbortController = new AbortController();
258
258
  try {
259
+ // Send user message echo to client before processing
260
+ // This ensures the echo is sent immediately with the original ACP blocks
261
+ await this.sendUserMessageEcho(sessionId, prompt);
259
262
  // Convert ACP content blocks to SDK format
260
263
  const userMessage = this.convertAcpPromptToUserMessage(sessionId, prompt);
261
264
  // Send prompt to session
@@ -270,6 +273,10 @@ class AcpAgent {
270
273
  if (message.type === 'system' && message.subtype === 'init') {
271
274
  await this.sendSystemInfoNotification(sessionId, message);
272
275
  }
276
+ // Skip user message from CLI stream (we already sent the echo)
277
+ if (message.type === 'user') {
278
+ continue;
279
+ }
273
280
  // Convert SDK message to ACP format and send updates (stream mode)
274
281
  await this.sendUpdates(sessionId, message, 'stream');
275
282
  // Check for result message (end of turn)
@@ -422,8 +429,13 @@ class AcpAgent {
422
429
  }
423
430
  }
424
431
  // Clean up commands notification handler if exists
425
- // Note: We don't need to explicitly unsubscribe from CLI since session is closing
426
- this.sessionCommandsHandlers.delete(sessionId);
432
+ // Must unsubscribe from session even if not closing, to prevent duplicate handlers
433
+ // when the same session is reused (e.g., in session/load with AcpServer)
434
+ const handler = this.sessionCommandsHandlers.get(sessionId);
435
+ if (handler) {
436
+ session.unsubscribeFromCommands(handler);
437
+ this.sessionCommandsHandlers.delete(sessionId);
438
+ }
427
439
  // Clean up all associated resources
428
440
  this.sessions.delete(sessionId);
429
441
  this.sessionConverters.delete(sessionId);
@@ -570,6 +582,13 @@ class AcpAgent {
570
582
  */
571
583
  async subscribeToCommands(sessionId, session) {
572
584
  try {
585
+ // Clean up existing handler if present (e.g., when session/load is called multiple times)
586
+ // This prevents duplicate handlers from accumulating on the transport
587
+ const existingHandler = this.sessionCommandsHandlers.get(sessionId);
588
+ if (existingHandler) {
589
+ session.unsubscribeFromCommands(existingHandler);
590
+ this.sessionCommandsHandlers.delete(sessionId);
591
+ }
573
592
  // Create handler that forwards all commands notifications to ACP client
574
593
  const handler = (notification) => {
575
594
  const data = notification.data;
@@ -689,6 +708,39 @@ class AcpAgent {
689
708
  // Silently ignore notification errors
690
709
  }
691
710
  }
711
+ /**
712
+ * Send user message echo to client.
713
+ *
714
+ * This sends user_message_chunk updates for the original ACP prompt blocks.
715
+ * The text is formatted as @{uri} for resource_link blocks.
716
+ * The original blocks are preserved in _meta['codebuddy.ai'].sourceContentBlocks.
717
+ *
718
+ * @param sessionId - The session ID
719
+ * @param prompt - The original ACP content blocks from the prompt
720
+ */
721
+ async sendUserMessageEcho(sessionId, prompt) {
722
+ try {
723
+ // Convert ACP blocks to echo text format
724
+ const echoText = converter_1.AcpConverter.convertAcpPromptToEchoText(prompt);
725
+ // Send user_message_chunk with echo text and sourceContentBlocks
726
+ await this.connection.sessionUpdate({
727
+ sessionId,
728
+ update: {
729
+ sessionUpdate: 'user_message_chunk',
730
+ content: { type: 'text', text: echoText },
731
+ },
732
+ _meta: {
733
+ 'codebuddy.ai': {
734
+ sourceContentBlocks: prompt,
735
+ mode: 'stream',
736
+ },
737
+ },
738
+ });
739
+ }
740
+ catch (error) {
741
+ console.error('[AcpAgent] Error sending user message echo:', error);
742
+ }
743
+ }
692
744
  /**
693
745
  * Filter history messages: only keep the last topic message.
694
746
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA4CH,2CAAgE;AAEhE,sDAAsD;AACtD,uEAAuE;AAEvE;;;GAGG;AACU,QAAA,uBAAuB,GAAG,wBAAwB,CAAC;AA0NhE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,QAAQ;IAgBjB;;;;;;;OAOG;IACH,YAAY,UAA+B,EAAE,OAAuB,EAAE,UAA2B,EAAE;;QArB3F,aAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;QAE3C,0BAAqB,GAAkB,IAAI,CAAC;QAC5C,0BAAqB,GAA2B,IAAI,CAAC;QAC7D,yDAAyD;QACjD,sBAAiB,GAA8B,IAAI,GAAG,EAAE,CAAC;QACjE,wDAAwD;QAChD,wBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC7D,mEAAmE;QAC3D,2BAAsB,GAAkC,IAAI,GAAG,EAAE,CAAC;QAC1E,mEAAmE;QAC3D,4BAAuB,GAAqC,IAAI,GAAG,EAAE,CAAC;QAW1E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG;YACX,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,CAAC;YAC7C,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI;gBAC5B,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,OAAO;aACnB;YACD,GAAG,OAAO;SACb,CAAC;QAEF,wEAAwE;QACxE,uFAAuF;QACvF,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,kCAAkC;QAClC,mEAAmE;QACnE,mEAAmE;QACnE,cAAc,CAAC,GAAG,EAAE;YAChB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,OAA0B;QACvC,MAAM,mBAAmB,GAAG;YACxB,6DAA6D;YAC7D,yDAAyD;YACzD,WAAW,EAAE,IAAI;SACpB,CAAC;QAEF,OAAO;YACH,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,iBAAiB,EAAE;gBACf,GAAG,mBAAmB;gBACtB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;aAC/B;YACD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SACd,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC3C,OAAO,EAA0B,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;QACtC,6DAA6D;QAC7D,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5B,gEAAgE;YAChE,qEAAqE;YACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAE,mCAAmC;YACzE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEzC,oFAAoF;YACpF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAElE,OAAO;gBACH,SAAS;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC/C,CAAC;QACN,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;YAEnE,oFAAoF;YACpF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,cAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpF,OAAO;gBACH,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;gBACtD,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC;aAC3D,CAAC;QACN,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;IAED,YAAY;IACZ,mDAAmD;IACnD,yBAAyB;IACzB,8EAA8E;IAC9E,KAAK,CAAC,WAAW,CAAC,MAA0B;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,wEAAwE;QACxE,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;YAEtC,oFAAoF;YACpF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAElE,OAAO;gBACH,KAAK,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC/C,CAAC;QACN,CAAC;QAED,wEAAwE;QACxE,6EAA6E;QAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAExD,IAAI,CAAC;gBACD,4EAA4E;gBAC5E,wEAAwE;gBACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,2CAA2C;gBACrF,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAEzC,8BAA8B;gBAC9B,yBAAyB;gBACzB,uEAAuE;gBACvE,iEAAiE;gBACjE,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACD,6BAA6B;wBAC7B,MAAM,QAAQ,GAAc,EAAE,CAAC;wBAC/B,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BACvB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCACxD,MAAM;4BACV,CAAC;wBACL,CAAC;wBAED,2CAA2C;wBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;wBAEtD,eAAe;wBACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC1D,CAAC;oBACL,CAAC;oBAAC,WAAM,CAAC;wBACL,iDAAiD;oBACrD,CAAC;gBACL,CAAC;gBAED,oFAAoF;gBACpF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBAElE,OAAO;oBACH,KAAK,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;oBAC1C,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;iBAC/C,CAAC;YACN,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAE7C,oFAAoF;YACpF,IAAI,OAAO,EAAE,CAAC;gBACV,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC/C,CAAC;QACN,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,oEAAoE,CAAC,CAAC;IACzH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAAqB;;QAC9B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAErC,uDAAuD;QACvD,oFAAoF;QACpF,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,cAAc,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,uCAAuC;QACvC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,IAAI,eAAe,EAAE,CAAC;QAEnD,IAAI,CAAC;YACD,qDAAqD;YACrD,yEAAyE;YACzE,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAElD,2CAA2C;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE1E,yBAAyB;YACzB,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEhC,kCAAkC;YAClC,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3C,yBAAyB;gBACzB,IAAI,MAAA,IAAI,CAAC,qBAAqB,0CAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBACvC,CAAC;gBAED,kFAAkF;gBAClF,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAK,OAAyB,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC7E,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,OAAwB,CAAC,CAAC;gBAC/E,CAAC;gBAED,+DAA+D;gBAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,SAAS;gBACb,CAAC;gBAED,mEAAmE;gBACnE,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAErD,yCAAyC;gBACzC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;gBACtC,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;gBACtC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACtC,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,yDAAyD;YACzD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACvC,CAAC;YAED,+CAA+C;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9B,CAAC;gBAAC,WAAM,CAAC;oBACL,0BAA0B;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,MAA6B;QAC9C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAErC,uDAAuD;QACvD,4FAA4F;QAC5F,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,cAAc,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,uCAAuC;YACvC,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAwB,CAAC,CAAC;QAC9D,CAAC;QAAC,WAAM,CAAC;YACL,yBAAyB;QAC7B,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,wBAAwB,CAAC,MAA8B;QACzD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEtC,uDAAuD;QACvD,6FAA6F;QAC7F,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,cAAc,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,WAAM,CAAC;YACL,yBAAyB;QAC7B,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,+DAA+D;IAE/D,KAAK,CAAC,SAAS,CAAE,OAAe,EAAE,OAAgC;QAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,OAAe,EAAE,OAAgC;QACpE,kDAAkD;IACtD,CAAC;IAED,+CAA+C;IAE/C;;OAEG;IACH,UAAU,CAAC,SAAkB;QACzB,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,yCAAyC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,SAAiB,EAAE,YAAY,GAAG,IAAI;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iCAAiC;QACjC,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC;gBACD,OAAO,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAAC,WAAM,CAAC;gBACL,sBAAsB;YAC1B,CAAC;QACL,CAAC;QAED,mDAAmD;QACnD,mFAAmF;QACnF,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAAa,GAAG,IAAI;QAClC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QAKV,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC3C,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;QACL,CAAC;QAED,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YAChC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI;YAC3C,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI;SAChE,CAAC;IACN,CAAC;IAED,qDAAqD;IAErD;;;OAGG;IACK,eAAe,CAAC,SAAiB,EAAE,OAAgB;QACvD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,gFAAgF;QAChF,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAEhD,wDAAwD;QACxD,0EAA0E;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAChF,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,wBAAY,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,SAAiB;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB;QACtB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,UAAU,GAAG,QAAQ,CAAC;QAE1B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,wCAAwC;YACxC,IAAI,EAAE,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACpC,SAAS;YACb,CAAC;YACD,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC;gBAClB,QAAQ,GAAG,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAAC,OAAiB;;QAC3C,4CAA4C;QAC5C,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,cAAc,mCAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzH,qEAAqE;QACrE,MAAM,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,EAAE,mCAAI,SAAS,CAAC;QAEhE,OAAO;YACH,cAAc;YACd,aAAa;SAChB,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAiB;;QAC5C,iDAAiD;QACjD,IAAI,eAAe,GAAyC,EAAE,CAAC;QAC/D,IAAI,SAAS,GAAuB,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,mDAAmD;gBACnD,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChD,OAAO,CAAC,kBAAkB,EAAE;oBAC5B,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;iBAClD,CAAC,CAAC;gBAEH,SAAS,GAAG,eAAe,CAAC;gBAC5B,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC7B,CAAC,CAAC,CAAC;YACR,CAAC;QACL,CAAC;QAAC,WAAM,CAAC;YACL,4EAA4E;QAChF,CAAC;QAED,8CAA8C;QAC9C,0DAA0D;QAC1D,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,mCAAI,SAAS,CAAC;QAExD,OAAO;YACH,eAAe;YACf,cAAc,EAAE,cAAe;YAC/B,uEAAuE;YACvE,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;gBACvB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE;gBACpD,CAAC,CAAC,SAAS;SAClB,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,OAAgB;QACjE,IAAI,CAAC;YACD,0FAA0F;YAC1F,sEAAsE;YACtE,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,eAAe,EAAE,CAAC;gBAClB,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;gBACjD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,wEAAwE;YACxE,MAAM,OAAO,GAAwB,CAAC,YAAwC,EAAE,EAAE;gBAC9E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAgC,CAAC;gBAC3D,MAAM,QAAQ,GAAuB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACzD,MAAM,MAAM,GAAqB;wBAC7B,kDAAkD;wBAClD,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;wBACjE,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;qBACrC,CAAC;oBACF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;wBACnB,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC9C,CAAC;oBACD,OAAO,MAAM,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,8CAA8C;gBAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBAC1B,SAAS;oBACT,MAAM,EAAE;wBACJ,aAAa,EAAE,2BAA2B;wBAC1C,iBAAiB,EAAE,QAAQ;qBAC9B;iBACJ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;YAEF,4BAA4B;YAC5B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAErD,yEAAyE;YACzE,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,2DAA2D;YAC3D,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,6BAA6B,CAAC,SAAiB,EAAE,MAAsB;QAC3E,MAAM,UAAU,GAAG,wBAAY,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAE9D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,UAAU;aACtB;YACD,kBAAkB,EAAE,IAAI;SAC3B,CAAC;IACN,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,SAAiB;QACzC,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,wBAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,WAAW,CACrB,SAAiB,EACjB,OAAgB,EAChB,OAAuB,QAAQ;;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG;gBACT,IAAI;gBACJ,QAAQ,EAAE,MAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,cAAc,CAAyC,0CAAE,QAA8B;gBAC1G,SAAS,EAAE,MAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,cAAc,CAAyC,0CAAE,SAA+B;aAC/G,CAAC;YAEF,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1D,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBAChC,SAAS;oBACT,MAAM;oBACN,KAAK,EAAE;wBACH,GAAG,KAAK;wBACR,oEAAoE;wBACpE,cAAc,EAAE;4BACZ,GAAG,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,cAAc,CAA4B,KAAI,EAAE,CAAC;4BAC7D,IAAI;yBACP;qBACJ;iBACJ,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CAAC,SAAiB,EAAE,MAAqB;QAC7E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,2BAA2B,EAAE;gBAC/D,SAAS;gBACT,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,cAAc,EAAE,MAAM,CAAC,cAAc;aACxC,CAAC,CAAC;QACP,CAAC;QAAC,WAAM,CAAC;YACL,sCAAsC;QAC1C,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,MAAsB;QACvE,IAAI,CAAC;YACD,yCAAyC;YACzC,MAAM,QAAQ,GAAG,wBAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEjE,iEAAiE;YACjE,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAChC,SAAS;gBACT,MAAM,EAAE;oBACJ,aAAa,EAAE,oBAAoB;oBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5C;gBACD,KAAK,EAAE;oBACH,cAAc,EAAE;wBACZ,mBAAmB,EAAE,MAAM;wBAC3B,IAAI,EAAE,QAAQ;qBACjB;iBACJ;aACJ,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAmB;QAC7C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACjB,SAAS,CAAC,8BAA8B;gBAC5C,CAAC;gBACD,cAAc,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,sDAAsD;IAEtD;;;;;;;OAOG;IACK,uBAAuB,CAC3B,SAAiB,EACjB,eAA4B;QAE5B,OAAO,KAAK,EACR,QAAgB,EAChB,KAA8B,EAC9B,OAA0B,EACD,EAAE;YAC3B,iCAAiC;YACjC,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAED,2CAA2C;YAC3C,IAAI,eAAe,EAAE,CAAC;gBAClB,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;YAED,+BAA+B;YAC/B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACtD,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,qBAAqB,CAC/B,SAAiB,EACjB,KAA8B,EAC9B,OAA0B;;QAE1B,MAAM,QAAQ,GAAG,KAA6B,CAAC;QAE/C,8CAA8C;QAC9C,MAAM,UAAU,GAA2B;YACvC,SAAS;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAChC,CAAC;QAEF,IAAI,CAAC;YACD,IAAI,OAAO,GAAkC,IAAI,CAAC;YAElD,iCAAiC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAClE,OAAO,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,mCAAI,IAAI,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,0CAA0C;gBAC1C,MAAM,gBAAgB,GAAqB;oBACvC,SAAS;oBACT,UAAU,EAAE,OAAO,CAAC,SAAS;oBAC7B,SAAS,EAAE,UAAU;oBACrB,MAAM,EAAE;wBACJ,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;4BAC3C,EAAE,EAAE,KAAK,GAAG,EAAE;4BACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,WAAW,EAAE,CAAC,CAAC,WAAW;yBAC7B,CAAC,CAAC;qBACN;iBACJ,CAAC;gBAEF,mCAAmC;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAC1C,+BAAuB,EACvB,gBAAsD,CACzD,CAAC;gBAEF,0BAA0B;gBAC1B,MAAM,iBAAiB,GAAG,MAAsC,CAAC;gBACjE,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;oBACpD,qEAAqE;oBACrE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5C,OAAO,GAAG,EAAE,CAAC;oBACb,iEAAiE;oBACjE,MAAM,WAAW,GAAG,IAAI,GAAG,CACvB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC/D,CAAC;oBACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtD,+CAA+C;wBAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;wBACjD,0CAA0C;wBAC1C,OAAO,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC5E,CAAC;gBACL,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO;oBACH,QAAQ,EAAE,OAAO;oBACjB,YAAY,EAAE;wBACV,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,OAAO;qBACV;iBACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,uCAAuC;gBACvC,OAAO;oBACH,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,mCAAmC;iBAC/C,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,yDAAyD;YACzD,OAAO;gBACH,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,KAAK,YAAY,KAAK;oBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,4BAA4B;aACrC,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,OAAO;QACX,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAElC,+CAA+C;QAC/C,kDAAkD;QAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ;AA58BD,4BA48BC"}
@@ -175,5 +175,15 @@ export declare class AcpConverter {
175
175
  static convertSdkImageToAcp(imageBlock: ImageContentBlock): (ImageContent & {
176
176
  type: 'image';
177
177
  }) | null;
178
+ /**
179
+ * Convert ACP ContentBlock[] to echo text for user_message_chunk.
180
+ *
181
+ * For resource_link with command:// URI: outputs @{uri} format
182
+ * For other blocks: outputs the text content directly
183
+ *
184
+ * @param blocks - ACP content blocks to convert
185
+ * @returns The echo text string
186
+ */
187
+ static convertAcpPromptToEchoText(blocks: AcpContentBlock[]): string;
178
188
  }
179
189
  //# sourceMappingURL=converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/acp/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/acp/converter.ts"],"names":[],"mappings":"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"}
@@ -996,10 +996,18 @@ class AcpConverter {
996
996
  break;
997
997
  }
998
998
  case 'resource_link': {
999
- // ResourceLink - format as Markdown link [@name](uri)
999
+ // ResourceLink - special handling for command:// URIs
1000
1000
  const linkBlock = block;
1001
- const formattedUri = AcpConverter.formatUriAsLink(linkBlock.uri, linkBlock.name);
1002
- content.push({ type: 'text', text: formattedUri });
1001
+ if (linkBlock.uri.startsWith('command://')) {
1002
+ // Convert command://name to /name for CLI slash command execution
1003
+ const commandName = linkBlock.uri.slice('command://'.length);
1004
+ content.push({ type: 'text', text: `/${commandName}` });
1005
+ }
1006
+ else {
1007
+ // Other URIs: format as Markdown link [@name](uri)
1008
+ const formattedUri = AcpConverter.formatUriAsLink(linkBlock.uri, linkBlock.name);
1009
+ content.push({ type: 'text', text: formattedUri });
1010
+ }
1003
1011
  break;
1004
1012
  }
1005
1013
  case 'audio': {
@@ -1083,6 +1091,39 @@ class AcpConverter {
1083
1091
  }
1084
1092
  return null;
1085
1093
  }
1094
+ // ============= ACP Prompt Echo Conversion =============
1095
+ /**
1096
+ * Convert ACP ContentBlock[] to echo text for user_message_chunk.
1097
+ *
1098
+ * For resource_link with command:// URI: outputs @{uri} format
1099
+ * For other blocks: outputs the text content directly
1100
+ *
1101
+ * @param blocks - ACP content blocks to convert
1102
+ * @returns The echo text string
1103
+ */
1104
+ static convertAcpPromptToEchoText(blocks) {
1105
+ const parts = [];
1106
+ for (const block of blocks) {
1107
+ if (block.type === 'text') {
1108
+ const textBlock = block;
1109
+ parts.push(textBlock.text);
1110
+ }
1111
+ else if (block.type === 'resource_link') {
1112
+ const linkBlock = block;
1113
+ // Format as @{uri} for echo display
1114
+ parts.push(`@${linkBlock.uri}`);
1115
+ }
1116
+ else if (block.type === 'resource') {
1117
+ const resourceBlock = block;
1118
+ const resource = resourceBlock.resource;
1119
+ if ('uri' in resource && resource.uri) {
1120
+ parts.push(`@${resource.uri}`);
1121
+ }
1122
+ }
1123
+ // Skip image, audio, and other block types for text echo
1124
+ }
1125
+ return parts.join('');
1126
+ }
1086
1127
  }
1087
1128
  exports.AcpConverter = AcpConverter;
1088
1129
  // Task tools that should generate plan updates instead of tool_call/tool_call_update