@mastra/duckdb 1.0.1 → 1.1.0-alpha.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 (48) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/LICENSE.md +15 -0
  3. package/dist/chunk-37GBWD4M.js +195 -0
  4. package/dist/chunk-37GBWD4M.js.map +1 -0
  5. package/dist/chunk-S2AWBPTS.cjs +198 -0
  6. package/dist/chunk-S2AWBPTS.cjs.map +1 -0
  7. package/dist/docs/SKILL.md +2 -2
  8. package/dist/docs/assets/SOURCE_MAP.json +8 -2
  9. package/dist/docs/references/reference-vectors-duckdb.md +46 -46
  10. package/dist/index.cjs +241 -4
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.ts +5 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +238 -6
  15. package/dist/index.js.map +1 -1
  16. package/dist/observability-PW6J27KS.js +1675 -0
  17. package/dist/observability-PW6J27KS.js.map +1 -0
  18. package/dist/observability-W2QRBK56.cjs +1677 -0
  19. package/dist/observability-W2QRBK56.cjs.map +1 -0
  20. package/dist/storage/db/index.d.ts +46 -0
  21. package/dist/storage/db/index.d.ts.map +1 -0
  22. package/dist/storage/domains/observability/ddl.d.ts +25 -0
  23. package/dist/storage/domains/observability/ddl.d.ts.map +1 -0
  24. package/dist/storage/domains/observability/discovery.d.ts +13 -0
  25. package/dist/storage/domains/observability/discovery.d.ts.map +1 -0
  26. package/dist/storage/domains/observability/feedback.d.ts +9 -0
  27. package/dist/storage/domains/observability/feedback.d.ts.map +1 -0
  28. package/dist/storage/domains/observability/filters.d.ts +27 -0
  29. package/dist/storage/domains/observability/filters.d.ts.map +1 -0
  30. package/dist/storage/domains/observability/helpers.d.ts +14 -0
  31. package/dist/storage/domains/observability/helpers.d.ts.map +1 -0
  32. package/dist/storage/domains/observability/index.d.ts +54 -0
  33. package/dist/storage/domains/observability/index.d.ts.map +1 -0
  34. package/dist/storage/domains/observability/logs.d.ts +7 -0
  35. package/dist/storage/domains/observability/logs.d.ts.map +1 -0
  36. package/dist/storage/domains/observability/metrics.d.ts +21 -0
  37. package/dist/storage/domains/observability/metrics.d.ts.map +1 -0
  38. package/dist/storage/domains/observability/scores.d.ts +9 -0
  39. package/dist/storage/domains/observability/scores.d.ts.map +1 -0
  40. package/dist/storage/domains/observability/tracing.d.ts +17 -0
  41. package/dist/storage/domains/observability/tracing.d.ts.map +1 -0
  42. package/dist/storage/index.d.ts +101 -0
  43. package/dist/storage/index.d.ts.map +1 -0
  44. package/dist/vector/filter-builder.d.ts +1 -0
  45. package/dist/vector/filter-builder.d.ts.map +1 -1
  46. package/dist/vector/index.d.ts +9 -0
  47. package/dist/vector/index.d.ts.map +1 -1
  48. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAG7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA8NvD,2DAA2D;AAC3D,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C1G;AAED,oEAAoE;AACpE,wBAAsB,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyB3G;AAMD,2GAA2G;AAC3G,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,0BAA0B,CAAC,CAmGrC;AAED,4DAA4D;AAC5D,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,0BAA0B,CAAC,CAoCrC;AAED,uFAAuF;AACvF,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,2BAA2B,CAAC,CAsGtC;AAED,2EAA2E;AAC3E,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAoCvC;AAMD,mEAAmE;AACnE,wBAAsB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmBpH;AAED,0DAA0D;AAC1D,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,0BAA0B,CAAC,CAMrC;AAED,mEAAmE;AACnE,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAmBvC"}
@@ -0,0 +1,9 @@
1
+ import type { BatchCreateScoresArgs, CreateScoreArgs, ListScoresArgs, ListScoresResponse } from '@mastra/core/storage';
2
+ import type { DuckDBConnection } from '../../db/index.js';
3
+ /** Insert a single score event. */
4
+ export declare function createScore(db: DuckDBConnection, args: CreateScoreArgs): Promise<void>;
5
+ /** Insert multiple score events in a single statement. */
6
+ export declare function batchCreateScores(db: DuckDBConnection, args: BatchCreateScoresArgs): Promise<void>;
7
+ /** Query score events with filtering, ordering, and pagination. */
8
+ export declare function listScores(db: DuckDBConnection, args: ListScoresArgs): Promise<ListScoresResponse>;
9
+ //# sourceMappingURL=scores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scores.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/scores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,mCAAmC;AACnC,wBAAsB,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5F;AAED,0DAA0D;AAC1D,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBxG;AAED,mEAAmE;AACnE,wBAAsB,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0CxG"}
@@ -0,0 +1,17 @@
1
+ import type { CreateSpanArgs, GetSpanArgs, GetSpanResponse, GetRootSpanArgs, GetRootSpanResponse, GetTraceArgs, GetTraceResponse, ListTracesArgs, ListTracesResponse, BatchCreateSpansArgs, BatchDeleteTracesArgs } from '@mastra/core/storage';
2
+ import type { DuckDBConnection } from '../../db/index.js';
3
+ /** Insert a 'start' event for a new span. */
4
+ export declare function createSpan(db: DuckDBConnection, args: CreateSpanArgs): Promise<void>;
5
+ /** Insert 'start' events for multiple spans in a single statement. */
6
+ export declare function batchCreateSpans(db: DuckDBConnection, args: BatchCreateSpansArgs): Promise<void>;
7
+ /** Delete all span events for the given trace IDs. */
8
+ export declare function batchDeleteTraces(db: DuckDBConnection, args: BatchDeleteTracesArgs): Promise<void>;
9
+ /** Reconstruct a single span from its event history. */
10
+ export declare function getSpan(db: DuckDBConnection, args: GetSpanArgs): Promise<GetSpanResponse | null>;
11
+ /** Reconstruct the root span (no parent) for a trace. */
12
+ export declare function getRootSpan(db: DuckDBConnection, args: GetRootSpanArgs): Promise<GetRootSpanResponse | null>;
13
+ /** Reconstruct all spans belonging to a trace. */
14
+ export declare function getTrace(db: DuckDBConnection, args: GetTraceArgs): Promise<GetTraceResponse | null>;
15
+ /** List root spans (traces) with filtering, ordering, and pagination. */
16
+ export declare function listTraces(db: DuckDBConnection, args: ListTracesArgs): Promise<ListTracesResponse>;
17
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+SvD,6CAA6C;AAC7C,wBAAsB,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1F;AAED,sEAAsE;AACtE,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtG;AAED,sDAAsD;AACtD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxG;AAMD,wDAAwD;AACxD,wBAAsB,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAOtG;AAED,yDAAyD;AACzD,wBAAsB,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAOlH;AAED,kDAAkD;AAClD,wBAAsB,QAAQ,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAOzG;AAED,yEAAyE;AACzE,wBAAsB,UAAU,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoDxG"}
@@ -0,0 +1,101 @@
1
+ import type { StorageDomains } from '@mastra/core/storage';
2
+ import { MastraCompositeStore, ObservabilityStorage as CoreObservabilityStorage } from '@mastra/core/storage';
3
+ import { DuckDBConnection } from './db/index.js';
4
+ import type { ObservabilityDuckDBConfig, ObservabilityStorageDuckDB as ObservabilityStorageDuckDBImpl } from './domains/observability/index.js';
5
+ export { DuckDBConnection } from './db/index.js';
6
+ export type { DuckDBStorageConfig } from './db/index.js';
7
+ export type { ObservabilityDuckDBConfig } from './domains/observability/index.js';
8
+ type ObservabilityStoreImpl = ObservabilityStorageDuckDBImpl;
9
+ /**
10
+ * Lazy DuckDB observability facade.
11
+ *
12
+ * This avoids loading the concrete observability implementation until init or first use,
13
+ * which lets DuckDBStore degrade cleanly when paired with an older @mastra/core runtime.
14
+ */
15
+ export declare class ObservabilityStorageDuckDB extends CoreObservabilityStorage {
16
+ private db;
17
+ private delegate;
18
+ private loadPromise;
19
+ private unavailableError;
20
+ constructor(config: ObservabilityDuckDBConfig);
21
+ private createUnavailableError;
22
+ private loadDelegate;
23
+ private requireDelegate;
24
+ get observabilityStrategy(): ObservabilityStoreImpl['observabilityStrategy'];
25
+ get tracingStrategy(): ObservabilityStoreImpl['tracingStrategy'];
26
+ init(...args: Parameters<ObservabilityStoreImpl['init']>): ReturnType<ObservabilityStoreImpl['init']>;
27
+ dangerouslyClearAll(...args: Parameters<ObservabilityStoreImpl['dangerouslyClearAll']>): ReturnType<ObservabilityStoreImpl['dangerouslyClearAll']>;
28
+ createSpan(...args: Parameters<ObservabilityStoreImpl['createSpan']>): ReturnType<ObservabilityStoreImpl['createSpan']>;
29
+ updateSpan(...args: Parameters<ObservabilityStoreImpl['updateSpan']>): ReturnType<ObservabilityStoreImpl['updateSpan']>;
30
+ getSpan(...args: Parameters<ObservabilityStoreImpl['getSpan']>): ReturnType<ObservabilityStoreImpl['getSpan']>;
31
+ getRootSpan(...args: Parameters<ObservabilityStoreImpl['getRootSpan']>): ReturnType<ObservabilityStoreImpl['getRootSpan']>;
32
+ getTrace(...args: Parameters<ObservabilityStoreImpl['getTrace']>): ReturnType<ObservabilityStoreImpl['getTrace']>;
33
+ listTraces(...args: Parameters<ObservabilityStoreImpl['listTraces']>): ReturnType<ObservabilityStoreImpl['listTraces']>;
34
+ batchCreateSpans(...args: Parameters<ObservabilityStoreImpl['batchCreateSpans']>): ReturnType<ObservabilityStoreImpl['batchCreateSpans']>;
35
+ batchUpdateSpans(...args: Parameters<ObservabilityStoreImpl['batchUpdateSpans']>): ReturnType<ObservabilityStoreImpl['batchUpdateSpans']>;
36
+ batchDeleteTraces(...args: Parameters<ObservabilityStoreImpl['batchDeleteTraces']>): ReturnType<ObservabilityStoreImpl['batchDeleteTraces']>;
37
+ batchCreateLogs(...args: Parameters<ObservabilityStoreImpl['batchCreateLogs']>): ReturnType<ObservabilityStoreImpl['batchCreateLogs']>;
38
+ listLogs(...args: Parameters<ObservabilityStoreImpl['listLogs']>): ReturnType<ObservabilityStoreImpl['listLogs']>;
39
+ batchCreateMetrics(...args: Parameters<ObservabilityStoreImpl['batchCreateMetrics']>): ReturnType<ObservabilityStoreImpl['batchCreateMetrics']>;
40
+ listMetrics(...args: Parameters<ObservabilityStoreImpl['listMetrics']>): ReturnType<ObservabilityStoreImpl['listMetrics']>;
41
+ getMetricAggregate(...args: Parameters<ObservabilityStoreImpl['getMetricAggregate']>): ReturnType<ObservabilityStoreImpl['getMetricAggregate']>;
42
+ getMetricBreakdown(...args: Parameters<ObservabilityStoreImpl['getMetricBreakdown']>): ReturnType<ObservabilityStoreImpl['getMetricBreakdown']>;
43
+ getMetricTimeSeries(...args: Parameters<ObservabilityStoreImpl['getMetricTimeSeries']>): ReturnType<ObservabilityStoreImpl['getMetricTimeSeries']>;
44
+ getMetricPercentiles(...args: Parameters<ObservabilityStoreImpl['getMetricPercentiles']>): ReturnType<ObservabilityStoreImpl['getMetricPercentiles']>;
45
+ getMetricNames(...args: Parameters<ObservabilityStoreImpl['getMetricNames']>): ReturnType<ObservabilityStoreImpl['getMetricNames']>;
46
+ getMetricLabelKeys(...args: Parameters<ObservabilityStoreImpl['getMetricLabelKeys']>): ReturnType<ObservabilityStoreImpl['getMetricLabelKeys']>;
47
+ getMetricLabelValues(...args: Parameters<ObservabilityStoreImpl['getMetricLabelValues']>): ReturnType<ObservabilityStoreImpl['getMetricLabelValues']>;
48
+ getEntityTypes(...args: Parameters<ObservabilityStoreImpl['getEntityTypes']>): ReturnType<ObservabilityStoreImpl['getEntityTypes']>;
49
+ getEntityNames(...args: Parameters<ObservabilityStoreImpl['getEntityNames']>): ReturnType<ObservabilityStoreImpl['getEntityNames']>;
50
+ getServiceNames(...args: Parameters<ObservabilityStoreImpl['getServiceNames']>): ReturnType<ObservabilityStoreImpl['getServiceNames']>;
51
+ getEnvironments(...args: Parameters<ObservabilityStoreImpl['getEnvironments']>): ReturnType<ObservabilityStoreImpl['getEnvironments']>;
52
+ getTags(...args: Parameters<ObservabilityStoreImpl['getTags']>): ReturnType<ObservabilityStoreImpl['getTags']>;
53
+ createScore(...args: Parameters<ObservabilityStoreImpl['createScore']>): ReturnType<ObservabilityStoreImpl['createScore']>;
54
+ batchCreateScores(...args: Parameters<ObservabilityStoreImpl['batchCreateScores']>): ReturnType<ObservabilityStoreImpl['batchCreateScores']>;
55
+ listScores(...args: Parameters<ObservabilityStoreImpl['listScores']>): ReturnType<ObservabilityStoreImpl['listScores']>;
56
+ createFeedback(...args: Parameters<ObservabilityStoreImpl['createFeedback']>): ReturnType<ObservabilityStoreImpl['createFeedback']>;
57
+ batchCreateFeedback(...args: Parameters<ObservabilityStoreImpl['batchCreateFeedback']>): ReturnType<ObservabilityStoreImpl['batchCreateFeedback']>;
58
+ listFeedback(...args: Parameters<ObservabilityStoreImpl['listFeedback']>): ReturnType<ObservabilityStoreImpl['listFeedback']>;
59
+ }
60
+ /** Configuration for the top-level DuckDBStore composite. */
61
+ export interface DuckDBStoreConfig {
62
+ /** Store identifier. Defaults to 'duckdb'. */
63
+ id?: string;
64
+ /**
65
+ * Path to the DuckDB database file.
66
+ * @default 'mastra.duckdb'
67
+ * Use ':memory:' for an ephemeral in-memory database.
68
+ */
69
+ path?: string;
70
+ }
71
+ /**
72
+ * DuckDB storage adapter for Mastra.
73
+ *
74
+ * Currently provides observability storage (traces, metrics, logs, scores, feedback).
75
+ * Use via composition with another store for domains DuckDB doesn't yet cover.
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * // As the observability backend in a composed store
80
+ * const storage = new MastraCompositeStore({
81
+ * id: 'my-store',
82
+ * default: new LibSQLStore({ id: 'my-store', url: 'file:./dev.db' }),
83
+ * domains: {
84
+ * observability: new DuckDBStore().observability,
85
+ * },
86
+ * });
87
+ *
88
+ * // Or standalone (only observability domain available)
89
+ * const duckdb = new DuckDBStore();
90
+ * const obs = await duckdb.getStore('observability');
91
+ * ```
92
+ */
93
+ export declare class DuckDBStore extends MastraCompositeStore {
94
+ readonly db: DuckDBConnection;
95
+ private observabilityStore;
96
+ stores: StorageDomains;
97
+ constructor(config?: DuckDBStoreConfig);
98
+ /** Convenience accessor for the observability domain. */
99
+ get observability(): ObservabilityStorageDuckDB;
100
+ }
101
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DuckDBVectorFilter } from './types.js';
2
+ /** Result of building a SQL filter: a WHERE clause fragment and bound parameters. */
2
3
  export interface FilterResult {
3
4
  clause: string;
4
5
  params: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"filter-builder.d.ts","sourceRoot":"","sources":["../../src/vector/filter-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AA8BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAkE1E"}
1
+ {"version":3,"file":"filter-builder.d.ts","sourceRoot":"","sources":["../../src/vector/filter-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AA8BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAkE1E"}
@@ -43,14 +43,23 @@ export declare class DuckDBVector extends MastraVector<DuckDBVectorFilter> {
43
43
  * Get the distance function for the configured metric.
44
44
  */
45
45
  private getDistanceFunction;
46
+ /** Perform a vector similarity search with optional metadata filtering. */
46
47
  query(params: QueryVectorParams<DuckDBVectorFilter>): Promise<QueryResult[]>;
48
+ /** Insert or replace vectors with metadata. Returns the vector IDs. */
47
49
  upsert(params: UpsertVectorParams): Promise<string[]>;
50
+ /** Create a vector table with HNSW index for similarity search. */
48
51
  createIndex(params: CreateIndexParams): Promise<void>;
52
+ /** List all vector table names in the database. */
49
53
  listIndexes(): Promise<string[]>;
54
+ /** Return dimension, row count, and metric for a vector index. */
50
55
  describeIndex(params: DescribeIndexParams): Promise<IndexStats>;
56
+ /** Drop a vector table and its HNSW index. */
51
57
  deleteIndex(params: DeleteIndexParams): Promise<void>;
58
+ /** Update a vector's embedding and/or metadata by ID or filter. */
52
59
  updateVector(params: UpdateVectorParams<DuckDBVectorFilter>): Promise<void>;
60
+ /** Delete a single vector by ID. */
53
61
  deleteVector(params: DeleteVectorParams): Promise<void>;
62
+ /** Delete multiple vectors by IDs or metadata filter (mutually exclusive). */
54
63
  deleteVectors(params: DeleteVectorsParams<DuckDBVectorFilter>): Promise<void>;
55
64
  /**
56
65
  * Close the database connection.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqC,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAA8B;gBAErC,MAAM,EAAE,kBAAkB;IAUtC;;OAEG;YACW,UAAU;IAgDxB;;OAEG;YACW,aAAa;IAQ3B;;OAEG;YACW,QAAQ;IA2BtB;;OAEG;YACW,YAAY;IAoB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAarB,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkF5E,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkCrD,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCrD,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAehC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsC/D,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD3E,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnF;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqC,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAA8B;gBAErC,MAAM,EAAE,kBAAkB;IAUtC;;OAEG;YACW,UAAU;IAgDxB;;OAEG;YACW,aAAa;IAQ3B;;OAEG;YACW,QAAQ;IA4BtB;;OAEG;YACW,YAAY;IAqB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B,2EAA2E;IACrE,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkFlF,uEAAuE;IACjE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkC3D,mEAAmE;IAC7D,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC3D,mDAAmD;IAC7C,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAetC,kEAAkE;IAC5D,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsCrE,8CAA8C;IACxC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,mEAAmE;IAC7D,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDjF,oCAAoC;IAC9B,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7D,8EAA8E;IACxE,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnF;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/duckdb",
3
- "version": "1.0.1",
3
+ "version": "1.1.0-alpha.0",
4
4
  "description": "DuckDB vector store provider for Mastra - embedded high-performance vector storage with HNSW indexing",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,18 +23,18 @@
23
23
  "@duckdb/node-api": "1.4.2-r.1"
24
24
  },
25
25
  "devDependencies": {
26
- "@types/node": "22.19.7",
26
+ "@types/node": "22.19.15",
27
27
  "@vitest/coverage-v8": "4.0.18",
28
28
  "@vitest/ui": "4.0.18",
29
- "eslint": "^9.37.0",
29
+ "eslint": "^9.39.4",
30
30
  "rimraf": "^5.0.10",
31
31
  "tsup": "^8.5.1",
32
32
  "typescript": "^5.9.3",
33
33
  "vitest": "4.0.18",
34
- "@internal/lint": "0.0.63",
35
- "@internal/storage-test-utils": "0.0.59",
36
- "@internal/types-builder": "0.0.38",
37
- "@mastra/core": "1.8.0"
34
+ "@internal/storage-test-utils": "0.0.70",
35
+ "@internal/lint": "0.0.74",
36
+ "@mastra/core": "1.16.1-alpha.1",
37
+ "@internal/types-builder": "0.0.49"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "@mastra/core": ">=1.0.0-0 <2.0.0-0"