@bitbaum/chatkit 0.15.1 → 0.15.3
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/README.md +17 -0
- package/dist/audit.d.ts +2 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +11 -8
- package/dist/audit.js.map +1 -1
- package/dist/dictation.d.ts +61 -0
- package/dist/dictation.d.ts.map +1 -1
- package/dist/dictation.js +116 -0
- package/dist/dictation.js.map +1 -1
- package/dist/react/use-dictation.d.ts.map +1 -1
- package/dist/react/use-dictation.js +11 -23
- package/dist/react/use-dictation.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -164,6 +164,21 @@ answer's prose (or what you pass), only where one exists. A button that does
|
|
|
164
164
|
nothing is never shown. `ChatThread` renders it under every answer; pass
|
|
165
165
|
`speaker` and `share` through.
|
|
166
166
|
|
|
167
|
+
### Dictation reads Android's cumulative results once (0.15.2)
|
|
168
|
+
|
|
169
|
+
Android's Chrome-family recognisers (Chrome, Brave, Samsung Internet) report
|
|
170
|
+
one utterance cumulatively — "why", "why exactly", "why exactly is", … — often
|
|
171
|
+
every one of them flagged final. The hook appended every final, so Substrata's
|
|
172
|
+
Ask box on Brave typed the sentence once per word (2026-10-25). The transcript
|
|
173
|
+
is now rebuilt from the recogniser's whole results list on every event by
|
|
174
|
+
`heardFromResults` (core, pure), which collapses a growing chain to its last
|
|
175
|
+
link. Desktop finals are untouched: two different phrases stay two, and a word
|
|
176
|
+
the person really repeats as separate results stays repeated. The one
|
|
177
|
+
limitation — "no" then "no no" as two separate results reads as one utterance
|
|
178
|
+
growing — is written down beside the rule. `test/dictation.test.js` holds the
|
|
179
|
+
fixtures; `test/browser.mjs` drives the real composer with a fake cumulative
|
|
180
|
+
recogniser and fails on the old hook.
|
|
181
|
+
|
|
167
182
|
### Charts in answers (0.15)
|
|
168
183
|
|
|
169
184
|
"Who produces gallium?" is answered with a ranked bar chart, not a list.
|
|
@@ -491,3 +506,5 @@ catalogue access belong to the app's media tools: this renderer does not
|
|
|
491
506
|
create a song or grant rights to redistribute it. Copy and speech preserve the
|
|
492
507
|
track's title, creator and caption. The demo WAV is an original synthesized
|
|
493
508
|
fixture; it is not a commercial track or a model-generated recording.
|
|
509
|
+
|
|
510
|
+
The browser word-layout audit uses Unicode word boundaries. Chinese, Japanese and Korean may wrap between characters; those legal breaks are accepted while squeezed Latin words, including words embedded in CJK text, are still reported. Whole-page and chart overflow checks remain separate.
|
package/dist/audit.d.ts
CHANGED
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
* Exempt, because a break there is legal: a word beside a hyphen, slash, dot,
|
|
22
22
|
* at-sign, colon or underscore, and anything over `maxWord` characters (a URL
|
|
23
23
|
* or an identifier has to break somewhere). Hidden text has no boxes and is
|
|
24
|
-
* skipped.
|
|
24
|
+
* skipped. CJK scripts permit line breaks between characters; their wrapping
|
|
25
|
+
* is not a broken word. Other scripts use Unicode word boundaries.
|
|
25
26
|
*/
|
|
26
27
|
export declare function findBrokenWords(root?: ParentNode, options?: {
|
|
27
28
|
maxWord?: number;
|
package/dist/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,GAAE,UAAqB,EAC3B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,MAAM,EAAE,CA+BV;AAED,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,EAAE,MAAmC,CAAC"}
|
package/dist/audit.js
CHANGED
|
@@ -21,25 +21,28 @@
|
|
|
21
21
|
* Exempt, because a break there is legal: a word beside a hyphen, slash, dot,
|
|
22
22
|
* at-sign, colon or underscore, and anything over `maxWord` characters (a URL
|
|
23
23
|
* or an identifier has to break somewhere). Hidden text has no boxes and is
|
|
24
|
-
* skipped.
|
|
24
|
+
* skipped. CJK scripts permit line breaks between characters; their wrapping
|
|
25
|
+
* is not a broken word. Other scripts use Unicode word boundaries.
|
|
25
26
|
*/
|
|
26
27
|
export function findBrokenWords(root = document, options = {}) {
|
|
27
28
|
const maxWord = options.maxWord ?? 24;
|
|
28
29
|
const found = [];
|
|
29
30
|
const near = /[-‐‑–—/_.@:]/;
|
|
31
|
+
const characterWrapping = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/u;
|
|
32
|
+
const words = new Intl.Segmenter(undefined, { granularity: "word" });
|
|
30
33
|
const walker = document.createTreeWalker(root instanceof Document ? root.body : root, NodeFilter.SHOW_TEXT);
|
|
31
34
|
for (let n = walker.nextNode(); n; n = walker.nextNode()) {
|
|
32
35
|
const text = n.nodeValue ?? "";
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const word = m[0];
|
|
36
|
-
if (word.length > maxWord)
|
|
36
|
+
for (const { segment: word, index, isWordLike } of words.segment(text)) {
|
|
37
|
+
if (!isWordLike || characterWrapping.test(word) || word.length > maxWord)
|
|
37
38
|
continue;
|
|
38
|
-
if (near.test(
|
|
39
|
+
if (near.test(word) ||
|
|
40
|
+
near.test(text[index - 1] ?? "") ||
|
|
41
|
+
near.test(text[index + word.length] ?? ""))
|
|
39
42
|
continue;
|
|
40
43
|
const range = document.createRange();
|
|
41
|
-
range.setStart(n,
|
|
42
|
-
range.setEnd(n,
|
|
44
|
+
range.setStart(n, index);
|
|
45
|
+
range.setEnd(n, index + word.length);
|
|
43
46
|
const tops = Array.from(range.getClientRects())
|
|
44
47
|
.filter((r) => r.width > 0)
|
|
45
48
|
.map((r) => Math.round(r.top));
|
package/dist/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAmB,QAAQ,EAC3B,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,iBAAiB,GACrB,0EAA0E,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CACtC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAa,EACrD,UAAU,CAAC,SAAS,CACrB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAC/B,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO;gBAAE,SAAS;YACnF,IACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE1C,SAAS;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACzB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;iBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAW,eAAe,CAAC,QAAQ,EAAE,CAAC"}
|
package/dist/dictation.d.ts
CHANGED
|
@@ -46,6 +46,67 @@ export declare function problemForRecording(error: unknown): DictationProblem;
|
|
|
46
46
|
* take is never a timer and a wave with nothing to show for twenty seconds.
|
|
47
47
|
*/
|
|
48
48
|
export declare function liveWords(finals: readonly string[], interim: string): string;
|
|
49
|
+
/** One entry of a Web Speech `event.results` list, as much of it as we read. */
|
|
50
|
+
export type RecognitionResultLike = {
|
|
51
|
+
isFinal?: boolean;
|
|
52
|
+
} & ArrayLike<{
|
|
53
|
+
transcript?: string;
|
|
54
|
+
}>;
|
|
55
|
+
/** What a recogniser has heard so far, read from its whole results list. */
|
|
56
|
+
export type HeardSoFar = {
|
|
57
|
+
/** Settled phrases, in order. */
|
|
58
|
+
finals: string[];
|
|
59
|
+
/** The phrase still being guessed at, or "". Only ever the last one. */
|
|
60
|
+
interim: string;
|
|
61
|
+
/** What to deliver if the take ended now: the finals — plus, when the
|
|
62
|
+
* interim tail is a revision of a phrase that HAD settled, that settled
|
|
63
|
+
* phrase, so ending mid-revision never loses words already heard. */
|
|
64
|
+
text: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* The transcript so far, from a recogniser's COMPLETE results list.
|
|
68
|
+
*
|
|
69
|
+
* Why this exists: Android's Chrome-family recognisers (Chrome, Brave, Samsung
|
|
70
|
+
* Internet) with `continuous` + `interimResults` report CUMULATIVE results.
|
|
71
|
+
* One utterance arrives as "why", "why exactly", "why exactly is", … — either
|
|
72
|
+
* as one result re-reported with `resultIndex` 0 on every event, or as a new
|
|
73
|
+
* result per event at the next index — and often every one of them flagged
|
|
74
|
+
* `isFinal`. A hook that pushed every final from `resultIndex` onwards into a
|
|
75
|
+
* running array typed the sentence once per word: "why why exactly why exactly
|
|
76
|
+
* is …" (Substrata's Ask box, Brave on Android, 2026-10-25). Desktop Chrome
|
|
77
|
+
* reports stable finals at increasing indices, so it never showed.
|
|
78
|
+
*
|
|
79
|
+
* So the transcript is rebuilt from the whole list on every event (the Web
|
|
80
|
+
* Speech spec makes `results` the session's full list; nothing is kept
|
|
81
|
+
* between events), and a cumulative chain collapses to its last link:
|
|
82
|
+
*
|
|
83
|
+
* - A result whose words BEGIN with the previous kept result's words, and
|
|
84
|
+
* add more, is the same utterance growing: it replaces it. Always on —
|
|
85
|
+
* desktop finals are consecutive phrases and essentially never restate the
|
|
86
|
+
* previous one whole.
|
|
87
|
+
* - Once a list has shown that growth, the recogniser is cumulative, and two
|
|
88
|
+
* more rules apply for that list only: a result the previous one already
|
|
89
|
+
* begins with (a late, shorter or identical re-report) is dropped; and a
|
|
90
|
+
* result at least as long, starting with the same word, that keeps all but
|
|
91
|
+
* a quarter (min. one) of the previous one's words in order, is a REVISION
|
|
92
|
+
* ("why exactly is is so" → "why exactly is it so hard") and replaces it.
|
|
93
|
+
* - Anything else is a new phrase and is appended.
|
|
94
|
+
*
|
|
95
|
+
* The tradeoff, chosen on purpose: the looser rules only run on a recogniser
|
|
96
|
+
* that has proved itself cumulative, so on desktop nothing the person said is
|
|
97
|
+
* ever dropped — "no", "no", "no" as three separate results stays "no no no",
|
|
98
|
+
* and "hello there" then "how are you" stays both. The one limitation: a
|
|
99
|
+
* person who really says "no" and then "no no" as two separate results reads
|
|
100
|
+
* as one growing utterance and is delivered as "no no". That needs a word to
|
|
101
|
+
* be heard as its own result and then restated with more after it, and it
|
|
102
|
+
* loses a repeat, never a new word.
|
|
103
|
+
*
|
|
104
|
+
* `unflaggedIsFinal`: whether a result with no `isFinal` at all counts as
|
|
105
|
+
* settled (the browser leg has always read it so; the preview has not).
|
|
106
|
+
*/
|
|
107
|
+
export declare function heardFromResults(results: ArrayLike<RecognitionResultLike | undefined>, opts?: {
|
|
108
|
+
unflaggedIsFinal?: boolean;
|
|
109
|
+
}): HeardSoFar;
|
|
49
110
|
/** A working recogniser fires `start` well inside this once the mic is allowed. */
|
|
50
111
|
export declare const START_TIMEOUT_MS = 4000;
|
|
51
112
|
/**
|
package/dist/dictation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictation.d.ts","sourceRoot":"","sources":["../src/dictation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;4DAE4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;AAElF;;qCAEqC;AACrC,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAE3E;AAED;gFACgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAa7E;AAED;+DAC+D;AAC/D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAKpE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAET;AAED;;uCAEuC;AACvC,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAE/D,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,SAAa,GAAG,OAAO,CAKjG;AAED,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAExC,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,6EAK5B,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AAItD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAK3E;AAED;;0BAE0B;AAC1B,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAc7E;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW;CAMhE;AAED;;8EAE8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAe3D;AAED;mEACmE;AACnE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGtD;AAED,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAKvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"dictation.d.ts","sourceRoot":"","sources":["../src/dictation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;4DAE4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;AAElF;;qCAEqC;AACrC,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAE3E;AAED;gFACgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAa7E;AAED;+DAC+D;AAC/D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAKpE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/F,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG;IACvB,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB;;0EAEsE;IACtE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAuBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,CAAC,qBAAqB,GAAG,SAAS,CAAC,EACrD,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,UAAU,CAyDZ;AAED,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAET;AAED;;uCAEuC;AACvC,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAE/D,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,SAAa,GAAG,OAAO,CAKjG;AAED,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAExC,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,6EAK5B,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AAItD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAK3E;AAED;;0BAE0B;AAC1B,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAc7E;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW;CAMhE;AAED;;8EAE8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAe3D;AAED;mEACmE;AACnE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGtD;AAED,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAKvE,CAAC"}
|
package/dist/dictation.js
CHANGED
|
@@ -65,6 +65,122 @@ export function liveWords(finals, interim) {
|
|
|
65
65
|
.filter(Boolean)
|
|
66
66
|
.join(" ");
|
|
67
67
|
}
|
|
68
|
+
const wordsOf = (s) => s.toLowerCase().trim().split(/\s+/).filter(Boolean);
|
|
69
|
+
/** Is `a` a whole-word prefix of `b` (equal counts)? */
|
|
70
|
+
function startsWithWords(b, a) {
|
|
71
|
+
if (a.length === 0 || a.length > b.length)
|
|
72
|
+
return false;
|
|
73
|
+
return a.every((w, i) => b[i] === w);
|
|
74
|
+
}
|
|
75
|
+
/** Length of the longest common subsequence of two word lists. */
|
|
76
|
+
function commonWords(a, b) {
|
|
77
|
+
let prev = new Array(b.length + 1).fill(0);
|
|
78
|
+
for (const wa of a) {
|
|
79
|
+
const row = new Array(b.length + 1).fill(0);
|
|
80
|
+
for (let j = 0; j < b.length; j++) {
|
|
81
|
+
row[j + 1] = wa === b[j] ? prev[j] + 1 : Math.max(prev[j + 1], row[j]);
|
|
82
|
+
}
|
|
83
|
+
prev = row;
|
|
84
|
+
}
|
|
85
|
+
return prev[b.length];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The transcript so far, from a recogniser's COMPLETE results list.
|
|
89
|
+
*
|
|
90
|
+
* Why this exists: Android's Chrome-family recognisers (Chrome, Brave, Samsung
|
|
91
|
+
* Internet) with `continuous` + `interimResults` report CUMULATIVE results.
|
|
92
|
+
* One utterance arrives as "why", "why exactly", "why exactly is", … — either
|
|
93
|
+
* as one result re-reported with `resultIndex` 0 on every event, or as a new
|
|
94
|
+
* result per event at the next index — and often every one of them flagged
|
|
95
|
+
* `isFinal`. A hook that pushed every final from `resultIndex` onwards into a
|
|
96
|
+
* running array typed the sentence once per word: "why why exactly why exactly
|
|
97
|
+
* is …" (Substrata's Ask box, Brave on Android, 2026-10-25). Desktop Chrome
|
|
98
|
+
* reports stable finals at increasing indices, so it never showed.
|
|
99
|
+
*
|
|
100
|
+
* So the transcript is rebuilt from the whole list on every event (the Web
|
|
101
|
+
* Speech spec makes `results` the session's full list; nothing is kept
|
|
102
|
+
* between events), and a cumulative chain collapses to its last link:
|
|
103
|
+
*
|
|
104
|
+
* - A result whose words BEGIN with the previous kept result's words, and
|
|
105
|
+
* add more, is the same utterance growing: it replaces it. Always on —
|
|
106
|
+
* desktop finals are consecutive phrases and essentially never restate the
|
|
107
|
+
* previous one whole.
|
|
108
|
+
* - Once a list has shown that growth, the recogniser is cumulative, and two
|
|
109
|
+
* more rules apply for that list only: a result the previous one already
|
|
110
|
+
* begins with (a late, shorter or identical re-report) is dropped; and a
|
|
111
|
+
* result at least as long, starting with the same word, that keeps all but
|
|
112
|
+
* a quarter (min. one) of the previous one's words in order, is a REVISION
|
|
113
|
+
* ("why exactly is is so" → "why exactly is it so hard") and replaces it.
|
|
114
|
+
* - Anything else is a new phrase and is appended.
|
|
115
|
+
*
|
|
116
|
+
* The tradeoff, chosen on purpose: the looser rules only run on a recogniser
|
|
117
|
+
* that has proved itself cumulative, so on desktop nothing the person said is
|
|
118
|
+
* ever dropped — "no", "no", "no" as three separate results stays "no no no",
|
|
119
|
+
* and "hello there" then "how are you" stays both. The one limitation: a
|
|
120
|
+
* person who really says "no" and then "no no" as two separate results reads
|
|
121
|
+
* as one growing utterance and is delivered as "no no". That needs a word to
|
|
122
|
+
* be heard as its own result and then restated with more after it, and it
|
|
123
|
+
* loses a repeat, never a new word.
|
|
124
|
+
*
|
|
125
|
+
* `unflaggedIsFinal`: whether a result with no `isFinal` at all counts as
|
|
126
|
+
* settled (the browser leg has always read it so; the preview has not).
|
|
127
|
+
*/
|
|
128
|
+
export function heardFromResults(results, opts = {}) {
|
|
129
|
+
const raw = [];
|
|
130
|
+
for (let i = 0; i < results.length; i++) {
|
|
131
|
+
const r = results[i];
|
|
132
|
+
const text = (r?.[0]?.transcript ?? "").trim();
|
|
133
|
+
if (!r || !text)
|
|
134
|
+
continue;
|
|
135
|
+
const final = opts.unflaggedIsFinal ? r.isFinal !== false : r.isFinal === true;
|
|
136
|
+
raw.push({ text, words: wordsOf(text), final, revises: null });
|
|
137
|
+
}
|
|
138
|
+
let cumulative = false;
|
|
139
|
+
for (let i = 1; i < raw.length; i++) {
|
|
140
|
+
const a = raw[i - 1].words;
|
|
141
|
+
const b = raw[i].words;
|
|
142
|
+
if (b.length > a.length && startsWithWords(b, a)) {
|
|
143
|
+
cumulative = true;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const kept = [];
|
|
148
|
+
for (const next of raw) {
|
|
149
|
+
const prev = kept[kept.length - 1];
|
|
150
|
+
if (!prev) {
|
|
151
|
+
kept.push(next);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const grows = next.words.length > prev.words.length && startsWithWords(next.words, prev.words);
|
|
155
|
+
const lateReport = cumulative && startsWithWords(prev.words, next.words);
|
|
156
|
+
const revision = cumulative &&
|
|
157
|
+
next.words.length >= prev.words.length &&
|
|
158
|
+
next.words[0] === prev.words[0] &&
|
|
159
|
+
commonWords(prev.words, next.words) >=
|
|
160
|
+
prev.words.length - Math.max(1, Math.floor(prev.words.length / 4));
|
|
161
|
+
if (lateReport && !grows)
|
|
162
|
+
continue;
|
|
163
|
+
if (grows || revision) {
|
|
164
|
+
// The settled words an interim revision stands in for, so a take that
|
|
165
|
+
// ends before the revision settles still delivers them.
|
|
166
|
+
const revises = next.final ? null : prev.final ? prev.text : prev.revises;
|
|
167
|
+
kept[kept.length - 1] = { ...next, revises };
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
kept.push(next);
|
|
171
|
+
}
|
|
172
|
+
// Only the tail after the last settled link is interim (desktop Chrome may
|
|
173
|
+
// split its guess into more than one result); a non-final before a final
|
|
174
|
+
// has been followed by settled speech, so its words stand.
|
|
175
|
+
let cut = kept.length;
|
|
176
|
+
while (cut > 0 && !kept[cut - 1].final)
|
|
177
|
+
cut--;
|
|
178
|
+
const tail = kept.slice(cut);
|
|
179
|
+
const finals = kept.slice(0, cut).map((k) => k.text);
|
|
180
|
+
const interim = tail.map((k) => k.text).join(" ");
|
|
181
|
+
const revised = tail.flatMap((k) => (k.revises ? [k.revises] : []));
|
|
182
|
+
return { finals, interim, text: [...finals, ...revised].join(" ") };
|
|
183
|
+
}
|
|
68
184
|
/** A working recogniser fires `start` well inside this once the mic is allowed. */
|
|
69
185
|
export const START_TIMEOUT_MS = 4000;
|
|
70
186
|
/**
|
package/dist/dictation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictation.js","sourceRoot":"","sources":["../src/dictation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dictation.js","sourceRoot":"","sources":["../src/dictation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dictation.d.ts","sourceRoot":"","sources":["../../src/react/use-dictation.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-dictation.d.ts","sourceRoot":"","sources":["../../src/react/use-dictation.ts"],"names":[],"mappings":"AAGA,OAAO,EAgBL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAoCzB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG;IAChC,wDAAwD;IACxD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;0DAEsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;8EAC0E;IAC1E,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;wCACoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;+EAC2E;IAC3E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;gEAC4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;oEACgE;IAChE,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;6EAEyE;IACzE,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AA8CF;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAsb3E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
3
|
-
import { MAX_AUDIO_FILE_BYTES, MAX_RECORDING_MS, PERMISSION_WAIT_MS, RECORDING_MIME_CANDIDATES, START_TIMEOUT_MS, audioFileName, deadRecogniserStillTrusted, fallbackCanRescue, liveWords, problemFor, problemForRecording, reasonFromBody, reasonOf, TranscriptionError, } from "../dictation.js";
|
|
3
|
+
import { MAX_AUDIO_FILE_BYTES, MAX_RECORDING_MS, PERMISSION_WAIT_MS, RECORDING_MIME_CANDIDATES, START_TIMEOUT_MS, audioFileName, deadRecogniserStillTrusted, fallbackCanRescue, heardFromResults, liveWords, problemFor, problemForRecording, reasonFromBody, reasonOf, TranscriptionError, } from "../dictation.js";
|
|
4
4
|
function recogniser() {
|
|
5
5
|
if (typeof window === "undefined")
|
|
6
6
|
return undefined;
|
|
@@ -146,20 +146,13 @@ export function useDictation(opts) {
|
|
|
146
146
|
catch {
|
|
147
147
|
return;
|
|
148
148
|
}
|
|
149
|
-
const finals = [];
|
|
150
149
|
rec.onstart = null;
|
|
151
150
|
rec.onresult = (event) => {
|
|
152
151
|
if (previewRef.current !== rec)
|
|
153
152
|
return;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const t = r?.[0]?.transcript ?? "";
|
|
158
|
-
if (r && r.isFinal)
|
|
159
|
-
finals.push(t);
|
|
160
|
-
else
|
|
161
|
-
interim += t;
|
|
162
|
-
}
|
|
153
|
+
// Rebuilt from the whole list every time — never accumulated — so an
|
|
154
|
+
// Android recogniser's cumulative results show once (heardFromResults).
|
|
155
|
+
const { finals, interim } = heardFromResults(event.results);
|
|
163
156
|
setLiveText(liveWords(finals, interim));
|
|
164
157
|
};
|
|
165
158
|
rec.onerror = () => {
|
|
@@ -292,7 +285,10 @@ export function useDictation(opts) {
|
|
|
292
285
|
// only the final ones are delivered.
|
|
293
286
|
rec.interimResults = true;
|
|
294
287
|
const current = () => recRef.current === rec;
|
|
295
|
-
|
|
288
|
+
// The latest reading of the WHOLE results list, replaced on every event
|
|
289
|
+
// and never appended to: Android recognisers re-report the utterance
|
|
290
|
+
// cumulatively, and appending typed it once per word.
|
|
291
|
+
let said = "";
|
|
296
292
|
let started = false;
|
|
297
293
|
let handedOff = false;
|
|
298
294
|
const finish = (next) => {
|
|
@@ -327,17 +323,10 @@ export function useDictation(opts) {
|
|
|
327
323
|
started = true;
|
|
328
324
|
};
|
|
329
325
|
rec.onresult = (event) => {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
const r = event.results[i];
|
|
333
|
-
const t = r?.[0]?.transcript ?? "";
|
|
334
|
-
if (r && r.isFinal !== false)
|
|
335
|
-
heard.push(t);
|
|
336
|
-
else
|
|
337
|
-
interim += t;
|
|
338
|
-
}
|
|
326
|
+
const heard = heardFromResults(event.results, { unflaggedIsFinal: true });
|
|
327
|
+
said = heard.text;
|
|
339
328
|
if (current())
|
|
340
|
-
setLiveText(liveWords(heard, interim));
|
|
329
|
+
setLiveText(liveWords(heard.finals, heard.interim));
|
|
341
330
|
};
|
|
342
331
|
rec.onerror = (event) => {
|
|
343
332
|
const why = problemFor(event?.error);
|
|
@@ -350,7 +339,6 @@ export function useDictation(opts) {
|
|
|
350
339
|
rec.onend = () => {
|
|
351
340
|
if (!current() || handedOff)
|
|
352
341
|
return;
|
|
353
|
-
const said = heard.join(" ");
|
|
354
342
|
finish(null);
|
|
355
343
|
if (!cancelledRef.current)
|
|
356
344
|
deliver(said);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dictation.js","sourceRoot":"","sources":["../../src/react/use-dictation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-dictation.js","sourceRoot":"","sources":["../../src/react/use-dictation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitbaum/chatkit",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.3",
|
|
4
4
|
"description": "One chat for every product: a composer with a microphone that always works, a thread that does not fight the reader, messages with copy and retry, and LLM markdown \u2014 the fleet's chat standard as a package.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Cato",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"test:browser": "pnpm run demo && node test/browser.mjs"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
|
-
"@bitbaum/design-tokens": "
|
|
77
|
+
"@bitbaum/design-tokens": "github:bitbaum/design-tokens#5c31f48743dabf9294bf9380a15862b4efbc68a0",
|
|
78
78
|
"@eslint/js": "^10.0.1",
|
|
79
79
|
"@types/node": "^26.4.0",
|
|
80
80
|
"@types/react": "^19.2.18",
|