@bitbaum/chatkit 0.15.0 → 0.15.2
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 +28 -0
- 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/Thread.d.ts.map +1 -1
- package/dist/react/Thread.js +5 -2
- package/dist/react/Thread.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/dist/replies.d.ts +16 -0
- package/dist/replies.d.ts.map +1 -1
- package/dist/replies.js +92 -4
- package/dist/replies.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -132,6 +132,19 @@ recommended next step first, and the first button is drawn as the lead
|
|
|
132
132
|
tap, the way Grok does it. Only an answer that ends the conversation has no
|
|
133
133
|
buttons.
|
|
134
134
|
|
|
135
|
+
No heading over the buttons (0.15.1). Models like to write their own
|
|
136
|
+
"**Quick follow-up options**" (or "Suggested replies", "Mögliche
|
|
137
|
+
Rückfragen:", …) as the last line above the block; drawn over the buttons it
|
|
138
|
+
reads as an empty section. The instruction tells the model not to, and
|
|
139
|
+
`extractReplies` drops it anyway — decided by shape and position, not a word
|
|
140
|
+
list, so it holds in every language: the last block before the replies, a
|
|
141
|
+
heading or a bold/italic-only line of at most six words with no sentence
|
|
142
|
+
punctuation but a closing colon, plus an `---` beside it. A bold sentence
|
|
143
|
+
("**China holds 99 %.**") stays. While streaming (`{ streaming: true }`, which
|
|
144
|
+
`ChatThread` passes) such a line is held back until the next line shows what
|
|
145
|
+
it is, so it never flashes. `dropReplyLabel(text)` is exported for apps that
|
|
146
|
+
pass their own `replies`.
|
|
147
|
+
|
|
135
148
|
### Under every answer — Copy, Listen, Share
|
|
136
149
|
|
|
137
150
|
`AnswerActions` is the row under an answer, the same in every product:
|
|
@@ -151,6 +164,21 @@ answer's prose (or what you pass), only where one exists. A button that does
|
|
|
151
164
|
nothing is never shown. `ChatThread` renders it under every answer; pass
|
|
152
165
|
`speaker` and `share` through.
|
|
153
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
|
+
|
|
154
182
|
### Charts in answers (0.15)
|
|
155
183
|
|
|
156
184
|
"Who produces gallium?" is answered with a ranked bar chart, not a list.
|
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":"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"}
|
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":"Thread.d.ts","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/Thread.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Markdown, defaultRenderLink } from "./Markdown.js";
|
|
4
4
|
import { useStickToBottom } from "./hooks.js";
|
|
5
|
-
import { extractReplies } from "../replies.js";
|
|
5
|
+
import { dropReplyLabel, extractReplies } from "../replies.js";
|
|
6
6
|
import { AnswerActions, DEFAULT_ANSWER_ACTIONS_LABELS, } from "./AnswerActions.js";
|
|
7
7
|
import { IconArrowDown, IconChevron, IconRetry, IconStop } from "./icons.js";
|
|
8
8
|
/** "3m 38s", "42s", "1h 02m" — the ChatGPT app's unit words, so a product
|
|
@@ -40,6 +40,9 @@ export function ChatMessage({ message, onRetry, renderLink = defaultRenderLink,
|
|
|
40
40
|
}
|
|
41
41
|
const parsed = extractReplies(message.content);
|
|
42
42
|
const replies = message.replies ?? parsed.replies;
|
|
43
|
+
// Replies handed in by the app still get no heading drawn over them.
|
|
44
|
+
if (message.replies && message.replies.length > 0)
|
|
45
|
+
parsed.text = dropReplyLabel(parsed.text);
|
|
43
46
|
const cls = ["ck-turn", "ck-turn-answer"];
|
|
44
47
|
if (message.speaker?.id)
|
|
45
48
|
cls.push(`ck-from-${message.speaker.id}`);
|
|
@@ -95,7 +98,7 @@ export function ChatThread({ messages, live = null, loading = false, stopped = f
|
|
|
95
98
|
const speakers = new Set([...messages.map((m) => m.speaker?.name), live?.speaker?.name].filter(Boolean));
|
|
96
99
|
const named = showSpeakers ?? speakers.size > 1;
|
|
97
100
|
const lastAnswer = [...messages].reverse().find((m) => m.role === "assistant");
|
|
98
|
-
return (_jsxs("div", { className: "ck-thread-wrap", children: [_jsx("div", { ref: scrollRef, className: "ck-thread", onScroll: onScroll, children: _jsxs("div", { className: "ck-thread-inner", children: [messages.map((m) => (_jsx(ChatMessage, { message: m, onRetry: onRetry && m.id === lastAnswer?.id && !live ? onRetry : undefined, renderLink: renderLink, showSpeaker: named, footer: renderFooter?.(m), last: m.id === lastAnswer?.id, onReply: live || stopped ? undefined : onReply, speaker: speaker, share: share, onFeedback: onFeedback, renderers: renderers, labels: labels }, m.id))), live && (_jsxs("div", { className: "ck-turn ck-turn-answer", children: [named && live.speaker && _jsx("span", { className: "ck-speaker", children: live.speaker.name }), live.steps && live.steps.length > 0 && (_jsx(ThinkingRow, { thinking: { steps: live.steps }, live: true, labels: labels })), live.text ? (_jsx(Markdown, { text: extractReplies(live.text).text, renderLink: renderLink, renderers: renderers })) : live.steps && live.steps.length > 0 ? null : (_jsxs("p", { className: "ck-live", role: "status", "aria-live": "polite", children: [_jsxs("span", { className: "ck-dots", "aria-hidden": true, children: [_jsx("span", {}), _jsx("span", {}), _jsx("span", {})] }), live.status ?? labels.working] })), onStop && (_jsxs("button", { type: "button", className: "ck-stop", onClick: onStop, children: [_jsx(IconStop, {}), labels.stop] }))] })), stopped && !live && (_jsx("p", { className: "ck-stopped", role: "status", children: labels.stopped })), children, _jsx("div", { ref: endRef })] }) }), !following && (_jsx("button", { type: "button", className: "ck-jump", onClick: jumpToBottom, "aria-label": labels.jump, title: labels.jump, children: _jsx(IconArrowDown, {}) }))] }));
|
|
101
|
+
return (_jsxs("div", { className: "ck-thread-wrap", children: [_jsx("div", { ref: scrollRef, className: "ck-thread", onScroll: onScroll, children: _jsxs("div", { className: "ck-thread-inner", children: [messages.map((m) => (_jsx(ChatMessage, { message: m, onRetry: onRetry && m.id === lastAnswer?.id && !live ? onRetry : undefined, renderLink: renderLink, showSpeaker: named, footer: renderFooter?.(m), last: m.id === lastAnswer?.id, onReply: live || stopped ? undefined : onReply, speaker: speaker, share: share, onFeedback: onFeedback, renderers: renderers, labels: labels }, m.id))), live && (_jsxs("div", { className: "ck-turn ck-turn-answer", children: [named && live.speaker && _jsx("span", { className: "ck-speaker", children: live.speaker.name }), live.steps && live.steps.length > 0 && (_jsx(ThinkingRow, { thinking: { steps: live.steps }, live: true, labels: labels })), live.text ? (_jsx(Markdown, { text: extractReplies(live.text, { streaming: true }).text, renderLink: renderLink, renderers: renderers })) : live.steps && live.steps.length > 0 ? null : (_jsxs("p", { className: "ck-live", role: "status", "aria-live": "polite", children: [_jsxs("span", { className: "ck-dots", "aria-hidden": true, children: [_jsx("span", {}), _jsx("span", {}), _jsx("span", {})] }), live.status ?? labels.working] })), onStop && (_jsxs("button", { type: "button", className: "ck-stop", onClick: onStop, children: [_jsx(IconStop, {}), labels.stop] }))] })), stopped && !live && (_jsx("p", { className: "ck-stopped", role: "status", children: labels.stopped })), children, _jsx("div", { ref: endRef })] }) }), !following && (_jsx("button", { type: "button", className: "ck-jump", onClick: jumpToBottom, "aria-label": labels.jump, title: labels.jump, children: _jsx(IconArrowDown, {}) }))] }));
|
|
99
102
|
}
|
|
100
103
|
/** The empty state that starts a conversation. It disappears once one has. */
|
|
101
104
|
export function ChatStarters({ starters, onPick, title, }) {
|
package/dist/react/Thread.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAqC,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/
|
|
1
|
+
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"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/dist/replies.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ export type RepliesOptions = {
|
|
|
22
22
|
max?: number;
|
|
23
23
|
/** Longer than this is a sentence, not a button. Default 48. */
|
|
24
24
|
maxLength?: number;
|
|
25
|
+
/**
|
|
26
|
+
* The text is a partial answer still arriving. A last line that could
|
|
27
|
+
* still turn into a label over the replies ("**Quick re…", "##", "---") is
|
|
28
|
+
* held back until the next line shows what it is, so a heading the model
|
|
29
|
+
* writes above its replies never flashes on screen.
|
|
30
|
+
*/
|
|
31
|
+
streaming?: boolean;
|
|
25
32
|
};
|
|
26
33
|
/**
|
|
27
34
|
* Append to a system prompt. The model leads: every answer ends with the two
|
|
@@ -32,6 +39,15 @@ export type RepliesOptions = {
|
|
|
32
39
|
* ends the conversation leaves the block off.
|
|
33
40
|
*/
|
|
34
41
|
export declare const REPLIES_INSTRUCTION: string;
|
|
42
|
+
/**
|
|
43
|
+
* Drop a heading, a bold or italic label, or a horizontal rule that sits
|
|
44
|
+
* directly above the replies. The reply buttons are their own label; a
|
|
45
|
+
* heading over them is the model narrating the interface, and in front of
|
|
46
|
+
* the buttons it reads as an empty section. Safe on any text: a real
|
|
47
|
+
* paragraph is never touched, and a label line that ends a paragraph
|
|
48
|
+
* (no blank line above it) belongs to that paragraph and stays.
|
|
49
|
+
*/
|
|
50
|
+
export declare function dropReplyLabel(text: string): string;
|
|
35
51
|
/**
|
|
36
52
|
* Split an answer into the text to show and its suggested replies. Safe on a
|
|
37
53
|
* partial, streaming answer: an unfinished block is hidden, never shown.
|
package/dist/replies.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replies.d.ts","sourceRoot":"","sources":["../src/replies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"replies.d.ts","sourceRoot":"","sources":["../src/replies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,QAOpB,CAAC;AAmCb;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAiDD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAiBrC"}
|
package/dist/replies.js
CHANGED
|
@@ -31,11 +31,94 @@ export const REPLIES_INSTRUCTION = [
|
|
|
31
31
|
"```" + REPLIES_FENCE,
|
|
32
32
|
'["Yes, do it", "Show me first", "Not now"]',
|
|
33
33
|
"```",
|
|
34
|
-
"Rules: write them in the person's language, in their voice (what THEY would say, not what you would). Each under 40 characters. Each must make sense sent on its own. Never repeat what they already said. Put the block last, after everything else. Leave it out only when the conversation is over (a goodbye, a thanks with nothing left to do).",
|
|
34
|
+
"Rules: write them in the person's language, in their voice (what THEY would say, not what you would). Each under 40 characters. Each must make sense sent on its own. Never repeat what they already said. Put the block last, after everything else. Do not write any heading or label before it (no Quick replies, Follow-up questions or the like, in any language): the replies are drawn as buttons. Leave it out only when the conversation is over (a goodbye, a thanks with nothing left to do).",
|
|
35
35
|
].join("\n");
|
|
36
36
|
const COMPLETE = new RegExp("\\n?```" + REPLIES_FENCE + "\\s*([\\s\\S]*?)```", "i");
|
|
37
37
|
// Still streaming: the fence has opened (or is opening) and not yet closed.
|
|
38
38
|
const OPEN_TAIL = new RegExp("\\n?```(?:" + REPLIES_FENCE + "[\\s\\S]*|q[a-z_]*)?$", "i");
|
|
39
|
+
// A label the model writes over its replies: "**Quick follow-up options**",
|
|
40
|
+
// "### Suggested replies", "_Mögliche Rückfragen:_", "Быстрые ответы:".
|
|
41
|
+
// Decided by SHAPE and POSITION, never by a word list, so it holds in every
|
|
42
|
+
// language: the last block before the replies, at most six words, and no
|
|
43
|
+
// sentence punctuation but a closing colon. A sentence — "**China holds
|
|
44
|
+
// 99 %.**", or anything longer — is part of the answer and stays.
|
|
45
|
+
const HEADING = /^#{1,6}\s+(.*?)(?:\s+#+)?$/;
|
|
46
|
+
const EMPHASIS = /^(\*\*\*|\*\*|\*|___|__|_)(?!\s)(.+?)(?<!\s)\1(:?)$/;
|
|
47
|
+
const RULE = /^(?:-{3,}|\*{3,}|_{3,})$/;
|
|
48
|
+
const MAX_LABEL_WORDS = 6;
|
|
49
|
+
function isLabelText(inner) {
|
|
50
|
+
const words = inner.replace(/[*_]+/g, "").replace(/:\s*$/, "").trim();
|
|
51
|
+
if (!words || /[.!?…;。!?]/.test(words) || words.includes(":"))
|
|
52
|
+
return false;
|
|
53
|
+
return words.split(/\s+/).length <= MAX_LABEL_WORDS;
|
|
54
|
+
}
|
|
55
|
+
function labelKind(line) {
|
|
56
|
+
const t = line.trim();
|
|
57
|
+
if (RULE.test(t))
|
|
58
|
+
return "rule";
|
|
59
|
+
const heading = HEADING.exec(t);
|
|
60
|
+
if (heading)
|
|
61
|
+
return isLabelText(heading[1] ?? "") ? "heading" : null;
|
|
62
|
+
const emphasis = EMPHASIS.exec(t);
|
|
63
|
+
if (emphasis)
|
|
64
|
+
return isLabelText(emphasis[2] ?? "") ? "label" : null;
|
|
65
|
+
// A plain line that only introduces what follows: "Mögliche Rückfragen:".
|
|
66
|
+
if (t.endsWith(":") && !/^[-*+>|`]|^\d+[.)]/.test(t))
|
|
67
|
+
return isLabelText(t) ? "label" : null;
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Drop a heading, a bold or italic label, or a horizontal rule that sits
|
|
72
|
+
* directly above the replies. The reply buttons are their own label; a
|
|
73
|
+
* heading over them is the model narrating the interface, and in front of
|
|
74
|
+
* the buttons it reads as an empty section. Safe on any text: a real
|
|
75
|
+
* paragraph is never touched, and a label line that ends a paragraph
|
|
76
|
+
* (no blank line above it) belongs to that paragraph and stays.
|
|
77
|
+
*/
|
|
78
|
+
export function dropReplyLabel(text) {
|
|
79
|
+
const lines = text.trimEnd().split("\n");
|
|
80
|
+
let droppedLabel = false;
|
|
81
|
+
for (let guard = 0; guard < 4 && lines.length > 0; guard++) {
|
|
82
|
+
const i = lines.length - 1;
|
|
83
|
+
const kind = labelKind(lines[i] ?? "");
|
|
84
|
+
if (!kind)
|
|
85
|
+
break;
|
|
86
|
+
const alone = i === 0 || (lines[i - 1] ?? "").trim() === "";
|
|
87
|
+
if (kind === "label" && !alone)
|
|
88
|
+
break;
|
|
89
|
+
if (kind !== "rule") {
|
|
90
|
+
if (droppedLabel)
|
|
91
|
+
break;
|
|
92
|
+
droppedLabel = true;
|
|
93
|
+
}
|
|
94
|
+
lines.pop();
|
|
95
|
+
while (lines.length > 0 && (lines[lines.length - 1] ?? "").trim() === "")
|
|
96
|
+
lines.pop();
|
|
97
|
+
}
|
|
98
|
+
return lines.join("\n");
|
|
99
|
+
}
|
|
100
|
+
// While streaming: could this last line still become a label? Starts like a
|
|
101
|
+
// heading, an emphasis run or a rule, and is short enough to be one.
|
|
102
|
+
function mayBecomeLabel(line) {
|
|
103
|
+
const t = line.trim();
|
|
104
|
+
if (/^[-*_]{1,3}$/.test(t))
|
|
105
|
+
return true;
|
|
106
|
+
if (!/^(?:#{1,6}(?:\s|$)|\*{1,3}(?!\s)|_{1,3}(?!\s))/.test(t))
|
|
107
|
+
return false;
|
|
108
|
+
return isLabelText(t.replace(/^#+\s*/, "")) || labelKind(t) !== null;
|
|
109
|
+
}
|
|
110
|
+
function holdBack(text) {
|
|
111
|
+
let rest = text.replace(/\n?```\s*$/, "").trimEnd();
|
|
112
|
+
rest = dropReplyLabel(rest);
|
|
113
|
+
const lines = rest.split("\n");
|
|
114
|
+
const last = lines[lines.length - 1] ?? "";
|
|
115
|
+
const alone = lines.length === 1 || (lines[lines.length - 2] ?? "").trim() === "";
|
|
116
|
+
if (alone && mayBecomeLabel(last)) {
|
|
117
|
+
lines.pop();
|
|
118
|
+
return lines.join("\n").trimEnd();
|
|
119
|
+
}
|
|
120
|
+
return rest;
|
|
121
|
+
}
|
|
39
122
|
function clean(raw, { max = 4, maxLength = 48 }) {
|
|
40
123
|
let parsed;
|
|
41
124
|
try {
|
|
@@ -73,15 +156,20 @@ function clean(raw, { max = 4, maxLength = 48 }) {
|
|
|
73
156
|
export function extractReplies(text, options = {}) {
|
|
74
157
|
const match = COMPLETE.exec(text);
|
|
75
158
|
if (match) {
|
|
76
|
-
const
|
|
77
|
-
|
|
159
|
+
const replies = clean(match[1] ?? "", options);
|
|
160
|
+
const before = text.slice(0, match.index);
|
|
161
|
+
const after = text.slice(match.index + match[0].length);
|
|
162
|
+
const rest = ((replies.length > 0 ? dropReplyLabel(before) : before) + after).trimEnd();
|
|
163
|
+
return { text: rest, replies };
|
|
78
164
|
}
|
|
79
165
|
const tail = OPEN_TAIL.exec(text);
|
|
80
166
|
// A bare ``` at the end may be the start of an ordinary code block; only
|
|
81
167
|
// hide it while it could still become ours.
|
|
82
168
|
if (tail && tail[0].trim() !== "```") {
|
|
83
|
-
return { text: text.slice(0, tail.index)
|
|
169
|
+
return { text: dropReplyLabel(text.slice(0, tail.index)), replies: [] };
|
|
84
170
|
}
|
|
171
|
+
if (options.streaming)
|
|
172
|
+
return { text: holdBack(text), replies: [] };
|
|
85
173
|
return { text, replies: [] };
|
|
86
174
|
}
|
|
87
175
|
//# sourceMappingURL=replies.js.map
|
package/dist/replies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replies.js","sourceRoot":"","sources":["../src/replies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"replies.js","sourceRoot":"","sources":["../src/replies.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.2",
|
|
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",
|