log10x-mcp 1.30.13 → 1.30.15

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.
@@ -187,6 +187,84 @@ export declare function coralogixMonitoringRecipe(opts?: {
187
187
  * independently reproducible ways, and a reader following it cannot succeed.
188
188
  */
189
189
  export declare function coralogixTcoApiContract(): SiemTierRecipe;
190
+ /**
191
+ * Which collector writes the offloaded rows. The OpenTelemetry Collector
192
+ * variant is a copy of the config that ran end to end on ClickStack 2.38.0 with
193
+ * engine 1.1.79, the released image
194
+ * `ghcr.io/log-10x/edge-10x@sha256:14357d8d570cb36ba6ca254802a1b8eedb11d8acf6916a936893f8e3babb41f4`.
195
+ * The Vector variant is written from Vector's documented sink options and has
196
+ * never been run.
197
+ */
198
+ export type ClickhouseCollector = 'otel-collector' | 'vector';
199
+ export interface ClickhouseOffloadParams {
200
+ /** Bucket the collector writes the offloaded rows into. */
201
+ bucket: string;
202
+ /** Region of that bucket. */
203
+ region: string;
204
+ /** Database holding the ClickStack tables. Default `default`. */
205
+ database?: string;
206
+ /** The hot table ClickStack ships. Default `otel_logs`. */
207
+ hotTable?: string;
208
+ /**
209
+ * S3 endpoint ClickHouse itself reads the objects through. Default is the
210
+ * regional AWS endpoint. The harness ran against MinIO at
211
+ * `http://cse-minio:9000`, which is why the path-style switches appear in
212
+ * the collector block as comments.
213
+ */
214
+ s3Endpoint?: string;
215
+ /** OTLP endpoint of the 10x receiver. Default `tenx-receiver:4317`. */
216
+ engineOtlpEndpoint?: string;
217
+ /** ClickStack's own OTLP endpoint, where everything not marked offload returns. */
218
+ clickstackOtlpEndpoint?: string;
219
+ /** Host and port of the HyperDX API. Default `clickstack:8000`. */
220
+ hyperdxApi?: string;
221
+ /** The engine's `symbolMessageHashField` value. Default `tenx_hash`. */
222
+ hashField?: string;
223
+ }
224
+ export interface ClickhouseRecipePart {
225
+ language: 'yaml' | 'toml' | 'sql' | 'bash' | 'text';
226
+ body: string;
227
+ note: string;
228
+ }
229
+ export interface ClickhouseOffloadRecipeParts {
230
+ collector: ClickhouseRecipePart & {
231
+ variant: ClickhouseCollector;
232
+ /** True only for the variant the harness actually ran. */
233
+ exercised: boolean;
234
+ };
235
+ /** The tables, the view, the Merge table and the counts table, as SQL. */
236
+ ddl: ClickhouseRecipePart;
237
+ /** Adding the Merge table to HyperDX as a second source, over its API. */
238
+ hyperdx: ClickhouseRecipePart;
239
+ /** Mandatory. Rendered with every variant, never trimmed. */
240
+ honesty: string[];
241
+ }
242
+ /**
243
+ * The honesty block. It states what the saving is, what the cold path costs,
244
+ * and the engine version this recipe requires. Every number quoted is from the
245
+ * single run in
246
+ * benchmarks/clickstack-e2e/results/clickstack-e2e-2026-09-15.md, measured on
247
+ * 50,000 lines of the released capture with a dropped cache before each query.
248
+ *
249
+ * Exported so a caller can assert it is present rather than re-derive it.
250
+ */
251
+ export declare function clickhouseOffloadHonesty(): string[];
252
+ /**
253
+ * The ClickHouse offload recipe: the collector that writes the objects, the SQL
254
+ * that reads them back beside the hot table, the HyperDX source, and the
255
+ * honesty block.
256
+ *
257
+ * Pass a collector to get one variant; the render function below shows both so
258
+ * the customer picks.
259
+ */
260
+ export declare function clickhouseOffloadRecipe(params: ClickhouseOffloadParams, collector?: ClickhouseCollector): ClickhouseOffloadRecipeParts;
261
+ /**
262
+ * The full ClickHouse offload section. Substitutes for the generic forwarder
263
+ * section, the way the Coralogix shipper does: the generic recipes write
264
+ * newline JSON into the Retriever's `{bucket}/app/` layout and strip
265
+ * `routeState`, and neither is what a ClickHouse cold table reads.
266
+ */
267
+ export declare function renderClickhouseOffloadSection(params: ClickhouseOffloadParams, collector?: ClickhouseCollector): string;
190
268
  /** Forwarders besides the detected one, stable order, for the "also supports"
191
269
  * hint. */
192
270
  export declare function otherOffloadForwarders(detected: OffloadForwarderId): OffloadForwarderId[];