dexto 1.1.10 → 1.2.0

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 (181) hide show
  1. package/README.md +222 -84
  2. package/dist/agents/agent-registry.json +39 -1
  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 +44 -2
  7. package/dist/agents/default-agent.yml +137 -13
  8. package/dist/agents/github-agent/github-agent.yml +42 -0
  9. package/dist/agents/image-editor-agent/image-editor-agent.yml +9 -2
  10. package/dist/agents/music-agent/README.md +1 -1
  11. package/dist/agents/music-agent/music-agent.yml +36 -2
  12. package/dist/agents/nano-banana-agent/nano-banana-agent.yml +35 -1
  13. package/dist/agents/podcast-agent/README.md +1 -1
  14. package/dist/agents/podcast-agent/podcast-agent.yml +37 -3
  15. package/dist/agents/product-name-researcher/product-name-researcher.yml +37 -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 +17 -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 +16 -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/mcp/tool-aggregation-handler.d.ts.map +1 -1
  34. package/dist/api/mcp/tool-aggregation-handler.js +34 -42
  35. package/dist/api/memory/memory-handler.d.ts +18 -0
  36. package/dist/api/memory/memory-handler.d.ts.map +1 -0
  37. package/dist/api/memory/memory-handler.js +137 -0
  38. package/dist/api/middleware/errorHandler.d.ts.map +1 -1
  39. package/dist/api/middleware/errorHandler.js +2 -0
  40. package/dist/api/server.d.ts +2 -2
  41. package/dist/api/server.d.ts.map +1 -1
  42. package/dist/api/server.js +1129 -257
  43. package/dist/api/webhook-subscriber.d.ts.map +1 -1
  44. package/dist/api/webhook-subscriber.js +2 -1
  45. package/dist/api/websocket-subscriber.d.ts.map +1 -1
  46. package/dist/api/websocket-subscriber.js +67 -10
  47. package/dist/cli/cli-subscriber.d.ts +2 -1
  48. package/dist/cli/cli-subscriber.d.ts.map +1 -1
  49. package/dist/cli/cli-subscriber.js +11 -3
  50. package/dist/cli/cli.d.ts.map +1 -1
  51. package/dist/cli/cli.js +1 -0
  52. package/dist/cli/commands/install.d.ts +3 -3
  53. package/dist/cli/commands/install.d.ts.map +1 -1
  54. package/dist/cli/commands/install.js +223 -41
  55. package/dist/cli/commands/interactive-commands/model/model-commands.js +2 -2
  56. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +8 -1
  57. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
  58. package/dist/cli/commands/interactive-commands/prompt-commands.js +252 -4
  59. package/dist/cli/commands/list-agents.d.ts.map +1 -1
  60. package/dist/cli/commands/list-agents.js +22 -3
  61. package/dist/cli/commands/setup.d.ts +4 -4
  62. package/dist/cli/commands/uninstall.d.ts +1 -1
  63. package/dist/cli/tool-confirmation/cli-confirmation-handler.d.ts +36 -7
  64. package/dist/cli/tool-confirmation/cli-confirmation-handler.d.ts.map +1 -1
  65. package/dist/cli/tool-confirmation/cli-confirmation-handler.js +314 -34
  66. package/dist/cli/utils/options.js +2 -2
  67. package/dist/index.js +117 -64
  68. package/dist/webui/.next/standalone/.next/static/chunks/419-6d449dcb2b056299.js +1 -0
  69. package/dist/webui/.next/standalone/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  70. package/dist/webui/.next/standalone/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  71. package/dist/webui/.next/standalone/.next/static/chunks/765-755286dc586b1a51.js +1 -0
  72. package/dist/webui/.next/standalone/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  73. package/dist/webui/.next/standalone/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  74. package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  75. package/dist/webui/.next/standalone/.next/static/chunks/app/layout-f4a6ee5a028899d1.js +1 -0
  76. package/dist/webui/.next/standalone/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  77. package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  78. package/dist/webui/.next/standalone/.next/static/chunks/main-7decd42f62688419.js +1 -0
  79. package/dist/webui/.next/standalone/.next/static/chunks/{webpack-7c234e7e7e272295.js → webpack-7229fd0786f0483c.js} +1 -1
  80. package/dist/webui/.next/standalone/.next/static/css/c3c26ec984df1deb.css +1 -0
  81. package/dist/webui/.next/standalone/.next/static/css/de70bee13400563f.css +1 -0
  82. package/dist/webui/.next/standalone/.next/static/uqfH8SY_uhwdc0ZkpMwCO/_buildManifest.js +1 -0
  83. package/dist/webui/.next/standalone/package.json +7 -2
  84. package/dist/webui/.next/standalone/packages/webui/.next/BUILD_ID +1 -1
  85. package/dist/webui/.next/standalone/packages/webui/.next/app-build-manifest.json +30 -15
  86. package/dist/webui/.next/standalone/packages/webui/.next/app-path-routes-manifest.json +1 -0
  87. package/dist/webui/.next/standalone/packages/webui/.next/build-manifest.json +7 -7
  88. package/dist/webui/.next/standalone/packages/webui/.next/prerender-manifest.json +3 -3
  89. package/dist/webui/.next/standalone/packages/webui/.next/required-server-files.json +1 -11
  90. package/dist/webui/.next/standalone/packages/webui/.next/routes-manifest.json +11 -8
  91. package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page.js +1 -1
  92. package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page.js.nft.json +1 -1
  93. package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  94. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js +2 -0
  95. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js.nft.json +1 -0
  96. package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page_client-reference-manifest.js +1 -0
  97. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js +2 -11
  98. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js.nft.json +1 -1
  99. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page_client-reference-manifest.js +1 -1
  100. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js +4 -8
  101. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js.nft.json +1 -1
  102. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page_client-reference-manifest.js +1 -1
  103. package/dist/webui/.next/standalone/packages/webui/.next/server/app-paths-manifest.json +1 -0
  104. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/1.js +12 -0
  105. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/102.js +25 -0
  106. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/383.js +1 -0
  107. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/{619.js → 426.js} +2 -2
  108. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/43.js +1 -1
  109. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/985.js +5 -0
  110. package/dist/webui/.next/standalone/packages/webui/.next/server/middleware-build-manifest.js +1 -1
  111. package/dist/webui/.next/standalone/packages/webui/.next/server/pages/500.html +1 -1
  112. package/dist/webui/.next/standalone/packages/webui/.next/server/server-reference-manifest.json +1 -1
  113. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-6d449dcb2b056299.js +1 -0
  114. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  115. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  116. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/765-755286dc586b1a51.js +1 -0
  117. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  118. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  119. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  120. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/layout-f4a6ee5a028899d1.js +1 -0
  121. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  122. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  123. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
  124. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/{webpack-7c234e7e7e272295.js → webpack-7229fd0786f0483c.js} +1 -1
  125. package/dist/webui/.next/standalone/packages/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
  126. package/dist/webui/.next/standalone/packages/webui/.next/static/css/de70bee13400563f.css +1 -0
  127. package/dist/webui/.next/standalone/packages/webui/.next/static/uqfH8SY_uhwdc0ZkpMwCO/_buildManifest.js +1 -0
  128. package/dist/webui/.next/standalone/packages/webui/package.json +11 -4
  129. package/dist/webui/.next/standalone/packages/webui/server.js +1 -1
  130. package/dist/webui/.next/static/chunks/419-6d449dcb2b056299.js +1 -0
  131. package/dist/webui/.next/static/chunks/614-3519f8a6051e0088.js +1 -0
  132. package/dist/webui/.next/static/chunks/656-5a9f6405badf66a8.js +25 -0
  133. package/dist/webui/.next/static/chunks/765-755286dc586b1a51.js +1 -0
  134. package/dist/webui/.next/static/chunks/804-f40df92a3adffcc0.js +1 -0
  135. package/dist/webui/.next/static/chunks/854-232126f3c77e6c0b.js +1 -0
  136. package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +1 -0
  137. package/dist/webui/.next/static/chunks/app/layout-f4a6ee5a028899d1.js +1 -0
  138. package/dist/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +1 -0
  139. package/dist/webui/.next/static/chunks/app/playground/page-6f8d2abe76e51dfc.js +1 -0
  140. package/dist/webui/.next/static/chunks/main-7decd42f62688419.js +1 -0
  141. package/dist/webui/.next/static/chunks/{webpack-7c234e7e7e272295.js → webpack-7229fd0786f0483c.js} +1 -1
  142. package/dist/webui/.next/static/css/c3c26ec984df1deb.css +1 -0
  143. package/dist/webui/.next/static/css/de70bee13400563f.css +1 -0
  144. package/dist/webui/.next/static/uqfH8SY_uhwdc0ZkpMwCO/_buildManifest.js +1 -0
  145. package/dist/webui/package.json +11 -4
  146. package/package.json +5 -4
  147. package/dist/webui/.next/standalone/.next/static/PvkEd_BO6ZXxX99T_gUvs/_buildManifest.js +0 -1
  148. package/dist/webui/.next/standalone/.next/static/chunks/179-78abc2eacbc41da9.js +0 -1
  149. package/dist/webui/.next/standalone/.next/static/chunks/442-b1916bec348454b3.js +0 -1
  150. package/dist/webui/.next/standalone/.next/static/chunks/544-c4a8f278ed1a25d7.js +0 -1
  151. package/dist/webui/.next/standalone/.next/static/chunks/854-2a6d5a5297a15d52.js +0 -1
  152. package/dist/webui/.next/standalone/.next/static/chunks/app/layout-dde711766eda096b.js +0 -1
  153. package/dist/webui/.next/standalone/.next/static/chunks/app/page-5e94d5a49dc718d0.js +0 -1
  154. package/dist/webui/.next/standalone/.next/static/chunks/app/playground/page-9ae40e0b219583e3.js +0 -1
  155. package/dist/webui/.next/standalone/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  156. package/dist/webui/.next/standalone/.next/static/css/045cc65741e38fbd.css +0 -3
  157. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/549.js +0 -1
  158. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/950.js +0 -5
  159. package/dist/webui/.next/standalone/packages/webui/.next/static/PvkEd_BO6ZXxX99T_gUvs/_buildManifest.js +0 -1
  160. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/179-78abc2eacbc41da9.js +0 -1
  161. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/442-b1916bec348454b3.js +0 -1
  162. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/544-c4a8f278ed1a25d7.js +0 -1
  163. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-2a6d5a5297a15d52.js +0 -1
  164. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/layout-dde711766eda096b.js +0 -1
  165. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-5e94d5a49dc718d0.js +0 -1
  166. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/playground/page-9ae40e0b219583e3.js +0 -1
  167. package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  168. package/dist/webui/.next/standalone/packages/webui/.next/static/css/045cc65741e38fbd.css +0 -3
  169. package/dist/webui/.next/static/PvkEd_BO6ZXxX99T_gUvs/_buildManifest.js +0 -1
  170. package/dist/webui/.next/static/chunks/179-78abc2eacbc41da9.js +0 -1
  171. package/dist/webui/.next/static/chunks/442-b1916bec348454b3.js +0 -1
  172. package/dist/webui/.next/static/chunks/544-c4a8f278ed1a25d7.js +0 -1
  173. package/dist/webui/.next/static/chunks/854-2a6d5a5297a15d52.js +0 -1
  174. package/dist/webui/.next/static/chunks/app/layout-dde711766eda096b.js +0 -1
  175. package/dist/webui/.next/static/chunks/app/page-5e94d5a49dc718d0.js +0 -1
  176. package/dist/webui/.next/static/chunks/app/playground/page-9ae40e0b219583e3.js +0 -1
  177. package/dist/webui/.next/static/chunks/main-b65ece3506a2355c.js +0 -1
  178. package/dist/webui/.next/static/css/045cc65741e38fbd.css +0 -3
  179. /package/dist/webui/.next/standalone/.next/static/{PvkEd_BO6ZXxX99T_gUvs → uqfH8SY_uhwdc0ZkpMwCO}/_ssgManifest.js +0 -0
  180. /package/dist/webui/.next/standalone/packages/webui/.next/static/{PvkEd_BO6ZXxX99T_gUvs → uqfH8SY_uhwdc0ZkpMwCO}/_ssgManifest.js +0 -0
  181. /package/dist/webui/.next/static/{PvkEd_BO6ZXxX99T_gUvs → uqfH8SY_uhwdc0ZkpMwCO}/_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
@@ -26,6 +26,9 @@ mcpServers:
26
26
  timeout: 30000
27
27
  connectionMode: lenient
28
28
 
29
+ # Optional greeting shown at chat start (UI can consume this)
30
+ greeting: "🗄️ Hi! I'm your Database Agent. What would you like to explore?"
31
+
29
32
  # System prompt that defines the agent's database interaction capabilities
30
33
  systemPrompt:
31
34
  contributors:
@@ -108,9 +111,48 @@ systemPrompt:
108
111
  source: dateTime
109
112
  enabled: true
110
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
+
111
126
  # LLM configuration for intelligent database interactions
112
127
  llm:
113
128
  provider: openai
114
- model: gpt-4o-mini
129
+ model: gpt-5-mini
115
130
  apiKey: $OPENAI_API_KEY
116
- 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
@@ -14,13 +14,6 @@ mcpServers:
14
14
  - -y
15
15
  - "@playwright/mcp@latest"
16
16
 
17
- # hf:
18
- # type: stdio
19
- # command: npx
20
- # args:
21
- # - -y
22
- # - "@llmindset/mcp-hfspace"
23
-
24
17
  # System prompt configuration - defines the agent's behavior and instructions
25
18
  systemPrompt:
26
19
  contributors:
@@ -37,28 +30,159 @@ systemPrompt:
37
30
  priority: 10
38
31
  source: dateTime
39
32
  enabled: true
33
+ - id: memories
34
+ type: memory
35
+ priority: 40
36
+ enabled: true
37
+ options:
38
+ includeTimestamps: false
39
+ includeTags: true
40
+ limit: 10
41
+ pinnedOnly: false
40
42
 
41
43
  # Optional greeting shown at chat start (UI can consume this)
42
- greeting: "Hi! Im Dexto — how can I help today?"
44
+ greeting: "Hi! I'm Dexto — how can I help today?"
43
45
 
44
- # # describes the llm configuration
46
+ # LLM configuration - describes the language model to use
45
47
  llm:
46
48
  provider: openai
47
49
  model: gpt-5-mini
48
50
  apiKey: $OPENAI_API_KEY
49
51
 
50
- # Storage configuration - uses a two-tier architecture: cache (fast, ephemeral) and database (persistent, reliable)
51
- # Memory cache with file-based database (good for development with persistence)
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
55
64
  database:
56
65
  type: sqlite
57
- # path: ./data/dexto.db
66
+ # path: ./data/dexto.db # Optional: customize database location
67
+ blob:
68
+ type: local # 'local', 's3', 'gcs', 'azure' (s3, gcs, azure coming in future Phases)
69
+ maxBlobSize: 52428800 # 50MB per blob
70
+ maxTotalSize: 1073741824 # 1GB total storage
71
+ cleanupAfterDays: 30 # Auto-cleanup blobs older than 30 days
72
+ # storePath: ~/.dexto/blobs (defaults to context-aware path for local backend)
73
+
74
+ toolConfirmation:
75
+ mode: event-based
76
+ timeout: 120000 # Time to wait for approval (ms)
77
+ allowedToolsStorage: memory # 'memory' or 'storage' for persisting allowed tools
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
+
94
+ # Internal tools - built-in Dexto capabilities
95
+ internalTools:
96
+ - ask_user # Allows the agent to ask you questions and collect structured input
97
+
98
+ # Internal resources configuration - manages file system access and blob storage
99
+ # NOTE: Blob storage capacity and backend settings are in the 'storage.blob' section above
100
+ internalResources:
101
+ enabled: true
102
+ resources:
103
+ # Filesystem resource - provides read access to local files for the agent
104
+ - type: filesystem
105
+ paths: ["."] # Directories to expose
106
+ maxFiles: 50 # Maximum number of files to index
107
+ maxDepth: 3 # Maximum directory depth to traverse
108
+ includeHidden: false # Include hidden files/directories
109
+ includeExtensions: [".txt", ".md", ".json", ".yaml", ".yml", ".js", ".ts", ".py", ".html", ".css"]
110
+
111
+ # Blob resource - enables large file upload/storage (settings in storage.blob section above)
112
+ - type: blob
113
+
114
+ # Plugin system - built-in plugins for content policy and response sanitization
115
+ # plugins:
116
+ # # ContentPolicy - validates and sanitizes input before sending to LLM
117
+ # contentPolicy:
118
+ # priority: 10 # Lower priority = runs first
119
+ # blocking: true # Blocks execution if validation fails
120
+ # maxInputChars: 50000 # Maximum input length (characters)
121
+ # redactEmails: true # Redact email addresses from input
122
+ # redactApiKeys: true # Redact potential API keys from input
123
+ # enabled: true # Enable this plugin
124
+
125
+ # # ResponseSanitizer - sanitizes LLM responses before returning to user
126
+ # responseSanitizer:
127
+ # priority: 900 # Higher priority = runs near the end
128
+ # blocking: false # Non-blocking (logs warnings but doesn't stop)
129
+ # redactEmails: true # Redact email addresses from responses
130
+ # redactApiKeys: true # Redact potential API keys from responses
131
+ # maxResponseLength: 100000 # Maximum response length (characters)
132
+ # enabled: true # Enable this plugin
133
+
134
+ # # Custom plugins can be added here (see documentation)
135
+ # # custom:
136
+ # # - name: tenant-auth
137
+ # # module: "${{dexto.agent_dir}}/plugins/tenant-auth.ts"
138
+ # # enabled: true
139
+ # # blocking: true
140
+ # # priority: 100
141
+ # # config:
142
+ # # enforceQuota: true
143
+
144
+ # Starter prompts - predefined prompts that appear as clickable buttons in the WebUI
145
+ starterPrompts:
146
+ - id: quick-start
147
+ title: "📚 Quick Start Guide"
148
+ description: "Learn the basics and see what you can do"
149
+ prompt: "I'd like to get started quickly. Can you show me a few examples of what you can do and help me understand how to work with you?"
150
+ category: learning
151
+ priority: 9
152
+ - id: tool-demo
153
+ title: "⚡ Tool Demonstration"
154
+ description: "See the tools in action with practical examples"
155
+ prompt: "I'd like to see your tools in action. Can you pick one of your most interesting tools and demonstrate it with a practical example? Show me what it can do and how it works."
156
+ category: tools
157
+ priority: 5
158
+ - id: snake-game
159
+ title: "🐍 Create Snake Game"
160
+ description: "Build a fun interactive game with HTML, CSS, and JavaScript"
161
+ prompt: "Create a snake game in a new directory with HTML, CSS, and JavaScript, then open it in the browser for me to play."
162
+ category: coding
163
+ priority: 4
164
+ - id: connect-tools
165
+ title: "🔧 Connect New Tools"
166
+ description: "Browse and add MCP servers to extend capabilities"
167
+ prompt: "I want to connect new tools to expand my capabilities. Can you help me understand what MCP servers are available and how to add them?"
168
+ category: tools
169
+ priority: 3
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>
58
182
 
59
183
  ## To use Google Gemini, replace the LLM section with Google Gemini configuration below
60
184
  ## Similar for anthropic/groq/etc.
61
185
  # llm:
62
186
  # provider: google
63
- # model: gemini-2.0-flash
187
+ # model: gemini-2.5-pro
64
188
  # apiKey: $GOOGLE_GENERATIVE_AI_API_KEY
@@ -17,6 +17,9 @@ mcpServers:
17
17
  # env:
18
18
  # GITHUB_OAUTH_SCOPES: 'repo read:user'
19
19
 
20
+ # Optional greeting shown at chat start (UI can consume this)
21
+ greeting: "🐙 Hello! I'm your GitHub Agent. How can I help with your repositories?"
22
+
20
23
  systemPrompt:
21
24
  contributors:
22
25
  - id: primary
@@ -50,8 +53,47 @@ systemPrompt:
50
53
  source: dateTime
51
54
  enabled: true
52
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
+
53
68
  llm:
54
69
  provider: openai
55
70
  model: gpt-5-mini
56
71
  apiKey: $OPENAI_API_KEY
57
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
+