@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.
- package/dist/config-cli.js +106 -18
- package/dist/index.js +88 -10
- package/package.json +3 -3
package/dist/config-cli.js
CHANGED
|
@@ -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
|
-
|
|
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:
|
|
606
|
+
model: INFERENCE_PROVIDERS.ollama.defaultModels.embedding,
|
|
543
607
|
baseURL: "http://localhost:11434",
|
|
544
|
-
dimensions:
|
|
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:
|
|
584
|
-
codeModel:
|
|
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:
|
|
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 =
|
|
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
|
|
3568
|
-
baseURL:
|
|
3569
|
-
dimensions:
|
|
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 ||
|
|
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:
|
|
3662
|
+
baseURL: urls.embeddingBaseUrl,
|
|
3577
3663
|
dimensions: INFERENCE_PROVIDERS.lmstudio.knownDimensions[model] ?? 768
|
|
3578
3664
|
};
|
|
3579
|
-
config2.llm.baseUrl =
|
|
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
|
-
|
|
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:
|
|
605
|
+
model: INFERENCE_PROVIDERS.ollama.defaultModels.embedding,
|
|
542
606
|
baseURL: "http://localhost:11434",
|
|
543
|
-
dimensions:
|
|
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:
|
|
583
|
-
codeModel:
|
|
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.
|
|
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.
|
|
28
|
-
"@massa-ai/shared": "^1.
|
|
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",
|