@tryhamster/gerbil 1.0.0 → 1.0.1
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 +85 -34
- package/dist/browser/index.d.ts +12 -2
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +12 -5
- package/dist/browser/index.js.map +1 -1
- package/dist/cli.mjs +7 -7
- package/dist/cli.mjs.map +1 -1
- package/dist/frameworks/express.d.mts +1 -1
- package/dist/frameworks/express.mjs +1 -1
- package/dist/frameworks/fastify.d.mts +1 -1
- package/dist/frameworks/fastify.mjs +1 -1
- package/dist/frameworks/hono.d.mts +1 -1
- package/dist/frameworks/hono.mjs +1 -1
- package/dist/frameworks/next.d.mts +3 -3
- package/dist/frameworks/next.mjs +1 -1
- package/dist/frameworks/react.d.mts +1 -1
- package/dist/frameworks/trpc.d.mts +1 -1
- package/dist/frameworks/trpc.mjs +1 -1
- package/dist/{gerbil-BT9fCydo.d.mts → gerbil-BetB5xb0.d.mts} +3 -3
- package/dist/{gerbil-BT9fCydo.d.mts.map → gerbil-BetB5xb0.d.mts.map} +1 -1
- package/dist/gerbil-CTZUa8EZ.mjs +4 -0
- package/dist/{gerbil-BHrJJIa4.mjs → gerbil-DNniplr4.mjs} +2 -2
- package/dist/{gerbil-BHrJJIa4.mjs.map → gerbil-DNniplr4.mjs.map} +1 -1
- package/dist/gpu/hooks.d.mts +122 -2
- package/dist/gpu/hooks.d.mts.map +1 -1
- package/dist/gpu/hooks.mjs +187 -6
- package/dist/gpu/hooks.mjs.map +1 -1
- package/dist/gpu/index.d.mts +2 -2
- package/dist/gpu/index.mjs +2 -2
- package/dist/{gpu-33qCAtHW.mjs → gpu-DFuglcEx.mjs} +178 -3
- package/dist/gpu-DFuglcEx.mjs.map +1 -0
- package/dist/{index-jEAL2s-A.d.mts → index-DukkJRMj.d.mts} +104 -12
- package/dist/{index-jEAL2s-A.d.mts.map → index-DukkJRMj.d.mts.map} +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +4 -4
- package/dist/integrations/ai-sdk.d.mts +1 -1
- package/dist/integrations/ai-sdk.mjs +1 -1
- package/dist/integrations/langchain.d.mts +1 -1
- package/dist/integrations/langchain.mjs +1 -1
- package/dist/integrations/llamaindex.d.mts +1 -1
- package/dist/integrations/llamaindex.mjs +1 -1
- package/dist/integrations/mcp.d.mts +3 -3
- package/dist/integrations/mcp.mjs +4 -4
- package/dist/{mcp-1DaMsaBc.mjs → mcp-D2vvH1Xc.mjs} +3 -3
- package/dist/{mcp-1DaMsaBc.mjs.map → mcp-D2vvH1Xc.mjs.map} +1 -1
- package/dist/moonshine-stt-17dpP1kr.mjs +4 -0
- package/dist/{moonshine-stt-v_P_Ci_m.mjs → moonshine-stt-4ojLtMq7.mjs} +30 -4
- package/dist/{moonshine-stt-v_P_Ci_m.mjs.map → moonshine-stt-4ojLtMq7.mjs.map} +1 -1
- package/dist/{one-liner-DnQn7HJK.mjs → one-liner-JhdIPxzF.mjs} +2 -2
- package/dist/{one-liner-DnQn7HJK.mjs.map → one-liner-JhdIPxzF.mjs.map} +1 -1
- package/dist/{repl-jV5gcJFA.mjs → repl-BDRkwPGX.mjs} +3 -3
- package/dist/skills/index.d.mts +3 -3
- package/dist/skills/index.mjs +3 -3
- package/dist/{skills-DX8D59UH.mjs → skills-CU694Dc8.mjs} +2 -2
- package/dist/{skills-DX8D59UH.mjs.map → skills-CU694Dc8.mjs.map} +1 -1
- package/dist/{types-D6FiR_oh.d.mts → types-LlyYILII.d.mts} +7 -3
- package/dist/types-LlyYILII.d.mts.map +1 -0
- package/package.json +1 -1
- package/dist/gerbil-DomNfIr1.mjs +0 -4
- package/dist/gpu-33qCAtHW.mjs.map +0 -1
- package/dist/moonshine-stt-BLyVoRpB.mjs +0 -4
- package/dist/types-D6FiR_oh.d.mts.map +0 -1
package/dist/gpu/hooks.d.mts
CHANGED
|
@@ -1,7 +1,92 @@
|
|
|
1
|
+
import { n as AgentTool, t as AgentStep } from "../index-DukkJRMj.mjs";
|
|
1
2
|
import { c as MemorySearchResult, d as RecallOptions, f as RecallResult, m as SearchOptions, s as MemoryRecord, t as AddOptions } from "../types-DQBe2lFo.mjs";
|
|
2
3
|
|
|
3
|
-
//#region src/browser/use-
|
|
4
|
+
//#region src/browser/use-agent.d.ts
|
|
4
5
|
|
|
6
|
+
interface UseAgentOptions {
|
|
7
|
+
/** Model repo id to run the agent with. */
|
|
8
|
+
model: string;
|
|
9
|
+
/** Tools the agent may call. */
|
|
10
|
+
tools: AgentTool[];
|
|
11
|
+
/** Max generate → tool → result rounds before giving up (default 5). */
|
|
12
|
+
maxSteps?: number;
|
|
13
|
+
/** Load the model on mount (default false — loads on first run). */
|
|
14
|
+
autoLoad?: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface UseAgentReturn {
|
|
17
|
+
/** Run the agent on a prompt; resolves to the final answer text. */
|
|
18
|
+
run: (prompt: string) => Promise<string>;
|
|
19
|
+
/** The step trace of the most recent run (tool calls, results, final answer). */
|
|
20
|
+
steps: AgentStep[];
|
|
21
|
+
/** Final answer text of the most recent run. */
|
|
22
|
+
answer: string;
|
|
23
|
+
/** True while the agent loop is running. */
|
|
24
|
+
isRunning: boolean;
|
|
25
|
+
/** True once the model is loaded. */
|
|
26
|
+
isReady: boolean;
|
|
27
|
+
/** Load the model explicitly. */
|
|
28
|
+
load: () => Promise<void>;
|
|
29
|
+
/** Clear the steps + answer. */
|
|
30
|
+
reset: () => void;
|
|
31
|
+
/** Load/run error, if any. */
|
|
32
|
+
error: string | null;
|
|
33
|
+
}
|
|
34
|
+
declare function useAgent(options: UseAgentOptions): UseAgentReturn;
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/browser/use-autocomplete.d.ts
|
|
37
|
+
/**
|
|
38
|
+
* React hook for debounced inline autocomplete (ghost text).
|
|
39
|
+
*
|
|
40
|
+
* Owns the debounce, in-flight, and stale-response guards so a component only has
|
|
41
|
+
* to render the suggestion and handle accept/dismiss. Built on `useEngine`, so it
|
|
42
|
+
* shares the same reference-counted engine as other hooks.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* import { useAutocomplete } from "@tryhamster/gerbil/gpu/hooks";
|
|
47
|
+
*
|
|
48
|
+
* const { suggestion, onInput, accept, dismiss } = useAutocomplete({
|
|
49
|
+
* model: "mlx-community/Qwen3.5-0.8B-4bit",
|
|
50
|
+
* });
|
|
51
|
+
* // <input onChange={(e) => onInput(e.target.value)} />
|
|
52
|
+
* // render `suggestion` as ghost text; Tab → accept(), Esc → dismiss()
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
interface UseAutocompleteOptions {
|
|
56
|
+
/** Model repo id to autocomplete with. */
|
|
57
|
+
model: string;
|
|
58
|
+
/** Debounce before fetching, in ms (default 550). */
|
|
59
|
+
debounceMs?: number;
|
|
60
|
+
/** Minimum trimmed input length before fetching (default 8). */
|
|
61
|
+
minChars?: number;
|
|
62
|
+
/** Max continuation tokens (default 16). */
|
|
63
|
+
maxTokens?: number;
|
|
64
|
+
/** Sampling temperature (default 0.3). */
|
|
65
|
+
temperature?: number;
|
|
66
|
+
/** Load the model on mount (default false — loads on first request). */
|
|
67
|
+
autoLoad?: boolean;
|
|
68
|
+
}
|
|
69
|
+
interface UseAutocompleteReturn {
|
|
70
|
+
/** Current ghost suggestion (continuation only), or "". */
|
|
71
|
+
suggestion: string;
|
|
72
|
+
/** True while a suggestion is being fetched. */
|
|
73
|
+
isFetching: boolean;
|
|
74
|
+
/** True once the model is loaded. */
|
|
75
|
+
isReady: boolean;
|
|
76
|
+
/** Load the model explicitly. */
|
|
77
|
+
load: () => Promise<void>;
|
|
78
|
+
/** Feed the latest input; schedules a debounced fetch and clears any stale suggestion. */
|
|
79
|
+
onInput: (text: string) => void;
|
|
80
|
+
/** Accept the current suggestion: returns it and clears state. */
|
|
81
|
+
accept: () => string;
|
|
82
|
+
/** Dismiss the current suggestion. */
|
|
83
|
+
dismiss: () => void;
|
|
84
|
+
/** Load/generation error, if any. */
|
|
85
|
+
error: string | null;
|
|
86
|
+
}
|
|
87
|
+
declare function useAutocomplete(options: UseAutocompleteOptions): UseAutocompleteReturn;
|
|
88
|
+
//#endregion
|
|
89
|
+
//#region src/browser/use-engine.d.ts
|
|
5
90
|
/**
|
|
6
91
|
* React hook for native WebGPU inference in the browser.
|
|
7
92
|
*
|
|
@@ -36,6 +121,8 @@ import { c as MemorySearchResult, d as RecallOptions, f as RecallResult, m as Se
|
|
|
36
121
|
* }
|
|
37
122
|
* ```
|
|
38
123
|
*/
|
|
124
|
+
type AgentTool$1 = AgentTool;
|
|
125
|
+
type AgentStep$1 = AgentStep;
|
|
39
126
|
/** A single conversation turn (matches the engine's chat message shape). */
|
|
40
127
|
interface ChatMessage {
|
|
41
128
|
role: "system" | "user" | "assistant";
|
|
@@ -101,6 +188,35 @@ interface GenerateObjectOptions extends CompleteOptions {
|
|
|
101
188
|
interface UseEngineReturn {
|
|
102
189
|
/** Generate a completion for a prompt. Returns the full text. */
|
|
103
190
|
complete: (prompt: string | ChatMessage[], options?: CompleteOptions) => Promise<string>;
|
|
191
|
+
/** Inline autocomplete: continue `prefix` with a brief single-line completion. */
|
|
192
|
+
autocomplete: (prefix: string, opts?: {
|
|
193
|
+
maxTokens?: number;
|
|
194
|
+
temperature?: number;
|
|
195
|
+
stop?: string[];
|
|
196
|
+
singleLine?: boolean;
|
|
197
|
+
}) => Promise<string>;
|
|
198
|
+
/** Rewrite `text` in a target tone (or with free-form instructions). */
|
|
199
|
+
rewrite: (text: string, opts?: {
|
|
200
|
+
tone?: string;
|
|
201
|
+
instructions?: string;
|
|
202
|
+
maxTokens?: number;
|
|
203
|
+
temperature?: number;
|
|
204
|
+
}) => Promise<string>;
|
|
205
|
+
/** Agentic tool-calling loop: generate → run tools → repeat until an answer. */
|
|
206
|
+
generateWithTools: (prompt: string | ChatMessage[], opts: {
|
|
207
|
+
tools: AgentTool$1[];
|
|
208
|
+
maxSteps?: number;
|
|
209
|
+
onStep?: (step: AgentStep$1) => void;
|
|
210
|
+
maxTokens?: number;
|
|
211
|
+
sampling?: {
|
|
212
|
+
temperature?: number;
|
|
213
|
+
topK?: number;
|
|
214
|
+
topP?: number;
|
|
215
|
+
};
|
|
216
|
+
}) => Promise<{
|
|
217
|
+
text: string;
|
|
218
|
+
steps: AgentStep$1[];
|
|
219
|
+
}>;
|
|
104
220
|
/**
|
|
105
221
|
* Describe an image (image-in → text-out). Requires `enableVision: true`.
|
|
106
222
|
* `image` may be a data/http(s) URL or pre-decoded RGB pixels.
|
|
@@ -382,6 +498,8 @@ interface UseSTTOptions {
|
|
|
382
498
|
autoLoad?: boolean;
|
|
383
499
|
onReady?: () => void;
|
|
384
500
|
onError?: (error: Error) => void;
|
|
501
|
+
/** Called when a finalized utterance contains no speech (silence/noise). */
|
|
502
|
+
onNoSpeech?: () => void;
|
|
385
503
|
}
|
|
386
504
|
interface UseSTTReturn {
|
|
387
505
|
load: () => Promise<void>;
|
|
@@ -398,6 +516,8 @@ interface UseSTTReturn {
|
|
|
398
516
|
isTranscribing: boolean;
|
|
399
517
|
transcript: string;
|
|
400
518
|
audioSeconds: number | null;
|
|
519
|
+
/** True when the last finalized utterance contained no speech. */
|
|
520
|
+
noSpeech: boolean;
|
|
401
521
|
error: string | null;
|
|
402
522
|
}
|
|
403
523
|
declare function useSTT(options?: UseSTTOptions): UseSTTReturn;
|
|
@@ -516,5 +636,5 @@ interface UseVoiceChatReturn {
|
|
|
516
636
|
}
|
|
517
637
|
declare function useVoiceChat(options?: UseVoiceChatOptions): UseVoiceChatReturn;
|
|
518
638
|
//#endregion
|
|
519
|
-
export { type ChatMessage, type ChatStatus, type CompleteOptions, type DescribeImageOptions, type EngineErrorKind, type GenerateObjectOptions, KANI_VOICES, type KaniVoice, type ModalityOptions, type ObjectValidator, type SpeakOptions, type UseChatOptions, type UseChatReturn, type UseCompletionReturn, type UseEmbeddingReturn, type UseEngineOptions, type UseEngineReturn, type UseMemoryOptions, type UseMemoryReturn, type UseObjectReturn, type UseSTTOptions, type UseSTTReturn, type UseTTSOptions, type UseTTSReturn, type UseTextReturn, type UseVisionReturn, type UseVoiceChatOptions, type UseVoiceChatReturn, useChat, useCompletion, useEmbedding, useEngine, useMemory, useObject, useSTT, useTTS, useText, useVision, useVoiceChat };
|
|
639
|
+
export { type AgentStep, type AgentTool, type ChatMessage, type ChatStatus, type CompleteOptions, type DescribeImageOptions, type EngineErrorKind, type GenerateObjectOptions, KANI_VOICES, type KaniVoice, type ModalityOptions, type ObjectValidator, type SpeakOptions, type UseAgentOptions, type UseAgentReturn, type UseAutocompleteOptions, type UseAutocompleteReturn, type UseChatOptions, type UseChatReturn, type UseCompletionReturn, type UseEmbeddingReturn, type UseEngineOptions, type UseEngineReturn, type UseMemoryOptions, type UseMemoryReturn, type UseObjectReturn, type UseSTTOptions, type UseSTTReturn, type UseTTSOptions, type UseTTSReturn, type UseTextReturn, type UseVisionReturn, type UseVoiceChatOptions, type UseVoiceChatReturn, useAgent, useAutocomplete, useChat, useCompletion, useEmbedding, useEngine, useMemory, useObject, useSTT, useTTS, useText, useVision, useVoiceChat };
|
|
520
640
|
//# sourceMappingURL=hooks.d.mts.map
|
package/dist/gpu/hooks.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.mts","names":[],"sources":["../../src/browser/use-engine.ts","../../src/browser/use-memory.ts","../../src/browser/use-modalities.ts","../../src/browser/use-stt.ts","../../src/browser/use-tts.ts","../../src/browser/use-voice-chat.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.d.mts","names":[],"sources":["../../src/browser/use-agent.ts","../../src/browser/use-autocomplete.ts","../../src/browser/use-engine.ts","../../src/browser/use-memory.ts","../../src/browser/use-modalities.ts","../../src/browser/use-stt.ts","../../src/browser/use-tts.ts","../../src/browser/use-voice-chat.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/gpu/hooks.mjs
CHANGED
|
@@ -261,10 +261,11 @@ function useEngine(options = {}) {
|
|
|
261
261
|
sampling: { temperature: opts.temperature ?? .7 },
|
|
262
262
|
systemPrompt: opts.system,
|
|
263
263
|
stopSequences: opts.stopSequences,
|
|
264
|
-
onToken: (token) => {
|
|
264
|
+
onToken: (token, meta) => {
|
|
265
265
|
if (stoppedRef.current) return;
|
|
266
266
|
fullText += token;
|
|
267
267
|
setCompletion(fullText);
|
|
268
|
+
if (meta) setTps(meta.tps);
|
|
268
269
|
}
|
|
269
270
|
});
|
|
270
271
|
setTps(result.tokensPerSecond);
|
|
@@ -276,6 +277,21 @@ function useEngine(options = {}) {
|
|
|
276
277
|
return fullText;
|
|
277
278
|
}
|
|
278
279
|
}, [fail]);
|
|
280
|
+
const autocomplete = useCallback(async (prefix, opts) => {
|
|
281
|
+
const engine = engineRef.current;
|
|
282
|
+
if (!engine) throw new Error("Engine not loaded. Call load() first.");
|
|
283
|
+
return engine.autocomplete(prefix, opts);
|
|
284
|
+
}, []);
|
|
285
|
+
const rewrite = useCallback(async (text, opts) => {
|
|
286
|
+
const engine = engineRef.current;
|
|
287
|
+
if (!engine) throw new Error("Engine not loaded. Call load() first.");
|
|
288
|
+
return engine.rewrite(text, opts);
|
|
289
|
+
}, []);
|
|
290
|
+
const generateWithTools = useCallback((prompt, opts) => {
|
|
291
|
+
const engine = engineRef.current;
|
|
292
|
+
if (!engine) throw new Error("Engine not loaded. Call load() first.");
|
|
293
|
+
return engine.generateWithTools(prompt, opts);
|
|
294
|
+
}, []);
|
|
279
295
|
const generateObject = useCallback(async (prompt, opts = {}) => {
|
|
280
296
|
const engine = engineRef.current;
|
|
281
297
|
if (!engine) throw new Error("Engine not loaded. Call load() first.");
|
|
@@ -322,10 +338,11 @@ function useEngine(options = {}) {
|
|
|
322
338
|
sampling: { temperature: opts.temperature ?? .7 },
|
|
323
339
|
systemPrompt: opts.system,
|
|
324
340
|
stopSequences: opts.stopSequences,
|
|
325
|
-
onToken: (token) => {
|
|
341
|
+
onToken: (token, meta) => {
|
|
326
342
|
if (stoppedRef.current) return;
|
|
327
343
|
fullText += token;
|
|
328
344
|
setCompletion(fullText);
|
|
345
|
+
if (meta) setTps(meta.tps);
|
|
329
346
|
}
|
|
330
347
|
});
|
|
331
348
|
setTps(result.tokensPerSecond);
|
|
@@ -377,6 +394,9 @@ function useEngine(options = {}) {
|
|
|
377
394
|
}, [modelKey]);
|
|
378
395
|
return {
|
|
379
396
|
complete,
|
|
397
|
+
autocomplete,
|
|
398
|
+
rewrite,
|
|
399
|
+
generateWithTools,
|
|
380
400
|
generateObject,
|
|
381
401
|
describeImage,
|
|
382
402
|
embed,
|
|
@@ -396,6 +416,161 @@ function useEngine(options = {}) {
|
|
|
396
416
|
};
|
|
397
417
|
}
|
|
398
418
|
|
|
419
|
+
//#endregion
|
|
420
|
+
//#region src/browser/use-agent.ts
|
|
421
|
+
/**
|
|
422
|
+
* React hook for agentic tool-calling in the browser.
|
|
423
|
+
*
|
|
424
|
+
* Owns the agent loop state (running flag, step trace, final answer) on top of
|
|
425
|
+
* `useEngine().generateWithTools`. You supply the model + tools; the hook runs the
|
|
426
|
+
* generate → call-tool → feed-result loop and exposes the steps for trace UIs.
|
|
427
|
+
*
|
|
428
|
+
* @example
|
|
429
|
+
* ```tsx
|
|
430
|
+
* import { useAgent } from "@tryhamster/gerbil/gpu/hooks";
|
|
431
|
+
*
|
|
432
|
+
* const { run, steps, answer, isRunning } = useAgent({
|
|
433
|
+
* model: "mlx-community/Qwen3.5-0.8B-4bit",
|
|
434
|
+
* tools: [weatherTool],
|
|
435
|
+
* });
|
|
436
|
+
* await run("What's the weather in Paris?");
|
|
437
|
+
* ```
|
|
438
|
+
*/
|
|
439
|
+
function useAgent(options) {
|
|
440
|
+
const { model, tools, maxSteps = 5, autoLoad = false } = options;
|
|
441
|
+
const engine = useEngine({
|
|
442
|
+
model,
|
|
443
|
+
autoLoad
|
|
444
|
+
});
|
|
445
|
+
const [steps, setSteps] = useState([]);
|
|
446
|
+
const [answer, setAnswer] = useState("");
|
|
447
|
+
const [isRunning, setIsRunning] = useState(false);
|
|
448
|
+
const toolsRef = useRef(tools);
|
|
449
|
+
toolsRef.current = tools;
|
|
450
|
+
const run = useCallback(async (prompt) => {
|
|
451
|
+
setIsRunning(true);
|
|
452
|
+
setSteps([]);
|
|
453
|
+
setAnswer("");
|
|
454
|
+
try {
|
|
455
|
+
if (!engine.isReady) await engine.load();
|
|
456
|
+
const { text } = await engine.generateWithTools(prompt, {
|
|
457
|
+
tools: toolsRef.current,
|
|
458
|
+
maxSteps,
|
|
459
|
+
onStep: (step) => setSteps((prev) => [...prev, step])
|
|
460
|
+
});
|
|
461
|
+
setAnswer(text);
|
|
462
|
+
return text;
|
|
463
|
+
} finally {
|
|
464
|
+
setIsRunning(false);
|
|
465
|
+
}
|
|
466
|
+
}, [engine, maxSteps]);
|
|
467
|
+
const reset = useCallback(() => {
|
|
468
|
+
setSteps([]);
|
|
469
|
+
setAnswer("");
|
|
470
|
+
}, []);
|
|
471
|
+
return {
|
|
472
|
+
run,
|
|
473
|
+
steps,
|
|
474
|
+
answer,
|
|
475
|
+
isRunning,
|
|
476
|
+
isReady: engine.isReady,
|
|
477
|
+
load: engine.load,
|
|
478
|
+
reset,
|
|
479
|
+
error: engine.error
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
//#endregion
|
|
484
|
+
//#region src/browser/use-autocomplete.ts
|
|
485
|
+
/**
|
|
486
|
+
* React hook for debounced inline autocomplete (ghost text).
|
|
487
|
+
*
|
|
488
|
+
* Owns the debounce, in-flight, and stale-response guards so a component only has
|
|
489
|
+
* to render the suggestion and handle accept/dismiss. Built on `useEngine`, so it
|
|
490
|
+
* shares the same reference-counted engine as other hooks.
|
|
491
|
+
*
|
|
492
|
+
* @example
|
|
493
|
+
* ```tsx
|
|
494
|
+
* import { useAutocomplete } from "@tryhamster/gerbil/gpu/hooks";
|
|
495
|
+
*
|
|
496
|
+
* const { suggestion, onInput, accept, dismiss } = useAutocomplete({
|
|
497
|
+
* model: "mlx-community/Qwen3.5-0.8B-4bit",
|
|
498
|
+
* });
|
|
499
|
+
* // <input onChange={(e) => onInput(e.target.value)} />
|
|
500
|
+
* // render `suggestion` as ghost text; Tab → accept(), Esc → dismiss()
|
|
501
|
+
* ```
|
|
502
|
+
*/
|
|
503
|
+
function useAutocomplete(options) {
|
|
504
|
+
const { model, debounceMs = 550, minChars = 8, maxTokens = 16, temperature = .3, autoLoad = false } = options;
|
|
505
|
+
const engine = useEngine({
|
|
506
|
+
model,
|
|
507
|
+
autoLoad
|
|
508
|
+
});
|
|
509
|
+
const [suggestion, setSuggestion] = useState("");
|
|
510
|
+
const [isFetching, setIsFetching] = useState(false);
|
|
511
|
+
const debounceRef = useRef(null);
|
|
512
|
+
const inFlightRef = useRef(false);
|
|
513
|
+
const requestedForRef = useRef("");
|
|
514
|
+
const request = useCallback(async (text) => {
|
|
515
|
+
if (inFlightRef.current) return;
|
|
516
|
+
if (text.trim().length < minChars) return;
|
|
517
|
+
inFlightRef.current = true;
|
|
518
|
+
requestedForRef.current = text;
|
|
519
|
+
setIsFetching(true);
|
|
520
|
+
try {
|
|
521
|
+
if (!engine.isReady) await engine.load();
|
|
522
|
+
if (engine.error) return;
|
|
523
|
+
const out = await engine.autocomplete(text, {
|
|
524
|
+
maxTokens,
|
|
525
|
+
temperature
|
|
526
|
+
});
|
|
527
|
+
if (requestedForRef.current !== text) return;
|
|
528
|
+
if (out) setSuggestion(out);
|
|
529
|
+
} finally {
|
|
530
|
+
inFlightRef.current = false;
|
|
531
|
+
setIsFetching(false);
|
|
532
|
+
}
|
|
533
|
+
}, [
|
|
534
|
+
engine,
|
|
535
|
+
minChars,
|
|
536
|
+
maxTokens,
|
|
537
|
+
temperature
|
|
538
|
+
]);
|
|
539
|
+
const onInput = useCallback((text) => {
|
|
540
|
+
setSuggestion("");
|
|
541
|
+
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
542
|
+
if (text.trim().length < minChars) return;
|
|
543
|
+
debounceRef.current = setTimeout(() => void request(text), debounceMs);
|
|
544
|
+
}, [
|
|
545
|
+
request,
|
|
546
|
+
minChars,
|
|
547
|
+
debounceMs
|
|
548
|
+
]);
|
|
549
|
+
const accept = useCallback(() => {
|
|
550
|
+
const s = suggestion;
|
|
551
|
+
setSuggestion("");
|
|
552
|
+
requestedForRef.current = "";
|
|
553
|
+
return s;
|
|
554
|
+
}, [suggestion]);
|
|
555
|
+
const dismiss = useCallback(() => {
|
|
556
|
+
setSuggestion("");
|
|
557
|
+
requestedForRef.current = "";
|
|
558
|
+
}, []);
|
|
559
|
+
useEffect(() => () => {
|
|
560
|
+
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
561
|
+
}, []);
|
|
562
|
+
return {
|
|
563
|
+
suggestion,
|
|
564
|
+
isFetching,
|
|
565
|
+
isReady: engine.isReady,
|
|
566
|
+
load: engine.load,
|
|
567
|
+
onInput,
|
|
568
|
+
accept,
|
|
569
|
+
dismiss,
|
|
570
|
+
error: engine.error
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
|
|
399
574
|
//#endregion
|
|
400
575
|
//#region src/browser/use-memory.ts
|
|
401
576
|
/**
|
|
@@ -726,7 +901,7 @@ function toMono16k(channels, inputRate) {
|
|
|
726
901
|
return out;
|
|
727
902
|
}
|
|
728
903
|
function useSTT(options = {}) {
|
|
729
|
-
const { repo = DEFAULT_MODELS.stt, autoLoad = false, onReady, onError } = options;
|
|
904
|
+
const { repo = DEFAULT_MODELS.stt, autoLoad = false, onReady, onError, onNoSpeech } = options;
|
|
730
905
|
const sttRef = useRef(null);
|
|
731
906
|
const loadingRef = useRef(false);
|
|
732
907
|
const mediaStreamRef = useRef(null);
|
|
@@ -742,6 +917,7 @@ function useSTT(options = {}) {
|
|
|
742
917
|
const [isTranscribing, setIsTranscribing] = useState(false);
|
|
743
918
|
const [transcript, setTranscript] = useState("");
|
|
744
919
|
const [audioSeconds, setAudioSeconds] = useState(null);
|
|
920
|
+
const [noSpeech, setNoSpeech] = useState(false);
|
|
745
921
|
const [error, setError] = useState(null);
|
|
746
922
|
const load = useCallback(async () => {
|
|
747
923
|
if (sttRef.current || loadingRef.current) return;
|
|
@@ -800,6 +976,7 @@ function useSTT(options = {}) {
|
|
|
800
976
|
if (!sttRef.current) return;
|
|
801
977
|
setTranscript("");
|
|
802
978
|
setAudioSeconds(null);
|
|
979
|
+
setNoSpeech(false);
|
|
803
980
|
setError(null);
|
|
804
981
|
chunksRef.current = [];
|
|
805
982
|
let stream;
|
|
@@ -859,8 +1036,10 @@ function useSTT(options = {}) {
|
|
|
859
1036
|
setError(null);
|
|
860
1037
|
try {
|
|
861
1038
|
const result = await sttRef.current.transcribe(pcm);
|
|
862
|
-
setTranscript(result.text);
|
|
863
1039
|
setAudioSeconds(result.audioSeconds);
|
|
1040
|
+
setNoSpeech(result.noSpeech);
|
|
1041
|
+
setTranscript(result.text);
|
|
1042
|
+
if (result.noSpeech) onNoSpeech?.();
|
|
864
1043
|
} catch (e) {
|
|
865
1044
|
const err = e instanceof Error ? e : new Error(String(e));
|
|
866
1045
|
setError(err.message);
|
|
@@ -871,7 +1050,8 @@ function useSTT(options = {}) {
|
|
|
871
1050
|
}, [
|
|
872
1051
|
isRecording,
|
|
873
1052
|
teardownCapture,
|
|
874
|
-
onError
|
|
1053
|
+
onError,
|
|
1054
|
+
onNoSpeech
|
|
875
1055
|
]);
|
|
876
1056
|
const dispose = useCallback(() => {
|
|
877
1057
|
teardownCapture();
|
|
@@ -904,6 +1084,7 @@ function useSTT(options = {}) {
|
|
|
904
1084
|
isTranscribing,
|
|
905
1085
|
transcript,
|
|
906
1086
|
audioSeconds,
|
|
1087
|
+
noSpeech,
|
|
907
1088
|
error
|
|
908
1089
|
};
|
|
909
1090
|
}
|
|
@@ -1184,5 +1365,5 @@ function useVoiceChat(options = {}) {
|
|
|
1184
1365
|
}
|
|
1185
1366
|
|
|
1186
1367
|
//#endregion
|
|
1187
|
-
export { KANI_VOICES, useChat, useCompletion, useEmbedding, useEngine, useMemory, useObject, useSTT, useTTS, useText, useVision, useVoiceChat };
|
|
1368
|
+
export { KANI_VOICES, useAgent, useAutocomplete, useChat, useCompletion, useEmbedding, useEngine, useMemory, useObject, useSTT, useTTS, useText, useVision, useVoiceChat };
|
|
1188
1369
|
//# sourceMappingURL=hooks.mjs.map
|