@socketsecurity/lib 5.28.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -37
- package/README.md +1 -1
- package/dist/abort/signal.d.ts +28 -0
- package/dist/{abort.js → abort/signal.js} +12 -10
- package/dist/ai/discover.d.mts +50 -0
- package/dist/ai/discover.js +128 -0
- package/dist/ai/profiles.d.mts +39 -0
- package/dist/ai/profiles.js +61 -0
- package/dist/ai/spawn.d.mts +49 -0
- package/dist/ai/spawn.js +207 -0
- package/dist/ai/types.d.mts +117 -0
- package/dist/ai/types.js +18 -0
- package/dist/ai/worktree.d.mts +104 -0
- package/dist/ai/worktree.js +200 -0
- package/dist/ansi/constants.d.ts +10 -0
- package/dist/ansi/constants.js +45 -0
- package/dist/ansi/strip.d.ts +33 -0
- package/dist/{ansi.js → ansi/strip.js} +7 -24
- package/dist/archives/_internal.d.ts +39 -0
- package/dist/archives/_internal.js +87 -0
- package/dist/archives/detect.d.ts +19 -0
- package/dist/archives/detect.js +46 -0
- package/dist/archives/extract.d.ts +22 -0
- package/dist/archives/extract.js +53 -0
- package/dist/archives/tar.d.ts +42 -0
- package/dist/archives/tar.js +233 -0
- package/dist/archives/types.d.ts +34 -0
- package/dist/archives/types.js +18 -0
- package/dist/archives/zip.d.ts +20 -0
- package/dist/archives/zip.js +124 -0
- package/dist/argv/flag-predicates.d.ts +179 -0
- package/dist/argv/flag-predicates.js +118 -0
- package/dist/argv/flag-types.d.ts +123 -0
- package/dist/argv/flag-types.js +116 -0
- package/dist/argv/parse.d.ts +34 -33
- package/dist/argv/parse.js +6 -4
- package/dist/arrays/_internal.d.ts +43 -0
- package/dist/{arrays.js → arrays/_internal.js} +8 -41
- package/dist/arrays/chunk.d.ts +37 -0
- package/dist/arrays/chunk.js +43 -0
- package/dist/arrays/join.d.ts +76 -0
- package/dist/{env/helpers.js → arrays/join.js} +12 -18
- package/dist/arrays/predicates.d.ts +40 -0
- package/dist/arrays/predicates.js +30 -0
- package/dist/arrays/unique.d.ts +36 -0
- package/dist/arrays/unique.js +34 -0
- package/dist/bin/_internal.d.ts +22 -0
- package/dist/bin/_internal.js +43 -0
- package/dist/bin/check-primordials.d.ts +41 -15
- package/dist/bin/check-primordials.js +36 -20
- package/dist/bin/check.d.ts +7 -12
- package/dist/bin/check.js +5 -1
- package/dist/bin/exec.d.ts +37 -0
- package/dist/bin/exec.js +79 -0
- package/dist/bin/find.d.ts +58 -0
- package/dist/bin/find.js +143 -0
- package/dist/bin/resolve.d.ts +30 -0
- package/dist/bin/resolve.js +249 -0
- package/dist/bin/shadow.d.ts +16 -0
- package/dist/bin/shadow.js +36 -0
- package/dist/bin/socket-lib.d.ts +10 -14
- package/dist/bin/socket-lib.js +18 -3
- package/dist/bin/types.d.ts +34 -0
- package/dist/bin/types.js +18 -0
- package/dist/bin/which.d.ts +111 -0
- package/dist/bin/which.js +155 -0
- package/dist/cacache/_internal.d.ts +15 -0
- package/dist/cacache/_internal.js +43 -0
- package/dist/cacache/clear.d.ts +43 -0
- package/dist/cacache/clear.js +77 -0
- package/dist/cacache/read.d.ts +31 -0
- package/dist/cacache/read.js +51 -0
- package/dist/cacache/tmp.d.ts +18 -0
- package/dist/cacache/tmp.js +39 -0
- package/dist/cacache/types.d.ts +37 -0
- package/dist/cacache/types.js +18 -0
- package/dist/cacache/write.d.ts +31 -0
- package/dist/cacache/write.js +53 -0
- package/dist/checks/primordials.d.ts +69 -61
- package/dist/checks/primordials.js +141 -92
- package/dist/colors/convert.d.ts +35 -0
- package/dist/colors/convert.js +42 -0
- package/dist/colors/palette.d.ts +7 -0
- package/dist/{colors.js → colors/palette.js} +5 -17
- package/dist/colors/types.d.ts +29 -0
- package/dist/colors/types.js +18 -0
- package/dist/compression/_internal.d.ts +33 -0
- package/dist/compression/_internal.js +77 -0
- package/dist/compression/brotli.d.ts +82 -0
- package/dist/{compression.js → compression/brotli.js} +17 -145
- package/dist/compression/gzip.d.ts +70 -0
- package/dist/compression/gzip.js +142 -0
- package/dist/compression/types.d.ts +37 -0
- package/dist/compression/types.js +18 -0
- package/dist/constants/agents.d.ts +4 -3
- package/dist/constants/agents.js +7 -4
- package/dist/constants/encoding.d.ts +3 -3
- package/dist/constants/github.d.ts +2 -3
- package/dist/constants/licenses.d.ts +5 -5
- package/dist/constants/licenses.js +2 -2
- package/dist/constants/lifecycle-script-names.d.ts +3 -4
- package/dist/constants/lifecycle-script-names.js +2 -2
- package/dist/constants/maintained-node-versions.d.ts +1 -1
- package/dist/constants/maintained-node-versions.js +3 -4
- package/dist/constants/node.d.ts +21 -20
- package/dist/constants/node.js +4 -4
- package/dist/constants/package-default-node-range.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.js +2 -2
- package/dist/constants/packages.d.ts +4 -4
- package/dist/constants/packages.js +7 -5
- package/dist/constants/platform.d.ts +3 -1
- package/dist/constants/platform.js +3 -10
- package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
- package/dist/constants/{core.js → sentinels.js} +3 -3
- package/dist/constants/socket.d.ts +4 -6
- package/dist/constants/socket.js +6 -9
- package/dist/constants/testing.d.ts +3 -3
- package/dist/constants/time.d.ts +3 -3
- package/dist/constants/typescript.d.ts +3 -3
- package/dist/cover/code.d.ts +11 -3
- package/dist/cover/code.js +26 -36
- package/dist/cover/formatters.d.ts +19 -15
- package/dist/cover/formatters.js +21 -18
- package/dist/cover/type.d.ts +4 -3
- package/dist/cover/type.js +9 -8
- package/dist/cover/types.d.ts +1 -1
- package/dist/crypto/hash.d.ts +36 -0
- package/dist/{crypto.js → crypto/hash.js} +17 -17
- package/dist/debug/_internal.d.ts +25 -0
- package/dist/debug/_internal.js +77 -0
- package/dist/debug/caller-info.d.ts +12 -0
- package/dist/debug/caller-info.js +67 -0
- package/dist/debug/namespace.d.ts +35 -0
- package/dist/debug/namespace.js +101 -0
- package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
- package/dist/debug/output.js +209 -0
- package/dist/debug/types.d.ts +21 -0
- package/dist/debug/types.js +18 -0
- package/dist/dlx/_internal.d.ts +10 -0
- package/dist/dlx/_internal.js +47 -0
- package/dist/dlx/arborist.d.ts +86 -61
- package/dist/dlx/arborist.js +30 -35
- package/dist/dlx/binary-cache.d.ts +108 -0
- package/dist/dlx/binary-cache.js +212 -0
- package/dist/dlx/binary-download.d.ts +67 -0
- package/dist/dlx/binary-download.js +216 -0
- package/dist/dlx/binary-resolution.d.ts +61 -0
- package/dist/dlx/binary-resolution.js +164 -0
- package/dist/dlx/binary-types.d.ts +144 -0
- package/dist/dlx/binary-types.js +18 -0
- package/dist/dlx/binary.d.ts +39 -268
- package/dist/dlx/binary.js +38 -319
- package/dist/dlx/cache.d.ts +21 -16
- package/dist/dlx/cache.js +2 -2
- package/dist/dlx/detect.d.ts +94 -68
- package/dist/dlx/detect.js +32 -35
- package/dist/dlx/dir.d.ts +20 -18
- package/dist/dlx/dir.js +7 -14
- package/dist/dlx/firewall.d.ts +27 -0
- package/dist/dlx/firewall.js +107 -0
- package/dist/dlx/lockfile.d.ts +73 -56
- package/dist/dlx/lockfile.js +36 -44
- package/dist/dlx/manifest.d.ts +50 -51
- package/dist/dlx/manifest.js +51 -52
- package/dist/dlx/package.d.ts +83 -279
- package/dist/dlx/package.js +44 -266
- package/dist/dlx/packages.d.ts +22 -20
- package/dist/dlx/packages.js +15 -20
- package/dist/dlx/paths.d.ts +26 -23
- package/dist/dlx/paths.js +8 -15
- package/dist/dlx/spec.d.ts +25 -0
- package/dist/dlx/spec.js +63 -0
- package/dist/dlx/types.d.ts +142 -0
- package/dist/dlx/types.js +18 -0
- package/dist/eco/cargo/lockfile-format.d.ts +8 -0
- package/dist/eco/cargo/lockfile-format.js +39 -0
- package/dist/eco/cargo/manifest-format.d.ts +7 -0
- package/dist/eco/cargo/manifest-format.js +38 -0
- package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
- package/dist/eco/cargo/parse-lockfile.js +257 -0
- package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
- package/dist/eco/manifest/analyze-lockfile.js +67 -0
- package/dist/eco/manifest/detect-format.d.ts +15 -0
- package/dist/eco/manifest/detect-format.js +98 -0
- package/dist/eco/manifest/find-packages.d.ts +14 -0
- package/dist/eco/manifest/find-packages.js +69 -0
- package/dist/eco/manifest/get-package-versions.d.ts +8 -0
- package/dist/eco/manifest/get-package-versions.js +52 -0
- package/dist/eco/manifest/get-package.d.ts +10 -0
- package/dist/eco/manifest/get-package.js +44 -0
- package/dist/eco/manifest/manifest-error.d.ts +18 -0
- package/dist/eco/manifest/manifest-error.js +37 -0
- package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
- package/dist/eco/manifest/parse-lockfile.js +91 -0
- package/dist/eco/manifest/parse-manifest.d.ts +12 -0
- package/dist/eco/manifest/parse-manifest.js +48 -0
- package/dist/eco/manifest/parse.d.ts +9 -0
- package/dist/eco/manifest/parse.js +52 -0
- package/dist/eco/manifest/types.d.ts +10 -0
- package/dist/eco/manifest/types.js +18 -0
- package/dist/eco/npm/bun/exec.d.ts +15 -0
- package/dist/eco/npm/bun/exec.js +35 -0
- package/dist/eco/npm/manifest-format.d.ts +11 -0
- package/dist/eco/npm/manifest-format.js +38 -0
- package/dist/eco/npm/npm/exec.d.ts +24 -0
- package/dist/eco/npm/npm/exec.js +64 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
- package/dist/eco/npm/npm/flags.d.ts +62 -0
- package/dist/eco/npm/npm/flags.js +63 -0
- package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/npm/lockfile-format.js +42 -0
- package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
- package/dist/eco/npm/npm/parse-git-url.js +43 -0
- package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
- package/dist/eco/npm/npm/parse-lockfile.js +224 -0
- package/dist/eco/npm/parse-package-json.d.ts +16 -0
- package/dist/eco/npm/parse-package-json.js +115 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
- package/dist/eco/npm/pnpm/exec.d.ts +26 -0
- package/dist/eco/npm/pnpm/exec.js +65 -0
- package/dist/eco/npm/pnpm/flags.d.ts +44 -0
- package/dist/eco/npm/pnpm/flags.js +76 -0
- package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
- package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
- package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
- package/dist/eco/npm/script.d.ts +35 -0
- package/dist/eco/npm/script.js +93 -0
- package/dist/eco/npm/vlt/exec.d.ts +16 -0
- package/dist/eco/npm/vlt/exec.js +35 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
- package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
- package/dist/{types.js → eco/purl.js} +3 -3
- package/dist/eco/types.d.ts +51 -0
- package/dist/eco/types.js +18 -0
- package/dist/effects/pulse-frames.d.ts +16 -17
- package/dist/effects/pulse-frames.js +4 -4
- package/dist/effects/shimmer-keyframes.d.ts +39 -37
- package/dist/effects/shimmer-terminal.d.ts +43 -42
- package/dist/effects/shimmer-terminal.js +3 -3
- package/dist/effects/shimmer.d.ts +172 -153
- package/dist/effects/shimmer.js +78 -76
- package/dist/env/boolean.d.ts +33 -0
- package/dist/env/boolean.js +46 -0
- package/dist/env/case-insensitive.d.ts +42 -0
- package/dist/env/case-insensitive.js +42 -0
- package/dist/env/ci.d.ts +11 -12
- package/dist/env/debug.d.ts +10 -10
- package/dist/env/github.d.ts +71 -74
- package/dist/env/home.d.ts +15 -14
- package/dist/env/locale.d.ts +26 -29
- package/dist/env/node-auth-token.d.ts +10 -10
- package/dist/env/node-env.d.ts +10 -10
- package/dist/env/npm.d.ts +45 -47
- package/dist/env/number.d.ts +29 -0
- package/dist/env/number.js +54 -0
- package/dist/env/package-manager.d.ts +36 -33
- package/dist/env/package-manager.js +3 -3
- package/dist/env/path.d.ts +10 -10
- package/dist/env/pre-commit.d.ts +11 -11
- package/dist/env/pre-commit.js +2 -2
- package/dist/env/proxy.d.ts +44 -0
- package/dist/env/proxy.js +126 -0
- package/dist/env/rewire.d.ts +105 -99
- package/dist/env/rewire.js +11 -8
- package/dist/env/shell.d.ts +10 -10
- package/dist/env/socket-cli.d.ts +109 -125
- package/dist/env/socket-cli.js +7 -12
- package/dist/env/socket.d.ts +347 -130
- package/dist/env/socket.js +107 -8
- package/dist/env/string.d.ts +28 -0
- package/dist/env/string.js +47 -0
- package/dist/env/temp-dir.d.ts +26 -29
- package/dist/env/term.d.ts +10 -10
- package/dist/env/test.d.ts +29 -31
- package/dist/env/test.js +5 -4
- package/dist/env/types.d.ts +62 -0
- package/dist/env/types.js +18 -0
- package/dist/env/windows.d.ts +37 -38
- package/dist/env/xdg.d.ts +29 -29
- package/dist/errors/message.d.ts +27 -0
- package/dist/errors/message.js +49 -0
- package/dist/errors/predicates.d.ts +46 -0
- package/dist/{errors.js → errors/predicates.js} +13 -43
- package/dist/errors/stack.d.ts +16 -0
- package/dist/errors/stack.js +39 -0
- package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
- package/dist/external/@npmcli/package-json.js +300 -82
- package/dist/external/@npmcli/promise-spawn.js +15 -1
- package/dist/external/@socketregistry/packageurl-js.js +7 -1
- package/dist/external/@socketregistry/yocto-spinner.js +5 -1
- package/dist/external/@yarnpkg/extensions.js +1 -1
- package/dist/external/adm-zip.js +20 -4
- package/dist/external/debug.js +15 -1
- package/dist/external/external-pack.js +20 -4
- package/dist/external/fast-sort.js +3 -1
- package/dist/external/get-east-asian-width.js +3 -1
- package/dist/external/libnpmexec.js +5 -1
- package/dist/external/npm-pack.js +344 -113
- package/dist/external/p-map.js +7 -1
- package/dist/external/pico-pack.js +17 -1
- package/dist/external/pony-cause.js +1 -1
- package/dist/external/spdx-pack.js +3 -1
- package/dist/external/supports-color.js +1 -1
- package/dist/external/tar-fs.js +15 -1
- package/dist/external/which.js +11 -1
- package/dist/external/yargs-parser.js +15 -1
- package/dist/external-tools/bazel/asset-names.d.ts +66 -0
- package/dist/external-tools/bazel/asset-names.js +96 -0
- package/dist/external-tools/bazel/from-download.d.ts +49 -0
- package/dist/external-tools/bazel/from-download.js +49 -0
- package/dist/external-tools/bazel/from-path.d.ts +8 -0
- package/dist/external-tools/bazel/from-path.js +41 -0
- package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
- package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
- package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
- package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
- package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
- package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
- package/dist/external-tools/bazel/resolve.d.ts +35 -0
- package/dist/external-tools/bazel/resolve.js +68 -0
- package/dist/external-tools/bazel/types.d.ts +22 -0
- package/dist/external-tools/bazel/types.js +18 -0
- package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
- package/dist/external-tools/cdxgen/asset-names.js +79 -0
- package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
- package/dist/external-tools/cdxgen/from-download.js +83 -0
- package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
- package/dist/external-tools/cdxgen/from-path.js +40 -0
- package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
- package/dist/external-tools/cdxgen/from-vfs.js +47 -0
- package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
- package/dist/external-tools/cdxgen/resolve.js +73 -0
- package/dist/external-tools/cdxgen/types.d.ts +33 -0
- package/dist/external-tools/cdxgen/types.js +18 -0
- package/dist/external-tools/from-download.d.ts +162 -0
- package/dist/external-tools/from-download.js +72 -0
- package/dist/external-tools/janus/asset-names.d.ts +36 -0
- package/dist/external-tools/janus/asset-names.js +52 -0
- package/dist/external-tools/janus/from-download.d.ts +26 -0
- package/dist/external-tools/janus/from-download.js +65 -0
- package/dist/external-tools/janus/from-path.d.ts +5 -0
- package/dist/external-tools/janus/from-path.js +40 -0
- package/dist/external-tools/janus/from-vfs.d.ts +7 -0
- package/dist/external-tools/janus/from-vfs.js +47 -0
- package/dist/external-tools/janus/resolve.d.ts +28 -0
- package/dist/external-tools/janus/resolve.js +73 -0
- package/dist/external-tools/janus/types.d.ts +24 -0
- package/dist/external-tools/janus/types.js +18 -0
- package/dist/external-tools/jre/asset-names.d.ts +91 -0
- package/dist/external-tools/jre/asset-names.js +88 -0
- package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
- package/dist/external-tools/jre/detect-platform-arch.js +52 -0
- package/dist/external-tools/jre/from-download.d.ts +62 -0
- package/dist/external-tools/jre/from-download.js +70 -0
- package/dist/external-tools/jre/from-java-home.d.ts +10 -0
- package/dist/external-tools/jre/from-java-home.js +57 -0
- package/dist/external-tools/jre/from-path.d.ts +9 -0
- package/dist/external-tools/jre/from-path.js +52 -0
- package/dist/external-tools/jre/from-vfs.d.ts +17 -0
- package/dist/external-tools/jre/from-vfs.js +64 -0
- package/dist/external-tools/jre/resolve.d.ts +40 -0
- package/dist/external-tools/jre/resolve.js +78 -0
- package/dist/external-tools/jre/types.d.ts +28 -0
- package/dist/external-tools/jre/types.js +18 -0
- package/dist/external-tools/manifest.d.ts +105 -0
- package/dist/external-tools/manifest.js +167 -0
- package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
- package/dist/external-tools/opengrep/asset-names.js +78 -0
- package/dist/external-tools/opengrep/from-download.d.ts +17 -0
- package/dist/external-tools/opengrep/from-download.js +83 -0
- package/dist/external-tools/opengrep/from-path.d.ts +5 -0
- package/dist/external-tools/opengrep/from-path.js +40 -0
- package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
- package/dist/external-tools/opengrep/from-vfs.js +47 -0
- package/dist/external-tools/opengrep/resolve.d.ts +26 -0
- package/dist/external-tools/opengrep/resolve.js +73 -0
- package/dist/external-tools/opengrep/types.d.ts +24 -0
- package/dist/external-tools/opengrep/types.js +18 -0
- package/dist/external-tools/sbt/asset-names.d.ts +31 -0
- package/dist/external-tools/sbt/asset-names.js +33 -0
- package/dist/external-tools/sbt/from-download.d.ts +44 -0
- package/dist/external-tools/sbt/from-download.js +64 -0
- package/dist/external-tools/sbt/from-path.d.ts +8 -0
- package/dist/external-tools/sbt/from-path.js +41 -0
- package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
- package/dist/external-tools/sbt/from-vfs.js +48 -0
- package/dist/external-tools/sbt/resolve.d.ts +31 -0
- package/dist/external-tools/sbt/resolve.js +73 -0
- package/dist/external-tools/sbt/types.d.ts +32 -0
- package/dist/external-tools/sbt/types.js +18 -0
- package/dist/external-tools/synp/asset-names.d.ts +14 -0
- package/dist/external-tools/synp/asset-names.js +32 -0
- package/dist/external-tools/synp/from-download.d.ts +18 -0
- package/dist/external-tools/synp/from-download.js +44 -0
- package/dist/external-tools/synp/from-path.d.ts +5 -0
- package/dist/external-tools/synp/from-path.js +40 -0
- package/dist/external-tools/synp/from-vfs.d.ts +7 -0
- package/dist/external-tools/synp/from-vfs.js +47 -0
- package/dist/external-tools/synp/resolve.d.ts +21 -0
- package/dist/external-tools/synp/resolve.js +72 -0
- package/dist/external-tools/synp/types.d.ts +19 -0
- package/dist/external-tools/synp/types.js +18 -0
- package/dist/external-tools/trivy/asset-names.d.ts +34 -0
- package/dist/external-tools/trivy/asset-names.js +68 -0
- package/dist/external-tools/trivy/from-download.d.ts +17 -0
- package/dist/external-tools/trivy/from-download.js +67 -0
- package/dist/external-tools/trivy/from-path.d.ts +5 -0
- package/dist/external-tools/trivy/from-path.js +40 -0
- package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
- package/dist/external-tools/trivy/from-vfs.js +47 -0
- package/dist/external-tools/trivy/resolve.d.ts +26 -0
- package/dist/external-tools/trivy/resolve.js +73 -0
- package/dist/external-tools/trivy/types.d.ts +24 -0
- package/dist/external-tools/trivy/types.js +18 -0
- package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
- package/dist/external-tools/trufflehog/asset-names.js +72 -0
- package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
- package/dist/external-tools/trufflehog/from-download.js +65 -0
- package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
- package/dist/external-tools/trufflehog/from-path.js +40 -0
- package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
- package/dist/external-tools/trufflehog/from-vfs.js +47 -0
- package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
- package/dist/external-tools/trufflehog/resolve.js +73 -0
- package/dist/external-tools/trufflehog/types.d.ts +25 -0
- package/dist/external-tools/trufflehog/types.js +18 -0
- package/dist/external-tools/uv/asset-names.d.ts +36 -0
- package/dist/external-tools/uv/asset-names.js +80 -0
- package/dist/external-tools/uv/from-download.d.ts +17 -0
- package/dist/external-tools/uv/from-download.js +68 -0
- package/dist/external-tools/uv/from-path.d.ts +5 -0
- package/dist/external-tools/uv/from-path.js +40 -0
- package/dist/external-tools/uv/from-vfs.d.ts +7 -0
- package/dist/external-tools/uv/from-vfs.js +47 -0
- package/dist/external-tools/uv/resolve.d.ts +25 -0
- package/dist/external-tools/uv/resolve.js +73 -0
- package/dist/external-tools/uv/types.d.ts +24 -0
- package/dist/external-tools/uv/types.js +18 -0
- package/dist/fs/_internal.d.ts +22 -0
- package/dist/fs/_internal.js +48 -0
- package/dist/fs/encoding.d.ts +49 -0
- package/dist/fs/encoding.js +102 -0
- package/dist/fs/find-up.d.ts +58 -0
- package/dist/fs/find-up.js +152 -0
- package/dist/fs/inspect.d.ts +117 -0
- package/dist/fs/inspect.js +112 -0
- package/dist/fs/path-cache.d.ts +21 -0
- package/dist/fs/path-cache.js +35 -0
- package/dist/fs/read-dir.d.ts +66 -0
- package/dist/fs/read-dir.js +86 -0
- package/dist/fs/read-file.d.ts +150 -0
- package/dist/fs/read-file.js +131 -0
- package/dist/fs/read-json.d.ts +72 -0
- package/dist/fs/read-json.js +120 -0
- package/dist/fs/safe.d.ts +153 -0
- package/dist/fs/safe.js +182 -0
- package/dist/fs/types.d.ts +277 -0
- package/dist/fs/types.js +18 -0
- package/dist/fs/unique.d.ts +29 -0
- package/dist/fs/unique.js +51 -0
- package/dist/fs/validate.d.ts +40 -0
- package/dist/fs/validate.js +46 -0
- package/dist/fs/write-json.d.ts +78 -0
- package/dist/fs/write-json.js +83 -0
- package/dist/git/_internal.d.ts +105 -0
- package/dist/git/_internal.js +236 -0
- package/dist/git/changed.d.ts +145 -0
- package/dist/git/changed.js +83 -0
- package/dist/git/repo.d.ts +62 -0
- package/dist/git/repo.js +111 -0
- package/dist/git/staged.d.ts +138 -0
- package/dist/git/staged.js +71 -0
- package/dist/git/types.d.ts +109 -0
- package/dist/git/types.js +18 -0
- package/dist/git/unstaged.d.ts +141 -0
- package/dist/git/unstaged.js +71 -0
- package/dist/github/constants.d.ts +18 -0
- package/dist/github/constants.js +36 -0
- package/dist/github/errors.d.ts +36 -0
- package/dist/github/errors.js +40 -0
- package/dist/github/fetch.d.ts +89 -0
- package/dist/github/fetch.js +87 -0
- package/dist/github/ghsa.d.ts +118 -0
- package/dist/github/ghsa.js +178 -0
- package/dist/github/refs-cache.d.ts +40 -0
- package/dist/github/refs-cache.js +49 -0
- package/dist/github/refs-graphql.d.ts +42 -0
- package/dist/github/refs-graphql.js +109 -0
- package/dist/github/refs-rest.d.ts +23 -0
- package/dist/github/refs-rest.js +104 -0
- package/dist/github/refs.d.ts +84 -0
- package/dist/github/refs.js +67 -0
- package/dist/github/token.d.ts +77 -0
- package/dist/github/token.js +55 -0
- package/dist/github/types.d.ts +277 -0
- package/dist/github/types.js +18 -0
- package/dist/globs/_internal.d.ts +46 -0
- package/dist/globs/_internal.js +96 -0
- package/dist/globs/defaults.d.ts +7 -0
- package/dist/globs/defaults.js +61 -0
- package/dist/globs/glob.d.ts +59 -0
- package/dist/globs/glob.js +84 -0
- package/dist/globs/matcher.d.ts +46 -0
- package/dist/globs/matcher.js +99 -0
- package/dist/globs/stream.d.ts +18 -0
- package/dist/globs/stream.js +58 -0
- package/dist/globs/types.d.ts +35 -0
- package/dist/globs/types.js +18 -0
- package/dist/http-request/_internal.d.ts +18 -0
- package/dist/http-request/_internal.js +39 -0
- package/dist/http-request/checksums.d.ts +69 -0
- package/dist/http-request/checksums.js +72 -0
- package/dist/http-request/convenience.d.ts +104 -0
- package/dist/http-request/convenience.js +96 -0
- package/dist/http-request/download-types.d.ts +224 -0
- package/dist/http-request/download-types.js +18 -0
- package/dist/http-request/download.d.ts +71 -0
- package/dist/http-request/download.js +201 -0
- package/dist/http-request/errors.d.ts +23 -0
- package/dist/http-request/errors.js +50 -0
- package/dist/http-request/headers.d.ts +57 -0
- package/dist/http-request/headers.js +86 -0
- package/dist/http-request/request-attempt.d.ts +21 -0
- package/dist/http-request/request-attempt.js +284 -0
- package/dist/http-request/request-types.d.ts +238 -0
- package/dist/http-request/request-types.js +18 -0
- package/dist/http-request/request.d.ts +59 -0
- package/dist/http-request/request.js +106 -0
- package/dist/http-request/response-reader.d.ts +25 -0
- package/dist/http-request/response-reader.js +54 -0
- package/dist/http-request/response-types.d.ts +123 -0
- package/dist/http-request/response-types.js +40 -0
- package/dist/http-request/user-agent.d.ts +55 -0
- package/dist/http-request/user-agent.js +61 -0
- package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
- package/dist/{dlx/integrity.js → integrity.js} +25 -19
- package/dist/ipc/_internal.d.ts +25 -0
- package/dist/ipc/_internal.js +50 -0
- package/dist/ipc/directory.d.ts +18 -0
- package/dist/ipc/directory.js +66 -0
- package/dist/ipc/paths.d.ts +37 -0
- package/dist/ipc/paths.js +48 -0
- package/dist/ipc/types.d.ts +22 -0
- package/dist/ipc/types.js +18 -0
- package/dist/ipc/write.d.ts +39 -0
- package/dist/ipc/write.js +77 -0
- package/dist/ipc-cli/get.d.ts +21 -0
- package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
- package/dist/ipc-cli/types.d.ts +14 -0
- package/dist/ipc-cli/types.js +18 -0
- package/dist/json/edit.d.ts +22 -8
- package/dist/json/edit.js +85 -96
- package/dist/json/format.d.ts +100 -86
- package/dist/json/format.js +4 -3
- package/dist/json/parse.d.ts +113 -88
- package/dist/json/parse.js +30 -24
- package/dist/json/types.d.ts +133 -117
- package/dist/links/link.d.ts +65 -0
- package/dist/{links.js → links/link.js} +10 -10
- package/dist/links/types.d.ts +19 -0
- package/dist/links/types.js +18 -0
- package/dist/logger/_internal.d.ts +82 -0
- package/dist/logger/_internal.js +80 -0
- package/dist/logger/colors.d.ts +18 -0
- package/dist/logger/colors.js +54 -0
- package/dist/logger/console.d.ts +33 -0
- package/dist/logger/console.js +119 -0
- package/dist/logger/logger.d.ts +405 -0
- package/dist/logger/logger.js +854 -0
- package/dist/logger/symbols-builder.d.ts +29 -0
- package/dist/logger/symbols-builder.js +61 -0
- package/dist/logger/symbols.d.ts +61 -0
- package/dist/logger/symbols.js +129 -0
- package/dist/logger/types.d.ts +88 -0
- package/dist/logger/types.js +18 -0
- package/dist/memo/_internal.d.ts +16 -0
- package/dist/memo/_internal.js +53 -0
- package/dist/memo/async.d.ts +32 -0
- package/dist/memo/async.js +120 -0
- package/dist/memo/clear.d.ts +15 -0
- package/dist/memo/clear.js +37 -0
- package/dist/memo/decorator.d.ts +29 -0
- package/dist/memo/decorator.js +40 -0
- package/dist/memo/memoize.d.ts +33 -0
- package/dist/memo/memoize.js +91 -0
- package/dist/memo/once.d.ts +25 -0
- package/dist/memo/once.js +44 -0
- package/dist/memo/types.d.ts +43 -0
- package/dist/memo/types.js +18 -0
- package/dist/memo/weak.d.ts +26 -0
- package/dist/memo/weak.js +44 -0
- package/dist/node/async-hooks.d.ts +2 -2
- package/dist/node/child-process.d.ts +5 -7
- package/dist/node/crypto.d.ts +2 -2
- package/dist/node/events.d.ts +2 -2
- package/dist/node/fs-promises.d.ts +2 -2
- package/dist/node/fs.d.ts +6 -10
- package/dist/node/http.d.ts +2 -2
- package/dist/node/https.d.ts +2 -2
- package/dist/node/module.d.ts +7 -0
- package/dist/node/module.js +41 -0
- package/dist/node/os.d.ts +2 -2
- package/dist/node/path.d.ts +2 -2
- package/dist/node/timers-promises.d.ts +2 -2
- package/dist/node/url.d.ts +2 -2
- package/dist/node/util.d.ts +2 -2
- package/dist/objects/getters.d.ts +116 -0
- package/dist/objects/getters.js +137 -0
- package/dist/objects/inspect.d.ts +67 -0
- package/dist/objects/inspect.js +59 -0
- package/dist/objects/mutate.d.ts +72 -0
- package/dist/objects/mutate.js +81 -0
- package/dist/objects/predicates.d.ts +96 -0
- package/dist/objects/predicates.js +68 -0
- package/dist/objects/sort.d.ts +88 -0
- package/dist/objects/sort.js +85 -0
- package/dist/objects/types.d.ts +68 -0
- package/dist/objects/types.js +18 -0
- package/dist/packages/edit-class.d.ts +39 -0
- package/dist/packages/edit-class.js +269 -0
- package/dist/packages/edit.d.ts +60 -61
- package/dist/packages/edit.js +21 -286
- package/dist/packages/exports.d.ts +30 -28
- package/dist/packages/exports.js +38 -34
- package/dist/packages/isolation.d.ts +16 -7
- package/dist/packages/isolation.js +50 -57
- package/dist/packages/licenses.d.ts +49 -45
- package/dist/packages/licenses.js +13 -18
- package/dist/packages/manifest.d.ts +14 -14
- package/dist/packages/manifest.js +16 -15
- package/dist/packages/normalize.d.ts +17 -16
- package/dist/packages/normalize.js +20 -17
- package/dist/packages/operations.d.ts +49 -36
- package/dist/packages/operations.js +30 -15
- package/dist/packages/provenance.d.ts +22 -9
- package/dist/packages/provenance.js +76 -66
- package/dist/packages/specs.d.ts +21 -21
- package/dist/packages/specs.js +7 -7
- package/dist/{packages.d.ts → packages/types.d.ts} +12 -20
- package/dist/packages/types.js +18 -0
- package/dist/packages/validation.d.ts +13 -13
- package/dist/packages/validation.js +2 -2
- package/dist/paths/_internal.d.ts +51 -0
- package/dist/paths/_internal.js +102 -0
- package/dist/paths/conversion.d.ts +82 -0
- package/dist/paths/conversion.js +74 -0
- package/dist/paths/dirnames.d.ts +1 -1
- package/dist/paths/exts.d.ts +1 -1
- package/dist/paths/filenames.d.ts +1 -1
- package/dist/paths/globs.d.ts +1 -1
- package/dist/paths/normalize.d.ts +30 -440
- package/dist/paths/normalize.js +49 -289
- package/dist/paths/packages.d.ts +7 -1
- package/dist/paths/packages.js +7 -12
- package/dist/paths/predicates.d.ts +129 -0
- package/dist/paths/predicates.js +121 -0
- package/dist/paths/resolve.d.ts +71 -0
- package/dist/paths/resolve.js +135 -0
- package/dist/paths/rewire.d.ts +37 -38
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +146 -47
- package/dist/paths/socket.js +23 -25
- package/dist/perf/_internal.d.ts +10 -0
- package/dist/perf/_internal.js +30 -0
- package/dist/perf/enabled.d.ts +13 -0
- package/dist/perf/enabled.js +33 -0
- package/dist/perf/metrics.d.ts +51 -0
- package/dist/perf/metrics.js +74 -0
- package/dist/perf/report.d.ts +40 -0
- package/dist/perf/report.js +85 -0
- package/dist/perf/timer.d.ts +100 -0
- package/dist/perf/timer.js +137 -0
- package/dist/perf/types.d.ts +15 -0
- package/dist/perf/types.js +18 -0
- package/dist/pkg-ext/data.d.ts +8 -0
- package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
- package/dist/pkg-ext/types.d.ts +6 -0
- package/dist/pkg-ext/types.js +18 -0
- package/dist/primordials/array.d.ts +73 -0
- package/dist/primordials/array.js +220 -0
- package/dist/primordials/buffer.d.ts +17 -0
- package/dist/primordials/buffer.js +61 -0
- package/dist/primordials/date.d.ts +16 -0
- package/dist/primordials/date.js +56 -0
- package/dist/primordials/error.d.ts +19 -0
- package/dist/primordials/error.js +75 -0
- package/dist/primordials/function.d.ts +10 -0
- package/dist/primordials/function.js +42 -0
- package/dist/primordials/globals.d.ts +17 -0
- package/dist/primordials/globals.js +54 -0
- package/dist/primordials/json.d.ts +11 -0
- package/dist/primordials/json.js +33 -0
- package/dist/primordials/map-set.d.ts +35 -0
- package/dist/primordials/map-set.js +115 -0
- package/dist/primordials/math.d.ts +51 -0
- package/dist/primordials/math.js +161 -0
- package/dist/primordials/number.d.ts +25 -0
- package/dist/primordials/number.js +92 -0
- package/dist/primordials/object.d.ts +74 -0
- package/dist/primordials/object.js +142 -0
- package/dist/primordials/promise.d.ts +34 -0
- package/dist/primordials/promise.js +61 -0
- package/dist/primordials/reflect.d.ts +18 -0
- package/dist/primordials/reflect.js +66 -0
- package/dist/primordials/regexp.d.ts +14 -0
- package/dist/primordials/regexp.js +50 -0
- package/dist/primordials/string.d.ts +71 -0
- package/dist/primordials/string.js +174 -0
- package/dist/primordials/symbol.d.ts +28 -0
- package/dist/primordials/symbol.js +94 -0
- package/dist/primordials/uncurry.d.ts +18 -0
- package/dist/primordials/uncurry.js +65 -0
- package/dist/primordials/url.d.ts +13 -0
- package/dist/primordials/url.js +69 -0
- package/dist/process/_internal.d.ts +8 -0
- package/dist/process/_internal.js +33 -0
- package/dist/process/abort.d.ts +20 -0
- package/dist/{constants/process.js → process/abort.js} +3 -3
- package/dist/process/lock-instance.d.ts +19 -0
- package/dist/process/lock-instance.js +31 -0
- package/dist/process/lock-manager.d.ts +152 -0
- package/dist/{process-lock.js → process/lock-manager.js} +97 -105
- package/dist/process/lock-types.d.ts +43 -0
- package/dist/process/lock-types.js +18 -0
- package/dist/process/transient.d.ts +22 -0
- package/dist/{temporary-executor.js → process/transient.js} +8 -8
- package/dist/promise-queue/queue.d.ts +51 -0
- package/dist/{promise-queue.js → promise-queue/queue.js} +27 -22
- package/dist/promise-queue/types.d.ts +10 -0
- package/dist/promise-queue/types.js +18 -0
- package/dist/promises/_internal.d.ts +15 -0
- package/dist/promises/_internal.js +41 -0
- package/dist/promises/iterate.d.ts +190 -0
- package/dist/promises/iterate.js +111 -0
- package/dist/promises/options.d.ts +76 -0
- package/dist/promises/options.js +108 -0
- package/dist/promises/resolvers.d.ts +55 -0
- package/dist/promises/resolvers.js +49 -0
- package/dist/promises/retry.d.ts +105 -0
- package/dist/promises/retry.js +104 -0
- package/dist/promises/types.d.ts +190 -0
- package/dist/promises/types.js +18 -0
- package/dist/regexps/escape.d.ts +6 -0
- package/dist/regexps/escape.js +32 -0
- package/dist/regexps/hex.d.ts +7 -0
- package/dist/regexps/hex.js +38 -0
- package/dist/regexps/spec.d.ts +15 -0
- package/dist/{regexps.js → regexps/spec.js} +32 -36
- package/dist/releases/github-archives.d.ts +47 -36
- package/dist/releases/github-archives.js +21 -35
- package/dist/releases/github-asset-url.d.ts +72 -0
- package/dist/releases/github-asset-url.js +167 -0
- package/dist/releases/github-assets.d.ts +13 -11
- package/dist/releases/github-assets.js +2 -2
- package/dist/releases/github-auth.d.ts +9 -9
- package/dist/releases/github-downloads.d.ts +31 -26
- package/dist/releases/github-downloads.js +22 -34
- package/dist/releases/github-listing.d.ts +105 -0
- package/dist/releases/github-listing.js +171 -0
- package/dist/releases/github-types.d.ts +45 -19
- package/dist/releases/socket-btm.d.ts +149 -99
- package/dist/releases/socket-btm.js +14 -20
- package/dist/schema/parse.d.ts +14 -15
- package/dist/schema/parse.js +2 -2
- package/dist/schema/types.d.ts +49 -37
- package/dist/schema/validate.d.ts +42 -19
- package/dist/schema/validate.js +15 -6
- package/dist/sea/detect.d.ts +37 -0
- package/dist/sea/{util.js → detect.js} +6 -6
- package/dist/secrets/_internal.d.ts +57 -0
- package/dist/secrets/_internal.js +84 -0
- package/dist/secrets/find.d.ts +79 -0
- package/dist/secrets/find.js +84 -0
- package/dist/secrets/keychain.d.ts +138 -0
- package/dist/secrets/keychain.js +328 -0
- package/dist/secrets/linux.d.ts +20 -0
- package/dist/secrets/linux.js +151 -0
- package/dist/secrets/macos.d.ts +36 -0
- package/dist/secrets/macos.js +165 -0
- package/dist/secrets/rc.d.ts +139 -0
- package/dist/secrets/rc.js +196 -0
- package/dist/secrets/socket-api-token.d.ts +23 -0
- package/dist/secrets/socket-api-token.js +50 -0
- package/dist/secrets/types.d.ts +69 -0
- package/dist/secrets/types.js +18 -0
- package/dist/secrets/windows.d.ts +50 -0
- package/dist/secrets/windows.js +318 -0
- package/dist/shadow/skip.d.ts +25 -0
- package/dist/{shadow.js → shadow/skip.js} +4 -4
- package/dist/shadow/types.d.ts +8 -0
- package/dist/shadow/types.js +18 -0
- package/dist/signal-exit/_internal.d.ts +68 -0
- package/dist/signal-exit/_internal.js +127 -0
- package/dist/signal-exit/intercept.d.ts +8 -0
- package/dist/signal-exit/intercept.js +75 -0
- package/dist/signal-exit/lifecycle.d.ts +28 -0
- package/dist/signal-exit/lifecycle.js +109 -0
- package/dist/signal-exit/register.d.ts +20 -0
- package/dist/signal-exit/register.js +58 -0
- package/dist/signal-exit/signals.d.ts +16 -0
- package/dist/signal-exit/signals.js +34 -0
- package/dist/signal-exit/types.d.ts +21 -0
- package/dist/signal-exit/types.js +18 -0
- package/dist/smol/detect.d.ts +80 -0
- package/dist/smol/{util.js → detect.js} +16 -24
- package/dist/smol/http.d.ts +60 -0
- package/dist/smol/http.js +42 -0
- package/dist/smol/https.d.ts +59 -0
- package/dist/smol/https.js +42 -0
- package/dist/smol/manifest.d.ts +140 -0
- package/dist/smol/manifest.js +42 -0
- package/dist/smol/primordial.d.ts +16 -21
- package/dist/smol/primordial.js +7 -11
- package/dist/smol/purl.d.ts +84 -0
- package/dist/smol/purl.js +42 -0
- package/dist/smol/versions.d.ts +11 -14
- package/dist/smol/versions.js +7 -11
- package/dist/smol/vfs.d.ts +99 -0
- package/dist/smol/vfs.js +43 -0
- package/dist/sorts/_internal.d.ts +9 -0
- package/dist/sorts/_internal.js +47 -0
- package/dist/sorts/natural.d.ts +39 -0
- package/dist/{sorts.js → sorts/natural.js} +5 -42
- package/dist/sorts/semver.d.ts +15 -0
- package/dist/sorts/semver.js +46 -0
- package/dist/sorts/strings.d.ts +16 -0
- package/dist/sorts/strings.js +33 -0
- package/dist/sorts/types.d.ts +7 -0
- package/dist/sorts/types.js +18 -0
- package/dist/spawn/_internal.d.ts +24 -0
- package/dist/spawn/_internal.js +62 -0
- package/dist/spawn/errors.d.ts +45 -0
- package/dist/spawn/errors.js +118 -0
- package/dist/spawn/spawn.d.ts +134 -0
- package/dist/{spawn.js → spawn/spawn.js} +29 -147
- package/dist/spawn/stdio.d.ts +37 -0
- package/dist/spawn/stdio.js +38 -0
- package/dist/spawn/types.d.ts +325 -0
- package/dist/spawn/types.js +18 -0
- package/dist/spinner/format.d.ts +64 -0
- package/dist/spinner/format.js +83 -0
- package/dist/spinner/registry.d.ts +49 -0
- package/dist/spinner/registry.js +70 -0
- package/dist/spinner/spinner.d.ts +40 -0
- package/dist/spinner/spinner.js +802 -0
- package/dist/spinner/types.d.ts +368 -0
- package/dist/spinner/types.js +18 -0
- package/dist/spinner/with.d.ts +125 -0
- package/dist/spinner/with.js +144 -0
- package/dist/ssri/convert.d.ts +48 -0
- package/dist/{ssri.js → ssri/convert.js} +11 -34
- package/dist/ssri/parse.d.ts +27 -0
- package/dist/ssri/parse.js +40 -0
- package/dist/ssri/validate.d.ts +41 -0
- package/dist/ssri/validate.js +39 -0
- package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
- package/dist/stdio/{_stream.js → _internal.js} +3 -3
- package/dist/stdio/clear.d.ts +98 -84
- package/dist/stdio/divider.d.ts +100 -78
- package/dist/stdio/divider.js +36 -14
- package/dist/stdio/footer.d.ts +75 -51
- package/dist/stdio/footer.js +28 -18
- package/dist/stdio/header.d.ts +61 -50
- package/dist/stdio/header.js +15 -13
- package/dist/stdio/progress.d.ts +67 -57
- package/dist/stdio/progress.js +55 -51
- package/dist/stdio/prompts.d.ts +147 -100
- package/dist/stdio/prompts.js +23 -15
- package/dist/stdio/stderr.d.ts +86 -84
- package/dist/stdio/stderr.js +6 -6
- package/dist/stdio/stdout.d.ts +77 -78
- package/dist/stdio/stdout.js +6 -6
- package/dist/streams/parallel.d.ts +40 -0
- package/dist/{streams.js → streams/parallel.js} +10 -27
- package/dist/streams/transform.d.ts +20 -0
- package/dist/streams/transform.js +48 -0
- package/dist/strings/format.d.ts +115 -0
- package/dist/strings/format.js +73 -0
- package/dist/strings/predicates.d.ts +52 -0
- package/dist/strings/predicates.js +39 -0
- package/dist/strings/search.d.ts +34 -0
- package/dist/strings/search.js +45 -0
- package/dist/strings/transform.d.ts +80 -0
- package/dist/strings/transform.js +79 -0
- package/dist/strings/types.d.ts +38 -0
- package/dist/strings/types.js +18 -0
- package/dist/strings/width.d.ts +42 -0
- package/dist/strings/width.js +95 -0
- package/dist/tables/bordered.d.ts +44 -0
- package/dist/tables/bordered.js +84 -0
- package/dist/tables/padding.d.ts +18 -0
- package/dist/tables/padding.js +51 -0
- package/dist/tables/simple.d.ts +36 -0
- package/dist/tables/simple.js +73 -0
- package/dist/tables/types.d.ts +15 -0
- package/dist/tables/types.js +18 -0
- package/dist/temporal/instant.d.ts +39 -0
- package/dist/temporal/instant.js +91 -0
- package/dist/temporal/now.d.ts +24 -0
- package/dist/temporal/now.js +34 -0
- package/dist/temporal/slots.d.ts +32 -0
- package/dist/temporal/slots.js +45 -0
- package/dist/temporal/system.d.ts +20 -0
- package/dist/temporal/system.js +42 -0
- package/dist/temporal/temporal.d.ts +22 -0
- package/dist/temporal/temporal.js +43 -0
- package/dist/themes/context.d.ts +65 -48
- package/dist/themes/context.js +6 -2
- package/dist/themes/resolve.d.ts +90 -0
- package/dist/themes/{utils.js → resolve.js} +6 -6
- package/dist/themes/themes.d.ts +14 -16
- package/dist/themes/types.d.ts +93 -35
- package/dist/ttl-cache/cache.d.ts +29 -0
- package/dist/{cache-with-ttl.js → ttl-cache/cache.js} +45 -37
- package/dist/ttl-cache/types.d.ts +109 -0
- package/dist/ttl-cache/types.js +18 -0
- package/dist/url/parse.d.ts +26 -0
- package/dist/url/parse.js +57 -0
- package/dist/url/predicates.d.ts +15 -0
- package/dist/url/predicates.js +34 -0
- package/dist/url/search-params.d.ts +71 -0
- package/dist/{url.js → url/search-params.js} +19 -54
- package/dist/url/types.d.ts +20 -0
- package/dist/url/types.js +18 -0
- package/dist/versions/_internal.d.ts +24 -0
- package/dist/versions/_internal.js +37 -0
- package/dist/versions/compare.d.ts +57 -0
- package/dist/versions/compare.js +65 -0
- package/dist/versions/modify.d.ts +28 -0
- package/dist/versions/modify.js +44 -0
- package/dist/versions/parse.d.ts +67 -0
- package/dist/versions/parse.js +77 -0
- package/dist/versions/range.d.ts +45 -0
- package/dist/versions/range.js +50 -0
- package/dist/versions/types.d.ts +13 -0
- package/dist/versions/types.js +18 -0
- package/dist/warnings/event-target.d.ts +31 -0
- package/dist/warnings/event-target.js +43 -0
- package/dist/warnings/suppress.d.ts +65 -0
- package/dist/{suppress-warnings.js → warnings/suppress.js} +16 -28
- package/dist/words/article.d.ts +14 -0
- package/dist/words/article.js +33 -0
- package/dist/words/capitalize.d.ts +15 -0
- package/dist/{words.js → words/capitalize.js} +5 -18
- package/dist/words/pluralize.d.ts +16 -0
- package/dist/words/pluralize.js +34 -0
- package/dist/words/types.d.ts +7 -0
- package/dist/words/types.js +18 -0
- package/package.json +1919 -247
- package/dist/abort.d.ts +0 -27
- package/dist/agent.d.ts +0 -196
- package/dist/agent.js +0 -287
- package/dist/ansi.d.ts +0 -39
- package/dist/archives.d.ts +0 -95
- package/dist/archives.js +0 -408
- package/dist/argv/flags.d.ts +0 -292
- package/dist/argv/flags.js +0 -297
- package/dist/arrays.d.ts +0 -168
- package/dist/bin.d.ts +0 -181
- package/dist/bin.js +0 -544
- package/dist/cacache.d.ts +0 -130
- package/dist/cacache.js +0 -156
- package/dist/cache-with-ttl.d.ts +0 -165
- package/dist/colors.d.ts +0 -49
- package/dist/compression.d.ts +0 -218
- package/dist/constants/process.d.ts +0 -20
- package/dist/crypto.d.ts +0 -36
- package/dist/debug.js +0 -337
- package/dist/env/helpers.d.ts +0 -66
- package/dist/env.d.ts +0 -182
- package/dist/env.js +0 -205
- package/dist/errors.d.ts +0 -100
- package/dist/fs.d.ts +0 -916
- package/dist/fs.js +0 -808
- package/dist/git.d.ts +0 -546
- package/dist/git.js +0 -409
- package/dist/github.d.ts +0 -526
- package/dist/github.js +0 -448
- package/dist/globs.d.ts +0 -119
- package/dist/globs.js +0 -282
- package/dist/http-request.d.ts +0 -951
- package/dist/http-request.js +0 -761
- package/dist/ipc-cli.d.ts +0 -28
- package/dist/ipc.d.ts +0 -76
- package/dist/ipc.js +0 -130
- package/dist/links.d.ts +0 -69
- package/dist/logger.d.ts +0 -993
- package/dist/logger.js +0 -1498
- package/dist/memoization.d.ts +0 -131
- package/dist/memoization.js +0 -243
- package/dist/objects.d.ts +0 -500
- package/dist/objects.js +0 -303
- package/dist/package-extensions.d.ts +0 -9
- package/dist/packages.js +0 -132
- package/dist/performance.d.ts +0 -181
- package/dist/performance.js +0 -233
- package/dist/primordials.d.ts +0 -420
- package/dist/primordials.js +0 -1116
- package/dist/process-lock.d.ts +0 -180
- package/dist/promise-queue.d.ts +0 -48
- package/dist/promises.d.ts +0 -506
- package/dist/promises.js +0 -292
- package/dist/regexps.d.ts +0 -6
- package/dist/releases/github-api.d.ts +0 -56
- package/dist/releases/github-api.js +0 -275
- package/dist/sea/util.d.ts +0 -43
- package/dist/shadow.d.ts +0 -28
- package/dist/signal-exit.d.ts +0 -50
- package/dist/signal-exit.js +0 -247
- package/dist/smol/util.d.ts +0 -87
- package/dist/sorts.d.ts +0 -59
- package/dist/spawn.d.ts +0 -454
- package/dist/spinner.d.ts +0 -444
- package/dist/spinner.js +0 -988
- package/dist/ssri.d.ts +0 -90
- package/dist/streams.d.ts +0 -45
- package/dist/strings.d.ts +0 -414
- package/dist/strings.js +0 -218
- package/dist/suppress-warnings.d.ts +0 -81
- package/dist/tables.d.ts +0 -73
- package/dist/tables.js +0 -133
- package/dist/temporary-executor.d.ts +0 -20
- package/dist/themes/utils.d.ts +0 -86
- package/dist/url.d.ts +0 -114
- package/dist/versions.d.ts +0 -207
- package/dist/versions.js +0 -181
- package/dist/words.d.ts +0 -39
|
@@ -1,34 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @file Universal schema validator — non-throwing. Accepts any Zod-shaped
|
|
3
|
+
* schema (`.safeParse`-exposing) and returns a tagged result `{ ok: true,
|
|
4
|
+
* value } | { ok: false, errors }` with normalized `{ path, message }`
|
|
5
|
+
* issues. No runtime dependency on `zod` — detection is purely structural.
|
|
3
6
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
7
|
+
* @example
|
|
8
|
+
* ;```ts
|
|
9
|
+
* import { z } from 'zod'
|
|
10
|
+
* import { validateSchema } from '@socketsecurity/lib/schema/validate'
|
|
11
|
+
*
|
|
12
|
+
* const User = z.object({ name: z.string() })
|
|
13
|
+
* const r = validateSchema(User, data)
|
|
14
|
+
* if (r.ok)
|
|
15
|
+
* r.value.name // string
|
|
16
|
+
* else r.errors // ValidationIssue[]
|
|
17
|
+
* ```
|
|
8
18
|
*
|
|
9
19
|
* @internal
|
|
10
20
|
* socket-lib additionally recognizes TypeBox schemas for its own internal
|
|
11
21
|
* use (e.g. `src/ipc.ts`'s stub-file validation). That path is not a
|
|
12
22
|
* supported consumer API.
|
|
23
|
+
*/
|
|
24
|
+
import type { Infer, ValidateResult, ValidationIssue } from './types';
|
|
25
|
+
/**
|
|
26
|
+
* Detect a TypeBox schema structurally: object with a symbol key whose
|
|
27
|
+
* description is `'TypeBox.Kind'`, holding a string value.
|
|
13
28
|
*
|
|
14
|
-
* @
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function isTypeBoxSchema(schema: unknown): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Normalize a TypeBox `ValueError` iterator into plain issues. TypeBox paths
|
|
34
|
+
* are JSON Pointers (`/user/0/name`); convert to arrays.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare function normalizeTypeBoxErrors(errors: Iterable<{
|
|
39
|
+
path: string;
|
|
40
|
+
message: string;
|
|
41
|
+
}>): ValidationIssue[];
|
|
42
|
+
/**
|
|
43
|
+
* Normalize a Zod error object (v3 or v4) into plain issues. Both versions
|
|
44
|
+
* expose `.issues: Array<{ path, message }>`.
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
24
47
|
*/
|
|
25
|
-
|
|
48
|
+
export declare function normalizeZodError(err: unknown): ValidationIssue[];
|
|
26
49
|
/**
|
|
27
50
|
* Validate `data` against a Zod-style `schema`. Non-throwing.
|
|
28
51
|
*
|
|
29
|
-
* The return type narrows `value` to `Infer<S>`, so callers get
|
|
30
|
-
*
|
|
31
|
-
*
|
|
52
|
+
* The return type narrows `value` to `Infer<S>`, so callers get `z.infer<typeof
|
|
53
|
+
* S>` with no casts. Errors are normalized to `{ path, message }` regardless of
|
|
54
|
+
* the underlying validator.
|
|
32
55
|
*
|
|
33
56
|
* @throws {TypeError} When `schema` is not a recognized validator kind.
|
|
34
57
|
*/
|
package/dist/schema/validate.js
CHANGED
|
@@ -20,15 +20,21 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
20
20
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
21
|
var validate_exports = {};
|
|
22
22
|
__export(validate_exports, {
|
|
23
|
+
isTypeBoxSchema: () => isTypeBoxSchema,
|
|
24
|
+
normalizeTypeBoxErrors: () => normalizeTypeBoxErrors,
|
|
25
|
+
normalizeZodError: () => normalizeZodError,
|
|
23
26
|
validateSchema: () => validateSchema
|
|
24
27
|
});
|
|
25
28
|
module.exports = __toCommonJS(validate_exports);
|
|
26
|
-
var
|
|
29
|
+
var import_array = require("../primordials/array");
|
|
30
|
+
var import_error = require("../primordials/error");
|
|
31
|
+
var import_number = require("../primordials/number");
|
|
32
|
+
var import_object = require("../primordials/object");
|
|
27
33
|
function isTypeBoxSchema(schema) {
|
|
28
34
|
if (schema === null || typeof schema !== "object") {
|
|
29
35
|
return false;
|
|
30
36
|
}
|
|
31
|
-
for (const sym of (0,
|
|
37
|
+
for (const sym of (0, import_object.ObjectGetOwnPropertySymbols)(schema)) {
|
|
32
38
|
if (sym.description === "TypeBox.Kind") {
|
|
33
39
|
return typeof schema[sym] === "string";
|
|
34
40
|
}
|
|
@@ -42,7 +48,7 @@ function normalizeTypeBoxErrors(errors) {
|
|
|
42
48
|
out.push({
|
|
43
49
|
path: segs.map((s) => {
|
|
44
50
|
const n = Number(s);
|
|
45
|
-
return (0,
|
|
51
|
+
return (0, import_number.NumberIsInteger)(n) && String(n) === s ? n : s;
|
|
46
52
|
}),
|
|
47
53
|
message: err.message
|
|
48
54
|
});
|
|
@@ -54,13 +60,13 @@ function normalizeZodError(err) {
|
|
|
54
60
|
return [{ path: [], message: String(err) }];
|
|
55
61
|
}
|
|
56
62
|
const issues = err.issues;
|
|
57
|
-
if (!(0,
|
|
63
|
+
if (!(0, import_array.ArrayIsArray)(issues)) {
|
|
58
64
|
return [{ path: [], message: "Unknown validation error" }];
|
|
59
65
|
}
|
|
60
66
|
return issues.map((issue) => {
|
|
61
67
|
const i = issue;
|
|
62
68
|
return {
|
|
63
|
-
path: (0,
|
|
69
|
+
path: (0, import_array.ArrayIsArray)(i.path) ? i.path : [],
|
|
64
70
|
message: typeof i.message === "string" ? i.message : "Invalid value"
|
|
65
71
|
};
|
|
66
72
|
});
|
|
@@ -89,11 +95,14 @@ function validateSchema(schema, data) {
|
|
|
89
95
|
errors: normalizeZodError(result.error)
|
|
90
96
|
};
|
|
91
97
|
}
|
|
92
|
-
throw new
|
|
98
|
+
throw new import_error.TypeErrorCtor(
|
|
93
99
|
"validateSchema: unsupported schema kind. Expected a Zod schema or an object with a safeParse method."
|
|
94
100
|
);
|
|
95
101
|
}
|
|
96
102
|
// Annotate the CommonJS export names for ESM import in node:
|
|
97
103
|
0 && (module.exports = {
|
|
104
|
+
isTypeBoxSchema,
|
|
105
|
+
normalizeTypeBoxErrors,
|
|
106
|
+
normalizeZodError,
|
|
98
107
|
validateSchema
|
|
99
108
|
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file SEA (Single Executable Application) binary detection + path accessor.
|
|
3
|
+
* Two responsibilities (mirror of `src/smol/detect.ts` shape):
|
|
4
|
+
*
|
|
5
|
+
* 1. `isSeaBinary()` — memoized boolean detector for whether the current process
|
|
6
|
+
* is running as a Node.js Single Executable Application. Probes via Node
|
|
7
|
+
* 24+'s `node:sea.isSea()` native API; falls back to `false` on older
|
|
8
|
+
* runtimes.
|
|
9
|
+
* 2. `getSeaBinaryPath()` — returns the path of the SEA binary
|
|
10
|
+
* (`process.argv[0]` normalized) when running as SEA, otherwise
|
|
11
|
+
* `undefined`. Defensive across runtimes: returns `false` / `undefined`
|
|
12
|
+
* cleanly on stock Node < 24, browsers, Deno, Bun.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Get the current SEA binary path. Only valid when running as a SEA binary.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const binPath = getSeaBinaryPath()
|
|
20
|
+
* if (binPath) {
|
|
21
|
+
* console.log(`Running as SEA binary: ${binPath}`)
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function getSeaBinaryPath(): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Detect if the current process is running as a SEA binary. Uses Node.js 24+
|
|
28
|
+
* native API with caching for performance.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ;```typescript
|
|
32
|
+
* if (isSeaBinary()) {
|
|
33
|
+
* console.log('Running as a Single Executable Application')
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function isSeaBinary(): boolean;
|
|
@@ -28,15 +28,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
mod
|
|
29
29
|
));
|
|
30
30
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
31
|
+
var detect_exports = {};
|
|
32
|
+
__export(detect_exports, {
|
|
33
33
|
getSeaBinaryPath: () => getSeaBinaryPath,
|
|
34
34
|
isSeaBinary: () => isSeaBinary
|
|
35
35
|
});
|
|
36
|
-
module.exports = __toCommonJS(
|
|
36
|
+
module.exports = __toCommonJS(detect_exports);
|
|
37
37
|
var import_node_process = __toESM(require("node:process"));
|
|
38
38
|
var import_normalize = require("../paths/normalize");
|
|
39
39
|
let _isSea;
|
|
40
|
+
function getSeaBinaryPath() {
|
|
41
|
+
return isSeaBinary() && import_node_process.default.argv[0] ? (0, import_normalize.normalizePath)(import_node_process.default.argv[0]) : void 0;
|
|
42
|
+
}
|
|
40
43
|
function isSeaBinary() {
|
|
41
44
|
if (_isSea === void 0) {
|
|
42
45
|
try {
|
|
@@ -48,9 +51,6 @@ function isSeaBinary() {
|
|
|
48
51
|
}
|
|
49
52
|
return _isSea ?? false;
|
|
50
53
|
}
|
|
51
|
-
function getSeaBinaryPath() {
|
|
52
|
-
return isSeaBinary() && import_node_process.default.argv[0] ? (0, import_normalize.normalizePath)(import_node_process.default.argv[0]) : void 0;
|
|
53
|
-
}
|
|
54
54
|
// Annotate the CommonJS export names for ESM import in node:
|
|
55
55
|
0 && (module.exports = {
|
|
56
56
|
getSeaBinaryPath,
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Private internals for `secrets/` — process-scoped read cache for the
|
|
3
|
+
* keychain backend. Underscore-prefixed and skipped by the export generator
|
|
4
|
+
* (`dist/**\/_*` ignore pattern in
|
|
5
|
+
* `scripts/fix/generate-package-exports.mts`) so this module is NOT part of
|
|
6
|
+
* the public API surface. Imported by `./keychain.ts`. Every `readSecret`
|
|
7
|
+
* call shells out to the OS credential CLI (`security`, `secret-tool`,
|
|
8
|
+
* PowerShell). On macOS, the first read of a given entry by a new binary path
|
|
9
|
+
* triggers a Keychain auth prompt unless the entry was written with `-A -T
|
|
10
|
+
* ''` (which we now do — see `./macos.ts`). Even so, every read is a process
|
|
11
|
+
* spawn, which costs a few ms per call. For tools that read the same secret
|
|
12
|
+
* multiple times within one process (CLI commands handling multiple
|
|
13
|
+
* subcommands, MCP request handlers serving sibling endpoints), a
|
|
14
|
+
* process-scoped cache eliminates the redundant work. Lifetime: a single Node
|
|
15
|
+
* process. The cache lives in module-level state; importing this module from
|
|
16
|
+
* a child process gets a fresh cache. No persistence to disk — for that, see
|
|
17
|
+
* `./rc.ts` which materializes a one-time `export` block into the shell rc.
|
|
18
|
+
* Invalidation: callers MUST invalidate the cache when they write/delete the
|
|
19
|
+
* same `{service, account}` pair. The public keychain.ts wraps writeSecret /
|
|
20
|
+
* deleteSecret so cache eviction happens automatically. Concurrency:
|
|
21
|
+
* in-flight reads of the same key share a single Promise so two `await
|
|
22
|
+
* readSecret(...)` calls don't spawn two `security` processes for the same
|
|
23
|
+
* entry. Once the Promise resolves, the value is cached. If the read returns
|
|
24
|
+
* undefined (entry missing), `undefined` is cached too — callers that want a
|
|
25
|
+
* re-check after creating the entry must call `invalidate`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function cacheKey(service: string, account: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Coordinate concurrent reads of the same key. The first caller registers a
|
|
30
|
+
* Promise; subsequent callers receive the same Promise instead of spawning
|
|
31
|
+
* another OS call. On settle, the Promise's inflight slot is dropped and the
|
|
32
|
+
* value is cached.
|
|
33
|
+
*/
|
|
34
|
+
export declare function dedupeRead(service: string, account: string, reader: () => Promise<string | undefined>): Promise<string | undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* Look up a cached value. Returns `undefined` for both "cached as absent" and
|
|
37
|
+
* "not yet cached" — callers that need to distinguish those cases should use
|
|
38
|
+
* `has` first.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getCached(service: string, account: string): string | undefined;
|
|
41
|
+
export declare function has(service: string, account: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Drop a cached value. Called by `writeSecret` / `deleteSecret` after the
|
|
44
|
+
* underlying OS state changes so a subsequent `readSecret` reflects the new
|
|
45
|
+
* reality. Also called by `invalidateAll()` for service-wide refreshes.
|
|
46
|
+
*/
|
|
47
|
+
export declare function invalidate(service: string, account: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Wipe the entire cache. Tests use this between cases; consumers generally
|
|
50
|
+
* don't need it (process exit drops the cache anyway).
|
|
51
|
+
*/
|
|
52
|
+
export declare function invalidateAll(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Store a value (or `undefined` to record an absent entry) so later reads of
|
|
55
|
+
* the same key short-circuit the OS call.
|
|
56
|
+
*/
|
|
57
|
+
export declare function setCached(service: string, account: string, value: string | undefined): void;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with esbuild */
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var internal_exports = {};
|
|
22
|
+
__export(internal_exports, {
|
|
23
|
+
cacheKey: () => cacheKey,
|
|
24
|
+
dedupeRead: () => dedupeRead,
|
|
25
|
+
getCached: () => getCached,
|
|
26
|
+
has: () => has,
|
|
27
|
+
invalidate: () => invalidate,
|
|
28
|
+
invalidateAll: () => invalidateAll,
|
|
29
|
+
setCached: () => setCached
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(internal_exports);
|
|
32
|
+
const valueCache = /* @__PURE__ */ new Map();
|
|
33
|
+
const inflight = /* @__PURE__ */ new Map();
|
|
34
|
+
function cacheKey(service, account) {
|
|
35
|
+
return `${service} ${account}`;
|
|
36
|
+
}
|
|
37
|
+
async function dedupeRead(service, account, reader) {
|
|
38
|
+
const key = cacheKey(service, account);
|
|
39
|
+
if (valueCache.has(key)) {
|
|
40
|
+
return valueCache.get(key);
|
|
41
|
+
}
|
|
42
|
+
const existing = inflight.get(key);
|
|
43
|
+
if (existing) {
|
|
44
|
+
return existing;
|
|
45
|
+
}
|
|
46
|
+
const promise = (async () => {
|
|
47
|
+
try {
|
|
48
|
+
const value = await reader();
|
|
49
|
+
valueCache.set(key, value);
|
|
50
|
+
return value;
|
|
51
|
+
} finally {
|
|
52
|
+
inflight.delete(key);
|
|
53
|
+
}
|
|
54
|
+
})();
|
|
55
|
+
inflight.set(key, promise);
|
|
56
|
+
return promise;
|
|
57
|
+
}
|
|
58
|
+
function getCached(service, account) {
|
|
59
|
+
return valueCache.get(cacheKey(service, account));
|
|
60
|
+
}
|
|
61
|
+
function has(service, account) {
|
|
62
|
+
return valueCache.has(cacheKey(service, account));
|
|
63
|
+
}
|
|
64
|
+
function invalidate(service, account) {
|
|
65
|
+
valueCache.delete(cacheKey(service, account));
|
|
66
|
+
inflight.delete(cacheKey(service, account));
|
|
67
|
+
}
|
|
68
|
+
function invalidateAll() {
|
|
69
|
+
valueCache.clear();
|
|
70
|
+
inflight.clear();
|
|
71
|
+
}
|
|
72
|
+
function setCached(service, account, value) {
|
|
73
|
+
valueCache.set(cacheKey(service, account), value);
|
|
74
|
+
}
|
|
75
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
76
|
+
0 && (module.exports = {
|
|
77
|
+
cacheKey,
|
|
78
|
+
dedupeRead,
|
|
79
|
+
getCached,
|
|
80
|
+
has,
|
|
81
|
+
invalidate,
|
|
82
|
+
invalidateAll,
|
|
83
|
+
setCached
|
|
84
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Resolve a secret from the canonical fleet precedence order: process env
|
|
3
|
+
* → OS keychain. Returns the value + the source it came from so the caller
|
|
4
|
+
* can log which slot won. Why a helper instead of inlining: every consumer of
|
|
5
|
+
* the fleet's Socket API token does the same dance — check
|
|
6
|
+
* `process.env.SOCKET_API_TOKEN`, fall back to a legacy env-var alias, fall
|
|
7
|
+
* back to `readSecret({...})` from the keychain. Tools drift on the exact
|
|
8
|
+
* order and on which aliases they consider. This helper centralizes the
|
|
9
|
+
* precedence so a token check in socket-cli, socket-mcp, depot, and ad-hoc
|
|
10
|
+
* scripts all behave the same way. Not included: `.env` file parsing. Hosts
|
|
11
|
+
* that want `.env` support should pre-populate `process.env` from `.env`
|
|
12
|
+
* themselves (e.g. with `dotenv.config()` at process start). Folding `.env`
|
|
13
|
+
* reads into this helper would couple the secrets API to a config-file parser
|
|
14
|
+
* that's better lived at the application boundary. Prompt minimization: every
|
|
15
|
+
* keychain read short-circuits through the process-scoped cache in
|
|
16
|
+
* `./_internal.ts`. So calling `resolve` multiple times in one process spawns
|
|
17
|
+
* at most one `security` (macOS) / `secret-tool` (Linux) / `powershell`
|
|
18
|
+
* (Windows) per `{service, account}` pair. Combined with macOS's `-A -T ''`
|
|
19
|
+
* ACL (set by `writeSecret`), this means: at most one Keychain auth prompt
|
|
20
|
+
* across a process's entire lifetime — and zero prompts when the env-var path
|
|
21
|
+
* covers the read.
|
|
22
|
+
*/
|
|
23
|
+
export interface ResolveOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Logical service identifier for the keychain lookup. Same value the caller
|
|
26
|
+
* would pass to `writeSecret` / `readSecret`. Ignored when the env-var path
|
|
27
|
+
* resolves the value first.
|
|
28
|
+
*/
|
|
29
|
+
service: string;
|
|
30
|
+
/**
|
|
31
|
+
* Names to try, in order. Each name is checked as both an env-var
|
|
32
|
+
* (`process.env[name]`) and a keychain account name. Env-var matches always
|
|
33
|
+
* beat keychain matches (env-var is cheaper and doesn't risk a Keychain
|
|
34
|
+
* prompt).
|
|
35
|
+
*
|
|
36
|
+
* Order matters: list the canonical name first so a legacy alias is only
|
|
37
|
+
* consulted when the canonical entry is missing.
|
|
38
|
+
*/
|
|
39
|
+
accounts: readonly string[];
|
|
40
|
+
/**
|
|
41
|
+
* When `true`, skip the keychain fallback entirely. The resolver checks
|
|
42
|
+
* `process.env[account]` for each account and returns `undefined` immediately
|
|
43
|
+
* if none match. Use this in headless contexts (CI runners, bootstrap hooks)
|
|
44
|
+
* where a Keychain auth prompt is unacceptable.
|
|
45
|
+
*
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
allowEnvOnly?: boolean | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface ResolveResult {
|
|
51
|
+
value: string;
|
|
52
|
+
/**
|
|
53
|
+
* Where the value came from: 'env' — `process.env[<account>]` had a non-empty
|
|
54
|
+
* value. 'keychain' — env-var was empty/missing; the value was read from the
|
|
55
|
+
* OS credential store under the matching account.
|
|
56
|
+
*/
|
|
57
|
+
source: 'env' | 'keychain';
|
|
58
|
+
/**
|
|
59
|
+
* Which account in `accounts` was the actual hit.
|
|
60
|
+
*/
|
|
61
|
+
account: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Pull a non-empty string from `process.env[name]`. Returns `undefined` for
|
|
65
|
+
* missing or empty values so the caller can fall through to the next source
|
|
66
|
+
* without distinguishing the two cases.
|
|
67
|
+
*/
|
|
68
|
+
export declare function readEnv(name: string): string | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Resolve a secret following the canonical env → keychain order. Returns
|
|
71
|
+
* `undefined` when neither source has the value — the caller's signal to prompt
|
|
72
|
+
* the user or surface a setup hint.
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolve(opts: ResolveOptions): Promise<ResolveResult | undefined>;
|
|
75
|
+
/**
|
|
76
|
+
* Sync variant for non-async callers (hook initializers, schema validators that
|
|
77
|
+
* run before any `await` machinery exists).
|
|
78
|
+
*/
|
|
79
|
+
export declare function resolveSync(opts: ResolveOptions): ResolveResult | undefined;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with esbuild */
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var find_exports = {};
|
|
22
|
+
__export(find_exports, {
|
|
23
|
+
readEnv: () => readEnv,
|
|
24
|
+
resolve: () => resolve,
|
|
25
|
+
resolveSync: () => resolveSync
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(find_exports);
|
|
28
|
+
var import_keychain = require("./keychain");
|
|
29
|
+
function readEnv(name) {
|
|
30
|
+
const value = process.env[name];
|
|
31
|
+
if (typeof value !== "string") {
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
const trimmed = value.trim();
|
|
35
|
+
return trimmed ? trimmed : void 0;
|
|
36
|
+
}
|
|
37
|
+
async function resolve(opts) {
|
|
38
|
+
const { accounts, allowEnvOnly, service } = opts;
|
|
39
|
+
for (let i = 0, { length } = accounts; i < length; i += 1) {
|
|
40
|
+
const account = accounts[i];
|
|
41
|
+
const fromEnv = readEnv(account);
|
|
42
|
+
if (fromEnv) {
|
|
43
|
+
return { value: fromEnv, source: "env", account };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (allowEnvOnly) {
|
|
47
|
+
return void 0;
|
|
48
|
+
}
|
|
49
|
+
for (let i = 0, { length } = accounts; i < length; i += 1) {
|
|
50
|
+
const account = accounts[i];
|
|
51
|
+
const fromKeychain = await (0, import_keychain.readSecret)({ service, account });
|
|
52
|
+
if (fromKeychain) {
|
|
53
|
+
return { value: fromKeychain, source: "keychain", account };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return void 0;
|
|
57
|
+
}
|
|
58
|
+
function resolveSync(opts) {
|
|
59
|
+
const { accounts, allowEnvOnly, service } = opts;
|
|
60
|
+
for (let i = 0, { length } = accounts; i < length; i += 1) {
|
|
61
|
+
const account = accounts[i];
|
|
62
|
+
const fromEnv = readEnv(account);
|
|
63
|
+
if (fromEnv) {
|
|
64
|
+
return { value: fromEnv, source: "env", account };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (allowEnvOnly) {
|
|
68
|
+
return void 0;
|
|
69
|
+
}
|
|
70
|
+
for (let i = 0, { length } = accounts; i < length; i += 1) {
|
|
71
|
+
const account = accounts[i];
|
|
72
|
+
const fromKeychain = (0, import_keychain.readSecretSync)({ service, account });
|
|
73
|
+
if (fromKeychain) {
|
|
74
|
+
return { value: fromKeychain, source: "keychain", account };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return void 0;
|
|
78
|
+
}
|
|
79
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
80
|
+
0 && (module.exports = {
|
|
81
|
+
readEnv,
|
|
82
|
+
resolve,
|
|
83
|
+
resolveSync
|
|
84
|
+
});
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Cross-platform secret-storage helper. Reads / writes to the native OS
|
|
3
|
+
* credential store (Keychain on macOS, Secret Service via libsecret on Linux,
|
|
4
|
+
* Credential Manager + DPAPI on Windows). Consumers pick their own `{
|
|
5
|
+
* service, account }` pair. API shape: readSecret({ service, account }) →
|
|
6
|
+
* Promise<string | undefined> readSecretSync({ service, account }) → string |
|
|
7
|
+
* undefined writeSecret({ service, account, value }) → Promise<void>
|
|
8
|
+
* writeSecretSync({ service, account, value }) → void deleteSecret({ service,
|
|
9
|
+
* account }) → Promise<'removed' | 'absent'> deleteSecretSync({ service,
|
|
10
|
+
* account }) → 'removed' | 'absent' Multi-slot helpers exist for the common
|
|
11
|
+
* case of writing the same value under multiple account names (e.g.
|
|
12
|
+
* SOCKET_API_TOKEN + SOCKET_API_KEY for backwards compatibility):
|
|
13
|
+
* readSecretFromSlots({ service, accounts }) writeSecretToSlots({ service,
|
|
14
|
+
* accounts, value }) deleteSecretFromSlots({ service, accounts }) IMPORTANT:
|
|
15
|
+
* do NOT invoke these helpers from a shell rc / .zshenv file (or any other
|
|
16
|
+
* always-on-startup hook). On macOS each call triggers a Keychain auth
|
|
17
|
+
* prompt; piling that into per-shell startup floods the user with prompts.
|
|
18
|
+
* Use `write` from `./rc` to write a one-time literal `export` block into the
|
|
19
|
+
* user's shell rc file instead. (Incident memory: socket-cli session
|
|
20
|
+
* 2026-05-15.)
|
|
21
|
+
*/
|
|
22
|
+
import type { BackendAvailability, SecretDeleteResult, SecretWriteResult } from './types';
|
|
23
|
+
/**
|
|
24
|
+
* Drop the in-process read cache. Tests use this between cases to force a fresh
|
|
25
|
+
* OS call; production code generally doesn't need it (process exit drops the
|
|
26
|
+
* cache anyway, and `writeSecret` / `deleteSecret` already invalidate per-key
|
|
27
|
+
* entries automatically).
|
|
28
|
+
*/
|
|
29
|
+
export declare function clearCache(): void;
|
|
30
|
+
export interface DeleteOptions {
|
|
31
|
+
service: string;
|
|
32
|
+
account: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Remove a secret from the OS credential store. Idempotent — succeeds whether
|
|
36
|
+
* the entry exists or not. Returns the per-slot outcome so callers can log
|
|
37
|
+
* "actually removed X" vs "X was already absent."
|
|
38
|
+
*/
|
|
39
|
+
export declare function deleteSecret({ service, account, }: DeleteOptions): Promise<'removed' | 'absent'>;
|
|
40
|
+
export interface DeleteFromSlotsOptions {
|
|
41
|
+
service: string;
|
|
42
|
+
accounts: readonly string[];
|
|
43
|
+
}
|
|
44
|
+
export declare function deleteSecretFromSlots({ service, accounts, }: DeleteFromSlotsOptions): Promise<SecretDeleteResult[]>;
|
|
45
|
+
export declare function deleteSecretFromSlotsSync({ service, accounts, }: DeleteFromSlotsOptions): SecretDeleteResult[];
|
|
46
|
+
export declare function deleteSecretSync({ service, account, }: DeleteOptions): 'removed' | 'absent';
|
|
47
|
+
export type { BackendAvailability, SecretDeleteResult, SecretWriteResult, } from './types';
|
|
48
|
+
export type { SecretSlot } from './types';
|
|
49
|
+
type Platform = 'darwin' | 'linux' | 'win32' | 'other';
|
|
50
|
+
/**
|
|
51
|
+
* Resolve the current OS to one of our four backend categories.
|
|
52
|
+
*
|
|
53
|
+
* Exported only because the fleet's `export-top-level-functions` lint rule
|
|
54
|
+
* requires top-level functions to be exported for testability. Not part of the
|
|
55
|
+
* public `secrets/keychain` API surface — consumers should call `readSecret` /
|
|
56
|
+
* `writeSecret` / `getBackendAvailability` instead, which handle the dispatch
|
|
57
|
+
* internally.
|
|
58
|
+
*
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export declare function detectPlatform(): Platform;
|
|
62
|
+
/**
|
|
63
|
+
* Diagnostic: tell the operator whether the OS credential backend is reachable.
|
|
64
|
+
* Used by installers to report up-front (before any prompt fires) when
|
|
65
|
+
* libsecret-tools or the CredentialManager module aren't installed.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getBackendAvailability(): BackendAvailability;
|
|
68
|
+
export interface ReadOptions {
|
|
69
|
+
service: string;
|
|
70
|
+
account: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Read a single secret value from the OS credential store. Returns `undefined`
|
|
74
|
+
* when the entry doesn't exist OR when the backend tool isn't available — read
|
|
75
|
+
* paths never throw, so callers can fall through to env / .env / prompt
|
|
76
|
+
* cleanly.
|
|
77
|
+
*/
|
|
78
|
+
export declare function readSecret({ service, account, }: ReadOptions): Promise<string | undefined>;
|
|
79
|
+
export interface ReadFromSlotsOptions {
|
|
80
|
+
service: string;
|
|
81
|
+
accounts: readonly string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Read from the first matching account. Used when multiple env-var names map to
|
|
85
|
+
* the same logical secret (e.g. SOCKET_API_TOKEN canonical + SOCKET_API_KEY
|
|
86
|
+
* legacy). Returns the value AND the account it came from so callers can warn
|
|
87
|
+
* on legacy hits.
|
|
88
|
+
*/
|
|
89
|
+
export declare function readSecretFromSlots({ service, accounts, }: ReadFromSlotsOptions): Promise<{
|
|
90
|
+
value: string;
|
|
91
|
+
account: string;
|
|
92
|
+
} | undefined>;
|
|
93
|
+
export declare function readSecretFromSlotsSync({ service, accounts, }: ReadFromSlotsOptions): {
|
|
94
|
+
value: string;
|
|
95
|
+
account: string;
|
|
96
|
+
} | undefined;
|
|
97
|
+
export declare function readSecretSync({ service, account, }: ReadOptions): string | undefined;
|
|
98
|
+
export interface WriteOptions {
|
|
99
|
+
service: string;
|
|
100
|
+
account: string;
|
|
101
|
+
value: string;
|
|
102
|
+
/**
|
|
103
|
+
* Display label shown in Keychain Access.app / GNOME keyring etc. Defaults to
|
|
104
|
+
* `<service> credential`. Per-secret labels make the keyring UI navigable
|
|
105
|
+
* when a service has multiple entries.
|
|
106
|
+
*/
|
|
107
|
+
label?: string | undefined;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Persist a single secret to the OS credential store. Throws on write failure —
|
|
111
|
+
* the caller is in a setup flow and should see why persistence failed, not
|
|
112
|
+
* silently continue.
|
|
113
|
+
*
|
|
114
|
+
* Returns the outcome: - `'written'` — value persisted (entry was absent or
|
|
115
|
+
* differed). - `'unchanged'` — current stored value already matches; no OS
|
|
116
|
+
* write performed. Useful for idempotent flows (re-running an installer
|
|
117
|
+
* shouldn't show "rewrote N secrets" when nothing actually changed).
|
|
118
|
+
*/
|
|
119
|
+
export declare function writeSecret({ service, account, value, label, }: WriteOptions): Promise<'written' | 'unchanged'>;
|
|
120
|
+
export declare function writeSecretSync({ service, account, value, label, }: WriteOptions): 'written' | 'unchanged';
|
|
121
|
+
export interface WriteToSlotsOptions {
|
|
122
|
+
service: string;
|
|
123
|
+
accounts: readonly string[];
|
|
124
|
+
value: string;
|
|
125
|
+
label?: string | undefined;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Persist the same value under each account name in `accounts`. Useful when a
|
|
129
|
+
* value needs to be reachable under several env-var names (legacy aliases,
|
|
130
|
+
* sibling tools). Each slot gets its own keychain entry — they all hold the
|
|
131
|
+
* same string.
|
|
132
|
+
*
|
|
133
|
+
* If any individual write throws, prior writes have already persisted. Failures
|
|
134
|
+
* aren't rolled back (the half-state is at worst a stale legacy alias, which
|
|
135
|
+
* the next successful write cleans up).
|
|
136
|
+
*/
|
|
137
|
+
export declare function writeSecretToSlots({ service, accounts, value, label, }: WriteToSlotsOptions): Promise<SecretWriteResult[]>;
|
|
138
|
+
export declare function writeSecretToSlotsSync({ service, accounts, value, label, }: WriteToSlotsOptions): SecretWriteResult[];
|