@adonis-agora/telescope 0.13.0 → 0.14.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 (79) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/providers/telescope_provider.d.ts.map +1 -1
  3. package/dist/providers/telescope_provider.js +5 -1
  4. package/dist/providers/telescope_provider.js.map +1 -1
  5. package/dist/providers/telescope_ui_provider.d.ts.map +1 -1
  6. package/dist/providers/telescope_ui_provider.js +7 -0
  7. package/dist/providers/telescope_ui_provider.js.map +1 -1
  8. package/dist/providers/telescope_watchers_provider.d.ts +25 -0
  9. package/dist/providers/telescope_watchers_provider.d.ts.map +1 -1
  10. package/dist/providers/telescope_watchers_provider.js +66 -5
  11. package/dist/providers/telescope_watchers_provider.js.map +1 -1
  12. package/dist/src/ai/index.d.ts +1 -1
  13. package/dist/src/ai/index.js +1 -1
  14. package/dist/src/alerts/index.d.ts +1 -1
  15. package/dist/src/alerts/index.js +1 -1
  16. package/dist/src/extension/registry.d.ts +14 -1
  17. package/dist/src/extension/registry.d.ts.map +1 -1
  18. package/dist/src/extension/registry.js +38 -0
  19. package/dist/src/extension/registry.js.map +1 -1
  20. package/dist/src/extension/types.d.ts +22 -0
  21. package/dist/src/extension/types.d.ts.map +1 -1
  22. package/dist/src/extension/types.js.map +1 -1
  23. package/dist/src/index.d.ts +6 -4
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +3 -2
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/mcp/index.d.ts +1 -1
  28. package/dist/src/mcp/index.js +1 -1
  29. package/dist/src/metrics/metrics_service.d.ts +36 -2
  30. package/dist/src/metrics/metrics_service.d.ts.map +1 -1
  31. package/dist/src/metrics/metrics_service.js +47 -5
  32. package/dist/src/metrics/metrics_service.js.map +1 -1
  33. package/dist/src/metrics/screens.d.ts +41 -0
  34. package/dist/src/metrics/screens.d.ts.map +1 -0
  35. package/dist/src/metrics/screens.js +70 -0
  36. package/dist/src/metrics/screens.js.map +1 -0
  37. package/dist/src/profiling/index.d.ts +1 -1
  38. package/dist/src/profiling/index.js +1 -1
  39. package/dist/src/registry.d.ts +2 -0
  40. package/dist/src/registry.d.ts.map +1 -1
  41. package/dist/src/registry.js +4 -0
  42. package/dist/src/registry.js.map +1 -1
  43. package/dist/src/request_watcher.d.ts +39 -0
  44. package/dist/src/request_watcher.d.ts.map +1 -1
  45. package/dist/src/request_watcher.js +45 -0
  46. package/dist/src/request_watcher.js.map +1 -1
  47. package/dist/src/store.d.ts +46 -0
  48. package/dist/src/store.d.ts.map +1 -1
  49. package/dist/src/stores/lucid.d.ts +18 -1
  50. package/dist/src/stores/lucid.d.ts.map +1 -1
  51. package/dist/src/stores/lucid.js +40 -0
  52. package/dist/src/stores/lucid.js.map +1 -1
  53. package/dist/src/stores/memory.d.ts +7 -1
  54. package/dist/src/stores/memory.d.ts.map +1 -1
  55. package/dist/src/stores/memory.js +35 -0
  56. package/dist/src/stores/memory.js.map +1 -1
  57. package/dist/src/ui/api.d.ts +16 -1
  58. package/dist/src/ui/api.d.ts.map +1 -1
  59. package/dist/src/ui/api.js +53 -5
  60. package/dist/src/ui/api.js.map +1 -1
  61. package/dist/src/ui/index.d.ts +1 -1
  62. package/dist/src/ui/index.js +1 -1
  63. package/dist/src/watchers/define_config.d.ts +28 -0
  64. package/dist/src/watchers/define_config.d.ts.map +1 -1
  65. package/dist/src/watchers/define_config.js +10 -0
  66. package/dist/src/watchers/define_config.js.map +1 -1
  67. package/dist/src/watchers/index.d.ts +4 -4
  68. package/dist/src/watchers/index.d.ts.map +1 -1
  69. package/dist/src/watchers/index.js +2 -3
  70. package/dist/src/watchers/index.js.map +1 -1
  71. package/dist/src/watchers/logs_watcher.d.ts +0 -19
  72. package/dist/src/watchers/logs_watcher.d.ts.map +1 -1
  73. package/dist/src/watchers/logs_watcher.js +22 -0
  74. package/dist/src/watchers/logs_watcher.js.map +1 -1
  75. package/dist/src/watchers/redis_watcher.d.ts +78 -1
  76. package/dist/src/watchers/redis_watcher.d.ts.map +1 -1
  77. package/dist/src/watchers/redis_watcher.js +124 -1
  78. package/dist/src/watchers/redis_watcher.js.map +1 -1
  79. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.13.0";
2
+ export declare const VERSION = "0.14.0";
3
3
  export { configure } from '../configure.js';
4
4
  export type { DiagnoserLike, DiagnosisCoordinatorOptions, DiagnosisSummary, } from './ai/diagnosis_coordinator.js';
5
5
  export { DiagnosisCoordinator, formatDiagnosisMarkdown, } from './ai/diagnosis_coordinator.js';
@@ -19,7 +19,7 @@ export { exceptionFamilyHash } from './exception_family_hash.js';
19
19
  export type { ExceptionEntryContent, RecordExceptionContext, } from './exception_watcher.js';
20
20
  export { buildExceptionInput, recordException, recordExceptionInStore, } from './exception_watcher.js';
21
21
  export { ExtensionRegistry } from './extension/registry.js';
22
- export type { Column, ContainerLike, DashboardSection, DashboardSpec, DataBinding, DataProvider, ExtensionContext, ExtensionEntryType, LinkSpec, Panel, PanelThresholds, TelescopeExtension, } from './extension/types.js';
22
+ export type { Column, ContainerLike, DashboardSection, DashboardSpec, DataBinding, DataProvider, ExtensionContext, ExtensionEntryType, LinkSpec, Panel, PanelThresholds, ScheduleContribution, TelescopeExtension, } from './extension/types.js';
23
23
  export { defineTelescopeExtension } from './extension/types.js';
24
24
  export type { DiagnoseExceptionHook, JsonRpcRequest, McpToolName, McpToolSpec, ResolvedTelescopeMcpConfig, TelescopeMcpConfig, TelescopeMcpServerOptions, } from './mcp/index.js';
25
25
  export { MCP_INTERNAL_ERROR, MCP_METHOD_NOT_FOUND, MCP_TOOL_NAMES, MCP_TOOLS, MCP_UNAUTHORIZED, TelescopeMcpServer, } from './mcp/index.js';
@@ -28,6 +28,8 @@ export { MetricsService } from './metrics/metrics_service.js';
28
28
  export type { PulseCardName, PulseExceptionGroup, PulseHotspot, PulseNPlusOne, PulseOptions, PulseQuery, PulseRequestHealth, PulseServiceOptions, PulseSlowEntry, PulseSummary, PulseThroughput, PulseUserLoad, } from './metrics/pulse.js';
29
29
  export { PULSE_CARDS, PulseService, summarizePulse } from './metrics/pulse.js';
30
30
  export { buildHistogram, emptyHistogram, estimatePercentileFromHistogram, HISTOGRAM_BUCKET_COUNT, histogramBucketIndex, incrementHistogram, LATENCY_BOUNDARIES_MS, mergeHistograms, normalizeHistogram, ROLLUP_BUCKET_MS, } from './metrics/rollup.js';
31
+ export type { ScreenStats, SummarizeScreensOptions } from './metrics/screens.js';
32
+ export { summarizeScreens } from './metrics/screens.js';
31
33
  export type { CacheStats, ExceptionGroupStats, FamilyLatency, LatencyPercentilesOverride, LatencyStats, StatsResult, StatusBreakdown, SummarizeStatsInput, } from './metrics/stats.js';
32
34
  export { estimateLatencyPercentiles, percentile, summarizeStats, } from './metrics/stats.js';
33
35
  export type { TimeseriesBucket, TimeseriesReport } from './metrics/timeseries.js';
@@ -47,8 +49,8 @@ export { compileRedactSpec, DEFAULT_MASK, DEFAULT_REDACT_KEYS, redact, redactBou
47
49
  export { RedactingTelescopeStore } from './redaction/redacting_store.js';
48
50
  export type { TelescopeRuntime } from './registry.js';
49
51
  export { getTelescopeRuntime, resetTelescopeRuntime, setTelescopeDiagnosisCoordinator, setTelescopeEntryEvents, setTelescopeExtensionRegistry, setTelescopePaused, setTelescopeRuntime, } from './registry.js';
50
- export type { CaptureRequestInfo, HttpContextLike, RecordRequestOptions, RequestCaptureOptions, RequestEnrichment, RequestEnrichmentResult, RequestEntryContent, ResolvedRequestCapture, } from './request_watcher.js';
51
- export { MAX_ENRICHMENT_TAG_LENGTH, MAX_ENRICHMENT_TAGS, recordRequest, resolveRequestCapture, } from './request_watcher.js';
52
+ export type { CaptureRequestInfo, HttpContextLike, RecordRequestOptions, RequestCaptureOptions, RequestEnrichment, RequestEnrichmentResult, RequestEntryContent, RequestKind, ResolvedRequestCapture, } from './request_watcher.js';
53
+ export { classifyRequest, MAX_ENRICHMENT_TAG_LENGTH, MAX_ENRICHMENT_TAGS, recordRequest, resolveRequestCapture, } from './request_watcher.js';
52
54
  export type { SamplingConfig, SamplingRule } from './sampling/sampling.js';
53
55
  export { isErrorEntry, passesSampling, resolveSampling, samplingRates, } from './sampling/sampling.js';
54
56
  export { SamplingTelescopeStore } from './sampling/sampling_store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,WAAW,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,aAAa,EACb,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,sBAAsB,EAC3B,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9F,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EACV,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACR,KAAK,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,+BAA+B,EAC/B,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,0BAA0B,EAC1B,YAAY,EACZ,WAAW,EACX,eAAe,EACf,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gCAAgC,EAChC,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.13.0';
2
+ export const VERSION = '0.14.0';
3
3
  // Re-export the configure hook from the package root so `node ace configure` finds it
4
4
  export { configure } from '../configure.js';
5
5
  // — AI diagnosis coordinator (wires the MCP tool + the alerter; SDK-free) —
@@ -26,6 +26,7 @@ export { MCP_INTERNAL_ERROR, MCP_METHOD_NOT_FOUND, MCP_TOOL_NAMES, MCP_TOOLS, MC
26
26
  export { MetricsService } from './metrics/metrics_service.js';
27
27
  export { PULSE_CARDS, PulseService, summarizePulse } from './metrics/pulse.js';
28
28
  export { buildHistogram, emptyHistogram, estimatePercentileFromHistogram, HISTOGRAM_BUCKET_COUNT, histogramBucketIndex, incrementHistogram, LATENCY_BOUNDARIES_MS, mergeHistograms, normalizeHistogram, ROLLUP_BUCKET_MS, } from './metrics/rollup.js';
29
+ export { summarizeScreens } from './metrics/screens.js';
29
30
  export { estimateLatencyPercentiles, percentile, summarizeStats, } from './metrics/stats.js';
30
31
  export { bucketTimeseries } from './metrics/timeseries.js';
31
32
  export { summarizeTraces } from './metrics/traces.js';
@@ -40,7 +41,7 @@ export { compileRedactSpec, DEFAULT_MASK, DEFAULT_REDACT_KEYS, redact, redactBou
40
41
  export { RedactingTelescopeStore } from './redaction/redacting_store.js';
41
42
  // — runtime (advanced) —
42
43
  export { getTelescopeRuntime, resetTelescopeRuntime, setTelescopeDiagnosisCoordinator, setTelescopeEntryEvents, setTelescopeExtensionRegistry, setTelescopePaused, setTelescopeRuntime, } from './registry.js';
43
- export { MAX_ENRICHMENT_TAG_LENGTH, MAX_ENRICHMENT_TAGS, recordRequest, resolveRequestCapture, } from './request_watcher.js';
44
+ export { classifyRequest, MAX_ENRICHMENT_TAG_LENGTH, MAX_ENRICHMENT_TAGS, recordRequest, resolveRequestCapture, } from './request_watcher.js';
44
45
  // — sampling (tail-sampling on the write path) —
45
46
  export { isErrorEntry, passesSampling, resolveSampling, samplingRates, } from './sampling/sampling.js';
46
47
  export { SamplingTelescopeStore } from './sampling/sampling_store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.13.0";
2
+ export declare const VERSION = "0.14.0";
3
3
  export type { McpToolName, ResolvedTelescopeMcpConfig, TelescopeMcpConfig, } from './define_config.js';
4
4
  export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
5
5
  export type { DiagnoseExceptionHook, JsonRpcRequest, McpToolSpec, TelescopeMcpServerOptions, } from './server.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.13.0';
2
+ export const VERSION = '0.14.0';
3
3
  // — config —
4
4
  export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
5
5
  // — server (plain, testable JSON-RPC surface) —
@@ -1,5 +1,7 @@
1
1
  import { type NPlusOneInsight, type NPlusOnePattern } from '../query/n_plus_one.js';
2
+ import type { RequestKind } from '../request_watcher.js';
2
3
  import type { TelescopeStore } from '../store.js';
4
+ import { type ScreenStats } from './screens.js';
3
5
  import { type StatsResult } from './stats.js';
4
6
  import { type TimeseriesReport } from './timeseries.js';
5
7
  import { type TraceSummary } from './traces.js';
@@ -9,6 +11,19 @@ export interface StatsQuery {
9
11
  type: string;
10
12
  windowMs: number;
11
13
  buckets?: number;
14
+ /**
15
+ * How many exception groups to return. The default (8) is a dashboard-card
16
+ * default: it is right for the Overview tile and wrong for the Exceptions screen,
17
+ * where capping at 8 means the 9th most common exception is not merely
18
+ * out-of-sight, it is unreachable. That screen asks for more.
19
+ */
20
+ topExceptions?: number;
21
+ }
22
+ export interface ScreensQuery {
23
+ windowMs: number;
24
+ /** Only page visits, only API calls, or only assets. Omit for all. */
25
+ kind?: RequestKind;
26
+ limit?: number;
12
27
  }
13
28
  export interface TimeseriesQuery {
14
29
  windowMs: number;
@@ -44,8 +59,27 @@ export declare class MetricsService {
44
59
  getStats(query: StatsQuery): Promise<StatsResult>;
45
60
  /** Throughput time-series over a trailing window (total + per-type per bucket). */
46
61
  getTimeseries(query: TimeseriesQuery): Promise<TimeseriesReport>;
47
- /** Recent traces, newest-last-seen first. */
48
- getTraces(limit?: number): Promise<TraceSummary[]>;
62
+ /**
63
+ * Recent traces, newest-last-seen first, one page at a time.
64
+ *
65
+ * The store picks the page of trace ids (an indexed `GROUP BY` when it can — see
66
+ * {@link TelescopeStore.listTraceIds}) and only THEN do we fetch the entries of
67
+ * those traces. That ordering is the whole point: grouping first meant reading up
68
+ * to `scanCap` entries to answer a request for 50 traces, and on a busy table the
69
+ * chattiest watcher filled that budget before the interesting traces were reached
70
+ * — the screen was both slow AND incomplete.
71
+ *
72
+ * A store without the capability falls back to scan-and-group, which is what this
73
+ * method always used to do.
74
+ */
75
+ getTraces(limit?: number, offset?: number): Promise<TraceSummary[]>;
76
+ /**
77
+ * Per-route traffic over a window — what the "screens" view is built on.
78
+ *
79
+ * Windowed and type-filtered at the store, so this reads `request` entries only
80
+ * rather than the whole table.
81
+ */
82
+ getScreens(query: ScreensQuery): Promise<ScreenStats[]>;
49
83
  /** The span waterfall for a single trace, or `null` when the trace is empty. */
50
84
  getWaterfall(traceId: string): Promise<Waterfall | null>;
51
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metrics_service.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics_service.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAA8B,KAAK,WAAW,EAAkB,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAShE,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C,YACmB,KAAK,EAAE,cAAc,EACtC,OAAO,GAAE,qBAA0B,EAMpC;IAED,iDAAiD;IAC3C,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CA6BtD;IAED,mFAAmF;IAC7E,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYrE;IAED,6CAA6C;IACvC,SAAS,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAGnD;IAED,gFAAgF;IAC1E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAG7D;IAED;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMjF;IAED,4DAA4D;IACtD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAIrF;IAED,OAAO,CAAC,YAAY;IAIpB,0EAA0E;YAC5D,OAAO;IAKrB;;;;;;;;;;;OAWG;YACW,eAAe;CAc9B"}
1
+ {"version":3,"file":"metrics_service.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics_service.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,cAAc,CAAC;AAClE,OAAO,EAA8B,KAAK,WAAW,EAAkB,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAShE,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C,YACmB,KAAK,EAAE,cAAc,EACtC,OAAO,GAAE,qBAA0B,EAMpC;IAED,iDAAiD;IAC3C,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CA8BtD;IAED,mFAAmF;IAC7E,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYrE;IAED;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmB/D;IAED;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAO5D;IAED,gFAAgF;IAC1E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAG7D;IAED;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMjF;IAED,4DAA4D;IACtD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAIrF;IAED,OAAO,CAAC,YAAY;IAIpB,0EAA0E;YAC5D,OAAO;IAKrB;;;;;;;;;;;OAWG;YACW,eAAe;CAc9B"}
@@ -1,5 +1,6 @@
1
- import { EXCEPTION_ENTRY_TYPES, isExceptionType } from '../entry.js';
1
+ import { EntryType, EXCEPTION_ENTRY_TYPES, isExceptionType } from '../entry.js';
2
2
  import { detectNPlusOne, detectNPlusOnePatterns, } from '../query/n_plus_one.js';
3
+ import { summarizeScreens } from './screens.js';
3
4
  import { estimateLatencyPercentiles, summarizeStats } from './stats.js';
4
5
  import { bucketTimeseries } from './timeseries.js';
5
6
  import { summarizeTraces } from './traces.js';
@@ -51,6 +52,7 @@ export class MetricsService {
51
52
  return summarizeStats({
52
53
  entries,
53
54
  type: query.type,
55
+ ...(query.topExceptions !== undefined ? { topExceptions: query.topExceptions } : {}),
54
56
  windowStart,
55
57
  windowEnd,
56
58
  windowMs: query.windowMs,
@@ -74,10 +76,50 @@ export class MetricsService {
74
76
  });
75
77
  return bucketTimeseries(entries, windowStart, windowEnd, buckets);
76
78
  }
77
- /** Recent traces, newest-last-seen first. */
78
- async getTraces(limit = 50) {
79
- const { entries } = await this.collect({});
80
- return summarizeTraces(entries, { limit });
79
+ /**
80
+ * Recent traces, newest-last-seen first, one page at a time.
81
+ *
82
+ * The store picks the page of trace ids (an indexed `GROUP BY` when it can — see
83
+ * {@link TelescopeStore.listTraceIds}) and only THEN do we fetch the entries of
84
+ * those traces. That ordering is the whole point: grouping first meant reading up
85
+ * to `scanCap` entries to answer a request for 50 traces, and on a busy table the
86
+ * chattiest watcher filled that budget before the interesting traces were reached
87
+ * — the screen was both slow AND incomplete.
88
+ *
89
+ * A store without the capability falls back to scan-and-group, which is what this
90
+ * method always used to do.
91
+ */
92
+ async getTraces(limit = 50, offset = 0) {
93
+ const page = Math.max(0, Math.floor(limit));
94
+ const skip = Math.max(0, Math.floor(offset));
95
+ if (typeof this.store.listTraceIds !== 'function') {
96
+ const { entries } = await this.collect({});
97
+ return summarizeTraces(entries, { limit: page + skip }).slice(skip);
98
+ }
99
+ const rows = await this.store.listTraceIds({ limit: page, offset: skip });
100
+ if (rows.length === 0)
101
+ return [];
102
+ const entries = await this.store.list({
103
+ traceIds: rows.map((row) => row.traceId),
104
+ limit: this.scanCap,
105
+ });
106
+ // summarizeTraces re-derives the ordering from the entries it is given, so the
107
+ // page order survives without the store and the summarizer having to agree on it.
108
+ return summarizeTraces(entries, { limit: page });
109
+ }
110
+ /**
111
+ * Per-route traffic over a window — what the "screens" view is built on.
112
+ *
113
+ * Windowed and type-filtered at the store, so this reads `request` entries only
114
+ * rather than the whole table.
115
+ */
116
+ async getScreens(query) {
117
+ const windowStart = new Date(Date.now() - query.windowMs);
118
+ const { entries } = await this.collect({ type: EntryType.Request, after: windowStart });
119
+ return summarizeScreens(entries, {
120
+ ...(query.kind !== undefined ? { kind: query.kind } : {}),
121
+ ...(query.limit !== undefined ? { limit: query.limit } : {}),
122
+ });
81
123
  }
82
124
  /** The span waterfall for a single trace, or `null` when the trace is empty. */
83
125
  async getWaterfall(traceId) {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics_service.js","sourceRoot":"","sources":["../../../src/metrics/metrics_service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics_service.js","sourceRoot":"","sources":["../../../src/metrics/metrics_service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type Entry } from '../entry.js';
2
+ import type { RequestKind } from '../request_watcher.js';
3
+ /** One route's traffic over the window. */
4
+ export interface ScreenStats {
5
+ /** The request path, e.g. `/pesquisador/escrita`. */
6
+ url: string;
7
+ /** How the route was reached — `page`, `api` or `asset`. */
8
+ kind: RequestKind;
9
+ /** How many requests hit it. */
10
+ count: number;
11
+ /** Distinct authenticated users who hit it (`0` when nobody was identified). */
12
+ users: number;
13
+ /** Mean duration in ms across the window, rounded. */
14
+ avgMs: number;
15
+ /** Slowest single request in the window, rounded. */
16
+ maxMs: number;
17
+ /** How many responded 4xx/5xx. */
18
+ errors: number;
19
+ /** Most recent hit, ISO. */
20
+ lastAt: string;
21
+ }
22
+ export interface SummarizeScreensOptions {
23
+ /** Only this kind. Omit for all. */
24
+ kind?: RequestKind;
25
+ limit?: number;
26
+ }
27
+ /**
28
+ * Group `request` entries by url into per-route traffic.
29
+ *
30
+ * Grouping is by (url, kind) and not url alone: the same path can legitimately be
31
+ * both — a page visit to `/relatorios` and the Inertia partial reload of it — and
32
+ * merging them would report one number that answers neither "how many people opened
33
+ * this screen" nor "how hard is this endpoint being hit".
34
+ *
35
+ * Entries recorded before `kind` existed are treated as `api`, which is what the
36
+ * majority of unclassified traffic is; they age out with retention.
37
+ *
38
+ * Pure.
39
+ */
40
+ export declare function summarizeScreens(entries: Entry[], options?: SummarizeScreensOptions): ScreenStats[];
41
+ //# sourceMappingURL=screens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../../src/metrics/screens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAuB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE9E,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,WAAW,CAAC;IAClB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,KAAK,EAAE,EAChB,OAAO,GAAE,uBAA4B,GACpC,WAAW,EAAE,CAmDf"}
@@ -0,0 +1,70 @@
1
+ import { EntryType } from '../entry.js';
2
+ const DEFAULT_LIMIT = 50;
3
+ /**
4
+ * Group `request` entries by url into per-route traffic.
5
+ *
6
+ * Grouping is by (url, kind) and not url alone: the same path can legitimately be
7
+ * both — a page visit to `/relatorios` and the Inertia partial reload of it — and
8
+ * merging them would report one number that answers neither "how many people opened
9
+ * this screen" nor "how hard is this endpoint being hit".
10
+ *
11
+ * Entries recorded before `kind` existed are treated as `api`, which is what the
12
+ * majority of unclassified traffic is; they age out with retention.
13
+ *
14
+ * Pure.
15
+ */
16
+ export function summarizeScreens(entries, options = {}) {
17
+ const limit = Math.max(0, Math.floor(options.limit ?? DEFAULT_LIMIT));
18
+ const byRoute = new Map();
19
+ for (const entry of entries) {
20
+ if (entry.type !== EntryType.Request)
21
+ continue;
22
+ const content = entry.content;
23
+ if (content === undefined || typeof content.url !== 'string')
24
+ continue;
25
+ const kind = content.kind ?? 'api';
26
+ if (options.kind !== undefined && kind !== options.kind)
27
+ continue;
28
+ const key = `${kind} ${content.url}`;
29
+ const at = entry.createdAt.getTime();
30
+ let acc = byRoute.get(key);
31
+ if (acc === undefined) {
32
+ acc = {
33
+ url: content.url,
34
+ kind,
35
+ count: 0,
36
+ users: new Set(),
37
+ totalMs: 0,
38
+ maxMs: 0,
39
+ errors: 0,
40
+ lastAt: at,
41
+ };
42
+ byRoute.set(key, acc);
43
+ }
44
+ acc.count += 1;
45
+ if (content.user?.id)
46
+ acc.users.add(content.user.id);
47
+ const durationMs = typeof content.durationMs === 'number' ? content.durationMs : 0;
48
+ acc.totalMs += durationMs;
49
+ if (durationMs > acc.maxMs)
50
+ acc.maxMs = durationMs;
51
+ if (typeof content.status === 'number' && content.status >= 400)
52
+ acc.errors += 1;
53
+ if (at > acc.lastAt)
54
+ acc.lastAt = at;
55
+ }
56
+ return [...byRoute.values()]
57
+ .sort((a, b) => b.count - a.count || b.lastAt - a.lastAt)
58
+ .slice(0, limit)
59
+ .map((acc) => ({
60
+ url: acc.url,
61
+ kind: acc.kind,
62
+ count: acc.count,
63
+ users: acc.users.size,
64
+ avgMs: Math.round(acc.totalMs / acc.count),
65
+ maxMs: Math.round(acc.maxMs),
66
+ errors: acc.errors,
67
+ lastAt: new Date(acc.lastAt).toISOString(),
68
+ }));
69
+ }
70
+ //# sourceMappingURL=screens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../../src/metrics/screens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AA6BpD,MAAM,aAAa,GAAG,EAAE,CAAC;AAazB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,OAAO,GAA4B,EAAE;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE/C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO;YAAE,SAAS;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,OAA0C,CAAC;QACjE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAAE,SAAS;QAEvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI;YAAE,SAAS;QAElE,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG;gBACJ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI;gBACJ,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,IAAI,GAAG,EAAU;gBACxB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,EAAE;aACX,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,GAAG,CAAC,OAAO,IAAI,UAAU,CAAC;QAC1B,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;QACnD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;YAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACjF,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM;YAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;SACxD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;KAC3C,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.13.0";
2
+ export declare const VERSION = "0.14.0";
3
3
  export { aggregateCpuProfile } from './aggregate-profile.js';
4
4
  export type { CpuProfilerOptions, CpuProfilerResult, InspectorSessionLike, SessionFactory, } from './cpu-profiler.js';
5
5
  export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.13.0';
2
+ export const VERSION = '0.14.0';
3
3
  export { aggregateCpuProfile } from './aggregate-profile.js';
4
4
  export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
5
5
  export { defineConfig, resolveConfig } from './define_config.js';
@@ -71,6 +71,8 @@ export declare function getTelescopeRuntime(): TelescopeRuntime;
71
71
  export declare function setTelescopeRuntime(store: TelescopeStore, requestWatcherEnabled: boolean, requestCapture?: RequestCaptureOptions | null, requestEnrichment?: RequestEnrichment | null): void;
72
72
  /** Publish the booted extension registry so the UI can serve its dashboards + providers. */
73
73
  export declare function setTelescopeExtensionRegistry(registry: ExtensionRegistry | null): void;
74
+ /** The booted extension registry, or `null` when no extensions are configured. */
75
+ export declare function getTelescopeExtensionRegistry(): ExtensionRegistry | null;
74
76
  /** Publish the SSE entry-events bus so the UI stream route can subscribe to it. */
75
77
  export declare function setTelescopeEntryEvents(entryEvents: EntryEvents | null): void;
76
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,iDAAiD;IACjD,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,4FAA4F;IAC5F,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;OAKG;IACH,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC;;;;;OAKG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAmBD,iCAAiC;AACjC,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,qBAAqB,EAAE,OAAO,EAC9B,cAAc,GAAE,qBAAqB,GAAG,IAAW,EACnD,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,GACjD,IAAI,CAKN;AAED,4FAA4F;AAC5F,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAEtF;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAE/F;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAExD;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,iDAAiD;IACjD,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,4FAA4F;IAC5F,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;OAKG;IACH,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC;;;;;OAKG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAmBD,iCAAiC;AACjC,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,qBAAqB,EAAE,OAAO,EAC9B,cAAc,GAAE,qBAAqB,GAAG,IAAW,EACnD,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,GACjD,IAAI,CAKN;AAED,4FAA4F;AAC5F,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAEtF;AAED,kFAAkF;AAClF,wBAAgB,6BAA6B,IAAI,iBAAiB,GAAG,IAAI,CAExE;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAE/F;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAExD;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C"}
@@ -28,6 +28,10 @@ export function setTelescopeRuntime(store, requestWatcherEnabled, requestCapture
28
28
  export function setTelescopeExtensionRegistry(registry) {
29
29
  runtime.registry = registry;
30
30
  }
31
+ /** The booted extension registry, or `null` when no extensions are configured. */
32
+ export function getTelescopeExtensionRegistry() {
33
+ return runtime.registry;
34
+ }
31
35
  /** Publish the SSE entry-events bus so the UI stream route can subscribe to it. */
32
36
  export function setTelescopeEntryEvents(entryEvents) {
33
37
  runtime.entryEvents = entryEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAqEA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC3D,MAAM,WAAW,GAAG,UAAsE,CAAC;AAE3F,MAAM,OAAO,GAAqB,WAAW,CAAC,WAAW,CAAC,IAAI;IAC5D,KAAK,EAAE,IAAI;IACX,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK;IACb,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;CACnB,CAAC;AACF,WAAW,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;AAEnC,iCAAiC;AACjC,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,qBAA8B,EAC9B,cAAc,GAAiC,IAAI,EACnD,iBAAiB,GAA6B,IAAI;IAElD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACtD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;IACxC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAChD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,6BAA6B,CAAC,QAAkC;IAC9E,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,WAA+B;IACrE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,WAAwC;IACvF,OAAO,CAAC,oBAAoB,GAAG,WAAW,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgC;IACtE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4B;IACnE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACtC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAqEA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC3D,MAAM,WAAW,GAAG,UAAsE,CAAC;AAE3F,MAAM,OAAO,GAAqB,WAAW,CAAC,WAAW,CAAC,IAAI;IAC5D,KAAK,EAAE,IAAI;IACX,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK;IACb,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;CACnB,CAAC;AACF,WAAW,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;AAEnC,iCAAiC;AACjC,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,qBAA8B,EAC9B,cAAc,GAAiC,IAAI,EACnD,iBAAiB,GAA6B,IAAI;IAElD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACtD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;IACxC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAChD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,6BAA6B,CAAC,QAAkC;IAC9E,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,6BAA6B;IAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,WAA+B;IACrE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,WAAwC;IACvF,OAAO,CAAC,oBAAoB,GAAG,WAAW,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgC;IACtE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4B;IACnE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACtC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AAC9B,CAAC"}
@@ -39,7 +39,43 @@ export interface RequestEntryContent {
39
39
  id: string;
40
40
  email?: string;
41
41
  } | null;
42
+ /**
43
+ * What KIND of request this was — see {@link classifyRequest}. `page` is a screen
44
+ * a person navigated to (Inertia visit or server-rendered HTML), `api` is data
45
+ * fetched by code, `asset` is a static file.
46
+ *
47
+ * Optional because entries recorded before this field existed do not have it, and
48
+ * the console has to keep rendering them.
49
+ */
50
+ kind?: RequestKind;
42
51
  }
52
+ /**
53
+ * How a request reached the app.
54
+ *
55
+ * The distinction the console could not make before: `GET /pesquisador/escrita` as a
56
+ * page visit and the dozen XHRs that page then fires are all `request` entries with
57
+ * a url, so "most visited screens" and "busiest endpoints" were the same list — and
58
+ * neither answered either question.
59
+ */
60
+ export type RequestKind = 'page' | 'api' | 'asset';
61
+ /**
62
+ * Classify a request as a screen visit, an API call, or a static asset.
63
+ *
64
+ * Order matters and encodes what is most reliable:
65
+ *
66
+ * 1. Assets go by URL, before anything else — a `.css` fetched with `Accept: * / *`
67
+ * would otherwise land in `api` and drown the endpoint list.
68
+ * 2. `x-inertia` is decisive for `page`. An Inertia visit asks for JSON and IS a
69
+ * screen navigation; going by `Accept` alone would file every one of them as
70
+ * `api`, which is exactly backwards for an Inertia app.
71
+ * 3. Then the response content-type, which describes what was actually served
72
+ * rather than what the client hoped for.
73
+ * 4. Then `Accept: text/html` — a plain browser navigation to a server-rendered
74
+ * page (an Edge template, a redirect landing).
75
+ *
76
+ * Anything left is `api`.
77
+ */
78
+ export declare function classifyRequest(request: RequestLike, responseContentType?: string): RequestKind;
43
79
  /**
44
80
  * Default `requestCapture.maxBodyBytes`: bodies over 128 KiB are not captured.
45
81
  * ON by default — the safe-by-default guard so a synchronous redaction walk over
@@ -165,6 +201,9 @@ export interface ResponseLike {
165
201
  statusCode?: number;
166
202
  /** AdonisJS `Response.getStatus()` — the only status accessor Adonis exposes. */
167
203
  getStatus?(): number;
204
+ /** Adonis's `response.getHeader(name)`. Optional so a plain stub still satisfies
205
+ * this shape — classification just falls back to the request headers. */
206
+ getHeader?(name: string): unknown;
168
207
  };
169
208
  }
170
209
  export interface HttpContextLike {
@@ -1 +1 @@
1
- {"version":3,"file":"request_watcher.d.ts","sourceRoot":"","sources":["../../src/request_watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request_watcher.d.ts","sourceRoot":"","sources":["../../src/request_watcher.ts"],"names":[],"mappings":"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"}