@tryhamster/gerbil 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/architectures-Ol7yUmKf.mjs.map +1 -1
  2. package/dist/browser/index.d.ts +7 -1
  3. package/dist/browser/index.d.ts.map +1 -1
  4. package/dist/cli.mjs +7 -7
  5. package/dist/cli.mjs.map +1 -1
  6. package/dist/{defaults-CudhglS1.mjs → defaults-KnrRSIeJ.mjs} +20 -7
  7. package/dist/defaults-KnrRSIeJ.mjs.map +1 -0
  8. package/dist/frameworks/express.d.mts +2 -2
  9. package/dist/frameworks/express.mjs +1 -1
  10. package/dist/frameworks/fastify.d.mts +2 -2
  11. package/dist/frameworks/fastify.mjs +1 -1
  12. package/dist/frameworks/hono.d.mts +2 -2
  13. package/dist/frameworks/hono.mjs +1 -1
  14. package/dist/frameworks/next.d.mts +4 -4
  15. package/dist/frameworks/next.mjs +1 -1
  16. package/dist/frameworks/react.d.mts +2 -2
  17. package/dist/frameworks/trpc.d.mts +2 -2
  18. package/dist/frameworks/trpc.mjs +1 -1
  19. package/dist/gerbil-CUzVDAU7.mjs +4 -0
  20. package/dist/{gerbil-Du-1M2Wq.mjs → gerbil-DGrCwGtJ.mjs} +26 -3
  21. package/dist/{gerbil-Du-1M2Wq.mjs.map → gerbil-DGrCwGtJ.mjs.map} +1 -1
  22. package/dist/{gerbil-4Xid85_Z.d.mts → gerbil-_68_JSGV.d.mts} +15 -4
  23. package/dist/gerbil-_68_JSGV.d.mts.map +1 -0
  24. package/dist/gpu/hooks.d.mts +21 -16
  25. package/dist/gpu/hooks.d.mts.map +1 -1
  26. package/dist/gpu/hooks.mjs +20 -15
  27. package/dist/gpu/hooks.mjs.map +1 -1
  28. package/dist/gpu/index.d.mts +3 -3
  29. package/dist/gpu/index.mjs +4 -4
  30. package/dist/{gpu-BECDib8p.mjs → gpu-DbB321DN.mjs} +1530 -235
  31. package/dist/gpu-DbB321DN.mjs.map +1 -0
  32. package/dist/{index-C4kJrqs1.d.mts → index-BdbeBDTz.d.mts} +210 -9
  33. package/dist/index-BdbeBDTz.d.mts.map +1 -0
  34. package/dist/index.d.mts +4 -4
  35. package/dist/index.mjs +5 -5
  36. package/dist/integrations/ai-sdk.d.mts +2 -2
  37. package/dist/integrations/ai-sdk.mjs +1 -1
  38. package/dist/integrations/langchain.d.mts +2 -2
  39. package/dist/integrations/langchain.mjs +1 -1
  40. package/dist/integrations/llamaindex.d.mts +2 -2
  41. package/dist/integrations/llamaindex.mjs +1 -1
  42. package/dist/integrations/mcp.d.mts +4 -4
  43. package/dist/integrations/mcp.mjs +4 -4
  44. package/dist/{mcp-4imtBQLX.mjs → mcp-DcE3wn-L.mjs} +3 -3
  45. package/dist/{mcp-4imtBQLX.mjs.map → mcp-DcE3wn-L.mjs.map} +1 -1
  46. package/dist/{moonshine-stt-BO5gZ_D6.mjs → moonshine-stt-BGmctcdO.mjs} +555 -7
  47. package/dist/moonshine-stt-BGmctcdO.mjs.map +1 -0
  48. package/dist/moonshine-stt-QoNJeCzR.mjs +4 -0
  49. package/dist/{one-liner-X5vMbWzs.mjs → one-liner-DTGg6zdm.mjs} +2 -2
  50. package/dist/{one-liner-X5vMbWzs.mjs.map → one-liner-DTGg6zdm.mjs.map} +1 -1
  51. package/dist/{outetts-DmR0NfSG.d.mts → outetts-Cr5oGk4z.d.mts} +9 -6
  52. package/dist/{outetts-DmR0NfSG.d.mts.map → outetts-Cr5oGk4z.d.mts.map} +1 -1
  53. package/dist/{repl-CGadrKcY.mjs → repl-Ci0zXCT_.mjs} +3 -3
  54. package/dist/skills/index.d.mts +6 -6
  55. package/dist/skills/index.mjs +3 -3
  56. package/dist/{skills-BFGAXYkm.mjs → skills-Dsf0op66.mjs} +2 -2
  57. package/dist/{skills-BFGAXYkm.mjs.map → skills-Dsf0op66.mjs.map} +1 -1
  58. package/dist/{types-Cpf-aOxX.d.mts → types-CjG36Vzj.d.mts} +9 -3
  59. package/dist/{types-Cpf-aOxX.d.mts.map → types-CjG36Vzj.d.mts.map} +1 -1
  60. package/package.json +1 -1
  61. package/dist/defaults-CudhglS1.mjs.map +0 -1
  62. package/dist/gerbil-4Xid85_Z.d.mts.map +0 -1
  63. package/dist/gerbil-BikD0xFU.mjs +0 -4
  64. package/dist/gpu-BECDib8p.mjs.map +0 -1
  65. package/dist/index-C4kJrqs1.d.mts.map +0 -1
  66. package/dist/moonshine-stt-BO5gZ_D6.mjs.map +0 -1
  67. package/dist/moonshine-stt-fVw-UB4s.mjs +0 -4
@@ -1,4 +1,4 @@
1
- import { i as OuteSpeaker, t as OuteDType } from "./outetts-DmR0NfSG.mjs";
1
+ import { i as OuteSpeaker, t as OuteDType } from "./outetts-Cr5oGk4z.mjs";
2
2
 
3
3
  //#region src/gpu/vocab-prune.d.ts
4
4
 
@@ -23,7 +23,7 @@ interface VocabKeepPlan {
23
23
  * graph generators. The executor, kernels, and model loader all speak this IR.
24
24
  */
25
25
  /** Every computation the engine can perform. */
26
- type OpType = "Embedding" | "EmbeddingInt4" | "MatMul" | "MatMulBias" | "MatMulInt4" | "Add" | "Mul" | "RMSNorm" | "LayerNorm" | "RoPE" | "Attention" | "Softmax" | "SiLU" | "SwiGLU" | "GELU" | "Gather" | "Reshape" | "Transpose" | "Concat" | "MoERouter" | "ExpertMatMul" | "MambaSSM" | "CausalConv1d" | "CausalConv1dSiLU" | "CausalConv1dGated" | "SigmoidGate" | "ResidualRMSNorm" | "KVCacheAppend" | "ConvStateUpdate" | "SliceLastRow" | "MeanPool" | "Scale" | "Softcap" | "L2Norm" | "ApplyRotaryEmb" | "MRoPE" | "EmbedSplice" | "AddBias" | "GeluErf" | "SliceCols" | "MulCols" | "PoolMatMul" | "ClippedMatMul" | "Conv1dFull" | "ConvTranspose1d" | "Snake1d" | "RVQDequant" | "RVQEncode" | "FSQDequant" | "HalfSnake1d" | "ConvTranspose1dDepthwise" | "Conv2d" | "AvgPool2d" | "CrossAttention" | "Tanh" | "GroupNorm";
26
+ type OpType = "Embedding" | "EmbeddingInt4" | "MatMul" | "MatMulBias" | "MatMulInt4" | "Add" | "Mul" | "RMSNorm" | "LayerNorm" | "RoPE" | "Attention" | "Softmax" | "SiLU" | "SwiGLU" | "GELU" | "Gather" | "Reshape" | "Transpose" | "Concat" | "MoERouter" | "ExpertMatMul" | "MambaSSM" | "CausalConv1d" | "CausalConv1dSiLU" | "CausalConv1dGated" | "SigmoidGate" | "ResidualRMSNorm" | "KVCacheAppend" | "ConvStateUpdate" | "SliceLastRow" | "MeanPool" | "Scale" | "Softcap" | "L2Norm" | "ApplyRotaryEmb" | "MRoPE" | "EmbedSplice" | "AddBias" | "GeluErf" | "SliceCols" | "MulCols" | "PoolMatMul" | "ClippedMatMul" | "Conv1dFull" | "ConvTranspose1d" | "Snake1d" | "RVQDequant" | "RVQEncode" | "FSQDequant" | "HalfSnake1d" | "ConvTranspose1dDepthwise" | "Conv2d" | "AvgPool2d" | "CrossAttention" | "T5Attention" | "Tanh" | "GroupNorm";
27
27
  type DType = "f32" | "f16" | "i32" | "u32" | "i4";
28
28
  type TensorStorage = "constant" | "activation" | "kv_cache" | "ssm_state";
29
29
  interface TensorDesc {
@@ -393,6 +393,8 @@ declare class Tokenizer {
393
393
  * raw bytes fall back to <0xHH> tokens. When false, GPT-2 byte-level BPE.
394
394
  */
395
395
  private spmMode;
396
+ /** Unigram (SentencePiece) model, set only when the tokenizer.json is Unigram. */
397
+ private unigram;
396
398
  readonly config: TokenizerConfig;
397
399
  readonly vocabSize: number;
398
400
  private constructor();
@@ -400,6 +402,15 @@ declare class Tokenizer {
400
402
  * Create a tokenizer from HuggingFace JSON files.
401
403
  */
402
404
  static fromJSON(tokenizerJSON: any, tokenizerConfigJSON?: any): Tokenizer;
405
+ /**
406
+ * Build a Unigram (SentencePiece) tokenizer from a `model.type === "Unigram"`
407
+ * tokenizer.json (e.g. Flan-T5, which fronts Parler-TTS). The Unigram model is a
408
+ * list of `[piece, log_score]` rows plus an `unk_id`; encoding runs Viterbi
409
+ * best-segmentation over the lattice (maximize summed log-scores), normalizing
410
+ * input NFKC-style + collapsing whitespace, replacing spaces with the metaspace
411
+ * marker (▁), and appending the post-processor's eos (</s>) like HF's T5Tokenizer.
412
+ */
413
+ private static fromUnigramJSON;
403
414
  /**
404
415
  * Resolve a literal token string (e.g. "<|endoftext|>") to its vocab id,
405
416
  * or null if it isn't in the vocabulary.
@@ -443,6 +454,28 @@ declare class Tokenizer {
443
454
  private textToTokenRepr;
444
455
  private bpeEncode;
445
456
  private encodeByteFallback;
457
+ /**
458
+ * Encode text with the Unigram model: split on registered added/special tokens,
459
+ * normalize each plain span (NFKC + whitespace collapse), apply the metaspace
460
+ * pre-tokenizer (spaces → ▁, leading ▁ prepended), Viterbi-segment each ▁-word,
461
+ * then append the post-processor eos. Mirrors HF's T5Tokenizer id stream.
462
+ */
463
+ private encodeUnigram;
464
+ /** Split a ▁-encoded string into ▁-prefixed words (keep ▁ with the following run). */
465
+ private splitMetaspaceWords;
466
+ /**
467
+ * Viterbi best-segmentation of a single piece over the Unigram vocab: find the
468
+ * segmentation maximizing the sum of piece log-scores. Characters with no covering
469
+ * vocab piece fall back to the unk id (SentencePiece treats an unknown character
470
+ * as a single unk token).
471
+ */
472
+ private viterbiEncode;
473
+ /** Lazily-computed longest vocab piece length (in codepoints). */
474
+ private get unigramMaxPieceLen();
475
+ private _unigramMaxPieceLen;
476
+ /** Lazily-computed unk emission score (min vocab score − 10, SentencePiece-style). */
477
+ private get unigramUnkScore();
478
+ private _unigramUnkScore;
446
479
  }
447
480
  //#endregion
448
481
  //#region src/gpu/weight-source.d.ts
@@ -907,6 +940,12 @@ declare const DEFAULT_MODELS: {
907
940
  * Pass this as the `repo`/`model` to engine.speak()/useTTS to route to OuteTTS.
908
941
  */
909
942
  readonly ttsOute: "OuteAI/OuteTTS-1.0-0.6B";
943
+ /**
944
+ * Selectable describe-your-voice TTS (Parler-TTS-mini-v1: Flan-T5 encoder +
945
+ * cross-attending decoder LM + dac_44khz). Pass this as the `repo`/`model` to
946
+ * engine.speak()/useTTS with a `describeVoice` natural-language description.
947
+ */
948
+ readonly ttsParler: "parler-tts/parler-tts-mini-v1";
910
949
  /** Speech-to-text. */
911
950
  readonly stt: "UsefulSensors/moonshine-base";
912
951
  };
@@ -918,8 +957,20 @@ declare const OUTETTS_ASSETS: {
918
957
  /** The default preset voice. */
919
958
  readonly defaultVoice: "en-female-1-neutral";
920
959
  };
921
- /** Bundled OuteTTS preset voices (the edwko/OuteTTS v3 default_speakers set). */
922
- declare const OUTETTS_PRESET_VOICES: readonly ["en-female-1-neutral", "en-female-2-neutral", "en-male-1-neutral", "en-male-2-neutral", "en-male-3-neutral", "en-male-4-neutral"];
960
+ /**
961
+ * Bundled OuteTTS preset voices.
962
+ *
963
+ * Provenance (honest labelling):
964
+ * - `en-female-1-neutral` is the ONE AUTHENTIC OuteAI voice — the OuteTTS v3 bundled
965
+ * default speaker (default_speakers/en-female-1-neutral), copied verbatim.
966
+ * - `gerbil-voice-2..6` are DERIVED voices: distinct timbres produced by running
967
+ * pitch/tempo-varied renderings of that authentic clip back through the REAL
968
+ * DAC.speech encode + prosody pipeline (scripts/engine/stage-outetts-assets.py).
969
+ * They are genuine DAC-encoded OuteSpeakers, but they are NOT OuteAI's own
970
+ * `en-male-*` voices, so they are not labelled as such. (Earlier builds mislabelled
971
+ * them as `en-male-2-neutral` etc.; renamed for honesty.)
972
+ */
973
+ declare const OUTETTS_PRESET_VOICES: readonly ["en-female-1-neutral", "gerbil-voice-2", "gerbil-voice-3", "gerbil-voice-4", "gerbil-voice-5", "gerbil-voice-6"];
923
974
  /** Resolve the model repo for a set of options, falling back to the defaults. */
924
975
  declare function resolveDefaultRepo(opts: {
925
976
  repo?: string;
@@ -1120,10 +1171,29 @@ declare function audioTokensToDacCodes(tokenIds: number[]): {
1120
1171
  interface DacSpeechGraphOptions {
1121
1172
  /** Number of audio frames T (the code-grid width). */
1122
1173
  numFrames: number;
1174
+ /**
1175
+ * Number of RVQ codebooks. Default 2 (DAC.speech.v1.0). Parler-TTS's
1176
+ * dac_44khz_8kbps uses 9 — the RVQDequant kernel loops over NCB so the only
1177
+ * change is the codebook/out_proj tensor first-dim and the codes grid height.
1178
+ */
1179
+ numCodebooks?: number;
1180
+ /**
1181
+ * Decoder upsampling rates (the DecoderBlock strides). Default [8,5,4,2]
1182
+ * (DAC.speech.v1.0). Parler's dac_44khz uses [8,8,4,2] (hop 512). Channels
1183
+ * still halve per stage from `decoderDim`.
1184
+ */
1185
+ decoderRates?: readonly number[];
1186
+ /** First-conv output channels (decoder_dim). Default 1536. */
1187
+ decoderDim?: number;
1188
+ /** Quantizer out_proj output / first-conv input dim (latent_dim). Default 1024. */
1189
+ latentDim?: number;
1123
1190
  }
1124
1191
  declare function generateDacSpeechDecoderGraph(opts: DacSpeechGraphOptions): ModelGraph;
1125
- /** Final decoded PCM length (samples) for a T-frame code grid, via the DAC stage chain. */
1126
- declare function dacOutputLength(numFrames: number): number;
1192
+ /**
1193
+ * Final decoded PCM length (samples) for a T-frame code grid, via the DAC stage chain.
1194
+ * `rates` defaults to DAC.speech.v1.0 ([8,5,4,2]); pass [8,8,4,2] for Parler's dac_44khz.
1195
+ */
1196
+ declare function dacOutputLength(numFrames: number, rates?: readonly number[]): number;
1127
1197
  declare function generateOuteTtsBackboneGraph(rawConfig: Record<string, unknown>, dtype?: GraphDType, groupSize?: number, kvDtype?: KVDType): ModelGraph;
1128
1198
  //#endregion
1129
1199
  //#region src/gpu/architectures/qwen3_5_vision.d.ts
@@ -1351,6 +1421,19 @@ declare class Executor {
1351
1421
  * via writeInput() and reset()s first.
1352
1422
  */
1353
1423
  runGraphOutput(outputName: string, elemCount: number): Promise<Float32Array>;
1424
+ /**
1425
+ * Autoregressive step for a multi-output decoder graph (e.g. Parler-TTS's 9 codebook
1426
+ * lm_heads). Dispatches the whole graph ONCE at the current seqPos (so the per-layer
1427
+ * KVCacheAppend writes at the right cache row), reads back each named output, then
1428
+ * advances seqPos by `tokens` (default 1, for a prefilled prompt span pass tokens=T).
1429
+ * The caller writes inputs (dec_input_embed + frozen cross-attn K/V) and reset()s
1430
+ * before the first step. Unlike forward(), there is no single "logits" output —
1431
+ * the caller decodes each codebook row itself.
1432
+ */
1433
+ runGraphStep(outputs: Array<{
1434
+ name: string;
1435
+ elemCount: number;
1436
+ }>, tokens?: number): Promise<Float32Array[]>;
1354
1437
  /**
1355
1438
  * Greedy decode step: forward + GPU argmax. Returns token ID directly.
1356
1439
  * Always uses matvec kernels (M=1). Reads back 4 bytes instead of vocab_size*4.
@@ -1671,6 +1754,107 @@ declare class MoonshineSTT {
1671
1754
  destroy(): void;
1672
1755
  }
1673
1756
  //#endregion
1757
+ //#region src/gpu/parler-tts.d.ts
1758
+ /**
1759
+ * ParlerTTS — native describe-your-voice text-to-speech for Gerbil's WebGPU backend.
1760
+ *
1761
+ * Parler-TTS (parler-tts/parler-tts-mini-v1) is an encoder-decoder codec-LM: you
1762
+ * describe the voice in natural language and a Flan-T5 encoder turns that DESCRIPTION
1763
+ * into cross-attention states, while a 24-layer decoder LM cross-attends to them and
1764
+ * autoregressively emits DAC audio codes for the TRANSCRIPT. Same dual-graph shape as
1765
+ * MoonshineSTT (encoder once → frozen cross-attn K/V → AR decode), and the same DAC
1766
+ * codec family as OuteTTS (the shared generateDacSpeechDecoderGraph, here with 9
1767
+ * codebooks + rates [8,8,4,2]).
1768
+ *
1769
+ * Pipeline (engine.speak(text, { describeVoice })):
1770
+ * 1. Tokenize the DESCRIPTION with the T5 tokenizer; build the relative-position
1771
+ * bias; run the T5 encoder once → encoder_out + per-decoder-layer frozen K/V.
1772
+ * 2. Tokenize the TRANSCRIPT (embed_prompts); prefill its embeddings (+ sinusoidal
1773
+ * positions) through the decoder so the self-attn KV-cache holds the prompt.
1774
+ * 3. AR-decode 9 interleaved codebooks under the delay pattern: each step the host
1775
+ * sums the 9 per-codebook embeddings of the current (delayed) codes + the
1776
+ * sinusoidal position, forwards one step, and samples each of the 9 lm_head logit
1777
+ * rows. Stop on EOS in codebook 0 (or the frame cap).
1778
+ * 4. Revert the delay pattern → [9, frames] code grid → shared DAC decode → 44.1 kHz
1779
+ * PCM (tanh applied host-side).
1780
+ *
1781
+ * STATUS — FIRST IMPLEMENTATION. Typechecks + builds. The end-to-end run is GPU-
1782
+ * contended on the dev box, so coherence is pending a final reference check once the
1783
+ * GPU frees up (the T5 encoder cosine + a decoder forward should be diffed vs
1784
+ * transformers ParlerTTSForConditionalGeneration; see scripts/engine/parler-*-ref.py
1785
+ * stubs). The architecture, weight layout, tokenization, delay pattern, and DAC config
1786
+ * are all verified against the live config.json + safetensors header.
1787
+ */
1788
+ interface ParlerTTSOptions {
1789
+ /** Repo (default parler-tts/parler-tts-mini-v1). */
1790
+ repo?: string;
1791
+ revision?: string;
1792
+ hfToken?: string;
1793
+ cacheDir?: string;
1794
+ maxSeqLen?: number;
1795
+ onProgress?: (loaded: number, total: number, message: string) => void;
1796
+ }
1797
+ interface ParlerSpeakOptions {
1798
+ /** Natural-language voice description (the Parler hook). */
1799
+ describeVoice?: string;
1800
+ /** Sampling temperature (Parler default 1.0). */
1801
+ temperature?: number;
1802
+ /** Top-k cutoff (default 0 = off; Parler uses sampling with do_sample=True). */
1803
+ topK?: number;
1804
+ /** Greedy (argmax per codebook) for deterministic reference validation. */
1805
+ greedy?: boolean;
1806
+ /** Override the max decoded frames. */
1807
+ maxFrames?: number;
1808
+ /**
1809
+ * Debug hook: receives the reverted [numCodebooks, frames] code grid (codebook-major)
1810
+ * just before DAC decode. Used by the reference token-match test; no production effect.
1811
+ */
1812
+ onCodes?: (codes: Uint32Array, numCodebooks: number, frames: number) => void;
1813
+ }
1814
+ interface ParlerSpeakResult {
1815
+ /** Mono PCM in [-1, 1]. */
1816
+ pcm: Float32Array;
1817
+ /** Sample rate (44100). */
1818
+ sampleRate: number;
1819
+ /** Number of acoustic frames decoded. */
1820
+ frames: number;
1821
+ /** Audio duration in seconds. */
1822
+ audioSeconds: number;
1823
+ }
1824
+ declare class ParlerTTS {
1825
+ private ctx;
1826
+ private loaded;
1827
+ private cfg;
1828
+ private maxSeqLen;
1829
+ private _destroyed;
1830
+ readonly sampleRate = 44100;
1831
+ private constructor();
1832
+ static create(options?: ParlerTTSOptions): Promise<ParlerTTS>;
1833
+ /**
1834
+ * Generate a random natural-language voice description using a host-side template
1835
+ * bank (no model call). Pass the result as `describeVoice` for variety. A loaded
1836
+ * text model can write richer ones — exposed on the Gerbil class as
1837
+ * {@link inventVoiceDescription}.
1838
+ */
1839
+ static randomVoiceDescription(): string;
1840
+ /** Synthesize `text` in the described voice. Returns 44.1 kHz mono PCM. */
1841
+ speak(text: string, opts?: ParlerSpeakOptions): Promise<ParlerSpeakResult>;
1842
+ /**
1843
+ * Run the decoder: prefill the transcript prompt rows, then AR-decode the 9-codebook
1844
+ * delay-pattern stream. Returns the DELAYED code grid [9, steps] (codebook-major)
1845
+ * plus the step count, for revertDelayPattern.
1846
+ *
1847
+ * Each step the host sums the 9 per-codebook embeddings of the current delayed codes
1848
+ * + the sinusoidal position, writes that single [1,H] row to `dec_input_embed`,
1849
+ * forwards one step (KV-cache grows over [prompt ++ audio]), and reads back 9 logit
1850
+ * rows — one per codebook lm_head.
1851
+ */
1852
+ private decodeAudioTokens;
1853
+ /** Decode the [9, frames] code grid → 44.1 kHz PCM (tanh host-side). */
1854
+ private decodeCodes;
1855
+ destroy(): void;
1856
+ }
1857
+ //#endregion
1674
1858
  //#region src/gpu/vision-executor.d.ts
1675
1859
  interface VisionInputs {
1676
1860
  /** Flattened patches [N, patch_dim]. */
@@ -1945,6 +2129,8 @@ declare class WebGPUEngine {
1945
2129
  private _outeTTS;
1946
2130
  /** The preset voice the lazily-built OuteTTS engine was created with. */
1947
2131
  private _outeVoice;
2132
+ /** Lazily-created Parler-TTS engine (Flan-T5 encoder + decoder LM + dac_44khz). */
2133
+ private _parlerTTS;
1948
2134
  /**
1949
2135
  * WebKit group-size probe state. When true, a candidate group size is being
1950
2136
  * tried this page-load and must be promoted (or capped) after the FIRST
@@ -2144,7 +2330,7 @@ declare class WebGPUEngine {
2144
2330
  */
2145
2331
  speak(text: string, options?: {
2146
2332
  languageTag?: string;
2147
- /** Kani accent tag, OR an OuteTTS preset voice name (e.g. "en-male-1-neutral"). */
2333
+ /** Kani accent tag, OR an OuteTTS preset voice name (e.g. "en-female-1-neutral"). */
2148
2334
  voice?: string;
2149
2335
  temperature?: number;
2150
2336
  topP?: number;
@@ -2163,12 +2349,27 @@ declare class WebGPUEngine {
2163
2349
  * (DAC.speech encode + prosody), or pass a preset/pre-encoded speaker JSON.
2164
2350
  */
2165
2351
  cloneSpeaker?: OuteSpeaker;
2352
+ /**
2353
+ * Parler-TTS describe-your-voice hook: a natural-language voice description
2354
+ * ("a warm female voice, slightly fast, clean studio recording"). Only used by
2355
+ * the Parler checkpoint (DEFAULT_MODELS.ttsParler). When omitted, a neutral
2356
+ * default description is used.
2357
+ */
2358
+ describeVoice?: string;
2166
2359
  }): Promise<{
2167
2360
  pcm: Float32Array;
2168
2361
  sampleRate: number;
2169
2362
  frames: number;
2170
2363
  audioSeconds: number;
2171
2364
  }>;
2365
+ /**
2366
+ * Parler-TTS speak path: lazily build the Parler engine (Flan-T5 description encoder
2367
+ * + cross-attending decoder LM + dac_44khz) and synthesize `text` in the voice given
2368
+ * by `describeVoice`. Single-checkpoint (all weights, incl. the DAC, in one file).
2369
+ */
2370
+ private speakParler;
2371
+ /** A random natural-language voice description for Parler-TTS (host template bank). */
2372
+ randomVoiceDescription(): string;
2172
2373
  /**
2173
2374
  * OuteTTS speak path: lazily build the OuteTTS engine (loading the chosen preset
2174
2375
  * voice's speaker JSON + the folded DAC codec weights from the mirror), rebuilding
@@ -2333,5 +2534,5 @@ declare class WebGPUEngine {
2333
2534
  private checkDestroyed;
2334
2535
  }
2335
2536
  //#endregion
2336
- export { QWEN3_5_IMAGE_PROCESSOR as $, generateMoonshineDecoderGraph as A, initGPU as At, dequantizeMLXProjection as B, generateQwen3_5VisionGraph as C, ChatMessage as Ct, generateOuteTtsBackboneGraph as D, SpeakOptions as Dt, generateDacSpeechDecoderGraph as E, KaniTTSOptions as Et, generateKaniTtsGraph as F, ModelCapabilities as Ft, OUTETTS_ASSETS as G, patchGemma4VisionClips as H, generateNanoCodecDecoderGraph as I, GEMMA4_IMAGE_PROCESSOR as J, OUTETTS_PRESET_VOICES as K, parseKaniConfig as L, moonshineEncoderFrames as M, KVDType as Mt, parseMoonshineConfig as N, KvMode as Nt, parseOuteTtsConfig as O, SpeakResult as Ot, audioTokensToCodes as P, ModelArchConfig as Pt, PreprocessedImage as Q, Gemma4VisionGraphInfo as R, Executor as S, quantizeKaniBackbone as St, dacOutputLength as T, KaniTTS as Tt, resolveGemma4VisionInfo as U, generateGemma4VisionGraph as V, DEFAULT_MODELS as W, Gemma4VisionPositionTensors as X, Gemma4VisionGridConfig as Y, ImageProcessorConfig as Z, MoonshineSTT as _, LoadedKaniTTS as _t, GenerateObjectOptions as a, buildGemma4VisionPositionTensors as at, TranscribeResult as b, loadModel as bt, GenerateResult as c, buildPosEmbeds as ct, ObjectSchema as d, buildVisionPositionTensors as dt, VisionGridConfig as et, ObjectValidator as f, mropeFreqDims as ft, VisionInputs as g, SamplingParams as gt, VisionExecutor as h, smartResize as ht, EncodeImageResult as i, buildGemma4RotaryCosSin as it, generateMoonshineEncoderGraph as j, GraphDType as jt, MOONSHINE_REMAINING_WORK as k, GPUDiagnosticResult as kt, IntegrityCheckEntry as l, buildPositionIds as lt, WebGPUEngineOptions as m, preprocessImageGemma4 as mt, AgentTool as n, buildGemma4PoolMatrix as nt, GenerateObjectResult as o, buildMRoPECosSin as ot, WebGPUEngine as p, preprocessImage as pt, resolveDefaultRepo as q, EmbedOptions as r, buildGemma4PosEmbeds as rt, GenerateOptions as s, buildMRoPEPositionIds as st, AgentStep as t, VisionPositionTensors as tt, IntegrityCheckResult as u, buildRotaryCosSin as ut, MoonshineSTTOptions as v, LoadedMoonshine as vt, audioTokensToDacCodes as w, KaniDType as wt, MoonshineEncoderExecutor as x, loadMoonshine as xt, TranscribeOptions as y, loadKaniTTS as yt, dequantizeGemma4VisionProjection as z };
2337
- //# sourceMappingURL=index-C4kJrqs1.d.mts.map
2537
+ export { Gemma4VisionGridConfig as $, generateDacSpeechDecoderGraph as A, KaniTTS as At, generateNanoCodecDecoderGraph as B, ModelCapabilities as Bt, TranscribeOptions as C, loadKaniTTS as Ct, generateQwen3_5VisionGraph as D, ChatMessage as Dt, Executor as E, quantizeKaniBackbone as Et, generateMoonshineEncoderGraph as F, initGPU as Ft, generateGemma4VisionGraph as G, Gemma4VisionGraphInfo as H, moonshineEncoderFrames as I, GraphDType as It, DEFAULT_MODELS as J, patchGemma4VisionClips as K, parseMoonshineConfig as L, KVDType as Lt, parseOuteTtsConfig as M, SpeakOptions as Mt, MOONSHINE_REMAINING_WORK as N, SpeakResult as Nt, audioTokensToDacCodes as O, Tokenizer as Ot, generateMoonshineDecoderGraph as P, GPUDiagnosticResult as Pt, GEMMA4_IMAGE_PROCESSOR as Q, audioTokensToCodes as R, KvMode as Rt, MoonshineSTTOptions as S, LoadedMoonshine as St, MoonshineEncoderExecutor as T, loadMoonshine as Tt, dequantizeGemma4VisionProjection as U, parseKaniConfig as V, dequantizeMLXProjection as W, OUTETTS_PRESET_VOICES as X, OUTETTS_ASSETS as Y, resolveDefaultRepo as Z, ParlerSpeakOptions as _, preprocessImage as _t, GenerateObjectOptions as a, VisionPositionTensors as at, ParlerTTSOptions as b, SamplingParams as bt, GenerateResult as c, buildGemma4RotaryCosSin as ct, ObjectSchema as d, buildMRoPEPositionIds as dt, Gemma4VisionPositionTensors as et, ObjectValidator as f, buildPosEmbeds as ft, VisionInputs as g, mropeFreqDims as gt, VisionExecutor as h, buildVisionPositionTensors as ht, EncodeImageResult as i, VisionGridConfig as it, generateOuteTtsBackboneGraph as j, KaniTTSOptions as jt, dacOutputLength as k, KaniDType as kt, IntegrityCheckEntry as l, buildGemma4VisionPositionTensors as lt, WebGPUEngineOptions as m, buildRotaryCosSin as mt, AgentTool as n, PreprocessedImage as nt, GenerateObjectResult as o, buildGemma4PoolMatrix as ot, WebGPUEngine as p, buildPositionIds as pt, resolveGemma4VisionInfo as q, EmbedOptions as r, QWEN3_5_IMAGE_PROCESSOR as rt, GenerateOptions as s, buildGemma4PosEmbeds as st, AgentStep as t, ImageProcessorConfig as tt, IntegrityCheckResult as u, buildMRoPECosSin as ut, ParlerSpeakResult as v, preprocessImageGemma4 as vt, TranscribeResult as w, loadModel as wt, MoonshineSTT as x, LoadedKaniTTS as xt, ParlerTTS as y, smartResize as yt, generateKaniTtsGraph as z, ModelArchConfig as zt };
2538
+ //# sourceMappingURL=index-BdbeBDTz.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BdbeBDTz.d.mts","names":[],"sources":["../src/gpu/vocab-prune.ts","../src/gpu/ir.ts","../src/gpu/architectures/index.ts","../src/gpu/device.ts","../src/gpu/kani-tts.ts","../src/gpu/tokenizer.ts","../src/gpu/weight-source.ts","../src/gpu/model-loader.ts","../src/gpu/sampler.ts","../src/gpu/vision-preprocess.ts","../src/gpu/defaults.ts","../src/gpu/architectures/gemma4_vision.ts","../src/gpu/architectures/kani_tts.ts","../src/gpu/architectures/moonshine.ts","../src/gpu/architectures/outetts.ts","../src/gpu/architectures/qwen3_5_vision.ts","../src/gpu/executor.ts","../src/gpu/moonshine-executor.ts","../src/gpu/moonshine-stt.ts","../src/gpu/parler-tts.ts","../src/gpu/vision-executor.ts","../src/gpu/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import "./outetts-DmR0NfSG.mjs";
2
- import { A as SpeakResult, C as PreloadOptions, D as SessionStats, E as SearchResult, F as TelemetryConfig, I as TranscribeOptions, L as TranscribeResult, M as StreamingTranscriptionSession, N as SystemInfo, O as SimilarityResult, P as TTSModelConfig, R as TranscribeSegment, S as ModelStats, T as STTModelConfig, _ as LoadSTTOptions, a as EmbedResult, b as ModelLoadEvent, c as GenerateEvent, d as GerbilConfig, f as GerbilModelSettings, g as LoadOptions, h as JsonOptions, i as EmbedOptions, j as StreamingTranscriptionOptions, k as SpeakOptions, l as GenerateOptions, m as ImageInput, n as CacheConfig, o as ErrorContext, p as GerbilProviderSettings, r as ConcurrencyConfig, s as FallbackConfig, t as AudioChunk, u as GenerateResult, v as LoadTTSOptions, w as ProgressInfo, x as ModelSource, y as ModelConfig, z as VoiceInfo } from "./types-Cpf-aOxX.mjs";
3
- import { Et as KaniTTSOptions, Tt as KaniTTS, W as DEFAULT_MODELS, _ as MoonshineSTT, a as GenerateObjectOptions, d as ObjectSchema, f as ObjectValidator, o as GenerateObjectResult, p as WebGPUEngine, v as MoonshineSTTOptions } from "./index-C4kJrqs1.mjs";
4
- import { t as Gerbil } from "./gerbil-4Xid85_Z.mjs";
1
+ import "./outetts-Cr5oGk4z.mjs";
2
+ import { A as SpeakResult, C as PreloadOptions, D as SessionStats, E as SearchResult, F as TelemetryConfig, I as TranscribeOptions, L as TranscribeResult, M as StreamingTranscriptionSession, N as SystemInfo, O as SimilarityResult, P as TTSModelConfig, R as TranscribeSegment, S as ModelStats, T as STTModelConfig, _ as LoadSTTOptions, a as EmbedResult, b as ModelLoadEvent, c as GenerateEvent, d as GerbilConfig, f as GerbilModelSettings, g as LoadOptions, h as JsonOptions, i as EmbedOptions, j as StreamingTranscriptionOptions, k as SpeakOptions, l as GenerateOptions, m as ImageInput, n as CacheConfig, o as ErrorContext, p as GerbilProviderSettings, r as ConcurrencyConfig, s as FallbackConfig, t as AudioChunk, u as GenerateResult, v as LoadTTSOptions, w as ProgressInfo, x as ModelSource, y as ModelConfig, z as VoiceInfo } from "./types-CjG36Vzj.mjs";
3
+ import { At as KaniTTS, J as DEFAULT_MODELS, S as MoonshineSTTOptions, a as GenerateObjectOptions, d as ObjectSchema, f as ObjectValidator, jt as KaniTTSOptions, o as GenerateObjectResult, p as WebGPUEngine, x as MoonshineSTT } from "./index-BdbeBDTz.mjs";
4
+ import { t as Gerbil } from "./gerbil-_68_JSGV.mjs";
5
5
  import { a as MemoryMetadata, c as MemorySearchResult, d as RecallOptions, f as RecallResult, i as MemoryExport, l as MemoryStore, m as SearchOptions, o as MemoryOptions, p as Redactor, r as Embedder, s as MemoryRecord, t as AddOptions } from "./types-Dqv4m0vo.mjs";
6
6
  import { _ as createGerbilEmbedder, f as createFileStore, h as createMemory, m as Memory, s as createInMemoryStore, u as createIndexedDBStore } from "./index-CRDf-nS4.mjs";
7
7
 
package/dist/index.mjs CHANGED
@@ -1,10 +1,10 @@
1
- import { a as resolveModel, c as configureGlobalCache, i as listBuiltinModels, l as getGlobalCache, n as BUILTIN_MODELS, o as ResponseCache, r as DEFAULT_MODEL, s as clearGlobalCache, t as Gerbil } from "./gerbil-Du-1M2Wq.mjs";
1
+ import { a as resolveModel, c as configureGlobalCache, i as listBuiltinModels, l as getGlobalCache, n as BUILTIN_MODELS, o as ResponseCache, r as DEFAULT_MODEL, s as clearGlobalCache, t as Gerbil } from "./gerbil-DGrCwGtJ.mjs";
2
2
  import "./utils-DKO55ZmZ.mjs";
3
- import { a as generateObject, c as one_liner_default, i as generate, l as stream, n as embed, r as embedBatch, s as json, t as dispose } from "./one-liner-X5vMbWzs.mjs";
4
- import { t as DEFAULT_MODELS } from "./defaults-CudhglS1.mjs";
3
+ import { a as generateObject, c as one_liner_default, i as generate, l as stream, n as embed, r as embedBatch, s as json, t as dispose } from "./one-liner-DTGg6zdm.mjs";
4
+ import { t as DEFAULT_MODELS } from "./defaults-KnrRSIeJ.mjs";
5
5
  import "./architectures-Ol7yUmKf.mjs";
6
- import { D as KaniTTS, t as WebGPUEngine } from "./gpu-BECDib8p.mjs";
7
- import { t as MoonshineSTT } from "./moonshine-stt-BO5gZ_D6.mjs";
6
+ import { O as KaniTTS, t as WebGPUEngine } from "./gpu-DbB321DN.mjs";
7
+ import { t as MoonshineSTT } from "./moonshine-stt-BGmctcdO.mjs";
8
8
  import { a as createInMemoryStore, n as createMemory, t as Memory } from "./memory-Dj0J1v88.mjs";
9
9
  import { n as createFileStore, r as createGerbilEmbedder } from "./memory-DVN0MnIG.mjs";
10
10
  import "./vector-B0panuy6.mjs";
@@ -1,5 +1,5 @@
1
- import "../outetts-DmR0NfSG.mjs";
2
- import { T as STTModelConfig, f as GerbilModelSettings, p as GerbilProviderSettings, y as ModelConfig } from "../types-Cpf-aOxX.mjs";
1
+ import "../outetts-Cr5oGk4z.mjs";
2
+ import { T as STTModelConfig, f as GerbilModelSettings, p as GerbilProviderSettings, y as ModelConfig } from "../types-CjG36Vzj.mjs";
3
3
  import { EmbeddingModelV2, LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2CallWarning, LanguageModelV2Content, LanguageModelV2FinishReason, LanguageModelV2StreamPart, LanguageModelV2Usage, SpeechModelV2, SpeechModelV2CallOptions, SpeechModelV2CallWarning, TranscriptionModelV2, TranscriptionModelV2CallOptions, TranscriptionModelV2CallWarning } from "@ai-sdk/provider";
4
4
 
5
5
  //#region src/integrations/ai-sdk.d.ts
@@ -1,4 +1,4 @@
1
- import { n as BUILTIN_MODELS, t as Gerbil } from "../gerbil-Du-1M2Wq.mjs";
1
+ import { n as BUILTIN_MODELS, t as Gerbil } from "../gerbil-DGrCwGtJ.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/ai-sdk.ts
@@ -1,5 +1,5 @@
1
- import "../outetts-DmR0NfSG.mjs";
2
- import { I as TranscribeOptions, d as GerbilConfig, k as SpeakOptions, l as GenerateOptions, m as ImageInput } from "../types-Cpf-aOxX.mjs";
1
+ import "../outetts-Cr5oGk4z.mjs";
2
+ import { I as TranscribeOptions, d as GerbilConfig, k as SpeakOptions, l as GenerateOptions, m as ImageInput } from "../types-CjG36Vzj.mjs";
3
3
 
4
4
  //#region src/integrations/langchain.d.ts
5
5
 
@@ -1,4 +1,4 @@
1
- import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-Du-1M2Wq.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-DGrCwGtJ.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/langchain.ts
@@ -1,5 +1,5 @@
1
- import "../outetts-DmR0NfSG.mjs";
2
- import { d as GerbilConfig, l as GenerateOptions } from "../types-Cpf-aOxX.mjs";
1
+ import "../outetts-Cr5oGk4z.mjs";
2
+ import { d as GerbilConfig, l as GenerateOptions } from "../types-CjG36Vzj.mjs";
3
3
 
4
4
  //#region src/integrations/llamaindex.d.ts
5
5
 
@@ -1,4 +1,4 @@
1
- import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-Du-1M2Wq.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-DGrCwGtJ.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/llamaindex.ts
@@ -1,7 +1,7 @@
1
- import "../outetts-DmR0NfSG.mjs";
2
- import { d as GerbilConfig } from "../types-Cpf-aOxX.mjs";
3
- import "../index-C4kJrqs1.mjs";
4
- import { t as Gerbil } from "../gerbil-4Xid85_Z.mjs";
1
+ import "../outetts-Cr5oGk4z.mjs";
2
+ import { d as GerbilConfig } from "../types-CjG36Vzj.mjs";
3
+ import "../index-BdbeBDTz.mjs";
4
+ import { t as Gerbil } from "../gerbil-_68_JSGV.mjs";
5
5
 
6
6
  //#region src/integrations/mcp.d.ts
7
7
 
@@ -1,7 +1,7 @@
1
- import "../gerbil-Du-1M2Wq.mjs";
1
+ import "../gerbil-DGrCwGtJ.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
- import "../one-liner-X5vMbWzs.mjs";
4
- import "../skills-BFGAXYkm.mjs";
5
- import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-4imtBQLX.mjs";
3
+ import "../one-liner-DTGg6zdm.mjs";
4
+ import "../skills-Dsf0op66.mjs";
5
+ import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-DcE3wn-L.mjs";
6
6
 
7
7
  export { createMCPServer, mcp_default as default, startMCPServer };
@@ -1,5 +1,5 @@
1
- import { r as DEFAULT_MODEL, t as Gerbil } from "./gerbil-Du-1M2Wq.mjs";
2
- import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-BFGAXYkm.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "./gerbil-DGrCwGtJ.mjs";
2
+ import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-Dsf0op66.mjs";
3
3
 
4
4
  //#region src/integrations/mcp.ts
5
5
  /**
@@ -318,4 +318,4 @@ var mcp_default = {
318
318
 
319
319
  //#endregion
320
320
  export { mcp_default as n, startMCPServer as r, createMCPServer as t };
321
- //# sourceMappingURL=mcp-4imtBQLX.mjs.map
321
+ //# sourceMappingURL=mcp-DcE3wn-L.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-4imtBQLX.mjs","names":["handlers: Record<string, (args: any) => Promise<any>>","skills.summarize","skills.explain","skills.review","skills.commit","skills.translate"],"sources":["../src/integrations/mcp.ts"],"sourcesContent":["/**\n * Gerbil MCP Server\n *\n * Model Context Protocol server for Claude Desktop, Cursor, etc.\n *\n * @example\n * ```bash\n * gerbil serve --mcp\n * ```\n *\n * @example Claude Desktop config\n * ```json\n * {\n * \"mcpServers\": {\n * \"gerbil\": {\n * \"command\": \"npx\",\n * \"args\": [\"-y\", \"gerbil\", \"serve\", \"--mcp\"]\n * }\n * }\n * }\n * ```\n */\n\nimport { Gerbil } from \"../core/gerbil.js\";\nimport { DEFAULT_MODEL } from \"../core/models.js\";\nimport type { GerbilConfig } from \"../core/types.js\";\nimport * as skills from \"../skills/index.js\";\n\nexport interface MCPServerOptions extends GerbilConfig {\n /** Port for HTTP transport (default: stdio) */\n port?: number;\n\n /** Tools to expose */\n tools?: string[];\n}\n\n// Tool definitions\nconst TOOL_DEFINITIONS = {\n generate: {\n name: \"gerbil_generate\",\n description: \"Generate text using a local LLM\",\n inputSchema: {\n type: \"object\",\n properties: {\n prompt: { type: \"string\", description: \"The prompt to generate from\" },\n maxTokens: { type: \"number\", description: \"Maximum tokens to generate\" },\n temperature: { type: \"number\", description: \"Sampling temperature (0-2)\" },\n system: { type: \"string\", description: \"System prompt\" },\n thinking: { type: \"boolean\", description: \"Enable thinking mode\" },\n },\n required: [\"prompt\"],\n },\n },\n summarize: {\n name: \"gerbil_summarize\",\n description: \"Summarize content\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Content to summarize\" },\n length: { type: \"string\", enum: [\"short\", \"medium\", \"long\"] },\n format: { type: \"string\", enum: [\"paragraph\", \"bullets\"] },\n },\n required: [\"content\"],\n },\n },\n explain: {\n name: \"gerbil_explain\",\n description: \"Explain code or concepts\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Code or concept to explain\" },\n level: { type: \"string\", enum: [\"beginner\", \"intermediate\", \"expert\"] },\n language: { type: \"string\", description: \"Programming language\" },\n },\n required: [\"content\"],\n },\n },\n review: {\n name: \"gerbil_review\",\n description: \"Review code for issues\",\n inputSchema: {\n type: \"object\",\n properties: {\n code: { type: \"string\", description: \"Code to review\" },\n focus: {\n type: \"array\",\n items: { type: \"string\", enum: [\"security\", \"performance\", \"style\", \"bugs\"] },\n },\n },\n required: [\"code\"],\n },\n },\n commit: {\n name: \"gerbil_commit\",\n description: \"Generate a commit message from a diff\",\n inputSchema: {\n type: \"object\",\n properties: {\n diff: { type: \"string\", description: \"Git diff\" },\n type: { type: \"string\", enum: [\"conventional\", \"simple\", \"detailed\"] },\n },\n required: [\"diff\"],\n },\n },\n translate: {\n name: \"gerbil_translate\",\n description: \"Translate text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to translate\" },\n to: { type: \"string\", description: \"Target language\" },\n from: { type: \"string\", description: \"Source language (optional)\" },\n },\n required: [\"text\", \"to\"],\n },\n },\n embed: {\n name: \"gerbil_embed\",\n description: \"Generate embeddings for text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to embed\" },\n },\n required: [\"text\"],\n },\n },\n};\n\n/**\n * Create MCP server\n */\nexport async function createMCPServer(options: MCPServerOptions = {}) {\n const g = new Gerbil(options);\n\n // Load model\n await g.loadModel(options.model || DEFAULT_MODEL);\n\n // Determine which tools to expose\n const enabledTools = options.tools || Object.keys(TOOL_DEFINITIONS);\n\n // Tool handlers\n const handlers: Record<string, (args: any) => Promise<any>> = {\n gerbil_generate: async (args) => {\n const result = await g.generate(args.prompt, {\n maxTokens: args.maxTokens,\n temperature: args.temperature,\n system: args.system,\n thinking: args.thinking,\n });\n return {\n content: [\n {\n type: \"text\",\n text: result.thinking\n ? `Thinking: ${result.thinking}\\n\\nAnswer: ${result.text}`\n : result.text,\n },\n ],\n };\n },\n\n gerbil_summarize: async (args) => {\n const summary = await skills.summarize({\n content: args.content,\n length: args.length,\n format: args.format,\n });\n return { content: [{ type: \"text\", text: summary }] };\n },\n\n gerbil_explain: async (args) => {\n const explanation = await skills.explain({\n content: args.content,\n level: args.level,\n language: args.language,\n } as Parameters<typeof skills.explain>[0]);\n return { content: [{ type: \"text\", text: explanation }] };\n },\n\n gerbil_review: async (args) => {\n const reviewResult = await skills.review({\n code: args.code,\n focus: args.focus,\n } as Parameters<typeof skills.review>[0]);\n return { content: [{ type: \"text\", text: reviewResult }] };\n },\n\n gerbil_commit: async (args) => {\n const message = await skills.commit({\n diff: args.diff,\n type: args.type,\n } as Parameters<typeof skills.commit>[0]);\n return { content: [{ type: \"text\", text: message }] };\n },\n\n gerbil_translate: async (args) => {\n const translated = await skills.translate({\n text: args.text,\n to: args.to,\n from: args.from,\n } as Parameters<typeof skills.translate>[0]);\n return { content: [{ type: \"text\", text: translated }] };\n },\n\n gerbil_embed: async (args) => {\n const result = await g.embed(args.text);\n return {\n content: [\n {\n type: \"text\",\n text: JSON.stringify({\n vector: result.vector.slice(0, 10),\n dimensions: result.vector.length,\n }),\n },\n ],\n };\n },\n };\n\n return {\n // Server info\n info: {\n name: \"gerbil\",\n version: \"1.0.0\",\n description: \"Local LLM inference via Gerbil\",\n },\n\n // List available tools\n listTools: () =>\n enabledTools\n .filter((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS])\n .map((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS]),\n\n // Call a tool\n callTool: async (name: string, args: any) => {\n const handler = handlers[name];\n if (!handler) {\n throw new Error(`Unknown tool: ${name}`);\n }\n return handler(args);\n },\n\n // Get Gerbil instance\n gerbil: g,\n };\n}\n\n/**\n * Start MCP server with stdio transport\n */\nexport async function startMCPServer(options: MCPServerOptions = {}) {\n const server = await createMCPServer(options);\n\n // Simple stdio protocol handler\n const readline = await import(\"node:readline\");\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n terminal: false,\n });\n\n rl.on(\"line\", async (line) => {\n try {\n const request = JSON.parse(line);\n\n let _response: any;\n\n switch (request.method) {\n case \"initialize\":\n _response = {\n protocolVersion: \"2024-11-05\",\n serverInfo: server.info,\n capabilities: {\n tools: {},\n },\n };\n break;\n\n case \"tools/list\":\n _response = { tools: server.listTools() };\n break;\n\n case \"tools/call\":\n _response = await server.callTool(request.params.name, request.params.arguments);\n break;\n\n default:\n _response = { error: { code: -32_601, message: \"Method not found\" } };\n }\n } catch (_error) {}\n });\n}\n\nexport default { createMCPServer, startMCPServer };\n"],"mappings":"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"}
1
+ {"version":3,"file":"mcp-DcE3wn-L.mjs","names":["handlers: Record<string, (args: any) => Promise<any>>","skills.summarize","skills.explain","skills.review","skills.commit","skills.translate"],"sources":["../src/integrations/mcp.ts"],"sourcesContent":["/**\n * Gerbil MCP Server\n *\n * Model Context Protocol server for Claude Desktop, Cursor, etc.\n *\n * @example\n * ```bash\n * gerbil serve --mcp\n * ```\n *\n * @example Claude Desktop config\n * ```json\n * {\n * \"mcpServers\": {\n * \"gerbil\": {\n * \"command\": \"npx\",\n * \"args\": [\"-y\", \"gerbil\", \"serve\", \"--mcp\"]\n * }\n * }\n * }\n * ```\n */\n\nimport { Gerbil } from \"../core/gerbil.js\";\nimport { DEFAULT_MODEL } from \"../core/models.js\";\nimport type { GerbilConfig } from \"../core/types.js\";\nimport * as skills from \"../skills/index.js\";\n\nexport interface MCPServerOptions extends GerbilConfig {\n /** Port for HTTP transport (default: stdio) */\n port?: number;\n\n /** Tools to expose */\n tools?: string[];\n}\n\n// Tool definitions\nconst TOOL_DEFINITIONS = {\n generate: {\n name: \"gerbil_generate\",\n description: \"Generate text using a local LLM\",\n inputSchema: {\n type: \"object\",\n properties: {\n prompt: { type: \"string\", description: \"The prompt to generate from\" },\n maxTokens: { type: \"number\", description: \"Maximum tokens to generate\" },\n temperature: { type: \"number\", description: \"Sampling temperature (0-2)\" },\n system: { type: \"string\", description: \"System prompt\" },\n thinking: { type: \"boolean\", description: \"Enable thinking mode\" },\n },\n required: [\"prompt\"],\n },\n },\n summarize: {\n name: \"gerbil_summarize\",\n description: \"Summarize content\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Content to summarize\" },\n length: { type: \"string\", enum: [\"short\", \"medium\", \"long\"] },\n format: { type: \"string\", enum: [\"paragraph\", \"bullets\"] },\n },\n required: [\"content\"],\n },\n },\n explain: {\n name: \"gerbil_explain\",\n description: \"Explain code or concepts\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Code or concept to explain\" },\n level: { type: \"string\", enum: [\"beginner\", \"intermediate\", \"expert\"] },\n language: { type: \"string\", description: \"Programming language\" },\n },\n required: [\"content\"],\n },\n },\n review: {\n name: \"gerbil_review\",\n description: \"Review code for issues\",\n inputSchema: {\n type: \"object\",\n properties: {\n code: { type: \"string\", description: \"Code to review\" },\n focus: {\n type: \"array\",\n items: { type: \"string\", enum: [\"security\", \"performance\", \"style\", \"bugs\"] },\n },\n },\n required: [\"code\"],\n },\n },\n commit: {\n name: \"gerbil_commit\",\n description: \"Generate a commit message from a diff\",\n inputSchema: {\n type: \"object\",\n properties: {\n diff: { type: \"string\", description: \"Git diff\" },\n type: { type: \"string\", enum: [\"conventional\", \"simple\", \"detailed\"] },\n },\n required: [\"diff\"],\n },\n },\n translate: {\n name: \"gerbil_translate\",\n description: \"Translate text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to translate\" },\n to: { type: \"string\", description: \"Target language\" },\n from: { type: \"string\", description: \"Source language (optional)\" },\n },\n required: [\"text\", \"to\"],\n },\n },\n embed: {\n name: \"gerbil_embed\",\n description: \"Generate embeddings for text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to embed\" },\n },\n required: [\"text\"],\n },\n },\n};\n\n/**\n * Create MCP server\n */\nexport async function createMCPServer(options: MCPServerOptions = {}) {\n const g = new Gerbil(options);\n\n // Load model\n await g.loadModel(options.model || DEFAULT_MODEL);\n\n // Determine which tools to expose\n const enabledTools = options.tools || Object.keys(TOOL_DEFINITIONS);\n\n // Tool handlers\n const handlers: Record<string, (args: any) => Promise<any>> = {\n gerbil_generate: async (args) => {\n const result = await g.generate(args.prompt, {\n maxTokens: args.maxTokens,\n temperature: args.temperature,\n system: args.system,\n thinking: args.thinking,\n });\n return {\n content: [\n {\n type: \"text\",\n text: result.thinking\n ? `Thinking: ${result.thinking}\\n\\nAnswer: ${result.text}`\n : result.text,\n },\n ],\n };\n },\n\n gerbil_summarize: async (args) => {\n const summary = await skills.summarize({\n content: args.content,\n length: args.length,\n format: args.format,\n });\n return { content: [{ type: \"text\", text: summary }] };\n },\n\n gerbil_explain: async (args) => {\n const explanation = await skills.explain({\n content: args.content,\n level: args.level,\n language: args.language,\n } as Parameters<typeof skills.explain>[0]);\n return { content: [{ type: \"text\", text: explanation }] };\n },\n\n gerbil_review: async (args) => {\n const reviewResult = await skills.review({\n code: args.code,\n focus: args.focus,\n } as Parameters<typeof skills.review>[0]);\n return { content: [{ type: \"text\", text: reviewResult }] };\n },\n\n gerbil_commit: async (args) => {\n const message = await skills.commit({\n diff: args.diff,\n type: args.type,\n } as Parameters<typeof skills.commit>[0]);\n return { content: [{ type: \"text\", text: message }] };\n },\n\n gerbil_translate: async (args) => {\n const translated = await skills.translate({\n text: args.text,\n to: args.to,\n from: args.from,\n } as Parameters<typeof skills.translate>[0]);\n return { content: [{ type: \"text\", text: translated }] };\n },\n\n gerbil_embed: async (args) => {\n const result = await g.embed(args.text);\n return {\n content: [\n {\n type: \"text\",\n text: JSON.stringify({\n vector: result.vector.slice(0, 10),\n dimensions: result.vector.length,\n }),\n },\n ],\n };\n },\n };\n\n return {\n // Server info\n info: {\n name: \"gerbil\",\n version: \"1.0.0\",\n description: \"Local LLM inference via Gerbil\",\n },\n\n // List available tools\n listTools: () =>\n enabledTools\n .filter((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS])\n .map((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS]),\n\n // Call a tool\n callTool: async (name: string, args: any) => {\n const handler = handlers[name];\n if (!handler) {\n throw new Error(`Unknown tool: ${name}`);\n }\n return handler(args);\n },\n\n // Get Gerbil instance\n gerbil: g,\n };\n}\n\n/**\n * Start MCP server with stdio transport\n */\nexport async function startMCPServer(options: MCPServerOptions = {}) {\n const server = await createMCPServer(options);\n\n // Simple stdio protocol handler\n const readline = await import(\"node:readline\");\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n terminal: false,\n });\n\n rl.on(\"line\", async (line) => {\n try {\n const request = JSON.parse(line);\n\n let _response: any;\n\n switch (request.method) {\n case \"initialize\":\n _response = {\n protocolVersion: \"2024-11-05\",\n serverInfo: server.info,\n capabilities: {\n tools: {},\n },\n };\n break;\n\n case \"tools/list\":\n _response = { tools: server.listTools() };\n break;\n\n case \"tools/call\":\n _response = await server.callTool(request.params.name, request.params.arguments);\n break;\n\n default:\n _response = { error: { code: -32_601, message: \"Method not found\" } };\n }\n } catch (_error) {}\n });\n}\n\nexport default { createMCPServer, startMCPServer };\n"],"mappings":"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"}