@astra-code/astra-ai 0.1.4 → 0.1.5
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/app/App.js +62 -21
- package/dist/app/App.js.map +1 -1
- package/dist/lib/voice.js +19 -2
- package/dist/lib/voice.js.map +1 -1
- package/package.json +1 -1
- package/src/app/App.tsx +64 -21
- package/src/lib/voice.ts +19 -2
package/dist/app/App.js
CHANGED
|
@@ -249,6 +249,24 @@ const summarizeToolResult = (toolName, data, success) => {
|
|
|
249
249
|
}
|
|
250
250
|
return `${toolName} completed`;
|
|
251
251
|
};
|
|
252
|
+
const isLikelyVoiceNoise = (text) => {
|
|
253
|
+
const normalized = text.trim().toLowerCase();
|
|
254
|
+
if (!normalized) {
|
|
255
|
+
return true;
|
|
256
|
+
}
|
|
257
|
+
if (normalized.length < VOICE_MIN_CHARS) {
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
const tokens = normalized.split(/\s+/).filter(Boolean);
|
|
261
|
+
if (tokens.length === 0) {
|
|
262
|
+
return true;
|
|
263
|
+
}
|
|
264
|
+
const nonNoise = tokens.filter((t) => !VOICE_NOISE_WORDS.has(t));
|
|
265
|
+
if (nonNoise.length === 0) {
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
return false;
|
|
269
|
+
};
|
|
252
270
|
const parseInline = (line) => {
|
|
253
271
|
const tokens = [];
|
|
254
272
|
const re = /(`[^`]+`|\*\*[^*]+\*\*|__[^_]+__|\*[^*\n]+\*|_[^_\n]+_)/g;
|
|
@@ -596,34 +614,45 @@ export const AstraApp = () => {
|
|
|
596
614
|
if (liveVoiceRef.current) {
|
|
597
615
|
return;
|
|
598
616
|
}
|
|
617
|
+
// #region agent log
|
|
618
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H5', location: 'App.tsx:startLiveVoice', message: 'startLiveVoice called', data: { announce, voiceEnabled, thinking, hasController: Boolean(liveVoiceRef.current) }, timestamp: Date.now() }) }).catch(() => { });
|
|
619
|
+
// #endregion
|
|
599
620
|
setVoiceEnabled(true);
|
|
600
621
|
setVoicePreparing(true);
|
|
601
622
|
setVoiceListening(false);
|
|
602
623
|
setVoiceWaitingForSilence(false);
|
|
603
624
|
if (announce) {
|
|
604
|
-
pushMessage("system", "
|
|
625
|
+
pushMessage("system", "Voice input armed. Preparing microphone...");
|
|
605
626
|
}
|
|
606
627
|
liveVoiceRef.current = startLiveTranscription({
|
|
607
628
|
onPartial: (text) => {
|
|
608
629
|
setVoicePreparing(false);
|
|
609
630
|
setVoiceListening(true);
|
|
610
|
-
setPrompt(text);
|
|
611
631
|
if (voiceSilenceTimerRef.current) {
|
|
612
632
|
clearTimeout(voiceSilenceTimerRef.current);
|
|
613
633
|
}
|
|
614
634
|
const candidate = text.trim();
|
|
615
635
|
if (!candidate) {
|
|
636
|
+
setPrompt("");
|
|
616
637
|
setVoiceWaitingForSilence(false);
|
|
617
638
|
return;
|
|
618
639
|
}
|
|
619
640
|
const normalized = candidate.toLowerCase();
|
|
620
|
-
const isLikelyNoise =
|
|
641
|
+
const isLikelyNoise = isLikelyVoiceNoise(normalized);
|
|
642
|
+
// #region agent log
|
|
643
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H1', location: 'App.tsx:startLiveVoice.onPartial', message: 'partial transcript observed', data: { textLen: text.length, candidateLen: candidate.length, normalized, isLikelyNoise, silenceMs: VOICE_SILENCE_MS }, timestamp: Date.now() }) }).catch(() => { });
|
|
644
|
+
// #endregion
|
|
621
645
|
if (isLikelyNoise) {
|
|
646
|
+
setPrompt("");
|
|
622
647
|
setVoiceWaitingForSilence(false);
|
|
623
648
|
return;
|
|
624
649
|
}
|
|
650
|
+
setPrompt(text);
|
|
625
651
|
setVoiceWaitingForSilence(true);
|
|
626
652
|
voiceSilenceTimerRef.current = setTimeout(() => {
|
|
653
|
+
// #region agent log
|
|
654
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H2', location: 'App.tsx:startLiveVoice.silenceTimeout', message: 'silence timeout fired and queueing prompt', data: { candidate, voiceWaitingForSilence: true }, timestamp: Date.now() }) }).catch(() => { });
|
|
655
|
+
// #endregion
|
|
627
656
|
setVoiceQueuedPrompt(candidate);
|
|
628
657
|
void stopLiveVoice();
|
|
629
658
|
}, VOICE_SILENCE_MS);
|
|
@@ -638,12 +667,18 @@ export const AstraApp = () => {
|
|
|
638
667
|
setVoicePreparing(false);
|
|
639
668
|
setVoiceListening(false);
|
|
640
669
|
setVoiceWaitingForSilence(false);
|
|
670
|
+
// #region agent log
|
|
671
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H4', location: 'App.tsx:startLiveVoice.onFinal', message: 'final transcript emitted', data: { finalLen: text.length, finalText: text.slice(0, 80) }, timestamp: Date.now() }) }).catch(() => { });
|
|
672
|
+
// #endregion
|
|
641
673
|
},
|
|
642
674
|
onError: (error) => {
|
|
643
675
|
setVoicePreparing(false);
|
|
644
676
|
setVoiceListening(false);
|
|
645
677
|
setVoiceWaitingForSilence(false);
|
|
646
678
|
pushMessage("error", `Voice transcription error: ${error.message}`);
|
|
679
|
+
// #region agent log
|
|
680
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H4', location: 'App.tsx:startLiveVoice.onError', message: 'voice transcription error', data: { error: error.message }, timestamp: Date.now() }) }).catch(() => { });
|
|
681
|
+
// #endregion
|
|
647
682
|
}
|
|
648
683
|
});
|
|
649
684
|
}, [pushMessage, stopLiveVoice]);
|
|
@@ -1107,7 +1142,7 @@ export const AstraApp = () => {
|
|
|
1107
1142
|
if (voiceEnabled) {
|
|
1108
1143
|
await stopLiveVoice();
|
|
1109
1144
|
setVoiceEnabled(false);
|
|
1110
|
-
pushMessage("system", "
|
|
1145
|
+
pushMessage("system", "Voice input paused: credits exhausted. Recharge, then run /voice on.");
|
|
1111
1146
|
pushMessage("system", "");
|
|
1112
1147
|
}
|
|
1113
1148
|
}
|
|
@@ -1172,7 +1207,7 @@ export const AstraApp = () => {
|
|
|
1172
1207
|
return;
|
|
1173
1208
|
}
|
|
1174
1209
|
if (text === "/help") {
|
|
1175
|
-
pushMessage("system", "/new /history /
|
|
1210
|
+
pushMessage("system", "/new /history /voice /dictate on|off|status /tools compact|expanded /settings /settings model <id> /logout /exit");
|
|
1176
1211
|
pushMessage("system", "");
|
|
1177
1212
|
return;
|
|
1178
1213
|
}
|
|
@@ -1189,17 +1224,17 @@ export const AstraApp = () => {
|
|
|
1189
1224
|
return;
|
|
1190
1225
|
}
|
|
1191
1226
|
if (text === "/settings") {
|
|
1192
|
-
pushMessage("system", `Settings: mode=${runtimeMode} scope=${workspaceRoot} model=${activeModel} provider=${getProviderForModel(activeModel)}
|
|
1227
|
+
pushMessage("system", `Settings: mode=${runtimeMode} scope=${workspaceRoot} model=${activeModel} provider=${getProviderForModel(activeModel)} voice=${voiceEnabled ? "on" : "off"} listening=${voiceListening ? "yes" : "no"} tool_feed=${toolFeedMode} silence_ms=${VOICE_SILENCE_MS} role=${user.role ?? "user"} client_id=${getDefaultClientId()} backend=${getBackendUrl()}`);
|
|
1193
1228
|
pushMessage("system", "");
|
|
1194
1229
|
return;
|
|
1195
1230
|
}
|
|
1196
|
-
if (text === "/
|
|
1231
|
+
if (text === "/voice") {
|
|
1197
1232
|
if (!voiceEnabled) {
|
|
1198
1233
|
setVoiceEnabled(true);
|
|
1199
1234
|
startLiveVoice(true);
|
|
1200
1235
|
return;
|
|
1201
1236
|
}
|
|
1202
|
-
pushMessage("system", `
|
|
1237
|
+
pushMessage("system", `Voice input is on${voiceListening ? " (currently listening)" : ""}. Use /voice off to disable.`);
|
|
1203
1238
|
pushMessage("system", "");
|
|
1204
1239
|
return;
|
|
1205
1240
|
}
|
|
@@ -1220,26 +1255,26 @@ export const AstraApp = () => {
|
|
|
1220
1255
|
await openHistory();
|
|
1221
1256
|
return;
|
|
1222
1257
|
}
|
|
1223
|
-
if (text === "/dictate status"
|
|
1224
|
-
pushMessage("system", `
|
|
1258
|
+
if (text === "/dictate status") {
|
|
1259
|
+
pushMessage("system", `Voice input is ${voiceEnabled ? "on" : "off"}${voicePreparing ? " (preparing mic)" : ""}${voiceListening ? " (listening)" : ""}${voiceWaitingForSilence ? " (waiting for silence to auto-send)" : ""}.`);
|
|
1225
1260
|
pushMessage("system", "");
|
|
1226
1261
|
return;
|
|
1227
1262
|
}
|
|
1228
|
-
if (text === "/dictate on"
|
|
1263
|
+
if (text === "/dictate on") {
|
|
1229
1264
|
setVoiceEnabled(true);
|
|
1230
1265
|
startLiveVoice(true);
|
|
1231
|
-
pushMessage("system", `
|
|
1266
|
+
pushMessage("system", `Voice input enabled. Auto-send after ${Math.round(VOICE_SILENCE_MS / 1000)}s silence.`);
|
|
1232
1267
|
pushMessage("system", "");
|
|
1233
1268
|
return;
|
|
1234
1269
|
}
|
|
1235
|
-
if (text === "/dictate off"
|
|
1270
|
+
if (text === "/dictate off") {
|
|
1236
1271
|
await stopLiveVoice();
|
|
1237
1272
|
setVoiceEnabled(false);
|
|
1238
|
-
pushMessage("system", "
|
|
1273
|
+
pushMessage("system", "Voice input disabled.");
|
|
1239
1274
|
pushMessage("system", "");
|
|
1240
1275
|
return;
|
|
1241
1276
|
}
|
|
1242
|
-
if (text === "/dictate input"
|
|
1277
|
+
if (text === "/dictate input") {
|
|
1243
1278
|
const transcribed = await transcribeOnce();
|
|
1244
1279
|
if (!transcribed) {
|
|
1245
1280
|
pushMessage("error", "No speech transcribed. Ensure you're signed in and your microphone capture works (optional ASTRA_STT_CAPTURE_COMMAND).");
|
|
@@ -1370,10 +1405,13 @@ export const AstraApp = () => {
|
|
|
1370
1405
|
}
|
|
1371
1406
|
const normalizedQueued = queued.toLowerCase();
|
|
1372
1407
|
const last = lastVoicePromptRef.current;
|
|
1373
|
-
const isLikelyNoise =
|
|
1408
|
+
const isLikelyNoise = isLikelyVoiceNoise(normalizedQueued);
|
|
1374
1409
|
const isFastDuplicate = last !== null &&
|
|
1375
1410
|
last.text === normalizedQueued &&
|
|
1376
1411
|
Date.now() - last.at <= VOICE_DUPLICATE_WINDOW_MS;
|
|
1412
|
+
// #region agent log
|
|
1413
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H3', location: 'App.tsx:voiceQueuedPromptEffect', message: 'queued prompt evaluated', data: { queued, normalizedQueued, isLikelyNoise, isFastDuplicate, thinking }, timestamp: Date.now() }) }).catch(() => { });
|
|
1414
|
+
// #endregion
|
|
1377
1415
|
if (isLikelyNoise || isFastDuplicate) {
|
|
1378
1416
|
const now = Date.now();
|
|
1379
1417
|
const lastIgnored = lastIgnoredVoiceRef.current;
|
|
@@ -1387,8 +1425,11 @@ export const AstraApp = () => {
|
|
|
1387
1425
|
return;
|
|
1388
1426
|
}
|
|
1389
1427
|
lastVoicePromptRef.current = { text: normalizedQueued, at: Date.now() };
|
|
1390
|
-
pushMessage("system", `
|
|
1428
|
+
pushMessage("system", `Voice input: ${queued}`);
|
|
1391
1429
|
setPrompt("");
|
|
1430
|
+
// #region agent log
|
|
1431
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_1', hypothesisId: 'H3', location: 'App.tsx:voiceQueuedPromptEffect', message: 'queued prompt forwarded to sendPrompt', data: { queuedLen: queued.length }, timestamp: Date.now() }) }).catch(() => { });
|
|
1432
|
+
// #endregion
|
|
1392
1433
|
void sendPrompt(queued);
|
|
1393
1434
|
}, [pushMessage, sendPrompt, thinking, user, voiceQueuedPrompt]);
|
|
1394
1435
|
if (!trustedWorkspace) {
|
|
@@ -1415,7 +1456,7 @@ export const AstraApp = () => {
|
|
|
1415
1456
|
return (_jsxs(Box, { flexDirection: "row", justifyContent: "space-between", children: [_jsxs(Text, { color: active ? "#dce9ff" : "#7a9bba", children: [active ? "❯ " : " ", (row.title || "Untitled").slice(0, 58).padEnd(60, " ")] }), _jsxs(Text, { color: "#5a7a9a", children: [String(row.total_messages ?? 0).padStart(3, " "), " msgs \u00B7 ", formatSessionDate(row.updated_at)] })] }, row.id));
|
|
1416
1457
|
}) })), _jsx(Text, { color: "#2a3a50", children: divider }), _jsxs(Box, { flexDirection: "row", justifyContent: "space-between", children: [_jsxs(Text, { color: "#5a7a9a", children: ["Page ", historyPage + 1, " / ", historyPageCount] }), _jsxs(Text, { color: "#5a7a9a", children: ["Selected: ", selected ? selected.id : "--"] })] })] }))] }));
|
|
1417
1458
|
}
|
|
1418
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "#7aa2ff", children: brand }), _jsx(Text, { color: "#8ea1bd", children: welcomeLine }), _jsx(Text, { color: "#2a3a50", children: divider }), _jsx(Text, { color: "#7a9bba", children: `mode ${runtimeMode} · provider ${getProviderForModel(activeModel)} · model ${activeModel} · credits ${creditsRemaining ?? "--"}${lastCreditCost !== null ? ` (-${lastCreditCost})` : ""}` }), _jsx(Text, { color: "#6c88a8", children: `scope ${workspaceRoot.length > HEADER_PATH_MAX ? `…${workspaceRoot.slice(-(HEADER_PATH_MAX - 1))}` : workspaceRoot} ·
|
|
1459
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "#7aa2ff", children: brand }), _jsx(Text, { color: "#8ea1bd", children: welcomeLine }), _jsx(Text, { color: "#2a3a50", children: divider }), _jsx(Text, { color: "#7a9bba", children: `mode ${runtimeMode} · provider ${getProviderForModel(activeModel)} · model ${activeModel} · credits ${creditsRemaining ?? "--"}${lastCreditCost !== null ? ` (-${lastCreditCost})` : ""}` }), _jsx(Text, { color: "#6c88a8", children: `scope ${workspaceRoot.length > HEADER_PATH_MAX ? `…${workspaceRoot.slice(-(HEADER_PATH_MAX - 1))}` : workspaceRoot} · voice ${voiceEnabled
|
|
1419
1460
|
? voicePreparing
|
|
1420
1461
|
? "on/preparing"
|
|
1421
1462
|
: voiceListening
|
|
@@ -1423,7 +1464,7 @@ export const AstraApp = () => {
|
|
|
1423
1464
|
? "on/waiting"
|
|
1424
1465
|
: "on/listening"
|
|
1425
1466
|
: "on/standby"
|
|
1426
|
-
: "off"}` }), _jsx(Text, { color: "#2a3a50", children: divider }), _jsx(Text, { color: "#3a5068", children: "/help /new /history /
|
|
1467
|
+
: "off"}` }), _jsx(Text, { color: "#2a3a50", children: divider }), _jsx(Text, { color: "#3a5068", children: "/help /new /history /voice /dictate on|off|status" }), _jsx(Text, { color: "#3a5068", children: "/tools compact|expanded /settings /logout /exit" }), _jsx(Text, { color: "#2a3a50", children: divider }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [messages.map((message, index) => {
|
|
1427
1468
|
const prev = index > 0 ? messages[index - 1] : null;
|
|
1428
1469
|
const style = styleForKind(message.kind);
|
|
1429
1470
|
const paddedLabel = style.label.padEnd(LABEL_WIDTH, " ");
|
|
@@ -1468,13 +1509,13 @@ export const AstraApp = () => {
|
|
|
1468
1509
|
return (_jsxs(React.Fragment, { children: [needsGroupGap ? _jsx(Text, { children: " " }) : null, _jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: style.labelColor, children: paddedLabel }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: accent, children: [icon, " ", card.summary, card.count && card.count > 1 ? _jsxs(Text, { color: "#9cb8d8", children: [" (x", card.count, ")"] }) : null, _jsxs(Text, { color: "#5a7a9a", children: [" \u00B7 ", localityLabel] })] }), toolFeedMode === "expanded" ? (_jsxs(_Fragment, { children: [card.path ? _jsxs(Text, { color: "#6c88a8", children: ["path: ", card.path] }) : null, (card.snippetLines ?? []).slice(0, TOOL_SNIPPET_LINES).map((line, idx) => (_jsx(Text, { color: "#8ea1bd", children: line }, `${index}-snippet-${idx}`)))] })) : null] })] })] }, `${index}-${message.kind}`));
|
|
1469
1510
|
}
|
|
1470
1511
|
return (_jsxs(React.Fragment, { children: [needsGroupGap ? _jsx(Text, { children: " " }) : null, _jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: style.labelColor, bold: style.bold, children: paddedLabel }), message.kind === "assistant" ? (_jsx(Box, { flexDirection: "column", children: renderMarkdownContent(message.text, style.textColor, `assistant-${index}`) })) : (_jsx(Text, { color: style.textColor, bold: style.bold && message.kind === "error", children: message.text }))] })] }, `${index}-${message.kind}`));
|
|
1471
|
-
}), streamingText ? (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: "#7aa2ff", children: styleForKind("assistant").label.padEnd(LABEL_WIDTH, " ") }), _jsx(Box, { flexDirection: "column", children: renderMarkdownContent(streamingText, "#dce9ff", "streaming") })] })) : null] }), _jsx(Text, { color: "#2a3a50", children: divider }), thinking ? (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Text, { color: "#7aa2ff", children: "◆ astra".padEnd(LABEL_WIDTH, " ") }), _jsxs(Text, { color: "#6080a0", children: [_jsx(Spinner, { type: "dots2" }), _jsx(Text, { color: "#8aa2c9", children: " thinking..." })] })] })) : null, voiceEnabled && !thinking ? (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Text, { color: "#9ad5ff", children: "🎤
|
|
1512
|
+
}), streamingText ? (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: "#7aa2ff", children: styleForKind("assistant").label.padEnd(LABEL_WIDTH, " ") }), _jsx(Box, { flexDirection: "column", children: renderMarkdownContent(streamingText, "#dce9ff", "streaming") })] })) : null] }), _jsx(Text, { color: "#2a3a50", children: divider }), thinking ? (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Text, { color: "#7aa2ff", children: "◆ astra".padEnd(LABEL_WIDTH, " ") }), _jsxs(Text, { color: "#6080a0", children: [_jsx(Spinner, { type: "dots2" }), _jsx(Text, { color: "#8aa2c9", children: " thinking..." })] })] })) : null, voiceEnabled && !thinking ? (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Text, { color: "#9ad5ff", children: "🎤 voice".padEnd(LABEL_WIDTH, " ") }), voicePreparing ? (_jsx(Text, { color: "#f4d58a", children: "\uD83D\uDFE1 preparing microphone..." })) : voiceListening && !voiceWaitingForSilence ? (_jsx(Text, { color: "#9de3b4", children: "\uD83D\uDFE2 listening now - speak clearly" })) : voiceWaitingForSilence ? (_jsx(Text, { color: "#b7c4d8", children: "\u23F3 speech detected - waiting for silence to send" })) : (_jsx(Text, { color: "#6f8199", children: "\u26AA voice armed - preparing next listen window" }))] })) : null, _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Text, { color: "#7aa2ff", children: "\u276F " }), _jsx(TextInput, { value: prompt, onSubmit: (value) => {
|
|
1472
1513
|
setPrompt("");
|
|
1473
1514
|
void sendPrompt(value);
|
|
1474
1515
|
}, onChange: (value) => {
|
|
1475
1516
|
if (!voiceListening) {
|
|
1476
1517
|
setPrompt(value);
|
|
1477
1518
|
}
|
|
1478
|
-
}, placeholder: voiceEnabled ? "Ask Astra... (
|
|
1519
|
+
}, placeholder: voiceEnabled ? "Ask Astra... (voice on: auto listen + send on silence)" : "Ask Astra..." })] })] }));
|
|
1479
1520
|
};
|
|
1480
1521
|
//# sourceMappingURL=App.js.map
|
package/dist/app/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.tsx"],"names":[],"mappings":"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"}
|
package/dist/lib/voice.js
CHANGED
|
@@ -33,7 +33,8 @@ const captureAudioChunk = async (seconds) => {
|
|
|
33
33
|
if (process.platform === "darwin") {
|
|
34
34
|
// Prefer ffmpeg on macOS (works on Apple Silicon/Homebrew setups).
|
|
35
35
|
if (commandExists("ffmpeg")) {
|
|
36
|
-
|
|
36
|
+
const micDevice = process.env.ASTRA_STT_DEVICE?.trim() || ":0";
|
|
37
|
+
cmd = `ffmpeg -hide_banner -loglevel error -f avfoundation -i "${micDevice}" -ar 16000 -ac 1 -t ${seconds} "${outPath}"`;
|
|
37
38
|
}
|
|
38
39
|
else if (commandExists("rec")) {
|
|
39
40
|
cmd = `rec -q -r 16000 -c 1 "${outPath}" trim 0 ${seconds}`;
|
|
@@ -60,11 +61,20 @@ const captureAudioChunk = async (seconds) => {
|
|
|
60
61
|
else {
|
|
61
62
|
cmd = cmd.replaceAll("{output}", outPath).replaceAll("{seconds}", String(seconds));
|
|
62
63
|
}
|
|
64
|
+
// #region agent log
|
|
65
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_2', hypothesisId: 'H6', location: 'voice.ts:captureAudioChunk', message: 'capture command selected', data: { platform: process.platform, seconds, usesCustom: Boolean(custom), cmdPreview: cmd.slice(0, 180) }, timestamp: Date.now() }) }).catch(() => { });
|
|
66
|
+
// #endregion
|
|
63
67
|
await runShell(cmd);
|
|
68
|
+
// #region agent log
|
|
69
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_2', hypothesisId: 'H6', location: 'voice.ts:captureAudioChunk', message: 'capture command completed', data: { outputPath: outPath }, timestamp: Date.now() }) }).catch(() => { });
|
|
70
|
+
// #endregion
|
|
64
71
|
return outPath;
|
|
65
72
|
};
|
|
66
73
|
const transcribeAudioFile = async (filePath) => {
|
|
67
74
|
const bytes = await readFile(filePath);
|
|
75
|
+
// #region agent log
|
|
76
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_2', hypothesisId: 'H7', location: 'voice.ts:transcribeAudioFile', message: 'audio chunk loaded', data: { filePath, byteLength: bytes.length }, timestamp: Date.now() }) }).catch(() => { });
|
|
77
|
+
// #endregion
|
|
68
78
|
const file = new File([bytes], basename(filePath), { type: "audio/wav" });
|
|
69
79
|
// Backend proxy only: backend holds provider secrets.
|
|
70
80
|
const token = loadSession()?.access_token;
|
|
@@ -79,12 +89,19 @@ const transcribeAudioFile = async (filePath) => {
|
|
|
79
89
|
headers: { Authorization: `Bearer ${token}` },
|
|
80
90
|
body: form
|
|
81
91
|
});
|
|
92
|
+
// #region agent log
|
|
93
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_2', hypothesisId: 'H7', location: 'voice.ts:transcribeAudioFile', message: 'backend transcribe response', data: { status: response.status, ok: response.ok }, timestamp: Date.now() }) }).catch(() => { });
|
|
94
|
+
// #endregion
|
|
82
95
|
if (!response.ok) {
|
|
83
96
|
const detail = (await response.text()).slice(0, 400);
|
|
84
97
|
throw new Error(`Backend transcription failed ${response.status}: ${detail}`);
|
|
85
98
|
}
|
|
86
99
|
const data = (await response.json());
|
|
87
|
-
|
|
100
|
+
const out = String(data.text ?? "").trim();
|
|
101
|
+
// #region agent log
|
|
102
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '17f1ea' }, body: JSON.stringify({ sessionId: '17f1ea', runId: 'voice_run_2', hypothesisId: 'H8', location: 'voice.ts:transcribeAudioFile', message: 'transcribe text received', data: { textLen: out.length, textPreview: out.slice(0, 80) }, timestamp: Date.now() }) }).catch(() => { });
|
|
103
|
+
// #endregion
|
|
104
|
+
return out;
|
|
88
105
|
};
|
|
89
106
|
/**
|
|
90
107
|
* Speak assistant text using either:
|
package/dist/lib/voice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/lib/voice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC;AAC7E,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,KAAK,CAAC,CAAC;AAEnF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAEvG,MAAM,aAAa,GAAG,CAAC,MAAc,EAAW,EAAE;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,MAAM,EAAE,CAAC,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE,CACxD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAe,EAAmB,EAAE;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,UAAU,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC;IAE7D,IAAI,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,mEAAmE;YACnE,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/lib/voice.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/app/App.tsx
CHANGED
|
@@ -76,6 +76,7 @@ const FOUNDER_WELCOME = centerLine("Welcome to Astra from Astra CEO & Founder, S
|
|
|
76
76
|
|
|
77
77
|
const HISTORY_SETTINGS_URL = "https://astra-web-builder.vercel.app/settings";
|
|
78
78
|
const VOICE_SILENCE_MS = Number(process.env.ASTRA_VOICE_SILENCE_MS ?? "3000");
|
|
79
|
+
|
|
79
80
|
const VOICE_MIN_CHARS = Number(process.env.ASTRA_VOICE_MIN_CHARS ?? "4");
|
|
80
81
|
const VOICE_DUPLICATE_WINDOW_MS = Number(process.env.ASTRA_VOICE_DUPLICATE_WINDOW_MS ?? "10000");
|
|
81
82
|
const VOICE_NOISE_WORDS = new Set(["you", "yes", "yeah", "yep", "ok", "okay", "uh", "um", "hmm"]);
|
|
@@ -306,6 +307,25 @@ const summarizeToolResult = (toolName: string, data: Record<string, unknown>, su
|
|
|
306
307
|
return `${toolName} completed`;
|
|
307
308
|
};
|
|
308
309
|
|
|
310
|
+
const isLikelyVoiceNoise = (text: string): boolean => {
|
|
311
|
+
const normalized = text.trim().toLowerCase();
|
|
312
|
+
if (!normalized) {
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
if (normalized.length < VOICE_MIN_CHARS) {
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
const tokens = normalized.split(/\s+/).filter(Boolean);
|
|
319
|
+
if (tokens.length === 0) {
|
|
320
|
+
return true;
|
|
321
|
+
}
|
|
322
|
+
const nonNoise = tokens.filter((t) => !VOICE_NOISE_WORDS.has(t));
|
|
323
|
+
if (nonNoise.length === 0) {
|
|
324
|
+
return true;
|
|
325
|
+
}
|
|
326
|
+
return false;
|
|
327
|
+
};
|
|
328
|
+
|
|
309
329
|
type InlineToken = {text: string; bold?: boolean; italic?: boolean; code?: boolean};
|
|
310
330
|
|
|
311
331
|
const parseInline = (line: string): InlineToken[] => {
|
|
@@ -771,34 +791,45 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
771
791
|
if (liveVoiceRef.current) {
|
|
772
792
|
return;
|
|
773
793
|
}
|
|
794
|
+
// #region agent log
|
|
795
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H5',location:'App.tsx:startLiveVoice',message:'startLiveVoice called',data:{announce,voiceEnabled,thinking,hasController:Boolean(liveVoiceRef.current)},timestamp:Date.now()})}).catch(()=>{});
|
|
796
|
+
// #endregion
|
|
774
797
|
setVoiceEnabled(true);
|
|
775
798
|
setVoicePreparing(true);
|
|
776
799
|
setVoiceListening(false);
|
|
777
800
|
setVoiceWaitingForSilence(false);
|
|
778
801
|
if (announce) {
|
|
779
|
-
pushMessage("system", "
|
|
802
|
+
pushMessage("system", "Voice input armed. Preparing microphone...");
|
|
780
803
|
}
|
|
781
804
|
liveVoiceRef.current = startLiveTranscription({
|
|
782
805
|
onPartial: (text) => {
|
|
783
806
|
setVoicePreparing(false);
|
|
784
807
|
setVoiceListening(true);
|
|
785
|
-
setPrompt(text);
|
|
786
808
|
if (voiceSilenceTimerRef.current) {
|
|
787
809
|
clearTimeout(voiceSilenceTimerRef.current);
|
|
788
810
|
}
|
|
789
811
|
const candidate = text.trim();
|
|
790
812
|
if (!candidate) {
|
|
813
|
+
setPrompt("");
|
|
791
814
|
setVoiceWaitingForSilence(false);
|
|
792
815
|
return;
|
|
793
816
|
}
|
|
794
817
|
const normalized = candidate.toLowerCase();
|
|
795
|
-
const isLikelyNoise =
|
|
818
|
+
const isLikelyNoise = isLikelyVoiceNoise(normalized);
|
|
819
|
+
// #region agent log
|
|
820
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H1',location:'App.tsx:startLiveVoice.onPartial',message:'partial transcript observed',data:{textLen:text.length,candidateLen:candidate.length,normalized,isLikelyNoise,silenceMs:VOICE_SILENCE_MS},timestamp:Date.now()})}).catch(()=>{});
|
|
821
|
+
// #endregion
|
|
796
822
|
if (isLikelyNoise) {
|
|
823
|
+
setPrompt("");
|
|
797
824
|
setVoiceWaitingForSilence(false);
|
|
798
825
|
return;
|
|
799
826
|
}
|
|
827
|
+
setPrompt(text);
|
|
800
828
|
setVoiceWaitingForSilence(true);
|
|
801
829
|
voiceSilenceTimerRef.current = setTimeout(() => {
|
|
830
|
+
// #region agent log
|
|
831
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H2',location:'App.tsx:startLiveVoice.silenceTimeout',message:'silence timeout fired and queueing prompt',data:{candidate,voiceWaitingForSilence:true},timestamp:Date.now()})}).catch(()=>{});
|
|
832
|
+
// #endregion
|
|
802
833
|
setVoiceQueuedPrompt(candidate);
|
|
803
834
|
void stopLiveVoice();
|
|
804
835
|
}, VOICE_SILENCE_MS);
|
|
@@ -813,12 +844,18 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
813
844
|
setVoicePreparing(false);
|
|
814
845
|
setVoiceListening(false);
|
|
815
846
|
setVoiceWaitingForSilence(false);
|
|
847
|
+
// #region agent log
|
|
848
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H4',location:'App.tsx:startLiveVoice.onFinal',message:'final transcript emitted',data:{finalLen:text.length,finalText:text.slice(0,80)},timestamp:Date.now()})}).catch(()=>{});
|
|
849
|
+
// #endregion
|
|
816
850
|
},
|
|
817
851
|
onError: (error) => {
|
|
818
852
|
setVoicePreparing(false);
|
|
819
853
|
setVoiceListening(false);
|
|
820
854
|
setVoiceWaitingForSilence(false);
|
|
821
855
|
pushMessage("error", `Voice transcription error: ${error.message}`);
|
|
856
|
+
// #region agent log
|
|
857
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H4',location:'App.tsx:startLiveVoice.onError',message:'voice transcription error',data:{error:error.message},timestamp:Date.now()})}).catch(()=>{});
|
|
858
|
+
// #endregion
|
|
822
859
|
}
|
|
823
860
|
});
|
|
824
861
|
}, [pushMessage, stopLiveVoice]);
|
|
@@ -1312,7 +1349,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1312
1349
|
if (voiceEnabled) {
|
|
1313
1350
|
await stopLiveVoice();
|
|
1314
1351
|
setVoiceEnabled(false);
|
|
1315
|
-
pushMessage("system", "
|
|
1352
|
+
pushMessage("system", "Voice input paused: credits exhausted. Recharge, then run /voice on.");
|
|
1316
1353
|
pushMessage("system", "");
|
|
1317
1354
|
}
|
|
1318
1355
|
}
|
|
@@ -1390,7 +1427,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1390
1427
|
if (text === "/help") {
|
|
1391
1428
|
pushMessage(
|
|
1392
1429
|
"system",
|
|
1393
|
-
"/new /history /
|
|
1430
|
+
"/new /history /voice /dictate on|off|status /tools compact|expanded /settings /settings model <id> /logout /exit"
|
|
1394
1431
|
);
|
|
1395
1432
|
pushMessage("system", "");
|
|
1396
1433
|
return;
|
|
@@ -1410,12 +1447,12 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1410
1447
|
if (text === "/settings") {
|
|
1411
1448
|
pushMessage(
|
|
1412
1449
|
"system",
|
|
1413
|
-
`Settings: mode=${runtimeMode} scope=${workspaceRoot} model=${activeModel} provider=${getProviderForModel(activeModel)}
|
|
1450
|
+
`Settings: mode=${runtimeMode} scope=${workspaceRoot} model=${activeModel} provider=${getProviderForModel(activeModel)} voice=${voiceEnabled ? "on" : "off"} listening=${voiceListening ? "yes" : "no"} tool_feed=${toolFeedMode} silence_ms=${VOICE_SILENCE_MS} role=${user.role ?? "user"} client_id=${getDefaultClientId()} backend=${getBackendUrl()}`
|
|
1414
1451
|
);
|
|
1415
1452
|
pushMessage("system", "");
|
|
1416
1453
|
return;
|
|
1417
1454
|
}
|
|
1418
|
-
if (text === "/
|
|
1455
|
+
if (text === "/voice") {
|
|
1419
1456
|
if (!voiceEnabled) {
|
|
1420
1457
|
setVoiceEnabled(true);
|
|
1421
1458
|
startLiveVoice(true);
|
|
@@ -1423,7 +1460,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1423
1460
|
}
|
|
1424
1461
|
pushMessage(
|
|
1425
1462
|
"system",
|
|
1426
|
-
`
|
|
1463
|
+
`Voice input is on${voiceListening ? " (currently listening)" : ""}. Use /voice off to disable.`
|
|
1427
1464
|
);
|
|
1428
1465
|
pushMessage("system", "");
|
|
1429
1466
|
return;
|
|
@@ -1448,29 +1485,29 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1448
1485
|
await openHistory();
|
|
1449
1486
|
return;
|
|
1450
1487
|
}
|
|
1451
|
-
if (text === "/dictate status"
|
|
1488
|
+
if (text === "/dictate status") {
|
|
1452
1489
|
pushMessage(
|
|
1453
1490
|
"system",
|
|
1454
|
-
`
|
|
1491
|
+
`Voice input is ${voiceEnabled ? "on" : "off"}${voicePreparing ? " (preparing mic)" : ""}${voiceListening ? " (listening)" : ""}${voiceWaitingForSilence ? " (waiting for silence to auto-send)" : ""}.`
|
|
1455
1492
|
);
|
|
1456
1493
|
pushMessage("system", "");
|
|
1457
1494
|
return;
|
|
1458
1495
|
}
|
|
1459
|
-
if (text === "/dictate on"
|
|
1496
|
+
if (text === "/dictate on") {
|
|
1460
1497
|
setVoiceEnabled(true);
|
|
1461
1498
|
startLiveVoice(true);
|
|
1462
|
-
pushMessage("system", `
|
|
1499
|
+
pushMessage("system", `Voice input enabled. Auto-send after ${Math.round(VOICE_SILENCE_MS / 1000)}s silence.`);
|
|
1463
1500
|
pushMessage("system", "");
|
|
1464
1501
|
return;
|
|
1465
1502
|
}
|
|
1466
|
-
if (text === "/dictate off"
|
|
1503
|
+
if (text === "/dictate off") {
|
|
1467
1504
|
await stopLiveVoice();
|
|
1468
1505
|
setVoiceEnabled(false);
|
|
1469
|
-
pushMessage("system", "
|
|
1506
|
+
pushMessage("system", "Voice input disabled.");
|
|
1470
1507
|
pushMessage("system", "");
|
|
1471
1508
|
return;
|
|
1472
1509
|
}
|
|
1473
|
-
if (text === "/dictate input"
|
|
1510
|
+
if (text === "/dictate input") {
|
|
1474
1511
|
const transcribed = await transcribeOnce();
|
|
1475
1512
|
if (!transcribed) {
|
|
1476
1513
|
pushMessage(
|
|
@@ -1610,11 +1647,14 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1610
1647
|
}
|
|
1611
1648
|
const normalizedQueued = queued.toLowerCase();
|
|
1612
1649
|
const last = lastVoicePromptRef.current;
|
|
1613
|
-
const isLikelyNoise =
|
|
1650
|
+
const isLikelyNoise = isLikelyVoiceNoise(normalizedQueued);
|
|
1614
1651
|
const isFastDuplicate =
|
|
1615
1652
|
last !== null &&
|
|
1616
1653
|
last.text === normalizedQueued &&
|
|
1617
1654
|
Date.now() - last.at <= VOICE_DUPLICATE_WINDOW_MS;
|
|
1655
|
+
// #region agent log
|
|
1656
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H3',location:'App.tsx:voiceQueuedPromptEffect',message:'queued prompt evaluated',data:{queued,normalizedQueued,isLikelyNoise,isFastDuplicate,thinking},timestamp:Date.now()})}).catch(()=>{});
|
|
1657
|
+
// #endregion
|
|
1618
1658
|
if (isLikelyNoise || isFastDuplicate) {
|
|
1619
1659
|
const now = Date.now();
|
|
1620
1660
|
const lastIgnored = lastIgnoredVoiceRef.current;
|
|
@@ -1629,8 +1669,11 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1629
1669
|
return;
|
|
1630
1670
|
}
|
|
1631
1671
|
lastVoicePromptRef.current = {text: normalizedQueued, at: Date.now()};
|
|
1632
|
-
pushMessage("system", `
|
|
1672
|
+
pushMessage("system", `Voice input: ${queued}`);
|
|
1633
1673
|
setPrompt("");
|
|
1674
|
+
// #region agent log
|
|
1675
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_1',hypothesisId:'H3',location:'App.tsx:voiceQueuedPromptEffect',message:'queued prompt forwarded to sendPrompt',data:{queuedLen:queued.length},timestamp:Date.now()})}).catch(()=>{});
|
|
1676
|
+
// #endregion
|
|
1634
1677
|
void sendPrompt(queued);
|
|
1635
1678
|
}, [pushMessage, sendPrompt, thinking, user, voiceQueuedPrompt]);
|
|
1636
1679
|
|
|
@@ -1829,7 +1872,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1829
1872
|
<Text color="#6c88a8">
|
|
1830
1873
|
{`scope ${
|
|
1831
1874
|
workspaceRoot.length > HEADER_PATH_MAX ? `…${workspaceRoot.slice(-(HEADER_PATH_MAX - 1))}` : workspaceRoot
|
|
1832
|
-
} ·
|
|
1875
|
+
} · voice ${
|
|
1833
1876
|
voiceEnabled
|
|
1834
1877
|
? voicePreparing
|
|
1835
1878
|
? "on/preparing"
|
|
@@ -1842,7 +1885,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1842
1885
|
}`}
|
|
1843
1886
|
</Text>
|
|
1844
1887
|
<Text color="#2a3a50">{divider}</Text>
|
|
1845
|
-
<Text color="#3a5068">/help /new /history /
|
|
1888
|
+
<Text color="#3a5068">/help /new /history /voice /dictate on|off|status</Text>
|
|
1846
1889
|
<Text color="#3a5068">/tools compact|expanded /settings /logout /exit</Text>
|
|
1847
1890
|
<Text color="#2a3a50">{divider}</Text>
|
|
1848
1891
|
<Box flexDirection="column" marginTop={1}>
|
|
@@ -1958,7 +2001,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1958
2001
|
) : null}
|
|
1959
2002
|
{voiceEnabled && !thinking ? (
|
|
1960
2003
|
<Box flexDirection="row" marginTop={1}>
|
|
1961
|
-
<Text color="#9ad5ff">{"🎤
|
|
2004
|
+
<Text color="#9ad5ff">{"🎤 voice".padEnd(LABEL_WIDTH, " ")}</Text>
|
|
1962
2005
|
{voicePreparing ? (
|
|
1963
2006
|
<Text color="#f4d58a">🟡 preparing microphone...</Text>
|
|
1964
2007
|
) : voiceListening && !voiceWaitingForSilence ? (
|
|
@@ -1983,7 +2026,7 @@ export const AstraApp = (): React.JSX.Element => {
|
|
|
1983
2026
|
setPrompt(value);
|
|
1984
2027
|
}
|
|
1985
2028
|
}}
|
|
1986
|
-
placeholder={voiceEnabled ? "Ask Astra... (
|
|
2029
|
+
placeholder={voiceEnabled ? "Ask Astra... (voice on: auto listen + send on silence)" : "Ask Astra..."}
|
|
1987
2030
|
/>
|
|
1988
2031
|
</Box>
|
|
1989
2032
|
</Box>
|
package/src/lib/voice.ts
CHANGED
|
@@ -39,7 +39,8 @@ const captureAudioChunk = async (seconds: number): Promise<string> => {
|
|
|
39
39
|
if (process.platform === "darwin") {
|
|
40
40
|
// Prefer ffmpeg on macOS (works on Apple Silicon/Homebrew setups).
|
|
41
41
|
if (commandExists("ffmpeg")) {
|
|
42
|
-
|
|
42
|
+
const micDevice = process.env.ASTRA_STT_DEVICE?.trim() || ":0";
|
|
43
|
+
cmd = `ffmpeg -hide_banner -loglevel error -f avfoundation -i "${micDevice}" -ar 16000 -ac 1 -t ${seconds} "${outPath}"`;
|
|
43
44
|
} else if (commandExists("rec")) {
|
|
44
45
|
cmd = `rec -q -r 16000 -c 1 "${outPath}" trim 0 ${seconds}`;
|
|
45
46
|
} else {
|
|
@@ -62,12 +63,21 @@ const captureAudioChunk = async (seconds: number): Promise<string> => {
|
|
|
62
63
|
cmd = cmd.replaceAll("{output}", outPath).replaceAll("{seconds}", String(seconds));
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
// #region agent log
|
|
67
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_2',hypothesisId:'H6',location:'voice.ts:captureAudioChunk',message:'capture command selected',data:{platform:process.platform,seconds,usesCustom:Boolean(custom),cmdPreview:cmd.slice(0,180)},timestamp:Date.now()})}).catch(()=>{});
|
|
68
|
+
// #endregion
|
|
65
69
|
await runShell(cmd);
|
|
70
|
+
// #region agent log
|
|
71
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_2',hypothesisId:'H6',location:'voice.ts:captureAudioChunk',message:'capture command completed',data:{outputPath:outPath},timestamp:Date.now()})}).catch(()=>{});
|
|
72
|
+
// #endregion
|
|
66
73
|
return outPath;
|
|
67
74
|
};
|
|
68
75
|
|
|
69
76
|
const transcribeAudioFile = async (filePath: string): Promise<string> => {
|
|
70
77
|
const bytes = await readFile(filePath);
|
|
78
|
+
// #region agent log
|
|
79
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_2',hypothesisId:'H7',location:'voice.ts:transcribeAudioFile',message:'audio chunk loaded',data:{filePath,byteLength:bytes.length},timestamp:Date.now()})}).catch(()=>{});
|
|
80
|
+
// #endregion
|
|
71
81
|
const file = new File([bytes], basename(filePath), {type: "audio/wav"});
|
|
72
82
|
|
|
73
83
|
// Backend proxy only: backend holds provider secrets.
|
|
@@ -83,12 +93,19 @@ const transcribeAudioFile = async (filePath: string): Promise<string> => {
|
|
|
83
93
|
headers: {Authorization: `Bearer ${token}`},
|
|
84
94
|
body: form
|
|
85
95
|
});
|
|
96
|
+
// #region agent log
|
|
97
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_2',hypothesisId:'H7',location:'voice.ts:transcribeAudioFile',message:'backend transcribe response',data:{status:response.status,ok:response.ok},timestamp:Date.now()})}).catch(()=>{});
|
|
98
|
+
// #endregion
|
|
86
99
|
if (!response.ok) {
|
|
87
100
|
const detail = (await response.text()).slice(0, 400);
|
|
88
101
|
throw new Error(`Backend transcription failed ${response.status}: ${detail}`);
|
|
89
102
|
}
|
|
90
103
|
const data = (await response.json()) as {text?: string};
|
|
91
|
-
|
|
104
|
+
const out = String(data.text ?? "").trim();
|
|
105
|
+
// #region agent log
|
|
106
|
+
fetch('http://127.0.0.1:7573/ingest/fdd4f018-1ba3-4303-b1bb-375443267476',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'17f1ea'},body:JSON.stringify({sessionId:'17f1ea',runId:'voice_run_2',hypothesisId:'H8',location:'voice.ts:transcribeAudioFile',message:'transcribe text received',data:{textLen:out.length,textPreview:out.slice(0,80)},timestamp:Date.now()})}).catch(()=>{});
|
|
107
|
+
// #endregion
|
|
108
|
+
return out;
|
|
92
109
|
};
|
|
93
110
|
|
|
94
111
|
/**
|