Canonical URL selector encoding for Oban Powertools native operator surfaces.
Centralizes encoding of all /ops/jobs/... destination paths behind a single
helper that applies URI.encode_query/1 consistently, dropping nil and ""
values before encoding so callers never need to filter themselves.
Canonical stable selector set
The following parameter names are the stable public selector contract (Phase 34 D-25):
incident_fingerprint— incident identity; may contain delimiters (:,/,?,#,%,,&,=)resource_type— forensic resource scope ("job","workflow","workflow_step","cron_entry","limiter")resource_id— forensic resource identifierworkflow_id— workflow record ID for workflow-scoped forensic and Lifeline destinationsstep— workflow step name for step-scoped destinationsview— Lifeline view tab ("active","resolved")
Permissive non-canonical keys
The helper is deliberately permissive: non-canonical keys (row-id, action, entry,
resource, event_type) pass through URI.encode_query/1 unchanged so that Lifeline's
selection_path/1 and similar callsites can migrate without restructuring their params.
Keyword-list ordering
Pass a keyword list (not a map) when existing tests assert literal URL order. The helper
preserves keyword-list iteration order via URI.encode_query/1 — do NOT convert to a map
first, because map iteration order is unspecified.
Empty-query behavior
When all params are nil or "", the helper returns the bare path without a trailing ?.
Summary
Functions
Returns the /ops/jobs/audit path with the given params encoded.
Returns the /ops/jobs/cron path with the given params encoded.
Encodes params for the given destination atom and returns the full path.
Returns the /ops/jobs/forensics path with the given params encoded.
Returns the path for a specific job detail page.
Returns the /ops/jobs/jobs path with the given params encoded.
Returns the /ops/jobs/lifeline path with the given params encoded.
Returns the /ops/jobs/limiters path with the given params encoded.
Functions
Returns the /ops/jobs/audit path with the given params encoded.
Returns the /ops/jobs/cron path with the given params encoded.
Encodes params for the given destination atom and returns the full path.
destination must be one of :lifeline, :forensics, :audit, :limiters, :cron.
params is a keyword list or map. nil and "" values are dropped before encoding.
Returns the /ops/jobs/forensics path with the given params encoded.
Returns the path for a specific job detail page.
Returns the /ops/jobs/jobs path with the given params encoded.
Returns the /ops/jobs/lifeline path with the given params encoded.
Returns the /ops/jobs/limiters path with the given params encoded.