* fix(cli-module-actions): show schema flags in execute --help
When an action ID is provided with --help, fetch the action schema and
display action-specific flags. Falls back to generic help if auth fails.
Signed-off-by: benjdlambert <ben@blam.sh>
* fix(cli-module-actions): show schema flags in execute --help and fix build errors (#33518)
* feat(cli-module-actions): improve CLI output formatting and UX
- Pretty grouped list output with colored headers and action titles
- Custom help rendering for execute --help with markdown descriptions
- Support complex schema types (object, array, union) as JSON flags
- Show server error details instead of generic status codes
- Accept multiple plugin IDs in sources add/remove
Signed-off-by: benjdlambert <ben@blam.sh>
* fix(cli-module-auth): preserve instance metadata on re-login
Signed-off-by: benjdlambert <ben@blam.sh>
* fix: address code review feedback
- Extract triplicated cli() config into showGenericHelp helper
- Strip ANSI escape sequences before rendering server markdown
- Configure marked-terminal extension once via lazy singleton
- Parallelize listGrouped HTTP requests with Promise.all
- Log actual error message in execute help catch block
- Fix marked version in declarations.d.ts comment
- Add tests for sourcesAdd/sourcesRemove batch operations
- Add test for execute JSON parse error path
- Add tests for login metadata preservation on re-auth
Signed-off-by: benjdlambert <ben@blam.sh>
* fix: use RegExp constructor to satisfy no-control-regex lint rule
Signed-off-by: benjdlambert <ben@blam.sh>
* fix: improve ANSI stripping, default info.usage, add renderMarkdown comment
- Extend stripAnsiEscapes to cover OSC, DCS, APC, PM sequences
- Default info.usage to avoid undefined in help output
- Document why marked.use() is called per invocation
Signed-off-by: benjdlambert <ben@blam.sh>
* fix: use strip-ansi, fresh Marked instance, add allOf support
- Replace hand-rolled ANSI stripping with strip-ansi package
- Use fresh Marked instance per call instead of mutating global singleton
- Add allOf to complex type detection alongside anyOf/oneOf
- Add happy-path test for valid JSON complex flag parsing
- Bump changeset to minor for new user-facing capabilities
Signed-off-by: benjdlambert <ben@blam.sh>
* refactor: collapse listGrouped into list on ActionsClient
Signed-off-by: benjdlambert <ben@blam.sh>
* refactor: clean up cli-module-actions structure
- Extract shared pluginSourcesSchema into lib/pluginSources.ts
- Merge schemaToFlags and getComplexKeys into single return value
- Move CleyeFlag-to-FlagInfo conversion into format.ts
- Extract parseArgs and showActionHelp from execute command body
Signed-off-by: benjdlambert <ben@blam.sh>
---------
Signed-off-by: benjdlambert <ben@blam.sh>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
- Replace getConfig<T> with getMetadata/setMetadata on CliAuth, removing
the unsafe type parameter in favor of returning unknown
- Move updateInstanceConfig from cli-module-auth public API to
CliAuth.setMetadata, removing the cross-package dependency
- Rename 'config' to 'metadata' in StoredInstance and storage schemas
- Add zod validation at consumer sites (cli-module-actions) for
type-safe metadata access
- Fix zod imports to use zod/v3 for compatibility with zod v4
- Add proper-lockfile to cli-node for metadata write locking
- Refactor cli-node storage from fs-extra to node:fs
- Remove @backstage/cli-module-auth dependency from cli-module-actions
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Since cli-module-auth and cli-module-actions are not yet released,
remove deprecated exports instead of keeping them. Also make httpJson
and getSecretStore internal to cli-node, duplicating the small httpJson
wrapper locally in each consuming package.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Fix argument parsing bugs in the execute command where actionId at index 0
was incorrectly skipped when --instance was absent, and flag values matching
the actionId string were erroneously removed. Add --help support to the
execute command for CLI report generation. Add missing bin script and
cli-report.md for cli-module-actions. Add resolveAuth tests. Bump
backend-defaults changeset to minor for the security-relevant auth change.
Replace cross-fetch with native fetch in cli-module-auth to avoid punycode
deprecation warnings during CLI report generation.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Adds @backstage/cli-module-actions with commands for listing and executing
actions from the distributed actions registry. Exports auth helpers from
cli-module-auth for cross-module reuse. Relaxes the actions registry auth
check to allow direct user invocations from the CLI.
Signed-off-by: benjdlambert <ben@blam.sh>