@massa-ai/mcp-client 1.67.0 → 1.68.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.
@@ -484,13 +484,14 @@ var init_inference_providers = __esm(() => {
484
484
  knownDimensions: KNOWN_EMBEDDING_DIMENSIONS,
485
485
  defaultModels: {
486
486
  embedding: "qwen3-embedding:0.6b",
487
- instruct: "qwen3-vl:8b",
488
- coding: "qwen2.5-coder:7b"
487
+ instruct: "qwen3.5:9b",
488
+ coding: "qwen3.5:9b"
489
489
  },
490
490
  appliesContextPerRequest: true,
491
491
  embedBatchSize: 64,
492
492
  supportsOllamaVersionProbe: true,
493
493
  injectsDisableThink: true,
494
+ injectsChatTemplateKwargs: false,
494
495
  requiresChatCompletionsApi: false,
495
496
  parseModelList: parseOllamaModelList
496
497
  },
@@ -510,8 +511,8 @@ var init_inference_providers = __esm(() => {
510
511
  },
511
512
  defaultModels: {
512
513
  embedding: "text-embedding-qwen3-embedding-0.6b",
513
- instruct: "qwen3-vl-8b-instruct",
514
- coding: "qwen2.5-coder-7b-instruct"
514
+ instruct: "qwen3.8-9b",
515
+ coding: "qwen3.8-9b"
515
516
  },
516
517
  mlxModels: {
517
518
  embedding: {
@@ -519,23 +520,24 @@ var init_inference_providers = __esm(() => {
519
520
  model: "qwen3-embedding-0.6b-dwq"
520
521
  },
521
522
  instruct: {
522
- repo: "mlx-community/Qwen3-VL-8B-Instruct-4bit",
523
- model: "qwen3-vl-8b-instruct"
523
+ repo: "keXjos/Qwen3.8-9B-mlx-4Bit",
524
+ model: "qwen3.8-9b"
524
525
  },
525
526
  coding: {
526
- repo: "mlx-community/Qwen2.5-Coder-7B-Instruct-4bit",
527
- model: "qwen2.5-coder-7b-instruct"
527
+ repo: "keXjos/Qwen3.8-9B-mlx-4Bit",
528
+ model: "qwen3.8-9b"
528
529
  }
529
530
  },
530
531
  ggufRepos: {
531
532
  embedding: "Qwen/Qwen3-Embedding-0.6B-GGUF",
532
- instruct: "lmstudio-community/Qwen3-VL-8B-Instruct-GGUF",
533
- coding: "lmstudio-community/Qwen2.5-Coder-7B-Instruct-GGUF"
533
+ instruct: "empero-ai/Qwen3.8-9B-Distill-GGUF",
534
+ coding: "empero-ai/Qwen3.8-9B-Distill-GGUF"
534
535
  },
535
536
  appliesContextPerRequest: false,
536
537
  embedBatchSize: 64,
537
538
  supportsOllamaVersionProbe: false,
538
539
  injectsDisableThink: false,
540
+ injectsChatTemplateKwargs: true,
539
541
  requiresChatCompletionsApi: true,
540
542
  parseModelList: parseLmStudioModelList
541
543
  }
@@ -52852,9 +52854,13 @@ function _setLlmEnabledForTesting(flag) {
52852
52854
  function _resolveLlmConfig(cfg, role, baseUrlOverride) {
52853
52855
  const baseUrl = baseUrlOverride ?? cfg?.baseUrl ?? INFERENCE_PROVIDERS.ollama.defaultLlmBaseUrl;
52854
52856
  const spec = resolveInferenceSpec(baseUrl);
52855
- const model = role === "code" ? cfg?.codeModel ?? spec.defaultModels.coding : cfg?.model ?? spec.defaultModels.instruct;
52857
+ const instructModel = cfg?.model ?? spec.defaultModels.instruct;
52858
+ const codeModel = cfg?.codeModel ?? spec.defaultModels.coding;
52859
+ const model = role === "code" ? codeModel : instructModel;
52856
52860
  const temperature = role === "code" ? cfg?.codeTemperature ?? INFERENCE_ROLE_DEFAULTS.coding.temperature : cfg?.temperature ?? INFERENCE_ROLE_DEFAULTS.instruct.temperature;
52857
- const contextWindow = role === "code" ? cfg?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow : cfg?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow;
52861
+ const instructContext = cfg?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow;
52862
+ const codeContext = cfg?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow;
52863
+ const contextWindow = instructModel === codeModel ? Math.max(instructContext, codeContext) : role === "code" ? codeContext : instructContext;
52858
52864
  return {
52859
52865
  baseUrl,
52860
52866
  apiKey: cfg?.apiKey ?? spec.id,
@@ -52903,13 +52909,13 @@ function resolveInferenceSpec(baseUrl) {
52903
52909
  function resolveProviderIdForLogging(baseUrl) {
52904
52910
  return resolveMatchedProviderSpec(baseUrl)?.id ?? "unknown";
52905
52911
  }
52906
- function _wrapFetchDisableThink(baseFetch) {
52912
+ function _wrapFetchDisableThink(baseFetch, field = "think", value = false) {
52907
52913
  const wrapped = async (input, init) => {
52908
52914
  try {
52909
52915
  if (init?.body && typeof init.body === "string") {
52910
52916
  const parsed = JSON.parse(init.body);
52911
- if (parsed && typeof parsed === "object" && !("think" in parsed)) {
52912
- parsed.think = false;
52917
+ if (parsed && typeof parsed === "object" && !(field in parsed)) {
52918
+ parsed[field] = value;
52913
52919
  init = { ...init, body: JSON.stringify(parsed) };
52914
52920
  }
52915
52921
  }
@@ -52942,6 +52948,11 @@ function buildProvider(llm) {
52942
52948
  if (llm.disableThink && spec.injectsDisableThink) {
52943
52949
  fetchImpl = _wrapFetchDisableThink(fetchImpl ?? globalThis.fetch);
52944
52950
  }
52951
+ if (llm.disableThink && spec.injectsChatTemplateKwargs) {
52952
+ fetchImpl = _wrapFetchDisableThink(fetchImpl ?? globalThis.fetch, "chat_template_kwargs", {
52953
+ enable_thinking: false
52954
+ });
52955
+ }
52945
52956
  const openai2 = createOpenAI({
52946
52957
  baseURL: llm.baseUrl,
52947
52958
  apiKey: llm.apiKey,
package/dist/index.js CHANGED
@@ -25481,13 +25481,14 @@ var init_inference_providers = __esm(() => {
25481
25481
  knownDimensions: KNOWN_EMBEDDING_DIMENSIONS,
25482
25482
  defaultModels: {
25483
25483
  embedding: "qwen3-embedding:0.6b",
25484
- instruct: "qwen3-vl:8b",
25485
- coding: "qwen2.5-coder:7b"
25484
+ instruct: "qwen3.5:9b",
25485
+ coding: "qwen3.5:9b"
25486
25486
  },
25487
25487
  appliesContextPerRequest: true,
25488
25488
  embedBatchSize: 64,
25489
25489
  supportsOllamaVersionProbe: true,
25490
25490
  injectsDisableThink: true,
25491
+ injectsChatTemplateKwargs: false,
25491
25492
  requiresChatCompletionsApi: false,
25492
25493
  parseModelList: parseOllamaModelList
25493
25494
  },
@@ -25507,8 +25508,8 @@ var init_inference_providers = __esm(() => {
25507
25508
  },
25508
25509
  defaultModels: {
25509
25510
  embedding: "text-embedding-qwen3-embedding-0.6b",
25510
- instruct: "qwen3-vl-8b-instruct",
25511
- coding: "qwen2.5-coder-7b-instruct"
25511
+ instruct: "qwen3.8-9b",
25512
+ coding: "qwen3.8-9b"
25512
25513
  },
25513
25514
  mlxModels: {
25514
25515
  embedding: {
@@ -25516,23 +25517,24 @@ var init_inference_providers = __esm(() => {
25516
25517
  model: "qwen3-embedding-0.6b-dwq"
25517
25518
  },
25518
25519
  instruct: {
25519
- repo: "mlx-community/Qwen3-VL-8B-Instruct-4bit",
25520
- model: "qwen3-vl-8b-instruct"
25520
+ repo: "keXjos/Qwen3.8-9B-mlx-4Bit",
25521
+ model: "qwen3.8-9b"
25521
25522
  },
25522
25523
  coding: {
25523
- repo: "mlx-community/Qwen2.5-Coder-7B-Instruct-4bit",
25524
- model: "qwen2.5-coder-7b-instruct"
25524
+ repo: "keXjos/Qwen3.8-9B-mlx-4Bit",
25525
+ model: "qwen3.8-9b"
25525
25526
  }
25526
25527
  },
25527
25528
  ggufRepos: {
25528
25529
  embedding: "Qwen/Qwen3-Embedding-0.6B-GGUF",
25529
- instruct: "lmstudio-community/Qwen3-VL-8B-Instruct-GGUF",
25530
- coding: "lmstudio-community/Qwen2.5-Coder-7B-Instruct-GGUF"
25530
+ instruct: "empero-ai/Qwen3.8-9B-Distill-GGUF",
25531
+ coding: "empero-ai/Qwen3.8-9B-Distill-GGUF"
25531
25532
  },
25532
25533
  appliesContextPerRequest: false,
25533
25534
  embedBatchSize: 64,
25534
25535
  supportsOllamaVersionProbe: false,
25535
25536
  injectsDisableThink: false,
25537
+ injectsChatTemplateKwargs: true,
25536
25538
  requiresChatCompletionsApi: true,
25537
25539
  parseModelList: parseLmStudioModelList
25538
25540
  }
@@ -59411,9 +59413,13 @@ function _setLlmEnabledForTesting(flag) {
59411
59413
  function _resolveLlmConfig(cfg, role, baseUrlOverride) {
59412
59414
  const baseUrl = baseUrlOverride ?? cfg?.baseUrl ?? INFERENCE_PROVIDERS.ollama.defaultLlmBaseUrl;
59413
59415
  const spec = resolveInferenceSpec(baseUrl);
59414
- const model = role === "code" ? cfg?.codeModel ?? spec.defaultModels.coding : cfg?.model ?? spec.defaultModels.instruct;
59416
+ const instructModel = cfg?.model ?? spec.defaultModels.instruct;
59417
+ const codeModel = cfg?.codeModel ?? spec.defaultModels.coding;
59418
+ const model = role === "code" ? codeModel : instructModel;
59415
59419
  const temperature = role === "code" ? cfg?.codeTemperature ?? INFERENCE_ROLE_DEFAULTS.coding.temperature : cfg?.temperature ?? INFERENCE_ROLE_DEFAULTS.instruct.temperature;
59416
- const contextWindow = role === "code" ? cfg?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow : cfg?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow;
59420
+ const instructContext = cfg?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow;
59421
+ const codeContext = cfg?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow;
59422
+ const contextWindow = instructModel === codeModel ? Math.max(instructContext, codeContext) : role === "code" ? codeContext : instructContext;
59417
59423
  return {
59418
59424
  baseUrl,
59419
59425
  apiKey: cfg?.apiKey ?? spec.id,
@@ -59462,13 +59468,13 @@ function resolveInferenceSpec(baseUrl) {
59462
59468
  function resolveProviderIdForLogging(baseUrl) {
59463
59469
  return resolveMatchedProviderSpec(baseUrl)?.id ?? "unknown";
59464
59470
  }
59465
- function _wrapFetchDisableThink(baseFetch) {
59471
+ function _wrapFetchDisableThink(baseFetch, field = "think", value = false) {
59466
59472
  const wrapped = async (input, init) => {
59467
59473
  try {
59468
59474
  if (init?.body && typeof init.body === "string") {
59469
59475
  const parsed = JSON.parse(init.body);
59470
- if (parsed && typeof parsed === "object" && !("think" in parsed)) {
59471
- parsed.think = false;
59476
+ if (parsed && typeof parsed === "object" && !(field in parsed)) {
59477
+ parsed[field] = value;
59472
59478
  init = { ...init, body: JSON.stringify(parsed) };
59473
59479
  }
59474
59480
  }
@@ -59501,6 +59507,11 @@ function buildProvider(llm) {
59501
59507
  if (llm.disableThink && spec.injectsDisableThink) {
59502
59508
  fetchImpl = _wrapFetchDisableThink(fetchImpl ?? globalThis.fetch);
59503
59509
  }
59510
+ if (llm.disableThink && spec.injectsChatTemplateKwargs) {
59511
+ fetchImpl = _wrapFetchDisableThink(fetchImpl ?? globalThis.fetch, "chat_template_kwargs", {
59512
+ enable_thinking: false
59513
+ });
59514
+ }
59504
59515
  const openai2 = createOpenAI({
59505
59516
  baseURL: llm.baseUrl,
59506
59517
  apiKey: llm.apiKey,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massa-ai/mcp-client",
3
- "version": "1.67.0",
3
+ "version": "1.68.0",
4
4
  "description": "massa-ai MCP server - Semantic code search, memory, and context compression via Model Context Protocol",
5
5
  "author": "luizgmassa",
6
6
  "type": "module",
@@ -20,8 +20,8 @@
20
20
  "type-check": "tsc --noEmit"
21
21
  },
22
22
  "dependencies": {
23
- "@massa-ai/core": "^1.67.0",
24
- "@massa-ai/shared": "^1.67.0",
23
+ "@massa-ai/core": "^1.68.0",
24
+ "@massa-ai/shared": "^1.68.0",
25
25
  "@modelcontextprotocol/sdk": "^1.0.0"
26
26
  },
27
27
  "devDependencies": {