@vybestack/llxprt-code-core 0.4.8 → 0.5.0-nightly.251102.e5b51aa3

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.
Files changed (213) hide show
  1. package/dist/prompt-config/defaults/default-prompts.json +4 -17
  2. package/dist/src/auth/precedence.d.ts +69 -9
  3. package/dist/src/auth/precedence.js +467 -69
  4. package/dist/src/auth/precedence.js.map +1 -1
  5. package/dist/src/auth/types.d.ts +2 -2
  6. package/dist/src/config/config.d.ts +15 -1
  7. package/dist/src/config/config.js +118 -6
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/config/index.d.ts +6 -0
  10. package/dist/src/config/index.js +5 -0
  11. package/dist/src/config/index.js.map +1 -1
  12. package/dist/src/config/profileManager.d.ts +23 -3
  13. package/dist/src/config/profileManager.js +54 -7
  14. package/dist/src/config/profileManager.js.map +1 -1
  15. package/dist/src/config/subagentManager.d.ts +96 -0
  16. package/dist/src/config/subagentManager.js +371 -0
  17. package/dist/src/config/subagentManager.js.map +1 -0
  18. package/dist/src/config/types.d.ts +18 -0
  19. package/dist/src/config/types.js +3 -0
  20. package/dist/src/config/types.js.map +1 -0
  21. package/dist/src/core/client.d.ts +27 -7
  22. package/dist/src/core/client.js +231 -55
  23. package/dist/src/core/client.js.map +1 -1
  24. package/dist/src/core/contentGenerator.d.ts +3 -1
  25. package/dist/src/core/contentGenerator.js +3 -0
  26. package/dist/src/core/contentGenerator.js.map +1 -1
  27. package/dist/src/core/coreToolScheduler.d.ts +1 -5
  28. package/dist/src/core/coreToolScheduler.js +95 -23
  29. package/dist/src/core/coreToolScheduler.js.map +1 -1
  30. package/dist/src/core/geminiChat.d.ts +42 -12
  31. package/dist/src/core/geminiChat.js +405 -205
  32. package/dist/src/core/geminiChat.js.map +1 -1
  33. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -2
  34. package/dist/src/core/nonInteractiveToolExecutor.js +94 -10
  35. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  36. package/dist/src/core/subagent.d.ts +86 -7
  37. package/dist/src/core/subagent.js +809 -79
  38. package/dist/src/core/subagent.js.map +1 -1
  39. package/dist/src/core/subagentOrchestrator.d.ts +73 -0
  40. package/dist/src/core/subagentOrchestrator.js +387 -0
  41. package/dist/src/core/subagentOrchestrator.js.map +1 -0
  42. package/dist/src/core/subagentScheduler.d.ts +16 -0
  43. package/dist/src/core/subagentScheduler.js +7 -0
  44. package/dist/src/core/subagentScheduler.js.map +1 -0
  45. package/dist/src/core/turn.d.ts +5 -1
  46. package/dist/src/core/turn.js +5 -1
  47. package/dist/src/core/turn.js.map +1 -1
  48. package/dist/src/hooks/tool-render-suppression-hook.js +6 -1
  49. package/dist/src/hooks/tool-render-suppression-hook.js.map +1 -1
  50. package/dist/src/ide/ideContext.d.ts +32 -32
  51. package/dist/src/index.d.ts +19 -1
  52. package/dist/src/index.js +15 -2
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/interfaces/index.d.ts +1 -0
  55. package/dist/src/interfaces/index.js +4 -0
  56. package/dist/src/interfaces/index.js.map +1 -0
  57. package/dist/src/interfaces/nodejs-error.interface.d.ts +4 -0
  58. package/dist/src/interfaces/nodejs-error.interface.js +2 -0
  59. package/dist/src/interfaces/nodejs-error.interface.js.map +1 -0
  60. package/dist/src/parsers/TextToolCallParser.d.ts +17 -1
  61. package/dist/src/parsers/TextToolCallParser.js +542 -148
  62. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  63. package/dist/src/prompt-config/defaults/core.md +15 -0
  64. package/dist/src/prompt-config/defaults/providers/gemini/core.md +203 -119
  65. package/dist/src/prompt-config/defaults/tool-defaults.js +2 -0
  66. package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
  67. package/dist/src/prompt-config/defaults/tools/list-subagents.md +7 -0
  68. package/dist/src/prompt-config/defaults/tools/task.md +8 -0
  69. package/dist/src/providers/BaseProvider.d.ts +115 -30
  70. package/dist/src/providers/BaseProvider.js +445 -109
  71. package/dist/src/providers/BaseProvider.js.map +1 -1
  72. package/dist/src/providers/IProvider.d.ts +50 -18
  73. package/dist/src/providers/LoggingProviderWrapper.d.ts +60 -16
  74. package/dist/src/providers/LoggingProviderWrapper.js +213 -60
  75. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  76. package/dist/src/providers/ProviderManager.d.ts +73 -2
  77. package/dist/src/providers/ProviderManager.js +492 -40
  78. package/dist/src/providers/ProviderManager.js.map +1 -1
  79. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +35 -38
  80. package/dist/src/providers/anthropic/AnthropicProvider.js +222 -227
  81. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  82. package/dist/src/providers/errors.d.ts +86 -0
  83. package/dist/src/providers/errors.js +89 -0
  84. package/dist/src/providers/errors.js.map +1 -1
  85. package/dist/src/providers/gemini/GeminiProvider.d.ts +101 -41
  86. package/dist/src/providers/gemini/GeminiProvider.js +386 -311
  87. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  88. package/dist/src/providers/openai/ConversationCache.d.ts +5 -3
  89. package/dist/src/providers/openai/ConversationCache.js +93 -32
  90. package/dist/src/providers/openai/ConversationCache.js.map +1 -1
  91. package/dist/src/providers/openai/OpenAIProvider.d.ts +82 -42
  92. package/dist/src/providers/openai/OpenAIProvider.js +391 -536
  93. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  94. package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +1 -1
  95. package/dist/src/providers/openai/getOpenAIProviderInfo.js +52 -22
  96. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
  97. package/dist/src/providers/openai/openaiRequestParams.d.ts +7 -0
  98. package/dist/src/providers/openai/openaiRequestParams.js +66 -0
  99. package/dist/src/providers/openai/openaiRequestParams.js.map +1 -0
  100. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +6 -33
  101. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +84 -183
  102. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  103. package/dist/src/providers/types/providerRuntime.d.ts +17 -0
  104. package/dist/src/providers/types/providerRuntime.js +7 -0
  105. package/dist/src/providers/types/providerRuntime.js.map +1 -0
  106. package/dist/src/providers/utils/authToken.d.ts +12 -0
  107. package/dist/src/providers/utils/authToken.js +17 -0
  108. package/dist/src/providers/utils/authToken.js.map +1 -0
  109. package/dist/src/providers/utils/userMemory.d.ts +8 -0
  110. package/dist/src/providers/utils/userMemory.js +34 -0
  111. package/dist/src/providers/utils/userMemory.js.map +1 -0
  112. package/dist/src/runtime/AgentRuntimeContext.d.ts +213 -0
  113. package/dist/src/runtime/AgentRuntimeContext.js +17 -0
  114. package/dist/src/runtime/AgentRuntimeContext.js.map +1 -0
  115. package/dist/src/runtime/AgentRuntimeLoader.d.ts +47 -0
  116. package/dist/src/runtime/AgentRuntimeLoader.js +122 -0
  117. package/dist/src/runtime/AgentRuntimeLoader.js.map +1 -0
  118. package/dist/src/runtime/AgentRuntimeState.d.ts +232 -0
  119. package/dist/src/runtime/AgentRuntimeState.js +439 -0
  120. package/dist/src/runtime/AgentRuntimeState.js.map +1 -0
  121. package/dist/src/runtime/RuntimeInvocationContext.d.ts +51 -0
  122. package/dist/src/runtime/RuntimeInvocationContext.js +52 -0
  123. package/dist/src/runtime/RuntimeInvocationContext.js.map +1 -0
  124. package/dist/src/runtime/createAgentRuntimeContext.d.ts +7 -0
  125. package/dist/src/runtime/createAgentRuntimeContext.js +65 -0
  126. package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -0
  127. package/dist/src/runtime/index.d.ts +13 -0
  128. package/dist/src/runtime/index.js +14 -0
  129. package/dist/src/runtime/index.js.map +1 -0
  130. package/dist/src/runtime/providerRuntimeContext.d.ts +30 -0
  131. package/dist/src/runtime/providerRuntimeContext.js +70 -0
  132. package/dist/src/runtime/providerRuntimeContext.js.map +1 -0
  133. package/dist/src/runtime/runtimeAdapters.d.ts +22 -0
  134. package/dist/src/runtime/runtimeAdapters.js +81 -0
  135. package/dist/src/runtime/runtimeAdapters.js.map +1 -0
  136. package/dist/src/runtime/runtimeStateFactory.d.ts +21 -0
  137. package/dist/src/runtime/runtimeStateFactory.js +104 -0
  138. package/dist/src/runtime/runtimeStateFactory.js.map +1 -0
  139. package/dist/src/services/todo-context-tracker.d.ts +10 -8
  140. package/dist/src/services/todo-context-tracker.js +26 -10
  141. package/dist/src/services/todo-context-tracker.js.map +1 -1
  142. package/dist/src/services/tool-call-tracker-service.d.ts +11 -7
  143. package/dist/src/services/tool-call-tracker-service.js +89 -29
  144. package/dist/src/services/tool-call-tracker-service.js.map +1 -1
  145. package/dist/src/settings/SettingsService.d.ts +4 -0
  146. package/dist/src/settings/SettingsService.js +65 -2
  147. package/dist/src/settings/SettingsService.js.map +1 -1
  148. package/dist/src/settings/settingsServiceInstance.d.ts +6 -1
  149. package/dist/src/settings/settingsServiceInstance.js +28 -8
  150. package/dist/src/settings/settingsServiceInstance.js.map +1 -1
  151. package/dist/src/telemetry/loggers.d.ts +5 -1
  152. package/dist/src/telemetry/loggers.js.map +1 -1
  153. package/dist/src/telemetry/loggers.test.circular.js +4 -0
  154. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  155. package/dist/src/telemetry/metrics.d.ts +3 -1
  156. package/dist/src/telemetry/metrics.js.map +1 -1
  157. package/dist/src/telemetry/types.d.ts +1 -0
  158. package/dist/src/telemetry/types.js +3 -0
  159. package/dist/src/telemetry/types.js.map +1 -1
  160. package/dist/src/test-utils/index.d.ts +2 -0
  161. package/dist/src/test-utils/index.js +2 -0
  162. package/dist/src/test-utils/index.js.map +1 -1
  163. package/dist/src/test-utils/mockWorkspaceContext.d.ts +0 -3
  164. package/dist/src/test-utils/mockWorkspaceContext.js +3 -4
  165. package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -1
  166. package/dist/src/test-utils/providerCallOptions.d.ts +43 -0
  167. package/dist/src/test-utils/providerCallOptions.js +137 -0
  168. package/dist/src/test-utils/providerCallOptions.js.map +1 -0
  169. package/dist/src/test-utils/runtime.d.ts +92 -0
  170. package/dist/src/test-utils/runtime.js +226 -0
  171. package/dist/src/test-utils/runtime.js.map +1 -0
  172. package/dist/src/test-utils/tools.d.ts +4 -4
  173. package/dist/src/test-utils/tools.js +20 -10
  174. package/dist/src/test-utils/tools.js.map +1 -1
  175. package/dist/src/tools/list-subagents.d.ts +31 -0
  176. package/dist/src/tools/list-subagents.js +109 -0
  177. package/dist/src/tools/list-subagents.js.map +1 -0
  178. package/dist/src/tools/task.d.ts +87 -0
  179. package/dist/src/tools/task.js +427 -0
  180. package/dist/src/tools/task.js.map +1 -0
  181. package/dist/src/tools/todo-read.js +1 -1
  182. package/dist/src/tools/todo-read.js.map +1 -1
  183. package/dist/src/tools/todo-store.js +4 -2
  184. package/dist/src/tools/todo-store.js.map +1 -1
  185. package/dist/src/tools/todo-write.js +4 -2
  186. package/dist/src/tools/todo-write.js.map +1 -1
  187. package/dist/src/tools/tool-error.d.ts +1 -0
  188. package/dist/src/tools/tool-error.js +1 -0
  189. package/dist/src/tools/tool-error.js.map +1 -1
  190. package/dist/src/tools/tool-registry.d.ts +2 -0
  191. package/dist/src/tools/tool-registry.js +46 -21
  192. package/dist/src/tools/tool-registry.js.map +1 -1
  193. package/dist/src/types/modelParams.d.ts +4 -0
  194. package/dist/src/utils/editor.js +10 -8
  195. package/dist/src/utils/editor.js.map +1 -1
  196. package/dist/src/utils/gitIgnoreParser.js +15 -3
  197. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  198. package/package.json +1 -1
  199. package/dist/src/prompt-config/defaults/providers/anthropic/core.md +0 -97
  200. package/dist/src/prompt-config/defaults/providers/anthropic/tools/glob.md +0 -34
  201. package/dist/src/prompt-config/defaults/providers/anthropic/tools/list-directory.md +0 -11
  202. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-file.md +0 -14
  203. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-many-files.md +0 -31
  204. package/dist/src/prompt-config/defaults/providers/anthropic/tools/replace.md +0 -41
  205. package/dist/src/prompt-config/defaults/providers/anthropic/tools/run-shell-command.md +0 -32
  206. package/dist/src/prompt-config/defaults/providers/anthropic/tools/save-memory.md +0 -35
  207. package/dist/src/prompt-config/defaults/providers/anthropic/tools/search-file-content.md +0 -44
  208. package/dist/src/prompt-config/defaults/providers/anthropic/tools/todo-write.md +0 -45
  209. package/dist/src/prompt-config/defaults/providers/anthropic/tools/write-file.md +0 -11
  210. package/dist/src/prompt-config/defaults/providers/openai/core.md +0 -97
  211. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-pause.md +0 -28
  212. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-read.md +0 -5
  213. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-write.md +0 -45
@@ -1,44 +0,0 @@
1
- # search_file_content Tool (Grep)
2
-
3
- **Parameters**:
4
-
5
- - `pattern`: Regular expression pattern to search for (required)
6
- - `path`: Directory or file to search in (optional, defaults to current directory)
7
- - `glob`: File pattern filter like "_.js" or "_.{ts,tsx}" (optional)
8
-
9
- ## Important: Uses Regular Expressions
10
-
11
- The pattern is interpreted as a regular expression, not literal text:
12
-
13
- - Use `\\.` to match literal dots
14
- - Use `\\(` and `\\)` for literal parentheses
15
- - Use `\\*` for literal asterisks
16
- - Use `|` for alternatives: `"error|warning|failed"`
17
-
18
- ## Examples
19
-
20
- Search for function definitions:
21
-
22
- ```
23
- pattern: "^function |^const .* = .*function|^export function"
24
- ```
25
-
26
- Search for specific imports:
27
-
28
- ```
29
- pattern: "import.*from ['\"]\\.\\./utils"
30
- ```
31
-
32
- Find TODO comments:
33
-
34
- ```
35
- pattern: "//.*TODO|/\\*.*TODO"
36
- ```
37
-
38
- ## Output
39
-
40
- Returns matching lines with:
41
-
42
- - File path
43
- - Line number
44
- - Matched content
@@ -1,45 +0,0 @@
1
- # todo_write Tool
2
-
3
- **Parameter**: Use `todos` - an array of todo objects
4
-
5
- Each todo object requires:
6
-
7
- - `id`: String identifier (e.g., "1", "2", "task-1")
8
- - `content`: String description of the task
9
- - `status`: One of "pending", "in_progress", "completed"
10
- - `priority`: One of "high", "medium", "low"
11
-
12
- Example structure:
13
-
14
- ```json
15
- {
16
- "todos": [
17
- {
18
- "id": "1",
19
- "content": "Implement user authentication",
20
- "status": "pending",
21
- "priority": "high"
22
- }
23
- ]
24
- }
25
- ```
26
-
27
- ## Usage Guidelines
28
-
29
- Use todos when:
30
-
31
- - Task has 3+ distinct steps
32
- - Managing multiple related changes
33
- - User provides a list of items to complete
34
-
35
- Update status as you work:
36
-
37
- - Mark "in_progress" before starting
38
- - Mark "completed" immediately when done
39
- - Only one task "in_progress" at a time
40
-
41
- Skip todos for:
42
-
43
- - Single, simple operations
44
- - Purely informational responses
45
- - Tasks that complete in one tool call
@@ -1,11 +0,0 @@
1
- # write_file Tool
2
-
3
- **Parameter**: Use `file_path` for the file path (required)
4
- **Parameter**: Use `content` for the file content (required)
5
-
6
- The path must be absolute, starting with /. For example:
7
-
8
- - Correct: `/Users/name/project/src/new-file.js`
9
- - Wrong: `src/new-file.js` or `./src/new-file.js`
10
-
11
- This tool creates new files or completely replaces existing file content.
@@ -1,97 +0,0 @@
1
- You are LLxprt Code running on {{PLATFORM}} with {{MODEL}} via {{PROVIDER}}.
2
-
3
- **Environment Context**
4
-
5
- - Date and time: {{CURRENT_DATETIME}}
6
- - Workspace name: {{WORKSPACE_NAME}}
7
- - Workspace root: {{WORKSPACE_ROOT}}
8
- - Workspace directories: {{WORKSPACE_DIRECTORIES}}
9
- - Working directory: {{WORKING_DIRECTORY}}
10
- - Git repository: {{IS_GIT_REPO}}
11
- - Sandboxed environment: {{IS_SANDBOXED}}
12
- - Sandbox type: {{SANDBOX_TYPE}}
13
- - IDE companion available: {{HAS_IDE}}
14
-
15
- {{FOLDER_STRUCTURE}}
16
-
17
- You are an interactive CLI agent specializing in software engineering tasks. Your primary goal is to help users efficiently and safely, utilizing the available tools.
18
-
19
- # Core Principles
20
-
21
- **Project Conventions First**: Always analyze existing code patterns, styles, and conventions before making changes. Match the project's established practices exactly.
22
-
23
- **Verify Before Assuming**: Never assume libraries, frameworks, or dependencies exist. Check package.json, requirements.txt, or other configuration files first.
24
-
25
- **Concise Communication**: Respond with actions, not explanations. Keep text output minimal (1-3 lines) unless clarity demands more.
26
-
27
- # Critical Tool Parameters
28
-
29
- **IMPORTANT - Parameter Names in llxprt**:
30
-
31
- - `read_file` uses parameter: `absolute_path`
32
- - `write_file` uses parameter: `file_path`
33
- - `list_directory` uses parameter: `path`
34
- - `replace` uses parameters: `old_string`, `new_string`, `expected_replacements` (optional)
35
- - `todo_write` uses: `todos` array with fields: `id`, `content`, `status`, `priority`
36
- - All file paths must be absolute (starting with /)
37
-
38
- # Primary Workflows
39
-
40
- ## Code Tasks
41
-
42
- 1. **Understand**: Use grep and glob to explore the codebase structure
43
- 2. **Implement**: Make changes that match existing patterns
44
- 3. **Verify**: Run tests and linting if available
45
-
46
- ## New Applications
47
-
48
- Default technology choices when unspecified:
49
-
50
- - Web frontend: React with TypeScript
51
- - Backend API: Node.js/Express or Python/FastAPI
52
- - CLI tools: Python or Go
53
- - Mobile: Flutter or React Native
54
-
55
- # Tool Usage Patterns
56
-
57
- **Parallel Operations**: Execute independent searches (grep, glob) simultaneously when exploring.
58
-
59
- **File Operations**: Always construct absolute paths by combining the project root with relative paths.
60
-
61
- **Shell Commands**:
62
-
63
- - Explain destructive operations before executing
64
- - Use `&` for long-running processes
65
- - Prefer non-interactive command variants
66
-
67
- **Task Management**: Use todo tools for tasks with 3+ steps or multiple components. Update status in real-time.
68
-
69
- # Examples
70
-
71
- <example>
72
- user: find all typescript files
73
- assistant: <use glob with pattern "**/*.ts">
74
- </example>
75
-
76
- <example>
77
- user: read the config file
78
- assistant: I'll read the configuration file.
79
- <use read_file with absolute_path "/path/to/project/config.json">
80
- </example>
81
-
82
- <example>
83
- user: update the database connection string
84
- assistant: I'll search for the database configuration first.
85
- <use grep with pattern "database|connection|db_url">
86
- [After finding the file]
87
- <use read_file to examine the current configuration>
88
- <use replace to update the connection string>
89
- </example>
90
-
91
- # Response Guidelines
92
-
93
- - Take action immediately without announcing intentions
94
- - Chain related operations efficiently
95
- - Validate changes match project standards
96
- - Complete the entire request before stopping
97
- - When blocked, state the specific issue concisely
@@ -1,28 +0,0 @@
1
- # {{TOOL_NAME}} Tool
2
-
3
- **Purpose**: Pause the AI continuation loop when encountering errors or blockers.
4
-
5
- **Parameters**:
6
-
7
- - `reason` (string): A concise reason why continuation must be paused.
8
-
9
- **When to Use**:
10
-
11
- - Missing required files or resources
12
- - Configuration issues preventing progress
13
- - Blocked dependencies or services
14
- - Unexpected errors requiring human intervention
15
-
16
- **When NOT to Use**:
17
-
18
- - For normal task completion (use `todo_write` to update status instead)
19
- - When needing clarification (continue with best understanding)
20
- - For minor issues that can be worked around
21
-
22
- **Example**:
23
-
24
- ```json
25
- {
26
- "reason": "Cannot find config file 'app.config.js' required for the next step"
27
- }
28
- ```
@@ -1,5 +0,0 @@
1
- # todo_read Tool
2
-
3
- **Purpose**: Read the current state of your todo list for this session.
4
-
5
- This tool takes no parameters. It will return the list of todos, their statuses, and their priorities. Use this tool frequently to keep track of your progress and ensure you are working on the correct task.
@@ -1,45 +0,0 @@
1
- # todo_write Tool
2
-
3
- **Parameter**: Use `todos` - an array of todo objects
4
-
5
- Each todo object requires:
6
-
7
- - `id`: String identifier (e.g., "1", "2", "task-1")
8
- - `content`: String description of the task
9
- - `status`: One of "pending", "in_progress", "completed"
10
- - `priority`: One of "high", "medium", "low"
11
-
12
- Example structure:
13
-
14
- ```json
15
- {
16
- "todos": [
17
- {
18
- "id": "1",
19
- "content": "Implement user authentication",
20
- "status": "pending",
21
- "priority": "high"
22
- }
23
- ]
24
- }
25
- ```
26
-
27
- ## Usage Guidelines
28
-
29
- Use todos when:
30
-
31
- - Task has 3+ distinct steps
32
- - Managing multiple related changes
33
- - User provides a list of items to complete
34
-
35
- Update status as you work:
36
-
37
- - Mark "in_progress" before starting
38
- - Mark "completed" immediately when done
39
- - Only one task "in_progress" at a time
40
-
41
- Skip todos for:
42
-
43
- - Single, simple operations
44
- - Purely informational responses
45
- - Tasks that complete in one tool call