@tryhamster/gerbil 1.0.13 → 1.1.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.
Files changed (46) hide show
  1. package/dist/architectures-C1I5V3Dt.mjs.map +1 -1
  2. package/dist/cli.mjs +7 -7
  3. package/dist/cli.mjs.map +1 -1
  4. package/dist/frameworks/express.mjs +1 -1
  5. package/dist/frameworks/fastify.mjs +1 -1
  6. package/dist/frameworks/hono.mjs +1 -1
  7. package/dist/frameworks/next.d.mts +2 -2
  8. package/dist/frameworks/next.mjs +1 -1
  9. package/dist/frameworks/trpc.mjs +1 -1
  10. package/dist/{gerbil-2_wciMRP.d.mts → gerbil-DZbWbIm2.d.mts} +2 -2
  11. package/dist/{gerbil-2_wciMRP.d.mts.map → gerbil-DZbWbIm2.d.mts.map} +1 -1
  12. package/dist/gerbil-Dy9Zhc_j.mjs +4 -0
  13. package/dist/{gerbil-C7wM_lAP.mjs → gerbil-ro5mEpFh.mjs} +2 -2
  14. package/dist/{gerbil-C7wM_lAP.mjs.map → gerbil-ro5mEpFh.mjs.map} +1 -1
  15. package/dist/gpu/hooks.d.mts +1 -1
  16. package/dist/gpu/index.d.mts +1 -1
  17. package/dist/gpu/index.mjs +2 -2
  18. package/dist/{gpu-CAKOTUyH.mjs → gpu-yxEq7qT1.mjs} +6 -4
  19. package/dist/gpu-yxEq7qT1.mjs.map +1 -0
  20. package/dist/{index-CGYIAChm.d.mts → index-CKszv3lt.d.mts} +30 -1
  21. package/dist/index-CKszv3lt.d.mts.map +1 -0
  22. package/dist/index.d.mts +2 -2
  23. package/dist/index.mjs +4 -4
  24. package/dist/integrations/ai-sdk.mjs +1 -1
  25. package/dist/integrations/langchain.mjs +1 -1
  26. package/dist/integrations/llamaindex.mjs +1 -1
  27. package/dist/integrations/mcp.d.mts +2 -2
  28. package/dist/integrations/mcp.mjs +4 -4
  29. package/dist/{mcp-BZd5By4z.mjs → mcp-B0eW-OKz.mjs} +3 -3
  30. package/dist/{mcp-BZd5By4z.mjs.map → mcp-B0eW-OKz.mjs.map} +1 -1
  31. package/dist/{moonshine-stt-BOEsYHya.mjs → moonshine-stt-Cqdf1myz.mjs} +154 -11
  32. package/dist/moonshine-stt-Cqdf1myz.mjs.map +1 -0
  33. package/dist/moonshine-stt-TYYYaPo3.mjs +4 -0
  34. package/dist/{one-liner-BLnSzmhr.mjs → one-liner-b0vlnTgd.mjs} +2 -2
  35. package/dist/{one-liner-BLnSzmhr.mjs.map → one-liner-b0vlnTgd.mjs.map} +1 -1
  36. package/dist/{repl-BI3DdxPw.mjs → repl-DUyb-ut6.mjs} +3 -3
  37. package/dist/skills/index.d.mts +2 -2
  38. package/dist/skills/index.mjs +3 -3
  39. package/dist/{skills-ByCWtc5f.mjs → skills-DCvZK8kL.mjs} +2 -2
  40. package/dist/{skills-ByCWtc5f.mjs.map → skills-DCvZK8kL.mjs.map} +1 -1
  41. package/package.json +1 -1
  42. package/dist/gerbil-Ba7bLN8G.mjs +0 -4
  43. package/dist/gpu-CAKOTUyH.mjs.map +0 -1
  44. package/dist/index-CGYIAChm.d.mts.map +0 -1
  45. package/dist/moonshine-stt-BOEsYHya.mjs.map +0 -1
  46. package/dist/moonshine-stt-Dq8NodSZ.mjs +0 -4
@@ -1,3 +1,18 @@
1
+ //#region src/gpu/vocab-prune.d.ts
2
+
3
+ interface VocabKeepPlan {
4
+ /** Full (original) vocab size. */
5
+ vocabSize: number;
6
+ /** Kept low-id prefix length: rows [0, prefixLen). */
7
+ prefixLen: number;
8
+ /** First kept tail row; rows [tailStart, vocabSize) are kept. */
9
+ tailStart: number;
10
+ /** Number of kept tail rows. */
11
+ tailLen: number;
12
+ /** Pruned vocab size = prefixLen + tailLen (the head's new N). */
13
+ prunedVocab: number;
14
+ }
15
+ //#endregion
1
16
  //#region src/gpu/ir.d.ts
2
17
  /**
3
18
  * Gerbil WebGPU IR — the contract every component builds on.
@@ -75,6 +90,12 @@ interface ModelArchConfig {
75
90
  vision_architecture?: string;
76
91
  vision_patch_size?: number;
77
92
  vision_embed_dim?: number;
93
+ /**
94
+ * Set when the LM head was vocab-pruned (Lever B). `vocab_size` above already
95
+ * reflects the PRUNED head size; this plan lets the decoder map a pruned-head
96
+ * output index back to the real token id. Absent = full vocab, no remap.
97
+ */
98
+ vocabKeepPlan?: VocabKeepPlan;
78
99
  }
79
100
  interface ModelGraph {
80
101
  /** HF architecture string, e.g. "Qwen2ForCausalLM". */
@@ -333,6 +354,14 @@ interface LoadModelOptions {
333
354
  * nor `multimodal` is set, the ~201MB ViT is excluded from the download.
334
355
  */
335
356
  loadVisionTower?: boolean;
357
+ /**
358
+ * Prune the LM head to a kept vocab prefix + special-token tail for faster
359
+ * decode (Lever B). `true` → default keep size; a number → keep that many
360
+ * low-id rows. For a tied model this UNTIES the head (trades resident memory
361
+ * for decode speed), so enable it only where memory is ample (desktop / iPad),
362
+ * not on memory-tight phones. Falls back to the GERBIL_VOCAB_PRUNE global.
363
+ */
364
+ vocabKeep?: number | boolean;
336
365
  }
337
366
  /**
338
367
  * Gemma 4 Per-Layer-Embeddings (PLE) source, kept CPU-resident.
@@ -2112,4 +2141,4 @@ declare class WebGPUEngine {
2112
2141
  }
2113
2142
  //#endregion
2114
2143
  export { buildGemma4PoolMatrix as $, generateMoonshineEncoderGraph as A, generateGemma4VisionGraph as B, KaniTTSOptions as C, KVDType as Ct, generateQwen3_5VisionGraph as D, Executor as E, ModelCapabilities as Et, generateNanoCodecDecoderGraph as F, GEMMA4_IMAGE_PROCESSOR as G, resolveGemma4VisionInfo as H, parseKaniConfig as I, ImageProcessorConfig as J, Gemma4VisionGridConfig as K, Gemma4VisionGraphInfo as L, parseMoonshineConfig as M, audioTokensToCodes as N, MOONSHINE_REMAINING_WORK as O, generateKaniTtsGraph as P, VisionPositionTensors as Q, dequantizeGemma4VisionProjection as R, KaniTTS as S, GraphDType as St, SpeakResult as T, ModelArchConfig as Tt, DEFAULT_MODELS as U, patchGemma4VisionClips as V, resolveDefaultRepo as W, QWEN3_5_IMAGE_PROCESSOR as X, PreprocessedImage as Y, VisionGridConfig as Z, MoonshineSTT as _, loadModel as _t, GenerateObjectOptions as a, buildPosEmbeds as at, TranscribeResult as b, GPUDiagnosticResult as bt, GenerateResult as c, buildVisionPositionTensors as ct, ObjectSchema as d, preprocessImageGemma4 as dt, buildGemma4PosEmbeds as et, ObjectValidator as f, smartResize as ft, VisionInputs as g, loadKaniTTS as gt, VisionExecutor as h, LoadedMoonshine as ht, EncodeImageResult as i, buildMRoPEPositionIds as it, moonshineEncoderFrames as j, generateMoonshineDecoderGraph as k, IntegrityCheckEntry as l, mropeFreqDims as lt, WebGPUEngineOptions as m, LoadedKaniTTS as mt, AgentTool as n, buildGemma4VisionPositionTensors as nt, GenerateObjectResult as o, buildPositionIds as ot, WebGPUEngine as p, SamplingParams as pt, Gemma4VisionPositionTensors as q, EmbedOptions as r, buildMRoPECosSin as rt, GenerateOptions as s, buildRotaryCosSin as st, AgentStep as t, buildGemma4RotaryCosSin as tt, IntegrityCheckResult as u, preprocessImage as ut, MoonshineSTTOptions as v, loadMoonshine as vt, SpeakOptions as w, KvMode as wt, MoonshineEncoderExecutor as x, initGPU as xt, TranscribeOptions as y, ChatMessage as yt, dequantizeMLXProjection as z };
2115
- //# sourceMappingURL=index-CGYIAChm.d.mts.map
2144
+ //# sourceMappingURL=index-CKszv3lt.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CKszv3lt.d.mts","names":[],"sources":["../src/gpu/vocab-prune.ts","../src/gpu/ir.ts","../src/gpu/architectures/index.ts","../src/gpu/device.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/qwen3_5_vision.ts","../src/gpu/executor.ts","../src/gpu/kani-tts.ts","../src/gpu/moonshine-executor.ts","../src/gpu/moonshine-stt.ts","../src/gpu/vision-executor.ts","../src/gpu/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  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-LlyYILII.mjs";
2
- import { C as KaniTTSOptions, S as KaniTTS, U 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-CGYIAChm.mjs";
3
- import { t as Gerbil } from "./gerbil-2_wciMRP.mjs";
2
+ import { C as KaniTTSOptions, S as KaniTTS, U 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-CKszv3lt.mjs";
3
+ import { t as Gerbil } from "./gerbil-DZbWbIm2.mjs";
4
4
  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-DQBe2lFo.mjs";
5
5
  import { _ as createGerbilEmbedder, f as createFileStore, h as createMemory, m as Memory, s as createInMemoryStore, u as createIndexedDBStore } from "./index-Dgmb2kE3.mjs";
6
6
 
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-C7wM_lAP.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-ro5mEpFh.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-BLnSzmhr.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-b0vlnTgd.mjs";
4
4
  import { t as DEFAULT_MODELS } from "./defaults-9komdrbY.mjs";
5
5
  import "./architectures-C1I5V3Dt.mjs";
6
- import { t as WebGPUEngine, y as KaniTTS } from "./gpu-CAKOTUyH.mjs";
7
- import { t as MoonshineSTT } from "./moonshine-stt-BOEsYHya.mjs";
6
+ import { t as WebGPUEngine, y as KaniTTS } from "./gpu-yxEq7qT1.mjs";
7
+ import { t as MoonshineSTT } from "./moonshine-stt-Cqdf1myz.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,4 +1,4 @@
1
- import { n as BUILTIN_MODELS, t as Gerbil } from "../gerbil-C7wM_lAP.mjs";
1
+ import { n as BUILTIN_MODELS, t as Gerbil } from "../gerbil-ro5mEpFh.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/ai-sdk.ts
@@ -1,4 +1,4 @@
1
- import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-C7wM_lAP.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-ro5mEpFh.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/langchain.ts
@@ -1,4 +1,4 @@
1
- import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-C7wM_lAP.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-ro5mEpFh.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/llamaindex.ts
@@ -1,6 +1,6 @@
1
1
  import { d as GerbilConfig } from "../types-LlyYILII.mjs";
2
- import "../index-CGYIAChm.mjs";
3
- import { t as Gerbil } from "../gerbil-2_wciMRP.mjs";
2
+ import "../index-CKszv3lt.mjs";
3
+ import { t as Gerbil } from "../gerbil-DZbWbIm2.mjs";
4
4
 
5
5
  //#region src/integrations/mcp.d.ts
6
6
 
@@ -1,7 +1,7 @@
1
- import "../gerbil-C7wM_lAP.mjs";
1
+ import "../gerbil-ro5mEpFh.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
- import "../one-liner-BLnSzmhr.mjs";
4
- import "../skills-ByCWtc5f.mjs";
5
- import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-BZd5By4z.mjs";
3
+ import "../one-liner-b0vlnTgd.mjs";
4
+ import "../skills-DCvZK8kL.mjs";
5
+ import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-B0eW-OKz.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-C7wM_lAP.mjs";
2
- import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-ByCWtc5f.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "./gerbil-ro5mEpFh.mjs";
2
+ import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-DCvZK8kL.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-BZd5By4z.mjs.map
321
+ //# sourceMappingURL=mcp-B0eW-OKz.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-BZd5By4z.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-B0eW-OKz.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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"}
@@ -2123,6 +2123,10 @@ const WGSL_ARGMAX = `\
2123
2123
  struct Params {
2124
2124
  count: u32,
2125
2125
  offset: u32,
2126
+ // Vocab-prune remap (Lever B): map the pruned-head argmax index back to the
2127
+ // real token id. prefix_len == 0 means no pruning (identity).
2128
+ prefix_len: u32,
2129
+ tail_start: u32,
2126
2130
  }
2127
2131
 
2128
2132
  @group(0) @binding(0) var<storage, read> input: array<vec4f>;
@@ -2175,11 +2179,10 @@ fn main(@builtin(local_invocation_id) lid: vec3u) {
2175
2179
  if (tid < 2u) { if (shared_max[tid + 2u] > shared_max[tid]) { shared_max[tid] = shared_max[tid + 2u]; shared_idx[tid] = shared_idx[tid + 2u]; } }
2176
2180
  workgroupBarrier();
2177
2181
  if (tid == 0u) {
2178
- if (shared_max[1u] > shared_max[0u]) {
2179
- result[0] = shared_idx[1u];
2180
- } else {
2181
- result[0] = shared_idx[0u];
2182
- }
2182
+ var idx: u32 = shared_idx[0u];
2183
+ if (shared_max[1u] > shared_max[0u]) { idx = shared_idx[1u]; }
2184
+ // Remap pruned-head index → real token id (identity when prefix_len == 0).
2185
+ result[0] = select(params.tail_start + (idx - params.prefix_len), idx, idx < params.prefix_len);
2183
2186
  }
2184
2187
  }
2185
2188
  `;
@@ -8370,11 +8373,13 @@ var Executor = class Executor {
8370
8373
  argmaxDispatchSizes[i] = entry.spec.getDispatchSize(entry.node, resolvedShapes, runtimeContext);
8371
8374
  }
8372
8375
  if (this.argmaxEntry) {
8373
- const vocabSize = this.graph.config.vocab_size;
8374
- const argmaxParams = /* @__PURE__ */ new ArrayBuffer(8);
8376
+ const plan = this.graph.config.vocabKeepPlan;
8377
+ const argmaxParams = /* @__PURE__ */ new ArrayBuffer(16);
8375
8378
  const view = new DataView(argmaxParams);
8376
- view.setUint32(0, vocabSize, true);
8379
+ view.setUint32(0, this.graph.config.vocab_size, true);
8377
8380
  view.setUint32(4, 0, true);
8381
+ view.setUint32(8, plan?.prefixLen ?? 0, true);
8382
+ view.setUint32(12, plan?.tailStart ?? 0, true);
8378
8383
  this.ctx.device.queue.writeBuffer(this.argmaxEntry.uniformBuffer, 0, argmaxParams);
8379
8384
  }
8380
8385
  if (this.needsMultiEncoder) {
@@ -8457,10 +8462,13 @@ var Executor = class Executor {
8457
8462
  if (tokenId !== null) {
8458
8463
  this.ctx.device.queue.writeBuffer(this.inputIdsBuffer, 0, new Uint32Array([tokenId]));
8459
8464
  if (this.argmaxEntry) {
8460
- const argmaxParams = /* @__PURE__ */ new ArrayBuffer(8);
8465
+ const plan = this.graph.config.vocabKeepPlan;
8466
+ const argmaxParams = /* @__PURE__ */ new ArrayBuffer(16);
8461
8467
  const view = new DataView(argmaxParams);
8462
8468
  view.setUint32(0, this.graph.config.vocab_size, true);
8463
8469
  view.setUint32(4, 0, true);
8470
+ view.setUint32(8, plan?.prefixLen ?? 0, true);
8471
+ view.setUint32(12, plan?.tailStart ?? 0, true);
8464
8472
  this.ctx.device.queue.writeBuffer(this.argmaxEntry.uniformBuffer, 0, argmaxParams);
8465
8473
  }
8466
8474
  }
@@ -10301,6 +10309,93 @@ var Tokenizer = class Tokenizer {
10301
10309
  }
10302
10310
  };
10303
10311
 
10312
+ //#endregion
10313
+ //#region src/gpu/vocab-prune.ts
10314
+ /**
10315
+ * Vocab pruning for the LM head (Lever B).
10316
+ *
10317
+ * The lm_head matmul is the single largest op in a decode step — it projects the
10318
+ * hidden state onto the full vocabulary (248,320 rows for Qwen3.5). Most of those
10319
+ * rows are rarely or never emitted, so we keep only a prefix of the vocab plus the
10320
+ * special-token tail and run the head over that smaller set. Decode gets faster
10321
+ * (smaller GEMV + argmax) with negligible quality loss, since the dropped rows are
10322
+ * low-frequency tokens that can still be represented by their byte/sub-word pieces.
10323
+ *
10324
+ * For a TIED model (Qwen3.5: lm_head === embed_tokens) this means UNTYING — the
10325
+ * head becomes its own pruned tensor while embed_tokens stays full for input
10326
+ * lookup. So it trades a little resident memory for decode speed; gate it to
10327
+ * devices with memory headroom (desktop / iPad), not memory-tight phones.
10328
+ *
10329
+ * Keep-set = [0, prefixLen) ∪ [tailStart, vocabSize). Two CONTIGUOUS spans, which
10330
+ * makes the int4 row-slice two memcpys and the index→token map piecewise-identity
10331
+ * (no lookup table). Qwen3.5's special tokens (EOS=248044 … 248076) sit at the top
10332
+ * of the vocab, so a modest tail keeps every special/added token emittable.
10333
+ */
10334
+ /** Default kept prefix when pruning is enabled without an explicit size. */
10335
+ const DEFAULT_VOCAB_KEEP = 131072;
10336
+ /** Rows kept at the TOP of the vocab to preserve special/added tokens. */
10337
+ const DEFAULT_SPECIAL_TAIL = 1024;
10338
+ /**
10339
+ * Resolve the kept-prefix size from a create option or the GERBIL_VOCAB_PRUNE
10340
+ * global, or null when pruning is off / would not actually shrink the vocab.
10341
+ * `true`/`"1"` → DEFAULT_VOCAB_KEEP; a number → that many prefix rows.
10342
+ */
10343
+ function resolveVocabKeep(optKeep, vocabSize) {
10344
+ let raw = optKeep;
10345
+ if (raw === void 0 && typeof globalThis !== "undefined") raw = globalThis.GERBIL_VOCAB_PRUNE;
10346
+ if (raw === void 0 || raw === false || raw === 0) return null;
10347
+ const keepN = raw === true ? DEFAULT_VOCAB_KEEP : Number(raw);
10348
+ if (!Number.isFinite(keepN) || keepN <= 0) return null;
10349
+ if (keepN + DEFAULT_SPECIAL_TAIL >= vocabSize) return null;
10350
+ return Math.floor(keepN);
10351
+ }
10352
+ /** Build the two-span keep plan for a given prefix size + special tail. */
10353
+ function buildKeepPlan(vocabSize, keepN, specialTail = DEFAULT_SPECIAL_TAIL) {
10354
+ const prefixLen = Math.min(keepN, vocabSize);
10355
+ const tailStart = Math.max(prefixLen, vocabSize - specialTail);
10356
+ const tailLen = vocabSize - tailStart;
10357
+ return {
10358
+ vocabSize,
10359
+ prefixLen,
10360
+ tailStart,
10361
+ tailLen,
10362
+ prunedVocab: prefixLen + tailLen
10363
+ };
10364
+ }
10365
+ /**
10366
+ * Map a pruned-head output index (argmax / sample result, in [0, prunedVocab)) to
10367
+ * the real token id. Piecewise: the prefix is identity, the tail offsets up to the
10368
+ * kept top rows.
10369
+ */
10370
+ function remapPrunedToken(index, plan) {
10371
+ if (index < plan.prefixLen) return index;
10372
+ return plan.tailStart + (index - plan.prefixLen);
10373
+ }
10374
+ /**
10375
+ * Slice a row-major INT4 weight (q/scales/zeros) to the keep plan's two spans.
10376
+ * Rows are the vocab (N) dimension; per-row element counts are derived from the
10377
+ * array lengths so this is agnostic to hidden size / group size / scale dtype.
10378
+ *
10379
+ * q: packed u32 (8 int4 per u32 along K). scales/zeros: per (row, group).
10380
+ */
10381
+ function sliceInt4Head(q, scales, zeros, plan) {
10382
+ const qPerRow = q.length / plan.vocabSize;
10383
+ const sPerRow = scales.length / plan.vocabSize;
10384
+ const zPerRow = zeros.length / plan.vocabSize;
10385
+ if (!(Number.isInteger(qPerRow) && Number.isInteger(sPerRow) && Number.isInteger(zPerRow))) throw new Error(`vocab-prune: int4 head not row-aligned (q ${q.length}, scales ${scales.length}, zeros ${zeros.length} over vocab ${plan.vocabSize})`);
10386
+ const gather = (src, perRow, make) => {
10387
+ const out = make(plan.prunedVocab * perRow);
10388
+ out.set(src.subarray(0, plan.prefixLen * perRow), 0);
10389
+ out.set(src.subarray(plan.tailStart * perRow, plan.vocabSize * perRow), plan.prefixLen * perRow);
10390
+ return out;
10391
+ };
10392
+ return {
10393
+ q: gather(q, qPerRow, (n) => new Uint32Array(n)),
10394
+ scales: gather(scales, sPerRow, (n) => new Float32Array(n)),
10395
+ zeros: gather(zeros, zPerRow, (n) => new Float32Array(n))
10396
+ };
10397
+ }
10398
+
10304
10399
  //#endregion
10305
10400
  //#region src/gpu/weight-source.ts
10306
10401
  /**
@@ -11625,6 +11720,7 @@ async function loadModel(options) {
11625
11720
  const missingTensors = [];
11626
11721
  for (const [name, desc] of Object.entries(graph.tensors)) if (desc.storage === "constant" && !store.has(name)) missingTensors.push(name);
11627
11722
  if (missingTensors.length > 0) console.warn(`[Gerbil] Missing ${missingTensors.length} weight tensors:`, missingTensors.slice(0, 10));
11723
+ await applyVocabPrune(graph, store, options.vocabKeep, onProgress);
11628
11724
  onProgress?.(100, 100, "Model loaded.");
11629
11725
  return {
11630
11726
  graph,
@@ -11634,6 +11730,53 @@ async function loadModel(options) {
11634
11730
  pleSource
11635
11731
  };
11636
11732
  }
11733
+ /**
11734
+ * Vocab-prune the LM head in place (Lever B). No-op unless pruning is enabled
11735
+ * (via `vocabKeep` / GERBIL_VOCAB_PRUNE) AND the head is a tied INT4 head that
11736
+ * reads the embed_tokens quantized tensors. When it fires it:
11737
+ * - slices embed_tokens.{q,scales,zeros} to the keep plan's two row-spans,
11738
+ * - stores them as lm_head.weight.{q,scales,zeros} (UNTYING the head — embed
11739
+ * stays full for input lookup),
11740
+ * - repoints the lm_head node at the new tensors with N = pruned vocab,
11741
+ * - shrinks the logits tensor + config.vocab_size,
11742
+ * - records the keep plan on config so the decoder can remap output indices.
11743
+ */
11744
+ async function applyVocabPrune(graph, store, vocabKeep, onProgress) {
11745
+ const fullVocab = graph.config.vocab_size;
11746
+ const keepN = resolveVocabKeep(vocabKeep, fullVocab);
11747
+ if (keepN === null) return;
11748
+ const headNode = graph.nodes.find((n) => n.id === "lm_head");
11749
+ if (!headNode || headNode.opType !== "MatMulInt4") return;
11750
+ const embedQ = `${CANONICAL_KEYS.EMBED}.q`;
11751
+ if (headNode.inputs[1] !== embedQ) return;
11752
+ const q = await store.get(embedQ);
11753
+ const scales = await store.get(`${CANONICAL_KEYS.EMBED}.scales`);
11754
+ const zeros = await store.get(`${CANONICAL_KEYS.EMBED}.zeros`);
11755
+ if (!(q && scales && zeros)) return;
11756
+ const plan = buildKeepPlan(fullVocab, keepN);
11757
+ onProgress?.(99, 100, `Pruning LM head ${fullVocab} → ${plan.prunedVocab} vocab...`);
11758
+ const sliced = sliceInt4Head(q.data, scales.data, zeros.data, plan);
11759
+ await store.set(`${CANONICAL_KEYS.LM_HEAD}.q`, {
11760
+ data: sliced.q,
11761
+ shape: [sliced.q.length]
11762
+ });
11763
+ await store.set(`${CANONICAL_KEYS.LM_HEAD}.scales`, {
11764
+ data: sliced.scales,
11765
+ shape: [sliced.scales.length]
11766
+ });
11767
+ await store.set(`${CANONICAL_KEYS.LM_HEAD}.zeros`, {
11768
+ data: sliced.zeros,
11769
+ shape: [sliced.zeros.length]
11770
+ });
11771
+ headNode.inputs[1] = `${CANONICAL_KEYS.LM_HEAD}.q`;
11772
+ headNode.inputs[2] = `${CANONICAL_KEYS.LM_HEAD}.scales`;
11773
+ headNode.inputs[3] = `${CANONICAL_KEYS.LM_HEAD}.zeros`;
11774
+ headNode.attributes.N = plan.prunedVocab;
11775
+ const logits = graph.tensors[headNode.outputs[0]];
11776
+ if (logits) logits.shape = [1, plan.prunedVocab];
11777
+ graph.config.vocab_size = plan.prunedVocab;
11778
+ graph.config.vocabKeepPlan = plan;
11779
+ }
11637
11780
  async function loadMoonshine(options) {
11638
11781
  const revision = options.revision ?? "main";
11639
11782
  const baseURL = resolveHFBaseURL(options.repo, revision);
@@ -12102,5 +12245,5 @@ function selectGraphWeights(graph, weights) {
12102
12245
  }
12103
12246
 
12104
12247
  //#endregion
12105
- export { loadMoonshine as a, MATMUL_BIAS_F16C_SPEC as c, createStorageBuffer as d, createUniformBuffer as f, verifyGPU as g, initGPU as h, loadModel as i, clearPipelineCache as l, getOrCreatePipeline as m, MoonshineEncoderExecutor as n, Executor as o, destroyBuffers as p, loadKaniTTS as r, KERNEL_REGISTRY as s, MoonshineSTT as t, createBindGroup as u };
12106
- //# sourceMappingURL=moonshine-stt-BOEsYHya.mjs.map
12248
+ export { verifyGPU as _, loadMoonshine as a, KERNEL_REGISTRY as c, createBindGroup as d, createStorageBuffer as f, initGPU as g, getOrCreatePipeline as h, loadModel as i, MATMUL_BIAS_F16C_SPEC as l, destroyBuffers as m, MoonshineEncoderExecutor as n, remapPrunedToken as o, createUniformBuffer as p, loadKaniTTS as r, Executor as s, MoonshineSTT as t, clearPipelineCache as u };
12249
+ //# sourceMappingURL=moonshine-stt-Cqdf1myz.mjs.map