chore(agent-help): satisfy lint checks · Entire
chore(agent-help): satisfy lint checks
f409c60→main·
dipree·2d ago·2 files·+28 added/-23 removed
Sessions
01KXJZSETQZKJW961HE1547HSVView transcript
Changes
2
cmd/entire/cli
Magent_help_cmd.go+4/-1
- Magent_help_cmd_test.go+24/-22
7 unmodified lines 8 9 10 11 12 13 14 97 unmodified lines 112 113 114 114 115 116 117 118 119 120 7 unmodified lines "time" "unicode" "github.com/entireio/cli/cmd/entire/cli/logging" "github.com/spf13/cobra" flag "github.com/spf13/pflag" ) 97 unmodified lines
// A separate short backoff keeps an offline authenticated user from paying // this timeout on every agent-help invocation. It must not alter the shared // enablement decision, which SessionStart uses for context injection. _ = saveAgentHelpTrailsRefreshFailure(ctx, scope, time.Now()) if cacheErr := saveAgentHelpTrailsRefreshFailure(ctx, scope, time.Now()); cacheErr != nil { logging.Debug(ctx, "failed to save agent-help trails refresh backoff", "error", cacheErr) } return repoLine, false } return repoLine, cachedTrailsEnablementForScope(ctx, scope, time.Now()) == trailEnablementCacheEnabled
Mcmd/entire/cli/agent_help_cmd.go+4/-1
14 unmodified lines 15 16 17 18 19 20 21 22 93 unmodified lines 116 117 118 117 118 119 120 121 122 123 1 unmodified line
125 126 127 126 127 128 129 130 131 132 82 unmodified lines 215 216 217 216 217 218 219 220 221 222 5 unmodified lines 228 229 230 229 231 232 233 232 234 235 236 237 25 unmodified lines 263 264 265 264 266 267 268 269 4 unmodified lines 274 275 276 275 277 278 279 280 13 unmodified lines 294 295 296 295 297 298 299 300 299 301 302 303 304 5 unmodified lines 310 311 312 311 313 314 315 316 43 unmodified lines 360 361 362 361 363 364 365 366 3 unmodified lines 370 371 372 371 373 374 375 376 10 unmodified lines 387 388 389 388 390 391 392 393 394 395 394 396 397 398 399 10 unmodified lines 410 411 412 411 413 414 415 416 1 unmodified line
418 419 420 419 421 422 423 424 1 unmodified line
426 427 428 427 429 430 431 432 10 unmodified lines 443 444 445 444 445 446 447 448 449 450
14 unmodified lines
"github.com/spf13/cobra"
)
const agentHelpTestRepo = "gh/acme/app"
// commandNames returns the Use-name of each command, for assertions. func commandNames(cmds []*cobra.Command) []string { names := make([]string, 0, len(cmds)) 93 unmodified lines
refreshCalls := 0 repoLine, enabled := agentHelpRepoContextWithRefresh(t.Context(), func(ctx context.Context, scope trailEnablementScope) error { refreshCalls++ if scope.RepoKey != "gh/acme/app" { t.Fatalf("refresh scope repo = %q, want gh/acme/app", scope.RepoKey) if scope.RepoKey != agentHelpTestRepo { t.Fatalf("refresh scope repo = %q, want %s", scope.RepoKey, agentHelpTestRepo) } return saveTrailsEnabledForScope(ctx, scope, true, time.Now()) }) 1 unmodified line
if refreshCalls != 1 { t.Fatalf("refresh calls = %d, want 1", refreshCalls) } if repoLine != "gh/acme/app" { t.Errorf("repo line = %q, want gh/acme/app", repoLine) if repoLine != agentHelpTestRepo { t.Errorf("repo line = %q, want %s", repoLine, agentHelpTestRepo) } if !enabled { t.Fatal("trails should be enabled after the availability refresh succeeds") 82 unmodified lines
if refreshCalls != 0 { t.Fatalf("refresh calls = %d, want 0 without a local auth identity", refreshCalls) } if repoLine != "gh/acme/app" { t.Errorf("repo line = %q, want gh/acme/app", repoLine) if repoLine != agentHelpTestRepo { t.Errorf("repo line = %q, want %s", repoLine, agentHelpTestRepo) } if enabled { t.Fatal("trails should not be advertised without a local auth identity") 5 unmodified lines
t.Parallel() root := NewRootCmd()
if _, err := runAgentHelp(root, []string{"trail"}, "gh/acme/app", false, true); err != nil { if _, err := runAgentHelp(root, []string{"trail"}, agentHelpTestRepo, false, true); err != nil { t.Errorf("trail drill should resolve when trails enabled: %v", err) } _, err := runAgentHelp(root, []string{"trail"}, "gh/acme/app", false, false) _, err := runAgentHelp(root, []string{"trail"}, agentHelpTestRepo, false, false) if err == nil { t.Fatalf("trail drill should be unavailable when trails disabled") 25 unmodified lines
return false }
disabled, err := runAgentHelp(NewRootCmd(), nil, "gh/acme/app", true /json/, false /trailsDisabled/) disabled, err := runAgentHelp(NewRootCmd(), nil, agentHelpTestRepo, true /json/, false /trailsDisabled/) if err != nil { t.Fatalf("json top (trails disabled): %v", err) } 4 unmodified lines
t.Errorf("checkpoint should always appear in --json subcommands:\n%s", disabled) }
enabled, err := runAgentHelp(NewRootCmd(), nil, "gh/acme/app", true, true) enabled, err := runAgentHelp(NewRootCmd(), nil, agentHelpTestRepo, true, true) if err != nil { t.Fatalf("json top (trails enabled): %v", err) 13 unmodified lines
root.AddCommand(&cobra.Command{Use: "hooks", Short: "infra", Hidden: true}) root.AddCommand(&cobra.Command{Use: "reset", Short: "old", Deprecated: "use clean"})
if _, err := runAgentHelp(root, []string{"status"}, "gh/acme/app", false, true); err != nil { if _, err := runAgentHelp(root, []string{"status"}, agentHelpTestRepo, false, true); err != nil { t.Errorf("visible command should be drillable: %v", err) } for _, name := range []string{"hooks", "reset"} { if _, err := runAgentHelp(root, []string{name}, "gh/acme/app", false, true); err == nil { if _, err := runAgentHelp(root, []string{name}, agentHelpTestRepo, false, true); err == nil { t.Errorf("drilling unadvertised command %q should error, matching the advertised listing", name) } 5 unmodified lines
func TestRenderAgentHelpTop_DisabledExampleIsNonTrail(t *testing.T) { t.Parallel()
out := renderAgentHelpTop(NewRootCmd(), "gh/acme/app", false) out := renderAgentHelpTop(NewRootCmd(), agentHelpTestRepo, false) if !strings.Contains(out, "entire agent-help checkpoint") { t.Errorf("disabled top should use checkpoint as the drill example:\n%s", out)
43 unmodified lines
cmd.AddCommand(&cobra.Command{Use: "show", Short: "Show a trail"}) cmd.AddCommand(&cobra.Command{Use: "list", Short: "List trails"})
out := renderAgentHelpCommand(cmd, "gh/acme/app", true) out := renderAgentHelpCommand(cmd, agentHelpTestRepo, true)
for _, want := range []string{ "trail", "--branch", "show", "list", "gh/acme/app", agentHelpTestRepo, } { if !strings.Contains(out, want) { t.Fatalf("agent-help command output missing %q:\n%s", want, out) 10 unmodified lines
t.Parallel()
root := NewRootCmd() out := renderAgentHelpTop(root, "gh/acme/app", true) out := renderAgentHelpTop(root, agentHelpTestRepo, true)
for _, want := range []string{ "trail", // hidden but revealed via annotation "checkpoint", // visible "status", // visible "gh/acme/app", // auto-detected repo agentHelpTestRepo, // auto-detected repo "entire agent-help", // drill-down pointer "never ask", // the standing repo-inference rule } { 10 unmodified lines
root := NewRootCmd()
top, err := runAgentHelp(root, nil, "gh/acme/app", false, true) top, err := runAgentHelp(root, nil, agentHelpTestRepo, false, true) if err != nil { t.Fatalf("top: unexpected error: %v", err) } 1 unmodified line
t.Fatalf("top output unexpected:\n%s", top) }
drill, err := runAgentHelp(root, []string{"trail"}, "gh/acme/app", false, true) drill, err := runAgentHelp(root, []string{"trail"}, agentHelpTestRepo, false, true) if err != nil { t.Fatalf("drill: unexpected error: %v", err) } 1 unmodified line
t.Fatalf("drill output unexpected:\n%s", drill) }
jsonOut, err := runAgentHelp(root, []string{"trail"}, "gh/acme/app", true, true) jsonOut, err := runAgentHelp(root, []string{"trail"}, agentHelpTestRepo, true, true) if err != nil { t.Fatalf("json: unexpected error: %v", err) } 10 unmodified lines
if parsed.Command != "entire trail" { t.Errorf("json command = %q, want %q", parsed.Command, "entire trail") } if parsed.Repo != "gh/acme/app" { t.Errorf("json repo = %q, want %q", parsed.Repo, "gh/acme/app") if parsed.Repo != agentHelpTestRepo { t.Errorf("json repo = %q, want %q", parsed.Repo, agentHelpTestRepo) } var hasRepoFlag bool for _, f := range parsed.Flags {