@visulima/vis 1.0.0-alpha.8 → 1.0.0
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 +1915 -41
- package/LICENSE.md +13554 -6
- package/README.md +264 -32
- package/bin/resolve-binary.mjs +85 -0
- package/bin/vis.mjs +76 -0
- package/dashboard/dist/index.html +152 -0
- package/dist/bin.d.ts +1 -1
- package/dist/bin.js +1 -1004
- package/dist/binx.js +3 -0
- package/dist/config/index.d.ts +3276 -0
- package/dist/config/index.js +1 -0
- package/dist/generate/index.d.ts +155 -30
- package/dist/generate/index.js +1 -1
- package/dist/packem_chunks/CONFIG_FILES.js +8 -0
- package/dist/packem_chunks/DEFAULT_CLEAN_KEEP.js +1 -0
- package/dist/packem_chunks/agent-instructions.js +11 -0
- package/dist/packem_chunks/bloom-status.js +2 -0
- package/dist/packem_chunks/bloom-sync.js +2 -0
- package/dist/packem_chunks/cache-attestation.js +1 -0
- package/dist/packem_chunks/catalog-detector.js +1 -0
- package/dist/packem_chunks/catalog.js +114 -0
- package/dist/packem_chunks/cli-exec.js +1 -0
- package/dist/packem_chunks/cli-main.js +268 -0
- package/dist/packem_chunks/defineReleasePlugin.js +3 -0
- package/dist/packem_chunks/detect.js +3 -0
- package/dist/packem_chunks/detect2.js +8 -0
- package/dist/packem_chunks/devtools.js +4 -0
- package/dist/packem_chunks/discord.js +4 -0
- package/dist/packem_chunks/dispatch.js +4 -0
- package/dist/packem_chunks/doctor-probe.js +2 -0
- package/dist/packem_chunks/dynamic-import.js +1 -0
- package/dist/packem_chunks/extra-files.js +3 -0
- package/dist/packem_chunks/fix.js +11 -0
- package/dist/packem_chunks/git.js +3 -0
- package/dist/packem_chunks/group-tags.js +1 -0
- package/dist/packem_chunks/handler.js +1 -0
- package/dist/packem_chunks/handler10.js +5 -0
- package/dist/packem_chunks/handler11.js +1 -0
- package/dist/packem_chunks/handler12.js +27 -0
- package/dist/packem_chunks/handler13.js +5 -0
- package/dist/packem_chunks/handler14.js +1 -0
- package/dist/packem_chunks/handler15.js +1 -0
- package/dist/packem_chunks/handler16.js +1 -0
- package/dist/packem_chunks/handler17.js +1 -0
- package/dist/packem_chunks/handler18.js +1 -0
- package/dist/packem_chunks/handler19.js +5 -0
- package/dist/packem_chunks/handler2.js +1 -0
- package/dist/packem_chunks/handler20.js +2 -0
- package/dist/packem_chunks/handler21.js +2 -0
- package/dist/packem_chunks/handler22.js +14 -0
- package/dist/packem_chunks/handler23.js +1 -0
- package/dist/packem_chunks/handler24.js +1 -0
- package/dist/packem_chunks/handler25.js +1 -0
- package/dist/packem_chunks/handler26.js +5 -0
- package/dist/packem_chunks/handler27.js +1 -0
- package/dist/packem_chunks/handler28.js +3 -0
- package/dist/packem_chunks/handler29.js +1 -0
- package/dist/packem_chunks/handler3.js +4 -0
- package/dist/packem_chunks/handler30.js +1 -0
- package/dist/packem_chunks/handler31.js +2 -0
- package/dist/packem_chunks/handler32.js +2 -0
- package/dist/packem_chunks/handler33.js +2 -0
- package/dist/packem_chunks/handler34.js +3 -0
- package/dist/packem_chunks/handler35.js +6 -0
- package/dist/packem_chunks/handler36.js +1 -0
- package/dist/packem_chunks/handler37.js +42 -0
- package/dist/packem_chunks/handler38.js +8 -0
- package/dist/packem_chunks/handler39.js +9 -0
- package/dist/packem_chunks/handler4.js +4 -0
- package/dist/packem_chunks/handler40.js +75 -0
- package/dist/packem_chunks/handler41.js +5 -0
- package/dist/packem_chunks/handler42.js +4 -0
- package/dist/packem_chunks/handler43.js +3 -0
- package/dist/packem_chunks/handler44.js +2 -0
- package/dist/packem_chunks/handler45.js +1 -0
- package/dist/packem_chunks/handler46.js +1 -0
- package/dist/packem_chunks/handler47.js +1 -0
- package/dist/packem_chunks/handler48.js +3 -0
- package/dist/packem_chunks/handler49.js +1 -0
- package/dist/packem_chunks/handler5.js +6 -0
- package/dist/packem_chunks/handler50.js +7 -0
- package/dist/packem_chunks/handler51.js +33 -0
- package/dist/packem_chunks/handler52.js +3 -0
- package/dist/packem_chunks/handler53.js +8 -0
- package/dist/packem_chunks/handler54.js +4 -0
- package/dist/packem_chunks/handler55.js +1 -0
- package/dist/packem_chunks/handler56.js +12 -0
- package/dist/packem_chunks/handler57.js +11 -0
- package/dist/packem_chunks/handler58.js +5 -0
- package/dist/packem_chunks/handler59.js +11 -0
- package/dist/packem_chunks/handler6.js +8 -0
- package/dist/packem_chunks/handler60.js +3 -0
- package/dist/packem_chunks/handler61.js +22 -0
- package/dist/packem_chunks/handler62.js +61 -0
- package/dist/packem_chunks/handler63.js +3 -0
- package/dist/packem_chunks/handler64.js +6 -0
- package/dist/packem_chunks/handler65.js +9 -0
- package/dist/packem_chunks/handler66.js +2 -0
- package/dist/packem_chunks/handler67.js +24 -0
- package/dist/packem_chunks/handler68.js +25 -0
- package/dist/packem_chunks/handler69.js +153 -0
- package/dist/packem_chunks/handler7.js +1 -0
- package/dist/packem_chunks/handler70.js +10 -0
- package/dist/packem_chunks/handler71.js +23 -0
- package/dist/packem_chunks/handler72.js +322 -0
- package/dist/packem_chunks/handler73.js +708 -0
- package/dist/packem_chunks/handler74.js +48 -0
- package/dist/packem_chunks/handler75.js +27 -0
- package/dist/packem_chunks/handler76.js +3 -0
- package/dist/packem_chunks/handler77.js +190 -0
- package/dist/packem_chunks/handler78.js +38 -0
- package/dist/packem_chunks/handler8.js +1 -0
- package/dist/packem_chunks/handler9.js +1 -0
- package/dist/packem_chunks/heal-accept.js +10 -0
- package/dist/packem_chunks/heal.js +14 -0
- package/dist/packem_chunks/help-command.js +31 -0
- package/dist/packem_chunks/index.js +1 -7
- package/dist/packem_chunks/index2.js +802 -0
- package/dist/packem_chunks/index3.js +7 -0
- package/dist/packem_chunks/index4.js +135 -0
- package/dist/packem_chunks/index5.js +74 -0
- package/dist/packem_chunks/interface.js +2 -0
- package/dist/packem_chunks/keys-refresh.js +4 -0
- package/dist/packem_chunks/lean.js +4 -0
- package/dist/packem_chunks/list.js +3 -0
- package/dist/packem_chunks/loader.js +4 -1
- package/dist/packem_chunks/loader2.js +1 -0
- package/dist/packem_chunks/orchestrator.js +42 -0
- package/dist/packem_chunks/pre-mode.js +2 -0
- package/dist/packem_chunks/print-config.js +2 -0
- package/dist/packem_chunks/prompts.js +7 -0
- package/dist/packem_chunks/prune.js +3 -0
- package/dist/packem_chunks/publish-guards.js +1 -0
- package/dist/packem_chunks/registry.js +48 -0
- package/dist/packem_chunks/resolveFormatter.js +9 -0
- package/dist/packem_chunks/run.js +1 -0
- package/dist/packem_chunks/security.js +1 -0
- package/dist/packem_chunks/shell-runner.js +1 -0
- package/dist/packem_chunks/slack.js +2 -0
- package/dist/packem_chunks/snapshot.js +2 -0
- package/dist/packem_chunks/stage-publisher.js +1 -0
- package/dist/packem_chunks/staged-registry.js +2 -0
- package/dist/packem_chunks/state.js +3 -0
- package/dist/packem_chunks/status.js +2 -0
- package/dist/packem_chunks/success-walk.js +8 -0
- package/dist/packem_chunks/sync.js +2 -0
- package/dist/packem_chunks/sync2.js +2 -0
- package/dist/packem_chunks/tar.js +3 -0
- package/dist/packem_chunks/tripwire.js +2 -0
- package/dist/packem_chunks/ts-loader.js +22 -0
- package/dist/packem_chunks/verify-lockfile.js +2 -0
- package/dist/packem_chunks/version-resolver.js +2 -0
- package/dist/packem_chunks/webhook.js +1 -0
- package/dist/packem_chunks/workflow-templates.js +167 -0
- package/dist/packem_chunks/workspace.js +2 -0
- package/dist/packem_shared/AfterAllProjectsVersioned-CAKI2nWf.js +1 -0
- package/dist/packem_shared/MultiSpinner-B9U0-aE3-B-gIXhFk.js +3 -0
- package/dist/packem_shared/ReleaseClient-BY4OZNCK.js +1 -0
- package/dist/packem_shared/Table-CcVkyULl-DLWu6XHL.js +34 -0
- package/dist/packem_shared/VisReleaseError-DMGRBTNO.js +1 -0
- package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +1 -0
- package/dist/packem_shared/advisories-B76fBVL-.js +1 -0
- package/dist/packem_shared/affected-shas-CCxG4tvm.js +1 -0
- package/dist/packem_shared/ai-analysis-BpVdn20h.js +68 -0
- package/dist/packem_shared/ai-fix-CeGzAT9m.js +43 -0
- package/dist/packem_shared/anolilab-text-CAM_E6uK.js +13 -0
- package/dist/packem_shared/api.d-BPftyU9r.d.ts +27 -0
- package/dist/packem_shared/augment-DaSS2Lgs.js +4 -0
- package/dist/packem_shared/bin-BlGVEhl8.js +1 -0
- package/dist/packem_shared/build-scripts-q__dKE2y.js +1 -0
- package/dist/packem_shared/command-runtime-3FTGuUsK.js +1 -0
- package/dist/packem_shared/compile-cache-B_Vf_WxT.js +3 -0
- package/dist/packem_shared/createAdapter-bU4DIP3F.js +1 -0
- package/dist/packem_shared/createVersionActions-BK43SNDH.js +1 -0
- package/dist/packem_shared/cyclonedx-CmrYQ0vx.js +4 -0
- package/dist/packem_shared/defineFormatter-D5dCp6Kv.js +1 -0
- package/dist/packem_shared/definePlugin-DoUcoYSy.js +1 -0
- package/dist/packem_shared/dependency-scan-DpOFiZuI.js +1 -0
- package/dist/packem_shared/docker-BYqiD711.js +59 -0
- package/dist/packem_shared/env-DdQRnEIy.js +27 -0
- package/dist/packem_shared/failure-log-CKMhqLWr.js +2 -0
- package/dist/packem_shared/giget-DVTFJlbR.js +2 -0
- package/dist/packem_shared/glob-fqg4KepW-1S3z30c8.js +1 -0
- package/dist/packem_shared/index-B0EsgdzO.js +1 -0
- package/dist/packem_shared/index-CE6MsgcV.js +22 -0
- package/dist/packem_shared/index-Cg0IHaFI.js +1 -0
- package/dist/packem_shared/index-Cg71MisW.js +1 -0
- package/dist/packem_shared/index-DjTWo3sH.js +1 -0
- package/dist/packem_shared/index-jJNulo5i.js +28 -0
- package/dist/packem_shared/index.server-J83sowC4.js +2 -0
- package/dist/packem_shared/interface.d-B7VK2rcH.d.ts +148 -0
- package/dist/packem_shared/interface.d-Cezzifoh.d.ts +106 -0
- package/dist/packem_shared/license-t5KnNX6v.js +1 -0
- package/dist/packem_shared/lifecycle-aDTZ8dW1.js +2 -0
- package/dist/packem_shared/lockfile-C1qCKGH6.js +1 -0
- package/dist/packem_shared/main-B3juSU5z.js +1 -0
- package/dist/packem_shared/manifests-DSBr3-dw.js +1 -0
- package/dist/packem_shared/min-release-age-C71MO72F.js +34 -0
- package/dist/packem_shared/missing-package-json-CTF71tE5.js +1 -0
- package/dist/packem_shared/native-config-sync-D-z2Uwqu.js +21 -0
- package/dist/packem_shared/osv-bloom-DMhXP184.js +2 -0
- package/dist/packem_shared/otelPlugin-DmKDBaPo.js +1 -0
- package/dist/packem_shared/packument-aGzYwXKn.js +1 -0
- package/dist/packem_shared/peer-warnings-BXAzXqY3.js +1 -0
- package/dist/packem_shared/plugins.d-ND23R9I3.d.ts +4 -0
- package/dist/packem_shared/pm-runner-CQcraCcu.js +1 -0
- package/dist/packem_shared/prompt-DjXHVgYU.js +1 -0
- package/dist/packem_shared/provenance-S7y0BRAt.js +1 -0
- package/dist/packem_shared/public-api-WqUCiyIe.js +131 -0
- package/dist/packem_shared/readJsonSync-DuMMeB3s-ihoybKvs.js +1 -0
- package/dist/packem_shared/registry-keys-CRnXATt2.js +1 -0
- package/dist/packem_shared/resolve-explicit-CJGazevw.js +5 -0
- package/dist/packem_shared/resolve-runtime-QRaQucfL.js +1 -0
- package/dist/packem_shared/run-file-DD7Ne23Z.js +1 -0
- package/dist/packem_shared/runtime-check-qnrPTlma.js +1 -0
- package/dist/packem_shared/runtime-process-Dmz0vCJy-DUwTvH1J.js +1 -0
- package/dist/packem_shared/s1ngularity-BLj4Jy8z.js +1 -0
- package/dist/packem_shared/scan-progress-BDcl7Kty.js +2 -0
- package/dist/packem_shared/selectors-D4iCvITE.js +3 -0
- package/dist/packem_shared/signatures-DoNG2hEr.js +2 -0
- package/dist/packem_shared/slug-DoueYuLo.js +1 -0
- package/dist/packem_shared/spinner-DuJJvFTl.js +1 -0
- package/dist/packem_shared/sticky-comment-D6_7-w8T.js +1 -0
- package/dist/packem_shared/subtree-C7bZuiSQ.js +2 -0
- package/dist/packem_shared/symbols-DPTlrJ3B.js +1 -0
- package/dist/packem_shared/tabs-CgxCvjCY.js +1 -0
- package/dist/packem_shared/target-merge-Dg25Izl5.js +11 -0
- package/dist/packem_shared/target-options-CR0OuYJr.js +1 -0
- package/dist/packem_shared/toolchain-Zb3VzZb4.js +5 -0
- package/dist/packem_shared/typosquats-C12CP_2G.js +1 -0
- package/dist/packem_shared/use-measured-height-CjS7Tks7.js +1 -0
- package/dist/packem_shared/utils-CRueU43T.js +1 -0
- package/dist/packem_shared/verify-DStfg3nb.js +1 -0
- package/dist/packem_shared/vis-update-app-BlocL713.js +1 -0
- package/dist/packem_shared/watch-BXNI7dC6.js +1 -0
- package/dist/packem_shared/watch-loop-BZudYfcl.js +11 -0
- package/dist/release/core/changelog/index.d.ts +5 -0
- package/dist/release/core/changelog/index.js +1 -0
- package/dist/release/core/package-managers/index.d.ts +6 -0
- package/dist/release/core/package-managers/index.js +1 -0
- package/dist/release/core/version-actions/index.d.ts +14 -0
- package/dist/release/core/version-actions/index.js +1 -0
- package/dist/release/index.d.ts +233 -0
- package/dist/release/index.js +1 -0
- package/dist/release/plugin-sdk.d.ts +128 -0
- package/dist/release/plugin-sdk.js +1 -0
- package/dist/release/presets.d.ts +225 -0
- package/dist/release/presets.js +1 -0
- package/dist/release/types.d.ts +1493 -0
- package/dist/release/types.js +1 -0
- package/dist/runtime/preload.d.ts +1 -0
- package/dist/runtime/preload.js +1 -0
- package/index.d.ts +450 -0
- package/index.js +579 -728
- package/package.json +103 -52
- package/schemas/project.schema.json +873 -226
- package/schemas/vis-config.schema.json +6332 -241
- package/schemas/vis-release-config.schema.json +1423 -0
- package/skills/vis/SKILL.md +96 -0
- package/templates/buildkite-ci/.buildkite/pipeline.yml.tera +85 -0
- package/templates/buildkite-ci/template.yml +20 -0
- package/dist/ai-analysis.d.ts +0 -26
- package/dist/ai-cache.d.ts +0 -21
- package/dist/ai-types.d.ts +0 -16
- package/dist/audit-config.d.ts +0 -24
- package/dist/cache-directory.d.ts +0 -73
- package/dist/catalog.d.ts +0 -136
- package/dist/codeowners.d.ts +0 -30
- package/dist/commands/action-graph.d.ts +0 -8
- package/dist/commands/add.d.ts +0 -3
- package/dist/commands/affected.d.ts +0 -3
- package/dist/commands/ai.d.ts +0 -3
- package/dist/commands/analyze.d.ts +0 -3
- package/dist/commands/approve-builds.d.ts +0 -3
- package/dist/commands/audit.d.ts +0 -23
- package/dist/commands/cache.d.ts +0 -86
- package/dist/commands/check.d.ts +0 -3
- package/dist/commands/ci.d.ts +0 -19
- package/dist/commands/clean.d.ts +0 -3
- package/dist/commands/create/discovery.d.ts +0 -42
- package/dist/commands/create/index.d.ts +0 -13
- package/dist/commands/create/prompts.d.ts +0 -31
- package/dist/commands/create/random-name.d.ts +0 -15
- package/dist/commands/create/templates/builtin.d.ts +0 -15
- package/dist/commands/create/templates/generator.d.ts +0 -14
- package/dist/commands/create/templates/index.d.ts +0 -13
- package/dist/commands/create/templates/monorepo.d.ts +0 -16
- package/dist/commands/create/templates/remote.d.ts +0 -41
- package/dist/commands/create/templates/types.d.ts +0 -46
- package/dist/commands/create/utils.d.ts +0 -42
- package/dist/commands/dedupe.d.ts +0 -3
- package/dist/commands/devcontainer.d.ts +0 -3
- package/dist/commands/dlx.d.ts +0 -3
- package/dist/commands/docker.d.ts +0 -22
- package/dist/commands/doctor.d.ts +0 -15
- package/dist/commands/exec.d.ts +0 -3
- package/dist/commands/generate.d.ts +0 -10
- package/dist/commands/graph.d.ts +0 -3
- package/dist/commands/hook/constants.d.ts +0 -13
- package/dist/commands/hook/index.d.ts +0 -3
- package/dist/commands/hook/install.d.ts +0 -7
- package/dist/commands/hook/list.d.ts +0 -28
- package/dist/commands/hook/migrate.d.ts +0 -30
- package/dist/commands/hook/prek-builtins.d.ts +0 -8
- package/dist/commands/hook/prek.d.ts +0 -129
- package/dist/commands/hook/run.d.ts +0 -21
- package/dist/commands/hook/uninstall.d.ts +0 -3
- package/dist/commands/hook/validate.d.ts +0 -17
- package/dist/commands/ignore-helpers.d.ts +0 -157
- package/dist/commands/ignore.d.ts +0 -17
- package/dist/commands/implode.d.ts +0 -3
- package/dist/commands/info.d.ts +0 -3
- package/dist/commands/init.d.ts +0 -14
- package/dist/commands/install.d.ts +0 -3
- package/dist/commands/link.d.ts +0 -3
- package/dist/commands/list.d.ts +0 -3
- package/dist/commands/migrate/backup.d.ts +0 -8
- package/dist/commands/migrate/constants.d.ts +0 -16
- package/dist/commands/migrate/deps.d.ts +0 -32
- package/dist/commands/migrate/gitleaks.d.ts +0 -29
- package/dist/commands/migrate/index.d.ts +0 -3
- package/dist/commands/migrate/json.d.ts +0 -22
- package/dist/commands/migrate/kingfisher.d.ts +0 -14
- package/dist/commands/migrate/lint-staged.d.ts +0 -62
- package/dist/commands/migrate/moon.d.ts +0 -5
- package/dist/commands/migrate/nano-staged.d.ts +0 -30
- package/dist/commands/migrate/nx.d.ts +0 -12
- package/dist/commands/migrate/prompt.d.ts +0 -2
- package/dist/commands/migrate/secretlint.d.ts +0 -14
- package/dist/commands/migrate/shared.d.ts +0 -29
- package/dist/commands/migrate/turborepo.d.ts +0 -11
- package/dist/commands/migrate/types.d.ts +0 -27
- package/dist/commands/migrate/verify.d.ts +0 -12
- package/dist/commands/optimize.d.ts +0 -38
- package/dist/commands/pm.d.ts +0 -3
- package/dist/commands/remove.d.ts +0 -3
- package/dist/commands/run.d.ts +0 -16
- package/dist/commands/sbom.d.ts +0 -10
- package/dist/commands/secrets.d.ts +0 -3
- package/dist/commands/sort-package-json.d.ts +0 -3
- package/dist/commands/staged.d.ts +0 -10
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/sync.d.ts +0 -16
- package/dist/commands/task-why.d.ts +0 -3
- package/dist/commands/unlink.d.ts +0 -3
- package/dist/commands/update.d.ts +0 -3
- package/dist/commands/upgrade.d.ts +0 -3
- package/dist/commands/why.d.ts +0 -3
- package/dist/config.d.ts +0 -82
- package/dist/config.js +0 -1
- package/dist/docker.d.ts +0 -73
- package/dist/flakiness.d.ts +0 -40
- package/dist/generate/discover.d.ts +0 -29
- package/dist/generate/loader.d.ts +0 -15
- package/dist/generate/moon-adapter/filename-interp.d.ts +0 -42
- package/dist/generate/moon-adapter/filters.d.ts +0 -22
- package/dist/generate/moon-adapter/frontmatter.d.ts +0 -39
- package/dist/generate/moon-adapter/index.d.ts +0 -19
- package/dist/generate/moon-adapter/tera-subset.d.ts +0 -85
- package/dist/generate/moon-adapter/util.d.ts +0 -14
- package/dist/generate/prompts.d.ts +0 -25
- package/dist/generate/remote.d.ts +0 -43
- package/dist/generate/runner.d.ts +0 -37
- package/dist/generate/types.d.ts +0 -152
- package/dist/hooks.d.ts +0 -118
- package/dist/native-binding.d.ts +0 -158
- package/dist/output.d.ts +0 -40
- package/dist/overrides.d.ts +0 -82
- package/dist/package-manager.d.ts +0 -23
- package/dist/packem_shared/otelPlugin-CJLkguJ8.js +0 -1
- package/dist/plugins/config-loader.d.ts +0 -3
- package/dist/plugins/otel.d.ts +0 -63
- package/dist/plugins/post-command.d.ts +0 -3
- package/dist/plugins/security-enforcement.d.ts +0 -3
- package/dist/pm-runner.d.ts +0 -44
- package/dist/run-report.d.ts +0 -40
- package/dist/runtime-check.d.ts +0 -27
- package/dist/sbom/cyclonedx.d.ts +0 -39
- package/dist/sbom/installed-package.d.ts +0 -49
- package/dist/sbom/license.d.ts +0 -31
- package/dist/sbom/lockfile.d.ts +0 -34
- package/dist/sbom/purl.d.ts +0 -25
- package/dist/sbom/resolve-specifier.d.ts +0 -24
- package/dist/sbom/types.d.ts +0 -196
- package/dist/secrets/baseline.d.ts +0 -20
- package/dist/secrets/format.d.ts +0 -14
- package/dist/secrets/git.d.ts +0 -6
- package/dist/secrets/spinner.d.ts +0 -9
- package/dist/security.d.ts +0 -64
- package/dist/selectors.d.ts +0 -81
- package/dist/shell-history.d.ts +0 -16
- package/dist/socket-security.d.ts +0 -129
- package/dist/staged/cli-parse.d.ts +0 -18
- package/dist/staged/config.d.ts +0 -14
- package/dist/staged/errors/apply-empty-commit-error.d.ts +0 -4
- package/dist/staged/errors/config-error.d.ts +0 -4
- package/dist/staged/errors/get-backup-stash-error.d.ts +0 -4
- package/dist/staged/errors/git-error.d.ts +0 -6
- package/dist/staged/errors/index.d.ts +0 -12
- package/dist/staged/errors/restore-original-state-error.d.ts +0 -4
- package/dist/staged/errors/staged-error.d.ts +0 -8
- package/dist/staged/errors/task-error.d.ts +0 -6
- package/dist/staged/git/diff.d.ts +0 -76
- package/dist/staged/git/exec.d.ts +0 -43
- package/dist/staged/git/index.d.ts +0 -77
- package/dist/staged/git/stash.d.ts +0 -37
- package/dist/staged/index.d.ts +0 -13
- package/dist/staged/match.d.ts +0 -12
- package/dist/staged/renderer/index.d.ts +0 -9
- package/dist/staged/renderer/ink/index.d.ts +0 -4
- package/dist/staged/renderer/plain.d.ts +0 -12
- package/dist/staged/tasks/build.d.ts +0 -13
- package/dist/staged/tasks/exec.d.ts +0 -56
- package/dist/staged/tasks/run.d.ts +0 -26
- package/dist/staged/types.d.ts +0 -173
- package/dist/target-discovery.d.ts +0 -59
- package/dist/target-options.d.ts +0 -261
- package/dist/tips.d.ts +0 -41
- package/dist/tui/components/CheckProgressApp.d.ts +0 -6
- package/dist/tui/components/CommandSummary.d.ts +0 -17
- package/dist/tui/components/Header.d.ts +0 -13
- package/dist/tui/components/OutputPanel.d.ts +0 -17
- package/dist/tui/components/QuitDialog.d.ts +0 -15
- package/dist/tui/components/TaskListPanel.d.ts +0 -19
- package/dist/tui/components/TaskRow.d.ts +0 -12
- package/dist/tui/components/TaskStore.d.ts +0 -80
- package/dist/tui/components/VisTaskRunnerApp.d.ts +0 -17
- package/dist/tui/components/devcontainer/DevcontainerStore.d.ts +0 -66
- package/dist/tui/components/devcontainer/VisDevcontainerApp.d.ts +0 -9
- package/dist/tui/components/devcontainer/catalogs/extensions.d.ts +0 -8
- package/dist/tui/components/devcontainer/catalogs/features.d.ts +0 -8
- package/dist/tui/components/devcontainer/catalogs/filters.d.ts +0 -4
- package/dist/tui/components/devcontainer/catalogs/mount-suggestions.d.ts +0 -19
- package/dist/tui/components/devcontainer/catalogs/templates.d.ts +0 -8
- package/dist/tui/components/devcontainer/devcontainer-io.d.ts +0 -14
- package/dist/tui/components/devcontainer/sections/DockerComposeSection.d.ts +0 -11
- package/dist/tui/components/devcontainer/sections/EnvironmentSection.d.ts +0 -16
- package/dist/tui/components/devcontainer/sections/ExtensionsSection.d.ts +0 -11
- package/dist/tui/components/devcontainer/sections/FeaturesSection.d.ts +0 -11
- package/dist/tui/components/devcontainer/sections/GeneralSection.d.ts +0 -12
- package/dist/tui/components/devcontainer/sections/LifecycleSection.d.ts +0 -13
- package/dist/tui/components/devcontainer/sections/MountsSection.d.ts +0 -16
- package/dist/tui/components/devcontainer/sections/PortsSection.d.ts +0 -10
- package/dist/tui/components/devcontainer/sections/PreviewPanel.d.ts +0 -11
- package/dist/tui/components/devcontainer/types.d.ts +0 -53
- package/dist/tui/components/devcontainer/validate.d.ts +0 -16
- package/dist/tui/components/graph/GraphStore.d.ts +0 -42
- package/dist/tui/components/graph/ProjectDetailPanel.d.ts +0 -10
- package/dist/tui/components/graph/ProjectListPanel.d.ts +0 -20
- package/dist/tui/components/graph/VisGraphApp.d.ts +0 -8
- package/dist/tui/components/optimize/OptimizeDetailPanel.d.ts +0 -9
- package/dist/tui/components/optimize/OptimizeListPanel.d.ts +0 -16
- package/dist/tui/components/optimize/OptimizeStore.d.ts +0 -50
- package/dist/tui/components/optimize/VisOptimizeApp.d.ts +0 -8
- package/dist/tui/components/optimize/constants.d.ts +0 -7
- package/dist/tui/components/update/PackageDetailPanel.d.ts +0 -12
- package/dist/tui/components/update/PackageListPanel.d.ts +0 -21
- package/dist/tui/components/update/UpdateStore.d.ts +0 -62
- package/dist/tui/components/update/VisUpdateApp.d.ts +0 -18
- package/dist/tui/dynamic-life-cycle.d.ts +0 -22
- package/dist/tui/formatting-utils.d.ts +0 -17
- package/dist/tui/pretty-time.d.ts +0 -8
- package/dist/tui/static-life-cycle.d.ts +0 -28
- package/dist/tui/status-utils.d.ts +0 -20
- package/dist/tui/symbols.d.ts +0 -7
- package/dist/tui/types.d.ts +0 -11
- package/dist/typosquats.d.ts +0 -70
- package/dist/upgrade-check.d.ts +0 -30
- package/dist/utils.d.ts +0 -22
- package/dist/watch.d.ts +0 -65
- package/dist/workspace.d.ts +0 -675
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vis
|
|
3
|
+
description: Use when the workspace contains a vis.config.ts (or vis.config.js/json) at the repo root, or when the user mentions "vis", "task-runner", or "@visulima/vis". This skill orchestrates the vis MCP server's eight read-only tools to inspect projects, plan task graphs, and diagnose remote-cache rotations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Working with the `vis` task runner
|
|
7
|
+
|
|
8
|
+
`vis` is the Visulima monorepo task runner — a Turborepo/Nx-class tool with a remote cache, REAPI gRPC backend, and project graph. When this skill is active you have the **`@visulima/vis-mcp` server** mounted, exposing eight read-only tools. Use them in preference to running `vis` shell commands yourself: the tools give you structured JSON and run faster.
|
|
9
|
+
|
|
10
|
+
The MCP server deliberately does NOT execute targets or scaffold templates — Nx-style "agent prepares, human executes". When the user wants to run `<project>:<target>` or `vis generate <template>`, prepare the command (use `list_targets`/`describe_template` to confirm it exists and capture required arguments) and ask the user to run it themselves; afterwards use `get_run_logs` to read the result of any task run.
|
|
11
|
+
|
|
12
|
+
## Tools available
|
|
13
|
+
|
|
14
|
+
| Tool | Purpose |
|
|
15
|
+
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
16
|
+
| `list_projects` | All projects in the workspace, optionally filtered by a vis query (`tag=frontend`, `type=application`, …) |
|
|
17
|
+
| `describe_project` | Full metadata for one project: language, layer, tags, root path, all targets |
|
|
18
|
+
| `list_targets` | Per-target rows across the workspace, optionally narrowed to a single project |
|
|
19
|
+
| `list_templates` | Scaffolding templates discovered in `.vis/templates/`, `.moon/templates/`, and `vis.config.ts` `generator.templates` |
|
|
20
|
+
| `describe_template` | Variable schema, default destination, and description for a single template — required before suggesting a `vis generate` command |
|
|
21
|
+
| `get_run_logs` | Most recent run summary from `.task-runner/`, or a specific `runId`, optionally filtered to one task |
|
|
22
|
+
| `cache_why` | Diff a task's cache hash against the previous run — pinpoints what changed (command, nodes, runtime, implicit deps) |
|
|
23
|
+
| `cache_hash` | Recorded hash and per-input hash details for a task |
|
|
24
|
+
|
|
25
|
+
## Workflow patterns
|
|
26
|
+
|
|
27
|
+
### Discovery — "what's in this repo?"
|
|
28
|
+
|
|
29
|
+
Default opening move when the user asks about the workspace:
|
|
30
|
+
|
|
31
|
+
1. `list_projects` (no filter). Shows everything with categories and target counts.
|
|
32
|
+
2. If they ask about a specific package, `describe_project` for the full picture rather than re-running list with a filter.
|
|
33
|
+
|
|
34
|
+
### Plan a build
|
|
35
|
+
|
|
36
|
+
1. `list_targets` (optionally with `project: "@scope/name"`) to see what `build`/`test`/`lint`/etc. targets exist.
|
|
37
|
+
2. Tell the user the exact command (`vis run @scope/name:build`) and let them run it.
|
|
38
|
+
3. Use `get_run_logs` afterwards to inspect status, cache hits, and stderr tails.
|
|
39
|
+
|
|
40
|
+
### Investigate a cache miss
|
|
41
|
+
|
|
42
|
+
When a build that should have been cached re-ran:
|
|
43
|
+
|
|
44
|
+
1. `get_run_logs` (no args → latest summary) — surfaces all task statuses for the last run.
|
|
45
|
+
2. For any task with status `success` but `cacheStatus: "miss"`, call `cache_why` with that `taskId`. It diffs hashDetails against the previous run and tells you which input rotated (command string, file content, `implicitDependency`, runtime version, …).
|
|
46
|
+
3. If `cache_why` shows the change but the user wants to see the raw hash inputs, `cache_hash` returns the full per-input breakdown.
|
|
47
|
+
|
|
48
|
+
### Scaffold a new package or component
|
|
49
|
+
|
|
50
|
+
When the user asks for "a new X" / "scaffold Y":
|
|
51
|
+
|
|
52
|
+
1. `list_templates` — pick the template whose `name` or `description` matches the user's request.
|
|
53
|
+
2. `describe_template` with that name — read the `variables[]` schema. Identify which variables are `required` and which have sensible `default` values.
|
|
54
|
+
3. Construct the command: `vis generate <name> -- --var1=value1 --var2=value2`. For interactive prompts, drop the `--` overrides and let the user step through. For `--defaults`-friendly templates, add `--defaults` to skip prompts.
|
|
55
|
+
4. Hand the command to the user to execute. Don't fabricate variable values — if the user hasn't told you what to pass for a required variable, ask.
|
|
56
|
+
|
|
57
|
+
#### Worked example
|
|
58
|
+
|
|
59
|
+
User: _"Scaffold a new React button component called PrimaryButton."_
|
|
60
|
+
|
|
61
|
+
1. Call `list_templates` → response contains an entry `{ "name": "component", "source": "native", "description": "Scaffold a React component" }`. That's the closest match.
|
|
62
|
+
2. Call `describe_template` with `{ "name": "component" }` → response shows `variables`:
|
|
63
|
+
```json
|
|
64
|
+
[
|
|
65
|
+
{ "name": "name", "type": "string", "required": true, "prompt": "Component name?" },
|
|
66
|
+
{ "name": "withTest", "type": "boolean", "required": false, "default": true },
|
|
67
|
+
{ "name": "style", "type": "enum", "required": false, "default": "primary", "values": ["primary", "secondary"] }
|
|
68
|
+
]
|
|
69
|
+
```
|
|
70
|
+
3. The user supplied `name` (`PrimaryButton`) and implied `style=primary` (default already matches). `withTest` is unspecified — the default is fine, no need to override.
|
|
71
|
+
4. Suggested command for the user to run:
|
|
72
|
+
```sh
|
|
73
|
+
vis generate component -- --name=PrimaryButton --style=primary
|
|
74
|
+
```
|
|
75
|
+
Do **not** invent values for required variables the user never mentioned — ask first.
|
|
76
|
+
|
|
77
|
+
### Diagnose a failed run
|
|
78
|
+
|
|
79
|
+
1. `get_run_logs` to see which task(s) failed.
|
|
80
|
+
2. `get_run_logs` with `taskId` set to the failing task — returns just that entry, including the captured stderr tail.
|
|
81
|
+
3. Decide: is it a code bug (read the project's source), a cache poisoning issue (`cache_why`), or environmental (look at the run summary's `runtime` block)?
|
|
82
|
+
|
|
83
|
+
## Safety rules
|
|
84
|
+
|
|
85
|
+
- **All tools are read-only.** The server does not execute targets. If the user wants something built/tested/linted, give them the command and let them run it.
|
|
86
|
+
- **All tools run in the directory where `vis-mcp` was launched.** Override at server startup by setting `VIS_MCP_WORKSPACE_ROOT`. You can read that path from the server's stderr boot line: `[vis-mcp] ready (workspace: …)`.
|
|
87
|
+
|
|
88
|
+
## When NOT to use this skill
|
|
89
|
+
|
|
90
|
+
- The user wants to write a `vis.config.ts` — that's editing source, not running the CLI. Use Read/Edit/Write on the config file directly.
|
|
91
|
+
- The user is asking about Turborepo, Nx, or Bazel specifically (not vis). The tools won't help with those.
|
|
92
|
+
- The repo has no `vis.config.*` and no mention of vis. Don't volunteer the tools.
|
|
93
|
+
|
|
94
|
+
## Tool-result conventions
|
|
95
|
+
|
|
96
|
+
All tools return JSON-encoded text in the standard MCP `content[].text` slot. On error, `isError: true` is set and the text payload is `{"error": "<message>"}`. Parse the JSON before reasoning about it — the text field is structured data, not prose.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: ".buildkite/pipeline.yml"
|
|
3
|
+
---
|
|
4
|
+
# Generated by `vis generate buildkite-ci`.
|
|
5
|
+
# Run `vis ci` against affected packages on every build.{% if withHeal %}
|
|
6
|
+
# Heal block: on failure, `vis ai heal` posts a Buildkite annotation; an
|
|
7
|
+
# allow-listed maintainer manually unblocks the block step to apply +
|
|
8
|
+
# commit the patch via `vis ai heal accept`. The unblocker email
|
|
9
|
+
# (BUILDKITE_UNBLOCKER_EMAIL) must be listed in `ai.heal.allowedActors`
|
|
10
|
+
# in vis.config.ts or the accept step refuses to commit.{% endif %}
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- label: ":hammer: vis ci"
|
|
14
|
+
key: ci
|
|
15
|
+
timeout_in_minutes: 30
|
|
16
|
+
command: |
|
|
17
|
+
{% if packageManager == "pnpm" %} corepack enable
|
|
18
|
+
pnpm install --frozen-lockfile
|
|
19
|
+
pnpm vis ci {{ targets }}
|
|
20
|
+
{% endif %}{% if packageManager == "npm" %} npm ci
|
|
21
|
+
npx vis ci {{ targets }}
|
|
22
|
+
{% endif %}{% if packageManager == "yarn" %} corepack enable
|
|
23
|
+
yarn install --immutable
|
|
24
|
+
yarn vis ci {{ targets }}
|
|
25
|
+
{% endif %}{% if packageManager == "bun" %} bun install --frozen-lockfile
|
|
26
|
+
bunx vis ci {{ targets }}
|
|
27
|
+
{% endif %} agents:
|
|
28
|
+
queue: {{ agentQueue }}
|
|
29
|
+
{% if withHeal %}
|
|
30
|
+
- label: ":sparkles: vis ai heal"
|
|
31
|
+
key: heal-propose
|
|
32
|
+
depends_on: ci
|
|
33
|
+
timeout_in_minutes: 30
|
|
34
|
+
# Only run when CI failed and the build is for a PR — heal-accept
|
|
35
|
+
# has nowhere to commit on push-event builds.
|
|
36
|
+
if: build.failed_jobs > 0 && build.pull_request.id != null
|
|
37
|
+
command: |
|
|
38
|
+
{% if packageManager == "pnpm" %} corepack enable
|
|
39
|
+
pnpm install --frozen-lockfile
|
|
40
|
+
pnpm vis ai heal
|
|
41
|
+
{% endif %}{% if packageManager == "npm" %} npm ci
|
|
42
|
+
npx vis ai heal
|
|
43
|
+
{% endif %}{% if packageManager == "yarn" %} corepack enable
|
|
44
|
+
yarn install --immutable
|
|
45
|
+
yarn vis ai heal
|
|
46
|
+
{% endif %}{% if packageManager == "bun" %} bun install --frozen-lockfile
|
|
47
|
+
bunx vis ai heal
|
|
48
|
+
{% endif %} agents:
|
|
49
|
+
queue: {{ agentQueue }}
|
|
50
|
+
# Buildkite has no commit API of its own — `vis ai heal accept`
|
|
51
|
+
# derives the upstream provider from BUILDKITE_REPO and commits
|
|
52
|
+
# through GitHub or GitLab. Set GITHUB_TOKEN or GITLAB_TOKEN on
|
|
53
|
+
# the agent (matching your remote) so heal accept can land the patch.
|
|
54
|
+
|
|
55
|
+
- block: ":white_check_mark: Apply AI heal patch?"
|
|
56
|
+
key: heal-gate
|
|
57
|
+
depends_on: heal-propose
|
|
58
|
+
if: build.failed_jobs > 0 && build.pull_request.id != null
|
|
59
|
+
prompt: |
|
|
60
|
+
Unblocking applies and commits the patch from the heal annotation.
|
|
61
|
+
The unblocker email (BUILDKITE_UNBLOCKER_EMAIL) must be listed in
|
|
62
|
+
`ai.heal.allowedActors` in vis.config.ts, otherwise the accept
|
|
63
|
+
step will refuse to commit.
|
|
64
|
+
|
|
65
|
+
- label: ":robot_face: vis ai heal accept"
|
|
66
|
+
key: heal-accept
|
|
67
|
+
depends_on: heal-gate
|
|
68
|
+
timeout_in_minutes: 30
|
|
69
|
+
# Defense in depth — heal-accept can't push to a fork and has no
|
|
70
|
+
# commit target on push-event builds. Refuse early.
|
|
71
|
+
if: build.pull_request.id != null
|
|
72
|
+
command: |
|
|
73
|
+
{% if packageManager == "pnpm" %} corepack enable
|
|
74
|
+
pnpm install --frozen-lockfile
|
|
75
|
+
pnpm vis ai heal accept
|
|
76
|
+
{% endif %}{% if packageManager == "npm" %} npm ci
|
|
77
|
+
npx vis ai heal accept
|
|
78
|
+
{% endif %}{% if packageManager == "yarn" %} corepack enable
|
|
79
|
+
yarn install --immutable
|
|
80
|
+
yarn vis ai heal accept
|
|
81
|
+
{% endif %}{% if packageManager == "bun" %} bun install --frozen-lockfile
|
|
82
|
+
bunx vis ai heal accept
|
|
83
|
+
{% endif %} agents:
|
|
84
|
+
queue: {{ agentQueue }}
|
|
85
|
+
{% endif %}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"title": "Buildkite CI"
|
|
2
|
+
"description": "A Buildkite pipeline.yml that runs `vis ci` against affected packages, with an optional `vis ai heal` block-step flow."
|
|
3
|
+
"variables":
|
|
4
|
+
"targets":
|
|
5
|
+
"type": "string"
|
|
6
|
+
"default": "lint,test,build"
|
|
7
|
+
"prompt": "Comma-separated list of `vis ci` targets to run"
|
|
8
|
+
"packageManager":
|
|
9
|
+
"type": "enum"
|
|
10
|
+
"values": ["pnpm", "npm", "yarn", "bun"]
|
|
11
|
+
"default": "pnpm"
|
|
12
|
+
"prompt": "Package manager (used in the install line)"
|
|
13
|
+
"withHeal":
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
"default": false
|
|
16
|
+
"prompt": "Include the `vis ai heal` propose + block-step accept flow?"
|
|
17
|
+
"agentQueue":
|
|
18
|
+
"type": "string"
|
|
19
|
+
"default": "default"
|
|
20
|
+
"prompt": "Buildkite agent queue to schedule on"
|
package/dist/ai-analysis.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { AiProviderInfo } from "@visulima/find-ai-runner";
|
|
2
|
-
import type { AiAnalysisResult, AiRecommendation, AnalysisType } from "./ai-types.d.ts";
|
|
3
|
-
import type { OutdatedEntry } from "./catalog.d.ts";
|
|
4
|
-
interface AiConfig {
|
|
5
|
-
/** Cache TTL in milliseconds. Overrides default (1h / 30min for security). */
|
|
6
|
-
cacheTtl?: number;
|
|
7
|
-
/** Override default provider priority. Higher = preferred. */
|
|
8
|
-
priority?: Record<string, number>;
|
|
9
|
-
/** Use a specific provider, skip auto-detection. */
|
|
10
|
-
provider?: string;
|
|
11
|
-
}
|
|
12
|
-
declare const DEFAULT_PRIORITY: Record<string, number>;
|
|
13
|
-
/** Resolve which AI provider to use based on config and availability. */
|
|
14
|
-
declare const resolveProvider: (config?: AiConfig) => AiProviderInfo | undefined;
|
|
15
|
-
declare const validateAnalysisType: (type: string) => AnalysisType;
|
|
16
|
-
declare const buildAnalysisPrompt: (outdated: OutdatedEntry[], analysisType?: AnalysisType) => string;
|
|
17
|
-
declare const extractJson: (text: string) => unknown | undefined;
|
|
18
|
-
declare const normalizeRecommendation: (raw: Record<string, unknown>) => AiRecommendation;
|
|
19
|
-
declare const parseAiResponse: (text: string, provider: string, analysisType: AnalysisType) => AiAnalysisResult;
|
|
20
|
-
declare const ruleBasedAnalysis: (outdated: OutdatedEntry[], analysisType: AnalysisType) => AiAnalysisResult;
|
|
21
|
-
declare const formatAiAnalysis: (result: AiAnalysisResult) => string;
|
|
22
|
-
declare const formatAiAnalysisJson: (result: AiAnalysisResult) => string;
|
|
23
|
-
declare const runAiAnalysis: (outdated: OutdatedEntry[], logger: Console, config?: AiConfig, analysisType?: AnalysisType) => Promise<AiAnalysisResult>;
|
|
24
|
-
export type { AiConfig };
|
|
25
|
-
export { buildAnalysisPrompt, DEFAULT_PRIORITY, extractJson, formatAiAnalysis, formatAiAnalysisJson, normalizeRecommendation, parseAiResponse, resolveProvider, ruleBasedAnalysis, runAiAnalysis, validateAnalysisType, };
|
|
26
|
-
export { type AiAnalysisResult, type AiRecommendation, type AnalysisType } from "./ai-types.d.ts";
|
package/dist/ai-cache.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { AiAnalysisResult, AnalysisType } from "./ai-types.d.ts";
|
|
2
|
-
import type { OutdatedEntry } from "./catalog.d.ts";
|
|
3
|
-
interface CacheEntry {
|
|
4
|
-
createdAt: number;
|
|
5
|
-
result: AiAnalysisResult;
|
|
6
|
-
ttlMs: number;
|
|
7
|
-
}
|
|
8
|
-
interface CacheStats {
|
|
9
|
-
entries: number;
|
|
10
|
-
newestEntry: number | undefined;
|
|
11
|
-
oldestEntry: number | undefined;
|
|
12
|
-
totalSizeBytes: number;
|
|
13
|
-
}
|
|
14
|
-
declare const buildCacheKey: (provider: string, analysisType: string, outdated: Pick<OutdatedEntry, "currentRange" | "packageName" | "targetVersion">[]) => string;
|
|
15
|
-
declare const getCachedAnalysis: (cacheKey: string) => AiAnalysisResult | undefined;
|
|
16
|
-
declare const setCachedAnalysis: (cacheKey: string, result: AiAnalysisResult, ttlMs: number) => void;
|
|
17
|
-
declare const getTtlForAnalysisType: (analysisType: AnalysisType | string, configTtl?: number) => number;
|
|
18
|
-
declare const getCacheStats: () => CacheStats;
|
|
19
|
-
declare const clearCache: () => number;
|
|
20
|
-
export type { CacheEntry, CacheStats };
|
|
21
|
-
export { buildCacheKey, clearCache, getCachedAnalysis, getCacheStats, getTtlForAnalysisType, setCachedAnalysis };
|
package/dist/ai-types.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type AnalysisType = "compatibility" | "impact" | "recommend" | "security";
|
|
2
|
-
export interface AiRecommendation {
|
|
3
|
-
action: "defer" | "review" | "skip" | "update";
|
|
4
|
-
breakingChanges: string[];
|
|
5
|
-
effort: "high" | "low" | "medium";
|
|
6
|
-
package: string;
|
|
7
|
-
reason: string;
|
|
8
|
-
riskLevel: "critical" | "high" | "low" | "medium";
|
|
9
|
-
}
|
|
10
|
-
export interface AiAnalysisResult {
|
|
11
|
-
analysisType: AnalysisType;
|
|
12
|
-
provider: string;
|
|
13
|
-
recommendations: AiRecommendation[];
|
|
14
|
-
summary: string;
|
|
15
|
-
warnings: string[];
|
|
16
|
-
}
|
package/dist/audit-config.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read and sync native package manager audit exclusion configs.
|
|
3
|
-
*
|
|
4
|
-
* Supports:
|
|
5
|
-
* - pnpm: auditConfig.ignoreCves / ignoreGhsas in pnpm-workspace.yaml
|
|
6
|
-
* - yarn berry: npmAuditIgnoreAdvisories / npmAuditExcludePackages in .yarnrc.yml
|
|
7
|
-
* - npm: no native mechanism (vis provides the only exclusion layer)
|
|
8
|
-
* - bun: CLI-only --ignore (no config file), vis provides the config layer
|
|
9
|
-
*/
|
|
10
|
-
interface NativeAuditExclusions {
|
|
11
|
-
/** Package names to exclude from audit (yarn berry only). */
|
|
12
|
-
excludedPackages: string[];
|
|
13
|
-
/** Advisory IDs to ignore (CVE-*, GHSA-*, or numeric IDs). */
|
|
14
|
-
ignoredAdvisories: string[];
|
|
15
|
-
}
|
|
16
|
-
/** Checks if a value matches any pattern in a list (exact or trailing glob). */
|
|
17
|
-
declare const matchesGlobList: (value: string, patterns: string[]) => boolean;
|
|
18
|
-
declare const readNativeAuditExclusions: (workspaceRoot: string, pm: string) => NativeAuditExclusions;
|
|
19
|
-
/** Checks if any of the given IDs (primary + aliases) match the exclusion list. */
|
|
20
|
-
declare const isAdvisoryExcluded: (vulnId: string, exclusions: NativeAuditExclusions, aliases?: string[]) => boolean;
|
|
21
|
-
declare const isPackageExcluded: (packageName: string, exclusions: NativeAuditExclusions) => boolean;
|
|
22
|
-
declare const syncAcceptedRisksToNativeConfig: (pm: string, workspaceRoot: string, advisoryIds: string[]) => string[];
|
|
23
|
-
export type { NativeAuditExclusions };
|
|
24
|
-
export { isAdvisoryExcluded, isPackageExcluded, matchesGlobList, readNativeAuditExclusions, syncAcceptedRisksToNativeConfig };
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared helpers for resolving the task runner's cache directory.
|
|
3
|
-
*
|
|
4
|
-
* Used by `vis run` (to configure the runner) and `vis cache` (to manage the
|
|
5
|
-
* cache from the outside) so both commands agree on:
|
|
6
|
-
*
|
|
7
|
-
* - the resolution order: `--cache-dir` flag > vis.config.ts
|
|
8
|
-
* `taskRunnerOptions.cacheDirectory` > `{workspaceRoot}/.task-runner-cache`
|
|
9
|
-
* - relative-path normalization against `workspaceRoot`
|
|
10
|
-
* - containment checks (used to decide whether a destructive operation is
|
|
11
|
-
* safe to perform without confirmation)
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Resolves the cache directory from CLI options and vis.config.ts.
|
|
15
|
-
*
|
|
16
|
-
* All paths returned from this helper are absolute — relative values are
|
|
17
|
-
* resolved against `workspaceRoot` so they refer to the same directory no
|
|
18
|
-
* matter what `process.cwd()` happens to be when the command runs.
|
|
19
|
-
*
|
|
20
|
-
* Precedence: `optionsCacheDir` > `configCacheDir` > `{workspaceRoot}/{@link DEFAULT_CACHE_DIRECTORY_NAME}`.
|
|
21
|
-
* @param workspaceRoot Absolute path to the workspace root directory.
|
|
22
|
-
* @param optionsCacheDir CLI `--cache-dir` value (may be relative or absolute). Takes highest priority.
|
|
23
|
-
* @param configCacheDir `taskRunnerOptions.cacheDirectory` from vis.config.ts (may be relative or absolute).
|
|
24
|
-
* @returns The resolved absolute path to the cache directory.
|
|
25
|
-
*/
|
|
26
|
-
declare const resolveCacheDirectory: (workspaceRoot: string, optionsCacheDir: string | undefined, configCacheDir: string | undefined) => string;
|
|
27
|
-
/**
|
|
28
|
-
* Converts an arbitrary branch name into a filesystem-safe segment.
|
|
29
|
-
* Strips characters outside `[A-Za-z0-9_.-]`, collapses runs of
|
|
30
|
-
* disallowed characters into a single `-`, and trims leading/trailing
|
|
31
|
-
* dashes. Truncated to 64 chars so deep-nested branch names (`user/long/feat`)
|
|
32
|
-
* stay bounded.
|
|
33
|
-
*/
|
|
34
|
-
export declare const sanitizeBranchSegment: (branch: string) => string;
|
|
35
|
-
/**
|
|
36
|
-
* Detects the current git branch by shelling out to `git rev-parse`.
|
|
37
|
-
* Returns `undefined` on detached HEAD, non-git workspaces, or when
|
|
38
|
-
* git is unavailable — callers fall back to the unscoped cache.
|
|
39
|
-
*/
|
|
40
|
-
export declare const detectGitBranch: (cwd: string) => string | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Appends a branch-specific subdirectory to `cacheDirectory` when
|
|
43
|
-
* `enabled` is true and a branch can be detected. Keeps `main` and
|
|
44
|
-
* feature branches from thrashing each other's caches — different
|
|
45
|
-
* generated artefacts (schemas, `.d.ts` snapshots) cause oscillating
|
|
46
|
-
* invalidations when the same hash resolves to different contents.
|
|
47
|
-
*
|
|
48
|
-
* When `enabled === false` or the branch can't be detected, returns
|
|
49
|
-
* `cacheDirectory` unchanged. On detached HEAD or CI checkouts where
|
|
50
|
-
* `git rev-parse` resolves `HEAD`, the original path is used — this
|
|
51
|
-
* matches the behaviour of a non-git clone.
|
|
52
|
-
* @param cacheDirectory Resolved base cache directory.
|
|
53
|
-
* @param workspaceRoot Absolute path used to probe the branch.
|
|
54
|
-
* @param enabled When undefined, branch scoping is off. Set to `true`
|
|
55
|
-
* (or omit to keep current behaviour) to enable.
|
|
56
|
-
*/
|
|
57
|
-
export declare const applyBranchScope: (cacheDirectory: string, workspaceRoot: string, enabled: boolean | undefined) => string;
|
|
58
|
-
/**
|
|
59
|
-
* Returns `true` when `cacheDirectory` sits inside `workspaceRoot`. Uses
|
|
60
|
-
* `relative()` instead of `startsWith()` so paths with a common string
|
|
61
|
-
* prefix but different parents (e.g. `/work` vs `/workspace`) are correctly
|
|
62
|
-
* distinguished.
|
|
63
|
-
*
|
|
64
|
-
* Callers use this to decide whether a `rm -rf` on the cache directory is
|
|
65
|
-
* safe without an extra confirmation prompt.
|
|
66
|
-
* @param cacheDirectory Absolute path to the cache directory.
|
|
67
|
-
* @param workspaceRoot Absolute path to the workspace root directory.
|
|
68
|
-
* @returns `true` when `cacheDirectory` is a proper descendant of `workspaceRoot`; `false` otherwise
|
|
69
|
-
* (including when the two paths are identical).
|
|
70
|
-
*/
|
|
71
|
-
declare const isCacheDirectoryInsideWorkspace: (cacheDirectory: string, workspaceRoot: string) => boolean;
|
|
72
|
-
export { isCacheDirectoryInsideWorkspace, resolveCacheDirectory };
|
|
73
|
-
export { DEFAULT_CACHE_DIRECTORY_NAME } from "@visulima/task-runner";
|
package/dist/catalog.d.ts
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import type { AcceptedRisk, PackageReportData, SocketSecurityOptions } from "./socket-security.d.ts";
|
|
2
|
-
type UpdateTarget = "latest" | "minor" | "patch";
|
|
3
|
-
interface SecurityVulnerability {
|
|
4
|
-
/** Alternate identifiers (CVE-*, GHSA-*, etc.) from the OSV database. */
|
|
5
|
-
aliases?: string[];
|
|
6
|
-
cvssScore?: number;
|
|
7
|
-
fixedVersions: string[];
|
|
8
|
-
id: string;
|
|
9
|
-
severity: "CRITICAL" | "HIGH" | "LOW" | "MODERATE" | "UNKNOWN";
|
|
10
|
-
summary: string;
|
|
11
|
-
}
|
|
12
|
-
type SocketReport = Pick<PackageReportData, "alerts" | "license" | "score">;
|
|
13
|
-
interface OutdatedEntry {
|
|
14
|
-
acceptedRisk?: AcceptedRisk;
|
|
15
|
-
catalogName: string;
|
|
16
|
-
currentRange: string;
|
|
17
|
-
newRange: string;
|
|
18
|
-
packageName: string;
|
|
19
|
-
socketReport?: SocketReport;
|
|
20
|
-
targetVersion: string;
|
|
21
|
-
updateType: "major" | "minor" | "patch";
|
|
22
|
-
vulnerabilities?: SecurityVulnerability[];
|
|
23
|
-
}
|
|
24
|
-
interface CatalogCheckOptions {
|
|
25
|
-
exclude: string[];
|
|
26
|
-
ignore: string[];
|
|
27
|
-
include: string[];
|
|
28
|
-
includeLocked: boolean;
|
|
29
|
-
includePrerelease: boolean;
|
|
30
|
-
minimumReleaseAge?: number;
|
|
31
|
-
minimumReleaseAgeExclude?: string[];
|
|
32
|
-
packageMode?: Record<string, UpdateTarget>;
|
|
33
|
-
security?: boolean;
|
|
34
|
-
target: UpdateTarget;
|
|
35
|
-
}
|
|
36
|
-
interface ReadCatalogOptions {
|
|
37
|
-
depFields?: string[];
|
|
38
|
-
dev?: boolean;
|
|
39
|
-
prod?: boolean;
|
|
40
|
-
}
|
|
41
|
-
interface ParsedVersion {
|
|
42
|
-
major: number;
|
|
43
|
-
minor: number;
|
|
44
|
-
patch: number;
|
|
45
|
-
prerelease: string;
|
|
46
|
-
}
|
|
47
|
-
declare const parseVersion: (input: string) => ParsedVersion | undefined;
|
|
48
|
-
declare const extractPrefix: (range: string) => string;
|
|
49
|
-
declare const getUpdateType: (current: ParsedVersion, target: ParsedVersion) => "major" | "minor" | "none" | "patch";
|
|
50
|
-
declare const isNewer: (current: ParsedVersion, target: ParsedVersion) => boolean;
|
|
51
|
-
declare const matchesPattern: (name: string, pattern: string) => boolean;
|
|
52
|
-
declare const matchesFilters: (name: string, include: string[], exclude: string[]) => boolean;
|
|
53
|
-
declare const parseCatalogsFromYaml: (content: string) => Map<string, Map<string, string>>;
|
|
54
|
-
interface BunPackageJson {
|
|
55
|
-
workspaces?: {
|
|
56
|
-
catalog?: Record<string, string>;
|
|
57
|
-
catalogs?: Record<string, Record<string, string>>;
|
|
58
|
-
packages?: string[];
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
declare const parseBunCatalogs: (pkg: BunPackageJson) => Map<string, Map<string, string>>;
|
|
62
|
-
declare const parseCompositeCatalogName: (name: string) => {
|
|
63
|
-
depType: string;
|
|
64
|
-
relativePath: string;
|
|
65
|
-
} | undefined;
|
|
66
|
-
declare const readPackageJsonDeps: (workspaceRoot: string, options?: ReadCatalogOptions) => Map<string, Map<string, string>>;
|
|
67
|
-
declare const hasPackageJsonDeps: (workspaceRoot: string) => boolean;
|
|
68
|
-
declare const applyPackageJsonUpdates: (workspaceRoot: string, updates: OutdatedEntry[]) => void;
|
|
69
|
-
type CatalogProvider = "bun" | "pnpm";
|
|
70
|
-
declare const hasCatalogs: (workspaceRoot: string, packageManager?: string) => boolean;
|
|
71
|
-
declare const readCatalogs: (workspaceRoot: string, packageManager?: string, options?: ReadCatalogOptions) => Map<string, Map<string, string>>;
|
|
72
|
-
interface NpmrcConfig {
|
|
73
|
-
authTokens: Map<string, string>;
|
|
74
|
-
defaultRegistry: string;
|
|
75
|
-
registries: Map<string, string>;
|
|
76
|
-
}
|
|
77
|
-
declare const parseNpmrc: (content: string) => NpmrcConfig;
|
|
78
|
-
declare const loadNpmrc: (workspaceRoot: string) => NpmrcConfig;
|
|
79
|
-
declare const getRegistryForPackage: (packageName: string, config: NpmrcConfig) => {
|
|
80
|
-
token?: string;
|
|
81
|
-
url: string;
|
|
82
|
-
};
|
|
83
|
-
interface RegistryVersionInfo {
|
|
84
|
-
latest: string;
|
|
85
|
-
/** Map of version string to ISO publish time (populated when minimumReleaseAge is set). */
|
|
86
|
-
publishTimes?: Map<string, string>;
|
|
87
|
-
versions: string[];
|
|
88
|
-
}
|
|
89
|
-
declare const fetchPackageVersions: (packageName: string, registryConfig?: {
|
|
90
|
-
authToken?: string;
|
|
91
|
-
url: string;
|
|
92
|
-
}, timeoutMs?: number, fetchPublishTimes?: boolean) => Promise<RegistryVersionInfo>;
|
|
93
|
-
declare const fetchVulnerabilities: (packages: {
|
|
94
|
-
name: string;
|
|
95
|
-
version: string;
|
|
96
|
-
}[], timeoutMs?: number) => Promise<Map<string, SecurityVulnerability[]>>;
|
|
97
|
-
declare const resolvePackageTarget: (packageName: string, globalTarget: UpdateTarget, packageMode?: Record<string, UpdateTarget>) => UpdateTarget;
|
|
98
|
-
interface MaturityOptions {
|
|
99
|
-
minimumReleaseAge?: number;
|
|
100
|
-
minimumReleaseAgeExclude?: string[];
|
|
101
|
-
packageName?: string;
|
|
102
|
-
publishTimes?: Map<string, string>;
|
|
103
|
-
}
|
|
104
|
-
declare const findTargetVersion: (versions: string[], latest: string, currentRange: string, target: UpdateTarget, includePrerelease: boolean, maturity?: MaturityOptions) => string | undefined;
|
|
105
|
-
interface CheckOutdatedResult {
|
|
106
|
-
/** Total number of unique packages checked (after filtering). */
|
|
107
|
-
checkedCount: number;
|
|
108
|
-
failed: string[];
|
|
109
|
-
/** Packages that have newer versions on "latest" but were excluded by the target constraint. */
|
|
110
|
-
filteredByTarget: OutdatedEntry[];
|
|
111
|
-
ignored: string[];
|
|
112
|
-
outdated: OutdatedEntry[];
|
|
113
|
-
}
|
|
114
|
-
declare const checkOutdated: (catalogs: Map<string, Map<string, string>>, options: CatalogCheckOptions, npmrcConfig?: NpmrcConfig, onProgress?: (current: number, total: number) => void, workspaceRoot?: string, socketOptions?: SocketSecurityOptions, acceptedRisks?: Record<string, AcceptedRisk>) => Promise<CheckOutdatedResult>;
|
|
115
|
-
declare const createBackup: (workspaceRoot: string, packageManager?: string, updates?: OutdatedEntry[]) => string | undefined;
|
|
116
|
-
declare const restoreFromBackup: (workspaceRoot: string, packageManager?: string) => boolean;
|
|
117
|
-
declare const hasBackup: (workspaceRoot: string, packageManager?: string) => boolean;
|
|
118
|
-
type OutputFormat = "json" | "minimal" | "table";
|
|
119
|
-
declare const formatOutdatedJson: (result: CheckOutdatedResult) => string;
|
|
120
|
-
declare const formatOutdatedMinimal: (outdated: OutdatedEntry[]) => string;
|
|
121
|
-
declare const toFilterArray: (value: string | string[] | undefined) => string[];
|
|
122
|
-
declare const groupByCatalog: (entries: OutdatedEntry[]) => Map<string, OutdatedEntry[]>;
|
|
123
|
-
declare const formatOutdatedTable: (outdated: OutdatedEntry[], logger: Console) => void;
|
|
124
|
-
declare const formatSummary: (outdated: OutdatedEntry[]) => string;
|
|
125
|
-
declare const detectJsonIndent: (content: string) => number | string;
|
|
126
|
-
declare const applyCatalogUpdates: (workspaceRoot: string, updates: OutdatedEntry[], packageManager?: string, backup?: boolean) => string | undefined;
|
|
127
|
-
declare const promptPackageSelection: (outdated: OutdatedEntry[]) => Promise<OutdatedEntry[]>;
|
|
128
|
-
interface ChangelogInfo {
|
|
129
|
-
npmUrl: string;
|
|
130
|
-
packageName: string;
|
|
131
|
-
releaseUrl?: string;
|
|
132
|
-
repoUrl?: string;
|
|
133
|
-
}
|
|
134
|
-
declare const fetchChangelogInfo: (packages: OutdatedEntry[], timeoutMs?: number) => Promise<ChangelogInfo[]>;
|
|
135
|
-
export type { CatalogCheckOptions, CatalogProvider, ChangelogInfo, CheckOutdatedResult, MaturityOptions, NpmrcConfig, OutdatedEntry, OutputFormat, ReadCatalogOptions, SecurityVulnerability, SocketReport, UpdateTarget, };
|
|
136
|
-
export { applyCatalogUpdates, applyPackageJsonUpdates, checkOutdated, createBackup, detectJsonIndent, extractPrefix, fetchChangelogInfo, fetchPackageVersions, fetchVulnerabilities, findTargetVersion, formatOutdatedJson, formatOutdatedMinimal, formatOutdatedTable, formatSummary, getRegistryForPackage, getUpdateType, groupByCatalog, hasBackup, hasCatalogs, hasPackageJsonDeps, isNewer, loadNpmrc, matchesFilters, matchesPattern, parseBunCatalogs, parseCatalogsFromYaml, parseCompositeCatalogName, parseNpmrc, parseVersion, promptPackageSelection, readCatalogs, readPackageJsonDeps, resolvePackageTarget, restoreFromBackup, toFilterArray, };
|
package/dist/codeowners.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { WorkspaceConfiguration } from "@visulima/task-runner";
|
|
2
|
-
import type { CodeownersConfig } from "./workspace.d.ts";
|
|
3
|
-
export type { CodeownersConfig } from "./workspace.d.ts";
|
|
4
|
-
/**
|
|
5
|
-
* A single resolved CODEOWNERS line, pre-sorted by path. Kept as an
|
|
6
|
-
* object so callers can post-process (e.g. append sub-sections).
|
|
7
|
-
*/
|
|
8
|
-
export interface CodeownersLine {
|
|
9
|
-
/** Optional notification channel (added as a trailing comment). */
|
|
10
|
-
channel?: string;
|
|
11
|
-
/** Owner handles, space-separated by the writer. */
|
|
12
|
-
owners: string[];
|
|
13
|
-
/** Effective path glob (workspace-root-relative). */
|
|
14
|
-
path: string;
|
|
15
|
-
/** Source project name — used for `order-by=project-id` sorting. */
|
|
16
|
-
projectId?: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Computes CODEOWNERS lines from the workspace's projects and a
|
|
20
|
-
* workspace-level `codeowners` block. Returns lines in the requested
|
|
21
|
-
* order (default: `file-source`).
|
|
22
|
-
*/
|
|
23
|
-
export declare const buildCodeownersLines: (workspace: WorkspaceConfiguration, config: CodeownersConfig | undefined) => CodeownersLine[];
|
|
24
|
-
/**
|
|
25
|
-
* Serialises {@link CodeownersLine}s to a valid CODEOWNERS file string.
|
|
26
|
-
* @param lines Resolved CODEOWNERS lines.
|
|
27
|
-
* @param _provider Reserved for future provider-specific formatting (e.g. Bitbucket syntax).
|
|
28
|
-
* @returns The full CODEOWNERS file content with header and trailing newline.
|
|
29
|
-
*/
|
|
30
|
-
export declare const renderCodeowners: (lines: CodeownersLine[], _provider?: CodeownersConfig["provider"]) => string;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Command } from "@visulima/cerebro";
|
|
2
|
-
/**
|
|
3
|
-
* `vis action-graph <selector>` — shows the execution plan that would
|
|
4
|
-
* be produced by `vis run <selector>` without running anything. Matches
|
|
5
|
-
* moon's `moon action-graph`.
|
|
6
|
-
*/
|
|
7
|
-
declare const actionGraph: Command;
|
|
8
|
-
export default actionGraph;
|
package/dist/commands/add.d.ts
DELETED
package/dist/commands/ai.d.ts
DELETED
package/dist/commands/audit.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Command } from "@visulima/cerebro";
|
|
2
|
-
interface InstalledPackage {
|
|
3
|
-
isDev: boolean;
|
|
4
|
-
name: string;
|
|
5
|
-
version: string;
|
|
6
|
-
}
|
|
7
|
-
/** A package installed in multiple versions. */
|
|
8
|
-
interface DuplicatePackage {
|
|
9
|
-
/** The package name. */
|
|
10
|
-
name: string;
|
|
11
|
-
/** Each installed version. */
|
|
12
|
-
versions: string[];
|
|
13
|
-
}
|
|
14
|
-
declare const scanInstalledPackages: (workspaceRoot: string) => InstalledPackage[];
|
|
15
|
-
/**
|
|
16
|
-
* Finds packages with multiple installed versions by parsing the
|
|
17
|
-
* workspace lockfile via `@visulima/package`.
|
|
18
|
-
*/
|
|
19
|
-
declare const findDuplicateDependencies: (workspaceRoot: string, pmName: string) => DuplicatePackage[];
|
|
20
|
-
declare const audit: Command;
|
|
21
|
-
export default audit;
|
|
22
|
-
export type { DuplicatePackage, InstalledPackage };
|
|
23
|
-
export { findDuplicateDependencies, scanInstalledPackages };
|