@massa-ai/core 1.37.0 → 1.39.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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-5effd98e055bc0a9fe812a5df65d7298366a0ef5a5ad982db2da026b075853bd",
2
+ "name": "prisma-client-b40d986447a8981f7d371ddaeb388010a407a3e89b268018a617de1ae60cead6",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "default.js",
@@ -523,6 +523,23 @@ model VectorDocument4096 {
523
523
  @@map("vector_documents_4096d")
524
524
  }
525
525
 
526
+ // 2560-dimension table (qwen3-embedding:4b) with binary quantization for HNSW indexing.
527
+ // pgvector HNSW supports any dimension on bit columns (bit_hamming_ops).
528
+ // Search strategy: Phase 1 ANN on embedding_bq → Phase 2 exact cosine re-rank on embedding.
529
+ model VectorDocument2560 {
530
+ id String @id
531
+ projectId String @map("project_id")
532
+ content String
533
+ metadata Json @default("{}")
534
+ embedding Unsupported("vector(2560)")?
535
+ embeddingBq Unsupported("bit(2560)")? @map("embedding_bq")
536
+ createdAt DateTime @default(now()) @map("created_at")
537
+ updatedAt DateTime @updatedAt @map("updated_at")
538
+
539
+ @@index([projectId])
540
+ @@map("vector_documents_2560d")
541
+ }
542
+
526
543
  // ========================================
527
544
  // Index Jobs (Phase 1, T9 — PG parity for the job store)
528
545
  // Runtime state for async indexing jobs. PostgreSQL-canonical via PgStore
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/kernel/registry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;CACxD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CA8B5E,CAAC;AAeF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,cAAc,GACzB,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,kBAAkB,EAAE,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK/D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/kernel/registry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;CACxD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CA+B5E,CAAC;AAeF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,cAAc,GACzB,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,kBAAkB,EAAE,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK/D"}
@@ -29,6 +29,7 @@ export const STATIC_DIRECT_STORES = {
29
29
  search_analytics: { storeId: "search_analytics", identityColumn: "project_id", mutable: true },
30
30
  search_events: { storeId: "search_events", identityColumn: "project_id", mutable: true },
31
31
  synapse_sessions: { storeId: "synapse_sessions", identityColumn: "workspace_id", mutable: true },
32
+ managed_runs: { storeId: "managed_runs", identityColumn: "project_id", mutable: true },
32
33
  // Historical identity records are deliberately inventoried but never rewritten.
33
34
  operation_log: { storeId: "operation_log", identityColumn: "project_id", mutable: false },
34
35
  project_identity_operations: {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/kernel/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/kernel/registry.ts"],"names":[],"mappings":"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"}
@@ -80,8 +80,11 @@ export declare function createEmbeddingProvider(options?: CreateProviderOptions)
80
80
  /**
81
81
  * Create all available providers (for testing/comparison)
82
82
  *
83
- * Returns an array of all providers that pass health checks.
84
- * Useful for benchmarking or testing multiple providers.
83
+ * Returns an array of all providers that pass health checks. This is a
84
+ * diagnostic/benchmarking enumeration, not the production selection chain —
85
+ * it intentionally does NOT apply the dimension-mismatch refusal in
86
+ * `createEmbeddingProvider`, so one misconfigured provider never aborts the
87
+ * scan of the rest.
85
88
  */
86
89
  export declare function createAllProviders(options?: {
87
90
  cache?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/embeddings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAUhF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;IAExF;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAmCD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAuE5B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3D,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAmB9B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CACxD,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CACxD,CAgCA;AAGD,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/embeddings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,iBAAiB,EAA0C,MAAM,eAAe,CAAC;AAE1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAUhF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;IAExF;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAmED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CA8F5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3D,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoB9B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CACxD,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CACxD,CAgCA;AAGD,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -29,14 +29,14 @@ import { createEmbeddingCache } from "../cache/embedding-cache-factory.js";
29
29
  import { embeddingProviders, getProvidersByPriority, hasApiKey, } from "./config.js";
30
30
  import { logger } from "@massa-ai/shared";
31
31
  /**
32
- * Try to create a provider from configuration
33
- * Returns null if provider is not available or configured
32
+ * Try to create a provider from configuration.
33
+ * `provider` is null if the provider is not available or configured.
34
34
  */
35
35
  async function tryCreateProvider(config, providerId, skipHealthCheck) {
36
36
  // Check if API key is available (if needed)
37
37
  if (!hasApiKey(providerId)) {
38
38
  logger.debug(`[${providerId}] Skipping: No API key configured`);
39
- return null;
39
+ return { provider: null };
40
40
  }
41
41
  // Create provider
42
42
  const provider = createProvider(config, providerId);
@@ -45,11 +45,24 @@ async function tryCreateProvider(config, providerId, skipHealthCheck) {
45
45
  const available = await provider.isAvailable();
46
46
  if (!available) {
47
47
  logger.debug(`[${providerId}] Health check failed`);
48
- return null;
48
+ return { provider: null, dimensionMismatch: provider.lastDimensionMismatch };
49
49
  }
50
50
  }
51
51
  logger.info(`[${providerId}] Provider ready (model: ${config.model}, dimensions: ${config.dimensions})`);
52
- return provider;
52
+ return { provider };
53
+ }
54
+ /**
55
+ * Log the remediation-bearing ERROR and produce the error to throw when the
56
+ * configured embedding provider fails its health check on a dimension
57
+ * mismatch. Shared by both selection paths in `createEmbeddingProvider` so
58
+ * the message stays identical regardless of how the provider was chosen.
59
+ */
60
+ function refuseOnDimensionMismatch(providerId, mismatch) {
61
+ logger.error(`[${providerId}] Configured embedding provider failed with a dimension mismatch — refusing to ` +
62
+ `fall through to another provider (that would silently degrade retrieval quality). ` +
63
+ `configured dimensions ${mismatch.expected} ≠ model output ${mismatch.got} — fix ` +
64
+ "`embedding.dimensions` in config.json or OLLAMA_EMBEDDING_DIMENSIONS to match the model actually pulled.");
65
+ throw mismatch;
53
66
  }
54
67
  /**
55
68
  * Create embedding provider with auto-fallback
@@ -71,11 +84,22 @@ export async function createEmbeddingProvider(options = {}) {
71
84
  const providers = getProvidersByPriority();
72
85
  for (const [id, config] of providers) {
73
86
  logger.debug(`Trying provider: ${id} (priority: ${config.priority})`);
74
- baseProvider = await tryCreateProvider(config, id, skipHealthCheck);
75
- if (baseProvider) {
87
+ const attempt = await tryCreateProvider(config, id, skipHealthCheck);
88
+ if (attempt.provider) {
89
+ baseProvider = attempt.provider;
76
90
  logger.info(`Selected provider: ${id}`);
77
91
  break;
78
92
  }
93
+ // The configured provider (priority 1 — the one EMBEDDING_PROVIDER /
94
+ // config.json `embedding.provider` selected) failing on a dimension
95
+ // mismatch is not a "try the next provider" situation: silently
96
+ // falling through here is exactly how a stale `embedding.dimensions`
97
+ // beside a re-pulled model used to degrade to the 384d transformers.js
98
+ // fallback without anyone noticing. Any other failure (unreachable
99
+ // service, no API key) keeps today's fallback behavior.
100
+ if (config.priority === 1 && attempt.dimensionMismatch) {
101
+ refuseOnDimensionMismatch(id, attempt.dimensionMismatch);
102
+ }
79
103
  }
80
104
  if (!baseProvider) {
81
105
  throw new Error("No embedding providers available. For local-first setup:\n" +
@@ -93,7 +117,16 @@ export async function createEmbeddingProvider(options = {}) {
93
117
  if (!config) {
94
118
  throw new Error(`Unknown provider: ${requestedProvider}`);
95
119
  }
96
- baseProvider = await tryCreateProvider(config, requestedProvider, skipHealthCheck);
120
+ const attempt = await tryCreateProvider(config, requestedProvider, skipHealthCheck);
121
+ // An explicitly requested provider has no fallback chain to protect —
122
+ // but a dimension mismatch here is the same silent-degrade risk (a
123
+ // caller that catches the generic "not available" error and retries
124
+ // with 'auto' would otherwise land on the same stale-config problem),
125
+ // so surface the distinguishable error here too.
126
+ if (attempt.dimensionMismatch) {
127
+ refuseOnDimensionMismatch(requestedProvider, attempt.dimensionMismatch);
128
+ }
129
+ baseProvider = attempt.provider;
97
130
  if (!baseProvider) {
98
131
  throw new Error(`Provider '${requestedProvider}' is not available. ` +
99
132
  `Please check configuration and ensure ${config.provider.toUpperCase()}_API_KEY is set.`);
@@ -111,15 +144,19 @@ export async function createEmbeddingProvider(options = {}) {
111
144
  /**
112
145
  * Create all available providers (for testing/comparison)
113
146
  *
114
- * Returns an array of all providers that pass health checks.
115
- * Useful for benchmarking or testing multiple providers.
147
+ * Returns an array of all providers that pass health checks. This is a
148
+ * diagnostic/benchmarking enumeration, not the production selection chain —
149
+ * it intentionally does NOT apply the dimension-mismatch refusal in
150
+ * `createEmbeddingProvider`, so one misconfigured provider never aborts the
151
+ * scan of the rest.
116
152
  */
117
153
  export async function createAllProviders(options = {}) {
118
154
  const { cache: enableCache = false, skipHealthCheck = false } = options;
119
155
  const providers = getProvidersByPriority();
120
156
  const results = [];
121
157
  for (const [id, config] of providers) {
122
- const provider = await tryCreateProvider(config, id, skipHealthCheck);
158
+ const attempt = await tryCreateProvider(config, id, skipHealthCheck);
159
+ const provider = attempt.provider;
123
160
  if (provider) {
124
161
  if (enableCache) {
125
162
  const cache = createEmbeddingCache(provider.id, provider.model);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/embeddings/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/embeddings/index.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,33 @@ export interface EmbeddingProvider {
30
30
  isAvailable(): Promise<boolean>;
31
31
  /** Get provider configuration */
32
32
  getConfig(): EmbeddingProviderConfig;
33
+ /**
34
+ * Structured detail of the most recent `isAvailable()` failure, populated
35
+ * only when the cause was a dimension mismatch between the configured
36
+ * `dimensions` and the length the model actually returned. Cleared at the
37
+ * start of every `isAvailable()` call, and left `undefined` for any other
38
+ * failure cause (unreachable service, invalid API key, malformed response,
39
+ * etc.) — that distinction is what lets the selection chain in
40
+ * `services/embeddings/index.ts` refuse to silently fall through to a
41
+ * lower-dimension fallback provider instead of quietly degrading.
42
+ */
43
+ lastDimensionMismatch?: DimensionMismatchError;
44
+ }
45
+ /**
46
+ * Raised (as a structured, catchable class) when a provider's `isAvailable()`
47
+ * health check receives a well-formed embedding whose length does not match
48
+ * the provider's configured `dimensions`. This is never thrown by
49
+ * `isAvailable()` itself (which still returns `false` per its `Promise<boolean>`
50
+ * contract) — it is attached to `EmbeddingProvider.lastDimensionMismatch` so
51
+ * callers that need to distinguish "model responded with the wrong shape"
52
+ * from every other unavailability cause (offline service, bad credentials,
53
+ * garbage response) can do so, then optionally throw it themselves.
54
+ */
55
+ export declare class DimensionMismatchError extends Error {
56
+ readonly providerId: string;
57
+ readonly expected: number;
58
+ readonly got: number;
59
+ constructor(providerId: string, expected: number, got: number);
33
60
  }
34
61
  /**
35
62
  * AI SDK-based embedding provider implementation
@@ -43,6 +70,8 @@ export declare class AISDKEmbeddingProvider implements EmbeddingProvider {
43
70
  readonly id: string;
44
71
  readonly model: string;
45
72
  readonly dimensions: number;
73
+ /** See `EmbeddingProvider.lastDimensionMismatch`. Reset at the top of every `isAvailable()` call. */
74
+ lastDimensionMismatch: DimensionMismatchError | undefined;
46
75
  private readonly providerType;
47
76
  private readonly apiKey?;
48
77
  private readonly baseURL?;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/services/embeddings/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAqB3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C,oCAAoC;IACpC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEjD,oDAAoD;IACpD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,iCAAiC;IACjC,SAAS,IAAI,uBAAuB,CAAC;CACtC;AAgFD;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAyB5D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAzB7B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAQf;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAGpD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAoD;gBAGxE,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM;IA2BrC,OAAO,CAAC,iBAAiB;IA4DzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;YACW,kBAAkB;IAgBhC;;;;;;;;;;;;;;;OAeG;YACW,WAAW;IAkBzB;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyFjD;;;;;;;;OAQG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAyDtD;;OAEG;YACW,gBAAgB;IA0G9B;;;;;;;;;;;OAWG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0DrC;;OAEG;IACH,SAAS,IAAI,uBAAuB;IAIpC;;OAEG;IACH,kBAAkB;;;;;;;;;;;;;;;;;CAMnB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAQnB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/services/embeddings/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAqB3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C,oCAAoC;IACpC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEjD,oDAAoD;IACpD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,iCAAiC;IACjC,SAAS,IAAI,uBAAuB,CAAC;IAErC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;aAChB,GAAG,EAAE,MAAM;gBAFX,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM;CAO9B;AAgFD;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IA4B5D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IA5B7B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,qGAAqG;IAC9F,qBAAqB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAEjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAQf;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAGpD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAoD;gBAGxE,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM;IA2BrC,OAAO,CAAC,iBAAiB;IA4DzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;YACW,kBAAkB;IAgBhC;;;;;;;;;;;;;;;OAeG;YACW,WAAW;IAkBzB;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyFjD;;;;;;;;OAQG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAyDtD;;OAEG;YACW,gBAAgB;IA0G9B;;;;;;;;;;;OAWG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAsErC;;OAEG;IACH,SAAS,IAAI,uBAAuB;IAIpC;;OAEG;IACH,kBAAkB;;;;;;;;;;;;;;;;;CAMnB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAQnB"}
@@ -32,6 +32,28 @@ import { LocalTransformersEmbeddingProvider } from "./providers/local-transforme
32
32
  * OLLAMA_EMBEDDING_NUM_CTX when raising EMBEDDING_MAX_CHARS past ~16000.
33
33
  */
34
34
  const OLLAMA_EMBED_NUM_CTX = parsePositiveIntEnv(process.env.OLLAMA_EMBEDDING_NUM_CTX, 8192);
35
+ /**
36
+ * Raised (as a structured, catchable class) when a provider's `isAvailable()`
37
+ * health check receives a well-formed embedding whose length does not match
38
+ * the provider's configured `dimensions`. This is never thrown by
39
+ * `isAvailable()` itself (which still returns `false` per its `Promise<boolean>`
40
+ * contract) — it is attached to `EmbeddingProvider.lastDimensionMismatch` so
41
+ * callers that need to distinguish "model responded with the wrong shape"
42
+ * from every other unavailability cause (offline service, bad credentials,
43
+ * garbage response) can do so, then optionally throw it themselves.
44
+ */
45
+ export class DimensionMismatchError extends Error {
46
+ providerId;
47
+ expected;
48
+ got;
49
+ constructor(providerId, expected, got) {
50
+ super(`[${providerId}] Embedding dimension mismatch: configured dimensions ${expected} but the model returned ${got}`);
51
+ this.providerId = providerId;
52
+ this.expected = expected;
53
+ this.got = got;
54
+ this.name = "DimensionMismatchError";
55
+ }
56
+ }
35
57
  /**
36
58
  * Sleep utility for retry delays
37
59
  */
@@ -94,6 +116,8 @@ export class AISDKEmbeddingProvider {
94
116
  id;
95
117
  model;
96
118
  dimensions;
119
+ /** See `EmbeddingProvider.lastDimensionMismatch`. Reset at the top of every `isAvailable()` call. */
120
+ lastDimensionMismatch;
97
121
  providerType;
98
122
  apiKey;
99
123
  baseURL;
@@ -483,6 +507,7 @@ export class AISDKEmbeddingProvider {
483
507
  * - Service is responding
484
508
  */
485
509
  async isAvailable() {
510
+ this.lastDimensionMismatch = undefined;
486
511
  try {
487
512
  // Ollama: fast connectivity pre-check (2s timeout) to avoid
488
513
  // blocking for minutes when service is offline
@@ -509,6 +534,13 @@ export class AISDKEmbeddingProvider {
509
534
  const embedding = await this.embedQuery(testText);
510
535
  // Validate embedding format
511
536
  if (!Array.isArray(embedding) || embedding.length !== this.dimensions) {
537
+ // Only tag this as a dimension mismatch when the model actually
538
+ // returned a well-formed array of the wrong length — a non-array
539
+ // response is a different failure class (malformed/garbage
540
+ // response) and keeps today's generic fallback behavior.
541
+ if (Array.isArray(embedding)) {
542
+ this.lastDimensionMismatch = new DimensionMismatchError(this.id, this.dimensions, embedding.length);
543
+ }
512
544
  logger.error(`[${this.id}] Invalid embedding dimensions`, undefined, { expected: this.dimensions, got: embedding.length });
513
545
  return false;
514
546
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/services/embeddings/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/services/embeddings/provider.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,12 @@
21
21
  * clock.
22
22
  * auto-improve → autoImproveJob.runOnce(projectId)
23
23
  * observation-bridge → observationConsolidationJob.runOnce(projectId)
24
+ * checkpoint-purge → CheckpointManager.getInstance().purgeExpired()
24
25
  *
25
26
  * IMPORTANT: the scheduler must NEVER trigger indexing jobs (OOM risk per
26
- * project memory). Only memory/decay/consolidation/auto-improve/observation
27
- * jobs are registered here.
27
+ * project memory). Only memory/decay/consolidation/auto-improve/observation/
28
+ * checkpoint-purge jobs are registered here — checkpoint-purge is a bounded
29
+ * DELETE of already-expired rows, not an indexing job.
28
30
  */
29
31
  import type { Scheduler } from "./scheduler.js";
30
32
  import type { JobKind, ScheduleSpec } from "./scheduler-types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-defaults.d.ts","sourceRoot":"","sources":["../../../src/services/scheduler/scheduler-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQlE,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,+CAA+C;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAa,EAqCjD,CAAC;AAwDF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAwE9D"}
1
+ {"version":3,"file":"scheduler-defaults.d.ts","sourceRoot":"","sources":["../../../src/services/scheduler/scheduler-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQlE,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,+CAA+C;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAa,EA8CjD,CAAC;AAwDF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAkF9D"}
@@ -21,10 +21,12 @@
21
21
  * clock.
22
22
  * auto-improve → autoImproveJob.runOnce(projectId)
23
23
  * observation-bridge → observationConsolidationJob.runOnce(projectId)
24
+ * checkpoint-purge → CheckpointManager.getInstance().purgeExpired()
24
25
  *
25
26
  * IMPORTANT: the scheduler must NEVER trigger indexing jobs (OOM risk per
26
- * project memory). Only memory/decay/consolidation/auto-improve/observation
27
- * jobs are registered here.
27
+ * project memory). Only memory/decay/consolidation/auto-improve/observation/
28
+ * checkpoint-purge jobs are registered here — checkpoint-purge is a bounded
29
+ * DELETE of already-expired rows, not an indexing job.
28
30
  */
29
31
  import { logger } from "@massa-ai/shared";
30
32
  // ── Default intervals (conservative) ─────────────────────────────────────────
@@ -68,6 +70,15 @@ export const DEFAULT_SCHEDULED_JOBS = [
68
70
  enableEnvVar: "MASSA_AI_SCHEDULER_OBSERVATION_BRIDGE_ENABLED",
69
71
  intervalEnvVar: "MASSA_AI_SCHEDULER_OBSERVATION_BRIDGE_INTERVAL_MS",
70
72
  },
73
+ {
74
+ id: "scheduled-checkpoint-purge",
75
+ name: "Checkpoint Purge (clock)",
76
+ jobKind: "checkpoint-purge",
77
+ schedule: { type: "interval", intervalMs: ONE_HOUR },
78
+ defaultEnabled: false,
79
+ enableEnvVar: "MASSA_AI_SCHEDULER_CHECKPOINT_PURGE_ENABLED",
80
+ intervalEnvVar: "MASSA_AI_SCHEDULER_CHECKPOINT_PURGE_INTERVAL_MS",
81
+ },
71
82
  ];
72
83
  function envBool(key, fallback) {
73
84
  const raw = process.env[key];
@@ -159,6 +170,13 @@ export function registerDefaultJobs(scheduler) {
159
170
  const projectId = job.payload?.projectId ?? "default";
160
171
  await observationConsolidationJob.runOnce(projectId);
161
172
  });
173
+ scheduler.registerHandler("checkpoint-purge", async () => {
174
+ // Reuse the existing checkpoint store's purgeExpired() (already-expired
175
+ // rows only — a bounded DELETE, not a full-table scan of live data).
176
+ const { CheckpointManager } = await import("../checkpoint/checkpoint-manager.js");
177
+ const count = CheckpointManager.getInstance().purgeExpired();
178
+ logger.info("Scheduled checkpoint purge completed", { count });
179
+ });
162
180
  // ── Default job definitions ───────────────────────────────────────────────
163
181
  for (const rawDef of DEFAULT_SCHEDULED_JOBS) {
164
182
  // Apply the safe-defaults preset BEFORE the envBool loop reads
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-defaults.js","sourceRoot":"","sources":["../../../src/services/scheduler/scheduler-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler-defaults.js","sourceRoot":"","sources":["../../../src/services/scheduler/scheduler-defaults.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massa-ai/core",
3
- "version": "1.37.0",
3
+ "version": "1.39.0",
4
4
  "author": "luizgmassa",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,7 +44,7 @@
44
44
  "@ai-sdk/google": "^3.0.19",
45
45
  "@ai-sdk/mistral": "^3.0.17",
46
46
  "@ai-sdk/openai": "^3.0.24",
47
- "@massa-ai/shared": "1.37.0",
47
+ "@massa-ai/shared": "1.39.0",
48
48
  "@prisma/adapter-pg": "^7.5.0",
49
49
  "@prisma/client": "^7.5.0",
50
50
  "@prisma/client-runtime-utils": "^7.3.0",
@@ -0,0 +1,33 @@
1
+ /*
2
+ Migration: add_vector_2560_bq
3
+ Adds vector_documents_2560d table with binary-quantized column for HNSW indexing.
4
+ pgvector 0.8+ supports HNSW on bit columns (any dimension) via bit_hamming_ops.
5
+ Idempotent — safe to re-run.
6
+ */
7
+
8
+ -- CreateTable vector_documents_2560d (idempotent)
9
+ CREATE TABLE IF NOT EXISTS "vector_documents_2560d" (
10
+ "id" TEXT NOT NULL,
11
+ "project_id" TEXT NOT NULL,
12
+ "content" TEXT NOT NULL,
13
+ "metadata" JSONB NOT NULL DEFAULT '{}',
14
+ "embedding" vector(2560),
15
+ "embedding_bq" bit(2560),
16
+ "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
17
+ "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
18
+ CONSTRAINT "vector_documents_2560d_pkey" PRIMARY KEY ("id")
19
+ );
20
+
21
+ -- AddColumn: add embedding_bq if the table already existed without it
22
+ ALTER TABLE "vector_documents_2560d" ADD COLUMN IF NOT EXISTS "embedding_bq" bit(2560);
23
+
24
+ -- CreateIndex: project lookup
25
+ CREATE INDEX IF NOT EXISTS "vector_documents_2560d_project_id_idx"
26
+ ON "vector_documents_2560d"("project_id");
27
+
28
+ -- CreateIndex: HNSW on binary-quantized column (bit_hamming_ops, no dimension limit)
29
+ -- This replaces the unavailable cosine HNSW on the 2560-dim float column.
30
+ CREATE INDEX IF NOT EXISTS "idx_vector_documents_2560d_embedding_bq"
31
+ ON "vector_documents_2560d"
32
+ USING hnsw (embedding_bq bit_hamming_ops)
33
+ WITH (m = 16, ef_construction = 64);
@@ -522,6 +522,23 @@ model VectorDocument4096 {
522
522
  @@map("vector_documents_4096d")
523
523
  }
524
524
 
525
+ // 2560-dimension table (qwen3-embedding:4b) with binary quantization for HNSW indexing.
526
+ // pgvector HNSW supports any dimension on bit columns (bit_hamming_ops).
527
+ // Search strategy: Phase 1 ANN on embedding_bq → Phase 2 exact cosine re-rank on embedding.
528
+ model VectorDocument2560 {
529
+ id String @id
530
+ projectId String @map("project_id")
531
+ content String
532
+ metadata Json @default("{}")
533
+ embedding Unsupported("vector(2560)")?
534
+ embeddingBq Unsupported("bit(2560)")? @map("embedding_bq")
535
+ createdAt DateTime @default(now()) @map("created_at")
536
+ updatedAt DateTime @updatedAt @map("updated_at")
537
+
538
+ @@index([projectId])
539
+ @@map("vector_documents_2560d")
540
+ }
541
+
525
542
  // ========================================
526
543
  // Index Jobs (Phase 1, T9 — PG parity for the job store)
527
544
  // Runtime state for async indexing jobs. PostgreSQL-canonical via PgStore