claude-mux 0.19.0 → 0.21.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.
Files changed (185) hide show
  1. package/dist/claude/voice-command.d.ts +14 -0
  2. package/dist/claude/voice-command.d.ts.map +1 -0
  3. package/dist/claude/voice-command.js +100 -0
  4. package/dist/claude/voice-command.js.map +1 -0
  5. package/dist/commands/wait-idle.js +1 -1
  6. package/dist/commands/wait-idle.js.map +1 -1
  7. package/dist/hooks/claude-mux-hook.js +14 -4
  8. package/dist/hooks/claude-mux-hook.js.map +1 -1
  9. package/dist/server/dictation-marks.d.ts +7 -0
  10. package/dist/server/dictation-marks.d.ts.map +1 -0
  11. package/dist/server/dictation-marks.js +102 -0
  12. package/dist/server/dictation-marks.js.map +1 -0
  13. package/dist/server/ws-handlers.d.ts +2 -0
  14. package/dist/server/ws-handlers.d.ts.map +1 -1
  15. package/dist/server/ws-handlers.js +18 -8
  16. package/dist/server/ws-handlers.js.map +1 -1
  17. package/dist/tmux/pane.d.ts +31 -1
  18. package/dist/tmux/pane.d.ts.map +1 -1
  19. package/dist/tmux/pane.js +93 -20
  20. package/dist/tmux/pane.js.map +1 -1
  21. package/dist/transcript/parser.d.ts +19 -2
  22. package/dist/transcript/parser.d.ts.map +1 -1
  23. package/dist/transcript/parser.js +76 -2
  24. package/dist/transcript/parser.js.map +1 -1
  25. package/dist/types/ws-messages.d.ts +18 -0
  26. package/dist/types/ws-messages.d.ts.map +1 -1
  27. package/dist/types/ws-messages.js +6 -0
  28. package/dist/types/ws-messages.js.map +1 -1
  29. package/dist/utils/fuzzy.d.ts +32 -0
  30. package/dist/utils/fuzzy.d.ts.map +1 -0
  31. package/dist/utils/fuzzy.js +80 -0
  32. package/dist/utils/fuzzy.js.map +1 -0
  33. package/dist/utils/version.d.ts +1 -1
  34. package/dist/utils/version.js +1 -1
  35. package/dist/web/client/_app/immutable/assets/3.Czdauto0.css +1 -0
  36. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DvxDf3-0.js → dist/web/client/_app/immutable/chunks/2AEQsLlv.js} +2 -2
  37. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C7uYOSKv.js → dist/web/client/_app/immutable/chunks/BGREColc.js} +1 -1
  38. package/dist/web/client/_app/immutable/chunks/{Di3l9JAn.js → CEnwLC72.js} +8 -8
  39. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DKHBLjVs.js → dist/web/client/_app/immutable/chunks/iYbh7kE_.js} +1 -1
  40. package/{web/.svelte-kit/output/client/_app/immutable/chunks/B50dz8VX.js → dist/web/client/_app/immutable/chunks/kSy73Xll.js} +1 -1
  41. package/dist/web/client/_app/immutable/entry/{app.BT4LMORs.js → app.Y2JPGmWD.js} +2 -2
  42. package/dist/web/client/_app/immutable/entry/start.C3m2V1_i.js +1 -0
  43. package/dist/web/client/_app/immutable/nodes/0.CEiik7Ib.js +1 -0
  44. package/dist/web/client/_app/immutable/nodes/{1.DywkDrZU.js → 1.UM9AfNos.js} +1 -1
  45. package/dist/web/client/_app/immutable/nodes/{2.D6qtH3nS.js → 2.AdbHwMPE.js} +1 -1
  46. package/dist/web/client/_app/immutable/nodes/3.B15acPlf.js +168 -0
  47. package/dist/web/client/_app/version.json +1 -1
  48. package/dist/web/server/chunks/{0-Bqxo6q76.js → 0-Ba-l6KPL.js} +8 -8
  49. package/dist/web/server/chunks/{0-Bqxo6q76.js.map → 0-Ba-l6KPL.js.map} +1 -1
  50. package/dist/web/server/chunks/{1-CRALOUQz.js → 1-DlgA7iks.js} +3 -3
  51. package/dist/web/server/chunks/{1-CRALOUQz.js.map → 1-DlgA7iks.js.map} +1 -1
  52. package/dist/web/server/chunks/{2-BKCrRely.js → 2-DqX8ONNf.js} +7 -7
  53. package/dist/web/server/chunks/{2-BKCrRely.js.map → 2-DqX8ONNf.js.map} +1 -1
  54. package/dist/web/server/chunks/{3-BtBVczzr.js → 3-DxIuS-DP.js} +7 -7
  55. package/dist/web/server/chunks/{3-BtBVczzr.js.map → 3-DxIuS-DP.js.map} +1 -1
  56. package/dist/web/server/chunks/{_layout.svelte-CypqUZe4.js → _layout.svelte-tkdd4XI_.js} +4 -65
  57. package/dist/web/server/chunks/_layout.svelte-tkdd4XI_.js.map +1 -0
  58. package/dist/web/server/chunks/{_page.svelte-C_zzjH_1.js → _page.svelte-BLunUqlx.js} +2 -2
  59. package/dist/web/server/chunks/{_page.svelte-C_zzjH_1.js.map → _page.svelte-BLunUqlx.js.map} +1 -1
  60. package/dist/web/server/chunks/{_server.ts-CzzvYqlg.js → _server.ts-BOm3nAxo.js} +2 -2
  61. package/dist/web/server/chunks/{_server.ts-CzzvYqlg.js.map → _server.ts-BOm3nAxo.js.map} +1 -1
  62. package/dist/web/server/chunks/{_server.ts-CC5qPTIP.js → _server.ts-C4z6-fFp.js} +2 -2
  63. package/dist/web/server/chunks/{_server.ts-CC5qPTIP.js.map → _server.ts-C4z6-fFp.js.map} +1 -1
  64. package/dist/web/server/chunks/_server.ts-CWG4pJTQ.js +11 -0
  65. package/dist/web/server/chunks/_server.ts-CWG4pJTQ.js.map +1 -0
  66. package/dist/web/server/chunks/{_server.ts-DClRhbNn.js → _server.ts-DkB3Ag-r.js} +2 -2
  67. package/dist/web/server/chunks/{_server.ts-DClRhbNn.js.map → _server.ts-DkB3Ag-r.js.map} +1 -1
  68. package/dist/web/server/chunks/{_server.ts-DYHJ4SBr.js → _server.ts-Ft9WhE4P.js} +2 -2
  69. package/dist/web/server/chunks/{_server.ts-DYHJ4SBr.js.map → _server.ts-Ft9WhE4P.js.map} +1 -1
  70. package/dist/web/server/chunks/_server.ts-VcoR7smR.js +156 -0
  71. package/dist/web/server/chunks/_server.ts-VcoR7smR.js.map +1 -0
  72. package/dist/web/server/chunks/{button-CNsxMhFB.js → button-Cr5lXpFp.js} +12 -7
  73. package/dist/web/server/chunks/{button-CNsxMhFB.js.map → button-Cr5lXpFp.js.map} +1 -1
  74. package/dist/web/server/chunks/{_server.ts-BBFH6yZ0.js → commands-CbJEKCDW.js} +3 -8
  75. package/dist/web/server/chunks/commands-CbJEKCDW.js.map +1 -0
  76. package/dist/web/server/chunks/dictation-marks-CgHF_2Qw.js +69 -0
  77. package/dist/web/server/chunks/dictation-marks-CgHF_2Qw.js.map +1 -0
  78. package/dist/web/server/chunks/fuzzy-DUPEz6jZ.js +76 -0
  79. package/dist/web/server/chunks/fuzzy-DUPEz6jZ.js.map +1 -0
  80. package/dist/web/server/chunks/{hooks.server-DAuusukV.js → hooks.server-5QT3T6MQ.js} +3 -3
  81. package/dist/web/server/chunks/{hooks.server-DAuusukV.js.map → hooks.server-5QT3T6MQ.js.map} +1 -1
  82. package/dist/web/server/chunks/{ws-handlers-BObluZVb.js → ws-handlers-GLcBIBqT.js} +114 -25
  83. package/dist/web/server/chunks/ws-handlers-GLcBIBqT.js.map +1 -0
  84. package/dist/web/server/chunks/{ws-managers-DEyaq0h7.js → ws-managers-Dpc3OK0S.js} +2 -2
  85. package/dist/web/server/chunks/{ws-managers-DEyaq0h7.js.map → ws-managers-Dpc3OK0S.js.map} +1 -1
  86. package/dist/web/server/index.js +2 -2
  87. package/dist/web/server/index.js.map +1 -1
  88. package/dist/web/server/manifest.js +16 -16
  89. package/dist/web/server/manifest.js.map +1 -1
  90. package/package.json +1 -1
  91. package/src/claude/voice-command.ts +116 -0
  92. package/src/commands/wait-idle.ts +1 -1
  93. package/src/hooks/claude-mux-hook.ts +13 -4
  94. package/src/server/dictation-marks.ts +117 -0
  95. package/src/server/ws-handlers.ts +21 -10
  96. package/src/tmux/pane.ts +121 -19
  97. package/src/transcript/parser.ts +86 -5
  98. package/src/types/ws-messages.ts +6 -0
  99. package/src/utils/fuzzy.ts +84 -0
  100. package/src/utils/version.ts +1 -1
  101. package/tests/claude/voice-command.test.ts +89 -0
  102. package/tests/server/dictation-marks.test.ts +64 -0
  103. package/tests/tmux/prompt-options.test.ts +117 -0
  104. package/tests/transcript/parser.test.ts +104 -0
  105. package/web/.svelte-kit/adapter-bun/.vite/manifest.json +30 -4
  106. package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_page.Czdauto0.css +1 -0
  107. package/web/.svelte-kit/adapter-bun/chunks/button.js +11 -6
  108. package/web/.svelte-kit/adapter-bun/chunks/commands.js +234 -0
  109. package/web/.svelte-kit/adapter-bun/chunks/dictation-marks.js +64 -0
  110. package/web/.svelte-kit/adapter-bun/chunks/fuzzy.js +58 -0
  111. package/web/.svelte-kit/adapter-bun/chunks/internal2.js +1 -1
  112. package/web/.svelte-kit/adapter-bun/chunks/severity.js +35 -84
  113. package/web/.svelte-kit/adapter-bun/chunks/ws-handlers.js +121 -22
  114. package/web/.svelte-kit/adapter-bun/entries/endpoints/api/commands/_server.ts.js +1 -231
  115. package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/voice/_server.ts.js +89 -1
  116. package/web/.svelte-kit/adapter-bun/entries/pages/_layout.svelte.js +3 -2
  117. package/web/.svelte-kit/adapter-bun/entries/pages/session/_target_/_page.svelte.js +99 -33
  118. package/web/.svelte-kit/adapter-bun/manifest-full.js +1 -1
  119. package/web/.svelte-kit/adapter-bun/manifest.js +1 -1
  120. package/web/.svelte-kit/adapter-bun/nodes/0.js +1 -1
  121. package/web/.svelte-kit/adapter-bun/nodes/1.js +1 -1
  122. package/web/.svelte-kit/adapter-bun/nodes/2.js +1 -1
  123. package/web/.svelte-kit/adapter-bun/nodes/3.js +2 -2
  124. package/web/.svelte-kit/generated/server/internal.js +1 -1
  125. package/web/.svelte-kit/output/client/.vite/manifest.json +62 -62
  126. package/web/.svelte-kit/output/client/_app/immutable/assets/3.Czdauto0.css +1 -0
  127. package/{dist/web/client/_app/immutable/chunks/DvxDf3-0.js → web/.svelte-kit/output/client/_app/immutable/chunks/2AEQsLlv.js} +2 -2
  128. package/{dist/web/client/_app/immutable/chunks/C7uYOSKv.js → web/.svelte-kit/output/client/_app/immutable/chunks/BGREColc.js} +1 -1
  129. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Di3l9JAn.js → CEnwLC72.js} +8 -8
  130. package/{dist/web/client/_app/immutable/chunks/DKHBLjVs.js → web/.svelte-kit/output/client/_app/immutable/chunks/iYbh7kE_.js} +1 -1
  131. package/{dist/web/client/_app/immutable/chunks/B50dz8VX.js → web/.svelte-kit/output/client/_app/immutable/chunks/kSy73Xll.js} +1 -1
  132. package/web/.svelte-kit/output/client/_app/immutable/entry/{app.BT4LMORs.js → app.Y2JPGmWD.js} +2 -2
  133. package/web/.svelte-kit/output/client/_app/immutable/entry/start.C3m2V1_i.js +1 -0
  134. package/web/.svelte-kit/output/client/_app/immutable/nodes/0.CEiik7Ib.js +1 -0
  135. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.DywkDrZU.js → 1.UM9AfNos.js} +1 -1
  136. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.D6qtH3nS.js → 2.AdbHwMPE.js} +1 -1
  137. package/web/.svelte-kit/output/client/_app/immutable/nodes/3.B15acPlf.js +168 -0
  138. package/web/.svelte-kit/output/client/_app/version.json +1 -1
  139. package/web/.svelte-kit/output/server/.vite/manifest.json +30 -4
  140. package/web/.svelte-kit/output/server/_app/immutable/assets/_page.Czdauto0.css +1 -0
  141. package/web/.svelte-kit/output/server/chunks/button.js +11 -6
  142. package/web/.svelte-kit/output/server/chunks/commands.js +234 -0
  143. package/web/.svelte-kit/output/server/chunks/dictation-marks.js +64 -0
  144. package/web/.svelte-kit/output/server/chunks/fuzzy.js +58 -0
  145. package/web/.svelte-kit/output/server/chunks/internal2.js +1 -1
  146. package/web/.svelte-kit/output/server/chunks/severity.js +35 -84
  147. package/web/.svelte-kit/output/server/chunks/ws-handlers.js +121 -22
  148. package/web/.svelte-kit/output/server/entries/endpoints/api/commands/_server.ts.js +1 -231
  149. package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/voice/_server.ts.js +89 -1
  150. package/web/.svelte-kit/output/server/entries/pages/_layout.svelte.js +3 -2
  151. package/web/.svelte-kit/output/server/entries/pages/session/_target_/_page.svelte.js +99 -33
  152. package/web/.svelte-kit/output/server/manifest-full.js +1 -1
  153. package/web/.svelte-kit/output/server/manifest.js +1 -1
  154. package/web/.svelte-kit/output/server/nodes/0.js +1 -1
  155. package/web/.svelte-kit/output/server/nodes/1.js +1 -1
  156. package/web/.svelte-kit/output/server/nodes/2.js +1 -1
  157. package/web/.svelte-kit/output/server/nodes/3.js +2 -2
  158. package/web/src/lib/components/CommandList.svelte +3 -7
  159. package/web/src/lib/components/FolderPicker.svelte +1 -1
  160. package/web/src/lib/components/PaneDraftBar.svelte +7 -55
  161. package/web/src/lib/components/ScreenshotsPanel.svelte +2 -3
  162. package/web/src/lib/components/SidebarAccordion.svelte +3 -0
  163. package/web/src/lib/components/TranscriptView.svelte +103 -6
  164. package/web/src/lib/stores/sessions.svelte.ts +7 -11
  165. package/web/src/lib/voice/recorder.ts +1 -1
  166. package/web/src/lib/wakeLock.svelte.ts +0 -1
  167. package/web/src/routes/+layout.svelte +1 -0
  168. package/web/src/routes/api/sessions/[id]/voice/+server.ts +30 -1
  169. package/web/src/routes/session/[target]/+page.svelte +258 -25
  170. package/dist/web/client/_app/immutable/assets/3.C-7mybeC.css +0 -1
  171. package/dist/web/client/_app/immutable/entry/start.B1eO4j4K.js +0 -1
  172. package/dist/web/client/_app/immutable/nodes/0.CDW5Tr8h.js +0 -1
  173. package/dist/web/client/_app/immutable/nodes/3.B0nP4V7p.js +0 -168
  174. package/dist/web/server/chunks/_layout.svelte-CypqUZe4.js.map +0 -1
  175. package/dist/web/server/chunks/_server.ts-BBFH6yZ0.js.map +0 -1
  176. package/dist/web/server/chunks/_server.ts-DC17XVgt.js +0 -79
  177. package/dist/web/server/chunks/_server.ts-DC17XVgt.js.map +0 -1
  178. package/dist/web/server/chunks/ws-handlers-BObluZVb.js.map +0 -1
  179. package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_page.C-7mybeC.css +0 -1
  180. package/web/.svelte-kit/output/client/_app/immutable/assets/3.C-7mybeC.css +0 -1
  181. package/web/.svelte-kit/output/client/_app/immutable/entry/start.B1eO4j4K.js +0 -1
  182. package/web/.svelte-kit/output/client/_app/immutable/nodes/0.CDW5Tr8h.js +0 -1
  183. package/web/.svelte-kit/output/client/_app/immutable/nodes/3.B0nP4V7p.js +0 -168
  184. package/web/.svelte-kit/output/server/_app/immutable/assets/_page.C-7mybeC.css +0 -1
  185. package/web/src/lib/fuzzy.ts +0 -67
@@ -0,0 +1,14 @@
1
+ import type { DiscoveredCommand } from "./commands.js";
2
+ export interface SpokenCommandResult {
3
+ /** Text to inject — the original transcript when no command matched. */
4
+ text: string;
5
+ /** The command that was substituted in, if any. */
6
+ command: DiscoveredCommand | null;
7
+ }
8
+ /**
9
+ * Whether the transcript opens with a trigger at all — the cheap pre-check
10
+ * that lets the caller skip the command-discovery scan for ordinary prose.
11
+ */
12
+ export declare function hasSpokenCommandTrigger(text: string): boolean;
13
+ export declare function resolveSpokenCommand(text: string, commands: DiscoveredCommand[]): SpokenCommandResult;
14
+ //# sourceMappingURL=voice-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-command.d.ts","sourceRoot":"","sources":["../../src/claude/voice-command.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnC;AA0BD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,mBAAmB,CAsDrB"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Turn a spoken slash command into a real one.
3
+ *
4
+ * Voice transcription hands us prose: "Barra model, opus." or "Slash code
5
+ * review". When the transcript *starts* with a trigger word — "barra" (pt),
6
+ * "slash" (en), or a literal "/" the model wrote itself — the words after it
7
+ * are matched against the commands Claude Code actually has (same ranking as
8
+ * the web command list: fuzzy on the name, substring on the description) and
9
+ * the winner replaces them. Words the match does not consume stay as the
10
+ * command's arguments.
11
+ *
12
+ * A trigger anywhere else in the sentence is left alone: only the user
13
+ * opening with it signals intent, and "a barra de rolagem" must not become a
14
+ * command.
15
+ */
16
+ import { fuzzyScore, scoreCommand } from "../utils/fuzzy.js";
17
+ const TRIGGER_WORDS = new Set(["barra", "slash"]);
18
+ /** Most words a spoken command name can span ("code review", "ak linus"). */
19
+ const MAX_COMMAND_WORDS = 4;
20
+ /** Strip punctuation the transcriber glues onto spoken words. */
21
+ function cleanWord(word) {
22
+ return word.replace(/^[^\p{L}\p{N}/]+|[^\p{L}\p{N}]+$/gu, "");
23
+ }
24
+ /**
25
+ * A Portuguese transcriber hears "model" and writes "modelo", "clear" and
26
+ * writes "clara". Dropping a final vowel recovers the English stem for most
27
+ * of these, so every query is also tried with each word stemmed.
28
+ */
29
+ function stemWord(word) {
30
+ return word.length > 3 ? word.replace(/[aeiou]$/i, "") : word;
31
+ }
32
+ /** The joined query and its stemmed variant (scoring a duplicate is harmless). */
33
+ function queryVariants(words) {
34
+ return [words.join(""), words.map(stemWord).join("")];
35
+ }
36
+ /**
37
+ * Whether the transcript opens with a trigger at all — the cheap pre-check
38
+ * that lets the caller skip the command-discovery scan for ordinary prose.
39
+ */
40
+ export function hasSpokenCommandTrigger(text) {
41
+ const first = cleanWord(text.trim().split(/\s+/, 1)[0] ?? "").toLowerCase();
42
+ return TRIGGER_WORDS.has(first) || (first.startsWith("/") && first.length > 1);
43
+ }
44
+ export function resolveSpokenCommand(text, commands) {
45
+ const unchanged = { text, command: null };
46
+ const words = text.trim().split(/\s+/);
47
+ if (words.length === 0 || commands.length === 0)
48
+ return unchanged;
49
+ const first = cleanWord(words[0]).toLowerCase();
50
+ let queryStart;
51
+ if (TRIGGER_WORDS.has(first)) {
52
+ queryStart = 1;
53
+ }
54
+ else if (first.startsWith("/") && first.length > 1) {
55
+ // The transcriber already wrote "/model" — still resolve it, so a
56
+ // mis-heard "/módel" lands on the real command.
57
+ queryStart = 0;
58
+ words[0] = first.slice(1);
59
+ }
60
+ else {
61
+ return unchanged;
62
+ }
63
+ const queryWords = words.slice(queryStart).map(cleanWord).filter(Boolean);
64
+ if (queryWords.length === 0)
65
+ return unchanged;
66
+ // Try consuming 1..N words as the command name; spoken separators vanish
67
+ // when joined ("code review" → "codereview"), which the subsequence match
68
+ // sees straight through "/code-review".
69
+ let best = null;
70
+ const maxWords = Math.min(MAX_COMMAND_WORDS, queryWords.length);
71
+ for (let n = 1; n <= maxWords; n++) {
72
+ for (const query of queryVariants(queryWords.slice(0, n))) {
73
+ for (const cmd of commands) {
74
+ const score = scoreCommand(cmd, query);
75
+ if (score != null && (best == null || score > best.score)) {
76
+ best = { command: cmd, score, consumed: n };
77
+ }
78
+ }
79
+ }
80
+ }
81
+ if (best == null)
82
+ return unchanged;
83
+ // Greedy extension: "barra code review" scores best as "code" alone (a
84
+ // substring beats a subsequence), leaving "review" behind as an argument.
85
+ // If the next word joined on still matches the winner's *name*, it was part
86
+ // of the spoken command, not an argument.
87
+ let consumed = best.consumed;
88
+ while (consumed < maxWords) {
89
+ const variants = queryVariants(queryWords.slice(0, consumed + 1));
90
+ if (!variants.some((q) => fuzzyScore(best.command.name, q) != null))
91
+ break;
92
+ consumed++;
93
+ }
94
+ const args = queryWords.slice(consumed).join(" ");
95
+ return {
96
+ text: args ? `${best.command.insert} ${args}` : best.command.insert,
97
+ command: best.command,
98
+ };
99
+ }
100
+ //# sourceMappingURL=voice-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-command.js","sourceRoot":"","sources":["../../src/claude/voice-command.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export function createWaitIdleCommand() {
22
22
  const pollMs = Number(options.poll);
23
23
  const startTime = Date.now();
24
24
  let lastState = session.state;
25
- while (true) {
25
+ for (;;) {
26
26
  const current = getSession(session.id);
27
27
  if (!current) {
28
28
  process.stderr.write(JSON.stringify({ error: "Session disappeared", id: session.id }) + "\n");
@@ -1 +1 @@
1
- {"version":3,"file":"wait-idle.js","sourceRoot":"","sources":["../../src/commands/wait-idle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait-idle.js","sourceRoot":"","sources":["../../src/commands/wait-idle.ts"],"names":[],"mappings":"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"}
@@ -428,10 +428,20 @@ function handlePreToolUse(input) {
428
428
  const session = getOrCreateSession(input);
429
429
  session.tmux_target = getTmuxTarget() ?? session.tmux_target;
430
430
  session.last_update = Date.now();
431
- session.state = "busy";
432
- session.current_action = input.tool_name
433
- ? formatToolAction(input.tool_name, input.tool_input)
434
- : "Working...";
431
+ if (input.tool_name === "AskUserQuestion") {
432
+ // The tool's whole job is to wait for the user, so the session is waiting
433
+ // from the moment it is called. The permission notification says the
434
+ // same thing a beat later; reporting it here means the dashboard shows
435
+ // the dialog's rows as soon as they are drawn, not after that beat.
436
+ session.state = "waiting";
437
+ session.current_action = "Asking a question";
438
+ }
439
+ else {
440
+ session.state = "busy";
441
+ session.current_action = input.tool_name
442
+ ? formatToolAction(input.tool_name, input.tool_input)
443
+ : "Working...";
444
+ }
435
445
  if (input.tool_name?.includes("take_screenshot") && input.tool_input?.filePath) {
436
446
  session.screenshots = session.screenshots || [];
437
447
  session.screenshots.push({
@@ -1 +1 @@
1
- {"version":3,"file":"claude-mux-hook.js","sourceRoot":"","sources":["../../src/hooks/claude-mux-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-mux-hook.js","sourceRoot":"","sources":["../../src/hooks/claude-mux-hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Record that `text` was just injected into `sessionId`'s pane by voice. */
2
+ export declare function recordDictation(sessionId: string, text: string): void;
3
+ /** Whether a transcript entry with this text and timestamp was dictated. */
4
+ export declare function isDictated(sessionId: string, text: string, ts: number): boolean;
5
+ /** Test hook: drop all in-memory state so the next call re-reads the file. */
6
+ export declare function resetDictationMarksForTest(): void;
7
+ //# sourceMappingURL=dictation-marks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-marks.d.ts","sourceRoot":"","sources":["../../src/server/dictation-marks.ts"],"names":[],"mappings":"AAoFA,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAerE;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAM/E;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Remember which injected prompts arrived by voice.
3
+ *
4
+ * The voice endpoint pastes transcribed text into the pane, after which it is
5
+ * indistinguishable from typing — the JSONL user line it becomes carries no
6
+ * origin. So the endpoint records what it injected here, and the transcript
7
+ * manager asks on each new user/queued entry whether its text matches a
8
+ * recent dictation. Matching is by normalized text within a time window: if
9
+ * the user edits the paste before submitting, the text no longer matches and
10
+ * the prompt correctly reads as typed.
11
+ *
12
+ * Marks are mirrored to ~/.claude-mux/dictation.json so a server restart
13
+ * (which re-parses transcripts from scratch) re-marks old entries the same
14
+ * way. Kept in globalThis to survive Vite's dual module loading.
15
+ */
16
+ import { existsSync, readFileSync } from "fs";
17
+ import { join } from "path";
18
+ import { CLAUDE_MUX_DIR } from "../utils/paths.js";
19
+ import { writeFileAtomic } from "../utils/atomic-write.js";
20
+ /** How far apart the injection and the JSONL user line may sit. Generous:
21
+ * a dictation can sit in the prompt box a while before the user submits it. */
22
+ const MATCH_WINDOW_MS = 15 * 60_000;
23
+ /** Per session; old marks only matter until the entry they match is written,
24
+ * but they must survive restarts, so cap by count rather than age. */
25
+ const MAX_MARKS_PER_SESSION = 100;
26
+ /** Sessions kept in the file, most recently dictated-into first, so the
27
+ * per-utterance rewrite cannot grow with every session ever spoken to. */
28
+ const MAX_SESSIONS = 50;
29
+ // Read at call time, not module load, so tests can point it at a temp file.
30
+ function marksPath() {
31
+ return process.env.CLAUDE_MUX_DICTATION_PATH ?? join(CLAUDE_MUX_DIR, "dictation.json");
32
+ }
33
+ function state() {
34
+ const g = globalThis;
35
+ return (g.__claudeMuxDictationMarks ??= { marks: new Map(), loaded: false });
36
+ }
37
+ function normalize(text) {
38
+ return text.trim().replace(/\s+/g, " ");
39
+ }
40
+ function load() {
41
+ const s = state();
42
+ if (!s.loaded) {
43
+ s.loaded = true;
44
+ try {
45
+ if (existsSync(marksPath())) {
46
+ const raw = JSON.parse(readFileSync(marksPath(), "utf8"));
47
+ for (const [id, list] of Object.entries(raw)) {
48
+ if (Array.isArray(list))
49
+ s.marks.set(id, list);
50
+ }
51
+ }
52
+ }
53
+ catch (err) {
54
+ console.error("[dictation] failed to read marks file:", err);
55
+ }
56
+ }
57
+ return s.marks;
58
+ }
59
+ function save(marks) {
60
+ try {
61
+ writeFileAtomic(marksPath(), JSON.stringify(Object.fromEntries(marks)));
62
+ }
63
+ catch (err) {
64
+ console.error("[dictation] failed to write marks file:", err);
65
+ }
66
+ }
67
+ /** Record that `text` was just injected into `sessionId`'s pane by voice. */
68
+ export function recordDictation(sessionId, text) {
69
+ const normalized = normalize(text);
70
+ if (!normalized)
71
+ return;
72
+ const marks = load();
73
+ const list = marks.get(sessionId) ?? [];
74
+ list.push({ text: normalized, at: Date.now() });
75
+ marks.set(sessionId, list.slice(-MAX_MARKS_PER_SESSION));
76
+ if (marks.size > MAX_SESSIONS) {
77
+ // Marks are appended in time order, so a list's last entry is its newest.
78
+ const stalest = [...marks.entries()]
79
+ .sort((a, b) => (b[1].at(-1)?.at ?? 0) - (a[1].at(-1)?.at ?? 0))
80
+ .slice(MAX_SESSIONS);
81
+ for (const [id] of stalest)
82
+ marks.delete(id);
83
+ }
84
+ save(marks);
85
+ }
86
+ /** Whether a transcript entry with this text and timestamp was dictated. */
87
+ export function isDictated(sessionId, text, ts) {
88
+ const list = load().get(sessionId);
89
+ if (!list || list.length === 0)
90
+ return false;
91
+ const normalized = normalize(text);
92
+ if (!normalized)
93
+ return false;
94
+ return list.some((m) => m.text === normalized && Math.abs(ts - m.at) <= MATCH_WINDOW_MS);
95
+ }
96
+ /** Test hook: drop all in-memory state so the next call re-reads the file. */
97
+ export function resetDictationMarksForTest() {
98
+ const s = state();
99
+ s.marks = new Map();
100
+ s.loaded = false;
101
+ }
102
+ //# sourceMappingURL=dictation-marks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-marks.js","sourceRoot":"","sources":["../../src/server/dictation-marks.ts"],"names":[],"mappings":"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"}
@@ -210,6 +210,8 @@ export declare class TranscriptWsManager {
210
210
  constructor(config?: WsConfig);
211
211
  addClient(client: WsClient, sessionId: string): boolean;
212
212
  removeClient(client: WsClient, sessionId?: string): void;
213
+ /** A main-transcript builder that stamps voice-injected prompts (see dictation-marks). */
214
+ private mainBuilder;
213
215
  private startSession;
214
216
  /**
215
217
  * Point the state at a transcript file and read what is already in it, so
@@ -1 +1 @@
1
- {"version":3,"file":"ws-handlers.d.ts","sourceRoot":"","sources":["../../src/server/ws-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-handlers.d.ts","sourceRoot":"","sources":["../../src/server/ws-handlers.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { readFileSync } from 'fs';
12
12
  import { getAllSessions, getSession, updateSession, readLinks, cleanupStaleSessions } from '../db/index.js';
13
13
  import { TranscriptBuilder } from '../transcript/parser.js';
14
14
  import { subagentPayload } from '../transcript/subagent.js';
15
+ import { isDictated } from './dictation-marks.js';
15
16
  import { JsonlTailer, listSubagents, resolveTranscriptPath } from '../transcript/tailer.js';
16
17
  import { getAllPaneTitles, detectRemoteControlUrl, capturePaneContentAsync, isPaneShowingSpinner, isPaneShowingIdlePrompt, detectRecentInterruption, readPromptBox, readQueuedMessages, readPromptOptions, stripAnsi } from '../tmux/pane.js';
17
18
  import { resizeTmuxWindow } from '../tmux/resize.js';
@@ -177,10 +178,14 @@ export async function getEnrichedSessionsAsync() {
177
178
  pane_queue: raw ? readQueuedMessages(raw) : [],
178
179
  // The dialog's own numbered rows, so the composer can offer them as
179
180
  // answers instead of making you drive arrows at a screen you can't see.
180
- // Gated on the state the hooks report, which is the same gate the UI
181
- // applies — parsing it for an idle pane is work nothing can read.
182
- pane_choice: stripped && (s.state === 'waiting' || s.state === 'permission')
183
- ? readPromptOptions(stripped)
181
+ // When the hooks report a dialog, any run at the foot is one. When
182
+ // they don't — a local command's dialog such as `/model` leaves the
183
+ // session idle, and the permission notification can trail the dialog
184
+ // by a tick — only a dialog that names its own keys is believed.
185
+ pane_choice: stripped
186
+ ? readPromptOptions(stripped, {
187
+ declaredOnly: s.state !== 'waiting' && s.state !== 'permission'
188
+ })
184
189
  : null,
185
190
  };
186
191
  if (s.tmux_target && links[s.tmux_target]) {
@@ -333,12 +338,12 @@ export class SessionsWsManager {
333
338
  try {
334
339
  cleanupStaleSessions();
335
340
  }
336
- catch { }
341
+ catch { /* best-effort */ }
337
342
  this.cleanupTimer = setInterval(() => {
338
343
  try {
339
344
  cleanupStaleSessions();
340
345
  }
341
- catch { }
346
+ catch { /* best-effort */ }
342
347
  }, 10_000);
343
348
  // Start system stats: refresh every 10s, broadcast separately
344
349
  startSystemStats();
@@ -860,10 +865,15 @@ export class TranscriptWsManager {
860
865
  break;
861
866
  }
862
867
  }
868
+ /** A main-transcript builder that stamps voice-injected prompts (see dictation-marks). */
869
+ mainBuilder(sessionId) {
870
+ return new TranscriptBuilder(false, (text, ts) => isDictated(sessionId, text, ts));
871
+ }
863
872
  startSession(sessionId) {
864
873
  const state = {
874
+ sessionId,
865
875
  tailer: null,
866
- builder: new TranscriptBuilder(),
876
+ builder: this.mainBuilder(sessionId),
867
877
  available: false,
868
878
  resolveIn: RESOLVE_TICKS,
869
879
  resolveBackoff: RESOLVE_TICKS,
@@ -973,7 +983,7 @@ export class TranscriptWsManager {
973
983
  }
974
984
  case 'reset':
975
985
  // File replaced: rebuild on the next polls from offset 0.
976
- state.builder = new TranscriptBuilder();
986
+ state.builder = this.mainBuilder(state.sessionId);
977
987
  return [];
978
988
  default:
979
989
  return [];