Renovate deprecated matchPackagePatterns. The new matchPackageNames
accepts regex patterns wrapped in / delimiters. All other changes
in this PR (quote style, comment removal) were cosmetic and have
been reverted.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
The proxy-based sign-in page derived the session expiry from the JWT by
decoding its payload with `window.atob`, which only accepts the standard
base64 alphabet. JWTs are encoded using base64url (RFC 7515), so any
token whose payload contained '-' or '_' raised a decoding error and
broke sign-in. Translate the payload back to the standard alphabet and
restore its padding before decoding.
Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
* refactor(kubernetes-backend): boy-scout KubernetesFetcher
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Matthew Clarke <mclarke@spotify.com>
* fix(kubernetes-backend): restore dynamic imports for @kubernetes/client-node
The package is ESM-only and must be loaded via dynamic import() to work
in Jest's CommonJS transform. Reverts to the original inline
await import() pattern while keeping the agent pooling and refactoring.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Matthew Clarke <mclarke@spotify.com>
---------
Signed-off-by: Matthew Clarke <mclarke@spotify.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(skill): automatically onboard to openapi tooling
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* test skill against notifications backend
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* update URLs to point to main repo and describe multiple client types
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* address PR feedback
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* revert erroneous changes
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* add changeset
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* address review feedback: skill doc fixes and entityRef schema dedup
Disambiguate generated entityRef/orderField types and correct skill
guidance on operationId casing and OpenAPI version support.
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
* note in skill that handler-side validation should be stripped
Reviewers may forget that manual InputError guards and primitive-type
checks become dead weight once the OpenAPI validator runs.
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
---------
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
Move the adjustedFilters useMemo above refresh and reuse it in both
the fetch callback and the frontend filtering memo.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
The lastFetchParamsRef starts as undefined, so the initial debounce
would have fetched with an empty filter (returning every entity in
the catalog). Guard against this by skipping the fetch when no filter
components have registered yet.
Also skip the URL sync effect until at least one filter has been set,
to avoid briefly clearing filter query params from the URL bar before
filter components initialize.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
The label is read by CatalogTable for the table title (e.g. "All
Components (42)"), so suppressing the label update would cause a
visible regression. The provider's ref-based fetch dedup already
prevents the redundant API call when only the label changes, so
the second updateFilters call is harmless.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
Replace useAsyncFn + outputState comparison with ref-based fetch dedup
and generation counter. Split entity filtering into a synchronous
useMemo so frontend-only filter changes are instant.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>