@astryxdesign/cli 0.6.3-canary.db4e378 → 0.6.3-canary.db52d98
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 +38 -15
- 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 +14 -7
- package/api/build/build.test.mjs +184 -6
- package/api/build/build.type.d.mts +57 -2
- package/api/build/build.type.mjs +30 -7
- package/api/build/help/help.d.mts +4 -0
- package/api/build/help/help.mjs +24 -11
- 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 +1 -0
- package/api/component/component.mjs +60 -12
- package/api/component/list/list.mjs +3 -2
- package/api/discover/discover.doc.mjs +1 -0
- package/api/docs/_adapter.d.mts +252 -34
- package/api/docs/_adapter.mjs +923 -132
- package/api/docs/detail/detail.mjs +11 -3
- package/api/docs/detail/section/section.mjs +24 -13
- package/api/docs/detail/section/section.test.mjs +15 -6
- 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 +181 -2
- package/api/docs/docs.type.mjs +117 -3
- package/api/docs/index/index.mjs +11 -3
- 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 +331 -16
- package/api/doctor/doctor.test.mjs +420 -7
- package/api/gap-report/gap-report.doc.mjs +1 -0
- package/api/hook/_adapter.mjs +19 -5
- package/api/hook/hook.doc.mjs +1 -0
- 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 +2 -1
- package/api/integration/add-contribution.d.mts +2 -1
- package/api/integration/add-contribution.mjs +114 -12
- package/api/integration/add-contribution.test.mjs +174 -3
- 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 +7 -0
- package/api/integration/integrationAddAgentDoc.doc.mjs +1 -0
- package/api/integration/integrationAddCodemod.doc.mjs +1 -0
- package/api/integration/integrationAddComponent.doc.mjs +1 -0
- 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 +34 -0
- package/api/integration/pack-check.test.mjs +138 -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 +50 -102
- package/api/integration/validate-integration.test.mjs +88 -26
- package/api/integration/validate-unread-theme-folders.test.mjs +110 -0
- package/api/integration/validateIntegration.doc.mjs +2 -1
- package/api/json/assertResponse.doc.mjs +1 -0
- package/api/json/index.ts +2 -0
- package/api/json/isError.doc.mjs +1 -0
- package/api/json/parseResponse.doc.mjs +1 -0
- package/api/layout/_adapter.mjs +20 -5
- package/api/layout/layoutCheck.doc.mjs +1 -0
- package/api/layout/layoutExpand.doc.mjs +1 -0
- package/api/layout/layoutGrammar.doc.mjs +1 -0
- package/api/search/search.d.mts +59 -1
- package/api/search/search.doc.mjs +5 -3
- package/api/search/search.mjs +458 -77
- package/api/search/search.test.mjs +91 -2
- package/api/search/search.type.d.mts +13 -1
- package/api/search/search.type.mjs +4 -1
- package/api/swizzle/swizzle.doc.mjs +1 -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 +28 -7
- package/api/template/template.mjs +45 -8
- package/api/template/template.type.d.mts +6 -8
- package/api/template/template.type.mjs +3 -2
- package/api/theme/_adapter.d.mts +2 -3
- package/api/theme/_adapter.mjs +4 -5
- package/api/theme/add/add.binary.test.mjs +10 -17
- package/api/theme/add/add.test.mjs +14 -1
- 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/template/template.test.mjs +5 -0
- package/api/theme/themeAdd.doc.mjs +4 -3
- package/api/theme/themeBuild.doc.mjs +1 -0
- 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 +2 -1
- package/api/upgrade/_adapter.d.mts +32 -5
- package/api/upgrade/_adapter.mjs +97 -69
- package/api/upgrade/provider-agreement.test.mjs +152 -0
- package/api/upgrade/run/run.mjs +356 -59
- package/api/upgrade/upgrade.doc.mjs +6 -1
- package/api/upgrade/upgrade.type.d.mts +34 -0
- package/api/upgrade/upgrade.type.mjs +15 -0
- package/assets/codemods/__tests__/runner.test.mjs +330 -8
- package/assets/codemods/integration-discovery.mjs +8 -2
- package/assets/codemods/integration-discovery.test.mjs +15 -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/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/docs/getting-started.doc.mjs +2 -2
- 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 +3 -3
- 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} +66 -38
- 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 +3 -3
- 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/Item/ItemDocumentTabs.doc.mjs +14 -0
- package/assets/templates/blocks/components/Item/ItemDocumentTabs.tsx +100 -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/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/codemod/codemod.doc.mjs +1 -1
- package/authoring/codemod/type.ts +12 -0
- package/authoring/config/config.doc.mjs +1 -1
- package/authoring/debug/debug.doc.d.mts +11 -0
- package/authoring/debug/debug.doc.mjs +182 -0
- package/authoring/debug/parse.d.mts +3 -3
- package/authoring/doctypes/_schema.d.mts +119 -117
- package/authoring/doctypes/_schema.mjs +54 -3
- package/authoring/doctypes/base/graph-fields.doc.mjs +8 -6
- package/authoring/doctypes/base/type.ts +6 -5
- package/authoring/doctypes/command/command.doc.mjs +1 -1
- package/authoring/doctypes/command/type.ts +2 -2
- package/authoring/doctypes/component/type.ts +2 -2
- package/authoring/doctypes/doctypes-new.test.mjs +48 -6
- package/authoring/doctypes/enum/enum.doc.mjs +1 -1
- package/authoring/doctypes/enum/type.ts +1 -1
- package/authoring/doctypes/function/function.doc.mjs +3 -2
- package/authoring/doctypes/function/type.ts +3 -2
- package/authoring/doctypes/hook/type.ts +2 -2
- package/authoring/doctypes/load-contract.test.mjs +28 -2
- package/authoring/doctypes/namespace/namespace.doc.mjs +6 -10
- package/authoring/doctypes/namespace/parse.test.mjs +23 -25
- package/authoring/doctypes/namespace/type.ts +5 -2
- package/authoring/doctypes/parse.d.mts +4 -2
- package/authoring/doctypes/parse.mjs +10 -5
- package/authoring/doctypes/reference/reference.doc.mjs +35 -6
- package/authoring/doctypes/reference/type.ts +30 -13
- package/authoring/doctypes/schema/schema.doc.mjs +1 -1
- package/authoring/doctypes/schema/type.ts +1 -2
- package/authoring/doctypes/template/parse.d.mts +2 -0
- package/authoring/doctypes/template/parse.mjs +4 -0
- package/authoring/doctypes/template/parse.test.mjs +18 -0
- package/authoring/doctypes/template/template.doc.mjs +9 -3
- package/authoring/doctypes/template/type.ts +8 -0
- 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 +2 -1
- package/authoring/gap-report/gap-report.doc.d.mts +12 -0
- package/authoring/gap-report/gap-report.doc.mjs +183 -0
- package/authoring/identity/identity.doc.mjs +2 -2
- package/authoring/index.d.mts +1 -0
- package/authoring/index.d.ts +7 -4
- package/authoring/index.mjs +2 -1
- package/authoring/integration/integration.doc.mjs +2 -2
- package/authoring/integration/type.ts +4 -10
- package/clients/cli/__tests__/cliManifest.test.ts +27 -29
- package/clients/cli/commands/blog.doc.mjs +1 -1
- package/clients/cli/commands/build-theme.adaptations.test.mjs +100 -1
- package/clients/cli/commands/build-theme.mjs +11 -45
- package/clients/cli/commands/build.doc.mjs +12 -7
- package/clients/cli/commands/build.mjs +105 -67
- package/clients/cli/commands/build.text-fields.test.mjs +41 -0
- package/clients/cli/commands/component/index.mjs +1 -1
- package/clients/cli/commands/component-ownership.test.mjs +3 -3
- package/clients/cli/commands/component.doc.mjs +1 -1
- package/clients/cli/commands/discover.broken-integration.test.mjs +7 -8
- package/clients/cli/commands/discover.doc.mjs +1 -1
- package/clients/cli/commands/discover.mjs +1 -1
- 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.test.mjs +90 -8
- package/clients/cli/commands/doctor.doc.mjs +1 -1
- package/clients/cli/commands/doctor.mjs +53 -16
- package/clients/cli/commands/gap-report.doc.mjs +1 -1
- package/clients/cli/commands/hook.doc.mjs +1 -1
- package/clients/cli/commands/init.doc.mjs +1 -1
- package/clients/cli/commands/integration-add.controls.test.mjs +1 -1
- package/clients/cli/commands/integration-add.doc.mjs +11 -1
- 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/layout-check.doc.mjs +1 -1
- package/clients/cli/commands/layout-expand.doc.mjs +1 -1
- package/clients/cli/commands/layout-grammar.doc.mjs +1 -1
- package/clients/cli/commands/layout.doc.mjs +1 -1
- package/clients/cli/commands/manifest.doc.mjs +1 -1
- package/clients/cli/commands/search.doc.mjs +1 -1
- package/clients/cli/commands/search.mjs +11 -2
- package/clients/cli/commands/setup-nudge.test.mjs +6 -0
- package/clients/cli/commands/swizzle.doc.mjs +1 -1
- package/clients/cli/commands/template.doc.mjs +24 -7
- package/clients/cli/commands/template.mjs +4 -91
- package/clients/cli/commands/text-json-parity.test.mjs +719 -0
- package/clients/cli/commands/theme-add.doc.mjs +2 -2
- package/clients/cli/commands/theme-build.doc.mjs +1 -1
- 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.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.doc.mjs +1 -1
- package/clients/cli/commands/theme.doc.mjs +1 -1
- package/clients/cli/commands/upgrade.doc.mjs +3 -2
- package/clients/cli/commands/upgrade.file-protection.test.mjs +228 -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 +8 -0
- package/clients/cli/lib/hook-format.mjs +14 -5
- package/clients/cli/lib/manifest.mjs +9 -2
- package/foundation/agent-docs/agent-docs.d.mts +3 -2
- package/foundation/agent-docs/agent-docs.mjs +13 -9
- package/foundation/agent-docs/agent-docs.test.mjs +19 -1
- package/foundation/config/project-themes.test.mjs +11 -19
- package/foundation/config/project.d.mts +20 -11
- package/foundation/config/project.mjs +123 -80
- package/foundation/config/project.test.mjs +144 -21
- package/foundation/discovery/authoring-self-docs.d.mts +18 -0
- package/foundation/discovery/authoring-self-docs.mjs +37 -15
- package/foundation/discovery/authoring-self-docs.test.mjs +25 -9
- 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 +112 -11
- package/foundation/discovery/docs-discovery.mjs +231 -36
- package/foundation/discovery/docs-discovery.test.mjs +111 -32
- 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 +99 -6
- package/foundation/discovery/template-adapter.mjs +480 -57
- 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/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 +220 -39
- package/foundation/doc-compiler/compile.mjs +311 -15
- 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 +28 -1
- 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 +13 -0
- package/foundation/doc-compiler/ir.mjs +196 -12
- package/foundation/doc-compiler/lenses.d.mts +8 -5
- package/foundation/doc-compiler/lenses.mjs +50 -4
- 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/integrations/autolink.d.mts +58 -1
- package/foundation/integrations/autolink.mjs +143 -57
- 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 +3 -0
- package/foundation/integrations/integrations.mjs +11 -97
- 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/error-codes.d.mts +3 -1
- package/foundation/response/error-codes.d.ts +2 -0
- package/foundation/response/error-codes.doc.mjs +12 -2
- package/foundation/response/error-codes.mjs +7 -1
- package/foundation/response/error-codes.test.mjs +55 -11
- package/foundation/response/response-types.doc.d.mts +5 -1
- package/foundation/response/response-types.doc.mjs +20 -11
- 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.mjs +1 -1
- package/foundation/xle/xle.test.mjs +13 -0
- package/package.json +10 -9
- package/assets/templates/themes/manifest.json +0 -95
|
@@ -1,44 +1,6 @@
|
|
|
1
1
|
// @generated by scripts/sync-api-types.mjs from the JSDoc in foundation/**/*.mjs.
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* One authored file, as discovery loaded it.
|
|
6
|
-
* @typedef {object} AuthoredFile
|
|
7
|
-
* @property {string} file the file's name, for messages only
|
|
8
|
-
* @property {any} [doc] the parsed doc, when it loaded
|
|
9
|
-
* @property {unknown} [error] why it did not load or parse
|
|
10
|
-
* @property {any} [overlay] the language overlay's export, when one applies
|
|
11
|
-
* @property {unknown} [overlayError] why the overlay did not load
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* @typedef {object} ReferenceTopicInput
|
|
15
|
-
* @property {string} id the topic's name in the catalog
|
|
16
|
-
* @property {string} provider the package that owns the topic
|
|
17
|
-
* @property {string | null} replaces the topic it took the place of
|
|
18
|
-
* @property {string | null} lang the overlay language, or null for authored text
|
|
19
|
-
* @property {AuthoredFile} base
|
|
20
|
-
* @property {Array<AuthoredFile & {provider: string}>} extensions in merge order
|
|
21
|
-
*/
|
|
22
|
-
/**
|
|
23
|
-
* A token reference after linking: the target section's content, or why it
|
|
24
|
-
* has none.
|
|
25
|
-
* @typedef {{status: 'resolved', topic: string, section: string, previewType?: string, content: any[]}
|
|
26
|
-
* | {status: 'unknown-topic'}
|
|
27
|
-
* | {status: 'unknown-section'}} TokenRefResolution
|
|
28
|
-
*/
|
|
29
|
-
/**
|
|
30
|
-
* @typedef {object} CompiledReferenceNode
|
|
31
|
-
* @property {number} schemaVersion
|
|
32
|
-
* @property {'reference'} kind
|
|
33
|
-
* @property {'lowered' | 'linked'} stage `linked` once every token reference
|
|
34
|
-
* carries its resolution; a lowered node carries none
|
|
35
|
-
* @property {string} id the topic's name in the catalog
|
|
36
|
-
* @property {string | null} lang
|
|
37
|
-
* @property {{provider: string, replaces: string | null, extensions: string[]}} provenance
|
|
38
|
-
* @property {Record<string, string>} sourceTitles section key -> authored title
|
|
39
|
-
* @property {any} doc the topic: authored fields in authored order, every
|
|
40
|
-
* section keyed; a linked node's token references carry `resolved`
|
|
41
|
-
*/
|
|
42
4
|
/**
|
|
43
5
|
* Lower one topic: overlay each file, merge the extensions in order, and stamp
|
|
44
6
|
* every section with its key.
|
|
@@ -65,8 +27,208 @@ export function linkReferenceTopic(node: CompiledReferenceNode, lowerTarget: (to
|
|
|
65
27
|
export function linkReferenceSection<S extends {
|
|
66
28
|
content: any[];
|
|
67
29
|
}>(section: S, lowerTarget: (topic: string) => Promise<CompiledReferenceNode | null>): Promise<S>;
|
|
30
|
+
/**
|
|
31
|
+
* @typedef {import('./diagnostics.mjs').CompilerDiagnostic} CompilerDiagnostic
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* One authored doc of any kind but a reference topic, as its root loaded it.
|
|
35
|
+
* @typedef {object} DocFileInput
|
|
36
|
+
* @property {string} id the input's id: provider, root, and name
|
|
37
|
+
* @property {keyof typeof ROOT_KINDS} root
|
|
38
|
+
* @property {string} provider the package that contributes it
|
|
39
|
+
* @property {string} source `<package>/<path>` of the file
|
|
40
|
+
* @property {string | null} lang the overlay language, or null
|
|
41
|
+
* @property {AuthoredFile} file `doc` is the authored export, not a parse
|
|
42
|
+
* result; `overlay` is the translation the module exports for `lang`
|
|
43
|
+
* @property {string} [label] how a parse error names the file (default: its
|
|
44
|
+
* file name)
|
|
45
|
+
* @property {boolean} [useParsed] carry the parser's result instead of the
|
|
46
|
+
* authored export, for a reader that has always read the checked value
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* The parser that checks a root's docs. Templates and themes have their own;
|
|
50
|
+
* every other root dispatches on the stamped type.
|
|
51
|
+
* @param {string} root
|
|
52
|
+
* @returns {(input: unknown, label?: string) => any}
|
|
53
|
+
*/
|
|
54
|
+
export function parserFor(root: string): (input: unknown, label?: string) => any;
|
|
55
|
+
/**
|
|
56
|
+
* A compiled node for any kind but a reference topic.
|
|
57
|
+
* @typedef {object} CompiledDocNode
|
|
58
|
+
* @property {number} schemaVersion
|
|
59
|
+
* @property {Exclude<typeof COMPILED_DOC_KINDS[number], 'reference'>} kind
|
|
60
|
+
* @property {'lowered'} stage
|
|
61
|
+
* @property {string} id
|
|
62
|
+
* @property {string | null} lang
|
|
63
|
+
* @property {{provider: string, source: string}} provenance
|
|
64
|
+
* @property {any} doc the authored doc, overlaid for `lang`, as JSON carries
|
|
65
|
+
* it: key order kept, `undefined` and functions dropped
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* The result of lowering one doc.
|
|
69
|
+
*
|
|
70
|
+
* `view` is the doc as readers have always read it: the authored export (or,
|
|
71
|
+
* where a reader has always read it, the parser's result), with its
|
|
72
|
+
* translation laid over it, not copied and not converted. Readers print from
|
|
73
|
+
* the view, so nothing they print depends on JSON. `node` is the sealed,
|
|
74
|
+
* JSON-only form a whole-project compile collects.
|
|
75
|
+
*
|
|
76
|
+
* @typedef {object} LoweredDoc
|
|
77
|
+
* @property {any} [view] absent when the file could not be read
|
|
78
|
+
* @property {CompiledDocNode | null} node null when not asked for, or when a
|
|
79
|
+
* problem is fatal to the node
|
|
80
|
+
* @property {CompilerDiagnostic[]} diagnostics
|
|
81
|
+
* @property {boolean} [loadFailed] importing the file threw
|
|
82
|
+
* @property {unknown} [loadFailure] what importing the file threw (any value,
|
|
83
|
+
* `undefined` included)
|
|
84
|
+
* @property {boolean} [missing] the file exports no doc
|
|
85
|
+
* @property {null | undefined} [missingValue] the empty export, as the reader
|
|
86
|
+
* picked it
|
|
87
|
+
* @property {boolean} [failed] the kind's parser threw
|
|
88
|
+
* @property {unknown} [failure] what the kind's parser threw
|
|
89
|
+
* @property {boolean} [overlayFailed] laying the translation over threw
|
|
90
|
+
* @property {unknown} [overlayFailure] what laying the translation over threw
|
|
91
|
+
*/
|
|
92
|
+
/**
|
|
93
|
+
* Lower one doc of any kind but a reference topic.
|
|
94
|
+
*
|
|
95
|
+
* With `check`, the doc is held to its kind's parser, and a failure is
|
|
96
|
+
* recorded, not fatal: readers that never checked docs keep reading it, and a
|
|
97
|
+
* checked reader turns it into the error it has always thrown. A doc stamped
|
|
98
|
+
* with a kind its root does not read keeps its root's kind and carries a
|
|
99
|
+
* `wrong_kind` diagnostic. With `node`, the view is also carried as JSON; a
|
|
100
|
+
* value JSON cannot hold withdraws the node, never the view.
|
|
101
|
+
*
|
|
102
|
+
* @param {DocFileInput} input
|
|
103
|
+
* @param {{check?: boolean, node?: boolean}} [options]
|
|
104
|
+
* @returns {LoweredDoc}
|
|
105
|
+
*/
|
|
106
|
+
export function lowerDoc(input: DocFileInput, { check, node: wantNode }?: {
|
|
107
|
+
check?: boolean;
|
|
108
|
+
node?: boolean;
|
|
109
|
+
}): LoweredDoc;
|
|
68
110
|
/** Bumped whenever the shape of a compiled node changes. */
|
|
69
111
|
export const COMPILED_DOC_SCHEMA_VERSION: 1;
|
|
112
|
+
/** Every kind a compiled node has: one per authored doc kind a root reads. */
|
|
113
|
+
export const COMPILED_DOC_KINDS: readonly ["component", "function", "reference", "page", "block", "schema", "command", "enum", "theme", "namespace"];
|
|
114
|
+
/**
|
|
115
|
+
* The roots that read docs, and the kinds each may hold. A doc without a
|
|
116
|
+
* stamped `type` (the legacy form) takes its root's first kind.
|
|
117
|
+
* @type {Readonly<Record<string, readonly string[]>>}
|
|
118
|
+
*/
|
|
119
|
+
export const ROOT_KINDS: Readonly<Record<string, readonly string[]>>;
|
|
120
|
+
export type CompilerDiagnostic = import("./diagnostics.mjs").CompilerDiagnostic;
|
|
121
|
+
/**
|
|
122
|
+
* One authored doc of any kind but a reference topic, as its root loaded it.
|
|
123
|
+
*/
|
|
124
|
+
export type DocFileInput = {
|
|
125
|
+
/**
|
|
126
|
+
* the input's id: provider, root, and name
|
|
127
|
+
*/
|
|
128
|
+
id: string;
|
|
129
|
+
root: keyof typeof ROOT_KINDS;
|
|
130
|
+
/**
|
|
131
|
+
* the package that contributes it
|
|
132
|
+
*/
|
|
133
|
+
provider: string;
|
|
134
|
+
/**
|
|
135
|
+
* `<package>/<path>` of the file
|
|
136
|
+
*/
|
|
137
|
+
source: string;
|
|
138
|
+
/**
|
|
139
|
+
* the overlay language, or null
|
|
140
|
+
*/
|
|
141
|
+
lang: string | null;
|
|
142
|
+
/**
|
|
143
|
+
* `doc` is the authored export, not a parse
|
|
144
|
+
* result; `overlay` is the translation the module exports for `lang`
|
|
145
|
+
*/
|
|
146
|
+
file: AuthoredFile;
|
|
147
|
+
/**
|
|
148
|
+
* how a parse error names the file (default: its
|
|
149
|
+
* file name)
|
|
150
|
+
*/
|
|
151
|
+
label?: string | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* carry the parser's result instead of the
|
|
154
|
+
* authored export, for a reader that has always read the checked value
|
|
155
|
+
*/
|
|
156
|
+
useParsed?: boolean | undefined;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* A compiled node for any kind but a reference topic.
|
|
160
|
+
*/
|
|
161
|
+
export type CompiledDocNode = {
|
|
162
|
+
schemaVersion: number;
|
|
163
|
+
kind: Exclude<(typeof COMPILED_DOC_KINDS)[number], "reference">;
|
|
164
|
+
stage: "lowered";
|
|
165
|
+
id: string;
|
|
166
|
+
lang: string | null;
|
|
167
|
+
provenance: {
|
|
168
|
+
provider: string;
|
|
169
|
+
source: string;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* the authored doc, overlaid for `lang`, as JSON carries
|
|
173
|
+
* it: key order kept, `undefined` and functions dropped
|
|
174
|
+
*/
|
|
175
|
+
doc: any;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* The result of lowering one doc.
|
|
179
|
+
*
|
|
180
|
+
* `view` is the doc as readers have always read it: the authored export (or,
|
|
181
|
+
* where a reader has always read it, the parser's result), with its
|
|
182
|
+
* translation laid over it, not copied and not converted. Readers print from
|
|
183
|
+
* the view, so nothing they print depends on JSON. `node` is the sealed,
|
|
184
|
+
* JSON-only form a whole-project compile collects.
|
|
185
|
+
*/
|
|
186
|
+
export type LoweredDoc = {
|
|
187
|
+
/**
|
|
188
|
+
* absent when the file could not be read
|
|
189
|
+
*/
|
|
190
|
+
view?: any;
|
|
191
|
+
/**
|
|
192
|
+
* null when not asked for, or when a
|
|
193
|
+
* problem is fatal to the node
|
|
194
|
+
*/
|
|
195
|
+
node: CompiledDocNode | null;
|
|
196
|
+
diagnostics: CompilerDiagnostic[];
|
|
197
|
+
/**
|
|
198
|
+
* importing the file threw
|
|
199
|
+
*/
|
|
200
|
+
loadFailed?: boolean | undefined;
|
|
201
|
+
/**
|
|
202
|
+
* what importing the file threw (any value,
|
|
203
|
+
* `undefined` included)
|
|
204
|
+
*/
|
|
205
|
+
loadFailure?: unknown;
|
|
206
|
+
/**
|
|
207
|
+
* the file exports no doc
|
|
208
|
+
*/
|
|
209
|
+
missing?: boolean | undefined;
|
|
210
|
+
/**
|
|
211
|
+
* the empty export, as the reader
|
|
212
|
+
* picked it
|
|
213
|
+
*/
|
|
214
|
+
missingValue?: null | undefined;
|
|
215
|
+
/**
|
|
216
|
+
* the kind's parser threw
|
|
217
|
+
*/
|
|
218
|
+
failed?: boolean | undefined;
|
|
219
|
+
/**
|
|
220
|
+
* what the kind's parser threw
|
|
221
|
+
*/
|
|
222
|
+
failure?: unknown;
|
|
223
|
+
/**
|
|
224
|
+
* laying the translation over threw
|
|
225
|
+
*/
|
|
226
|
+
overlayFailed?: boolean | undefined;
|
|
227
|
+
/**
|
|
228
|
+
* what laying the translation over threw
|
|
229
|
+
*/
|
|
230
|
+
overlayFailure?: unknown;
|
|
231
|
+
};
|
|
70
232
|
/**
|
|
71
233
|
* One authored file, as discovery loaded it.
|
|
72
234
|
*/
|
|
@@ -109,13 +271,25 @@ export type ReferenceTopicInput = {
|
|
|
109
271
|
* the overlay language, or null for authored text
|
|
110
272
|
*/
|
|
111
273
|
lang: string | null;
|
|
274
|
+
/**
|
|
275
|
+
* the owner's provider id; the package name
|
|
276
|
+
* when absent. The base file's sections resolve their links against it.
|
|
277
|
+
*/
|
|
278
|
+
providerId?: string | undefined;
|
|
112
279
|
base: AuthoredFile;
|
|
113
280
|
/**
|
|
114
|
-
*
|
|
281
|
+
* in merge order; each extension's sections resolve their links against its
|
|
282
|
+
* own provider id
|
|
115
283
|
*/
|
|
116
284
|
extensions: Array<AuthoredFile & {
|
|
117
285
|
provider: string;
|
|
286
|
+
providerId?: string;
|
|
118
287
|
}>;
|
|
288
|
+
/**
|
|
289
|
+
* a guide the docs tree places: its `placement` is
|
|
290
|
+
* read by the tree, so the topic reader accepts it
|
|
291
|
+
*/
|
|
292
|
+
tree?: boolean | undefined;
|
|
119
293
|
};
|
|
120
294
|
/**
|
|
121
295
|
* A token reference after linking: the target section's content, or why it
|
|
@@ -154,6 +328,13 @@ export type CompiledReferenceNode = {
|
|
|
154
328
|
* section key -> authored title
|
|
155
329
|
*/
|
|
156
330
|
sourceTitles: Record<string, string>;
|
|
331
|
+
/**
|
|
332
|
+
* section key -> the
|
|
333
|
+
* provider id that wrote the section: a topic merges sections from its base
|
|
334
|
+
* and its extensions, and each section's links resolve against its own
|
|
335
|
+
* provider (spec:AST-047 FR9)
|
|
336
|
+
*/
|
|
337
|
+
sectionProviders: Record<string, string>;
|
|
157
338
|
/**
|
|
158
339
|
* the topic: authored fields in authored order, every
|
|
159
340
|
* section keyed; a linked node's token references carry `resolved`
|