@quantiya/codevibe-claude-plugin 1.0.13 → 1.0.14
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/.claude-plugin/plugin.json +1 -1
- package/node_modules/@quantiya/codevibe-core/README.md +179 -0
- package/node_modules/@quantiya/codevibe-core/bin/codevibe.js +7 -0
- package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +132 -0
- package/node_modules/@quantiya/codevibe-core/dist/appsync/index.d.ts +2 -0
- package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +16 -0
- package/node_modules/@quantiya/codevibe-core/dist/auth/auth-cli.d.ts +5 -0
- package/node_modules/@quantiya/codevibe-core/dist/auth/auth-service.d.ts +87 -0
- package/node_modules/@quantiya/codevibe-core/dist/auth/fetch-helpers.d.ts +11 -0
- package/node_modules/@quantiya/codevibe-core/dist/auth/index.d.ts +2 -0
- package/node_modules/@quantiya/codevibe-core/dist/config/config.d.ts +53 -0
- package/node_modules/@quantiya/codevibe-core/dist/config/index.d.ts +2 -0
- package/node_modules/@quantiya/codevibe-core/dist/crypto/crypto-service.d.ts +118 -0
- package/node_modules/@quantiya/codevibe-core/dist/crypto/index.d.ts +1 -0
- package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +14 -0
- package/node_modules/@quantiya/codevibe-core/dist/index.js +218 -0
- package/node_modules/@quantiya/codevibe-core/dist/keychain/index.d.ts +1 -0
- package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.d.ts +125 -0
- package/node_modules/@quantiya/codevibe-core/dist/logger/index.d.ts +1 -0
- package/node_modules/@quantiya/codevibe-core/dist/logger/logger.d.ts +35 -0
- package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.d.ts +39 -0
- package/node_modules/@quantiya/codevibe-core/dist/session/index.d.ts +2 -0
- package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.d.ts +55 -0
- package/node_modules/@quantiya/codevibe-core/dist/types/auth.d.ts +15 -0
- package/node_modules/@quantiya/codevibe-core/dist/types/encryption.d.ts +54 -0
- package/node_modules/@quantiya/codevibe-core/dist/types/events.d.ts +74 -0
- package/node_modules/@quantiya/codevibe-core/dist/types/index.d.ts +4 -0
- package/node_modules/@quantiya/codevibe-core/dist/types/session.d.ts +59 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CHANGELOG.md +274 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CONTRIBUTING.md +18 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/LICENSE.md +9 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/README.md +466 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/bin/uuid +2 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/index.js +9 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/md5.js +215 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/native.js +4 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/nil.js +1 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/parse.js +35 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/rng.js +18 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1.js +95 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v3.js +4 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v35.js +66 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v4.js +29 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v5.js +4 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/validate.js +7 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/version.js +11 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/index.js +9 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/md5.js +13 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/native.js +4 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/nil.js +1 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/parse.js +35 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/regex.js +1 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/rng.js +12 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/sha1.js +13 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/stringify.js +33 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v1.js +95 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v3.js +4 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v35.js +66 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v4.js +29 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v5.js +4 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/validate.js +7 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/version.js +11 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/index.js +79 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5-browser.js +223 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5.js +23 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native-browser.js +11 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native.js +15 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/nil.js +8 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/parse.js +45 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/regex.js +8 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng-browser.js +25 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng.js +24 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1-browser.js +104 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1.js +23 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/stringify.js +44 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/uuid-bin.js +85 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v1.js +107 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v3.js +16 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v35.js +80 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v4.js +43 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v5.js +16 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/validate.js +17 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/version.js +21 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/package.json +135 -0
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/wrapper.mjs +10 -0
- package/node_modules/@quantiya/codevibe-core/package.json +54 -0
- package/node_modules/base64-js/LICENSE +21 -0
- package/node_modules/base64-js/README.md +34 -0
- package/node_modules/base64-js/base64js.min.js +1 -0
- package/node_modules/base64-js/index.d.ts +3 -0
- package/node_modules/base64-js/index.js +150 -0
- package/node_modules/base64-js/package.json +47 -0
- package/node_modules/bl/.travis.yml +17 -0
- package/node_modules/bl/BufferList.js +396 -0
- package/node_modules/bl/LICENSE.md +13 -0
- package/node_modules/bl/README.md +247 -0
- package/node_modules/bl/bl.js +84 -0
- package/node_modules/bl/package.json +37 -0
- package/node_modules/bl/test/convert.js +21 -0
- package/node_modules/bl/test/indexOf.js +492 -0
- package/node_modules/bl/test/isBufferList.js +32 -0
- package/node_modules/bl/test/test.js +869 -0
- package/node_modules/buffer/AUTHORS.md +70 -0
- package/node_modules/buffer/LICENSE +21 -0
- package/node_modules/buffer/README.md +410 -0
- package/node_modules/buffer/index.d.ts +186 -0
- package/node_modules/buffer/index.js +1817 -0
- package/node_modules/buffer/package.json +96 -0
- package/node_modules/chownr/LICENSE +15 -0
- package/node_modules/chownr/README.md +3 -0
- package/node_modules/chownr/chownr.js +167 -0
- package/node_modules/chownr/package.json +29 -0
- package/node_modules/decompress-response/index.d.ts +22 -0
- package/node_modules/decompress-response/index.js +58 -0
- package/node_modules/decompress-response/license +9 -0
- package/node_modules/decompress-response/package.json +56 -0
- package/node_modules/decompress-response/readme.md +48 -0
- package/node_modules/deep-extend/CHANGELOG.md +46 -0
- package/node_modules/deep-extend/LICENSE +20 -0
- package/node_modules/deep-extend/README.md +91 -0
- package/node_modules/deep-extend/index.js +1 -0
- package/node_modules/deep-extend/lib/deep-extend.js +150 -0
- package/node_modules/deep-extend/package.json +62 -0
- package/node_modules/detect-libc/LICENSE +201 -0
- package/node_modules/detect-libc/README.md +163 -0
- package/node_modules/detect-libc/index.d.ts +14 -0
- package/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/node_modules/detect-libc/lib/elf.js +39 -0
- package/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/node_modules/detect-libc/lib/process.js +24 -0
- package/node_modules/detect-libc/package.json +44 -0
- package/node_modules/end-of-stream/LICENSE +21 -0
- package/node_modules/end-of-stream/README.md +54 -0
- package/node_modules/end-of-stream/index.js +96 -0
- package/node_modules/end-of-stream/package.json +37 -0
- package/node_modules/expand-template/.travis.yml +6 -0
- package/node_modules/expand-template/LICENSE +21 -0
- package/node_modules/expand-template/README.md +43 -0
- package/node_modules/expand-template/index.js +26 -0
- package/node_modules/expand-template/package.json +29 -0
- package/node_modules/expand-template/test.js +67 -0
- package/node_modules/fs-constants/LICENSE +21 -0
- package/node_modules/fs-constants/README.md +26 -0
- package/node_modules/fs-constants/browser.js +1 -0
- package/node_modules/fs-constants/index.js +1 -0
- package/node_modules/fs-constants/package.json +19 -0
- package/node_modules/github-from-package/.travis.yml +4 -0
- package/node_modules/github-from-package/LICENSE +18 -0
- package/node_modules/github-from-package/example/package.json +8 -0
- package/node_modules/github-from-package/example/url.js +3 -0
- package/node_modules/github-from-package/index.js +17 -0
- package/node_modules/github-from-package/package.json +30 -0
- package/node_modules/github-from-package/readme.markdown +53 -0
- package/node_modules/github-from-package/test/a.json +8 -0
- package/node_modules/github-from-package/test/b.json +5 -0
- package/node_modules/github-from-package/test/c.json +5 -0
- package/node_modules/github-from-package/test/d.json +7 -0
- package/node_modules/github-from-package/test/e.json +5 -0
- package/node_modules/github-from-package/test/url.js +19 -0
- package/node_modules/ieee754/LICENSE +11 -0
- package/node_modules/ieee754/README.md +51 -0
- package/node_modules/ieee754/index.d.ts +10 -0
- package/node_modules/ieee754/index.js +85 -0
- package/node_modules/ieee754/package.json +52 -0
- package/node_modules/ini/LICENSE +15 -0
- package/node_modules/ini/README.md +102 -0
- package/node_modules/ini/ini.js +206 -0
- package/node_modules/ini/package.json +33 -0
- package/node_modules/keytar/LICENSE.md +20 -0
- package/node_modules/keytar/README.md +94 -0
- package/node_modules/keytar/binding.gyp +66 -0
- package/node_modules/keytar/build/Release/keytar.node +0 -0
- package/node_modules/keytar/keytar.d.ts +51 -0
- package/node_modules/keytar/lib/keytar.js +43 -0
- package/node_modules/keytar/package.json +66 -0
- package/node_modules/keytar/src/async.cc +242 -0
- package/node_modules/keytar/src/async.h +103 -0
- package/node_modules/keytar/src/credentials.h +13 -0
- package/node_modules/keytar/src/keytar.h +41 -0
- package/node_modules/keytar/src/keytar_mac.cc +296 -0
- package/node_modules/keytar/src/keytar_posix.cc +184 -0
- package/node_modules/keytar/src/keytar_win.cc +272 -0
- package/node_modules/keytar/src/main.cc +139 -0
- package/node_modules/mimic-response/index.d.ts +17 -0
- package/node_modules/mimic-response/index.js +77 -0
- package/node_modules/mimic-response/license +9 -0
- package/node_modules/mimic-response/package.json +42 -0
- package/node_modules/mimic-response/readme.md +78 -0
- package/node_modules/minimist/.eslintrc +29 -0
- package/node_modules/minimist/.github/FUNDING.yml +12 -0
- package/node_modules/minimist/.nycrc +14 -0
- package/node_modules/minimist/CHANGELOG.md +298 -0
- package/node_modules/minimist/LICENSE +18 -0
- package/node_modules/minimist/README.md +121 -0
- package/node_modules/minimist/example/parse.js +4 -0
- package/node_modules/minimist/index.js +263 -0
- package/node_modules/minimist/package.json +75 -0
- package/node_modules/minimist/test/all_bool.js +34 -0
- package/node_modules/minimist/test/bool.js +177 -0
- package/node_modules/minimist/test/dash.js +43 -0
- package/node_modules/minimist/test/default_bool.js +37 -0
- package/node_modules/minimist/test/dotted.js +24 -0
- package/node_modules/minimist/test/kv_short.js +32 -0
- package/node_modules/minimist/test/long.js +33 -0
- package/node_modules/minimist/test/num.js +38 -0
- package/node_modules/minimist/test/parse.js +209 -0
- package/node_modules/minimist/test/parse_modified.js +11 -0
- package/node_modules/minimist/test/proto.js +64 -0
- package/node_modules/minimist/test/short.js +69 -0
- package/node_modules/minimist/test/stop_early.js +17 -0
- package/node_modules/minimist/test/unknown.js +104 -0
- package/node_modules/minimist/test/whitespace.js +10 -0
- package/node_modules/mkdirp-classic/LICENSE +21 -0
- package/node_modules/mkdirp-classic/README.md +18 -0
- package/node_modules/mkdirp-classic/index.js +98 -0
- package/node_modules/mkdirp-classic/package.json +18 -0
- package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
- package/node_modules/napi-build-utils/LICENSE +21 -0
- package/node_modules/napi-build-utils/README.md +52 -0
- package/node_modules/napi-build-utils/index.js +214 -0
- package/node_modules/napi-build-utils/index.md +0 -0
- package/node_modules/napi-build-utils/package.json +42 -0
- package/node_modules/node-abi/LICENSE +21 -0
- package/node_modules/node-abi/README.md +54 -0
- package/node_modules/node-abi/abi_registry.json +439 -0
- package/node_modules/node-abi/index.js +179 -0
- package/node_modules/node-abi/package.json +45 -0
- package/node_modules/node-addon-api/LICENSE.md +13 -0
- package/node_modules/node-addon-api/README.md +293 -0
- package/node_modules/node-addon-api/common.gypi +21 -0
- package/node_modules/node-addon-api/except.gypi +25 -0
- package/node_modules/node-addon-api/index.js +11 -0
- package/node_modules/node-addon-api/napi-inl.deprecated.h +192 -0
- package/node_modules/node-addon-api/napi-inl.h +6209 -0
- package/node_modules/node-addon-api/napi.h +2983 -0
- package/node_modules/node-addon-api/node_api.gyp +9 -0
- package/node_modules/node-addon-api/noexcept.gypi +26 -0
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +21 -0
- package/node_modules/node-addon-api/package.json +399 -0
- package/node_modules/node-addon-api/tools/README.md +73 -0
- package/node_modules/node-addon-api/tools/check-napi.js +100 -0
- package/node_modules/node-addon-api/tools/clang-format.js +68 -0
- package/node_modules/node-addon-api/tools/conversion.js +309 -0
- package/node_modules/node-addon-api/tools/eslint-format.js +71 -0
- package/node_modules/prebuild-install/CHANGELOG.md +131 -0
- package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
- package/node_modules/prebuild-install/LICENSE +21 -0
- package/node_modules/prebuild-install/README.md +163 -0
- package/node_modules/prebuild-install/asset.js +44 -0
- package/node_modules/prebuild-install/bin.js +78 -0
- package/node_modules/prebuild-install/download.js +142 -0
- package/node_modules/prebuild-install/error.js +14 -0
- package/node_modules/prebuild-install/help.txt +16 -0
- package/node_modules/prebuild-install/index.js +1 -0
- package/node_modules/prebuild-install/log.js +33 -0
- package/node_modules/prebuild-install/package.json +67 -0
- package/node_modules/prebuild-install/proxy.js +35 -0
- package/node_modules/prebuild-install/rc.js +64 -0
- package/node_modules/prebuild-install/util.js +143 -0
- package/node_modules/pump/.github/FUNDING.yml +2 -0
- package/node_modules/pump/.travis.yml +5 -0
- package/node_modules/pump/LICENSE +21 -0
- package/node_modules/pump/README.md +74 -0
- package/node_modules/pump/SECURITY.md +5 -0
- package/node_modules/pump/empty.js +1 -0
- package/node_modules/pump/index.js +86 -0
- package/node_modules/pump/package.json +30 -0
- package/node_modules/pump/test-browser.js +66 -0
- package/node_modules/pump/test-node.js +53 -0
- package/node_modules/rc/LICENSE.APACHE2 +15 -0
- package/node_modules/rc/LICENSE.BSD +26 -0
- package/node_modules/rc/LICENSE.MIT +24 -0
- package/node_modules/rc/README.md +227 -0
- package/node_modules/rc/browser.js +7 -0
- package/node_modules/rc/cli.js +4 -0
- package/node_modules/rc/index.js +53 -0
- package/node_modules/rc/lib/utils.js +104 -0
- package/node_modules/rc/package.json +29 -0
- package/node_modules/rc/test/ini.js +16 -0
- package/node_modules/rc/test/nested-env-vars.js +50 -0
- package/node_modules/rc/test/test.js +59 -0
- package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- package/node_modules/readable-stream/GOVERNANCE.md +136 -0
- package/node_modules/readable-stream/LICENSE +47 -0
- package/node_modules/readable-stream/README.md +106 -0
- package/node_modules/readable-stream/errors-browser.js +127 -0
- package/node_modules/readable-stream/errors.js +116 -0
- package/node_modules/readable-stream/experimentalWarning.js +17 -0
- package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
- package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
- package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
- package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
- package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
- package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
- package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
- package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
- package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- package/node_modules/readable-stream/package.json +68 -0
- package/node_modules/readable-stream/readable-browser.js +9 -0
- package/node_modules/readable-stream/readable.js +16 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/safe-buffer/package.json +51 -0
- package/node_modules/semver/LICENSE +15 -0
- package/node_modules/semver/README.md +665 -0
- package/node_modules/semver/bin/semver.js +191 -0
- package/node_modules/semver/classes/comparator.js +143 -0
- package/node_modules/semver/classes/index.js +7 -0
- package/node_modules/semver/classes/range.js +557 -0
- package/node_modules/semver/classes/semver.js +333 -0
- package/node_modules/semver/functions/clean.js +8 -0
- package/node_modules/semver/functions/cmp.js +54 -0
- package/node_modules/semver/functions/coerce.js +62 -0
- package/node_modules/semver/functions/compare-build.js +9 -0
- package/node_modules/semver/functions/compare-loose.js +5 -0
- package/node_modules/semver/functions/compare.js +7 -0
- package/node_modules/semver/functions/diff.js +60 -0
- package/node_modules/semver/functions/eq.js +5 -0
- package/node_modules/semver/functions/gt.js +5 -0
- package/node_modules/semver/functions/gte.js +5 -0
- package/node_modules/semver/functions/inc.js +21 -0
- package/node_modules/semver/functions/lt.js +5 -0
- package/node_modules/semver/functions/lte.js +5 -0
- package/node_modules/semver/functions/major.js +5 -0
- package/node_modules/semver/functions/minor.js +5 -0
- package/node_modules/semver/functions/neq.js +5 -0
- package/node_modules/semver/functions/parse.js +18 -0
- package/node_modules/semver/functions/patch.js +5 -0
- package/node_modules/semver/functions/prerelease.js +8 -0
- package/node_modules/semver/functions/rcompare.js +5 -0
- package/node_modules/semver/functions/rsort.js +5 -0
- package/node_modules/semver/functions/satisfies.js +12 -0
- package/node_modules/semver/functions/sort.js +5 -0
- package/node_modules/semver/functions/valid.js +8 -0
- package/node_modules/semver/index.js +91 -0
- package/node_modules/semver/internal/constants.js +37 -0
- package/node_modules/semver/internal/debug.js +11 -0
- package/node_modules/semver/internal/identifiers.js +29 -0
- package/node_modules/semver/internal/lrucache.js +42 -0
- package/node_modules/semver/internal/parse-options.js +17 -0
- package/node_modules/semver/internal/re.js +223 -0
- package/node_modules/semver/package.json +78 -0
- package/node_modules/semver/preload.js +4 -0
- package/node_modules/semver/range.bnf +16 -0
- package/node_modules/semver/ranges/gtr.js +6 -0
- package/node_modules/semver/ranges/intersects.js +9 -0
- package/node_modules/semver/ranges/ltr.js +6 -0
- package/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/node_modules/semver/ranges/min-version.js +63 -0
- package/node_modules/semver/ranges/outside.js +82 -0
- package/node_modules/semver/ranges/simplify.js +49 -0
- package/node_modules/semver/ranges/subset.js +249 -0
- package/node_modules/semver/ranges/to-comparators.js +10 -0
- package/node_modules/semver/ranges/valid.js +13 -0
- package/node_modules/simple-concat/.travis.yml +3 -0
- package/node_modules/simple-concat/LICENSE +20 -0
- package/node_modules/simple-concat/README.md +44 -0
- package/node_modules/simple-concat/index.js +15 -0
- package/node_modules/simple-concat/package.json +47 -0
- package/node_modules/simple-concat/test/basic.js +41 -0
- package/node_modules/simple-get/.github/dependabot.yml +15 -0
- package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
- package/node_modules/simple-get/LICENSE +20 -0
- package/node_modules/simple-get/README.md +333 -0
- package/node_modules/simple-get/index.js +108 -0
- package/node_modules/simple-get/package.json +67 -0
- package/node_modules/string_decoder/LICENSE +48 -0
- package/node_modules/string_decoder/README.md +47 -0
- package/node_modules/string_decoder/lib/string_decoder.js +296 -0
- package/node_modules/string_decoder/package.json +34 -0
- package/node_modules/strip-json-comments/index.js +70 -0
- package/node_modules/strip-json-comments/license +21 -0
- package/node_modules/strip-json-comments/package.json +42 -0
- package/node_modules/strip-json-comments/readme.md +64 -0
- package/node_modules/tar-fs/.travis.yml +6 -0
- package/node_modules/tar-fs/LICENSE +21 -0
- package/node_modules/tar-fs/README.md +165 -0
- package/node_modules/tar-fs/index.js +363 -0
- package/node_modules/tar-fs/package.json +41 -0
- package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
- package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
- package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
- package/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/node_modules/tar-fs/test/index.js +346 -0
- package/node_modules/tar-stream/LICENSE +21 -0
- package/node_modules/tar-stream/README.md +168 -0
- package/node_modules/tar-stream/extract.js +257 -0
- package/node_modules/tar-stream/headers.js +295 -0
- package/node_modules/tar-stream/index.js +2 -0
- package/node_modules/tar-stream/pack.js +255 -0
- package/node_modules/tar-stream/package.json +58 -0
- package/node_modules/tar-stream/sandbox.js +11 -0
- package/node_modules/tunnel-agent/LICENSE +55 -0
- package/node_modules/tunnel-agent/README.md +4 -0
- package/node_modules/tunnel-agent/index.js +244 -0
- package/node_modules/tunnel-agent/package.json +22 -0
- package/node_modules/util-deprecate/History.md +16 -0
- package/node_modules/util-deprecate/LICENSE +24 -0
- package/node_modules/util-deprecate/README.md +53 -0
- package/node_modules/util-deprecate/browser.js +67 -0
- package/node_modules/util-deprecate/node.js +6 -0
- package/node_modules/util-deprecate/package.json +27 -0
- package/package.json +2 -9
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
#include "keytar.h"
|
|
2
|
+
|
|
3
|
+
#define UNICODE
|
|
4
|
+
|
|
5
|
+
#include <windows.h>
|
|
6
|
+
#include <wincred.h>
|
|
7
|
+
|
|
8
|
+
#include "credentials.h"
|
|
9
|
+
|
|
10
|
+
namespace keytar {
|
|
11
|
+
|
|
12
|
+
LPWSTR utf8ToWideChar(std::string utf8) {
|
|
13
|
+
int wide_char_length = MultiByteToWideChar(CP_UTF8,
|
|
14
|
+
0,
|
|
15
|
+
utf8.c_str(),
|
|
16
|
+
-1,
|
|
17
|
+
NULL,
|
|
18
|
+
0);
|
|
19
|
+
if (wide_char_length == 0) {
|
|
20
|
+
return NULL;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
LPWSTR result = new WCHAR[wide_char_length];
|
|
24
|
+
if (MultiByteToWideChar(CP_UTF8,
|
|
25
|
+
0,
|
|
26
|
+
utf8.c_str(),
|
|
27
|
+
-1,
|
|
28
|
+
result,
|
|
29
|
+
wide_char_length) == 0) {
|
|
30
|
+
delete[] result;
|
|
31
|
+
return NULL;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
std::string wideCharToAnsi(LPWSTR wide_char) {
|
|
38
|
+
if (wide_char == NULL) {
|
|
39
|
+
return std::string();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
int ansi_length = WideCharToMultiByte(CP_ACP,
|
|
43
|
+
0,
|
|
44
|
+
wide_char,
|
|
45
|
+
-1,
|
|
46
|
+
NULL,
|
|
47
|
+
0,
|
|
48
|
+
NULL,
|
|
49
|
+
NULL);
|
|
50
|
+
if (ansi_length == 0) {
|
|
51
|
+
return std::string();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
char* buffer = new char[ansi_length];
|
|
55
|
+
if (WideCharToMultiByte(CP_ACP,
|
|
56
|
+
0,
|
|
57
|
+
wide_char,
|
|
58
|
+
-1,
|
|
59
|
+
buffer,
|
|
60
|
+
ansi_length,
|
|
61
|
+
NULL,
|
|
62
|
+
NULL) == 0) {
|
|
63
|
+
delete[] buffer;
|
|
64
|
+
return std::string();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
std::string result = std::string(buffer);
|
|
68
|
+
delete[] buffer;
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
std::string wideCharToUtf8(LPWSTR wide_char) {
|
|
73
|
+
if (wide_char == NULL) {
|
|
74
|
+
return std::string();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
int utf8_length = WideCharToMultiByte(CP_UTF8,
|
|
78
|
+
0,
|
|
79
|
+
wide_char,
|
|
80
|
+
-1,
|
|
81
|
+
NULL,
|
|
82
|
+
0,
|
|
83
|
+
NULL,
|
|
84
|
+
NULL);
|
|
85
|
+
if (utf8_length == 0) {
|
|
86
|
+
return std::string();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
char* buffer = new char[utf8_length];
|
|
90
|
+
if (WideCharToMultiByte(CP_UTF8,
|
|
91
|
+
0,
|
|
92
|
+
wide_char,
|
|
93
|
+
-1,
|
|
94
|
+
buffer,
|
|
95
|
+
utf8_length,
|
|
96
|
+
NULL,
|
|
97
|
+
NULL) == 0) {
|
|
98
|
+
delete[] buffer;
|
|
99
|
+
return std::string();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
std::string result = std::string(buffer);
|
|
103
|
+
delete[] buffer;
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
std::string getErrorMessage(DWORD errorCode) {
|
|
108
|
+
LPWSTR errBuffer;
|
|
109
|
+
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
|
|
110
|
+
NULL, errorCode, 0, (LPWSTR) &errBuffer, 0, NULL);
|
|
111
|
+
std::string errMsg = wideCharToAnsi(errBuffer);
|
|
112
|
+
LocalFree(errBuffer);
|
|
113
|
+
return errMsg;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
KEYTAR_OP_RESULT SetPassword(const std::string& service,
|
|
117
|
+
const std::string& account,
|
|
118
|
+
const std::string& password,
|
|
119
|
+
std::string* errStr) {
|
|
120
|
+
LPWSTR target_name = utf8ToWideChar(service + '/' + account);
|
|
121
|
+
if (target_name == NULL) {
|
|
122
|
+
return FAIL_ERROR;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
LPWSTR user_name = utf8ToWideChar(account);
|
|
126
|
+
if (user_name == NULL) {
|
|
127
|
+
return FAIL_ERROR;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
CREDENTIAL cred = { 0 };
|
|
131
|
+
cred.Type = CRED_TYPE_GENERIC;
|
|
132
|
+
cred.TargetName = target_name;
|
|
133
|
+
cred.UserName = user_name;
|
|
134
|
+
cred.CredentialBlobSize = password.size();
|
|
135
|
+
cred.CredentialBlob = (LPBYTE)(password.data());
|
|
136
|
+
cred.Persist = CRED_PERSIST_ENTERPRISE;
|
|
137
|
+
|
|
138
|
+
bool result = ::CredWrite(&cred, 0);
|
|
139
|
+
delete[] target_name;
|
|
140
|
+
if (!result) {
|
|
141
|
+
*errStr = getErrorMessage(::GetLastError());
|
|
142
|
+
return FAIL_ERROR;
|
|
143
|
+
} else {
|
|
144
|
+
return SUCCESS;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
KEYTAR_OP_RESULT GetPassword(const std::string& service,
|
|
149
|
+
const std::string& account,
|
|
150
|
+
std::string* password,
|
|
151
|
+
std::string* errStr) {
|
|
152
|
+
LPWSTR target_name = utf8ToWideChar(service + '/' + account);
|
|
153
|
+
if (target_name == NULL) {
|
|
154
|
+
return FAIL_ERROR;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
CREDENTIAL* cred;
|
|
158
|
+
bool result = ::CredRead(target_name, CRED_TYPE_GENERIC, 0, &cred);
|
|
159
|
+
delete[] target_name;
|
|
160
|
+
if (!result) {
|
|
161
|
+
DWORD code = ::GetLastError();
|
|
162
|
+
if (code == ERROR_NOT_FOUND) {
|
|
163
|
+
return FAIL_NONFATAL;
|
|
164
|
+
} else {
|
|
165
|
+
*errStr = getErrorMessage(code);
|
|
166
|
+
return FAIL_ERROR;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
*password = std::string(reinterpret_cast<char*>(cred->CredentialBlob),
|
|
171
|
+
cred->CredentialBlobSize);
|
|
172
|
+
::CredFree(cred);
|
|
173
|
+
return SUCCESS;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
KEYTAR_OP_RESULT DeletePassword(const std::string& service,
|
|
177
|
+
const std::string& account,
|
|
178
|
+
std::string* errStr) {
|
|
179
|
+
LPWSTR target_name = utf8ToWideChar(service + '/' + account);
|
|
180
|
+
if (target_name == NULL) {
|
|
181
|
+
return FAIL_ERROR;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
bool result = ::CredDelete(target_name, CRED_TYPE_GENERIC, 0);
|
|
185
|
+
delete[] target_name;
|
|
186
|
+
if (!result) {
|
|
187
|
+
DWORD code = ::GetLastError();
|
|
188
|
+
if (code == ERROR_NOT_FOUND) {
|
|
189
|
+
return FAIL_NONFATAL;
|
|
190
|
+
} else {
|
|
191
|
+
*errStr = getErrorMessage(code);
|
|
192
|
+
return FAIL_ERROR;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return SUCCESS;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
KEYTAR_OP_RESULT FindPassword(const std::string& service,
|
|
200
|
+
std::string* password,
|
|
201
|
+
std::string* errStr) {
|
|
202
|
+
LPWSTR filter = utf8ToWideChar(service + "*");
|
|
203
|
+
if (filter == NULL) {
|
|
204
|
+
return FAIL_ERROR;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
DWORD count;
|
|
208
|
+
CREDENTIAL** creds;
|
|
209
|
+
bool result = ::CredEnumerate(filter, 0, &count, &creds);
|
|
210
|
+
delete[] filter;
|
|
211
|
+
if (!result) {
|
|
212
|
+
DWORD code = ::GetLastError();
|
|
213
|
+
if (code == ERROR_NOT_FOUND) {
|
|
214
|
+
return FAIL_NONFATAL;
|
|
215
|
+
} else {
|
|
216
|
+
*errStr = getErrorMessage(code);
|
|
217
|
+
return FAIL_ERROR;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
*password = std::string(reinterpret_cast<char*>(creds[0]->CredentialBlob),
|
|
222
|
+
creds[0]->CredentialBlobSize);
|
|
223
|
+
::CredFree(creds);
|
|
224
|
+
return SUCCESS;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
KEYTAR_OP_RESULT FindCredentials(const std::string& service,
|
|
228
|
+
std::vector<Credentials>* credentials,
|
|
229
|
+
std::string* errStr) {
|
|
230
|
+
LPWSTR filter = utf8ToWideChar(service + "*");
|
|
231
|
+
if (filter == NULL) {
|
|
232
|
+
*errStr = "Error generating credential filter";
|
|
233
|
+
return FAIL_ERROR;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
DWORD count;
|
|
237
|
+
CREDENTIAL **creds;
|
|
238
|
+
|
|
239
|
+
bool result = ::CredEnumerate(filter, 0, &count, &creds);
|
|
240
|
+
if (!result) {
|
|
241
|
+
DWORD code = ::GetLastError();
|
|
242
|
+
if (code == ERROR_NOT_FOUND) {
|
|
243
|
+
return FAIL_NONFATAL;
|
|
244
|
+
} else {
|
|
245
|
+
*errStr = getErrorMessage(code);
|
|
246
|
+
return FAIL_ERROR;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
for (unsigned int i = 0; i < count; ++i) {
|
|
251
|
+
CREDENTIAL* cred = creds[i];
|
|
252
|
+
|
|
253
|
+
if (cred->UserName == NULL || cred->CredentialBlobSize == NULL) {
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
std::string login = wideCharToUtf8(cred->UserName);
|
|
258
|
+
std::string password(
|
|
259
|
+
reinterpret_cast<char*>(
|
|
260
|
+
cred->CredentialBlob),
|
|
261
|
+
cred->CredentialBlobSize);
|
|
262
|
+
|
|
263
|
+
credentials->push_back(Credentials(login, password));
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
CredFree(creds);
|
|
267
|
+
|
|
268
|
+
return SUCCESS;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
} // namespace keytar
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
#include "napi.h"
|
|
2
|
+
#include "async.h"
|
|
3
|
+
|
|
4
|
+
namespace {
|
|
5
|
+
|
|
6
|
+
Napi::Value SetPassword(const Napi::CallbackInfo& info) {
|
|
7
|
+
Napi::Env env = info.Env();
|
|
8
|
+
|
|
9
|
+
if (!info[0].IsString()) {
|
|
10
|
+
Napi::TypeError::New(env, "Parameter 'service' must be a string").
|
|
11
|
+
ThrowAsJavaScriptException();
|
|
12
|
+
return env.Null();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
std::string service = info[0].As<Napi::String>();
|
|
16
|
+
|
|
17
|
+
if (!info[1].IsString()) {
|
|
18
|
+
Napi::TypeError::New(env, "Parameter 'username' must be a string").
|
|
19
|
+
ThrowAsJavaScriptException();
|
|
20
|
+
return env.Null();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
std::string username = info[1].As<Napi::String>();
|
|
24
|
+
|
|
25
|
+
if (!info[2].IsString()) {
|
|
26
|
+
Napi::TypeError::New(env, "Parameter 'password' must be a string").
|
|
27
|
+
ThrowAsJavaScriptException();
|
|
28
|
+
return env.Null();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
std::string password = info[2].As<Napi::String>();
|
|
32
|
+
|
|
33
|
+
SetPasswordWorker* worker = new SetPasswordWorker(
|
|
34
|
+
service,
|
|
35
|
+
username,
|
|
36
|
+
password,
|
|
37
|
+
env);
|
|
38
|
+
worker->Queue();
|
|
39
|
+
return worker->Promise();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
Napi::Value GetPassword(const Napi::CallbackInfo& info) {
|
|
43
|
+
Napi::Env env = info.Env();
|
|
44
|
+
if (!info[0].IsString()) {
|
|
45
|
+
Napi::TypeError::New(env, "Parameter 'service' must be a string").
|
|
46
|
+
ThrowAsJavaScriptException();
|
|
47
|
+
return env.Null();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
std::string service = info[0].As<Napi::String>();
|
|
51
|
+
|
|
52
|
+
if (!info[1].IsString()) {
|
|
53
|
+
Napi::TypeError::New(env, "Parameter 'username' must be a string").
|
|
54
|
+
ThrowAsJavaScriptException();
|
|
55
|
+
return env.Null();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
std::string username = info[1].As<Napi::String>();
|
|
59
|
+
|
|
60
|
+
GetPasswordWorker* worker = new GetPasswordWorker(
|
|
61
|
+
service,
|
|
62
|
+
username,
|
|
63
|
+
env);
|
|
64
|
+
worker->Queue();
|
|
65
|
+
return worker->Promise();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
Napi::Value DeletePassword(const Napi::CallbackInfo& info) {
|
|
69
|
+
Napi::Env env = info.Env();
|
|
70
|
+
if (!info[0].IsString()) {
|
|
71
|
+
Napi::TypeError::New(env, "Parameter 'service' must be a string").
|
|
72
|
+
ThrowAsJavaScriptException();
|
|
73
|
+
return env.Null();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
std::string service = info[0].As<Napi::String>();
|
|
77
|
+
|
|
78
|
+
if (!info[1].IsString()) {
|
|
79
|
+
Napi::TypeError::New(env, "Parameter 'username' must be a string").
|
|
80
|
+
ThrowAsJavaScriptException();
|
|
81
|
+
return env.Null();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
std::string username = info[1].As<Napi::String>();
|
|
85
|
+
|
|
86
|
+
DeletePasswordWorker *worker = new DeletePasswordWorker(
|
|
87
|
+
service,
|
|
88
|
+
username,
|
|
89
|
+
env);
|
|
90
|
+
worker->Queue();
|
|
91
|
+
return worker->Promise();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
Napi::Value FindPassword(const Napi::CallbackInfo& info) {
|
|
95
|
+
Napi::Env env = info.Env();
|
|
96
|
+
if (!info[0].IsString()) {
|
|
97
|
+
Napi::TypeError::New(env, "Parameter 'service' must be a string").
|
|
98
|
+
ThrowAsJavaScriptException();
|
|
99
|
+
return env.Null();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
std::string service = info[0].As<Napi::String>();
|
|
103
|
+
|
|
104
|
+
FindPasswordWorker* worker = new FindPasswordWorker(
|
|
105
|
+
service,
|
|
106
|
+
env);
|
|
107
|
+
worker->Queue();
|
|
108
|
+
return worker->Promise();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
Napi::Value FindCredentials(const Napi::CallbackInfo& info) {
|
|
112
|
+
Napi::Env env = info.Env();
|
|
113
|
+
if (!info[0].IsString()) {
|
|
114
|
+
Napi::TypeError::New(env, "Parameter 'service' must be a string").
|
|
115
|
+
ThrowAsJavaScriptException();
|
|
116
|
+
return env.Null();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
std::string service = info[0].As<Napi::String>();
|
|
120
|
+
|
|
121
|
+
FindCredentialsWorker* worker = new FindCredentialsWorker(
|
|
122
|
+
service,
|
|
123
|
+
env);
|
|
124
|
+
worker->Queue();
|
|
125
|
+
return worker->Promise();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
Napi::Object Init(Napi::Env env, Napi::Object exports) {
|
|
129
|
+
exports.Set("getPassword", Napi::Function::New(env, GetPassword));
|
|
130
|
+
exports.Set("setPassword", Napi::Function::New(env, SetPassword));
|
|
131
|
+
exports.Set("deletePassword", Napi::Function::New(env, DeletePassword));
|
|
132
|
+
exports.Set("findPassword", Napi::Function::New(env, FindPassword));
|
|
133
|
+
exports.Set("findCredentials", Napi::Function::New(env, FindCredentials));
|
|
134
|
+
return exports;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
} // namespace
|
|
138
|
+
|
|
139
|
+
NODE_API_MODULE(keytar, Init)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {IncomingMessage} from 'http';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
|
|
5
|
+
|
|
6
|
+
Makes `toStream` include the properties from `fromStream`.
|
|
7
|
+
|
|
8
|
+
@param fromStream - The stream to copy the properties from.
|
|
9
|
+
@param toStream - The stream to copy the properties to.
|
|
10
|
+
@return The same object as `toStream`.
|
|
11
|
+
*/
|
|
12
|
+
declare function mimicResponse<T extends NodeJS.ReadableStream>(
|
|
13
|
+
fromStream: IncomingMessage, // eslint-disable-line @typescript-eslint/prefer-readonly-parameter-types
|
|
14
|
+
toStream: T,
|
|
15
|
+
): T & IncomingMessage;
|
|
16
|
+
|
|
17
|
+
export = mimicResponse;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// We define these manually to ensure they're always copied
|
|
4
|
+
// even if they would move up the prototype chain
|
|
5
|
+
// https://nodejs.org/api/http.html#http_class_http_incomingmessage
|
|
6
|
+
const knownProperties = [
|
|
7
|
+
'aborted',
|
|
8
|
+
'complete',
|
|
9
|
+
'headers',
|
|
10
|
+
'httpVersion',
|
|
11
|
+
'httpVersionMinor',
|
|
12
|
+
'httpVersionMajor',
|
|
13
|
+
'method',
|
|
14
|
+
'rawHeaders',
|
|
15
|
+
'rawTrailers',
|
|
16
|
+
'setTimeout',
|
|
17
|
+
'socket',
|
|
18
|
+
'statusCode',
|
|
19
|
+
'statusMessage',
|
|
20
|
+
'trailers',
|
|
21
|
+
'url'
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
module.exports = (fromStream, toStream) => {
|
|
25
|
+
if (toStream._readableState.autoDestroy) {
|
|
26
|
+
throw new Error('The second stream must have the `autoDestroy` option set to `false`');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const fromProperties = new Set(Object.keys(fromStream).concat(knownProperties));
|
|
30
|
+
|
|
31
|
+
const properties = {};
|
|
32
|
+
|
|
33
|
+
for (const property of fromProperties) {
|
|
34
|
+
// Don't overwrite existing properties.
|
|
35
|
+
if (property in toStream) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
properties[property] = {
|
|
40
|
+
get() {
|
|
41
|
+
const value = fromStream[property];
|
|
42
|
+
const isFunction = typeof value === 'function';
|
|
43
|
+
|
|
44
|
+
return isFunction ? value.bind(fromStream) : value;
|
|
45
|
+
},
|
|
46
|
+
set(value) {
|
|
47
|
+
fromStream[property] = value;
|
|
48
|
+
},
|
|
49
|
+
enumerable: true,
|
|
50
|
+
configurable: false
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
Object.defineProperties(toStream, properties);
|
|
55
|
+
|
|
56
|
+
fromStream.once('aborted', () => {
|
|
57
|
+
toStream.destroy();
|
|
58
|
+
|
|
59
|
+
toStream.emit('aborted');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
fromStream.once('close', () => {
|
|
63
|
+
if (fromStream.complete) {
|
|
64
|
+
if (toStream.readable) {
|
|
65
|
+
toStream.once('end', () => {
|
|
66
|
+
toStream.emit('close');
|
|
67
|
+
});
|
|
68
|
+
} else {
|
|
69
|
+
toStream.emit('close');
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
toStream.emit('close');
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
return toStream;
|
|
77
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mimic-response",
|
|
3
|
+
"version": "3.1.0",
|
|
4
|
+
"description": "Mimic a Node.js HTTP response stream",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": "sindresorhus/mimic-response",
|
|
7
|
+
"funding": "https://github.com/sponsors/sindresorhus",
|
|
8
|
+
"author": {
|
|
9
|
+
"name": "Sindre Sorhus",
|
|
10
|
+
"email": "sindresorhus@gmail.com",
|
|
11
|
+
"url": "https://sindresorhus.com"
|
|
12
|
+
},
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=10"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test": "xo && ava && tsd"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"index.d.ts",
|
|
21
|
+
"index.js"
|
|
22
|
+
],
|
|
23
|
+
"keywords": [
|
|
24
|
+
"mimic",
|
|
25
|
+
"response",
|
|
26
|
+
"stream",
|
|
27
|
+
"http",
|
|
28
|
+
"https",
|
|
29
|
+
"request",
|
|
30
|
+
"get",
|
|
31
|
+
"core"
|
|
32
|
+
],
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^14.0.1",
|
|
35
|
+
"ava": "^2.4.0",
|
|
36
|
+
"create-test-server": "^2.4.0",
|
|
37
|
+
"p-event": "^4.1.0",
|
|
38
|
+
"pify": "^5.0.0",
|
|
39
|
+
"tsd": "^0.11.0",
|
|
40
|
+
"xo": "^0.30.0"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# mimic-response [](https://travis-ci.com/sindresorhus/mimic-response)
|
|
2
|
+
|
|
3
|
+
> Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
$ npm install mimic-response
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
const stream = require('stream');
|
|
15
|
+
const mimicResponse = require('mimic-response');
|
|
16
|
+
|
|
17
|
+
const responseStream = getHttpResponseStream();
|
|
18
|
+
const myStream = new stream.PassThrough();
|
|
19
|
+
|
|
20
|
+
mimicResponse(responseStream, myStream);
|
|
21
|
+
|
|
22
|
+
console.log(myStream.statusCode);
|
|
23
|
+
//=> 200
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## API
|
|
27
|
+
|
|
28
|
+
### mimicResponse(from, to)
|
|
29
|
+
|
|
30
|
+
**Note #1:** The `from.destroy(error)` function is not proxied. You have to call it manually:
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
const stream = require('stream');
|
|
34
|
+
const mimicResponse = require('mimic-response');
|
|
35
|
+
|
|
36
|
+
const responseStream = getHttpResponseStream();
|
|
37
|
+
|
|
38
|
+
const myStream = new stream.PassThrough({
|
|
39
|
+
destroy(error, callback) {
|
|
40
|
+
responseStream.destroy();
|
|
41
|
+
|
|
42
|
+
callback(error);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
myStream.destroy();
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Please note that `myStream` and `responseStream` never throws. The error is passed to the request instead.
|
|
50
|
+
|
|
51
|
+
#### from
|
|
52
|
+
|
|
53
|
+
Type: `Stream`
|
|
54
|
+
|
|
55
|
+
[Node.js HTTP response stream.](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
|
|
56
|
+
|
|
57
|
+
#### to
|
|
58
|
+
|
|
59
|
+
Type: `Stream`
|
|
60
|
+
|
|
61
|
+
Any stream.
|
|
62
|
+
|
|
63
|
+
## Related
|
|
64
|
+
|
|
65
|
+
- [mimic-fn](https://github.com/sindresorhus/mimic-fn) - Make a function mimic another one
|
|
66
|
+
- [clone-response](https://github.com/lukechilds/clone-response) - Clone a Node.js response stream
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
<div align="center">
|
|
71
|
+
<b>
|
|
72
|
+
<a href="https://tidelift.com/subscription/pkg/npm-mimic-response?utm_source=npm-mimic-response&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
|
|
73
|
+
</b>
|
|
74
|
+
<br>
|
|
75
|
+
<sub>
|
|
76
|
+
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
|
|
77
|
+
</sub>
|
|
78
|
+
</div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
|
|
4
|
+
"extends": "@ljharb/eslint-config/node/0.4",
|
|
5
|
+
|
|
6
|
+
"rules": {
|
|
7
|
+
"array-element-newline": 0,
|
|
8
|
+
"complexity": 0,
|
|
9
|
+
"func-style": [2, "declaration"],
|
|
10
|
+
"max-lines-per-function": 0,
|
|
11
|
+
"max-nested-callbacks": 1,
|
|
12
|
+
"max-statements-per-line": 1,
|
|
13
|
+
"max-statements": 0,
|
|
14
|
+
"multiline-comment-style": 0,
|
|
15
|
+
"no-continue": 1,
|
|
16
|
+
"no-param-reassign": 1,
|
|
17
|
+
"no-restricted-syntax": 1,
|
|
18
|
+
"object-curly-newline": 0,
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
"overrides": [
|
|
22
|
+
{
|
|
23
|
+
"files": "test/**",
|
|
24
|
+
"rules": {
|
|
25
|
+
"camelcase": 0,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# These are supported funding model platforms
|
|
2
|
+
|
|
3
|
+
github: [ljharb]
|
|
4
|
+
patreon: # Replace with a single Patreon username
|
|
5
|
+
open_collective: # Replace with a single Open Collective username
|
|
6
|
+
ko_fi: # Replace with a single Ko-fi username
|
|
7
|
+
tidelift: npm/minimist
|
|
8
|
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
9
|
+
liberapay: # Replace with a single Liberapay username
|
|
10
|
+
issuehunt: # Replace with a single IssueHunt username
|
|
11
|
+
otechie: # Replace with a single Otechie username
|
|
12
|
+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|