agent: allow deliver when json output
parent
eeee9625c1
commit
2dbef6105d
|
|
@ -316,6 +316,14 @@ export async function agentCommand(
|
||||||
}
|
}
|
||||||
|
|
||||||
const payloads = result.payloads ?? [];
|
const payloads = result.payloads ?? [];
|
||||||
|
const deliver = opts.deliver === true;
|
||||||
|
const targetTo = opts.to ? normalizeE164(opts.to) : allowFrom[0];
|
||||||
|
if (deliver && !targetTo) {
|
||||||
|
throw new Error(
|
||||||
|
"Delivering to WhatsApp requires --to <E.164> or inbound.allowFrom[0]",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (opts.json) {
|
if (opts.json) {
|
||||||
const normalizedPayloads = payloads.map((p) => ({
|
const normalizedPayloads = payloads.map((p) => ({
|
||||||
text: p.text ?? "",
|
text: p.text ?? "",
|
||||||
|
|
@ -332,7 +340,9 @@ export async function agentCommand(
|
||||||
2,
|
2,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
return;
|
// If JSON output was requested, suppress additional human-readable logs unless we're
|
||||||
|
// also delivering, in which case we still proceed to send below.
|
||||||
|
if (!deliver) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (payloads.length === 0) {
|
if (payloads.length === 0) {
|
||||||
|
|
@ -340,23 +350,17 @@ export async function agentCommand(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const deliver = opts.deliver === true;
|
|
||||||
const targetTo = opts.to ? normalizeE164(opts.to) : allowFrom[0];
|
|
||||||
if (deliver && !targetTo) {
|
|
||||||
throw new Error(
|
|
||||||
"Delivering to WhatsApp requires --to <E.164> or inbound.allowFrom[0]",
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const payload of payloads) {
|
for (const payload of payloads) {
|
||||||
const lines: string[] = [];
|
|
||||||
if (payload.text) lines.push(payload.text.trimEnd());
|
|
||||||
const mediaList =
|
const mediaList =
|
||||||
payload.mediaUrls ?? (payload.mediaUrl ? [payload.mediaUrl] : []);
|
payload.mediaUrls ?? (payload.mediaUrl ? [payload.mediaUrl] : []);
|
||||||
|
if (!opts.json) {
|
||||||
|
const lines: string[] = [];
|
||||||
|
if (payload.text) lines.push(payload.text.trimEnd());
|
||||||
for (const url of mediaList) {
|
for (const url of mediaList) {
|
||||||
lines.push(`MEDIA:${url}`);
|
lines.push(`MEDIA:${url}`);
|
||||||
}
|
}
|
||||||
runtime.log(lines.join("\n"));
|
runtime.log(lines.join("\n"));
|
||||||
|
}
|
||||||
|
|
||||||
if (deliver && targetTo) {
|
if (deliver && targetTo) {
|
||||||
const text = payload.text ?? "";
|
const text = payload.text ?? "";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue