@obsunified/collector 2.0.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 (254) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/dist/auth.d.ts +2 -0
  4. package/dist/auth.js +9 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/chunk-UGWDOGGH.js +319 -0
  7. package/dist/chunk-UGWDOGGH.js.map +1 -0
  8. package/dist/chunk-XKQTVIRE.js +671 -0
  9. package/dist/chunk-XKQTVIRE.js.map +1 -0
  10. package/dist/index.d.ts +1197 -0
  11. package/dist/index.js +17707 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/ingest-auth-HFVO1zIp.d.ts +165 -0
  14. package/dist/openai-FJYOQ7WO.js +384 -0
  15. package/dist/openai-FJYOQ7WO.js.map +1 -0
  16. package/package.json +73 -0
  17. package/src/ai-parity/ai-parity.acceptance.test.ts +449 -0
  18. package/src/analyses/derive.ts +642 -0
  19. package/src/analyses/index.ts +50 -0
  20. package/src/analyses/investigations.ts +277 -0
  21. package/src/analyses/tier0.ts +568 -0
  22. package/src/auth/dashboard-auth.ts +269 -0
  23. package/src/auth/ingest-auth.ts +147 -0
  24. package/src/durable-objects/tail-hub.test.ts +32 -0
  25. package/src/durable-objects/tail-hub.ts +158 -0
  26. package/src/framework/collector.ts +467 -0
  27. package/src/framework/env.ts +90 -0
  28. package/src/framework/logger.ts +81 -0
  29. package/src/index.ts +211 -0
  30. package/src/lib/action-aggregates.ts +1031 -0
  31. package/src/lib/action-identity.ts +106 -0
  32. package/src/lib/actions-store.ts +397 -0
  33. package/src/lib/ai-pricing.ts +80 -0
  34. package/src/lib/ai-store/calls.ts +148 -0
  35. package/src/lib/ai-store/evaluations.test.ts +47 -0
  36. package/src/lib/ai-store/evaluations.ts +125 -0
  37. package/src/lib/ai-store/helpers.ts +37 -0
  38. package/src/lib/ai-store/retention.ts +17 -0
  39. package/src/lib/ai-store/sessions.ts +277 -0
  40. package/src/lib/ai-store/spans.ts +109 -0
  41. package/src/lib/ai-store/types.ts +112 -0
  42. package/src/lib/ai-store.ts +76 -0
  43. package/src/lib/alerts-store.ts +458 -0
  44. package/src/lib/analyses-runner.ts +439 -0
  45. package/src/lib/analyses-store.test.ts +243 -0
  46. package/src/lib/analyses-store.ts +454 -0
  47. package/src/lib/ask.test.ts +302 -0
  48. package/src/lib/ask.ts +390 -0
  49. package/src/lib/blob-store-s3.ts +213 -0
  50. package/src/lib/blob-store.ts +366 -0
  51. package/src/lib/eval-cases-store.test.ts +171 -0
  52. package/src/lib/eval-cases-store.ts +1033 -0
  53. package/src/lib/evidence-references.test.ts +10 -0
  54. package/src/lib/evidence-references.ts +684 -0
  55. package/src/lib/hash.ts +26 -0
  56. package/src/lib/identity-index/action-lookups.ts +805 -0
  57. package/src/lib/identity-index/constants.ts +1 -0
  58. package/src/lib/identity-index/key-lookups.ts +199 -0
  59. package/src/lib/identity-index/mappers.ts +349 -0
  60. package/src/lib/identity-index/types.ts +196 -0
  61. package/src/lib/identity-index/user-lookup.ts +137 -0
  62. package/src/lib/identity-index.test.ts +624 -0
  63. package/src/lib/identity-index.ts +85 -0
  64. package/src/lib/json.ts +39 -0
  65. package/src/lib/llm.ts +263 -0
  66. package/src/lib/logs-store.ts +188 -0
  67. package/src/lib/metrics-store.test.ts +189 -0
  68. package/src/lib/metrics-store.ts +312 -0
  69. package/src/lib/narrate-gate.test.ts +260 -0
  70. package/src/lib/narrate-gate.ts +253 -0
  71. package/src/lib/openai.test.ts +300 -0
  72. package/src/lib/openai.ts +512 -0
  73. package/src/lib/otlp.ts +212 -0
  74. package/src/lib/parse-pprof.test.ts +64 -0
  75. package/src/lib/parse-pprof.ts +184 -0
  76. package/src/lib/payload-capture.ts +22 -0
  77. package/src/lib/projects-store.ts +207 -0
  78. package/src/lib/propagation-metric.test.ts +196 -0
  79. package/src/lib/propagation-metric.ts +175 -0
  80. package/src/lib/sql-db-dialect.test.ts +22 -0
  81. package/src/lib/sql-db-postgres.ts +229 -0
  82. package/src/lib/sql-db.ts +166 -0
  83. package/src/lib/stage6.test.ts +216 -0
  84. package/src/lib/store/export.ts +65 -0
  85. package/src/lib/store/helpers.ts +367 -0
  86. package/src/lib/store/ingest.ts +68 -0
  87. package/src/lib/store/issues.ts +158 -0
  88. package/src/lib/store/overview.ts +127 -0
  89. package/src/lib/store/retention.ts +10 -0
  90. package/src/lib/store/service-map.ts +384 -0
  91. package/src/lib/store/trace-detail.bench.ts +76 -0
  92. package/src/lib/store/trace-detail.test.ts +410 -0
  93. package/src/lib/store/trace-detail.ts +427 -0
  94. package/src/lib/store/trace-queries.test.ts +29 -0
  95. package/src/lib/store/trace-queries.ts +89 -0
  96. package/src/lib/store-overview.test.ts +77 -0
  97. package/src/lib/store.ts +96 -0
  98. package/src/lib/tail-publisher.ts +64 -0
  99. package/src/lib/test-utils/mem-sql-db.test.ts +93 -0
  100. package/src/lib/test-utils/mem-sql-db.ts +86 -0
  101. package/src/lib/ua-parser.ts +61 -0
  102. package/src/lib/usage-store.ts +567 -0
  103. package/src/migrations/001_telemetry_spans.sql +28 -0
  104. package/src/migrations/002_usage_events.sql +24 -0
  105. package/src/migrations/003_usage_analytics_columns.sql +13 -0
  106. package/src/migrations/004_logs.sql +19 -0
  107. package/src/migrations/005_ai_calls.sql +25 -0
  108. package/src/migrations/006_user_profiles.sql +11 -0
  109. package/src/migrations/007_session_replay_metadata.sql +10 -0
  110. package/src/migrations/008_session_replay_storage_bytes.sql +1 -0
  111. package/src/migrations/009_projects_and_keys.sql +22 -0
  112. package/src/migrations/010_signal_project_id.sql +15 -0
  113. package/src/migrations/011_default_project_seed.sql +3 -0
  114. package/src/migrations/012_alert_rules.sql +17 -0
  115. package/src/migrations/013_alert_evaluations.sql +13 -0
  116. package/src/migrations/014_alert_state.sql +9 -0
  117. package/src/migrations/015_metrics.sql +58 -0
  118. package/src/migrations/016_metrics_exp_histogram_summary.sql +5 -0
  119. package/src/migrations/017_span_dropped_counts.sql +11 -0
  120. package/src/migrations/018_log_flags.sql +8 -0
  121. package/src/migrations/019_ai_span_payloads.sql +30 -0
  122. package/src/migrations/020_ai_span_evaluations.sql +33 -0
  123. package/src/migrations/021_ai_span_session.sql +13 -0
  124. package/src/migrations/022_span_log_session_id.sql +13 -0
  125. package/src/migrations/023_service_map_indexes.sql +32 -0
  126. package/src/migrations/024_analysis_results.sql +49 -0
  127. package/src/migrations/025_stage6_autopinning_alerts.sql +38 -0
  128. package/src/migrations/026_obs_dashboard_project_seed.sql +18 -0
  129. package/src/migrations/027_identity_propagation.sql +50 -0
  130. package/src/migrations/028_profile_blobs.sql +57 -0
  131. package/src/migrations/029_telemetry_sdk_name.sql +20 -0
  132. package/src/migrations/030_analysis_claim.sql +18 -0
  133. package/src/migrations/031_agent_action_graph.sql +154 -0
  134. package/src/migrations/032_payload_capture_flags.sql +8 -0
  135. package/src/migrations/033_eval_cases.sql +52 -0
  136. package/src/migrations/034_eval_case_results.sql +23 -0
  137. package/src/migrations/035_metric_exemplars.sql +33 -0
  138. package/src/migrations/036_trace_instrumentation_gaps.sql +19 -0
  139. package/src/migrations/037_eval_runs.sql +37 -0
  140. package/src/migrations/038_tool_call_evidence.sql +11 -0
  141. package/src/migrations/039_drop_trace_instrumentation_gaps.sql +11 -0
  142. package/src/migrations/040_evidence_retrieval_refs.sql +50 -0
  143. package/src/migrations-postgres/001_telemetry_spans.sql +33 -0
  144. package/src/migrations-postgres/002_usage_events.sql +24 -0
  145. package/src/migrations-postgres/003_usage_analytics_columns.sql +13 -0
  146. package/src/migrations-postgres/004_logs.sql +19 -0
  147. package/src/migrations-postgres/005_ai_calls.sql +25 -0
  148. package/src/migrations-postgres/006_user_profiles.sql +11 -0
  149. package/src/migrations-postgres/007_session_replay_metadata.sql +10 -0
  150. package/src/migrations-postgres/008_session_replay_storage_bytes.sql +2 -0
  151. package/src/migrations-postgres/009_projects_and_keys.sql +25 -0
  152. package/src/migrations-postgres/010_signal_project_id.sql +18 -0
  153. package/src/migrations-postgres/011_default_project_seed.sql +5 -0
  154. package/src/migrations-postgres/012_alert_rules.sql +17 -0
  155. package/src/migrations-postgres/013_alert_evaluations.sql +13 -0
  156. package/src/migrations-postgres/014_alert_state.sql +9 -0
  157. package/src/migrations-postgres/015_metrics.sql +47 -0
  158. package/src/migrations-postgres/016_metrics_exp_histogram_summary.sql +1 -0
  159. package/src/migrations-postgres/017_span_dropped_counts.sql +4 -0
  160. package/src/migrations-postgres/018_log_flags.sql +2 -0
  161. package/src/migrations-postgres/019_ai_span_payloads.sql +18 -0
  162. package/src/migrations-postgres/020_ai_span_evaluations.sql +21 -0
  163. package/src/migrations-postgres/021_ai_span_session.sql +7 -0
  164. package/src/migrations-postgres/022_span_log_session_id.sql +7 -0
  165. package/src/migrations-postgres/023_service_map_indexes.sql +9 -0
  166. package/src/migrations-postgres/024_analysis_results.sql +41 -0
  167. package/src/migrations-postgres/025_stage6_autopinning_alerts.sql +17 -0
  168. package/src/migrations-postgres/026_obs_dashboard_project_seed.sql +14 -0
  169. package/src/migrations-postgres/027_identity_propagation.sql +27 -0
  170. package/src/migrations-postgres/028_profile_blobs.sql +48 -0
  171. package/src/migrations-postgres/029_telemetry_sdk_name.sql +5 -0
  172. package/src/migrations-postgres/030_analysis_claim.sql +5 -0
  173. package/src/migrations-postgres/031_agent_action_graph.sql +190 -0
  174. package/src/migrations-postgres/032_payload_capture_flags.sql +8 -0
  175. package/src/migrations-postgres/033_eval_cases.sql +55 -0
  176. package/src/migrations-postgres/034_eval_case_results.sql +26 -0
  177. package/src/migrations-postgres/035_metric_exemplars.sql +31 -0
  178. package/src/migrations-postgres/036_trace_instrumentation_gaps.sql +19 -0
  179. package/src/migrations-postgres/037_eval_runs.sql +40 -0
  180. package/src/migrations-postgres/038_tool_call_evidence.sql +11 -0
  181. package/src/migrations-postgres/039_drop_trace_instrumentation_gaps.sql +11 -0
  182. package/src/migrations-postgres/040_evidence_retrieval_refs.sql +47 -0
  183. package/src/migrations-postgres/README.md +40 -0
  184. package/src/otlp/acceptance.test.ts +373 -0
  185. package/src/otlp/decode/body.ts +127 -0
  186. package/src/otlp/decode/logs.ts +96 -0
  187. package/src/otlp/decode/metrics.ts +402 -0
  188. package/src/otlp/decode/traces.ts +92 -0
  189. package/src/otlp/decode/values.ts +150 -0
  190. package/src/otlp/decode.test.ts +800 -0
  191. package/src/otlp/decode.ts +11 -0
  192. package/src/otlp/gen/opentelemetry/proto/collector/logs/v1/logs_service_pb.ts +132 -0
  193. package/src/otlp/gen/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.ts +158 -0
  194. package/src/otlp/gen/opentelemetry/proto/collector/trace/v1/trace_service_pb.ts +158 -0
  195. package/src/otlp/gen/opentelemetry/proto/common/v1/common_pb.ts +289 -0
  196. package/src/otlp/gen/opentelemetry/proto/logs/v1/logs_pb.ts +397 -0
  197. package/src/otlp/gen/opentelemetry/proto/metrics/v1/metrics_pb.ts +1329 -0
  198. package/src/otlp/gen/opentelemetry/proto/resource/v1/resource_pb.ts +86 -0
  199. package/src/otlp/gen/opentelemetry/proto/trace/v1/trace_pb.ts +710 -0
  200. package/src/otlp/response.test.ts +158 -0
  201. package/src/otlp/response.ts +129 -0
  202. package/src/plugins/_context.ts +15 -0
  203. package/src/plugins/action-graph-processor/enrichers.ts +45 -0
  204. package/src/plugins/action-graph-processor/redaction.ts +84 -0
  205. package/src/plugins/action-graph-processor.test.ts +1023 -0
  206. package/src/plugins/action-graph-processor.ts +1172 -0
  207. package/src/plugins/action-routes.test.ts +716 -0
  208. package/src/plugins/action-routes.ts +343 -0
  209. package/src/plugins/ai-receiver.ts +254 -0
  210. package/src/plugins/ai-span-payloads-processor.test.ts +90 -0
  211. package/src/plugins/ai-span-payloads-processor.ts +180 -0
  212. package/src/plugins/alerts-evaluator.test.ts +91 -0
  213. package/src/plugins/alerts-evaluator.ts +328 -0
  214. package/src/plugins/alerts-routes.ts +101 -0
  215. package/src/plugins/analyses-routes.ts +138 -0
  216. package/src/plugins/ask-routes.ts +182 -0
  217. package/src/plugins/bot-filter.ts +19 -0
  218. package/src/plugins/connected-routes/manifest.ts +531 -0
  219. package/src/plugins/connected-routes.test.ts +1791 -0
  220. package/src/plugins/connected-routes.ts +1103 -0
  221. package/src/plugins/dashboard-routes.ts +41 -0
  222. package/src/plugins/default-span-enrichment.ts +92 -0
  223. package/src/plugins/eval-cases-routes.test.ts +391 -0
  224. package/src/plugins/eval-cases-routes.ts +529 -0
  225. package/src/plugins/evidence-retrieval-routes.benchmark.test.ts +245 -0
  226. package/src/plugins/evidence-retrieval-routes.test.ts +932 -0
  227. package/src/plugins/evidence-retrieval-routes.ts +2179 -0
  228. package/src/plugins/gen-ai-normalizer.test.ts +680 -0
  229. package/src/plugins/gen-ai-normalizer.ts +302 -0
  230. package/src/plugins/identity-receiver.ts +96 -0
  231. package/src/plugins/issue-enrichment.ts +132 -0
  232. package/src/plugins/issue-insights.ts +81 -0
  233. package/src/plugins/logs-receiver.ts +160 -0
  234. package/src/plugins/metrics-receiver.ts +91 -0
  235. package/src/plugins/onboarding-routes.ts +54 -0
  236. package/src/plugins/otlp-receiver.ts +124 -0
  237. package/src/plugins/platform-routes.ts +165 -0
  238. package/src/plugins/profile-routes.ts +468 -0
  239. package/src/plugins/projects-routes.ts +92 -0
  240. package/src/plugins/query-routes.ts +220 -0
  241. package/src/plugins/redaction-processor.ts +132 -0
  242. package/src/plugins/replay-query-routes.test.ts +38 -0
  243. package/src/plugins/replay-query-routes.ts +199 -0
  244. package/src/plugins/replay-receiver.ts +81 -0
  245. package/src/plugins/tail-routes.test.ts +47 -0
  246. package/src/plugins/tail-routes.ts +42 -0
  247. package/src/plugins/timeline-routes.ts +244 -0
  248. package/src/plugins/ua-enrichment.ts +27 -0
  249. package/src/plugins/usage-normalization.ts +46 -0
  250. package/src/plugins/usage-privacy.ts +55 -0
  251. package/src/plugins/usage-query-routes.ts +102 -0
  252. package/src/plugins/usage-receiver.ts +129 -0
  253. package/src/plugins/users-query-routes.ts +78 -0
  254. package/src/plugins/utm-enrichment.ts +36 -0
package/src/index.ts ADDED
@@ -0,0 +1,211 @@
1
+ import {
2
+ type CollectorConfig,
3
+ createTelemetryCollectorApp,
4
+ } from "./framework/collector";
5
+ import { actionGraphProcessorPlugin } from "./plugins/action-graph-processor";
6
+ import { actionRoutesPlugin } from "./plugins/action-routes";
7
+ import { aiReceiverPlugin } from "./plugins/ai-receiver";
8
+ import { aiSpanPayloadsProcessorPlugin } from "./plugins/ai-span-payloads-processor";
9
+ import {
10
+ createAlertEvaluatorHandler,
11
+ evaluateAllRules,
12
+ } from "./plugins/alerts-evaluator";
13
+ import { alertsRoutesPlugin } from "./plugins/alerts-routes";
14
+ import { analysesRoutesPlugin } from "./plugins/analyses-routes";
15
+ import { askRoutesPlugin } from "./plugins/ask-routes";
16
+ import { botFilterPlugin } from "./plugins/bot-filter";
17
+ import { connectedRoutesPlugin } from "./plugins/connected-routes";
18
+ import { dashboardRoutesPlugin } from "./plugins/dashboard-routes";
19
+ import { defaultSpanEnrichmentPlugin } from "./plugins/default-span-enrichment";
20
+ import { evalCasesRoutesPlugin } from "./plugins/eval-cases-routes";
21
+ import { evidenceRetrievalRoutesPlugin } from "./plugins/evidence-retrieval-routes";
22
+ import { genAiNormalizerPlugin } from "./plugins/gen-ai-normalizer";
23
+ import { identityReceiverPlugin } from "./plugins/identity-receiver";
24
+ import { issueEnrichmentPlugin } from "./plugins/issue-enrichment";
25
+ import { issueInsightsPlugin } from "./plugins/issue-insights";
26
+ import { logsReceiverPlugin } from "./plugins/logs-receiver";
27
+ import { metricsReceiverPlugin } from "./plugins/metrics-receiver";
28
+ import { onboardingRoutesPlugin } from "./plugins/onboarding-routes";
29
+ import { otlpReceiverPlugin } from "./plugins/otlp-receiver";
30
+ import { platformRoutesPlugin } from "./plugins/platform-routes";
31
+ import { profileRoutesPlugin } from "./plugins/profile-routes";
32
+ import { projectsRoutesPlugin } from "./plugins/projects-routes";
33
+ import { queryRoutesPlugin } from "./plugins/query-routes";
34
+ import { redactionProcessorPlugin } from "./plugins/redaction-processor";
35
+ import { replayQueryRoutesPlugin } from "./plugins/replay-query-routes";
36
+ import { replayReceiverPlugin } from "./plugins/replay-receiver";
37
+ import { tailRoutesPlugin } from "./plugins/tail-routes";
38
+ import { timelineRoutesPlugin } from "./plugins/timeline-routes";
39
+ import { uaEnrichmentPlugin } from "./plugins/ua-enrichment";
40
+ import { usageNormalizationPlugin } from "./plugins/usage-normalization";
41
+ import { usagePrivacyPlugin } from "./plugins/usage-privacy";
42
+ import { usageQueryRoutesPlugin } from "./plugins/usage-query-routes";
43
+ import { usageReceiverPlugin } from "./plugins/usage-receiver";
44
+ import { usersQueryRoutesPlugin } from "./plugins/users-query-routes";
45
+ import { utmEnrichmentPlugin } from "./plugins/utm-enrichment";
46
+
47
+ export { createDashboardAuth } from "./auth/dashboard-auth";
48
+ export { createIngestAuth } from "./auth/ingest-auth";
49
+ export type { TailEvent, TailKind } from "./durable-objects/tail-hub";
50
+ export { TailHub } from "./durable-objects/tail-hub";
51
+ export {
52
+ type CollectorAuthConfig,
53
+ type CollectorConfig,
54
+ type CollectorPlugin,
55
+ type CollectorRuntime,
56
+ createAnalysesRunHandler,
57
+ createRetentionCleanupHandler,
58
+ createTelemetryCollectorApp,
59
+ type SpanProcessorPlugin,
60
+ type SqlDbFactory,
61
+ type UsageEventProcessorPlugin,
62
+ } from "./framework/collector";
63
+
64
+ export type {
65
+ CollectorApp,
66
+ CollectorEnv,
67
+ CollectorRouteContext,
68
+ } from "./framework/env";
69
+
70
+ export type { Logger } from "./framework/logger";
71
+ export { consoleLogger } from "./framework/logger";
72
+ export {
73
+ type ActionRecord,
74
+ ActionStore,
75
+ type AgentRunRecord,
76
+ type ArtifactRecord,
77
+ type EvalResultRecord,
78
+ type RetrievalEventRecord,
79
+ type ToolCallRecord,
80
+ } from "./lib/actions-store";
81
+ export { AlertsStore, compareValue } from "./lib/alerts-store";
82
+ export {
83
+ type BlobListOptions,
84
+ type BlobListResult,
85
+ type BlobObject,
86
+ type BlobPutOptions,
87
+ type BlobStore,
88
+ BlobStoreToR2Adapter,
89
+ R2BlobStore,
90
+ } from "./lib/blob-store";
91
+ export { S3BlobStore, type S3BlobStoreOptions } from "./lib/blob-store-s3";
92
+ export {
93
+ type EvalCase,
94
+ type EvalCaseInput,
95
+ type EvalCaseListOptions,
96
+ type EvalCaseSourceLinks,
97
+ EvalCaseSourceNotFoundError,
98
+ type EvalCaseSourceType,
99
+ EvalCasesStore,
100
+ type EvalRun,
101
+ type EvalRunCandidate,
102
+ type EvalRunInput,
103
+ type EvalRunSourceCase,
104
+ type EvalRunStatus,
105
+ type EvalRunsListOptions,
106
+ isEvalCaseSourceType,
107
+ isEvalRunStatus,
108
+ } from "./lib/eval-cases-store";
109
+ export { MetricsStore } from "./lib/metrics-store";
110
+ export { ProjectsStore } from "./lib/projects-store";
111
+ export { D1Adapter, type SqlDb, type SqlStatement } from "./lib/sql-db";
112
+ export {
113
+ PostgresAdapter,
114
+ type PostgresAdapterOptions,
115
+ } from "./lib/sql-db-postgres";
116
+ export {
117
+ actionRoutesPlugin,
118
+ aiReceiverPlugin,
119
+ aiSpanPayloadsProcessorPlugin,
120
+ alertsRoutesPlugin,
121
+ analysesRoutesPlugin,
122
+ askRoutesPlugin,
123
+ botFilterPlugin,
124
+ connectedRoutesPlugin,
125
+ createAlertEvaluatorHandler,
126
+ dashboardRoutesPlugin,
127
+ defaultSpanEnrichmentPlugin,
128
+ evalCasesRoutesPlugin,
129
+ evaluateAllRules,
130
+ evidenceRetrievalRoutesPlugin,
131
+ genAiNormalizerPlugin,
132
+ identityReceiverPlugin,
133
+ issueEnrichmentPlugin,
134
+ issueInsightsPlugin,
135
+ logsReceiverPlugin,
136
+ metricsReceiverPlugin,
137
+ onboardingRoutesPlugin,
138
+ otlpReceiverPlugin,
139
+ platformRoutesPlugin,
140
+ profileRoutesPlugin,
141
+ projectsRoutesPlugin,
142
+ queryRoutesPlugin,
143
+ redactionProcessorPlugin,
144
+ replayQueryRoutesPlugin,
145
+ replayReceiverPlugin,
146
+ tailRoutesPlugin,
147
+ timelineRoutesPlugin,
148
+ uaEnrichmentPlugin,
149
+ usageNormalizationPlugin,
150
+ usagePrivacyPlugin,
151
+ usageQueryRoutesPlugin,
152
+ usageReceiverPlugin,
153
+ usersQueryRoutesPlugin,
154
+ utmEnrichmentPlugin,
155
+ };
156
+
157
+ /** All built-in plugins in recommended registration order */
158
+ export const allPlugins = [
159
+ defaultSpanEnrichmentPlugin,
160
+ issueEnrichmentPlugin,
161
+ redactionProcessorPlugin,
162
+ // Normalize vendor gen_ai.* attrs → OpenInference before payload routing.
163
+ genAiNormalizerPlugin,
164
+ actionGraphProcessorPlugin,
165
+ // Must run after redaction + normalization so stored payloads reflect the
166
+ // redacted form and cover both native-SDK and gen_ai spans.
167
+ aiSpanPayloadsProcessorPlugin,
168
+ usageNormalizationPlugin,
169
+ usagePrivacyPlugin,
170
+ uaEnrichmentPlugin,
171
+ botFilterPlugin,
172
+ utmEnrichmentPlugin,
173
+ otlpReceiverPlugin,
174
+ usageReceiverPlugin,
175
+ logsReceiverPlugin,
176
+ metricsReceiverPlugin,
177
+ aiReceiverPlugin,
178
+ identityReceiverPlugin,
179
+ replayReceiverPlugin,
180
+ issueInsightsPlugin,
181
+ onboardingRoutesPlugin,
182
+ projectsRoutesPlugin,
183
+ queryRoutesPlugin,
184
+ usageQueryRoutesPlugin,
185
+ usersQueryRoutesPlugin,
186
+ replayQueryRoutesPlugin,
187
+ alertsRoutesPlugin,
188
+ analysesRoutesPlugin,
189
+ actionRoutesPlugin,
190
+ evalCasesRoutesPlugin,
191
+ evidenceRetrievalRoutesPlugin,
192
+ askRoutesPlugin,
193
+ tailRoutesPlugin,
194
+ timelineRoutesPlugin,
195
+ connectedRoutesPlugin,
196
+ profileRoutesPlugin,
197
+ dashboardRoutesPlugin,
198
+ ];
199
+
200
+ export const createDefaultCollectorApp = (config?: Partial<CollectorConfig>) =>
201
+ createTelemetryCollectorApp({
202
+ plugins: config?.plugins ?? [...allPlugins, platformRoutesPlugin],
203
+ auth: config?.auth,
204
+ allowedOrigins: config?.allowedOrigins,
205
+ dashboardAuth: config?.dashboardAuth,
206
+ logger: config?.logger,
207
+ withChildSpan: config?.withChildSpan,
208
+ sqlDb: config?.sqlDb,
209
+ });
210
+
211
+ export default createTelemetryCollectorApp(allPlugins);