@eclipse-docks/extension-webllm 0.8.12 → 0.8.14

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.
@@ -1,11 +1,10 @@
1
- //#region src/i18n.de.json
1
+ // src/i18n.de.json
2
2
  var EXT_WEBLLM_NAME = "WebLLM";
3
3
  var EXT_WEBLLM_DESC = "LLM-Inferenz im Browser";
4
4
  var i18n_de_default = {
5
5
  EXT_WEBLLM_NAME,
6
6
  EXT_WEBLLM_DESC
7
7
  };
8
- //#endregion
9
8
  export { EXT_WEBLLM_DESC, EXT_WEBLLM_NAME, i18n_de_default as default };
10
9
 
11
- //# sourceMappingURL=i18n.de-1c_lhkQt.js.map
10
+ //# sourceMappingURL=i18n.de-DF175pCo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.de-1c_lhkQt.js","names":[],"sources":["../src/i18n.de.json"],"sourcesContent":["{\n \"EXT_WEBLLM_NAME\": \"WebLLM\",\n \"EXT_WEBLLM_DESC\": \"LLM-Inferenz im Browser\"\n}\n"],"mappings":""}
1
+ {"version":3,"file":"i18n.de-DF175pCo.js","names":[],"sources":["../src/i18n.de.json"],"sourcesContent":["{\n \"EXT_WEBLLM_NAME\": \"WebLLM\",\n \"EXT_WEBLLM_DESC\": \"LLM-Inferenz im Browser\"\n}\n"],"mappings":""}
@@ -1,11 +1,10 @@
1
- //#region src/i18n.en.json
1
+ // src/i18n.en.json
2
2
  var EXT_WEBLLM_NAME = "WebLLM";
3
3
  var EXT_WEBLLM_DESC = "In-Browser LLM inference";
4
4
  var i18n_en_default = {
5
5
  EXT_WEBLLM_NAME,
6
6
  EXT_WEBLLM_DESC
7
7
  };
8
- //#endregion
9
8
  export { EXT_WEBLLM_DESC, EXT_WEBLLM_NAME, i18n_en_default as default };
10
9
 
11
- //# sourceMappingURL=i18n.en-9kAjUGx0.js.map
10
+ //# sourceMappingURL=i18n.en-CrolH67j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.en-9kAjUGx0.js","names":[],"sources":["../src/i18n.en.json"],"sourcesContent":["{\n \"EXT_WEBLLM_NAME\": \"WebLLM\",\n \"EXT_WEBLLM_DESC\": \"In-Browser LLM inference\"\n}\n"],"mappings":""}
1
+ {"version":3,"file":"i18n.en-CrolH67j.js","names":[],"sources":["../src/i18n.en.json"],"sourcesContent":["{\n \"EXT_WEBLLM_NAME\": \"WebLLM\",\n \"EXT_WEBLLM_DESC\": \"In-Browser LLM inference\"\n}\n"],"mappings":""}
package/dist/index.js CHANGED
@@ -1,19 +1,18 @@
1
1
  import { extensionRegistry, i18n } from "@eclipse-docks/core";
2
2
  import pkg from "../package.json";
3
- //#region src/index.ts
3
+ // src/index.ts
4
4
  var t = await i18n(/* #__PURE__ */ Object.assign({
5
- "./i18n.de.json": () => import("./i18n.de-1c_lhkQt.js"),
6
- "./i18n.en.json": () => import("./i18n.en-9kAjUGx0.js")
5
+ "./i18n.de.json": () => import("./i18n.de-DF175pCo.js"),
6
+ "./i18n.en.json": () => import("./i18n.en-CrolH67j.js")
7
7
  }), true);
8
8
  extensionRegistry.registerExtension({
9
9
  id: pkg.name,
10
10
  name: t.EXT_WEBLLM_NAME,
11
11
  description: t.EXT_WEBLLM_DESC,
12
- loader: () => import("./webllmservice-Dk9S19ds.js"),
12
+ loader: () => import("./webllmservice-Dv4QLEVU.js"),
13
13
  icon: "robot",
14
14
  experimental: true,
15
15
  dependencies: ["@eclipse-docks/extension-ai-system"]
16
16
  });
17
- //#endregion
18
17
 
19
18
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "@eclipse-docks/core";
2
2
  import { cognitiveRuntime } from "@eclipse-docks/extension-ai-system/api";
3
3
  import { MLCEngine } from "@mlc-ai/web-llm";
4
- //#region src/webllmservice.ts
4
+ // src/webllmservice.ts
5
5
  var logger = createLogger("WebLLM");
6
6
  var DEFAULT_MODELS = [{
7
7
  id: "Llama-3.2-1B-Instruct-q4f16_1-MLC",
@@ -81,7 +81,6 @@ var webllmservice_default = () => {
81
81
  cognitiveRuntime.registerExternalProvider(new WebLLMProvider());
82
82
  logger.info("WebLLM provider registered");
83
83
  };
84
- //#endregion
85
84
  export { webllmservice_default as default };
86
85
 
87
- //# sourceMappingURL=webllmservice-Dk9S19ds.js.map
86
+ //# sourceMappingURL=webllmservice-Dv4QLEVU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webllmservice-Dk9S19ds.js","names":[],"sources":["../src/webllmservice.ts"],"sourcesContent":["import { createLogger } from '@eclipse-docks/core';\nimport {\n cognitiveRuntime,\n type ModelProvider,\n type ProviderChatMessage,\n type StreamChunk,\n type StreamParams,\n} from '@eclipse-docks/extension-ai-system/api';\nimport { ChatCompletionMessageParam, MLCEngine } from '@mlc-ai/web-llm';\n\nconst logger = createLogger('WebLLM');\n\nconst DEFAULT_MODELS = [\n { id: 'Llama-3.2-1B-Instruct-q4f16_1-MLC', name: 'Llama 3.2 1B (WebLLM)' },\n { id: 'Llama-3.2-3B-Instruct-q4f16_1-MLC', name: 'Llama 3.2 3B (WebLLM)' },\n];\n\nclass WebLLMProvider implements ModelProvider {\n readonly id = 'webllm';\n private engine?: MLCEngine;\n private loadedModel?: string;\n\n listModels(): Array<{ id: string; name: string }> {\n return DEFAULT_MODELS;\n }\n\n private async init(model: string): Promise<void> {\n if (this.engine && this.loadedModel === model) return;\n\n const initProgressCallback = (progress: unknown) => {\n logger.debug('Model loading progress:', progress);\n };\n\n this.engine = new MLCEngine({ initProgressCallback });\n await this.engine.reload(model);\n this.loadedModel = model;\n }\n\n async *stream(params: StreamParams): AsyncIterable<StreamChunk> {\n const model = params.model.includes('/') ? params.model.split('/').slice(1).join('/') : params.model;\n try {\n await this.init(model || DEFAULT_MODELS[0]!.id);\n } catch (err) {\n yield { type: 'error', error: err instanceof Error ? err.message : String(err) };\n return;\n }\n\n const messages = params.messages.map(toWebLLMMessage);\n try {\n const result = await this.engine!.chat.completions.create({ messages });\n const content = result.choices[0]?.message?.content;\n if (typeof content === 'string' && content) {\n yield { type: 'text', text: content };\n }\n yield { type: 'done' };\n } catch (err) {\n yield { type: 'error', error: err instanceof Error ? err.message : String(err) };\n }\n }\n}\n\nfunction toWebLLMMessage(message: ProviderChatMessage): ChatCompletionMessageParam {\n if (message.role === 'tool') {\n return {\n role: 'tool',\n tool_call_id: message.toolCallId ?? '',\n content: message.content,\n } as ChatCompletionMessageParam;\n }\n if (message.role === 'assistant' && message.toolCalls?.length) {\n return {\n role: 'assistant',\n content: message.content || null,\n tool_calls: message.toolCalls.map((tc) => ({\n id: tc.id,\n type: 'function' as const,\n function: { name: tc.name, arguments: tc.arguments || '{}' },\n })),\n } as ChatCompletionMessageParam;\n }\n return {\n role: message.role,\n content: message.content,\n } as ChatCompletionMessageParam;\n}\n\nexport default () => {\n cognitiveRuntime.start();\n cognitiveRuntime.registerExternalProvider(new WebLLMProvider());\n logger.info('WebLLM provider registered');\n};\n"],"mappings":";;;;AAUA,IAAM,SAAS,aAAa,QAAQ;AAEpC,IAAM,iBAAiB,CACrB;CAAE,IAAI;CAAqC,MAAM;AAAwB,GACzE;CAAE,IAAI;CAAqC,MAAM;AAAwB,CAC3E;AAEA,IAAM,iBAAN,MAA8C;;EAC9B,KAAA,KAAA;;CAId,aAAkD;EAChD,OAAO;CACT;CAEA,MAAc,KAAK,OAA8B;EAC/C,IAAI,KAAK,UAAU,KAAK,gBAAgB,OAAO;EAE/C,MAAM,wBAAwB,aAAsB;GAClD,OAAO,MAAM,2BAA2B,QAAQ;EAClD;EAEA,KAAK,SAAS,IAAI,UAAU,EAAE,qBAAqB,CAAC;EACpD,MAAM,KAAK,OAAO,OAAO,KAAK;EAC9B,KAAK,cAAc;CACrB;CAEA,OAAO,OAAO,QAAkD;EAC9D,MAAM,QAAQ,OAAO,MAAM,SAAS,GAAG,IAAI,OAAO,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO;EAC/F,IAAI;GACF,MAAM,KAAK,KAAK,SAAS,eAAe,EAAE,CAAE,EAAE;EAChD,SAAS,KAAK;GACZ,MAAM;IAAE,MAAM;IAAS,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;GAAE;GAC/E;EACF;EAEA,MAAM,WAAW,OAAO,SAAS,IAAI,eAAe;EACpD,IAAI;GAEF,MAAM,WAAU,MADK,KAAK,OAAQ,KAAK,YAAY,OAAO,EAAE,SAAS,CAAC,EAAA,CAC/C,QAAQ,EAAE,EAAE,SAAS;GAC5C,IAAI,OAAO,YAAY,YAAY,SACjC,MAAM;IAAE,MAAM;IAAQ,MAAM;GAAQ;GAEtC,MAAM,EAAE,MAAM,OAAO;EACvB,SAAS,KAAK;GACZ,MAAM;IAAE,MAAM;IAAS,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;GAAE;EACjF;CACF;AACF;AAEA,SAAS,gBAAgB,SAA0D;CACjF,IAAI,QAAQ,SAAS,QACnB,OAAO;EACL,MAAM;EACN,cAAc,QAAQ,cAAc;EACpC,SAAS,QAAQ;CACnB;CAEF,IAAI,QAAQ,SAAS,eAAe,QAAQ,WAAW,QACrD,OAAO;EACL,MAAM;EACN,SAAS,QAAQ,WAAW;EAC5B,YAAY,QAAQ,UAAU,KAAK,QAAQ;GACzC,IAAI,GAAG;GACP,MAAM;GACN,UAAU;IAAE,MAAM,GAAG;IAAM,WAAW,GAAG,aAAa;GAAK;EAC7D,EAAE;CACJ;CAEF,OAAO;EACL,MAAM,QAAQ;EACd,SAAS,QAAQ;CACnB;AACF;AAEA,IAAA,8BAAqB;CACnB,iBAAiB,MAAM;CACvB,iBAAiB,yBAAyB,IAAI,eAAe,CAAC;CAC9D,OAAO,KAAK,4BAA4B;AAC1C"}
1
+ {"version":3,"file":"webllmservice-Dv4QLEVU.js","names":[],"sources":["../src/webllmservice.ts"],"sourcesContent":["import { createLogger } from '@eclipse-docks/core';\nimport {\n cognitiveRuntime,\n type ModelProvider,\n type ProviderChatMessage,\n type StreamChunk,\n type StreamParams,\n} from '@eclipse-docks/extension-ai-system/api';\nimport { ChatCompletionMessageParam, MLCEngine } from '@mlc-ai/web-llm';\n\nconst logger = createLogger('WebLLM');\n\nconst DEFAULT_MODELS = [\n { id: 'Llama-3.2-1B-Instruct-q4f16_1-MLC', name: 'Llama 3.2 1B (WebLLM)' },\n { id: 'Llama-3.2-3B-Instruct-q4f16_1-MLC', name: 'Llama 3.2 3B (WebLLM)' },\n];\n\nclass WebLLMProvider implements ModelProvider {\n readonly id = 'webllm';\n private engine?: MLCEngine;\n private loadedModel?: string;\n\n listModels(): Array<{ id: string; name: string }> {\n return DEFAULT_MODELS;\n }\n\n private async init(model: string): Promise<void> {\n if (this.engine && this.loadedModel === model) return;\n\n const initProgressCallback = (progress: unknown) => {\n logger.debug('Model loading progress:', progress);\n };\n\n this.engine = new MLCEngine({ initProgressCallback });\n await this.engine.reload(model);\n this.loadedModel = model;\n }\n\n async *stream(params: StreamParams): AsyncIterable<StreamChunk> {\n const model = params.model.includes('/') ? params.model.split('/').slice(1).join('/') : params.model;\n try {\n await this.init(model || DEFAULT_MODELS[0]!.id);\n } catch (err) {\n yield { type: 'error', error: err instanceof Error ? err.message : String(err) };\n return;\n }\n\n const messages = params.messages.map(toWebLLMMessage);\n try {\n const result = await this.engine!.chat.completions.create({ messages });\n const content = result.choices[0]?.message?.content;\n if (typeof content === 'string' && content) {\n yield { type: 'text', text: content };\n }\n yield { type: 'done' };\n } catch (err) {\n yield { type: 'error', error: err instanceof Error ? err.message : String(err) };\n }\n }\n}\n\nfunction toWebLLMMessage(message: ProviderChatMessage): ChatCompletionMessageParam {\n if (message.role === 'tool') {\n return {\n role: 'tool',\n tool_call_id: message.toolCallId ?? '',\n content: message.content,\n } as ChatCompletionMessageParam;\n }\n if (message.role === 'assistant' && message.toolCalls?.length) {\n return {\n role: 'assistant',\n content: message.content || null,\n tool_calls: message.toolCalls.map((tc) => ({\n id: tc.id,\n type: 'function' as const,\n function: { name: tc.name, arguments: tc.arguments || '{}' },\n })),\n } as ChatCompletionMessageParam;\n }\n return {\n role: message.role,\n content: message.content,\n } as ChatCompletionMessageParam;\n}\n\nexport default () => {\n cognitiveRuntime.start();\n cognitiveRuntime.registerExternalProvider(new WebLLMProvider());\n logger.info('WebLLM provider registered');\n};\n"],"mappings":";;;;AAUA,IAAM,SAAS,aAAa,QAAQ;AAEpC,IAAM,iBAAiB,CACrB;CAAE,IAAI;CAAqC,MAAM;AAAwB,GACzE;CAAE,IAAI;CAAqC,MAAM;AAAwB,CAC3E;AAEA,IAAM,iBAAN,MAA8C;;EAC9B,KAAA,KAAA;;CAId,aAAkD;EAChD,OAAO;CACT;CAEA,MAAc,KAAK,OAA8B;EAC/C,IAAI,KAAK,UAAU,KAAK,gBAAgB,OAAO;EAE/C,MAAM,wBAAwB,aAAsB;GAClD,OAAO,MAAM,2BAA2B,QAAQ;EAClD;EAEA,KAAK,SAAS,IAAI,UAAU,EAAE,qBAAqB,CAAC;EACpD,MAAM,KAAK,OAAO,OAAO,KAAK;EAC9B,KAAK,cAAc;CACrB;CAEA,OAAO,OAAO,QAAkD;EAC9D,MAAM,QAAQ,OAAO,MAAM,SAAS,GAAG,IAAI,OAAO,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO;EAC/F,IAAI;GACF,MAAM,KAAK,KAAK,SAAS,eAAe,EAAE,CAAE,EAAE;EAChD,SAAS,KAAK;GACZ,MAAM;IAAE,MAAM;IAAS,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;GAAE;GAC/E;EACF;EAEA,MAAM,WAAW,OAAO,SAAS,IAAI,eAAe;EACpD,IAAI;GAEF,MAAM,WAAU,MADK,KAAK,OAAQ,KAAK,YAAY,OAAO,EAAE,SAAS,CAAC,EAAA,CAC/C,QAAQ,EAAE,EAAE,SAAS;GAC5C,IAAI,OAAO,YAAY,YAAY,SACjC,MAAM;IAAE,MAAM;IAAQ,MAAM;GAAQ;GAEtC,MAAM,EAAE,MAAM,OAAO;EACvB,SAAS,KAAK;GACZ,MAAM;IAAE,MAAM;IAAS,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;GAAE;EACjF;CACF;AACF;AAEA,SAAS,gBAAgB,SAA0D;CACjF,IAAI,QAAQ,SAAS,QACnB,OAAO;EACL,MAAM;EACN,cAAc,QAAQ,cAAc;EACpC,SAAS,QAAQ;CACnB;CAEF,IAAI,QAAQ,SAAS,eAAe,QAAQ,WAAW,QACrD,OAAO;EACL,MAAM;EACN,SAAS,QAAQ,WAAW;EAC5B,YAAY,QAAQ,UAAU,KAAK,QAAQ;GACzC,IAAI,GAAG;GACP,MAAM;GACN,UAAU;IAAE,MAAM,GAAG;IAAM,WAAW,GAAG,aAAa;GAAK;EAC7D,EAAE;CACJ;CAEF,OAAO;EACL,MAAM,QAAQ;EACd,SAAS,QAAQ;CACnB;AACF;AAEA,IAAA,8BAAqB;CACnB,iBAAiB,MAAM;CACvB,iBAAiB,yBAAyB,IAAI,eAAe,CAAC;CAC9D,OAAO,KAAK,4BAA4B;AAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-docks/extension-webllm",
3
- "version": "0.8.12",
3
+ "version": "0.8.14",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",