@brain-protocol/mcp 0.1.0 → 0.2.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 (46) hide show
  1. package/README.md +76 -122
  2. package/dist/cli.d.ts +11 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +56 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +23 -7
  9. package/dist/index.js.map +1 -1
  10. package/dist/schemas.d.ts +166 -0
  11. package/dist/schemas.d.ts.map +1 -1
  12. package/dist/schemas.js +46 -0
  13. package/dist/schemas.js.map +1 -1
  14. package/dist/server.d.ts +1 -1
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +2 -2
  17. package/dist/server.js.map +1 -1
  18. package/dist/store/adapter.d.ts +5 -0
  19. package/dist/store/adapter.d.ts.map +1 -1
  20. package/dist/store/cloud.d.ts +6 -4
  21. package/dist/store/cloud.d.ts.map +1 -1
  22. package/dist/store/cloud.js +66 -115
  23. package/dist/store/cloud.js.map +1 -1
  24. package/dist/store/sqlite.d.ts +12 -0
  25. package/dist/store/sqlite.d.ts.map +1 -1
  26. package/dist/store/sqlite.js +267 -12
  27. package/dist/store/sqlite.js.map +1 -1
  28. package/dist/tools/delete.d.ts +6 -0
  29. package/dist/tools/delete.d.ts.map +1 -0
  30. package/dist/tools/delete.js +7 -0
  31. package/dist/tools/delete.js.map +1 -0
  32. package/dist/tools/import.d.ts +5 -0
  33. package/dist/tools/import.d.ts.map +1 -0
  34. package/dist/tools/import.js +6 -0
  35. package/dist/tools/import.js.map +1 -0
  36. package/dist/tools/index.d.ts +176 -0
  37. package/dist/tools/index.d.ts.map +1 -1
  38. package/dist/tools/index.js +63 -1
  39. package/dist/tools/index.js.map +1 -1
  40. package/dist/tools/update.d.ts +5 -0
  41. package/dist/tools/update.d.ts.map +1 -0
  42. package/dist/tools/update.js +10 -0
  43. package/dist/tools/update.js.map +1 -0
  44. package/dist/types.d.ts +11 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +6 -4
@@ -1,7 +1,8 @@
1
1
  import Database from "better-sqlite3";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { ensureDataDir, getDbPath } from "./paths.js";
4
- const SCHEMA_SQL = `
4
+ // --- Schema v1: original published schema ---
5
+ const SCHEMA_V1 = `
5
6
  CREATE TABLE IF NOT EXISTS knowledge_entries (
6
7
  id TEXT PRIMARY KEY,
7
8
  content TEXT NOT NULL,
@@ -31,7 +32,7 @@ CREATE INDEX IF NOT EXISTS idx_entries_created ON knowledge_entries(created_at D
31
32
  CREATE INDEX IF NOT EXISTS idx_edges_source ON knowledge_edges(source_id);
32
33
  CREATE INDEX IF NOT EXISTS idx_edges_target ON knowledge_edges(target_id);
33
34
  `;
34
- const FTS_SQL = `
35
+ const FTS_V1 = `
35
36
  CREATE VIRTUAL TABLE IF NOT EXISTS knowledge_fts USING fts5(
36
37
  content, tags,
37
38
  content='knowledge_entries',
@@ -51,6 +52,62 @@ CREATE TRIGGER IF NOT EXISTS ke_au AFTER UPDATE ON knowledge_entries BEGIN
51
52
  INSERT INTO knowledge_fts(rowid, content, tags) VALUES (new.rowid, new.content, new.tags);
52
53
  END;
53
54
  `;
55
+ // --- Migration v1→v2: add cloud-sync columns + expanded FTS ---
56
+ const MIGRATION_V2 = `
57
+ ALTER TABLE knowledge_entries ADD COLUMN parent_id TEXT REFERENCES knowledge_entries(id);
58
+ ALTER TABLE knowledge_entries ADD COLUMN version INTEGER NOT NULL DEFAULT 1;
59
+ ALTER TABLE knowledge_entries ADD COLUMN is_public INTEGER NOT NULL DEFAULT 0;
60
+ ALTER TABLE knowledge_entries ADD COLUMN brain_id TEXT;
61
+ ALTER TABLE knowledge_entries ADD COLUMN chain_hash TEXT;
62
+ ALTER TABLE knowledge_entries ADD COLUMN proof_tx TEXT;
63
+ ALTER TABLE knowledge_entries ADD COLUMN anchor_id INTEGER;
64
+ ALTER TABLE knowledge_entries ADD COLUMN author_wallet TEXT;
65
+ `;
66
+ const FTS_V2_REBUILD = `
67
+ DROP TRIGGER IF EXISTS ke_ai;
68
+ DROP TRIGGER IF EXISTS ke_ad;
69
+ DROP TRIGGER IF EXISTS ke_au;
70
+ DROP TABLE IF EXISTS knowledge_fts;
71
+
72
+ CREATE VIRTUAL TABLE IF NOT EXISTS knowledge_fts USING fts5(
73
+ content, tags, category, author,
74
+ content='knowledge_entries',
75
+ content_rowid='rowid'
76
+ );
77
+
78
+ CREATE TRIGGER IF NOT EXISTS ke_ai AFTER INSERT ON knowledge_entries BEGIN
79
+ INSERT INTO knowledge_fts(rowid, content, tags, category, author)
80
+ VALUES (new.rowid, new.content, new.tags, new.category, new.author);
81
+ END;
82
+
83
+ CREATE TRIGGER IF NOT EXISTS ke_ad AFTER DELETE ON knowledge_entries BEGIN
84
+ INSERT INTO knowledge_fts(knowledge_fts, rowid, content, tags, category, author)
85
+ VALUES ('delete', old.rowid, old.content, old.tags, old.category, old.author);
86
+ END;
87
+
88
+ CREATE TRIGGER IF NOT EXISTS ke_au AFTER UPDATE ON knowledge_entries BEGIN
89
+ INSERT INTO knowledge_fts(knowledge_fts, rowid, content, tags, category, author)
90
+ VALUES ('delete', old.rowid, old.content, old.tags, old.category, old.author);
91
+ INSERT INTO knowledge_fts(rowid, content, tags, category, author)
92
+ VALUES (new.rowid, new.content, new.tags, new.category, new.author);
93
+ END;
94
+ `;
95
+ const CURRENT_SCHEMA_VERSION = 2;
96
+ const MIGRATIONS = [
97
+ { version: 2, sql: MIGRATION_V2, postMigrate: (db) => {
98
+ db.exec(FTS_V2_REBUILD);
99
+ } },
100
+ ];
101
+ /** Sanitize user query for FTS5 MATCH — strip operators, quote each term */
102
+ export function sanitizeFtsQuery(q) {
103
+ const cleaned = q
104
+ .replace(/[*()":^~{}[\]\\|&!]/g, " ")
105
+ .split(/\s+/)
106
+ .filter((term) => term.length > 0)
107
+ .map((term) => `"${term}"`)
108
+ .join(" ");
109
+ return cleaned || '""';
110
+ }
54
111
  function parseEntry(row) {
55
112
  return {
56
113
  id: row.id,
@@ -63,6 +120,14 @@ function parseEntry(row) {
63
120
  confidence: row.confidence,
64
121
  created_at: row.created_at,
65
122
  updated_at: row.updated_at,
123
+ parent_id: row.parent_id ?? undefined,
124
+ version: row.version ?? 1,
125
+ is_public: row.is_public === 1 || row.is_public === true,
126
+ brain_id: row.brain_id ?? undefined,
127
+ chain_hash: row.chain_hash ?? undefined,
128
+ proof_tx: row.proof_tx ?? undefined,
129
+ anchor_id: row.anchor_id ?? undefined,
130
+ author_wallet: row.author_wallet ?? undefined,
66
131
  };
67
132
  }
68
133
  function parseEdge(row) {
@@ -89,8 +154,7 @@ export class SQLiteStore {
89
154
  this.db = new Database(this.dbPath);
90
155
  this.db.pragma("journal_mode = WAL");
91
156
  this.db.pragma("foreign_keys = ON");
92
- this.db.exec(SCHEMA_SQL);
93
- this.db.exec(FTS_SQL);
157
+ this.runMigrations();
94
158
  }
95
159
  async close() {
96
160
  this.db?.close();
@@ -101,18 +165,117 @@ export class SQLiteStore {
101
165
  throw new Error("Store not initialized. Call initialize() first.");
102
166
  return this.db;
103
167
  }
168
+ /** Detect current schema version and run incremental migrations */
169
+ runMigrations() {
170
+ const db = this.getDb();
171
+ // Check if schema_version table exists
172
+ const hasVersionTable = db
173
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_version'")
174
+ .get();
175
+ let currentVersion = 0;
176
+ if (hasVersionTable) {
177
+ const row = db
178
+ .prepare("SELECT MAX(version) as version FROM schema_version")
179
+ .get();
180
+ currentVersion = row?.version ?? 0;
181
+ }
182
+ if (currentVersion === 0) {
183
+ // Check if knowledge_entries already exists (v1 schema from previous install)
184
+ const hasEntries = db
185
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='knowledge_entries'")
186
+ .get();
187
+ if (hasEntries) {
188
+ // Existing v1 DB — create version table and mark as v1
189
+ db.exec("CREATE TABLE IF NOT EXISTS schema_version (version INTEGER PRIMARY KEY)");
190
+ db.prepare("INSERT OR IGNORE INTO schema_version (version) VALUES (?)").run(1);
191
+ currentVersion = 1;
192
+ }
193
+ else {
194
+ // Fresh install — create everything from scratch
195
+ db.exec(SCHEMA_V1);
196
+ db.exec("CREATE TABLE IF NOT EXISTS schema_version (version INTEGER PRIMARY KEY)");
197
+ db.prepare("INSERT OR IGNORE INTO schema_version (version) VALUES (?)").run(1);
198
+ currentVersion = 1;
199
+ }
200
+ }
201
+ // Run pending migrations
202
+ for (const migration of MIGRATIONS) {
203
+ if (migration.version > currentVersion) {
204
+ // Run each ALTER TABLE separately (SQLite doesn't support multi-ALTER)
205
+ const statements = migration.sql
206
+ .split(/;\s*\n/)
207
+ .map((s) => s.trim())
208
+ .filter(Boolean);
209
+ for (const stmt of statements) {
210
+ try {
211
+ db.exec(stmt);
212
+ }
213
+ catch (err) {
214
+ // Ignore "duplicate column" errors for idempotency
215
+ const msg = err instanceof Error ? err.message : "";
216
+ if (!msg.includes("duplicate column")) {
217
+ throw err;
218
+ }
219
+ }
220
+ }
221
+ // Run post-migration hook (e.g., FTS rebuild with triggers)
222
+ if (migration.postMigrate) {
223
+ migration.postMigrate(db);
224
+ }
225
+ db.prepare("INSERT OR REPLACE INTO schema_version (version) VALUES (?)").run(migration.version);
226
+ currentVersion = migration.version;
227
+ }
228
+ }
229
+ // Ensure FTS table exists (may have been rebuilt in migration)
230
+ if (currentVersion >= 2) {
231
+ // FTS was rebuilt in v2 migration — but for fresh installs we need it too
232
+ const hasFts = db
233
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='knowledge_fts'")
234
+ .get();
235
+ if (!hasFts) {
236
+ db.exec(FTS_V2_REBUILD);
237
+ }
238
+ }
239
+ else {
240
+ db.exec(FTS_V1);
241
+ }
242
+ // Rebuild FTS index to sync with existing data
243
+ this.rebuildFtsIndex();
244
+ }
245
+ /** Rebuild FTS index from knowledge_entries table */
246
+ rebuildFtsIndex() {
247
+ const db = this.getDb();
248
+ try {
249
+ db.exec("INSERT INTO knowledge_fts(knowledge_fts) VALUES('rebuild')");
250
+ }
251
+ catch {
252
+ // FTS rebuild can fail on empty table — safe to ignore
253
+ }
254
+ }
255
+ getSchemaVersion() {
256
+ const db = this.getDb();
257
+ try {
258
+ const row = db
259
+ .prepare("SELECT MAX(version) as version FROM schema_version")
260
+ .get();
261
+ return row?.version ?? 0;
262
+ }
263
+ catch {
264
+ return 0;
265
+ }
266
+ }
104
267
  async query(options) {
105
268
  const db = this.getDb();
106
269
  const limit = options.limit ?? 10;
107
270
  const offset = options.offset ?? 0;
108
271
  if (options.q) {
109
- // FTS search
272
+ const sanitized = sanitizeFtsQuery(options.q);
110
273
  const conditions = [];
111
274
  const params = [];
112
275
  let sql = `SELECT ke.* FROM knowledge_entries ke
113
276
  INNER JOIN knowledge_fts fts ON ke.rowid = fts.rowid
114
277
  WHERE knowledge_fts MATCH ?`;
115
- params.push(options.q);
278
+ params.push(sanitized);
116
279
  if (options.category) {
117
280
  conditions.push("ke.category = ?");
118
281
  params.push(options.category);
@@ -125,6 +288,10 @@ export class SQLiteStore {
125
288
  conditions.push("ke.tags LIKE ?");
126
289
  params.push(`%${options.tags}%`);
127
290
  }
291
+ if (options.brain_id) {
292
+ conditions.push("ke.brain_id = ?");
293
+ params.push(options.brain_id);
294
+ }
128
295
  if (conditions.length > 0) {
129
296
  sql += ` AND ${conditions.join(" AND ")}`;
130
297
  }
@@ -151,6 +318,10 @@ export class SQLiteStore {
151
318
  conditions.push("tags LIKE ?");
152
319
  params.push(`%${options.tags}%`);
153
320
  }
321
+ if (options.brain_id) {
322
+ conditions.push("brain_id = ?");
323
+ params.push(options.brain_id);
324
+ }
154
325
  const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
155
326
  const countSql = `SELECT COUNT(*) as count FROM knowledge_entries ${where}`;
156
327
  const totalRow = db.prepare(countSql).get(...params);
@@ -164,10 +335,10 @@ export class SQLiteStore {
164
335
  const id = randomUUID();
165
336
  const now = new Date().toISOString().replace("T", " ").replace("Z", "");
166
337
  const stmt = db.prepare(`
167
- INSERT INTO knowledge_entries (id, content, content_type, author, category, tags, metadata, confidence, created_at, updated_at)
168
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
338
+ INSERT INTO knowledge_entries (id, content, content_type, author, category, tags, metadata, confidence, created_at, updated_at, brain_id, is_public)
339
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
169
340
  `);
170
- stmt.run(id, input.content, input.content_type ?? "markdown", input.author ?? "user", input.category ?? "documentation", JSON.stringify(input.tags ?? []), JSON.stringify(input.metadata ?? {}), input.confidence ?? 0.8, now, now);
341
+ stmt.run(id, input.content, input.content_type ?? "markdown", input.author ?? "user", input.category ?? "documentation", JSON.stringify(input.tags ?? []), JSON.stringify(input.metadata ?? {}), input.confidence ?? 0.8, now, now, input.brain_id ?? null, input.is_public ? 1 : 0);
171
342
  const row = db.prepare("SELECT * FROM knowledge_entries WHERE id = ?").get(id);
172
343
  return parseEntry(row);
173
344
  }
@@ -176,6 +347,68 @@ export class SQLiteStore {
176
347
  const row = db.prepare("SELECT * FROM knowledge_entries WHERE id = ?").get(id);
177
348
  return row ? parseEntry(row) : null;
178
349
  }
350
+ async update(id, input) {
351
+ const db = this.getDb();
352
+ const existing = db.prepare("SELECT * FROM knowledge_entries WHERE id = ?").get(id);
353
+ if (!existing)
354
+ return null;
355
+ const sets = [];
356
+ const params = [];
357
+ if (input.content !== undefined) {
358
+ sets.push("content = ?");
359
+ params.push(input.content);
360
+ }
361
+ if (input.content_type !== undefined) {
362
+ sets.push("content_type = ?");
363
+ params.push(input.content_type);
364
+ }
365
+ if (input.author !== undefined) {
366
+ sets.push("author = ?");
367
+ params.push(input.author);
368
+ }
369
+ if (input.category !== undefined) {
370
+ sets.push("category = ?");
371
+ params.push(input.category);
372
+ }
373
+ if (input.tags !== undefined) {
374
+ sets.push("tags = ?");
375
+ params.push(JSON.stringify(input.tags));
376
+ }
377
+ if (input.confidence !== undefined) {
378
+ sets.push("confidence = ?");
379
+ params.push(input.confidence);
380
+ }
381
+ if (input.metadata !== undefined) {
382
+ sets.push("metadata = ?");
383
+ params.push(JSON.stringify(input.metadata));
384
+ }
385
+ if (input.brain_id !== undefined) {
386
+ sets.push("brain_id = ?");
387
+ params.push(input.brain_id);
388
+ }
389
+ if (input.is_public !== undefined) {
390
+ sets.push("is_public = ?");
391
+ params.push(input.is_public ? 1 : 0);
392
+ }
393
+ if (sets.length === 0) {
394
+ return parseEntry(existing);
395
+ }
396
+ const now = new Date().toISOString().replace("T", " ").replace("Z", "");
397
+ sets.push("updated_at = ?");
398
+ params.push(now);
399
+ sets.push("version = version + 1");
400
+ params.push(id);
401
+ db.prepare(`UPDATE knowledge_entries SET ${sets.join(", ")} WHERE id = ?`).run(...params);
402
+ const row = db.prepare("SELECT * FROM knowledge_entries WHERE id = ?").get(id);
403
+ return parseEntry(row);
404
+ }
405
+ async delete(id) {
406
+ const db = this.getDb();
407
+ // Delete edges referencing this entry first
408
+ db.prepare("DELETE FROM knowledge_edges WHERE source_id = ? OR target_id = ?").run(id, id);
409
+ const result = db.prepare("DELETE FROM knowledge_entries WHERE id = ?").run(id);
410
+ return result.changes > 0;
411
+ }
179
412
  async createEdge(input) {
180
413
  const db = this.getDb();
181
414
  const id = randomUUID();
@@ -190,7 +423,6 @@ export class SQLiteStore {
190
423
  async traverseGraph(entryId, depth) {
191
424
  const db = this.getDb();
192
425
  const maxDepth = Math.min(depth, 5);
193
- // Recursive CTE for graph traversal (SQLite compatible)
194
426
  const rows = db.prepare(`
195
427
  WITH RECURSIVE graph(id, depth, path) AS (
196
428
  SELECT id, 0, id
@@ -218,12 +450,10 @@ export class SQLiteStore {
218
450
  }
219
451
  const entryIds = rows.map((r) => r.id);
220
452
  const depthMap = new Map(rows.map((r) => [r.id, r.depth]));
221
- // Fetch all entries
222
453
  const placeholders = entryIds.map(() => "?").join(",");
223
454
  const entries = db
224
455
  .prepare(`SELECT * FROM knowledge_entries WHERE id IN (${placeholders})`)
225
456
  .all(...entryIds);
226
- // Fetch all edges between discovered entries
227
457
  const edges = db
228
458
  .prepare(`SELECT * FROM knowledge_edges WHERE source_id IN (${placeholders}) AND target_id IN (${placeholders})`)
229
459
  .all(...entryIds, ...entryIds);
@@ -288,5 +518,30 @@ export class SQLiteStore {
288
518
  mode: "local",
289
519
  };
290
520
  }
521
+ async importData(data) {
522
+ const db = this.getDb();
523
+ let imported = 0;
524
+ const insertEntry = db.prepare(`
525
+ INSERT OR IGNORE INTO knowledge_entries
526
+ (id, content, content_type, author, category, tags, metadata, confidence, created_at, updated_at, brain_id, is_public)
527
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
528
+ `);
529
+ const insertEdge = db.prepare(`
530
+ INSERT OR IGNORE INTO knowledge_edges (id, source_id, target_id, edge_type, confidence, created_at)
531
+ VALUES (?, ?, ?, ?, ?, ?)
532
+ `);
533
+ const runImport = db.transaction(() => {
534
+ for (const entry of data.entries) {
535
+ const result = insertEntry.run(entry.id, entry.content, entry.content_type, entry.author, entry.category, JSON.stringify(entry.tags), JSON.stringify(entry.metadata), entry.confidence, entry.created_at, entry.updated_at, entry.brain_id ?? null, entry.is_public ? 1 : 0);
536
+ if (result.changes > 0)
537
+ imported++;
538
+ }
539
+ for (const edge of data.edges) {
540
+ insertEdge.run(edge.id, edge.source_id, edge.target_id, edge.edge_type, edge.confidence, edge.created_at);
541
+ }
542
+ });
543
+ runImport();
544
+ return { imported };
545
+ }
291
546
  }
292
547
  //# sourceMappingURL=sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { StoreAdapter } from "../store/adapter.js";
2
+ export declare function deleteKnowledge(store: StoreAdapter, args: Record<string, unknown>): Promise<{
3
+ deleted: boolean;
4
+ id: string;
5
+ }>;
6
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/tools/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAsB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;GAIvF"}
@@ -0,0 +1,7 @@
1
+ import { deleteKnowledgeSchema } from "../schemas.js";
2
+ export async function deleteKnowledge(store, args) {
3
+ const { id } = deleteKnowledgeSchema.parse(args);
4
+ const deleted = await store.delete(id);
5
+ return { deleted, id };
6
+ }
7
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/tools/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAmB,EAAE,IAA6B;IACtF,MAAM,EAAE,EAAE,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { StoreAdapter } from "../store/adapter.js";
2
+ export declare function importData(store: StoreAdapter, args: Record<string, unknown>): Promise<{
3
+ imported: number;
4
+ }>;
5
+ //# sourceMappingURL=import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/tools/import.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,wBAAsB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;GAGlF"}
@@ -0,0 +1,6 @@
1
+ import { importDataSchema } from "../schemas.js";
2
+ export async function importData(store, args) {
3
+ const data = importDataSchema.parse(args);
4
+ return store.importData(data);
5
+ }
6
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/tools/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAmB,EAAE,IAA6B;IACjF,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;IACnE,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}