@pellux/goodvibes-sdk 1.3.1 → 1.3.3

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.
@@ -3,7 +3,7 @@
3
3
  "product": {
4
4
  "id": "goodvibes",
5
5
  "surface": "operator",
6
- "version": "1.3.1"
6
+ "version": "1.3.3"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
@@ -57142,6 +57142,9 @@
57142
57142
  },
57143
57143
  "error": {
57144
57144
  "type": "string"
57145
+ },
57146
+ "platformLimitReason": {
57147
+ "type": "string"
57145
57148
  }
57146
57149
  },
57147
57150
  "required": [
@@ -57339,6 +57342,9 @@
57339
57342
  },
57340
57343
  "error": {
57341
57344
  "type": "string"
57345
+ },
57346
+ "platformLimitReason": {
57347
+ "type": "string"
57342
57348
  }
57343
57349
  },
57344
57350
  "required": [
@@ -59771,6 +59777,9 @@
59771
59777
  },
59772
59778
  "error": {
59773
59779
  "type": "string"
59780
+ },
59781
+ "platformLimitReason": {
59782
+ "type": "string"
59774
59783
  }
59775
59784
  },
59776
59785
  "required": [
@@ -59851,6 +59860,9 @@
59851
59860
  },
59852
59861
  "error": {
59853
59862
  "type": "string"
59863
+ },
59864
+ "platformLimitReason": {
59865
+ "type": "string"
59854
59866
  }
59855
59867
  },
59856
59868
  "required": [
@@ -1 +1 @@
1
- {"version":3,"file":"operator-contract-schemas-runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/operator-contract-schemas-runtime.ts"],"names":[],"mappings":"AAmCA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,EAAyB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6B7F,eAAO,MAAM,iCAAiC,yBAQA,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,yBAOe,CAAC;AAEjE,eAAO,MAAM,6BAA6B,yBAasB,CAAC;AAEjE,eAAO,MAAM,4BAA4B,yBAuBqI,CAAC;AAE/K,eAAO,MAAM,6BAA6B,yBAYsF,CAAC;AAEjI,eAAO,MAAM,6BAA6B,yBAO4B,CAAC;AAEvE,eAAO,MAAM,2CAA2C,yBAG7B,CAAC;AAE5B,eAAO,MAAM,mCAAmC,yBAOtB,CAAC;AAE3B,eAAO,MAAM,mCAAmC,yBAGnB,CAAC;AAE9B,eAAO,MAAM,oCAAoC,yBAkB/C,CAAC;AAEH,eAAO,MAAM,kCAAkC,yBAqB0D,CAAC;AAE1G,eAAO,MAAM,uBAAuB,yBAWoE,CAAC;AAEzG,eAAO,MAAM,8BAA8B,yBAOjB,CAAC;AAE3B,eAAO,MAAM,mCAAmC,yBAGrB,CAAC;AAE5B,eAAO,MAAM,iCAAiC,yBAGrB,CAAC;AAE1B,eAAO,MAAM,mCAAmC,yBAEjC,CAAC;AAEhB;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,yBAIvB,CAAC;AAE5B,eAAO,MAAM,+CAA+C,yBAIlB,CAAC;AAE3C,eAAO,MAAM,2CAA2C,yBAMF,CAAC;AAEvD,eAAO,MAAM,0CAA0C;;CAK7C,CAAC;AAUX,eAAO,MAAM,mBAAmB,yBAqByD,CAAC;AAE1F,eAAO,MAAM,oBAAoB,yBAsBsB,CAAC;AAExD,eAAO,MAAM,wBAAwB,yBAgBO,CAAC;AAE7C,eAAO,MAAM,yBAAyB,yBASc,CAAC;AAErD,eAAO,MAAM,kBAAkB,yBAEnB,CAAC;AAEb,eAAO,MAAM,yBAAyB,yBAIM,CAAC;AAE7C,eAAO,MAAM,yBAAyB,yBAUiE,CAAC;AAWxG,eAAO,MAAM,6BAA6B,yBAgB8C,CAAC;AAEzF,eAAO,MAAM,wBAAwB,yBASuG,CAAC;AAE7I,eAAO,MAAM,4BAA4B,yBAIU,CAAC;AAOpD,eAAO,MAAM,6BAA6B,yBAKS,CAAC;AAEpD,eAAO,MAAM,6BAA6B,yBAE1B,CAAC;AA0EjB,eAAO,MAAM,gCAAgC,yBAMkB,CAAC;AAEhE,eAAO,MAAM,8BAA8B,yBAcqD,CAAC;AAqEjG,eAAO,MAAM,gCAAgC,yBAKmB,CAAC;AAEjE,eAAO,MAAM,sBAAsB,yBAcyF,CAAC;AAE7H,eAAO,MAAM,4BAA4B,yBASyG,CAAC;AAqBnJ,eAAO,MAAM,0BAA0B,yBAUyH,CAAC;AAEjK,eAAO,MAAM,2BAA2B,yBAIC,CAAC;AAG1C,eAAO,MAAM,mBAAmB,yBAA6C,CAAC;AAC9E,eAAO,MAAM,mBAAmB,yBAE9B,CAAC;AACH,eAAO,MAAM,0BAA0B,yBAA6D,CAAC;AACrG,eAAO,MAAM,6BAA6B,yBAA2D,CAAC;AAEtG,eAAO,MAAM,6BAA6B,yBAIvB,CAAC;AAEpB,eAAO,MAAM,oBAAoB,yBAeiH,CAAC;AAEnJ,eAAO,MAAM,kCAAkC,yBAWgJ,CAAC;AAEhM,eAAO,MAAM,kCAAkC,yBAG1B,CAAC;AAItB,eAAO,MAAM,kBAAkB,yBAKgB,CAAC;AAIhD,eAAO,MAAM,6BAA6B,yBAKL,CAAC;AAEtC,eAAO,MAAM,oBAAoB,yBAQ2D,CAAC;AAE7F,eAAO,MAAM,2BAA2B,yBAIkB,CAAC;AAE3D,eAAO,MAAM,gCAAgC,yBAE9B,CAAC;AAEhB,eAAO,MAAM,oCAAoC,yBAElC,CAAC;AAEhB,eAAO,MAAM,iCAAiC,yBAEjC,CAAC"}
1
+ {"version":3,"file":"operator-contract-schemas-runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/operator-contract-schemas-runtime.ts"],"names":[],"mappings":"AAmCA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,EAAyB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6B7F,eAAO,MAAM,iCAAiC,yBAQA,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,yBAOe,CAAC;AAEjE,eAAO,MAAM,6BAA6B,yBAasB,CAAC;AAEjE,eAAO,MAAM,4BAA4B,yBAuBqI,CAAC;AAE/K,eAAO,MAAM,6BAA6B,yBAYsF,CAAC;AAEjI,eAAO,MAAM,6BAA6B,yBAO4B,CAAC;AAEvE,eAAO,MAAM,2CAA2C,yBAG7B,CAAC;AAE5B,eAAO,MAAM,mCAAmC,yBAOtB,CAAC;AAE3B,eAAO,MAAM,mCAAmC,yBAGnB,CAAC;AAE9B,eAAO,MAAM,oCAAoC,yBAkB/C,CAAC;AAEH,eAAO,MAAM,kCAAkC,yBAqB0D,CAAC;AAE1G,eAAO,MAAM,uBAAuB,yBAWoE,CAAC;AAEzG,eAAO,MAAM,8BAA8B,yBAOjB,CAAC;AAE3B,eAAO,MAAM,mCAAmC,yBAGrB,CAAC;AAE5B,eAAO,MAAM,iCAAiC,yBAGrB,CAAC;AAE1B,eAAO,MAAM,mCAAmC,yBAEjC,CAAC;AAEhB;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,yBAIvB,CAAC;AAE5B,eAAO,MAAM,+CAA+C,yBAIlB,CAAC;AAE3C,eAAO,MAAM,2CAA2C,yBAMF,CAAC;AAEvD,eAAO,MAAM,0CAA0C;;CAK7C,CAAC;AAUX,eAAO,MAAM,mBAAmB,yBAqByD,CAAC;AAE1F,eAAO,MAAM,oBAAoB,yBAsBsB,CAAC;AAExD,eAAO,MAAM,wBAAwB,yBAgBO,CAAC;AAE7C,eAAO,MAAM,yBAAyB,yBASc,CAAC;AAErD,eAAO,MAAM,kBAAkB,yBAEnB,CAAC;AAEb,eAAO,MAAM,yBAAyB,yBAIM,CAAC;AAE7C,eAAO,MAAM,yBAAyB,yBAUiE,CAAC;AAWxG,eAAO,MAAM,6BAA6B,yBAgB8C,CAAC;AAEzF,eAAO,MAAM,wBAAwB,yBASuG,CAAC;AAE7I,eAAO,MAAM,4BAA4B,yBAIU,CAAC;AAOpD,eAAO,MAAM,6BAA6B,yBAKS,CAAC;AAEpD,eAAO,MAAM,6BAA6B,yBAE1B,CAAC;AA0EjB,eAAO,MAAM,gCAAgC,yBAMkB,CAAC;AAEhE,eAAO,MAAM,8BAA8B,yBAcqD,CAAC;AAqEjG,eAAO,MAAM,gCAAgC,yBAKmB,CAAC;AAEjE,eAAO,MAAM,sBAAsB,yBAcyF,CAAC;AAE7H,eAAO,MAAM,4BAA4B,yBASyG,CAAC;AAqBnJ,eAAO,MAAM,0BAA0B,yBAWyH,CAAC;AAEjK,eAAO,MAAM,2BAA2B,yBAIC,CAAC;AAG1C,eAAO,MAAM,mBAAmB,yBAA6C,CAAC;AAC9E,eAAO,MAAM,mBAAmB,yBAE9B,CAAC;AACH,eAAO,MAAM,0BAA0B,yBAA6D,CAAC;AACrG,eAAO,MAAM,6BAA6B,yBAA2D,CAAC;AAEtG,eAAO,MAAM,6BAA6B,yBAIvB,CAAC;AAEpB,eAAO,MAAM,oBAAoB,yBAeiH,CAAC;AAEnJ,eAAO,MAAM,kCAAkC,yBAWgJ,CAAC;AAEhM,eAAO,MAAM,kCAAkC,yBAG1B,CAAC;AAItB,eAAO,MAAM,kBAAkB,yBAKgB,CAAC;AAIhD,eAAO,MAAM,6BAA6B,yBAKL,CAAC;AAEtC,eAAO,MAAM,oBAAoB,yBAQ2D,CAAC;AAE7F,eAAO,MAAM,2BAA2B,yBAIkB,CAAC;AAE3D,eAAO,MAAM,gCAAgC,yBAE9B,CAAC;AAEhB,eAAO,MAAM,oCAAoC,yBAElC,CAAC;AAEhB,eAAO,MAAM,iCAAiC,yBAEjC,CAAC"}
@@ -614,6 +614,7 @@ export const MEMORY_VECTOR_STATS_SCHEMA = objectSchema({
614
614
  embeddingProviderId: STRING_SCHEMA,
615
615
  embeddingProviderLabel: STRING_SCHEMA,
616
616
  error: STRING_SCHEMA,
617
+ platformLimitReason: STRING_SCHEMA,
617
618
  }, ['backend', 'enabled', 'available', 'path', 'dimensions', 'indexedRecords', 'embeddingProviderId', 'embeddingProviderLabel'], { additionalProperties: true });
618
619
  export const MEMORY_DOCTOR_REPORT_SCHEMA = objectSchema({
619
620
  vector: MEMORY_VECTOR_STATS_SCHEMA,
@@ -83,6 +83,7 @@ export declare class CodeIndexStore {
83
83
  private db;
84
84
  private available;
85
85
  private error;
86
+ private platformLimitReason;
86
87
  private building;
87
88
  private buildStartedAtMs;
88
89
  private buildPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"code-index-store.d.ts","sourceRoot":"","sources":["../../../src/platform/state/code-index-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-index-store.d.ts","sourceRoot":"","sources":["../../../src/platform/state/code-index-store.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@
55
55
  import { dirname, join, relative, sep } from 'node:path';
56
56
  import { mkdirSync, statSync } from 'node:fs';
57
57
  import { createRequire } from 'node:module';
58
- import { loadSqliteVecExtension } from './sqlite-vec-loader.js';
58
+ import { loadSqliteVecExtension, SqliteVecPlatformUnsupportedError } from './sqlite-vec-loader.js';
59
59
  import { HASHED_MEMORY_EMBEDDING_PROVIDER, MemoryEmbeddingProviderRegistry, normalizeMemoryEmbeddingVector, } from './memory-embeddings.js';
60
60
  import { MEMORY_VECTOR_DIMS } from './memory-vector-store.js';
61
61
  import { CodeIntelligence } from '../intelligence/facade.js';
@@ -99,6 +99,7 @@ export class CodeIndexStore {
99
99
  db = null;
100
100
  available = false;
101
101
  error;
102
+ platformLimitReason;
102
103
  building = false;
103
104
  buildStartedAtMs = null;
104
105
  buildPromise = null;
@@ -138,8 +139,16 @@ export class CodeIndexStore {
138
139
  catch (err) {
139
140
  this.close();
140
141
  this.available = false;
141
- this.error = summarizeError(err);
142
- logger.warn('Code index unavailable', { backend: 'sqlite-vec', error: this.error });
142
+ // Platform capability limit vs genuine fault (see sqlite-vec-loader.ts).
143
+ const limit = err instanceof SqliteVecPlatformUnsupportedError;
144
+ if (limit)
145
+ this.platformLimitReason = err.message;
146
+ else
147
+ this.error = summarizeError(err);
148
+ logger.warn(limit ? 'Code index unavailable on this platform' : 'Code index unavailable', {
149
+ backend: 'sqlite-vec',
150
+ ...(limit ? { reason: err.message } : { error: this.error }),
151
+ });
143
152
  }
144
153
  }
145
154
  close() {
@@ -27,6 +27,14 @@ export interface MemoryVectorStats {
27
27
  embeddingProviderId: string;
28
28
  embeddingProviderLabel: string;
29
29
  error?: string | undefined;
30
+ /**
31
+ * Set when the vector index is unavailable because the RUNTIME PLATFORM
32
+ * cannot load SQLite extensions (a permanent capability limit — e.g. a
33
+ * macOS-compiled binary on Apple's system SQLite). Deliberately NOT the
34
+ * `error` field: a capability limit is not a fault, and fault monitors
35
+ * must not fire on it. Semantic search degrades to literal matching.
36
+ */
37
+ platformLimitReason?: string | undefined;
30
38
  }
31
39
  export declare function resolveMemoryVectorDbPath(dbPath?: string): string;
32
40
  export declare function memoryVectorSourceHash(record: MemoryRecord): string;
@@ -39,6 +47,7 @@ export declare class SqliteVecMemoryIndex {
39
47
  private enabled;
40
48
  private available;
41
49
  private error;
50
+ private platformLimitReason;
42
51
  private static readonly rebuildBatchSize;
43
52
  constructor(dbPath: string, dimensions: number | undefined, embeddingRegistry: MemoryEmbeddingProviderRegistry);
44
53
  init(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-vector-store.d.ts","sourceRoot":"","sources":["../../../src/platform/state/memory-vector-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-vector-store.d.ts","sourceRoot":"","sources":["../../../src/platform/state/memory-vector-store.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { dirname } from 'node:path';
3
3
  import { mkdirSync } from 'node:fs';
4
4
  import { createRequire } from 'node:module';
5
5
  import { MemoryEmbeddingProviderRegistry, embedMemoryText, normalizeMemoryEmbeddingVector, } from './memory-embeddings.js';
6
- import { loadSqliteVecExtension } from './sqlite-vec-loader.js';
6
+ import { loadSqliteVecExtension, SqliteVecPlatformUnsupportedError } from './sqlite-vec-loader.js';
7
7
  import { logger } from '../utils/logger.js';
8
8
  import { summarizeError } from '../utils/error-display.js';
9
9
  // Lifted to sqlite-vec-loader.ts (see CHANGELOG 0.38.0) so code-index-store.ts can load
@@ -69,6 +69,7 @@ export class SqliteVecMemoryIndex {
69
69
  enabled = false;
70
70
  available = false;
71
71
  error;
72
+ platformLimitReason;
72
73
  static rebuildBatchSize = 25;
73
74
  constructor(dbPath, dimensions = MEMORY_VECTOR_DIMS, embeddingRegistry) {
74
75
  this.dbPath = dbPath;
@@ -92,8 +93,20 @@ export class SqliteVecMemoryIndex {
92
93
  this.close();
93
94
  this.available = false;
94
95
  this.enabled = false;
95
- this.error = summarizeError(err);
96
- logger.warn('Memory vector index unavailable', { backend: 'sqlite-vec', error: this.error });
96
+ if (err instanceof SqliteVecPlatformUnsupportedError) {
97
+ // A platform capability limit, not a fault: report it as a reason,
98
+ // never through the error field (fault monitors and release smokes
99
+ // treat `error` as a defect signal, and this is not one).
100
+ this.platformLimitReason = err.message;
101
+ logger.warn('Memory vector index unavailable on this platform — memory search uses literal matching', {
102
+ backend: 'sqlite-vec',
103
+ reason: err.message,
104
+ });
105
+ }
106
+ else {
107
+ this.error = summarizeError(err);
108
+ logger.warn('Memory vector index unavailable', { backend: 'sqlite-vec', error: this.error });
109
+ }
97
110
  }
98
111
  }
99
112
  stats() {
@@ -107,7 +120,8 @@ export class SqliteVecMemoryIndex {
107
120
  indexedRecords: this.countIndexedRecords(),
108
121
  embeddingProviderId: provider?.id ?? this.embeddingRegistry.getDefaultProviderId(),
109
122
  embeddingProviderLabel: provider?.label ?? `Unregistered (${this.embeddingRegistry.getDefaultProviderId()})`,
110
- ...(this.error ?? !provider
123
+ ...(this.platformLimitReason ? { platformLimitReason: this.platformLimitReason } : {}),
124
+ ...(this.error ?? (!provider && !this.platformLimitReason)
111
125
  ? { error: this.error ?? `Active memory embedding provider '${this.embeddingRegistry.getDefaultProviderId()}' is not registered.` }
112
126
  : {}),
113
127
  };
@@ -17,9 +17,25 @@ import type { Database } from 'bun:sqlite';
17
17
  * indexes load the exact same native extension the exact same way.
18
18
  */
19
19
  export declare function resolveSqliteVecPath(): string;
20
+ /**
21
+ * Thrown when the RUNTIME PLATFORM cannot load SQLite extensions at all —
22
+ * most commonly a macOS-compiled binary, where bun:sqlite links Apple's
23
+ * system SQLite, which ships with extension loading disabled. This is a
24
+ * permanent capability limit of the platform, not a defect in the build:
25
+ * callers should degrade to their documented no-vector mode with the
26
+ * `reason` surfaced, rather than reporting an error. A missing extension
27
+ * FILE (a genuine packaging defect) deliberately does NOT map to this class.
28
+ */
29
+ export declare class SqliteVecPlatformUnsupportedError extends Error {
30
+ readonly platformLimit = true;
31
+ constructor(cause: string);
32
+ }
20
33
  /**
21
34
  * Loads the sqlite-vec extension into a Bun SQLite database.
22
35
  * Handles both bundled-binary and development execution contexts.
36
+ *
37
+ * Throws SqliteVecPlatformUnsupportedError when the platform itself refuses
38
+ * extension loading (see the class doc); rethrows everything else untouched.
23
39
  */
24
40
  export declare function loadSqliteVecExtension(db: Database): void;
25
41
  //# sourceMappingURL=sqlite-vec-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-vec-loader.d.ts","sourceRoot":"","sources":["../../../src/platform/state/sqlite-vec-loader.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAGrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAOzD"}
1
+ {"version":3,"file":"sqlite-vec-loader.d.ts","sourceRoot":"","sources":["../../../src/platform/state/sqlite-vec-loader.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAGrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C;AAED;;;;;;;;GAQG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,QAAQ,CAAC,aAAa,QAAQ;gBAElB,KAAK,EAAE,MAAM;CAQ1B;AAWD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAczD"}
@@ -28,16 +28,53 @@ export function resolveSqliteVecPath() {
28
28
  // In dev mode, delegate to sqlite-vec's own resolver.
29
29
  return '';
30
30
  }
31
+ /**
32
+ * Thrown when the RUNTIME PLATFORM cannot load SQLite extensions at all —
33
+ * most commonly a macOS-compiled binary, where bun:sqlite links Apple's
34
+ * system SQLite, which ships with extension loading disabled. This is a
35
+ * permanent capability limit of the platform, not a defect in the build:
36
+ * callers should degrade to their documented no-vector mode with the
37
+ * `reason` surfaced, rather than reporting an error. A missing extension
38
+ * FILE (a genuine packaging defect) deliberately does NOT map to this class.
39
+ */
40
+ export class SqliteVecPlatformUnsupportedError extends Error {
41
+ platformLimit = true;
42
+ constructor(cause) {
43
+ super("this platform's SQLite does not allow loading extensions"
44
+ + ' (macOS system SQLite); the semantic vector index is unavailable'
45
+ + ` and memory search uses literal matching. Underlying refusal: ${cause}`);
46
+ this.name = 'SqliteVecPlatformUnsupportedError';
47
+ }
48
+ }
49
+ /** True when a loadExtension throw is the platform capability refusal, not a packaging defect. */
50
+ function isExtensionLoadingRefusal(err) {
51
+ const message = err instanceof Error ? err.message : String(err);
52
+ // Apple's SQLite refuses with an authorization message; a build with
53
+ // SQLITE_OMIT_LOAD_EXTENSION names the capability. A missing file surfaces
54
+ // as ENOENT/dlopen-no-such-file and must stay a loud defect.
55
+ return /not authorized|omit.*load.*extension|extension loading is disabled|does not support dynamic extension loading/i.test(message);
56
+ }
31
57
  /**
32
58
  * Loads the sqlite-vec extension into a Bun SQLite database.
33
59
  * Handles both bundled-binary and development execution contexts.
60
+ *
61
+ * Throws SqliteVecPlatformUnsupportedError when the platform itself refuses
62
+ * extension loading (see the class doc); rethrows everything else untouched.
34
63
  */
35
64
  export function loadSqliteVecExtension(db) {
36
65
  const bundledPath = resolveSqliteVecPath();
37
- if (bundledPath) {
38
- db.loadExtension(bundledPath);
66
+ try {
67
+ if (bundledPath) {
68
+ db.loadExtension(bundledPath);
69
+ }
70
+ else {
71
+ loadSqliteVec(db);
72
+ }
39
73
  }
40
- else {
41
- loadSqliteVec(db);
74
+ catch (err) {
75
+ if (isExtensionLoadingRefusal(err)) {
76
+ throw new SqliteVecPlatformUnsupportedError(err instanceof Error ? err.message : String(err));
77
+ }
78
+ throw err;
42
79
  }
43
80
  }
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- let version = '1.3.1';
3
+ let version = '1.3.3';
4
4
  try {
5
5
  const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
6
6
  version = pkg.version ?? version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-sdk",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "TypeScript SDK for building GoodVibes operator, peer, web, mobile, and daemon-connected apps with typed contracts, auth, realtime events, and transport layers.",
5
5
  "keywords": [
6
6
  "goodvibes",
@@ -477,14 +477,14 @@
477
477
  "sideEffects": false,
478
478
  "type": "module",
479
479
  "dependencies": {
480
- "@pellux/goodvibes-contracts": "1.3.1",
481
- "@pellux/goodvibes-daemon-sdk": "1.3.1",
482
- "@pellux/goodvibes-errors": "1.3.1",
483
- "@pellux/goodvibes-operator-sdk": "1.3.1",
484
- "@pellux/goodvibes-peer-sdk": "1.3.1",
485
- "@pellux/goodvibes-transport-core": "1.3.1",
486
- "@pellux/goodvibes-transport-http": "1.3.1",
487
- "@pellux/goodvibes-transport-realtime": "1.3.1"
480
+ "@pellux/goodvibes-contracts": "1.3.3",
481
+ "@pellux/goodvibes-daemon-sdk": "1.3.3",
482
+ "@pellux/goodvibes-errors": "1.3.3",
483
+ "@pellux/goodvibes-operator-sdk": "1.3.3",
484
+ "@pellux/goodvibes-peer-sdk": "1.3.3",
485
+ "@pellux/goodvibes-transport-core": "1.3.3",
486
+ "@pellux/goodvibes-transport-http": "1.3.3",
487
+ "@pellux/goodvibes-transport-realtime": "1.3.3"
488
488
  },
489
489
  "optionalDependencies": {
490
490
  "@agentclientprotocol/sdk": "^0.21.0",