@astryxdesign/cli 0.7.2-canary.fdd384f → 0.7.2
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 +119 -0
- package/README.md +169 -149
- package/api/build/_adapter.d.mts +8 -0
- package/api/build/_adapter.mjs +12 -1
- package/api/build/build.doc.mjs +4 -0
- package/api/build/kit/kit.mjs +3 -11
- package/api/component/_adapter.d.mts +31 -0
- package/api/component/_adapter.mjs +119 -11
- package/api/component/component.doc.mjs +6 -1
- package/api/component/component.mjs +60 -10
- package/api/component/doc-links.test.mjs +386 -0
- package/api/discover/_adapter.d.mts +132 -12
- package/api/discover/_adapter.mjs +488 -27
- package/api/discover/_adapter.test.mjs +599 -17
- package/api/discover/_catalog-view.d.mts +16 -5
- package/api/discover/_catalog-view.mjs +32 -8
- package/api/discover/detail/doc/doc.mjs +9 -1
- package/api/discover/discover.d.mts +11 -0
- package/api/discover/discover.doc.mjs +9 -7
- package/api/discover/discover.mjs +121 -19
- package/api/discover/discover.type.d.mts +20 -7
- package/api/discover/discover.type.mjs +17 -7
- package/api/discover/list/list.d.mts +4 -3
- package/api/discover/list/list.mjs +17 -10
- package/api/docs/_adapter.d.mts +63 -0
- package/api/docs/_adapter.mjs +312 -18
- package/api/docs/docs.doc.mjs +2 -1
- package/api/docs/docs.mjs +2 -1
- package/api/docs/docs.test.mjs +5 -2
- package/api/docs/integration-tree.test.mjs +22 -0
- package/api/docs/list/list.mjs +12 -2
- package/api/docs/reference-blocks.test.mjs +1 -3
- package/api/doctor/_adapter.d.mts +108 -0
- package/api/doctor/_adapter.mjs +223 -4
- package/api/doctor/doctor.d.mts +199 -0
- package/api/doctor/doctor.doc.mjs +3 -2
- package/api/doctor/doctor.mjs +530 -34
- package/api/doctor/doctor.test.mjs +180 -14
- package/api/doctor/release-checks.test.mjs +156 -0
- package/api/doctor/theme-checks.mjs +16 -3
- package/api/doctor/theme-checks.test.mjs +223 -7
- package/api/error.d.mts +10 -0
- package/api/error.mjs +25 -0
- package/api/gap-report/gap-report.d.mts +3 -0
- package/api/gap-report/gap-report.doc.mjs +11 -3
- package/api/gap-report/gap-report.mjs +152 -48
- package/api/gap-report/gap-report.test.mjs +233 -0
- package/api/gap-report/gap-report.type.d.mts +41 -0
- package/api/gap-report/gap-report.type.mjs +18 -0
- package/api/hook/_adapter.mjs +3 -11
- package/api/hook/hook.doc.mjs +4 -0
- package/api/hook/list/list.d.mts +1 -1
- package/api/init/_adapter.d.mts +22 -0
- package/api/init/_adapter.mjs +59 -0
- package/api/init/init.d.mts +7 -5
- package/api/init/init.doc.mjs +28 -7
- package/api/init/init.mjs +28 -4
- package/api/init/init.type.d.mts +48 -3
- package/api/init/init.type.mjs +37 -3
- package/api/init/run/run.d.mts +1 -1
- package/api/init/run/run.mjs +15 -4
- package/api/init/user/user.d.mts +14 -0
- package/api/init/user/user.mjs +87 -0
- package/api/init/user/user.test.mjs +232 -0
- package/api/integration/_adapter.d.mts +33 -0
- package/api/integration/_adapter.mjs +58 -0
- package/api/integration/authoring-checks.mjs +100 -5
- package/api/integration/authoring-checks.test.mjs +769 -0
- package/api/integration/authoring-checks.type.d.mts +134 -0
- package/api/integration/authoring-checks.type.mjs +60 -1
- package/api/integration/integrationCheck.doc.mjs +1 -1
- package/api/integration/integrationComponentConflicts.doc.mjs +11 -3
- package/api/integration/integrationDocConflicts.doc.mjs +22 -5
- package/api/integration/pack-check.mjs +303 -13
- package/api/integration/pack-check.test.mjs +371 -10
- package/api/integration/validate-integration-fixes.test.mjs +67 -0
- package/api/integration/validate-integration.d.mts +8 -0
- package/api/integration/validate-integration.mjs +55 -9
- package/api/integration/validate-integration.test.mjs +77 -8
- package/api/integration/validate-integration.type.d.mts +8 -0
- package/api/integration/validate-integration.type.mjs +3 -1
- package/api/integration/validate-unread-theme-folders.test.mjs +3 -2
- package/api/integration/validateIntegration.doc.mjs +4 -2
- package/api/search/_adapter.d.mts +11 -0
- package/api/search/_adapter.mjs +25 -0
- package/api/search/search.d.mts +73 -13
- package/api/search/search.doc.mjs +8 -3
- package/api/search/search.domain-priority.test.mjs +108 -18
- package/api/search/search.mjs +541 -52
- package/api/search/search.test.mjs +143 -1
- package/api/search/search.type.d.mts +14 -1
- package/api/search/search.type.mjs +6 -1
- package/api/swizzle/_adapter.mjs +2 -2
- package/api/swizzle/copy/copy.mjs +1 -1
- package/api/template/template-integration.test.mjs +1 -1
- package/api/theme/_adapter.d.mts +16 -0
- package/api/theme/_adapter.mjs +32 -5
- package/api/theme/build/build.d.mts +2 -1
- package/api/theme/build/build.mjs +70 -14
- package/api/theme/build/build.packed-old-core.test.mjs +20 -3
- package/api/theme/build/font-warning.mjs +5 -3
- package/api/theme/build/font-warning.test.mjs +2 -1
- package/api/theme/remove/remove.test.mjs +2 -2
- package/api/theme/targets/targets.mjs +3 -10
- package/api/theme/themeTargets.doc.mjs +4 -0
- package/api/theme/use/use.test.mjs +1 -1
- package/api/upgrade/_adapter.d.mts +40 -2
- package/api/upgrade/_adapter.mjs +118 -5
- package/api/upgrade/run/cli-behind-core.test.mjs +438 -0
- package/api/upgrade/run/run.mjs +35 -2
- package/api/upgrade/status/status.d.mts +21 -5
- package/api/upgrade/status/status.mjs +45 -8
- package/api/upgrade/upgrade.doc.mjs +6 -3
- package/api/upgrade/upgrade.mjs +5 -1
- package/api/upgrade/upgrade.type.d.mts +23 -0
- package/api/upgrade/upgrade.type.mjs +16 -1
- package/assets/codemods/__tests__/registry.test.mjs +1 -0
- package/assets/codemods/registry.mjs +1 -0
- package/assets/codemods/runner.mjs +7 -1
- package/assets/codemods/transforms/next/index.mjs +1 -11
- package/assets/codemods/transforms/v0.7.2/index.mjs +20 -0
- package/assets/discover/official-packages.json +367 -0
- package/assets/docs/author-a-theme.doc.mjs +2 -2
- package/assets/docs/browser-support.doc.mjs +1 -1
- package/assets/docs/getting-started.doc.mjs +23 -3
- package/assets/docs/styling-overview.doc.mjs +1 -1
- package/assets/docs/theme.doc.mjs +1 -1
- package/assets/docs/tree/add-a-component.doc.mjs +12 -2
- package/assets/docs/tree/add-a-theme.doc.mjs +13 -3
- package/assets/docs/tree/add-a-topic.doc.mjs +54 -9
- package/assets/docs/tree/agent-guidance.doc.mjs +19 -5
- package/assets/docs/tree/block-template.doc.mjs +6 -18
- package/assets/docs/tree/build-the-template.doc.mjs +1 -1
- package/assets/docs/tree/building-blocks.doc.mjs +4 -0
- package/assets/docs/tree/check-the-props.doc.mjs +8 -3
- package/assets/docs/tree/check-your-docs.doc.mjs +30 -13
- package/assets/docs/tree/checks.doc.mjs +17 -17
- package/assets/docs/tree/ci-and-containers.doc.mjs +88 -0
- package/assets/docs/tree/cli-command.doc.mjs +142 -0
- package/assets/docs/tree/cli.doc.mjs +6 -0
- package/assets/docs/tree/codemods.doc.mjs +17 -7
- package/assets/docs/tree/commands.doc.mjs +7 -1
- package/assets/docs/tree/component-family.doc.mjs +3 -5
- package/assets/docs/tree/component-imports.doc.mjs +13 -3
- package/assets/docs/tree/components.doc.mjs +7 -1
- package/assets/docs/tree/computer-agent-guide.doc.mjs +160 -0
- package/assets/docs/tree/computer-integrations.doc.mjs +93 -0
- package/assets/docs/tree/configuration.doc.mjs +7 -3
- package/assets/docs/tree/debug-and-gap-reports.doc.mjs +41 -22
- package/assets/docs/tree/define-the-theme.doc.mjs +6 -5
- package/assets/docs/tree/describe-the-component.doc.mjs +2 -2
- package/assets/docs/tree/docs.doc.mjs +9 -3
- package/assets/docs/tree/document-the-template.doc.mjs +1 -1
- package/assets/docs/tree/document-the-theme.doc.mjs +3 -3
- package/assets/docs/tree/export-template-assets.doc.mjs +1 -1
- package/assets/docs/tree/extend-or-replace.doc.mjs +19 -9
- package/assets/docs/tree/fonts-and-assets.doc.mjs +2 -2
- package/assets/docs/tree/generate-a-palette.doc.mjs +7 -5
- package/assets/docs/tree/global-integrations.doc.mjs +124 -0
- package/assets/docs/tree/global.doc.mjs +131 -0
- package/assets/docs/tree/grade-template-with-agent.doc.mjs +5 -5
- package/assets/docs/tree/install-once.doc.mjs +105 -0
- package/assets/docs/tree/integrations.doc.mjs +13 -1
- package/assets/docs/tree/layout-spacing.doc.mjs +2 -3
- package/assets/docs/tree/layout.doc.mjs +6 -6
- package/assets/docs/tree/links.doc.mjs +6 -5
- package/assets/docs/tree/migration-setup.doc.mjs +3 -2
- package/assets/docs/tree/migration-verification.doc.mjs +0 -1
- package/assets/docs/tree/migration.doc.mjs +0 -1
- package/assets/docs/tree/monorepos.doc.mjs +84 -0
- package/assets/docs/tree/package-and-test.doc.mjs +1 -1
- package/assets/docs/tree/page-template.doc.mjs +3 -7
- package/assets/docs/tree/problems.doc.mjs +205 -0
- package/assets/docs/tree/project-global-or-both.doc.mjs +131 -0
- package/assets/docs/tree/publishing.doc.mjs +6 -6
- package/assets/docs/tree/quick-start.doc.mjs +52 -26
- package/assets/docs/tree/reference.doc.mjs +192 -0
- package/assets/docs/tree/replace-a-core-component.doc.mjs +15 -7
- package/assets/docs/tree/replace-a-core-template.doc.mjs +9 -11
- package/assets/docs/tree/scaffold.doc.mjs +1 -1
- package/assets/docs/tree/sections-and-placement.doc.mjs +9 -11
- package/assets/docs/tree/see-it-in-an-app.doc.mjs +17 -5
- package/assets/docs/tree/short-and-findable.doc.mjs +9 -8
- package/assets/docs/tree/single-component.doc.mjs +14 -6
- package/assets/docs/tree/start-a-template.doc.mjs +18 -8
- package/assets/docs/tree/subcomponent.doc.mjs +6 -6
- package/assets/docs/tree/template-assets.doc.mjs +2 -2
- package/assets/docs/tree/template-doc-overview.doc.mjs +6 -17
- package/assets/docs/tree/template-fonts.doc.mjs +1 -1
- package/assets/docs/tree/template-icons.doc.mjs +1 -1
- package/assets/docs/tree/template-images-media.doc.mjs +1 -1
- package/assets/docs/tree/template-styles.doc.mjs +2 -2
- package/assets/docs/tree/templates.doc.mjs +7 -1
- package/assets/docs/tree/test-in-an-app.doc.mjs +7 -7
- package/assets/docs/tree/test-template-in-app.doc.mjs +5 -5
- package/assets/docs/tree/themes.doc.mjs +4 -0
- package/assets/docs/tree/tokens-and-setup.doc.mjs +19 -15
- package/assets/docs/tree/troubleshooting.doc.mjs +22 -14
- package/assets/docs/tree/uninstall.doc.mjs +109 -0
- package/assets/docs/tree/updates.doc.mjs +92 -0
- package/assets/docs/tree/upgrading.doc.mjs +6 -6
- package/assets/docs/tree/use-a-theme-in-an-app.doc.mjs +14 -2
- package/assets/docs/tree/verify-packed-template.doc.mjs +3 -3
- package/assets/docs/tree/versioning.doc.mjs +9 -9
- package/assets/docs/tree/who-answers.doc.mjs +119 -0
- package/assets/docs/tree/write-the-template-file.doc.mjs +5 -5
- package/assets/docs/working-with-ai.doc.mjs +23 -9
- package/authoring/codemod/codemod.doc.mjs +7 -3
- package/authoring/config/config.doc.mjs +9 -6
- package/authoring/config/type.ts +4 -2
- package/authoring/debug/parse.d.mts +5 -5
- package/authoring/discover/discover.doc.mjs +7 -1
- package/authoring/doctypes/_schema.d.mts +8 -3
- package/authoring/doctypes/_schema.mjs +1 -0
- package/authoring/doctypes/base/graph-fields.doc.mjs +6 -4
- package/authoring/doctypes/command/command.doc.mjs +20 -12
- package/authoring/doctypes/command/type.ts +14 -0
- package/authoring/doctypes/component/component.doc.mjs +29 -26
- package/authoring/doctypes/component/type.ts +15 -5
- package/authoring/doctypes/enum/enum.doc.mjs +7 -4
- package/authoring/doctypes/function/function.doc.mjs +9 -8
- package/authoring/doctypes/hook/hook.doc.mjs +5 -4
- package/authoring/doctypes/hook/type.ts +4 -0
- package/authoring/doctypes/namespace/namespace.doc.mjs +7 -6
- package/authoring/doctypes/reference/reference.doc.mjs +12 -11
- package/authoring/doctypes/schema/schema.doc.mjs +9 -9
- package/authoring/doctypes/template/template.doc.mjs +2 -2
- package/authoring/doctypes/theme/theme.doc.mjs +2 -2
- package/authoring/gap-report/gap-report.doc.mjs +2 -2
- package/authoring/identity/identity.doc.mjs +3 -3
- package/authoring/index.d.ts +1 -0
- package/authoring/integration/integration.doc.mjs +22 -5
- package/authoring/integration/parse.test.mjs +11 -0
- package/authoring/integration/schema.d.mts +14 -3
- package/authoring/integration/schema.mjs +33 -2
- package/authoring/integration/type.ts +8 -0
- package/clients/cli/bin/astryx.mjs +20 -3
- package/clients/cli/cli-command.test.mjs +166 -0
- package/clients/cli/commands/blog.doc.mjs +1 -0
- package/clients/cli/commands/build-theme.batch-report.test.mjs +14 -2
- package/clients/cli/commands/build-theme.font-warning.test.mjs +3 -3
- package/clients/cli/commands/build-theme.mjs +25 -12
- package/clients/cli/commands/build.doc.mjs +1 -0
- package/clients/cli/commands/build.exit-codes-doc.test.mjs +4 -0
- package/clients/cli/commands/cli-postinstall.test.mjs +49 -1
- package/clients/cli/commands/component.doc.mjs +1 -0
- package/clients/cli/commands/discover.broken-integration.test.mjs +11 -7
- package/clients/cli/commands/discover.doc.mjs +9 -1
- package/clients/cli/commands/discover.mjs +144 -93
- package/clients/cli/commands/discover.no-source.test.mjs +448 -33
- package/clients/cli/commands/discover.sources.test.mjs +20 -1
- package/clients/cli/commands/docs.doc.mjs +1 -0
- package/clients/cli/commands/docs.mjs +49 -19
- package/clients/cli/commands/docs.test.mjs +2 -2
- package/clients/cli/commands/doctor-integration-components.doc.mjs +7 -3
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +20 -5
- package/clients/cli/commands/doctor-integration-templates.doc.mjs +1 -0
- package/clients/cli/commands/doctor-integration-validate.doc.mjs +13 -2
- package/clients/cli/commands/doctor-integration.test.mjs +52 -4
- package/clients/cli/commands/doctor.doc.mjs +12 -2
- package/clients/cli/commands/doctor.mjs +102 -7
- package/clients/cli/commands/doctor.test.mjs +10 -4
- package/clients/cli/commands/gap-report.doc.mjs +15 -2
- package/clients/cli/commands/gap-report.mjs +24 -2
- package/clients/cli/commands/gap-report.test.mjs +79 -0
- package/clients/cli/commands/hook.doc.mjs +1 -0
- package/clients/cli/commands/init.behavior.test.mjs +5 -0
- package/clients/cli/commands/init.doc.mjs +29 -3
- package/clients/cli/commands/integration-add.doc.mjs +7 -0
- package/clients/cli/commands/integration-authoring.test.mjs +49 -3
- package/clients/cli/commands/integration-check.doc.mjs +10 -2
- package/clients/cli/commands/integration-check.test.mjs +175 -1
- package/clients/cli/commands/integration-pack.doc.mjs +8 -1
- package/clients/cli/commands/integration-verify.doc.mjs +8 -1
- package/clients/cli/commands/integration.mjs +15 -9
- package/clients/cli/commands/json-contract.test.mjs +11 -2
- package/clients/cli/commands/manifest.doc.mjs +1 -0
- package/clients/cli/commands/outside-project.test.mjs +774 -0
- package/clients/cli/commands/search.doc.mjs +1 -0
- package/clients/cli/commands/search.mjs +16 -11
- package/clients/cli/commands/search.test.mjs +429 -296
- package/clients/cli/commands/setup-nudge.test.mjs +102 -2
- package/clients/cli/commands/swizzle.doc.mjs +7 -0
- package/clients/cli/commands/swizzle.mjs +5 -3
- package/clients/cli/commands/swizzle.routing.test.mjs +19 -2
- package/clients/cli/commands/template.doc.mjs +1 -0
- package/clients/cli/commands/theme-add-lifecycle.test.mjs +3 -3
- package/clients/cli/commands/theme-add.doc.mjs +8 -1
- package/clients/cli/commands/theme-build.doc.mjs +1 -0
- package/clients/cli/commands/theme-eject.doc.mjs +1 -0
- package/clients/cli/commands/theme-list.behavior.test.mjs +6 -0
- package/clients/cli/commands/theme-list.doc.mjs +1 -0
- package/clients/cli/commands/theme-palette-generate.doc.mjs +1 -0
- package/clients/cli/commands/theme-remove.doc.mjs +7 -0
- package/clients/cli/commands/theme-targets.doc.mjs +1 -0
- package/clients/cli/commands/theme-template.doc.mjs +1 -0
- package/clients/cli/commands/theme-use.doc.mjs +7 -0
- package/clients/cli/commands/upgrade.config-ordering.test.mjs +2 -1
- package/clients/cli/commands/upgrade.doc.mjs +22 -1
- package/clients/cli/commands/upgrade.file-protection.test.mjs +3 -2
- package/clients/cli/commands/upgrade.hook-output.test.mjs +2 -1
- package/clients/cli/commands/upgrade.older-cli.test.mjs +160 -0
- package/clients/cli/index.mjs +111 -16
- package/clients/cli/lib/cli-error.mjs +4 -1
- package/clients/cli/lib/component-format.test.mjs +1 -1
- package/clients/cli/lib/define-command.mjs +2 -2
- package/clients/cli/lib/json-shim.mjs +3 -1
- package/clients/cli/lib/manifest.d.ts +9 -0
- package/clients/cli/lib/manifest.mjs +17 -1
- package/clients/cli/lib/manifest.test.mjs +25 -0
- package/foundation/agent-docs/agent-doc-state.d.mts +35 -6
- package/foundation/agent-docs/agent-doc-state.mjs +66 -6
- package/foundation/agent-docs/agent-docs.d.mts +4 -3
- package/foundation/agent-docs/agent-docs.mjs +11 -9
- package/foundation/agent-docs/computer-agent-text.d.mts +133 -0
- package/foundation/agent-docs/computer-agent-text.mjs +623 -0
- package/foundation/agent-docs/computer-agent-text.test.mjs +602 -0
- package/foundation/config/project.d.mts +35 -3
- package/foundation/config/project.mjs +145 -8
- package/foundation/config/project.test.mjs +66 -0
- package/foundation/config/theme-state.mjs +5 -4
- package/foundation/discovery/authoring-self-docs.mjs +1 -1
- package/foundation/discovery/cli-self-docs.mjs +20 -3
- package/foundation/discovery/cli-self-docs.test.mjs +3 -2
- package/foundation/discovery/component-replacement.mjs +2 -1
- package/foundation/discovery/copied-passages.d.mts +216 -0
- package/foundation/discovery/copied-passages.mjs +720 -0
- package/foundation/discovery/copied-passages.test.mjs +124 -0
- package/foundation/discovery/doc-consistency.d.mts +34 -0
- package/foundation/discovery/doc-consistency.mjs +513 -0
- package/foundation/discovery/doc-consistency.test.mjs +347 -0
- package/foundation/discovery/doc-fluff.d.mts +112 -0
- package/foundation/discovery/doc-fluff.mjs +328 -0
- package/foundation/discovery/doc-fluff.test.mjs +142 -0
- package/foundation/discovery/doc-types.d.mts +1 -1
- package/foundation/discovery/doc-types.mjs +15 -8
- package/foundation/discovery/doc-types.test.mjs +94 -2
- package/foundation/discovery/docs-discovery.d.mts +7 -0
- package/foundation/discovery/docs-discovery.mjs +26 -2
- package/foundation/discovery/project-typescript.d.mts +11 -2
- package/foundation/discovery/project-typescript.mjs +32 -4
- package/foundation/discovery/prop-drift.d.mts +26 -7
- package/foundation/discovery/prop-drift.mjs +173 -8
- package/foundation/discovery/prop-drift.test.mjs +120 -2
- package/foundation/discovery/runner-allowlist.d.mts +40 -0
- package/foundation/discovery/runner-allowlist.mjs +53 -0
- package/foundation/discovery/stray-pointers.d.mts +52 -0
- package/foundation/discovery/stray-pointers.mjs +293 -0
- package/foundation/discovery/stray-pointers.test.mjs +86 -0
- package/foundation/discovery/template-needs.mjs +5 -2
- package/foundation/discovery/theme-imports.mjs +8 -4
- package/foundation/discovery/theme-imports.test.mjs +1 -1
- package/foundation/discovery/type-text.mjs +1 -1
- package/foundation/discovery/type-text.test.mjs +1 -1
- package/foundation/doc-compiler/doc-loads.test.mjs +42 -2
- package/foundation/doc-compiler/inputs.mjs +4 -1
- package/foundation/doc-compiler/links.d.mts +32 -0
- package/foundation/doc-compiler/links.mjs +163 -26
- package/foundation/doc-compiler/links.test.mjs +97 -4
- package/foundation/doc-compiler/read.d.mts +1 -1
- package/foundation/doc-compiler/tree.mjs +30 -1
- package/foundation/doc-compiler/tree.test.mjs +8 -1
- package/foundation/env/cli-command.d.mts +83 -0
- package/foundation/env/cli-command.mjs +152 -0
- package/foundation/env/cli-command.test.mjs +129 -0
- package/foundation/env/node-version.test.mjs +15 -3
- package/foundation/env/package-manager.d.mts +93 -9
- package/foundation/env/package-manager.global.test.mjs +66 -0
- package/foundation/env/package-manager.mjs +184 -13
- package/foundation/env/package-manager.test.mjs +341 -15
- package/foundation/env/project-scope.d.mts +9 -0
- package/foundation/env/project-scope.mjs +33 -0
- package/foundation/env/search-path.d.mts +42 -0
- package/foundation/env/search-path.mjs +205 -0
- package/foundation/env/search-path.test.mjs +122 -0
- package/foundation/env/user-dirs.d.mts +39 -0
- package/foundation/env/user-dirs.mjs +93 -0
- package/foundation/env/user-dirs.test.mjs +72 -0
- package/foundation/env/user-settings.d.mts +46 -0
- package/foundation/env/user-settings.mjs +106 -0
- package/foundation/env/user-settings.test.mjs +64 -0
- package/foundation/fs/file-protection.mjs +15 -1
- package/foundation/fs/module-loader.d.mts +2 -1
- package/foundation/fs/module-loader.mjs +60 -4
- package/foundation/fs/module-loader.stdout.test.mjs +3 -2
- package/foundation/fs/module-loader.test.mjs +194 -0
- package/foundation/fs/path-compare.d.mts +33 -0
- package/foundation/fs/path-compare.mjs +73 -0
- package/foundation/fs/paths.d.mts +57 -1
- package/foundation/fs/paths.mjs +131 -3
- package/foundation/fs/paths.test.mjs +10 -1
- package/foundation/integrations/computer-integrations.d.mts +78 -0
- package/foundation/integrations/computer-integrations.mjs +316 -0
- package/foundation/integrations/computer-integrations.test.mjs +292 -0
- package/foundation/integrations/contribution-inventory.d.mts +11 -0
- package/foundation/integrations/contribution-inventory.mjs +50 -2
- package/foundation/integrations/integration-warnings.mjs +3 -2
- package/foundation/integrations/integration-warnings.test.mjs +8 -9
- package/foundation/integrations/integrations.d.mts +25 -1
- package/foundation/integrations/integrations.mjs +46 -3
- package/foundation/integrations/issue.ts +6 -0
- package/foundation/integrations/validate-contributions.d.mts +2 -0
- package/foundation/integrations/validate-contributions.mjs +41 -1
- package/foundation/release/agent-text-worker.d.mts +4 -0
- package/foundation/release/agent-text-worker.mjs +52 -0
- package/foundation/release/cache.d.mts +310 -0
- package/foundation/release/cache.mjs +1216 -0
- package/foundation/release/cache.test.mjs +920 -0
- package/foundation/release/choose.d.mts +207 -0
- package/foundation/release/choose.mjs +677 -0
- package/foundation/release/choose.test.mjs +427 -0
- package/foundation/release/core-worker.d.mts +4 -0
- package/foundation/release/core-worker.mjs +38 -0
- package/foundation/release/global-state.d.mts +259 -0
- package/foundation/release/global-state.mjs +472 -0
- package/foundation/release/global-state.test.mjs +381 -0
- package/foundation/release/handoff.d.mts +60 -0
- package/foundation/release/handoff.e2e.test.mjs +278 -0
- package/foundation/release/handoff.mjs +357 -0
- package/foundation/release/lock-lease.d.mts +23 -0
- package/foundation/release/lock-lease.mjs +80 -0
- package/foundation/release/notices.d.mts +253 -0
- package/foundation/release/notices.mjs +596 -0
- package/foundation/release/notices.test.mjs +565 -0
- package/foundation/release/npm-guard.d.mts +4 -0
- package/foundation/release/npm-guard.mjs +126 -0
- package/foundation/release/project.d.mts +141 -0
- package/foundation/release/project.mjs +466 -0
- package/foundation/release/project.test.mjs +288 -0
- package/foundation/release/refresh-worker.d.mts +4 -0
- package/foundation/release/refresh-worker.mjs +27 -0
- package/foundation/release/run-context.d.mts +47 -0
- package/foundation/release/run-context.mjs +149 -0
- package/foundation/release/update-notice-env.d.mts +28 -0
- package/foundation/release/update-notice-env.mjs +39 -0
- package/foundation/response/base.d.ts +26 -3
- package/foundation/response/error-codes.d.mts +3 -1
- package/foundation/response/error-codes.doc.mjs +12 -0
- package/foundation/response/error-codes.mjs +17 -0
- package/foundation/response/error-codes.test.mjs +2 -0
- package/foundation/response/json-contract.test.mjs +7 -2
- package/foundation/response/json.mjs +4 -1
- package/foundation/response/response-types.doc.mjs +17 -11
- package/foundation/response/response-types.doc.test.mjs +46 -0
- package/foundation/response/response.doc.mjs +3 -3
- package/foundation/xle/browser-imports.test.mjs +74 -0
- package/package.json +11 -11
- package/scripts/postinstall.mjs +24 -5
- /package/assets/codemods/transforms/{next → v0.7.2}/__tests__/migrate-list-edge-compensation-to-edge.test.mjs +0 -0
- /package/assets/codemods/transforms/{next → v0.7.2}/migrate-list-edge-compensation-to-edge.mjs +0 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
// @generated by scripts/sync-api-types.mjs from the JSDoc in foundation/**/*.mjs.
|
|
2
|
+
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {object} GlobalState
|
|
6
|
+
* @property {number} [firstRunAt]
|
|
7
|
+
* @property {number} [checkedAt]
|
|
8
|
+
* @property {number} [checkOkAt]
|
|
9
|
+
* @property {string} [latest]
|
|
10
|
+
* @property {string | null} [latestNode]
|
|
11
|
+
* @property {{at: number, reason: string}} [checkFailed] why the last check
|
|
12
|
+
* did not reach the registry, for diagnosis only (`astryx doctor`); cleared
|
|
13
|
+
* by a check that does. Not part of any contract.
|
|
14
|
+
* @property {{writtenBy?: string, attemptFor?: string, attemptAt?: number}} [agentText]
|
|
15
|
+
* @property {Record<string, number>} [notifiedAt] when each update notice
|
|
16
|
+
* last printed (notices.mjs)
|
|
17
|
+
* @property {Record<string, NoticeSkip>} [noticeSkips] why each update notice
|
|
18
|
+
* last did not print, for diagnosis only: `astryx doctor` shows the newest.
|
|
19
|
+
* Not part of any contract; its shape may change in any release.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Why an update notice did not print: `already-shown` (it printed within the
|
|
23
|
+
* day) or `no-newer` (nothing newer is known). Recorded only while the run
|
|
24
|
+
* holds the state file's lock.
|
|
25
|
+
* @typedef {{reason: 'already-shown' | 'no-newer', at: number}} NoticeSkip
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* The state file.
|
|
29
|
+
* @param {string} [stateDir] the per-user configuration folder
|
|
30
|
+
* @returns {string}
|
|
31
|
+
*/
|
|
32
|
+
export function stateFile(stateDir?: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* The saved state; `{}` when there is none or it cannot be read.
|
|
35
|
+
* @param {string} [stateDir]
|
|
36
|
+
* @returns {GlobalState}
|
|
37
|
+
*/
|
|
38
|
+
export function readGlobalState(stateDir?: string): GlobalState;
|
|
39
|
+
/**
|
|
40
|
+
* Run `change` while holding the state file's lock, so runs that finish at
|
|
41
|
+
* the same moment change the state one at a time: each reads what the one
|
|
42
|
+
* before it wrote. Returns `change`'s result, or `undefined` when the lock
|
|
43
|
+
* cannot be taken in time or the folder cannot be written, in which case
|
|
44
|
+
* nothing changes.
|
|
45
|
+
* @template T
|
|
46
|
+
* @param {string} stateDir
|
|
47
|
+
* @param {() => T} change
|
|
48
|
+
* @returns {T | undefined}
|
|
49
|
+
*/
|
|
50
|
+
export function withStateLock<T>(stateDir: string, change: () => T): T | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Who holds the state file's lock now, read from its owner record, for
|
|
53
|
+
* diagnosis: null when it is free. `since` is when the lock folder was made.
|
|
54
|
+
* @param {string} [stateDir]
|
|
55
|
+
* @returns {{pid: number | null, host: string | null, since: number} | null}
|
|
56
|
+
*/
|
|
57
|
+
export function stateLockHolder(stateDir?: string): {
|
|
58
|
+
pid: number | null;
|
|
59
|
+
host: string | null;
|
|
60
|
+
since: number;
|
|
61
|
+
} | null;
|
|
62
|
+
/**
|
|
63
|
+
* {@link withStateLock}, saying why `change` did not run: the lock stayed
|
|
64
|
+
* taken past the wait (`lock-timeout`), or the folder cannot hold it
|
|
65
|
+
* (`state-unwritable`).
|
|
66
|
+
* @template T
|
|
67
|
+
* @param {string} stateDir
|
|
68
|
+
* @param {() => T} change
|
|
69
|
+
* @returns {{ran: true, value: T} | {ran: false, reason: 'lock-timeout' | 'state-unwritable'}}
|
|
70
|
+
*/
|
|
71
|
+
export function tryStateLock<T>(stateDir: string, change: () => T): {
|
|
72
|
+
ran: true;
|
|
73
|
+
value: T;
|
|
74
|
+
} | {
|
|
75
|
+
ran: false;
|
|
76
|
+
reason: "lock-timeout" | "state-unwritable";
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Write the whole state, atomically. Call only while holding the lock.
|
|
80
|
+
* @param {GlobalState} state
|
|
81
|
+
* @param {string} stateDir
|
|
82
|
+
* @returns {boolean} whether it was written
|
|
83
|
+
*/
|
|
84
|
+
export function writeGlobalState(state: GlobalState, stateDir: string): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Merge `patch` into the saved state under the lock. An unwritable folder
|
|
87
|
+
* never fails a run; the state is simply not kept.
|
|
88
|
+
* @param {Partial<GlobalState>} patch
|
|
89
|
+
* @param {string} [stateDir]
|
|
90
|
+
* @returns {GlobalState}
|
|
91
|
+
*/
|
|
92
|
+
export function updateGlobalState(patch: Partial<GlobalState>, stateDir?: string): GlobalState;
|
|
93
|
+
/**
|
|
94
|
+
* The newest release the last check found, and the Node range it declares;
|
|
95
|
+
* null when no check has reached the registry.
|
|
96
|
+
* @param {string} [stateDir]
|
|
97
|
+
* @returns {{version: string, node: string | null} | null}
|
|
98
|
+
*/
|
|
99
|
+
export function knownLatest(stateDir?: string): {
|
|
100
|
+
version: string;
|
|
101
|
+
node: string | null;
|
|
102
|
+
} | null;
|
|
103
|
+
/**
|
|
104
|
+
* The version of the newest release known, or null.
|
|
105
|
+
* @param {string} [stateDir]
|
|
106
|
+
* @returns {string | null}
|
|
107
|
+
*/
|
|
108
|
+
export function knownLatestRelease(stateDir?: string): string | null;
|
|
109
|
+
/**
|
|
110
|
+
* Record the release that last wrote the computer-level agent text.
|
|
111
|
+
* @param {string | null} version
|
|
112
|
+
* @param {string} [stateDir]
|
|
113
|
+
*/
|
|
114
|
+
export function recordAgentTextWritten(version: string | null, stateDir?: string): void;
|
|
115
|
+
/**
|
|
116
|
+
* The global copy keeps the computer-level agent text installed (spec
|
|
117
|
+
* AST-081 FR8): when the person has not turned it off and the running global
|
|
118
|
+
* version has not written it yet, as after the person upgraded the global
|
|
119
|
+
* copy, that release's own background step writes it, detached, so no command
|
|
120
|
+
* waits. Returns whether a step was started.
|
|
121
|
+
*
|
|
122
|
+
* @param {{
|
|
123
|
+
* release: {version: string, root: string},
|
|
124
|
+
* stateDir?: string,
|
|
125
|
+
* configDir?: string,
|
|
126
|
+
* now?: number,
|
|
127
|
+
* start?: (worker: string, stateDir: string) => void,
|
|
128
|
+
* }} options
|
|
129
|
+
* @returns {boolean}
|
|
130
|
+
*/
|
|
131
|
+
export function maybeKeepAgentText({ release, stateDir, configDir, now, start, }: {
|
|
132
|
+
release: {
|
|
133
|
+
version: string;
|
|
134
|
+
root: string;
|
|
135
|
+
};
|
|
136
|
+
stateDir?: string;
|
|
137
|
+
configDir?: string;
|
|
138
|
+
now?: number;
|
|
139
|
+
start?: (worker: string, stateDir: string) => void;
|
|
140
|
+
}): boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Start the background step that installs this release's Core into the
|
|
143
|
+
* per-user cache, so commands that read Core work offline outside a project
|
|
144
|
+
* after one online run (spec AST-081 FR3, FR6): when the global copy carries
|
|
145
|
+
* no Core beside it and none is cached for its release, no install of it is
|
|
146
|
+
* under way, no recent attempt failed (the release cache's backoff), and
|
|
147
|
+
* `CI` is not set. It never blocks a command, prints nothing, and a failure
|
|
148
|
+
* is retried by a later run's step. Returns whether it was started.
|
|
149
|
+
*
|
|
150
|
+
* Never on Windows: a detached child there inherits the caller's open handles,
|
|
151
|
+
* such as the pipes a tool or agent reads this run's output from, and the
|
|
152
|
+
* caller would wait for the download to end. A component read on Windows
|
|
153
|
+
* fetches the Core itself when it first needs it.
|
|
154
|
+
* @param {{release: {version: string, root: string}, cacheDir: string, env?: NodeJS.ProcessEnv, start?: typeof startWorker, platform?: NodeJS.Platform}} options
|
|
155
|
+
* @returns {boolean}
|
|
156
|
+
*/
|
|
157
|
+
export function maybeFetchCore({ release, cacheDir, env, start, platform, }: {
|
|
158
|
+
release: {
|
|
159
|
+
version: string;
|
|
160
|
+
root: string;
|
|
161
|
+
};
|
|
162
|
+
cacheDir: string;
|
|
163
|
+
env?: NodeJS.ProcessEnv;
|
|
164
|
+
start?: typeof startWorker;
|
|
165
|
+
platform?: NodeJS.Platform;
|
|
166
|
+
}): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Start the background check when one is due: never when the environment
|
|
169
|
+
* turns update notices off (`CI`, `NO_UPDATE_NOTIFIER`), never in the first
|
|
170
|
+
* day after the first run, and at most once a day. Returns whether a check
|
|
171
|
+
* was started.
|
|
172
|
+
*
|
|
173
|
+
* @param {{
|
|
174
|
+
* stateDir?: string,
|
|
175
|
+
* now?: number,
|
|
176
|
+
* env?: Record<string, string | undefined>,
|
|
177
|
+
* start?: (worker: string, stateDir: string) => void,
|
|
178
|
+
* }} [options]
|
|
179
|
+
* @returns {boolean}
|
|
180
|
+
*/
|
|
181
|
+
export function maybeStartCheck(options?: {
|
|
182
|
+
stateDir?: string;
|
|
183
|
+
now?: number;
|
|
184
|
+
env?: Record<string, string | undefined>;
|
|
185
|
+
start?: (worker: string, stateDir: string) => void;
|
|
186
|
+
}): boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Why the last update check did not reach the registry, when it failed after
|
|
189
|
+
* the last one that did; null otherwise. For diagnosis only.
|
|
190
|
+
* @param {string} [stateDir]
|
|
191
|
+
* @returns {{at: number, reason: string} | null}
|
|
192
|
+
*/
|
|
193
|
+
export function lastCheckFailure(stateDir?: string): {
|
|
194
|
+
at: number;
|
|
195
|
+
reason: string;
|
|
196
|
+
} | null;
|
|
197
|
+
/**
|
|
198
|
+
* The check itself: ask the registry for `latest` and save what it says. It
|
|
199
|
+
* installs nothing. At most one check runs at a time.
|
|
200
|
+
* @param {{stateDir?: string, resolve?: typeof resolveLatestRelease}} [options]
|
|
201
|
+
* @returns {GlobalState}
|
|
202
|
+
*/
|
|
203
|
+
export function runCheck(options?: {
|
|
204
|
+
stateDir?: string;
|
|
205
|
+
resolve?: typeof resolveLatestRelease;
|
|
206
|
+
}): GlobalState;
|
|
207
|
+
/** How often a check may start: once a day, as `gh` and update-notifier do. */
|
|
208
|
+
export const CHECK_INTERVAL_MS: number;
|
|
209
|
+
/** A background attempt to write the agent text is retried after an hour. */
|
|
210
|
+
export const AGENT_TEXT_RETRY_MS: number;
|
|
211
|
+
export type GlobalState = {
|
|
212
|
+
firstRunAt?: number | undefined;
|
|
213
|
+
checkedAt?: number | undefined;
|
|
214
|
+
checkOkAt?: number | undefined;
|
|
215
|
+
latest?: string | undefined;
|
|
216
|
+
latestNode?: string | null | undefined;
|
|
217
|
+
/**
|
|
218
|
+
* why the last check
|
|
219
|
+
* did not reach the registry, for diagnosis only (`astryx doctor`); cleared
|
|
220
|
+
* by a check that does. Not part of any contract.
|
|
221
|
+
*/
|
|
222
|
+
checkFailed?: {
|
|
223
|
+
at: number;
|
|
224
|
+
reason: string;
|
|
225
|
+
} | undefined;
|
|
226
|
+
agentText?: {
|
|
227
|
+
writtenBy?: string;
|
|
228
|
+
attemptFor?: string;
|
|
229
|
+
attemptAt?: number;
|
|
230
|
+
} | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* when each update notice
|
|
233
|
+
* last printed (notices.mjs)
|
|
234
|
+
*/
|
|
235
|
+
notifiedAt?: Record<string, number> | undefined;
|
|
236
|
+
/**
|
|
237
|
+
* why each update notice
|
|
238
|
+
* last did not print, for diagnosis only: `astryx doctor` shows the newest.
|
|
239
|
+
* Not part of any contract; its shape may change in any release.
|
|
240
|
+
*/
|
|
241
|
+
noticeSkips?: Record<string, NoticeSkip> | undefined;
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Why an update notice did not print: `already-shown` (it printed within the
|
|
245
|
+
* day) or `no-newer` (nothing newer is known). Recorded only while the run
|
|
246
|
+
* holds the state file's lock.
|
|
247
|
+
*/
|
|
248
|
+
export type NoticeSkip = {
|
|
249
|
+
reason: "already-shown" | "no-newer";
|
|
250
|
+
at: number;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Start a detached worker that outlives this run and reaches no stream.
|
|
254
|
+
* @param {string} worker
|
|
255
|
+
* @param {string} stateDir
|
|
256
|
+
*/
|
|
257
|
+
declare function startWorker(worker: string, stateDir: string): void;
|
|
258
|
+
import { resolveLatestRelease } from './cache.mjs';
|
|
259
|
+
export {};
|