@massa-ai/core 1.57.0 → 1.59.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.
Files changed (58) hide show
  1. package/dist/data/symbol/symbol-repo-workspace.d.ts +17 -0
  2. package/dist/data/symbol/symbol-repo-workspace.d.ts.map +1 -1
  3. package/dist/data/symbol/symbol-repo-workspace.js +29 -0
  4. package/dist/data/symbol/symbol-repo-workspace.js.map +1 -1
  5. package/dist/data/vector/postgres-vector-store.d.ts +20 -0
  6. package/dist/data/vector/postgres-vector-store.d.ts.map +1 -1
  7. package/dist/data/vector/postgres-vector-store.js +26 -2
  8. package/dist/data/vector/postgres-vector-store.js.map +1 -1
  9. package/dist/generated/prisma/edge.js +5 -4
  10. package/dist/generated/prisma/index-browser.js +1 -0
  11. package/dist/generated/prisma/index.d.ts +71 -1
  12. package/dist/generated/prisma/index.js +5 -4
  13. package/dist/generated/prisma/package.json +1 -1
  14. package/dist/generated/prisma/schema.prisma +3 -0
  15. package/dist/kernel/inference-probe.d.ts +18 -0
  16. package/dist/kernel/inference-probe.d.ts.map +1 -0
  17. package/dist/kernel/inference-probe.js +34 -0
  18. package/dist/kernel/inference-probe.js.map +1 -0
  19. package/dist/services/embeddings/config.d.ts +11 -0
  20. package/dist/services/embeddings/config.d.ts.map +1 -1
  21. package/dist/services/embeddings/config.js +64 -11
  22. package/dist/services/embeddings/config.js.map +1 -1
  23. package/dist/services/embeddings/index.d.ts +10 -2
  24. package/dist/services/embeddings/index.d.ts.map +1 -1
  25. package/dist/services/embeddings/index.js.map +1 -1
  26. package/dist/services/embeddings/provider.d.ts +15 -0
  27. package/dist/services/embeddings/provider.d.ts.map +1 -1
  28. package/dist/services/embeddings/provider.js +12 -6
  29. package/dist/services/embeddings/provider.js.map +1 -1
  30. package/dist/services/etl/pipeline.d.ts.map +1 -1
  31. package/dist/services/etl/pipeline.js +37 -0
  32. package/dist/services/etl/pipeline.js.map +1 -1
  33. package/dist/services/health/local-health-checker.d.ts +32 -1
  34. package/dist/services/health/local-health-checker.d.ts.map +1 -1
  35. package/dist/services/health/local-health-checker.js +88 -16
  36. package/dist/services/health/local-health-checker.js.map +1 -1
  37. package/dist/services/memory/llm-client.d.ts +61 -0
  38. package/dist/services/memory/llm-client.d.ts.map +1 -1
  39. package/dist/services/memory/llm-client.js +147 -15
  40. package/dist/services/memory/llm-client.js.map +1 -1
  41. package/dist/services/search/embedding-freshness.d.ts +94 -0
  42. package/dist/services/search/embedding-freshness.d.ts.map +1 -0
  43. package/dist/services/search/embedding-freshness.js +114 -0
  44. package/dist/services/search/embedding-freshness.js.map +1 -0
  45. package/dist/services/search/ignore-patterns.d.ts +7 -0
  46. package/dist/services/search/ignore-patterns.d.ts.map +1 -1
  47. package/dist/services/search/ignore-patterns.js +9 -0
  48. package/dist/services/search/ignore-patterns.js.map +1 -1
  49. package/dist/services/search/project-indexer.d.ts +15 -1
  50. package/dist/services/search/project-indexer.d.ts.map +1 -1
  51. package/dist/services/search/project-indexer.js +40 -6
  52. package/dist/services/search/project-indexer.js.map +1 -1
  53. package/dist/services/search/search-controller.d.ts.map +1 -1
  54. package/dist/services/search/search-controller.js +31 -1
  55. package/dist/services/search/search-controller.js.map +1 -1
  56. package/package.json +2 -2
  57. package/prisma/migrations/20260919120000_add_embedding_fingerprint/migration.sql +11 -0
  58. package/prisma/schema.prisma +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/services/etl/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/services/etl/pipeline.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface LocalHealthReport {
11
11
  timestamp: string;
12
12
  services: {
13
13
  ollama: ServiceStatus;
14
+ inference: ServiceStatus;
14
15
  dataDirectory: ServiceStatus;
15
16
  vectorStore: ServiceStatus;
16
17
  keywordSearch: ServiceStatus;
@@ -35,10 +36,40 @@ export interface OllamaModelInfo {
35
36
  modified_at: string;
36
37
  }
37
38
  export declare class LocalHealthChecker {
38
- private readonly ollamaBaseUrl;
39
39
  private readonly dataDir;
40
+ /**
41
+ * `config.json`'s `embedding` block, mirroring `embeddings/config.ts`'s own
42
+ * `fileEmbedding` read — `config.get()`/`config.getAll()` (the `@massa-ai/shared`
43
+ * default export) is a *different* runtime-defaults object (`ServerConfig`)
44
+ * with no `embedding` key at all, so reading the provider from there would
45
+ * always silently resolve `undefined` rather than throw. Read defensively:
46
+ * an unconfigured install has no file, and this must fall back to `ollama`
47
+ * rather than crash the health check.
48
+ */
49
+ private fileEmbedding;
50
+ /** Which local-inference provider is configured: `EMBEDDING_PROVIDER` env >
51
+ * `config.json`'s `embedding.provider` > `ollama` (mirrors
52
+ * `embeddings/config.ts`'s `selectedProvider` precedence). */
53
+ private resolveProviderId;
54
+ private resolveProviderBaseUrl;
55
+ private resolveConfiguredEmbeddingModel;
40
56
  checkAll(): Promise<LocalHealthReport>;
57
+ /**
58
+ * Provider-aware reachability + model-listing check, kept under the
59
+ * `ollama` name for compatibility (LIP-10: `services.ollama` and
60
+ * `GET /api/v1/system/ollama` are public surfaces, never renamed in
61
+ * place). Discriminates by response body shape via `probeProvider`
62
+ * (kernel/inference-probe.ts) rather than trusting `response.ok` — LM
63
+ * Studio answers HTTP 200 with `{"error": "..."}` for an Ollama-shaped
64
+ * endpoint, so a status-code check alone reports "Ollama healthy" against
65
+ * a server that is not Ollama.
66
+ */
41
67
  checkOllama(): Promise<ServiceStatus>;
68
+ /**
69
+ * Neutral alias for `checkOllama` (LIP-10) — identical provider-aware
70
+ * probe, added beside the Ollama-branded name rather than replacing it.
71
+ */
72
+ checkInference(): Promise<ServiceStatus>;
42
73
  checkDataDirectory(): Promise<ServiceStatus>;
43
74
  checkPostgres(): Promise<ServiceStatus>;
44
75
  isOllamaReady(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"local-health-checker.d.ts","sourceRoot":"","sources":["../../../src/services/health/local-health-checker.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,aAAa;IAAG,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAC3H,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IACpF,QAAQ,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,aAAa,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,aAAa,CAAC;QAAC,aAAa,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC;QAAC,cAAc,EAAE,aAAa,CAAC;KAAE,CAAC;IAClL,WAAW,EAAE;QAAE,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACrD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3G;AACD,MAAM,WAAW,eAAe;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAAE;AAErG,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2D;IACzF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAErD,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAUtC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAYrC,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAS5C,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAYvC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1C,OAAO,CAAC,uBAAuB;CAOhC;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAA+D"}
1
+ {"version":3,"file":"local-health-checker.d.ts","sourceRoot":"","sources":["../../../src/services/health/local-health-checker.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,aAAa;IAAG,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAC3H,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IACpF,QAAQ,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,aAAa,CAAC;QAAC,aAAa,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,aAAa,CAAC;QAAC,aAAa,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC;QAAC,cAAc,EAAE,aAAa,CAAC;KAAE,CAAC;IAC5M,WAAW,EAAE;QAAE,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACrD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3G;AACD,MAAM,WAAW,eAAe;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAAE;AAErG,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAQrB;;mEAE+D;IAC/D,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,+BAA+B;IAQjC,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAU5C;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IA+B3C;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IAIxC,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAS5C,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAYvC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1C,OAAO,CAAC,uBAAuB;CAOhC;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAA+D"}
@@ -1,39 +1,111 @@
1
1
  /** PostgreSQL/pgvector health checks used by local system status endpoints. */
2
2
  import { config } from "@massa-ai/shared";
3
- import { requirePostgresDatabaseUrl } from "@massa-ai/shared/config";
3
+ import { requirePostgresDatabaseUrl, loadConfigSafe } from "@massa-ai/shared/config";
4
+ import { INFERENCE_PROVIDERS, } from "@massa-ai/shared/inference-providers";
5
+ import { probeProvider } from "../../kernel/inference-probe.js";
4
6
  import { getPgPool } from "../../kernel/db-connection.js";
5
7
  import fs from "fs/promises";
6
8
  import { existsSync } from "fs";
7
9
  import path from "path";
8
10
  import { getSearchDiagnostics, } from "../../kernel/search-diagnostics.js";
9
11
  export class LocalHealthChecker {
10
- ollamaBaseUrl = process.env.OLLAMA_BASE_URL || "http://localhost:11434";
11
12
  dataDir = config.get("dataDir");
13
+ /**
14
+ * `config.json`'s `embedding` block, mirroring `embeddings/config.ts`'s own
15
+ * `fileEmbedding` read — `config.get()`/`config.getAll()` (the `@massa-ai/shared`
16
+ * default export) is a *different* runtime-defaults object (`ServerConfig`)
17
+ * with no `embedding` key at all, so reading the provider from there would
18
+ * always silently resolve `undefined` rather than throw. Read defensively:
19
+ * an unconfigured install has no file, and this must fall back to `ollama`
20
+ * rather than crash the health check.
21
+ */
22
+ fileEmbedding() {
23
+ try {
24
+ return loadConfigSafe().embedding;
25
+ }
26
+ catch {
27
+ return undefined;
28
+ }
29
+ }
30
+ /** Which local-inference provider is configured: `EMBEDDING_PROVIDER` env >
31
+ * `config.json`'s `embedding.provider` > `ollama` (mirrors
32
+ * `embeddings/config.ts`'s `selectedProvider` precedence). */
33
+ resolveProviderId() {
34
+ const provider = process.env.EMBEDDING_PROVIDER || this.fileEmbedding()?.provider;
35
+ return provider === "lmstudio" ? "lmstudio" : "ollama";
36
+ }
37
+ resolveProviderBaseUrl(id) {
38
+ const spec = INFERENCE_PROVIDERS[id];
39
+ const envUrl = process.env[spec.envNames.baseUrl];
40
+ if (envUrl)
41
+ return envUrl;
42
+ const embedding = this.fileEmbedding();
43
+ if (embedding?.provider === id && embedding?.baseURL)
44
+ return embedding.baseURL;
45
+ return spec.defaultEmbeddingBaseUrl;
46
+ }
47
+ resolveConfiguredEmbeddingModel(envName) {
48
+ const envModel = process.env[envName];
49
+ if (envModel)
50
+ return envModel;
51
+ const fileModel = this.fileEmbedding()?.model;
52
+ if (fileModel)
53
+ return fileModel;
54
+ return "nomic-embed-text:latest";
55
+ }
12
56
  async checkAll() {
13
57
  const [ollama, dataDirectory, database] = await Promise.all([this.checkOllama(), this.checkDataDirectory(), this.checkPostgres()]);
14
- const services = { ollama, dataDirectory, vectorStore: database, keywordSearch: database, cache: database, embeddingCache: database };
58
+ const services = { ollama, inference: ollama, dataDirectory, vectorStore: database, keywordSearch: database, cache: database, embeddingCache: database };
15
59
  const unique = [ollama, dataDirectory, database];
16
60
  const healthy = unique.filter((status) => status.available).length;
17
61
  const failed = unique.length - healthy;
18
62
  const status = failed === 0 ? "healthy" : healthy > failed ? "degraded" : "unhealthy";
19
63
  return { status, mode: "postgresql", timestamp: new Date().toISOString(), services, diagnostics: { search: getSearchDiagnostics() }, summary: { total: unique.length, healthy, degraded: 0, failed }, recommendations: this.generateRecommendations(services) };
20
64
  }
65
+ /**
66
+ * Provider-aware reachability + model-listing check, kept under the
67
+ * `ollama` name for compatibility (LIP-10: `services.ollama` and
68
+ * `GET /api/v1/system/ollama` are public surfaces, never renamed in
69
+ * place). Discriminates by response body shape via `probeProvider`
70
+ * (kernel/inference-probe.ts) rather than trusting `response.ok` — LM
71
+ * Studio answers HTTP 200 with `{"error": "..."}` for an Ollama-shaped
72
+ * endpoint, so a status-code check alone reports "Ollama healthy" against
73
+ * a server that is not Ollama.
74
+ */
21
75
  async checkOllama() {
22
76
  const start = Date.now();
23
- try {
24
- const controller = new AbortController();
25
- const timeout = setTimeout(() => controller.abort(), 3_000);
26
- const response = await fetch(`${this.ollamaBaseUrl}/api/tags`, { signal: controller.signal });
27
- clearTimeout(timeout);
28
- if (!response.ok)
29
- return { available: false, latency: Date.now() - start, error: `Ollama responded with HTTP ${response.status}` };
30
- const models = (await response.json()).models || [];
31
- const embeddingModel = process.env.OLLAMA_EMBEDDING_MODEL || config.getAll()?.embedding?.model || "nomic-embed-text:latest";
32
- return { available: true, latency: Date.now() - start, details: { url: this.ollamaBaseUrl, modelsAvailable: models.length, models: models.map((model) => model.name), embeddingModel, hasEmbeddingModel: models.some((model) => model.name === embeddingModel || model.name.startsWith(embeddingModel.split(":")[0])) } };
33
- }
34
- catch (error) {
35
- return { available: false, latency: Date.now() - start, error: `Ollama unreachable: ${error.message}` };
77
+ const providerId = this.resolveProviderId();
78
+ const spec = INFERENCE_PROVIDERS[providerId];
79
+ const baseUrl = this.resolveProviderBaseUrl(providerId);
80
+ const result = await probeProvider(spec, baseUrl);
81
+ const latency = Date.now() - start;
82
+ if (!result.reachable) {
83
+ return {
84
+ available: false,
85
+ latency,
86
+ error: `${spec.id} ${result.reason} at ${baseUrl}`,
87
+ };
36
88
  }
89
+ const embeddingModel = this.resolveConfiguredEmbeddingModel(spec.envNames.model);
90
+ return {
91
+ available: true,
92
+ latency,
93
+ details: {
94
+ provider: spec.id,
95
+ url: baseUrl,
96
+ modelsAvailable: result.models.length,
97
+ models: result.models,
98
+ embeddingModel,
99
+ hasEmbeddingModel: result.models.some((name) => name === embeddingModel || name.startsWith(embeddingModel.split(":")[0])),
100
+ },
101
+ };
102
+ }
103
+ /**
104
+ * Neutral alias for `checkOllama` (LIP-10) — identical provider-aware
105
+ * probe, added beside the Ollama-branded name rather than replacing it.
106
+ */
107
+ async checkInference() {
108
+ return this.checkOllama();
37
109
  }
38
110
  async checkDataDirectory() {
39
111
  const start = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"local-health-checker.js","sourceRoot":"","sources":["../../../src/services/health/local-health-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-health-checker.js","sourceRoot":"","sources":["../../../src/services/health/local-health-checker.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * bootstrap; Phase 5: auto-improve; Phase 7: compression) MUST treat a
15
15
  * `{ ok: false }` result as "fall through to the non-LLM path".
16
16
  */
17
+ import { type InferenceProviderSpec } from "@massa-ai/shared/inference-providers";
17
18
  import { z } from "zod";
18
19
  /**
19
20
  * Which model role a call targets. `"instruct"` (default) selects the
@@ -55,6 +56,56 @@ export declare function _setJsonSchemaSupportedForTesting(flag: boolean | null):
55
56
  /** Whether the LLM is enabled at the current config. Cheap, side-effect-free. */
56
57
  export declare function isLlmEnabled(): boolean;
57
58
  export declare function _setLlmEnabledForTesting(flag: boolean | null): void;
59
+ export declare function _setLlmBaseUrlForTesting(url: string | null): void;
60
+ /**
61
+ * Pure resolution of the effective LLM config for one call from the raw
62
+ * `config.llm` block (possibly partial/undefined — defensive against a
63
+ * partial or missing config) and the requested role. Every fallback reads
64
+ * the resolved provider's own seam entry (`inference-providers.ts`), never a
65
+ * bare Ollama-shaped literal: code role falls back to `defaultModels.coding`
66
+ * — never to the instruct model, which after this feature is a
67
+ * vision-language model (COVERAGE #5) — and `disableThink` follows the
68
+ * resolved provider's `injectsDisableThink` (LIP-07) instead of a hardcoded
69
+ * `true`.
70
+ *
71
+ * Exported so this fallback behavior can be unit-tested with a synthetic
72
+ * config shape — this file's test suite deliberately does not
73
+ * `mock.module("@massa-ai/shared")` (see llm-client.test.ts's docblock).
74
+ * @internal
75
+ */
76
+ export declare function _resolveLlmConfig(cfg: Partial<{
77
+ baseUrl: string;
78
+ apiKey: string;
79
+ model: string;
80
+ codeModel: string;
81
+ temperature: number;
82
+ codeTemperature: number;
83
+ contextWindow: number;
84
+ codeContextWindow: number;
85
+ maxOutputTokens: number;
86
+ timeoutMs: number;
87
+ disableThink: boolean;
88
+ }> | undefined, role: LlmModelRole, baseUrlOverride: string | null): {
89
+ baseUrl: string;
90
+ apiKey: string;
91
+ model: string;
92
+ temperature: number;
93
+ contextWindow: number;
94
+ maxOutputTokens: number;
95
+ timeoutMs: number;
96
+ disableThink: boolean;
97
+ };
98
+ /**
99
+ * Resolve which local-inference provider `llm.baseUrl` targets (design.md
100
+ * §4, LIP-07): the two Ollama-only behaviours below must not fire against
101
+ * LM Studio. Primary signal is a host:port match against each provider's
102
+ * `defaultLlmBaseUrl`; a baseUrl that matches none of them (custom host, or
103
+ * a provider's default port overridden) falls back to `embedding.provider`
104
+ * when it names a local-inference id, then to `ollama` — today's only
105
+ * behaviour, so an unresolvable baseUrl regresses to nothing.
106
+ * @internal
107
+ */
108
+ export declare function resolveInferenceSpec(baseUrl: string): InferenceProviderSpec;
58
109
  /**
59
110
  * Best-effort `think:false` injection. Ollama's OpenAI-compat layer honors a
60
111
  * top-level `think` field for qwen3. Wrapped fetch keeps the SDK contract
@@ -66,6 +117,16 @@ export declare function _setLlmEnabledForTesting(flag: boolean | null): void;
66
117
  * @internal
67
118
  */
68
119
  export declare function _wrapFetchDisableThink(baseFetch: typeof globalThis.fetch): typeof globalThis.fetch;
120
+ /**
121
+ * Best-effort `options.num_ctx` injection (PDM-08/PDM-09). Ollama's
122
+ * OpenAI-compat chat layer honors a top-level `options` object; LM Studio
123
+ * has no per-request context-length field (spec A-07, `appliesContextPerRequest:
124
+ * false`) and must never receive this — gated at the call site in
125
+ * `buildProvider`. Merges into any existing `options` object rather than
126
+ * overwriting it, mirroring `_wrapFetchDisableThink`'s shape.
127
+ * @internal
128
+ */
129
+ export declare function _wrapFetchContextWindow(baseFetch: typeof globalThis.fetch, contextWindow: number): typeof globalThis.fetch;
69
130
  /**
70
131
  * Normalize the reasoning channel exposed by the AI SDK (v5+) into a single
71
132
  * string. Handles: array of `{type:"reasoning", text}` parts, a raw string,
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../../src/services/memory/llm-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;CAE3D;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,MAAM;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAiChE;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAE5E;AAID,iFAAiF;AACjF,wBAAgB,YAAY,IAAI,OAAO,CAOtC;AAQD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAEnE;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,OAAO,UAAU,CAAC,KAAK,GACjC,OAAO,UAAU,CAAC,KAAK,CAgBzB;AAaD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAgCpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAmCpE;AAOD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAS5D;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CA0C5B;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAuGvB;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG;;;;CAIf,CAAC"}
1
+ {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../../src/services/memory/llm-client.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,9 @@
16
16
  */
17
17
  import { generateText, generateObject } from "ai";
18
18
  import { createOpenAI } from "@ai-sdk/openai";
19
- import { config, logger, DEFAULT_LLM_MODEL } from "@massa-ai/shared";
19
+ import { config, logger } from "@massa-ai/shared";
20
+ import { loadConfigSafe } from "@massa-ai/shared/config";
21
+ import { INFERENCE_PROVIDERS, INFERENCE_ROLE_DEFAULTS, LOCAL_INFERENCE_IDS, inferenceProviderList, } from "@massa-ai/shared/inference-providers";
20
22
  // ── json_schema constrained decoding (W7-07) ─────────────────────────────
21
23
  /**
22
24
  * Cached Ollama json_schema support flag. `null` = not yet checked.
@@ -36,6 +38,17 @@ export async function _checkJsonSchemaSupport() {
36
38
  return _jsonSchemaSupported;
37
39
  try {
38
40
  const llm = getLlmConfig();
41
+ const spec = resolveInferenceSpec(llm.baseUrl);
42
+ if (!spec.supportsOllamaVersionProbe) {
43
+ // LM Studio (and any other non-Ollama local provider) implements the
44
+ // OpenAI-native response_format:{type:"json_schema"} path directly —
45
+ // no version handshake exists to probe, and none is needed (LIP-07).
46
+ _jsonSchemaSupported = true;
47
+ logger.info("json_schema: native support assumed (non-Ollama provider)", {
48
+ provider: spec.id,
49
+ });
50
+ return true;
51
+ }
39
52
  // Ollama's version endpoint is at /api/version (no /v1 prefix).
40
53
  const versionUrl = llm.baseUrl.replace(/\/v1\/?$/, "") + "/api/version";
41
54
  const res = await fetch(versionUrl, { signal: AbortSignal.timeout(5000) });
@@ -115,25 +128,105 @@ export function _setLlmEnabledForTesting(flag) {
115
128
  * Config: `MASSA_AI_LLM_DISABLE_THINK` (default `"1"`). When disabled, behavior
116
129
  * regresses to today's (content-only) path exactly.
117
130
  */
118
- /** Read the llm config block with safe defaults (defensive against partial/missing config). */
119
- function getLlmConfig(opts) {
120
- const cfg = config.get("llm");
121
- const role = opts?.modelRole ?? "instruct";
122
- // Resolve the per-call model. Instruct `model`, code `codeModel`. The
123
- // instruct fallback uses the shared DEFAULT_LLM_MODEL constant (no bare literal).
131
+ /**
132
+ * Test seam: force the resolved `llm.baseUrl` without touching config or
133
+ * mocking `@massa-ai/shared` (this file's own test suite deliberately avoids
134
+ * that mock see llm-client.test.ts's docblock — since bun's mock.module is
135
+ * process-wide and would collide with sibling test files). Pass `null` to
136
+ * clear.
137
+ * @internal
138
+ */
139
+ let testBaseUrlOverride = null;
140
+ export function _setLlmBaseUrlForTesting(url) {
141
+ testBaseUrlOverride = url;
142
+ }
143
+ /**
144
+ * Pure resolution of the effective LLM config for one call from the raw
145
+ * `config.llm` block (possibly partial/undefined — defensive against a
146
+ * partial or missing config) and the requested role. Every fallback reads
147
+ * the resolved provider's own seam entry (`inference-providers.ts`), never a
148
+ * bare Ollama-shaped literal: code role falls back to `defaultModels.coding`
149
+ * — never to the instruct model, which after this feature is a
150
+ * vision-language model (COVERAGE #5) — and `disableThink` follows the
151
+ * resolved provider's `injectsDisableThink` (LIP-07) instead of a hardcoded
152
+ * `true`.
153
+ *
154
+ * Exported so this fallback behavior can be unit-tested with a synthetic
155
+ * config shape — this file's test suite deliberately does not
156
+ * `mock.module("@massa-ai/shared")` (see llm-client.test.ts's docblock).
157
+ * @internal
158
+ */
159
+ export function _resolveLlmConfig(cfg, role, baseUrlOverride) {
160
+ const baseUrl = baseUrlOverride ?? cfg?.baseUrl ?? INFERENCE_PROVIDERS.ollama.defaultLlmBaseUrl;
161
+ const spec = resolveInferenceSpec(baseUrl);
124
162
  const model = role === "code"
125
- ? cfg?.codeModel ?? cfg?.model ?? DEFAULT_LLM_MODEL
126
- : cfg?.model ?? DEFAULT_LLM_MODEL;
163
+ ? cfg?.codeModel ?? spec.defaultModels.coding
164
+ : cfg?.model ?? spec.defaultModels.instruct;
165
+ const temperature = role === "code"
166
+ ? cfg?.codeTemperature ?? INFERENCE_ROLE_DEFAULTS.coding.temperature
167
+ : cfg?.temperature ?? INFERENCE_ROLE_DEFAULTS.instruct.temperature;
168
+ // Context window per role (PDM-08/PDM-09); sent as `options.num_ctx` only
169
+ // where `spec.appliesContextPerRequest` (buildProvider) — LM Studio applies
170
+ // it at load time (spec A-07) and must never receive this field.
171
+ const contextWindow = role === "code"
172
+ ? cfg?.codeContextWindow ?? INFERENCE_ROLE_DEFAULTS.coding.contextWindow
173
+ : cfg?.contextWindow ?? INFERENCE_ROLE_DEFAULTS.instruct.contextWindow;
127
174
  return {
128
- baseUrl: cfg?.baseUrl ?? "http://localhost:11434/v1",
129
- apiKey: cfg?.apiKey ?? "ollama",
175
+ baseUrl,
176
+ apiKey: cfg?.apiKey ?? spec.id,
130
177
  model,
131
- temperature: cfg?.temperature ?? 0.2,
178
+ temperature,
179
+ contextWindow,
132
180
  maxOutputTokens: cfg?.maxOutputTokens ?? 8000,
133
181
  timeoutMs: cfg?.timeoutMs ?? 90000,
134
- disableThink: cfg?.disableThink ?? true,
182
+ disableThink: cfg?.disableThink ?? spec.injectsDisableThink,
135
183
  };
136
184
  }
185
+ /** Read the llm config block with safe defaults (defensive against partial/missing config). */
186
+ function getLlmConfig(opts) {
187
+ return _resolveLlmConfig(config.get("llm"), opts?.modelRole ?? "instruct", testBaseUrlOverride);
188
+ }
189
+ /** host:port for a URL, or `null` when it doesn't parse. */
190
+ function hostPort(url) {
191
+ try {
192
+ const u = new URL(url);
193
+ return `${u.hostname}:${u.port || (u.protocol === "https:" ? "443" : "80")}`;
194
+ }
195
+ catch {
196
+ return null;
197
+ }
198
+ }
199
+ /**
200
+ * Resolve which local-inference provider `llm.baseUrl` targets (design.md
201
+ * §4, LIP-07): the two Ollama-only behaviours below must not fire against
202
+ * LM Studio. Primary signal is a host:port match against each provider's
203
+ * `defaultLlmBaseUrl`; a baseUrl that matches none of them (custom host, or
204
+ * a provider's default port overridden) falls back to `embedding.provider`
205
+ * when it names a local-inference id, then to `ollama` — today's only
206
+ * behaviour, so an unresolvable baseUrl regresses to nothing.
207
+ * @internal
208
+ */
209
+ export function resolveInferenceSpec(baseUrl) {
210
+ const target = hostPort(baseUrl);
211
+ if (target) {
212
+ const match = inferenceProviderList().find((spec) => hostPort(spec.defaultLlmBaseUrl) === target);
213
+ if (match)
214
+ return match;
215
+ }
216
+ let embeddingProvider = process.env.EMBEDDING_PROVIDER;
217
+ if (!embeddingProvider) {
218
+ try {
219
+ embeddingProvider = loadConfigSafe().embedding?.provider;
220
+ }
221
+ catch {
222
+ embeddingProvider = undefined;
223
+ }
224
+ }
225
+ if (embeddingProvider && LOCAL_INFERENCE_IDS.includes(embeddingProvider)) {
226
+ return INFERENCE_PROVIDERS[embeddingProvider];
227
+ }
228
+ return INFERENCE_PROVIDERS.ollama;
229
+ }
137
230
  /**
138
231
  * Best-effort `think:false` injection. Ollama's OpenAI-compat layer honors a
139
232
  * top-level `think` field for qwen3. Wrapped fetch keeps the SDK contract
@@ -162,15 +255,54 @@ export function _wrapFetchDisableThink(baseFetch) {
162
255
  };
163
256
  return wrapped;
164
257
  }
258
+ /**
259
+ * Best-effort `options.num_ctx` injection (PDM-08/PDM-09). Ollama's
260
+ * OpenAI-compat chat layer honors a top-level `options` object; LM Studio
261
+ * has no per-request context-length field (spec A-07, `appliesContextPerRequest:
262
+ * false`) and must never receive this — gated at the call site in
263
+ * `buildProvider`. Merges into any existing `options` object rather than
264
+ * overwriting it, mirroring `_wrapFetchDisableThink`'s shape.
265
+ * @internal
266
+ */
267
+ export function _wrapFetchContextWindow(baseFetch, contextWindow) {
268
+ const wrapped = async (input, init) => {
269
+ try {
270
+ if (init?.body && typeof init.body === "string") {
271
+ const parsed = JSON.parse(init.body);
272
+ if (parsed && typeof parsed === "object") {
273
+ parsed.options = { ...parsed.options, num_ctx: contextWindow };
274
+ init = { ...init, body: JSON.stringify(parsed) };
275
+ }
276
+ }
277
+ }
278
+ catch {
279
+ // Not JSON or unparseable — leave the request untouched.
280
+ }
281
+ return baseFetch(input, init);
282
+ };
283
+ return wrapped;
284
+ }
165
285
  function buildProvider(llm) {
166
286
  // Ollama exposes an OpenAI-compatible API at /v1; createOpenAI over baseURL
167
287
  // is sufficient (no special compatibility flag in @ai-sdk/openai v3).
288
+ const spec = resolveInferenceSpec(llm.baseUrl);
289
+ let fetchImpl;
290
+ if (spec.appliesContextPerRequest) {
291
+ fetchImpl = _wrapFetchContextWindow(fetchImpl ?? globalThis.fetch, llm.contextWindow);
292
+ }
293
+ if (llm.disableThink && spec.injectsDisableThink) {
294
+ fetchImpl = _wrapFetchDisableThink(fetchImpl ?? globalThis.fetch);
295
+ }
168
296
  const openai = createOpenAI({
169
297
  baseURL: llm.baseUrl,
170
298
  apiKey: llm.apiKey,
171
- ...(llm.disableThink ? { fetch: _wrapFetchDisableThink(globalThis.fetch) } : {}),
299
+ ...(fetchImpl ? { fetch: fetchImpl } : {}),
172
300
  });
173
- return openai(llm.model);
301
+ // The default callable resolves to the Responses API, which LM Studio serves
302
+ // while dropping `text.format` — gating json_schema on correctly still yields
303
+ // prose there. `.chat()` is the endpoint that honours it. See
304
+ // `requiresChatCompletionsApi`.
305
+ return spec.requiresChatCompletionsApi ? openai.chat(llm.model) : openai(llm.model);
174
306
  }
175
307
  /**
176
308
  * Normalize the reasoning channel exposed by the AI SDK (v5+) into a single