@andrebuzeli/git-mcp 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +346 -0
  2. package/dist/client.d.ts +307 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +299 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +299 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +381 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/index.d.ts +22 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +53 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/providers/base-provider.d.ts +139 -0
  15. package/dist/providers/base-provider.d.ts.map +1 -0
  16. package/dist/providers/base-provider.js +246 -0
  17. package/dist/providers/base-provider.js.map +1 -0
  18. package/dist/providers/error-handler.d.ts +51 -0
  19. package/dist/providers/error-handler.d.ts.map +1 -0
  20. package/dist/providers/error-handler.js +170 -0
  21. package/dist/providers/error-handler.js.map +1 -0
  22. package/dist/providers/gitea-provider.d.ts +68 -0
  23. package/dist/providers/gitea-provider.d.ts.map +1 -0
  24. package/dist/providers/gitea-provider.js +515 -0
  25. package/dist/providers/gitea-provider.js.map +1 -0
  26. package/dist/providers/github-provider.d.ts +68 -0
  27. package/dist/providers/github-provider.d.ts.map +1 -0
  28. package/dist/providers/github-provider.js +518 -0
  29. package/dist/providers/github-provider.js.map +1 -0
  30. package/dist/providers/index.d.ts +13 -0
  31. package/dist/providers/index.d.ts.map +1 -0
  32. package/dist/providers/index.js +41 -0
  33. package/dist/providers/index.js.map +1 -0
  34. package/dist/providers/provider-factory.d.ts +75 -0
  35. package/dist/providers/provider-factory.d.ts.map +1 -0
  36. package/dist/providers/provider-factory.js +298 -0
  37. package/dist/providers/provider-factory.js.map +1 -0
  38. package/dist/providers/types.d.ts +276 -0
  39. package/dist/providers/types.d.ts.map +1 -0
  40. package/dist/providers/types.js +7 -0
  41. package/dist/providers/types.js.map +1 -0
  42. package/dist/server.d.ts +77 -0
  43. package/dist/server.d.ts.map +1 -0
  44. package/dist/server.js +262 -0
  45. package/dist/server.js.map +1 -0
  46. package/dist/tools/actions.d.ts +272 -0
  47. package/dist/tools/actions.d.ts.map +1 -0
  48. package/dist/tools/actions.js +428 -0
  49. package/dist/tools/actions.js.map +1 -0
  50. package/dist/tools/analytics.d.ts +326 -0
  51. package/dist/tools/analytics.d.ts.map +1 -0
  52. package/dist/tools/analytics.js +473 -0
  53. package/dist/tools/analytics.js.map +1 -0
  54. package/dist/tools/branches.d.ts +461 -0
  55. package/dist/tools/branches.d.ts.map +1 -0
  56. package/dist/tools/branches.js +525 -0
  57. package/dist/tools/branches.js.map +1 -0
  58. package/dist/tools/code-review.d.ts +323 -0
  59. package/dist/tools/code-review.d.ts.map +1 -0
  60. package/dist/tools/code-review.js +552 -0
  61. package/dist/tools/code-review.js.map +1 -0
  62. package/dist/tools/commits.d.ts +488 -0
  63. package/dist/tools/commits.d.ts.map +1 -0
  64. package/dist/tools/commits.js +578 -0
  65. package/dist/tools/commits.js.map +1 -0
  66. package/dist/tools/deployments.d.ts +319 -0
  67. package/dist/tools/deployments.d.ts.map +1 -0
  68. package/dist/tools/deployments.js +355 -0
  69. package/dist/tools/deployments.js.map +1 -0
  70. package/dist/tools/files.d.ts +456 -0
  71. package/dist/tools/files.d.ts.map +1 -0
  72. package/dist/tools/files.js +531 -0
  73. package/dist/tools/files.js.map +1 -0
  74. package/dist/tools/git-sync.d.ts +177 -0
  75. package/dist/tools/git-sync.d.ts.map +1 -0
  76. package/dist/tools/git-sync.js +112 -0
  77. package/dist/tools/git-sync.js.map +1 -0
  78. package/dist/tools/issues.d.ts +579 -0
  79. package/dist/tools/issues.d.ts.map +1 -0
  80. package/dist/tools/issues.js +631 -0
  81. package/dist/tools/issues.js.map +1 -0
  82. package/dist/tools/pulls.d.ts +702 -0
  83. package/dist/tools/pulls.d.ts.map +1 -0
  84. package/dist/tools/pulls.js +730 -0
  85. package/dist/tools/pulls.js.map +1 -0
  86. package/dist/tools/releases.d.ts +495 -0
  87. package/dist/tools/releases.d.ts.map +1 -0
  88. package/dist/tools/releases.js +551 -0
  89. package/dist/tools/releases.js.map +1 -0
  90. package/dist/tools/repositories.d.ts +513 -0
  91. package/dist/tools/repositories.d.ts.map +1 -0
  92. package/dist/tools/repositories.js +634 -0
  93. package/dist/tools/repositories.js.map +1 -0
  94. package/dist/tools/security.d.ts +341 -0
  95. package/dist/tools/security.d.ts.map +1 -0
  96. package/dist/tools/security.js +394 -0
  97. package/dist/tools/security.js.map +1 -0
  98. package/dist/tools/tags.d.ts +419 -0
  99. package/dist/tools/tags.d.ts.map +1 -0
  100. package/dist/tools/tags.js +479 -0
  101. package/dist/tools/tags.js.map +1 -0
  102. package/dist/tools/users.d.ts +376 -0
  103. package/dist/tools/users.d.ts.map +1 -0
  104. package/dist/tools/users.js +495 -0
  105. package/dist/tools/users.js.map +1 -0
  106. package/dist/tools/validator.d.ts +192 -0
  107. package/dist/tools/validator.d.ts.map +1 -0
  108. package/dist/tools/validator.js +198 -0
  109. package/dist/tools/validator.js.map +1 -0
  110. package/dist/tools/version-control.d.ts +247 -0
  111. package/dist/tools/version-control.d.ts.map +1 -0
  112. package/dist/tools/version-control.js +521 -0
  113. package/dist/tools/version-control.js.map +1 -0
  114. package/dist/tools/webhooks.d.ts +478 -0
  115. package/dist/tools/webhooks.d.ts.map +1 -0
  116. package/dist/tools/webhooks.js +541 -0
  117. package/dist/tools/webhooks.js.map +1 -0
  118. package/dist/tools/workflows.d.ts +313 -0
  119. package/dist/tools/workflows.d.ts.map +1 -0
  120. package/dist/tools/workflows.js +430 -0
  121. package/dist/tools/workflows.js.map +1 -0
  122. package/package.json +58 -0
@@ -0,0 +1,473 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyticsTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const index_js_1 = require("../providers/index.js");
6
+ const validator_js_1 = require("./validator.js");
7
+ /**
8
+ * Tool: analytics
9
+ *
10
+ * DESCRIÇÃO:
11
+ * Gerenciamento completo de analytics e insights com múltiplas ações
12
+ *
13
+ * FUNCIONALIDADES:
14
+ * - Estatísticas de tráfego
15
+ * - Análise de contribuidores
16
+ * - Atividade do repositório
17
+ * - Métricas de performance
18
+ * - Geração de relatórios customizados
19
+ * - Análise de tendências
20
+ *
21
+ * USO:
22
+ * - Para monitorar performance do repositório
23
+ * - Para análise de contribuições
24
+ * - Para relatórios de atividade
25
+ * - Para insights de desenvolvimento
26
+ *
27
+ * RECOMENDAÇÕES:
28
+ * - Monitore métricas regularmente
29
+ * - Use insights para melhorar workflow
30
+ * - Gere relatórios periódicos
31
+ * - Analise tendências de contribuição
32
+ */
33
+ /**
34
+ * Schema de validação para entrada da tool analytics
35
+ */
36
+ const AnalyticsInputSchema = zod_1.z.object({
37
+ action: zod_1.z.enum(['traffic', 'contributors', 'activity', 'performance', 'reports', 'trends', 'insights']),
38
+ // Parâmetros comuns
39
+ owner: validator_js_1.CommonSchemas.owner,
40
+ repo: validator_js_1.CommonSchemas.repo,
41
+ provider: validator_js_1.CommonSchemas.provider,
42
+ // Parâmetros para listagem
43
+ page: validator_js_1.CommonSchemas.page,
44
+ limit: validator_js_1.CommonSchemas.limit,
45
+ // Parâmetros de período
46
+ period: zod_1.z.enum(['day', 'week', 'month', 'quarter', 'year']).optional(),
47
+ start_date: zod_1.z.string().optional(),
48
+ end_date: zod_1.z.string().optional(),
49
+ // Parâmetros para tráfego
50
+ metric_type: zod_1.z.enum(['views', 'clones', 'visitors', 'unique_visitors']).optional(),
51
+ // Parâmetros para contribuidores
52
+ contributor_type: zod_1.z.enum(['all', 'internal', 'external', 'bots']).optional(),
53
+ sort_by: zod_1.z.enum(['commits', 'additions', 'deletions', 'contributions']).optional(),
54
+ // Parâmetros para atividade
55
+ activity_type: zod_1.z.enum(['commits', 'issues', 'pulls', 'releases', 'all']).optional(),
56
+ branch: validator_js_1.CommonSchemas.branch,
57
+ // Parâmetros para performance
58
+ performance_metric: zod_1.z.enum(['build_time', 'test_coverage', 'code_quality', 'deployment_frequency']).optional(),
59
+ // Parâmetros para relatórios
60
+ report_type: zod_1.z.enum(['summary', 'detailed', 'trends', 'comparison']).optional(),
61
+ report_format: zod_1.z.enum(['json', 'csv', 'pdf', 'html']).optional(),
62
+ include_charts: validator_js_1.CommonSchemas.boolean,
63
+ // Parâmetros para trends
64
+ trend_metric: zod_1.z.enum(['commits', 'contributors', 'issues', 'stars', 'forks']).optional(),
65
+ trend_period: zod_1.z.enum(['daily', 'weekly', 'monthly']).optional(),
66
+ // Filtros
67
+ author: validator_js_1.CommonSchemas.shortString,
68
+ path: validator_js_1.CommonSchemas.mediumString,
69
+ file_type: validator_js_1.CommonSchemas.shortString
70
+ }).refine((data) => {
71
+ return data.owner && data.repo;
72
+ }, {
73
+ message: "Owner e repo são obrigatórios"
74
+ });
75
+ /**
76
+ * Schema de validação para resultado da tool analytics
77
+ */
78
+ const AnalyticsResultSchema = zod_1.z.object({
79
+ success: zod_1.z.boolean(),
80
+ action: zod_1.z.string(),
81
+ message: zod_1.z.string(),
82
+ data: zod_1.z.any().optional(),
83
+ error: zod_1.z.string().optional()
84
+ });
85
+ /**
86
+ * Implementação da tool analytics
87
+ */
88
+ exports.analyticsTool = {
89
+ name: 'analytics',
90
+ description: 'Geração completa de insights e métricas de repositório: traffic (estatísticas de tráfego), contributors (análise de contribuidores), activity (atividade do repositório), performance (métricas de performance), reports (relatórios customizados), trends (análise de tendências). Suporte simultâneo para GitHub Insights e Gitea Analytics. Boas práticas: monitore métricas regularmente, use insights para melhorar workflow, gere relatórios periódicos e analise tendências de contribuição. Uso eficiente: análise de performance, tomada de decisões baseada em dados, otimização de processos de desenvolvimento.',
91
+ inputSchema: {
92
+ type: 'object',
93
+ properties: {
94
+ action: {
95
+ type: 'string',
96
+ enum: ['traffic', 'contributors', 'activity', 'performance', 'reports', 'trends', 'insights'],
97
+ description: 'Ação a executar: traffic (tráfego), contributors (contribuidores), activity (atividade), performance (performance), reports (relatórios), trends (tendências), insights (insights gerais)'
98
+ },
99
+ owner: {
100
+ type: 'string',
101
+ description: 'Proprietário do repositório (OBRIGATÓRIO para todas as ações)'
102
+ },
103
+ repo: {
104
+ type: 'string',
105
+ description: 'Nome do repositório (OBRIGATÓRIO para todas as ações)'
106
+ },
107
+ provider: {
108
+ type: 'string',
109
+ description: 'Provider específico (github, gitea) ou usa padrão'
110
+ },
111
+ period: {
112
+ type: 'string',
113
+ enum: ['day', 'week', 'month', 'quarter', 'year'],
114
+ description: 'Período de análise (padrão: week para traffic, month para outros)'
115
+ },
116
+ start_date: {
117
+ type: 'string',
118
+ description: 'Data inicial para análise (formato: YYYY-MM-DD)'
119
+ },
120
+ end_date: {
121
+ type: 'string',
122
+ description: 'Data final para análise (formato: YYYY-MM-DD)'
123
+ },
124
+ metric_type: {
125
+ type: 'string',
126
+ enum: ['views', 'clones', 'visitors', 'unique_visitors'],
127
+ description: 'Tipo de métrica de tráfego (OBRIGATÓRIO para traffic, padrão: views)'
128
+ },
129
+ contributor_type: {
130
+ type: 'string',
131
+ enum: ['all', 'internal', 'external', 'bots'],
132
+ description: 'Tipo de contribuidores (padrão: all)'
133
+ },
134
+ sort_by: {
135
+ type: 'string',
136
+ enum: ['commits', 'additions', 'deletions', 'contributions'],
137
+ description: 'Ordenar contribuidores por (padrão: commits)'
138
+ },
139
+ activity_type: {
140
+ type: 'string',
141
+ enum: ['commits', 'issues', 'pulls', 'releases', 'all'],
142
+ description: 'Tipo de atividade (padrão: all)'
143
+ },
144
+ branch: {
145
+ type: 'string',
146
+ description: 'Branch específico para análise'
147
+ },
148
+ performance_metric: {
149
+ type: 'string',
150
+ enum: ['build_time', 'test_coverage', 'code_quality', 'deployment_frequency'],
151
+ description: 'Métrica de performance específica'
152
+ },
153
+ report_type: {
154
+ type: 'string',
155
+ enum: ['summary', 'detailed', 'trends', 'comparison'],
156
+ description: 'Tipo de relatório (padrão: summary)'
157
+ },
158
+ report_format: {
159
+ type: 'string',
160
+ enum: ['json', 'csv', 'pdf', 'html'],
161
+ description: 'Formato do relatório (padrão: json)'
162
+ },
163
+ include_charts: {
164
+ type: 'boolean',
165
+ description: 'Incluir gráficos no relatório (padrão: false)'
166
+ },
167
+ trend_metric: {
168
+ type: 'string',
169
+ enum: ['commits', 'contributors', 'issues', 'stars', 'forks'],
170
+ description: 'Métrica para análise de tendências (padrão: commits)'
171
+ },
172
+ trend_period: {
173
+ type: 'string',
174
+ enum: ['daily', 'weekly', 'monthly'],
175
+ description: 'Período para análise de tendências (padrão: weekly)'
176
+ },
177
+ author: {
178
+ type: 'string',
179
+ description: 'Filtrar por autor específico'
180
+ },
181
+ path: {
182
+ type: 'string',
183
+ description: 'Filtrar por caminho específico'
184
+ },
185
+ file_type: {
186
+ type: 'string',
187
+ description: 'Filtrar por tipo de arquivo'
188
+ },
189
+ page: {
190
+ type: 'number',
191
+ description: 'Página da listagem (mínimo: 1, padrão: 1)',
192
+ minimum: 1
193
+ },
194
+ limit: {
195
+ type: 'number',
196
+ description: 'Itens por página (mínimo: 1, máximo: 100, padrão: 30)',
197
+ minimum: 1,
198
+ maximum: 100
199
+ }
200
+ },
201
+ required: ['action']
202
+ },
203
+ async handler(input) {
204
+ try {
205
+ const validatedInput = AnalyticsInputSchema.parse(input);
206
+ const provider = validatedInput.provider
207
+ ? index_js_1.globalProviderFactory.getProvider(validatedInput.provider)
208
+ : index_js_1.globalProviderFactory.getDefaultProvider();
209
+ if (!provider) {
210
+ throw new Error(`Provider '${validatedInput.provider}' não encontrado`);
211
+ }
212
+ switch (validatedInput.action) {
213
+ case 'traffic':
214
+ return await this.getTrafficStats(validatedInput, provider);
215
+ case 'contributors':
216
+ return await this.analyzeContributors(validatedInput, provider);
217
+ case 'activity':
218
+ return await this.getActivityStats(validatedInput, provider);
219
+ case 'performance':
220
+ return await this.getPerformanceMetrics(validatedInput, provider);
221
+ case 'reports':
222
+ return await this.generateReports(validatedInput, provider);
223
+ case 'trends':
224
+ return await this.analyzeTrends(validatedInput, provider);
225
+ case 'insights':
226
+ return await this.getRepositoryInsights(validatedInput, provider);
227
+ default:
228
+ throw new Error(`Ação não suportada: ${validatedInput.action}`);
229
+ }
230
+ }
231
+ catch (error) {
232
+ return {
233
+ success: false,
234
+ action: input.action || 'unknown',
235
+ message: 'Erro na operação de analytics',
236
+ error: error instanceof Error ? error.message : String(error)
237
+ };
238
+ }
239
+ },
240
+ /**
241
+ * Obtém estatísticas de tráfego
242
+ */
243
+ async getTrafficStats(params, provider) {
244
+ try {
245
+ if (!provider.getTrafficStats) {
246
+ return {
247
+ success: false,
248
+ action: 'get-traffic-stats',
249
+ message: 'Funcionalidade não suportada por este provider',
250
+ error: 'Provider não implementa getTrafficStats'
251
+ };
252
+ }
253
+ const result = await provider.getTrafficStats({
254
+ owner: params.owner,
255
+ repo: params.repo,
256
+ metric_type: params.metric_type || 'views',
257
+ period: params.period || 'week',
258
+ start_date: params.start_date,
259
+ end_date: params.end_date
260
+ });
261
+ return {
262
+ success: true,
263
+ action: 'traffic',
264
+ message: `Estatísticas de tráfego obtidas com sucesso`,
265
+ data: result
266
+ };
267
+ }
268
+ catch (error) {
269
+ throw new Error(`Falha ao obter estatísticas de tráfego: ${error}`);
270
+ }
271
+ },
272
+ /**
273
+ * Analisa contribuidores
274
+ */
275
+ async analyzeContributors(params, provider) {
276
+ try {
277
+ if (!provider.analyzeContributors) {
278
+ return {
279
+ success: false,
280
+ action: 'analyze-contributors',
281
+ message: 'Funcionalidade não suportada por este provider',
282
+ error: 'Provider não implementa analyzeContributors'
283
+ };
284
+ }
285
+ const result = await provider.analyzeContributors({
286
+ owner: params.owner,
287
+ repo: params.repo,
288
+ contributor_type: params.contributor_type || 'all',
289
+ sort_by: params.sort_by || 'commits',
290
+ period: params.period,
291
+ start_date: params.start_date,
292
+ end_date: params.end_date,
293
+ page: params.page,
294
+ limit: params.limit
295
+ });
296
+ return {
297
+ success: true,
298
+ action: 'contributors',
299
+ message: `Análise de contribuidores executada com sucesso`,
300
+ data: result
301
+ };
302
+ }
303
+ catch (error) {
304
+ throw new Error(`Falha ao analisar contribuidores: ${error}`);
305
+ }
306
+ },
307
+ /**
308
+ * Obtém estatísticas de atividade
309
+ */
310
+ async getActivityStats(params, provider) {
311
+ try {
312
+ if (!provider.getActivityStats) {
313
+ return {
314
+ success: false,
315
+ action: 'get-activity-stats',
316
+ message: 'Funcionalidade não suportada por este provider',
317
+ error: 'Provider não implementa getActivityStats'
318
+ };
319
+ }
320
+ const result = await provider.getActivityStats({
321
+ owner: params.owner,
322
+ repo: params.repo,
323
+ activity_type: params.activity_type || 'all',
324
+ branch: params.branch,
325
+ author: params.author,
326
+ period: params.period || 'month',
327
+ start_date: params.start_date,
328
+ end_date: params.end_date
329
+ });
330
+ return {
331
+ success: true,
332
+ action: 'activity',
333
+ message: `Estatísticas de atividade obtidas com sucesso`,
334
+ data: result
335
+ };
336
+ }
337
+ catch (error) {
338
+ throw new Error(`Falha ao obter estatísticas de atividade: ${error}`);
339
+ }
340
+ },
341
+ /**
342
+ * Obtém métricas de performance
343
+ */
344
+ async getPerformanceMetrics(params, provider) {
345
+ try {
346
+ if (!provider.getPerformanceMetrics) {
347
+ return {
348
+ success: false,
349
+ action: 'get-performance-metrics',
350
+ message: 'Funcionalidade não suportada por este provider',
351
+ error: 'Provider não implementa getPerformanceMetrics'
352
+ };
353
+ }
354
+ const result = await provider.getPerformanceMetrics({
355
+ owner: params.owner,
356
+ repo: params.repo,
357
+ performance_metric: params.performance_metric,
358
+ period: params.period || 'month',
359
+ start_date: params.start_date,
360
+ end_date: params.end_date
361
+ });
362
+ return {
363
+ success: true,
364
+ action: 'performance',
365
+ message: `Métricas de performance obtidas com sucesso`,
366
+ data: result
367
+ };
368
+ }
369
+ catch (error) {
370
+ throw new Error(`Falha ao obter métricas de performance: ${error}`);
371
+ }
372
+ },
373
+ /**
374
+ * Gera relatórios customizados
375
+ */
376
+ async generateReports(params, provider) {
377
+ try {
378
+ if (!provider.generateReports) {
379
+ return {
380
+ success: false,
381
+ action: 'generate-reports',
382
+ message: 'Funcionalidade não suportada por este provider',
383
+ error: 'Provider não implementa generateReports'
384
+ };
385
+ }
386
+ const result = await provider.generateReports({
387
+ owner: params.owner,
388
+ repo: params.repo,
389
+ report_type: params.report_type || 'summary',
390
+ report_format: params.report_format || 'json',
391
+ include_charts: params.include_charts || false,
392
+ period: params.period || 'month',
393
+ start_date: params.start_date,
394
+ end_date: params.end_date
395
+ });
396
+ return {
397
+ success: true,
398
+ action: 'reports',
399
+ message: `Relatório gerado com sucesso`,
400
+ data: result
401
+ };
402
+ }
403
+ catch (error) {
404
+ throw new Error(`Falha ao gerar relatório: ${error}`);
405
+ }
406
+ },
407
+ /**
408
+ * Analisa tendências
409
+ */
410
+ async analyzeTrends(params, provider) {
411
+ try {
412
+ if (!provider.analyzeTrends) {
413
+ return {
414
+ success: false,
415
+ action: 'analyze-trends',
416
+ message: 'Funcionalidade não suportada por este provider',
417
+ error: 'Provider não implementa analyzeTrends'
418
+ };
419
+ }
420
+ const result = await provider.analyzeTrends({
421
+ owner: params.owner,
422
+ repo: params.repo,
423
+ trend_metric: params.trend_metric || 'commits',
424
+ trend_period: params.trend_period || 'weekly',
425
+ period: params.period || 'quarter',
426
+ start_date: params.start_date,
427
+ end_date: params.end_date
428
+ });
429
+ return {
430
+ success: true,
431
+ action: 'trends',
432
+ message: `Análise de tendências executada com sucesso`,
433
+ data: result
434
+ };
435
+ }
436
+ catch (error) {
437
+ throw new Error(`Falha ao analisar tendências: ${error}`);
438
+ }
439
+ },
440
+ /**
441
+ * Obtém insights gerais do repositório
442
+ */
443
+ async getRepositoryInsights(params, provider) {
444
+ try {
445
+ if (!provider.getRepositoryInsights) {
446
+ return {
447
+ success: false,
448
+ action: 'get-repository-insights',
449
+ message: 'Funcionalidade não suportada por este provider',
450
+ error: 'Provider não implementa getRepositoryInsights'
451
+ };
452
+ }
453
+ const result = await provider.getRepositoryInsights({
454
+ owner: params.owner,
455
+ repo: params.repo,
456
+ period: params.period || 'month',
457
+ start_date: params.start_date,
458
+ end_date: params.end_date,
459
+ include_charts: params.include_charts || true
460
+ });
461
+ return {
462
+ success: true,
463
+ action: 'insights',
464
+ message: `Insights do repositório obtidos com sucesso`,
465
+ data: result
466
+ };
467
+ }
468
+ catch (error) {
469
+ throw new Error(`Falha ao obter insights do repositório: ${error}`);
470
+ }
471
+ }
472
+ };
473
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"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"}