@markusylisiurunen/tau 0.3.14 → 0.3.16
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/core/diff_review/bridge.js +30 -2
- package/dist/core/diff_review/bridge.js.map +1 -1
- package/dist/core/session/session_engine.js +1 -4
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/telegram/adapter.js +15 -0
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/tools/nook.js +16 -5
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/utils/gemini_transcription.js +17 -3
- package/dist/core/utils/gemini_transcription.js.map +1 -1
- package/dist/core/utils/messages.js +13 -0
- package/dist/core/utils/messages.js.map +1 -1
- package/dist/core/utils/speech_to_text.js +1 -0
- package/dist/core/utils/speech_to_text.js.map +1 -1
- package/dist/core/utils/speech_to_text_context.js +76 -0
- package/dist/core/utils/speech_to_text_context.js.map +1 -0
- package/dist/core/version.js +1 -1
- package/dist/diff_tool/app/dist/assets/index-D466OuVg.js +1580 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-CyvmCCZW.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-Rgc0TwpF.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-soft-BHGpRqa4.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-Beq2gCRQ.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-BWBVywrn.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-480U9XYS.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-CaVOBURG.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-soft-CVdyfjmI.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-B4_gpKOM.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-DdTDNdfJ.js +1 -0
- package/dist/diff_tool/app/dist/index.html +1 -1
- package/dist/host/session_protocol_handler.js +99 -79
- package/dist/host/session_protocol_handler.js.map +1 -1
- package/dist/nook/README.md +1 -1
- package/dist/nook/worker/index.js +4 -2
- package/dist/nook/worker/index.js.map +1 -1
- package/dist/tui/chat_controller/history_message_model.js +2 -11
- package/dist/tui/chat_controller/history_message_model.js.map +1 -1
- package/dist/tui/chat_controller/queued_user_messages.js +6 -0
- package/dist/tui/chat_controller/queued_user_messages.js.map +1 -1
- package/dist/tui/listen_capture.js +1 -0
- package/dist/tui/listen_capture.js.map +1 -1
- package/dist/tui/session_chat_controller.js +14 -25
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/ui/agent_activity_format.js +4 -0
- package/dist/tui/ui/agent_activity_format.js.map +1 -1
- package/dist/tui/ui/diff_review_message.js +2 -2
- package/dist/tui/ui/diff_review_message.js.map +1 -1
- package/package.json +10 -10
- package/dist/diff_tool/app/dist/assets/index-ivRn2dP2.js +0 -258
- package/dist/diff_tool/app/dist/assets/pierre-dark-Dy3oF52j.js +0 -1
- package/dist/diff_tool/app/dist/assets/pierre-dark-soft-K7D5SChL.js +0 -1
- package/dist/diff_tool/app/dist/assets/pierre-light-DhMpYZcV.js +0 -1
- package/dist/diff_tool/app/dist/assets/pierre-light-soft-cPlVRKcQ.js +0 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { extractAssistantText, extractUserText } from "./messages.js";
|
|
2
|
+
import { truncateForTokens } from "./truncate.js";
|
|
3
|
+
const MAX_SPEECH_TO_TEXT_CONTEXT_TURNS = 2;
|
|
4
|
+
const MAX_SPEECH_TO_TEXT_CONTEXT_MESSAGE_TOKENS = 4_096;
|
|
5
|
+
export function collectSpeechToTextContext(snapshot) {
|
|
6
|
+
const startIndex = findContextStartIndex(snapshot);
|
|
7
|
+
if (startIndex === undefined) {
|
|
8
|
+
return { messages: [] };
|
|
9
|
+
}
|
|
10
|
+
const messages = [];
|
|
11
|
+
for (let index = startIndex; index < snapshot.messages.length; index += 1) {
|
|
12
|
+
const entry = snapshot.messages[index];
|
|
13
|
+
if (entry?.state !== "committed") {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
const message = entry.message;
|
|
17
|
+
if (message.role === "user") {
|
|
18
|
+
const text = truncateContextMessage(extractUserText(message));
|
|
19
|
+
if (text) {
|
|
20
|
+
messages.push({ role: "user", text });
|
|
21
|
+
}
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (message.role === "assistant" && isAssistantFinalResponse(message)) {
|
|
25
|
+
const text = truncateContextMessage(extractAssistantText(message));
|
|
26
|
+
if (text) {
|
|
27
|
+
messages.push({ role: "assistant", text });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return { messages };
|
|
32
|
+
}
|
|
33
|
+
export function formatSpeechToTextContext(context) {
|
|
34
|
+
const messages = context?.messages.filter((message) => message.text.trim()) ?? [];
|
|
35
|
+
if (messages.length === 0) {
|
|
36
|
+
return "";
|
|
37
|
+
}
|
|
38
|
+
return [
|
|
39
|
+
"<speech-to-text-context>",
|
|
40
|
+
...messages.flatMap((message, index) => [
|
|
41
|
+
` <message index="${index + 1}" role="${message.role}">`,
|
|
42
|
+
escapeXml(message.text.trim()),
|
|
43
|
+
" </message>",
|
|
44
|
+
]),
|
|
45
|
+
"</speech-to-text-context>",
|
|
46
|
+
].join("\n");
|
|
47
|
+
}
|
|
48
|
+
function escapeXml(text) {
|
|
49
|
+
return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
50
|
+
}
|
|
51
|
+
function findContextStartIndex(snapshot) {
|
|
52
|
+
let turns = 0;
|
|
53
|
+
for (let index = snapshot.messages.length - 1; index >= 0; index -= 1) {
|
|
54
|
+
const entry = snapshot.messages[index];
|
|
55
|
+
if (entry?.state !== "committed" || entry.message.role !== "user") {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
turns += 1;
|
|
59
|
+
if (turns >= MAX_SPEECH_TO_TEXT_CONTEXT_TURNS) {
|
|
60
|
+
return index;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return turns > 0
|
|
64
|
+
? snapshot.messages.findIndex((entry) => entry.state === "committed" && entry.message.role === "user")
|
|
65
|
+
: undefined;
|
|
66
|
+
}
|
|
67
|
+
function isAssistantFinalResponse(message) {
|
|
68
|
+
return message.content.every((part) => part.type !== "toolCall");
|
|
69
|
+
}
|
|
70
|
+
function truncateContextMessage(text) {
|
|
71
|
+
return truncateForTokens(text.trim(), {
|
|
72
|
+
maxTokens: MAX_SPEECH_TO_TEXT_CONTEXT_MESSAGE_TOKENS,
|
|
73
|
+
strategy: "middle",
|
|
74
|
+
}).content.trim();
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=speech_to_text_context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech_to_text_context.js","sourceRoot":"","sources":["../../../src/core/utils/speech_to_text_context.ts"],"names":[],"mappings":"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"}
|
package/dist/core/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const APP_VERSION = "0.3.
|
|
1
|
+
export const APP_VERSION = "0.3.16";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|