@sinch/cli 0.1.27-beta.0 → 0.1.28-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +198 -198
- package/bin/sinch +2 -2
- package/dist/commands/conversations/apps.d.ts +2 -0
- package/dist/commands/conversations/apps.d.ts.map +1 -0
- package/dist/commands/conversations/apps.js +162 -0
- package/dist/commands/conversations/apps.js.map +1 -0
- package/dist/commands/conversations/contacts.d.ts +2 -0
- package/dist/commands/conversations/contacts.d.ts.map +1 -0
- package/dist/commands/conversations/contacts.js +245 -0
- package/dist/commands/conversations/contacts.js.map +1 -0
- package/dist/commands/conversations/conversation.d.ts +2 -0
- package/dist/commands/conversations/conversation.d.ts.map +1 -0
- package/dist/commands/conversations/conversation.js +19 -0
- package/dist/commands/conversations/conversation.js.map +1 -0
- package/dist/commands/conversations/conversations.d.ts +2 -0
- package/dist/commands/conversations/conversations.d.ts.map +1 -0
- package/dist/commands/conversations/conversations.js +104 -0
- package/dist/commands/conversations/conversations.js.map +1 -0
- package/dist/commands/conversations/messages.d.ts +2 -0
- package/dist/commands/conversations/messages.d.ts.map +1 -0
- package/dist/commands/conversations/messages.js +107 -0
- package/dist/commands/conversations/messages.js.map +1 -0
- package/dist/commands/conversations/send.d.ts +2 -0
- package/dist/commands/conversations/send.d.ts.map +1 -0
- package/dist/commands/conversations/send.js +185 -0
- package/dist/commands/conversations/send.js.map +1 -0
- package/dist/commands/conversations/utils.d.ts +4 -0
- package/dist/commands/conversations/utils.d.ts.map +1 -0
- package/dist/commands/conversations/utils.js +30 -0
- package/dist/commands/conversations/utils.js.map +1 -0
- package/dist/commands/conversations/webhooks.d.ts +2 -0
- package/dist/commands/conversations/webhooks.d.ts.map +1 -0
- package/dist/commands/conversations/webhooks.js +238 -0
- package/dist/commands/conversations/webhooks.js.map +1 -0
- package/dist/commands/delete.d.ts +2 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +93 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/deploy.d.ts +2 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +687 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +2 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +460 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs.d.ts +2 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +105 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/download.d.ts +2 -0
- package/dist/commands/download.d.ts.map +1 -0
- package/dist/commands/download.js +207 -0
- package/dist/commands/download.js.map +1 -0
- package/dist/commands/functions.d.ts +2 -0
- package/dist/commands/functions.d.ts.map +1 -0
- package/dist/commands/functions.js +25 -0
- package/dist/commands/functions.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +552 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +180 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/logs.d.ts +2 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +1001 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/secrets.d.ts +2 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +197 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/skills.d.ts +4 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +309 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +145 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/templates.d.ts +2 -0
- package/dist/commands/templates.d.ts.map +1 -0
- package/dist/commands/templates.js +168 -0
- package/dist/commands/templates.js.map +1 -0
- package/dist/commands/voice.d.ts +2 -0
- package/dist/commands/voice.d.ts.map +1 -0
- package/dist/commands/voice.js +259 -0
- package/dist/commands/voice.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +780 -325
- package/dist/index.js.map +1 -0
- package/dist/lib/api.d.ts +73 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +455 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/config.d.ts +68 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +276 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/conversation.d.ts +8 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +179 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/credentials.d.ts +43 -0
- package/dist/lib/credentials.d.ts.map +1 -0
- package/dist/lib/credentials.js +365 -0
- package/dist/lib/credentials.js.map +1 -0
- package/dist/lib/docs-utils.d.ts +13 -0
- package/dist/lib/docs-utils.d.ts.map +1 -0
- package/dist/lib/docs-utils.js +115 -0
- package/dist/lib/docs-utils.js.map +1 -0
- package/dist/lib/update-check.d.ts +5 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +114 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/voice.d.ts +3 -0
- package/dist/lib/voice.d.ts.map +1 -0
- package/dist/lib/voice.js +49 -0
- package/dist/lib/voice.js.map +1 -0
- package/dist/package.json +71 -0
- package/dist/utils/logger.d.ts +28 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +138 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/spinner.d.ts +17 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/spinner.js +75 -0
- package/dist/utils/spinner.js.map +1 -0
- package/package.json +71 -71
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/lib/voice.ts"],"names":[],"mappings":"AAeA,iBAAe,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDxE;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.updateVoiceCallbackUrl = updateVoiceCallbackUrl;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
const logger_1 = require("../utils/logger");
|
|
10
|
+
async function updateVoiceCallbackUrl(callbackUrl) {
|
|
11
|
+
if (!await config_1.config.hasCredentials()) {
|
|
12
|
+
throw new Error('No Sinch credentials found. Run "sinch auth login" first.');
|
|
13
|
+
}
|
|
14
|
+
const appCreds = await config_1.config.getApplicationCredentials();
|
|
15
|
+
if (!appCreds) {
|
|
16
|
+
throw new Error('No application credentials found. Run "sinch auth login" first.');
|
|
17
|
+
}
|
|
18
|
+
const appKey = appCreds.applicationKey;
|
|
19
|
+
const url = `https://callingapi.sinch.com/v1/configuration/callbacks/applications/${appKey}/`;
|
|
20
|
+
const requestBody = {
|
|
21
|
+
url: {
|
|
22
|
+
primary: callbackUrl
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const authString = `${appCreds.applicationKey}:${appCreds.applicationSecret}`;
|
|
26
|
+
const base64Auth = Buffer.from(authString).toString('base64');
|
|
27
|
+
await axios_1.default.post(url, requestBody, {
|
|
28
|
+
headers: {
|
|
29
|
+
Authorization: `Basic ${base64Auth}`,
|
|
30
|
+
'Content-Type': 'application/json',
|
|
31
|
+
},
|
|
32
|
+
timeout: 10000,
|
|
33
|
+
});
|
|
34
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
35
|
+
const verifyResponse = await axios_1.default.get(url, {
|
|
36
|
+
headers: {
|
|
37
|
+
Authorization: `Basic ${base64Auth}`,
|
|
38
|
+
},
|
|
39
|
+
timeout: 10000,
|
|
40
|
+
});
|
|
41
|
+
const currentCallbacks = verifyResponse.data;
|
|
42
|
+
const configuredUrl = currentCallbacks?.url?.primary;
|
|
43
|
+
if (configuredUrl !== callbackUrl) {
|
|
44
|
+
logger_1.logger.debug(`Callback verification mismatch. Expected: ${callbackUrl}, Got: ${configuredUrl}`);
|
|
45
|
+
throw new Error(`Callback URL update verification failed. Expected: ${callbackUrl}, Got: ${configuredUrl}`);
|
|
46
|
+
}
|
|
47
|
+
logger_1.logger.debug('Voice callback URL successfully updated and verified');
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=voice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/lib/voice.ts"],"names":[],"mappings":";;;;;AAuES,wDAAsB;AAvE/B,kDAA0B;AAC1B,qCAAkC;AAClC,4CAAyC;AAazC,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAEvD,IAAI,CAAC,MAAM,eAAM,CAAC,cAAc,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAGD,MAAM,QAAQ,GAAG,MAAM,eAAM,CAAC,yBAAyB,EAAE,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC;IACvC,MAAM,GAAG,GAAG,wEAAwE,MAAM,GAAG,CAAC;IAG9F,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE;YACH,OAAO,EAAE,WAAW;SACrB;KACF,CAAC;IAGF,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAG9D,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE;QACjC,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,UAAU,EAAE;YACpC,cAAc,EAAE,kBAAkB;SACnC;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAGH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,cAAc,GAAG,MAAM,eAAK,CAAC,GAAG,CAAwB,GAAG,EAAE;QACjE,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,UAAU,EAAE;SACrC;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC;IAC7C,MAAM,aAAa,GAAG,gBAAgB,EAAE,GAAG,EAAE,OAAO,CAAC;IAErD,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QAClC,eAAM,CAAC,KAAK,CAAC,6CAA6C,WAAW,UAAU,aAAa,EAAE,CAAC,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,sDAAsD,WAAW,UAAU,aAAa,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,eAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sinch/cli",
|
|
3
|
+
"version": "0.1.28-beta.0",
|
|
4
|
+
"description": "Official Sinch CLI - Manage all Sinch products from your terminal",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"sinch": "bin/sinch"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"start": "tsx src/index.ts",
|
|
11
|
+
"dev": "tsx watch src/index.ts",
|
|
12
|
+
"build": "tsc && node scripts/post-build.js",
|
|
13
|
+
"build:prod": "tsup src/index.ts --format cjs --dts --clean --minify",
|
|
14
|
+
"typecheck": "tsc --noEmit",
|
|
15
|
+
"test": "jest",
|
|
16
|
+
"test:e2e": "jest --config tests/e2e/jest.config.js",
|
|
17
|
+
"test:e2e:staging": "jest --config tests/e2e/jest.config.js --env=staging",
|
|
18
|
+
"prepublishOnly": "npm run build"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [],
|
|
21
|
+
"author": "Sinch <support@sinch.com> (https://www.sinch.com)",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"private": false,
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public",
|
|
26
|
+
"registry": "https://registry.npmjs.org/"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://www.sinch.com/products/apis/voice/",
|
|
29
|
+
"files": [
|
|
30
|
+
"dist/",
|
|
31
|
+
"bin/",
|
|
32
|
+
"README.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@sinch/sdk-core": "^1.2.1",
|
|
37
|
+
"adm-zip": "^0.5.10",
|
|
38
|
+
"axios": "^1.7.9",
|
|
39
|
+
"blessed": "^0.1.81",
|
|
40
|
+
"chalk": "^4.1.2",
|
|
41
|
+
"chokidar": "^3.6.0",
|
|
42
|
+
"cli-spinners": "^2.9.2",
|
|
43
|
+
"cli-table3": "^0.6.3",
|
|
44
|
+
"clipboardy": "^2.3.0",
|
|
45
|
+
"commander": "^12.1.0",
|
|
46
|
+
"eventsource": "^4.0.0",
|
|
47
|
+
"form-data": "^4.0.0",
|
|
48
|
+
"fs-extra": "^11.1.1",
|
|
49
|
+
"inquirer": "8.2.7",
|
|
50
|
+
"keytar": "^7.9.0",
|
|
51
|
+
"ora": "^4.1.1"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/adm-zip": "^0.5.7",
|
|
55
|
+
"@types/blessed": "^0.1.25",
|
|
56
|
+
"@types/fs-extra": "^11.0.4",
|
|
57
|
+
"@types/inquirer": "^9.0.9",
|
|
58
|
+
"@types/keytar": "^4.4.0",
|
|
59
|
+
"@types/node": "^24.3.0",
|
|
60
|
+
"execa": "^5.1.1",
|
|
61
|
+
"jest": "^29.7.0",
|
|
62
|
+
"nodemon": "^3.0.1",
|
|
63
|
+
"tsup": "^8.5.0",
|
|
64
|
+
"tsx": "^4.20.4",
|
|
65
|
+
"typescript": "^5.9.2"
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=20.0.0",
|
|
69
|
+
"npm": ">=9.0.0"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
interface LoggerOptions {
|
|
2
|
+
verbose?: boolean;
|
|
3
|
+
}
|
|
4
|
+
interface ListOptions {
|
|
5
|
+
indent?: string;
|
|
6
|
+
bullet?: string;
|
|
7
|
+
}
|
|
8
|
+
declare class Logger {
|
|
9
|
+
private verbose;
|
|
10
|
+
private logFile;
|
|
11
|
+
constructor(options?: LoggerOptions);
|
|
12
|
+
private writeToFile;
|
|
13
|
+
info(message: string, ...args: any[]): void;
|
|
14
|
+
success(message: string, ...args: any[]): void;
|
|
15
|
+
warn(message: string, ...args: any[]): void;
|
|
16
|
+
error(message: string, ...args: any[]): void;
|
|
17
|
+
debug(message: string, ...args: any[]): void;
|
|
18
|
+
log(message: string, ...args: any[]): void;
|
|
19
|
+
title(message: string): void;
|
|
20
|
+
subtitle(message: string): void;
|
|
21
|
+
list(items: string[], options?: ListOptions): void;
|
|
22
|
+
private calculateColumnWidths;
|
|
23
|
+
table(headers: string[], rows: (string | number)[][]): void;
|
|
24
|
+
newline(): void;
|
|
25
|
+
}
|
|
26
|
+
declare const logger: Logger;
|
|
27
|
+
export { logger, Logger };
|
|
28
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,MAAM;IACV,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,aAAkB;IA0BvC,OAAO,CAAC,WAAW;IAUnB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK3C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK9C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAK1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI;IAOtD,OAAO,CAAC,qBAAqB;IAY7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI;IAe3D,OAAO,IAAI,IAAI;CAGhB;AAED,QAAA,MAAM,MAAM,QAAe,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.Logger = exports.logger = void 0;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const os = __importStar(require("os"));
|
|
44
|
+
class Logger {
|
|
45
|
+
verbose;
|
|
46
|
+
logFile;
|
|
47
|
+
constructor(options = {}) {
|
|
48
|
+
this.verbose = options.verbose || process.env.VERBOSE === 'true';
|
|
49
|
+
let functionName = 'cli';
|
|
50
|
+
try {
|
|
51
|
+
const sinchConfigPath = path.join(process.cwd(), 'sinch.json');
|
|
52
|
+
if (fs.existsSync(sinchConfigPath)) {
|
|
53
|
+
const config = JSON.parse(fs.readFileSync(sinchConfigPath, 'utf8'));
|
|
54
|
+
functionName = config.name || 'cli';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
}
|
|
59
|
+
this.logFile = path.join(os.tmpdir(), `sinch-${functionName}.log`);
|
|
60
|
+
try {
|
|
61
|
+
fs.writeFileSync(this.logFile, `=== Sinch CLI Debug Log - ${new Date().toISOString()} ===\n`, { flag: 'w' });
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
writeToFile(level, message, ...args) {
|
|
67
|
+
try {
|
|
68
|
+
const timestamp = new Date().toISOString();
|
|
69
|
+
const logEntry = `[${timestamp}] ${level}: ${message} ${args.length > 0 ? JSON.stringify(args) : ''}\n`;
|
|
70
|
+
fs.appendFileSync(this.logFile, logEntry);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
info(message, ...args) {
|
|
76
|
+
console.log(chalk_1.default.blue('ℹ'), message, ...args);
|
|
77
|
+
this.writeToFile('INFO', message, ...args);
|
|
78
|
+
}
|
|
79
|
+
success(message, ...args) {
|
|
80
|
+
console.log(chalk_1.default.green('✅'), message, ...args);
|
|
81
|
+
this.writeToFile('SUCCESS', message, ...args);
|
|
82
|
+
}
|
|
83
|
+
warn(message, ...args) {
|
|
84
|
+
console.log(chalk_1.default.yellow('⚠️ '), message, ...args);
|
|
85
|
+
this.writeToFile('WARN', message, ...args);
|
|
86
|
+
}
|
|
87
|
+
error(message, ...args) {
|
|
88
|
+
console.log(chalk_1.default.red('❌'), message, ...args);
|
|
89
|
+
this.writeToFile('ERROR', message, ...args);
|
|
90
|
+
}
|
|
91
|
+
debug(message, ...args) {
|
|
92
|
+
this.writeToFile('DEBUG', message, ...args);
|
|
93
|
+
if (this.verbose || process.env.DEBUG) {
|
|
94
|
+
console.log(chalk_1.default.gray('🐛'), chalk_1.default.gray(message), ...args);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
log(message, ...args) {
|
|
98
|
+
console.log(message, ...args);
|
|
99
|
+
}
|
|
100
|
+
title(message) {
|
|
101
|
+
console.log(chalk_1.default.blue.bold(`\n🎯 ${message}`));
|
|
102
|
+
}
|
|
103
|
+
subtitle(message) {
|
|
104
|
+
console.log(chalk_1.default.gray(`\n${message}`));
|
|
105
|
+
}
|
|
106
|
+
list(items, options = {}) {
|
|
107
|
+
const { indent = ' ', bullet = '•' } = options;
|
|
108
|
+
items.forEach(item => {
|
|
109
|
+
console.log(`${indent}${chalk_1.default.gray(bullet)} ${item}`);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
calculateColumnWidths(headers, rows) {
|
|
113
|
+
const colWidths = headers.map(h => h.length);
|
|
114
|
+
rows.forEach(row => {
|
|
115
|
+
row.forEach((cell, i) => {
|
|
116
|
+
colWidths[i] = Math.max(colWidths[i] ?? 0, String(cell).length);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
return colWidths;
|
|
120
|
+
}
|
|
121
|
+
table(headers, rows) {
|
|
122
|
+
const colWidths = this.calculateColumnWidths(headers, rows);
|
|
123
|
+
const headerRow = headers.map((h, i) => h.padEnd(colWidths[i] ?? 0)).join(' ');
|
|
124
|
+
console.log(chalk_1.default.bold(headerRow));
|
|
125
|
+
console.log(chalk_1.default.gray('-'.repeat(headerRow.length)));
|
|
126
|
+
rows.forEach(row => {
|
|
127
|
+
const rowStr = row.map((cell, i) => String(cell).padEnd(colWidths[i] ?? 0)).join(' ');
|
|
128
|
+
console.log(rowStr);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
newline() {
|
|
132
|
+
console.log();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.Logger = Logger;
|
|
136
|
+
const logger = new Logger();
|
|
137
|
+
exports.logger = logger;
|
|
138
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare class Spinner {
|
|
2
|
+
private spinner;
|
|
3
|
+
private spinnerType;
|
|
4
|
+
start(text: string): this;
|
|
5
|
+
succeed(text?: string): this;
|
|
6
|
+
fail(text?: string): this;
|
|
7
|
+
info(text?: string): this;
|
|
8
|
+
warn(text?: string): this;
|
|
9
|
+
stop(): this;
|
|
10
|
+
update(text: string): this;
|
|
11
|
+
get isSpinning(): boolean;
|
|
12
|
+
get text(): string;
|
|
13
|
+
set text(value: string);
|
|
14
|
+
}
|
|
15
|
+
declare const spinner: Spinner;
|
|
16
|
+
export { spinner, Spinner };
|
|
17
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAGA,cAAM,OAAO;IACX,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAoB;IAEvC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQzB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQzB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQzB,IAAI,IAAI,IAAI;IAQZ,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1B,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAIrB;CACF;AAED,QAAA,MAAM,OAAO,SAAgB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Spinner = exports.spinner = void 0;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
8
|
+
const cli_spinners_1 = __importDefault(require("cli-spinners"));
|
|
9
|
+
class Spinner {
|
|
10
|
+
spinner = null;
|
|
11
|
+
spinnerType = cli_spinners_1.default.dots;
|
|
12
|
+
start(text) {
|
|
13
|
+
this.spinner = (0, ora_1.default)({
|
|
14
|
+
text: text,
|
|
15
|
+
spinner: this.spinnerType
|
|
16
|
+
}).start();
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
succeed(text) {
|
|
20
|
+
if (this.spinner) {
|
|
21
|
+
this.spinner.succeed(text);
|
|
22
|
+
this.spinner = null;
|
|
23
|
+
}
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
fail(text) {
|
|
27
|
+
if (this.spinner) {
|
|
28
|
+
this.spinner.fail(text);
|
|
29
|
+
this.spinner = null;
|
|
30
|
+
}
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
info(text) {
|
|
34
|
+
if (this.spinner) {
|
|
35
|
+
this.spinner.info(text);
|
|
36
|
+
this.spinner = null;
|
|
37
|
+
}
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
warn(text) {
|
|
41
|
+
if (this.spinner) {
|
|
42
|
+
this.spinner.warn(text);
|
|
43
|
+
this.spinner = null;
|
|
44
|
+
}
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
stop() {
|
|
48
|
+
if (this.spinner) {
|
|
49
|
+
this.spinner.stop();
|
|
50
|
+
this.spinner = null;
|
|
51
|
+
}
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
update(text) {
|
|
55
|
+
if (this.spinner) {
|
|
56
|
+
this.spinner.text = text;
|
|
57
|
+
}
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
get isSpinning() {
|
|
61
|
+
return this.spinner?.isSpinning ?? false;
|
|
62
|
+
}
|
|
63
|
+
get text() {
|
|
64
|
+
return this.spinner?.text ?? '';
|
|
65
|
+
}
|
|
66
|
+
set text(value) {
|
|
67
|
+
if (this.spinner) {
|
|
68
|
+
this.spinner.text = value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.Spinner = Spinner;
|
|
73
|
+
const spinner = new Spinner();
|
|
74
|
+
exports.spinner = spinner;
|
|
75
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA+B;AAC/B,gEAAuC;AAEvC,MAAM,OAAO;IACH,OAAO,GAAe,IAAI,CAAC;IAC3B,WAAW,GAAG,sBAAW,CAAC,IAAI,CAAC;IAEvC,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,OAAO,GAAG,IAAA,aAAG,EAAC;YACjB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,WAAW;SAC1B,CAAC,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAIiB,0BAAO;AAFzB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAErB,0BAAO"}
|
package/package.json
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@sinch/cli",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Official Sinch CLI - Manage all Sinch products from your terminal",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"sinch": "bin/sinch"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"start": "tsx src/index.ts",
|
|
11
|
-
"dev": "tsx watch src/index.ts",
|
|
12
|
-
"build": "tsc && node scripts/post-build.js",
|
|
13
|
-
"build:prod": "tsup src/index.ts --format cjs --dts --clean --minify",
|
|
14
|
-
"typecheck": "tsc --noEmit",
|
|
15
|
-
"test": "jest",
|
|
16
|
-
"test:e2e": "jest --config tests/e2e/jest.config.js",
|
|
17
|
-
"test:e2e:staging": "jest --config tests/e2e/jest.config.js --env=staging",
|
|
18
|
-
"prepublishOnly": "npm run build
|
|
19
|
-
},
|
|
20
|
-
"keywords": [],
|
|
21
|
-
"author": "Sinch <support@sinch.com> (https://www.sinch.com)",
|
|
22
|
-
"license": "MIT",
|
|
23
|
-
"private": false,
|
|
24
|
-
"publishConfig": {
|
|
25
|
-
"access": "public",
|
|
26
|
-
"registry": "https://registry.npmjs.org/"
|
|
27
|
-
},
|
|
28
|
-
"homepage": "https://www.sinch.com/products/apis/voice/",
|
|
29
|
-
"files": [
|
|
30
|
-
"dist/",
|
|
31
|
-
"bin/",
|
|
32
|
-
"README.md",
|
|
33
|
-
"LICENSE"
|
|
34
|
-
],
|
|
35
|
-
"dependencies": {
|
|
36
|
-
"@sinch/sdk-core": "^1.2.1",
|
|
37
|
-
"adm-zip": "^0.5.10",
|
|
38
|
-
"axios": "^1.7.9",
|
|
39
|
-
"blessed": "^0.1.81",
|
|
40
|
-
"chalk": "^4.1.2",
|
|
41
|
-
"chokidar": "^3.6.0",
|
|
42
|
-
"cli-spinners": "^2.9.2",
|
|
43
|
-
"cli-table3": "^0.6.3",
|
|
44
|
-
"clipboardy": "^2.3.0",
|
|
45
|
-
"commander": "^12.1.0",
|
|
46
|
-
"eventsource": "^4.0.0",
|
|
47
|
-
"form-data": "^4.0.0",
|
|
48
|
-
"fs-extra": "^11.1.1",
|
|
49
|
-
"inquirer": "8.2.7",
|
|
50
|
-
"keytar": "^7.9.0",
|
|
51
|
-
"ora": "^4.1.1"
|
|
52
|
-
},
|
|
53
|
-
"devDependencies": {
|
|
54
|
-
"@types/adm-zip": "^0.5.7",
|
|
55
|
-
"@types/blessed": "^0.1.25",
|
|
56
|
-
"@types/fs-extra": "^11.0.4",
|
|
57
|
-
"@types/inquirer": "^9.0.9",
|
|
58
|
-
"@types/keytar": "^4.4.0",
|
|
59
|
-
"@types/node": "^24.3.0",
|
|
60
|
-
"execa": "^5.1.1",
|
|
61
|
-
"jest": "^29.7.0",
|
|
62
|
-
"nodemon": "^3.0.1",
|
|
63
|
-
"tsup": "^8.5.0",
|
|
64
|
-
"tsx": "^4.20.4",
|
|
65
|
-
"typescript": "^5.9.2"
|
|
66
|
-
},
|
|
67
|
-
"engines": {
|
|
68
|
-
"node": ">=20.0.0",
|
|
69
|
-
"npm": ">=9.0.0"
|
|
70
|
-
}
|
|
71
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@sinch/cli",
|
|
3
|
+
"version": "0.1.28-beta.0",
|
|
4
|
+
"description": "Official Sinch CLI - Manage all Sinch products from your terminal",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"sinch": "bin/sinch"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"start": "tsx src/index.ts",
|
|
11
|
+
"dev": "tsx watch src/index.ts",
|
|
12
|
+
"build": "tsc && node scripts/post-build.js",
|
|
13
|
+
"build:prod": "tsup src/index.ts --format cjs --dts --clean --minify",
|
|
14
|
+
"typecheck": "tsc --noEmit",
|
|
15
|
+
"test": "jest",
|
|
16
|
+
"test:e2e": "jest --config tests/e2e/jest.config.js",
|
|
17
|
+
"test:e2e:staging": "jest --config tests/e2e/jest.config.js --env=staging",
|
|
18
|
+
"prepublishOnly": "npm run build"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [],
|
|
21
|
+
"author": "Sinch <support@sinch.com> (https://www.sinch.com)",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"private": false,
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public",
|
|
26
|
+
"registry": "https://registry.npmjs.org/"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://www.sinch.com/products/apis/voice/",
|
|
29
|
+
"files": [
|
|
30
|
+
"dist/",
|
|
31
|
+
"bin/",
|
|
32
|
+
"README.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@sinch/sdk-core": "^1.2.1",
|
|
37
|
+
"adm-zip": "^0.5.10",
|
|
38
|
+
"axios": "^1.7.9",
|
|
39
|
+
"blessed": "^0.1.81",
|
|
40
|
+
"chalk": "^4.1.2",
|
|
41
|
+
"chokidar": "^3.6.0",
|
|
42
|
+
"cli-spinners": "^2.9.2",
|
|
43
|
+
"cli-table3": "^0.6.3",
|
|
44
|
+
"clipboardy": "^2.3.0",
|
|
45
|
+
"commander": "^12.1.0",
|
|
46
|
+
"eventsource": "^4.0.0",
|
|
47
|
+
"form-data": "^4.0.0",
|
|
48
|
+
"fs-extra": "^11.1.1",
|
|
49
|
+
"inquirer": "8.2.7",
|
|
50
|
+
"keytar": "^7.9.0",
|
|
51
|
+
"ora": "^4.1.1"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/adm-zip": "^0.5.7",
|
|
55
|
+
"@types/blessed": "^0.1.25",
|
|
56
|
+
"@types/fs-extra": "^11.0.4",
|
|
57
|
+
"@types/inquirer": "^9.0.9",
|
|
58
|
+
"@types/keytar": "^4.4.0",
|
|
59
|
+
"@types/node": "^24.3.0",
|
|
60
|
+
"execa": "^5.1.1",
|
|
61
|
+
"jest": "^29.7.0",
|
|
62
|
+
"nodemon": "^3.0.1",
|
|
63
|
+
"tsup": "^8.5.0",
|
|
64
|
+
"tsx": "^4.20.4",
|
|
65
|
+
"typescript": "^5.9.2"
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=20.0.0",
|
|
69
|
+
"npm": ">=9.0.0"
|
|
70
|
+
}
|
|
71
|
+
}
|