@markusylisiurunen/tau 0.3.15 → 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.
Files changed (49) hide show
  1. package/dist/core/diff_review/bridge.js +30 -2
  2. package/dist/core/diff_review/bridge.js.map +1 -1
  3. package/dist/core/session/session_engine.js +1 -4
  4. package/dist/core/session/session_engine.js.map +1 -1
  5. package/dist/core/telegram/adapter.js +15 -0
  6. package/dist/core/telegram/adapter.js.map +1 -1
  7. package/dist/core/tools/nook.js +15 -5
  8. package/dist/core/tools/nook.js.map +1 -1
  9. package/dist/core/utils/gemini_transcription.js +17 -3
  10. package/dist/core/utils/gemini_transcription.js.map +1 -1
  11. package/dist/core/utils/messages.js +13 -0
  12. package/dist/core/utils/messages.js.map +1 -1
  13. package/dist/core/utils/speech_to_text.js +1 -0
  14. package/dist/core/utils/speech_to_text.js.map +1 -1
  15. package/dist/core/utils/speech_to_text_context.js +76 -0
  16. package/dist/core/utils/speech_to_text_context.js.map +1 -0
  17. package/dist/core/version.js +1 -1
  18. package/dist/diff_tool/app/dist/assets/index-D466OuVg.js +1580 -0
  19. package/dist/diff_tool/app/dist/assets/pierre-dark-CyvmCCZW.js +1 -0
  20. package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-Rgc0TwpF.js +1 -0
  21. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-BHGpRqa4.js +1 -0
  22. package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-Beq2gCRQ.js +1 -0
  23. package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-BWBVywrn.js +1 -0
  24. package/dist/diff_tool/app/dist/assets/pierre-light-480U9XYS.js +1 -0
  25. package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-CaVOBURG.js +1 -0
  26. package/dist/diff_tool/app/dist/assets/pierre-light-soft-CVdyfjmI.js +1 -0
  27. package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-B4_gpKOM.js +1 -0
  28. package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-DdTDNdfJ.js +1 -0
  29. package/dist/diff_tool/app/dist/index.html +1 -1
  30. package/dist/host/session_protocol_handler.js +99 -79
  31. package/dist/host/session_protocol_handler.js.map +1 -1
  32. package/dist/tui/chat_controller/history_message_model.js +2 -11
  33. package/dist/tui/chat_controller/history_message_model.js.map +1 -1
  34. package/dist/tui/chat_controller/queued_user_messages.js +6 -0
  35. package/dist/tui/chat_controller/queued_user_messages.js.map +1 -1
  36. package/dist/tui/listen_capture.js +1 -0
  37. package/dist/tui/listen_capture.js.map +1 -1
  38. package/dist/tui/session_chat_controller.js +14 -25
  39. package/dist/tui/session_chat_controller.js.map +1 -1
  40. package/dist/tui/ui/agent_activity_format.js +4 -0
  41. package/dist/tui/ui/agent_activity_format.js.map +1 -1
  42. package/dist/tui/ui/diff_review_message.js +2 -2
  43. package/dist/tui/ui/diff_review_message.js.map +1 -1
  44. package/package.json +10 -10
  45. package/dist/diff_tool/app/dist/assets/index-ivRn2dP2.js +0 -258
  46. package/dist/diff_tool/app/dist/assets/pierre-dark-Dy3oF52j.js +0 -1
  47. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-K7D5SChL.js +0 -1
  48. package/dist/diff_tool/app/dist/assets/pierre-light-DhMpYZcV.js +0 -1
  49. 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, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
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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"}
@@ -1,2 +1,2 @@
1
- export const APP_VERSION = "0.3.15";
1
+ export const APP_VERSION = "0.3.16";
2
2
  //# sourceMappingURL=version.js.map