Repository navigation
Conversation
…d describe says much more (#1312) list prints one row per template (the newest version) and --all-versions every version; --long adds the display name, category, what the template provides, its connector, the number of versions and the date. describe takes the template by id (-i) or display name (-n) and the version by -v (default: the newest), and shows the other versions, the connector and its configuration, the capabilities, the object types and the application form; --long adds the properties and the form fields. The key the catalog keeps a version under is no longer printed or accepted. The entries are read defensively and printed without control characters. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1312
What changed
frodo app template listanddescribeare easier to read, anddescribesays much more about a template. The change is in the CLI only; the library is unchanged.list--long: a table with the id, display name, category, what the template provides (provisioning, SSO protocols, AI target), its connector, the newest version, the number of versions and the date of the newest version. An Override column appears only when the tenant defines a template.--all-versions: every version, as id and version (with--long, one long row per version).describe-i, --template-id <id>takes the id of the template (azure.ad, the id an application record keeps astemplateName). Dots and hyphens are the same and the case does not matter.-n, --template-name <display name>takes the display name ("Microsoft Entra"),-v, --template-version <version>takes another version than the newest. One of-iand-nis required; they cannot be combined. The pickers of the framework offer one row per template.--longadds the connector configuration as a table, the properties of each object type and the labels of the form fields.--jsonis unchanged.3_4-azure-ad) is no longer printed or accepted. It carries a version, changes with every release of a template and appears in no application record. The library, the MCP tools and--jsonstill use it. Giving it to-ifails with a message that says an id carries no version and-vnames one.The entries come from the CDN or from the tenant and the library checks only a few of their fields, so every field is read defensively: an entry with fields of the wrong type prints what it can. Text from an entry is printed without control characters. Dates are shown as
YYYY-MM-DD(the catalog writes month first, with and without leading zero); a text that is not a date is printed as it is. Dates never decide which version is newest: they do not follow the version order in the catalog (the library's number comparison decides).How it was checked
ApplicationTemplateView.test.js), the ops with the library replaced (ApplicationTemplateOps.test.js), the picker rows (EntityPickFamilies.appTemplate.test.tsandApplicationTemplateEntityPicks.test.js), and the built CLI on a fixture catalog (ApplicationTemplateCommands.test.js: list,--long,--all-versions,-i,-n,-v,--json, the failures and their exit codes, air-gapped mode). The fixture catalog covers a template with several versions and a connector, an SSO template, a template with neither connector nor capabilities, versions whose dates do not follow their order, an AI target, a connector display name that is a class name, a template defined by the tenant, an entry whose fields have the wrong types and an entry with control characters.-houtput ofapp template list,describeand the group (expected: new options, new descriptions, the one-of rule).npm run check,npx tsc --noEmit, the guidance tests and the whole suite were run with a scratch home folder.Left out
list(by category or by what a template provides).list --longis 155 characters wide on today's catalog, like the table it replaces; it wraps in a narrower terminal.🤖 Generated with Claude Code