@quantiya/codevibe-claude-plugin 1.0.11 → 1.0.13
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/dist/server.js +16 -1162
- package/package.json +5 -5
- package/dist/appsync-client.js +0 -858
- package/dist/auth-cli.js +0 -472
- package/dist/command-executor.js +0 -127
- package/dist/config.js +0 -106
- package/dist/crypto-service.js +0 -278
- package/dist/http-api.js +0 -334
- package/dist/key-manager.js +0 -287
- package/dist/logger.js +0 -18
- package/dist/prompt-responder.js +0 -132
- package/dist/token-storage.js +0 -169
- package/dist/types.js +0 -17
- package/node_modules/@quantiya/codevibe-core/README.md +0 -170
- package/node_modules/@quantiya/codevibe-core/bin/codevibe.js +0 -7
- package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +0 -132
- package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.js +0 -576
- package/node_modules/@quantiya/codevibe-core/dist/appsync/index.d.ts +0 -2
- package/node_modules/@quantiya/codevibe-core/dist/appsync/index.js +0 -10
- package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +0 -16
- package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.js +0 -189
- package/node_modules/@quantiya/codevibe-core/dist/auth/auth-cli.d.ts +0 -5
- package/node_modules/@quantiya/codevibe-core/dist/auth/auth-cli.js +0 -217
- package/node_modules/@quantiya/codevibe-core/dist/auth/auth-service.d.ts +0 -87
- package/node_modules/@quantiya/codevibe-core/dist/auth/auth-service.js +0 -464
- package/node_modules/@quantiya/codevibe-core/dist/auth/fetch-helpers.d.ts +0 -11
- package/node_modules/@quantiya/codevibe-core/dist/auth/fetch-helpers.js +0 -165
- package/node_modules/@quantiya/codevibe-core/dist/auth/index.d.ts +0 -2
- package/node_modules/@quantiya/codevibe-core/dist/auth/index.js +0 -9
- package/node_modules/@quantiya/codevibe-core/dist/config/config.d.ts +0 -53
- package/node_modules/@quantiya/codevibe-core/dist/config/config.js +0 -123
- package/node_modules/@quantiya/codevibe-core/dist/config/index.d.ts +0 -2
- package/node_modules/@quantiya/codevibe-core/dist/config/index.js +0 -8
- package/node_modules/@quantiya/codevibe-core/dist/crypto/crypto-service.d.ts +0 -118
- package/node_modules/@quantiya/codevibe-core/dist/crypto/crypto-service.js +0 -284
- package/node_modules/@quantiya/codevibe-core/dist/crypto/index.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/crypto/index.js +0 -9
- package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +0 -14
- package/node_modules/@quantiya/codevibe-core/dist/index.js +0 -68
- package/node_modules/@quantiya/codevibe-core/dist/keychain/index.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/keychain/index.js +0 -8
- package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.d.ts +0 -125
- package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.js +0 -375
- package/node_modules/@quantiya/codevibe-core/dist/logger/index.d.ts +0 -1
- package/node_modules/@quantiya/codevibe-core/dist/logger/index.js +0 -8
- package/node_modules/@quantiya/codevibe-core/dist/logger/logger.d.ts +0 -35
- package/node_modules/@quantiya/codevibe-core/dist/logger/logger.js +0 -142
- package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.d.ts +0 -39
- package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.js +0 -236
- package/node_modules/@quantiya/codevibe-core/dist/session/index.d.ts +0 -2
- package/node_modules/@quantiya/codevibe-core/dist/session/index.js +0 -7
- package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.d.ts +0 -55
- package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.js +0 -151
- package/node_modules/@quantiya/codevibe-core/dist/types/auth.d.ts +0 -15
- package/node_modules/@quantiya/codevibe-core/dist/types/auth.js +0 -3
- package/node_modules/@quantiya/codevibe-core/dist/types/encryption.d.ts +0 -54
- package/node_modules/@quantiya/codevibe-core/dist/types/encryption.js +0 -3
- package/node_modules/@quantiya/codevibe-core/dist/types/events.d.ts +0 -74
- package/node_modules/@quantiya/codevibe-core/dist/types/events.js +0 -28
- package/node_modules/@quantiya/codevibe-core/dist/types/index.d.ts +0 -4
- package/node_modules/@quantiya/codevibe-core/dist/types/index.js +0 -22
- package/node_modules/@quantiya/codevibe-core/dist/types/session.d.ts +0 -59
- package/node_modules/@quantiya/codevibe-core/dist/types/session.js +0 -22
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CHANGELOG.md +0 -274
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CONTRIBUTING.md +0 -18
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/LICENSE.md +0 -9
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/README.md +0 -466
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/bin/uuid +0 -2
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/index.js +0 -79
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/md5.js +0 -223
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/native.js +0 -11
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/nil.js +0 -8
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/parse.js +0 -45
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/regex.js +0 -8
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/rng.js +0 -25
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/sha1.js +0 -104
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/stringify.js +0 -44
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v1.js +0 -107
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v3.js +0 -16
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v35.js +0 -80
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v4.js +0 -43
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v5.js +0 -16
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/validate.js +0 -17
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/version.js +0 -21
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/index.js +0 -9
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/md5.js +0 -215
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/native.js +0 -4
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/nil.js +0 -1
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/parse.js +0 -35
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/regex.js +0 -1
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/rng.js +0 -18
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/sha1.js +0 -96
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/stringify.js +0 -33
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1.js +0 -95
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v3.js +0 -4
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v35.js +0 -66
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v4.js +0 -29
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v5.js +0 -4
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/validate.js +0 -7
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/version.js +0 -11
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/index.js +0 -9
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/md5.js +0 -13
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/native.js +0 -4
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/nil.js +0 -1
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/parse.js +0 -35
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/regex.js +0 -1
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/rng.js +0 -12
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/sha1.js +0 -13
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/stringify.js +0 -33
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v1.js +0 -95
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v3.js +0 -4
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v35.js +0 -66
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v4.js +0 -29
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v5.js +0 -4
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/validate.js +0 -7
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/version.js +0 -11
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/index.js +0 -79
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5-browser.js +0 -223
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5.js +0 -23
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native-browser.js +0 -11
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native.js +0 -15
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/nil.js +0 -8
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/parse.js +0 -45
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/regex.js +0 -8
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng-browser.js +0 -25
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng.js +0 -24
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1-browser.js +0 -104
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1.js +0 -23
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/stringify.js +0 -44
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/uuid-bin.js +0 -85
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v1.js +0 -107
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v3.js +0 -16
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v35.js +0 -80
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v4.js +0 -43
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v5.js +0 -16
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/validate.js +0 -17
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/version.js +0 -21
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/package.json +0 -135
- package/node_modules/@quantiya/codevibe-core/node_modules/uuid/wrapper.mjs +0 -10
- package/node_modules/@quantiya/codevibe-core/package.json +0 -51
- package/node_modules/base64-js/LICENSE +0 -21
- package/node_modules/base64-js/README.md +0 -34
- package/node_modules/base64-js/base64js.min.js +0 -1
- package/node_modules/base64-js/index.d.ts +0 -3
- package/node_modules/base64-js/index.js +0 -150
- package/node_modules/base64-js/package.json +0 -47
- package/node_modules/bl/.travis.yml +0 -17
- package/node_modules/bl/BufferList.js +0 -396
- package/node_modules/bl/LICENSE.md +0 -13
- package/node_modules/bl/README.md +0 -247
- package/node_modules/bl/bl.js +0 -84
- package/node_modules/bl/package.json +0 -37
- package/node_modules/bl/test/convert.js +0 -21
- package/node_modules/bl/test/indexOf.js +0 -492
- package/node_modules/bl/test/isBufferList.js +0 -32
- package/node_modules/bl/test/test.js +0 -869
- package/node_modules/buffer/AUTHORS.md +0 -70
- package/node_modules/buffer/LICENSE +0 -21
- package/node_modules/buffer/README.md +0 -410
- package/node_modules/buffer/index.d.ts +0 -186
- package/node_modules/buffer/index.js +0 -1817
- package/node_modules/buffer/package.json +0 -96
- package/node_modules/chownr/LICENSE +0 -15
- package/node_modules/chownr/README.md +0 -3
- package/node_modules/chownr/chownr.js +0 -167
- package/node_modules/chownr/package.json +0 -29
- package/node_modules/decompress-response/index.d.ts +0 -22
- package/node_modules/decompress-response/index.js +0 -58
- package/node_modules/decompress-response/license +0 -9
- package/node_modules/decompress-response/package.json +0 -56
- package/node_modules/decompress-response/readme.md +0 -48
- package/node_modules/deep-extend/CHANGELOG.md +0 -46
- package/node_modules/deep-extend/LICENSE +0 -20
- package/node_modules/deep-extend/README.md +0 -91
- package/node_modules/deep-extend/index.js +0 -1
- package/node_modules/deep-extend/lib/deep-extend.js +0 -150
- package/node_modules/deep-extend/package.json +0 -62
- package/node_modules/detect-libc/LICENSE +0 -201
- package/node_modules/detect-libc/README.md +0 -163
- package/node_modules/detect-libc/index.d.ts +0 -14
- package/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/node_modules/detect-libc/lib/elf.js +0 -39
- package/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/node_modules/detect-libc/lib/process.js +0 -24
- package/node_modules/detect-libc/package.json +0 -44
- package/node_modules/end-of-stream/LICENSE +0 -21
- package/node_modules/end-of-stream/README.md +0 -54
- package/node_modules/end-of-stream/index.js +0 -96
- package/node_modules/end-of-stream/package.json +0 -37
- package/node_modules/expand-template/.travis.yml +0 -6
- package/node_modules/expand-template/LICENSE +0 -21
- package/node_modules/expand-template/README.md +0 -43
- package/node_modules/expand-template/index.js +0 -26
- package/node_modules/expand-template/package.json +0 -29
- package/node_modules/expand-template/test.js +0 -67
- package/node_modules/fs-constants/LICENSE +0 -21
- package/node_modules/fs-constants/README.md +0 -26
- package/node_modules/fs-constants/browser.js +0 -1
- package/node_modules/fs-constants/index.js +0 -1
- package/node_modules/fs-constants/package.json +0 -19
- package/node_modules/github-from-package/.travis.yml +0 -4
- package/node_modules/github-from-package/LICENSE +0 -18
- package/node_modules/github-from-package/example/package.json +0 -8
- package/node_modules/github-from-package/example/url.js +0 -3
- package/node_modules/github-from-package/index.js +0 -17
- package/node_modules/github-from-package/package.json +0 -30
- package/node_modules/github-from-package/readme.markdown +0 -53
- package/node_modules/github-from-package/test/a.json +0 -8
- package/node_modules/github-from-package/test/b.json +0 -5
- package/node_modules/github-from-package/test/c.json +0 -5
- package/node_modules/github-from-package/test/d.json +0 -7
- package/node_modules/github-from-package/test/e.json +0 -5
- package/node_modules/github-from-package/test/url.js +0 -19
- package/node_modules/ieee754/LICENSE +0 -11
- package/node_modules/ieee754/README.md +0 -51
- package/node_modules/ieee754/index.d.ts +0 -10
- package/node_modules/ieee754/index.js +0 -85
- package/node_modules/ieee754/package.json +0 -52
- package/node_modules/ini/LICENSE +0 -15
- package/node_modules/ini/README.md +0 -102
- package/node_modules/ini/ini.js +0 -206
- package/node_modules/ini/package.json +0 -33
- package/node_modules/keytar/LICENSE.md +0 -20
- package/node_modules/keytar/README.md +0 -94
- package/node_modules/keytar/binding.gyp +0 -66
- package/node_modules/keytar/build/Release/keytar.node +0 -0
- package/node_modules/keytar/keytar.d.ts +0 -51
- package/node_modules/keytar/lib/keytar.js +0 -43
- package/node_modules/keytar/package.json +0 -66
- package/node_modules/keytar/src/async.cc +0 -242
- package/node_modules/keytar/src/async.h +0 -103
- package/node_modules/keytar/src/credentials.h +0 -13
- package/node_modules/keytar/src/keytar.h +0 -41
- package/node_modules/keytar/src/keytar_mac.cc +0 -296
- package/node_modules/keytar/src/keytar_posix.cc +0 -184
- package/node_modules/keytar/src/keytar_win.cc +0 -272
- package/node_modules/keytar/src/main.cc +0 -139
- package/node_modules/mimic-response/index.d.ts +0 -17
- package/node_modules/mimic-response/index.js +0 -77
- package/node_modules/mimic-response/license +0 -9
- package/node_modules/mimic-response/package.json +0 -42
- package/node_modules/mimic-response/readme.md +0 -78
- package/node_modules/minimist/.eslintrc +0 -29
- package/node_modules/minimist/.github/FUNDING.yml +0 -12
- package/node_modules/minimist/.nycrc +0 -14
- package/node_modules/minimist/CHANGELOG.md +0 -298
- package/node_modules/minimist/LICENSE +0 -18
- package/node_modules/minimist/README.md +0 -121
- package/node_modules/minimist/example/parse.js +0 -4
- package/node_modules/minimist/index.js +0 -263
- package/node_modules/minimist/package.json +0 -75
- package/node_modules/minimist/test/all_bool.js +0 -34
- package/node_modules/minimist/test/bool.js +0 -177
- package/node_modules/minimist/test/dash.js +0 -43
- package/node_modules/minimist/test/default_bool.js +0 -37
- package/node_modules/minimist/test/dotted.js +0 -24
- package/node_modules/minimist/test/kv_short.js +0 -32
- package/node_modules/minimist/test/long.js +0 -33
- package/node_modules/minimist/test/num.js +0 -38
- package/node_modules/minimist/test/parse.js +0 -209
- package/node_modules/minimist/test/parse_modified.js +0 -11
- package/node_modules/minimist/test/proto.js +0 -64
- package/node_modules/minimist/test/short.js +0 -69
- package/node_modules/minimist/test/stop_early.js +0 -17
- package/node_modules/minimist/test/unknown.js +0 -104
- package/node_modules/minimist/test/whitespace.js +0 -10
- package/node_modules/mkdirp-classic/LICENSE +0 -21
- package/node_modules/mkdirp-classic/README.md +0 -18
- package/node_modules/mkdirp-classic/index.js +0 -98
- package/node_modules/mkdirp-classic/package.json +0 -18
- package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
- package/node_modules/napi-build-utils/LICENSE +0 -21
- package/node_modules/napi-build-utils/README.md +0 -52
- package/node_modules/napi-build-utils/index.js +0 -214
- package/node_modules/napi-build-utils/index.md +0 -0
- package/node_modules/napi-build-utils/package.json +0 -42
- package/node_modules/node-abi/LICENSE +0 -21
- package/node_modules/node-abi/README.md +0 -54
- package/node_modules/node-abi/abi_registry.json +0 -432
- package/node_modules/node-abi/index.js +0 -179
- package/node_modules/node-abi/package.json +0 -45
- package/node_modules/node-addon-api/LICENSE.md +0 -13
- package/node_modules/node-addon-api/README.md +0 -293
- package/node_modules/node-addon-api/common.gypi +0 -21
- package/node_modules/node-addon-api/except.gypi +0 -25
- package/node_modules/node-addon-api/index.js +0 -11
- package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -192
- package/node_modules/node-addon-api/napi-inl.h +0 -6209
- package/node_modules/node-addon-api/napi.h +0 -2983
- package/node_modules/node-addon-api/node_api.gyp +0 -9
- package/node_modules/node-addon-api/noexcept.gypi +0 -26
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +0 -21
- package/node_modules/node-addon-api/package.json +0 -399
- package/node_modules/node-addon-api/tools/README.md +0 -73
- package/node_modules/node-addon-api/tools/check-napi.js +0 -100
- package/node_modules/node-addon-api/tools/clang-format.js +0 -68
- package/node_modules/node-addon-api/tools/conversion.js +0 -309
- package/node_modules/node-addon-api/tools/eslint-format.js +0 -71
- package/node_modules/prebuild-install/CHANGELOG.md +0 -131
- package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
- package/node_modules/prebuild-install/LICENSE +0 -21
- package/node_modules/prebuild-install/README.md +0 -163
- package/node_modules/prebuild-install/asset.js +0 -44
- package/node_modules/prebuild-install/bin.js +0 -78
- package/node_modules/prebuild-install/download.js +0 -142
- package/node_modules/prebuild-install/error.js +0 -14
- package/node_modules/prebuild-install/help.txt +0 -16
- package/node_modules/prebuild-install/index.js +0 -1
- package/node_modules/prebuild-install/log.js +0 -33
- package/node_modules/prebuild-install/package.json +0 -67
- package/node_modules/prebuild-install/proxy.js +0 -35
- package/node_modules/prebuild-install/rc.js +0 -64
- package/node_modules/prebuild-install/util.js +0 -143
- package/node_modules/pump/.github/FUNDING.yml +0 -2
- package/node_modules/pump/.travis.yml +0 -5
- package/node_modules/pump/LICENSE +0 -21
- package/node_modules/pump/README.md +0 -74
- package/node_modules/pump/SECURITY.md +0 -5
- package/node_modules/pump/empty.js +0 -1
- package/node_modules/pump/index.js +0 -86
- package/node_modules/pump/package.json +0 -30
- package/node_modules/pump/test-browser.js +0 -66
- package/node_modules/pump/test-node.js +0 -53
- package/node_modules/rc/LICENSE.APACHE2 +0 -15
- package/node_modules/rc/LICENSE.BSD +0 -26
- package/node_modules/rc/LICENSE.MIT +0 -24
- package/node_modules/rc/README.md +0 -227
- package/node_modules/rc/browser.js +0 -7
- package/node_modules/rc/cli.js +0 -4
- package/node_modules/rc/index.js +0 -53
- package/node_modules/rc/lib/utils.js +0 -104
- package/node_modules/rc/package.json +0 -29
- package/node_modules/rc/test/ini.js +0 -16
- package/node_modules/rc/test/nested-env-vars.js +0 -50
- package/node_modules/rc/test/test.js +0 -59
- package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/readable-stream/LICENSE +0 -47
- package/node_modules/readable-stream/README.md +0 -106
- package/node_modules/readable-stream/errors-browser.js +0 -127
- package/node_modules/readable-stream/errors.js +0 -116
- package/node_modules/readable-stream/experimentalWarning.js +0 -17
- package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
- package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
- package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
- package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
- package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
- package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
- package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
- package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
- package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/readable-stream/package.json +0 -68
- package/node_modules/readable-stream/readable-browser.js +0 -9
- package/node_modules/readable-stream/readable.js +0 -16
- package/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/safe-buffer/index.js +0 -65
- package/node_modules/safe-buffer/package.json +0 -51
- package/node_modules/semver/LICENSE +0 -15
- package/node_modules/semver/README.md +0 -665
- package/node_modules/semver/bin/semver.js +0 -191
- package/node_modules/semver/classes/comparator.js +0 -143
- package/node_modules/semver/classes/index.js +0 -7
- package/node_modules/semver/classes/range.js +0 -557
- package/node_modules/semver/classes/semver.js +0 -333
- package/node_modules/semver/functions/clean.js +0 -8
- package/node_modules/semver/functions/cmp.js +0 -54
- package/node_modules/semver/functions/coerce.js +0 -62
- package/node_modules/semver/functions/compare-build.js +0 -9
- package/node_modules/semver/functions/compare-loose.js +0 -5
- package/node_modules/semver/functions/compare.js +0 -7
- package/node_modules/semver/functions/diff.js +0 -60
- package/node_modules/semver/functions/eq.js +0 -5
- package/node_modules/semver/functions/gt.js +0 -5
- package/node_modules/semver/functions/gte.js +0 -5
- package/node_modules/semver/functions/inc.js +0 -21
- package/node_modules/semver/functions/lt.js +0 -5
- package/node_modules/semver/functions/lte.js +0 -5
- package/node_modules/semver/functions/major.js +0 -5
- package/node_modules/semver/functions/minor.js +0 -5
- package/node_modules/semver/functions/neq.js +0 -5
- package/node_modules/semver/functions/parse.js +0 -18
- package/node_modules/semver/functions/patch.js +0 -5
- package/node_modules/semver/functions/prerelease.js +0 -8
- package/node_modules/semver/functions/rcompare.js +0 -5
- package/node_modules/semver/functions/rsort.js +0 -5
- package/node_modules/semver/functions/satisfies.js +0 -12
- package/node_modules/semver/functions/sort.js +0 -5
- package/node_modules/semver/functions/valid.js +0 -8
- package/node_modules/semver/index.js +0 -91
- package/node_modules/semver/internal/constants.js +0 -37
- package/node_modules/semver/internal/debug.js +0 -11
- package/node_modules/semver/internal/identifiers.js +0 -29
- package/node_modules/semver/internal/lrucache.js +0 -42
- package/node_modules/semver/internal/parse-options.js +0 -17
- package/node_modules/semver/internal/re.js +0 -223
- package/node_modules/semver/package.json +0 -78
- package/node_modules/semver/preload.js +0 -4
- package/node_modules/semver/range.bnf +0 -16
- package/node_modules/semver/ranges/gtr.js +0 -6
- package/node_modules/semver/ranges/intersects.js +0 -9
- package/node_modules/semver/ranges/ltr.js +0 -6
- package/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/node_modules/semver/ranges/min-version.js +0 -63
- package/node_modules/semver/ranges/outside.js +0 -82
- package/node_modules/semver/ranges/simplify.js +0 -49
- package/node_modules/semver/ranges/subset.js +0 -249
- package/node_modules/semver/ranges/to-comparators.js +0 -10
- package/node_modules/semver/ranges/valid.js +0 -13
- package/node_modules/simple-concat/.travis.yml +0 -3
- package/node_modules/simple-concat/LICENSE +0 -20
- package/node_modules/simple-concat/README.md +0 -44
- package/node_modules/simple-concat/index.js +0 -15
- package/node_modules/simple-concat/package.json +0 -47
- package/node_modules/simple-concat/test/basic.js +0 -41
- package/node_modules/simple-get/.github/dependabot.yml +0 -15
- package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
- package/node_modules/simple-get/LICENSE +0 -20
- package/node_modules/simple-get/README.md +0 -333
- package/node_modules/simple-get/index.js +0 -108
- package/node_modules/simple-get/package.json +0 -67
- package/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/string_decoder/README.md +0 -47
- package/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/string_decoder/package.json +0 -34
- package/node_modules/strip-json-comments/index.js +0 -70
- package/node_modules/strip-json-comments/license +0 -21
- package/node_modules/strip-json-comments/package.json +0 -42
- package/node_modules/strip-json-comments/readme.md +0 -64
- package/node_modules/tar-fs/.travis.yml +0 -6
- package/node_modules/tar-fs/LICENSE +0 -21
- package/node_modules/tar-fs/README.md +0 -165
- package/node_modules/tar-fs/index.js +0 -363
- package/node_modules/tar-fs/package.json +0 -41
- package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
- package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
- 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 +0 -346
- package/node_modules/tar-stream/LICENSE +0 -21
- package/node_modules/tar-stream/README.md +0 -168
- package/node_modules/tar-stream/extract.js +0 -257
- package/node_modules/tar-stream/headers.js +0 -295
- package/node_modules/tar-stream/index.js +0 -2
- package/node_modules/tar-stream/pack.js +0 -255
- package/node_modules/tar-stream/package.json +0 -58
- package/node_modules/tar-stream/sandbox.js +0 -11
- package/node_modules/tunnel-agent/LICENSE +0 -55
- package/node_modules/tunnel-agent/README.md +0 -4
- package/node_modules/tunnel-agent/index.js +0 -244
- package/node_modules/tunnel-agent/package.json +0 -22
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/util-deprecate/LICENSE +0 -24
- package/node_modules/util-deprecate/README.md +0 -53
- package/node_modules/util-deprecate/browser.js +0 -67
- package/node_modules/util-deprecate/node.js +0 -6
- package/node_modules/util-deprecate/package.json +0 -27
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// crypto-service.ts
|
|
4
|
-
// CodeVibe Core
|
|
5
|
-
//
|
|
6
|
-
// End-to-end encryption service using ECDH P-256 and AES-256-GCM
|
|
7
|
-
//
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.cryptoService = exports.CryptoService = exports.ENCRYPTION_VERSION = exports.CryptoError = void 0;
|
|
43
|
-
const crypto = __importStar(require("crypto"));
|
|
44
|
-
/**
|
|
45
|
-
* Error class for cryptographic operations
|
|
46
|
-
*/
|
|
47
|
-
class CryptoError extends Error {
|
|
48
|
-
constructor(message) {
|
|
49
|
-
super(message);
|
|
50
|
-
this.name = 'CryptoError';
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.CryptoError = CryptoError;
|
|
54
|
-
/**
|
|
55
|
-
* Current encryption version for future algorithm upgrades
|
|
56
|
-
*/
|
|
57
|
-
exports.ENCRYPTION_VERSION = 1;
|
|
58
|
-
/**
|
|
59
|
-
* HKDF info string for key derivation
|
|
60
|
-
*/
|
|
61
|
-
const HKDF_INFO = 'CodeVibe E2E v1';
|
|
62
|
-
/**
|
|
63
|
-
* Service for end-to-end encryption operations
|
|
64
|
-
*/
|
|
65
|
-
class CryptoService {
|
|
66
|
-
constructor() { }
|
|
67
|
-
static getInstance() {
|
|
68
|
-
if (!CryptoService.instance) {
|
|
69
|
-
CryptoService.instance = new CryptoService();
|
|
70
|
-
}
|
|
71
|
-
return CryptoService.instance;
|
|
72
|
-
}
|
|
73
|
-
// MARK: - Key Generation
|
|
74
|
-
/**
|
|
75
|
-
* Generate a new ECDH P-256 key pair
|
|
76
|
-
* @returns Object with privateKey (base64), publicKey (base64 raw)
|
|
77
|
-
*/
|
|
78
|
-
generateKeyPair() {
|
|
79
|
-
const ecdh = crypto.createECDH('prime256v1');
|
|
80
|
-
ecdh.generateKeys();
|
|
81
|
-
// Get raw public key (uncompressed format without 0x04 prefix for compatibility)
|
|
82
|
-
const publicKeyRaw = ecdh.getPublicKey();
|
|
83
|
-
const publicKeyBase64 = publicKeyRaw.subarray(1).toString('base64'); // Skip 0x04 prefix
|
|
84
|
-
// Get private key as raw bytes
|
|
85
|
-
const privateKeyRaw = ecdh.getPrivateKey();
|
|
86
|
-
const privateKeyBase64 = privateKeyRaw.toString('base64');
|
|
87
|
-
return {
|
|
88
|
-
privateKey: privateKeyBase64,
|
|
89
|
-
publicKey: publicKeyBase64,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Generate a random 256-bit session key
|
|
94
|
-
* @returns Base64-encoded session key
|
|
95
|
-
*/
|
|
96
|
-
generateSessionKey() {
|
|
97
|
-
const keyData = crypto.randomBytes(32); // 256 bits
|
|
98
|
-
return keyData.toString('base64');
|
|
99
|
-
}
|
|
100
|
-
// MARK: - Key Derivation
|
|
101
|
-
/**
|
|
102
|
-
* Derive a shared secret using ECDH and HKDF
|
|
103
|
-
* @param privateKeyBase64 Our private key (base64)
|
|
104
|
-
* @param publicKeyBase64 Other party's public key (base64)
|
|
105
|
-
* @returns 256-bit derived key as Buffer
|
|
106
|
-
*/
|
|
107
|
-
deriveSharedKey(privateKeyBase64, publicKeyBase64) {
|
|
108
|
-
try {
|
|
109
|
-
const ecdh = crypto.createECDH('prime256v1');
|
|
110
|
-
const privateKeyRaw = Buffer.from(privateKeyBase64, 'base64');
|
|
111
|
-
ecdh.setPrivateKey(privateKeyRaw);
|
|
112
|
-
// Add 0x04 prefix for uncompressed public key format
|
|
113
|
-
const publicKeyRaw = Buffer.concat([
|
|
114
|
-
Buffer.from([0x04]),
|
|
115
|
-
Buffer.from(publicKeyBase64, 'base64'),
|
|
116
|
-
]);
|
|
117
|
-
const sharedSecret = ecdh.computeSecret(publicKeyRaw);
|
|
118
|
-
// Derive key using HKDF-SHA256
|
|
119
|
-
const derivedKey = crypto.hkdfSync('sha256', sharedSecret, Buffer.alloc(0), // Empty salt
|
|
120
|
-
Buffer.from(HKDF_INFO, 'utf8'), 32 // 256 bits
|
|
121
|
-
);
|
|
122
|
-
return Buffer.from(derivedKey);
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
throw new CryptoError(`Failed to derive shared key: ${error}`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// MARK: - Session Key Encryption
|
|
129
|
-
/**
|
|
130
|
-
* Encrypt a session key for a target device using ECDH
|
|
131
|
-
* @param sessionKeyBase64 The session key to encrypt (base64)
|
|
132
|
-
* @param targetPublicKeyBase64 Target device's public key (base64)
|
|
133
|
-
* @returns EncryptedSessionKey containing encrypted key and ephemeral public key
|
|
134
|
-
*/
|
|
135
|
-
encryptSessionKey(sessionKeyBase64, targetPublicKeyBase64) {
|
|
136
|
-
// Generate ephemeral key pair for this encryption
|
|
137
|
-
const ephemeralKeyPair = this.generateKeyPair();
|
|
138
|
-
// Derive shared key using ephemeral private + target public
|
|
139
|
-
const sharedKey = this.deriveSharedKey(ephemeralKeyPair.privateKey, targetPublicKeyBase64);
|
|
140
|
-
// Encrypt session key with derived key
|
|
141
|
-
const sessionKeyData = Buffer.from(sessionKeyBase64, 'base64');
|
|
142
|
-
const encryptedData = this.encrypt(sessionKeyData, sharedKey);
|
|
143
|
-
return {
|
|
144
|
-
encryptedKey: encryptedData.toString('base64'),
|
|
145
|
-
ephemeralPublicKey: ephemeralKeyPair.publicKey,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Decrypt a session key using our private key
|
|
150
|
-
* @param encryptedSessionKey The encrypted session key data
|
|
151
|
-
* @param privateKeyBase64 Our device's private key (base64)
|
|
152
|
-
* @returns Decrypted session key (base64)
|
|
153
|
-
*/
|
|
154
|
-
decryptSessionKey(encryptedSessionKey, privateKeyBase64) {
|
|
155
|
-
// Derive shared key using our private + ephemeral public
|
|
156
|
-
const sharedKey = this.deriveSharedKey(privateKeyBase64, encryptedSessionKey.ephemeralPublicKey);
|
|
157
|
-
// Decrypt session key
|
|
158
|
-
const encryptedData = Buffer.from(encryptedSessionKey.encryptedKey, 'base64');
|
|
159
|
-
const decryptedData = this.decrypt(encryptedData, sharedKey);
|
|
160
|
-
return decryptedData.toString('base64');
|
|
161
|
-
}
|
|
162
|
-
// MARK: - Content Encryption/Decryption
|
|
163
|
-
/**
|
|
164
|
-
* Encrypt content using AES-256-GCM
|
|
165
|
-
* @param content String content to encrypt
|
|
166
|
-
* @param sessionKeyBase64 Session key (base64)
|
|
167
|
-
* @returns Base64-encoded ciphertext (nonce + ciphertext + tag)
|
|
168
|
-
*/
|
|
169
|
-
encryptContent(content, sessionKeyBase64) {
|
|
170
|
-
const sessionKey = Buffer.from(sessionKeyBase64, 'base64');
|
|
171
|
-
const contentData = Buffer.from(content, 'utf8');
|
|
172
|
-
const encryptedData = this.encrypt(contentData, sessionKey);
|
|
173
|
-
return encryptedData.toString('base64');
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Decrypt content using AES-256-GCM
|
|
177
|
-
* @param encryptedContent Base64-encoded ciphertext
|
|
178
|
-
* @param sessionKeyBase64 Session key (base64)
|
|
179
|
-
* @returns Decrypted string content
|
|
180
|
-
*/
|
|
181
|
-
decryptContent(encryptedContent, sessionKeyBase64) {
|
|
182
|
-
const sessionKey = Buffer.from(sessionKeyBase64, 'base64');
|
|
183
|
-
const encryptedData = Buffer.from(encryptedContent, 'base64');
|
|
184
|
-
const decryptedData = this.decrypt(encryptedData, sessionKey);
|
|
185
|
-
return decryptedData.toString('utf8');
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Encrypt JSON-serializable metadata
|
|
189
|
-
* @param metadata Object to encrypt
|
|
190
|
-
* @param sessionKeyBase64 Session key (base64)
|
|
191
|
-
* @returns Base64-encoded encrypted JSON
|
|
192
|
-
*/
|
|
193
|
-
encryptMetadata(metadata, sessionKeyBase64) {
|
|
194
|
-
const jsonString = JSON.stringify(metadata);
|
|
195
|
-
return this.encryptContent(jsonString, sessionKeyBase64);
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Decrypt encrypted metadata
|
|
199
|
-
* @param encryptedMetadata Base64-encoded encrypted JSON
|
|
200
|
-
* @param sessionKeyBase64 Session key (base64)
|
|
201
|
-
* @returns Decrypted object
|
|
202
|
-
*/
|
|
203
|
-
decryptMetadata(encryptedMetadata, sessionKeyBase64) {
|
|
204
|
-
const jsonString = this.decryptContent(encryptedMetadata, sessionKeyBase64);
|
|
205
|
-
return JSON.parse(jsonString);
|
|
206
|
-
}
|
|
207
|
-
// MARK: - Binary Data Encryption (for attachments)
|
|
208
|
-
/**
|
|
209
|
-
* Encrypt binary data using AES-256-GCM
|
|
210
|
-
* @param data Binary data to encrypt (Buffer)
|
|
211
|
-
* @param sessionKeyBase64 Session key (base64)
|
|
212
|
-
* @returns Encrypted data (Buffer containing nonce + ciphertext + tag)
|
|
213
|
-
*/
|
|
214
|
-
encryptData(data, sessionKeyBase64) {
|
|
215
|
-
const sessionKey = Buffer.from(sessionKeyBase64, 'base64');
|
|
216
|
-
return this.encrypt(data, sessionKey);
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Decrypt binary data using AES-256-GCM
|
|
220
|
-
* @param encryptedData Encrypted data (Buffer containing nonce + ciphertext + tag)
|
|
221
|
-
* @param sessionKeyBase64 Session key (base64)
|
|
222
|
-
* @returns Decrypted binary data (Buffer)
|
|
223
|
-
*/
|
|
224
|
-
decryptData(encryptedData, sessionKeyBase64) {
|
|
225
|
-
const sessionKey = Buffer.from(sessionKeyBase64, 'base64');
|
|
226
|
-
return this.decrypt(encryptedData, sessionKey);
|
|
227
|
-
}
|
|
228
|
-
// MARK: - Low-level Encryption
|
|
229
|
-
/**
|
|
230
|
-
* Encrypt data using AES-256-GCM
|
|
231
|
-
* @param data Data to encrypt
|
|
232
|
-
* @param key Symmetric key (32 bytes)
|
|
233
|
-
* @returns Combined nonce + ciphertext + tag
|
|
234
|
-
*/
|
|
235
|
-
encrypt(data, key) {
|
|
236
|
-
// Generate random 12-byte nonce (IV)
|
|
237
|
-
const nonce = crypto.randomBytes(12);
|
|
238
|
-
const cipher = crypto.createCipheriv('aes-256-gcm', key, nonce);
|
|
239
|
-
const ciphertext = Buffer.concat([cipher.update(data), cipher.final()]);
|
|
240
|
-
const tag = cipher.getAuthTag();
|
|
241
|
-
// Combine: nonce (12 bytes) + ciphertext + tag (16 bytes)
|
|
242
|
-
return Buffer.concat([nonce, ciphertext, tag]);
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Decrypt data using AES-256-GCM
|
|
246
|
-
* @param data Combined nonce + ciphertext + tag
|
|
247
|
-
* @param key Symmetric key (32 bytes)
|
|
248
|
-
* @returns Decrypted data
|
|
249
|
-
*/
|
|
250
|
-
decrypt(data, key) {
|
|
251
|
-
// Extract: nonce (12 bytes) + ciphertext + tag (16 bytes)
|
|
252
|
-
const nonce = data.subarray(0, 12);
|
|
253
|
-
const tag = data.subarray(data.length - 16);
|
|
254
|
-
const ciphertext = data.subarray(12, data.length - 16);
|
|
255
|
-
const decipher = crypto.createDecipheriv('aes-256-gcm', key, nonce);
|
|
256
|
-
decipher.setAuthTag(tag);
|
|
257
|
-
try {
|
|
258
|
-
const decrypted = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
|
|
259
|
-
return decrypted;
|
|
260
|
-
}
|
|
261
|
-
catch (error) {
|
|
262
|
-
throw new CryptoError('Decryption failed: Invalid ciphertext or authentication tag');
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
// MARK: - Key Serialization
|
|
266
|
-
/**
|
|
267
|
-
* Serialize a private key for storage
|
|
268
|
-
*/
|
|
269
|
-
serializePrivateKey(privateKeyBase64) {
|
|
270
|
-
return privateKeyBase64;
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Deserialize a private key from storage
|
|
274
|
-
*/
|
|
275
|
-
deserializePrivateKey(base64) {
|
|
276
|
-
return base64;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
exports.CryptoService = CryptoService;
|
|
280
|
-
/**
|
|
281
|
-
* Export singleton instance
|
|
282
|
-
*/
|
|
283
|
-
exports.cryptoService = CryptoService.getInstance();
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2NyeXB0by1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxFQUFFO0FBQ0Ysb0JBQW9CO0FBQ3BCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsaUVBQWlFO0FBQ2pFLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVGLCtDQUFpQztBQUdqQzs7R0FFRztBQUNILE1BQWEsV0FBWSxTQUFRLEtBQUs7SUFDcEMsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUxELGtDQUtDO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUVwQzs7R0FFRztBQUNILE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDO0FBRXBDOztHQUVHO0FBQ0gsTUFBYSxhQUFhO0lBR3hCLGdCQUF1QixDQUFDO0lBRXhCLE1BQU0sQ0FBQyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUVELHlCQUF5QjtJQUV6Qjs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsaUZBQWlGO1FBQ2pGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsUUFBUSxD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Q0gsQ0FBQztJQUVELDRCQUE0QjtJQUU1Qjs7T0FFRztJQUNILG1CQUFtQixDQUFDLGdCQUF3QjtRQUMxQyxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQixDQUFDLE1BQWM7UUFDbEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBbFJELHNDQWtSQztBQUVEOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIGNyeXB0by1zZXJ2aWNlLnRzXG4vLyBDb2RlVmliZSBDb3JlXG4vL1xuLy8gRW5kLXRvLWVuZCBlbmNyeXB0aW9uIHNlcnZpY2UgdXNpbmcgRUNESCBQLTI1NiBhbmQgQUVTLTI1Ni1HQ01cbi8vXG5cbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgRW5jcnlwdGVkU2Vzc2lvbktleSwgS2V5UGFpciB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBFcnJvciBjbGFzcyBmb3IgY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBDcnlwdG9FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0NyeXB0b0Vycm9yJztcbiAgfVxufVxuXG4vKipcbiAqIEN1cnJlbnQgZW5jcnlwdGlvbiB2ZXJzaW9uIGZvciBmdXR1cmUgYWxnb3JpdGhtIHVwZ3JhZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBFTkNSWVBUSU9OX1ZFUlNJT04gPSAxO1xuXG4vKipcbiAqIEhLREYgaW5mbyBzdHJpbmcgZm9yIGtleSBkZXJpdmF0aW9uXG4gKi9cbmNvbnN0IEhLREZfSU5GTyA9ICdDb2RlVmliZSBFMkUgdjEnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGVuZC10by1lbmQgZW5jcnlwdGlvbiBvcGVyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBDcnlwdG9TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2U6IENyeXB0b1NlcnZpY2U7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgc3RhdGljIGdldEluc3RhbmNlKCk6IENyeXB0b1NlcnZpY2Uge1xuICAgIGlmICghQ3J5cHRvU2VydmljZS5pbnN0YW5jZSkge1xuICAgICAgQ3J5cHRvU2VydmljZS5pbnN0YW5jZSA9IG5ldyBDcnlwdG9TZXJ2aWNlKCk7XG4gICAgfVxuICAgIHJldHVybiBDcnlwdG9TZXJ2aWNlLmluc3RhbmNlO1xuICB9XG5cbiAgLy8gTUFSSzogLSBLZXkgR2VuZXJhdGlvblxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIG5ldyBFQ0RIIFAtMjU2IGtleSBwYWlyXG4gICAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHByaXZhdGVLZXkgKGJhc2U2NCksIHB1YmxpY0tleSAoYmFzZTY0IHJhdylcbiAgICovXG4gIGdlbmVyYXRlS2V5UGFpcigpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBlY2RoID0gY3J5cHRvLmNyZWF0ZUVDREgoJ3ByaW1lMjU2djEnKTtcbiAgICBlY2RoLmdlbmVyYXRlS2V5cygpO1xuXG4gICAgLy8gR2V0IHJhdyBwdWJsaWMga2V5ICh1bmNvbXByZXNzZWQgZm9ybWF0IHdpdGhvdXQgMHgwNCBwcmVmaXggZm9yIGNvbXBhdGliaWxpdHkpXG4gICAgY29uc3QgcHVibGljS2V5UmF3ID0gZWNkaC5nZXRQdWJsaWNLZXkoKTtcbiAgICBjb25zdCBwdWJsaWNLZXlCYXNlNjQgPSBwdWJsaWNLZXlSYXcuc3ViYXJyYXkoMSkudG9TdHJpbmcoJ2Jhc2U2NCcpOyAvLyBTa2lwIDB4MDQgcHJlZml4XG5cbiAgICAvLyBHZXQgcHJpdmF0ZSBrZXkgYXMgcmF3IGJ5dGVzXG4gICAgY29uc3QgcHJpdmF0ZUtleVJhdyA9IGVjZGguZ2V0UHJpdmF0ZUtleSgpO1xuICAgIGNvbnN0IHByaXZhdGVLZXlCYXNlNjQgPSBwcml2YXRlS2V5UmF3LnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwcml2YXRlS2V5OiBwcml2YXRlS2V5QmFzZTY0LFxuICAgICAgcHVibGljS2V5OiBwdWJsaWNLZXlCYXNlNjQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIHJhbmRvbSAyNTYtYml0IHNlc3Npb24ga2V5XG4gICAqIEByZXR1cm5zIEJhc2U2NC1lbmNvZGVkIHNlc3Npb24ga2V5XG4gICAqL1xuICBnZW5lcmF0ZVNlc3Npb25LZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXlEYXRhID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDMyKTsgLy8gMjU2IGJpdHNcbiAgICByZXR1cm4ga2V5RGF0YS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvLyBNQVJLOiAtIEtleSBEZXJpdmF0aW9uXG5cbiAgLyoqXG4gICAqIERlcml2ZSBhIHNoYXJlZCBzZWNyZXQgdXNpbmcgRUNESCBhbmQgSEtERlxuICAgKiBAcGFyYW0gcHJpdmF0ZUtleUJhc2U2NCBPdXIgcHJpdmF0ZSBrZXkgKGJhc2U2NClcbiAgICogQHBhcmFtIHB1YmxpY0tleUJhc2U2NCBPdGhlciBwYXJ0eSdzIHB1YmxpYyBrZXkgKGJhc2U2NClcbiAgICogQHJldHVybnMgMjU2LWJpdCBkZXJpdmVkIGtleSBhcyBCdWZmZXJcbiAgICovXG4gIGRlcml2ZVNoYXJlZEtleShwcml2YXRlS2V5QmFzZTY0OiBzdHJpbmcsIHB1YmxpY0tleUJhc2U2NDogc3RyaW5nKTogQnVmZmVyIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZWNkaCA9IGNyeXB0by5jcmVhdGVFQ0RIKCdwcmltZTI1NnYxJyk7XG4gICAgICBjb25zdCBwcml2YXRlS2V5UmF3ID0gQnVmZmVyLmZyb20ocHJpdmF0ZUtleUJhc2U2NCwgJ2Jhc2U2NCcpO1xuICAgICAgZWNkaC5zZXRQcml2YXRlS2V5KHByaXZhdGVLZXlSYXcpO1xuXG4gICAgICAvLyBBZGQgMHgwNCBwcmVmaXggZm9yIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5IGZvcm1hdFxuICAgICAgY29uc3QgcHVibGljS2V5UmF3ID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICAgIEJ1ZmZlci5mcm9tKFsweDA0XSksXG4gICAgICAgIEJ1ZmZlci5mcm9tKHB1YmxpY0tleUJhc2U2NCwgJ2Jhc2U2NCcpLFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IHNoYXJlZFNlY3JldCA9IGVjZGguY29tcHV0ZVNlY3JldChwdWJsaWNLZXlSYXcpO1xuXG4gICAgICAvLyBEZXJpdmUga2V5IHVzaW5nIEhLREYtU0hBMjU2XG4gICAgICBjb25zdCBkZXJpdmVkS2V5ID0gY3J5cHRvLmhrZGZTeW5jKFxuICAgICAgICAnc2hhMjU2JyxcbiAgICAgICAgc2hhcmVkU2VjcmV0LFxuICAgICAgICBCdWZmZXIuYWxsb2MoMCksIC8vIEVtcHR5IHNhbHRcbiAgICAgICAgQnVmZmVyLmZyb20oSEtERl9JTkZPLCAndXRmOCcpLFxuICAgICAgICAzMiAvLyAyNTYgYml0c1xuICAgICAgKTtcblxuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGRlcml2ZWRLZXkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgQ3J5cHRvRXJyb3IoYEZhaWxlZCB0byBkZXJpdmUgc2hhcmVkIGtleTogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICAvLyBNQVJLOiAtIFNlc3Npb24gS2V5IEVuY3J5cHRpb25cblxuICAvKipcbiAgICogRW5jcnlwdCBhIHNlc3Npb24ga2V5IGZvciBhIHRhcmdldCBkZXZpY2UgdXNpbmcgRUNESFxuICAgKiBAcGFyYW0gc2Vzc2lvbktleUJhc2U2NCBUaGUgc2Vzc2lvbiBrZXkgdG8gZW5jcnlwdCAoYmFzZTY0KVxuICAgKiBAcGFyYW0gdGFyZ2V0UHVibGljS2V5QmFzZTY0IFRhcmdldCBkZXZpY2UncyBwdWJsaWMga2V5IChiYXNlNjQpXG4gICAqIEByZXR1cm5zIEVuY3J5cHRlZFNlc3Npb25LZXkgY29udGFpbmluZyBlbmNyeXB0ZWQga2V5IGFuZCBlcGhlbWVyYWwgcHVibGljIGtleVxuICAgKi9cbiAgZW5jcnlwdFNlc3Npb25LZXkoXG4gICAgc2Vzc2lvbktleUJhc2U2NDogc3RyaW5nLFxuICAgIHRhcmdldFB1YmxpY0tleUJhc2U2NDogc3RyaW5nXG4gICk6IE9taXQ8RW5jcnlwdGVkU2Vzc2lvbktleSwgJ2RldmljZUlkJz4ge1xuICAgIC8vIEdlbmVyYXRlIGVwaGVtZXJhbCBrZXkgcGFpciBmb3IgdGhpcyBlbmNyeXB0aW9uXG4gICAgY29uc3QgZXBoZW1lcmFsS2V5UGFpciA9IHRoaXMuZ2VuZXJhdGVLZXlQYWlyKCk7XG5cbiAgICAvLyBEZXJpdmUgc2hhcmVkIGtleSB1c2luZyBlcGhlbWVyYWwgcHJpdmF0ZSArIHRhcmdldCBwdWJsaWNcbiAgICBjb25zdCBzaGFyZWRLZXkgPSB0aGlzLmRlcml2ZVNoYXJlZEtleShcbiAgICAgIGVwaGVtZXJhbEtleVBhaXIucHJpdmF0ZUtleSxcbiAgICAgIHRhcmdldFB1YmxpY0tleUJhc2U2NFxuICAgICk7XG5cbiAgICAvLyBFbmNyeXB0IHNlc3Npb24ga2V5IHdpdGggZGVyaXZlZCBrZXlcbiAgICBjb25zdCBzZXNzaW9uS2V5RGF0YSA9IEJ1ZmZlci5mcm9tKHNlc3Npb25LZXlCYXNlNjQsICdiYXNlNjQnKTtcbiAgICBjb25zdCBlbmNyeXB0ZWREYXRhID0gdGhpcy5lbmNyeXB0KHNlc3Npb25LZXlEYXRhLCBzaGFyZWRLZXkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVuY3J5cHRlZEtleTogZW5jcnlwdGVkRGF0YS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICBlcGhlbWVyYWxQdWJsaWNLZXk6IGVwaGVtZXJhbEtleVBhaXIucHVibGljS2V5LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVjcnlwdCBhIHNlc3Npb24ga2V5IHVzaW5nIG91ciBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0gZW5jcnlwdGVkU2Vzc2lvbktleSBUaGUgZW5jcnlwdGVkIHNlc3Npb24ga2V5IGRhdGFcbiAgICogQHBhcmFtIHByaXZhdGVLZXlCYXNlNjQgT3VyIGRldmljZSdzIHByaXZhdGUga2V5IChiYXNlNjQpXG4gICAqIEByZXR1cm5zIERlY3J5cHRlZCBzZXNzaW9uIGtleSAoYmFzZTY0KVxuICAgKi9cbiAgZGVjcnlwdFNlc3Npb25LZXkoXG4gICAgZW5jcnlwdGVkU2Vzc2lvbktleTogRW5jcnlwdGVkU2Vzc2lvbktleSxcbiAgICBwcml2YXRlS2V5QmFzZTY0OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICAvLyBEZXJpdmUgc2hhcmVkIGtleSB1c2luZyBvdXIgcHJpdmF0ZSArIGVwaGVtZXJhbCBwdWJsaWNcbiAgICBjb25zdCBzaGFyZWRLZXkgPSB0aGlzLmRlcml2ZVNoYXJlZEtleShcbiAgICAgIHByaXZhdGVLZXlCYXNlNjQsXG4gICAgICBlbmNyeXB0ZWRTZXNzaW9uS2V5LmVwaGVtZXJhbFB1YmxpY0tleVxuICAgICk7XG5cbiAgICAvLyBEZWNyeXB0IHNlc3Npb24ga2V5XG4gICAgY29uc3QgZW5jcnlwdGVkRGF0YSA9IEJ1ZmZlci5mcm9tKGVuY3J5cHRlZFNlc3Npb25LZXkuZW5jcnlwdGVkS2V5LCAnYmFzZTY0Jyk7XG4gICAgY29uc3QgZGVjcnlwdGVkRGF0YSA9IHRoaXMuZGVjcnlwdChlbmNyeXB0ZWREYXRhLCBzaGFyZWRLZXkpO1xuXG4gICAgcmV0dXJuIGRlY3J5cHRlZERhdGEudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgLy8gTUFSSzogLSBDb250ZW50IEVuY3J5cHRpb24vRGVjcnlwdGlvblxuXG4gIC8qKlxuICAgKiBFbmNyeXB0IGNvbnRlbnQgdXNpbmcgQUVTLTI1Ni1HQ01cbiAgICogQHBhcmFtIGNvbnRlbnQgU3RyaW5nIGNvbnRlbnQgdG8gZW5jcnlwdFxuICAgKiBAcGFyYW0gc2Vzc2lvbktleUJhc2U2NCBTZXNzaW9uIGtleSAoYmFzZTY0KVxuICAgKiBAcmV0dXJucyBCYXNlNjQtZW5jb2RlZCBjaXBoZXJ0ZXh0IChub25jZSArIGNpcGhlcnRleHQgKyB0YWcpXG4gICAqL1xuICBlbmNyeXB0Q29udGVudChjb250ZW50OiBzdHJpbmcsIHNlc3Npb25LZXlCYXNlNjQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2Vzc2lvbktleSA9IEJ1ZmZlci5mcm9tKHNlc3Npb25LZXlCYXNlNjQsICdiYXNlNjQnKTtcbiAgICBjb25zdCBjb250ZW50RGF0YSA9IEJ1ZmZlci5mcm9tKGNvbnRlbnQsICd1dGY4Jyk7XG4gICAgY29uc3QgZW5jcnlwdGVkRGF0YSA9IHRoaXMuZW5jcnlwdChjb250ZW50RGF0YSwgc2Vzc2lvbktleSk7XG4gICAgcmV0dXJuIGVuY3J5cHRlZERhdGEudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY3J5cHQgY29udGVudCB1c2luZyBBRVMtMjU2LUdDTVxuICAgKiBAcGFyYW0gZW5jcnlwdGVkQ29udGVudCBCYXNlNjQtZW5jb2RlZCBjaXBoZXJ0ZXh0XG4gICAqIEBwYXJhbSBzZXNzaW9uS2V5QmFzZTY0IFNlc3Npb24ga2V5IChiYXNlNjQpXG4gICAqIEByZXR1cm5zIERlY3J5cHRlZCBzdHJpbmcgY29udGVudFxuICAgKi9cbiAgZGVjcnlwdENvbnRlbnQoZW5jcnlwdGVkQ29udGVudDogc3RyaW5nLCBzZXNzaW9uS2V5QmFzZTY0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlc3Npb25LZXkgPSBCdWZmZXIuZnJvbShzZXNzaW9uS2V5QmFzZTY0LCAnYmFzZTY0Jyk7XG4gICAgY29uc3QgZW5jcnlwdGVkRGF0YSA9IEJ1ZmZlci5mcm9tKGVuY3J5cHRlZENvbnRlbnQsICdiYXNlNjQnKTtcbiAgICBjb25zdCBkZWNyeXB0ZWREYXRhID0gdGhpcy5kZWNyeXB0KGVuY3J5cHRlZERhdGEsIHNlc3Npb25LZXkpO1xuICAgIHJldHVybiBkZWNyeXB0ZWREYXRhLnRvU3RyaW5nKCd1dGY4Jyk7XG4gIH1cblxuICAvKipcbiAgICogRW5jcnlwdCBKU09OLXNlcmlhbGl6YWJsZSBtZXRhZGF0YVxuICAgKiBAcGFyYW0gbWV0YWRhdGEgT2JqZWN0IHRvIGVuY3J5cHRcbiAgICogQHBhcmFtIHNlc3Npb25LZXlCYXNlNjQgU2Vzc2lvbiBrZXkgKGJhc2U2NClcbiAgICogQHJldHVybnMgQmFzZTY0LWVuY29kZWQgZW5jcnlwdGVkIEpTT05cbiAgICovXG4gIGVuY3J5cHRNZXRhZGF0YShcbiAgICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBzZXNzaW9uS2V5QmFzZTY0OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkobWV0YWRhdGEpO1xuICAgIHJldHVybiB0aGlzLmVuY3J5cHRDb250ZW50KGpzb25TdHJpbmcsIHNlc3Npb25LZXlCYXNlNjQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY3J5cHQgZW5jcnlwdGVkIG1ldGFkYXRhXG4gICAqIEBwYXJhbSBlbmNyeXB0ZWRNZXRhZGF0YSBCYXNlNjQtZW5jb2RlZCBlbmNyeXB0ZWQgSlNPTlxuICAgKiBAcGFyYW0gc2Vzc2lvbktleUJhc2U2NCBTZXNzaW9uIGtleSAoYmFzZTY0KVxuICAgKiBAcmV0dXJucyBEZWNyeXB0ZWQgb2JqZWN0XG4gICAqL1xuICBkZWNyeXB0TWV0YWRhdGEoXG4gICAgZW5jcnlwdGVkTWV0YWRhdGE6IHN0cmluZyxcbiAgICBzZXNzaW9uS2V5QmFzZTY0OiBzdHJpbmdcbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QganNvblN0cmluZyA9IHRoaXMuZGVjcnlwdENvbnRlbnQoZW5jcnlwdGVkTWV0YWRhdGEsIHNlc3Npb25LZXlCYXNlNjQpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGpzb25TdHJpbmcpO1xuICB9XG5cbiAgLy8gTUFSSzogLSBCaW5hcnkgRGF0YSBFbmNyeXB0aW9uIChmb3IgYXR0YWNobWVudHMpXG5cbiAgLyoqXG4gICAqIEVuY3J5cHQgYmluYXJ5IGRhdGEgdXNpbmcgQUVTLTI1Ni1HQ01cbiAgICogQHBhcmFtIGRhdGEgQmluYXJ5IGRhdGEgdG8gZW5jcnlwdCAoQnVmZmVyKVxuICAgKiBAcGFyYW0gc2Vzc2lvbktleUJhc2U2NCBTZXNzaW9uIGtleSAoYmFzZTY0KVxuICAgKiBAcmV0dXJucyBFbmNyeXB0ZWQgZGF0YSAoQnVmZmVyIGNvbnRhaW5pbmcgbm9uY2UgKyBjaXBoZXJ0ZXh0ICsgdGFnKVxuICAgKi9cbiAgZW5jcnlwdERhdGEoZGF0YTogQnVmZmVyLCBzZXNzaW9uS2V5QmFzZTY0OiBzdHJpbmcpOiBCdWZmZXIge1xuICAgIGNvbnN0IHNlc3Npb25LZXkgPSBCdWZmZXIuZnJvbShzZXNzaW9uS2V5QmFzZTY0LCAnYmFzZTY0Jyk7XG4gICAgcmV0dXJuIHRoaXMuZW5jcnlwdChkYXRhLCBzZXNzaW9uS2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNyeXB0IGJpbmFyeSBkYXRhIHVzaW5nIEFFUy0yNTYtR0NNXG4gICAqIEBwYXJhbSBlbmNyeXB0ZWREYXRhIEVuY3J5cHRlZCBkYXRhIChCdWZmZXIgY29udGFpbmluZyBub25jZSArIGNpcGhlcnRleHQgKyB0YWcpXG4gICAqIEBwYXJhbSBzZXNzaW9uS2V5QmFzZTY0IFNlc3Npb24ga2V5IChiYXNlNjQpXG4gICAqIEByZXR1cm5zIERlY3J5cHRlZCBiaW5hcnkgZGF0YSAoQnVmZmVyKVxuICAgKi9cbiAgZGVjcnlwdERhdGEoZW5jcnlwdGVkRGF0YTogQnVmZmVyLCBzZXNzaW9uS2V5QmFzZTY0OiBzdHJpbmcpOiBCdWZmZXIge1xuICAgIGNvbnN0IHNlc3Npb25LZXkgPSBCdWZmZXIuZnJvbShzZXNzaW9uS2V5QmFzZTY0LCAnYmFzZTY0Jyk7XG4gICAgcmV0dXJuIHRoaXMuZGVjcnlwdChlbmNyeXB0ZWREYXRhLCBzZXNzaW9uS2V5KTtcbiAgfVxuXG4gIC8vIE1BUks6IC0gTG93LWxldmVsIEVuY3J5cHRpb25cblxuICAvKipcbiAgICogRW5jcnlwdCBkYXRhIHVzaW5nIEFFUy0yNTYtR0NNXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgdG8gZW5jcnlwdFxuICAgKiBAcGFyYW0ga2V5IFN5bW1ldHJpYyBrZXkgKDMyIGJ5dGVzKVxuICAgKiBAcmV0dXJucyBDb21iaW5lZCBub25jZSArIGNpcGhlcnRleHQgKyB0YWdcbiAgICovXG4gIHByaXZhdGUgZW5jcnlwdChkYXRhOiBCdWZmZXIsIGtleTogQnVmZmVyKTogQnVmZmVyIHtcbiAgICAvLyBHZW5lcmF0ZSByYW5kb20gMTItYnl0ZSBub25jZSAoSVYpXG4gICAgY29uc3Qgbm9uY2UgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTIpO1xuXG4gICAgY29uc3QgY2lwaGVyID0gY3J5cHRvLmNyZWF0ZUNpcGhlcml2KCdhZXMtMjU2LWdjbScsIGtleSwgbm9uY2UpO1xuICAgIGNvbnN0IGNpcGhlcnRleHQgPSBCdWZmZXIuY29uY2F0KFtjaXBoZXIudXBkYXRlKGRhdGEpLCBjaXBoZXIuZmluYWwoKV0pO1xuICAgIGNvbnN0IHRhZyA9IGNpcGhlci5nZXRBdXRoVGFnKCk7XG5cbiAgICAvLyBDb21iaW5lOiBub25jZSAoMTIgYnl0ZXMpICsgY2lwaGVydGV4dCArIHRhZyAoMTYgYnl0ZXMpXG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW25vbmNlLCBjaXBoZXJ0ZXh0LCB0YWddKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNyeXB0IGRhdGEgdXNpbmcgQUVTLTI1Ni1HQ01cbiAgICogQHBhcmFtIGRhdGEgQ29tYmluZWQgbm9uY2UgKyBjaXBoZXJ0ZXh0ICsgdGFnXG4gICAqIEBwYXJhbSBrZXkgU3ltbWV0cmljIGtleSAoMzIgYnl0ZXMpXG4gICAqIEByZXR1cm5zIERlY3J5cHRlZCBkYXRhXG4gICAqL1xuICBwcml2YXRlIGRlY3J5cHQoZGF0YTogQnVmZmVyLCBrZXk6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgLy8gRXh0cmFjdDogbm9uY2UgKDEyIGJ5dGVzKSArIGNpcGhlcnRleHQgKyB0YWcgKDE2IGJ5dGVzKVxuICAgIGNvbnN0IG5vbmNlID0gZGF0YS5zdWJhcnJheSgwLCAxMik7XG4gICAgY29uc3QgdGFnID0gZGF0YS5zdWJhcnJheShkYXRhLmxlbmd0aCAtIDE2KTtcbiAgICBjb25zdCBjaXBoZXJ0ZXh0ID0gZGF0YS5zdWJhcnJheSgxMiwgZGF0YS5sZW5ndGggLSAxNik7XG5cbiAgICBjb25zdCBkZWNpcGhlciA9IGNyeXB0by5jcmVhdGVEZWNpcGhlcml2KCdhZXMtMjU2LWdjbScsIGtleSwgbm9uY2UpO1xuICAgIGRlY2lwaGVyLnNldEF1dGhUYWcodGFnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNyeXB0ZWQgPSBCdWZmZXIuY29uY2F0KFtkZWNpcGhlci51cGRhdGUoY2lwaGVydGV4dCksIGRlY2lwaGVyLmZpbmFsKCldKTtcbiAgICAgIHJldHVybiBkZWNyeXB0ZWQ7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBDcnlwdG9FcnJvcignRGVjcnlwdGlvbiBmYWlsZWQ6IEludmFsaWQgY2lwaGVydGV4dCBvciBhdXRoZW50aWNhdGlvbiB0YWcnKTtcbiAgICB9XG4gIH1cblxuICAvLyBNQVJLOiAtIEtleSBTZXJpYWxpemF0aW9uXG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSBhIHByaXZhdGUga2V5IGZvciBzdG9yYWdlXG4gICAqL1xuICBzZXJpYWxpemVQcml2YXRlS2V5KHByaXZhdGVLZXlCYXNlNjQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHByaXZhdGVLZXlCYXNlNjQ7XG4gIH1cblxuICAvKipcbiAgICogRGVzZXJpYWxpemUgYSBwcml2YXRlIGtleSBmcm9tIHN0b3JhZ2VcbiAgICovXG4gIGRlc2VyaWFsaXplUHJpdmF0ZUtleShiYXNlNjQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJhc2U2NDtcbiAgfVxufVxuXG4vKipcbiAqIEV4cG9ydCBzaW5nbGV0b24gaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyeXB0b1NlcnZpY2UgPSBDcnlwdG9TZXJ2aWNlLmdldEluc3RhbmNlKCk7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { CryptoService, cryptoService, CryptoError, ENCRYPTION_VERSION } from './crypto-service';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ENCRYPTION_VERSION = exports.CryptoError = exports.cryptoService = exports.CryptoService = void 0;
|
|
4
|
-
var crypto_service_1 = require("./crypto-service");
|
|
5
|
-
Object.defineProperty(exports, "CryptoService", { enumerable: true, get: function () { return crypto_service_1.CryptoService; } });
|
|
6
|
-
Object.defineProperty(exports, "cryptoService", { enumerable: true, get: function () { return crypto_service_1.cryptoService; } });
|
|
7
|
-
Object.defineProperty(exports, "CryptoError", { enumerable: true, get: function () { return crypto_service_1.CryptoError; } });
|
|
8
|
-
Object.defineProperty(exports, "ENCRYPTION_VERSION", { enumerable: true, get: function () { return crypto_service_1.ENCRYPTION_VERSION; } });
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFpRztBQUF4RiwrR0FBQSxhQUFhLE9BQUE7QUFBRSwrR0FBQSxhQUFhLE9BQUE7QUFBRSw2R0FBQSxXQUFXLE9BQUE7QUFBRSxvSEFBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENyeXB0b1NlcnZpY2UsIGNyeXB0b1NlcnZpY2UsIENyeXB0b0Vycm9yLCBFTkNSWVBUSU9OX1ZFUlNJT04gfSBmcm9tICcuL2NyeXB0by1zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { KeychainManager, keychainManager, KeychainError } from './keychain';
|
|
2
|
-
export { CryptoService, cryptoService, CryptoError, ENCRYPTION_VERSION } from './crypto';
|
|
3
|
-
export { AppSyncClient, DownloadUrlResponse } from './appsync';
|
|
4
|
-
export { queries, mutations, subscriptions } from './appsync';
|
|
5
|
-
export { AuthService, authService } from './auth';
|
|
6
|
-
export { runAuthCli } from './auth';
|
|
7
|
-
export { loadConfig, getConfig, getEnvironment } from './config';
|
|
8
|
-
export type { Config, Environment } from './config';
|
|
9
|
-
export { Logger, logger, createLogger } from './logger';
|
|
10
|
-
export { parseInteractivePrompt, normalizeSnapshot, } from './prompt-parser';
|
|
11
|
-
export type { ParsedInteractivePrompt, PromptKind, InteractivePromptOption, } from './prompt-parser';
|
|
12
|
-
export { resumeOrCreateSession, prepareSessionEncryption } from './session';
|
|
13
|
-
export type { ResumeOrCreateSessionInput, ResumeOrCreateSessionResult } from './session';
|
|
14
|
-
export * from './types';
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// index.ts
|
|
4
|
-
// @quantiya/codevibe-core
|
|
5
|
-
//
|
|
6
|
-
// Core library for CodeVibe plugins
|
|
7
|
-
//
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.prepareSessionEncryption = exports.resumeOrCreateSession = exports.normalizeSnapshot = exports.parseInteractivePrompt = exports.createLogger = exports.logger = exports.Logger = exports.getEnvironment = exports.getConfig = exports.loadConfig = exports.runAuthCli = exports.authService = exports.AuthService = exports.subscriptions = exports.mutations = exports.queries = exports.AppSyncClient = exports.ENCRYPTION_VERSION = exports.CryptoError = exports.cryptoService = exports.CryptoService = exports.KeychainError = exports.keychainManager = exports.KeychainManager = void 0;
|
|
24
|
-
// Keychain
|
|
25
|
-
var keychain_1 = require("./keychain");
|
|
26
|
-
Object.defineProperty(exports, "KeychainManager", { enumerable: true, get: function () { return keychain_1.KeychainManager; } });
|
|
27
|
-
Object.defineProperty(exports, "keychainManager", { enumerable: true, get: function () { return keychain_1.keychainManager; } });
|
|
28
|
-
Object.defineProperty(exports, "KeychainError", { enumerable: true, get: function () { return keychain_1.KeychainError; } });
|
|
29
|
-
// Crypto
|
|
30
|
-
var crypto_1 = require("./crypto");
|
|
31
|
-
Object.defineProperty(exports, "CryptoService", { enumerable: true, get: function () { return crypto_1.CryptoService; } });
|
|
32
|
-
Object.defineProperty(exports, "cryptoService", { enumerable: true, get: function () { return crypto_1.cryptoService; } });
|
|
33
|
-
Object.defineProperty(exports, "CryptoError", { enumerable: true, get: function () { return crypto_1.CryptoError; } });
|
|
34
|
-
Object.defineProperty(exports, "ENCRYPTION_VERSION", { enumerable: true, get: function () { return crypto_1.ENCRYPTION_VERSION; } });
|
|
35
|
-
// AppSync
|
|
36
|
-
var appsync_1 = require("./appsync");
|
|
37
|
-
Object.defineProperty(exports, "AppSyncClient", { enumerable: true, get: function () { return appsync_1.AppSyncClient; } });
|
|
38
|
-
var appsync_2 = require("./appsync");
|
|
39
|
-
Object.defineProperty(exports, "queries", { enumerable: true, get: function () { return appsync_2.queries; } });
|
|
40
|
-
Object.defineProperty(exports, "mutations", { enumerable: true, get: function () { return appsync_2.mutations; } });
|
|
41
|
-
Object.defineProperty(exports, "subscriptions", { enumerable: true, get: function () { return appsync_2.subscriptions; } });
|
|
42
|
-
// Auth
|
|
43
|
-
var auth_1 = require("./auth");
|
|
44
|
-
Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return auth_1.AuthService; } });
|
|
45
|
-
Object.defineProperty(exports, "authService", { enumerable: true, get: function () { return auth_1.authService; } });
|
|
46
|
-
var auth_2 = require("./auth");
|
|
47
|
-
Object.defineProperty(exports, "runAuthCli", { enumerable: true, get: function () { return auth_2.runAuthCli; } });
|
|
48
|
-
// Config
|
|
49
|
-
var config_1 = require("./config");
|
|
50
|
-
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_1.loadConfig; } });
|
|
51
|
-
Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return config_1.getConfig; } });
|
|
52
|
-
Object.defineProperty(exports, "getEnvironment", { enumerable: true, get: function () { return config_1.getEnvironment; } });
|
|
53
|
-
// Logger
|
|
54
|
-
var logger_1 = require("./logger");
|
|
55
|
-
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
|
|
56
|
-
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
|
|
57
|
-
Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
|
|
58
|
-
// Prompt Parser
|
|
59
|
-
var prompt_parser_1 = require("./prompt-parser");
|
|
60
|
-
Object.defineProperty(exports, "parseInteractivePrompt", { enumerable: true, get: function () { return prompt_parser_1.parseInteractivePrompt; } });
|
|
61
|
-
Object.defineProperty(exports, "normalizeSnapshot", { enumerable: true, get: function () { return prompt_parser_1.normalizeSnapshot; } });
|
|
62
|
-
// Session
|
|
63
|
-
var session_1 = require("./session");
|
|
64
|
-
Object.defineProperty(exports, "resumeOrCreateSession", { enumerable: true, get: function () { return session_1.resumeOrCreateSession; } });
|
|
65
|
-
Object.defineProperty(exports, "prepareSessionEncryption", { enumerable: true, get: function () { return session_1.prepareSessionEncryption; } });
|
|
66
|
-
// Types
|
|
67
|
-
__exportStar(require("./types"), exports);
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLEVBQUU7QUFDRixXQUFXO0FBQ1gsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRixvQ0FBb0M7QUFDcEMsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRixXQUFXO0FBQ1gsdUNBQTZFO0FBQXBFLDJHQUFBLGVBQWUsT0FBQTtBQUFFLDJHQUFBLGVBQWUsT0FBQTtBQUFFLHlHQUFBLGFBQWEsT0FBQTtBQUV4RCxTQUFTO0FBQ1QsbUNBQXlGO0FBQWhGLHVHQUFBLGFBQWEsT0FBQTtBQUFFLHVHQUFBLGFBQWEsT0FBQTtBQUFFLHFHQUFBLFdBQVcsT0FBQTtBQUFFLDRHQUFBLGtCQUFrQixPQUFBO0FBRXRFLFVBQVU7QUFDVixxQ0FBK0Q7QUFBdEQsd0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHFDQUE4RDtBQUFyRCxrR0FBQSxPQUFPLE9BQUE7QUFBRSxvR0FBQSxTQUFTLE9BQUE7QUFBRSx3R0FBQSxhQUFhLE9BQUE7QUFFMUMsT0FBTztBQUNQLCtCQUFrRDtBQUF6QyxtR0FBQSxXQUFXLE9BQUE7QUFBRSxtR0FBQSxXQUFXLE9BQUE7QUFDakMsK0JBQW9DO0FBQTNCLGtHQUFBLFVBQVUsT0FBQTtBQUVuQixTQUFTO0FBQ1QsbUNBQWlFO0FBQXhELG9HQUFBLFVBQVUsT0FBQTtBQUFFLG1HQUFBLFNBQVMsT0FBQTtBQUFFLHdHQUFBLGNBQWMsT0FBQTtBQUc5QyxTQUFTO0FBQ1QsbUNBQXdEO0FBQS9DLGdHQUFBLE1BQU0sT0FBQTtBQUFFLGdHQUFBLE1BQU0sT0FBQTtBQUFFLHNHQUFBLFlBQVksT0FBQTtBQUVyQyxnQkFBZ0I7QUFDaEIsaURBR3lCO0FBRnZCLHVIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLGtIQUFBLGlCQUFpQixPQUFBO0FBUW5CLFVBQVU7QUFDVixxQ0FBNEU7QUFBbkUsZ0hBQUEscUJBQXFCLE9BQUE7QUFBRSxtSEFBQSx3QkFBd0IsT0FBQTtBQUd4RCxRQUFRO0FBQ1IsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIGluZGV4LnRzXG4vLyBAcXVhbnRpeWEvY29kZXZpYmUtY29yZVxuLy9cbi8vIENvcmUgbGlicmFyeSBmb3IgQ29kZVZpYmUgcGx1Z2luc1xuLy9cblxuLy8gS2V5Y2hhaW5cbmV4cG9ydCB7IEtleWNoYWluTWFuYWdlciwga2V5Y2hhaW5NYW5hZ2VyLCBLZXljaGFpbkVycm9yIH0gZnJvbSAnLi9rZXljaGFpbic7XG5cbi8vIENyeXB0b1xuZXhwb3J0IHsgQ3J5cHRvU2VydmljZSwgY3J5cHRvU2VydmljZSwgQ3J5cHRvRXJyb3IsIEVOQ1JZUFRJT05fVkVSU0lPTiB9IGZyb20gJy4vY3J5cHRvJztcblxuLy8gQXBwU3luY1xuZXhwb3J0IHsgQXBwU3luY0NsaWVudCwgRG93bmxvYWRVcmxSZXNwb25zZSB9IGZyb20gJy4vYXBwc3luYyc7XG5leHBvcnQgeyBxdWVyaWVzLCBtdXRhdGlvbnMsIHN1YnNjcmlwdGlvbnMgfSBmcm9tICcuL2FwcHN5bmMnO1xuXG4vLyBBdXRoXG5leHBvcnQgeyBBdXRoU2VydmljZSwgYXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGgnO1xuZXhwb3J0IHsgcnVuQXV0aENsaSB9IGZyb20gJy4vYXV0aCc7XG5cbi8vIENvbmZpZ1xuZXhwb3J0IHsgbG9hZENvbmZpZywgZ2V0Q29uZmlnLCBnZXRFbnZpcm9ubWVudCB9IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB0eXBlIHsgQ29uZmlnLCBFbnZpcm9ubWVudCB9IGZyb20gJy4vY29uZmlnJztcblxuLy8gTG9nZ2VyXG5leHBvcnQgeyBMb2dnZXIsIGxvZ2dlciwgY3JlYXRlTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuXG4vLyBQcm9tcHQgUGFyc2VyXG5leHBvcnQge1xuICBwYXJzZUludGVyYWN0aXZlUHJvbXB0LFxuICBub3JtYWxpemVTbmFwc2hvdCxcbn0gZnJvbSAnLi9wcm9tcHQtcGFyc2VyJztcbmV4cG9ydCB0eXBlIHtcbiAgUGFyc2VkSW50ZXJhY3RpdmVQcm9tcHQsXG4gIFByb21wdEtpbmQsXG4gIEludGVyYWN0aXZlUHJvbXB0T3B0aW9uLFxufSBmcm9tICcuL3Byb21wdC1wYXJzZXInO1xuXG4vLyBTZXNzaW9uXG5leHBvcnQgeyByZXN1bWVPckNyZWF0ZVNlc3Npb24sIHByZXBhcmVTZXNzaW9uRW5jcnlwdGlvbiB9IGZyb20gJy4vc2Vzc2lvbic7XG5leHBvcnQgdHlwZSB7IFJlc3VtZU9yQ3JlYXRlU2Vzc2lvbklucHV0LCBSZXN1bWVPckNyZWF0ZVNlc3Npb25SZXN1bHQgfSBmcm9tICcuL3Nlc3Npb24nO1xuXG4vLyBUeXBlc1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { KeychainManager, keychainManager, KeychainError } from './keychain-manager';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KeychainError = exports.keychainManager = exports.KeychainManager = void 0;
|
|
4
|
-
var keychain_manager_1 = require("./keychain-manager");
|
|
5
|
-
Object.defineProperty(exports, "KeychainManager", { enumerable: true, get: function () { return keychain_manager_1.KeychainManager; } });
|
|
6
|
-
Object.defineProperty(exports, "keychainManager", { enumerable: true, get: function () { return keychain_manager_1.keychainManager; } });
|
|
7
|
-
Object.defineProperty(exports, "KeychainError", { enumerable: true, get: function () { return keychain_manager_1.KeychainError; } });
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5Y2hhaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXFGO0FBQTVFLG1IQUFBLGVBQWUsT0FBQTtBQUFFLG1IQUFBLGVBQWUsT0FBQTtBQUFFLGlIQUFBLGFBQWEsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEtleWNoYWluTWFuYWdlciwga2V5Y2hhaW5NYW5hZ2VyLCBLZXljaGFpbkVycm9yIH0gZnJvbSAnLi9rZXljaGFpbi1tYW5hZ2VyJztcbiJdfQ==
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { DeviceIdentity, TokenData, EncryptedSessionKey } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Error class for keychain operations
|
|
4
|
-
*/
|
|
5
|
-
export declare class KeychainError extends Error {
|
|
6
|
-
constructor(message: string);
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Manages device identity and OAuth tokens using native keychain
|
|
10
|
-
*/
|
|
11
|
-
export declare class KeychainManager {
|
|
12
|
-
private static instance;
|
|
13
|
-
private deviceIdentity;
|
|
14
|
-
private sessionKeyCache;
|
|
15
|
-
private isRegistered;
|
|
16
|
-
private _serviceName;
|
|
17
|
-
private constructor();
|
|
18
|
-
/**
|
|
19
|
-
* Get the keychain service name (lazy-loaded from config)
|
|
20
|
-
*/
|
|
21
|
-
private get serviceName();
|
|
22
|
-
static getInstance(): KeychainManager;
|
|
23
|
-
/**
|
|
24
|
-
* Get the device identity from keychain
|
|
25
|
-
*/
|
|
26
|
-
getDeviceIdentity(): Promise<DeviceIdentity | null>;
|
|
27
|
-
/**
|
|
28
|
-
* Set the device identity in keychain
|
|
29
|
-
*/
|
|
30
|
-
setDeviceIdentity(identity: DeviceIdentity): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Get or create device identity
|
|
33
|
-
*/
|
|
34
|
-
getOrCreateDeviceIdentity(): Promise<DeviceIdentity>;
|
|
35
|
-
/**
|
|
36
|
-
* Get device ID (creates identity if needed)
|
|
37
|
-
*/
|
|
38
|
-
getDeviceId(): Promise<string>;
|
|
39
|
-
/**
|
|
40
|
-
* Get device public key (creates identity if needed)
|
|
41
|
-
*/
|
|
42
|
-
getDevicePublicKey(): Promise<string>;
|
|
43
|
-
/**
|
|
44
|
-
* Get device private key (creates identity if needed)
|
|
45
|
-
*/
|
|
46
|
-
getDevicePrivateKey(): Promise<string>;
|
|
47
|
-
/**
|
|
48
|
-
* Check if device identity exists
|
|
49
|
-
*/
|
|
50
|
-
hasDeviceIdentity(): Promise<boolean>;
|
|
51
|
-
/**
|
|
52
|
-
* Delete device identity (reset device)
|
|
53
|
-
*/
|
|
54
|
-
deleteDeviceIdentity(): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Get token account name for environment
|
|
57
|
-
*/
|
|
58
|
-
private getTokenAccount;
|
|
59
|
-
/**
|
|
60
|
-
* Get OAuth tokens for environment
|
|
61
|
-
*/
|
|
62
|
-
getTokens(environment?: string): Promise<TokenData | null>;
|
|
63
|
-
/**
|
|
64
|
-
* Save OAuth tokens for environment
|
|
65
|
-
*/
|
|
66
|
-
setTokens(tokens: TokenData, environment?: string): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Delete OAuth tokens for environment
|
|
69
|
-
*/
|
|
70
|
-
deleteTokens(environment?: string): Promise<boolean>;
|
|
71
|
-
/**
|
|
72
|
-
* Check if token is expired
|
|
73
|
-
*/
|
|
74
|
-
isTokenExpired(tokens: TokenData): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Get session key for a session, decrypting from encryptedKeys if needed
|
|
77
|
-
*/
|
|
78
|
-
getSessionKey(sessionId: string, encryptedKeys?: EncryptedSessionKey[]): Promise<string | null>;
|
|
79
|
-
/**
|
|
80
|
-
* Generate and encrypt a new session key for all devices
|
|
81
|
-
*/
|
|
82
|
-
createSessionKey(devicePublicKeys: Array<{
|
|
83
|
-
deviceId: string;
|
|
84
|
-
publicKey: string;
|
|
85
|
-
}>): {
|
|
86
|
-
sessionKey: string;
|
|
87
|
-
encryptedKeys: EncryptedSessionKey[];
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Cache a session key
|
|
91
|
-
*/
|
|
92
|
-
cacheSessionKey(sessionId: string, sessionKey: string): void;
|
|
93
|
-
/**
|
|
94
|
-
* Clear cached session key
|
|
95
|
-
*/
|
|
96
|
-
clearSessionKey(sessionId: string): void;
|
|
97
|
-
/**
|
|
98
|
-
* Clear all cached session keys
|
|
99
|
-
*/
|
|
100
|
-
clearAllSessionKeys(): void;
|
|
101
|
-
/**
|
|
102
|
-
* Get registration status
|
|
103
|
-
*/
|
|
104
|
-
getIsRegistered(): boolean;
|
|
105
|
-
/**
|
|
106
|
-
* Set registration status
|
|
107
|
-
*/
|
|
108
|
-
setIsRegistered(registered: boolean): void;
|
|
109
|
-
/**
|
|
110
|
-
* Get device name for registration
|
|
111
|
-
*/
|
|
112
|
-
getDeviceName(): string;
|
|
113
|
-
/**
|
|
114
|
-
* Get platform for registration
|
|
115
|
-
*/
|
|
116
|
-
getDevicePlatform(): string;
|
|
117
|
-
/**
|
|
118
|
-
* Clear all data (device identity + all tokens)
|
|
119
|
-
*/
|
|
120
|
-
clearAllData(): Promise<void>;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Export singleton instance
|
|
124
|
-
*/
|
|
125
|
-
export declare const keychainManager: KeychainManager;
|