@socketsecurity/lib 6.0.6 → 6.0.7
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 +26 -1
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +3 -2
- package/dist/ai/spawn.js +2 -1
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +1 -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 +6 -6
- package/dist/archives/zip.js +3 -5
- 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 +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 +43 -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 +13 -13
- package/dist/bin/prim.cjs +22736 -22556
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- 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 +11 -11
- package/dist/{bin → cli}/check-primordials.js +55 -52
- 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 +17 -17
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +33 -33
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +40 -40
- 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.js +22 -28
- 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.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- 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 +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +16 -14
- 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 +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -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 +16 -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 +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- 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 +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- 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 +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- 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/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- 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 +1 -109
- package/dist/env/socket.js +12 -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/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/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- 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-vfs.js +1 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +12 -12
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- 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 +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -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 +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- 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/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- 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 +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- 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 +10 -10
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -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-rest.js +5 -5
- 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 +7 -9
- package/dist/globs/match.js +4 -6
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -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 +4 -2
- 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/headers.js +0 -1
- package/dist/http-request/request-attempt.js +37 -33
- 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 +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -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 +13 -14
- package/dist/json/format.js +2 -2
- 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 +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -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.js +4 -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.js +4 -3
- package/dist/node/path.js +4 -3
- 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 +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- 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 +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.js +16 -18
- 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 +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- 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/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 +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- 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/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- 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 +14 -14
- package/dist/process/spawn/errors.js +2 -4
- 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/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- 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 +11 -2
- 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 +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/keychain.js +6 -4
- package/dist/secrets/linux.js +19 -19
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +13 -13
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +6 -4
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +14 -13
- package/dist/shadow/skip.js +2 -2
- 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 +101 -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 +4 -5
- package/dist/spinner/spinner.js +18 -705
- 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 +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- 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/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -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 +247 -106
- 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/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/{path-cache.d.ts → allowed-dirs-cache.d.ts} +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
|
@@ -24,25 +24,24 @@ const require_events_exit_lifecycle = require('./lifecycle.js');
|
|
|
24
24
|
* remove()
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
27
|
function onExit(cb, options) {
|
|
29
28
|
/* c8 ignore start */
|
|
30
29
|
if (!require_events_exit__internal.globalProcess) return function remove() {};
|
|
31
30
|
/* c8 ignore stop */
|
|
32
31
|
if (typeof cb !== "function") throw new require_primordials_error.TypeErrorCtor("a callback must be provided for exit handler");
|
|
33
|
-
if (require_events_exit__internal.isLoaded() === false)
|
|
32
|
+
if (require_events_exit__internal.isLoaded() === false) require_events_exit_lifecycle.load();
|
|
34
33
|
const { alwaysLast } = {
|
|
35
34
|
__proto__: null,
|
|
36
35
|
...options
|
|
37
36
|
};
|
|
38
37
|
let eventName = "exit";
|
|
39
38
|
if (alwaysLast) eventName = "afterexit";
|
|
40
|
-
const emitter =
|
|
39
|
+
const emitter = require_events_exit__internal.getEmitter();
|
|
41
40
|
emitter.on(eventName, cb);
|
|
42
41
|
return function remove() {
|
|
43
42
|
emitter.removeListener(eventName, cb);
|
|
44
43
|
/* c8 ignore start */
|
|
45
|
-
if (!emitter.listeners("exit").length && !emitter.listeners("afterexit").length)
|
|
44
|
+
if (!emitter.listeners("exit").length && !emitter.listeners("afterexit").length) require_events_exit_lifecycle.unload();
|
|
46
45
|
/* c8 ignore stop */
|
|
47
46
|
};
|
|
48
47
|
}
|
|
@@ -14,7 +14,6 @@ const require_events_exit__internal = require('./_internal.js');
|
|
|
14
14
|
*/
|
|
15
15
|
/* c8 ignore start - processEmit + processReallyExit interceptors
|
|
16
16
|
only fire on real process exit/emit; can't be triggered in-test. */
|
|
17
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
18
17
|
function processEmit(eventName, exitCode, ...args) {
|
|
19
18
|
if (eventName === "exit") {
|
|
20
19
|
let actualExitCode = exitCode;
|
|
@@ -28,8 +27,8 @@ function processEmit(eventName, exitCode, ...args) {
|
|
|
28
27
|
...args
|
|
29
28
|
]);
|
|
30
29
|
const numExitCode = typeof actualExitCode === "number" ? actualExitCode : void 0;
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
require_events_exit__internal.emit("exit", numExitCode, void 0);
|
|
31
|
+
require_events_exit__internal.emit("afterexit", numExitCode, void 0);
|
|
33
32
|
return result;
|
|
34
33
|
}
|
|
35
34
|
return require_primordials_reflect.ReflectApply(require_events_exit__internal.originalProcessEmit, this, [
|
|
@@ -38,12 +37,11 @@ function processEmit(eventName, exitCode, ...args) {
|
|
|
38
37
|
...args
|
|
39
38
|
]);
|
|
40
39
|
}
|
|
41
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
42
40
|
function processReallyExit(code) {
|
|
43
41
|
const exitCode = code || 0;
|
|
44
42
|
if (require_events_exit__internal.globalProcess) require_events_exit__internal.globalProcess.exitCode = exitCode;
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
require_events_exit__internal.emit("exit", exitCode, void 0);
|
|
44
|
+
require_events_exit__internal.emit("afterexit", exitCode, void 0);
|
|
47
45
|
require_primordials_reflect.ReflectApply(require_events_exit__internal.originalProcessReallyExit, require_events_exit__internal.globalProcess, [exitCode]);
|
|
48
46
|
throw new require_primordials_error.ErrorCtor("processReallyExit should never return");
|
|
49
47
|
}
|
|
@@ -11,26 +11,26 @@ const require_events_exit_intercept = require('./intercept.js');
|
|
|
11
11
|
* calls `unload()`; keeping them in the same leaf avoids an inter-leaf import
|
|
12
12
|
* cycle.
|
|
13
13
|
*/
|
|
14
|
-
let
|
|
15
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
14
|
+
let signalListenerMap;
|
|
16
15
|
function getSignalListeners() {
|
|
17
|
-
if (
|
|
18
|
-
|
|
19
|
-
const emitter =
|
|
20
|
-
const sigs =
|
|
16
|
+
if (signalListenerMap === void 0) {
|
|
17
|
+
signalListenerMap = { __proto__: null };
|
|
18
|
+
const emitter = require_events_exit__internal.getEmitter();
|
|
19
|
+
const sigs = require_events_exit__internal.getSignals();
|
|
21
20
|
/* c8 ignore start - Signal-listener body fires only on real
|
|
22
21
|
process signals; can't be triggered in-test without subprocess
|
|
23
22
|
infrastructure. */
|
|
24
|
-
for (const sig of sigs)
|
|
23
|
+
for (const sig of sigs) signalListenerMap[sig] = function listener() {
|
|
25
24
|
if ((require_events_exit__internal.globalProcess?.listeners(sig) || []).length === emitter.count) {
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
unload();
|
|
26
|
+
require_events_exit__internal.emit("exit", void 0, sig);
|
|
27
|
+
require_events_exit__internal.emit("afterexit", void 0, sig);
|
|
28
28
|
const killSig = require_events_exit__internal.WIN32 && sig === "SIGHUP" ? "SIGINT" : sig;
|
|
29
29
|
require_events_exit__internal.globalProcess?.kill(require_events_exit__internal.globalProcess?.pid, killSig);
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
return
|
|
33
|
+
return signalListenerMap;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Load signal handlers and hook into process exit events.
|
|
@@ -41,18 +41,17 @@ function getSignalListeners() {
|
|
|
41
41
|
* // Signal handlers are now active
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
45
44
|
function load() {
|
|
46
45
|
/* c8 ignore next - !globalProcess never fires in Node tests. */
|
|
47
46
|
if (require_events_exit__internal.isLoaded() || !require_events_exit__internal.globalProcess) return;
|
|
48
47
|
require_events_exit__internal.setLoaded(true);
|
|
49
48
|
const proc = require_events_exit__internal.globalProcess;
|
|
50
|
-
const emitter =
|
|
49
|
+
const emitter = require_events_exit__internal.getEmitter();
|
|
51
50
|
/* c8 ignore start */
|
|
52
51
|
if (emitter.count !== void 0) emitter.count += 1;
|
|
53
52
|
/* c8 ignore stop */
|
|
54
|
-
const sigs =
|
|
55
|
-
const sigListeners =
|
|
53
|
+
const sigs = require_events_exit__internal.getSignals();
|
|
54
|
+
const sigListeners = getSignalListeners();
|
|
56
55
|
require_events_exit__internal.setSignals(sigs.filter((sig) => {
|
|
57
56
|
try {
|
|
58
57
|
proc.on(sig, sigListeners[sig]);
|
|
@@ -73,14 +72,13 @@ function load() {
|
|
|
73
72
|
* // Signal handlers are now removed
|
|
74
73
|
* ```
|
|
75
74
|
*/
|
|
76
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
77
75
|
function unload() {
|
|
78
76
|
/* c8 ignore start */
|
|
79
77
|
if (!require_events_exit__internal.isLoaded() || !require_events_exit__internal.globalProcess) return;
|
|
80
78
|
/* c8 ignore stop */
|
|
81
79
|
require_events_exit__internal.setLoaded(false);
|
|
82
|
-
const sigs =
|
|
83
|
-
const sigListeners =
|
|
80
|
+
const sigs = require_events_exit__internal.getSignals();
|
|
81
|
+
const sigListeners = getSignalListeners();
|
|
84
82
|
for (const sig of sigs) try {
|
|
85
83
|
require_events_exit__internal.globalProcess.removeListener(sig, sigListeners[sig]);
|
|
86
84
|
} catch {}
|
|
@@ -88,7 +86,7 @@ function unload() {
|
|
|
88
86
|
/* c8 ignore start */
|
|
89
87
|
if (require_events_exit__internal.originalProcessReallyExit !== void 0) require_events_exit__internal.globalProcess.reallyExit = require_events_exit__internal.originalProcessReallyExit;
|
|
90
88
|
/* c8 ignore stop */
|
|
91
|
-
const emitter =
|
|
89
|
+
const emitter = require_events_exit__internal.getEmitter();
|
|
92
90
|
/* c8 ignore start */
|
|
93
91
|
if (emitter.count !== void 0) emitter.count -= 1;
|
|
94
92
|
/* c8 ignore stop */
|
|
@@ -19,9 +19,8 @@ const require_events_exit__internal = require('./_internal.js');
|
|
|
19
19
|
* console.log(sigs) // ['SIGABRT', 'SIGALRM', 'SIGHUP', ...]
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
23
22
|
function signals() {
|
|
24
|
-
return
|
|
23
|
+
return require_events_exit__internal.getSignals();
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
//#endregion
|
|
@@ -4,18 +4,19 @@
|
|
|
4
4
|
* emitter, emitted-signal map, and listener map. Pure types, no runtime side
|
|
5
5
|
* effects.
|
|
6
6
|
*/
|
|
7
|
+
import type { EventEmitter } from 'node:events';
|
|
7
8
|
export type EmittedSignals = {
|
|
8
9
|
[signal: string]: boolean;
|
|
9
10
|
};
|
|
10
|
-
export type SignalExitEmitter =
|
|
11
|
-
count?: number;
|
|
12
|
-
emitted?: EmittedSignals;
|
|
13
|
-
infinite?: boolean;
|
|
11
|
+
export type SignalExitEmitter = EventEmitter & {
|
|
12
|
+
count?: number | undefined;
|
|
13
|
+
emitted?: EmittedSignals | undefined;
|
|
14
|
+
infinite?: boolean | undefined;
|
|
14
15
|
};
|
|
15
16
|
export type SignalListener = () => void;
|
|
16
17
|
export type SignalListenerMap = {
|
|
17
18
|
[signal: string]: SignalListener;
|
|
18
19
|
};
|
|
19
20
|
export interface OnExitOptions {
|
|
20
|
-
alwaysLast?: boolean;
|
|
21
|
+
alwaysLast?: boolean | undefined;
|
|
21
22
|
}
|
|
@@ -2388,7 +2388,7 @@ var require_commonjs$5 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
2388
2388
|
}));
|
|
2389
2389
|
|
|
2390
2390
|
//#endregion
|
|
2391
|
-
//#region node_modules/.pnpm/brace-expansion@5.0.
|
|
2391
|
+
//#region node_modules/.pnpm/brace-expansion@5.0.6/node_modules/brace-expansion/dist/commonjs/index.js
|
|
2392
2392
|
var require_commonjs$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
2393
2393
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2394
2394
|
exports.EXPANSION_MAX = void 0;
|
|
@@ -2504,7 +2504,7 @@ var require_commonjs$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
2504
2504
|
}
|
|
2505
2505
|
const pad = n.some(isPadded);
|
|
2506
2506
|
N = [];
|
|
2507
|
-
for (let i = x; test(i, y); i += incr) {
|
|
2507
|
+
for (let i = x; test(i, y) && N.length < max; i += incr) {
|
|
2508
2508
|
let c;
|
|
2509
2509
|
if (isAlphaSequence) {
|
|
2510
2510
|
c = String.fromCharCode(i);
|
|
@@ -2432,7 +2432,7 @@ var require_commonjs$8 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
2432
2432
|
}));
|
|
2433
2433
|
|
|
2434
2434
|
//#endregion
|
|
2435
|
-
//#region node_modules/.pnpm/brace-expansion@5.0.
|
|
2435
|
+
//#region node_modules/.pnpm/brace-expansion@5.0.6/node_modules/brace-expansion/dist/commonjs/index.js
|
|
2436
2436
|
var require_commonjs$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
2437
2437
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2438
2438
|
exports.EXPANSION_MAX = void 0;
|
|
@@ -2548,7 +2548,7 @@ var require_commonjs$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
2548
2548
|
}
|
|
2549
2549
|
const pad = n.some(isPadded);
|
|
2550
2550
|
N = [];
|
|
2551
|
-
for (let i = x; test(i, y); i += incr) {
|
|
2551
|
+
for (let i = x; test(i, y) && N.length < max; i += incr) {
|
|
2552
2552
|
let c;
|
|
2553
2553
|
if (isAlphaSequence) {
|
|
2554
2554
|
c = String.fromCharCode(i);
|
|
@@ -23,7 +23,7 @@ const BAZEL_VERSION_FILE = ".bazelversion";
|
|
|
23
23
|
async function readBazelVersionFile(startDir) {
|
|
24
24
|
let current = node_path.default.resolve(startDir);
|
|
25
25
|
while (true) {
|
|
26
|
-
const content = await
|
|
26
|
+
const content = await require_fs_read_file.safeReadFile(node_path.default.join(current, BAZEL_VERSION_FILE), { encoding: "utf8" });
|
|
27
27
|
if (content !== void 0) {
|
|
28
28
|
const hashIdx = require_primordials_string.StringPrototypeIndexOf(content, "#");
|
|
29
29
|
const version = require_primordials_string.StringPrototypeTrim(hashIdx === -1 ? content : require_primordials_string.StringPrototypeSlice(content, 0, hashIdx));
|
|
@@ -10,7 +10,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
|
|
|
10
10
|
*/
|
|
11
11
|
const CDXGEN_VFS_KEY = "cdxgen";
|
|
12
12
|
async function cdxgenFromVfs() {
|
|
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("cdxgen")) return;
|
|
@@ -68,7 +68,7 @@ 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.
|
|
@@ -44,7 +44,7 @@ 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.
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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
|
|
@@ -93,7 +93,7 @@ export type ManifestEntry = {
|
|
|
93
93
|
};
|
|
94
94
|
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
95
95
|
export declare function parseChecksum(raw: unknown, toolName: string, platformKey: string): ToolChecksum;
|
|
96
|
-
export declare function
|
|
96
|
+
export declare function parsePlatforms(raw: unknown, toolName: string): Record<string, ToolChecksum>;
|
|
97
97
|
export declare function parseToolEntry(raw: unknown, toolName: string): ManifestEntry;
|
|
98
98
|
/**
|
|
99
99
|
* Read an `external-tools.json` file from disk and return the parsed manifest.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_primordials_error = require('../primordials/error.js');
|
|
5
|
-
const require_primordials_string = require('../primordials/string.js');
|
|
6
5
|
const require_integrity = require('../integrity.js');
|
|
6
|
+
const require_primordials_string = require('../primordials/string.js');
|
|
7
7
|
const require_primordials_array = require('../primordials/array.js');
|
|
8
8
|
const require_primordials_object = require('../primordials/object.js');
|
|
9
9
|
const require_fs_read_json = require('../fs/read-json.js');
|
|
@@ -20,10 +20,10 @@ const require_fs_read_json = require('../fs/read-json.js');
|
|
|
20
20
|
* integrity-string validation. Shape: { "<tool-name>": { "description":
|
|
21
21
|
* "human-readable summary", "version": "1.7.2", "release": "asset" |
|
|
22
22
|
* "tarball" | ..., "repository": "github:owner/repo", "notes": [...],
|
|
23
|
-
* "
|
|
23
|
+
* "platforms": { "<platform-arch>": { "asset": "<asset-filename>",
|
|
24
24
|
* "integrity": "sha256-base64=" } } } } Some tools have flavor variants (e.g.
|
|
25
25
|
* sfw's `free` / `enterprise`) that wrap the `{repository, binaryName,
|
|
26
|
-
*
|
|
26
|
+
* platforms}` triple under a flavor key. Use `getToolFlavor` for those. Some
|
|
27
27
|
* entries (e.g. `rust`) describe a system tool with a different shape —
|
|
28
28
|
* they're skipped by `getTool` and fully readable only via the raw
|
|
29
29
|
* `readManifest` returning unknown.
|
|
@@ -52,14 +52,14 @@ function parseChecksum(raw, toolName, platformKey) {
|
|
|
52
52
|
if (!isObject(raw)) throw new require_primordials_error.ErrorCtor(`external-tools.json: tool '${toolName}' checksum entry '${platformKey}' must be an object, got: ${typeof raw}`);
|
|
53
53
|
const r = raw;
|
|
54
54
|
if (typeof r.asset !== "string" || r.asset.length === 0) throw new require_primordials_error.ErrorCtor(`external-tools.json: tool '${toolName}' platform '${platformKey}' is missing a non-empty 'asset' string`);
|
|
55
|
-
if (typeof r.integrity !== "string" || !require_integrity.
|
|
55
|
+
if (typeof r.integrity !== "string" || !require_integrity.isIntegrity(r.integrity)) throw new require_primordials_error.ErrorCtor(`external-tools.json: tool '${toolName}' platform '${platformKey}' has an invalid 'integrity' (expected SRI sha512 or sha256 form): ${r.integrity}`);
|
|
56
56
|
return {
|
|
57
57
|
asset: r.asset,
|
|
58
58
|
integrity: r.integrity
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
function
|
|
62
|
-
if (!isObject(raw)) throw new require_primordials_error.ErrorCtor(`external-tools.json: tool '${toolName}' is missing a '
|
|
61
|
+
function parsePlatforms(raw, toolName) {
|
|
62
|
+
if (!isObject(raw)) throw new require_primordials_error.ErrorCtor(`external-tools.json: tool '${toolName}' is missing a 'platforms' object`);
|
|
63
63
|
const out = {};
|
|
64
64
|
for (const platformKey of require_primordials_object.ObjectKeys(raw)) out[platformKey] = parseChecksum(raw[platformKey], toolName, platformKey);
|
|
65
65
|
return out;
|
|
@@ -70,7 +70,7 @@ function parseToolEntry(raw, toolName) {
|
|
|
70
70
|
raw
|
|
71
71
|
};
|
|
72
72
|
const r = raw;
|
|
73
|
-
if (isObject(r.
|
|
73
|
+
if (isObject(r.platforms)) {
|
|
74
74
|
if (typeof r.description !== "string" || typeof r.version !== "string" || typeof r.release !== "string" || typeof r.repository !== "string") return {
|
|
75
75
|
kind: "other",
|
|
76
76
|
raw
|
|
@@ -84,7 +84,7 @@ function parseToolEntry(raw, toolName) {
|
|
|
84
84
|
repository: r.repository,
|
|
85
85
|
binaryName: typeof r.binaryName === "string" ? r.binaryName : void 0,
|
|
86
86
|
notes: require_primordials_array.ArrayIsArray(r.notes) ? r.notes : void 0,
|
|
87
|
-
|
|
87
|
+
platforms: parsePlatforms(r.platforms, toolName)
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
90
|
}
|
|
@@ -105,7 +105,7 @@ function parseToolEntry(raw, toolName) {
|
|
|
105
105
|
* callers can handle them out-of-band without blocking the manifest read.
|
|
106
106
|
*/
|
|
107
107
|
async function readExternalToolsManifest(filepath) {
|
|
108
|
-
const raw = await
|
|
108
|
+
const raw = await require_fs_read_json.readJson(filepath);
|
|
109
109
|
if (!isObject(raw)) throw new require_primordials_error.ErrorCtor(`external-tools.json: expected top-level object, got: ${typeof raw}`);
|
|
110
110
|
const tools = {};
|
|
111
111
|
for (const toolName of require_primordials_object.ObjectKeys(raw)) {
|
|
@@ -120,12 +120,12 @@ function tryParseFlavored(raw, toolName) {
|
|
|
120
120
|
const value = raw[key];
|
|
121
121
|
if (!isObject(value)) continue;
|
|
122
122
|
const rf = value;
|
|
123
|
-
if (!isObject(rf.
|
|
123
|
+
if (!isObject(rf.platforms)) continue;
|
|
124
124
|
if (typeof rf.repository !== "string") continue;
|
|
125
125
|
flavors[key] = {
|
|
126
126
|
repository: rf.repository,
|
|
127
127
|
binaryName: typeof rf.binaryName === "string" ? rf.binaryName : void 0,
|
|
128
|
-
|
|
128
|
+
platforms: parsePlatforms(rf.platforms, `${toolName}.${key}`)
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
if (require_primordials_object.ObjectKeys(flavors).length === 0) return;
|
|
@@ -143,7 +143,7 @@ exports.getTool = getTool;
|
|
|
143
143
|
exports.getToolFlavor = getToolFlavor;
|
|
144
144
|
exports.isObject = isObject;
|
|
145
145
|
exports.parseChecksum = parseChecksum;
|
|
146
|
-
exports.
|
|
146
|
+
exports.parsePlatforms = parsePlatforms;
|
|
147
147
|
exports.parseToolEntry = parseToolEntry;
|
|
148
148
|
exports.readExternalToolsManifest = readExternalToolsManifest;
|
|
149
149
|
exports.tryParseFlavored = tryParseFlavored;
|
|
@@ -11,7 +11,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
|
|
|
11
11
|
*/
|
|
12
12
|
const OPENGREP_VFS_KEY = "opengrep";
|
|
13
13
|
async function opengrepFromVfs() {
|
|
14
|
-
const vfs =
|
|
14
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
15
15
|
if (!vfs) return;
|
|
16
16
|
/* c8 ignore start - smol Node binary only. */
|
|
17
17
|
if (!vfs.has("opengrep")) return;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Python-build-standalone release asset mapping. Astral publishes
|
|
3
|
+
* per-platform CPython archives under
|
|
4
|
+
* https://github.com/astral-sh/python-build-standalone/releases/download/<tag>/.
|
|
5
|
+
* Asset name shape: `cpython-<version>+<tag>-<triple>-install_only.tar.gz`.
|
|
6
|
+
* The `install_only` flavor is a relocatable runtime (no build artifacts),
|
|
7
|
+
* extracted one directory deep (`python/bin/python3`).
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Python-build-standalone default pin — the fleet-canonical CPython build,
|
|
11
|
+
* matching socket-cli's `bundle-tools.json`. Consumers that don't pass their
|
|
12
|
+
* own pin resolve against this. Bump it like any dependency (soak-aware), in
|
|
13
|
+
* lockstep with socket-cli (drift-watch). The `checksums` map is keyed by asset
|
|
14
|
+
* filename so the download tier verifies the exact tarball per platform.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DEFAULT_PYTHON_PIN: Readonly<{
|
|
17
|
+
__proto__: null;
|
|
18
|
+
version: "3.11.14";
|
|
19
|
+
tag: "20260203";
|
|
20
|
+
checksums: Readonly<{
|
|
21
|
+
__proto__: null;
|
|
22
|
+
'cpython-3.11.14+20260203-aarch64-apple-darwin-install_only.tar.gz': "63e3352fefd3b6494f73f46f51c6581c57a7e0d98775e6e00229d14a67ec3ce9";
|
|
23
|
+
'cpython-3.11.14+20260203-aarch64-pc-windows-msvc-install_only.tar.gz': "cb7828c131a005da367f7dba3a561bed91619452de870e531ee03344b2ac346f";
|
|
24
|
+
'cpython-3.11.14+20260203-aarch64-unknown-linux-gnu-install_only.tar.gz': "7341a5a0acd65f2c7c7a228d8bafa6561d220ffed26293d6a02c15ae2ee86af5";
|
|
25
|
+
'cpython-3.11.14+20260203-aarch64-unknown-linux-musl-install_only.tar.gz': "f0e5988c108187b12eb4d53cbac33a499a8e38e1693104432e1faabbab14c664";
|
|
26
|
+
'cpython-3.11.14+20260203-x86_64-apple-darwin-install_only.tar.gz': "f3b63051a9b1ffb4f663d928ebaec4311435cb67f3bdfa5634953df93397f25e";
|
|
27
|
+
'cpython-3.11.14+20260203-x86_64-pc-windows-msvc-install_only.tar.gz': "d220beff465bdc97bf5874be8ffbf07278e5bdf9a064cab932b5d93b542e3e86";
|
|
28
|
+
'cpython-3.11.14+20260203-x86_64-unknown-linux-gnu-install_only.tar.gz': "67abde21b6e074b58c0f738f0c4802b23827a7d49707dcaf3ed4dadf572f3f37";
|
|
29
|
+
'cpython-3.11.14+20260203-x86_64-unknown-linux-musl-install_only.tar.gz': "290de5199a9647d4de4adcf13a79a7c59f060357853bf41fd6d1a69b4b5fd00c";
|
|
30
|
+
}>;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the current host to a python-build-standalone `platform-arch` key (a
|
|
34
|
+
* `PLATFORM_TRIPLES` key, e.g. `darwin-arm64`, `linux-x64-musl`, `win-x64`).
|
|
35
|
+
* Owns the python-build-standalone vocabulary end to end: Node's `win32`
|
|
36
|
+
* becomes `win`, and an Alpine host gets a `-musl` suffix so it resolves to the
|
|
37
|
+
* real musl triple (upstream ships both gnu and musl Linux builds). Returns
|
|
38
|
+
* `undefined` when the host platform/arch has no upstream prebuilt.
|
|
39
|
+
*
|
|
40
|
+
* Separate from `getJreArch` (jre/Adoptium vocabulary) and from the shared
|
|
41
|
+
* `getPlatformArch` — neither matches python-build-standalone's key set.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getPythonArch(): string | undefined;
|
|
44
|
+
export interface PythonAssetOptions {
|
|
45
|
+
/**
|
|
46
|
+
* CPython version, e.g. `3.11.14`.
|
|
47
|
+
*/
|
|
48
|
+
readonly version: string;
|
|
49
|
+
/**
|
|
50
|
+
* Python-build-standalone release tag, e.g. `20260203`.
|
|
51
|
+
*/
|
|
52
|
+
readonly tag: string;
|
|
53
|
+
/**
|
|
54
|
+
* Target `platform-arch`, e.g. `darwin-arm64`. Omit to auto-detect the
|
|
55
|
+
* current host via {@link getPythonArch}; pass an explicit value to resolve
|
|
56
|
+
* the asset for a different target (e.g. cross-platform packaging).
|
|
57
|
+
*/
|
|
58
|
+
readonly arch?: string | undefined;
|
|
59
|
+
}
|
|
60
|
+
export interface PythonAsset {
|
|
61
|
+
/**
|
|
62
|
+
* Full asset filename:
|
|
63
|
+
* `cpython-<version>+<tag>-<triple>-install_only.tar.gz`.
|
|
64
|
+
*/
|
|
65
|
+
readonly assetName: string;
|
|
66
|
+
/**
|
|
67
|
+
* Absolute download URL for the asset (with `+` percent-encoded as `%2B`).
|
|
68
|
+
*/
|
|
69
|
+
readonly url: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Resolve the python-build-standalone download for a version + tag + platform.
|
|
73
|
+
* Returns the asset filename and URL, or `undefined` when the platform-arch has
|
|
74
|
+
* no upstream prebuilt.
|
|
75
|
+
*/
|
|
76
|
+
export declare function pythonAsset(opts: PythonAssetOptions): PythonAsset | undefined;
|