Skip to content

feat(query): tune profile filter limits - #52

Open
moshloop wants to merge 43 commits into
mainfrom
feat/query-profile-filter-limits
Open

feat(query): tune profile filter limits#52
moshloop wants to merge 43 commits into
mainfrom
feat/query-profile-filter-limits

Conversation

@moshloop

@moshloop moshloop commented Aug 7, 2026

Copy link
Copy Markdown
Member

What

  • Add configurable lookup limits for profile filter lists.
  • Validate limits at the query boundary and expose them in schemas and the profile editor.

Why

  • Keep profile filter lists readable while allowing authors to tune lookup sizes.

moshloop added 23 commits August 2, 2026 12:02
Carry staged, unstaged, untracked, and ignored files into new worktrees without stashing or mutating source repositories.
Use copy-on-write cloning where supported and byte-copy fallback elsewhere.
BREAKING CHANGE: Dirty/Stash configuration is retained only for parsing and no longer controls checkout behavior; use Worktree.Uncommitted, Worktree.Ignored, and Since.
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.
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 433 files, which is 333 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 75682618-7981-49fc-80e3-5fc73e315012

📥 Commits

Reviewing files that changed from the base of the PR and between 44041d9 and 470ec59.

⛔ Files ignored due to path filters (3)
  • cmd/query/go.sum is excluded by !**/*.sum
  • cmd/query/www/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (433)
  • .github/workflows/query.yml
  • .gitignore
  • Taskfile.yaml
  • cmd/query/README.md
  • cmd/query/connections/browser.go
  • cmd/query/connections/browser_filters.go
  • cmd/query/connections/browser_filters_test.go
  • cmd/query/connections/browser_opensearch.go
  • cmd/query/connections/browser_opensearch_filters.go
  • cmd/query/connections/browser_opensearch_filters_test.go
  • cmd/query/connections/browser_opensearch_shape.go
  • cmd/query/connections/browser_opensearch_test.go
  • cmd/query/connections/browser_test.go
  • cmd/query/connections/browser_values_test.go
  • cmd/query/connections/catalog.go
  • cmd/query/connections/dashboard.go
  • cmd/query/connections/dashboard_integration_test.go
  • cmd/query/connections/dashboard_test.go
  • cmd/query/connections/service.go
  • cmd/query/connections/suite_test.go
  • cmd/query/go.mod
  • cmd/query/internal/app/app.go
  • cmd/query/internal/app/chat.go
  • cmd/query/internal/app/chat_test.go
  • cmd/query/internal/app/config.go
  • cmd/query/internal/app/config_test.go
  • cmd/query/internal/app/database.go
  • cmd/query/internal/app/dev_proxy.go
  • cmd/query/internal/app/dev_proxy_test.go
  • cmd/query/internal/app/runtime.go
  • cmd/query/internal/app/runtime_context_test.go
  • cmd/query/internal/app/runtime_db_test.go
  • cmd/query/internal/app/runtime_test.go
  • cmd/query/internal/app/schema_handler.go
  • cmd/query/internal/app/secrets.go
  • cmd/query/internal/app/secrets_catalog_suite_test.go
  • cmd/query/internal/app/secrets_catalog_test.go
  • cmd/query/internal/app/server.go
  • cmd/query/internal/commands/commands_test.go
  • cmd/query/internal/commands/root.go
  • cmd/query/internal/commands/serve.go
  • cmd/query/internal/commands/version.go
  • cmd/query/internal/paramfile/paramfile.go
  • cmd/query/internal/paramfile/paramfile_test.go
  • cmd/query/main.go
  • cmd/query/profiles/action_flags.go
  • cmd/query/profiles/action_flags_test.go
  • cmd/query/profiles/execute_post.go
  • cmd/query/profiles/execute_post_test.go
  • cmd/query/profiles/execution.go
  • cmd/query/profiles/execution_rename_test.go
  • cmd/query/profiles/execution_test.go
  • cmd/query/profiles/family.go
  • cmd/query/profiles/family_lookup_limit_test.go
  • cmd/query/profiles/family_test.go
  • cmd/query/profiles/icons.go
  • cmd/query/profiles/legacy_migration.go
  • cmd/query/profiles/legacy_migration_test.go
  • cmd/query/profiles/legacy_search.go
  • cmd/query/profiles/lookup.go
  • cmd/query/profiles/lookup_test.go
  • cmd/query/profiles/openapi.go
  • cmd/query/profiles/openapi_test.go
  • cmd/query/profiles/paging.go
  • cmd/query/profiles/profile_update_db_test.go
  • cmd/query/profiles/profile_update_test.go
  • cmd/query/profiles/reconcile.go
  • cmd/query/profiles/reconcile_test.go
  • cmd/query/profiles/replay.go
  • cmd/query/profiles/replay_test.go
  • cmd/query/profiles/resolver.go
  • cmd/query/profiles/resolver_test.go
  • cmd/query/profiles/run.go
  • cmd/query/profiles/run_test.go
  • cmd/query/profiles/sample.go
  • cmd/query/profiles/sample_jsonpath.go
  • cmd/query/profiles/sample_jsonpath_test.go
  • cmd/query/profiles/sample_test.go
  • cmd/query/profiles/service.go
  • cmd/query/profiles/service_test.go
  • cmd/query/profiles/store.go
  • cmd/query/profiles/store_test.go
  • cmd/query/profiles/store_update.go
  • cmd/query/sessions/trace.go
  • cmd/query/www/design/design.css
  • cmd/query/www/design/main.tsx
  • cmd/query/www/design/mockProfile.ts
  • cmd/query/www/design/modal.html
  • cmd/query/www/design/shared.tsx
  • cmd/query/www/design/variantA.tsx
  • cmd/query/www/design/variantB.tsx
  • cmd/query/www/design/variantC.tsx
  • cmd/query/www/design/variantD.tsx
  • cmd/query/www/design/variantShell.tsx
  • cmd/query/www/package.json
  • cmd/query/www/pnpm-workspace.yaml
  • cmd/query/www/src/App.tsx
  • cmd/query/www/src/browserFilterValues.test.ts
  • cmd/query/www/src/browserFilterValues.ts
  • cmd/query/www/src/catalogTree.tsx
  • cmd/query/www/src/chatWidget.tsx
  • cmd/query/www/src/connectionBrowser.test.tsx
  • cmd/query/www/src/connectionBrowser.tsx
  • cmd/query/www/src/connectionBrowserModel.test.ts
  • cmd/query/www/src/connectionBrowserModel.ts
  • cmd/query/www/src/connectionDashboard.test.tsx
  • cmd/query/www/src/connectionDashboard.tsx
  • cmd/query/www/src/connectionQueryWorkspace.test.tsx
  • cmd/query/www/src/connectionQueryWorkspace.tsx
  • cmd/query/www/src/editProfileAction.test.ts
  • cmd/query/www/src/editProfileAction.tsx
  • cmd/query/www/src/endpointSelectorAdapter.test.ts
  • cmd/query/www/src/endpointSelectorAdapter.ts
  • cmd/query/www/src/esFieldValues.test.ts
  • cmd/query/www/src/esFieldValues.ts
  • cmd/query/www/src/esParamMappingModel.test.ts
  • cmd/query/www/src/esParamMappingModel.ts
  • cmd/query/www/src/esParamOperandExtension.tsx
  • cmd/query/www/src/esParamOptions.test.tsx
  • cmd/query/www/src/esParamOptions.tsx
  • cmd/query/www/src/esQueryBuilder.test.tsx
  • cmd/query/www/src/esQueryBuilder.tsx
  • cmd/query/www/src/esQueryBuilderModel.test.ts
  • cmd/query/www/src/esQueryBuilderModel.ts
  • cmd/query/www/src/esQueryClauseGroup.test.tsx
  • cmd/query/www/src/esQueryClauseGroup.tsx
  • cmd/query/www/src/esQueryConditionRow.test.tsx
  • cmd/query/www/src/esQueryConditionRow.tsx
  • cmd/query/www/src/esQueryOperandEditors.tsx
  • cmd/query/www/src/esQueryOperandModel.test.ts
  • cmd/query/www/src/esQueryOperandModel.ts
  • cmd/query/www/src/esQueryOperators.test.ts
  • cmd/query/www/src/esQueryOperators.ts
  • cmd/query/www/src/esQueryOutputEditor.tsx
  • cmd/query/www/src/esQueryOutputEditors.test.tsx
  • cmd/query/www/src/esQueryPreview.tsx
  • cmd/query/www/src/esQuerySortEditor.tsx
  • cmd/query/www/src/esValueCombobox.test.tsx
  • cmd/query/www/src/esValueCombobox.tsx
  • cmd/query/www/src/iconProvider.tsx
  • cmd/query/www/src/jsonPathPicker.test.tsx
  • cmd/query/www/src/jsonPathPicker.tsx
  • cmd/query/www/src/jsonPathSampleRow.test.ts
  • cmd/query/www/src/jsonPathSampleRow.tsx
  • cmd/query/www/src/listValueFile.test.ts
  • cmd/query/www/src/listValueFile.ts
  • cmd/query/www/src/listValueMerge.test.ts
  • cmd/query/www/src/listValueMerge.ts
  • cmd/query/www/src/listValuePicker.test.tsx
  • cmd/query/www/src/listValuePicker.tsx
  • cmd/query/www/src/logsProfiles.test.ts
  • cmd/query/www/src/logsProfiles.tsx
  • cmd/query/www/src/main.tsx
  • cmd/query/www/src/profileBuilder.css
  • cmd/query/www/src/profileBuilder.test.ts
  • cmd/query/www/src/profileBuilder.tsx
  • cmd/query/www/src/profileBuilderWorkspace.tsx
  • cmd/query/www/src/profileColumnFilter.test.ts
  • cmd/query/www/src/profileColumnPicker.tsx
  • cmd/query/www/src/profileColumnPromotion.test.ts
  • cmd/query/www/src/profileColumnPromotion.ts
  • cmd/query/www/src/profileEditor.tsx
  • cmd/query/www/src/profileEditorModel.test.ts
  • cmd/query/www/src/profileEditorModel.ts
  • cmd/query/www/src/profileEditorParams.test.tsx
  • cmd/query/www/src/profileEditorPreview.tsx
  • cmd/query/www/src/profileEditorRail.tsx
  • cmd/query/www/src/profileEditorRaw.test.tsx
  • cmd/query/www/src/profileEditorRaw.tsx
  • cmd/query/www/src/profileEditorSections.tsx
  • cmd/query/www/src/profileFieldEditor.tsx
  • cmd/query/www/src/profileFieldGrid.tsx
  • cmd/query/www/src/profileFieldManager.tsx
  • cmd/query/www/src/profileFieldState.test.tsx
  • cmd/query/www/src/profileFieldState.ts
  • cmd/query/www/src/profileJsonFieldPicker.test.tsx
  • cmd/query/www/src/profileJsonFieldPicker.tsx
  • cmd/query/www/src/profileJsonFields.test.ts
  • cmd/query/www/src/profileJsonFields.ts
  • cmd/query/www/src/profileParamModel.test.ts
  • cmd/query/www/src/profileParamModel.ts
  • cmd/query/www/src/profilePicker.tsx
  • cmd/query/www/src/profileRowDetails.test.ts
  • cmd/query/www/src/profileRowDetails.tsx
  • cmd/query/www/src/profileWizard.test.tsx
  • cmd/query/www/src/profileWizard.tsx
  • cmd/query/www/src/profileWizardModel.ts
  • cmd/query/www/src/profileWizardQueryStep.test.tsx
  • cmd/query/www/src/profileWizardQueryStep.tsx
  • cmd/query/www/src/profilesQuery.ts
  • cmd/query/www/src/prometheusResults.tsx
  • cmd/query/www/src/queryRowLimits.test.tsx
  • cmd/query/www/src/queryRowLimits.tsx
  • cmd/query/www/src/queryTargetPicker.test.tsx
  • cmd/query/www/src/queryTargetPicker.tsx
  • cmd/query/www/src/reconcileAction.tsx
  • cmd/query/www/src/reconcileBench.tsx
  • cmd/query/www/src/reconcileModel.test.ts
  • cmd/query/www/src/reconcileModel.ts
  • cmd/query/www/src/reconcilePage.tsx
  • cmd/query/www/src/reconcileResults.tsx
  • cmd/query/www/src/secretKeySelector.ts
  • cmd/query/www/src/secretKeySelector.tsx
  • cmd/query/www/src/styles.css
  • cmd/query/www/src/styles.test.ts
  • cmd/query/www/tsconfig.json
  • cmd/query/www/vite.config.ts
  • connection/azure.go
  • connection/azure_test.go
  • connection/context_stub_test.go
  • connection/gcp.go
  • connection/git.go
  • connection/http.go
  • connection/http_test.go
  • connection/kubernetes.go
  • connection/loki.go
  • connection/loki_test.go
  • connection/sql.go
  • connection/sql_test.go
  • connection/zz_generated.deepcopy.go
  • context/onepassword.go
  • context/onepassword_catalog.go
  • context/onepassword_catalog_test.go
  • context/onepassword_test.go
  • db/gorm.go
  • db/timing_plugin.go
  • db/timing_plugin_test.go
  • go.mod
  • inspect/opensearch/inspector.go
  • inspect/opensearch/inspector_test.go
  • inspect/opensearch/rollup.go
  • inspect/opensearch/rollup_test.go
  • logs/azureloganalytics/search.go
  • logs/azureloganalytics/search_test.go
  • logs/azureloganalytics/types.go
  • logs/azureloganalytics/zz_generated.deepcopy.go
  • logs/bigquery/search.go
  • logs/bigquery/search_test.go
  • logs/bigquery/zz_generated.deepcopy.go
  • logs/cloudwatch/search.go
  • logs/cloudwatch/zz_generated.deepcopy.go
  • logs/gcpcloudlogging/cloud_logging.go
  • logs/gcpcloudlogging/zz_generated.deepcopy.go
  • logs/k8s/logs.go
  • logs/logs.go
  • logs/loki/loki.go
  • logs/loki/types.go
  • logs/loki/zz_generated.deepcopy.go
  • logs/opensearch/search.go
  • logs/opensearch/search_test.go
  • logs/opensearch/types.go
  • logs/opensearch/values.go
  • logs/opensearch/values_test.go
  • logs/parse.go
  • logs/parse_test.go
  • logs/testdata/effective_message.yaml
  • logs/testdata/parse_autodetect.yaml
  • logs/testdata/parse_json.yaml
  • logs/testdata/parse_klogfmt.yaml
  • logs/testdata/parse_logfmt.yaml
  • logs/testdata/parse_syslog.yaml
  • logs/zz_generated.deepcopy.go
  • migrate/scripts.go
  • migrate/scripts_test.go
  • pkg/allowlist/allowlist.go
  • pkg/allowlist/allowlist_test.go
  • profiles/azure-log-analytics.yaml
  • profiles/cloudwatch-logs.yaml
  • profiles/java-app-logs.yaml
  • profiles/k8s-pod-logs.yaml
  • profiles/orders-emitted.yaml
  • profiles/orders-ingested.yaml
  • query/cel.go
  • query/column.go
  • query/column_filter.go
  • query/column_filter_kind.go
  • query/column_filter_kind_internal_test.go
  • query/column_filter_limit_test.go
  • query/column_filter_parse.go
  • query/column_filter_parse_internal_test.go
  • query/column_filter_resolve.go
  • query/column_filter_target.go
  • query/column_filter_test.go
  • query/cursor.go
  • query/cursor_test.go
  • query/diagnostics.go
  • query/diagnostics_test.go
  • query/engine.go
  • query/engine_test.go
  • query/esdsl/bind.go
  • query/esdsl/bind_test.go
  • query/esdsl/compile.go
  • query/esdsl/compile_test.go
  • query/esdsl/escape.go
  • query/esdsl/escape_test.go
  • query/esdsl/leaf.go
  • query/esdsl/operators.go
  • query/esdsl/spec.go
  • query/esdsl/suite_test.go
  • query/esdsl/validate.go
  • query/esdsl/validate_test.go
  • query/execute_pages.go
  • query/execute_pages_test.go
  • query/filters.go
  • query/filters_test.go
  • query/iterator.go
  • query/jsonpath.go
  • query/jsonpath_test.go
  • query/key.go
  • query/key_test.go
  • query/keyrange.go
  • query/library.go
  • query/order.go
  • query/paging.go
  • query/paging_test.go
  • query/param.go
  • query/param_internal_test.go
  • query/param_list_e2e_test.go
  • query/param_list_internal_test.go
  • query/param_validate.go
  • query/param_validate_test.go
  • query/processor.go
  • query/processor/batch.go
  • query/processor/batch_test.go
  • query/processor/batch_time.go
  • query/processor/dedupe.go
  • query/processor/dedupe_test.go
  • query/processor/library.go
  • query/processor/merge.go
  • query/processor/processor_test.go
  • query/processor/recon.go
  • query/processor/sqlite.go
  • query/profile.go
  • query/profiles_example_test.go
  • query/provider.go
  • query/providers/aws.go
  • query/providers/azurelogs.go
  • query/providers/bigquery.go
  • query/providers/cloudwatch.go
  • query/providers/conformance_test.go
  • query/providers/gcp.go
  • query/providers/gcp_internal_test.go
  • query/providers/gcplogging.go
  • query/providers/k8slogs.go
  • query/providers/log_providers_test.go
  • query/providers/loki.go
  • query/providers/new_providers_test.go
  • query/providers/opensearch.go
  • query/providers/opensearch_filter.go
  • query/providers/opensearch_filter_internal_test.go
  • query/providers/opensearch_lookup.go
  • query/providers/opensearch_nested_integration_test.go
  • query/providers/opensearch_search.go
  • query/providers/opensearch_search_test.go
  • query/providers/opensearch_walk.go
  • query/providers/opentelemetry.go
  • query/providers/opentelemetry_search.go
  • query/providers/providers_test.go
  • query/providers/sql.go
  • query/providers/sql_diagnostics.go
  • query/providers/sql_dialect.go
  • query/providers/sql_filter.go
  • query/providers/sql_filter_integration_test.go
  • query/providers/sql_filter_internal_test.go
  • query/providers/sql_lex.go
  • query/providers/sql_lex_internal_test.go
  • query/providers/sql_lookup.go
  • query/providers/sql_lookup_internal_test.go
  • query/providers/sql_page.go
  • query/providers/sql_page_internal_test.go
  • query/providers/sql_paged_internal_test.go
  • query/reconcile.go
  • query/reconcile_merge.go
  • query/reconcile_profiles_test.go
  • query/reconcile_table.go
  • query/reconcile_table_test.go
  • query/reconcile_test.go
  • query/render.go
  • query/render_test.go
  • query/replay.go
  • query/replay_test.go
  • query/row.go
  • query/rowexpr.go
  • query/rowexpr_test.go
  • query/rowlimits.go
  • query/rowlimits_test.go
  • query/sample.go
  • query/sample_test.go
  • query/schema/connection_providers.go
  • query/schema/processor_schema_test.go
  • query/schema/profile.go
  • query/schema/profile_components.go
  • query/schema/schema_test.go
  • query/schema/search_spec.go
  • query/session_internal_test.go
  • query/spec.go
  • query/spec_test.go
  • query/stream.go
  • query/style_test.go
  • query/template.go
  • query/template_internal_test.go
  • schemas/connection.json
  • schemas/profile.json
  • schemas/src/connections/aws.json
  • schemas/src/connections/azure.json
  • schemas/src/connections/google_cloud.json
  • schemas/src/connections/kubernetes.json
  • schemas/src/profile.json
  • schemas/src/profiles/azureloganalytics.json
  • schemas/src/profiles/bigquery.json
  • schemas/src/profiles/clickhouse.json
  • schemas/src/profiles/cloudwatch.json
  • schemas/src/profiles/gcpcloudlogging.json
  • schemas/src/profiles/http.json
  • schemas/src/profiles/jaeger.json
  • schemas/src/profiles/k8s.json
  • schemas/src/profiles/loki.json
  • schemas/src/profiles/mysql.json
  • schemas/src/profiles/opensearch.json
  • schemas/src/profiles/opentelemetry.json
  • schemas/src/profiles/postgres.json
  • schemas/src/profiles/postgrest.json
  • schemas/src/profiles/prometheus.json
  • schemas/src/profiles/sql.json
  • schemas/src/profiles/sqlserver.json
  • shell/clone.go
  • shell/clone_darwin.go
  • shell/clone_linux.go
  • shell/clone_other.go
  • shell/clone_test.go
  • shell/git_workspace.go
  • shell/setup.go
  • shell/setup_test.go

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread cmd/query/connections/browser.go Fixed
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.
@moshloop
moshloop enabled auto-merge (rebase) August 7, 2026 09:05
Comment thread query/providers/sql.go Fixed
Comment thread query/providers/sql_filter.go Fixed
Comment thread query/providers/sql_filter.go Fixed
Comment thread query/providers/sql_filter.go Fixed
Comment thread query/replay.go Fixed
…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.
Add mapping-aware nested filtering, flat_object sub-key discovery, and JSONPath source propagation so selections remain accurate for repeated and schemaless fields. Extend value lookups, schemas, and UI editors to preserve entry scoping and filter pushdown.

BREAKING CHANGE: Replace the removed FilterFieldForJSONPath API with FilterTargetForJSONPath
Add Azure Monitor KQL querying and canonical mapping, with autodetection for common log formats.
Preserve provider provenance, Kubernetes filtering, label isolation, and configured cloud credentials across log results.
Expose the new provider and expanded AWS, Azure, Google Cloud, and processor schemas.
BREAKING CHANGE: Rename LogLine.GetDedupKey and LogLine.GetDedupField to GetFieldKey and GetFieldValue
Extend query connections across AWS, GCP, Azure, and Kubernetes while exposing safe 1Password metadata catalogs for secret selection. Add standalone version reporting and harden credential hydration and validation so unresolved references and incomplete build metadata fail clearly.
Add `cel.dedupe` to collapse repeated rows by partition key while preserving first-seen group order and supporting configurable merge behavior. Reuse the shared merger path with `cel.batch`, and provide a `logs.dedupe` preset with counts and timestamps for interleaved log lines.
Add first-class log querying across cloud and Kubernetes backends, with canonical row mappings and profile/schema support for user-facing queries.
Expose provider registration, validation, metadata, deduplication fields, and a query CLI install task so these profiles can be generated, installed, and consumed consistently.
Provide operators with a profile-aware view of connection reachability, usage, and credential/TLS risks grouped by namespace.
Expose the aggregate read through OpenAPI while keeping endpoint details sanitized.
Correct profile cursor capability advertisement in the generated API specification.

BREAKING CHANGE: connections.New now requires Options.Profiles; callers without a profile provider receive an error
…time

Unify CLI and web profile/connection storage through deferred PostgreSQL selection while retaining an explicit YAML-only fallback.
Add bounded offset and provider-owned cursor paging with stable cursor validation and page metadata.
Expose opt-in, sanitized provider diagnostics for successful and failed executions.
Support ambient cloud, Kubernetes, Azure, Loki, and ClickHouse authentication paths.
Fix connection hydration, TLS, inspection deadlines, and profile document loading across the query surfaces.
BREAKING CHANGE: Change query.Sample to accept SampleOptions and remove the ParamRoleCursor API.
BREAKING CHANGE: Query commands default to the embedded PostgreSQL store; use --db= for YAML-only operation.
Comment thread context/onepassword.go Fixed
// from constant syntax; every filter value travels as a bound arg and every
// filter identifier is validated before quoting.
// codeql[go/sql-injection]
rows, err := client.QueryContext(queryContext, statement, args...)
…igration

Preserve legacy trace-profile behavior while exposing reusable query controls.
Apply hidden CEL filters before projection and keep cell styles render-only so exports retain raw values.
Centralize RPC body decoding and map legacy Kubernetes targets to the k8s provider with explicit failures for unsupported settings.
…tory

Resolve the Query web app path from supported repository working directories so the Vite proxy starts reliably outside the module directory. Add validation and coverage for supported and invalid locations.
Return structured diagnostics from profile sampling failures so the UI retains trace, context, and stack details.
Build strict sample requests from provider-only profile data and keep the query wizard contained within the modal viewport.
Align shared Flanksource modules, query UI dependencies, and Kubernetes packages with current releases.
Validate and rebuild external-command and SQL inputs from fixed alphabets to prevent injection and argument drift.
Derive replay confirmation hashes with PBKDF2 and redact unparseable URLs to reduce credential exposure.
Use the published clicky-ui package instead of a sibling checkout override.

Claude-Session-Id: dd252d43-cdad-40fe-ab9a-b2e9e70a6080
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants