@astryxdesign/cli 0.6.3 → 0.6.4-canary.0e1fbdb
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/CHANGELOG.md +194 -0
- package/README.md +152 -107
- 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 +22 -10
- package/api/build/build.test.mjs +219 -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 +208 -53
- 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 +31 -12
- package/api/component/_adapter.mjs +79 -15
- package/api/component/component.d.mts +6 -3
- package/api/component/component.doc.mjs +49 -19
- package/api/component/component.mjs +339 -22
- package/api/component/component.test.mjs +38 -0
- package/api/component/component.type.d.mts +47 -11
- package/api/component/component.type.mjs +76 -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 +277 -41
- package/api/docs/_adapter.mjs +993 -108
- package/api/docs/compiled-topics.test.mjs +78 -0
- package/api/docs/detail/detail.mjs +22 -63
- package/api/docs/detail/section/section.d.mts +1 -1
- package/api/docs/detail/section/section.mjs +54 -19
- package/api/docs/detail/section/section.test.mjs +50 -0
- package/api/docs/docOverlays.test.mjs +27 -1
- package/api/docs/docs.d.mts +10 -3
- package/api/docs/docs.doc.mjs +55 -16
- package/api/docs/docs.mjs +53 -10
- package/api/docs/docs.type.d.mts +221 -5
- package/api/docs/docs.type.mjs +153 -11
- package/api/docs/index/index.d.mts +18 -0
- package/api/docs/index/index.mjs +40 -0
- package/api/docs/index/index.test.mjs +62 -0
- 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 +104 -1
- package/api/doctor/doctor.doc.mjs +18 -8
- package/api/doctor/doctor.mjs +635 -7
- package/api/doctor/doctor.test.mjs +732 -11
- package/api/doctor/doctor.type.d.mts +1 -1
- package/api/doctor/doctor.type.mjs +1 -1
- package/api/gap-report/gap-report.doc.mjs +27 -14
- package/api/hook/_adapter.mjs +19 -5
- package/api/hook/hook.doc.mjs +7 -3
- package/api/hook/hook.type.d.mts +3 -3
- package/api/hook/hook.type.mjs +11 -11
- package/api/hook/list/list.d.mts +2 -2
- package/api/hook/list/list.mjs +69 -17
- package/api/index.d.mts +2 -1
- package/api/index.mjs +6 -3
- package/api/init/init.doc.mjs +22 -12
- 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 +56 -65
- package/api/integration/add-theme.test.mjs +139 -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 +3 -1
- 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 +5 -4
- package/api/integration/integrationTemplateConflicts.doc.d.mts +3 -0
- package/api/integration/integrationTemplateConflicts.doc.mjs +4 -0
- package/api/integration/pack-check.lifecycle-output.test.mjs +107 -0
- package/api/integration/pack-check.mjs +160 -11
- package/api/integration/pack-check.test.mjs +477 -47
- package/api/integration/pack-check.type.d.mts +26 -2
- package/api/integration/pack-check.type.mjs +15 -2
- 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 +2 -1
- package/api/json/envelope-types.test.mjs +76 -0
- package/api/json/index.ts +2 -0
- package/api/json/isError.doc.mjs +2 -1
- 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 +89 -12
- package/api/search/search.doc.mjs +8 -2
- package/api/search/search.mjs +697 -97
- package/api/search/search.type.d.mts +15 -3
- package/api/search/search.type.mjs +5 -2
- package/api/swizzle/copy/copy.mjs +28 -11
- package/api/swizzle/swizzle.doc.mjs +8 -5
- package/api/swizzle/swizzle.type.d.mts +2 -2
- package/api/swizzle/swizzle.type.mjs +2 -2
- package/api/template/copy/copy.mjs +18 -24
- package/api/template/copy/copy.test.mjs +26 -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.d.mts +1 -1
- package/api/template/template.doc.mjs +32 -9
- package/api/template/template.mjs +45 -8
- package/api/template/template.type.d.mts +12 -14
- 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 +2 -2
- 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 +12 -12
- package/api/theme/themeBuild.doc.mjs +21 -17
- package/api/theme/themeList.doc.mjs +6 -3
- package/api/theme/themeListAvailable.doc.mjs +6 -3
- package/api/theme/themePaletteGenerate.doc.mjs +16 -8
- package/api/theme/themeTargets.doc.mjs +4 -2
- package/api/theme/themeTemplate.doc.mjs +8 -3
- package/api/upgrade/_adapter.d.mts +32 -5
- package/api/upgrade/_adapter.mjs +139 -22
- package/api/upgrade/list/list.mjs +2 -1
- package/api/upgrade/list/list.test.mjs +73 -0
- package/api/upgrade/project-context.test.mjs +272 -0
- package/api/upgrade/provider-agreement.test.mjs +152 -0
- package/api/upgrade/run/files-changed.test.mjs +111 -0
- package/api/upgrade/run/run.mjs +358 -59
- package/api/upgrade/status/status.mjs +2 -2
- package/api/upgrade/upgrade.doc.mjs +32 -23
- package/api/upgrade/upgrade.type.d.mts +43 -5
- package/api/upgrade/upgrade.type.mjs +29 -13
- package/assets/codemods/__tests__/registry.test.mjs +1 -0
- package/assets/codemods/__tests__/runner.test.mjs +332 -8
- package/assets/codemods/file-count.test.mjs +163 -0
- package/assets/codemods/integration-discovery.mjs +48 -4
- package/assets/codemods/integration-discovery.test.mjs +73 -0
- package/assets/codemods/integration-runner.mjs +59 -7
- package/assets/codemods/integration-runner.protection.test.mjs +153 -0
- package/assets/codemods/registry.mjs +1 -0
- package/assets/codemods/run-codemod.mjs +177 -34
- package/assets/codemods/runner.mjs +353 -104
- 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/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/codemods/transforms/v0.6.4/__tests__/migrate-native-picker-to-presentation.test.mjs +63 -0
- package/assets/codemods/transforms/v0.6.4/__tests__/migrate-theme-catalog-to-descriptors.test.mjs +220 -0
- package/assets/codemods/transforms/v0.6.4/index.mjs +31 -0
- package/assets/codemods/transforms/v0.6.4/migrate-native-picker-to-presentation.mjs +148 -0
- package/assets/codemods/transforms/v0.6.4/migrate-theme-catalog-to-descriptors.mjs +141 -0
- package/assets/docs/README.md +12 -1
- package/assets/docs/authoring.doc.mjs +14 -0
- package/assets/docs/browser-support.doc.mjs +11 -11
- package/assets/docs/color.doc.mjs +8 -2
- package/assets/docs/elevation.doc.mjs +6 -4
- package/assets/docs/getting-started.doc.mjs +6 -17
- package/assets/docs/icons.doc.mjs +2 -21
- package/assets/docs/illustrations.doc.mjs +7 -15
- package/assets/docs/internationalization.doc.mjs +7 -5
- package/assets/docs/layout.doc.dense.mjs +132 -84
- package/assets/docs/layout.doc.mjs +134 -78
- package/assets/docs/migration.doc.mjs +19 -21
- package/assets/docs/motion.doc.mjs +16 -3
- package/assets/docs/principles.doc.dense.mjs +5 -5
- package/assets/docs/principles.doc.mjs +14 -6
- package/assets/docs/principles.doc.zh.mjs +6 -6
- package/assets/docs/shape.doc.mjs +8 -3
- package/assets/docs/spacing.doc.mjs +7 -2
- package/assets/docs/styling-libraries.doc.mjs +10 -6
- package/assets/docs/styling.doc.mjs +22 -26
- package/assets/docs/theme.doc.dense.mjs +58 -18
- package/assets/docs/theme.doc.mjs +60 -50
- package/assets/docs/theme.doc.zh.mjs +9 -8
- package/assets/docs/tokens.doc.dense.mjs +2 -2
- package/assets/docs/tokens.doc.mjs +390 -9
- package/assets/docs/tokens.doc.zh.mjs +2 -2
- package/assets/docs/tree/add-a-component.doc.mjs +75 -0
- package/assets/docs/tree/add-a-theme.doc.mjs +85 -0
- package/assets/docs/tree/add-a-topic.doc.mjs +144 -0
- package/assets/docs/tree/agent-guidance.doc.mjs +138 -0
- package/assets/docs/tree/api.doc.mjs +30 -0
- package/assets/docs/tree/block-template.doc.mjs +130 -0
- package/assets/docs/tree/build-the-template.doc.mjs +28 -0
- package/assets/docs/tree/building-blocks.doc.mjs +46 -0
- package/assets/docs/tree/check-your-docs.doc.mjs +137 -0
- package/assets/docs/tree/checks.doc.mjs +119 -0
- package/assets/docs/tree/cli.doc.mjs +23 -0
- package/assets/docs/tree/codemods.doc.mjs +147 -0
- package/assets/docs/tree/commands.doc.mjs +25 -0
- package/assets/docs/tree/component-family.doc.mjs +113 -0
- package/assets/docs/tree/component-imports.doc.mjs +69 -0
- package/assets/docs/tree/component-lookups.doc.mjs +149 -0
- package/assets/docs/tree/components.doc.mjs +23 -0
- package/assets/docs/tree/configuration.doc.mjs +23 -0
- package/assets/docs/tree/debug-and-gap-reports.doc.mjs +182 -0
- package/assets/docs/tree/define-the-theme.doc.mjs +118 -0
- package/assets/docs/tree/describe-the-component.doc.mjs +57 -0
- package/assets/docs/tree/docs.doc.mjs +21 -0
- package/assets/docs/tree/document-the-template.doc.mjs +28 -0
- package/assets/docs/tree/document-the-theme.doc.mjs +68 -0
- package/assets/docs/tree/export-template-assets.doc.mjs +147 -0
- package/assets/docs/tree/extend-or-replace.doc.mjs +103 -0
- package/assets/docs/tree/fonts-and-assets.doc.mjs +106 -0
- package/assets/docs/tree/generate-a-palette.doc.mjs +66 -0
- package/assets/docs/tree/grade-template-with-agent.doc.mjs +105 -0
- package/assets/docs/tree/help.doc.mjs +16 -0
- package/assets/docs/tree/integrations.doc.mjs +40 -0
- package/assets/docs/tree/links.doc.mjs +98 -0
- package/assets/docs/tree/package-and-test.doc.mjs +32 -0
- package/assets/docs/tree/page-template.doc.mjs +71 -0
- package/assets/docs/tree/publishing.doc.mjs +111 -0
- package/assets/docs/tree/quick-start.doc.mjs +272 -0
- package/assets/docs/tree/replace-a-core-component.doc.mjs +104 -0
- package/assets/docs/tree/replace-a-core-template.doc.mjs +172 -0
- package/assets/docs/tree/sections-and-placement.doc.mjs +108 -0
- package/assets/docs/tree/see-it-in-an-app.doc.mjs +59 -0
- package/assets/docs/tree/ship.doc.mjs +16 -0
- package/assets/docs/tree/short-and-findable.doc.mjs +108 -0
- package/assets/docs/tree/single-component.doc.mjs +165 -0
- package/assets/docs/tree/start-a-template.doc.mjs +143 -0
- package/assets/docs/tree/subcomponent.doc.mjs +115 -0
- package/assets/docs/tree/template-assets.doc.mjs +64 -0
- package/assets/docs/tree/template-doc-overview.doc.mjs +109 -0
- package/assets/docs/tree/template-fonts.doc.mjs +102 -0
- package/assets/docs/tree/template-grading-rubric.doc.mjs +452 -0
- package/assets/docs/tree/template-icons.doc.mjs +97 -0
- package/assets/docs/tree/template-images-media.doc.mjs +127 -0
- package/assets/docs/tree/template-styles.doc.mjs +93 -0
- package/assets/docs/tree/templates.doc.mjs +34 -0
- package/assets/docs/tree/test-in-an-app.doc.mjs +115 -0
- package/assets/docs/tree/test-template-in-app.doc.mjs +128 -0
- package/assets/docs/tree/themes.doc.mjs +39 -0
- package/assets/docs/tree/troubleshooting.doc.mjs +149 -0
- package/assets/docs/tree/upgrading.doc.mjs +103 -0
- package/assets/docs/tree/use-a-theme-in-an-app.doc.mjs +51 -0
- package/assets/docs/tree/verify-packed-template.doc.mjs +77 -0
- package/assets/docs/tree/versioning.doc.mjs +161 -0
- package/assets/docs/tree/write-good-templates.doc.mjs +64 -0
- package/assets/docs/tree/write-the-template-file.doc.mjs +154 -0
- package/assets/docs/typography.doc.mjs +24 -4
- package/assets/docs/working-with-ai.doc.mjs +34 -26
- 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/blocks/components/Timer/TimerFormats.doc.mjs +14 -0
- package/assets/templates/blocks/components/Timer/TimerFormats.tsx +34 -0
- package/assets/templates/blocks/components/Timer/TimerInline.doc.mjs +14 -0
- package/assets/templates/blocks/components/Timer/TimerInline.tsx +14 -0
- package/assets/templates/blocks/components/Timer/TimerShowcase.doc.mjs +13 -0
- package/assets/templates/blocks/components/Timer/TimerShowcase.tsx +47 -0
- package/assets/templates/blocks/components/Timer/TimerTypography.doc.mjs +14 -0
- package/assets/templates/blocks/components/Timer/TimerTypography.tsx +31 -0
- package/assets/templates/blocks/components/Toolbar/ToolbarTableFilter.doc.mjs +19 -3
- package/assets/templates/blocks/components/Toolbar/ToolbarTableFilter.tsx +383 -65
- 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 +11 -3
- 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 +8 -8
- 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 +792 -24
- package/authoring/doctypes/_schema.mjs +549 -39
- package/authoring/doctypes/base/graph-fields.doc.d.mts +9 -0
- package/authoring/doctypes/base/graph-fields.doc.mjs +64 -0
- package/authoring/doctypes/base/type.ts +43 -0
- 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 +5 -4
- package/authoring/doctypes/component/component.doc.mjs +12 -3
- package/authoring/doctypes/component/parse.d.mts +2 -2
- package/authoring/doctypes/component/parse.mjs +1 -1
- package/authoring/doctypes/component/type.ts +14 -5
- 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 +4 -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 +9 -4
- 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 +5 -4
- package/authoring/doctypes/legacy.d.mts +8 -6
- package/authoring/doctypes/legacy.mjs +5 -4
- package/authoring/doctypes/load-contract.test.mjs +233 -0
- package/authoring/doctypes/namespace/namespace.doc.d.mts +9 -0
- package/authoring/doctypes/namespace/namespace.doc.mjs +128 -0
- package/authoring/doctypes/namespace/parse.d.mts +12 -0
- package/authoring/doctypes/namespace/parse.mjs +25 -0
- package/authoring/doctypes/namespace/parse.test.mjs +163 -0
- package/authoring/doctypes/namespace/type.ts +74 -0
- package/authoring/doctypes/parse.d.mts +22 -18
- package/authoring/doctypes/parse.mjs +22 -11
- package/authoring/doctypes/parse.test.mjs +77 -3
- package/authoring/doctypes/reference/parse.d.mts +2 -2
- package/authoring/doctypes/reference/parse.mjs +8 -5
- package/authoring/doctypes/reference/reference.doc.mjs +55 -6
- package/authoring/doctypes/reference/type.ts +75 -7
- package/authoring/doctypes/schema/parse.d.mts +2 -2
- package/authoring/doctypes/schema/parse.mjs +1 -1
- package/authoring/doctypes/schema/schema.doc.mjs +2 -2
- package/authoring/doctypes/schema/type.ts +4 -4
- package/authoring/doctypes/template/parse.d.mts +94 -1
- package/authoring/doctypes/template/parse.mjs +40 -2
- package/authoring/doctypes/template/parse.test.mjs +26 -2
- package/authoring/doctypes/template/template.doc.mjs +13 -3
- package/authoring/doctypes/template/type.ts +13 -2
- 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 -10
- 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 +10 -10
- package/authoring/gap-report/parse.mjs +6 -6
- package/authoring/gap-report/type.ts +1 -1
- package/authoring/identity/identity.doc.d.mts +9 -0
- package/authoring/identity/identity.doc.mjs +61 -0
- package/authoring/identity/type.ts +132 -0
- package/authoring/index.d.mts +3 -0
- package/authoring/index.d.ts +62 -17
- package/authoring/index.mjs +4 -1
- package/authoring/integration/integration.doc.mjs +22 -13
- package/authoring/integration/parse.d.mts +2 -2
- package/authoring/integration/parse.mjs +1 -1
- package/authoring/integration/parse.test.mjs +10 -1
- package/authoring/integration/schema.d.mts +6 -4
- package/authoring/integration/schema.mjs +9 -3
- package/authoring/integration/type.ts +19 -8
- package/authoring/shadcn/receipt.d.mts +6 -6
- 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 +153 -61
- package/clients/cli/commands/component-batch.test.mjs +341 -0
- package/clients/cli/commands/component-ownership.test.mjs +92 -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 +28 -10
- 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 +28 -6
- package/clients/cli/commands/docs.mjs +295 -38
- package/clients/cli/commands/doctor-integration-components.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +6 -5
- 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 +143 -8
- package/clients/cli/commands/doctor.doc.mjs +4 -2
- package/clients/cli/commands/doctor.mjs +108 -37
- package/clients/cli/commands/doctor.test.mjs +42 -0
- package/clients/cli/commands/gap-report.doc.mjs +27 -15
- 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 +24 -10
- 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 +39 -13
- package/clients/cli/commands/integration-authoring.test.mjs +74 -19
- package/clients/cli/commands/integration-pack.doc.mjs +6 -10
- package/clients/cli/commands/integration-real-world.test.mjs +4 -10
- package/clients/cli/commands/integration-verify.doc.mjs +22 -0
- package/clients/cli/commands/integration.doc.mjs +5 -5
- package/clients/cli/commands/integration.mjs +75 -43
- 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 +2 -2
- package/clients/cli/commands/no-prompt-wording.test.mjs +94 -0
- package/clients/cli/commands/search.doc.mjs +16 -6
- package/clients/cli/commands/search.mjs +49 -11
- package/clients/cli/commands/search.test.mjs +92 -0
- package/clients/cli/commands/setup-nudge.test.mjs +6 -0
- package/clients/cli/commands/swizzle.doc.mjs +4 -3
- package/clients/cli/commands/swizzle.path-safety.test.mjs +42 -0
- package/clients/cli/commands/template.doc.mjs +53 -14
- 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 +725 -0
- package/clients/cli/commands/theme-add.doc.mjs +5 -4
- 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 +12 -7
- package/clients/cli/commands/theme-palette-generate.test.mjs +19 -0
- package/clients/cli/commands/theme-palette.doc.mjs +2 -3
- package/clients/cli/commands/theme-targets.behavior.test.mjs +4 -3
- package/clients/cli/commands/theme-targets.doc.mjs +3 -3
- 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 +3 -2
- package/clients/cli/commands/upgrade.ascii-output.test.mjs +87 -0
- package/clients/cli/commands/upgrade.doc.mjs +83 -12
- 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 +164 -1
- package/clients/cli/formatters/index.test.mjs +97 -0
- package/clients/cli/index.mjs +47 -34
- 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 +56 -6
- package/clients/cli/lib/define-command.test.mjs +54 -0
- package/clients/cli/lib/doc-text-ascii.test.mjs +82 -0
- package/clients/cli/lib/exit-codes.test.mjs +113 -0
- package/clients/cli/lib/hook-format.mjs +19 -10
- package/clients/cli/lib/json-shim.mjs +62 -16
- 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 +53 -6
- package/clients/cli/lib/manifest.test.mjs +22 -2
- package/clients/cli/lib/parse-error-format.test.mjs +81 -0
- package/foundation/agent-docs/agent-docs.d.mts +7 -2
- package/foundation/agent-docs/agent-docs.mjs +83 -13
- package/foundation/agent-docs/agent-docs.path-safety.test.mjs +266 -4
- 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 +263 -91
- package/foundation/config/project.test.mjs +270 -21
- package/foundation/discovery/authoring-self-docs.d.mts +87 -0
- package/foundation/discovery/authoring-self-docs.mjs +237 -0
- package/foundation/discovery/authoring-self-docs.test.mjs +174 -0
- 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 +504 -0
- package/foundation/discovery/cli-self-docs.test.mjs +395 -0
- package/foundation/discovery/component-discovery.d.mts +39 -1
- package/foundation/discovery/component-discovery.mjs +50 -1
- package/foundation/discovery/component-loader.d.mts +35 -38
- package/foundation/discovery/component-loader.mjs +53 -222
- package/foundation/discovery/docs-discovery.d.mts +119 -11
- package/foundation/discovery/docs-discovery.mjs +427 -108
- package/foundation/discovery/docs-discovery.test.mjs +386 -20
- package/foundation/discovery/docs-output-budget.d.mts +28 -0
- package/foundation/discovery/docs-output-budget.mjs +50 -0
- package/foundation/discovery/docs-section-key.d.mts +116 -0
- package/foundation/discovery/docs-section-key.mjs +322 -0
- package/foundation/discovery/docs-section-key.test.mjs +246 -0
- 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 +774 -83
- 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 +1643 -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 +298 -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 +292 -0
- package/foundation/doc-compiler/tree.mjs +881 -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/identity/provider-identity.d.mts +90 -0
- package/foundation/identity/provider-identity.mjs +320 -0
- package/foundation/identity/provider-identity.test.mjs +254 -0
- package/foundation/identity/providers.d.mts +7 -0
- package/foundation/identity/providers.mjs +16 -0
- package/foundation/integrations/autolink.d.mts +58 -1
- package/foundation/integrations/autolink.mjs +143 -45
- package/foundation/integrations/autolink.test.mjs +1 -1
- package/foundation/integrations/cli-requirement.d.mts +65 -0
- package/foundation/integrations/cli-requirement.mjs +189 -0
- package/foundation/integrations/cli-requirement.test.mjs +89 -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 +28 -25
- package/foundation/integrations/contribution-inventory.test.mjs +86 -27
- package/foundation/integrations/integration-warnings.d.mts +9 -2
- package/foundation/integrations/integration-warnings.mjs +52 -21
- package/foundation/integrations/integration-warnings.test.mjs +74 -1
- package/foundation/integrations/integrations.d.mts +63 -3
- package/foundation/integrations/integrations.mjs +122 -9
- package/foundation/integrations/integrations.test.mjs +415 -1
- package/foundation/integrations/provider-conflicts.test.mjs +125 -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.d.mts +2 -0
- package/foundation/integrations/validate-contributions.mjs +131 -29
- package/foundation/response/base.d.ts +8 -4
- package/foundation/response/batch.type.d.mts +33 -0
- package/foundation/response/batch.type.mjs +34 -0
- 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 +19 -12
- package/foundation/response/error-codes.mjs +8 -2
- package/foundation/response/error-codes.test.mjs +166 -14
- package/foundation/response/json-contract.test.mjs +57 -17
- package/foundation/response/json.d.mts +4 -2
- package/foundation/response/json.mjs +8 -10
- package/foundation/response/response-types.doc.d.mts +7 -2
- package/foundation/response/response-types.doc.mjs +69 -25
- package/foundation/response/response-types.doc.test.mjs +181 -0
- package/foundation/response/response.doc.mjs +12 -11
- 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/api/docs/docs.test.mjs +0 -83
- package/api/docs/integrationDocs.test.mjs +0 -208
- package/api/search/search.test.mjs +0 -389
- package/assets/docs/cli-integrations.doc.mjs +0 -367
- package/assets/templates/themes/manifest.json +0 -95
- package/clients/cli/commands/docs.test.mjs +0 -102
- 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
- package/foundation/agent-docs/agent-docs.test.mjs +0 -1141
|
@@ -23,7 +23,7 @@ export type DoctorCheck = {
|
|
|
23
23
|
*/
|
|
24
24
|
message: string;
|
|
25
25
|
/**
|
|
26
|
-
* - Actionable remediation
|
|
26
|
+
* - Actionable remediation: always present on 'warn' and 'fail'; some 'info' checks carry one too.
|
|
27
27
|
*/
|
|
28
28
|
fix?: string | undefined;
|
|
29
29
|
};
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* @property {string} label - Human-readable check name.
|
|
20
20
|
* @property {DoctorStatus} status
|
|
21
21
|
* @property {string} message - One-line result summary.
|
|
22
|
-
* @property {string} [fix] - Actionable remediation
|
|
22
|
+
* @property {string} [fix] - Actionable remediation: always present on 'warn' and 'fail'; some 'info' checks carry one too.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -10,13 +10,18 @@ export const doc = {
|
|
|
10
10
|
type: 'function',
|
|
11
11
|
kind: 'api',
|
|
12
12
|
name: 'gapReport',
|
|
13
|
+
namespace: 'cli/api',
|
|
13
14
|
displayName: 'gapReport()',
|
|
14
|
-
summary:
|
|
15
|
+
summary:
|
|
16
|
+
'Report a missing or hard-to-use design-system capability to the package that owns it.',
|
|
15
17
|
description:
|
|
16
|
-
'
|
|
18
|
+
'Sends a gap report to every configured handler: the project config handler first, then each integration handler in config order. ' +
|
|
19
|
+
'Each handler has 30 s to finish, and its output goes to stderr. Public handlers run only with confirmPublic; internal handlers always run. ' +
|
|
20
|
+
"With no handler, it files a GitHub issue for the owning package only with confirmPublic (without it nothing is sent), or returns the package's issues URL when that is not on GitHub. " +
|
|
21
|
+
'The report records whether an agent or a person ran it, and the response lists each handler outcome in order.',
|
|
17
22
|
importPath: '@astryxdesign/cli/api',
|
|
18
23
|
signature:
|
|
19
|
-
'gapReport(component
|
|
24
|
+
'gapReport(component: string | undefined, options?: GapReportOptions): Promise<GapReportCategoriesResponse | GapReportReceiptResponse>',
|
|
20
25
|
keywords: [
|
|
21
26
|
'gap',
|
|
22
27
|
'report',
|
|
@@ -32,17 +37,19 @@ export const doc = {
|
|
|
32
37
|
name: 'component',
|
|
33
38
|
type: 'string',
|
|
34
39
|
description:
|
|
35
|
-
'Component or general design-system area. Required unless listCategories is true.',
|
|
40
|
+
'Component or general design-system area, up to 120 characters. Required unless listCategories is true.',
|
|
36
41
|
},
|
|
37
42
|
{
|
|
38
43
|
name: 'options.category',
|
|
39
44
|
type: 'GapReportCategory',
|
|
40
|
-
description:
|
|
45
|
+
description:
|
|
46
|
+
'Fixed category from the reported category vocabulary. Required unless listCategories is true.',
|
|
41
47
|
},
|
|
42
48
|
{
|
|
43
49
|
name: 'options.reason',
|
|
44
50
|
type: 'string',
|
|
45
|
-
description:
|
|
51
|
+
description:
|
|
52
|
+
'What capability was missing or difficult, up to 2000 characters. Required unless listCategories is true.',
|
|
46
53
|
},
|
|
47
54
|
{
|
|
48
55
|
name: 'options.detail',
|
|
@@ -53,19 +60,20 @@ export const doc = {
|
|
|
53
60
|
name: 'options.package',
|
|
54
61
|
type: 'string',
|
|
55
62
|
description:
|
|
56
|
-
'
|
|
63
|
+
'Package that owns the gap: @astryxdesign/core, or a loaded integration by package name or config entry. Overrides automatic owner routing; required when more than one package provides the component.',
|
|
57
64
|
},
|
|
58
65
|
{
|
|
59
66
|
name: 'options.confirmPublic',
|
|
60
67
|
type: 'boolean',
|
|
61
68
|
description:
|
|
62
|
-
'
|
|
69
|
+
'Allow public delivery: public handlers run, and with no handler a GitHub issue is filed through the gh CLI.',
|
|
63
70
|
default: 'false',
|
|
64
71
|
},
|
|
65
72
|
{
|
|
66
73
|
name: 'options.listCategories',
|
|
67
74
|
type: 'boolean',
|
|
68
|
-
description:
|
|
75
|
+
description:
|
|
76
|
+
'Return categories without resolving a route or writing; the component and every other option are ignored.',
|
|
69
77
|
default: 'false',
|
|
70
78
|
},
|
|
71
79
|
{
|
|
@@ -73,6 +81,7 @@ export const doc = {
|
|
|
73
81
|
type: 'string',
|
|
74
82
|
description:
|
|
75
83
|
'Directory used to load project config and component ownership.',
|
|
84
|
+
default: 'process.cwd()',
|
|
76
85
|
},
|
|
77
86
|
],
|
|
78
87
|
returns: [
|
|
@@ -83,17 +92,21 @@ export const doc = {
|
|
|
83
92
|
{
|
|
84
93
|
type: 'gap-report.file',
|
|
85
94
|
description:
|
|
86
|
-
'
|
|
95
|
+
'Receipt: status (filed, partial, failed, routed_only, consent_required, skipped), package, issuesUrl, ordered deliveries (handlerType, handler, audience, status, url, message), filedCount, and routedOnlyCount.',
|
|
87
96
|
},
|
|
88
97
|
],
|
|
89
98
|
throws: [
|
|
99
|
+
{
|
|
100
|
+
code: 'ERR_MISSING_ARGUMENT',
|
|
101
|
+
when: 'component, category, or reason is missing, blank, or not a string (unless listCategories is true)',
|
|
102
|
+
},
|
|
90
103
|
{
|
|
91
104
|
code: 'ERR_UNKNOWN_CATEGORY',
|
|
92
105
|
when: 'category is not one of the fixed gap-report values',
|
|
93
106
|
},
|
|
94
107
|
{
|
|
95
108
|
code: 'ERR_INVALID_ARGUMENT',
|
|
96
|
-
when: 'a
|
|
109
|
+
when: 'component is over 120 characters, category is over 80, reason is over 2000, or detail is not a string or is over 8000 characters',
|
|
97
110
|
},
|
|
98
111
|
{
|
|
99
112
|
code: 'ERR_AMBIGUOUS_COMPONENT',
|
|
@@ -105,7 +118,7 @@ export const doc = {
|
|
|
105
118
|
},
|
|
106
119
|
{
|
|
107
120
|
code: 'ERR_NOT_FOUND',
|
|
108
|
-
when: 'no handler and no issues URL
|
|
121
|
+
when: 'no report handler is configured and the owning package has no issues URL',
|
|
109
122
|
},
|
|
110
123
|
],
|
|
111
124
|
examples: [
|
|
@@ -118,8 +131,8 @@ export const doc = {
|
|
|
118
131
|
code: "const receipt = await gapReport('Button', {category: 'missing_variant', reason: 'Need a compact size'});",
|
|
119
132
|
},
|
|
120
133
|
{
|
|
121
|
-
label: '
|
|
122
|
-
code: "await gapReport('Button', {category: 'docs_gap', reason: 'Missing keyboard example',
|
|
134
|
+
label: 'Name the owning package',
|
|
135
|
+
code: "const receipt = await gapReport('Button', {category: 'docs_gap', reason: 'Missing keyboard example', package: '@astryxdesign/core'});",
|
|
123
136
|
},
|
|
124
137
|
],
|
|
125
138
|
command: 'gap-report',
|
package/api/hook/_adapter.mjs
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import {findCoreDir} from '../../foundation/fs/paths.mjs';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
findHookDoc,
|
|
20
|
+
getAllHookNames,
|
|
21
|
+
} from '../../foundation/discovery/hook-discovery.mjs';
|
|
19
22
|
import {loadDocs} from '../../foundation/discovery/component-loader.mjs';
|
|
20
23
|
import {levenshteinDistance} from '../../foundation/text/string-utils.mjs';
|
|
21
24
|
import {AstryxError} from '../error.mjs';
|
|
@@ -30,7 +33,11 @@ import {ERROR_CODES} from '../../foundation/response/error-codes.mjs';
|
|
|
30
33
|
export function resolveCoreDir(cwd) {
|
|
31
34
|
const coreDir = findCoreDir(cwd);
|
|
32
35
|
if (!coreDir) {
|
|
33
|
-
throw new AstryxError(
|
|
36
|
+
throw new AstryxError(
|
|
37
|
+
'Could not find @astryxdesign/core package',
|
|
38
|
+
undefined,
|
|
39
|
+
ERROR_CODES.ERR_CORE_NOT_FOUND,
|
|
40
|
+
);
|
|
34
41
|
}
|
|
35
42
|
return coreDir;
|
|
36
43
|
}
|
|
@@ -44,7 +51,11 @@ export function resolveCoreDir(cwd) {
|
|
|
44
51
|
* @param {{zh?: boolean, lang?: string|null}} [opts]
|
|
45
52
|
* @returns {Promise<import('./hook.type.mjs').HookDoc>}
|
|
46
53
|
*/
|
|
47
|
-
export async function resolveHookDoc(
|
|
54
|
+
export async function resolveHookDoc(
|
|
55
|
+
coreDir,
|
|
56
|
+
name,
|
|
57
|
+
{zh = false, lang = null} = {},
|
|
58
|
+
) {
|
|
48
59
|
const docPath = findHookDoc(coreDir, name);
|
|
49
60
|
|
|
50
61
|
if (!docPath) {
|
|
@@ -59,7 +70,10 @@ export async function resolveHookDoc(coreDir, name, {zh = false, lang = null} =
|
|
|
59
70
|
.filter(m => m.distance <= 5)
|
|
60
71
|
.sort((a, b) => a.distance - b.distance)
|
|
61
72
|
.slice(0, 5)
|
|
62
|
-
.map(m => ({
|
|
73
|
+
.map(m => ({
|
|
74
|
+
name: m.name,
|
|
75
|
+
reason: `similar name (distance ${m.distance})`,
|
|
76
|
+
}));
|
|
63
77
|
|
|
64
78
|
throw new AstryxError(
|
|
65
79
|
`No hook named "${name}"`,
|
|
@@ -68,5 +82,5 @@ export async function resolveHookDoc(coreDir, name, {zh = false, lang = null} =
|
|
|
68
82
|
);
|
|
69
83
|
}
|
|
70
84
|
|
|
71
|
-
return loadDocs(docPath,
|
|
85
|
+
return loadDocs(docPath, {zh, lang, root: 'hooks'});
|
|
72
86
|
}
|
package/api/hook/hook.doc.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export const doc = {
|
|
|
11
11
|
type: 'function',
|
|
12
12
|
kind: 'api',
|
|
13
13
|
name: 'hook',
|
|
14
|
+
namespace: 'cli/api',
|
|
14
15
|
displayName: 'hook()',
|
|
15
16
|
summary:
|
|
16
17
|
'Resolve a hook by name, or list the catalog, with an optional params-only slice.',
|
|
@@ -33,6 +34,7 @@ export const doc = {
|
|
|
33
34
|
name: 'options.cwd',
|
|
34
35
|
type: 'string',
|
|
35
36
|
description: 'Directory to resolve @astryxdesign/core from.',
|
|
37
|
+
default: 'process.cwd()',
|
|
36
38
|
},
|
|
37
39
|
{
|
|
38
40
|
name: 'options.list',
|
|
@@ -42,7 +44,8 @@ export const doc = {
|
|
|
42
44
|
{
|
|
43
45
|
name: 'options.category',
|
|
44
46
|
type: 'string',
|
|
45
|
-
description:
|
|
47
|
+
description:
|
|
48
|
+
"List only the hooks in this category, a key of the unfiltered list such as 'Media' or 'Focus'.",
|
|
46
49
|
},
|
|
47
50
|
{
|
|
48
51
|
name: 'options.params',
|
|
@@ -53,7 +56,8 @@ export const doc = {
|
|
|
53
56
|
name: 'options.detail',
|
|
54
57
|
type: "'full' | 'compact' | 'brief'",
|
|
55
58
|
description: 'Detail level for list views.',
|
|
56
|
-
default:
|
|
59
|
+
default:
|
|
60
|
+
"'full' for a named hook; 'brief' for lists (returned as data.detail: 'names')",
|
|
57
61
|
},
|
|
58
62
|
{
|
|
59
63
|
name: 'options.lang',
|
|
@@ -103,7 +107,7 @@ export const doc = {
|
|
|
103
107
|
},
|
|
104
108
|
{
|
|
105
109
|
label: 'Browse a category',
|
|
106
|
-
code: "await hook(undefined, {category: '
|
|
110
|
+
code: "await hook(undefined, {category: 'Media', detail: 'compact'});",
|
|
107
111
|
},
|
|
108
112
|
],
|
|
109
113
|
command: 'hook',
|
package/api/hook/hook.type.d.mts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export type HookDoc = import("@astryxdesign/cli/authoring").HookDoc;
|
|
5
5
|
export type HookParamDoc = import("@astryxdesign/cli/authoring").HookParamDoc;
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* astryx --json hook [--list] [--category X] [--detail names|compact|full]
|
|
8
8
|
*
|
|
9
9
|
* The list view emits ONE `hook.list` type across all three detail levels; the
|
|
10
10
|
* depth is carried in `data.detail` and `data.components` holds the grouped map
|
|
@@ -39,14 +39,14 @@ export type HookBriefEntry = {
|
|
|
39
39
|
import: string;
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* astryx --json hook <name>
|
|
43
43
|
*/
|
|
44
44
|
export type HookDetailResponse = {
|
|
45
45
|
type: "hook.detail";
|
|
46
46
|
data: HookDoc;
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* astryx --json hook <name> --params
|
|
50
50
|
*/
|
|
51
51
|
export type HookDetailParamsResponse = {
|
|
52
52
|
type: "hook.detail.params";
|
package/api/hook/hook.type.mjs
CHANGED
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Invocation -> type discriminator
|
|
13
13
|
* ------------------------------------------------------------------
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* (not found)
|
|
14
|
+
* astryx --json hook -> hook.list (data.detail='names')
|
|
15
|
+
* astryx --json hook --list -> hook.list (data.detail='names')
|
|
16
|
+
* astryx --json hook --category State -> hook.list (filtered)
|
|
17
|
+
* astryx --json hook --list --detail compact -> hook.list (data.detail='compact')
|
|
18
|
+
* astryx --json hook --list --detail full -> hook.list (data.detail='full')
|
|
19
|
+
* astryx --json hook useMediaQuery -> hook.detail
|
|
20
|
+
* astryx --json hook useMediaQuery --params -> hook.detail.params
|
|
21
|
+
* (not found) -> CLIError
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
// Re-export the authored-doc types from core so the hook leaves reference these
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
/** @typedef {import('@astryxdesign/cli/authoring').HookParamDoc} HookParamDoc */
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* astryx --json hook [--list] [--category X] [--detail names|compact|full]
|
|
32
32
|
*
|
|
33
33
|
* The list view emits ONE `hook.list` type across all three detail levels; the
|
|
34
34
|
* depth is carried in `data.detail` and `data.components` holds the grouped map
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
*/
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
*
|
|
59
|
+
* astryx --json hook <name>
|
|
60
60
|
* @typedef {object} HookDetailResponse
|
|
61
61
|
* @property {'hook.detail'} type
|
|
62
62
|
* @property {HookDoc} data
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* astryx --json hook <name> --params
|
|
67
67
|
* @typedef {object} HookDetailParamsResponse
|
|
68
68
|
* @property {'hook.detail.params'} type
|
|
69
69
|
* @property {HookParamDoc[]} data
|
package/api/hook/list/list.d.mts
CHANGED
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
* @param {string|null} [options.lang]
|
|
11
11
|
* @returns {Promise<import('../hook.type.mjs').HookListResponse>}
|
|
12
12
|
*/
|
|
13
|
-
export function list({ cwd, category, detail, zh, lang }?: {
|
|
13
|
+
export function list({ cwd, category, detail, zh, lang, }?: {
|
|
14
14
|
cwd?: string | undefined;
|
|
15
15
|
category?: string | undefined;
|
|
16
|
-
detail?: "
|
|
16
|
+
detail?: "compact" | "full" | "names" | "brief" | undefined;
|
|
17
17
|
zh?: boolean | undefined;
|
|
18
18
|
lang?: string | null | undefined;
|
|
19
19
|
}): Promise<import("../hook.type.mjs").HookListResponse>;
|
package/api/hook/list/list.mjs
CHANGED
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
* @position api/hook/list/list.mjs — dispatched from ../hook.mjs
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
discoverHooks,
|
|
18
|
+
findHookDoc,
|
|
19
|
+
} from '../../../foundation/discovery/hook-discovery.mjs';
|
|
17
20
|
import {loadDocs} from '../../../foundation/discovery/component-loader.mjs';
|
|
18
21
|
import {AstryxError} from '../../error.mjs';
|
|
19
22
|
import {ERROR_CODES} from '../../../foundation/response/error-codes.mjs';
|
|
@@ -28,7 +31,13 @@ import {resolveCoreDir} from '../_adapter.mjs';
|
|
|
28
31
|
* @param {string|null} [options.lang]
|
|
29
32
|
* @returns {Promise<import('../hook.type.mjs').HookListResponse>}
|
|
30
33
|
*/
|
|
31
|
-
export async function list({
|
|
34
|
+
export async function list({
|
|
35
|
+
cwd = process.cwd(),
|
|
36
|
+
category,
|
|
37
|
+
detail = 'names',
|
|
38
|
+
zh = false,
|
|
39
|
+
lang = null,
|
|
40
|
+
} = {}) {
|
|
32
41
|
const coreDir = resolveCoreDir(cwd);
|
|
33
42
|
const hooks = discoverHooks(coreDir);
|
|
34
43
|
|
|
@@ -51,20 +60,31 @@ export async function list({cwd = process.cwd(), category, detail = 'names', zh
|
|
|
51
60
|
const docPath = findHookDoc(coreDir, hookName);
|
|
52
61
|
if (docPath) {
|
|
53
62
|
try {
|
|
54
|
-
const docs = await loadDocs(docPath,
|
|
63
|
+
const docs = await loadDocs(docPath, {zh, lang, root: 'hooks'});
|
|
55
64
|
entries.push({
|
|
56
65
|
name: hookName,
|
|
57
66
|
description: docs.usage?.description || '',
|
|
58
67
|
import: docs.importPath || '@astryxdesign/core/hooks',
|
|
59
68
|
});
|
|
60
69
|
} catch {
|
|
61
|
-
entries.push({
|
|
70
|
+
entries.push({
|
|
71
|
+
name: hookName,
|
|
72
|
+
description: '',
|
|
73
|
+
import: '@astryxdesign/core/hooks',
|
|
74
|
+
});
|
|
62
75
|
}
|
|
63
76
|
} else {
|
|
64
|
-
entries.push({
|
|
77
|
+
entries.push({
|
|
78
|
+
name: hookName,
|
|
79
|
+
description: '',
|
|
80
|
+
import: '@astryxdesign/core/hooks',
|
|
81
|
+
});
|
|
65
82
|
}
|
|
66
83
|
}
|
|
67
|
-
return {
|
|
84
|
+
return {
|
|
85
|
+
type: 'hook.list',
|
|
86
|
+
data: {detail: 'compact', components: {[match[0]]: entries}},
|
|
87
|
+
};
|
|
68
88
|
}
|
|
69
89
|
|
|
70
90
|
if (detail === 'full') {
|
|
@@ -74,19 +94,33 @@ export async function list({cwd = process.cwd(), category, detail = 'names', zh
|
|
|
74
94
|
const docPath = findHookDoc(coreDir, hookName);
|
|
75
95
|
if (docPath) {
|
|
76
96
|
try {
|
|
77
|
-
entries.push(await loadDocs(docPath,
|
|
97
|
+
entries.push(await loadDocs(docPath, {zh, lang, root: 'hooks'}));
|
|
78
98
|
} catch {
|
|
79
|
-
entries.push(
|
|
99
|
+
entries.push(
|
|
100
|
+
/** @type {import('../hook.type.mjs').HookDoc} */ ({
|
|
101
|
+
name: hookName,
|
|
102
|
+
}),
|
|
103
|
+
);
|
|
80
104
|
}
|
|
81
105
|
} else {
|
|
82
|
-
entries.push(
|
|
106
|
+
entries.push(
|
|
107
|
+
/** @type {import('../hook.type.mjs').HookDoc} */ ({
|
|
108
|
+
name: hookName,
|
|
109
|
+
}),
|
|
110
|
+
);
|
|
83
111
|
}
|
|
84
112
|
}
|
|
85
|
-
return {
|
|
113
|
+
return {
|
|
114
|
+
type: 'hook.list',
|
|
115
|
+
data: {detail: 'full', components: {[match[0]]: entries}},
|
|
116
|
+
};
|
|
86
117
|
}
|
|
87
118
|
|
|
88
119
|
// Default: names only
|
|
89
|
-
return {
|
|
120
|
+
return {
|
|
121
|
+
type: 'hook.list',
|
|
122
|
+
data: {detail: 'names', components: {[match[0]]: match[1]}},
|
|
123
|
+
};
|
|
90
124
|
}
|
|
91
125
|
|
|
92
126
|
// All hooks
|
|
@@ -99,17 +133,25 @@ export async function list({cwd = process.cwd(), category, detail = 'names', zh
|
|
|
99
133
|
const docPath = findHookDoc(coreDir, hookName);
|
|
100
134
|
if (docPath) {
|
|
101
135
|
try {
|
|
102
|
-
const docs = await loadDocs(docPath,
|
|
136
|
+
const docs = await loadDocs(docPath, {zh, lang, root: 'hooks'});
|
|
103
137
|
result[cat].push({
|
|
104
138
|
name: hookName,
|
|
105
139
|
description: docs.usage?.description || '',
|
|
106
140
|
import: docs.importPath || '@astryxdesign/core/hooks',
|
|
107
141
|
});
|
|
108
142
|
} catch {
|
|
109
|
-
result[cat].push({
|
|
143
|
+
result[cat].push({
|
|
144
|
+
name: hookName,
|
|
145
|
+
description: '',
|
|
146
|
+
import: '@astryxdesign/core/hooks',
|
|
147
|
+
});
|
|
110
148
|
}
|
|
111
149
|
} else {
|
|
112
|
-
result[cat].push({
|
|
150
|
+
result[cat].push({
|
|
151
|
+
name: hookName,
|
|
152
|
+
description: '',
|
|
153
|
+
import: '@astryxdesign/core/hooks',
|
|
154
|
+
});
|
|
113
155
|
}
|
|
114
156
|
}
|
|
115
157
|
}
|
|
@@ -125,12 +167,22 @@ export async function list({cwd = process.cwd(), category, detail = 'names', zh
|
|
|
125
167
|
const docPath = findHookDoc(coreDir, hookName);
|
|
126
168
|
if (docPath) {
|
|
127
169
|
try {
|
|
128
|
-
result[cat].push(
|
|
170
|
+
result[cat].push(
|
|
171
|
+
await loadDocs(docPath, {zh, lang, root: 'hooks'}),
|
|
172
|
+
);
|
|
129
173
|
} catch {
|
|
130
|
-
result[cat].push(
|
|
174
|
+
result[cat].push(
|
|
175
|
+
/** @type {import('../hook.type.mjs').HookDoc} */ ({
|
|
176
|
+
name: hookName,
|
|
177
|
+
}),
|
|
178
|
+
);
|
|
131
179
|
}
|
|
132
180
|
} else {
|
|
133
|
-
result[cat].push(
|
|
181
|
+
result[cat].push(
|
|
182
|
+
/** @type {import('../hook.type.mjs').HookDoc} */ ({
|
|
183
|
+
name: hookName,
|
|
184
|
+
}),
|
|
185
|
+
);
|
|
134
186
|
}
|
|
135
187
|
}
|
|
136
188
|
}
|
package/api/index.d.mts
CHANGED
|
@@ -18,6 +18,7 @@ export { integrationAddTheme } from "./integration/add-theme.mjs";
|
|
|
18
18
|
export { integrationPackCheck } from "./integration/pack-check.mjs";
|
|
19
19
|
export { AstryxError } from "./error.mjs";
|
|
20
20
|
export { logger } from "./logger.mjs";
|
|
21
|
+
export * from "../foundation/response/batch.type.mjs";
|
|
21
22
|
export * from "./component/component.type.mjs";
|
|
22
23
|
export * from "./docs/docs.type.mjs";
|
|
23
24
|
export * from "./blog/blog.type.mjs";
|
|
@@ -38,7 +39,7 @@ export * from "./integration/pack-check.type.mjs";
|
|
|
38
39
|
export * from "./integration/validate-integration.type.mjs";
|
|
39
40
|
export * from "./integration/authoring-checks.type.mjs";
|
|
40
41
|
export type Logger = import("./logger.mjs").Logger;
|
|
41
|
-
export { themeBuild, themeAdd, themeList, themeListAvailable, themeTargets, themePaletteGenerate, generateTonalPalette, listThemes } from "./theme/theme.mjs";
|
|
42
|
+
export { themeBuild, themeAdd, themeTemplate, themeList, themeListAvailable, themeTargets, themePaletteGenerate, generateTonalPalette, listThemes } from "./theme/theme.mjs";
|
|
42
43
|
export { layoutExpand, layoutCheck, layoutGrammar } from "./layout/layout.mjs";
|
|
43
44
|
export { integrationAdd, integrationAddAgentDoc, integrationAddCodemod, integrationAddComponent, integrationAddDoc, integrationAddTemplate } from "./integration/add-contribution.mjs";
|
|
44
45
|
export { validateIntegration, summarizeIssues } from "./integration/validate-integration.mjs";
|
package/api/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* @file Programmatic API for the Astryx CLI.
|
|
5
5
|
*
|
|
6
|
-
* Every function returns the same { type, data } envelope that `
|
|
6
|
+
* Every function returns the same { type, data } envelope that `astryx --json` outputs.
|
|
7
7
|
* Errors throw AstryxError (with optional .suggestions).
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
@@ -28,6 +28,7 @@ export {template} from './template/template.mjs';
|
|
|
28
28
|
export {
|
|
29
29
|
themeBuild,
|
|
30
30
|
themeAdd,
|
|
31
|
+
themeTemplate,
|
|
31
32
|
themeList,
|
|
32
33
|
themeListAvailable,
|
|
33
34
|
themeTargets,
|
|
@@ -72,10 +73,12 @@ export {logger} from './logger.mjs';
|
|
|
72
73
|
* @typedef {import('./logger.mjs').Logger} Logger
|
|
73
74
|
*/
|
|
74
75
|
|
|
75
|
-
// ── Types (re-exported from each command's
|
|
76
|
+
// ── Types (re-exported from the shared response foundation and each command's
|
|
77
|
+
// colocated `.type.mjs`) ──────────────────────────────────────────────────
|
|
76
78
|
// Runtime no-ops (the .type.mjs files are `export {}`); tsc carries these
|
|
77
79
|
// through to the generated api/index.d.mts so the public type surface exposes
|
|
78
|
-
// every command's Options + response types
|
|
80
|
+
// the shared receipt vocabulary and every command's Options + response types.
|
|
81
|
+
export * from '../foundation/response/batch.type.mjs';
|
|
79
82
|
export * from './component/component.type.mjs';
|
|
80
83
|
export * from './docs/docs.type.mjs';
|
|
81
84
|
export * from './blog/blog.type.mjs';
|
package/api/init/init.doc.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export const doc = {
|
|
|
11
11
|
type: 'function',
|
|
12
12
|
kind: 'api',
|
|
13
13
|
name: 'init',
|
|
14
|
+
namespace: 'cli/api',
|
|
14
15
|
displayName: 'init()',
|
|
15
16
|
summary:
|
|
16
17
|
'Non-interactive project setup: install agent docs and point at the theme + build workflows.',
|
|
@@ -18,10 +19,9 @@ export const doc = {
|
|
|
18
19
|
'Sets a project up with NO prompts, so it behaves identically for humans, ' +
|
|
19
20
|
'agents, CI, and piped I/O. By default it installs the AGENTS.md/CLAUDE.md ' +
|
|
20
21
|
'agent-docs cheat sheet, including guidance from configured integrations, and ' +
|
|
21
|
-
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'instead of installing.',
|
|
22
|
+
"prints getting-started guidance; `features` / `all` print only the chosen features' " +
|
|
23
|
+
'guidance instead (the theme feature also writes the annotated theme template). ' +
|
|
24
|
+
'With `removeAgents` it removes the managed agent-docs block instead of installing.',
|
|
25
25
|
importPath: '@astryxdesign/cli/api',
|
|
26
26
|
signature:
|
|
27
27
|
'init(options?: InitOptions, ctx?: {cwd?: string}): Promise<InitRunResponse | InitRemoveResponse>',
|
|
@@ -31,7 +31,7 @@ export const doc = {
|
|
|
31
31
|
name: 'options.features',
|
|
32
32
|
type: 'string',
|
|
33
33
|
description:
|
|
34
|
-
'Comma-separated features to install: agents (agent docs), theme (writes the annotated theme.template.ts), template (page-
|
|
34
|
+
'Comma-separated features to install: agents (agent docs), theme (writes the annotated theme.template.ts), template (the page-building commands; writes a page only with templateName).',
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
name: 'options.all',
|
|
@@ -46,7 +46,8 @@ export const doc = {
|
|
|
46
46
|
{
|
|
47
47
|
name: 'options.agent',
|
|
48
48
|
type: 'string',
|
|
49
|
-
description:
|
|
49
|
+
description:
|
|
50
|
+
'Agent preset: claude, cursor, codex, hermes, muse, all. Used only when the agents feature runs.',
|
|
50
51
|
},
|
|
51
52
|
{
|
|
52
53
|
name: 'options.agentDocsPath',
|
|
@@ -57,9 +58,14 @@ export const doc = {
|
|
|
57
58
|
name: 'options.templateName',
|
|
58
59
|
type: 'string',
|
|
59
60
|
description:
|
|
60
|
-
'Scaffold
|
|
61
|
+
'Scaffold this page template to src/pages/<name>/page.tsx. Used only when the template feature runs (features includes template, or all); otherwise ignored. Programmatic only; the CLI never sets it.',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'ctx.cwd',
|
|
65
|
+
type: 'string',
|
|
66
|
+
description: 'Directory to set up.',
|
|
67
|
+
default: 'process.cwd()',
|
|
61
68
|
},
|
|
62
|
-
{name: 'ctx.cwd', type: 'string', description: 'Directory to set up.'},
|
|
63
69
|
],
|
|
64
70
|
returns: [
|
|
65
71
|
{
|
|
@@ -70,13 +76,13 @@ export const doc = {
|
|
|
70
76
|
{
|
|
71
77
|
type: 'init.remove',
|
|
72
78
|
description:
|
|
73
|
-
'
|
|
79
|
+
'Returned when `removeAgents` is set. `data.removed` is always true, even when no managed block was found.',
|
|
74
80
|
},
|
|
75
81
|
],
|
|
76
82
|
throws: [
|
|
77
83
|
{
|
|
78
84
|
code: 'ERR_UNKNOWN_AGENT',
|
|
79
|
-
when: '`agent` is not one of claude, cursor, codex, hermes, muse, all',
|
|
85
|
+
when: 'the agents feature runs (default mode, features includes agents, or all) and `agent` is not one of claude, cursor, codex, hermes, muse, all',
|
|
80
86
|
},
|
|
81
87
|
{
|
|
82
88
|
code: 'ERR_UNKNOWN_FEATURE',
|
|
@@ -84,12 +90,16 @@ export const doc = {
|
|
|
84
90
|
},
|
|
85
91
|
{
|
|
86
92
|
code: 'ERR_UNKNOWN_TEMPLATE',
|
|
87
|
-
when: '`templateName` matches no bundled template',
|
|
93
|
+
when: 'the template feature runs and `templateName` matches no bundled template',
|
|
88
94
|
},
|
|
89
95
|
{
|
|
90
96
|
code: 'ERR_FILE_EXISTS',
|
|
91
97
|
when: 'scaffolding a template would overwrite an existing page.tsx',
|
|
92
98
|
},
|
|
99
|
+
{
|
|
100
|
+
code: 'ERR_PATH_TRAVERSAL',
|
|
101
|
+
when: 'the template output path resolves outside cwd (for example through a symlinked src directory), or, with removeAgents, a managed agent-docs file resolves outside cwd through a symlink',
|
|
102
|
+
},
|
|
93
103
|
],
|
|
94
104
|
examples: [
|
|
95
105
|
{label: 'Default setup', code: 'const r = await init();'},
|
|
@@ -97,5 +107,5 @@ export const doc = {
|
|
|
97
107
|
{label: 'Remove agent docs', code: 'await init({removeAgents: true});'},
|
|
98
108
|
],
|
|
99
109
|
command: 'init',
|
|
100
|
-
related: ['doctor', 'upgrade', 'build', '
|
|
110
|
+
related: ['doctor', 'upgrade', 'build', 'themeTemplate'],
|
|
101
111
|
};
|