dexto 1.0.2 → 1.1.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 (165) hide show
  1. package/README.md +1 -1
  2. package/agents/agent-registry.json +53 -0
  3. package/agents/database-agent/README.md +35 -0
  4. package/agents/database-agent/data/example.db +0 -0
  5. package/agents/database-agent/database-agent-example.sql +98 -0
  6. package/agents/database-agent/database-agent.yml +116 -0
  7. package/agents/database-agent/setup-database.sh +64 -0
  8. package/agents/{agent.yml → default-agent.yml} +1 -1
  9. package/agents/image-editor-agent/Lenna.webp +0 -0
  10. package/agents/image-editor-agent/README.md +435 -0
  11. package/agents/image-editor-agent/image-editor-agent.yml +45 -0
  12. package/agents/music-agent/README.md +294 -0
  13. package/agents/music-agent/music-agent.yml +43 -0
  14. package/agents/product-name-researcher/README.md +98 -0
  15. package/agents/product-name-researcher/product-name-researcher.yml +161 -0
  16. package/agents/talk2pdf-agent/README.md +166 -0
  17. package/agents/talk2pdf-agent/talk2pdf-agent.yml +42 -0
  18. package/agents/triage-demo/README.md +337 -0
  19. package/agents/triage-demo/billing-agent.yml +76 -0
  20. package/agents/triage-demo/docs/billing-policies.md +246 -0
  21. package/agents/triage-demo/docs/company-overview.md +94 -0
  22. package/agents/triage-demo/docs/escalation-policies.md +301 -0
  23. package/agents/triage-demo/docs/product-features.md +253 -0
  24. package/agents/triage-demo/docs/technical-documentation.md +226 -0
  25. package/agents/triage-demo/escalation-agent.yml +82 -0
  26. package/agents/triage-demo/product-info-agent.yml +86 -0
  27. package/agents/triage-demo/technical-support-agent.yml +71 -0
  28. package/agents/triage-demo/test-scenarios.md +209 -0
  29. package/agents/triage-demo/triage-agent.yml +172 -0
  30. package/dist/src/app/chunk-CLDYRNV6.js +10139 -0
  31. package/dist/src/app/chunk-DYNVXGAH.js +137 -0
  32. package/dist/src/app/chunk-PW2PHCHR.js +83 -0
  33. package/dist/src/app/chunk-R4Q522DR.js +205 -0
  34. package/dist/src/app/chunk-UXCBS3TR.js +281 -0
  35. package/dist/src/app/chunk-X6LEX724.js +108 -0
  36. package/dist/src/app/chunk-Y33BS5SA.js +39 -0
  37. package/dist/src/app/{cli-confirmation-handler-EZF6AMUS.js → cli-confirmation-handler-GJHPLGOL.js} +4 -1
  38. package/dist/src/app/errors-5MNETGOV.js +8 -0
  39. package/dist/src/app/index.js +1604 -8978
  40. package/dist/src/app/loader-EFMKWNNQ.js +20 -0
  41. package/dist/src/app/path-7FT4SZMO.js +23 -0
  42. package/dist/src/app/{postgres-backend-7HVVW3RL.js → postgres-backend-U5MIIMUY.js} +12 -1
  43. package/dist/src/app/{redis-backend-2YBZSSSV.js → redis-backend-NGI67ILT.js} +38 -9
  44. package/dist/src/app/registry-RALMVM3P.js +14 -0
  45. package/dist/src/app/sqlite-backend-752UUBD4.js +245 -0
  46. package/dist/src/app/webui/.next/standalone/.next/BUILD_ID +1 -1
  47. package/dist/src/app/webui/.next/standalone/.next/app-build-manifest.json +20 -21
  48. package/dist/src/app/webui/.next/standalone/.next/app-path-routes-manifest.json +0 -1
  49. package/dist/src/app/webui/.next/standalone/.next/build-manifest.json +4 -4
  50. package/dist/src/app/webui/.next/standalone/.next/prerender-manifest.json +4 -82
  51. package/dist/src/app/webui/.next/standalone/.next/required-server-files.json +2 -3
  52. package/dist/src/app/webui/.next/standalone/.next/routes-manifest.json +0 -6
  53. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  54. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  55. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  56. package/dist/src/app/webui/.next/standalone/.next/server/app/page.js +7 -3
  57. package/dist/src/app/webui/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  58. package/dist/src/app/webui/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  59. package/dist/src/app/webui/.next/standalone/.next/server/app/playground/page.js +8 -8
  60. package/dist/src/app/webui/.next/standalone/.next/server/app/playground/page.js.nft.json +1 -1
  61. package/dist/src/app/webui/.next/standalone/.next/server/app/playground/page_client-reference-manifest.js +1 -1
  62. package/dist/src/app/webui/.next/standalone/.next/server/app-paths-manifest.json +0 -1
  63. package/dist/src/app/webui/.next/standalone/.next/server/chunks/176.js +1 -0
  64. package/dist/src/app/webui/.next/standalone/.next/server/chunks/195.js +24 -0
  65. package/dist/src/app/webui/.next/standalone/.next/server/chunks/620.js +1 -0
  66. package/dist/src/app/webui/.next/standalone/.next/server/chunks/80.js +5 -0
  67. package/dist/src/app/webui/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  68. package/dist/src/app/webui/.next/standalone/.next/server/pages/500.html +1 -1
  69. package/dist/src/app/webui/.next/standalone/.next/server/pages-manifest.json +1 -2
  70. package/dist/src/app/webui/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  71. package/dist/src/app/webui/.next/standalone/.next/server/webpack-runtime.js +1 -1
  72. package/dist/src/app/webui/.next/standalone/.next/static/chunks/190-b897ef36fde616bf.js +1 -0
  73. package/dist/src/app/webui/.next/standalone/.next/static/chunks/487-a77054bd2c64c79c.js +1 -0
  74. package/dist/src/app/webui/.next/standalone/.next/static/chunks/588-dbe47a44489742dd.js +1 -0
  75. package/dist/src/app/webui/.next/standalone/.next/static/chunks/62-35030b5cb176bd7b.js +1 -0
  76. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/layout-91c0cb9eb1ee327a.js +1 -0
  77. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/page-3279aaf14db87f45.js +1 -0
  78. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/playground/page-200aad53af9ca53f.js +1 -0
  79. package/dist/src/app/webui/.next/standalone/.next/static/css/af71306827be150e.css +3 -0
  80. package/dist/src/app/webui/.next/standalone/.next/static/tpCURR82LyyGfdALJ4Qvl/_buildManifest.js +1 -0
  81. package/dist/src/app/webui/.next/standalone/package.json +4 -3
  82. package/dist/src/app/webui/.next/standalone/public/favicon2.ico +0 -0
  83. package/dist/src/app/webui/.next/standalone/public/logo.svg +1 -0
  84. package/dist/src/app/webui/.next/standalone/public/logo_no_text.png +0 -0
  85. package/dist/src/app/webui/.next/standalone/server.js +1 -1
  86. package/dist/src/app/webui/.next/static/chunks/190-b897ef36fde616bf.js +1 -0
  87. package/dist/src/app/webui/.next/static/chunks/487-a77054bd2c64c79c.js +1 -0
  88. package/dist/src/app/webui/.next/static/chunks/588-dbe47a44489742dd.js +1 -0
  89. package/dist/src/app/webui/.next/static/chunks/62-35030b5cb176bd7b.js +1 -0
  90. package/dist/src/app/webui/.next/static/chunks/app/layout-91c0cb9eb1ee327a.js +1 -0
  91. package/dist/src/app/webui/.next/static/chunks/app/page-3279aaf14db87f45.js +1 -0
  92. package/dist/src/app/webui/.next/static/chunks/app/playground/page-200aad53af9ca53f.js +1 -0
  93. package/dist/src/app/webui/.next/static/css/af71306827be150e.css +3 -0
  94. package/dist/src/app/webui/.next/static/tpCURR82LyyGfdALJ4Qvl/_buildManifest.js +1 -0
  95. package/dist/src/app/webui/package.json +4 -3
  96. package/dist/src/app/webui/public/favicon2.ico +0 -0
  97. package/dist/src/app/webui/public/logo.svg +1 -0
  98. package/dist/src/app/webui/public/logo_no_text.png +0 -0
  99. package/dist/src/core/chunk-7A6NQKQ3.js +193 -0
  100. package/dist/src/core/chunk-CZIXQNMZ.js +12191 -0
  101. package/dist/src/core/index.cjs +10605 -8030
  102. package/dist/src/core/index.d.cts +4339 -3927
  103. package/dist/src/core/index.d.ts +4339 -3927
  104. package/dist/src/core/index.js +113 -8381
  105. package/dist/src/core/{postgres-backend-ERZ6DP76.js → postgres-backend-LOLKTD2T.js} +9 -2
  106. package/dist/src/core/{redis-backend-46O7Y44C.js → redis-backend-APZ576PJ.js} +35 -10
  107. package/dist/src/core/sqlite-backend-KQ75DPR7.js +245 -0
  108. package/package.json +18 -11
  109. package/dist/src/app/chunk-W7G44EAE.js +0 -463
  110. package/dist/src/app/sqlite-backend-VRXGIKHQ.js +0 -180
  111. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found.html +0 -1
  112. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found.meta +0 -8
  113. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found.rsc +0 -21
  114. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico/route.js +0 -1
  115. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  116. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico.body +0 -0
  117. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico.meta +0 -1
  118. package/dist/src/app/webui/.next/standalone/.next/server/app/index.html +0 -1
  119. package/dist/src/app/webui/.next/standalone/.next/server/app/index.meta +0 -7
  120. package/dist/src/app/webui/.next/standalone/.next/server/app/index.rsc +0 -22
  121. package/dist/src/app/webui/.next/standalone/.next/server/app/playground.html +0 -1
  122. package/dist/src/app/webui/.next/standalone/.next/server/app/playground.meta +0 -7
  123. package/dist/src/app/webui/.next/standalone/.next/server/app/playground.rsc +0 -25
  124. package/dist/src/app/webui/.next/standalone/.next/server/chunks/447.js +0 -20
  125. package/dist/src/app/webui/.next/standalone/.next/server/chunks/504.js +0 -1
  126. package/dist/src/app/webui/.next/standalone/.next/server/chunks/54.js +0 -5
  127. package/dist/src/app/webui/.next/standalone/.next/server/chunks/624.js +0 -1
  128. package/dist/src/app/webui/.next/standalone/.next/server/chunks/985.js +0 -5
  129. package/dist/src/app/webui/.next/standalone/.next/server/pages/404.html +0 -1
  130. package/dist/src/app/webui/.next/standalone/.next/static/L4341-2-iEIknMYuTWeoz/_buildManifest.js +0 -1
  131. package/dist/src/app/webui/.next/standalone/.next/static/chunks/125-9b34ec01f112cdb2.js +0 -1
  132. package/dist/src/app/webui/.next/standalone/.next/static/chunks/487-c6ea8b63ca68db1c.js +0 -1
  133. package/dist/src/app/webui/.next/standalone/.next/static/chunks/588-20dc7f3a8664c387.js +0 -1
  134. package/dist/src/app/webui/.next/standalone/.next/static/chunks/687-3e614f30982093f6.js +0 -1
  135. package/dist/src/app/webui/.next/standalone/.next/static/chunks/879-cf875984faa0b72f.js +0 -1
  136. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/layout-ed56660b7ecaf47b.js +0 -1
  137. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/page-b05580de36ce0e36.js +0 -1
  138. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/playground/page-ac5443cddbe824aa.js +0 -1
  139. package/dist/src/app/webui/.next/standalone/.next/static/css/d44f09bc2605dc76.css +0 -3
  140. package/dist/src/app/webui/.next/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +0 -19
  141. package/dist/src/app/webui/.next/standalone/public/favicon.svg +0 -26
  142. package/dist/src/app/webui/.next/standalone/public/logo.png +0 -0
  143. package/dist/src/app/webui/.next/static/L4341-2-iEIknMYuTWeoz/_buildManifest.js +0 -1
  144. package/dist/src/app/webui/.next/static/chunks/125-9b34ec01f112cdb2.js +0 -1
  145. package/dist/src/app/webui/.next/static/chunks/487-c6ea8b63ca68db1c.js +0 -1
  146. package/dist/src/app/webui/.next/static/chunks/588-20dc7f3a8664c387.js +0 -1
  147. package/dist/src/app/webui/.next/static/chunks/687-3e614f30982093f6.js +0 -1
  148. package/dist/src/app/webui/.next/static/chunks/879-cf875984faa0b72f.js +0 -1
  149. package/dist/src/app/webui/.next/static/chunks/app/layout-ed56660b7ecaf47b.js +0 -1
  150. package/dist/src/app/webui/.next/static/chunks/app/page-b05580de36ce0e36.js +0 -1
  151. package/dist/src/app/webui/.next/static/chunks/app/playground/page-ac5443cddbe824aa.js +0 -1
  152. package/dist/src/app/webui/.next/static/css/d44f09bc2605dc76.css +0 -3
  153. package/dist/src/app/webui/public/favicon.svg +0 -26
  154. package/dist/src/app/webui/public/logo.png +0 -0
  155. package/dist/src/core/chunk-6VYPSHEV.js +0 -2153
  156. package/dist/src/core/chunk-BYHW25EA.js +0 -41
  157. package/dist/src/core/sqlite-backend-M2ZPSSIZ.js +0 -184
  158. /package/dist/src/app/webui/.next/standalone/.next/static/chunks/{4bd1b696-2df85d4b3b58aed5.js → 4bd1b696-c95fa02060335229.js} +0 -0
  159. /package/dist/src/app/webui/.next/standalone/.next/static/chunks/{684-058c08971e023037.js → 684-2e7175657246b549.js} +0 -0
  160. /package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/_not-found/{page-7b137d85f9de4771.js → page-b63df5a8d3225455.js} +0 -0
  161. /package/dist/src/app/webui/.next/standalone/.next/static/{L4341-2-iEIknMYuTWeoz → tpCURR82LyyGfdALJ4Qvl}/_ssgManifest.js +0 -0
  162. /package/dist/src/app/webui/.next/static/chunks/{4bd1b696-2df85d4b3b58aed5.js → 4bd1b696-c95fa02060335229.js} +0 -0
  163. /package/dist/src/app/webui/.next/static/chunks/{684-058c08971e023037.js → 684-2e7175657246b549.js} +0 -0
  164. /package/dist/src/app/webui/.next/static/chunks/app/_not-found/{page-7b137d85f9de4771.js → page-b63df5a8d3225455.js} +0 -0
  165. /package/dist/src/app/webui/.next/static/{L4341-2-iEIknMYuTWeoz → tpCURR82LyyGfdALJ4Qvl}/_ssgManifest.js +0 -0
@@ -0,0 +1,71 @@
1
+ # Technical Support Agent Configuration
2
+ # Specializes in technical issues, troubleshooting, and bug reports
3
+
4
+ systemPrompt:
5
+ contributors:
6
+ - id: base-prompt
7
+ type: static
8
+ priority: 0
9
+ content: |
10
+ You are a specialized Technical Support Agent for TeamFlow, a cloud-based project management and team collaboration platform.
11
+
12
+ Your primary responsibilities:
13
+ - Diagnose and resolve technical problems, bugs, and system issues
14
+ - Provide step-by-step troubleshooting guidance
15
+ - Analyze error logs, system configurations, and performance issues
16
+ - Escalate complex technical issues when necessary
17
+ - Document common issues and their solutions
18
+
19
+ Your approach:
20
+ - Always ask for specific details: error messages, system info, steps to reproduce
21
+ - Provide clear, step-by-step instructions
22
+ - Verify solutions work before considering the issue resolved
23
+ - Be patient and explain technical concepts in simple terms
24
+ - When unsure, ask clarifying questions or escalate to senior technical support
25
+
26
+ Tools available to you:
27
+ - Filesystem access for log analysis and configuration checks
28
+ - Terminal access for system diagnostics and troubleshooting commands
29
+ - Browser automation for testing web-based issues
30
+
31
+ You have access to comprehensive technical documentation and troubleshooting guides for TeamFlow's platform, API, mobile apps, and integrations. Use this knowledge to provide accurate, specific solutions.
32
+
33
+ Remember: Your goal is to resolve technical issues efficiently while educating the user about TeamFlow's features and capabilities.
34
+
35
+ - id: company-overview
36
+ type: file
37
+ priority: 10
38
+ files:
39
+ - "${{dexto.agent_dir}}/docs/company-overview.md"
40
+ options:
41
+ includeFilenames: true
42
+ errorHandling: skip
43
+
44
+ - id: technical-docs
45
+ type: file
46
+ priority: 20
47
+ files:
48
+ - "${{dexto.agent_dir}}/docs/technical-documentation.md"
49
+ options:
50
+ includeFilenames: true
51
+ errorHandling: skip
52
+
53
+ mcpServers:
54
+ filesystem:
55
+ type: stdio
56
+ command: npx
57
+ args:
58
+ - -y
59
+ - "@modelcontextprotocol/server-filesystem"
60
+ - .
61
+ puppeteer:
62
+ type: stdio
63
+ command: npx
64
+ args:
65
+ - -y
66
+ - "@truffle-ai/puppeteer-server"
67
+
68
+ llm:
69
+ provider: openai
70
+ model: gpt-4o
71
+ apiKey: $OPENAI_API_KEY
@@ -0,0 +1,209 @@
1
+ # TeamFlow Triage Agent Test Scenarios
2
+
3
+ Use these realistic TeamFlow customer support scenarios to test the triage agent's **complete customer support workflow**. The triage agent will analyze each request, route to the appropriate specialist agent, execute the specialist via MCP tools, and provide complete customer responses.
4
+
5
+ ## 🔧 Technical Support Scenarios
6
+
7
+ ### Scenario T1: API Integration Issue
8
+ ```
9
+ Hi, I'm trying to integrate the TeamFlow API with our system but I keep getting a 401 unauthorized error even though I'm using the correct API key. I've checked the documentation but can't figure out what's wrong. Our rate limit should be 10,000/hour on our Pro plan. Can you help?
10
+ ```
11
+ **Expected Route**: Technical Support Agent
12
+ **Expected Response**: Complete troubleshooting guide including API key validation steps, common 401 causes, rate limit verification, and Pro plan API specifications
13
+ **Tool Execution**: `chat_with_agent` → Technical Support provides detailed debugging steps
14
+
15
+ ### Scenario T2: App Crash
16
+ ```
17
+ My TeamFlow mobile app crashes every time I try to export project data. It worked fine last week but now it just freezes and closes. I'm using iPhone 15 with iOS 17.2. This is really urgent as I need this data for a client presentation tomorrow.
18
+ ```
19
+ **Expected Route**: Technical Support Agent
20
+ **Expected Response**: Complete crash resolution including device-specific troubleshooting, export alternatives, and immediate workarounds for urgent timeline
21
+ **Tool Execution**: `chat_with_agent` → Technical Support provides iOS-specific fixes and emergency data export options
22
+
23
+ ### Scenario T3: Performance Issue
24
+ ```
25
+ Your web dashboard has been extremely slow for the past 3 days. Pages take 30+ seconds to load and sometimes timeout completely. My internet connection is fine and other websites work normally.
26
+ ```
27
+ **Expected Route**: Technical Support Agent
28
+ **Expected Response**: Complete performance troubleshooting including browser optimization, cache clearing, system status check, and escalation to infrastructure team if needed
29
+ **Tool Execution**: `chat_with_agent` → Technical Support provides systematic performance diagnosis steps
30
+
31
+ ## 💳 Billing Support Scenarios
32
+
33
+ ### Scenario B1: Double Charge
34
+ ```
35
+ I just checked my credit card statement and I was charged twice for this month's subscription - once on the 1st for $49.99 and again on the 3rd for the same amount. I need the duplicate charge refunded immediately.
36
+ ```
37
+ **Expected Route**: Billing Agent
38
+ **Expected Response**: Complete refund process including charge verification, refund timeline (3-5 business days), and account credit options for immediate resolution
39
+ **Tool Execution**: `chat_with_agent` → Billing Agent provides specific refund procedures and account investigation steps
40
+
41
+ ### Scenario B2: Subscription Management
42
+ ```
43
+ I want to upgrade from the Basic plan to Pro plan but I'm confused about the pricing. Will I be charged the full Pro amount or just the difference? Also, when would the upgrade take effect?
44
+ ```
45
+ **Expected Route**: Billing Agent
46
+ **Expected Response**: Complete upgrade explanation including prorated billing calculation, immediate feature access, next billing cycle details, and upgrade procedure
47
+ **Tool Execution**: `chat_with_agent` → Billing Agent provides detailed prorated pricing explanation and upgrade process
48
+
49
+ ### Scenario B3: Payment Failure
50
+ ```
51
+ My payment failed this morning and now my account is suspended. I updated my credit card last week so I'm not sure why it didn't work. How can I get my account reactivated quickly?
52
+ ```
53
+ **Expected Route**: Billing Agent
54
+ **Expected Response**: Complete reactivation process including payment method verification, retry options, account status restoration timeline, and prevention steps
55
+ **Tool Execution**: `chat_with_agent` → Billing Agent provides immediate account reactivation steps and payment troubleshooting
56
+
57
+ ## 📖 Product Information Scenarios
58
+
59
+ ### Scenario P1: Feature Comparison
60
+ ```
61
+ What's the difference between TeamFlow's Pro and Enterprise plans? I specifically need to know about API rate limits, user management features, and data export capabilities. We're a team of 25 people and currently on the Basic plan.
62
+ ```
63
+ **Expected Route**: Product Info Agent
64
+ **Expected Response**: Complete plan comparison including detailed feature matrix, specific API limits (Pro: 10K/hour, Enterprise: 100K/hour), user management differences, and upgrade recommendation for 25-person team
65
+ **Tool Execution**: `chat_with_agent` → Product Info Agent provides comprehensive plan comparison with team-size specific recommendations
66
+
67
+ ### Scenario P2: How-To Question
68
+ ```
69
+ How do I set up automated reports to be sent to my team every Monday? I see the reporting feature but can't figure out how to schedule them. Is this available in my current plan?
70
+ ```
71
+ **Expected Route**: Product Info Agent
72
+ **Expected Response**: Complete setup guide including step-by-step report scheduling instructions, plan feature verification, and links to relevant documentation
73
+ **Tool Execution**: `chat_with_agent` → Product Info Agent provides detailed automated reporting setup walkthrough
74
+
75
+ ### Scenario P3: Integration Capabilities
76
+ ```
77
+ Does TeamFlow integrate with Salesforce and Slack? I need to sync customer project data and get notifications in our Slack channels. What's the setup process like and are there any limitations I should know about? We're on the Pro plan.
78
+ ```
79
+ **Expected Route**: Product Info Agent
80
+ **Expected Response**: Complete integration overview including supported Salesforce/Slack features, Pro plan limitations, setup documentation links, and configuration best practices
81
+ **Tool Execution**: `chat_with_agent` → Product Info Agent provides comprehensive integration capabilities and setup guidance
82
+
83
+ ## 🚨 Escalation Scenarios
84
+
85
+ ### Scenario E1: Legal Threat
86
+ ```
87
+ This is my fourth email about data privacy violations. Your service exposed my customer data to unauthorized parties and I'm considering legal action. I need to speak with a manager immediately about this data breach.
88
+ ```
89
+ **Expected Route**: Escalation Agent
90
+ **Expected Response**: Complete escalation including immediate management contact information, legal/compliance team connection, incident escalation procedure, and 2-hour response commitment
91
+ **Tool Execution**: `chat_with_agent` → Escalation Agent provides senior management contact and legal compliance escalation process
92
+
93
+ ### Scenario E2: Business Impact
94
+ ```
95
+ Your system outage yesterday caused my e-commerce site to be down for 6 hours during Black Friday. This resulted in approximately $50,000 in lost sales. I need compensation for this business interruption and want to discuss SLA violations.
96
+ ```
97
+ **Expected Route**: Escalation Agent
98
+ **Expected Response**: Complete business impact assessment including SLA review, compensation evaluation process, senior account manager contact, and formal incident investigation
99
+ **Tool Execution**: `chat_with_agent` → Escalation Agent provides business impact claim process and executive contact information
100
+
101
+ ### Scenario E3: Service Quality Complaint
102
+ ```
103
+ I've been a customer for 3 years and the service quality has declined dramatically. Multiple support tickets have been ignored, features are constantly broken, and I'm considering switching to a competitor. I want to speak with someone who can actually resolve these ongoing issues.
104
+ ```
105
+ **Expected Route**: Escalation Agent
106
+ **Expected Response**: Complete retention process including account review, senior support contact, service improvement plan, and customer success manager assignment
107
+ **Tool Execution**: `chat_with_agent` → Escalation Agent provides customer retention specialist contact and service quality improvement plan
108
+
109
+ ## 🤔 Mixed/Complex Scenarios
110
+
111
+ ### Scenario M1: Technical + Billing
112
+ ```
113
+ My API requests started failing yesterday with 429 rate limit errors, but I'm on the Pro plan which should have higher limits. Did my plan get downgraded? I'm still being charged the Pro price but getting Basic plan limits.
114
+ ```
115
+ **Expected Route**: Technical Support Agent (primary) or Billing Agent
116
+ **Expected Response**: Complete investigation including API limit verification, account status check, billing verification, and either technical resolution or billing escalation
117
+ **Tool Execution**: `chat_with_agent` → Technical Support investigates API limits and coordinates with billing if needed
118
+
119
+ ### Scenario M2: Product + Escalation
120
+ ```
121
+ I was promised during the sales call that your Enterprise plan includes custom integrations. However, after upgrading, I'm being told this requires an additional $10,000 implementation fee. This contradicts what I was told by your sales team.
122
+ ```
123
+ **Expected Route**: Escalation Agent
124
+ **Expected Response**: Complete sales promise review including sales team consultation, Enterprise feature verification, implementation fee clarification, and senior sales manager contact
125
+ **Tool Execution**: `chat_with_agent` → Escalation Agent provides sales promise investigation and senior management contact
126
+
127
+ ### Scenario M3: Vague Request
128
+ ```
129
+ Hi, I'm having trouble with your service. Can you help me?
130
+ ```
131
+ **Expected Route**: Should ask for clarification before routing
132
+ **Expected Response**: Polite clarification request with specific questions to help identify the issue type and appropriate specialist
133
+ **Tool Execution**: Triage agent asks clarifying questions without executing specialist tools
134
+
135
+ ## 🎯 Testing Instructions
136
+
137
+ ### Interactive Testing
138
+
139
+ 1. **Start the complete triage system**:
140
+ ```bash
141
+ npx dexto --agent agents/triage-demo/triage-agent.yml
142
+ ```
143
+
144
+ 2. **Copy and paste** scenarios from above into the chat
145
+
146
+ 3. **Observe the complete workflow**:
147
+ - **Routing analysis** (which specialist is chosen and why)
148
+ - **Tool execution** (`chat_with_agent` tool calls)
149
+ - **Complete customer response** (routing confirmation + specialist answer)
150
+ - **Response quality** (specificity, completeness, helpfulness)
151
+
152
+ ### One-Shot Testing
153
+
154
+ Test scenarios quickly with command-line execution:
155
+
156
+ ```bash
157
+ # Test Technical Support scenario
158
+ npx dexto --agent agents/triage-demo/triage-agent.yml "My TeamFlow mobile app crashes every time I try to export project data. I'm using iPhone 15 with iOS 17.2. This is urgent."
159
+
160
+ # Test Billing scenario
161
+ npx dexto --agent agents/triage-demo/triage-agent.yml "I want to upgrade from Basic to Pro but confused about pricing. Will I be charged the full amount?"
162
+
163
+ # Test Product Info scenario
164
+ npx dexto --agent agents/triage-demo/triage-agent.yml "What's the difference between Pro and Enterprise plans? I need API access for 25 people."
165
+
166
+ # Test Escalation scenario
167
+ npx dexto --agent agents/triage-demo/triage-agent.yml "Your system outage cost my business $50,000 in lost sales. I need compensation and want to discuss SLA violations."
168
+ ```
169
+
170
+ ### Expected Response Quality
171
+
172
+ For each test, verify that responses include:
173
+
174
+ 1. **Brief routing confirmation** (one sentence about which specialist was consulted)
175
+ 2. **Complete specialist answer** with specific, actionable information
176
+ 3. **Relevant details** from TeamFlow's business documentation
177
+ 4. **Appropriate tone** (professional, helpful, empathetic when needed)
178
+ 5. **Follow-up invitation** (offering additional help if needed)
179
+
180
+ ## 📊 Expected Results Summary
181
+
182
+ | Category | Count | Expected Workflow |
183
+ |----------|-------|-------------------|
184
+ | Technical | 3 | Route → Execute Technical Support → Complete troubleshooting response |
185
+ | Billing | 3 | Route → Execute Billing Agent → Complete billing/payment resolution |
186
+ | Product Info | 3 | Route → Execute Product Info Agent → Complete feature/plan information |
187
+ | Escalation | 3 | Route → Execute Escalation Agent → Complete escalation with contacts |
188
+ | Mixed/Complex | 3 | Route → Execute Primary Agent → Complete investigation/resolution |
189
+
190
+ ## 🔍 Success Criteria
191
+
192
+ The triage system should demonstrate:
193
+
194
+ - **95%+ routing accuracy** to appropriate specialist agents
195
+ - **100% tool execution** success (no failed `chat_with_agent` calls)
196
+ - **Complete responses** that directly address customer needs
197
+ - **Professional tone** with empathy for customer situations
198
+ - **Specific information** from TeamFlow business context (plans, policies, features)
199
+ - **Clear next steps** for customer resolution
200
+
201
+ ## 🚫 Common Issues to Watch For
202
+
203
+ - **Routing without execution**: Agent identifies correct specialist but doesn't call `chat_with_agent`
204
+ - **Tool confirmation prompts**: Should auto-approve due to configuration
205
+ - **Incomplete responses**: Missing specialist answers or generic routing messages
206
+ - **Wrong specialist**: Incorrect routing based on request analysis
207
+ - **Multiple tool calls**: Unnecessary repeated calls to specialists
208
+
209
+ The complete triage system should provide **seamless, professional customer support** that customers would expect from a real enterprise support team!
@@ -0,0 +1,172 @@
1
+ # Customer Support Triage Agent Configuration
2
+ # Main coordination agent that routes requests to specialized support agents
3
+
4
+ systemPrompt:
5
+ contributors:
6
+ - id: base-prompt
7
+ type: static
8
+ priority: 0
9
+ content: |
10
+ You are an intelligent Customer Support Triage Agent for TeamFlow, responsible for analyzing incoming customer requests and routing them to the most appropriate specialized support agent.
11
+
12
+ ## Your Core Mission
13
+ Quickly analyze each customer inquiry to determine:
14
+ 1. The primary issue category
15
+ 2. Urgency level
16
+ 3. Which specialized agent should handle it
17
+ 4. Any immediate information needed for effective routing
18
+
19
+ ## Available Specialized Agents
20
+
21
+ **Technical Support Agent** - Route here for:
22
+ - Bug reports, error messages, system failures
23
+ - API integration problems, technical troubleshooting
24
+ - Performance problems, crashes, connectivity issues
25
+ - Mobile app issues, browser compatibility problems
26
+ - Integration issues (Slack, GitHub, Salesforce, etc.)
27
+
28
+ **Billing Agent** - Route here for:
29
+ - Payment failures, billing questions, invoice disputes
30
+ - Plan changes (Basic $9/month, Pro $19/month, Enterprise $39/month)
31
+ - Refund requests, pricing inquiries
32
+ - Account billing setup and payment method issues
33
+ - Subscription cancellations or upgrades
34
+
35
+ **Product Info Agent** - Route here for:
36
+ - Feature questions, product capabilities, specifications
37
+ - How-to questions, usage guidance, best practices
38
+ - Plan comparisons and recommendations
39
+ - Integration capabilities and setup guidance
40
+ - General product information and documentation requests
41
+
42
+ **Escalation Agent** - Route here for:
43
+ - Unresolved issues after specialist attempts
44
+ - Enterprise customer requests and contract issues
45
+ - Complaints about service quality or agent performance
46
+ - Legal, compliance, or security-related inquiries (GDPR, SOC 2)
47
+ - Issues requiring management approval or special handling
48
+
49
+ ## Your Triage Process
50
+
51
+ 1. **Analyze the Request**: Read the customer's message carefully
52
+ 2. **Categorize**: Determine the primary issue type and any secondary concerns
53
+ 3. **Assess Urgency**: Is this urgent, normal, or low priority?
54
+ 4. **Route Intelligently**: Choose the best-suited specialist agent
55
+ 5. **Provide Context**: Give the specialist agent relevant background
56
+
57
+ ## Routing Guidelines
58
+
59
+ - **Multiple Issues**: Route to the agent handling the most critical/urgent aspect
60
+ - **Unclear Requests**: Ask clarifying questions before routing
61
+ - **Previous Escalations**: Route directly to Escalation Agent if this is a follow-up
62
+ - **Enterprise Customers**: Consider escalation for Enterprise plan customers
63
+ - **Time-Sensitive**: Prioritize billing issues near payment dates, urgent technical failures
64
+
65
+ ## Your Response Format
66
+
67
+ When routing a request, provide:
68
+ 1. Brief analysis of the issue
69
+ 2. Which agent you're routing to and why
70
+ 3. Any additional context the specialist agent should know
71
+ 4. Expected resolution timeframe (if applicable)
72
+
73
+ You have access to TeamFlow's company information to help with context and routing decisions.
74
+
75
+ Remember: You are the first line of intelligent support. Your accurate routing ensures TeamFlow customers get expert help quickly and efficiently.
76
+
77
+ ## Tool Usage Instructions
78
+
79
+ After you decide which specialist should handle the inquiry, you MUST:
80
+ 1. Call the `chat_with_agent` tool with the full customer message as the `message` argument. The runtime will automatically route this call to the correct specialist agent based on the current connection mapping.
81
+ 2. Wait for the tool to return the specialist agent’s answer.
82
+ 3. Respond back to the customer with a concise helpful answer that includes:
83
+ - A short confirmation of the routing you performed (one sentence max).
84
+ - The detailed answer from the specialist agent.
85
+
86
+ Only use `chat_with_agent` once per customer request unless follow-up questions arise.
87
+
88
+ - id: company-overview
89
+ type: file
90
+ priority: 10
91
+ files:
92
+ - "${{dexto.agent_dir}}/docs/company-overview.md"
93
+ options:
94
+ includeFilenames: true
95
+ errorHandling: skip
96
+
97
+ # Auto-approve tool executions so the triage agent can seamlessly delegate tasks
98
+
99
+ toolConfirmation:
100
+ mode: auto-approve
101
+ allowedToolsStorage: memory
102
+
103
+ mcpServers:
104
+ # Filesystem for logging and case management
105
+ filesystem:
106
+ type: stdio
107
+ command: npx
108
+ args:
109
+ - -y
110
+ - "@modelcontextprotocol/server-filesystem"
111
+ - .
112
+
113
+ # Web research for understanding customer context and company info
114
+ tavily:
115
+ type: stdio
116
+ command: npx
117
+ args:
118
+ - -y
119
+ - tavily-mcp@0.1.3
120
+ env:
121
+ TAVILY_API_KEY: $TAVILY_API_KEY
122
+ connectionMode: lenient
123
+
124
+ # Specialized support agents running as MCP servers via npx
125
+ technical_support:
126
+ type: stdio
127
+ command: npx
128
+ args:
129
+ - dexto
130
+ - --mode
131
+ - mcp
132
+ - --agent
133
+ - "${{dexto.agent_dir}}/technical-support-agent.yml"
134
+ connectionMode: lenient
135
+
136
+ billing_support:
137
+ type: stdio
138
+ command: npx
139
+ args:
140
+ - dexto
141
+ - --mode
142
+ - mcp
143
+ - --agent
144
+ - "${{dexto.agent_dir}}/billing-agent.yml"
145
+ connectionMode: lenient
146
+
147
+ product_info:
148
+ type: stdio
149
+ command: npx
150
+ args:
151
+ - dexto
152
+ - --mode
153
+ - mcp
154
+ - --agent
155
+ - "${{dexto.agent_dir}}/product-info-agent.yml"
156
+ connectionMode: lenient
157
+
158
+ escalation:
159
+ type: stdio
160
+ command: npx
161
+ args:
162
+ - dexto
163
+ - --mode
164
+ - mcp
165
+ - --agent
166
+ - "${{dexto.agent_dir}}/escalation-agent.yml"
167
+ connectionMode: lenient
168
+
169
+ llm:
170
+ provider: openai
171
+ model: gpt-4o
172
+ apiKey: $OPENAI_API_KEY