Add regenerateCookieBannerTrackerPolicy mutation

Expose a non-destructive re-trigger that re-arms tracker policy
generation for a banner that already has a published version, so the
tracker-policy worker regenerates the document after iterating on the
generator. RegenerateTrackerPolicy returns a conflict when nothing has
been published yet.

Wire it across all API surfaces per the api-surface rule: the console
GraphQL mutation and resolver, the MCP tool, the prb cookie-banner
regenerate-policy command, and the n8n operation, with console e2e
coverage for the success and no-published-version paths.

Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
Émile Ré
2026-06-03 13:37:59 +02:00
parent c763f83b13
commit e6866f88a0
10 changed files with 354 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ import (
"go.probo.inc/probo/pkg/cmd/cookie-banner/latestversion"
"go.probo.inc/probo/pkg/cmd/cookie-banner/list"
"go.probo.inc/probo/pkg/cmd/cookie-banner/publish"
regeneratepolicy "go.probo.inc/probo/pkg/cmd/cookie-banner/regenerate-policy"
"go.probo.inc/probo/pkg/cmd/cookie-banner/translate"
"go.probo.inc/probo/pkg/cmd/cookie-banner/update"
"go.probo.inc/probo/pkg/cmd/cookie-banner/view"
@@ -43,6 +44,7 @@ func NewCmdCookieBanner(f *cmdutil.Factory) *cobra.Command {
cmd.AddCommand(activate.NewCmdActivate(f))
cmd.AddCommand(deactivate.NewCmdDeactivate(f))
cmd.AddCommand(publish.NewCmdPublish(f))
cmd.AddCommand(regeneratepolicy.NewCmdRegeneratePolicy(f))
cmd.AddCommand(translate.NewCmdTranslate(f))
cmd.AddCommand(latestversion.NewCmdLatestVersion(f))