@socketsecurity/lib 6.0.6 → 6.0.8
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 +46 -1
- package/README.md +1 -1
- package/dist/ai/agent-context.d.mts +103 -0
- package/dist/ai/agent-context.js +157 -0
- package/dist/ai/backends.d.mts +83 -0
- package/dist/ai/backends.js +173 -0
- package/dist/ai/credentials.d.mts +49 -0
- package/dist/ai/credentials.js +82 -0
- package/dist/ai/discover.d.mts +6 -2
- package/dist/ai/discover.js +4 -3
- package/dist/ai/exec.d.mts +52 -0
- package/dist/ai/exec.js +92 -0
- package/dist/ai/http.d.mts +132 -0
- package/dist/ai/http.js +130 -0
- package/dist/ai/profiles.d.mts +41 -6
- package/dist/ai/profiles.js +52 -10
- package/dist/ai/route.d.mts +69 -0
- package/dist/ai/route.js +156 -0
- package/dist/ai/spawn.d.mts +10 -2
- package/dist/ai/spawn.js +56 -31
- package/dist/ai/subagent-status.d.mts +48 -0
- package/dist/ai/subagent-status.js +57 -0
- package/dist/ai/tier.d.mts +60 -0
- package/dist/ai/tier.js +53 -0
- package/dist/ai/types.d.mts +31 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +5 -1
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +7 -7
- package/dist/archives/zip.js +5 -7
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +20 -3
- package/dist/argv/parse.js +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +47 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +17 -17
- package/dist/bin/prim.cjs +36175 -35861
- package/dist/bin/resolve.js +13 -14
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +6 -6
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +18 -13
- package/dist/{bin → cli}/check-primordials.js +58 -55
- package/dist/{bin → cli}/check.js +3 -3
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +18 -18
- package/dist/compression/brotli.d.ts +26 -27
- package/dist/compression/brotli.js +39 -35
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +46 -42
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.d.ts +3 -0
- package/dist/constants/packages.js +24 -29
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.d.ts +2 -6
- package/dist/constants/socket.js +12 -14
- package/dist/cover/code.js +10 -10
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +30 -2
- package/dist/crypto/hash.js +47 -13
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +3 -4
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +18 -8
- package/dist/dlx/binary-cache.js +15 -15
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +17 -15
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +42 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +9 -1
- package/dist/dlx/firewall.js +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +19 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +20 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
- package/dist/eco/cargo/parse-lockfile.js +5 -5
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +5 -5
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
- package/dist/eco/npm/npm/parse-lockfile.js +4 -4
- package/dist/eco/npm/parse-package-json.d.ts +11 -0
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
- package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/proxy.js +1 -1
- package/dist/env/rewire.d.ts +8 -6
- package/dist/env/rewire.js +16 -17
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +8 -109
- package/dist/env/socket.js +22 -167
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/errors/predicates.js +1 -1
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@npmcli/promise-spawn.js +3 -1
- package/dist/external/npm-pack.js +2 -2
- package/dist/external/pico-pack.js +4 -2
- package/dist/external/which.js +3 -1
- package/dist/external-tools/bazel/asset-names.d.ts +1 -1
- package/dist/external-tools/bazel/asset-names.js +5 -2
- package/dist/external-tools/bazel/from-download.d.ts +1 -1
- package/dist/external-tools/bazel/from-download.js +5 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
- package/dist/external-tools/bazel/resolve.d.ts +3 -3
- package/dist/external-tools/bazel/resolve.js +16 -8
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.js +5 -2
- package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-download.js +7 -4
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
- package/dist/external-tools/cdxgen/resolve.js +16 -8
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +3 -3
- package/dist/external-tools/from-download.js +12 -6
- package/dist/external-tools/from-pip-venv.d.ts +1 -1
- package/dist/external-tools/from-pip-venv.js +12 -5
- package/dist/external-tools/janus/asset-names.d.ts +1 -1
- package/dist/external-tools/janus/asset-names.js +5 -2
- package/dist/external-tools/janus/from-download.d.ts +1 -1
- package/dist/external-tools/janus/from-download.js +5 -2
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.d.ts +3 -3
- package/dist/external-tools/janus/resolve.js +16 -8
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.js +5 -2
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.d.ts +1 -1
- package/dist/external-tools/jre/from-download.js +7 -4
- package/dist/external-tools/jre/from-java-home.js +2 -2
- package/dist/external-tools/jre/from-vfs.js +3 -3
- package/dist/external-tools/jre/resolve.d.ts +3 -3
- package/dist/external-tools/jre/resolve.js +16 -8
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +25 -7
- package/dist/external-tools/manifest.js +13 -13
- package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
- package/dist/external-tools/opengrep/asset-names.js +5 -2
- package/dist/external-tools/opengrep/from-download.d.ts +1 -1
- package/dist/external-tools/opengrep/from-download.js +5 -2
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.d.ts +3 -3
- package/dist/external-tools/opengrep/resolve.js +16 -8
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +111 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +98 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +75 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +176 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +142 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +66 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/asset-names.d.ts +1 -1
- package/dist/external-tools/sbt/asset-names.js +5 -2
- package/dist/external-tools/sbt/from-download.d.ts +1 -1
- package/dist/external-tools/sbt/from-download.js +5 -2
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.d.ts +3 -3
- package/dist/external-tools/sbt/resolve.js +16 -8
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.js +10 -3
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/skillspector/resolve.d.ts +2 -2
- package/dist/external-tools/skillspector/resolve.js +14 -6
- package/dist/external-tools/synp/asset-names.d.ts +1 -1
- package/dist/external-tools/synp/asset-names.js +6 -2
- package/dist/external-tools/synp/from-download.d.ts +1 -1
- package/dist/external-tools/synp/from-download.js +7 -4
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.d.ts +3 -3
- package/dist/external-tools/synp/resolve.js +16 -8
- package/dist/external-tools/trivy/asset-names.d.ts +1 -1
- package/dist/external-tools/trivy/asset-names.js +5 -2
- package/dist/external-tools/trivy/from-download.d.ts +1 -1
- package/dist/external-tools/trivy/from-download.js +7 -4
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.d.ts +3 -3
- package/dist/external-tools/trivy/resolve.js +16 -8
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.js +5 -2
- package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-download.js +7 -4
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
- package/dist/external-tools/trufflehog/resolve.js +16 -8
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/allowed-dirs-cache.d.ts +47 -0
- package/dist/fs/allowed-dirs-cache.js +69 -0
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +12 -14
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +13 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +7 -3
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +13 -14
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +11 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +5 -7
- package/dist/git/staged.js +12 -4
- package/dist/git/tracked.d.ts +84 -0
- package/dist/git/tracked.js +163 -0
- package/dist/git/unstaged.js +12 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-graphql.js +4 -0
- package/dist/github/refs-rest.js +9 -5
- package/dist/github/refs.js +15 -10
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +8 -10
- package/dist/globs/match.js +13 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +16 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +10 -4
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +3 -3
- package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
- package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
- package/dist/http-request/headers.js +1 -2
- package/dist/http-request/request-attempt.js +38 -34
- package/dist/http-request/request-types.d.ts +2 -2
- package/dist/http-request/request.js +1 -1
- package/dist/http-request/user-agent.js +4 -5
- package/dist/integrity.d.ts +92 -18
- package/dist/integrity.js +125 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +51 -44
- package/dist/json/format.js +1 -1
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +144 -0
- package/dist/native-messaging/rate-limit.d.ts +69 -0
- package/dist/native-messaging/rate-limit.js +119 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.d.ts +22 -6
- package/dist/node/fs.js +17 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.d.ts +10 -2
- package/dist/node/os.js +12 -4
- package/dist/node/path.d.ts +11 -2
- package/dist/node/path.js +18 -4
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +6 -8
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +4 -5
- package/dist/objects/predicates.js +1 -5
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.d.ts +2 -3
- package/dist/packages/edit-class.js +53 -48
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +15 -21
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +18 -18
- package/dist/packages/manifest.js +16 -19
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +6 -10
- package/dist/packages/provenance.js +17 -19
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +75 -12
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +81 -0
- package/dist/packages/types.d.ts +22 -22
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/dirnames.d.ts +1 -0
- package/dist/paths/dirnames.js +2 -0
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +4 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +17 -25
- package/dist/paths/rewire.d.ts +5 -0
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +74 -111
- package/dist/paths/socket.js +106 -139
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/process.d.ts +88 -0
- package/dist/primordials/process.js +132 -0
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.d.ts +1 -2
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +20 -14
- package/dist/process/spawn/errors.js +3 -5
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +11 -15
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/regexps/spec.js +1 -1
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +3 -3
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +12 -4
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +4 -5
- package/dist/schema/validate.js +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +2 -2
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/find.d.ts +2 -2
- package/dist/secrets/find.js +10 -4
- package/dist/secrets/keychain.d.ts +1 -1
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +40 -52
- package/dist/secrets/macos.d.ts +2 -3
- package/dist/secrets/macos.js +24 -33
- package/dist/secrets/rc.d.ts +4 -4
- package/dist/secrets/rc.js +27 -17
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +26 -9
- package/dist/secrets/windows.js +32 -37
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +32 -0
- package/dist/shell/parse.js +60 -0
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +105 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +8 -5
- package/dist/spinner/spinner.js +19 -706
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +10 -6
- package/dist/stdio/prompts.d.ts +7 -5
- package/dist/stdio/prompts.js +7 -8
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +1 -1
- package/dist/temporal/slots.js +6 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/assert-safe.d.ts +29 -0
- package/dist/url/assert-safe.js +54 -0
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.d.ts +31 -1
- package/dist/url/predicates.js +43 -3
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +9 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.js +15 -5
- package/package.json +419 -216
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -53
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/fs/path-cache.d.ts +0 -21
- package/dist/fs/path-cache.js +0 -34
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
|
@@ -22,31 +22,39 @@ const require_external_tools_cdxgen_from_vfs = require('./from-vfs.js');
|
|
|
22
22
|
* option-shape.
|
|
23
23
|
*/
|
|
24
24
|
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
25
|
-
function cacheKey(
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
function cacheKey(options) {
|
|
26
|
+
options = {
|
|
27
|
+
__proto__: null,
|
|
28
|
+
...options
|
|
29
|
+
};
|
|
30
|
+
if (!options?.downloadIfMissing) return "local-only";
|
|
31
|
+
const { cacheDir, integrity, platformArch, variant, version } = options.downloadIfMissing;
|
|
28
32
|
const integrityKey = typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : "";
|
|
29
33
|
return `dl:${version}:${platformArch}:${variant ?? "slim"}:${integrityKey}:${cacheDir ?? ""}`;
|
|
30
34
|
}
|
|
31
|
-
async function doResolveCdxgen(
|
|
35
|
+
async function doResolveCdxgen(options) {
|
|
36
|
+
options = {
|
|
37
|
+
__proto__: null,
|
|
38
|
+
...options
|
|
39
|
+
};
|
|
32
40
|
const fromVfs = await require_external_tools_cdxgen_from_vfs.cdxgenFromVfs();
|
|
33
41
|
/* c8 ignore start - smol Node binary only. */
|
|
34
42
|
if (fromVfs) return fromVfs;
|
|
35
43
|
/* c8 ignore stop */
|
|
36
44
|
const fromPath = await require_external_tools_cdxgen_from_path.cdxgenFromPath();
|
|
37
45
|
if (fromPath) return fromPath;
|
|
38
|
-
if (
|
|
46
|
+
if (options?.downloadIfMissing) return require_external_tools_cdxgen_from_download.cdxgenFromDownload(options.downloadIfMissing);
|
|
39
47
|
}
|
|
40
48
|
/* c8 ignore start - test-only escape hatch. */
|
|
41
49
|
function resetCdxgenResolution() {
|
|
42
50
|
resolutionCache.clear();
|
|
43
51
|
}
|
|
44
52
|
/* c8 ignore stop */
|
|
45
|
-
function resolveCdxgen(
|
|
46
|
-
const key = cacheKey(
|
|
53
|
+
function resolveCdxgen(options) {
|
|
54
|
+
const key = cacheKey(options);
|
|
47
55
|
let cached = resolutionCache.get(key);
|
|
48
56
|
if (!cached) {
|
|
49
|
-
cached = doResolveCdxgen(
|
|
57
|
+
cached = doResolveCdxgen(options);
|
|
50
58
|
resolutionCache.set(key, cached);
|
|
51
59
|
}
|
|
52
60
|
return cached;
|
|
@@ -68,13 +68,13 @@ export interface DownloadAndExtractOptions extends DownloadOptions {
|
|
|
68
68
|
* const { extractedDir, integrity } = await downloadAndExtractTool({
|
|
69
69
|
* url: 'https://example.com/jre-21-darwin-arm64.tar.gz',
|
|
70
70
|
* name: 'jre-21-darwin-arm64',
|
|
71
|
-
* extractedDir: '/Users
|
|
71
|
+
* extractedDir: '/Users/<user>/.cache/socket/jre/21/darwin-arm64',
|
|
72
72
|
* extractOptions: { strip: 1 },
|
|
73
73
|
* })
|
|
74
74
|
* // Caller constructs ResolvedJre from extractedDir.
|
|
75
75
|
* ```
|
|
76
76
|
*/
|
|
77
|
-
export declare function downloadAndExtractTool(
|
|
77
|
+
export declare function downloadAndExtractTool(options: DownloadAndExtractOptions): Promise<ExtractedTool>;
|
|
78
78
|
/**
|
|
79
79
|
* SRI integrity (`sha512-<base64>`) of a downloaded archive, surfaced on the
|
|
80
80
|
* per-tool `Resolved*` shapes. Set ONLY when `source === 'download'`; the
|
|
@@ -159,4 +159,4 @@ export interface DownloadOptions {
|
|
|
159
159
|
* })
|
|
160
160
|
* ```
|
|
161
161
|
*/
|
|
162
|
-
export declare function downloadToolArchive(
|
|
162
|
+
export declare function downloadToolArchive(options: DownloadOptions): Promise<DownloadedArchive>;
|
|
@@ -44,15 +44,18 @@ let node_fs = require("node:fs");
|
|
|
44
44
|
* const { extractedDir, integrity } = await downloadAndExtractTool({
|
|
45
45
|
* url: 'https://example.com/jre-21-darwin-arm64.tar.gz',
|
|
46
46
|
* name: 'jre-21-darwin-arm64',
|
|
47
|
-
* extractedDir: '/Users
|
|
47
|
+
* extractedDir: '/Users/<user>/.cache/socket/jre/21/darwin-arm64',
|
|
48
48
|
* extractOptions: { strip: 1 },
|
|
49
49
|
* })
|
|
50
50
|
* // Caller constructs ResolvedJre from extractedDir.
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
|
-
async function downloadAndExtractTool(
|
|
54
|
-
const archive = await downloadToolArchive(
|
|
55
|
-
const { extractOptions, extractedDir } =
|
|
53
|
+
async function downloadAndExtractTool(options) {
|
|
54
|
+
const archive = await downloadToolArchive(options);
|
|
55
|
+
const { extractOptions, extractedDir } = {
|
|
56
|
+
__proto__: null,
|
|
57
|
+
...options
|
|
58
|
+
};
|
|
56
59
|
let extracted = false;
|
|
57
60
|
if ((0, node_fs.existsSync)(extractedDir)) {
|
|
58
61
|
if ((await node_fs.promises.readdir(extractedDir)).length === 0) {
|
|
@@ -92,8 +95,11 @@ async function downloadAndExtractTool(opts) {
|
|
|
92
95
|
* })
|
|
93
96
|
* ```
|
|
94
97
|
*/
|
|
95
|
-
async function downloadToolArchive(
|
|
96
|
-
const { downloader, integrity, name, url } =
|
|
98
|
+
async function downloadToolArchive(options) {
|
|
99
|
+
const { downloader, integrity, name, url } = {
|
|
100
|
+
__proto__: null,
|
|
101
|
+
...options
|
|
102
|
+
};
|
|
97
103
|
const result = await (downloader ?? require_dlx_binary_download.downloadBinary)({
|
|
98
104
|
url,
|
|
99
105
|
name,
|
|
@@ -63,7 +63,7 @@ export interface CreatePipVenvResult {
|
|
|
63
63
|
* - The install succeeded but the entry-point was not created (caller passed a
|
|
64
64
|
* wrong `entryPoint` name, or the package has no console script).
|
|
65
65
|
*/
|
|
66
|
-
export declare function createPipVenv(
|
|
66
|
+
export declare function createPipVenv(options: CreatePipVenvOptions): Promise<CreatePipVenvResult>;
|
|
67
67
|
/**
|
|
68
68
|
* Locate a Python interpreter. Prefer `python3` on macOS/Linux, fall back to
|
|
69
69
|
* `python` (the Windows convention). Returns `undefined` when neither is on
|
|
@@ -6,10 +6,10 @@ const require_bin_which = require('../bin/which.js');
|
|
|
6
6
|
const require_process_spawn_child = require('../process/spawn/child.js');
|
|
7
7
|
const require_fs_safe = require('../fs/safe.js');
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
|
-
let node_path = require("node:path");
|
|
10
|
-
node_path = require_runtime.__toESM(node_path);
|
|
11
9
|
let node_process = require("node:process");
|
|
12
10
|
node_process = require_runtime.__toESM(node_process);
|
|
11
|
+
let node_path = require("node:path");
|
|
12
|
+
node_path = require_runtime.__toESM(node_path);
|
|
13
13
|
|
|
14
14
|
//#region src/external-tools/from-pip-venv.ts
|
|
15
15
|
/**
|
|
@@ -43,14 +43,21 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
43
43
|
* - The install succeeded but the entry-point was not created (caller passed a
|
|
44
44
|
* wrong `entryPoint` name, or the package has no console script).
|
|
45
45
|
*/
|
|
46
|
-
async function createPipVenv(
|
|
47
|
-
|
|
46
|
+
async function createPipVenv(options) {
|
|
47
|
+
options = {
|
|
48
|
+
__proto__: null,
|
|
49
|
+
...options
|
|
50
|
+
};
|
|
51
|
+
const { cacheDir, entryPoint, installSpec } = {
|
|
52
|
+
__proto__: null,
|
|
53
|
+
...options
|
|
54
|
+
};
|
|
48
55
|
const entryBin = pipVenvEntryPointPath(cacheDir, entryPoint);
|
|
49
56
|
if ((0, node_fs.existsSync)(entryBin)) return {
|
|
50
57
|
entryPointPath: entryBin,
|
|
51
58
|
created: false
|
|
52
59
|
};
|
|
53
|
-
const python =
|
|
60
|
+
const python = options.python ?? await findPython();
|
|
54
61
|
if (!python) throw new Error("createPipVenv: no Python interpreter on PATH (looked for python3, python)");
|
|
55
62
|
await require_fs_safe.safeMkdir(node_path.default.dirname(cacheDir), { recursive: true });
|
|
56
63
|
await require_process_spawn_child.spawn(python, [
|
|
@@ -40,4 +40,4 @@ export interface JanusDownloadOptions {
|
|
|
40
40
|
*
|
|
41
41
|
* Reference: https://github.com/divmain/janus/releases.
|
|
42
42
|
*/
|
|
43
|
-
export declare function getJanusDownloadUrl(
|
|
43
|
+
export declare function getJanusDownloadUrl(options: JanusDownloadOptions): string | undefined;
|
|
@@ -36,8 +36,11 @@ function getJanusAssetEntry(platformArch) {
|
|
|
36
36
|
*
|
|
37
37
|
* Reference: https://github.com/divmain/janus/releases.
|
|
38
38
|
*/
|
|
39
|
-
function getJanusDownloadUrl(
|
|
40
|
-
const { platformArch, version } =
|
|
39
|
+
function getJanusDownloadUrl(options) {
|
|
40
|
+
const { platformArch, version } = {
|
|
41
|
+
__proto__: null,
|
|
42
|
+
...options
|
|
43
|
+
};
|
|
41
44
|
const entry = JANUS_ASSET_MAP[platformArch];
|
|
42
45
|
if (!entry) return;
|
|
43
46
|
return `https://github.com/divmain/janus/releases/download/v${version}/` + entry.asset;
|
|
@@ -23,4 +23,4 @@ export interface JanusFromDownloadOptions {
|
|
|
23
23
|
cacheDir?: string | undefined;
|
|
24
24
|
downloader?: BinaryDownloader | undefined;
|
|
25
25
|
}
|
|
26
|
-
export declare function janusFromDownload(
|
|
26
|
+
export declare function janusFromDownload(options: JanusFromDownloadOptions): Promise<ResolvedJanus>;
|
|
@@ -19,8 +19,11 @@ node_path = require_runtime.__toESM(node_path);
|
|
|
19
19
|
* per-process dlx cache, so multiple fleet consumers reuse the same extracted
|
|
20
20
|
* binary.
|
|
21
21
|
*/
|
|
22
|
-
async function janusFromDownload(
|
|
23
|
-
const { cacheDir, downloader, integrity, platformArch, version } =
|
|
22
|
+
async function janusFromDownload(options) {
|
|
23
|
+
const { cacheDir, downloader, integrity, platformArch, version } = {
|
|
24
|
+
__proto__: null,
|
|
25
|
+
...options
|
|
26
|
+
};
|
|
24
27
|
if (!require_external_tools_janus_asset_names.JANUS_SUPPORTED_PLATFORM_ARCHES.includes(platformArch)) throw new require_primordials_error.ErrorCtor(`janusFromDownload: platformArch must be one of [${require_external_tools_janus_asset_names.JANUS_SUPPORTED_PLATFORM_ARCHES.map((p) => `\`${p}\``).join(", ")}], got \`${platformArch}\`. Upstream janus only publishes the macOS arm64 build (see https://github.com/divmain/janus/releases); request \`darwin-arm64\` or use a different tool for other platforms.`);
|
|
25
28
|
const url = require_external_tools_janus_asset_names.getJanusDownloadUrl({
|
|
26
29
|
version,
|
|
@@ -10,7 +10,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
|
|
|
10
10
|
*/
|
|
11
11
|
const JANUS_VFS_KEY = "janus";
|
|
12
12
|
async function janusFromVfs() {
|
|
13
|
-
const vfs =
|
|
13
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
14
14
|
if (!vfs) return;
|
|
15
15
|
/* c8 ignore start - smol Node binary only. */
|
|
16
16
|
if (!vfs.has("janus")) return;
|
|
@@ -22,7 +22,7 @@ export interface ResolveJanusOptions {
|
|
|
22
22
|
downloader?: BinaryDownloader | undefined;
|
|
23
23
|
} | undefined;
|
|
24
24
|
}
|
|
25
|
-
export declare function cacheKey(
|
|
26
|
-
export declare function doResolveJanus(
|
|
25
|
+
export declare function cacheKey(options: ResolveJanusOptions | undefined): string;
|
|
26
|
+
export declare function doResolveJanus(options?: ResolveJanusOptions | undefined): Promise<ResolvedJanus | undefined>;
|
|
27
27
|
export declare function resetJanusResolution(): void;
|
|
28
|
-
export declare function resolveJanus(
|
|
28
|
+
export declare function resolveJanus(options?: ResolveJanusOptions | undefined): Promise<ResolvedJanus | undefined>;
|
|
@@ -20,30 +20,38 @@ const require_external_tools_janus_from_vfs = require('./from-vfs.js');
|
|
|
20
20
|
* only). Memoized per option-shape.
|
|
21
21
|
*/
|
|
22
22
|
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
23
|
-
function cacheKey(
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
function cacheKey(options) {
|
|
24
|
+
options = {
|
|
25
|
+
__proto__: null,
|
|
26
|
+
...options
|
|
27
|
+
};
|
|
28
|
+
if (!options?.downloadIfMissing) return "local-only";
|
|
29
|
+
const { cacheDir, integrity, platformArch, version } = options.downloadIfMissing;
|
|
26
30
|
return `dl:${version}:${platformArch}:${typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : ""}:${cacheDir ?? ""}`;
|
|
27
31
|
}
|
|
28
|
-
async function doResolveJanus(
|
|
32
|
+
async function doResolveJanus(options) {
|
|
33
|
+
options = {
|
|
34
|
+
__proto__: null,
|
|
35
|
+
...options
|
|
36
|
+
};
|
|
29
37
|
const fromVfs = await require_external_tools_janus_from_vfs.janusFromVfs();
|
|
30
38
|
/* c8 ignore start - smol Node binary only. */
|
|
31
39
|
if (fromVfs) return fromVfs;
|
|
32
40
|
/* c8 ignore stop */
|
|
33
41
|
const fromPath = await require_external_tools_janus_from_path.janusFromPath();
|
|
34
42
|
if (fromPath) return fromPath;
|
|
35
|
-
if (
|
|
43
|
+
if (options?.downloadIfMissing) return require_external_tools_janus_from_download.janusFromDownload(options.downloadIfMissing);
|
|
36
44
|
}
|
|
37
45
|
/* c8 ignore start - test-only escape hatch. */
|
|
38
46
|
function resetJanusResolution() {
|
|
39
47
|
resolutionCache.clear();
|
|
40
48
|
}
|
|
41
49
|
/* c8 ignore stop */
|
|
42
|
-
function resolveJanus(
|
|
43
|
-
const key = cacheKey(
|
|
50
|
+
function resolveJanus(options) {
|
|
51
|
+
const key = cacheKey(options);
|
|
44
52
|
let cached = resolutionCache.get(key);
|
|
45
53
|
if (!cached) {
|
|
46
|
-
cached = doResolveJanus(
|
|
54
|
+
cached = doResolveJanus(options);
|
|
47
55
|
resolutionCache.set(key, cached);
|
|
48
56
|
}
|
|
49
57
|
return cached;
|
|
@@ -83,7 +83,7 @@ export interface AdoptiumDownloadOptions {
|
|
|
83
83
|
* })
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
|
-
export declare function getAdoptiumDownloadUrl(
|
|
86
|
+
export declare function getAdoptiumDownloadUrl(options: AdoptiumDownloadOptions): string | undefined;
|
|
87
87
|
/**
|
|
88
88
|
* Returns the Adoptium query parameters for a given platform-arch, or
|
|
89
89
|
* `undefined` if no Adoptium build exists for that target.
|
|
@@ -95,8 +95,11 @@ const ADOPTIUM_QUERY_MAP = require_primordials_object.ObjectFreeze({
|
|
|
95
95
|
* })
|
|
96
96
|
* ```
|
|
97
97
|
*/
|
|
98
|
-
function getAdoptiumDownloadUrl(
|
|
99
|
-
const { platformArch, releaseType = "ga", type = "jre", version } =
|
|
98
|
+
function getAdoptiumDownloadUrl(options) {
|
|
99
|
+
const { platformArch, releaseType = "ga", type = "jre", version } = {
|
|
100
|
+
__proto__: null,
|
|
101
|
+
...options
|
|
102
|
+
};
|
|
100
103
|
const query = ADOPTIUM_QUERY_MAP[platformArch];
|
|
101
104
|
if (!query) return;
|
|
102
105
|
return `https://api.adoptium.net/v3/binary/latest/${version}/${releaseType}/${query.os}/${query.architecture}/${type}/hotspot/normal/eclipse`;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file `
|
|
3
|
-
*
|
|
4
|
-
* `
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* @file `getJreArch()` — resolves the current machine to a `platform-arch`
|
|
3
|
+
* string suitable for the Adoptium `ADOPTIUM_QUERY_MAP` keys (e.g.
|
|
4
|
+
* `darwin-arm64`, `linux-x64-musl`, `win-x64`). Self-contained: owns the
|
|
5
|
+
* Adoptium vocabulary end to end (Node's `win32` → `win`, an Alpine `-musl`
|
|
6
|
+
* suffix on Linux) rather than reusing the shared `getPlatformArch` /
|
|
7
|
+
* `detectLibc` — Adoptium ships a distinct `alpine-linux` channel, so the JRE
|
|
8
|
+
* key set differs from both the release-binary naming and
|
|
9
|
+
* python-build-standalone (see `getPythonArch`). Returns `undefined` on an
|
|
10
|
+
* unsupported platform/arch.
|
|
7
11
|
*/
|
|
8
|
-
export declare function
|
|
12
|
+
export declare function getJreArch(): string | undefined;
|
|
@@ -2,27 +2,42 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
5
|
-
const
|
|
5
|
+
const require_constants_platform = require('../../constants/platform.js');
|
|
6
|
+
const require_primordials_object = require('../../primordials/object.js');
|
|
6
7
|
let node_process = require("node:process");
|
|
7
8
|
node_process = require_runtime.__toESM(node_process);
|
|
8
9
|
|
|
9
10
|
//#region src/external-tools/jre/detect-platform-arch.ts
|
|
10
11
|
/**
|
|
11
|
-
* @file `
|
|
12
|
-
*
|
|
13
|
-
* `
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* @file `getJreArch()` — resolves the current machine to a `platform-arch`
|
|
13
|
+
* string suitable for the Adoptium `ADOPTIUM_QUERY_MAP` keys (e.g.
|
|
14
|
+
* `darwin-arm64`, `linux-x64-musl`, `win-x64`). Self-contained: owns the
|
|
15
|
+
* Adoptium vocabulary end to end (Node's `win32` → `win`, an Alpine `-musl`
|
|
16
|
+
* suffix on Linux) rather than reusing the shared `getPlatformArch` /
|
|
17
|
+
* `detectLibc` — Adoptium ships a distinct `alpine-linux` channel, so the JRE
|
|
18
|
+
* key set differs from both the release-binary naming and
|
|
19
|
+
* python-build-standalone (see `getPythonArch`). Returns `undefined` on an
|
|
20
|
+
* unsupported platform/arch.
|
|
16
21
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
const NODE_PLATFORM_TO_JRE = require_primordials_object.ObjectFreeze({
|
|
23
|
+
__proto__: null,
|
|
24
|
+
darwin: "darwin",
|
|
25
|
+
linux: "linux",
|
|
26
|
+
win32: "win"
|
|
27
|
+
});
|
|
28
|
+
const NODE_ARCH_TO_JRE = require_primordials_object.ObjectFreeze({
|
|
29
|
+
__proto__: null,
|
|
30
|
+
arm64: "arm64",
|
|
31
|
+
x64: "x64"
|
|
32
|
+
});
|
|
33
|
+
function getJreArch() {
|
|
34
|
+
/* c8 ignore start - depends on process.platform/arch + libc probe. */
|
|
35
|
+
const platform = NODE_PLATFORM_TO_JRE[node_process.default.platform];
|
|
36
|
+
const arch = NODE_ARCH_TO_JRE[node_process.default.arch];
|
|
37
|
+
if (!platform || !arch) return;
|
|
38
|
+
return `${platform}-${arch}${platform === "linux" && require_constants_platform.getLibc() === "musl" ? "-musl" : ""}`;
|
|
24
39
|
/* c8 ignore stop */
|
|
25
40
|
}
|
|
26
41
|
|
|
27
42
|
//#endregion
|
|
28
|
-
exports.
|
|
43
|
+
exports.getJreArch = getJreArch;
|
|
@@ -59,4 +59,4 @@ export interface JreFromDownloadOptions {
|
|
|
59
59
|
* // → { javaPath: '/.../bin/java', javaHome: '/...', source: 'download' }
|
|
60
60
|
* ```
|
|
61
61
|
*/
|
|
62
|
-
export declare function jreFromDownload(
|
|
62
|
+
export declare function jreFromDownload(options: JreFromDownloadOptions): Promise<ResolvedJre | undefined>;
|
|
@@ -6,10 +6,10 @@ const require_primordials_string = require('../../primordials/string.js');
|
|
|
6
6
|
const require_paths_socket = require('../../paths/socket.js');
|
|
7
7
|
const require_external_tools_from_download = require('../from-download.js');
|
|
8
8
|
const require_external_tools_jre_asset_names = require('./asset-names.js');
|
|
9
|
-
let node_path = require("node:path");
|
|
10
|
-
node_path = require_runtime.__toESM(node_path);
|
|
11
9
|
let node_process = require("node:process");
|
|
12
10
|
node_process = require_runtime.__toESM(node_process);
|
|
11
|
+
let node_path = require("node:path");
|
|
12
|
+
node_path = require_runtime.__toESM(node_path);
|
|
13
13
|
|
|
14
14
|
//#region src/external-tools/jre/from-download.ts
|
|
15
15
|
/**
|
|
@@ -44,8 +44,11 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
44
44
|
* // → { javaPath: '/.../bin/java', javaHome: '/...', source: 'download' }
|
|
45
45
|
* ```
|
|
46
46
|
*/
|
|
47
|
-
async function jreFromDownload(
|
|
48
|
-
const { cacheDir, downloader, integrity, platformArch, version } =
|
|
47
|
+
async function jreFromDownload(options) {
|
|
48
|
+
const { cacheDir, downloader, integrity, platformArch, version } = {
|
|
49
|
+
__proto__: null,
|
|
50
|
+
...options
|
|
51
|
+
};
|
|
49
52
|
const url = require_external_tools_jre_asset_names.getAdoptiumDownloadUrl({
|
|
50
53
|
version,
|
|
51
54
|
platformArch
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
5
|
-
let node_path = require("node:path");
|
|
6
|
-
node_path = require_runtime.__toESM(node_path);
|
|
7
5
|
let node_process = require("node:process");
|
|
8
6
|
node_process = require_runtime.__toESM(node_process);
|
|
7
|
+
let node_path = require("node:path");
|
|
8
|
+
node_path = require_runtime.__toESM(node_path);
|
|
9
9
|
|
|
10
10
|
//#region src/external-tools/jre/from-java-home.ts
|
|
11
11
|
/**
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
5
5
|
const require_smol_vfs = require('../../smol/vfs.js');
|
|
6
|
-
let node_path = require("node:path");
|
|
7
|
-
node_path = require_runtime.__toESM(node_path);
|
|
8
6
|
let node_process = require("node:process");
|
|
9
7
|
node_process = require_runtime.__toESM(node_process);
|
|
8
|
+
let node_path = require("node:path");
|
|
9
|
+
node_path = require_runtime.__toESM(node_path);
|
|
10
10
|
|
|
11
11
|
//#region src/external-tools/jre/from-vfs.ts
|
|
12
12
|
/**
|
|
@@ -25,7 +25,7 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
25
25
|
*/
|
|
26
26
|
const JRE_VFS_KEY = "jre";
|
|
27
27
|
async function jreFromVfs() {
|
|
28
|
-
const vfs =
|
|
28
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
29
29
|
if (!vfs) return;
|
|
30
30
|
/* c8 ignore start - smol Node binary only. */
|
|
31
31
|
if (!vfs.has("jre")) return;
|
|
@@ -34,7 +34,7 @@ export interface ResolveJreOptions {
|
|
|
34
34
|
downloader?: BinaryDownloader | undefined;
|
|
35
35
|
} | undefined;
|
|
36
36
|
}
|
|
37
|
-
export declare function cacheKey(
|
|
38
|
-
export declare function doResolveJre(
|
|
37
|
+
export declare function cacheKey(options: ResolveJreOptions | undefined): string;
|
|
38
|
+
export declare function doResolveJre(options?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
|
|
39
39
|
export declare function resetJreResolution(): void;
|
|
40
|
-
export declare function resolveJre(
|
|
40
|
+
export declare function resolveJre(options?: ResolveJreOptions | undefined): Promise<ResolvedJre | undefined>;
|
|
@@ -28,12 +28,20 @@ const require_external_tools_jre_from_vfs = require('./from-vfs.js');
|
|
|
28
28
|
* resolver fresh.
|
|
29
29
|
*/
|
|
30
30
|
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
31
|
-
function cacheKey(
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
function cacheKey(options) {
|
|
32
|
+
options = {
|
|
33
|
+
__proto__: null,
|
|
34
|
+
...options
|
|
35
|
+
};
|
|
36
|
+
if (!options?.downloadIfMissing) return "local-only";
|
|
37
|
+
const { cacheDir, integrity, platformArch, version } = options.downloadIfMissing;
|
|
34
38
|
return `dl:${version}:${platformArch}:${typeof integrity === "string" ? integrity : integrity ? `${integrity.type}:${integrity.value}` : ""}:${cacheDir ?? ""}`;
|
|
35
39
|
}
|
|
36
|
-
async function doResolveJre(
|
|
40
|
+
async function doResolveJre(options) {
|
|
41
|
+
options = {
|
|
42
|
+
__proto__: null,
|
|
43
|
+
...options
|
|
44
|
+
};
|
|
37
45
|
const fromVfs = await require_external_tools_jre_from_vfs.jreFromVfs();
|
|
38
46
|
/* c8 ignore start - smol Node binary only. */
|
|
39
47
|
if (fromVfs) return fromVfs;
|
|
@@ -42,18 +50,18 @@ async function doResolveJre(opts) {
|
|
|
42
50
|
if (fromJavaHome) return fromJavaHome;
|
|
43
51
|
const fromPath = await require_external_tools_jre_from_path.jreFromPath();
|
|
44
52
|
if (fromPath) return fromPath;
|
|
45
|
-
if (
|
|
53
|
+
if (options?.downloadIfMissing) return require_external_tools_jre_from_download.jreFromDownload(options.downloadIfMissing);
|
|
46
54
|
}
|
|
47
55
|
/* c8 ignore start - test-only escape hatch. */
|
|
48
56
|
function resetJreResolution() {
|
|
49
57
|
resolutionCache.clear();
|
|
50
58
|
}
|
|
51
59
|
/* c8 ignore stop */
|
|
52
|
-
function resolveJre(
|
|
53
|
-
const key = cacheKey(
|
|
60
|
+
function resolveJre(options) {
|
|
61
|
+
const key = cacheKey(options);
|
|
54
62
|
let cached = resolutionCache.get(key);
|
|
55
63
|
if (!cached) {
|
|
56
|
-
cached = doResolveJre(
|
|
64
|
+
cached = doResolveJre(options);
|
|
57
65
|
resolutionCache.set(key, cached);
|
|
58
66
|
}
|
|
59
67
|
return cached;
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* integrity-string validation. Shape: { "<tool-name>": { "description":
|
|
10
10
|
* "human-readable summary", "version": "1.7.2", "release": "asset" |
|
|
11
11
|
* "tarball" | ..., "repository": "github:owner/repo", "notes": [...],
|
|
12
|
-
* "
|
|
12
|
+
* "platforms": { "<platform-arch>": { "asset": "<asset-filename>",
|
|
13
13
|
* "integrity": "sha256-base64=" } } } } Some tools have flavor variants (e.g.
|
|
14
14
|
* sfw's `free` / `enterprise`) that wrap the `{repository, binaryName,
|
|
15
|
-
*
|
|
15
|
+
* platforms}` triple under a flavor key. Use `getToolFlavor` for those. Some
|
|
16
16
|
* entries (e.g. `rust`) describe a system tool with a different shape —
|
|
17
17
|
* they're skipped by `getTool` and fully readable only via the raw
|
|
18
18
|
* `readManifest` returning unknown.
|
|
@@ -42,7 +42,7 @@ export interface ToolChecksum {
|
|
|
42
42
|
integrity: string;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* A downloadable-binary tool entry. `
|
|
45
|
+
* A downloadable-binary tool entry. `platforms` is keyed by the fleet's
|
|
46
46
|
* platform-arch token (`darwin-arm64`, `linux-x64-musl`, `win-x64`, etc. — same
|
|
47
47
|
* vocabulary as `getPlatformArch`).
|
|
48
48
|
*/
|
|
@@ -53,12 +53,12 @@ export interface ToolEntry {
|
|
|
53
53
|
repository: string;
|
|
54
54
|
binaryName?: string | undefined;
|
|
55
55
|
notes?: readonly string[] | undefined;
|
|
56
|
-
|
|
56
|
+
platforms: Readonly<Record<string, ToolChecksum>>;
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* A flavored tool entry — sfw is the canonical example, with `free` and
|
|
60
60
|
* `enterprise` variants sharing the same outer `description` / `version` /
|
|
61
|
-
* `release` but each carrying its own `{repository, binaryName,
|
|
61
|
+
* `release` but each carrying its own `{repository, binaryName, platforms}`.
|
|
62
62
|
*/
|
|
63
63
|
export interface FlavoredToolEntry {
|
|
64
64
|
description: string;
|
|
@@ -70,7 +70,7 @@ export interface FlavoredToolEntry {
|
|
|
70
70
|
export interface ToolFlavor {
|
|
71
71
|
repository: string;
|
|
72
72
|
binaryName?: string | undefined;
|
|
73
|
-
|
|
73
|
+
platforms: Readonly<Record<string, ToolChecksum>>;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
76
|
* Parsed manifest. `tools` is a flat map; the values are unions because some
|
|
@@ -91,9 +91,27 @@ export type ManifestEntry = {
|
|
|
91
91
|
kind: 'other';
|
|
92
92
|
raw: unknown;
|
|
93
93
|
};
|
|
94
|
+
export interface RawChecksum {
|
|
95
|
+
asset?: unknown | undefined;
|
|
96
|
+
integrity?: unknown | undefined;
|
|
97
|
+
}
|
|
98
|
+
export interface RawFlavor {
|
|
99
|
+
repository?: unknown | undefined;
|
|
100
|
+
binaryName?: unknown | undefined;
|
|
101
|
+
platforms?: unknown | undefined;
|
|
102
|
+
}
|
|
103
|
+
export interface RawToolEntry {
|
|
104
|
+
description?: unknown | undefined;
|
|
105
|
+
version?: unknown | undefined;
|
|
106
|
+
release?: unknown | undefined;
|
|
107
|
+
repository?: unknown | undefined;
|
|
108
|
+
binaryName?: unknown | undefined;
|
|
109
|
+
notes?: unknown | undefined;
|
|
110
|
+
platforms?: unknown | undefined;
|
|
111
|
+
}
|
|
94
112
|
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
95
113
|
export declare function parseChecksum(raw: unknown, toolName: string, platformKey: string): ToolChecksum;
|
|
96
|
-
export declare function
|
|
114
|
+
export declare function parsePlatforms(raw: unknown, toolName: string): Record<string, ToolChecksum>;
|
|
97
115
|
export declare function parseToolEntry(raw: unknown, toolName: string): ManifestEntry;
|
|
98
116
|
/**
|
|
99
117
|
* Read an `external-tools.json` file from disk and return the parsed manifest.
|