cleanup command - #98
Conversation
improve commands
248e277 to
9e9ce4a
Compare
…ting Consolidates the outstanding workspace tooling into this branch, replacing PRs #92, #98 and #100. Adds three commands and documents them; no existing command is modified. manage:check-project-workspaces-state (read-only) Triage step for a known list of workspaces: reports whether each is still live and whether its configuration is live, trashed or gone, and suggests the follow-up command. Configuration state is resolved per branch, because branches hold independent copies under the same id and merging them misclassifies a config that is live in one branch and trashed in another. Also reports each configuration's most recent job from the Queue API, which is usually what decides whether it is still in use, and runs a sanity query for any job in the project first so that blank lastJob columns are not misread as "never used". manage:delete-project-workspaces-by-id List-driven deletion with layered guards: password-login only unless --any-login-type, optional expected-schema verification, and configuration deletion only behind --with-configuration and only when that configuration owns exactly the listed workspace. Deletes the workspace without touching the configuration by default. A purge refused with storage.components.cannotDeleteConfiguration is counted as failed rather than deleted, since in that case the configuration is still in the trash and its workspace and backend user still exist. manage:list-external-buckets (read-only) Stack-wide CSV audit of external buckets with created date, isReadOnly and whether KBC.description metadata is set. Drops its temporary token even when listing fails, and continues past projects it cannot reach. README gains entries for all three, and the "Which command should I use?" table now points at the by-id command as the preferred list-driven option over manage:mass-delete-project-workspaces, which needs an interactively pasted token per project and always purges the configuration. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Closing as part of consolidating the workspace tooling into #106. The keep-rule mode is deliberately not carried over. Two changes here were uncontroversial and are not in #106, because that PR deliberately does not modify existing commands. They are worth salvaging separately if still wanted:
// the email, e.g. "kbagent-cli [<redacted>@<customer-domain>]" for workspaces created on his behalf.
Closing this PR does not unpublish it. GitHub keeps the head commit reachable at |
Changes:
Additional notes