dexto 1.1.11 → 1.2.1

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 (149) hide show
  1. package/README.md +222 -84
  2. package/dist/agents/agent-registry.json +9 -0
  3. package/dist/agents/agent-template.yml +1 -1
  4. package/dist/agents/coding-agent/README.md +188 -0
  5. package/dist/agents/coding-agent/coding-agent.yml +203 -0
  6. package/dist/agents/database-agent/database-agent.yml +41 -2
  7. package/dist/agents/default-agent.yml +37 -3
  8. package/dist/agents/github-agent/github-agent.yml +39 -0
  9. package/dist/agents/image-editor-agent/image-editor-agent.yml +6 -2
  10. package/dist/agents/music-agent/README.md +1 -1
  11. package/dist/agents/music-agent/music-agent.yml +33 -2
  12. package/dist/agents/nano-banana-agent/nano-banana-agent.yml +32 -1
  13. package/dist/agents/podcast-agent/README.md +1 -1
  14. package/dist/agents/podcast-agent/podcast-agent.yml +34 -3
  15. package/dist/agents/product-name-researcher/product-name-researcher.yml +34 -1
  16. package/dist/agents/sora-video-agent/README.md +122 -0
  17. package/dist/agents/sora-video-agent/sora-video-agent.yml +98 -0
  18. package/dist/agents/talk2pdf-agent/talk2pdf-agent.yml +14 -2
  19. package/dist/agents/triage-demo/README.md +6 -6
  20. package/dist/agents/triage-demo/billing-agent.yml +1 -1
  21. package/dist/agents/triage-demo/escalation-agent.yml +1 -1
  22. package/dist/agents/triage-demo/product-info-agent.yml +1 -1
  23. package/dist/agents/triage-demo/technical-support-agent.yml +1 -1
  24. package/dist/agents/triage-demo/triage-agent.yml +13 -1
  25. package/dist/analytics/wrapper.d.ts.map +1 -1
  26. package/dist/analytics/wrapper.js +5 -3
  27. package/dist/api/a2a.d.ts +2 -2
  28. package/dist/api/a2a.d.ts.map +1 -1
  29. package/dist/api/a2a.js +3 -2
  30. package/dist/api/mcp/mcp_handler.d.ts +3 -3
  31. package/dist/api/mcp/mcp_handler.d.ts.map +1 -1
  32. package/dist/api/mcp/mcp_handler.js +7 -4
  33. package/dist/api/memory/memory-handler.d.ts +4 -1
  34. package/dist/api/memory/memory-handler.d.ts.map +1 -1
  35. package/dist/api/memory/memory-handler.js +10 -2
  36. package/dist/api/middleware/errorHandler.d.ts.map +1 -1
  37. package/dist/api/middleware/errorHandler.js +2 -0
  38. package/dist/api/server.d.ts.map +1 -1
  39. package/dist/api/server.js +158 -42
  40. package/dist/api/websocket-subscriber.d.ts.map +1 -1
  41. package/dist/api/websocket-subscriber.js +6 -0
  42. package/dist/cli/commands/interactive-commands/model/model-commands.js +2 -2
  43. package/dist/cli/utils/options.js +2 -2
  44. package/dist/index.js +64 -18
  45. package/dist/webui/.next/standalone/.next/static/b_pyEEg2sitTwMzZWW7vE/_buildManifest.js +1 -0
  46. package/dist/webui/.next/standalone/.next/static/chunks/419-a07413b585273a24.js +1 -0
  47. package/dist/webui/.next/standalone/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  48. package/dist/webui/.next/standalone/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  49. package/dist/webui/.next/standalone/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
  50. package/dist/webui/.next/standalone/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  51. package/dist/webui/.next/standalone/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  52. package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  53. package/dist/webui/.next/standalone/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  54. package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  55. package/dist/webui/.next/standalone/.next/static/chunks/main-7decd42f62688419.js +1 -0
  56. package/dist/webui/.next/standalone/.next/static/css/c3c26ec984df1deb.css +1 -0
  57. package/dist/webui/.next/standalone/package.json +1 -0
  58. package/dist/webui/.next/standalone/packages/webui/.next/BUILD_ID +1 -1
  59. package/dist/webui/.next/standalone/packages/webui/.next/app-build-manifest.json +18 -18
  60. package/dist/webui/.next/standalone/packages/webui/.next/build-manifest.json +4 -4
  61. package/dist/webui/.next/standalone/packages/webui/.next/prerender-manifest.json +3 -3
  62. package/dist/webui/.next/standalone/packages/webui/.next/required-server-files.json +1 -11
  63. package/dist/webui/.next/standalone/packages/webui/.next/routes-manifest.json +1 -7
  64. package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  65. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js +1 -1
  66. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js.nft.json +1 -1
  67. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page_client-reference-manifest.js +1 -1
  68. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js +1 -1
  69. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js.nft.json +1 -1
  70. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page_client-reference-manifest.js +1 -1
  71. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js +4 -8
  72. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js.nft.json +1 -1
  73. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page_client-reference-manifest.js +1 -1
  74. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/1.js +5 -5
  75. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/102.js +25 -0
  76. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/383.js +1 -0
  77. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/43.js +1 -1
  78. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/985.js +5 -0
  79. package/dist/webui/.next/standalone/packages/webui/.next/server/middleware-build-manifest.js +1 -1
  80. package/dist/webui/.next/standalone/packages/webui/.next/server/pages/500.html +1 -1
  81. package/dist/webui/.next/standalone/packages/webui/.next/server/pages-manifest.json +1 -1
  82. package/dist/webui/.next/standalone/packages/webui/.next/server/server-reference-manifest.json +1 -1
  83. package/dist/webui/.next/standalone/packages/webui/.next/static/b_pyEEg2sitTwMzZWW7vE/_buildManifest.js +1 -0
  84. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-a07413b585273a24.js +1 -0
  85. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  86. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  87. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
  88. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  89. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  90. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  91. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  92. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  93. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
  94. package/dist/webui/.next/standalone/packages/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
  95. package/dist/webui/.next/standalone/packages/webui/package.json +5 -1
  96. package/dist/webui/.next/standalone/packages/webui/server.js +1 -1
  97. package/dist/webui/.next/static/b_pyEEg2sitTwMzZWW7vE/_buildManifest.js +1 -0
  98. package/dist/webui/.next/static/chunks/419-a07413b585273a24.js +1 -0
  99. package/dist/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  100. package/dist/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  101. package/dist/webui/.next/static/chunks/{711-76a7d2bf4d6f69e5.js → 765-755286dc586b1a51.js} +1 -1
  102. package/dist/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  103. package/dist/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  104. package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  105. package/dist/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  106. package/dist/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  107. package/dist/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
  108. package/dist/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
  109. package/dist/webui/package.json +5 -1
  110. package/package.json +2 -2
  111. package/dist/webui/.next/standalone/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
  112. package/dist/webui/.next/standalone/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
  113. package/dist/webui/.next/standalone/.next/static/chunks/429-838829c1391e496d.js +0 -25
  114. package/dist/webui/.next/standalone/.next/static/chunks/459-62011998b002cbf6.js +0 -1
  115. package/dist/webui/.next/standalone/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
  116. package/dist/webui/.next/standalone/.next/static/chunks/935-07f9df196b13275e.js +0 -1
  117. package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
  118. package/dist/webui/.next/standalone/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
  119. package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
  120. package/dist/webui/.next/standalone/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  121. package/dist/webui/.next/standalone/.next/static/css/21e6c142ca3cdc42.css +0 -1
  122. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/419.js +0 -25
  123. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/654.js +0 -1
  124. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/71.js +0 -5
  125. package/dist/webui/.next/standalone/packages/webui/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
  126. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
  127. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/429-838829c1391e496d.js +0 -25
  128. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/459-62011998b002cbf6.js +0 -1
  129. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
  130. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/935-07f9df196b13275e.js +0 -1
  131. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
  132. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
  133. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
  134. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  135. package/dist/webui/.next/standalone/packages/webui/.next/static/css/21e6c142ca3cdc42.css +0 -1
  136. package/dist/webui/.next/static/VoeDi3iuGmMdZu_kx-R2X/_buildManifest.js +0 -1
  137. package/dist/webui/.next/static/chunks/419-5526a47c95a2fa60.js +0 -1
  138. package/dist/webui/.next/static/chunks/429-838829c1391e496d.js +0 -25
  139. package/dist/webui/.next/static/chunks/459-62011998b002cbf6.js +0 -1
  140. package/dist/webui/.next/static/chunks/854-8cad9404fc78e0cc.js +0 -1
  141. package/dist/webui/.next/static/chunks/935-07f9df196b13275e.js +0 -1
  142. package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-b8acc47b0d8c5c0a.js +0 -1
  143. package/dist/webui/.next/static/chunks/app/page-e117ae372850d25f.js +0 -1
  144. package/dist/webui/.next/static/chunks/app/playground/page-09340fb6b3f4caa2.js +0 -1
  145. package/dist/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  146. package/dist/webui/.next/static/css/21e6c142ca3cdc42.css +0 -1
  147. /package/dist/webui/.next/standalone/.next/static/{VoeDi3iuGmMdZu_kx-R2X → b_pyEEg2sitTwMzZWW7vE}/_ssgManifest.js +0 -0
  148. /package/dist/webui/.next/standalone/packages/webui/.next/static/{VoeDi3iuGmMdZu_kx-R2X → b_pyEEg2sitTwMzZWW7vE}/_ssgManifest.js +0 -0
  149. /package/dist/webui/.next/static/{VoeDi3iuGmMdZu_kx-R2X → b_pyEEg2sitTwMzZWW7vE}/_ssgManifest.js +0 -0
@@ -0,0 +1,188 @@
1
+ # Coding Agent
2
+
3
+ An expert software development assistant optimized for building, debugging, and maintaining codebases. This agent comes equipped with all internal coding tools and is configured to handle complex software engineering tasks efficiently.
4
+
5
+ ## What You Get
6
+
7
+ - **All Internal Coding Tools**: Read, write, edit files, execute commands, search codebases
8
+ - **Intelligent Tool Policies**: Read operations never require approval, write operations are safely guarded
9
+ - **Comprehensive File Support**: 30+ file extensions including JS/TS, Python, Go, Rust, Java, C/C++, configs, and more
10
+ - **Enhanced Codebase Access**: Index up to 500 files with depth-10 traversal, including hidden files
11
+ - **Expert System Prompt**: Specialized instructions for software development best practices
12
+ - **Persistent Tool Approvals**: Allowed tools are saved across sessions for smoother workflows
13
+ - **Coding-Focused Starter Prompts**: Quick access to common development tasks
14
+
15
+ ## Key Capabilities
16
+
17
+ ### File Operations
18
+ - **read_file**: Read any file with pagination support
19
+ - **write_file**: Create new files (requires approval)
20
+ - **edit_file**: Modify existing files precisely (requires approval)
21
+ - **glob_files**: Find files using patterns like `**/*.ts` (no approval needed)
22
+ - **grep_content**: Search within files using regex (no approval needed)
23
+
24
+ ### Command Execution
25
+ - **bash_exec**: Run shell commands for testing, building, running code (requires approval)
26
+ - **bash_output**: Monitor output from background processes
27
+ - **kill_process**: Terminate running processes
28
+
29
+ ### Analysis & Search
30
+ - Deep codebase traversal (up to 10 levels)
31
+ - Search across 500+ files
32
+ - Pattern matching with glob and regex
33
+ - Hidden file access (.env, .gitignore, etc.)
34
+
35
+ ## Requirements
36
+
37
+ - Node.js 18+ (if using npm/pnpm commands)
38
+ - OpenAI API key (or another configured LLM key)
39
+ - File system access to your project directory
40
+
41
+ ## Run the Agent
42
+
43
+ ```bash
44
+ # From Dexto source
45
+ npm start -- --agent agents/coding-agent/coding-agent.yml
46
+
47
+ # Or using the Dexto CLI
48
+ dexto --agent coding-agent
49
+ ```
50
+
51
+ ## Usage Examples
52
+
53
+ ### Analyze a Codebase
54
+ ```
55
+ "Analyze this codebase. Show me the project structure, main technologies used, and provide a high-level overview."
56
+ ```
57
+
58
+ ### Debug an Error
59
+ ```
60
+ "I'm getting this error: [paste error]. Help me find and fix the issue."
61
+ ```
62
+
63
+ ### Implement a Feature
64
+ ```
65
+ "I need to add user authentication. Help me design and implement it following best practices."
66
+ ```
67
+
68
+ ### Refactor Code
69
+ ```
70
+ "This function is too complex. Help me refactor it for better readability and maintainability."
71
+ ```
72
+
73
+ ### Write Tests
74
+ ```
75
+ "Generate unit tests for the UserService class with edge case coverage."
76
+ ```
77
+
78
+ ### Code Review
79
+ ```
80
+ "Review my recent changes in src/auth/ and suggest improvements."
81
+ ```
82
+
83
+ ## Configuration
84
+
85
+ ### LLM Options
86
+
87
+ The coding agent defaults to `gpt-4o` for powerful coding capabilities. You can switch to other models:
88
+
89
+ **Claude Sonnet (Excellent for Coding)**
90
+ ```yaml
91
+ llm:
92
+ provider: anthropic
93
+ model: claude-sonnet-4-20250514
94
+ apiKey: $ANTHROPIC_API_KEY
95
+ ```
96
+
97
+ **Google Gemini**
98
+ ```yaml
99
+ llm:
100
+ provider: google
101
+ model: gemini-2.5-pro
102
+ apiKey: $GOOGLE_GENERATIVE_AI_API_KEY
103
+ ```
104
+
105
+ **OpenAI o1 (For Complex Reasoning)**
106
+ ```yaml
107
+ llm:
108
+ provider: openai
109
+ model: o1
110
+ apiKey: $OPENAI_API_KEY
111
+ ```
112
+
113
+ ### Tool Policies
114
+
115
+ The agent is pre-configured with sensible defaults:
116
+
117
+ **Always Allowed (No Approval Needed)**
118
+ - Reading files (`internal--read_file`)
119
+ - Searching files (`internal--glob_files`, `internal--grep_content`)
120
+ - Checking process output (`internal--bash_output`)
121
+ - Killing processes (`internal--kill_process`)
122
+ - Asking questions (`internal--ask_user`)
123
+
124
+ **Requires Approval**
125
+ - Writing files (`internal--write_file`)
126
+ - Editing files (`internal--edit_file`)
127
+ - Executing commands (`internal--bash_exec`)
128
+
129
+ You can customize these policies in the `toolConfirmation.toolPolicies` section of `coding-agent.yml`.
130
+
131
+ ### File Extensions
132
+
133
+ The agent indexes these file types by default:
134
+
135
+ **Web Development**: .js, .jsx, .ts, .tsx, .html, .css, .scss, .sass, .less, .vue, .svelte
136
+
137
+ **Backend Languages**: .py, .java, .go, .rs, .rb, .php, .c, .cpp, .h, .hpp, .cs, .swift, .kt
138
+
139
+ **Configuration**: .json, .yaml, .yml, .toml, .xml, .ini, .env
140
+
141
+ **Documentation**: .md, .mdx, .txt, .rst
142
+
143
+ **Build Files**: .gradle, .maven, Makefile, Dockerfile, .dockerignore, .gitignore
144
+
145
+ Add more extensions in the `internalResources.resources[0].includeExtensions` section.
146
+
147
+ ## Starter Prompts
148
+
149
+ The agent includes 8 built-in starter prompts:
150
+
151
+ 1. **🔍 Analyze Codebase** - Get a project overview
152
+ 2. **🐛 Debug Error** - Identify and fix bugs
153
+ 3. **♻️ Refactor Code** - Improve code quality
154
+ 4. **🧪 Write Tests** - Generate comprehensive tests
155
+ 5. **✨ Implement Feature** - Build new functionality
156
+ 6. **⚡ Optimize Performance** - Find bottlenecks
157
+ 7. **🚀 Setup Project** - Initialize new projects
158
+ 8. **👀 Code Review** - Review for issues and improvements
159
+
160
+ ## Best Practices
161
+
162
+ 1. **Read Before Writing**: The agent automatically searches and reads relevant code before making changes
163
+ 2. **Use Glob & Grep**: Leverage pattern matching to explore unfamiliar codebases efficiently
164
+ 3. **Test Changes**: Execute tests after modifications to verify correctness
165
+ 4. **Follow Conventions**: The agent adapts to your project's existing code style
166
+ 5. **Ask Questions**: The agent will ask for clarification when requirements are ambiguous
167
+
168
+ ## Troubleshooting
169
+
170
+ ### Agent Can't Find Files
171
+ - Ensure you're running from your project root
172
+ - Check that file extensions are included in the config
173
+ - Verify `maxDepth` is sufficient for your project structure
174
+
175
+ ### Commands Require Too Many Approvals
176
+ - Use `allowedToolsStorage: storage` to persist approvals
177
+ - Add frequently-used commands to the `alwaysAllow` list
178
+
179
+ ### Performance Issues with Large Codebases
180
+ - Increase `maxFiles` limit (default: 500)
181
+ - Reduce `maxDepth` to limit traversal
182
+ - Exclude large directories in `.gitignore`
183
+
184
+ ## Learn More
185
+
186
+ - [Dexto Documentation](https://github.com/truffle-ai/dexto)
187
+ - [Internal Tools Reference](../../docs/internal-tools.md)
188
+ - [Agent Configuration Guide](../../docs/agent-configuration.md)
@@ -0,0 +1,203 @@
1
+ # Coding Agent Configuration
2
+ # Optimized for software development with internal coding tools
3
+
4
+ # System prompt configuration - defines the agent's behavior as a coding assistant
5
+ systemPrompt:
6
+ contributors:
7
+ - id: primary
8
+ type: static
9
+ priority: 0
10
+ content: |
11
+ You are an expert software development assistant with deep knowledge of multiple programming languages,
12
+ frameworks, and development best practices.
13
+
14
+ Your primary goal is to help users write, debug, refactor, and understand code efficiently.
15
+
16
+ Key capabilities:
17
+ - Read and analyze codebases using glob and grep patterns
18
+ - Write and edit files with precise, well-structured code
19
+ - Execute shell commands for testing, building, and running code
20
+ - Debug issues by examining error messages and code structure
21
+ - Refactor code following best practices and design patterns
22
+ - Explain complex code concepts clearly
23
+
24
+ Guidelines:
25
+ - Always read relevant code before making changes to understand context
26
+ - Use glob_files to find files and grep_content to search within files
27
+ - Test changes when possible using bash_exec
28
+ - Follow the project's existing code style and conventions
29
+ - Provide clear explanations for your code decisions
30
+ - Ask for clarification when requirements are ambiguous
31
+ - id: memories
32
+ type: memory
33
+ priority: 40
34
+ enabled: true
35
+ options:
36
+ includeTimestamps: false
37
+ includeTags: true
38
+ limit: 10
39
+ pinnedOnly: false
40
+
41
+ # Greeting optimized for coding tasks
42
+ greeting: "👨‍💻 Ready to code! What are we building today?"
43
+
44
+ # LLM configuration - using a powerful model for coding tasks
45
+ llm:
46
+ provider: anthropic
47
+ model: claude-haiku-4-5-20251001 # More powerful model for complex coding tasks
48
+ apiKey: $ANTHROPIC_API_KEY
49
+
50
+ storage:
51
+ cache:
52
+ type: in-memory
53
+ database:
54
+ type: sqlite
55
+ blob:
56
+ type: local
57
+ maxBlobSize: 52428800 # 50MB per blob
58
+ maxTotalSize: 1073741824 # 1GB total storage
59
+ cleanupAfterDays: 30
60
+
61
+ toolConfirmation:
62
+ mode: event-based
63
+ timeout: 120000
64
+ allowedToolsStorage: storage # Persist allowed tools across sessions
65
+
66
+ # Tool policies optimized for coding workflows
67
+ toolPolicies:
68
+ # Tools that never require approval (safe, read-only operations)
69
+ alwaysAllow:
70
+ - internal--ask_user
71
+ - internal--read_file # Read files without approval
72
+ - internal--glob_files # Search for files without approval
73
+ - internal--grep_content # Search within files without approval
74
+ - internal--bash_output # Check background process output
75
+ - internal--kill_process # Kill processes without approval
76
+
77
+ # Tools that are always denied (dangerous operations)
78
+ # Uncomment to restrict certain operations
79
+ # alwaysDeny:
80
+ # - internal--bash_exec--rm -rf* # Prevent recursive deletion
81
+
82
+ # Internal tools - all coding tools enabled
83
+ internalTools:
84
+ - ask_user # Ask questions and collect input
85
+ - read_file # Read file contents with pagination support
86
+ - glob_files # Find files using glob patterns (e.g., "**/*.ts")
87
+ - grep_content # Search file contents using regex patterns
88
+ - write_file # Write content to files (requires approval)
89
+ - edit_file # Edit files by replacing text (requires approval)
90
+ - bash_exec # Execute shell commands (requires approval)
91
+ - bash_output # Retrieve output from background processes
92
+ - kill_process # Terminate background processes
93
+
94
+ # Internal resources configuration - expanded for coding projects
95
+ internalResources:
96
+ enabled: true
97
+ resources:
98
+ # Filesystem resource - comprehensive file access for coding
99
+ - type: filesystem
100
+ paths: ["."]
101
+ maxFiles: 500 # Increased for larger codebases
102
+ maxDepth: 10 # Deeper traversal for nested projects
103
+ includeHidden: true # Include hidden files (.env, .gitignore, etc.)
104
+ includeExtensions:
105
+ # Web development
106
+ - .js
107
+ - .jsx
108
+ - .ts
109
+ - .tsx
110
+ - .html
111
+ - .css
112
+ - .scss
113
+ - .sass
114
+ - .less
115
+ - .vue
116
+ - .svelte
117
+ # Backend languages
118
+ - .py
119
+ - .java
120
+ - .go
121
+ - .rs
122
+ - .rb
123
+ - .php
124
+ - .c
125
+ - .cpp
126
+ - .h
127
+ - .hpp
128
+ - .cs
129
+ - .swift
130
+ - .kt
131
+ # Shell and config
132
+ - .sh
133
+ - .bash
134
+ - .zsh
135
+ - .fish
136
+ # Config and data
137
+ - .json
138
+ - .yaml
139
+ - .yml
140
+ - .toml
141
+ - .xml
142
+ - .ini
143
+ - .env
144
+ # Documentation
145
+ - .md
146
+ - .mdx
147
+ - .txt
148
+ - .rst
149
+ # Build and package files
150
+ - .gradle
151
+ - .maven
152
+ - .dockerignore
153
+ - .gitignore
154
+
155
+ # Blob resource - for handling build artifacts, images, etc.
156
+ - type: blob
157
+
158
+ # Starter prompts - coding-focused examples
159
+ starterPrompts:
160
+ - id: analyze-codebase
161
+ title: "🔍 Analyze Codebase"
162
+ description: "Get an overview of the project structure"
163
+ prompt: "Analyze this codebase. Show me the project structure, main technologies used, and provide a high-level overview."
164
+ category: analysis
165
+ priority: 10
166
+ - id: implement-feature
167
+ title: "✨ Implement Feature"
168
+ description: "Build a new feature from scratch"
169
+ prompt: "Help me implement a new feature. I'll describe what I need, and you can design and implement it following best practices."
170
+ category: development
171
+ priority: 9
172
+ - id: write-tests
173
+ title: "🧪 Write Tests"
174
+ description: "Generate unit tests for code"
175
+ prompt: "Help me write comprehensive unit tests. Identify the testing framework and create tests that cover edge cases."
176
+ category: testing
177
+ priority: 8
178
+ - id: refactor-code
179
+ title: "♻️ Refactor Code"
180
+ description: "Improve code quality and structure"
181
+ prompt: "Help me refactor some code to improve its structure, readability, and maintainability while preserving functionality."
182
+ category: refactoring
183
+ priority: 7
184
+
185
+ ## Alternative LLM configurations for coding
186
+
187
+ ## Claude Sonnet (excellent for coding)
188
+ # llm:
189
+ # provider: anthropic
190
+ # model: claude-sonnet-4-20250514
191
+ # apiKey: $ANTHROPIC_API_KEY
192
+
193
+ ## Google Gemini (strong coding capabilities)
194
+ # llm:
195
+ # provider: google
196
+ # model: gemini-2.5-pro
197
+ # apiKey: $GOOGLE_GENERATIVE_AI_API_KEY
198
+
199
+ ## OpenAI o1 (for complex reasoning tasks)
200
+ # llm:
201
+ # provider: openai
202
+ # model: o1
203
+ # apiKey: $OPENAI_API_KEY
@@ -111,9 +111,48 @@ systemPrompt:
111
111
  source: dateTime
112
112
  enabled: true
113
113
 
114
+ # Storage configuration
115
+ storage:
116
+ cache:
117
+ type: in-memory
118
+ database:
119
+ type: sqlite
120
+ blob:
121
+ type: local
122
+ maxBlobSize: 52428800 # 50MB per blob
123
+ maxTotalSize: 1073741824 # 1GB total storage
124
+ cleanupAfterDays: 30
125
+
114
126
  # LLM configuration for intelligent database interactions
115
127
  llm:
116
128
  provider: openai
117
- model: gpt-4o-mini
129
+ model: gpt-5-mini
118
130
  apiKey: $OPENAI_API_KEY
119
- temperature: 0.1 # Lower temperature for more consistent database operations
131
+ temperature: 0.1 # Lower temperature for more consistent database operations
132
+
133
+ # Starter prompts - database interaction examples
134
+ starterPrompts:
135
+ - id: explore-database
136
+ title: "🔍 Explore Database"
137
+ description: "See what's in the database"
138
+ prompt: "Show me what tables exist in the database and their structure."
139
+ category: exploration
140
+ priority: 10
141
+ - id: create-table
142
+ title: "🗂️ Create Table"
143
+ description: "Design and create a new database table"
144
+ prompt: "Create a products table with columns for name, description, price, and stock quantity."
145
+ category: schema
146
+ priority: 9
147
+ - id: insert-data
148
+ title: "➕ Insert Data"
149
+ description: "Add new records to a table"
150
+ prompt: "Insert a new product into the products table with name 'Laptop', price 999.99, and stock 15."
151
+ category: data-management
152
+ priority: 8
153
+ - id: query-data
154
+ title: "📊 Query Data"
155
+ description: "Search and filter database records"
156
+ prompt: "Show me all products from the products table sorted by price."
157
+ category: queries
158
+ priority: 7
@@ -41,7 +41,7 @@ systemPrompt:
41
41
  pinnedOnly: false
42
42
 
43
43
  # Optional greeting shown at chat start (UI can consume this)
44
- greeting: "Hi! Im Dexto — how can I help today?"
44
+ greeting: "Hi! I'm Dexto — how can I help today?"
45
45
 
46
46
  # LLM configuration - describes the language model to use
47
47
  llm:
@@ -49,6 +49,15 @@ llm:
49
49
  model: gpt-5-mini
50
50
  apiKey: $OPENAI_API_KEY
51
51
 
52
+ # Optional: Control which media types are expanded for LLM consumption
53
+ # If omitted, uses model capabilities from registry (recommended default)
54
+ # Supports MIME patterns with wildcards (e.g., "image/*", "video/mp4")
55
+ # allowedMediaTypes:
56
+ # - "image/*" # All images (png, jpg, gif, etc.)
57
+ # - "application/pdf" # PDF documents
58
+ # - "audio/*" # All audio formats
59
+ # Note: Unsupported types become descriptive placeholders like: [Video: demo.mp4 (5.2 MB)]
60
+
52
61
  storage:
53
62
  cache:
54
63
  type: in-memory
@@ -67,6 +76,21 @@ toolConfirmation:
67
76
  timeout: 120000 # Time to wait for approval (ms)
68
77
  allowedToolsStorage: memory # 'memory' or 'storage' for persisting allowed tools
69
78
 
79
+ # Optional: Static tool policies for fine-grained allow/deny control
80
+ toolPolicies:
81
+ # Tools that never require approval (low-risk, common operations)
82
+ alwaysAllow:
83
+ - internal--ask_user
84
+ - mcp--read_file
85
+ - mcp--list_directory
86
+ - mcp--list_allowed_directories
87
+ #
88
+ # # Tools that are always denied (high-risk, destructive operations)
89
+ # # Deny list takes precedence over allow list
90
+ # alwaysDeny:
91
+ # - mcp--filesystem--delete_file
92
+ # - mcp--playwright--execute_script
93
+
70
94
  # Internal tools - built-in Dexto capabilities
71
95
  internalTools:
72
96
  - ask_user # Allows the agent to ask you questions and collect structured input
@@ -118,8 +142,6 @@ internalResources:
118
142
  # # enforceQuota: true
119
143
 
120
144
  # Starter prompts - predefined prompts that appear as clickable buttons in the WebUI
121
- # TODO: (355) Have to update docs for this starterPrompts and internalResources section and blob section
122
- # https://github.com/truffle-ai/dexto/pull/355#discussion_r2412886278
123
145
  starterPrompts:
124
146
  - id: quick-start
125
147
  title: "📚 Quick Start Guide"
@@ -146,6 +168,18 @@ starterPrompts:
146
168
  category: tools
147
169
  priority: 3
148
170
 
171
+ # Telemetry configuration (optional) - OpenTelemetry for distributed tracing
172
+ # telemetry:
173
+ # serviceName: dexto-default-agent
174
+ # enabled: true
175
+ # tracerName: dexto-tracer
176
+ # export:
177
+ # type: otlp # 'otlp' for production, 'console' for development
178
+ # protocol: http # 'http' or 'grpc'
179
+ # endpoint: http://127.0.0.1:4318/v1/traces # OTLP collector endpoint
180
+ # headers: # Optional headers for authentication
181
+ # Authorization: Bearer <token>
182
+
149
183
  ## To use Google Gemini, replace the LLM section with Google Gemini configuration below
150
184
  ## Similar for anthropic/groq/etc.
151
185
  # llm:
@@ -53,8 +53,47 @@ systemPrompt:
53
53
  source: dateTime
54
54
  enabled: true
55
55
 
56
+ # Storage configuration
57
+ storage:
58
+ cache:
59
+ type: in-memory
60
+ database:
61
+ type: sqlite
62
+ blob:
63
+ type: local
64
+ maxBlobSize: 52428800 # 50MB per blob
65
+ maxTotalSize: 1073741824 # 1GB total storage
66
+ cleanupAfterDays: 30
67
+
56
68
  llm:
57
69
  provider: openai
58
70
  model: gpt-5-mini
59
71
  apiKey: $OPENAI_API_KEY
60
72
 
73
+ # Starter prompts - GitHub operations examples
74
+ starterPrompts:
75
+ - id: repo-info
76
+ title: "📊 Repository Info"
77
+ description: "Get details about the Dexto repository"
78
+ prompt: "Show me information about the truffle-ai/dexto repository including stars, forks, and recent activity."
79
+ category: info
80
+ priority: 10
81
+ - id: list-issues
82
+ title: "📋 List Issues"
83
+ description: "View open issues in Dexto"
84
+ prompt: "List all open issues in the truffle-ai/dexto repository."
85
+ category: issues
86
+ priority: 9
87
+ - id: star-dexto
88
+ title: "⭐ Star Dexto"
89
+ description: "Star the Dexto repository"
90
+ prompt: "Star the truffle-ai/dexto repository on GitHub."
91
+ category: engagement
92
+ priority: 8
93
+ - id: recent-commits
94
+ title: "📝 Recent Commits"
95
+ description: "View latest commits to Dexto"
96
+ prompt: "Show me the recent commits to the truffle-ai/dexto repository."
97
+ category: activity
98
+ priority: 7
99
+
@@ -37,7 +37,7 @@ toolConfirmation:
37
37
 
38
38
  llm:
39
39
  provider: openai
40
- model: gpt-4o-mini
40
+ model: gpt-5-mini
41
41
  apiKey: $OPENAI_API_KEY
42
42
 
43
43
  storage:
@@ -45,4 +45,8 @@ storage:
45
45
  type: in-memory
46
46
  database:
47
47
  type: sqlite
48
- path: .dexto/database/image-editor-agent-python.db
48
+ blob:
49
+ type: local
50
+ maxBlobSize: 52428800 # 50MB per blob
51
+ maxTotalSize: 1073741824 # 1GB total storage
52
+ cleanupAfterDays: 30
@@ -174,7 +174,7 @@ mcpServers:
174
174
 
175
175
  llm:
176
176
  provider: openai
177
- model: gpt-4o-mini
177
+ model: gpt-5-mini
178
178
  apiKey: $OPENAI_API_KEY
179
179
  ```
180
180
 
@@ -35,7 +35,7 @@ mcpServers:
35
35
 
36
36
  llm:
37
37
  provider: openai
38
- model: gpt-4o-mini
38
+ model: gpt-5-mini
39
39
  apiKey: $OPENAI_API_KEY
40
40
 
41
41
  storage:
@@ -43,4 +43,35 @@ storage:
43
43
  type: in-memory
44
44
  database:
45
45
  type: sqlite
46
- path: .dexto/database/music-agent.db
46
+ blob:
47
+ type: local
48
+ maxBlobSize: 52428800 # 50MB per blob
49
+ maxTotalSize: 1073741824 # 1GB total storage
50
+ cleanupAfterDays: 30
51
+
52
+ # Starter prompts - music creation examples
53
+ starterPrompts:
54
+ - id: create-melody
55
+ title: "🎼 Create Melody"
56
+ description: "Generate a musical melody"
57
+ prompt: "Create a cheerful melody in G major at 140 BPM that lasts 15 seconds."
58
+ category: generation
59
+ priority: 10
60
+ - id: create-chords
61
+ title: "🎹 Create Chord Progression"
62
+ description: "Generate chord progressions"
63
+ prompt: "Create a I-IV-V-I chord progression in D major."
64
+ category: generation
65
+ priority: 9
66
+ - id: create-drums
67
+ title: "🥁 Create Drum Pattern"
68
+ description: "Generate drum patterns"
69
+ prompt: "Create a basic rock drum pattern at 120 BPM."
70
+ category: generation
71
+ priority: 8
72
+ - id: list-effects
73
+ title: "🎚️ List Available Effects"
74
+ description: "See what audio effects are available"
75
+ prompt: "Show me all available audio effects and how to use them."
76
+ category: discovery
77
+ priority: 7
@@ -68,4 +68,35 @@ storage:
68
68
  type: in-memory
69
69
  database:
70
70
  type: sqlite
71
- path: .dexto/database/nano-banana-agent.db
71
+ blob:
72
+ type: local
73
+ maxBlobSize: 52428800 # 50MB per blob
74
+ maxTotalSize: 1073741824 # 1GB total storage
75
+ cleanupAfterDays: 30
76
+
77
+ # Starter prompts - image generation and editing examples
78
+ starterPrompts:
79
+ - id: generate-landscape
80
+ title: "🎨 Generate Landscape"
81
+ description: "Create a scenic image from text"
82
+ prompt: "Generate a stunning image of a majestic mountain landscape at sunset with vibrant colors and dramatic clouds."
83
+ category: generation
84
+ priority: 10
85
+ - id: generate-portrait
86
+ title: "👤 Generate Portrait"
87
+ description: "Create portrait images"
88
+ prompt: "Generate a professional portrait of a person in business attire with a clean studio background."
89
+ category: generation
90
+ priority: 9
91
+ - id: generate-abstract
92
+ title: "🌀 Generate Abstract Art"
93
+ description: "Create abstract artistic images"
94
+ prompt: "Generate an abstract art piece with swirling colors and geometric patterns inspired by Kandinsky."
95
+ category: generation
96
+ priority: 8
97
+ - id: generate-product
98
+ title: "📦 Generate Product Image"
99
+ description: "Create product photography"
100
+ prompt: "Generate a professional product photo of a sleek modern smartphone on a minimalist white background."
101
+ category: generation
102
+ priority: 7
@@ -66,7 +66,7 @@ This agent uses the refactored Gemini TTS MCP server to generate high-quality sp
66
66
 
67
67
  2. **Run the Agent**:
68
68
  ```bash
69
- dexto --mode web -a agents/podcast-agent/podcast-agent.yml
69
+ dexto -a agents/podcast-agent/podcast-agent.yml
70
70
  ```
71
71
 
72
72
  The agent will automatically install the Gemini TTS MCP server from npm when needed.