@cronicorn/mcp-server 1.8.4 → 1.9.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.
package/dist/index.js CHANGED
@@ -14441,6 +14441,56 @@ var DashboardStatsResponseSchema = external_exports.object({
14441
14441
  }).openapi({
14442
14442
  description: "Recent activity metrics (last 24 hours)"
14443
14443
  }),
14444
+ jobHealth: external_exports.array(external_exports.object({
14445
+ jobId: external_exports.string().openapi({
14446
+ description: "Job ID"
14447
+ }),
14448
+ jobName: external_exports.string().openapi({
14449
+ description: "Job name"
14450
+ }),
14451
+ successCount: external_exports.number().int().nonnegative().openapi({
14452
+ description: "Number of successful runs for this job",
14453
+ example: 142
14454
+ }),
14455
+ failureCount: external_exports.number().int().nonnegative().openapi({
14456
+ description: "Number of failed runs for this job",
14457
+ example: 8
14458
+ })
14459
+ })).openapi({
14460
+ description: "Job health distribution (unfiltered - shows all jobs)"
14461
+ }),
14462
+ filteredMetrics: external_exports.object({
14463
+ totalRuns: external_exports.number().int().nonnegative().openapi({
14464
+ description: "Total number of runs matching filters",
14465
+ example: 287
14466
+ }),
14467
+ successCount: external_exports.number().int().nonnegative().openapi({
14468
+ description: "Successful runs matching filters",
14469
+ example: 271
14470
+ }),
14471
+ failureCount: external_exports.number().int().nonnegative().openapi({
14472
+ description: "Failed runs matching filters",
14473
+ example: 16
14474
+ }),
14475
+ avgDurationMs: external_exports.number().nullable().openapi({
14476
+ description: "Average duration in milliseconds for filtered runs",
14477
+ example: 234.5
14478
+ })
14479
+ }).openapi({
14480
+ description: "Aggregated metrics for filtered runs"
14481
+ }),
14482
+ sourceDistribution: external_exports.array(external_exports.object({
14483
+ source: external_exports.string().openapi({
14484
+ description: "Scheduling source type",
14485
+ example: "ai-interval"
14486
+ }),
14487
+ count: external_exports.number().int().nonnegative().openapi({
14488
+ description: "Number of runs from this source",
14489
+ example: 45
14490
+ })
14491
+ })).openapi({
14492
+ description: "Distribution of runs by scheduling source (filtered)"
14493
+ }),
14444
14494
  runTimeSeries: external_exports.array(external_exports.object({
14445
14495
  date: external_exports.string().openapi({
14446
14496
  description: "Date in YYYY-MM-DD format",
@@ -14455,88 +14505,55 @@ var DashboardStatsResponseSchema = external_exports.object({
14455
14505
  example: 3
14456
14506
  })
14457
14507
  })).openapi({
14458
- description: "Time-series data for run activity (last 7 days)"
14508
+ description: "Time-series data for run activity (filtered by query params)"
14459
14509
  }),
14460
- topEndpoints: external_exports.array(external_exports.object({
14461
- id: external_exports.string().openapi({
14462
- description: "Endpoint ID"
14463
- }),
14464
- name: external_exports.string().openapi({
14465
- description: "Endpoint name"
14466
- }),
14467
- jobName: external_exports.string().openapi({
14468
- description: "Parent job name"
14469
- }),
14470
- successRate: external_exports.number().min(0).max(100).openapi({
14471
- description: "Success rate percentage for this endpoint",
14472
- example: 98.5
14510
+ endpointTimeSeries: external_exports.array(external_exports.object({
14511
+ date: external_exports.string().openapi({
14512
+ description: "Date in YYYY-MM-DD format",
14513
+ example: "2025-10-20"
14473
14514
  }),
14474
- lastRunAt: external_exports.string().datetime().nullable().openapi({
14475
- description: "Timestamp of last run"
14515
+ endpointId: external_exports.string().openapi({
14516
+ description: "Endpoint ID",
14517
+ example: "ep-abc123"
14476
14518
  }),
14477
- runCount: external_exports.number().int().nonnegative().openapi({
14478
- description: "Total number of runs for this endpoint",
14479
- example: 156
14480
- })
14481
- })).openapi({
14482
- description: "Top 5 endpoints by run count"
14483
- }),
14484
- recentRuns: external_exports.array(external_exports.object({
14485
- id: external_exports.string(),
14486
- endpointId: external_exports.string(),
14487
14519
  endpointName: external_exports.string().openapi({
14488
- description: "Name of the endpoint that ran"
14489
- }),
14490
- jobName: external_exports.string().openapi({
14491
- description: "Name of the parent job"
14492
- }),
14493
- status: external_exports.string().openapi({
14494
- description: "Run status (success, failed, timeout, cancelled)",
14495
- example: "success"
14520
+ description: "Endpoint name",
14521
+ example: "Health Check"
14496
14522
  }),
14497
- startedAt: external_exports.string().datetime().openapi({
14498
- description: "When the run started"
14499
- }),
14500
- durationMs: external_exports.number().int().nonnegative().nullable().openapi({
14501
- description: "Duration in milliseconds",
14502
- example: 234
14523
+ success: external_exports.number().int().nonnegative().openapi({
14524
+ description: "Number of successful runs for this endpoint on this date",
14525
+ example: 15
14503
14526
  }),
14504
- source: external_exports.string().nullable().openapi({
14505
- description: "What triggered this run (baseline-cron, ai-interval, etc)",
14506
- example: "baseline-cron"
14527
+ failure: external_exports.number().int().nonnegative().openapi({
14528
+ description: "Number of failed runs for this endpoint on this date",
14529
+ example: 1
14507
14530
  })
14508
14531
  })).openapi({
14509
- description: "Most recent 50 runs across all endpoints"
14532
+ description: "Time-series data for run activity grouped by endpoint (filtered by query params)"
14510
14533
  }),
14511
- recentAISessions: external_exports.array(external_exports.object({
14512
- id: external_exports.string(),
14513
- endpointId: external_exports.string(),
14514
- endpointName: external_exports.string().openapi({
14515
- description: "Name of the endpoint that was analyzed"
14516
- }),
14517
- jobName: external_exports.string().openapi({
14518
- description: "Name of the parent job"
14519
- }),
14520
- analyzedAt: external_exports.string().datetime().openapi({
14521
- description: "When the AI analysis occurred"
14534
+ aiSessionTimeSeries: external_exports.array(external_exports.object({
14535
+ date: external_exports.string().openapi({
14536
+ description: "Date in YYYY-MM-DD format",
14537
+ example: "2025-10-20"
14522
14538
  }),
14523
- reasoning: external_exports.string().openapi({
14524
- description: "AI's reasoning/explanation for its decisions"
14539
+ endpointId: external_exports.string().openapi({
14540
+ description: "Endpoint ID",
14541
+ example: "ep-123"
14525
14542
  }),
14526
- tokenUsage: external_exports.number().int().nonnegative().nullable().openapi({
14527
- description: "Number of tokens consumed",
14528
- example: 1523
14543
+ endpointName: external_exports.string().openapi({
14544
+ description: "Endpoint name",
14545
+ example: "Health Check"
14529
14546
  }),
14530
- durationMs: external_exports.number().int().nonnegative().nullable().openapi({
14531
- description: "Analysis duration in milliseconds",
14532
- example: 3421
14547
+ sessionCount: external_exports.number().int().nonnegative().openapi({
14548
+ description: "Number of AI analysis sessions for this endpoint on this date",
14549
+ example: 12
14533
14550
  }),
14534
- toolCallCount: external_exports.number().int().nonnegative().openapi({
14535
- description: "Number of tools called during analysis",
14536
- example: 3
14551
+ totalTokens: external_exports.number().int().nonnegative().openapi({
14552
+ description: "Total tokens consumed for this endpoint on this date",
14553
+ example: 15420
14537
14554
  })
14538
14555
  })).openapi({
14539
- description: "Most recent 50 AI analysis sessions across all endpoints"
14556
+ description: "Time-series data for AI session activity grouped by endpoint (filtered by query params)"
14540
14557
  })
14541
14558
  }).openapi({
14542
14559
  description: "Aggregated dashboard statistics for the authenticated user"
@@ -14545,6 +14562,22 @@ var DashboardStatsQuerySchema = external_exports.object({
14545
14562
  days: external_exports.coerce.number().int().positive().max(30).optional().default(7).openapi({
14546
14563
  description: "Number of days for time-series data (max 30)",
14547
14564
  example: 7
14565
+ }),
14566
+ jobId: external_exports.string().optional().openapi({
14567
+ description: "Filter by job ID (optional)",
14568
+ example: "job_123abc"
14569
+ }),
14570
+ source: external_exports.string().optional().openapi({
14571
+ description: "Filter by scheduling source (baseline-cron, baseline-interval, ai-interval, ai-oneshot, clamped-min, clamped-max, etc.)",
14572
+ example: "ai-interval"
14573
+ }),
14574
+ timeRange: external_exports.enum(["24h", "7d", "30d", "all"]).optional().openapi({
14575
+ description: "Time range filter for runs (optional, overrides 'days' for certain queries)",
14576
+ example: "7d"
14577
+ }),
14578
+ endpointLimit: external_exports.coerce.number().int().positive().max(100).optional().default(20).openapi({
14579
+ description: "Maximum number of endpoints to include in time-series data (sorted by run count DESC). Max 100, default 20.",
14580
+ example: 20
14548
14581
  })
14549
14582
  }).openapi({
14550
14583
  description: "Query parameters for dashboard stats"