@massa-ai/opencode-plugin 1.58.0 → 1.60.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.
@@ -400,6 +400,11 @@ function configDir(app) {
400
400
  var init_xdg = () => {};
401
401
 
402
402
  // ../../packages/shared/dist/config/embedding-dimensions.js
403
+ function knownEmbeddingDimensions(model) {
404
+ if (!model)
405
+ return;
406
+ return KNOWN_EMBEDDING_DIMENSIONS[model.trim()];
407
+ }
403
408
  var KNOWN_EMBEDDING_DIMENSIONS;
404
409
  var init_embedding_dimensions = __esm(() => {
405
410
  KNOWN_EMBEDDING_DIMENSIONS = {
@@ -427,10 +432,33 @@ function parseLmStudioModelList(body) {
427
432
  return null;
428
433
  return data.map((entry) => entry.id).filter((id) => typeof id === "string");
429
434
  }
430
- var LOCAL_INFERENCE_IDS, INFERENCE_PROVIDERS;
435
+ function deriveInferenceBaseUrls(providerId, explicitBaseUrl) {
436
+ const spec = INFERENCE_PROVIDERS[providerId];
437
+ if (!explicitBaseUrl) {
438
+ return {
439
+ embeddingBaseUrl: spec.defaultEmbeddingBaseUrl,
440
+ llmBaseUrl: spec.defaultLlmBaseUrl
441
+ };
442
+ }
443
+ let end = explicitBaseUrl.length;
444
+ while (end > 0 && explicitBaseUrl.charCodeAt(end - 1) === SLASH)
445
+ end--;
446
+ const base = explicitBaseUrl.slice(0, end);
447
+ const suffix = spec.defaultLlmBaseUrl.startsWith(spec.defaultEmbeddingBaseUrl) ? spec.defaultLlmBaseUrl.slice(spec.defaultEmbeddingBaseUrl.length) : "";
448
+ return {
449
+ embeddingBaseUrl: base,
450
+ llmBaseUrl: `${base}${suffix}`
451
+ };
452
+ }
453
+ var LOCAL_INFERENCE_IDS, INFERENCE_ROLE_DEFAULTS, INFERENCE_PROVIDERS, SLASH = 47;
431
454
  var init_inference_providers = __esm(() => {
432
455
  init_embedding_dimensions();
433
456
  LOCAL_INFERENCE_IDS = ["ollama", "lmstudio"];
457
+ INFERENCE_ROLE_DEFAULTS = {
458
+ embedding: { contextWindow: 8192 },
459
+ instruct: { contextWindow: 16384, temperature: 0.2 },
460
+ coding: { contextWindow: 32768, temperature: 0 }
461
+ };
434
462
  INFERENCE_PROVIDERS = {
435
463
  ollama: {
436
464
  id: "ollama",
@@ -442,6 +470,13 @@ var init_inference_providers = __esm(() => {
442
470
  dimensions: "OLLAMA_EMBEDDING_DIMENSIONS"
443
471
  },
444
472
  knownDimensions: KNOWN_EMBEDDING_DIMENSIONS,
473
+ defaultModels: {
474
+ embedding: "qwen3-embedding:0.6b",
475
+ instruct: "qwen3-vl:8b",
476
+ coding: "qwen2.5-coder:7b"
477
+ },
478
+ appliesContextPerRequest: true,
479
+ embedBatchSize: 64,
445
480
  supportsOllamaVersionProbe: true,
446
481
  injectsDisableThink: true,
447
482
  requiresChatCompletionsApi: false,
@@ -457,8 +492,36 @@ var init_inference_providers = __esm(() => {
457
492
  dimensions: "LMSTUDIO_EMBEDDING_DIMENSIONS"
458
493
  },
459
494
  knownDimensions: {
460
- "text-embedding-nomic-embed-text-v1.5": 768
495
+ "text-embedding-nomic-embed-text-v1.5": 768,
496
+ "text-embedding-qwen3-embedding-0.6b": 1024,
497
+ "qwen3-embedding-0.6b-dwq": 1024
498
+ },
499
+ defaultModels: {
500
+ embedding: "text-embedding-qwen3-embedding-0.6b",
501
+ instruct: "qwen3-vl-8b-instruct",
502
+ coding: "qwen2.5-coder-7b-instruct"
461
503
  },
504
+ mlxModels: {
505
+ embedding: {
506
+ repo: "mlx-community/Qwen3-Embedding-0.6B-4bit-DWQ",
507
+ model: "qwen3-embedding-0.6b-dwq"
508
+ },
509
+ instruct: {
510
+ repo: "mlx-community/Qwen3-VL-8B-Instruct-4bit",
511
+ model: "qwen3-vl-8b-instruct"
512
+ },
513
+ coding: {
514
+ repo: "mlx-community/Qwen2.5-Coder-7B-Instruct-4bit",
515
+ model: "qwen2.5-coder-7b-instruct"
516
+ }
517
+ },
518
+ ggufRepos: {
519
+ embedding: "Qwen/Qwen3-Embedding-0.6B-GGUF",
520
+ instruct: "lmstudio-community/Qwen3-VL-8B-Instruct-GGUF",
521
+ coding: "lmstudio-community/Qwen2.5-Coder-7B-Instruct-GGUF"
522
+ },
523
+ appliesContextPerRequest: false,
524
+ embedBatchSize: 64,
462
525
  supportsOllamaVersionProbe: false,
463
526
  injectsDisableThink: false,
464
527
  requiresChatCompletionsApi: true,
@@ -473,6 +536,7 @@ var API_PROVIDER_IDS, EMBEDDING_PROVIDER_IDS, SCHEDULER_JOB_KINDS, MAX_MATCH_WOR
473
536
  var init_massa_ai_config = __esm(() => {
474
537
  init_xdg();
475
538
  init_inference_providers();
539
+ init_embedding_dimensions();
476
540
  API_PROVIDER_IDS = ["mistral", "openai", "google", "cohere"];
477
541
  EMBEDDING_PROVIDER_IDS = [
478
542
  ...LOCAL_INFERENCE_IDS,
@@ -539,9 +603,9 @@ var init_massa_ai_config = __esm(() => {
539
603
  },
540
604
  embedding: {
541
605
  provider: "ollama",
542
- model: "qwen3-embedding:4b",
606
+ model: INFERENCE_PROVIDERS.ollama.defaultModels.embedding,
543
607
  baseURL: "http://localhost:11434",
544
- dimensions: 2560
608
+ dimensions: knownEmbeddingDimensions(INFERENCE_PROVIDERS.ollama.defaultModels.embedding) ?? 768
545
609
  },
546
610
  compression: {
547
611
  defaultStrategy: "code_structure",
@@ -580,12 +644,15 @@ var init_massa_ai_config = __esm(() => {
580
644
  enabled: false,
581
645
  baseUrl: "http://localhost:11434/v1",
582
646
  apiKey: "ollama",
583
- model: "qwen2.5:7b-instruct",
584
- codeModel: "qwen2.5-coder:7b",
647
+ model: INFERENCE_PROVIDERS.ollama.defaultModels.instruct,
648
+ codeModel: INFERENCE_PROVIDERS.ollama.defaultModels.coding,
585
649
  temperature: 0.2,
586
650
  maxOutputTokens: 8000,
587
651
  timeoutMs: 90000,
588
- disableThink: true
652
+ disableThink: true,
653
+ contextWindow: INFERENCE_ROLE_DEFAULTS.instruct.contextWindow,
654
+ codeContextWindow: INFERENCE_ROLE_DEFAULTS.coding.contextWindow,
655
+ codeTemperature: INFERENCE_ROLE_DEFAULTS.coding.temperature
589
656
  },
590
657
  memory: {
591
658
  decay: {
@@ -986,6 +1053,7 @@ try {
986
1053
  // ../../packages/shared/dist/config/index.js
987
1054
  init_config_loader();
988
1055
  init_massa_ai_config();
1056
+ init_inference_providers();
989
1057
  init_massa_ai_config();
990
1058
  init_massa_ai_config();
991
1059
  init_config_loader();
@@ -1003,8 +1071,6 @@ init_config_loader();
1003
1071
 
1004
1072
  // ../../packages/shared/dist/config/index.js
1005
1073
  init_embedding_dimensions();
1006
- var DEFAULT_LLM_MODEL = "qwen2.5:7b-instruct";
1007
- var DEFAULT_LLM_CODE_MODEL = "qwen2.5-coder:7b";
1008
1074
  function envNum(key, fallback) {
1009
1075
  const s = process.env[key];
1010
1076
  if (s === undefined || s === "")
@@ -1177,6 +1243,15 @@ var DEFAULT_ALLOWED_EXTENSIONS = [
1177
1243
  ".hs"
1178
1244
  ];
1179
1245
  var fileConfig = loadConfigSafe();
1246
+ function activeInferenceProviderId() {
1247
+ const providerId = fileConfig.embedding?.provider;
1248
+ if (providerId && LOCAL_INFERENCE_IDS.includes(providerId)) {
1249
+ return providerId;
1250
+ }
1251
+ return "ollama";
1252
+ }
1253
+ var DEFAULT_LLM_MODEL = INFERENCE_PROVIDERS[activeInferenceProviderId()].defaultModels.instruct;
1254
+ var DEFAULT_LLM_CODE_MODEL = INFERENCE_PROVIDERS[activeInferenceProviderId()].defaultModels.coding;
1180
1255
  var fileCacheL1Bytes = fileConfig.cache?.l1MaxSizeMB ? fileConfig.cache.l1MaxSizeMB * 1024 * 1024 : undefined;
1181
1256
  var fileCacheL2Bytes = fileConfig.cache?.l2MaxSizeMB ? fileConfig.cache.l2MaxSizeMB * 1024 * 1024 : undefined;
1182
1257
  var resolvedDataDir = getGlobalDataDir();
@@ -1219,7 +1294,10 @@ var defaultConfig = {
1219
1294
  temperature: envNum("MASSA_AI_LLM_TEMPERATURE", fileConfig.llm?.temperature ?? 0.2),
1220
1295
  maxOutputTokens: envNum("MASSA_AI_LLM_MAX_OUTPUT_TOKENS", fileConfig.llm?.maxOutputTokens ?? 8000),
1221
1296
  timeoutMs: envNum("MASSA_AI_LLM_TIMEOUT_MS", fileConfig.llm?.timeoutMs ?? 90000),
1222
- disableThink: envBool("MASSA_AI_LLM_DISABLE_THINK", fileConfig.llm?.disableThink ?? true)
1297
+ disableThink: envBool("MASSA_AI_LLM_DISABLE_THINK", fileConfig.llm?.disableThink ?? true),
1298
+ contextWindow: fileConfig.llm?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow,
1299
+ codeContextWindow: fileConfig.llm?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow,
1300
+ codeTemperature: envNum("MASSA_AI_LLM_CODE_TEMPERATURE", fileConfig.llm?.codeTemperature ?? INFERENCE_ROLE_DEFAULTS.coding.temperature)
1223
1301
  },
1224
1302
  memory: {
1225
1303
  decay: {
@@ -3420,7 +3498,7 @@ Examples:
3420
3498
  massa-ai-config init
3421
3499
  massa-ai-config init --lmstudio
3422
3500
  massa-ai-config init --mistral your-api-key
3423
- massa-ai-config use ollama --model qwen3-embedding:4b
3501
+ massa-ai-config use ollama --model qwen3-embedding:0.6b
3424
3502
  massa-ai-config use lmstudio
3425
3503
  massa-ai-config use mistral --api-key your-key
3426
3504
  massa-ai-config set embedding.dimensions 1024
@@ -3502,7 +3580,7 @@ async function runCli(argv) {
3502
3580
  console.log("\u2713 Configured for OpenAI embeddings");
3503
3581
  } else if (options.lmstudio) {
3504
3582
  const config2 = loadConfig();
3505
- const model = "text-embedding-nomic-embed-text-v1.5";
3583
+ const model = INFERENCE_PROVIDERS.lmstudio.defaultModels.embedding;
3506
3584
  config2.embedding = {
3507
3585
  provider: "lmstudio",
3508
3586
  model,
@@ -3510,6 +3588,8 @@ async function runCli(argv) {
3510
3588
  dimensions: INFERENCE_PROVIDERS.lmstudio.knownDimensions[model] ?? 768
3511
3589
  };
3512
3590
  config2.llm.baseUrl = INFERENCE_PROVIDERS.lmstudio.defaultLlmBaseUrl;
3591
+ config2.llm.model = INFERENCE_PROVIDERS.lmstudio.defaultModels.instruct;
3592
+ config2.llm.codeModel = INFERENCE_PROVIDERS.lmstudio.defaultModels.coding;
3513
3593
  saveConfig(config2);
3514
3594
  console.log("\u2713 Configured for LM Studio (local) embeddings");
3515
3595
  } else {
@@ -3562,21 +3642,29 @@ Using defaults:`);
3562
3642
  }
3563
3643
  const config2 = loadConfig();
3564
3644
  if (provider === "ollama") {
3645
+ const model = options.model || INFERENCE_PROVIDERS.ollama.defaultModels.embedding;
3646
+ const urls = deriveInferenceBaseUrls("ollama", options["base-url"]);
3565
3647
  config2.embedding = {
3566
3648
  provider: "ollama",
3567
- model: options.model || "qwen3-embedding:4b",
3568
- baseURL: options["base-url"] || "http://localhost:11434",
3569
- dimensions: 2560
3649
+ model,
3650
+ baseURL: urls.embeddingBaseUrl,
3651
+ dimensions: knownEmbeddingDimensions(model) ?? 768
3570
3652
  };
3653
+ config2.llm.baseUrl = urls.llmBaseUrl;
3654
+ config2.llm.model = INFERENCE_PROVIDERS.ollama.defaultModels.instruct;
3655
+ config2.llm.codeModel = INFERENCE_PROVIDERS.ollama.defaultModels.coding;
3571
3656
  } else if (provider === "lmstudio") {
3572
- const model = options.model || "text-embedding-nomic-embed-text-v1.5";
3657
+ const model = options.model || INFERENCE_PROVIDERS.lmstudio.defaultModels.embedding;
3658
+ const urls = deriveInferenceBaseUrls("lmstudio", options["base-url"]);
3573
3659
  config2.embedding = {
3574
3660
  provider: "lmstudio",
3575
3661
  model,
3576
- baseURL: options["base-url"] || INFERENCE_PROVIDERS.lmstudio.defaultEmbeddingBaseUrl,
3662
+ baseURL: urls.embeddingBaseUrl,
3577
3663
  dimensions: INFERENCE_PROVIDERS.lmstudio.knownDimensions[model] ?? 768
3578
3664
  };
3579
- config2.llm.baseUrl = options["base-url"] || INFERENCE_PROVIDERS.lmstudio.defaultLlmBaseUrl;
3665
+ config2.llm.baseUrl = urls.llmBaseUrl;
3666
+ config2.llm.model = INFERENCE_PROVIDERS.lmstudio.defaultModels.instruct;
3667
+ config2.llm.codeModel = INFERENCE_PROVIDERS.lmstudio.defaultModels.coding;
3580
3668
  } else if (provider === "mistral") {
3581
3669
  if (!options["api-key"]) {
3582
3670
  console.error("Error: --api-key required for Mistral");
package/dist/index.js CHANGED
@@ -399,6 +399,11 @@ function configDir(app) {
399
399
  var init_xdg = () => {};
400
400
 
401
401
  // ../../packages/shared/dist/config/embedding-dimensions.js
402
+ function knownEmbeddingDimensions(model) {
403
+ if (!model)
404
+ return;
405
+ return KNOWN_EMBEDDING_DIMENSIONS[model.trim()];
406
+ }
402
407
  var KNOWN_EMBEDDING_DIMENSIONS;
403
408
  var init_embedding_dimensions = __esm(() => {
404
409
  KNOWN_EMBEDDING_DIMENSIONS = {
@@ -426,10 +431,33 @@ function parseLmStudioModelList(body) {
426
431
  return null;
427
432
  return data.map((entry) => entry.id).filter((id) => typeof id === "string");
428
433
  }
429
- var LOCAL_INFERENCE_IDS, INFERENCE_PROVIDERS;
434
+ function deriveInferenceBaseUrls(providerId, explicitBaseUrl) {
435
+ const spec = INFERENCE_PROVIDERS[providerId];
436
+ if (!explicitBaseUrl) {
437
+ return {
438
+ embeddingBaseUrl: spec.defaultEmbeddingBaseUrl,
439
+ llmBaseUrl: spec.defaultLlmBaseUrl
440
+ };
441
+ }
442
+ let end = explicitBaseUrl.length;
443
+ while (end > 0 && explicitBaseUrl.charCodeAt(end - 1) === SLASH)
444
+ end--;
445
+ const base = explicitBaseUrl.slice(0, end);
446
+ const suffix = spec.defaultLlmBaseUrl.startsWith(spec.defaultEmbeddingBaseUrl) ? spec.defaultLlmBaseUrl.slice(spec.defaultEmbeddingBaseUrl.length) : "";
447
+ return {
448
+ embeddingBaseUrl: base,
449
+ llmBaseUrl: `${base}${suffix}`
450
+ };
451
+ }
452
+ var LOCAL_INFERENCE_IDS, INFERENCE_ROLE_DEFAULTS, INFERENCE_PROVIDERS, SLASH = 47;
430
453
  var init_inference_providers = __esm(() => {
431
454
  init_embedding_dimensions();
432
455
  LOCAL_INFERENCE_IDS = ["ollama", "lmstudio"];
456
+ INFERENCE_ROLE_DEFAULTS = {
457
+ embedding: { contextWindow: 8192 },
458
+ instruct: { contextWindow: 16384, temperature: 0.2 },
459
+ coding: { contextWindow: 32768, temperature: 0 }
460
+ };
433
461
  INFERENCE_PROVIDERS = {
434
462
  ollama: {
435
463
  id: "ollama",
@@ -441,6 +469,13 @@ var init_inference_providers = __esm(() => {
441
469
  dimensions: "OLLAMA_EMBEDDING_DIMENSIONS"
442
470
  },
443
471
  knownDimensions: KNOWN_EMBEDDING_DIMENSIONS,
472
+ defaultModels: {
473
+ embedding: "qwen3-embedding:0.6b",
474
+ instruct: "qwen3-vl:8b",
475
+ coding: "qwen2.5-coder:7b"
476
+ },
477
+ appliesContextPerRequest: true,
478
+ embedBatchSize: 64,
444
479
  supportsOllamaVersionProbe: true,
445
480
  injectsDisableThink: true,
446
481
  requiresChatCompletionsApi: false,
@@ -456,8 +491,36 @@ var init_inference_providers = __esm(() => {
456
491
  dimensions: "LMSTUDIO_EMBEDDING_DIMENSIONS"
457
492
  },
458
493
  knownDimensions: {
459
- "text-embedding-nomic-embed-text-v1.5": 768
494
+ "text-embedding-nomic-embed-text-v1.5": 768,
495
+ "text-embedding-qwen3-embedding-0.6b": 1024,
496
+ "qwen3-embedding-0.6b-dwq": 1024
460
497
  },
498
+ defaultModels: {
499
+ embedding: "text-embedding-qwen3-embedding-0.6b",
500
+ instruct: "qwen3-vl-8b-instruct",
501
+ coding: "qwen2.5-coder-7b-instruct"
502
+ },
503
+ mlxModels: {
504
+ embedding: {
505
+ repo: "mlx-community/Qwen3-Embedding-0.6B-4bit-DWQ",
506
+ model: "qwen3-embedding-0.6b-dwq"
507
+ },
508
+ instruct: {
509
+ repo: "mlx-community/Qwen3-VL-8B-Instruct-4bit",
510
+ model: "qwen3-vl-8b-instruct"
511
+ },
512
+ coding: {
513
+ repo: "mlx-community/Qwen2.5-Coder-7B-Instruct-4bit",
514
+ model: "qwen2.5-coder-7b-instruct"
515
+ }
516
+ },
517
+ ggufRepos: {
518
+ embedding: "Qwen/Qwen3-Embedding-0.6B-GGUF",
519
+ instruct: "lmstudio-community/Qwen3-VL-8B-Instruct-GGUF",
520
+ coding: "lmstudio-community/Qwen2.5-Coder-7B-Instruct-GGUF"
521
+ },
522
+ appliesContextPerRequest: false,
523
+ embedBatchSize: 64,
461
524
  supportsOllamaVersionProbe: false,
462
525
  injectsDisableThink: false,
463
526
  requiresChatCompletionsApi: true,
@@ -472,6 +535,7 @@ var API_PROVIDER_IDS, EMBEDDING_PROVIDER_IDS, SCHEDULER_JOB_KINDS, MAX_MATCH_WOR
472
535
  var init_massa_ai_config = __esm(() => {
473
536
  init_xdg();
474
537
  init_inference_providers();
538
+ init_embedding_dimensions();
475
539
  API_PROVIDER_IDS = ["mistral", "openai", "google", "cohere"];
476
540
  EMBEDDING_PROVIDER_IDS = [
477
541
  ...LOCAL_INFERENCE_IDS,
@@ -538,9 +602,9 @@ var init_massa_ai_config = __esm(() => {
538
602
  },
539
603
  embedding: {
540
604
  provider: "ollama",
541
- model: "qwen3-embedding:4b",
605
+ model: INFERENCE_PROVIDERS.ollama.defaultModels.embedding,
542
606
  baseURL: "http://localhost:11434",
543
- dimensions: 2560
607
+ dimensions: knownEmbeddingDimensions(INFERENCE_PROVIDERS.ollama.defaultModels.embedding) ?? 768
544
608
  },
545
609
  compression: {
546
610
  defaultStrategy: "code_structure",
@@ -579,12 +643,15 @@ var init_massa_ai_config = __esm(() => {
579
643
  enabled: false,
580
644
  baseUrl: "http://localhost:11434/v1",
581
645
  apiKey: "ollama",
582
- model: "qwen2.5:7b-instruct",
583
- codeModel: "qwen2.5-coder:7b",
646
+ model: INFERENCE_PROVIDERS.ollama.defaultModels.instruct,
647
+ codeModel: INFERENCE_PROVIDERS.ollama.defaultModels.coding,
584
648
  temperature: 0.2,
585
649
  maxOutputTokens: 8000,
586
650
  timeoutMs: 90000,
587
- disableThink: true
651
+ disableThink: true,
652
+ contextWindow: INFERENCE_ROLE_DEFAULTS.instruct.contextWindow,
653
+ codeContextWindow: INFERENCE_ROLE_DEFAULTS.coding.contextWindow,
654
+ codeTemperature: INFERENCE_ROLE_DEFAULTS.coding.temperature
588
655
  },
589
656
  memory: {
590
657
  decay: {
@@ -985,6 +1052,7 @@ try {
985
1052
  // ../../packages/shared/dist/config/index.js
986
1053
  init_config_loader();
987
1054
  init_massa_ai_config();
1055
+ init_inference_providers();
988
1056
  init_massa_ai_config();
989
1057
  init_massa_ai_config();
990
1058
  init_config_loader();
@@ -1002,8 +1070,6 @@ init_config_loader();
1002
1070
 
1003
1071
  // ../../packages/shared/dist/config/index.js
1004
1072
  init_embedding_dimensions();
1005
- var DEFAULT_LLM_MODEL = "qwen2.5:7b-instruct";
1006
- var DEFAULT_LLM_CODE_MODEL = "qwen2.5-coder:7b";
1007
1073
  function envNum(key, fallback) {
1008
1074
  const s = process.env[key];
1009
1075
  if (s === undefined || s === "")
@@ -1176,6 +1242,15 @@ var DEFAULT_ALLOWED_EXTENSIONS = [
1176
1242
  ".hs"
1177
1243
  ];
1178
1244
  var fileConfig = loadConfigSafe();
1245
+ function activeInferenceProviderId() {
1246
+ const providerId = fileConfig.embedding?.provider;
1247
+ if (providerId && LOCAL_INFERENCE_IDS.includes(providerId)) {
1248
+ return providerId;
1249
+ }
1250
+ return "ollama";
1251
+ }
1252
+ var DEFAULT_LLM_MODEL = INFERENCE_PROVIDERS[activeInferenceProviderId()].defaultModels.instruct;
1253
+ var DEFAULT_LLM_CODE_MODEL = INFERENCE_PROVIDERS[activeInferenceProviderId()].defaultModels.coding;
1179
1254
  var fileCacheL1Bytes = fileConfig.cache?.l1MaxSizeMB ? fileConfig.cache.l1MaxSizeMB * 1024 * 1024 : undefined;
1180
1255
  var fileCacheL2Bytes = fileConfig.cache?.l2MaxSizeMB ? fileConfig.cache.l2MaxSizeMB * 1024 * 1024 : undefined;
1181
1256
  var resolvedDataDir = getGlobalDataDir();
@@ -1218,7 +1293,10 @@ var defaultConfig = {
1218
1293
  temperature: envNum("MASSA_AI_LLM_TEMPERATURE", fileConfig.llm?.temperature ?? 0.2),
1219
1294
  maxOutputTokens: envNum("MASSA_AI_LLM_MAX_OUTPUT_TOKENS", fileConfig.llm?.maxOutputTokens ?? 8000),
1220
1295
  timeoutMs: envNum("MASSA_AI_LLM_TIMEOUT_MS", fileConfig.llm?.timeoutMs ?? 90000),
1221
- disableThink: envBool("MASSA_AI_LLM_DISABLE_THINK", fileConfig.llm?.disableThink ?? true)
1296
+ disableThink: envBool("MASSA_AI_LLM_DISABLE_THINK", fileConfig.llm?.disableThink ?? true),
1297
+ contextWindow: fileConfig.llm?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow,
1298
+ codeContextWindow: fileConfig.llm?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow,
1299
+ codeTemperature: envNum("MASSA_AI_LLM_CODE_TEMPERATURE", fileConfig.llm?.codeTemperature ?? INFERENCE_ROLE_DEFAULTS.coding.temperature)
1222
1300
  },
1223
1301
  memory: {
1224
1302
  decay: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massa-ai/opencode-plugin",
3
- "version": "1.58.0",
3
+ "version": "1.60.0",
4
4
  "description": "massa-ai plugin for OpenCode - Semantic code search, memory, and context compression",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "dependencies": {
25
25
  "@opencode-ai/plugin": "^1.2.15",
26
26
  "@opencode-ai/sdk": "^1.2.15",
27
- "@massa-ai/core": "^1.58.0",
28
- "@massa-ai/shared": "^1.58.0"
27
+ "@massa-ai/core": "^1.60.0",
28
+ "@massa-ai/shared": "^1.60.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.10.5",