chore(query): update dependencies - #54
Conversation
Add validated OpenSearch DSL specifications with structural parameter binding, output controls, and injection-safe compilation. Share the structured query builder across connection, profile, and wizard workflows, and add native column filtering and value lookups. Migrate legacy trace parameters into search specifications with fail-fast validation. BREAKING CHANGE: opentelemetry provider.options.params is removed; migrate profiles to provider.options.search. Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Support profile renames and explicit replacement while cascading import references atomically across file and database stores. Expose native column filters, lookup metadata, and display units through dynamic entities and OpenAPI. Validate column presentation metadata before persistence. Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Infer OpenSearch filter bindings, validate column metadata, and preserve format/unit/filter details through rendering and schemas. Add coverage for CEL JSON extraction and native filter parameter separation. BREAKING CHANGE: ClickyColumns now accepts a Profile and returns ([]api.ColumnDef, error). Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Replace the modal-only profile workflow with a refresh-safe, sectioned editor route and preserve unsaved-change recovery. Add row detail views and guided JSON field promotion so discovered fields can be reviewed and persisted as profile columns. Keep log filtering server-side while compiling query UI utilities locally for consistent layout and theming. Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Provide a runnable workspace for comparing profile-editing layouts against realistic field data. The playground makes scrolling, navigation, inline editing, inspection, and live preview behavior easy to evaluate before choosing a production design. Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Attribute GORM statement duration, query counts, and returned rows to request-scoped Server-Timing metrics while leaving untimed contexts unaffected. Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Re-running `runs: always` migrations no longer triggers heavyweight dependent DDL on every Apply, reducing deadlock risk while preserving cascading when content actually changes. Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Add schema-driven OpenSearch querying with nested conditions, operators, pagination, sorting, source selection, and hit controls. Enrich table columns with filter mappings, display formats, units, roles, and UI ordering metadata. Refresh frontend dependencies for the query-builder surface. BREAKING CHANGE: remove the Provider Params field from affected profile schemas Claude-Session-Id: d3ad32c0-802e-4ac8-ba6d-9dac2f7773ba
Protects the editor contract for replacing configured columns with current OpenSearch samples and exposing reset availability rules Claude-Session-Id: 019fcc22-fa3d-7c83-aae0-1c9d79a79ede
Keep configured profile names during row projection so JSON, CSV, and NDJSON exports no longer expose provider source keys. Add coverage for backend exports and frontend rename, preview, and field-state behavior. Claude-Session-Id: 019fcc50-28f4-72c0-bffa-a5a08e64cf87
… lookups Render profile parameters across queries, provider options, and connections so previews match execution. Add scoped OpenSearch field-value lookups and parameter option pickers for data-backed authoring. Expose Form and JSON query modes, target selection, row limits, and safer profile field preservation. BREAKING CHANGE: replace the query builder's Filters/raw-DSL escape hatch with Form and JSON navigator tabs. Claude-Session-Id: 84ff6c61-f9bc-47e0-b6a1-d269e47a04ab
…elections Add list parameters with include/exclude filtering across CLI, HTTP, query execution, OpenAPI, and profile editing. Support CSV, JSON, and text-file selections while keeping server-side file access restricted. Bound exports by profile limits and expose replay/reconcile actions. Claude-Session-Id: 131441b4-c773-478c-87f4-5f7174a16d4d
Add CEL/composite key support, timestamp-aware joins, side-by-side reconciliation output, and guarded HTTP replay previews. Expose replay and reconcile profile actions, default replay to preview-only, and require a matching preview hash before execution. BREAKING CHANGE: processor.Recon now requires a context.Context argument; update callers accordingly.
Make query profiles safer and more expressive across the browser, API, and providers. Expose distinct row caps so paging and exports remain bounded while profile-specific limits stay configurable. Let OpenSearch authors select rolled-up targets, search live field values, and bind parameters directly to structured conditions without duplicate filters. Preserve provider fields under public column names and add reset, import, and export paths for profile editing. Reject contradictory limits and invalid parameter mappings loudly.
Introduce shared offset/cursor paging across query execution, profiles, browsers, CLI runs, SQL, and OpenSearch. Add PIT-backed walks, explicit totals and truncation reporting, typed filters, and profile-configured reconcile ranges and merge joins. Expose the new paging and reconcile behavior through generated schemas, OpenAPI metadata, and the logs UI. BREAKING CHANGE: remove legacy scroll APIs and MaxRows/BoundRows execution contracts in favor of Pages and PageRequest. Claude-Session-Id: 445fa9b9-7991-45eb-9ab8-6965adc68e1c
Add shared typed column-filter handling for SQL and OpenSearch providers, deriving terms, range, time, boolean, and text controls from column types. Expose mapping-aware filtering and scoped value lookups in the connection query browser, preserving authored queries while supporting pagination and dialect-safe predicates. Reject invalid, ambiguous, and unsupported filter selections instead of silently ignoring them.
Add adjacent-row batching with timestamp, boundary, continuation, and CEL transform support, including a named Java stacktrace preset. Expose processor libraries in the profile schema/editor and improve parameter and icon editing with shipped profile coverage. BREAKING CHANGE: remove the RowIterator, StreamingProvider, ExecuteRows, ExecuteRowsBounded, SupportsStreaming, and SliceRows APIs.
Add a reconcile bench for mapped or CEL keys, bounded runs, saved configurations, and matched/missing/ambiguous result review. Add searchable hierarchical profile pickers and shared profile cache invalidation so renamed profiles stay consistent. Use explicit and provider-specific icons, preserve inherited profile metadata, validate schema instances, and stabilize chat sessions.
Expose provider paging capabilities and total relations so callers can distinguish exact, lower-bound, and unknown results. Stream full ordered OpenSearch reads with cursors, avoid unnecessary counting for bounded exports, and prevent samples from draining entire indexes.
Expose profiles through dynamically resolved routes and make exports safer for browser and API clients. Preserve accurate paging, truncation, total relations, content negotiation, structured errors, CORS, and HEAD metadata across formats. Reject ambiguous or lossy requests instead of silently dropping fields, rows, or columns. BREAKING CHANGE: FilterLookupProvider implementations must return *Total metadata instead of an int total.
Keep profile filter lists readable while allowing authors to tune lookup sizes. Enforce valid limits at the query boundary and expose the setting consistently through schemas and the profile editor.
Allow users to reorder configured profile columns with drag-and-drop or keyboard controls. Preserve the configured order across field discovery, selection, and deletion so saved profiles render consistently. Claude-Session-Id: d13f4b29-4570-4efb-944f-598d51b10314
Upgrade the query web app to clicky-ui 0.3.18 and refresh its lockfile. Remove the local workspace override so dependency resolution uses the published package.
Support nested and encoded JSON extraction while preserving source fields and inferring literal-path filters. Classify UUID identifiers separately so exact-match inputs avoid expensive value enumeration. Correct filter metadata for single-valued controls and date ranges. BREAKING CHANGE: time bounds now use `date-range`, and non-term filters are advertised as single-valued controls.
Let profile authors browse sampled provider rows while entering JSONPath values, while retaining manual editing when sampling is unavailable. Resolve clicky-ui from npm for reproducible web builds.
…ges safely Pin approval hashes to the redacted request shown to users, preventing credentials from influencing leaked digests. Compile range comparisons through typed SQL clauses and keep CI replacements valid across module version bumps.
Evaluate author-entered paths against sampled rows through the query engine, preserving wildcard matches and filter-field metadata. Profile editors can browse multiple rows, select source columns, and preview paths without rerunning backend queries on every keystroke.
Represent Kubernetes workload scope in the query grammar and expose runtime workload and label selectors for log profiles. Preserve log-reading options separately, migrate legacy persisted targets, and cap resource discovery per connection. BREAKING CHANGE: Kubernetes target options (`kind`, `apiVersion`, `namespace`, `name`, `uid`, and `labels`) are no longer accepted; declare targets in the profile query instead.
Enable consistent local development against the sibling clicky-ui checkout and avoid ESM path-resolution failures in Vite.
Add configurable per-connection logging policies with provider-specific event levels and slow thresholds. Expose the policy editor through connection schemas and validate persisted overrides. Emit sanitized SQL and HTTP diagnostics with structured JSON fields and bounded request/response details. Claude-Session-Id: 019fff82-cd85-7710-8451-743f20d90c99
…reaming Apply processors consistently to provider-native rows before aliases, filters, columns, and styles across execution paths. Carry page-processor state in cursors and add bounded count/time buffering for whole-result trace processors. BREAKING CHANGE: PageProcessor.ProcessPage and ProcessPages APIs changed, and processors now receive raw provider rows Claude-Session-Id: 019fffa5-1d3c-7623-b36c-8a4318bc14e1
Add first-class datetime and duration parameter types with normalized runtime values and matching schema metadata. Existing date parameters now normalize to YYYY-MM-DD; durations resolve to whole milliseconds. BREAKING CHANGE: Date parameters no longer preserve raw input, and duration values are passed to providers as int64 milliseconds. Claude-Session-Id: 01a00975-3379-7c00-b1df-eca48598ee2b
Add schema metadata for sanitized connection logging across generic, SQL, and HTTP providers. Document new profile field types, bounded processor behavior, bidirectional deduplication, raw-row buffering, and trace session limits.
… OpenAPI docs Add cursor-first execution for cursor-only providers and preserve processor state across pages. Make log deduplication and batch processing streamable while bounding carried state. Cache profile OpenAPI documents with content negotiation, ETags, and refreshed profile metadata.
…netes logs Align Kubernetes log pagination with the API's forward-only SinceTime semantics, avoiding offset fallback and full-window rereads. Resolve targets once per cursor walk, bound each fetch, and record resolved pod, filter, and time details for slow logs.\nBREAKING CHANGE: Kubernetes logs no longer support offset paging or newest-first natural order; consumers must use cursor paging with ascending timestamp/id order.
Render the current Clicky page directly so log tables avoid redundant refetches while preserving filters, loading, pagination, and export behavior. Read Kubernetes logs forward from time bounds with stable positions so limits and resumes neither drop bounded pages nor duplicate lines.
Carry processor state through compressed, bounded cursors so page-spanning processors remain correct across requests. Derive cursor-only paging on initial requests, honor timestamp roles for time filters, and expose provider query details and filters in connection logs. BREAKING CHANGE: EncodeCursor now requires processor state, and cursors issued before the compressed format are invalidated.
Pin date-math resolution to the first page of a cursor walk so rolling windows retain the same fingerprint and can resume. Accept RFC3339Nano bounds from datetime parameters and route declared Kubernetes time ranges through the provider. Expose typed time-range filter metadata without advertising nonexistent lookup options.
Enable log profiles to transition from historical results into provider-backed live tails. Preserve continuity with resumable SSE sessions, bounded buffering, follow capability metadata, and explicit UI feedback for gaps and failures.
Add polling-based streaming with ascending search_after cursors, configurable polling and lag, and live mapping-aware time bounds. Preserve profile windows while allowing followed queries to receive documents indexed after the initial backfill.
… schemas Add conditional authentication support and required URL field to Elasticsearch connection schema. Adds insecure_tls boolean option and restructures auth properties to support multiple auth methods (basic, oauth, mTLS, none) with conditional validation using allOf/if-then constraints. URL field is now required. Updates all profile schemas to include elasticsearch in opensearch connector references. This enables more flexible authentication configuration and stricter validation based on selected auth type.
Claude-Session-Id: 5c9221db-8117-4747-95ca-4a9543369e8c
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
…rity handling Replace CodeQL comment directives with lgtm directives across multiple files. Move implicit status code handling from Write method to the finish handler to ensure consistency. Update clicky-ui to published version and remove workspace reference. Implement HMAC-based inspection key generation to avoid exposing credential digests. Add test coverage for inspection key stability and credential protection.
Gavel summary
Totals: 0 passed · 0 failed · 1 skipped · - |
| request.diagnostics.RecordRequest(statement, nil, map[string]any{"dialect": conn.Type, "operation": "exec"}) | ||
| // The connection browser intentionally accepts a complete operator-authored | ||
| // statement; no request value is interpolated into another SQL command. | ||
| res, err := client.ExecContext(r.Context(), statement) // lgtm[go/sql-injection] |
| destinations[index] = &counts[index] | ||
| } | ||
| // statement is assembled from validated, quoted identifiers around the profile's read-only query. | ||
| if err := client.QueryRowContext(ctx, statement).Scan(destinations...); err != nil { // lgtm[go/sql-injection] |
| // statement is the author's own query, unchanged, wrapped in a CTE built | ||
| // from constant syntax; every filter value travels as a bound arg and every | ||
| // filter identifier is validated before quoting. | ||
| rows, err := client.QueryContext(queryContext, statement, args...) // lgtm[go/sql-injection] |
What
Why