@mind2flow/cli 0.4.0 → 0.5.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/README.md +8 -1
- package/dist/commands/voice.d.ts +2 -0
- package/dist/commands/voice.js +210 -0
- package/dist/commands/voice.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -29,9 +29,16 @@ m2f agents test <agentId> --cases cases.json --email me@x.com --wait # runs FO
|
|
|
29
29
|
m2f artifacts report <agentId> --from 2026-08-01 --to 2026-08-31 # operation report
|
|
30
30
|
m2f artifacts list
|
|
31
31
|
m2f artifacts share <id> # public link, customers hidden
|
|
32
|
+
|
|
33
|
+
# New in 0.5.0 — phone calls (Twilio set up once in the console)
|
|
34
|
+
m2f voice lines # agents that answer calls
|
|
35
|
+
m2f voice call <agentId> +525512345678 --var nombre=Ana --wait
|
|
36
|
+
m2f voice calls <agentId> # outcome, credits, summary
|
|
37
|
+
m2f voice set <agentId> --voice Cristina --greeting "Hola, gracias por llamar."
|
|
38
|
+
m2f voice pause <agentId> # and resume
|
|
32
39
|
```
|
|
33
40
|
|
|
34
|
-
`analyze`, `artifacts report` and `agents test` run an LLM on your own key and cost tokens; `agents test` also runs the agent's connected apps for real. The others only read.
|
|
41
|
+
`analyze`, `artifacts report` and `agents test` run an LLM on your own key and cost tokens; `agents test` also runs the agent's connected apps for real. `voice call` places a real phone call (credits + Twilio minutes). The others only read.
|
|
35
42
|
|
|
36
43
|
Configuration lives in `~/.m2f/config.json`; `M2F_API_KEY` / `M2F_BASE_URL`
|
|
37
44
|
environment variables override it.
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerVoiceCommands = registerVoiceCommands;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const config_1 = require("../config");
|
|
6
|
+
const output_1 = require("../output");
|
|
7
|
+
/**
|
|
8
|
+
* Phone calls. Twilio and the agent's number are set up once in the console
|
|
9
|
+
* (AI Agents → agent → Voice); everything after that works from here.
|
|
10
|
+
*/
|
|
11
|
+
const collectVar = (value, acc) => {
|
|
12
|
+
const i = value.indexOf('=');
|
|
13
|
+
if (i < 1)
|
|
14
|
+
throw new commander_1.InvalidArgumentError(`expected key=value, got "${value}"`);
|
|
15
|
+
acc[value.slice(0, i)] = value.slice(i + 1);
|
|
16
|
+
return acc;
|
|
17
|
+
};
|
|
18
|
+
const lineRow = (l) => ({
|
|
19
|
+
agent: l.agentName ?? l.agentId,
|
|
20
|
+
number: l.phoneNumber,
|
|
21
|
+
state: l.enabled ? 'answering' : 'paused',
|
|
22
|
+
voice: l.voiceName ?? l.voice,
|
|
23
|
+
transfer: l.transferEnabled ? 'on' : '',
|
|
24
|
+
});
|
|
25
|
+
const callRow = (c) => ({
|
|
26
|
+
callSid: c.callSid,
|
|
27
|
+
when: c.startedAt.slice(0, 16).replace('T', ' '),
|
|
28
|
+
dir: c.direction === 'inbound' ? 'in' : c.direction === 'outbound' ? 'out' : '',
|
|
29
|
+
other: (c.direction === 'inbound' ? c.from : c.to) ?? '',
|
|
30
|
+
secs: c.durationSec ?? '',
|
|
31
|
+
credits: c.credits,
|
|
32
|
+
outcome: c.status === 'processing' ? 'in progress' : c.outcome ?? '',
|
|
33
|
+
});
|
|
34
|
+
function printCall(c) {
|
|
35
|
+
const who = c.direction === 'inbound' ? `from ${c.from}` : `to ${c.to}`;
|
|
36
|
+
console.log(`${c.callSid} ${c.direction ?? ''} ${who} [${c.status === 'processing' ? 'in progress' : c.callStatus ?? c.status}]`);
|
|
37
|
+
console.log(`Started ${c.startedAt} · ${c.durationSec ?? '?'} s (AI ${c.aiSeconds ?? '?'} s) · ${c.credits} credits${c.transferred ? ' · transferred to a person' : ''}`);
|
|
38
|
+
if (c.outcome)
|
|
39
|
+
console.log(`Outcome: ${c.outcome}`);
|
|
40
|
+
if (c.summary)
|
|
41
|
+
console.log(`\n${c.summary}`);
|
|
42
|
+
if (c.transcript?.length) {
|
|
43
|
+
console.log('');
|
|
44
|
+
for (const t of c.transcript) {
|
|
45
|
+
if (t.role === 'system')
|
|
46
|
+
console.log(` — ${t.content}`);
|
|
47
|
+
else
|
|
48
|
+
console.log(` ${t.role === 'user' ? '>' : '<'} ${t.content}${t.interrupted ? ' [interrupted]' : ''}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function registerVoiceCommands(program) {
|
|
53
|
+
const voice = program.command('voice').description('Phone calls: place calls, manage lines, read calls');
|
|
54
|
+
voice
|
|
55
|
+
.command('lines')
|
|
56
|
+
.description('Agents that answer phone calls')
|
|
57
|
+
.option('--json', 'Output raw JSON')
|
|
58
|
+
.action(async (opts) => {
|
|
59
|
+
try {
|
|
60
|
+
const lines = await (0, config_1.getClient)().voice.lines();
|
|
61
|
+
if (opts.json)
|
|
62
|
+
return (0, output_1.printJson)(lines);
|
|
63
|
+
(0, output_1.printTable)(lines.map((l) => ({ agentId: l.agentId, ...lineRow(l) })), ['agentId', 'agent', 'number', 'state', 'voice', 'transfer']);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
(0, output_1.fail)(error);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
voice
|
|
70
|
+
.command('line <agentId>')
|
|
71
|
+
.description("Show an agent's phone line")
|
|
72
|
+
.action(async (agentId) => {
|
|
73
|
+
try {
|
|
74
|
+
(0, output_1.printJson)(await (0, config_1.getClient)().voice.getLine(agentId));
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
(0, output_1.fail)(error);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
voice
|
|
81
|
+
.command('set <agentId>')
|
|
82
|
+
.description('Change the voice or greeting, or move the line to another number')
|
|
83
|
+
.option('--voice <voice>', 'Catalog id or name (see `m2f voice voices`), or an ElevenLabs voice id')
|
|
84
|
+
.option('--greeting <text>', 'What the agent says when it picks up')
|
|
85
|
+
.option('--number <e164>', 'A number already in your Twilio account')
|
|
86
|
+
.action(async (agentId, opts) => {
|
|
87
|
+
try {
|
|
88
|
+
if (!opts.voice && !opts.greeting && !opts.number)
|
|
89
|
+
throw new Error('Pass --voice, --greeting and/or --number');
|
|
90
|
+
const l = await (0, config_1.getClient)().voice.updateLine(agentId, { voice: opts.voice, greeting: opts.greeting, phoneNumber: opts.number });
|
|
91
|
+
console.log(`Saved. ${l.phoneNumber} · ${l.voiceName ?? l.voice} · "${l.greeting}"`);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
(0, output_1.fail)(error);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
voice
|
|
98
|
+
.command('pause <agentId>')
|
|
99
|
+
.description('Stop answering calls (callers hear the number is not available)')
|
|
100
|
+
.action(async (agentId) => {
|
|
101
|
+
try {
|
|
102
|
+
const l = await (0, config_1.getClient)().voice.pause(agentId);
|
|
103
|
+
console.log(`Paused: ${l.phoneNumber}`);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
(0, output_1.fail)(error);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
voice
|
|
110
|
+
.command('resume <agentId>')
|
|
111
|
+
.description('Answer calls again')
|
|
112
|
+
.action(async (agentId) => {
|
|
113
|
+
try {
|
|
114
|
+
const l = await (0, config_1.getClient)().voice.resume(agentId);
|
|
115
|
+
console.log(`Answering calls at ${l.phoneNumber}`);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
(0, output_1.fail)(error);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
voice
|
|
122
|
+
.command('call <agentId> <to>')
|
|
123
|
+
.description('Have the agent call a number (E.164, e.g. +525512345678)')
|
|
124
|
+
.option('--var <key=value>', 'Context for the agent; repeat for several', collectVar, {})
|
|
125
|
+
.option('--wait', 'Wait until the call ends and print the summary and transcript')
|
|
126
|
+
.option('--json', 'Output raw JSON')
|
|
127
|
+
.action(async (agentId, to, opts) => {
|
|
128
|
+
try {
|
|
129
|
+
const m2f = (0, config_1.getClient)();
|
|
130
|
+
const started = await m2f.voice.call({ agentId, to, variables: Object.keys(opts.var).length ? opts.var : undefined });
|
|
131
|
+
if (!opts.wait) {
|
|
132
|
+
if (opts.json)
|
|
133
|
+
return (0, output_1.printJson)(started);
|
|
134
|
+
console.log(`Calling ${started.to} from ${started.from} — ${started.callSid}`);
|
|
135
|
+
console.log(`Follow it with: m2f voice show ${started.callSid}`);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (!opts.json)
|
|
139
|
+
console.log(`Calling ${started.to} from ${started.from} — ${started.callSid} (waiting for it to end…)`);
|
|
140
|
+
const call = await m2f.voice.waitForCall(started.callSid);
|
|
141
|
+
if (opts.json)
|
|
142
|
+
return (0, output_1.printJson)(call);
|
|
143
|
+
console.log('');
|
|
144
|
+
printCall(call);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
(0, output_1.fail)(error);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
voice
|
|
151
|
+
.command('calls <agentId>')
|
|
152
|
+
.description('Recent calls of an agent, newest first')
|
|
153
|
+
.option('--limit <n>', 'Max calls (default 20)', (v) => parseInt(v, 10))
|
|
154
|
+
.option('--json', 'Output raw JSON')
|
|
155
|
+
.action(async (agentId, opts) => {
|
|
156
|
+
try {
|
|
157
|
+
const calls = await (0, config_1.getClient)().voice.listCalls(agentId, { limit: opts.limit });
|
|
158
|
+
if (opts.json)
|
|
159
|
+
return (0, output_1.printJson)(calls);
|
|
160
|
+
(0, output_1.printTable)(calls.map(callRow), ['callSid', 'when', 'dir', 'other', 'secs', 'credits', 'outcome']);
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
(0, output_1.fail)(error);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
voice
|
|
167
|
+
.command('show <callSid>')
|
|
168
|
+
.description('One call: outcome, summary and transcript')
|
|
169
|
+
.option('--json', 'Output raw JSON')
|
|
170
|
+
.action(async (callSid, opts) => {
|
|
171
|
+
try {
|
|
172
|
+
const call = await (0, config_1.getClient)().voice.getCall(callSid);
|
|
173
|
+
if (opts.json)
|
|
174
|
+
return (0, output_1.printJson)(call);
|
|
175
|
+
printCall(call);
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
(0, output_1.fail)(error);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
voice
|
|
182
|
+
.command('voices')
|
|
183
|
+
.description('The voice catalog')
|
|
184
|
+
.option('--json', 'Output raw JSON')
|
|
185
|
+
.action(async (opts) => {
|
|
186
|
+
try {
|
|
187
|
+
const list = await (0, config_1.getClient)().voice.voices();
|
|
188
|
+
if (opts.json)
|
|
189
|
+
return (0, output_1.printJson)(list);
|
|
190
|
+
(0, output_1.printTable)(list.map((v) => ({ id: v.id, name: v.name + (v.recommended ? ' ★' : ''), accent: v.accent, gender: v.gender, provider: v.provider, style: v.style.slice(0, 44) })), ['id', 'name', 'accent', 'gender', 'provider', 'style']);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
(0, output_1.fail)(error);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
voice
|
|
197
|
+
.command('pricing')
|
|
198
|
+
.description('What a call costs in credits')
|
|
199
|
+
.action(async () => {
|
|
200
|
+
try {
|
|
201
|
+
const p = await (0, config_1.getClient)().voice.pricing();
|
|
202
|
+
console.log(`${p.creditsPerBlock} credit(s) every ${p.blockSeconds} s of AI talk time (≈ ${p.creditsPerMinute}/min).`);
|
|
203
|
+
console.log(`${p.billedOn}. Twilio bills minutes and numbers to your own Twilio account.`);
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
(0, output_1.fail)(error);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=voice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/commands/voice.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ const mcp_1 = require("./commands/mcp");
|
|
|
14
14
|
const knowledge_1 = require("./commands/knowledge");
|
|
15
15
|
const organization_1 = require("./commands/organization");
|
|
16
16
|
const artifacts_1 = require("./commands/artifacts");
|
|
17
|
+
const voice_1 = require("./commands/voice");
|
|
17
18
|
const program = new commander_1.Command();
|
|
18
19
|
const { version } = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
|
19
20
|
program
|
|
@@ -30,5 +31,6 @@ program
|
|
|
30
31
|
(0, knowledge_1.registerKnowledgeCommands)(program);
|
|
31
32
|
(0, organization_1.registerOrganizationCommands)(program);
|
|
32
33
|
(0, artifacts_1.registerArtifactCommands)(program);
|
|
34
|
+
(0, voice_1.registerVoiceCommands)(program);
|
|
33
35
|
program.parseAsync(process.argv);
|
|
34
36
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AACvC,yCAAiC;AACjC,yCAAoC;AACpC,0CAAuD;AACvD,8CAA0D;AAC1D,4CAAwD;AACxD,gDAA4D;AAC5D,4CAAwD;AACxD,4CAAwD;AACxD,wCAAqD;AACrD,oDAAiE;AACjE,0DAAuE;AACvE,oDAAgE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AACvC,yCAAiC;AACjC,yCAAoC;AACpC,0CAAuD;AACvD,8CAA0D;AAC1D,4CAAwD;AACxD,gDAA4D;AAC5D,4CAAwD;AACxD,4CAAwD;AACxD,wCAAqD;AACrD,oDAAiE;AACjE,0DAAuE;AACvE,oDAAgE;AAChE,4CAAyD;AAEzD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACrC,CAAC;AAEzB,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;AACnC,IAAA,2CAA4B,EAAC,OAAO,CAAC,CAAC;AACtC,IAAA,oCAAwB,EAAC,OAAO,CAAC,CAAC;AAClC,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mind2flow/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Command-line interface for the Mind2Flow AI agents platform",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"node": ">=18"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@mind2flow/agents-sdk": "^0.
|
|
36
|
+
"@mind2flow/agents-sdk": "^0.5.0",
|
|
37
37
|
"commander": "^12.0.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|