@tryhamster/gerbil 1.0.6 → 1.0.7

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 (35) hide show
  1. package/dist/cli.mjs +7 -7
  2. package/dist/cli.mjs.map +1 -1
  3. package/dist/frameworks/express.mjs +1 -1
  4. package/dist/frameworks/fastify.mjs +1 -1
  5. package/dist/frameworks/hono.mjs +1 -1
  6. package/dist/frameworks/next.mjs +1 -1
  7. package/dist/frameworks/trpc.mjs +1 -1
  8. package/dist/gerbil-BOsuusm3.mjs +4 -0
  9. package/dist/{gerbil-BPbJy0_f.mjs → gerbil-D9fzoBGM.mjs} +2 -2
  10. package/dist/{gerbil-BPbJy0_f.mjs.map → gerbil-D9fzoBGM.mjs.map} +1 -1
  11. package/dist/gpu/index.mjs +2 -2
  12. package/dist/{gpu-Dszu2rk-.mjs → gpu-Bv0ZPyZO.mjs} +2 -2
  13. package/dist/{gpu-Dszu2rk-.mjs.map → gpu-Bv0ZPyZO.mjs.map} +1 -1
  14. package/dist/index-Dgmb2kE3.d.mts.map +1 -1
  15. package/dist/index.mjs +4 -4
  16. package/dist/integrations/ai-sdk.mjs +1 -1
  17. package/dist/integrations/langchain.mjs +1 -1
  18. package/dist/integrations/llamaindex.mjs +1 -1
  19. package/dist/integrations/mcp.mjs +4 -4
  20. package/dist/{mcp-C8lTkR3D.mjs → mcp-Cobm_wmI.mjs} +3 -3
  21. package/dist/{mcp-C8lTkR3D.mjs.map → mcp-Cobm_wmI.mjs.map} +1 -1
  22. package/dist/{moonshine-stt-DNVw8v_Y.mjs → moonshine-stt-C2PR8fM4.mjs} +66 -9
  23. package/dist/{moonshine-stt-DNVw8v_Y.mjs.map → moonshine-stt-C2PR8fM4.mjs.map} +1 -1
  24. package/dist/moonshine-stt-D0EXyr4g.mjs +4 -0
  25. package/dist/{one-liner-VcUGmyTZ.mjs → one-liner-rqFVBbNs.mjs} +2 -2
  26. package/dist/{one-liner-VcUGmyTZ.mjs.map → one-liner-rqFVBbNs.mjs.map} +1 -1
  27. package/dist/{repl-WUbQ1UgU.mjs → repl-BJVyb3Qf.mjs} +3 -3
  28. package/dist/skills/index.d.mts +17 -17
  29. package/dist/skills/index.d.mts.map +1 -1
  30. package/dist/skills/index.mjs +3 -3
  31. package/dist/{skills-B6Cor5wy.mjs → skills-c8rCxj2n.mjs} +2 -2
  32. package/dist/{skills-B6Cor5wy.mjs.map → skills-c8rCxj2n.mjs.map} +1 -1
  33. package/package.json +1 -1
  34. package/dist/gerbil-BoHXwcdY.mjs +0 -4
  35. package/dist/moonshine-stt-rXESw8t8.mjs +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index-Dgmb2kE3.d.mts","names":[],"sources":["../src/memory/chunking.ts","../src/memory/gerbil-embedder.ts","../src/memory/memory.ts","../src/memory/redaction.ts","../src/memory/stores/file-store.ts","../src/memory/stores/indexeddb-store.ts","../src/memory/stores/memory-store.ts","../src/memory/tokens.ts","../src/memory/vector.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index-Dgmb2kE3.d.mts","names":[],"sources":["../src/memory/chunking.ts","../src/memory/gerbil-embedder.ts","../src/memory/memory.ts","../src/memory/redaction.ts","../src/memory/stores/file-store.ts","../src/memory/stores/indexeddb-store.ts","../src/memory/stores/memory-store.ts","../src/memory/tokens.ts","../src/memory/vector.ts"],"sourcesContent":[],"mappings":"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"}
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-BPbJy0_f.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-D9fzoBGM.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-VcUGmyTZ.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-rqFVBbNs.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-Dszu2rk-.mjs";
7
- import { t as MoonshineSTT } from "./moonshine-stt-DNVw8v_Y.mjs";
6
+ import { t as WebGPUEngine, y as KaniTTS } from "./gpu-Bv0ZPyZO.mjs";
7
+ import { t as MoonshineSTT } from "./moonshine-stt-C2PR8fM4.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-BPbJy0_f.mjs";
1
+ import { n as BUILTIN_MODELS, t as Gerbil } from "../gerbil-D9fzoBGM.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-BPbJy0_f.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-D9fzoBGM.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-BPbJy0_f.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "../gerbil-D9fzoBGM.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
3
 
4
4
  //#region src/integrations/llamaindex.ts
@@ -1,7 +1,7 @@
1
- import "../gerbil-BPbJy0_f.mjs";
1
+ import "../gerbil-D9fzoBGM.mjs";
2
2
  import "../utils-DKO55ZmZ.mjs";
3
- import "../one-liner-VcUGmyTZ.mjs";
4
- import "../skills-B6Cor5wy.mjs";
5
- import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-C8lTkR3D.mjs";
3
+ import "../one-liner-rqFVBbNs.mjs";
4
+ import "../skills-c8rCxj2n.mjs";
5
+ import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-Cobm_wmI.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-BPbJy0_f.mjs";
2
- import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-B6Cor5wy.mjs";
1
+ import { r as DEFAULT_MODEL, t as Gerbil } from "./gerbil-D9fzoBGM.mjs";
2
+ import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-c8rCxj2n.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-C8lTkR3D.mjs.map
321
+ //# sourceMappingURL=mcp-Cobm_wmI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-C8lTkR3D.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-Cobm_wmI.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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"}
@@ -9383,6 +9383,28 @@ function idbAvailable() {
9383
9383
  return typeof indexedDB !== "undefined";
9384
9384
  }
9385
9385
  let _dbPromise = null;
9386
+ /**
9387
+ * Per-op watchdog. iOS Safari can silently WEDGE an IndexedDB transaction after
9388
+ * a large (~400 MB) write session or under quota pressure — it fires NONE of
9389
+ * success/error/abort, so an awaiting caller hangs forever. That presents as the
9390
+ * load freezing at "reading model.safetensors header" (the first storage op
9391
+ * after that label) and is the #1 cause of the on-device load hang. Every op
9392
+ * races this timeout and degrades to its fallback (read → miss → network; write
9393
+ * → false → heap) instead of hanging.
9394
+ */
9395
+ const IDB_OP_TIMEOUT_MS = 12e3;
9396
+ /**
9397
+ * Drop the memoized connection (and close it) so the NEXT op re-opens a fresh
9398
+ * one. A wedged/poisoned connection otherwise persists for the page's lifetime —
9399
+ * an in-page retry (no reload) reuses it and hangs again. Closing also aborts
9400
+ * the wedged transaction.
9401
+ */
9402
+ function poisonConnection(db) {
9403
+ _dbPromise = null;
9404
+ try {
9405
+ db?.close();
9406
+ } catch {}
9407
+ }
9386
9408
  function openDB() {
9387
9409
  if (_dbPromise) return _dbPromise;
9388
9410
  _dbPromise = new Promise((resolve) => {
@@ -9396,7 +9418,14 @@ function openDB() {
9396
9418
  const db = req.result;
9397
9419
  if (!db.objectStoreNames.contains(STORE)) db.createObjectStore(STORE);
9398
9420
  };
9399
- req.onsuccess = () => resolve(req.result);
9421
+ req.onsuccess = () => {
9422
+ const db = req.result;
9423
+ db.onversionchange = () => poisonConnection(db);
9424
+ db.onclose = () => {
9425
+ _dbPromise = null;
9426
+ };
9427
+ resolve(db);
9428
+ };
9400
9429
  req.onerror = () => resolve(null);
9401
9430
  req.onblocked = () => resolve(null);
9402
9431
  } catch {
@@ -9405,21 +9434,32 @@ function openDB() {
9405
9434
  });
9406
9435
  return _dbPromise;
9407
9436
  }
9408
- /** A single transaction operation, promisified. Resolves the fallback on any error. */
9437
+ /** A single transaction operation, promisified. Resolves the fallback on any
9438
+ * error OR if the op wedges past IDB_OP_TIMEOUT_MS (and then poisons the
9439
+ * connection so the next op re-opens fresh). */
9409
9440
  function tx(mode, run, fallback) {
9410
9441
  return openDB().then((db) => new Promise((resolve) => {
9411
9442
  if (!db) {
9412
9443
  resolve(fallback);
9413
9444
  return;
9414
9445
  }
9446
+ let settled = false;
9447
+ const finish = (value, poisoned) => {
9448
+ if (settled) return;
9449
+ settled = true;
9450
+ clearTimeout(timer);
9451
+ if (poisoned) poisonConnection(db);
9452
+ resolve(value);
9453
+ };
9454
+ const timer = setTimeout(() => finish(fallback, true), IDB_OP_TIMEOUT_MS);
9415
9455
  try {
9416
9456
  const t = db.transaction(STORE, mode);
9417
9457
  const req = run(t.objectStore(STORE));
9418
- req.onsuccess = () => resolve(req.result ?? fallback);
9419
- req.onerror = () => resolve(fallback);
9420
- t.onabort = () => resolve(fallback);
9458
+ req.onsuccess = () => finish(req.result ?? fallback, false);
9459
+ req.onerror = () => finish(fallback, true);
9460
+ t.onabort = () => finish(fallback, true);
9421
9461
  } catch {
9422
- resolve(fallback);
9462
+ finish(fallback, true);
9423
9463
  }
9424
9464
  }));
9425
9465
  }
@@ -9662,6 +9702,8 @@ self.onmessage = async (ev) => {
9662
9702
  * any handshake fails the whole OPFS path is marked unavailable so callers fall
9663
9703
  * back to CacheStorage cleanly.
9664
9704
  */
9705
+ /** Per-op watchdog for the OPFS worker — mirrors IDB_OP_TIMEOUT_MS. */
9706
+ const OPFS_OP_TIMEOUT_MS = 1e4;
9665
9707
  var OpfsClient = class {
9666
9708
  worker = null;
9667
9709
  blobUrl = null;
@@ -9703,9 +9745,23 @@ var OpfsClient = class {
9703
9745
  if (!worker) return Promise.reject(/* @__PURE__ */ new Error("OPFS unavailable"));
9704
9746
  const id = this.nextId++;
9705
9747
  return new Promise((resolve, reject) => {
9748
+ const timer = setTimeout(() => {
9749
+ if (!this.pending.delete(id)) return;
9750
+ try {
9751
+ worker.terminate();
9752
+ } catch {}
9753
+ if (this.worker === worker) this.worker = null;
9754
+ resolve({});
9755
+ }, OPFS_OP_TIMEOUT_MS);
9706
9756
  this.pending.set(id, {
9707
- resolve,
9708
- reject
9757
+ resolve: (v) => {
9758
+ clearTimeout(timer);
9759
+ resolve(v);
9760
+ },
9761
+ reject: (e) => {
9762
+ clearTimeout(timer);
9763
+ reject(e);
9764
+ }
9709
9765
  });
9710
9766
  try {
9711
9767
  if (buf) worker.postMessage({
@@ -9720,6 +9776,7 @@ var OpfsClient = class {
9720
9776
  name
9721
9777
  });
9722
9778
  } catch (e) {
9779
+ clearTimeout(timer);
9723
9780
  this.pending.delete(id);
9724
9781
  reject(e instanceof Error ? e : new Error(String(e)));
9725
9782
  }
@@ -11974,4 +12031,4 @@ function selectGraphWeights(graph, weights) {
11974
12031
 
11975
12032
  //#endregion
11976
12033
  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 };
11977
- //# sourceMappingURL=moonshine-stt-DNVw8v_Y.mjs.map
12034
+ //# sourceMappingURL=moonshine-stt-C2PR8fM4.mjs.map