@sinch/cli 0.1.28-beta.0 → 0.1.29-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.
Files changed (133) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +198 -198
  3. package/bin/sinch +2 -2
  4. package/dist/index.d.ts +0 -2
  5. package/dist/index.js +325 -780
  6. package/package.json +71 -71
  7. package/dist/commands/conversations/apps.d.ts +0 -2
  8. package/dist/commands/conversations/apps.d.ts.map +0 -1
  9. package/dist/commands/conversations/apps.js +0 -162
  10. package/dist/commands/conversations/apps.js.map +0 -1
  11. package/dist/commands/conversations/contacts.d.ts +0 -2
  12. package/dist/commands/conversations/contacts.d.ts.map +0 -1
  13. package/dist/commands/conversations/contacts.js +0 -245
  14. package/dist/commands/conversations/contacts.js.map +0 -1
  15. package/dist/commands/conversations/conversation.d.ts +0 -2
  16. package/dist/commands/conversations/conversation.d.ts.map +0 -1
  17. package/dist/commands/conversations/conversation.js +0 -19
  18. package/dist/commands/conversations/conversation.js.map +0 -1
  19. package/dist/commands/conversations/conversations.d.ts +0 -2
  20. package/dist/commands/conversations/conversations.d.ts.map +0 -1
  21. package/dist/commands/conversations/conversations.js +0 -104
  22. package/dist/commands/conversations/conversations.js.map +0 -1
  23. package/dist/commands/conversations/messages.d.ts +0 -2
  24. package/dist/commands/conversations/messages.d.ts.map +0 -1
  25. package/dist/commands/conversations/messages.js +0 -107
  26. package/dist/commands/conversations/messages.js.map +0 -1
  27. package/dist/commands/conversations/send.d.ts +0 -2
  28. package/dist/commands/conversations/send.d.ts.map +0 -1
  29. package/dist/commands/conversations/send.js +0 -185
  30. package/dist/commands/conversations/send.js.map +0 -1
  31. package/dist/commands/conversations/utils.d.ts +0 -4
  32. package/dist/commands/conversations/utils.d.ts.map +0 -1
  33. package/dist/commands/conversations/utils.js +0 -30
  34. package/dist/commands/conversations/utils.js.map +0 -1
  35. package/dist/commands/conversations/webhooks.d.ts +0 -2
  36. package/dist/commands/conversations/webhooks.d.ts.map +0 -1
  37. package/dist/commands/conversations/webhooks.js +0 -238
  38. package/dist/commands/conversations/webhooks.js.map +0 -1
  39. package/dist/commands/delete.d.ts +0 -2
  40. package/dist/commands/delete.d.ts.map +0 -1
  41. package/dist/commands/delete.js +0 -93
  42. package/dist/commands/delete.js.map +0 -1
  43. package/dist/commands/deploy.d.ts +0 -2
  44. package/dist/commands/deploy.d.ts.map +0 -1
  45. package/dist/commands/deploy.js +0 -687
  46. package/dist/commands/deploy.js.map +0 -1
  47. package/dist/commands/dev.d.ts +0 -2
  48. package/dist/commands/dev.d.ts.map +0 -1
  49. package/dist/commands/dev.js +0 -460
  50. package/dist/commands/dev.js.map +0 -1
  51. package/dist/commands/docs.d.ts +0 -2
  52. package/dist/commands/docs.d.ts.map +0 -1
  53. package/dist/commands/docs.js +0 -105
  54. package/dist/commands/docs.js.map +0 -1
  55. package/dist/commands/download.d.ts +0 -2
  56. package/dist/commands/download.d.ts.map +0 -1
  57. package/dist/commands/download.js +0 -207
  58. package/dist/commands/download.js.map +0 -1
  59. package/dist/commands/functions.d.ts +0 -2
  60. package/dist/commands/functions.d.ts.map +0 -1
  61. package/dist/commands/functions.js +0 -25
  62. package/dist/commands/functions.js.map +0 -1
  63. package/dist/commands/init.d.ts +0 -2
  64. package/dist/commands/init.d.ts.map +0 -1
  65. package/dist/commands/init.js +0 -552
  66. package/dist/commands/init.js.map +0 -1
  67. package/dist/commands/list.d.ts +0 -2
  68. package/dist/commands/list.d.ts.map +0 -1
  69. package/dist/commands/list.js +0 -180
  70. package/dist/commands/list.js.map +0 -1
  71. package/dist/commands/logs.d.ts +0 -2
  72. package/dist/commands/logs.d.ts.map +0 -1
  73. package/dist/commands/logs.js +0 -1001
  74. package/dist/commands/logs.js.map +0 -1
  75. package/dist/commands/secrets.d.ts +0 -2
  76. package/dist/commands/secrets.d.ts.map +0 -1
  77. package/dist/commands/secrets.js +0 -197
  78. package/dist/commands/secrets.js.map +0 -1
  79. package/dist/commands/skills.d.ts +0 -4
  80. package/dist/commands/skills.d.ts.map +0 -1
  81. package/dist/commands/skills.js +0 -309
  82. package/dist/commands/skills.js.map +0 -1
  83. package/dist/commands/status.d.ts +0 -2
  84. package/dist/commands/status.d.ts.map +0 -1
  85. package/dist/commands/status.js +0 -145
  86. package/dist/commands/status.js.map +0 -1
  87. package/dist/commands/templates.d.ts +0 -2
  88. package/dist/commands/templates.d.ts.map +0 -1
  89. package/dist/commands/templates.js +0 -168
  90. package/dist/commands/templates.js.map +0 -1
  91. package/dist/commands/voice.d.ts +0 -2
  92. package/dist/commands/voice.d.ts.map +0 -1
  93. package/dist/commands/voice.js +0 -259
  94. package/dist/commands/voice.js.map +0 -1
  95. package/dist/index.d.ts.map +0 -1
  96. package/dist/index.js.map +0 -1
  97. package/dist/lib/api.d.ts +0 -73
  98. package/dist/lib/api.d.ts.map +0 -1
  99. package/dist/lib/api.js +0 -455
  100. package/dist/lib/api.js.map +0 -1
  101. package/dist/lib/config.d.ts +0 -68
  102. package/dist/lib/config.d.ts.map +0 -1
  103. package/dist/lib/config.js +0 -276
  104. package/dist/lib/config.js.map +0 -1
  105. package/dist/lib/conversation.d.ts +0 -8
  106. package/dist/lib/conversation.d.ts.map +0 -1
  107. package/dist/lib/conversation.js +0 -179
  108. package/dist/lib/conversation.js.map +0 -1
  109. package/dist/lib/credentials.d.ts +0 -43
  110. package/dist/lib/credentials.d.ts.map +0 -1
  111. package/dist/lib/credentials.js +0 -365
  112. package/dist/lib/credentials.js.map +0 -1
  113. package/dist/lib/docs-utils.d.ts +0 -13
  114. package/dist/lib/docs-utils.d.ts.map +0 -1
  115. package/dist/lib/docs-utils.js +0 -115
  116. package/dist/lib/docs-utils.js.map +0 -1
  117. package/dist/lib/update-check.d.ts +0 -5
  118. package/dist/lib/update-check.d.ts.map +0 -1
  119. package/dist/lib/update-check.js +0 -114
  120. package/dist/lib/update-check.js.map +0 -1
  121. package/dist/lib/voice.d.ts +0 -3
  122. package/dist/lib/voice.d.ts.map +0 -1
  123. package/dist/lib/voice.js +0 -49
  124. package/dist/lib/voice.js.map +0 -1
  125. package/dist/package.json +0 -71
  126. package/dist/utils/logger.d.ts +0 -28
  127. package/dist/utils/logger.d.ts.map +0 -1
  128. package/dist/utils/logger.js +0 -138
  129. package/dist/utils/logger.js.map +0 -1
  130. package/dist/utils/spinner.d.ts +0 -17
  131. package/dist/utils/spinner.d.ts.map +0 -1
  132. package/dist/utils/spinner.js +0 -75
  133. package/dist/utils/spinner.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":""}
@@ -1,145 +0,0 @@
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
- const chalk_1 = __importDefault(require("chalk"));
7
- const commander_1 = require("commander");
8
- const api_1 = require("../lib/api");
9
- const config_1 = require("../lib/config");
10
- const logger_1 = require("../utils/logger");
11
- const spinner_1 = require("../utils/spinner");
12
- const status = new commander_1.Command('status');
13
- status
14
- .description('Show function status and details')
15
- .argument('[function-id]', 'Function ID to check (optional if sinch.json exists)')
16
- .option('-f, --follow', 'Watch status changes in real-time')
17
- .option('--json', 'Output raw JSON')
18
- .action(async (functionIdArg, options) => {
19
- try {
20
- await config_1.config.load();
21
- const api = new api_1.SinchAPI(config_1.config.getApiConfig());
22
- let functionId = functionIdArg;
23
- if (!functionId) {
24
- if (!config_1.config.isInProject()) {
25
- throw new Error('Function ID required. Provide as argument or run from function directory with sinch.json');
26
- }
27
- const projectConfig = config_1.config.getProjectConfig();
28
- functionId = projectConfig?.functionId;
29
- if (!functionId) {
30
- throw new Error('No function ID found in sinch.json. Deploy the function first or provide function ID as argument.');
31
- }
32
- }
33
- if (options.follow) {
34
- await watchFunctionStatus(api, functionId);
35
- }
36
- else {
37
- await showFunctionStatus(api, functionId, options);
38
- }
39
- }
40
- catch (error) {
41
- spinner_1.spinner.stop();
42
- logger_1.logger.error(`Failed to get function status: ${error.message}`);
43
- process.exit(1);
44
- }
45
- });
46
- async function showFunctionStatus(api, functionId, options) {
47
- spinner_1.spinner.start('📡 Loading function status...');
48
- try {
49
- const funcDetails = await api.getFunction(functionId);
50
- const statusData = await api.getFunctionStatus(functionId);
51
- spinner_1.spinner.stop();
52
- if (options.json) {
53
- console.log(JSON.stringify({ function: funcDetails, deployment: statusData }, null, 2));
54
- return;
55
- }
56
- const func = funcDetails;
57
- const deploymentStatus = statusData.status;
58
- const deploymentError = statusData.error;
59
- logger_1.logger.newline();
60
- logger_1.logger.title(`Function Status: ${func.name}`);
61
- logger_1.logger.newline();
62
- logger_1.logger.info('📋 Function Details:');
63
- logger_1.logger.info(` ID: ${chalk_1.default.gray(func.id)}`);
64
- logger_1.logger.info(` Name: ${chalk_1.default.cyan(func.name)}`);
65
- logger_1.logger.info(` Runtime: ${chalk_1.default.yellow(func.runtime)}`);
66
- logger_1.logger.info(` Deployment Status: ${getStatusDisplay(deploymentStatus)}`);
67
- if (func.created) {
68
- logger_1.logger.info(` Created: ${new Date(func.created).toLocaleString()}`);
69
- }
70
- if (func.updated) {
71
- logger_1.logger.info(` Updated: ${new Date(func.updated).toLocaleString()}`);
72
- }
73
- if (func.url) {
74
- logger_1.logger.info(` URL: ${chalk_1.default.blue(func.url)}`);
75
- }
76
- if (deploymentStatus === 'Failed' && deploymentError) {
77
- logger_1.logger.newline();
78
- logger_1.logger.error('Deployment Error:');
79
- logger_1.logger.error(` ${deploymentError}`);
80
- }
81
- logger_1.logger.newline();
82
- logger_1.logger.info('💡 Commands:');
83
- logger_1.logger.info(` • View logs: ${chalk_1.default.cyan(`sinch functions logs ${functionId}`)}`);
84
- logger_1.logger.info(` • Redeploy: ${chalk_1.default.cyan('sinch functions deploy')}`);
85
- logger_1.logger.info(` • Delete: ${chalk_1.default.cyan(`sinch functions delete ${functionId}`)}`);
86
- }
87
- catch (error) {
88
- spinner_1.spinner.stop();
89
- throw error;
90
- }
91
- }
92
- async function watchFunctionStatus(api, functionId) {
93
- logger_1.logger.info(`👀 Watching deployment status (press Ctrl+C to stop)...`);
94
- logger_1.logger.newline();
95
- let lastStatus = null;
96
- const interval = setInterval(async () => {
97
- try {
98
- const statusData = await api.getFunctionStatus(functionId);
99
- const currentStatus = statusData.status;
100
- if (currentStatus !== lastStatus) {
101
- const timestamp = new Date().toLocaleTimeString();
102
- logger_1.logger.info(`[${timestamp}] Status: ${getStatusDisplay(currentStatus)}`);
103
- lastStatus = currentStatus;
104
- if (currentStatus === 'Running') {
105
- logger_1.logger.success('Function deployment is now running!');
106
- try {
107
- const funcDetails = await api.getFunction(functionId);
108
- if (funcDetails.url) {
109
- logger_1.logger.info(`URL: ${chalk_1.default.blue(funcDetails.url)}`);
110
- }
111
- }
112
- catch (e) {
113
- }
114
- }
115
- else if (currentStatus === 'Failed') {
116
- logger_1.logger.error('Function deployment failed!');
117
- if (statusData.error) {
118
- logger_1.logger.error(`Error: ${statusData.error}`);
119
- }
120
- clearInterval(interval);
121
- }
122
- }
123
- }
124
- catch (error) {
125
- logger_1.logger.error(`Error checking status: ${error.message}`);
126
- }
127
- }, 3000);
128
- process.on('SIGINT', () => {
129
- clearInterval(interval);
130
- logger_1.logger.newline();
131
- logger_1.logger.info('Stopped watching function status');
132
- process.exit(0);
133
- });
134
- }
135
- function getStatusDisplay(status) {
136
- const statusColors = {
137
- 'Running': chalk_1.default.green('✅ Running'),
138
- 'Failed': chalk_1.default.red('❌ Failed'),
139
- 'Pending': chalk_1.default.yellow('⏳ Pending'),
140
- 'Building': chalk_1.default.blue('🔨 Building')
141
- };
142
- return statusColors[status] || chalk_1.default.gray(status);
143
- }
144
- module.exports = status;
145
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":""}
@@ -1,168 +0,0 @@
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
- const commander_1 = require("commander");
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const api_1 = require("../lib/api");
9
- const config_1 = require("../lib/config");
10
- const logger_1 = require("../utils/logger");
11
- const spinner_1 = require("../utils/spinner");
12
- const templates = new commander_1.Command('templates');
13
- templates.description('Browse and manage function templates');
14
- templates
15
- .command('list')
16
- .alias('ls')
17
- .description('List available templates')
18
- .argument('[runtime]', 'Filter by runtime (node, csharp, python)')
19
- .option('-c, --category <category>', 'Filter by category (voice, sms, verification)')
20
- .option('-d, --detailed', 'Show detailed information')
21
- .action(async (runtime, options) => {
22
- try {
23
- await config_1.config.load();
24
- const api = new api_1.SinchAPI(config_1.config.getApiConfig());
25
- spinner_1.spinner.start('Loading templates...');
26
- let templatesResponse;
27
- if (runtime) {
28
- templatesResponse = await api.listRuntimeTemplates(runtime, options.category);
29
- }
30
- else {
31
- templatesResponse = await api.listAllTemplates(options.category);
32
- }
33
- spinner_1.spinner.stop();
34
- if (templatesResponse.templates.length === 0) {
35
- logger_1.logger.info(`No templates found${runtime ? ` for ${runtime}` : ''}${options.category ? ` in category ${options.category}` : ''}`);
36
- return;
37
- }
38
- const title = `Available Templates${runtime ? ` (${runtime})` : ''}${options.category ? ` - ${options.category}` : ''}`;
39
- logger_1.logger.title(title);
40
- if (options.detailed) {
41
- templatesResponse.templates.forEach((template, index) => {
42
- if (index > 0)
43
- logger_1.logger.newline();
44
- logger_1.logger.log(chalk_1.default.bold.blue(`${template.name}`));
45
- logger_1.logger.log(` Runtime: ${template.runtime}`);
46
- logger_1.logger.log(` Category: ${template.category}`);
47
- logger_1.logger.log(` Description: ${template.description}`);
48
- if (template.tags && template.tags.length > 0) {
49
- logger_1.logger.log(` Tags: ${template.tags.map(t => chalk_1.default.gray(t)).join(', ')}`);
50
- }
51
- logger_1.logger.log(` Path: ${chalk_1.default.gray(template.path)}`);
52
- });
53
- }
54
- else {
55
- const rows = templatesResponse.templates.map(t => [
56
- t.name,
57
- t.runtime,
58
- t.category,
59
- t.description.substring(0, 50) + (t.description.length > 50 ? '...' : ''),
60
- t.tags ? t.tags.slice(0, 2).join(', ') + (t.tags.length > 2 ? '...' : '') : ''
61
- ]);
62
- logger_1.logger.table(['Name', 'Runtime', 'Category', 'Description', 'Tags'], rows);
63
- }
64
- logger_1.logger.newline();
65
- logger_1.logger.info(`Found ${templatesResponse.templates.length} template${templatesResponse.templates.length === 1 ? '' : 's'}`);
66
- logger_1.logger.info('Use "sinch templates show <runtime>/<template>" for details');
67
- }
68
- catch (error) {
69
- spinner_1.spinner.stop();
70
- logger_1.logger.error(`Failed to list templates: ${error.message}`);
71
- process.exit(1);
72
- }
73
- });
74
- templates
75
- .command('show')
76
- .description('Show detailed template information')
77
- .argument('<template>', 'Template name in format "runtime/template-name"')
78
- .action(async (templateName) => {
79
- try {
80
- await config_1.config.load();
81
- const api = new api_1.SinchAPI(config_1.config.getApiConfig());
82
- if (!templateName.includes('/')) {
83
- throw new Error('Template must be in format "runtime/template-name" (e.g., "node/simple-voice-ivr")');
84
- }
85
- const parts = templateName.split('/');
86
- const runtime = parts[0];
87
- const template = parts[1];
88
- if (!runtime || !template) {
89
- throw new Error('Template must be in format "runtime/template-name" (e.g., "node/simple-voice-ivr")');
90
- }
91
- spinner_1.spinner.start(`Loading template details for ${templateName}...`);
92
- const details = await api.getTemplateDetails(runtime, template);
93
- spinner_1.spinner.stop();
94
- logger_1.logger.title(`Template: ${details.name}`);
95
- logger_1.logger.newline();
96
- logger_1.logger.log(chalk_1.default.bold('Basic Information:'));
97
- logger_1.logger.log(` Runtime: ${details.runtime}`);
98
- logger_1.logger.log(` Category: ${details.category}`);
99
- logger_1.logger.log(` Description: ${details.description}`);
100
- if (details.tags && details.tags.length > 0) {
101
- logger_1.logger.log(` Tags: ${details.tags.map(t => chalk_1.default.blue(t)).join(', ')}`);
102
- }
103
- if (details.variables && Object.keys(details.variables).length > 0) {
104
- logger_1.logger.newline();
105
- logger_1.logger.log(chalk_1.default.bold('Template Variables:'));
106
- Object.entries(details.variables).forEach(([key, value]) => {
107
- logger_1.logger.log(` ${key}: ${chalk_1.default.gray(value)}`);
108
- });
109
- }
110
- if (details.files && details.files.length > 0) {
111
- logger_1.logger.newline();
112
- logger_1.logger.log(chalk_1.default.bold('Files:'));
113
- details.files.forEach(file => {
114
- logger_1.logger.log(` ${chalk_1.default.gray('•')} ${file}`);
115
- });
116
- }
117
- if (details.readmeContent) {
118
- logger_1.logger.newline();
119
- logger_1.logger.log(chalk_1.default.bold('README:'));
120
- const readmeLines = details.readmeContent.split('\n').slice(0, 10);
121
- readmeLines.forEach(line => {
122
- logger_1.logger.log(` ${chalk_1.default.gray(line)}`);
123
- });
124
- if (details.readmeContent.split('\n').length > 10) {
125
- logger_1.logger.log(` ${chalk_1.default.gray('... (truncated)')}`);
126
- }
127
- }
128
- logger_1.logger.newline();
129
- logger_1.logger.info(`Use "sinch functions init --template ${templateName}" to create a function from this template`);
130
- }
131
- catch (error) {
132
- spinner_1.spinner.stop();
133
- logger_1.logger.error(`Failed to show template details: ${error.message}`);
134
- process.exit(1);
135
- }
136
- });
137
- templates
138
- .command('node')
139
- .description('List Node.js templates')
140
- .option('-c, --category <category>', 'Filter by category')
141
- .action(async (options) => {
142
- const listCommand = templates.commands.find(cmd => cmd.name() === 'list');
143
- if (listCommand) {
144
- await listCommand.action('node', options);
145
- }
146
- });
147
- templates
148
- .command('csharp')
149
- .description('List C# templates')
150
- .option('-c, --category <category>', 'Filter by category')
151
- .action(async (options) => {
152
- const listCommand = templates.commands.find(cmd => cmd.name() === 'list');
153
- if (listCommand) {
154
- await listCommand.action('csharp', options);
155
- }
156
- });
157
- templates
158
- .command('python')
159
- .description('List Python templates')
160
- .option('-c, --category <category>', 'Filter by category')
161
- .action(async (options) => {
162
- const listCommand = templates.commands.find(cmd => cmd.name() === 'list');
163
- if (listCommand) {
164
- await listCommand.action('python', options);
165
- }
166
- });
167
- module.exports = templates;
168
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=voice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/commands/voice.ts"],"names":[],"mappings":""}
@@ -1,259 +0,0 @@
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
- const commander_1 = require("commander");
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const inquirer_1 = __importDefault(require("inquirer"));
9
- const config_1 = require("../lib/config");
10
- const logger_1 = require("../utils/logger");
11
- const spinner_1 = require("../utils/spinner");
12
- const voice = new commander_1.Command('voice');
13
- voice.description('Manage Sinch Voice applications and settings');
14
- voice
15
- .command('callback-url')
16
- .alias('webhook')
17
- .description('Update webhook callback URL for your Voice application')
18
- .argument('[url]', 'New callback URL (if not provided, will prompt)')
19
- .option('-a, --app-key <key>', 'Application key (if not provided, will show selection)')
20
- .action(async (url, options) => {
21
- try {
22
- await config_1.config.load();
23
- if (!(await isAuthenticated())) {
24
- logger_1.logger.error('Not authenticated. Run "sinch auth login" first.');
25
- process.exit(1);
26
- }
27
- const sinchClient = await createSinchClient();
28
- let appKey = options.appKey;
29
- if (!appKey) {
30
- const defaultAppKey = config_1.config.getPublicCredentialInfo()?.applicationKey;
31
- if (!defaultAppKey) {
32
- logger_1.logger.error('No default application key found. Run "sinch auth login" first.');
33
- process.exit(1);
34
- }
35
- appKey = defaultAppKey;
36
- logger_1.logger.info(`Using default application: ${appKey}`);
37
- }
38
- if (!url) {
39
- const { newUrl } = await inquirer_1.default.prompt([
40
- {
41
- type: 'input',
42
- name: 'newUrl',
43
- message: 'Enter new callback URL:',
44
- validate: (input) => {
45
- if (!input)
46
- return 'URL is required';
47
- try {
48
- new URL(input);
49
- return true;
50
- }
51
- catch {
52
- return 'Please enter a valid URL';
53
- }
54
- }
55
- }
56
- ]);
57
- url = newUrl;
58
- }
59
- spinner_1.spinner.start('Updating callback URL...');
60
- try {
61
- const app = await sinchClient.voice.applications.get(appKey);
62
- const updatedApp = {
63
- ...app,
64
- capability: {
65
- ...app.capability,
66
- voice: {
67
- ...app.capability?.voice,
68
- webhooks: {
69
- ...app.capability?.voice?.webhooks,
70
- url: url,
71
- method: 'POST'
72
- }
73
- }
74
- }
75
- };
76
- await sinchClient.voice.applications.update(appKey, updatedApp);
77
- spinner_1.spinner.succeed('Callback URL updated successfully!');
78
- logger_1.logger.newline();
79
- logger_1.logger.info(`Application: ${app.displayName || appKey}`);
80
- logger_1.logger.info(`New callback URL: ${url}`);
81
- logger_1.logger.newline();
82
- logger_1.logger.info('🎉 Your Voice functions will now receive webhooks at this URL');
83
- logger_1.logger.info('💡 Test with: sinch functions dev --tunnel');
84
- }
85
- catch (error) {
86
- spinner_1.spinner.fail('Failed to update callback URL');
87
- throw error;
88
- }
89
- }
90
- catch (error) {
91
- spinner_1.spinner.stop();
92
- logger_1.logger.error(`Failed to update callback URL: ${error.message}`);
93
- process.exit(1);
94
- }
95
- });
96
- voice
97
- .command('get-callbacks')
98
- .description('Get current callback URLs with full debug output')
99
- .option('-a, --app-key <key>', 'Application key (defaults to stored app key)')
100
- .option('--curl', 'Show equivalent curl command')
101
- .action(async (options) => {
102
- try {
103
- await config_1.config.load();
104
- if (!(await isAuthenticated())) {
105
- logger_1.logger.error('Not authenticated. Run "sinch auth login" first.');
106
- process.exit(1);
107
- }
108
- const appCreds = await config_1.config.getApplicationCredentials();
109
- if (!appCreds) {
110
- logger_1.logger.error('No application credentials found. Run "sinch auth login" first.');
111
- process.exit(1);
112
- }
113
- const appKey = options.appKey || appCreds.applicationKey;
114
- logger_1.logger.info('🔍 Getting callback URLs...');
115
- logger_1.logger.newline();
116
- if (options.curl) {
117
- const authString = `${appCreds.applicationKey}:${appCreds.applicationSecret}`;
118
- const base64Auth = Buffer.from(authString).toString('base64');
119
- logger_1.logger.info('📋 CURL Command:');
120
- logger_1.logger.info(chalk_1.default.gray('```bash'));
121
- const curlCommand = `curl -X GET \\
122
- https://calling.api.sinch.com/calling/v1/applications/${appKey}/callbacks/urls \\
123
- -H "Authorization: Basic ${base64Auth}"`;
124
- logger_1.logger.info(chalk_1.default.cyan(curlCommand));
125
- logger_1.logger.info(chalk_1.default.gray('```'));
126
- logger_1.logger.newline();
127
- }
128
- try {
129
- const { SinchClient } = require('@sinch/sdk-core');
130
- const sinchClient = new SinchClient({
131
- applicationKey: appCreds.applicationKey,
132
- applicationSecret: appCreds.applicationSecret
133
- });
134
- spinner_1.spinner.start('Fetching callback URLs...');
135
- const currentCallbacks = await sinchClient.voice.applications.getCallbackURLs({
136
- applicationkey: appKey
137
- });
138
- spinner_1.spinner.succeed('Callback URLs retrieved');
139
- logger_1.logger.newline();
140
- logger_1.logger.info('📥 Current Callback Configuration:');
141
- logger_1.logger.info(` currentCallbacks.primary: ${currentCallbacks?.primary || 'undefined'}`);
142
- logger_1.logger.info(` currentCallbacks.fallback: ${currentCallbacks?.fallback || 'undefined'}`);
143
- }
144
- catch (error) {
145
- spinner_1.spinner.fail('Failed to get callback URLs');
146
- logger_1.logger.error(`Error: ${error.message}`);
147
- logger_1.logger.newline();
148
- logger_1.logger.info('Full error details:');
149
- logger_1.logger.info(JSON.stringify(error, null, 2));
150
- }
151
- }
152
- catch (error) {
153
- logger_1.logger.error(`Command failed: ${error.message}`);
154
- process.exit(1);
155
- }
156
- });
157
- voice
158
- .command('set-callback')
159
- .description('Update callback URL with debug output showing exact API call')
160
- .argument('<url>', 'Callback URL to set')
161
- .option('-a, --app-key <key>', 'Application key (defaults to stored app key)')
162
- .option('--primary-only', 'Only set primary URL (no fallback)')
163
- .option('--debug', 'Show full curl command and response')
164
- .action(async (url, options) => {
165
- try {
166
- await config_1.config.load();
167
- if (!(await isAuthenticated())) {
168
- logger_1.logger.error('Not authenticated. Run "sinch auth login" first.');
169
- process.exit(1);
170
- }
171
- const appCreds = await config_1.config.getApplicationCredentials();
172
- if (!appCreds) {
173
- logger_1.logger.error('No application credentials found. Run "sinch auth login" first.');
174
- process.exit(1);
175
- }
176
- const appKey = options.appKey || appCreds.applicationKey;
177
- logger_1.logger.info('🔧 Updating callback URL with debug output...');
178
- logger_1.logger.newline();
179
- const requestBody = options.primaryOnly ?
180
- { url: { primary: url } } :
181
- { url: { primary: url, fallback: url } };
182
- const authString = `${appCreds.applicationKey}:${appCreds.applicationSecret}`;
183
- const base64Auth = Buffer.from(authString).toString('base64');
184
- logger_1.logger.info('📋 CURL Command:');
185
- logger_1.logger.info(chalk_1.default.gray('```bash'));
186
- const curlCommand = `curl -X POST \\
187
- https://calling.api.sinch.com/calling/v1/applications/${appKey}/callbacks/urls \\
188
- -H "Authorization: Basic ${base64Auth}" \\
189
- -H "Content-Type: application/json" \\
190
- -d '${JSON.stringify(requestBody, null, 2)}'`;
191
- logger_1.logger.info(chalk_1.default.cyan(curlCommand));
192
- logger_1.logger.info(chalk_1.default.gray('```'));
193
- logger_1.logger.newline();
194
- try {
195
- const { SinchClient } = require('@sinch/sdk-core');
196
- const sinchClient = new SinchClient({
197
- applicationKey: appCreds.applicationKey,
198
- applicationSecret: appCreds.applicationSecret
199
- });
200
- logger_1.logger.info('📤 Request Body:');
201
- logger_1.logger.info(JSON.stringify(requestBody, null, 2));
202
- logger_1.logger.newline();
203
- spinner_1.spinner.start('Sending update request...');
204
- await sinchClient.voice.applications.updateCallbackURLs({
205
- applicationkey: appKey,
206
- updateCallbacksRequestBody: requestBody
207
- });
208
- spinner_1.spinner.succeed('Update request sent');
209
- spinner_1.spinner.start('Waiting for changes to propagate...');
210
- await new Promise(resolve => setTimeout(resolve, 5000));
211
- spinner_1.spinner.start('Verifying update...');
212
- const currentCallbacks = await sinchClient.voice.applications.getCallbackURLs({
213
- applicationkey: appKey
214
- });
215
- spinner_1.spinner.succeed('Verification complete');
216
- logger_1.logger.newline();
217
- logger_1.logger.info('📥 Current Callback URLs:');
218
- logger_1.logger.info(JSON.stringify(currentCallbacks, null, 2));
219
- const configuredUrl = currentCallbacks?.url || currentCallbacks?.primary || currentCallbacks?.urls?.primary;
220
- if (configuredUrl === url) {
221
- logger_1.logger.newline();
222
- logger_1.logger.success('✅ Callback URL successfully updated!');
223
- }
224
- else {
225
- logger_1.logger.newline();
226
- logger_1.logger.warn('⚠️ Callback URL may not have been updated correctly');
227
- logger_1.logger.info('Expected: ' + url);
228
- logger_1.logger.info('Actual: ' + (typeof configuredUrl === 'object' ? JSON.stringify(configuredUrl) : (configuredUrl || 'not found')));
229
- logger_1.logger.newline();
230
- logger_1.logger.info('🔍 Debug - Response structure:');
231
- logger_1.logger.info(' typeof currentCallbacks: ' + typeof currentCallbacks);
232
- logger_1.logger.info(' currentCallbacks.url: ' + (currentCallbacks?.url || 'undefined'));
233
- logger_1.logger.info(' currentCallbacks.primary: ' + (currentCallbacks?.primary || 'undefined'));
234
- logger_1.logger.info(' currentCallbacks.urls?.primary: ' + (currentCallbacks?.urls?.primary || 'undefined'));
235
- }
236
- }
237
- catch (error) {
238
- spinner_1.spinner.fail('Update failed');
239
- logger_1.logger.error(`Error: ${error.message}`);
240
- if (options.debug) {
241
- logger_1.logger.newline();
242
- logger_1.logger.info('Full error details:');
243
- logger_1.logger.info(JSON.stringify(error, null, 2));
244
- }
245
- }
246
- }
247
- catch (error) {
248
- logger_1.logger.error(`Command failed: ${error.message}`);
249
- process.exit(1);
250
- }
251
- });
252
- async function isAuthenticated() {
253
- return await config_1.config.hasCredentials();
254
- }
255
- async function createSinchClient() {
256
- return await config_1.config.createSinchClient();
257
- }
258
- module.exports = voice;
259
- //# sourceMappingURL=voice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/commands/voice.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}