mcp-rubber-duck 1.9.5 → 1.11.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 (92) hide show
  1. package/.eslintrc.json +3 -1
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +62 -10
  4. package/assets/ext-apps-compare.png +0 -0
  5. package/assets/ext-apps-debate.png +0 -0
  6. package/assets/ext-apps-usage-stats.png +0 -0
  7. package/assets/ext-apps-vote.png +0 -0
  8. package/audit-ci.json +2 -1
  9. package/dist/providers/enhanced-manager.d.ts +7 -0
  10. package/dist/providers/enhanced-manager.d.ts.map +1 -1
  11. package/dist/providers/enhanced-manager.js +36 -0
  12. package/dist/providers/enhanced-manager.js.map +1 -1
  13. package/dist/providers/manager.d.ts +1 -0
  14. package/dist/providers/manager.d.ts.map +1 -1
  15. package/dist/providers/manager.js +33 -0
  16. package/dist/providers/manager.js.map +1 -1
  17. package/dist/server.d.ts +2 -0
  18. package/dist/server.d.ts.map +1 -1
  19. package/dist/server.js +154 -36
  20. package/dist/server.js.map +1 -1
  21. package/dist/services/progress.d.ts +27 -0
  22. package/dist/services/progress.d.ts.map +1 -0
  23. package/dist/services/progress.js +50 -0
  24. package/dist/services/progress.js.map +1 -0
  25. package/dist/services/task-manager.d.ts +56 -0
  26. package/dist/services/task-manager.d.ts.map +1 -0
  27. package/dist/services/task-manager.js +134 -0
  28. package/dist/services/task-manager.js.map +1 -0
  29. package/dist/tools/compare-ducks.d.ts +2 -1
  30. package/dist/tools/compare-ducks.d.ts.map +1 -1
  31. package/dist/tools/compare-ducks.js +26 -3
  32. package/dist/tools/compare-ducks.js.map +1 -1
  33. package/dist/tools/duck-council.d.ts +2 -1
  34. package/dist/tools/duck-council.d.ts.map +1 -1
  35. package/dist/tools/duck-council.js +7 -3
  36. package/dist/tools/duck-council.js.map +1 -1
  37. package/dist/tools/duck-debate.d.ts +2 -1
  38. package/dist/tools/duck-debate.d.ts.map +1 -1
  39. package/dist/tools/duck-debate.js +43 -1
  40. package/dist/tools/duck-debate.js.map +1 -1
  41. package/dist/tools/duck-iterate.d.ts +2 -1
  42. package/dist/tools/duck-iterate.d.ts.map +1 -1
  43. package/dist/tools/duck-iterate.js +13 -1
  44. package/dist/tools/duck-iterate.js.map +1 -1
  45. package/dist/tools/duck-vote.d.ts +2 -1
  46. package/dist/tools/duck-vote.d.ts.map +1 -1
  47. package/dist/tools/duck-vote.js +30 -3
  48. package/dist/tools/duck-vote.js.map +1 -1
  49. package/dist/tools/get-usage-stats.d.ts.map +1 -1
  50. package/dist/tools/get-usage-stats.js +13 -0
  51. package/dist/tools/get-usage-stats.js.map +1 -1
  52. package/dist/ui/compare-ducks/mcp-app.html +187 -0
  53. package/dist/ui/duck-debate/mcp-app.html +182 -0
  54. package/dist/ui/duck-vote/mcp-app.html +168 -0
  55. package/dist/ui/usage-stats/mcp-app.html +192 -0
  56. package/jest.config.js +1 -0
  57. package/package.json +7 -3
  58. package/src/providers/enhanced-manager.ts +49 -0
  59. package/src/providers/manager.ts +45 -0
  60. package/src/server.ts +187 -34
  61. package/src/services/progress.ts +59 -0
  62. package/src/services/task-manager.ts +162 -0
  63. package/src/tools/compare-ducks.ts +34 -3
  64. package/src/tools/duck-council.ts +15 -4
  65. package/src/tools/duck-debate.ts +58 -1
  66. package/src/tools/duck-iterate.ts +20 -1
  67. package/src/tools/duck-vote.ts +38 -3
  68. package/src/tools/get-usage-stats.ts +14 -0
  69. package/src/ui/compare-ducks/app.ts +88 -0
  70. package/src/ui/compare-ducks/mcp-app.html +102 -0
  71. package/src/ui/duck-debate/app.ts +111 -0
  72. package/src/ui/duck-debate/mcp-app.html +97 -0
  73. package/src/ui/duck-vote/app.ts +128 -0
  74. package/src/ui/duck-vote/mcp-app.html +83 -0
  75. package/src/ui/usage-stats/app.ts +156 -0
  76. package/src/ui/usage-stats/mcp-app.html +107 -0
  77. package/tests/duck-debate.test.ts +83 -1
  78. package/tests/duck-iterate.test.ts +81 -0
  79. package/tests/duck-vote.test.ts +73 -1
  80. package/tests/providers.test.ts +121 -0
  81. package/tests/services/progress.test.ts +137 -0
  82. package/tests/services/task-manager.test.ts +344 -0
  83. package/tests/tools/compare-ducks-ui.test.ts +135 -0
  84. package/tests/tools/compare-ducks.test.ts +22 -1
  85. package/tests/tools/duck-council.test.ts +19 -0
  86. package/tests/tools/duck-debate-ui.test.ts +234 -0
  87. package/tests/tools/duck-vote-ui.test.ts +172 -0
  88. package/tests/tools/get-usage-stats.test.ts +3 -1
  89. package/tests/tools/usage-stats-ui.test.ts +130 -0
  90. package/tests/ui-build.test.ts +53 -0
  91. package/tsconfig.json +1 -1
  92. package/vite.config.ts +19 -0
@@ -57,12 +57,25 @@ export function getUsageStatsTool(usageService, args) {
57
57
  output += `\nšŸ’” Cost estimates not available. Configure pricing in config.json or update to latest version.\n`;
58
58
  }
59
59
  logger.info(`Retrieved usage stats for period: ${period}`);
60
+ // Build structured data for UI consumption
61
+ const structuredData = {
62
+ period: stats.period,
63
+ startDate: stats.startDate,
64
+ endDate: stats.endDate,
65
+ totals: stats.totals,
66
+ usage: stats.usage,
67
+ costByProvider: stats.costByProvider,
68
+ };
60
69
  return {
61
70
  content: [
62
71
  {
63
72
  type: 'text',
64
73
  text: output,
65
74
  },
75
+ {
76
+ type: 'text',
77
+ text: JSON.stringify(structuredData),
78
+ },
66
79
  ],
67
80
  };
68
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-usage-stats.js","sourceRoot":"","sources":["../../src/tools/get-usage-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-usage-stats.js","sourceRoot":"","sources":["../../src/tools/get-usage-stats.ts"],"names":[],"mappings":"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"}