@astryxdesign/cli 0.6.3-canary.98a2e4e → 0.6.3-canary.9c4d44d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -79
- package/api/blog/blog.doc.mjs +1 -0
- package/api/build/_adapter.d.mts +50 -0
- package/api/build/_adapter.mjs +60 -0
- package/api/build/build.doc.mjs +16 -9
- package/api/build/build.test.mjs +197 -8
- package/api/build/build.type.d.mts +91 -2
- package/api/build/build.type.mjs +52 -8
- package/api/build/help/help.d.mts +12 -5
- package/api/build/help/help.mjs +69 -6
- package/api/build/kit/kit.d.mts +4 -1
- package/api/build/kit/kit.mjs +165 -49
- package/api/build/kit/rank.d.mts +44 -0
- package/api/build/kit/rank.mjs +432 -0
- package/api/build/kit/rank.test.mjs +196 -0
- package/api/component/_adapter.d.mts +6 -12
- package/api/component/_adapter.mjs +20 -10
- package/api/component/component.doc.mjs +13 -3
- package/api/component/component.mjs +91 -14
- package/api/component/component.test.mjs +38 -0
- package/api/component/component.type.d.mts +22 -11
- package/api/component/component.type.mjs +32 -24
- package/api/component/detail/blocks/blocks.d.mts +2 -1
- package/api/component/detail/blocks/blocks.mjs +4 -3
- package/api/component/list/list.d.mts +0 -5
- package/api/component/list/list.mjs +40 -11
- package/api/discover/_adapter.d.mts +114 -6
- package/api/discover/_adapter.mjs +372 -17
- package/api/discover/_adapter.test.mjs +215 -0
- package/api/discover/_catalog-view.d.mts +115 -0
- package/api/discover/_catalog-view.mjs +203 -0
- package/api/discover/_catalog-view.test.mjs +128 -0
- package/api/discover/detail/detail.d.mts +18 -6
- package/api/discover/detail/detail.mjs +67 -13
- package/api/discover/detail/detail.test.mjs +85 -0
- package/api/discover/detail/item/item.d.mts +26 -0
- package/api/discover/detail/item/item.mjs +78 -0
- package/api/discover/detail/item/item.test.mjs +73 -0
- package/api/discover/discover.d.mts +3 -9
- package/api/discover/discover.doc.mjs +62 -18
- package/api/discover/discover.mjs +220 -36
- package/api/discover/discover.test.mjs +11 -2
- package/api/discover/discover.type.d.mts +150 -11
- package/api/discover/discover.type.mjs +107 -17
- package/api/discover/list/list.d.mts +20 -6
- package/api/discover/list/list.mjs +45 -12
- package/api/discover/list/list.test.mjs +46 -0
- package/api/discover/search/search.d.mts +18 -16
- package/api/discover/search/search.mjs +102 -56
- package/api/discover/search/search.test.mjs +144 -10
- package/api/docs/_adapter.d.mts +268 -47
- package/api/docs/_adapter.mjs +970 -149
- package/api/docs/compiled-topics.test.mjs +78 -0
- package/api/docs/detail/detail.d.mts +0 -15
- package/api/docs/detail/detail.mjs +22 -78
- package/api/docs/detail/section/section.mjs +39 -24
- package/api/docs/detail/section/section.test.mjs +19 -9
- package/api/docs/docs.d.mts +5 -3
- package/api/docs/docs.doc.mjs +39 -17
- package/api/docs/docs.mjs +44 -8
- package/api/docs/docs.test.mjs +158 -4
- package/api/docs/docs.type.d.mts +185 -6
- package/api/docs/docs.type.mjs +127 -13
- package/api/docs/index/index.mjs +15 -6
- package/api/docs/index/index.test.mjs +1 -1
- package/api/docs/integration-tree.test.mjs +555 -0
- package/api/docs/integrationDocs.test.mjs +14 -14
- package/api/docs/list/list.mjs +28 -12
- package/api/docs/node/node.d.mts +43 -0
- package/api/docs/node/node.mjs +192 -0
- package/api/docs/reference-blocks.test.mjs +406 -0
- package/api/doctor/doctor.d.mts +54 -4
- package/api/doctor/doctor.doc.mjs +1 -0
- package/api/doctor/doctor.mjs +332 -21
- package/api/doctor/doctor.test.mjs +420 -7
- package/api/gap-report/gap-report.doc.mjs +8 -4
- package/api/hook/_adapter.mjs +19 -5
- package/api/hook/hook.doc.mjs +1 -0
- package/api/hook/hook.type.d.mts +3 -3
- package/api/hook/hook.type.mjs +11 -11
- package/api/hook/list/list.d.mts +1 -1
- package/api/hook/list/list.mjs +69 -17
- package/api/index.d.mts +1 -1
- package/api/index.mjs +1 -0
- package/api/init/init.doc.mjs +6 -1
- package/api/init/init.test.mjs +41 -1
- package/api/init/remove/remove.mjs +1 -1
- package/api/init/run/run.mjs +20 -10
- package/api/integration/add-contribution.component-names.test.mjs +120 -0
- package/api/integration/add-contribution.d.mts +2 -1
- package/api/integration/add-contribution.mjs +130 -15
- package/api/integration/add-contribution.test.mjs +258 -7
- package/api/integration/add-helpers.d.mts +5 -2
- package/api/integration/add-helpers.mjs +36 -9
- package/api/integration/add-theme.mjs +34 -64
- package/api/integration/add-theme.test.mjs +105 -21
- package/api/integration/authoring-checks.mjs +138 -28
- package/api/integration/authoring-checks.test.mjs +179 -7
- package/api/integration/authoring-checks.type.mjs +6 -1
- package/api/integration/integration-authoring.type.d.mts +2 -0
- package/api/integration/integration-authoring.type.mjs +2 -0
- package/api/integration/integration-block-exports.test.mjs +10 -6
- package/api/integration/integrationAdd.doc.mjs +14 -4
- package/api/integration/integrationAddAgentDoc.doc.mjs +1 -0
- package/api/integration/integrationAddCodemod.doc.mjs +1 -0
- package/api/integration/integrationAddComponent.doc.mjs +2 -1
- package/api/integration/integrationAddDoc.doc.mjs +8 -1
- package/api/integration/integrationAddTemplate.doc.mjs +1 -0
- package/api/integration/integrationAddTheme.doc.mjs +6 -5
- package/api/integration/integrationComponentConflicts.doc.mjs +1 -0
- package/api/integration/integrationDocConflicts.doc.mjs +2 -1
- package/api/integration/integrationPackCheck.doc.mjs +2 -1
- package/api/integration/integrationTemplateConflicts.doc.d.mts +3 -0
- package/api/integration/integrationTemplateConflicts.doc.mjs +4 -0
- package/api/integration/pack-check.mjs +83 -7
- package/api/integration/pack-check.test.mjs +387 -47
- package/api/integration/pack-check.type.d.mts +26 -2
- package/api/integration/pack-check.type.mjs +14 -1
- package/api/integration/summarizeIssues.doc.mjs +1 -0
- package/api/integration/template-conflict-compatibility.test.mjs +73 -0
- package/api/integration/validate-integration-fixes.test.mjs +1389 -0
- package/api/integration/validate-integration.mjs +52 -102
- package/api/integration/validate-integration.test.mjs +179 -26
- package/api/integration/validate-unread-theme-folders.test.mjs +110 -0
- package/api/integration/validateIntegration.doc.mjs +3 -2
- package/api/json/assertResponse.doc.mjs +1 -0
- package/api/json/envelope-types.test.mjs +76 -0
- package/api/json/index.ts +2 -0
- package/api/json/isError.doc.mjs +1 -0
- package/api/json/parseResponse.doc.mjs +3 -2
- package/api/layout/_adapter.mjs +20 -5
- package/api/layout/expand/expand.mjs +7 -5
- package/api/layout/expand/expand.path-safety.test.mjs +53 -0
- package/api/layout/grammar/grammar.mjs +2 -1
- package/api/layout/layoutCheck.doc.mjs +1 -0
- package/api/layout/layoutExpand.doc.mjs +2 -1
- package/api/layout/layoutGrammar.doc.mjs +1 -0
- package/api/search/search-return-type.test.mjs +54 -0
- package/api/search/search.d.mts +61 -10
- package/api/search/search.doc.mjs +8 -2
- package/api/search/search.mjs +471 -83
- package/api/search/search.test.mjs +124 -1
- package/api/search/search.type.d.mts +14 -2
- package/api/search/search.type.mjs +5 -2
- package/api/swizzle/copy/copy.mjs +28 -11
- package/api/swizzle/swizzle.doc.mjs +2 -1
- package/api/swizzle/swizzle.type.d.mts +2 -2
- package/api/swizzle/swizzle.type.mjs +2 -2
- package/api/template/copy/copy.mjs +17 -23
- package/api/template/copy/copy.test.mjs +17 -0
- package/api/template/list/list.mjs +1 -0
- package/api/template/table-floating-bulk-actions.test.mjs +66 -0
- package/api/template/template-integration.test.mjs +1072 -3
- package/api/template/template-suffix.test.mjs +41 -21
- package/api/template/template.doc.mjs +30 -8
- package/api/template/template.mjs +45 -8
- package/api/template/template.type.d.mts +11 -13
- package/api/template/template.type.mjs +15 -14
- package/api/theme/_adapter.d.mts +2 -3
- package/api/theme/_adapter.mjs +4 -5
- package/api/theme/add/add.binary.test.mjs +84 -0
- package/api/theme/add/add.mjs +31 -22
- package/api/theme/add/add.rollback.test.mjs +158 -0
- package/api/theme/add/add.staging.test.mjs +83 -0
- package/api/theme/add/add.test.mjs +14 -1
- package/api/theme/build/build.family.test.mjs +7 -12
- package/api/theme/build/build.mjs +140 -59
- package/api/theme/build/build.public-component-vars.test.mjs +1 -1
- package/api/theme/build/build.receipt-doc.test.mjs +111 -0
- package/api/theme/build/build.rollback.test.mjs +148 -0
- package/api/theme/build/build.test.mjs +127 -0
- package/api/theme/build/font-warning.mjs +3 -3
- package/api/theme/build/font-warning.test.mjs +5 -2
- package/api/theme/generateTonalPalette.doc.mjs +1 -0
- package/api/theme/integration-themes.test.mjs +39 -28
- package/api/theme/list/list.test.mjs +19 -20
- package/api/theme/listThemes.doc.mjs +6 -5
- package/api/theme/palette/generate/generate.mjs +8 -3
- package/api/theme/palette/generate/generate.test.mjs +96 -0
- package/api/theme/palette/generate/generator.d.mts +10 -13
- package/api/theme/palette/generate/generator.mjs +15 -4
- package/api/theme/palette/generate/generator.test.mjs +10 -0
- package/api/theme/template/template.mjs +11 -2
- package/api/theme/template/template.test.mjs +20 -0
- package/api/theme/theme.type.d.mts +170 -11
- package/api/theme/theme.type.mjs +94 -27
- package/api/theme/themeAdd.doc.mjs +4 -3
- package/api/theme/themeBuild.doc.mjs +8 -4
- package/api/theme/themeList.doc.mjs +6 -3
- package/api/theme/themeListAvailable.doc.mjs +5 -3
- package/api/theme/themePaletteGenerate.doc.mjs +1 -0
- package/api/theme/themeTargets.doc.mjs +1 -0
- package/api/theme/themeTemplate.doc.mjs +6 -2
- package/api/upgrade/_adapter.d.mts +32 -5
- package/api/upgrade/_adapter.mjs +124 -73
- package/api/upgrade/list/list.mjs +2 -1
- package/api/upgrade/list/list.test.mjs +73 -0
- package/api/upgrade/provider-agreement.test.mjs +152 -0
- package/api/upgrade/run/run.mjs +356 -59
- package/api/upgrade/status/status.mjs +2 -2
- package/api/upgrade/upgrade.doc.mjs +8 -2
- package/api/upgrade/upgrade.type.d.mts +42 -4
- package/api/upgrade/upgrade.type.mjs +26 -10
- package/assets/codemods/__tests__/runner.test.mjs +330 -8
- package/assets/codemods/integration-discovery.mjs +48 -4
- package/assets/codemods/integration-discovery.test.mjs +73 -0
- package/assets/codemods/integration-runner.mjs +56 -4
- package/assets/codemods/integration-runner.protection.test.mjs +153 -0
- package/assets/codemods/run-codemod.mjs +177 -34
- package/assets/codemods/runner.mjs +350 -102
- package/assets/codemods/term-log.mjs +32 -8
- package/assets/codemods/term-log.test.mjs +19 -1
- package/assets/codemods/transform-prop.mjs +109 -0
- package/assets/codemods/transform-prop.test.mjs +95 -0
- package/assets/codemods/transforms/next/__tests__/migrate-native-picker-to-presentation.test.mjs +63 -0
- package/assets/codemods/transforms/next/__tests__/migrate-theme-catalog-to-descriptors.test.mjs +220 -0
- package/assets/codemods/transforms/next/index.mjs +19 -1
- package/assets/codemods/transforms/next/migrate-native-picker-to-presentation.mjs +148 -0
- package/assets/codemods/transforms/next/migrate-theme-catalog-to-descriptors.mjs +141 -0
- package/assets/codemods/transforms/v0.0.14/__tests__/rename-status-variants.test.mjs +86 -165
- package/assets/codemods/transforms/v0.0.14/rename-status-variants.mjs +72 -210
- package/assets/codemods/transforms/v0.1.8/__tests__/rename-avatar-size-scale.test.mjs +83 -115
- package/assets/codemods/transforms/v0.1.8/rename-avatar-size-scale.mjs +57 -186
- package/assets/codemods/transforms/v0.3.0/__tests__/unwrap-authoring-factories.test.mjs +27 -5
- package/assets/codemods/transforms/v0.3.0/unwrap-authoring-factories.mjs +20 -5
- package/assets/codemods/transforms/v0.6.0/__tests__/next-codemods.test.mjs +47 -0
- package/assets/codemods/transforms/v0.6.0/rename-resizable-pixel-bounds.mjs +57 -10
- package/assets/docs/getting-started.doc.mjs +2 -2
- package/assets/docs/internationalization.doc.mjs +7 -5
- package/assets/docs/layout.doc.dense.mjs +2 -2
- package/assets/docs/layout.doc.mjs +1 -1
- package/assets/docs/principles.doc.mjs +6 -6
- package/assets/docs/styling-libraries.doc.mjs +4 -4
- package/assets/docs/styling.doc.mjs +4 -4
- package/assets/docs/theme.doc.mjs +5 -5
- package/assets/docs/tokens.doc.mjs +1 -1
- package/assets/docs/tree/api.doc.mjs +30 -0
- package/assets/docs/tree/cli.doc.mjs +23 -0
- package/assets/docs/tree/commands.doc.mjs +25 -0
- package/assets/docs/{cli-integrations.doc.mjs → tree/integrations.doc.mjs} +95 -39
- package/assets/docs/tree/integrations.test.mjs +62 -0
- package/assets/docs/tree/writing-docs.doc.mjs +286 -0
- package/assets/docs/working-with-ai.doc.mjs +4 -4
- package/assets/templates/blocks/components/CheckboxList/CheckboxListSelectAllPattern.doc.mjs +1 -1
- package/assets/templates/blocks/components/CheckboxList/CheckboxListSelectAllPattern.tsx +1 -3
- package/assets/templates/blocks/components/DateInput/DateInputDateRange.tsx +1 -1
- package/assets/templates/blocks/components/InternationalizationProvider/InternationalizationProvider01ShippedLocale.tsx +1 -1
- package/assets/templates/blocks/components/Item/ItemDocumentTabs.doc.mjs +14 -0
- package/assets/templates/blocks/components/Item/ItemDocumentTabs.tsx +100 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaInlineRail.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaInlineRail.tsx +61 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaOverscrollChaining.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaOverscrollChaining.tsx +126 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaShowcase.doc.mjs +15 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaShowcase.tsx +86 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyGroupHeaders.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyGroupHeaders.tsx +99 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyPassthrough.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyPassthrough.tsx +122 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaTwoAxisBoard.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaTwoAxisBoard.tsx +95 -0
- package/assets/templates/blocks/components/Table/TableBulkActionsTable.doc.mjs +14 -0
- package/assets/templates/blocks/components/Table/TableBulkActionsTable.tsx +71 -0
- package/assets/templates/blocks/components/Table/TableFloatingBulkActionsTable.doc.mjs +19 -0
- package/assets/templates/blocks/components/Table/TableFloatingBulkActionsTable.tsx +139 -0
- package/assets/templates/blocks/components/TimeInput/TimeInputConstrained.tsx +1 -0
- package/assets/templates/pages/table-tree/page.tsx +1704 -0
- package/assets/templates/pages/table-tree/template.doc.mjs +12 -0
- package/assets/templates/themes/butter/butterTheme.doc.mjs +11 -0
- package/assets/templates/themes/chocolate/chocolateTheme.doc.mjs +11 -0
- package/assets/templates/themes/gothic/gothicTheme.doc.mjs +11 -0
- package/assets/templates/themes/matcha/matchaTheme.doc.mjs +11 -0
- package/assets/templates/themes/neutral/neutralTheme.doc.mjs +11 -0
- package/assets/templates/themes/stone/stoneTheme.doc.mjs +11 -0
- package/assets/templates/themes/y2k/y2kTheme.doc.mjs +11 -0
- package/authoring/_shared/contract.ts +22 -0
- package/authoring/codemod/codemod.doc.mjs +7 -2
- package/authoring/codemod/parse.d.mts +8 -8
- package/authoring/codemod/parse.mjs +8 -6
- package/authoring/codemod/type.ts +12 -0
- package/authoring/config/config.doc.mjs +10 -2
- package/authoring/config/debug-composition.test.mjs +92 -0
- package/authoring/config/parse.d.mts +15 -13
- package/authoring/config/parse.mjs +27 -8
- package/authoring/config/parse.test.mjs +8 -0
- package/authoring/config/type.ts +29 -6
- package/authoring/debug/debug.doc.d.mts +11 -0
- package/authoring/debug/debug.doc.mjs +182 -0
- package/authoring/debug/parse.d.mts +7 -7
- package/authoring/debug/parse.mjs +3 -3
- package/authoring/discover/discover.doc.d.mts +13 -0
- package/authoring/discover/discover.doc.mjs +138 -0
- package/authoring/discover/parse.d.mts +24 -0
- package/authoring/discover/parse.mjs +128 -0
- package/authoring/discover/parse.test.mjs +124 -0
- package/authoring/discover/type.ts +87 -0
- package/authoring/doctypes/_schema.d.mts +240 -128
- package/authoring/doctypes/_schema.mjs +198 -16
- package/authoring/doctypes/base/graph-fields.doc.mjs +15 -6
- package/authoring/doctypes/base/type.ts +9 -4
- package/authoring/doctypes/command/command.doc.mjs +4 -3
- package/authoring/doctypes/command/parse.d.mts +2 -2
- package/authoring/doctypes/command/parse.mjs +1 -1
- package/authoring/doctypes/command/type.ts +4 -4
- package/authoring/doctypes/component/component.doc.mjs +5 -2
- package/authoring/doctypes/component/parse.d.mts +2 -2
- package/authoring/doctypes/component/parse.mjs +1 -1
- package/authoring/doctypes/component/type.ts +3 -3
- package/authoring/doctypes/doctypes-new.test.mjs +48 -6
- package/authoring/doctypes/enum/enum.doc.mjs +1 -1
- package/authoring/doctypes/enum/parse.d.mts +2 -2
- package/authoring/doctypes/enum/parse.mjs +1 -1
- package/authoring/doctypes/enum/type.ts +2 -2
- package/authoring/doctypes/function/function.doc.mjs +7 -2
- package/authoring/doctypes/function/parse.d.mts +2 -2
- package/authoring/doctypes/function/parse.mjs +1 -1
- package/authoring/doctypes/function/type.ts +4 -3
- package/authoring/doctypes/hook/hook.doc.mjs +4 -0
- package/authoring/doctypes/hook/parse.d.mts +2 -2
- package/authoring/doctypes/hook/parse.mjs +1 -1
- package/authoring/doctypes/hook/type.ts +3 -3
- package/authoring/doctypes/legacy.d.mts +6 -6
- package/authoring/doctypes/legacy.mjs +3 -3
- package/authoring/doctypes/load-contract.test.mjs +233 -0
- package/authoring/doctypes/namespace/namespace.doc.mjs +9 -9
- package/authoring/doctypes/namespace/parse.d.mts +2 -2
- package/authoring/doctypes/namespace/parse.mjs +1 -1
- package/authoring/doctypes/namespace/parse.test.mjs +23 -25
- package/authoring/doctypes/namespace/type.ts +6 -3
- package/authoring/doctypes/parse.d.mts +22 -20
- package/authoring/doctypes/parse.mjs +19 -14
- package/authoring/doctypes/reference/parse.d.mts +2 -2
- package/authoring/doctypes/reference/parse.mjs +1 -1
- package/authoring/doctypes/reference/reference.doc.mjs +39 -6
- package/authoring/doctypes/reference/type.ts +31 -14
- package/authoring/doctypes/schema/parse.d.mts +2 -2
- package/authoring/doctypes/schema/parse.mjs +1 -1
- package/authoring/doctypes/schema/schema.doc.mjs +1 -1
- package/authoring/doctypes/schema/type.ts +3 -4
- package/authoring/doctypes/template/parse.d.mts +94 -1
- package/authoring/doctypes/template/parse.mjs +37 -1
- package/authoring/doctypes/template/parse.test.mjs +18 -0
- package/authoring/doctypes/template/template.doc.mjs +13 -3
- package/authoring/doctypes/template/type.ts +12 -1
- package/authoring/doctypes/theme/parse.d.mts +35 -0
- package/authoring/doctypes/theme/parse.mjs +76 -0
- package/authoring/doctypes/theme/theme.doc.d.mts +9 -0
- package/authoring/doctypes/theme/theme.doc.mjs +79 -0
- package/authoring/doctypes/theme/type.ts +42 -0
- package/authoring/doctypes/types.ts +12 -11
- package/authoring/gap-report/gap-report.doc.d.mts +12 -0
- package/authoring/gap-report/gap-report.doc.mjs +183 -0
- package/authoring/gap-report/parse.d.mts +9 -9
- package/authoring/gap-report/parse.mjs +6 -6
- package/authoring/gap-report/type.ts +1 -1
- package/authoring/identity/identity.doc.mjs +3 -2
- package/authoring/identity/type.ts +10 -10
- package/authoring/index.d.mts +2 -0
- package/authoring/index.d.ts +32 -19
- package/authoring/index.mjs +3 -1
- package/authoring/integration/integration.doc.mjs +2 -2
- package/authoring/integration/parse.d.mts +2 -2
- package/authoring/integration/parse.mjs +1 -1
- package/authoring/integration/schema.d.mts +4 -4
- package/authoring/integration/schema.mjs +3 -3
- package/authoring/integration/type.ts +5 -11
- package/clients/cli/__tests__/cliManifest.test.ts +27 -29
- package/clients/cli/command-load-failure.test.mjs +83 -0
- package/clients/cli/commands/blog.doc.mjs +1 -1
- package/clients/cli/commands/blog.mjs +23 -8
- package/clients/cli/commands/blog.test.mjs +42 -1
- package/clients/cli/commands/build-theme.adaptations.test.mjs +100 -1
- package/clients/cli/commands/build-theme.ascii-output.test.mjs +161 -0
- package/clients/cli/commands/build-theme.flag-docs.test.mjs +110 -0
- package/clients/cli/commands/build-theme.mjs +16 -50
- package/clients/cli/commands/build-theme.path-safety.test.mjs +86 -1
- package/clients/cli/commands/build-theme.variants.test.mjs +76 -0
- package/clients/cli/commands/build.doc.mjs +16 -8
- package/clients/cli/commands/build.exit-codes-doc.test.mjs +50 -0
- package/clients/cli/commands/build.mjs +137 -114
- package/clients/cli/commands/build.playbook.test.mjs +75 -0
- package/clients/cli/commands/build.text-fields.test.mjs +81 -0
- package/clients/cli/commands/component/index.mjs +3 -8
- package/clients/cli/commands/component-ownership.test.mjs +3 -3
- package/clients/cli/commands/component-package.test.mjs +46 -0
- package/clients/cli/commands/component-resolution.test.mjs +21 -0
- package/clients/cli/commands/component.doc.mjs +1 -1
- package/clients/cli/commands/component.test.mjs +19 -0
- package/clients/cli/commands/detail-levels.test.mjs +2 -2
- package/clients/cli/commands/discover.broken-integration.test.mjs +52 -5
- package/clients/cli/commands/discover.components-flag.test.mjs +97 -0
- package/clients/cli/commands/discover.doc.mjs +55 -9
- package/clients/cli/commands/discover.mjs +393 -118
- package/clients/cli/commands/discover.sources.test.mjs +267 -0
- package/clients/cli/commands/discover.text-projection.test.mjs +103 -0
- package/clients/cli/commands/docs.doc.mjs +21 -9
- package/clients/cli/commands/docs.mjs +184 -70
- package/clients/cli/commands/docs.test.mjs +120 -16
- package/clients/cli/commands/doctor-integration-components.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +3 -3
- package/clients/cli/commands/doctor-integration-templates.doc.mjs +15 -8
- package/clients/cli/commands/doctor-integration-validate.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration.package-json.test.mjs +53 -0
- package/clients/cli/commands/doctor-integration.test.mjs +90 -8
- package/clients/cli/commands/doctor.doc.mjs +1 -1
- package/clients/cli/commands/doctor.mjs +59 -32
- package/clients/cli/commands/doctor.test.mjs +42 -0
- package/clients/cli/commands/gap-report.doc.mjs +17 -6
- package/clients/cli/commands/gap-report.test.mjs +72 -0
- package/clients/cli/commands/hook/index.mjs +7 -17
- package/clients/cli/commands/hook.doc.mjs +1 -1
- package/clients/cli/commands/hook.text-projection.test.mjs +45 -0
- package/clients/cli/commands/init.doc.mjs +20 -9
- package/clients/cli/commands/init.flag-help.test.mjs +153 -0
- package/clients/cli/commands/integration-add.controls.test.mjs +132 -0
- package/clients/cli/commands/integration-add.doc.mjs +32 -6
- package/clients/cli/commands/integration-authoring.test.mjs +13 -9
- package/clients/cli/commands/integration-pack.doc.mjs +1 -1
- package/clients/cli/commands/integration-real-world.test.mjs +3 -9
- package/clients/cli/commands/integration.doc.mjs +1 -1
- package/clients/cli/commands/integration.mjs +1 -0
- package/clients/cli/commands/interactive-guard.test.mjs +101 -24
- package/clients/cli/commands/json-contract.test.mjs +33 -0
- package/clients/cli/commands/layout-check.doc.mjs +15 -4
- package/clients/cli/commands/layout-expand.doc.mjs +22 -5
- package/clients/cli/commands/layout-grammar.doc.mjs +1 -1
- package/clients/cli/commands/layout.doc.mjs +3 -3
- package/clients/cli/commands/layout.mjs +21 -9
- package/clients/cli/commands/layout.path-help.test.mjs +33 -0
- package/clients/cli/commands/layout.stdin-cap.test.mjs +47 -0
- package/clients/cli/commands/layout.text-fields.test.mjs +39 -0
- package/clients/cli/commands/manifest.doc.mjs +1 -1
- package/clients/cli/commands/no-prompt-wording.test.mjs +94 -0
- package/clients/cli/commands/search.doc.mjs +7 -4
- package/clients/cli/commands/search.mjs +28 -9
- package/clients/cli/commands/search.test.mjs +75 -0
- package/clients/cli/commands/setup-nudge.test.mjs +6 -0
- package/clients/cli/commands/swizzle.doc.mjs +3 -2
- package/clients/cli/commands/swizzle.path-safety.test.mjs +42 -0
- package/clients/cli/commands/template.doc.mjs +52 -13
- package/clients/cli/commands/template.flag-help.test.mjs +117 -0
- package/clients/cli/commands/template.mjs +4 -91
- package/clients/cli/commands/template.path-help.test.mjs +40 -0
- package/clients/cli/commands/text-json-parity.test.mjs +719 -0
- package/clients/cli/commands/theme-add.doc.mjs +4 -3
- package/clients/cli/commands/theme-build.doc.mjs +8 -7
- package/clients/cli/commands/theme-list.doc.mjs +2 -2
- package/clients/cli/commands/theme-palette-generate.doc.mjs +3 -3
- package/clients/cli/commands/theme-palette-generate.test.mjs +19 -0
- package/clients/cli/commands/theme-palette.doc.mjs +1 -1
- package/clients/cli/commands/theme-targets.behavior.test.mjs +4 -3
- package/clients/cli/commands/theme-targets.doc.mjs +1 -1
- package/clients/cli/commands/theme-template.behavior.test.mjs +12 -0
- package/clients/cli/commands/theme-template.doc.mjs +2 -2
- package/clients/cli/commands/theme.doc.mjs +1 -1
- package/clients/cli/commands/upgrade.ascii-output.test.mjs +87 -0
- package/clients/cli/commands/upgrade.doc.mjs +20 -8
- package/clients/cli/commands/upgrade.file-protection.test.mjs +228 -0
- package/clients/cli/commands/upgrade.flag-help.test.mjs +188 -0
- package/clients/cli/commands/upgrade.hook-output.test.mjs +88 -0
- package/clients/cli/commands/upgrade.mjs +29 -7
- package/clients/cli/formatters/index.mjs +2 -0
- package/clients/cli/formatters/index.test.mjs +6 -0
- package/clients/cli/index.mjs +21 -30
- package/clients/cli/latest-version-env.test.mjs +50 -0
- package/clients/cli/lib/cli-error.test.mjs +7 -0
- package/clients/cli/lib/component-format.mjs +9 -9
- package/clients/cli/lib/component-format.test.mjs +1 -1
- package/clients/cli/lib/define-command.mjs +32 -6
- package/clients/cli/lib/doc-text-ascii.test.mjs +82 -0
- package/clients/cli/lib/exit-codes.test.mjs +97 -0
- package/clients/cli/lib/hook-format.mjs +19 -10
- package/clients/cli/lib/json-shim.mjs +38 -2
- package/clients/cli/lib/json-shim.test.mjs +83 -0
- package/clients/cli/lib/manifest.d.ts +2 -0
- package/clients/cli/lib/manifest.mjs +32 -2
- package/clients/cli/lib/manifest.test.mjs +17 -0
- package/foundation/agent-docs/agent-docs.d.mts +7 -2
- package/foundation/agent-docs/agent-docs.mjs +82 -12
- package/foundation/agent-docs/agent-docs.path-safety.test.mjs +266 -4
- package/foundation/agent-docs/agent-docs.test.mjs +19 -1
- package/foundation/config/integration-debug.test.mjs +28 -3
- package/foundation/config/project-themes.test.mjs +11 -19
- package/foundation/config/project.d.mts +20 -11
- package/foundation/config/project.mjs +246 -89
- package/foundation/config/project.test.mjs +270 -21
- package/foundation/discovery/authoring-self-docs.d.mts +18 -0
- package/foundation/discovery/authoring-self-docs.mjs +38 -15
- package/foundation/discovery/authoring-self-docs.test.mjs +87 -12
- package/foundation/discovery/authoring-surface.d.mts +74 -0
- package/foundation/discovery/authoring-surface.mjs +525 -0
- package/foundation/discovery/authoring-surface.test.mjs +392 -0
- package/foundation/discovery/cli-self-docs.d.mts +119 -0
- package/foundation/discovery/cli-self-docs.mjs +490 -0
- package/foundation/discovery/cli-self-docs.test.mjs +375 -0
- package/foundation/discovery/component-discovery.d.mts +38 -0
- package/foundation/discovery/component-discovery.mjs +48 -0
- package/foundation/discovery/component-loader.d.mts +35 -38
- package/foundation/discovery/component-loader.mjs +53 -222
- package/foundation/discovery/docs-discovery.d.mts +114 -9
- package/foundation/discovery/docs-discovery.mjs +239 -30
- package/foundation/discovery/docs-discovery.test.mjs +150 -35
- package/foundation/discovery/docs-output-budget.d.mts +2 -2
- package/foundation/discovery/docs-output-budget.mjs +1 -1
- package/foundation/discovery/docs-section-key.d.mts +28 -10
- package/foundation/discovery/docs-section-key.mjs +134 -33
- package/foundation/discovery/docs-section-key.test.mjs +41 -19
- package/foundation/discovery/template-adapter.d.mts +113 -11
- package/foundation/discovery/template-adapter.fixture-refs.test.mjs +248 -0
- package/foundation/discovery/template-adapter.integration-isolation.test.mjs +94 -0
- package/foundation/discovery/template-adapter.mjs +772 -82
- package/foundation/discovery/template-adapter.test.mjs +57 -0
- package/foundation/discovery/template-conflict-release.d.mts +13 -0
- package/foundation/discovery/template-conflict-release.mjs +40 -0
- package/foundation/discovery/template-conflict-release.test.mjs +40 -0
- package/foundation/discovery/theme-discovery.d.mts +67 -7
- package/foundation/discovery/theme-discovery.mjs +916 -186
- package/foundation/discovery/theme-discovery.test.mjs +613 -219
- package/foundation/discovery/theming-targets.test.mjs +4 -0
- package/foundation/doc-compiler/bundle.d.mts +47 -0
- package/foundation/doc-compiler/bundle.mjs +278 -0
- package/foundation/doc-compiler/bundle.test.mjs +266 -0
- package/foundation/doc-compiler/compile.d.mts +343 -0
- package/foundation/doc-compiler/compile.mjs +558 -0
- package/foundation/doc-compiler/diagnostics.d.mts +126 -0
- package/foundation/doc-compiler/diagnostics.mjs +305 -0
- package/foundation/doc-compiler/doc-compiler.test.mjs +714 -0
- package/foundation/doc-compiler/doc-loads.test.mjs +1642 -0
- package/foundation/doc-compiler/import.d.mts +24 -0
- package/foundation/doc-compiler/import.mjs +59 -0
- package/foundation/doc-compiler/inputs.d.mts +102 -0
- package/foundation/doc-compiler/inputs.mjs +291 -0
- package/foundation/doc-compiler/inputs.test.mjs +299 -0
- package/foundation/doc-compiler/ir.d.mts +22 -0
- package/foundation/doc-compiler/ir.mjs +471 -0
- package/foundation/doc-compiler/lenses.d.mts +36 -0
- package/foundation/doc-compiler/lenses.mjs +173 -0
- package/foundation/doc-compiler/links.d.mts +162 -0
- package/foundation/doc-compiler/links.mjs +294 -0
- package/foundation/doc-compiler/links.test.mjs +192 -0
- package/foundation/doc-compiler/lower-doc.test.mjs +495 -0
- package/foundation/doc-compiler/overlays.d.mts +37 -0
- package/foundation/doc-compiler/overlays.mjs +206 -0
- package/foundation/doc-compiler/parse-readable.d.mts +9 -0
- package/foundation/doc-compiler/parse-readable.mjs +29 -0
- package/foundation/doc-compiler/read.d.mts +127 -0
- package/foundation/doc-compiler/read.mjs +325 -0
- package/foundation/doc-compiler/read.test.mjs +313 -0
- package/foundation/doc-compiler/source.d.mts +33 -0
- package/foundation/doc-compiler/source.mjs +128 -0
- package/foundation/doc-compiler/tree.d.mts +288 -0
- package/foundation/doc-compiler/tree.mjs +876 -0
- package/foundation/doc-compiler/tree.test.mjs +598 -0
- package/foundation/fs/file-protection.d.mts +33 -0
- package/foundation/fs/file-protection.mjs +825 -0
- package/foundation/fs/file-protection.test.mjs +250 -0
- package/foundation/fs/module-loader.d.mts +1 -0
- package/foundation/fs/module-loader.mjs +50 -1
- package/foundation/fs/module-loader.stdout.test.mjs +332 -0
- package/foundation/fs/path-safety.d.mts +3 -2
- package/foundation/fs/path-safety.mjs +49 -19
- package/foundation/fs/path-safety.test.mjs +50 -0
- package/foundation/fs/publish-file-hardlink-unavailable.test.mjs +129 -94
- package/foundation/integrations/autolink.d.mts +58 -1
- package/foundation/integrations/autolink.mjs +143 -52
- package/foundation/integrations/autolink.test.mjs +1 -1
- package/foundation/integrations/cli-requirement.d.mts +45 -0
- package/foundation/integrations/cli-requirement.mjs +154 -0
- package/foundation/integrations/cli-requirement.test.mjs +84 -0
- package/foundation/integrations/contribution-fixes.d.mts +145 -0
- package/foundation/integrations/contribution-fixes.mjs +1284 -0
- package/foundation/integrations/contribution-inventory.d.mts +3 -2
- package/foundation/integrations/contribution-inventory.mjs +27 -24
- package/foundation/integrations/contribution-inventory.test.mjs +86 -27
- package/foundation/integrations/integration-warnings.d.mts +9 -2
- package/foundation/integrations/integration-warnings.mjs +51 -26
- package/foundation/integrations/integration-warnings.test.mjs +74 -1
- package/foundation/integrations/integrations.d.mts +17 -1
- package/foundation/integrations/integrations.mjs +52 -98
- package/foundation/integrations/integrations.test.mjs +31 -0
- package/foundation/integrations/provider-ledger.test.mjs +275 -0
- package/foundation/integrations/provider-resolution.d.mts +152 -0
- package/foundation/integrations/provider-resolution.mjs +576 -0
- package/foundation/integrations/provider-resolution.test.mjs +369 -0
- package/foundation/integrations/theme-descriptor.d.mts +8 -0
- package/foundation/integrations/theme-descriptor.mjs +44 -0
- package/foundation/integrations/validate-contributions.mjs +121 -29
- package/foundation/response/base.d.ts +8 -4
- package/foundation/response/error-codes.d.mts +3 -1
- package/foundation/response/error-codes.d.ts +2 -0
- package/foundation/response/error-codes.doc.mjs +13 -4
- package/foundation/response/error-codes.mjs +8 -2
- package/foundation/response/error-codes.test.mjs +137 -10
- package/foundation/response/json-contract.test.mjs +11 -0
- package/foundation/response/json.d.mts +4 -2
- package/foundation/response/json.mjs +8 -10
- package/foundation/response/response-types.doc.d.mts +5 -1
- package/foundation/response/response-types.doc.mjs +37 -22
- package/foundation/response/response-types.doc.test.mjs +158 -0
- package/foundation/response/response.doc.mjs +1 -1
- package/foundation/text/string-utils.d.mts +8 -0
- package/foundation/text/string-utils.mjs +40 -10
- package/foundation/xle/expand.d.mts +2 -0
- package/foundation/xle/expand.mjs +4 -3
- package/foundation/xle/expand.test.mjs +54 -0
- package/foundation/xle/xle.test.mjs +13 -0
- package/package.json +10 -11
- package/assets/templates/themes/manifest.json +0 -95
- package/clients/cli/lib/update-check.mjs +0 -83
- package/clients/cli/lib/update-check.test.mjs +0 -137
- package/clients/cli/update-hint-commands.test.mjs +0 -54
|
@@ -75,6 +75,8 @@ export function allErrorCodes(): string[];
|
|
|
75
75
|
* | 'ERR_UNKNOWN_FEATURE'
|
|
76
76
|
* | 'ERR_UNKNOWN_CODEMOD'
|
|
77
77
|
* | 'ERR_CODEMOD_FAILED'
|
|
78
|
+
* | 'ERR_CODEMOD_PROTECTED'
|
|
79
|
+
* | 'ERR_CODEMOD_PROTECTION_SOURCE'
|
|
78
80
|
* | 'ERR_NOT_FOUND'
|
|
79
81
|
* | 'ERR_NO_DOC'
|
|
80
82
|
* | 'ERR_NO_SHOWCASE'
|
|
@@ -107,4 +109,4 @@ export const ERROR_CODES: Readonly<Record<ErrorCode, ErrorCode>>;
|
|
|
107
109
|
/**
|
|
108
110
|
* Stable error-code string union. Append-only.
|
|
109
111
|
*/
|
|
110
|
-
export type ErrorCode = ("ERR_UNKNOWN" | "ERR_UNKNOWN_COMMAND" | "ERR_UNKNOWN_SUBCOMMAND" | "ERR_INVALID_OPTION" | "ERR_INVALID_ARGUMENT" | "ERR_MISSING_ARGUMENT" | "ERR_INVALID_LANG" | "ERR_INVALID_DETAIL" | "ERR_NODE_VERSION" | "ERR_CORE_NOT_FOUND" | "ERR_CORE_INCOMPATIBLE" | "ERR_UNKNOWN_COMPONENT" | "ERR_UNKNOWN_HOOK" | "ERR_UNKNOWN_TOPIC" | "ERR_UNKNOWN_SECTION" | "ERR_UNKNOWN_CATEGORY" | "ERR_UNKNOWN_TEMPLATE" | "ERR_AMBIGUOUS_TEMPLATE" | "ERR_AMBIGUOUS_COMPONENT" | "ERR_AMBIGUOUS_THEME" | "ERR_UNKNOWN_THEME" | "ERR_INTEGRATION_ROOT_CONFLICT" | "ERR_INTEGRATION_EXPORT_CONFLICT" | "ERR_UNKNOWN_PACKAGE" | "ERR_UNKNOWN_AGENT" | "ERR_UNKNOWN_FEATURE" | "ERR_UNKNOWN_CODEMOD" | "ERR_CODEMOD_FAILED" | "ERR_NOT_FOUND" | "ERR_NO_DOC" | "ERR_NO_SHOWCASE" | "ERR_NO_SOURCE" | "ERR_INVALID_DOC" | "ERR_FILE_NOT_FOUND" | "ERR_FILE_EXISTS" | "ERR_PATH_TRAVERSAL" | "ERR_WRITE_FAILED" | "ERR_THEME_INVALID" | "ERR_THEME_LOAD" | "ERR_PALETTE_GENERATION" | "ERR_VERSION_DETECT" | "ERR_INVALID_VERSION" | "ERR_DEP_MISSING" | "ERR_GH_CLI" | "ERR_UNKNOWN_POST" | "ERR_FETCH_FAILED" | "ERR_LAYOUT_PARSE" | "ERR_LAYOUT_INVALID" | "ERR_UNCLASSIFIED_EXIT" | "ERR_SIGNAL_TERMINATED");
|
|
112
|
+
export type ErrorCode = ("ERR_UNKNOWN" | "ERR_UNKNOWN_COMMAND" | "ERR_UNKNOWN_SUBCOMMAND" | "ERR_INVALID_OPTION" | "ERR_INVALID_ARGUMENT" | "ERR_MISSING_ARGUMENT" | "ERR_INVALID_LANG" | "ERR_INVALID_DETAIL" | "ERR_NODE_VERSION" | "ERR_CORE_NOT_FOUND" | "ERR_CORE_INCOMPATIBLE" | "ERR_UNKNOWN_COMPONENT" | "ERR_UNKNOWN_HOOK" | "ERR_UNKNOWN_TOPIC" | "ERR_UNKNOWN_SECTION" | "ERR_UNKNOWN_CATEGORY" | "ERR_UNKNOWN_TEMPLATE" | "ERR_AMBIGUOUS_TEMPLATE" | "ERR_AMBIGUOUS_COMPONENT" | "ERR_AMBIGUOUS_THEME" | "ERR_UNKNOWN_THEME" | "ERR_INTEGRATION_ROOT_CONFLICT" | "ERR_INTEGRATION_EXPORT_CONFLICT" | "ERR_UNKNOWN_PACKAGE" | "ERR_UNKNOWN_AGENT" | "ERR_UNKNOWN_FEATURE" | "ERR_UNKNOWN_CODEMOD" | "ERR_CODEMOD_FAILED" | "ERR_CODEMOD_PROTECTED" | "ERR_CODEMOD_PROTECTION_SOURCE" | "ERR_NOT_FOUND" | "ERR_NO_DOC" | "ERR_NO_SHOWCASE" | "ERR_NO_SOURCE" | "ERR_INVALID_DOC" | "ERR_FILE_NOT_FOUND" | "ERR_FILE_EXISTS" | "ERR_PATH_TRAVERSAL" | "ERR_WRITE_FAILED" | "ERR_THEME_INVALID" | "ERR_THEME_LOAD" | "ERR_PALETTE_GENERATION" | "ERR_VERSION_DETECT" | "ERR_INVALID_VERSION" | "ERR_DEP_MISSING" | "ERR_GH_CLI" | "ERR_UNKNOWN_POST" | "ERR_FETCH_FAILED" | "ERR_LAYOUT_PARSE" | "ERR_LAYOUT_INVALID" | "ERR_UNCLASSIFIED_EXIT" | "ERR_SIGNAL_TERMINATED");
|
|
@@ -12,7 +12,7 @@ export const doc = {
|
|
|
12
12
|
type: 'enum',
|
|
13
13
|
name: 'error-codes',
|
|
14
14
|
displayName: 'Error Codes',
|
|
15
|
-
namespace: 'cli',
|
|
15
|
+
namespace: 'cli/api',
|
|
16
16
|
description:
|
|
17
17
|
'Stable, append-only machine-readable error codes on the --json error envelope (envelope.code). Codes never change or get removed; branch on these, not on prose.',
|
|
18
18
|
members: [
|
|
@@ -154,6 +154,16 @@ export const doc = {
|
|
|
154
154
|
value: 'ERR_CODEMOD_FAILED',
|
|
155
155
|
description: 'One or more codemods failed during an upgrade run.',
|
|
156
156
|
},
|
|
157
|
+
{
|
|
158
|
+
value: 'ERR_CODEMOD_PROTECTED',
|
|
159
|
+
description:
|
|
160
|
+
'A required codemod change remains blocked by a protected consumer file.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
value: 'ERR_CODEMOD_PROTECTION_SOURCE',
|
|
164
|
+
description:
|
|
165
|
+
'A working-tree protection declaration could not be read or parsed.',
|
|
166
|
+
},
|
|
157
167
|
{
|
|
158
168
|
value: 'ERR_NOT_FOUND',
|
|
159
169
|
description:
|
|
@@ -187,8 +197,7 @@ export const doc = {
|
|
|
187
197
|
},
|
|
188
198
|
{
|
|
189
199
|
value: 'ERR_FILE_EXISTS',
|
|
190
|
-
description:
|
|
191
|
-
'Refused to overwrite an existing file in non-interactive mode.',
|
|
200
|
+
description: 'Refused to overwrite an existing file.',
|
|
192
201
|
},
|
|
193
202
|
{
|
|
194
203
|
value: 'ERR_PATH_TRAVERSAL',
|
|
@@ -204,7 +213,7 @@ export const doc = {
|
|
|
204
213
|
{
|
|
205
214
|
value: 'ERR_THEME_INVALID',
|
|
206
215
|
description:
|
|
207
|
-
'A theme definition or contributed theme
|
|
216
|
+
'A theme definition or contributed theme descriptor is invalid.',
|
|
208
217
|
},
|
|
209
218
|
{
|
|
210
219
|
value: 'ERR_THEME_LOAD',
|
|
@@ -64,6 +64,8 @@
|
|
|
64
64
|
* | 'ERR_UNKNOWN_FEATURE'
|
|
65
65
|
* | 'ERR_UNKNOWN_CODEMOD'
|
|
66
66
|
* | 'ERR_CODEMOD_FAILED'
|
|
67
|
+
* | 'ERR_CODEMOD_PROTECTED'
|
|
68
|
+
* | 'ERR_CODEMOD_PROTECTION_SOURCE'
|
|
67
69
|
* | 'ERR_NOT_FOUND'
|
|
68
70
|
* | 'ERR_NO_DOC'
|
|
69
71
|
* | 'ERR_NO_SHOWCASE'
|
|
@@ -161,6 +163,10 @@ export const ERROR_CODES = Object.freeze({
|
|
|
161
163
|
ERR_UNKNOWN_CODEMOD: 'ERR_UNKNOWN_CODEMOD',
|
|
162
164
|
/** One or more codemods failed during an upgrade run. */
|
|
163
165
|
ERR_CODEMOD_FAILED: 'ERR_CODEMOD_FAILED',
|
|
166
|
+
/** A required codemod change remains blocked by a protected consumer file. */
|
|
167
|
+
ERR_CODEMOD_PROTECTED: 'ERR_CODEMOD_PROTECTED',
|
|
168
|
+
/** A working-tree protection declaration could not be read or parsed. */
|
|
169
|
+
ERR_CODEMOD_PROTECTION_SOURCE: 'ERR_CODEMOD_PROTECTION_SOURCE',
|
|
164
170
|
/** A generic discover/lookup query matched nothing in any package. */
|
|
165
171
|
ERR_NOT_FOUND: 'ERR_NOT_FOUND',
|
|
166
172
|
|
|
@@ -177,7 +183,7 @@ export const ERROR_CODES = Object.freeze({
|
|
|
177
183
|
// ── Filesystem ───────────────────────────────────────────────────
|
|
178
184
|
/** A required input file did not exist. */
|
|
179
185
|
ERR_FILE_NOT_FOUND: 'ERR_FILE_NOT_FOUND',
|
|
180
|
-
/** Refused to overwrite an existing file
|
|
186
|
+
/** Refused to overwrite an existing file. */
|
|
181
187
|
ERR_FILE_EXISTS: 'ERR_FILE_EXISTS',
|
|
182
188
|
/** A path escaped its allowed root, or a name contained traversal markers. */
|
|
183
189
|
ERR_PATH_TRAVERSAL: 'ERR_PATH_TRAVERSAL',
|
|
@@ -185,7 +191,7 @@ export const ERROR_CODES = Object.freeze({
|
|
|
185
191
|
ERR_WRITE_FAILED: 'ERR_WRITE_FAILED',
|
|
186
192
|
|
|
187
193
|
// ── Theme build ──────────────────────────────────────────────────
|
|
188
|
-
/** A theme definition or contributed theme
|
|
194
|
+
/** A theme definition or contributed theme descriptor is invalid. */
|
|
189
195
|
ERR_THEME_INVALID: 'ERR_THEME_INVALID',
|
|
190
196
|
/** A theme file could not be loaded / parsed into a defineTheme result. */
|
|
191
197
|
ERR_THEME_LOAD: 'ERR_THEME_LOAD',
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import {describe, it, expect} from 'vitest';
|
|
18
|
+
import * as fs from 'node:fs';
|
|
19
|
+
import * as os from 'node:os';
|
|
20
|
+
import * as path from 'node:path';
|
|
18
21
|
import {ERROR_CODES, isErrorCode, allErrorCodes} from './error-codes.mjs';
|
|
19
22
|
import {runCli} from '../../test-utils/run-cli.mjs';
|
|
20
23
|
|
|
@@ -75,20 +78,126 @@ describe('error-codes taxonomy', () => {
|
|
|
75
78
|
});
|
|
76
79
|
});
|
|
77
80
|
|
|
81
|
+
describe('error codes: shipped set', () => {
|
|
82
|
+
// Every code a release has published. INV3: a shipped code is never removed
|
|
83
|
+
// or respelled. Add a code here once it ships; never delete an entry.
|
|
84
|
+
const SHIPPED = [
|
|
85
|
+
'ERR_AMBIGUOUS_COMPONENT',
|
|
86
|
+
'ERR_AMBIGUOUS_TEMPLATE',
|
|
87
|
+
'ERR_AMBIGUOUS_THEME',
|
|
88
|
+
'ERR_CODEMOD_FAILED',
|
|
89
|
+
'ERR_CODEMOD_PROTECTED',
|
|
90
|
+
'ERR_CODEMOD_PROTECTION_SOURCE',
|
|
91
|
+
'ERR_CORE_INCOMPATIBLE',
|
|
92
|
+
'ERR_CORE_NOT_FOUND',
|
|
93
|
+
'ERR_DEP_MISSING',
|
|
94
|
+
'ERR_FETCH_FAILED',
|
|
95
|
+
'ERR_FILE_EXISTS',
|
|
96
|
+
'ERR_FILE_NOT_FOUND',
|
|
97
|
+
'ERR_GH_CLI',
|
|
98
|
+
'ERR_INTEGRATION_EXPORT_CONFLICT',
|
|
99
|
+
'ERR_INTEGRATION_ROOT_CONFLICT',
|
|
100
|
+
'ERR_INVALID_ARGUMENT',
|
|
101
|
+
'ERR_INVALID_DETAIL',
|
|
102
|
+
'ERR_INVALID_DOC',
|
|
103
|
+
'ERR_INVALID_LANG',
|
|
104
|
+
'ERR_INVALID_OPTION',
|
|
105
|
+
'ERR_INVALID_VERSION',
|
|
106
|
+
'ERR_LAYOUT_INVALID',
|
|
107
|
+
'ERR_LAYOUT_PARSE',
|
|
108
|
+
'ERR_MISSING_ARGUMENT',
|
|
109
|
+
'ERR_NODE_VERSION',
|
|
110
|
+
'ERR_NOT_FOUND',
|
|
111
|
+
'ERR_NO_DOC',
|
|
112
|
+
'ERR_NO_SHOWCASE',
|
|
113
|
+
'ERR_NO_SOURCE',
|
|
114
|
+
'ERR_PALETTE_GENERATION',
|
|
115
|
+
'ERR_PATH_TRAVERSAL',
|
|
116
|
+
'ERR_SIGNAL_TERMINATED',
|
|
117
|
+
'ERR_THEME_INVALID',
|
|
118
|
+
'ERR_THEME_LOAD',
|
|
119
|
+
'ERR_UNCLASSIFIED_EXIT',
|
|
120
|
+
'ERR_UNKNOWN',
|
|
121
|
+
'ERR_UNKNOWN_AGENT',
|
|
122
|
+
'ERR_UNKNOWN_CATEGORY',
|
|
123
|
+
'ERR_UNKNOWN_CODEMOD',
|
|
124
|
+
'ERR_UNKNOWN_COMMAND',
|
|
125
|
+
'ERR_UNKNOWN_COMPONENT',
|
|
126
|
+
'ERR_UNKNOWN_FEATURE',
|
|
127
|
+
'ERR_UNKNOWN_HOOK',
|
|
128
|
+
'ERR_UNKNOWN_PACKAGE',
|
|
129
|
+
'ERR_UNKNOWN_POST',
|
|
130
|
+
'ERR_UNKNOWN_SECTION',
|
|
131
|
+
'ERR_UNKNOWN_SUBCOMMAND',
|
|
132
|
+
'ERR_UNKNOWN_TEMPLATE',
|
|
133
|
+
'ERR_UNKNOWN_THEME',
|
|
134
|
+
'ERR_UNKNOWN_TOPIC',
|
|
135
|
+
'ERR_VERSION_DETECT',
|
|
136
|
+
'ERR_WRITE_FAILED',
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
it('still carries every shipped code, spelled the same', () => {
|
|
140
|
+
const missing = SHIPPED.filter(
|
|
141
|
+
code => !isErrorCode(code) || ERROR_CODES[code] !== code,
|
|
142
|
+
);
|
|
143
|
+
expect(missing, 'shipped codes removed or respelled').toEqual([]);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
|
|
78
147
|
describe('error codes: end-to-end JSON envelopes', () => {
|
|
79
148
|
const cases = [
|
|
80
|
-
{
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
{
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
149
|
+
{
|
|
150
|
+
name: 'unknown component',
|
|
151
|
+
args: ['component', 'Bogus', '--json'],
|
|
152
|
+
code: 'ERR_UNKNOWN_COMPONENT',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: 'unknown hook',
|
|
156
|
+
args: ['hook', 'bogusHook', '--json'],
|
|
157
|
+
code: 'ERR_UNKNOWN_HOOK',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: 'unknown topic',
|
|
161
|
+
args: ['docs', 'bogusTopic', '--json'],
|
|
162
|
+
code: 'ERR_UNKNOWN_TOPIC',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'unknown template',
|
|
166
|
+
args: ['template', 'bogusTemplate', '--json'],
|
|
167
|
+
code: 'ERR_UNKNOWN_TEMPLATE',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: 'unknown command',
|
|
171
|
+
args: ['bogus-cmd', '--json'],
|
|
172
|
+
code: 'ERR_UNKNOWN_COMMAND',
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: 'invalid --lang',
|
|
176
|
+
args: ['docs', 'color', '--lang', 'fr', '--json'],
|
|
177
|
+
code: 'ERR_INVALID_LANG',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'invalid --detail',
|
|
181
|
+
args: ['docs', 'color', '--detail', 'bogus', '--json'],
|
|
182
|
+
code: 'ERR_INVALID_DETAIL',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'unknown option',
|
|
186
|
+
args: ['component', 'Button', '--bogus-flag', '--json'],
|
|
187
|
+
code: 'ERR_INVALID_OPTION',
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'missing argument',
|
|
191
|
+
args: ['theme', 'build', '--json'],
|
|
192
|
+
code: 'ERR_MISSING_ARGUMENT',
|
|
193
|
+
},
|
|
89
194
|
// `theme` is not on the --json allowlist, so --json on any theme subcommand
|
|
90
195
|
// is rejected at the preAction gate with a stable invalid-option code.
|
|
91
|
-
{
|
|
196
|
+
{
|
|
197
|
+
name: 'json not supported',
|
|
198
|
+
args: ['theme', 'bogus-sub', '--json'],
|
|
199
|
+
code: 'ERR_INVALID_OPTION',
|
|
200
|
+
},
|
|
92
201
|
];
|
|
93
202
|
|
|
94
203
|
for (const {name, args, code} of cases) {
|
|
@@ -104,6 +213,24 @@ describe('error codes: end-to-end JSON envelopes', () => {
|
|
|
104
213
|
});
|
|
105
214
|
}
|
|
106
215
|
|
|
216
|
+
it('a filesystem failure carries a registered code, never the Node errno', async () => {
|
|
217
|
+
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'astryx-errno-'));
|
|
218
|
+
try {
|
|
219
|
+
// A file where the target directory should be: mkdir fails with ENOTDIR.
|
|
220
|
+
fs.writeFileSync(path.join(dir, 'blocker'), 'x');
|
|
221
|
+
const {status, stdout} = await runCli(
|
|
222
|
+
['template', 'dashboard', 'blocker/out', '--json'],
|
|
223
|
+
{cwd: dir},
|
|
224
|
+
);
|
|
225
|
+
expect(status).toBe(1);
|
|
226
|
+
const env = envelope(stdout);
|
|
227
|
+
expect(env.error).toMatch(/ENOTDIR/);
|
|
228
|
+
expect(isErrorCode(env.code)).toBe(true);
|
|
229
|
+
} finally {
|
|
230
|
+
fs.rmSync(dir, {recursive: true, force: true});
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
|
|
107
234
|
it('every error envelope carries a code (even unmatched paths fall back to ERR_UNKNOWN)', async () => {
|
|
108
235
|
const {stdout} = await runCli(['component', 'Bogus', '--json']);
|
|
109
236
|
const env = envelope(stdout);
|
|
@@ -112,6 +112,17 @@ describe('json envelope shape', () => {
|
|
|
112
112
|
});
|
|
113
113
|
});
|
|
114
114
|
|
|
115
|
+
it('toErrorEnvelope never emits an unregistered code', () => {
|
|
116
|
+
// A Node system error carries `code: 'EACCES'`; that is not an Astryx code.
|
|
117
|
+
const sysErr = Object.assign(new Error('EACCES: permission denied'), {
|
|
118
|
+
code: 'EACCES',
|
|
119
|
+
});
|
|
120
|
+
expect(toErrorEnvelope(sysErr).code).toBe('ERR_UNKNOWN');
|
|
121
|
+
expect(toErrorEnvelope('boom', undefined, 'ENOENT').code).toBe('ERR_UNKNOWN');
|
|
122
|
+
const docErr = Object.assign(new Error('no doc'), {code: 'ERR_NO_DOC'});
|
|
123
|
+
expect(toErrorEnvelope(docErr, undefined, 'ENOENT').code).toBe('ERR_NO_DOC');
|
|
124
|
+
});
|
|
125
|
+
|
|
115
126
|
it('toErrorEnvelope includes suggestions when present', () => {
|
|
116
127
|
const env = toErrorEnvelope('x', [{name: 'Button', reason: 'close match'}]);
|
|
117
128
|
expect(env.suggestions).toEqual([{name: 'Button', reason: 'close match'}]);
|
|
@@ -50,8 +50,10 @@ export function jsonOut(response: {
|
|
|
50
50
|
*
|
|
51
51
|
* The `code` is resolved in priority order: an explicit `code` argument,
|
|
52
52
|
* then a `code` property carried on a thrown Error/AstryxError, then the
|
|
53
|
-
* generic `ERR_UNKNOWN` fallback.
|
|
54
|
-
*
|
|
53
|
+
* generic `ERR_UNKNOWN` fallback. Only a registered code (error-codes.mjs) is
|
|
54
|
+
* taken from either source, so a Node system error's `ENOENT` never reaches
|
|
55
|
+
* the envelope. It always appears on the envelope so consumers can branch on
|
|
56
|
+
* it unconditionally.
|
|
55
57
|
*
|
|
56
58
|
* @param {unknown} err
|
|
57
59
|
* @param {import('./base').Suggestion[]} [suggestions]
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* Version of the JSON envelope contract. Bump on breaking shape changes so
|
|
29
29
|
* consumers can negotiate. Exposed on every envelope as `apiVersion`.
|
|
30
30
|
*/
|
|
31
|
-
import {ERROR_CODES} from './error-codes.mjs';
|
|
31
|
+
import {ERROR_CODES, isErrorCode} from './error-codes.mjs';
|
|
32
32
|
import {recordEnvelope, setOutcome} from '../debug/index.mjs';
|
|
33
33
|
|
|
34
34
|
export const API_VERSION = 1;
|
|
@@ -118,8 +118,10 @@ export function jsonOut(response) {
|
|
|
118
118
|
*
|
|
119
119
|
* The `code` is resolved in priority order: an explicit `code` argument,
|
|
120
120
|
* then a `code` property carried on a thrown Error/AstryxError, then the
|
|
121
|
-
* generic `ERR_UNKNOWN` fallback.
|
|
122
|
-
*
|
|
121
|
+
* generic `ERR_UNKNOWN` fallback. Only a registered code (error-codes.mjs) is
|
|
122
|
+
* taken from either source, so a Node system error's `ENOENT` never reaches
|
|
123
|
+
* the envelope. It always appears on the envelope so consumers can branch on
|
|
124
|
+
* it unconditionally.
|
|
123
125
|
*
|
|
124
126
|
* @param {unknown} err
|
|
125
127
|
* @param {import('./base').Suggestion[]} [suggestions]
|
|
@@ -130,13 +132,9 @@ export function jsonOut(response) {
|
|
|
130
132
|
export function toErrorEnvelope(err, suggestions, code) {
|
|
131
133
|
const message =
|
|
132
134
|
err instanceof Error ? err.message : typeof err === 'string' ? err : String(err);
|
|
133
|
-
const
|
|
134
|
-
code
|
|
135
|
-
|
|
136
|
-
typeof (/** @type {any} */ (err).code) === 'string'
|
|
137
|
-
? /** @type {any} */ (err).code
|
|
138
|
-
: undefined) ||
|
|
139
|
-
ERROR_CODES.ERR_UNKNOWN;
|
|
135
|
+
const carried =
|
|
136
|
+
err && typeof err === 'object' ? /** @type {any} */ (err).code : undefined;
|
|
137
|
+
const resolvedCode = [code, carried].find(isErrorCode) ?? ERROR_CODES.ERR_UNKNOWN;
|
|
140
138
|
/** @type {any} */
|
|
141
139
|
const env = {apiVersion: API_VERSION, error: message, code: resolvedCode};
|
|
142
140
|
if (Array.isArray(suggestions) && suggestions.length) env.suggestions = suggestions;
|
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
* @file EnumDoc for the `type` discriminant carried on every --json success
|
|
6
6
|
* envelope. The vocabulary mirrors the RESPONSE_TYPES map (each command's
|
|
7
7
|
* `jsonOut(...)` call sites) in `clients/cli/lib/manifest.mjs`; a consumer
|
|
8
|
-
* switches on `type` to narrow the `data` payload.
|
|
8
|
+
* switches on `type` to narrow the `data` payload. Descriptions follow the
|
|
9
|
+
* currently published response projection, not a future package-version boundary.
|
|
10
|
+
*
|
|
11
|
+
* @input Public response discriminants and their currently released payloads.
|
|
12
|
+
* @output Generated consumer reference for every typed JSON success response.
|
|
9
13
|
* @position packages/cli/foundation/response — enum documentation
|
|
10
14
|
*/
|
|
11
15
|
/** @type {import('@astryxdesign/cli/authoring').EnumDoc} */
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
* @file EnumDoc for the `type` discriminant carried on every --json success
|
|
5
5
|
* envelope. The vocabulary mirrors the RESPONSE_TYPES map (each command's
|
|
6
6
|
* `jsonOut(...)` call sites) in `clients/cli/lib/manifest.mjs`; a consumer
|
|
7
|
-
* switches on `type` to narrow the `data` payload.
|
|
7
|
+
* switches on `type` to narrow the `data` payload. Descriptions follow the
|
|
8
|
+
* currently published response projection, not a future package-version boundary.
|
|
9
|
+
*
|
|
10
|
+
* @input Public response discriminants and their currently released payloads.
|
|
11
|
+
* @output Generated consumer reference for every typed JSON success response.
|
|
8
12
|
* @position packages/cli/foundation/response — enum documentation
|
|
9
13
|
*/
|
|
10
14
|
|
|
@@ -13,7 +17,7 @@ export const doc = {
|
|
|
13
17
|
type: 'enum',
|
|
14
18
|
name: 'response-types',
|
|
15
19
|
displayName: 'Response Types',
|
|
16
|
-
namespace: 'cli',
|
|
20
|
+
namespace: 'cli/api',
|
|
17
21
|
description:
|
|
18
22
|
'The `type` discriminant present on every --json success envelope. Consumers switch on it to narrow `data`.',
|
|
19
23
|
members: [
|
|
@@ -36,7 +40,7 @@ export const doc = {
|
|
|
36
40
|
{
|
|
37
41
|
value: 'component.detail',
|
|
38
42
|
description:
|
|
39
|
-
"One component's authored ComponentDoc plus ownership
|
|
43
|
+
"One component's authored ComponentDoc plus ownership fields (package, the owner; import, the specifier; sourceAvailable, whether source exists) and parentDoc (present when the component is documented inside another component's doc, naming that doc).",
|
|
40
44
|
},
|
|
41
45
|
{
|
|
42
46
|
value: 'component.detail.props',
|
|
@@ -61,22 +65,27 @@ export const doc = {
|
|
|
61
65
|
{
|
|
62
66
|
value: 'docs.list',
|
|
63
67
|
description:
|
|
64
|
-
|
|
68
|
+
"All reference-doc topics as DocsListEntry[] ({topic, description, package, replaces?}), in read order; meta.namespaces lists the docs tree's top-level namespaces, and meta.notLoaded each package whose docs did not load.",
|
|
65
69
|
},
|
|
66
70
|
{
|
|
67
71
|
value: 'docs.detail',
|
|
68
72
|
description:
|
|
69
|
-
"One topic's full ReferenceDoc, with token-ref blocks inlined.",
|
|
73
|
+
"One topic's full ReferenceDoc (the JSON read of a topic, --full, --dense, or a topic with one section), with token-ref blocks inlined, plus links ({up, previous, next}: the commands that open the level it sits in and its neighbors there).",
|
|
70
74
|
},
|
|
71
75
|
{
|
|
72
76
|
value: 'docs.index',
|
|
73
77
|
description:
|
|
74
|
-
"One topic's section index (--index):
|
|
78
|
+
"One topic's section index, the text read of a topic with more than one section (and --index): the topic's name, title, and description, plus sections, each {id, title, summary} (pass the id as the section argument; summary is the section's one-line summary), and links ({up, previous, next}: the commands that open the level it sits in and its neighbors there).",
|
|
75
79
|
},
|
|
76
80
|
{
|
|
77
81
|
value: 'docs.detail.section',
|
|
78
82
|
description:
|
|
79
|
-
'One ReferenceSection of a topic, found by key or title, with token-ref blocks inlined.',
|
|
83
|
+
'One ReferenceSection of a topic, found by key or title, with token-ref blocks inlined, plus links ({up, previous, next}: the commands that open its topic index and the sections before and after it).',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
value: 'docs.node',
|
|
87
|
+
description:
|
|
88
|
+
"One node of the docs tree, read by its route: its id, kind, package, title, summary, and breadcrumb, plus a namespace's slots with their children (one level down) or a typed doc's content, and links ({up, previous, next, related}: the commands that open its parent, its neighbors, and the docs it names).",
|
|
80
89
|
},
|
|
81
90
|
|
|
82
91
|
// blog (read from the published RSS feed)
|
|
@@ -95,40 +104,46 @@ export const doc = {
|
|
|
95
104
|
{
|
|
96
105
|
value: 'discover.list',
|
|
97
106
|
description:
|
|
98
|
-
'The
|
|
107
|
+
'The integrations the project loads (name, category, components, version, a list per other kind they add, and latest when a source knows it); with a discover source, meta.available lists what the project could add and meta.sources reports each source; when empty it carries meta.configured to tell "nothing configured" from "nothing discovered".',
|
|
99
108
|
},
|
|
100
109
|
{
|
|
101
110
|
value: 'discover.detail',
|
|
102
|
-
description:
|
|
111
|
+
description:
|
|
112
|
+
'One package, for an @scope/name or @scope/name@version query: what the shown version adds, whether the project has it, and, when a source knows the package, its versions, latest release, and the command that adds it.',
|
|
103
113
|
},
|
|
104
114
|
{
|
|
105
115
|
value: 'discover.detail.doc',
|
|
106
116
|
description:
|
|
107
|
-
'The validated ComponentDoc for one
|
|
117
|
+
'The validated ComponentDoc for one installed component, for an @scope/name/Component query.',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
value: 'discover.item',
|
|
121
|
+
description:
|
|
122
|
+
'One item that is not an installed component, for an @scope/name/<item> query: its kind, name, package, version, and whether the project has the package.',
|
|
108
123
|
},
|
|
109
124
|
{
|
|
110
125
|
value: 'discover.search',
|
|
111
126
|
description:
|
|
112
|
-
'The echoed query plus
|
|
127
|
+
'The echoed query plus every matching item and package across all packages, each with its kind and whether the project has it, even when only one matches; total is set when --limit cut the list.',
|
|
113
128
|
},
|
|
114
129
|
|
|
115
130
|
// search
|
|
116
131
|
{
|
|
117
132
|
value: 'search',
|
|
118
133
|
description:
|
|
119
|
-
'The echoed query, `matchCount` (
|
|
134
|
+
'The echoed query, `matchCount` (total matches, before `limit`), and results, a ranked SearchResultEntry[] bounded by `limit`: each {domain, name, score, reason, description, command}, plus import (components, hooks), title, parent (the command that opens the level above), package (for a docs-tree hit), and, for a hit on one section, section (docs), or displayName and kind (templates).',
|
|
120
135
|
},
|
|
121
136
|
|
|
122
137
|
// build
|
|
123
138
|
{
|
|
124
139
|
value: 'build.help',
|
|
125
140
|
description:
|
|
126
|
-
'
|
|
141
|
+
'The how-to-build-a-page playbook, emitted when no query is given: `playbook: true`, a title, the ordered steps (title, commands, optional returns), the on-system rules, and related lookups. Commands are bare subcommands for the caller to render with its own invocation.',
|
|
127
142
|
},
|
|
128
143
|
{
|
|
129
144
|
value: 'build.kit',
|
|
130
145
|
description:
|
|
131
|
-
|
|
146
|
+
"The template to start from and its kit: query, hasResults, matchCount (never a cap), directMatch, start {name, command, basis, reason, alternatives, ...}, pages (search's closest templates), blocks and domain as SearchResultEntry[], frame, foundation, and hint {reason, commands} when thin.",
|
|
132
147
|
},
|
|
133
148
|
|
|
134
149
|
// swizzle
|
|
@@ -151,14 +166,14 @@ export const doc = {
|
|
|
151
166
|
{
|
|
152
167
|
value: 'gap-report.file',
|
|
153
168
|
description:
|
|
154
|
-
'An aggregate receipt
|
|
169
|
+
'An aggregate receipt: overall status, the selected package, issuesUrl (or null), deliveries in handler order, each {handlerType: project | integration | fallback, handler, audience, status, url, message}, and filedCount/routedOnlyCount totals.',
|
|
155
170
|
},
|
|
156
171
|
|
|
157
172
|
// template
|
|
158
173
|
{
|
|
159
174
|
value: 'template.list',
|
|
160
175
|
description:
|
|
161
|
-
'
|
|
176
|
+
'The effective discovered TemplateListEntry[] for pages and blocks. A winning replacement entry includes optional `replaces`, naming the Core id omitted from the default list.',
|
|
162
177
|
},
|
|
163
178
|
{
|
|
164
179
|
value: 'template.show',
|
|
@@ -198,7 +213,7 @@ export const doc = {
|
|
|
198
213
|
{
|
|
199
214
|
value: 'theme.build',
|
|
200
215
|
description:
|
|
201
|
-
'A theme build receipt: name,
|
|
216
|
+
'A theme build receipt: name, tokenCount and componentCount (override counts), sizeKB, the written outputs {css, js, dts, and variantsDts when applicable}, warnings (defects to fix), and notices (advisories about a correct theme, such as a named font it does not load).',
|
|
202
217
|
},
|
|
203
218
|
{
|
|
204
219
|
value: 'theme.build.check',
|
|
@@ -228,7 +243,7 @@ export const doc = {
|
|
|
228
243
|
{
|
|
229
244
|
value: 'theme.targets',
|
|
230
245
|
description:
|
|
231
|
-
'The whole themeable surface: the echoed filter,
|
|
246
|
+
'The whole themeable surface: the echoed filter, componentCount, and targets, one per theming target — {key, className, component, props, states, deprecatedFor?}, where props and states are its legal override keys and deprecatedFor names the canonical replacement key.',
|
|
232
247
|
},
|
|
233
248
|
{
|
|
234
249
|
value: 'theme.palette.generate',
|
|
@@ -257,7 +272,7 @@ export const doc = {
|
|
|
257
272
|
{
|
|
258
273
|
value: 'manifest',
|
|
259
274
|
description:
|
|
260
|
-
'The
|
|
275
|
+
'The CLI capability manifest: name, version, apiVersion, description, globalOptions, commands (each name, description, arguments, options, json, aliases?, responseTypes?, examples?, exitCodes? as [{code, when}], subcommands?), jsonSupported, and the flat responseTypes index.',
|
|
261
276
|
},
|
|
262
277
|
|
|
263
278
|
// doctor
|
|
@@ -276,7 +291,7 @@ export const doc = {
|
|
|
276
291
|
{
|
|
277
292
|
value: 'integration.pack-check',
|
|
278
293
|
description:
|
|
279
|
-
'The packed-package check:
|
|
294
|
+
'The packed-package check: name, version, packable, tarball {filename, fileCount, size, unpackedSize} or null, inventory {manifest, roots [{kind, path, expectedFiles, missingFiles, complete}], expectedFiles, packedFiles}, contributions {local, packed}, each null or {themes [{slug, exportName}], components, templates [{id, type, name}], codemods [{version, id}], docs, agentDocsAppend}, and issues [{code, severity, message}].',
|
|
280
295
|
},
|
|
281
296
|
{
|
|
282
297
|
value: 'integration.validate',
|
|
@@ -286,7 +301,7 @@ export const doc = {
|
|
|
286
301
|
{
|
|
287
302
|
value: 'integration.template-conflicts',
|
|
288
303
|
description:
|
|
289
|
-
'The integration identity, structural issues, and non-blocking
|
|
304
|
+
'The integration identity, structural issues, and non-blocking Core template-id conflicts as {id, severity: warning, integrationPackage, integrationType, integrationName, coreMatches, message, command}.',
|
|
290
305
|
},
|
|
291
306
|
{
|
|
292
307
|
value: 'integration.component-conflicts',
|
|
@@ -296,7 +311,7 @@ export const doc = {
|
|
|
296
311
|
{
|
|
297
312
|
value: 'integration.doc-conflicts',
|
|
298
313
|
description:
|
|
299
|
-
'The integration identity, structural issues, and Core doc overlaps
|
|
314
|
+
'The integration identity, structural issues, and Core doc overlaps. Each finding includes `severity` (`info` | `error`) and `relationship` (`replaces` | `extends` | `accidental`).',
|
|
300
315
|
},
|
|
301
316
|
|
|
302
317
|
// layout (XLE/XLO)
|