@planu/cli 0.59.1 → 0.61.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 (91) hide show
  1. package/dist/engine/deleter/core.js.map +1 -1
  2. package/dist/engine/hooks/core.d.ts.map +1 -1
  3. package/dist/engine/hooks/core.js +2 -1
  4. package/dist/engine/hooks/core.js.map +1 -1
  5. package/dist/engine/mobile-detector-ios.d.ts.map +1 -1
  6. package/dist/engine/mobile-detector-ios.js +3 -2
  7. package/dist/engine/mobile-detector-ios.js.map +1 -1
  8. package/dist/engine/model-router/rules-engine.d.ts.map +1 -1
  9. package/dist/engine/model-router/rules-engine.js +2 -0
  10. package/dist/engine/model-router/rules-engine.js.map +1 -1
  11. package/dist/engine/paradigm-registry.js.map +1 -1
  12. package/dist/engine/spec-summary-html.js +1 -1
  13. package/dist/engine/spec-summary-html.js.map +1 -1
  14. package/dist/storage/error-telemetry-store.d.ts +20 -0
  15. package/dist/storage/error-telemetry-store.d.ts.map +1 -0
  16. package/dist/storage/error-telemetry-store.js +91 -0
  17. package/dist/storage/error-telemetry-store.js.map +1 -0
  18. package/dist/storage/index.d.ts +1 -0
  19. package/dist/storage/index.d.ts.map +1 -1
  20. package/dist/storage/index.js +1 -0
  21. package/dist/storage/index.js.map +1 -1
  22. package/dist/storage/spec-store.d.ts.map +1 -1
  23. package/dist/storage/spec-store.js +4 -0
  24. package/dist/storage/spec-store.js.map +1 -1
  25. package/dist/tools/agent-swarm-status.d.ts.map +1 -1
  26. package/dist/tools/agent-swarm-status.js +18 -2
  27. package/dist/tools/agent-swarm-status.js.map +1 -1
  28. package/dist/tools/challenge-spec/resilience-challenge-scenarios.d.ts.map +1 -1
  29. package/dist/tools/challenge-spec/resilience-challenge-scenarios.js +3 -0
  30. package/dist/tools/challenge-spec/resilience-challenge-scenarios.js.map +1 -1
  31. package/dist/tools/challenge-spec.d.ts.map +1 -1
  32. package/dist/tools/challenge-spec.js +5 -3
  33. package/dist/tools/challenge-spec.js.map +1 -1
  34. package/dist/tools/check-spec-accuracy.d.ts.map +1 -1
  35. package/dist/tools/check-spec-accuracy.js +26 -2
  36. package/dist/tools/check-spec-accuracy.js.map +1 -1
  37. package/dist/tools/design-schema.js.map +1 -1
  38. package/dist/tools/estimate.d.ts.map +1 -1
  39. package/dist/tools/estimate.js +1 -0
  40. package/dist/tools/estimate.js.map +1 -1
  41. package/dist/tools/generate-tests/generators/concurrency-test-generator.d.ts.map +1 -1
  42. package/dist/tools/generate-tests/generators/concurrency-test-generator.js +4 -1
  43. package/dist/tools/generate-tests/generators/concurrency-test-generator.js.map +1 -1
  44. package/dist/tools/generate-tests/generators/hypermedia-generator.js.map +1 -1
  45. package/dist/tools/list-sessions.d.ts.map +1 -1
  46. package/dist/tools/list-sessions.js +19 -9
  47. package/dist/tools/list-sessions.js.map +1 -1
  48. package/dist/tools/list-specs.d.ts.map +1 -1
  49. package/dist/tools/list-specs.js +1 -0
  50. package/dist/tools/list-specs.js.map +1 -1
  51. package/dist/tools/manage-hooks.d.ts.map +1 -1
  52. package/dist/tools/manage-hooks.js +2 -0
  53. package/dist/tools/manage-hooks.js.map +1 -1
  54. package/dist/tools/reconcile-spec.d.ts.map +1 -1
  55. package/dist/tools/reconcile-spec.js +22 -2
  56. package/dist/tools/reconcile-spec.js.map +1 -1
  57. package/dist/tools/response-helpers.d.ts +31 -0
  58. package/dist/tools/response-helpers.d.ts.map +1 -0
  59. package/dist/tools/response-helpers.js +70 -0
  60. package/dist/tools/response-helpers.js.map +1 -0
  61. package/dist/tools/safe-handler.d.ts.map +1 -1
  62. package/dist/tools/safe-handler.js +27 -3
  63. package/dist/tools/safe-handler.js.map +1 -1
  64. package/dist/tools/suggest-mcps.js.map +1 -1
  65. package/dist/tools/suggest-tooling/llm-security-catalog.d.ts.map +1 -1
  66. package/dist/tools/suggest-tooling/llm-security-catalog.js.map +1 -1
  67. package/dist/tools/suggest-tooling/otel-catalog.js.map +1 -1
  68. package/dist/tools/update-status.d.ts.map +1 -1
  69. package/dist/tools/update-status.js +57 -4
  70. package/dist/tools/update-status.js.map +1 -1
  71. package/dist/tools/usage-stats.d.ts.map +1 -1
  72. package/dist/tools/usage-stats.js +10 -1
  73. package/dist/tools/usage-stats.js.map +1 -1
  74. package/dist/tools/validate.d.ts.map +1 -1
  75. package/dist/tools/validate.js +1 -0
  76. package/dist/tools/validate.js.map +1 -1
  77. package/dist/tools/worker-status-handler.d.ts.map +1 -1
  78. package/dist/tools/worker-status-handler.js +18 -1
  79. package/dist/tools/worker-status-handler.js.map +1 -1
  80. package/dist/types/error-telemetry.d.ts +22 -0
  81. package/dist/types/error-telemetry.d.ts.map +1 -0
  82. package/dist/types/error-telemetry.js +3 -0
  83. package/dist/types/error-telemetry.js.map +1 -0
  84. package/dist/types/index.d.ts +1 -0
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/types/index.js +1 -0
  87. package/dist/types/index.js.map +1 -1
  88. package/package.json +18 -14
  89. package/src/i18n/messages/en.json +25 -0
  90. package/src/i18n/messages/es.json +25 -0
  91. package/src/i18n/messages/pt.json +25 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planu/cli",
3
- "version": "0.59.1",
3
+ "version": "0.61.0",
4
4
  "description": "Planu — MCP Server for Spec Driven Development. Manages specs, estimations, reverse engineering, and auto-learning across any language/framework.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,7 @@
14
14
  "src/i18n/messages/"
15
15
  ],
16
16
  "engines": {
17
- "node": ">=22.0.0"
17
+ "node": ">=24.0.0"
18
18
  },
19
19
  "packageManager": "pnpm@10.28.2",
20
20
  "scripts": {
@@ -33,7 +33,11 @@
33
33
  "check": "pnpm typecheck && pnpm lint && pnpm format:check",
34
34
  "setup:protection": "bash scripts/setup-branch-protection.sh",
35
35
  "prepare": "husky || true",
36
- "prepublishOnly": "pnpm build"
36
+ "prepublishOnly": "pnpm build",
37
+ "test:debug": "vitest run --inspect-brk --single-thread",
38
+ "validate": "pnpm typecheck && pnpm lint && pnpm format:check && pnpm test",
39
+ "docker:build": "docker build -t planu .",
40
+ "docker:run": "docker compose up"
37
41
  },
38
42
  "lint-staged": {
39
43
  "src/**/*.ts": [
@@ -71,13 +75,13 @@
71
75
  ],
72
76
  "license": "SEE LICENSE IN LICENSE",
73
77
  "dependencies": {
74
- "@modelcontextprotocol/sdk": "^1.12.1",
78
+ "@modelcontextprotocol/sdk": "^1.27.1",
75
79
  "glob": "^13.0.6",
76
80
  "zod": "^4.3.6"
77
81
  },
78
82
  "devDependencies": {
79
- "@commitlint/cli": "^20.4.2",
80
- "@commitlint/config-conventional": "^20.4.2",
83
+ "@commitlint/cli": "^20.4.4",
84
+ "@commitlint/config-conventional": "^20.4.4",
81
85
  "@eslint/js": "^10.0.1",
82
86
  "@secretlint/secretlint-rule-no-homedir": "^11.3.1",
83
87
  "@secretlint/secretlint-rule-preset-recommend": "^11.3.1",
@@ -85,23 +89,23 @@
85
89
  "@semantic-release/commit-analyzer": "^13.0.1",
86
90
  "@semantic-release/git": "^10.0.1",
87
91
  "@semantic-release/github": "^12.0.6",
88
- "@semantic-release/npm": "^13.1.4",
92
+ "@semantic-release/npm": "^13.1.5",
89
93
  "@semantic-release/release-notes-generator": "^14.1.0",
90
- "@types/node": "^25.3.0",
91
- "@vitest/coverage-v8": "^4.0.18",
92
- "eslint": "^10.0.2",
94
+ "@types/node": "^25.5.0",
95
+ "@vitest/coverage-v8": "^4.1.0",
96
+ "eslint": "^10.0.3",
93
97
  "eslint-config-prettier": "^10.1.8",
94
98
  "eslint-import-resolver-typescript": "^4.4.4",
95
99
  "eslint-plugin-import": "^2.32.0",
96
100
  "husky": "^9.1.7",
97
101
  "jscpd": "^4.0.8",
98
- "lint-staged": "^16.2.7",
102
+ "lint-staged": "^16.3.3",
99
103
  "prettier": "^3.8.1",
100
104
  "secretlint": "^11.3.1",
101
105
  "semantic-release": "^25.0.3",
102
106
  "tsc-alias": "^1.8.16",
103
- "typescript": "^5.7.0",
104
- "typescript-eslint": "^8.56.1",
105
- "vitest": "^4.0.18"
107
+ "typescript": "^5.9.3",
108
+ "typescript-eslint": "^8.57.0",
109
+ "vitest": "^4.1.0"
106
110
  }
107
111
  }
@@ -463,6 +463,31 @@
463
463
  "modelPricing": " - {name} ({tier}) — ${input}/${output} per 1M tokens (in/out)",
464
464
  "recommendationHeading": "### Recommendation",
465
465
  "recommendation": "For standard tasks, **{provider}/{model}** offers the best cost/quality ratio at ${cost}/1M tokens."
466
+ },
467
+ "response": {
468
+ "nextSteps": "🚀 **Next Steps**",
469
+ "suggestions": "💡 **Suggestions**",
470
+ "error": "❌ **Error:** {message}",
471
+ "howToFix": "💡 **How to fix:** {fix}",
472
+ "tip": "💡 **Tip:** {message}",
473
+ "summary": "📋 **Summary**",
474
+ "noIssues": "✅ No issues found",
475
+ "issuesFound": "⚠️ {count} issue(s) found",
476
+ "healthy": "✅ Healthy",
477
+ "degraded": "⚠️ Degraded",
478
+ "down": "❌ Down",
479
+ "stopped": "⏹️ Stopped",
480
+ "active": "✅ Active",
481
+ "pending": "🔄 Pending",
482
+ "sessionsFound": "📋 Found {count} session(s)",
483
+ "noSessions": "📋 No sessions found",
484
+ "statsTitle": "📊 **Usage Statistics**",
485
+ "accuracyTitle": "🎯 **Spec Accuracy Report**",
486
+ "reconcileTitle": "🔄 **Spec Reconciled**",
487
+ "statusTitle": "✅ **Status Updated**",
488
+ "workerTitle": "⚙️ **Worker Status**",
489
+ "swarmTitle": "🐝 **Agent Swarm Status**",
490
+ "sessionsTitle": "📋 **Sessions**"
466
491
  }
467
492
  },
468
493
  "resources": {
@@ -463,6 +463,31 @@
463
463
  "modelPricing": " - {name} ({tier}) — ${input}/${output} por 1M tokens (entrada/salida)",
464
464
  "recommendationHeading": "### Recomendación",
465
465
  "recommendation": "Para tareas estándar, **{provider}/{model}** ofrece la mejor relación costo/calidad a ${cost}/1M tokens."
466
+ },
467
+ "response": {
468
+ "nextSteps": "🚀 **Próximos Pasos**",
469
+ "suggestions": "💡 **Sugerencias**",
470
+ "error": "❌ **Error:** {message}",
471
+ "howToFix": "💡 **Cómo solucionarlo:** {fix}",
472
+ "tip": "💡 **Consejo:** {message}",
473
+ "summary": "📋 **Resumen**",
474
+ "noIssues": "✅ Sin problemas encontrados",
475
+ "issuesFound": "⚠️ {count} problema(s) encontrado(s)",
476
+ "healthy": "✅ Saludable",
477
+ "degraded": "⚠️ Degradado",
478
+ "down": "❌ Caído",
479
+ "stopped": "⏹️ Detenido",
480
+ "active": "✅ Activo",
481
+ "pending": "🔄 Pendiente",
482
+ "sessionsFound": "📋 Se encontraron {count} sesión(es)",
483
+ "noSessions": "📋 No se encontraron sesiones",
484
+ "statsTitle": "📊 **Estadísticas de Uso**",
485
+ "accuracyTitle": "🎯 **Reporte de Precisión de Spec**",
486
+ "reconcileTitle": "🔄 **Spec Reconciliada**",
487
+ "statusTitle": "✅ **Estado Actualizado**",
488
+ "workerTitle": "⚙️ **Estado de Workers**",
489
+ "swarmTitle": "🐝 **Estado del Enjambre de Agentes**",
490
+ "sessionsTitle": "📋 **Sesiones**"
466
491
  }
467
492
  },
468
493
  "resources": {
@@ -463,6 +463,31 @@
463
463
  "modelPricing": " - {name} ({tier}) — ${input}/${output} por 1M tokens (entrada/saída)",
464
464
  "recommendationHeading": "### Recomendação",
465
465
  "recommendation": "Para tarefas padrão, **{provider}/{model}** oferece a melhor relação custo/qualidade a ${cost}/1M tokens."
466
+ },
467
+ "response": {
468
+ "nextSteps": "🚀 **Próximos Passos**",
469
+ "suggestions": "💡 **Sugestões**",
470
+ "error": "❌ **Erro:** {message}",
471
+ "howToFix": "💡 **Como resolver:** {fix}",
472
+ "tip": "💡 **Dica:** {message}",
473
+ "summary": "📋 **Resumo**",
474
+ "noIssues": "✅ Nenhum problema encontrado",
475
+ "issuesFound": "⚠️ {count} problema(s) encontrado(s)",
476
+ "healthy": "✅ Saudável",
477
+ "degraded": "⚠️ Degradado",
478
+ "down": "❌ Fora do ar",
479
+ "stopped": "⏹️ Parado",
480
+ "active": "✅ Ativo",
481
+ "pending": "🔄 Pendente",
482
+ "sessionsFound": "📋 Encontrada(s) {count} sessão(ões)",
483
+ "noSessions": "📋 Nenhuma sessão encontrada",
484
+ "statsTitle": "📊 **Estatísticas de Uso**",
485
+ "accuracyTitle": "🎯 **Relatório de Precisão da Spec**",
486
+ "reconcileTitle": "🔄 **Spec Reconciliada**",
487
+ "statusTitle": "✅ **Status Atualizado**",
488
+ "workerTitle": "⚙️ **Status dos Workers**",
489
+ "swarmTitle": "🐝 **Status do Enxame de Agentes**",
490
+ "sessionsTitle": "📋 **Sessões**"
466
491
  }
467
492
  },
468
493
  "resources": {