diff --git a/core/package.json b/core/package.json index 99b6f08f..4f76b50e 100644 --- a/core/package.json +++ b/core/package.json @@ -7,6 +7,7 @@ }, "license": "MIT", "dependencies": { + "@inquirer/prompts": "^5.3.2", "@livestack/shared": "^0.0.32", "@livestack/vault-client": "^0.0.32", "@livestack/vault-interface": "^0.0.32", diff --git a/vault-client/src/index.ts b/vault-client/src/index.ts index dc0e1f55..9ab0334e 100644 --- a/vault-client/src/index.ts +++ b/vault-client/src/index.ts @@ -31,7 +31,26 @@ const connOpts = { // "grpc.client_idle_timeout_ms": ONE_YEAR, "grpc.keepalive_permit_without_calls": 1, }; +import select, { Separator } from "@inquirer/select"; export async function findSuitableVaultServer(authToken: string) { + const answer = await select({ + message: + "Select a vault server option to continue \n(help: https://live.dev/DOC_TODO).", + choices: [ + { + name: "live.dev (recommended)", + value: "live_dot_dev", + description: + "Cloud-based, user-friendly environment with live data visualization, production-ready scaling, plus more.", + }, + { + name: "A minimal, local vault daemon", + value: "local", + description: + "Suitable for development and full local testing scenarios.", + }, + ], + }); const clientFactory = createClientFactory().use(retryMiddleware); let vaultServerURL: string; diff --git a/yarn.lock b/yarn.lock index affd54d9..e184718a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2644,6 +2644,173 @@ __metadata: languageName: node linkType: hard +"@inquirer/checkbox@npm:^2.4.2": + version: 2.4.2 + resolution: "@inquirer/checkbox@npm:2.4.2" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.1" + ansi-escapes: "npm:^4.3.2" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/92f0d8af4bb4a1c67bb55213304bd9a1dd9b3cfad36c645a11dd869208b252bc8204f153af55d06829e3ca5a5aadc112b813f45326ac3fb4e9aff4215a0fce71 + languageName: node + linkType: hard + +"@inquirer/confirm@npm:^3.1.17": + version: 3.1.17 + resolution: "@inquirer/confirm@npm:3.1.17" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + checksum: 10c0/45758e10691359bae5c5bc5e2ea3d24843be9b1c8180aa47725ec1b20c5e8601b3efa30f5a941595a47dde157d29cc233219ab9ddc486935d510f7479d731fe7 + languageName: node + linkType: hard + +"@inquirer/core@npm:^9.0.5": + version: 9.0.5 + resolution: "@inquirer/core@npm:9.0.5" + dependencies: + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.1" + "@types/mute-stream": "npm:^0.0.4" + "@types/node": "npm:^20.14.11" + "@types/wrap-ansi": "npm:^3.0.0" + ansi-escapes: "npm:^4.3.2" + cli-spinners: "npm:^2.9.2" + cli-width: "npm:^4.1.0" + mute-stream: "npm:^1.0.0" + signal-exit: "npm:^4.1.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^6.2.0" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/5cbf43b61213933c0704f80d867f2c854cae00f9c8b4304fa6d9332eb0d143952e65286ccc3fae48bd15095ea85486b556ae95151e7a05a87b770f1867f8257e + languageName: node + linkType: hard + +"@inquirer/editor@npm:^2.1.17": + version: 2.1.17 + resolution: "@inquirer/editor@npm:2.1.17" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + external-editor: "npm:^3.1.0" + checksum: 10c0/b51439bd1975affaa6cfb29797b38d364adebe674792638ee21484894d7d1881ed333ed3114ea3b610f5251590a4052adf5852a13dffcf36b617c3e206e0af51 + languageName: node + linkType: hard + +"@inquirer/expand@npm:^2.1.17": + version: 2.1.17 + resolution: "@inquirer/expand@npm:2.1.17" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/1a3c94a73fe0c90bdb9a3552a173f17c9d5dfcf7c39ad0d479c18a4b447b9737a85b3d6e671526f09cef734f5e4b3d8e4394fb172eee8a8056d410a5fe3205a9 + languageName: node + linkType: hard + +"@inquirer/figures@npm:^1.0.5": + version: 1.0.5 + resolution: "@inquirer/figures@npm:1.0.5" + checksum: 10c0/ec9ba23db42cb33fa18eb919abf2a18e750e739e64c1883ce4a98345cd5711c60cac12d1faf56a859f52d387deb221c8d3dfe60344ee07955a9a262f8b821fe3 + languageName: node + linkType: hard + +"@inquirer/input@npm:^2.2.4": + version: 2.2.4 + resolution: "@inquirer/input@npm:2.2.4" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + checksum: 10c0/f5c02215a080bde45abdc41b06738fd6a97bdb811a9752238ac399fe9e192f49b32343aa7c1e95f057fd7e0252328f657b760e1f69b63febf90449369ce77acd + languageName: node + linkType: hard + +"@inquirer/number@npm:^1.0.5": + version: 1.0.5 + resolution: "@inquirer/number@npm:1.0.5" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + checksum: 10c0/e9eadc32f8bb5a3b84b0156740bdec626cde19c698e55cf152c03790fd6ae995631e7402083d5de1be10cff24c99b92eddcf60f8fd542701803b0326da47f859 + languageName: node + linkType: hard + +"@inquirer/password@npm:^2.1.17": + version: 2.1.17 + resolution: "@inquirer/password@npm:2.1.17" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + ansi-escapes: "npm:^4.3.2" + checksum: 10c0/756ad36c31d5eb94332c3330c81391e85f31301d45ba8a11d6b7e61bbd6854f39a72e9e0918b5f563de3e5f8e37934ad2f803d658a1b8a44600dc003df0d94cd + languageName: node + linkType: hard + +"@inquirer/prompts@npm:^5.3.2": + version: 5.3.2 + resolution: "@inquirer/prompts@npm:5.3.2" + dependencies: + "@inquirer/checkbox": "npm:^2.4.2" + "@inquirer/confirm": "npm:^3.1.17" + "@inquirer/editor": "npm:^2.1.17" + "@inquirer/expand": "npm:^2.1.17" + "@inquirer/input": "npm:^2.2.4" + "@inquirer/number": "npm:^1.0.5" + "@inquirer/password": "npm:^2.1.17" + "@inquirer/rawlist": "npm:^2.1.17" + "@inquirer/search": "npm:^1.0.2" + "@inquirer/select": "npm:^2.4.2" + checksum: 10c0/c7ebddb92b8b1cc6de544b1885502d8b2069fcd281610aae924cff12bee9679cc72c556942255b87317b44c4cca2a5121fc55c51d40f8fb41aecfd3da7f1c037 + languageName: node + linkType: hard + +"@inquirer/rawlist@npm:^2.1.17": + version: 2.1.17 + resolution: "@inquirer/rawlist@npm:2.1.17" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/type": "npm:^1.5.1" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/cf1339e4a877ed71d2d1bc118537372726a83ffcb1c2df7cdb8f5f92a40b8134d9730905d9c21657725e8b8e84ce7ed5b3ac7dab702808eafb9990fde7f5a15f + languageName: node + linkType: hard + +"@inquirer/search@npm:^1.0.2": + version: 1.0.2 + resolution: "@inquirer/search@npm:1.0.2" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.1" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/482ee6aa03e57d5ff08668a6581b1ddb12643ef3224ccbd01c612216b070255ca09009c4ad53ab2ddc32b3017fd762af6fda2c313d002edaa75c37a9bd9a9a09 + languageName: node + linkType: hard + +"@inquirer/select@npm:^2.4.2": + version: 2.4.2 + resolution: "@inquirer/select@npm:2.4.2" + dependencies: + "@inquirer/core": "npm:^9.0.5" + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.1" + ansi-escapes: "npm:^4.3.2" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/49bbf7aab3447698486c027c2fc08191723a23a9e2e47361400ead58c18d702ea9843d71cb4e0e2414c258123716e15eebeb9314f68e26cd7caf0531f29d595d + languageName: node + linkType: hard + +"@inquirer/type@npm:^1.5.1": + version: 1.5.1 + resolution: "@inquirer/type@npm:1.5.1" + dependencies: + mute-stream: "npm:^1.0.0" + checksum: 10c0/a4fa548179210b55102c05bb7f475bb757385fb5ccbc7f8f20b8020d9f3acb75d544f26292b35ebb8b7b5ebac54ecb503d238058aea4a34f2b47b78c8c63020e + languageName: node + linkType: hard + "@ioredis/commands@npm:^1.1.1": version: 1.2.0 resolution: "@ioredis/commands@npm:1.2.0" @@ -3748,6 +3915,7 @@ __metadata: "@babel/core": "npm:^7.24.5" "@babel/preset-env": "npm:^7.16.7" "@babel/preset-typescript": "npm:^7.16.7" + "@inquirer/prompts": "npm:^5.3.2" "@livestack/shared": "npm:^0.0.32" "@livestack/vault-client": "npm:^0.0.32" "@livestack/vault-interface": "npm:^0.0.32" @@ -6118,6 +6286,15 @@ __metadata: languageName: node linkType: hard +"@types/mute-stream@npm:^0.0.4": + version: 0.0.4 + resolution: "@types/mute-stream@npm:0.0.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/944730fd7b398c5078de3c3d4d0afeec8584283bc694da1803fdfca14149ea385e18b1b774326f1601baf53898ce6d121a952c51eb62d188ef6fcc41f725c0dc + languageName: node + linkType: hard + "@types/node-fetch@npm:^2.6.4": version: 2.6.11 resolution: "@types/node-fetch@npm:2.6.11" @@ -6153,6 +6330,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^20.14.11": + version: 20.14.12 + resolution: "@types/node@npm:20.14.12" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/59bc5fa11fdd23fd517f859063118f54a1ab53d3399ef63c926f8902429d7453abc0db22ef4b0a6110026b6ab81b6472fee894e1d235c24b01a0b3e10cfae0bb + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.0": version: 2.4.4 resolution: "@types/normalize-package-data@npm:2.4.4" @@ -6265,6 +6451,13 @@ __metadata: languageName: node linkType: hard +"@types/wrap-ansi@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/wrap-ansi@npm:3.0.0" + checksum: 10c0/8d8f53363f360f38135301a06b596c295433ad01debd082078c33c6ed98b05a5c8fe8853a88265432126096084f4a135ec1564e3daad631b83296905509f90b3 + languageName: node + linkType: hard + "@types/ws@npm:^8.2.2, @types/ws@npm:^8.5.10": version: 8.5.10 resolution: "@types/ws@npm:8.5.10" @@ -6482,7 +6675,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -7459,7 +7652,7 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.5.0": +"cli-spinners@npm:^2.5.0, cli-spinners@npm:^2.9.2": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 @@ -7473,6 +7666,13 @@ __metadata: languageName: node linkType: hard +"cli-width@npm:^4.1.0": + version: 4.1.0 + resolution: "cli-width@npm:4.1.0" + checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -9155,7 +9355,7 @@ __metadata: languageName: node linkType: hard -"external-editor@npm:^3.0.3": +"external-editor@npm:^3.0.3, external-editor@npm:^3.1.0": version: 3.1.0 resolution: "external-editor@npm:3.1.0" dependencies: @@ -16041,7 +16241,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 @@ -17827,7 +18027,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.0.1": +"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" dependencies: @@ -18073,6 +18273,13 @@ __metadata: languageName: node linkType: hard +"yoctocolors-cjs@npm:^2.1.2": + version: 2.1.2 + resolution: "yoctocolors-cjs@npm:2.1.2" + checksum: 10c0/a0e36eb88fea2c7981eab22d1ba45e15d8d268626e6c4143305e2c1628fa17ebfaa40cd306161a8ce04c0a60ee0262058eab12567493d5eb1409780853454c6f + languageName: node + linkType: hard + "zod-to-json-schema@npm:^3.22.3, zod-to-json-schema@npm:^3.22.4, zod-to-json-schema@npm:^3.22.5": version: 3.23.0 resolution: "zod-to-json-schema@npm:3.23.0"