locker-cli 0.1.1 → 0.1.2
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/dist/auth/client.js +7 -1
- package/dist/auth/client.js.map +1 -1
- package/dist/commands/api.test.js +1 -1
- package/dist/commands/api.test.js.map +1 -1
- package/dist/commands/set.d.ts +3 -1
- package/dist/commands/set.js +37 -2
- package/dist/commands/set.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/auth/client.ts +8 -1
- package/src/commands/api.test.ts +1 -1
- package/src/commands/set.ts +37 -2
- package/src/index.ts +3 -2
package/dist/auth/client.js
CHANGED
|
@@ -3,12 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.apiRequest = apiRequest;
|
|
4
4
|
exports.authRequest = authRequest;
|
|
5
5
|
exports.getDefaultApiUrl = getDefaultApiUrl;
|
|
6
|
-
const DEFAULT_API_URL = "
|
|
6
|
+
const DEFAULT_API_URL = "https://api-production-449f.up.railway.app";
|
|
7
|
+
function warnIfInsecure(url) {
|
|
8
|
+
if (url.startsWith("http://") && !url.includes("localhost") && !url.includes("127.0.0.1")) {
|
|
9
|
+
console.error("WARNING: Connecting over HTTP to a remote server. Your tokens and keys are NOT encrypted in transit.");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
7
12
|
/**
|
|
8
13
|
* Makes an authenticated request to the Locker API.
|
|
9
14
|
* Handles common error cases (expired token, network, not found).
|
|
10
15
|
*/
|
|
11
16
|
async function apiRequest(method, path, config, body, headers) {
|
|
17
|
+
warnIfInsecure(config.apiUrl);
|
|
12
18
|
const url = `${config.apiUrl}${path}`;
|
|
13
19
|
const reqHeaders = {
|
|
14
20
|
"Content-Type": "application/json",
|
package/dist/auth/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/auth/client.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/auth/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,7 +106,7 @@ const testConfig = {
|
|
|
106
106
|
});
|
|
107
107
|
(0, vitest_1.it)("returns default URL when env var is not set", () => {
|
|
108
108
|
delete process.env.LOCKER_API_URL;
|
|
109
|
-
(0, vitest_1.expect)((0, client_1.getDefaultApiUrl)()).toBe("
|
|
109
|
+
(0, vitest_1.expect)((0, client_1.getDefaultApiUrl)()).toBe("https://api-production-449f.up.railway.app");
|
|
110
110
|
});
|
|
111
111
|
(0, vitest_1.it)("returns env var when set", () => {
|
|
112
112
|
process.env.LOCKER_API_URL = "https://api.locker.dev";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../src/commands/api.test.ts"],"names":[],"mappings":";;AAAA,mCAAyE;AACzE,2CAA2E;AAE3E,oBAAoB;AACpB,MAAM,SAAS,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;AAC1B,WAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAElC,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,uBAAuB;CAChC,CAAC;AAEF,IAAA,mBAAU,EAAC,GAAG,EAAE;IACd,WAAE,CAAC,eAAe,EAAE,CAAC;IACrB,WAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAA,WAAE,EAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzD,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,4BAA4B,EAC5B,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,eAAM,CAAC,gBAAgB,CAAC;gBAC/B,aAAa,EAAE,uBAAuB;aACvC,CAAC;SACH,CAAC,CACH,CAAC;QACF,IAAA,eAAM,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SACtC,CAAC,CAAC;QAEH,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE;YAC7D,oBAAoB,EAAE,aAAa;SACpC,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,mCAAmC,EACnC,eAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,eAAM,CAAC,gBAAgB,CAAC;gBAC/B,oBAAoB,EAAE,aAAa;gBACnC,aAAa,EAAE,uBAAuB;aACvC,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,IAAA,mBAAU,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;YAC5C,OAAO,EAAE,QAAQ;YACjB,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,4BAA4B,EAC5B,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;SAClE,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;SACnE,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QACjE,IAAA,eAAM,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAA,eAAM,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,WAAE,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE;aAC7C,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAW,EAAC,MAAM,EAAE,aAAa,EAAE,uBAAuB,EAAE;YAC5E,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAA,eAAM,EAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,uCAAuC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAE/C,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,WAAW,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAClC,IAAA,eAAM,EAAC,IAAA,yBAAgB,GAAE,CAAC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../src/commands/api.test.ts"],"names":[],"mappings":";;AAAA,mCAAyE;AACzE,2CAA2E;AAE3E,oBAAoB;AACpB,MAAM,SAAS,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;AAC1B,WAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAElC,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,uBAAuB;CAChC,CAAC;AAEF,IAAA,mBAAU,EAAC,GAAG,EAAE;IACd,WAAE,CAAC,eAAe,EAAE,CAAC;IACrB,WAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAA,WAAE,EAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzD,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,4BAA4B,EAC5B,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,eAAM,CAAC,gBAAgB,CAAC;gBAC/B,aAAa,EAAE,uBAAuB;aACvC,CAAC;SACH,CAAC,CACH,CAAC;QACF,IAAA,eAAM,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SACtC,CAAC,CAAC;QAEH,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE;YAC7D,oBAAoB,EAAE,aAAa;SACpC,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,mCAAmC,EACnC,eAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,eAAM,CAAC,gBAAgB,CAAC;gBAC/B,oBAAoB,EAAE,aAAa;gBACnC,aAAa,EAAE,uBAAuB;aACvC,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,IAAA,mBAAU,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;YAC5C,OAAO,EAAE,QAAQ;YACjB,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,4BAA4B,EAC5B,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;SAClE,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;SACnE,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QACjE,IAAA,eAAM,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAA,eAAM,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,WAAE,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,SAAS,CAAC,qBAAqB,CAAC;YAC9B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE;aAC7C,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAW,EAAC,MAAM,EAAE,aAAa,EAAE,uBAAuB,EAAE;YAC5E,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAA,eAAM,EAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,uCAAuC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAE/C,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,WAAW,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAClC,IAAA,eAAM,EAAC,IAAA,yBAAgB,GAAE,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,wBAAwB,CAAC;QACtD,IAAA,eAAM,EAAC,IAAA,yBAAgB,GAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/commands/set.d.ts
CHANGED
package/dist/commands/set.js
CHANGED
|
@@ -1,11 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.setCommand = setCommand;
|
|
7
|
+
const node_readline_1 = __importDefault(require("node:readline"));
|
|
4
8
|
const config_1 = require("../auth/config");
|
|
5
9
|
const client_1 = require("../auth/client");
|
|
6
|
-
|
|
10
|
+
function readStdin() {
|
|
11
|
+
return new Promise((resolve) => {
|
|
12
|
+
let data = "";
|
|
13
|
+
process.stdin.setEncoding("utf8");
|
|
14
|
+
process.stdin.on("data", (chunk) => { data += chunk; });
|
|
15
|
+
process.stdin.on("end", () => { resolve(data.trim()); });
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function prompt(question) {
|
|
19
|
+
const rl = node_readline_1.default.createInterface({ input: process.stdin, output: process.stderr });
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
rl.question(question, (answer) => { rl.close(); resolve(answer); });
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async function setCommand(service, key, options) {
|
|
25
|
+
let apiKey = key;
|
|
26
|
+
// [M6] If no key arg and not piped, prompt securely
|
|
27
|
+
if (!apiKey && options.stdin) {
|
|
28
|
+
apiKey = await readStdin();
|
|
29
|
+
}
|
|
30
|
+
else if (!apiKey) {
|
|
31
|
+
if (process.stdin.isTTY) {
|
|
32
|
+
apiKey = await prompt("API Key: ");
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
apiKey = await readStdin();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (!apiKey) {
|
|
39
|
+
console.error("API key is required. Pass it as an argument, via --stdin, or interactively.");
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
7
42
|
const config = (0, config_1.requireAuth)();
|
|
8
|
-
const res = await (0, client_1.apiRequest)("POST", "/keys", config, { service, key });
|
|
43
|
+
const res = await (0, client_1.apiRequest)("POST", "/keys", config, { service, key: apiKey });
|
|
9
44
|
if (!res.ok) {
|
|
10
45
|
console.error(res.data.error || "Failed to store key.");
|
|
11
46
|
process.exit(1);
|
package/dist/commands/set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":";;;;;AAoBA,gCAkCC;AAtDD,kEAAqC;AACrC,2CAA6C;AAC7C,2CAA4C;AAE5C,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,QAAgB;IAC9B,MAAM,EAAE,GAAG,uBAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,GAAuB,EAAE,OAA4B;IACrG,IAAI,MAAM,GAAG,GAAG,CAAC;IAEjB,oDAAoD;IACpD,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IAC7B,CAAC;SAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,oBAAW,GAAE,CAAC;IAE7B,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAU,EAC1B,MAAM,EACN,OAAO,EACP,MAAM,EACN,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CACzB,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -35,8 +35,9 @@ program
|
|
|
35
35
|
.option("--agent <name>", "Agent identifier for audit log")
|
|
36
36
|
.action(get_1.getCommand);
|
|
37
37
|
program
|
|
38
|
-
.command("set <service>
|
|
39
|
-
.description("Store an API key")
|
|
38
|
+
.command("set <service> [key]")
|
|
39
|
+
.description("Store an API key (prompts if key not provided)")
|
|
40
|
+
.option("--stdin", "Read key from stdin")
|
|
40
41
|
.action(set_1.setCommand);
|
|
41
42
|
program
|
|
42
43
|
.command("list")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,wCAA4C;AAC5C,wCAA4C;AAC5C,0CAA8C;AAC9C,8CAAkD;AAClD,wCAAwE;AAExE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,YAAY,EAAE,sBAAsB,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;KACvC,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;KAC1D,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,wCAA4C;AAC5C,wCAA4C;AAC5C,0CAA8C;AAC9C,8CAAkD;AAClD,wCAAwE;AAExE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,YAAY,EAAE,sBAAsB,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;KACvC,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;KAC1D,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC;KACxC,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,MAAM,GAAG,GAAG,OAAO;KAChB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,GAAG;KACA,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,uBAAiB,CAAC,CAAC;AAE7B,GAAG;KACA,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,yBAAmB,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
package/src/auth/client.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { LockerConfig } from "./config";
|
|
2
2
|
|
|
3
|
-
const DEFAULT_API_URL = "
|
|
3
|
+
const DEFAULT_API_URL = "https://api-production-449f.up.railway.app";
|
|
4
|
+
|
|
5
|
+
function warnIfInsecure(url: string) {
|
|
6
|
+
if (url.startsWith("http://") && !url.includes("localhost") && !url.includes("127.0.0.1")) {
|
|
7
|
+
console.error("WARNING: Connecting over HTTP to a remote server. Your tokens and keys are NOT encrypted in transit.");
|
|
8
|
+
}
|
|
9
|
+
}
|
|
4
10
|
|
|
5
11
|
export interface ApiResponse<T = any> {
|
|
6
12
|
ok: boolean;
|
|
@@ -19,6 +25,7 @@ export async function apiRequest<T = any>(
|
|
|
19
25
|
body?: Record<string, any>,
|
|
20
26
|
headers?: Record<string, string>
|
|
21
27
|
): Promise<ApiResponse<T>> {
|
|
28
|
+
warnIfInsecure(config.apiUrl);
|
|
22
29
|
const url = `${config.apiUrl}${path}`;
|
|
23
30
|
const reqHeaders: Record<string, string> = {
|
|
24
31
|
"Content-Type": "application/json",
|
package/src/commands/api.test.ts
CHANGED
|
@@ -133,7 +133,7 @@ describe("getDefaultApiUrl", () => {
|
|
|
133
133
|
|
|
134
134
|
it("returns default URL when env var is not set", () => {
|
|
135
135
|
delete process.env.LOCKER_API_URL;
|
|
136
|
-
expect(getDefaultApiUrl()).toBe("
|
|
136
|
+
expect(getDefaultApiUrl()).toBe("https://api-production-449f.up.railway.app");
|
|
137
137
|
});
|
|
138
138
|
|
|
139
139
|
it("returns env var when set", () => {
|
package/src/commands/set.ts
CHANGED
|
@@ -1,14 +1,49 @@
|
|
|
1
|
+
import readline from "node:readline";
|
|
1
2
|
import { requireAuth } from "../auth/config";
|
|
2
3
|
import { apiRequest } from "../auth/client";
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
function readStdin(): Promise<string> {
|
|
6
|
+
return new Promise((resolve) => {
|
|
7
|
+
let data = "";
|
|
8
|
+
process.stdin.setEncoding("utf8");
|
|
9
|
+
process.stdin.on("data", (chunk) => { data += chunk; });
|
|
10
|
+
process.stdin.on("end", () => { resolve(data.trim()); });
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function prompt(question: string): Promise<string> {
|
|
15
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
rl.question(question, (answer) => { rl.close(); resolve(answer); });
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export async function setCommand(service: string, key: string | undefined, options: { stdin?: boolean }) {
|
|
22
|
+
let apiKey = key;
|
|
23
|
+
|
|
24
|
+
// [M6] If no key arg and not piped, prompt securely
|
|
25
|
+
if (!apiKey && options.stdin) {
|
|
26
|
+
apiKey = await readStdin();
|
|
27
|
+
} else if (!apiKey) {
|
|
28
|
+
if (process.stdin.isTTY) {
|
|
29
|
+
apiKey = await prompt("API Key: ");
|
|
30
|
+
} else {
|
|
31
|
+
apiKey = await readStdin();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!apiKey) {
|
|
36
|
+
console.error("API key is required. Pass it as an argument, via --stdin, or interactively.");
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
|
|
5
40
|
const config = requireAuth();
|
|
6
41
|
|
|
7
42
|
const res = await apiRequest(
|
|
8
43
|
"POST",
|
|
9
44
|
"/keys",
|
|
10
45
|
config,
|
|
11
|
-
{ service, key }
|
|
46
|
+
{ service, key: apiKey }
|
|
12
47
|
);
|
|
13
48
|
|
|
14
49
|
if (!res.ok) {
|
package/src/index.ts
CHANGED
|
@@ -41,8 +41,9 @@ program
|
|
|
41
41
|
.action(getCommand);
|
|
42
42
|
|
|
43
43
|
program
|
|
44
|
-
.command("set <service>
|
|
45
|
-
.description("Store an API key")
|
|
44
|
+
.command("set <service> [key]")
|
|
45
|
+
.description("Store an API key (prompts if key not provided)")
|
|
46
|
+
.option("--stdin", "Read key from stdin")
|
|
46
47
|
.action(setCommand);
|
|
47
48
|
|
|
48
49
|
program
|